/* RGN Consent v2 · Cookie-Banner AsN Kanaltechnik (Bauart RGN-Standard, Farben und Radien aus site.css).
   Klassen kommen aus consent.js – nicht umbenennen. z-index über Kopf (900), Leiste (940) und Menü (1100). */
.kekse{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:clamp(1rem,2vw,1.75rem);
  background:rgba(16,19,21,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;transition:opacity .35s cubic-bezier(.22,1,.36,1),visibility .35s}
.kekse.zeig{opacity:1;visibility:visible}
/* Soft-Wall: Sperre am Wurzelelement. site.css setzt html{overflow-x:clip}, deshalb reicht body allein nicht. */
html.kekse-offen,html.kekse-offen body{overflow:hidden}
html.kekse-offen{scrollbar-gutter:stable}
/* Karte als Spalte: Kopf, Knöpfe und Links stehen fest, nur Text und Panel scrollen, wenn der Platz knapp ist. */
.kekse__karte{width:min(100%,540px);max-height:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain;
  display:flex;flex-direction:column;
  background:var(--papier,#F5F6F6);color:var(--txt,#1B1F23);border:1px solid var(--line,rgba(21,24,27,.12));
  border-radius:var(--r-card,20px);box-shadow:0 24px 60px -24px rgba(16,19,21,.55);
  padding:clamp(1.4rem,1.1rem + 1vw,1.9rem);transform:translateY(22px);
  transition:transform .38s cubic-bezier(.22,1,.36,1);
  font-family:var(--f-body,"Red Hat Text",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif)}
.kekse.zeig .kekse__karte{transform:none}
.kekse__karte > *{flex:none}
.kekse__karte > .kekse__rolle{flex:0 1 auto;min-height:4.5rem;overflow-y:auto;overscroll-behavior:contain}
.kekse__rolle--oben{--fo:1.25rem}
.kekse__rolle--unten{--fu:2.25rem}
.kekse__rolle--oben,.kekse__rolle--unten{
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--fo,0px),#000 calc(100% - var(--fu,0px)),transparent);
  mask-image:linear-gradient(to bottom,transparent,#000 var(--fo,0px),#000 calc(100% - var(--fu,0px)),transparent)}
.kekse__rolle:focus-visible{outline:3px solid var(--lime-ink,#3F6B10);outline-offset:2px}
.kekse__logo{height:52px;width:auto;margin:0 auto 1rem;display:block}
.kekse__karte h2{font-family:var(--f-head,"Red Hat Display",ui-sans-serif,system-ui,sans-serif);font-size:1.3125rem;
  font-weight:600;line-height:1.25;letter-spacing:-.015em;margin:0 0 .6rem;text-align:center;color:var(--txt,#1B1F23)}
#kekse-titel:focus{outline:none}
.kekse__karte p{font-size:.9375rem;line-height:1.6;color:var(--txt-2,#4A525A);margin:0}
.kekse__panel{margin-top:1.15rem;border:1px solid var(--line,rgba(21,24,27,.12));border-radius:var(--r-btn,10px);overflow:hidden;background:#fff}
.kekse__zeile{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--line,rgba(21,24,27,.12))}
.kekse__zeile b{display:block;font-size:.9375rem;font-weight:600;color:var(--txt,#1B1F23)}
.kekse__zeile span{display:block;font-size:.8125rem;color:var(--txt-3,#5B636B)}
.kekse__fest{font-size:.8125rem!important;font-weight:600;color:var(--lime-ink,#3F6B10)!important;white-space:nowrap}
.schalter{display:flex;align-items:center;gap:.55rem;min-height:44px;cursor:pointer;flex:none}
.schalter input{position:absolute;opacity:0;width:0;height:0}
.schalter__bahn{width:44px;height:24px;border-radius:999px;background:var(--grau-2,#E1E4E6);border:1px solid rgba(21,24,27,.3);display:block!important;padding:3px;transition:background .2s,border-color .2s}
.schalter__punkt{display:block!important;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(16,19,21,.3);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.schalter input:checked + .schalter__bahn{background:var(--lime-ink,#3F6B10);border-color:var(--lime-ink,#3F6B10)}
.schalter input:checked + .schalter__bahn .schalter__punkt{transform:translateX(20px)}
.schalter input:focus-visible + .schalter__bahn{outline:3px solid var(--lime-ink,#3F6B10);outline-offset:2px}
.schalter__text{font-size:.8125rem!important;font-weight:600;color:var(--txt-3,#5B636B);width:1.8rem}
.kekse__knoepfe{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.3rem}
.kekse__knoepfe .kekse__knopf--mehr{grid-column:1 / -1}
.kekse__knopf{min-width:0;min-height:3.25rem;padding:.8rem 1.1rem;border-radius:var(--r-btn,10px);text-align:center;font:inherit;
  font-size:1rem;font-weight:600;line-height:1.2;cursor:pointer;border:1.5px solid transparent;
  transition:background-color .14s,border-color .14s,color .14s}
.kekse__knopf:focus-visible{outline:3px solid var(--lime-ink,#3F6B10);outline-offset:2px}
/* Gleichwertige Knöpfe: gleiche Größe, gleiche Schrift, beide mit dunklem Rand. */
.kekse__knopf--ja{background:var(--lime,#8CC63F);border-color:var(--lime,#8CC63F);color:var(--ink-1,#15181B)}
.kekse__knopf--ja:hover{background:var(--lime-hover,#9DD350);border-color:var(--lime-hover,#9DD350)}
.kekse__knopf--nein{background:transparent;color:var(--txt,#1B1F23);border-color:var(--ink-1,#15181B)}
.kekse__knopf--nein:hover{background:rgba(21,24,27,.06)}
.kekse__knopf--mehr{min-height:2.875rem;background:transparent;color:var(--txt-2,#4A525A);border-color:var(--line,rgba(21,24,27,.12));font-weight:600}
.kekse__knopf--mehr:hover{color:var(--txt,#1B1F23);border-color:var(--txt,#1B1F23)}
.kekse__panel .kekse__knopf{width:100%;margin:0;border-radius:0;border:none;background:var(--grau,#ECEEEF);color:var(--txt,#1B1F23)}
.kekse__panel .kekse__knopf:hover{background:var(--grau-2,#E1E4E6)}
.kekse__links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:.4rem;
  margin-top:.45rem!important;font-size:.875rem!important;line-height:1.3!important}
.kekse__links i{font-style:normal;color:var(--txt-3,#5B636B)}
.kekse__links a{color:var(--txt-2,#4A525A);text-decoration:underline;text-underline-offset:2px;display:inline-flex;align-items:center;min-height:44px;padding:0 .2rem;vertical-align:middle}
.kekse__links a:hover{color:var(--txt,#1B1F23)}
@media (max-width:480px){.kekse__knoepfe{grid-template-columns:1fr}.kekse__logo{height:44px}}
@media (max-width:480px) and (max-height:740px){
  .kekse{padding:.75rem}
  .kekse__karte{max-height:calc(100dvh - 1.5rem);padding:1.1rem 1.1rem .6rem}
  .kekse__logo{height:38px;margin-bottom:.6rem}
  .kekse__karte h2{font-size:1.1875rem;margin-bottom:.4rem}
  .kekse__karte p{font-size:.875rem;line-height:1.5}
  .kekse__knoepfe{gap:.5rem;margin-top:.85rem}
  .kekse__links{margin-top:.2rem!important}
}
@media (max-width:360px){
  .kekse{padding:.5rem}
  .kekse__karte{padding-inline:.9rem}
  .kekse__links{font-size:.8125rem!important;column-gap:.75rem}
  .kekse__links a{padding:0}
  .kekse__links i{display:none}
}
@media (prefers-reduced-motion:reduce){.kekse,.kekse__karte,.schalter__bahn,.schalter__punkt{transition:none}}
