/* bituser-consent.css — the consent manager's only stylesheet (W10).
   Self-contained: its own tokens, no dependency on bituser-theme.css, so
   the module can run on any site. Warm, editorial, quiet. Contrast is AA
   or better for every text/background pair below.

   Type scale (R1): body at the site's small text size; category
   descriptions and vendor lists one step smaller; buttons at body size with
   compact padding; the heading one modest step above body. Phones step down
   half a pixel and keep 44px tap targets. */
.bc-banner,.bc-panel,.bc-hold{
  --bc-ink:#1B1B17; --bc-soft:#3F3E37; --bc-line:rgba(27,27,23,.16);
  --bc-paper:#FFFFFF; --bc-warm:#FAF9F4; --bc-brand:#2F74D0; --bc-brand-ink:#1D4F96;
  --bc-fs:14px; --bc-fs-sm:13px; --bc-fs-h:15.5px; --bc-tap:38px;
  font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:var(--bc-fs); line-height:1.5; font-weight:400; letter-spacing:0;
  color:var(--bc-ink); box-sizing:border-box;
}
@media(max-width:480px){.bc-banner,.bc-panel,.bc-hold{--bc-fs:13.5px;--bc-fs-sm:12.5px;--bc-fs-h:15px;--bc-tap:44px;}}
.bc-banner *,.bc-panel *,.bc-hold *{box-sizing:border-box;}
.bc-h{font-family:inherit;font-size:var(--bc-fs-h);font-weight:700;letter-spacing:-.005em;line-height:1.3;margin:0;}
.bc-p{font-size:var(--bc-fs);line-height:1.5;color:var(--bc-soft);margin:6px 0 0;}
.bc-btn{font-family:inherit;font-size:var(--bc-fs);font-weight:600;line-height:1.2;color:var(--bc-ink);background:var(--bc-paper);
  border:1.5px solid var(--bc-ink);border-radius:8px;padding:7px 10px;cursor:pointer;min-height:var(--bc-tap);white-space:nowrap;}
.bc-btn:hover{background:var(--bc-warm);}
.bc-btn:focus-visible,.bc-toggle:focus-visible,.bc-policy:focus-visible,.bc-link:focus-visible{outline:2px solid var(--bc-brand);outline-offset:2px;}
.bc-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;}
.bc-row-2{grid-template-columns:repeat(2,minmax(0,1fr));}

/* banner: a compact bottom card, not a wall. Three equal buttons. */
.bc-banner{position:fixed;right:16px;bottom:16px;z-index:2147483000;width:min(420px,calc(100vw - 32px));
  background:var(--bc-warm);border:1px solid var(--bc-line);border-radius:14px;padding:16px 18px;
  box-shadow:0 18px 50px -20px rgba(15,34,65,.45);}
@media(max-width:480px){.bc-banner{left:8px;right:8px;bottom:8px;width:auto;padding:14px;}
  .bc-row{grid-template-columns:1fr;}}

/* preferences panel */
.bc-scrim{position:fixed;inset:0;z-index:2147483001;background:rgba(20,24,31,.45);display:flex;align-items:center;justify-content:center;padding:16px;}
.bc-panel{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--bc-paper);
  border-radius:14px;padding:22px 22px 20px;box-shadow:0 30px 80px -30px rgba(15,34,65,.6);}
.bc-x{position:absolute;top:8px;right:8px;min-height:0;width:36px;height:36px;padding:0;border:0;font-size:20px;line-height:1;background:none;}
@media(max-width:480px){.bc-x{width:44px;height:44px;top:4px;right:4px;}}
.bc-gpc{margin:12px 0 0;font-size:var(--bc-fs-sm);font-weight:600;color:#1f6b41;background:rgba(46,139,87,.10);border-radius:8px;padding:7px 10px;}
.bc-cat{border-top:1px solid var(--bc-line);margin-top:14px;padding-top:12px;}
.bc-cat-h{display:flex;align-items:center;gap:10px;min-height:var(--bc-tap);}
.bc-cat-n{font-size:var(--bc-fs);font-weight:700;flex:1;cursor:pointer;}
.bc-always{font-size:var(--bc-fs-sm);font-weight:600;color:var(--bc-soft);}
.bc-cat-d{font-size:var(--bc-fs-sm);line-height:1.5;color:var(--bc-soft);margin:4px 0 0;}
.bc-vendors{list-style:none;margin:6px 0 0;padding:0;font-size:var(--bc-fs-sm);line-height:1.5;color:var(--bc-soft);}
.bc-vendors li{padding:2px 0;}
.bc-vendors b{color:var(--bc-ink);font-weight:600;}
/* toggle: a real checkbox with role=switch */
.bc-toggle{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:40px;height:24px;margin:0;border-radius:12px;
  background:#8A8A80;cursor:pointer;transition:background .15s;}
.bc-toggle::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;}
.bc-toggle:checked{background:var(--bc-brand);}
.bc-toggle:checked::after{transform:translateX(16px);}
.bc-toggle:disabled{cursor:not-allowed;opacity:.6;}
.bc-policy{display:inline-block;margin-top:14px;font-size:var(--bc-fs-sm);font-weight:600;color:var(--bc-brand-ink);}

/* the footer link: exactly the footer's own link type */
.bc-link{font:inherit;color:inherit;}

/* a held embed's placeholder */
.bc-hold{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--bc-warm);border:1px dashed var(--bc-line);
  border-radius:12px;padding:20px;min-height:130px;justify-content:center;}
.bc-hold-t{margin:0;font-size:var(--bc-fs);color:var(--bc-soft);}
/* the one-line variant (a vendor's named placeholder with style "line"):
   no box, a dash, a text button; it takes the colors of where it sits */
.bc-hold.bc-hold-line{flex-direction:row;align-items:center;gap:6px;min-height:0;padding:0;background:none;border:0;border-radius:0;color:inherit;}
.bc-hold-line::before{content:"\2014";}
.bc-hold-line .bc-hold-b{color:inherit;background:none;border:0;border-radius:4px;padding:0 2px;text-decoration:underline;text-underline-offset:3px;}
.bc-hold-line .bc-hold-b:hover{background:none;text-decoration-thickness:2px;}
