/* Footer (scoped) */
.site-footer { color: #fff; background: var(--color-primary); background-image: var(--gradient-primary); padding-block: var(--space-11); border-top: 3px solid var(--color-accent); }
.footer__top { display: grid; gap: var(--space-9); grid-template-columns: 1.2fr 2fr; align-items: start; }
.footer__brand { max-width: 520px; }
.footer__logo { color: #fff; font-weight: 800; font-size: var(--font-size-2xl); letter-spacing: -0.01em; }
.footer__logo:hover { color: var(--color-accent); text-decoration: none; }
.footer__tagline { color: #f0f4f8; margin-top: var(--space-4); }

.footer__links a { color: #fff; font-weight: 600; }
.footer__links a:hover { color: var(--color-accent); text-decoration: none; }
.footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--space-4) var(--space-9); }

.footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); margin-top: var(--space-10); padding-top: var(--space-6); border-top: 1px solid rgba(255,255,255,0.25); }
.footer__actions { display: flex; align-items: center; gap: var(--space-6); }
.footer__cookies-btn { --btn-color: #fff; --btn-bg: transparent; --btn-border: rgba(255,255,255,0.5); color: #fff; border-color: rgba(255,255,255,0.5); }
.footer__cookies-btn:hover { border-color: #fff; background: rgba(255,255,255,0.08); }
.footer__social .social__link { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: var(--radius-pill); color: #fff; border: 1px solid rgba(255,255,255,0.4); }
.footer__social .social__link:hover { color: #0B1220; background: #fff; }

@media (max-width: 900px) {
  .footer__top { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* Cookie banner */
.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; transform: translateY(100%); opacity: 0; pointer-events: none; transition: transform var(--transition-slow) var(--easing-entrance), opacity var(--transition-slow) var(--easing-entrance); }
.cookie-banner.is-visible { transform: translateY(0); opacity: 1; pointer-events: auto; }
.cookie-banner__container { display: grid; gap: var(--space-6); grid-template-columns: 1fr auto; align-items: center; background: #fff; color: var(--color-text); border-top: 2px solid var(--color-accent); box-shadow: var(--shadow-lg); border-radius: var(--radius-lg) var(--radius-lg) 0 0; padding: var(--space-7) var(--space-8); }
.cookie-banner__title { font-size: var(--font-size-xl); margin: 0; }
.cookie-banner__desc { margin: 0; }
.cookie-banner__desc a { color: var(--color-primary); font-weight: 600; }
.cookie-banner__actions { display: flex; gap: var(--space-4); flex-wrap: wrap; }
.cookie-btn { min-width: 160px; }

@media (max-width: 720px) {
  .cookie-banner__container { grid-template-columns: 1fr; }
  .cookie-btn { width: 100%; }
}
