/* Cookie-Banner. Nutzt die Design-Tokens aus dem :root der jeweiligen Seite,
   bringt seine Buttons aber selbst mit — Impressum und Datenschutz kennen
   .btn-ghost nicht, deshalb ist hier nichts aus dem Seiten-CSS vorausgesetzt. */

.c-bar{position:fixed;left:0;right:0;bottom:0;z-index:300;padding:0 var(--pad) 22px;
  display:none;pointer-events:none}
.c-bar.on{display:block}
.c-panel{max-width:var(--maxw);margin:0 auto;background:var(--ink-2);color:#fff;
  border:1px solid var(--ink-3);border-top:3px solid var(--amber);border-radius:5px;
  padding:clamp(24px,3vw,32px);box-shadow:0 30px 80px rgba(0,0,0,.55);pointer-events:auto;
  opacity:0;transform:translateY(22px);transition:opacity .3s ease,transform .38s cubic-bezier(.16,1,.3,1)}
.c-bar.show .c-panel{opacity:1;transform:none}

.c-kicker{font-family:var(--display);font-weight:800;font-size:.7rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--amber)}
.c-panel h2{font-family:var(--display);font-weight:800;font-size:1.5rem;line-height:1.15;
  letter-spacing:-.02em;color:#fff;margin:9px 0 8px}
.c-panel p{font-size:.9rem;line-height:1.6;color:#B4AED0;max-width:68ch;margin:0}

/* Kategorien – nur in der Detailansicht sichtbar */
.c-opts{display:none;margin-top:22px;border-top:1px solid var(--ink-3)}
.c-panel.detail .c-opts{display:block}
.c-opt{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--ink-3)}
.c-opt b{display:block;font-family:var(--display);font-weight:800;font-size:.98rem;color:#fff;margin-bottom:3px}
.c-opt span{font-size:.83rem;line-height:1.5;color:#B4AED0;display:block;max-width:60ch}
.c-opt input{position:absolute;opacity:0;width:0;height:0}
.c-sw{width:46px;height:26px;border-radius:13px;background:#3A2C7A;position:relative;flex:none;
  cursor:pointer;transition:background .2s ease;display:block}
.c-sw:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:#8E88AE;transition:transform .2s ease,background .2s ease}
.c-opt input:checked + .c-sw{background:rgba(255,173,1,.28)}
.c-opt input:checked + .c-sw:after{transform:translateX(20px);background:var(--amber)}
.c-opt input:focus-visible + .c-sw{outline:3px solid var(--amber);outline-offset:3px}
.c-opt input:disabled + .c-sw{cursor:not-allowed;background:rgba(255,173,1,.16)}
.c-opt input:disabled + .c-sw:after{background:var(--amber-deep)}

/* Aktionen. Zustimmen und Ablehnen sind bewusst gleich groß und gleich auffällig. */
.c-actions{display:flex;gap:11px;flex-wrap:wrap;align-items:center;margin-top:24px}
.c-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);
  font-weight:700;font-size:.92rem;padding:15px 26px;border:1.5px solid transparent;border-radius:2px;
  cursor:pointer;text-decoration:none;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.c-btn-ja{background:var(--amber);color:var(--ink)}
.c-btn-ja:hover{background:#FFC03B;transform:translateY(-2px)}
.c-btn-nein{background:transparent;color:#fff;border-color:var(--ink-3)}
.c-btn-nein:hover{border-color:var(--amber);color:var(--amber)}
.c-text{background:none;border:none;color:#B4AED0;font-family:var(--body);font-weight:600;
  font-size:.85rem;cursor:pointer;text-decoration:underline;padding:8px 4px;margin-left:auto}
.c-text:hover{color:var(--amber)}
.c-panel:not(.detail) .c-save{display:none}
.c-panel.detail .c-mehr{display:none}

.c-legal{margin-top:18px;padding-top:15px;border-top:1px solid var(--ink-3);font-size:.76rem;color:#8E88AE}
.c-legal a{color:#B4AED0;text-decoration:none;border-bottom:1px solid var(--ink-3)}
.c-legal a:hover{color:var(--amber);border-color:var(--amber)}

@media(max-width:640px){
  .c-actions{flex-direction:column;align-items:stretch}
  .c-btn{width:100%}
  .c-text{margin-left:0;text-align:center}
  .c-opt{grid-template-columns:1fr;gap:12px}
}
@media (prefers-reduced-motion:reduce){.c-panel{transition:none}}

/* Platzhalter für gesperrte Fremdinhalte, steht auf hellem Grund */
.c-holder{background:#fff;border:1px dashed var(--line);border-radius:4px;
  padding:clamp(28px,4vw,44px);text-align:center}
.c-holder b{display:block;font-family:var(--display);font-weight:800;font-size:1.15rem;
  letter-spacing:-.01em;color:var(--ink);margin-bottom:8px}
.c-holder p{font-size:.9rem;color:var(--slate);margin:0 auto;max-width:52ch}
.c-holder .c-btn{margin-top:22px}
.c-holder .c-btn-ja{background:var(--amber);color:var(--ink)}
.c-holder .c-text{display:block;margin:12px auto 0;color:var(--slate)}
.c-holder .c-text:hover{color:var(--ink)}
