/* ── Footer ──────────────────────────────────────────────────── */

.site-footer {
   border-top: 1px solid var(--border);
   margin-top: auto;
   background: var(--bg-base);
   
}

.footer-inner {
   max-width: var(--container-max);
   margin-inline: auto;
   padding-inline: var(--container-pad);
   padding-block: var(--sp-16) var(--sp-8);

}

.footer-top {
   display: grid;
   grid-template-columns: 1fr 2fr;
   gap: var(--sp-12);
   padding-bottom: var(--sp-12);
   margin-bottom: var(--sp-8);
}

.footer-brand {
   display: flex;
   flex-direction: column;
   gap: var(--sp-4);
}

.footer-logo {
   display: flex;
   align-items: center;
   gap: var(--sp-2);
   text-decoration: none;
}

.footer-logo-icon {
   width: 22px;
   height: 22px;
}

.footer-logo-brand {
   width: 180px;
   height: auto;
}

[data-theme="dark"] .footer-logo-light {
   display: none;
}

[data-theme="light"] .footer-logo-dark {
   display: none;
}

:root:not([data-theme]) .footer-logo-light {
   display: none;
}

.footer-tagline {
   font-size: var(--fs-sm);
   color: var(--text-secondary);
   line-height: 1.6;
   max-width: 26ch;
}

/* Social */
.footer-social {
   display: flex;
   gap: var(--sp-3);
   margin-top: var(--sp-3);
}

.footer-social-link {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 32px;
   height: 32px;
   color: var(--text-muted);
   text-decoration: none;
   transition: color var(--duration-fast);
}

.footer-social-link:hover {
   color: var(--text-primary);
}

.footer-social-link svg {
   width: 16px;
   height: 16px;
}

/* Nav */
.footer-nav {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: var(--sp-8);
}

.footer-nav-label {
   display: block;
   font-size: var(--fs-xs);
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: 0.12em;
   color: var(--text-secondary);
   margin-bottom: var(--sp-4);
}

.footer-nav-col ul {
   display: flex;
   flex-direction: column;
   gap: var(--sp-3);
}

.footer-link {
   font-size: var(--fs-sm);
   color: var(--text-secondary);
   text-decoration: none;
   transition: color var(--duration-fast);
}

.footer-link:hover {
   color: var(--text-primary);
}

/* Bottom */
.footer-bottom {
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   gap: var(--sp-2);
}

.footer-copy,
.footer-location {
   font-size: var(--fs-xs);
   color: var(--text-muted);
   max-width: 100%;
}

.footer-meta {
   display: flex;
   align-items: center;
   gap: var(--sp-2);
}

.footer-cookie-btn {
   font-size: var(--fs-xs);
   color: var(--text-muted);
   background: none;
   border: none;
   padding: 0;
   cursor: pointer;
   transition: color var(--duration-fast);
}

.footer-cookie-btn::before {
   content: '|';
   margin-right: var(--sp-2);
   pointer-events: none;
}

.footer-cookie-btn:hover {
   color: var(--text-primary);
}

/* Responsive */
@media (max-width: 700px) {
   .footer-top {
      grid-template-columns: 1fr;
      gap: var(--sp-8);
   }

   .footer-nav {
      grid-template-columns: 1fr 1fr;
      gap: var(--sp-6);
   }

   .footer-bottom {
      flex-direction: column;
      align-items: flex-start;
   }
}

@media (max-width: 400px) {
   .footer-nav {
      grid-template-columns: 1fr;
   }
}