/* =========================================================================
   RGN Soft Cookie Wall — eigenständiges Modul (Gebäude Solution)
   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(7,18,33,.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:#fff;border-radius:20px;padding:1.9rem 1.7rem 1.5rem;
  box-shadow:0 24px 64px rgba(0,0,0,.22);text-align:center;
  font-family:'Overpass',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:#1B2B3F;
  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:56px;width:auto;margin:0 auto 1.15rem;display:block}
.kekse__karte h2{
  font:500 1.32rem/1.2 'Overpass',system-ui,sans-serif;text-transform:none;
  letter-spacing:-.02em;margin:0 0 .6rem;color:#0B1B30;
}
.kekse__karte p{
  font-size:.92rem;line-height:1.6;color:#44556A;
  margin:0 auto 1.3rem;max-width:42ch;
}
.kekse__karte a{color:#0A64A0;text-decoration:underline;text-underline-offset:2px}

/* --- Einstellungen -------------------------------------------------------- */
.kekse__panel{
  text-align:left;border:1px solid #DDE5ED;border-radius:14px;
  padding:.3rem 1rem 1rem;margin:0 0 1.1rem;background:#F5F8FB;
}
.kekse__zeile{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 0;border-bottom:1px solid #DDE5ED;
}
.kekse__zeile:last-of-type{border-bottom:0}
.kekse__zeile b{display:block;font:600 .93rem/1.3 inherit;color:#0B1B30}
.kekse__zeile span{display:block;font-size:.82rem;line-height:1.4;color:#44556A;margin-top:.12rem}
.kekse__fest{font-size:.78rem;color:#44556A;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:#C9D5E1;
  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:#154A7E}
.schalter input:checked + .schalter__bahn .schalter__punkt{transform:translateX(18px)}
.schalter input:focus-visible + .schalter__bahn{outline:2px solid #154A7E;outline-offset:2px}
.schalter__text{font-size:.78rem;color:#44556A;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:#154A7E;color:#fff}
.kekse__knopf--ja:hover{background:#0B1B30}
.kekse__knopf--nein{background:#fff;color:#0B1B30;border-color:#C9D5E1}
.kekse__knopf--nein:hover{border-color:#0B1B30}
.kekse__knopf--mehr{
  width:100%;background:none;color:#44556A;font-weight:500;
  text-decoration:underline;text-underline-offset:3px;padding:.5rem;
}
.kekse__knopf--mehr:hover{color:#44556A}
.kekse__panel .kekse__knopf{width:100%;margin-top:.9rem}

.kekse__links{margin:.9rem 0 0;font-size:.82rem;color:#44556A}

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