/* Footer styles */
.site-footer { margin-top: var(--space-10); background: linear-gradient(180deg, var(--color-surface), color-mix(in oklab, var(--color-bg-elevated) 96%, black)); border-top: 1px solid rgba(255,255,255,0.06); }
.footer__grid { display: grid; gap: var(--space-8); padding-block: var(--space-10); grid-template-columns: 1.2fr 2fr; }
@media (max-width: 840px) { .footer__grid { grid-template-columns: 1fr; } }

.footer__brand .brand { margin-bottom: var(--space-4); }
.footer__tagline { color: var(--color-text-muted); max-width: 60ch; }

.footer__links { display: grid; grid-template-columns: repeat(2, minmax(160px, 1fr)); gap: var(--space-6); }
.footer__links a { color: var(--color-text); text-decoration: none; }
.footer__links a:hover { color: var(--color-primary); text-decoration: underline; }
.links__col { margin: 0; padding: 0; display: grid; gap: var(--space-2); }

.footer__bottom { border-top: 1px solid rgba(255,255,255,0.06); background: var(--color-bg-elevated); }
.footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-4); }
.footer__copy { color: var(--color-text-muted); margin: 0; }
.footer__top { color: var(--color-text); text-decoration: none; }
.footer__top:hover { color: var(--color-primary); text-decoration: underline; }

/* Cookie banner */
.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; transform: translateY(100%); opacity: 0; visibility: hidden; transition: transform var(--duration-slow) var(--ease-out), opacity var(--duration-base) var(--ease-out), visibility var(--duration-base) var(--ease-out); }
.cookie-banner.is-visible { transform: translateY(0); opacity: 1; visibility: visible; }
.cookie-banner.is-hiding { transform: translateY(100%); opacity: 0; }
.cookie-banner__inner { display: grid; gap: var(--space-4); align-items: center; grid-template-columns: 1fr auto; background: linear-gradient(180deg, color-mix(in oklab, var(--color-bg-elevated) 96%, black), var(--color-surface)); border-top: 1px solid rgba(255,255,255,0.06); box-shadow: var(--shadow-3); padding-block: var(--space-4); padding-bottom: calc(var(--space-4) + env(safe-area-inset-bottom)); }
.cookie-banner__content h2 { margin: 0 0 var(--space-2) 0; font-size: var(--fs-500); }
.cookie-banner__content p { margin: 0; color: var(--color-text-muted); }
.cookie-banner__actions { display: inline-flex; gap: var(--space-3); }
@media (max-width: 700px) {
  .cookie-banner__inner { grid-template-columns: 1fr; }
  .cookie-banner__actions { justify-self: start; }
}
