/* Footer (NieuwNiveau) */
.site-footer { background: var(--gray-50); border-top: 1px solid var(--color-border); padding-block: var(--space-8); }
.footer-main { display: grid; grid-template-columns: 1.2fr 2fr; gap: var(--space-8); align-items: start; }
.footer-brand .brand { margin-bottom: var(--space-4); }
.newsletter-row { display: flex; gap: var(--space-3); }
.newsletter-row input { flex: 1; }

.footer-links { display: grid; gap: var(--space-6); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.links-title { font-size: var(--text-size-base); color: var(--color-muted); font-weight: 700; margin-bottom: var(--space-3); }
.footer-links a { color: var(--color-text); text-decoration: none; }
.footer-links a:hover { text-decoration: underline; }

.footer-bottom { border-top: 1px solid var(--color-border); margin-top: var(--space-8); padding-top: var(--space-5); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); font-size: var(--text-size-sm); color: var(--color-muted); }
.footer-legal { display: inline-flex; gap: var(--space-4); }
.footer-legal a { color: inherit; }

@media (max-width: 960px) {
  .footer-main { grid-template-columns: 1fr; gap: var(--space-6); }
  .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .newsletter-row { flex-direction: column; }
}

/* Cookie banner */
.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1100; padding: var(--space-4); pointer-events: none; }
.cookie-inner { pointer-events: auto; margin: 0 auto; max-width: var(--container-max); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); display: flex; gap: var(--space-5); align-items: center; padding: var(--space-5); transform: translateY(16px); opacity: 0; transition: transform var(--transition-medium) var(--easing-default), opacity var(--transition-medium) var(--easing-default); }
.cookie-text { flex: 1; }
.cookie-text h2 { font-size: var(--text-size-lg); line-height: var(--leading-tight); margin-bottom: var(--space-2); }
.cookie-text p { margin: 0; }
.cookie-actions { display: inline-flex; gap: var(--space-3); flex-wrap: wrap; }

/* Visible state managed by JS (hidden attribute toggled) */
.cookie-banner.is-visible .cookie-inner { transform: translateY(0); opacity: 1; }
.cookie-banner.is-hiding .cookie-inner { transform: translateY(16px); opacity: 0; }

@media (max-width: 720px) {
  .cookie-inner { flex-direction: column; align-items: stretch; }
  .cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
}
