/* Cookiemelding (drop-in M6; DESIGN §6.23): compact zwevend donker paneel rechtsonder (de hero-CTA's staan links),
   geen volle balk. Eén zin met de beleidslink erin, één knop. Mobiel (<480px) één rij: tekst links, knop rechts,
   kop visueel verborgen (blijft de toegankelijke naam via aria-labelledby). Alleen tokens. */
.cookie-banner {
  position: fixed;
  right: 16px;
  bottom: 16px;
  left: auto;
  z-index: var(--dh-z-cookie);
  width: min(360px, calc(100vw - 32px));
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: var(--dh-r-lg);
  background: var(--dh-glow-corner), var(--dh-veen-900);
  box-shadow: var(--dh-shadow-3), 0 0 0 1px color-mix(in srgb, var(--dh-mist-50) 8%, transparent);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity var(--dh-dur-base) var(--dh-ease-out), transform var(--dh-dur-base) var(--dh-ease-spring);
}
.cookie-banner.is-open { opacity: 1; transform: none; }
.cookie-banner__head { display: flex; align-items: center; gap: 8px; }
.cookie-banner__icon { display: grid; place-items: center; width: 26px; height: 26px; flex: none; border-radius: 50%; color: var(--dh-accent-icon); box-shadow: inset 0 0 0 1px var(--dh-line-strong); }
.cookie-banner__icon .icon { width: 15px; height: 15px; }
.cookie-banner__title {
  font-family: var(--dh-font-display);
  font-stretch: var(--dh-stretch-label);
  font-weight: 650;
  font-size: var(--dh-fs-sm);
  letter-spacing: -0.005em;
  line-height: 1.3;
}
.cookie-banner__text { font-size: var(--dh-fs-xs); line-height: 1.45; color: var(--dh-text-2); }
.cookie-banner__actions { display: flex; align-items: center; justify-content: flex-end; }
.cookie-banner__link { color: var(--dh-accent-text); text-decoration-color: color-mix(in srgb, var(--dh-goud-300) 55%, transparent); text-underline-offset: 3px; white-space: nowrap; }
.cookie-banner__link:hover { color: var(--dh-goud-200); }
@media (min-width: 480px) {
  .cookie-banner { grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 14px; }
  .cookie-banner__head { grid-column: 1 / -1; }
}
@media (max-width: 479.98px) {
  .cookie-banner { left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); width: auto; padding: 10px 10px 10px 14px; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; }
  .cookie-banner__head { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media print { .cookie-banner { display: none !important; } }
