/* ============================================================
   Schäfer · Cookie-Hinweis-Banner
   Eigenständige Komponente, auf allen Seiten geladen.
   Wird nur angezeigt, solange der Nutzer den Hinweis nicht
   bestätigt hat (siehe assets/js/cookie.js).
   ============================================================ */

#cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:200;
  display:none;justify-content:center;padding:14px clamp(14px,3vw,28px);
  pointer-events:none;
}
#cookie-banner.is-visible{display:flex;animation:cookie-rise .35s cubic-bezier(.22,.61,.36,1)}
@keyframes cookie-rise{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}

#cookie-banner .cookie-card{
  pointer-events:auto;
  display:flex;align-items:center;gap:clamp(12px,2vw,22px);flex-wrap:wrap;
  max-width:1180px;width:100%;
  background:rgba(31,51,73,.96);color:#eaf0f4;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  box-shadow:0 20px 50px -22px rgba(0,0,0,.65);
  padding:16px 20px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  font-size:.92rem;line-height:1.5;
}

#cookie-banner .cookie-ico{
  flex-shrink:0;width:38px;height:38px;border-radius:10px;
  background:rgba(255,255,255,.10);color:#fff;
  display:grid;place-items:center;
}
#cookie-banner .cookie-ico svg{width:20px;height:20px}

#cookie-banner .cookie-text{flex:1 1 280px;min-width:0;color:#dde6ee}
#cookie-banner .cookie-text strong{color:#fff;font-weight:700}

#cookie-banner .cookie-actions{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0;
}
#cookie-banner .cookie-link{
  font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px;
  font-size:.92rem;padding:8px 6px;
}
#cookie-banner .cookie-link:hover{color:#cfe8f4}
#cookie-banner .cookie-ok{
  font:inherit;font-weight:700;font-size:.92rem;cursor:pointer;
  padding:11px 20px;border-radius:999px;border:0;
  background:#fff;color:var(--blue-900,#1f3349);
  transition:transform .16s ease,box-shadow .18s ease,background .16s ease;
}
#cookie-banner .cookie-ok:hover{transform:translateY(-1px);box-shadow:0 14px 30px -16px rgba(0,0,0,.6)}
#cookie-banner .cookie-ok:focus-visible{outline:3px solid #fff;outline-offset:3px}

#cookie-banner .cookie-decline{
  font:inherit;font-weight:700;font-size:.92rem;cursor:pointer;
  padding:11px 18px;border-radius:999px;
  background:transparent;color:#eaf0f4;
  border:1px solid rgba(255,255,255,.35);
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
#cookie-banner .cookie-decline:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.08)}
#cookie-banner .cookie-decline:focus-visible{outline:3px solid #fff;outline-offset:3px}

@media (max-width:560px){
  #cookie-banner{padding:10px}
  #cookie-banner .cookie-card{padding:14px 16px;border-radius:14px;font-size:.88rem}
  #cookie-banner .cookie-actions{width:100%;justify-content:space-between;margin-top:4px}
}

@media (prefers-reduced-motion:reduce){
  #cookie-banner.is-visible{animation:none}
  #cookie-banner .cookie-ok,
  #cookie-banner .cookie-decline{transition:none}
}
