/* Base 74 / build565 — definitive binary privacy surface.
   Public choice remains Accept all / Reject only. The visual treatment now
   follows the verified-page floating-card geometry on mobile and honors the
   site's explicit light/dark theme without changing consent semantics. */

:root{
  --bd-privacy-bg:#ffffff;
  --bd-privacy-fg:#111827;
  --bd-privacy-muted:#667085;
  --bd-privacy-line:rgba(15,23,42,.12);
  --bd-privacy-secondary-bg:#ffffff;
  --bd-privacy-secondary-fg:#111827;
  --bd-privacy-secondary-line:#d7dce5;
  --bd-privacy-primary-bg:#111827;
  --bd-privacy-primary-fg:#ffffff;
  --bd-privacy-primary-line:#111827;
  --bd-privacy-shadow:0 12px 34px rgba(15,23,42,.15);
}

.bd-privacy-banner,.bd-privacy-modal{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--bd-privacy-fg);
}
.bd-privacy-banner[hidden],.bd-privacy-modal[hidden]{display:none!important}

.bd-privacy-banner{
  box-sizing:border-box;
  position:fixed;
  z-index:2147483000;
  right:max(10px,env(safe-area-inset-right));
  bottom:max(10px,env(safe-area-inset-bottom));
  width:min(560px,calc(100vw - 20px));
  margin:0;
  overflow:hidden;
  border:1px solid var(--bd-privacy-line);
  border-radius:16px;
  background:var(--bd-privacy-bg);
  color:var(--bd-privacy-fg);
  box-shadow:var(--bd-privacy-shadow);
}
.bd-privacy-banner__inner{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:50px;
  padding:7px 8px 7px 13px;
}
.bd-privacy-banner__copy{
  display:flex;
  align-items:baseline;
  gap:7px;
  min-width:0;
  flex:1 1 auto;
  white-space:nowrap;
  overflow:hidden;
}
.bd-privacy-banner__copy strong{
  flex:0 0 auto;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.01em;
}
.bd-privacy-banner__copy span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--bd-privacy-muted);
  font-size:10.5px;
  line-height:1.2;
}
.bd-privacy-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin:0}
.bd-privacy-button{
  min-height:34px;
  border-radius:10px;
  border:1px solid var(--bd-privacy-secondary-line);
  background:var(--bd-privacy-secondary-bg);
  color:var(--bd-privacy-secondary-fg);
  font:700 10.5px/1 Inter,system-ui,sans-serif;
  padding:0 11px;
  cursor:pointer;
  white-space:nowrap;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.bd-privacy-button:hover{transform:translateY(-1px)}
.bd-privacy-button:active{transform:translateY(0)}
.bd-privacy-button--primary{
  background:var(--bd-privacy-primary-bg);
  color:var(--bd-privacy-primary-fg);
  border-color:var(--bd-privacy-primary-line);
}
.bd-privacy-button:focus-visible,.bd-privacy-link:focus-visible,.bd-privacy-close:focus-visible{outline:3px solid rgba(9,123,253,.32);outline-offset:2px}

.bd-privacy-modal{
  position:fixed;
  z-index:2147483100;
  inset:0;
  background:rgba(15,23,42,.34);
  display:grid;
  place-items:center;
  padding:16px;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.bd-privacy-dialog{
  width:min(440px,100%);
  background:var(--bd-privacy-bg);
  color:var(--bd-privacy-fg);
  border:1px solid var(--bd-privacy-line);
  border-radius:20px;
  box-shadow:0 24px 80px rgba(15,23,42,.25);
  padding:20px;
}
.bd-privacy-dialog__head{display:flex;gap:18px;justify-content:space-between;align-items:flex-start}
.bd-privacy-dialog h2{font-size:20px;margin:0 0 5px}
.bd-privacy-dialog p{color:var(--bd-privacy-muted);font-size:12.5px;line-height:1.5;margin:0}
.bd-privacy-close{width:36px;height:36px;border:1px solid var(--bd-privacy-line);border-radius:50%;background:var(--bd-privacy-secondary-bg);color:var(--bd-privacy-secondary-fg);font-size:19px;cursor:pointer;flex:0 0 auto}
.bd-privacy-dialog__footer{display:flex;gap:7px;justify-content:flex-end;margin-top:18px}
.bd-privacy-dialog__footer .bd-privacy-button{min-height:40px;font-size:11.5px;padding-inline:14px}
.bd-privacy-link{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:2px}
.bd-privacy-footer-link{margin-left:8px}
.bd-privacy-toast{position:fixed;z-index:2147483200;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);background:#111827;color:#fff;border-radius:999px;padding:9px 13px;font:600 12px/1.3 Inter,system-ui,sans-serif;box-shadow:0 10px 30px rgba(15,23,42,.22)}

/* Explicit site dark mode is authoritative. */
html.dark,
html.theme-dark,
html[data-theme="dark"],
:root[data-theme="dark"]{
  --bd-privacy-bg:#000000;
  --bd-privacy-fg:#f7f7f8;
  --bd-privacy-muted:#9b9ba3;
  --bd-privacy-line:rgba(255,255,255,.16);
  --bd-privacy-secondary-bg:#000000;
  --bd-privacy-secondary-fg:#f7f7f8;
  --bd-privacy-secondary-line:rgba(255,255,255,.24);
  --bd-privacy-primary-bg:#ffffff;
  --bd-privacy-primary-fg:#050505;
  --bd-privacy-primary-line:#ffffff;
  --bd-privacy-shadow:0 16px 40px rgba(0,0,0,.48);
}
html.dark .bd-privacy-banner,
html.theme-dark .bd-privacy-banner,
html[data-theme="dark"] .bd-privacy-banner,
:root[data-theme="dark"] .bd-privacy-banner,
html.dark .bd-privacy-dialog,
html.theme-dark .bd-privacy-dialog,
html[data-theme="dark"] .bd-privacy-dialog,
:root[data-theme="dark"] .bd-privacy-dialog{
  background:#000000!important;
  background-image:none!important;
}
html.dark .bd-privacy-button:not(.bd-privacy-button--primary),
html.theme-dark .bd-privacy-button:not(.bd-privacy-button--primary),
html[data-theme="dark"] .bd-privacy-button:not(.bd-privacy-button--primary),
:root[data-theme="dark"] .bd-privacy-button:not(.bd-privacy-button--primary){
  background:#000000!important;
  color:#f7f7f8!important;
  border-color:rgba(255,255,255,.26)!important;
}
html.dark .bd-privacy-button:not(.bd-privacy-button--primary):hover,
html.theme-dark .bd-privacy-button:not(.bd-privacy-button--primary):hover,
html[data-theme="dark"] .bd-privacy-button:not(.bd-privacy-button--primary):hover,
:root[data-theme="dark"] .bd-privacy-button:not(.bd-privacy-button--primary):hover{
  background:#0a0a0a!important;
  border-color:rgba(255,255,255,.38)!important;
}

/* System dark is only a fallback when the site has not explicitly selected light. */
@media(prefers-color-scheme:dark){
  html:not(.theme-light):not([data-theme="light"]){
    --bd-privacy-bg:#000000;
    --bd-privacy-fg:#f7f7f8;
    --bd-privacy-muted:#9b9ba3;
    --bd-privacy-line:rgba(255,255,255,.16);
    --bd-privacy-secondary-bg:#000000;
    --bd-privacy-secondary-fg:#f7f7f8;
    --bd-privacy-secondary-line:rgba(255,255,255,.24);
    --bd-privacy-primary-bg:#ffffff;
    --bd-privacy-primary-fg:#050505;
    --bd-privacy-primary-line:#ffffff;
    --bd-privacy-shadow:0 16px 40px rgba(0,0,0,.48);
  }
  html:not(.theme-light):not([data-theme="light"]) .bd-privacy-banner,
  html:not(.theme-light):not([data-theme="light"]) .bd-privacy-dialog{background:#000000!important;background-image:none!important}
  html:not(.theme-light):not([data-theme="light"]) .bd-privacy-button:not(.bd-privacy-button--primary){background:#000000!important;color:#f7f7f8!important;border-color:rgba(255,255,255,.26)!important}
}

/* Mobile geometry mirrors #site-verified-banner: centered, same max width. */
@media(max-width:720px){
  .bd-privacy-banner{
    right:auto;
    left:50%;
    bottom:max(var(--bd-privacy-mobile-bottom,8px),env(safe-area-inset-bottom));
    width:min(350px,calc(100vw - 28px));
    transform:translateX(-50%);
    border-radius:18px;
  }
  .bd-privacy-banner__inner{display:flex;gap:6px;min-height:46px;padding:6px 7px 6px 11px}
  .bd-privacy-banner__copy{flex:1 1 auto}
  .bd-privacy-banner__copy span{display:none}
  .bd-privacy-banner__copy strong{font-size:10.5px}
  .bd-privacy-actions{gap:5px}
  .bd-privacy-button{min-height:34px;font-size:10px;padding-inline:9px}
  .bd-privacy-dialog{width:min(100%,420px);padding:17px;border-radius:18px}
  .bd-privacy-dialog__footer{display:grid;grid-template-columns:1fr 1fr}
  .bd-privacy-dialog__footer .bd-privacy-button{width:100%}
}
@media(max-width:460px){
  .bd-privacy-banner{width:min(336px,calc(100vw - 24px));border-radius:22px}
}
@media(max-width:380px){
  .bd-privacy-banner__copy{display:none}
  .bd-privacy-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .bd-privacy-button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .bd-privacy-button{transition:none!important}
}
