/* Shared, deliberately unobtrusive and responsive cookie consent styles. */
.bille-consent-bar, .bille-consent-preferences, .bille-consent-shade,
.bille-consent-bar *, .bille-consent-preferences * { box-sizing: border-box; }
.bille-consent-bar {
  position: fixed !important; bottom: 12px; left: 12px; right: 12px;
  z-index: 2147483640; display:flex; align-items:center; justify-content:space-between;
  gap: 20px; max-width: 1150px; margin: 0 auto; padding: 16px 20px;
  color:#1b2941; background: #fff; border: 1px solid #cad3df;
  box-shadow: 0 8px 35px rgba(14,29,54,.19); border-radius: 12px;
  font: 14px/1.5 system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.bille-consent-heading { display:block;font-weight:750;margin-bottom:3px;font-size:15px; }
.bille-consent-copy { flex: 1 1 500px; min-width:200px; }
.bille-consent-text { margin:0; font: inherit; color: #34445b; }
.bille-consent-bar a, .bille-consent-preferences a { color:#194c86;text-decoration:underline; }
.bille-consent-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; flex:0 0 auto; }
.bille-consent-btn { min-height:40px; border:1px solid #53677f; border-radius:6px;
  padding:9px 14px; font:650 13px/1.3 system-ui,-apple-system, BlinkMacSystemFont,'Segoe UI',sans-serif;
  cursor:pointer; text-align:center; white-space:normal; text-transform:none; letter-spacing:normal;
}
.bille-consent-btn.bille-consent-neutral {color:#19283e;background:#fff;border-color:#526780;}
.bille-consent-btn.bille-consent-primary {color:#fff;background:#244b75;border-color:#244b75;}
.bille-consent-btn.bille-consent-plain {border-color:transparent;background:transparent;color:#194c86;text-decoration:underline;}
.bille-consent-btn:focus-visible, [data-bille-cookie-settings]:focus-visible {outline:3px solid #619de5;outline-offset:3px;}
.bille-consent-btn:hover {filter:brightness(.95);}
.bille-consent-shade {position:fixed !important;inset:0;background:rgba(8,21,39,.45);
  z-index:2147483641;display:flex;align-items:center;justify-content:center;padding:18px;}
.bille-consent-preferences {background:#fff;color:#1b2941;width:min(540px,100%);max-height:92vh;
  overflow-y:auto;border-radius:12px;padding:22px;box-shadow:0 12px 55px rgba(0,0,0,.3);
  font:14px/1.55 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
.bille-consent-preferences h2 {margin:0 0 12px;font-size:21px;line-height:1.2;color:#1b2941;}
.bille-consent-detail {padding:10px;border:1px solid #d3dce7;border-radius:7px;background:#f3f6fa;}
.bille-consent-check {display:flex;align-items:flex-start;gap:12px;margin:12px 0 18px;cursor:pointer;}
.bille-consent-check input {margin-top:4px;min-width:18px;min-height:18px;accent-color:#244b75;}
.bille-consent-footer-link {color:inherit !important;font:inherit !important;text-decoration:underline !important;
  border:0 !important;background:none !important;box-shadow:none !important;padding:0 !important;
  margin:0 !important;cursor:pointer;display:inline !important;min-height:0 !important;}
.bille-privacy-note {margin:24px auto;padding:14px 18px;border-left:3px solid #48678a;background:rgba(111,136,166,.09);max-width:950px;line-height:1.6;}
@media(max-width:790px){
 .bille-consent-bar {left:8px;right:8px;bottom:8px;display:block;padding:14px 15px;}
 .bille-consent-actions {margin-top:12px;display:grid;grid-template-columns:1fr 1fr;}
 .bille-consent-btn.bille-consent-plain {grid-column:1/-1;min-height:31px;}
 .bille-consent-preferences .bille-consent-actions {display:flex;}
}
@media(prefers-reduced-motion:reduce){.bille-consent-bar *{transition:none!important;}}
/* 2026-11-02 | Kompakte Einwilligungsbox rechts unten – desktop / mobil.
   Ausschliesslich Darstellung: Consent Mode v2 und Trackingfreigaben bleiben unveraendert. */
.bille-consent-bar {
  left: auto !important;
  right: 14px !important;
  bottom: 14px !important;
  width: min(410px, calc(100vw - 28px)) !important;
  max-width: 410px !important;
  margin: 0 !important;
  padding: 15px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 11px !important;
  max-height: min(80vh, 680px);
  max-height: min(80dvh, 680px);
  overflow-y: auto;
  border-radius: 13px;
  box-shadow: 0 10px 30px rgba(14, 29, 54, .17);
}
.bille-consent-bar .bille-consent-heading {
  margin: 0 0 4px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}
.bille-consent-bar .bille-consent-copy {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.bille-consent-bar .bille-consent-text {
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.bille-consent-bar .bille-consent-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  flex: none !important;
  width: 100% !important;
  gap: 8px !important;
  margin: 0 !important;
}
.bille-consent-bar .bille-consent-btn {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 9px 7px !important;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
}
/* Zustimmen und Ablehnen optisch gleichwertig; keine versteckte Ablehnoption. */
.bille-consent-bar .bille-consent-neutral,
.bille-consent-bar .bille-consent-primary {
  color: #fff !important;
  background: #244b75 !important;
  border: 1px solid #244b75 !important;
  font-weight: 650 !important;
}
.bille-consent-bar .bille-consent-plain {
  grid-column: 1 / -1 !important;
  min-height: 30px !important;
  padding: 4px !important;
  color: #194c86 !important;
  background: transparent !important;
  border-color: transparent !important;
  text-decoration: underline !important;
}
@media (max-width: 480px) {
  .bille-consent-bar {
    right: 8px !important;
    bottom: 8px !important;
    width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 16px);
    max-height: calc(100dvh - 16px);
    padding: 13px 13px !important;
    gap: 9px !important;
  }
  .bille-consent-bar .bille-consent-text { font-size: 12.7px !important; }
}
