.ts-privacy-dialog {
  --ts-bg:#fff; --ts-ink:#0c2235; --ts-muted:#536575; --ts-line:#e4e9ed;
  --ts-fill:#0d2a40; --ts-on:#fff; --ts-off:#b9c4cd;
  position:fixed; inset:auto 16px 16px auto; z-index:2147483646;
  box-sizing:border-box; width:min(510px,calc(100vw - 32px)); max-width:none;
  max-height:calc(100vh - 32px); margin:0; padding:26px; overflow:auto;
  border:1px solid var(--ts-line); border-radius:16px; background:var(--ts-bg);
  color:var(--ts-ink); box-shadow:0 12px 40px #0b21351a;
  font:400 14px/1.5 "DM Sans",sans-serif;
}
.ts-privacy-dialog, .ts-privacy-dialog * { box-sizing:border-box; }
.ts-privacy-dialog::backdrop { background:#0b1f3366; }
.ts-privacy-dialog .ts-privacy-header {
  display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
  border:0 !important;
}
.ts-privacy-dialog .ts-privacy-brand { display:block; margin-bottom:18px; }
.ts-privacy-dialog .ts-privacy-brand img { display:block !important; width:158px !important; height:auto !important; max-width:none !important; }
.ts-privacy-dialog h2 { margin:9px 0 0; color:var(--ts-ink); font:600 23px/1.25 "DM Sans",sans-serif; letter-spacing:-.5px; }
.ts-privacy-dialog .ts-privacy-close {
  display:grid; place-items:center; flex:none; width:36px; height:36px; min-width:36px; min-height:36px;
  margin:0; padding:8px; border:0; border-radius:7px; background:transparent; color:var(--ts-muted); cursor:pointer;
}
.ts-privacy-dialog .ts-privacy-close svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.ts-privacy-dialog .ts-privacy-close:hover { color:var(--ts-ink); }
.ts-privacy-dialog .ts-privacy-close:focus-visible,
.ts-privacy-dialog .ts-privacy-switch:focus-visible { outline:3px solid #60b6ff !important; outline-offset:3px !important; }
.ts-privacy-dialog .ts-privacy-intro { max-width:390px; margin:14px 0 20px; color:var(--ts-muted); font:400 14px/1.6 "DM Sans",sans-serif; }
.ts-privacy-dialog .ts-privacy-row {
  display:flex !important; align-items:center; justify-content:space-between; gap:20px; width:100%;
  margin:0 !important; padding:18px 0 !important; border:0; border-top:1px solid var(--ts-line);
  background:transparent; color:var(--ts-ink); cursor:pointer; text-align:left;
}
.ts-privacy-dialog .ts-privacy-copy { display:block; min-width:0; }
.ts-privacy-dialog .ts-privacy-copy strong { display:block; color:var(--ts-ink); font:600 14px/1.4 "DM Sans",sans-serif; }
.ts-privacy-dialog .ts-privacy-copy small { display:block; margin-top:5px; color:var(--ts-muted); font:400 12px/1.5 "DM Sans",sans-serif; }
.ts-privacy-dialog .ts-privacy-control { display:flex !important; align-items:center; flex:none; gap:9px; }
.ts-privacy-dialog .ts-privacy-value { min-width:20px; color:var(--ts-muted); font:400 12px/1.5 "DM Sans",sans-serif; }
/* HubSpot page styles may target every checkbox; isolate the switch geometry. */
.ts-privacy-dialog .ts-privacy-switch[type="checkbox"] {
  -webkit-appearance:none !important; appearance:none !important; display:block !important;
  position:relative !important; flex:none !important; width:40px !important; min-width:40px !important; max-width:40px !important;
  height:24px !important; min-height:24px !important; max-height:24px !important;
  margin:0 !important; padding:0 !important; border:0 !important; border-radius:20px !important;
  background:var(--ts-off) !important; box-shadow:none !important; opacity:1 !important;
  visibility:visible !important; transform:none !important; cursor:pointer;
}
.ts-privacy-dialog .ts-privacy-switch[type="checkbox"]::before {
  content:""; position:absolute; top:3px; left:3px; width:18px; height:18px;
  border-radius:50%; background:var(--ts-bg);
}
.ts-privacy-dialog .ts-privacy-switch[type="checkbox"]:checked { background:var(--ts-fill) !important; }
.ts-privacy-dialog .ts-privacy-switch[type="checkbox"]:checked::before { left:19px; background:var(--ts-on); }
.ts-privacy-dialog .ts-privacy-switch[type="checkbox"]:disabled { cursor:not-allowed; opacity:.55 !important; }
.ts-privacy-dialog .ts-privacy-signal { margin:10px 0 0; color:var(--ts-muted); font-size:12px; }
.ts-privacy-dialog .ts-privacy-signal[hidden] { display:none; }
@media (prefers-color-scheme:dark) {
  .ts-privacy-dialog {
    --ts-bg:#101e2c; --ts-ink:#edf4fa; --ts-muted:#b2c0cc; --ts-line:#304252;
    --ts-fill:#c8e3f5; --ts-on:#102536; --ts-off:#526573; box-shadow:0 12px 40px #00000042;
  }
}
@media (max-width:420px) {
  .ts-privacy-dialog { inset:auto 12px 12px auto; width:calc(100vw - 24px); padding:20px; }
  .ts-privacy-dialog h2 { font-size:21px; }
  .ts-privacy-dialog .ts-privacy-row { gap:12px; }
  .ts-privacy-dialog .ts-privacy-value { display:none; }
}
