/* WWS Consent — eigenständiges Styling (keine Abhängigkeit von Theme/Tailwind).
   Farben kommen aus den Plugin-Einstellungen (--wws-c-*). */
.wws-consent {
  position: fixed; z-index: 99999; inset-inline: 0; bottom: 0;
  background: var(--wws-c-bg, #fff); color: var(--wws-c-text, #171410);
  border-top: 1px solid color-mix(in srgb, var(--wws-c-text, #171410) 18%, transparent);
  font: 400 0.92rem/1.55 system-ui, -apple-system, "Segoe UI", sans-serif;
  padding: 18px max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  box-shadow: 0 -8px 30px rgb(0 0 0 / 0.08);
  max-height: 92vh; overflow-y: auto;
}
.wws-consent[hidden] { display: none; }
.wws-consent:focus { outline: none; }
.wws-consent--karte {
  inset-inline: auto; left: 16px; bottom: 16px; width: min(440px, calc(100% - 32px));
  border: 1px solid color-mix(in srgb, var(--wws-c-text, #171410) 18%, transparent);
  box-shadow: 0 12px 40px rgb(0 0 0 / 0.18);
}
.wws-consent__inner { max-width: 1100px; margin-inline: auto; display: grid; gap: 12px; }
.wws-consent__titel { margin: 0; font-size: 1.05rem; font-weight: 600; letter-spacing: 0.01em; }
.wws-consent__text { margin: 0; max-width: 75ch; }
.wws-consent__aktionen { display: flex; flex-wrap: wrap; gap: 10px; }
.wws-consent__aktionen[hidden] { display: none; }
/* „Alle akzeptieren“ und „Nur notwendige“ sind bewusst gleich gestaltet und gleich groß. */
.wws-consent__btn {
  appearance: none; cursor: pointer; font: inherit; font-weight: 500;
  padding: 11px 20px; min-height: 44px;
  background: var(--wws-c-akzent, #171410); color: var(--wws-c-akzent-text, #fff);
  border: 1px solid var(--wws-c-akzent, #171410); border-radius: 0;
}
.wws-consent__btn:hover { filter: brightness(1.12); }
.wws-consent__btn--leise { background: transparent; color: var(--wws-c-text, #171410); border-color: color-mix(in srgb, var(--wws-c-text, #171410) 45%, transparent); }
.wws-consent__btn--leise:hover { filter: none; background: color-mix(in srgb, var(--wws-c-text, #171410) 8%, transparent); }
.wws-consent__btn:focus-visible, .wws-consent a:focus-visible, .wws-consent input:focus-visible,
.wws-consent-link:focus-visible { outline: 2px solid var(--wws-c-akzent, #171410); outline-offset: 3px; }
.wws-consent__links { margin: 0; font-size: 0.82rem; display: flex; gap: 8px; flex-wrap: wrap; opacity: 0.85; }
.wws-consent__links a { color: inherit; text-underline-offset: 3px; }
.wws-consent__auswahl[hidden] { display: none; }
.wws-consent__auswahl fieldset { margin: 0; padding: 0; border: 0; display: grid; gap: 12px; }
.wws-consent__legende { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.wws-consent__kat { display: grid; gap: 2px; padding-bottom: 10px; border-bottom: 1px solid color-mix(in srgb, var(--wws-c-text, #171410) 14%, transparent); }
.wws-consent__label { display: flex; gap: 10px; align-items: center; font-weight: 600; cursor: pointer; }
.wws-consent__label input { width: 20px; height: 20px; accent-color: var(--wws-c-akzent, #171410); }
.wws-consent__kat-text { margin: 0 0 0 30px; font-size: 0.86rem; opacity: 0.85; }
.wws-consent__platzhalter {
  display: grid; gap: 12px; justify-items: start; padding: 22px; margin-block: 8px;
  background: color-mix(in srgb, var(--wws-c-text, #171410) 6%, var(--wws-c-bg, #fff));
  color: var(--wws-c-text, #171410); border: 1px dashed color-mix(in srgb, var(--wws-c-text, #171410) 35%, transparent);
}
.wws-consent__platzhalter p { margin: 0; }
.wws-consent-link { appearance: none; background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 900px) {
  .wws-consent--leiste .wws-consent__inner { grid-template-columns: 1fr auto; column-gap: 40px; align-items: center; }
  .wws-consent--leiste .wws-consent__titel, .wws-consent--leiste .wws-consent__text { grid-column: 1; }
  .wws-consent--leiste [data-wws-consent-haupt] { grid-column: 2; grid-row: 1 / span 2; }
  .wws-consent--leiste .wws-consent__links, .wws-consent--leiste .wws-consent__auswahl { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: no-preference) {
  .wws-consent:not([hidden]) { animation: wws-consent-ein 0.35s ease-out; }
  @keyframes wws-consent-ein { from { transform: translateY(16px); opacity: 0; } to { transform: none; opacity: 1; } }
}
