/* =========================================
   SAFIKUL FOOTER
========================================= */
.safikul-footer { position: relative; width: 100%; background: #071b31; color: #ffffff; font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; box-sizing: border-box; }
.safikul-footer-main { width: 100%; min-height: 258px; padding: var(--spacing-xl) 0; box-sizing: border-box; display: grid; grid-template-columns: 1.15fr 0.85fr 0.95fr 0.95fr; column-gap: var(--spacing-2xl); }
.safikul-footer-about h2 { margin: 0 0 var(--spacing-sm); color: #ffffff; font-size: 26px; line-height: 1.15; font-weight: 700; letter-spacing: -0.3px; }
.safikul-footer-role { margin: 0; color: #d9e1ea; font-size: 15px; line-height: 1.55; font-weight: 400; }
.safikul-footer-description { margin: var(--spacing-lg) 0 0; color: #d1dbe5; font-size: 15px; line-height: 1.5; font-weight: 400; }
.safikul-footer-column h3, .safikul-footer-connect h3 { margin: 1px 0 var(--spacing-sm); color: #ffffff; font-size: 16px; line-height: 1.2; font-weight: 700; }
.safikul-footer-column ul { margin: 0; padding: 0; list-style: none; }
.safikul-footer-column li { margin: 0 0 6px; padding: 0; }
.safikul-footer-column a { color: #d2dce7; text-decoration: none; font-size: 15px; line-height: 1.2; transition: color 0.2s ease; }
.safikul-footer-column a:hover { color: #ffffff; }
.safikul-footer-connect { position: relative; }
.safikul-social-links { display: flex; align-items: center; gap: 11px; }
.safikul-social { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-decoration: none; box-sizing: border-box; transition: transform 0.2s ease, opacity 0.2s ease; }
.safikul-social:hover { transform: translateY(-2px); opacity: 0.9; }
.safikul-social:hover i { color: #ffffff; }
.safikul-social i { font-size: 22px; display: block; }
.safikul-social.youtube { background: #ff0000; }
.safikul-social.facebook { background: #1877f2; }
.safikul-social.instagram { background: linear-gradient(135deg, #833ab4 10%, #fd1d1d 50%, #fcb045 100%); }
.safikul-social.linkedin { background: #0a76b4; }
.safikul-social.x-social { background: #000000; }
.safikul-footer-tagline { margin-top: 32px; margin-left: 27px; display: flex; flex-direction: column; color: #c9d4df; font-family: "Brush Script MT", "Segoe Script", cursive; font-size: 27px; line-height: 1.15; font-weight: 400; transform: rotate(-5deg); }
.safikul-footer-tagline span:first-child { margin-left: 0; }
.safikul-footer-tagline span:last-child { margin-left: -18px; }
.safikul-footer-bottom { min-height: 58px; padding: 0 0; border-top: 2px solid rgba(255, 255, 255, 0.13); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; box-sizing: border-box; color: #d1dbe5; font-size: 13px; }
.safikul-footer-copyright { justify-self: start; }
.safikul-footer-legal { display: flex; align-items: center; gap: 14px; }
.safikul-footer-legal a, .safikul-footer-bottom-links a { color: #d1dbe5; text-decoration: none; transition: color 0.2s ease; }
.safikul-footer-legal a:hover, .safikul-footer-bottom-links a:hover { color: #ffffff; }
.safikul-footer-bottom-links { justify-self: end; display: flex; align-items: center; gap: 13px; }
.safikul-back-top { position: fixed; right: 24px; bottom: 23px; width: 48px; height: 48px; border-radius: 50%; background: #0878df; color: #ffffff; display: flex; align-items: center; justify-content: center; text-decoration: none; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25); transition: transform 0.2s ease, background 0.2s ease; }
.safikul-back-top:hover { transform: translateY(-3px); background: #096bc2; }
.safikul-back-top:hover i { color: #ffffff; }
.safikul-back-top i { font-size: 21px; }

@media (max-width: 1000px) {
    .safikul-footer-main { padding: 28px 0 25px; grid-template-columns: 1.2fr 1fr 1fr; row-gap: 35px; }
    .safikul-footer-connect { grid-column: 1 / -1; }
    .safikul-footer-tagline { display: none; }
    .safikul-footer-bottom { grid-template-columns: 1fr; gap: 12px; padding-top: 15px; padding-bottom: 15px; }
    .safikul-footer-copyright, .safikul-footer-legal, .safikul-footer-bottom-links { justify-self: center; }
    .safikul-back-top { right: 20px; bottom: 20px; }
}

@media (max-width: 700px) {
    .safikul-footer-main { padding: 30px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 32px 25px; }
    .safikul-footer-about { grid-column: 1 / -1; }
    .safikul-footer-column h3, .safikul-footer-connect h3 { font-size: 16px; }
    .safikul-footer-column a { font-size: 14px; }
    .safikul-footer-role, .safikul-footer-description { font-size: 14px; }
    .safikul-footer-connect { grid-column: 1 / -1; }
    .safikul-footer-tagline { display: flex; margin-top: 25px; }
    .safikul-footer-bottom { display: flex; flex-direction: column; gap: 13px; text-align: center; }
    .safikul-footer-copyright, .safikul-footer-legal, .safikul-footer-bottom-links { justify-self: center; align-self: center; }
    .safikul-footer-bottom-links { flex-wrap: wrap; justify-content: center; }
    .safikul-back-top { width: 43px; height: 43px; right: 16px; bottom: 18px; }
}

@media (max-width: 480px) {
    .safikul-footer-main { grid-template-columns: 1fr; padding: 28px 0; }
    .safikul-footer-about, .safikul-footer-connect { grid-column: auto; }
    .safikul-footer-tagline { font-size: 23px; }
    .safikul-footer-bottom { font-size: 12px; }
    .safikul-footer-legal { flex-wrap: wrap; justify-content: center; gap: 8px; }
    .safikul-social-links { gap: 9px; }
}
