.wpc-hidden{display:none!important}#wpc-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.42);display:flex;align-items:flex-end;justify-content:center;padding:16px;font-family:inherit}.wpc-card{width:min(700px,100%);background:#fff;color:#171717;border-radius:18px;padding:24px;box-shadow:0 18px 55px rgba(0,0,0,.28)}.wpc-card h2{margin:0 0 12px;font-size:23px;line-height:1.2}.wpc-copy{font-size:16px;line-height:1.55;margin:0 0 12px}.wpc-inline-details{border:0;background:transparent;padding:0;margin:0 0 0 .22em;color:#666666;font:inherit;line-height:inherit;text-decoration:none;cursor:pointer;vertical-align:baseline}.wpc-inline-details:hover{color:#555555}.wpc-inline-details:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:2px}.wpc-settings-link{border:0;background:transparent;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:inherit;font:inherit}.wpc-more{margin-top:12px;padding:14px 16px;background:#f6f6f6;border-radius:12px;font-size:14px;line-height:1.5}.wpc-cookie-facts{margin:8px 0 14px}.wpc-cookie-facts>div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:5px 0;border-bottom:1px solid #e8e8e8}.wpc-cookie-facts dt{font-weight:600;color:#444}.wpc-cookie-facts dd{margin:0;color:#555}.wpc-more p{margin:0 0 10px}.wpc-more p:last-child{margin-bottom:0}.wpc-more ul{margin:6px 0 12px;padding-left:20px}.wpc-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.wpc-btn{border:0;border-radius:12px;padding:14px 16px;font-size:15px;font-weight:700;cursor:pointer}.wpc-btn-primary{background:#111;color:#fff}.wpc-btn-necessary{background:#f7f7f7;color:#999;border:1px solid #f0f0f0;font-weight:600}.wpc-settings-link{display:block;margin:13px auto 0;font-size:14px}.wpc-settings{border-top:1px solid #e5e5e5;margin-top:16px;padding-top:6px}.wpc-setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #eee}.wpc-setting-row>div{display:flex;flex-direction:column;gap:3px}.wpc-setting-row small{opacity:.72;line-height:1.35}.wpc-setting-row input{width:22px;height:22px}.wpc-full{width:100%;margin-top:14px}.wpc-reopen{position:fixed;z-index:2147482000;left:12px;bottom:12px;border:1px solid #d2d2d2;border-radius:999px;background:#fff;color:#555;padding:7px 11px;font-size:12px;box-shadow:0 3px 15px rgba(0,0,0,.12);cursor:pointer}@media(max-width:600px){#wpc-overlay{padding:8px}.wpc-card{padding:18px;border-radius:16px}.wpc-actions{grid-template-columns:1fr}.wpc-copy{font-size:15px}}


/* v4.1.4: Mobile Detail-Scroll + dauerhaft sichtbare Aktionsbuttons */
@media (max-width:600px){
  #wpc-overlay{
    padding:8px;
    align-items:flex-end;
  }

  .wpc-card{
    display:flex;
    flex-direction:column;
    width:100%;
    max-height:calc(100vh - 16px);
    max-height:calc(100dvh - 16px);
    overflow:hidden;
    padding:18px;
    border-radius:16px;
  }

  .wpc-card h2{
    flex:0 0 auto;
    margin-bottom:10px;
  }

  .wpc-copy{
    flex:0 0 auto;
    font-size:15px;
    margin-bottom:8px;
  }

  /* Nur der aufgeklappte Detailbereich scrollt. */
  .wpc-more{
    flex:0 1 auto;
    max-height:34vh;
    max-height:34dvh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding-right:14px;
    margin-bottom:4px;
  }

  /* Die beiden Hauptentscheidungen bleiben immer nebeneinander sichtbar. */
  .wpc-actions{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
    margin-top:12px;
  }

  .wpc-btn{
    min-width:0;
    padding:12px 8px;
    font-size:13px;
    line-height:1.2;
  }

  .wpc-settings-link{
    flex:0 0 auto;
    margin-top:10px;
  }

  /* Auch individuelle Einstellungen dürfen auf kleinen Displays nicht
     den kompletten Dialog aus dem Viewport drücken. */
  .wpc-settings{
    max-height:36vh;
    max-height:36dvh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
}

@media (max-width:360px){
  .wpc-card{padding:14px}
  .wpc-card h2{font-size:20px}
  .wpc-copy{font-size:14px}
  .wpc-btn{font-size:12px;padding:11px 6px}
  .wpc-more{max-height:30vh;max-height:30dvh}
}


/* v4.1.5: zentrierter Consent-Dialog + kompakte Tablet-/Querformat-Darstellung */
#wpc-overlay{
  align-items:center !important;
  justify-content:center !important;
  padding:16px !important;
  overflow:hidden;
}

.wpc-card{
  width:min(700px, calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  max-height:calc(100dvh - 32px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

/* Details und Einstellungen scrollen intern, der Dialog selbst bleibt stehen. */
.wpc-more,
.wpc-settings{
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

/* Tablet Hochformat */
@media (min-width:601px) and (max-width:1024px){
  #wpc-overlay{
    padding:18px !important;
  }

  .wpc-card{
    width:min(620px, calc(100vw - 36px));
    max-height:82vh;
    max-height:82dvh;
    padding:20px;
    border-radius:16px;
  }

  .wpc-card h2{
    font-size:21px;
    margin-bottom:8px;
  }

  .wpc-copy{
    font-size:15px;
    line-height:1.45;
    margin-bottom:8px;
  }

  .wpc-more{
    max-height:26vh;
    max-height:26dvh;
    padding:12px 14px;
    margin-top:8px;
    font-size:13px;
    line-height:1.4;
  }

  .wpc-settings{
    max-height:30vh;
    max-height:30dvh;
  }

  .wpc-actions{
    grid-template-columns:1fr 1fr !important;
    gap:10px;
    margin-top:12px;
  }

  .wpc-btn{
    padding:12px 10px;
    font-size:14px;
  }

  .wpc-settings-link{
    margin-top:9px;
    font-size:13px;
  }
}

/* Tablet und Smartphone im Querformat:
   Höhe ist knapp, daher kompakter Dialog und kleiner interner Scrollbereich. */
@media (orientation:landscape) and (max-height:700px){
  #wpc-overlay{
    padding:10px !important;
  }

  .wpc-card{
    width:min(680px, calc(100vw - 20px));
    max-height:calc(100dvh - 20px);
    padding:14px 16px;
    border-radius:14px;
  }

  .wpc-card h2{
    font-size:19px;
    line-height:1.15;
    margin-bottom:6px;
  }

  .wpc-copy{
    font-size:13.5px;
    line-height:1.35;
    margin-bottom:6px;
  }

  .wpc-more{
    max-height:24vh;
    max-height:24dvh;
    margin-top:6px;
    padding:9px 11px;
    font-size:12px;
    line-height:1.3;
  }

  .wpc-settings{
    max-height:28vh;
    max-height:28dvh;
  }

  .wpc-setting-row{
    padding:8px 0;
  }

  .wpc-actions{
    grid-template-columns:1fr 1fr !important;
    gap:8px;
    margin-top:8px;
  }

  .wpc-btn{
    padding:10px 8px;
    font-size:12.5px;
  }

  .wpc-settings-link{
    margin-top:7px;
    font-size:12px;
  }

  .wpc-reopen{
    bottom:6px;
    left:6px;
  }
}

/* Smartphone Hochformat */
@media (max-width:600px) and (orientation:portrait){
  #wpc-overlay{
    padding:10px !important;
  }

  .wpc-card{
    width:calc(100vw - 20px);
    max-height:calc(100dvh - 20px);
    padding:16px;
  }

  .wpc-more{
    max-height:30vh;
    max-height:30dvh;
  }

  .wpc-settings{
    max-height:34vh;
    max-height:34dvh;
  }

  .wpc-actions{
    grid-template-columns:1fr 1fr !important;
  }
}


/* v4.2.0: Seite hinter dem Consent-Dialog vollständig sperren */
html.wpc-consent-open,
body.wpc-consent-open{
  overflow:hidden !important;
  overscroll-behavior:none;
}

/* Details-Link: bewusst dezent und inline */
.wpc-details-inline{
  display:inline;
  border:0;
  background:transparent;
  color:#666666;
  font:inherit;
  font-size:inherit;
  line-height:inherit;
  padding:0;
  margin:0 0 0 .25em;
  text-decoration:none;
  cursor:pointer;
}

.wpc-details-inline:hover,
.wpc-details-inline:focus-visible{
  color:#444444;
  text-decoration:underline;
  text-underline-offset:2px;
}

.wpc-cookie-details{
  display:grid;
  grid-template-columns:minmax(90px,auto) 1fr;
  gap:5px 12px;
  margin:8px 0 14px;
}

.wpc-cookie-details dt{
  font-weight:700;
}

.wpc-cookie-details dd{
  margin:0;
  overflow-wrap:anywhere;
}

@media(max-width:600px){
  .wpc-cookie-details{
    grid-template-columns:1fr;
    gap:2px;
  }
  .wpc-cookie-details dd{
    margin:0 0 6px;
  }
}


/* v4.2.2: Backend-wählbare Banner-Größe */
.wpc-card.wpc-size-compact{
  width:min(580px, calc(100vw - 32px));
  padding:18px 20px;
}

.wpc-card.wpc-size-compact h2{
  font-size:20px;
  margin-bottom:8px;
}

.wpc-card.wpc-size-compact .wpc-copy{
  font-size:14.5px;
  line-height:1.45;
}

.wpc-card.wpc-size-compact .wpc-more{
  margin-top:8px;
  padding:11px 13px;
  font-size:13px;
  line-height:1.4;
  max-height:26vh;
  max-height:26dvh;
}

.wpc-card.wpc-size-compact .wpc-actions{
  margin-top:12px;
  gap:8px;
}

.wpc-card.wpc-size-compact .wpc-btn{
  padding:11px 10px;
  font-size:13.5px;
}

.wpc-card.wpc-size-compact .wpc-settings-link{
  margin-top:9px;
  font-size:13px;
}

@media (min-width:601px) and (max-width:1024px){
  .wpc-card.wpc-size-compact{
    width:min(540px, calc(100vw - 36px));
    padding:16px 18px;
  }

  .wpc-card.wpc-size-compact h2{
    font-size:19px;
  }

  .wpc-card.wpc-size-compact .wpc-copy{
    font-size:14px;
  }

  .wpc-card.wpc-size-compact .wpc-more{
    max-height:23vh;
    max-height:23dvh;
  }
}

@media (orientation:landscape) and (max-height:700px){
  .wpc-card.wpc-size-compact{
    width:min(620px, calc(100vw - 20px));
    padding:12px 14px;
  }

  .wpc-card.wpc-size-compact h2{
    font-size:17px;
    margin-bottom:5px;
  }

  .wpc-card.wpc-size-compact .wpc-copy{
    font-size:12.5px;
    line-height:1.3;
  }

  .wpc-card.wpc-size-compact .wpc-more{
    max-height:21dvh;
    padding:8px 10px;
    font-size:11.5px;
  }

  .wpc-card.wpc-size-compact .wpc-btn{
    padding:9px 7px;
    font-size:12px;
  }
}

@media (max-width:600px){
  .wpc-card.wpc-size-compact{
    width:calc(100vw - 20px);
    padding:14px;
  }

  .wpc-card.wpc-size-compact h2{
    font-size:19px;
  }

  .wpc-card.wpc-size-compact .wpc-copy{
    font-size:14px;
  }
}


/* v4.2.3: Speichern bewusst weniger präsent als „Allen zustimmen“ */
.wpc-btn-save{
  background:#f1f1f1;
  color:#666;
  border:1px solid #e3e3e3;
  font-weight:600;
}

.wpc-btn-save:hover,
.wpc-btn-save:focus-visible{
  background:#e9e9e9;
  color:#444;
}

/* Haupt-Zustimmung bleibt klar dominant */
#wpc-accept.wpc-btn-primary{
  background:#111;
  color:#fff;
  border:1px solid #111;
}

.wpc-btn:disabled{
  opacity:.55;
  cursor:wait;
}

.wpc-status-message{
  flex:0 0 auto;
  margin-top:10px;
  padding:8px 10px;
  border-radius:8px;
  background:#f4f4f4;
  color:#555;
  font-size:12.5px;
  line-height:1.35;
}

.wpc-status-message.wpc-status-error{
  background:#fff1f1;
  color:#8a2424;
}
