/* =========================================================================
   RGN Soft Cookie Wall — eigenständiges Modul
   Bewusst ohne Abhängigkeit vom Seiten-Stylesheet: Rechtsseiten und die 404
   laden manchmal weniger, deshalb eigene Knopf-Klassen und Rückfallwerte.
   ========================================================================= */
.kekse{
  position:fixed;inset:0;z-index:200;display:none;
  align-items:center;justify-content:center;padding:1.2rem;
  background:rgba(9,11,15,.62);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.kekse.zeig{display:flex;animation:keksRein .3s cubic-bezier(.22,.61,.36,1) both}
@keyframes keksRein{from{opacity:0}to{opacity:1}}
body.kekse-offen{overflow:hidden}

.kekse__karte{
  width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 40px);overflow-y:auto;
  background:var(--paper,#fff);border-radius:20px;padding:1.9rem 1.7rem 1.5rem;
  box-shadow:0 24px 64px rgba(0,0,0,.30);text-align:center;
  font-family:var(--f-b,system-ui,-apple-system,'Segoe UI',sans-serif);
  color:var(--txt,#14181F);
  animation:keksHoch .38s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes keksHoch{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}

.kekse__logo{height:62px;width:auto;margin:0 auto 1.15rem;display:block}
.kekse__karte h2{
  font:800 1.32rem/1.2 var(--f-d,var(--f-b,sans-serif));text-transform:uppercase;
  letter-spacing:-.004em;margin:0 0 .6rem;color:var(--txt,#14181F);
}
.kekse__karte p{
  font-size:.92rem;line-height:1.6;color:var(--txt-2,#4E5560);
  margin:0 auto 1.3rem;max-width:42ch;
}
.kekse__karte a{color:var(--acc-2,#8A6A21);text-decoration:underline;text-underline-offset:2px}

/* --- Einstellungen -------------------------------------------------------- */
.kekse__panel{
  text-align:left;border:1px solid var(--line,#E7E5E0);border-radius:14px;
  padding:.3rem 1rem 1rem;margin:0 0 1.1rem;background:var(--paper-2,#F6F5F2);
}
.kekse__zeile{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 0;border-bottom:1px solid var(--line,#E7E5E0);
}
.kekse__zeile:last-of-type{border-bottom:0}
.kekse__zeile b{display:block;font:600 .93rem/1.3 inherit;color:var(--txt,#14181F)}
.kekse__zeile span{display:block;font-size:.82rem;line-height:1.4;color:var(--txt-3,#7C8493);margin-top:.12rem}
.kekse__fest{font-size:.78rem;color:var(--txt-3,#7C8493);white-space:nowrap;flex:none}

.schalter{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex:none}
.schalter input{position:absolute;opacity:0;width:0;height:0}
.schalter__bahn{
  width:40px;height:22px;border-radius:99px;background:var(--line-2,#D6D3CC);
  position:relative;transition:background .22s ease;flex:none;
}
.schalter__punkt{
  position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;
  background:#fff;transition:transform .22s cubic-bezier(.22,.61,.36,1);
}
.schalter input:checked + .schalter__bahn{background:var(--acc,#C8A24C)}
.schalter input:checked + .schalter__bahn .schalter__punkt{transform:translateX(18px)}
.schalter input:focus-visible + .schalter__bahn{outline:2px solid var(--acc,#C8A24C);outline-offset:2px}
.schalter__text{font-size:.78rem;color:var(--txt-3,#7C8493);width:1.6rem}

/* --- Knöpfe ---------------------------------------------------------------
   Zustimmen und Ablehnen liegen in einem Zwei-Spalten-Raster: gleiche Breite
   ist damit gebaut, nicht geschätzt. Kein Knopf ist vorausgewählt. */
.kekse__knoepfe{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:.7rem}
.kekse__knopf{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.85rem 1rem;border-radius:10px;border:1px solid transparent;
  font:600 .93rem/1 inherit;cursor:pointer;white-space:nowrap;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .16s ease;
}
.kekse__knopf:active{transform:scale(.98)}
.kekse__knopf--ja{background:var(--acc,#C8A24C);color:#17130A}
.kekse__knopf--ja:hover{background:var(--acc-h,#D4B063)}
.kekse__knopf--nein{background:var(--paper,#fff);color:var(--txt,#14181F);border-color:var(--line-2,#D6D3CC)}
.kekse__knopf--nein:hover{border-color:var(--txt,#14181F)}
.kekse__knopf--mehr{
  width:100%;background:none;color:var(--txt-3,#7C8493);font-weight:500;
  text-decoration:underline;text-underline-offset:3px;padding:.5rem;
}
.kekse__knopf--mehr:hover{color:var(--txt-2,#4E5560)}
.kekse__panel .kekse__knopf{width:100%;margin-top:.9rem}

.kekse__links{margin:.9rem 0 0;font-size:.82rem;color:var(--txt-3,#7C8493)}

@media (max-width:420px){
  .kekse__karte{padding:1.5rem 1.2rem 1.2rem}
  .kekse__knoepfe{grid-template-columns:1fr}
  .kekse__logo{height:52px}
}
