/* Dicke Butz — Cookie-Einwilligung (02.10.2026). Gehoert zu assets/js/einwilligung.js.
   Alle drei Wege sind gleich gewichtet — kein Dark Pattern. */
.ck-bar,.ck-modal,.ck-fab{--ck-bg:#0F0D0B;--ck-fg:#F4EEE3;--ck-ak:var(--ck-akzent,#b5562c);--ck-ak2:var(--ck-akzent2,#C9A36A);
  font-family:'Montserrat',system-ui,-apple-system,sans-serif;box-sizing:border-box}
.ck-bar *,.ck-modal *,.ck-fab *{box-sizing:border-box}
.ck-bar[hidden],.ck-modal[hidden],.ck-fab[hidden],.ck-row-d[hidden]{display:none!important}

/* Banner beim ersten Besuch */
.ck-bar{position:fixed;left:0;right:0;bottom:0;z-index:130;background:var(--ck-bg);color:var(--ck-fg);
  border-top:1px solid rgba(244,238,227,.22);padding:clamp(1rem,2.4vh,1.6rem) clamp(1rem,4vw,3rem);
  transform:translateY(110%);transition:transform .5s cubic-bezier(.2,.7,.2,1);
  max-height:88vh;overflow-y:auto;overscroll-behavior:contain}
.ck-bar.on{transform:none}
.ck-bar-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1rem,3vw,3rem);align-items:center;
  max-width:1500px;margin-inline:auto}
.ck-bar h2{margin:0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;text-transform:uppercase;
  line-height:.95;letter-spacing:-.02em;font-size:clamp(1.1rem,2.6vw,1.7rem);color:var(--ck-fg)}
.ck-bar h2 em{font-style:normal;color:var(--ck-ak2);display:block}
.ck-bar p{margin:.7rem 0 0;font-size:.82rem;line-height:1.75;color:var(--ck-fg);opacity:.82;max-width:72ch}
.ck-bar a,.ck-modal a{color:var(--ck-fg);text-decoration:underline;text-underline-offset:3px}

.ck-btns{display:flex;flex-wrap:wrap;gap:.6rem;align-items:stretch}
.ck-btn{font-family:'Cutive',Georgia,serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  padding:.85rem 1.2rem;min-height:48px;border:1px solid var(--ck-fg);color:var(--ck-fg);background:none;
  cursor:pointer;white-space:nowrap;transition:background .25s,color .25s;border-radius:0}
.ck-btn:hover,.ck-btn:focus-visible{background:var(--ck-fg);color:#0B0A09}
.ck-btn:focus-visible,.ck-x:focus-visible,.ck-acc:focus-visible,.ck-fab:focus-visible{outline:2px solid var(--ck-ak2);outline-offset:3px}

/* Einstellungsfenster */
.ck-modal{position:fixed;inset:0;z-index:140;display:none;place-items:center;padding:clamp(.8rem,3vw,2rem);
  background:rgba(6,5,4,.82)}
.ck-modal.on{display:grid}
.ck-box{background:var(--ck-bg);color:var(--ck-fg);border:1px solid rgba(244,238,227,.25);width:min(720px,100%);
  max-height:min(88vh,860px);display:flex;flex-direction:column}
.ck-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:clamp(1rem,2.6vw,1.6rem) clamp(1rem,3vw,2rem);border-bottom:1px solid rgba(244,238,227,.16)}
.ck-head h2{margin:0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(1.05rem,2.8vw,1.5rem);letter-spacing:-.02em;color:var(--ck-fg)}
.ck-x{width:44px;height:44px;flex:none;border:1px solid rgba(244,238,227,.4);background:none;color:var(--ck-fg);
  font-size:1.6rem;line-height:1;cursor:pointer}
.ck-x:hover{background:var(--ck-fg);color:#0B0A09}
.ck-body{overflow-y:auto;overscroll-behavior:contain;padding:0 clamp(1rem,3vw,2rem)}
.ck-intro{font-size:.82rem;line-height:1.75;opacity:.82;margin:1.1rem 0 .6rem}
.ck-row{border-top:1px solid rgba(244,238,227,.16)}
.ck-row:last-child{border-bottom:1px solid rgba(244,238,227,.16);margin-bottom:1rem}
.ck-row-h{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:60px}
.ck-acc{display:flex;align-items:center;gap:.7rem;flex:1;min-height:52px;padding:.4rem 0;background:none;border:0;
  color:var(--ck-fg);cursor:pointer;text-align:left;font-family:'Cutive',Georgia,serif;font-size:.8rem;
  letter-spacing:.12em;text-transform:uppercase;line-height:1.5}
.ck-chev{width:9px;height:9px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(-45deg);transition:transform .25s}
.ck-acc[aria-expanded="true"] .ck-chev{transform:rotate(45deg)}
.ck-row-d{margin:0 0 1rem 1.6rem;font-size:.78rem;line-height:1.7;opacity:.75}
.ck-immer{font-family:'Cutive',Georgia,serif;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ck-ak2);white-space:nowrap}

/* Schalter */
.ck-sw{position:relative;display:inline-flex;flex:none;cursor:pointer}
.ck-sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ck-sw-s{width:50px;height:28px;border-radius:28px;background:rgba(244,238,227,.22);position:relative;
  transition:background .25s}
.ck-sw-s::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;
  background:var(--ck-fg);transition:transform .25s}
.ck-sw input:checked+.ck-sw-s{background:var(--ck-ak)}
.ck-sw input:checked+.ck-sw-s::after{transform:translateX(22px)}
.ck-sw input:focus-visible+.ck-sw-s{outline:2px solid var(--ck-ak2);outline-offset:3px}
.ck-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.ck-foot{padding:clamp(.9rem,2.4vw,1.4rem) clamp(1rem,3vw,2rem);border-top:1px solid rgba(244,238,227,.16)}
.ck-foot .ck-btn{flex:1 1 0}

/* Dauerhafter Knopf unten rechts */
.ck-fab{position:fixed;right:14px;bottom:14px;z-index:70;display:inline-flex;align-items:center;gap:.5rem;
  padding:.6rem .95rem;min-height:44px;border:0;border-radius:999px;background:var(--ck-ak);color:#fff;
  font-family:'Montserrat',system-ui,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.01em;
  cursor:pointer;box-shadow:0 6px 22px rgba(0,0,0,.35);transition:transform .2s,filter .2s}
.ck-fab:hover{transform:translateY(-2px);filter:brightness(1.08)}
.ck-fab svg{flex:none}
/* Das Google-Logo (nur nach Zustimmung zum Spamschutz) sitzt ueber dem Knopf */
.grecaptcha-badge{bottom:72px!important}
/* Platz am Seitenende, damit der Knopf den letzten Link nicht verdeckt (03.10.2026) */
body::after{content:"";display:block;height:84px}

/* Formular-Hinweis ohne Zustimmung */
.ck-rcbtn{display:inline-block;margin:.5rem .4rem .3rem 0;padding:.6rem .9rem;min-height:44px;cursor:pointer;
  border:1px solid currentColor;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}
.ck-rcbtn:hover{background:#F4EEE3;color:#0B0A09}

@media(max-width:900px){
  .ck-bar-in{grid-template-columns:1fr}
  .ck-bar .ck-btns .ck-btn{flex:1 1 30%;text-align:center;padding-inline:.6rem;letter-spacing:.1em}
}
@media(max-width:560px){
  .ck-foot{flex-direction:column}
  .ck-foot .ck-btn{flex:none;width:100%}
  .ck-bar .ck-btns .ck-btn{flex:1 1 100%}
  .ck-fab{right:10px;bottom:10px;padding:.55rem .8rem;font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){.ck-bar{transition:none}.ck-fab{transition:none}}
