/* Cookie-Banner (nur bei aktivem Analytics). Nutzt die Design-Variablen der Branche (--surface, --ink, --line, --r, --brand, --font-body). */
.cookie-banner{position:fixed;z-index:60;left:16px;bottom:16px;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box;background:var(--surface,var(--bg,#fff));color:var(--ink,#1b1f24);border:1px solid var(--line,#ddd);border-radius:var(--r,var(--radius,12px));box-shadow:0 10px 36px rgba(16,24,40,.2);padding:16px 18px;font-family:var(--font-body,var(--font,inherit));font-size:.9rem;line-height:1.5}
.cookie-banner[hidden]{display:none}
.cookie-banner:focus{outline:3px solid var(--brand);outline-offset:2px}
.cookie-banner-title{margin:0 0 .35em;font-size:1rem;font-weight:700;line-height:1.3}
.cookie-banner p{margin:0 0 .85em}
.cookie-banner a{color:var(--brand)}
.cookie-banner-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cookie-banner-actions .btn{width:100%;min-width:0;white-space:normal;text-align:center}
@media (max-width:900px){
  /* Auf Profilseiten sitzt der Banner über der Anruf-Leiste (sticky-cta), damit er sie nie verdeckt */
  body.has-sticky .cookie-banner{bottom:calc(84px + env(safe-area-inset-bottom))}
}
@media (max-width:640px){
  .cookie-banner{left:8px;right:8px;bottom:8px;width:auto;max-height:60vh;padding:12px 14px;font-size:.84rem;line-height:1.45}
  body.has-sticky .cookie-banner{bottom:calc(84px + env(safe-area-inset-bottom))}
  .cookie-banner-title{font-size:.95rem}
  .cookie-banner p{margin-bottom:.65em}
}
@media (prefers-reduced-motion:no-preference){.cookie-banner{animation:consent-in .2s ease-out}}
@keyframes consent-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
