/* Footer (scoped) */
.site-footer {
  background: linear-gradient(180deg, var(--color-primary-dark), #0f223c);
  color: var(--color-text-inverse);
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
}
.footer-inner { display: grid; gap: var(--space-8); }

.footer-brand { max-width: 680px; }
.footer-logo { display: inline-flex; align-items: center; gap: var(--space-3); color: var(--color-text-inverse); }
.footer-logo:focus-visible { outline: 3px solid var(--color-secondary); outline-offset: 2px; border-radius: var(--radius-sm); }
.footer-logo-mark { width: 36px; height: 36px; display: inline-grid; place-items: center; background: rgba(255,255,255,0.08); border-radius: var(--radius-full); box-shadow: var(--shadow-inner); }
.footer-logo-text { font-family: var(--font-accent); font-weight: var(--font-weight-extrabold); letter-spacing: .5px; }
.footer-tagline { color: var(--color-gray-300); margin-top: var(--space-3); }

.footer-links-grid { display: grid; gap: var(--space-8); grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) { .footer-links-grid { grid-template-columns: 1fr; } }
.footer-heading { color: var(--color-text-inverse); font-size: var(--font-size-lg); margin-bottom: var(--space-3); }
.footer-links li + li { margin-top: var(--space-2); }
.footer-links a { color: var(--color-gray-300); }
.footer-links a:hover { color: var(--color-text-inverse); text-decoration: underline; text-decoration-color: var(--color-secondary); }

.footer-bottom { border-top: 1px solid rgba(255,255,255,0.12); padding-top: var(--space-4); }
.copyright { color: var(--color-gray-300); }

/* Cookie banner */
.cookie-banner {
  position: fixed;
  left: var(--space-4);
  right: var(--space-4);
  bottom: var(--space-4);
  z-index: var(--z-overlay);
  background: transparent;
}
.cookie-wrap {
  display: grid; align-items: center; gap: var(--space-4);
  grid-template-columns: 1fr auto;
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-xl);
  padding: var(--space-5) var(--space-6);
  transform: translateY(16px);
  opacity: 0;
  transition: transform var(--transition-base), opacity var(--transition-base);
}
@media (max-width: 720px) { .cookie-wrap { grid-template-columns: 1fr; } }
.cookie-title { font-family: var(--font-accent); margin: 0 0 var(--space-2) 0; font-size: var(--font-size-xl); }
.cookie-desc { margin: 0; color: var(--color-text-secondary); }
.cookie-link { color: var(--color-primary); text-decoration: underline; }
.cookie-actions { display: inline-flex; gap: var(--space-3); justify-self: end; }
.cookie-btn { border-radius: var(--radius-md); }

/* Visible state */
.cookie-banner.is-visible .cookie-wrap { transform: translateY(0); opacity: 1; }

/* Hide animation */
.cookie-banner.is-hiding .cookie-wrap { transform: translateY(16px); opacity: 0; }

/* Focus ring for cookie controls */
.cookie-btn:focus-visible { outline: 3px solid var(--color-secondary); outline-offset: 2px; }
