/* ============================================================
   ACCUFILER — Footer Component
   Design System v3.0
   ============================================================ */

.footer { background: var(--void); border-top: 1px solid var(--border); }

.footer-main { display: grid; grid-template-columns: 1fr; gap: var(--sp6); padding-top: var(--sp7); padding-bottom: var(--sp6); border-bottom: 1px solid var(--border); }
@media (min-width: 640px)  { .footer-main { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .footer-main { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: var(--sp7); } }

.footer-logo { font-family: var(--sans); font-size: 22px; font-weight: 700; letter-spacing: -0.02em; line-height: 1; color: var(--ink); margin-bottom: var(--sp2); }
.footer-logo .filer { font-weight: 300; color: var(--gold); }
.footer-logo-rule { width: 100%; height: 1px; background: linear-gradient(90deg, var(--gold), transparent); margin-bottom: var(--sp2); }
.footer-tagline { font-size: 9px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mist); margin-bottom: var(--sp5); }

.footer-socials { display: flex; gap: var(--sp2); margin-bottom: var(--sp5); }
.footer-social { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--border); border-radius: var(--r-md); color: var(--muted-dark); font-size: 16px; transition: all var(--t-fast); text-decoration: none; }
.footer-social:hover { border-color: var(--gold-dim); color: var(--gold); }

.footer-badges { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp4); padding-top: var(--sp3); border-top: 1px solid var(--border); }
.footer-badge { display: flex; align-items: center; gap: 5px; color: var(--mist); font-size: 11px; white-space: nowrap; }
.footer-badge svg, .footer-badge i { font-size: 13px; flex-shrink: 0; }

.footer-col-title { font-size: 10px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin-bottom: var(--sp3); padding-bottom: var(--sp2); border-bottom: 1px solid var(--border); }
.footer-col-sub { font-size: 9px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mist); margin-bottom: var(--sp2); margin-top: var(--sp4); display: flex; align-items: center; gap: 5px; }
.footer-col-sub:first-of-type { margin-top: 0; }
.footer-link { display: block; font-size: 13px; color: var(--muted-dark); padding: 5px 0; transition: color var(--t-fast); text-decoration: none; line-height: 1.4; }
.footer-link:hover { color: var(--gold); }

.footer-contact-item { display: flex; align-items: flex-start; gap: var(--sp2); margin-bottom: var(--sp3); }
.footer-contact-item:last-child { margin-bottom: 0; }
.footer-contact-icon { font-size: 15px; color: var(--mist); margin-top: 2px; flex-shrink: 0; }
.footer-contact-label { font-size: 9px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mist); margin-bottom: 2px; }
.footer-contact-val { font-size: 13px; color: var(--body-dark); line-height: 1.4; }

.footer-bottom { display: flex; flex-direction: column; gap: var(--sp2); padding-top: var(--sp4); padding-bottom: var(--sp4); background: var(--abyss); }
@media (min-width: 640px) { .footer-bottom { flex-direction: row; justify-content: space-between; align-items: center; } }
.footer-copy { font-size: 11px; color: var(--mist); }
.footer-legal { display: flex; gap: var(--sp4); flex-wrap: wrap; }
.footer-legal-link { font-size: 11px; color: var(--mist); text-decoration: none; transition: color var(--t-fast); }
.footer-legal-link:hover { color: var(--gold); }
