.consent-layer{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px;background:rgba(18,18,15,.34);backdrop-filter:blur(5px)}.consent-layer[hidden]{display:none!important}.consent-banner-layer{pointer-events:none;background:transparent;backdrop-filter:none}.consent-banner-layer .consent-panel{pointer-events:auto}.consent-panel{width:min(680px,100%);background:#fff;color:#171714;border:1px solid rgba(23,23,20,.15);border-radius:18px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.2)}.consent-compact-panel{width:min(540px,100%);padding:22px}.consent-kicker{margin:0 0 7px;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.58}.consent-panel h2{margin:0 0 10px;font-size:clamp(1.45rem,3.5vw,1.95rem);line-height:1.12}.consent-panel>p{max-width:62ch}.consent-compact-panel #consent-description{margin:0;font-size:.96rem;line-height:1.55;opacity:.78}.consent-trust{margin:11px 0 0!important;font-size:.8rem;font-weight:700;letter-spacing:.015em;opacity:.58}.consent-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:19px}.consent-primary-actions{display:grid;grid-template-columns:1fr 1fr}.consent-actions>.button{flex:1 1 210px;justify-content:center;min-height:47px}.consent-primary-actions>.button{width:100%;min-width:0}.consent-reject{background:#fff!important;color:#171714!important;border:1px solid #171714!important}.consent-secondary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:10px;font-size:.86rem}.consent-secondary-actions a,.consent-settings-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.consent-settings-link{border:0;background:transparent;cursor:pointer;padding:7px;font:inherit}.consent-settings-panel{width:min(660px,100%)}.consent-option{display:flex;gap:18px;align-items:center;justify-content:space-between;margin:12px 0;border:1px solid rgba(23,23,20,.14);border-radius:12px;padding:14px}.consent-option p{margin:5px 0 0}.consent-option p,.consent-note{font-size:.9rem;line-height:1.5;opacity:.72}.consent-required{font-size:.78rem;font-weight:800;white-space:nowrap}.consent-toggle-row{cursor:pointer}.consent-toggle-row input{width:24px;height:24px;flex:0 0 auto;accent-color:#171714}.footer-privacy-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.footer-privacy-controls button{border:0;background:none;color:inherit;padding:0;text-decoration:underline;cursor:pointer;font:inherit}@media(max-width:620px){.consent-layer{padding:12px}.consent-panel,.consent-compact-panel{width:100%;border-radius:16px;padding:18px}.consent-panel h2{font-size:1.45rem}.consent-primary-actions{grid-template-columns:1fr}.consent-actions>.button{width:100%;min-height:48px}.consent-secondary-actions{margin-top:8px;gap:5px 14px}.consent-option{align-items:flex-start}}


/* Der Einwilligungshinweis lag beim ersten Besuch mittig über dem Hero und
   verdeckte Überschrift und Anfrage-Button. Er sitzt jetzt als Leiste am
   unteren Rand; der Einstellungsdialog bleibt bewusst mittig und modal. */
.consent-banner-layer{place-items:end center;padding:0}
.consent-banner-layer .consent-panel{width:100%;max-width:none;border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:18px 24px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px rgba(0,0,0,.16)}
.consent-banner-layer .consent-panel>*{width:min(100%,1240px);margin-inline:auto}
.consent-banner-layer #consent-title{font-size:1.15rem}
.consent-banner-layer .consent-primary-actions{grid-template-columns:repeat(2,minmax(0,210px));justify-content:start}
.consent-banner-layer .consent-secondary-actions{justify-content:flex-start}
/* Sticky-CTA und Einwilligungsleiste dürfen sich nicht überlagern. */
body:has([data-consent-banner]:not([hidden])) .sticky-cta{transform:translateY(105%)}
@media(min-width:900px){
  .consent-banner-layer .consent-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 40px}
  .consent-banner-layer .consent-panel>*{width:auto;margin-inline:0}
  .consent-banner-layer .consent-kicker,.consent-banner-layer #consent-title,.consent-banner-layer #consent-description,.consent-banner-layer .consent-trust{grid-column:1}
  .consent-banner-layer .consent-primary-actions{grid-column:2;grid-row:1/4;margin-top:0}
  .consent-banner-layer .consent-secondary-actions{grid-column:2;grid-row:4}
}
@media(max-width:620px){
  .consent-banner-layer .consent-panel{padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
  .consent-banner-layer #consent-description{font-size:.9rem}
}
