/* Einwilligung: Banner unten links und Einstellungsdialog.
   Markup kommt komplett aus assets/consent.js. Farben und Radien wie index.html. */
.consent{position:fixed;left:1.25rem;bottom:1.25rem;z-index:1000;width:min(460px,calc(100vw - 2.5rem));
  background:#fff;color:#404040;border-radius:20px;box-shadow:0 2px 6px rgba(0,0,0,.06),0 18px 40px rgba(0,0,0,.14);padding:1.5rem;
  font-family:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}
.consent[hidden]{display:none}
.consent__titel{margin:0 0 .6rem;font-family:"Poppins",system-ui,sans-serif;font-weight:600;font-size:1.2rem;line-height:1.25;color:#0A0A0A;letter-spacing:-.3px}
.consent__text{margin:0 0 1.1rem;font-size:14.5px;line-height:1.55;color:#525252}
.consent__text a{color:#2B23E8;text-decoration:underline}
.consent__aktionen{display:flex;flex-wrap:wrap;gap:.5rem}
.consent .cbtn{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:99px;border:1px solid #E8E8E8;
  background:#fff;color:#0A0A0A;font:inherit;font-weight:600;font-size:14px;line-height:1;white-space:nowrap;cursor:pointer;transition:background .25s,border-color .25s}
.consent .cbtn:hover{background:#F5F5F5;border-color:#D9D9D9}
.consent .cbtn--primary{background:#2B23E8;border-color:#2B23E8;color:#fff}
.consent .cbtn--primary:hover{background:#1B14C9;border-color:#1B14C9}
.consent__wege{margin:1rem 0 0;font-size:12.5px;line-height:1.5;color:#8A8A8A}
.consent__wege a{color:inherit;text-decoration:underline}
.consent__wege a:hover{color:#2B23E8}

/* ---------- Einstellungen ---------- */
.consent-dialog{position:fixed;inset:0;z-index:1001;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(10,10,10,.55);backdrop-filter:blur(4px);
  font-family:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;color:#404040}
.consent-dialog[hidden]{display:none}
.consent-dialog__karte{width:min(760px,100%);max-height:min(88vh,760px);background:#fff;color:#404040;border-radius:20px;
  box-shadow:0 2px 6px rgba(0,0,0,.06),0 18px 40px rgba(0,0,0,.18);display:flex;flex-direction:column;overflow:hidden}
.consent-dialog__kopf{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #E8E8E8}
.consent-dialog__titel{margin:0;font-family:"Poppins",system-ui,sans-serif;font-weight:600;font-size:1.2rem;color:#0A0A0A;letter-spacing:-.3px}
.consent-dialog__schliessen{width:36px;height:36px;border:none;background:none;cursor:pointer;border-radius:50%;display:grid;place-items:center;font-size:1.3rem;line-height:1;color:#8A8A8A}
.consent-dialog__schliessen:hover{color:#0A0A0A;background:#F5F5F5}
.consent-dialog__koerper{padding:1.25rem 1.5rem;overflow-y:auto;flex:1 1 auto}
.consent-dialog__intro{margin:0 0 1rem;font-size:14.5px;line-height:1.55;color:#525252}
.consent-gruppe{border-top:1px solid #E8E8E8;padding:1rem 0}
.consent-gruppe:first-of-type{border-top:none;padding-top:0}
.consent-gruppe__kopf{display:flex;align-items:center;gap:1rem;width:100%}
.consent-gruppe__schalter{display:flex;align-items:center;gap:.5rem;flex:1 1 auto;border:none;background:none;padding:0;cursor:pointer;text-align:left;
  font-family:"Poppins",system-ui,sans-serif;font-weight:600;font-size:1rem;color:#0A0A0A}
.consent-gruppe__pfeil{display:inline-block;transition:transform .2s;font-size:.9em;opacity:.55}
.consent-gruppe.is-offen .consent-gruppe__pfeil{transform:rotate(90deg)}
.consent-gruppe__immer{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.02em;color:#2B23E8;white-space:nowrap}
.consent-gruppe__text{margin:.5rem 0 0;font-size:14px;line-height:1.55;color:#525252}
.consent-gruppe__detail{margin:.75rem 0 0;padding:.85rem 1rem;background:#F3F4FF;border-radius:12px;font-size:13.5px;line-height:1.55}
.consent-gruppe__detail[hidden]{display:none}
.consent-gruppe__detail dt{font-weight:600;color:#0A0A0A;margin-top:.6rem}
.consent-gruppe__detail dt:first-child{margin-top:0}
.consent-gruppe__detail dd{margin:2px 0 0}

/* Umschalter, gross genug zum Antippen */
.consent-schalter{position:relative;flex:0 0 auto;width:46px;height:26px;cursor:pointer}
.consent-schalter input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.consent-schalter__spur{position:absolute;inset:0;border-radius:999px;background:#D4D4D4;transition:background .2s;pointer-events:none}
.consent-schalter__knopf{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s;pointer-events:none}
.consent-schalter input:checked ~ .consent-schalter__spur{background:#2B23E8}
.consent-schalter input:checked ~ .consent-schalter__knopf{transform:translateX(20px)}
.consent-schalter input:focus-visible ~ .consent-schalter__spur{outline:2px solid #2B23E8;outline-offset:2px}

.consent-dialog__fuss{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid #E8E8E8}
.consent-dialog__fuss .cbtn{flex:1 1 180px;height:48px}
.consent-dialog .cbtn{display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border-radius:99px;border:1px solid #E8E8E8;
  background:#fff;color:#0A0A0A;font:inherit;font-weight:600;font-size:14px;line-height:1;white-space:nowrap;cursor:pointer;transition:background .25s,border-color .25s}
.consent-dialog .cbtn:hover{background:#F5F5F5;border-color:#D9D9D9}
.consent-dialog .cbtn--primary{background:#2B23E8;border-color:#2B23E8;color:#fff}
.consent-dialog .cbtn--primary:hover{background:#1B14C9;border-color:#1B14C9}

body.consent-lock{overflow:hidden}

@media(max-width:600px){
  .consent{left:.75rem;right:.75rem;bottom:.75rem;width:auto;padding:1.25rem}
  .consent .cbtn{flex:1 1 100%}
}
