/* Footer - Intervivo (builds on base.css) */
.site-footer {
  background: var(--color-navy);
  color: var(--color-cream);
  padding: var(--space-12) 0 var(--space-8) 0;
}
.footer-inner { display: flex; flex-direction: column; gap: var(--space-10); }

.footer-top { display: grid; gap: var(--space-8); align-items: start; }
@media (min-width: 768px) { .footer-top { grid-template-columns: 1.2fr 2fr 1fr; } }

.footer-branding .brand { color: var(--color-cream); gap: var(--space-3); }
.footer-branding .brand-mark { color: var(--color-gold); }
.footer-branding .brand:hover { color: var(--color-gold-light); }
.footer-tagline { color: var(--color-champagne); margin-top: var(--space-3); max-width: 38ch; }

.footer-nav .footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-8); list-style: none; padding: 0; }
@media (min-width: 640px) { .footer-nav .footer-links { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .footer-nav .footer-links { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.footer-nav a { color: var(--color-champagne); font-weight: 500; letter-spacing: var(--tracking-wide); text-transform: uppercase; font-size: var(--text-sm); }
.footer-nav a:hover { color: var(--color-gold-light); }
.footer-nav a:focus-visible { outline: 2px solid var(--color-gold); outline-offset: 3px; }

.footer-social .social-list { display: flex; gap: var(--space-4); list-style: none; padding: 0; margin: 0; }
.footer-social a { color: var(--color-cream); font-size: 1.25rem; }
.footer-social a:hover { color: var(--color-gold-light); }
.footer-social a:focus-visible { outline: 2px solid var(--color-gold); outline-offset: 3px; }

.footer-bottom { border-top: 1px solid rgba(255,255,255,0.15); padding-top: var(--space-6); }
.footer-bottom p { color: var(--color-champagne); margin: 0; }

/* Cookie Banner */
.cookie-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: var(--z-modal);
  background: var(--color-surface);
  border-top: 2px solid var(--color-gold);
  box-shadow: var(--shadow-xl);
  transform: translateY(100%);
  opacity: 0;
  transition: transform var(--duration-slow) var(--ease-luxury), opacity var(--duration-slow) var(--ease-luxury);
}
.cookie-banner.is-visible { transform: translateY(0); opacity: 1; }
.cookie-banner.is-hiding { opacity: 0; transform: translateY(100%); }
.cookie-inner { display: grid; gap: var(--space-6); padding: var(--space-6); }
@media (min-width: 768px) { .cookie-inner { grid-template-columns: 1fr auto; align-items: center; } }
.cookie-text h2 { margin: 0 0 var(--space-2) 0; font-family: var(--font-primary); font-size: var(--text-2xl); color: var(--color-charcoal); }
.cookie-text p { margin: 0; color: var(--color-text-secondary); }
.cookie-text a { color: var(--color-navy); text-decoration: underline; }
.cookie-actions { display: flex; gap: var(--space-3); justify-content: flex-start; }
@media (min-width: 768px) { .cookie-actions { justify-content: flex-end; } }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .cookie-banner { transition: none; }
}
