/* Complianz banner — 2.7.2: sofort sichtbar, klickbar, hoher Kontrast, kompakt */

/* Stacking + click targets (Complianz sets pointer-events:none on the page) */
#cmplz-cookiebanner-container{
  z-index:2147483000;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner,
#cmplz-cookiebanner-container .cmplz-cookiebanner *{
  pointer-events:auto!important;
  user-select:auto!important;
}
#cmplz-manage-consent,
#cmplz-manage-consent .cmplz-manage-consent{
  z-index:2147482990!important;
  pointer-events:auto!important;
}

/* Kill slide-in (bottom:-50vh → 0, 1s delay) — banner interactive immediately */
#cmplz-cookiebanner-container .cmplz-cookiebanner{
  animation:none!important;
  -webkit-animation:none!important;
  bottom:16px!important;
  top:auto!important;
}

/* Compact centered card — overrides Complianz ≥1024 full-width 2-col grid */
#cmplz-cookiebanner-container .cmplz-cookiebanner{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  width:min(460px, calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
  left:50%!important;
  right:auto!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  padding:14px 16px!important;
  box-sizing:border-box!important;
  max-height:min(48vh, 380px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  z-index:2147483001!important;
  position:fixed!important;
  /* Deny button CSS vars — white on navy, not navy-on-navy */
  --cmplz_button_deny_background_color:#FFFFFF;
  --cmplz_button_deny_border_color:#FFFFFF;
  --cmplz_button_deny_text_color:#0B1F3A;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner > *{
  grid-column:auto!important;
  grid-row:auto!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header{
  margin:0!important;
  min-height:0!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  white-space:normal;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message{
  margin:0 0 4px!important;
  font-size:14px!important;
  line-height:1.4!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body{
  display:block!important;
  max-height:none!important;
  overflow:visible!important;
  width:100%!important;
  min-width:0!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body > div{width:100%!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner.optin .cmplz-categories{width:100%!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider{margin:0!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links{flex-wrap:wrap!important;margin:0!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents{margin:0!important;}

/* Buttons: generous hit areas */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  width:100%!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{
  flex:1 1 130px!important;
  width:auto!important;
  margin:0!important;
  white-space:normal!important;
  height:auto!important;
  min-height:48px!important;
  line-height:1.25!important;
  padding:12px 14px!important;
  hyphens:none!important;
  cursor:pointer!important;
  zoom:1!important;
  box-sizing:border-box!important;
}

/* Deny = high-contrast outline (was navy-on-navy) */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-deny{
  background:#FFFFFF!important;
  color:#0B1F3A!important;
  border:2px solid #FFFFFF!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-deny:focus{
  background:transparent!important;
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
}

/* Einstellungen / categories — keep cream readability */
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible{
  max-height:min(78vh, 560px)!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-categories{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category{
  background:#FFF8E7!important;
  color:#0B1F3A!important;
  border-radius:6px!important;
  margin:0 0 8px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category summary,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-category-header{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
  min-height:44px!important;
  height:auto!important;
  color:#0B1F3A!important;
  background:transparent!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-category-title{
  color:#0B1F3A!important;
  font-weight:700!important;
  flex:1 1 auto!important;
  display:block!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-always-active{
  color:#0B1F3A!important;
  font-weight:600!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-description,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-description *{
  color:#24364F!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-description{
  padding:0 12px 12px!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-icon svg,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-icon path{
  fill:#0B1F3A!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-banner-checkbox{
  display:flex!important;
  align-items:center!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner{
  --cmplz_slider_active_color:#0B1F3A;
  --cmplz_slider_inactive_color:#8A94A6;
  --cmplz_slider_bullet_color:#FFFFFF;
}

/* Kill Complianz short-viewport zoom (shrinks hit targets) */
@media (max-height:400px){
  #cmplz-cookiebanner-container .cmplz-cookiebanner,
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn,
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents,
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-information{
    zoom:1!important;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{
    min-height:44px!important;
    height:auto!important;
    font-size:14px!important;
    line-height:1.25!important;
    padding:10px 12px!important;
  }
}

/* 2.7.4: display:flex!important above overrode Complianz .cmplz-dismissed{display:none}
   → banner stayed visible after "Allen zustimmen". Restore hide states. */
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-dismissed,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-hidden{
  display:none!important;
  pointer-events:none!important;
}
