/* Cookie-Consent-Banner: erscheint erst, wenn noch keine Entscheidung gespeichert ist.
   Statistik-Kategorie ist per Default AUS (Opt-in, nicht Opt-out) – siehe cookie_consent.js. */

.px-consent {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 100;
  max-width: 640px; margin: 0 auto;
  background: #fff; color: var(--color-ink);
  border-radius: 22px; box-shadow: 0 1px 2px rgba(16,17,18,.06), 0 30px 60px -20px rgba(16,17,18,.55);
  padding: 22px 24px;
  font-size: 14px; line-height: 1.55;
}
.px-consent[hidden] { display: none; }
.px-consent-title { font-size: 16px; font-weight: 650; margin-bottom: 8px; }
.px-consent-text { opacity: .72; margin-bottom: 16px; }
.px-consent-text a { text-decoration: underline; color: inherit; }
.px-consent-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.px-consent-btn {
  border: 0; border-radius: 999px; padding: 11px 18px; font-family: inherit; font-size: 13.5px;
  font-weight: 600; cursor: pointer;
}
.px-consent-btn-primary,
.px-consent-btn-secondary { background: var(--color-ink); color: #fff; }
.px-consent-btn-text { background: transparent; color: inherit; opacity: .65; padding: 11px 6px; }

.px-consent-panel { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--color-card-line); display: grid; gap: 12px; }
.px-consent-panel[hidden] { display: none; }
.px-consent-category { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.px-consent-category-copy { flex: 1; }
.px-consent-category-title { font-weight: 600; font-size: 13.5px; }
.px-consent-category-desc { font-size: 12.5px; opacity: .6; margin-top: 2px; }

/* Einfacher Toggle-Switch für die Statistik-Kategorie */
.px-toggle { position: relative; display: inline-block; width: 40px; height: 22px; flex-shrink: 0; }
.px-toggle input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.px-toggle-track {
  position: absolute; inset: 0; border-radius: 999px; background: #d8dada; transition: background .2s;
  pointer-events: none;
}
.px-toggle-track::before {
  content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 999px;
  background: #fff; box-shadow: 0 1px 3px rgba(16,17,18,.3); transition: transform .2s;
}
.px-toggle input:checked ~ .px-toggle-track { background: var(--color-accent-dark); }
.px-toggle input:checked ~ .px-toggle-track::before { transform: translateX(18px); }
.px-toggle input:disabled ~ .px-toggle-track { background: #cfd1d1; opacity: .7; }
.px-toggle input:focus-visible ~ .px-toggle-track { outline: 2px solid var(--color-ink); outline-offset: 2px; }

@media (max-width: 480px) {
  .px-consent { left: 10px; right: 10px; bottom: 10px; padding: 18px; }
  .px-consent-actions { flex-direction: column; }
  .px-consent-btn { width: 100%; }
}
