/* Bookelva — Einwilligung (Quelle: landing/gen/consent.css). Farben aus site.css (:root / html[data-theme="dark"]). */
.ck{position:fixed;left:0;right:0;bottom:0;z-index:180;display:flex;justify-content:center;padding:0 12px calc(12px + env(safe-area-inset-bottom));pointer-events:none}
.ck[hidden]{display:none}
.ck-in{pointer-events:auto;width:min(980px,100%);max-height:min(78vh,640px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:1.25rem;box-shadow:0 18px 60px rgba(9,37,66,.22);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.625rem;outline:none}
html[data-theme="dark"] .ck-in{box-shadow:0 18px 60px rgba(0,0,0,.55)}
.ck-in:focus-visible{outline:3px solid var(--violet-ink);outline-offset:2px}
.ck-h{font:600 1.0625rem/1.25 var(--display);letter-spacing:-.01em;color:var(--ink)}
.ck-text{font:400 .9375rem/1.45 var(--sans);color:var(--ink)}
.ck-text a{color:var(--violet-ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.ck-cats{display:flex;flex-direction:column;gap:.625rem;border-top:1px solid var(--line);padding-top:.75rem}
.ck-cats[hidden]{display:none}
.ck-cat{display:flex;flex-direction:column;gap:.25rem}
.ck-row{display:flex;align-items:center;gap:.625rem;cursor:pointer;min-height:2rem}
.ck-row input{width:1.25rem;height:1.25rem;margin:0;flex:none;accent-color:var(--violet-ink);cursor:pointer}
.ck-row input:disabled{cursor:default}
.ck-name{font:600 .9375rem/1.3 var(--sans)}
.ck-always{order:3;margin-left:auto;font:600 .75rem/1 var(--sans);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.ck-desc{font:400 .875rem/1.5 var(--sans);color:var(--muted);padding-left:1.875rem}
/* Knöpfe: «Alle ablehnen» und «Alle akzeptieren» stehen in jeder Ansicht in gleich breiten Spalten (gleiche Farbe, Grösse,
   Gewicht). «Auswählen» bzw. «Auswahl speichern» liegt darunter über die ganze Breite. */
.ck-btns{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .625rem;align-items:center;position:sticky;bottom:-1rem;margin:0 -1.25rem -1rem;padding:.5rem 1.25rem 1rem;background:var(--surface)}
.ck-btn{min-height:2.75rem;padding:.5rem 1rem;border-radius:99px;border:1px solid var(--fill);background:var(--fill);color:var(--on-fill);font:600 .9375rem/1.2 var(--sans);cursor:pointer;min-width:0}
.ck-btn:hover{background:var(--fill-hover);border-color:var(--fill-hover)}
.ck-btn[hidden]{display:none}
[data-ck-reject]{order:1}[data-ck-accept]{order:2}
[data-ck-choose],[data-ck-save]{order:3;grid-column:1/-1}
.ck-btn-link{min-height:2.25rem;background:transparent;border-color:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:3px;padding:.25rem .75rem;justify-self:center}
.ck-btn-link:hover{background:var(--soft);border-color:transparent}
.ck-btn:focus-visible,.ck-row input:focus-visible,.ck-text a:focus-visible,.ck-foot:focus-visible{outline:3px solid var(--violet-ink);outline-offset:2px}
.ck-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Breit: zugeklappt einzeilig (Text links, Knöpfe rechts), aufgeklappt drei gleich breite Knöpfe nebeneinander */
@media (min-width:720px){
  .ck:not(.ck-wide) .ck-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,22rem);column-gap:1.5rem;row-gap:.25rem;align-items:center}
  .ck:not(.ck-wide) .ck-h{grid-column:1}
  .ck:not(.ck-wide) .ck-text{grid-column:1}
  .ck:not(.ck-wide) .ck-btns{grid-column:2;grid-row:1/span 2;position:static;margin:0;padding:0;background:none}
  .ck-wide .ck-in{width:min(760px,100%)}
  .ck-wide .ck-btns{grid-template-columns:1fr 1fr 1fr}
  .ck-wide [data-ck-save]{order:2;grid-column:auto}
  .ck-wide [data-ck-accept]{order:3}
}
/* Platz unten freihalten, solange der Banner offen ist (Höhe setzt consent.js in --ck-h); schwebende Elemente rutschen darüber */
html.ck-open body{padding-bottom:calc(var(--ck-h,0px) + 12px)}
html.ck-open .elva-side{bottom:calc(var(--ck-h,0px) + 20px + env(safe-area-inset-bottom))}
html.ck-open .elva-chat{bottom:calc(var(--ck-h,0px) + 104px + env(safe-area-inset-bottom))}
html.ck-open .site-hint{bottom:calc(var(--ck-h,0px) + 20px + env(safe-area-inset-bottom))}
/* Schmal: Chat-Figur und Regionen-Hinweis ausblenden statt verschieben (sonst landen sie auf Hero-Text und -Knöpfen) */
@media (max-width:720px){html.ck-open .elva-side,html.ck-open .elva-chat,html.ck-open .site-hint{visibility:hidden}}
/* Aufgeklappte Auswahl ist hoch: Chat-Figur und Chat so lange ausblenden, statt sie über den Seitenkopf zu schieben */
html.ck-expanded .elva-side,html.ck-expanded .elva-chat{visibility:hidden}
/* Link in der Fusszeile, sieht aus wie die Links daneben; ohne JavaScript verborgen */
.ck-foot{all:unset;box-sizing:border-box;cursor:pointer;color:var(--white);opacity:.85;font:400 .9375rem/1 var(--sans)}
.ck-foot[hidden]{display:none}
.ck-foot:hover{opacity:1}
@media (max-width:560px){
  .ck{padding:0 8px calc(8px + env(safe-area-inset-bottom))}
  .ck-in{padding:.875rem;gap:.5rem;border-radius:1.125rem;max-height:72vh}
  .ck-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}  /* nur für Screenreader: spart eine Zeile */
  .ck-text{font-size:.875rem}
  .ck-btn{font-size:.875rem;padding:.5rem .625rem}
  .ck-btn-link{min-height:2rem}
  .ck-btns{bottom:-.875rem;margin:0 -.875rem -.875rem;padding:.375rem .875rem .875rem}
}
@media (prefers-reduced-motion:no-preference){.ck-in{animation:ck-in .25s ease-out}}
@keyframes ck-in{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
