/* BoemBoost Consent — frontend. Kleuren/maten komen uit CSS-variabelen (#bbc-vars). */
.bbc-root{
  --bbc-z:2147483000;
  font-family:inherit;
  color:var(--bbc-text,#2b2b33);
}
.bbc-root *,.bbc-root *::before,.bbc-root *::after{box-sizing:border-box}
.bbc-root [hidden]{display:none!important}
html.bbc-lock{overflow:hidden}

/* ---------- Overlay ---------- */
.bbc-overlay{
  position:fixed;inset:0;z-index:calc(var(--bbc-z) - 1);
  background:var(--bbc-ov,#0f0f1a);opacity:var(--bbc-ov-op,.45);
}

/* ---------- Paneel (laag 1 + 2) ---------- */
.bbc-banner,.bbc-prefs{
  position:fixed;z-index:var(--bbc-z);
  background:var(--bbc-bg,#fff);
  color:var(--bbc-text,#2b2b33);
  border:var(--bbc-bw,1px) solid var(--bbc-border,#ececf3);
  border-radius:var(--bbc-radius,14px);
  box-shadow:var(--bbc-shadow);
  font-size:var(--bbc-text-size,14px);
  line-height:1.55;
  text-align:left;
  animation:bbc-in .22s ease-out;
}
.bbc-banner{padding:var(--bbc-pad,24px);max-height:calc(100vh - 2 * var(--bbc-offset,24px));overflow:auto}

/* Zwevend blok */
.bbc--box .bbc-banner{
  bottom:var(--bbc-offset,24px);
  width:min(var(--bbc-width,420px), calc(100vw - 2 * var(--bbc-offset,24px)));
}
.bbc--box.bbc--left .bbc-banner{left:var(--bbc-offset,24px)}
.bbc--box.bbc--right .bbc-banner{right:var(--bbc-offset,24px)}

/* Balk onderaan */
.bbc--bar .bbc-banner{
  left:var(--bbc-offset,0);right:var(--bbc-offset,0);bottom:var(--bbc-offset,0);
  border-bottom-left-radius:0;border-bottom-right-radius:0;
  padding-left:max(var(--bbc-pad,24px), calc((100vw - 1200px) / 2));
  padding-right:max(var(--bbc-pad,24px), calc((100vw - 1200px) / 2));
  max-height:85vh;
}

/* Centraal venster */
.bbc--modal .bbc-banner{
  top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(var(--bbc-width,420px), calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  animation-name:bbc-in-center;
}

/* Voorkeuren: altijd gecentreerd; op mobiel als paneel onderin */
.bbc-prefs{
  top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(560px, calc(100vw - 32px));
  max-height:min(85vh, 760px);
  display:flex;flex-direction:column;
  padding:0;
  animation-name:bbc-in-center;
  z-index:calc(var(--bbc-z) + 1);
}
.bbc-prefs[hidden]{display:none!important}
.bbc-dev-mobile .bbc-prefs{
  top:auto;left:0;right:0;bottom:0;transform:none;width:100%;
  max-height:88vh;
  border-bottom-left-radius:0;border-bottom-right-radius:0;
  animation-name:bbc-in;
}
.bbc-prefs-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:var(--bbc-pad,24px) var(--bbc-pad,24px) 8px;
}
.bbc-prefs-head .bbc-title{margin:0}
.bbc-prefs-scroll{overflow:auto;padding:0 var(--bbc-pad,24px);flex:1 1 auto;-webkit-overflow-scrolling:touch}
.bbc-actions--prefs{padding:12px var(--bbc-pad,24px) var(--bbc-pad,24px);margin:0!important;border-top:1px solid var(--bbc-border,#ececf3)}
.bbc-close{
  appearance:none;background:none;border:0;cursor:pointer;
  font-size:26px;line-height:1;padding:4px 6px;color:inherit;opacity:.6;border-radius:6px;
}
.bbc-close:hover{opacity:1}

/* ---------- Tekst ---------- */
.bbc-root .bbc-title{
  margin:0 0 8px;
  font-family:inherit;
  font-size:var(--bbc-title-size,18px);
  font-weight:var(--bbc-title-weight,600);
  line-height:1.3;
  color:var(--bbc-title,#1c1c24);
  letter-spacing:normal;text-transform:none;
}
.bbc-root .bbc-body{margin:0 0 8px;font-size:inherit;color:inherit}
.bbc-root .bbc-links{margin:0;font-size:.92em}
.bbc-root .bbc-links a{color:var(--bbc-link,#6C5CE7);text-decoration:underline;text-underline-offset:2px}

/* ---------- Knoppen ---------- */
.bbc-actions{
  display:flex;flex-direction:var(--bbc-btn-dir,row);flex-wrap:wrap;gap:8px;margin-top:16px;
}
.bbc-root .bbc-btn{
  flex:1 1 auto;
  appearance:none;cursor:pointer;
  font-family:inherit;font-size:var(--bbc-btn-size,14px);font-weight:600;line-height:1.2;
  padding:.75em 1.1em;min-height:44px;
  border-radius:var(--bbc-btn-radius,8px);
  border:1px solid transparent;
  text-align:center;white-space:nowrap;
  transition:background-color .15s,color .15s,border-color .15s;
  box-shadow:none;text-transform:none;letter-spacing:normal;
}
.bbc-root .bbc-btn:focus-visible,.bbc-root .bbc-close:focus-visible,.bbc-root .bbc-links a:focus-visible{outline:2px solid var(--bbc-link,#6C5CE7);outline-offset:2px}
.bbc-root .bbc-btn--accept{background:var(--bbc-accept-bg);color:var(--bbc-accept-text);border-color:var(--bbc-accept-border)}
.bbc-root .bbc-btn--accept:hover{background:var(--bbc-accept-hbg);color:var(--bbc-accept-htext)}
.bbc-root .bbc-btn--reject{background:var(--bbc-reject-bg);color:var(--bbc-reject-text);border-color:var(--bbc-reject-border)}
.bbc-root .bbc-btn--reject:hover{background:var(--bbc-reject-hbg);color:var(--bbc-reject-htext)}
.bbc-root .bbc-btn--prefs{background:var(--bbc-prefs-bg);color:var(--bbc-prefs-text);border-color:var(--bbc-prefs-border)}
.bbc-root .bbc-btn--prefs:hover{background:var(--bbc-prefs-hbg);color:var(--bbc-prefs-htext)}

/* ---------- Categorieën + schakelaars ---------- */
.bbc-cats{list-style:none;margin:8px 0 12px;padding:0}
.bbc-cat{padding:12px 0;border-top:1px solid var(--bbc-border,#ececf3);margin:0}
.bbc-cat-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.bbc-cat-name{font-weight:600;cursor:pointer}
.bbc-cat-desc{margin:4px 0 0;font-size:.92em;opacity:.8}
.bbc-always{font-size:.85em;font-weight:600;color:var(--bbc-toggle-on,#6C5CE7);white-space:nowrap}

.bbc-switch{position:relative;display:inline-block;width:42px;height:24px;flex:none}
.bbc-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.bbc-slider{position:absolute;inset:0;border-radius:999px;background:var(--bbc-toggle-off,#cfcfda);transition:background-color .18s}
.bbc-slider::after{
  content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:var(--bbc-toggle-knob,#fff);box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .18s;
}
.bbc-switch input:checked + .bbc-slider{background:var(--bbc-toggle-on,#6C5CE7)}
.bbc-switch input:checked + .bbc-slider::after{transform:translateX(18px)}
.bbc-switch input:focus-visible + .bbc-slider{outline:2px solid var(--bbc-toggle-on,#6C5CE7);outline-offset:2px}

/* ---------- Footer-link / shortcode-link ---------- */
.bbc-open-link{display:inline-flex;align-items:center;gap:.4em;cursor:pointer}
.bbc-ficon{display:inline-flex;flex:none;line-height:0}
.bbc-ficon svg{width:100%;height:100%;display:block}

/* ---------- Cookietabel ---------- */
.bbc-table-title{margin:1.6em 0 .3em}
.bbc-table-desc{margin:0 0 .8em}
.bbc-table-scroll{overflow-x:auto;margin-bottom:1em}
.bbc-table{width:100%;border-collapse:collapse;font-size:.95em}
.bbc-table th,.bbc-table td{padding:.6em .8em;border-bottom:1px solid rgba(0,0,0,.08);text-align:left;vertical-align:top}
.bbc-table th{font-weight:600;white-space:nowrap}
.bbc-table code{font-size:.92em;white-space:nowrap}

/* ---------- Animatie ---------- */
@keyframes bbc-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes bbc-in-center{from{opacity:0;transform:translate(-50%,calc(-50% + 12px))}to{opacity:1;transform:translate(-50%,-50%)}}
@media (prefers-reduced-motion:reduce){.bbc-banner,.bbc-prefs{animation:none}}
@media print{.bbc-root{display:none!important}}
