/* Footer styles (builds on base.css) */
.site-footer { background: linear-gradient(180deg, var(--gray-900), #0b0f14); color: #e5e7eb; margin-top: var(--space-16); }
.site-footer a { color: var(--color-success); }
.site-footer a:hover { text-decoration: underline; }

.footer-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--space-8); padding-block: var(--space-12); }
.footer-brand { grid-column: span 5; }
.footer-links { grid-column: span 4; }
.footer-contact { grid-column: span 3; }

@media (max-width: 960px) {
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand, .footer-links, .footer-contact { grid-column: 1 / -1; }
}

/* Brand */
.site-footer .brand { display: inline-flex; align-items: center; gap: var(--space-2); color: #fff; text-decoration: none; font-weight: 800; font-family: var(--font-display); }
.site-footer .brand-mark { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: var(--radius-full); background: radial-gradient(80% 80% at 30% 30%, var(--color-primary), var(--color-accent)); color: #0a0a0a; box-shadow: var(--shadow-glow-primary); }
.site-footer .brand-text { font-size: clamp(1.05rem, 0.7rem + 1vw, 1.4rem); }

/* Links */
.footer-links .links { columns: 2; gap: var(--space-6); }
.footer-links .links li { break-inside: avoid; margin-bottom: 8px; }
.footer-links .links a { color: #d1fae5; }
.footer-links .links a:hover { color: #a7f3d0; text-decoration: none; }

/* Contact */
.footer-contact h3 { color: #fff; }
.footer-contact a { color: #fff; }
.footer-contact a:hover { color: #fff; text-decoration: none; }

/* Social */
.social { display: flex; gap: var(--space-3); margin-top: var(--space-4); }
.social-link { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: var(--radius-full); background: color-mix(in oklab, var(--gray-800) 70%, transparent); color: #fff; border: 1px solid color-mix(in oklab, var(--gray-600) 60%, transparent); box-shadow: var(--shadow-sm); }
.social-link:hover { background: var(--color-primary); color: var(--on-primary); box-shadow: var(--shadow-glow-primary); }

/* Bottom bar */
.footer-bottom { border-top: 1px solid color-mix(in oklab, var(--gray-700) 70%, transparent); background: var(--gray-900); }
.footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-4); }
.footer-bottom .legal { display: flex; align-items: center; gap: var(--space-3); }
@media (max-width: 640px) { .footer-bottom-inner { flex-direction: column; align-items: flex-start; } }

/* Cookie consent banner */
.cookie-consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1100; transform: translateY(100%); transition: transform var(--duration-slow) var(--ease-spring), opacity var(--duration-slow) var(--ease-spring); opacity: 0; }
.cookie-consent.show { transform: translateY(0); opacity: 1; }
.cookie-consent .cookie-inner { margin: var(--space-4); padding: var(--space-4); border-radius: var(--radius-lg); background: linear-gradient(180deg, var(--gray-800), var(--gray-900)); color: #fff; border: 1px solid color-mix(in oklab, var(--gray-600) 60%, transparent); box-shadow: var(--shadow-xl); display: grid; grid-template-columns: 1fr auto; gap: var(--space-4); }
.cookie-consent .cookie-text h2 { font-size: var(--fs-xl); margin: 0 0 6px 0; color: #fff000; }
.cookie-consent .cookie-text p { margin: 0; }
.cookie-consent .cookie-text a { color: #93c5fd; }
.cookie-consent .cookie-actions { display: inline-flex; gap: var(--space-3); align-items: center; }
.cookie-consent [data-cookie-reject] { border: 1px solid var(--gray-400); color: #fff; }
.cookie-consent [data-cookie-reject]:hover { background: var(--gray-700); box-shadow: var(--shadow-sm); }
.cookie-consent [data-cookie-accept] { box-shadow: var(--shadow-glow-primary); }
@media (max-width: 720px) {
  .cookie-consent .cookie-inner { grid-template-columns: 1fr; }
  .cookie-consent .cookie-actions { justify-content: flex-start; }
}
