/* SERPIFAI Premium Privacy V4 presentation overlay. No effect on GTM or consent storage.
   Loaded AFTER approved cookie CSS. Every rule scoped to CMP elements. */
html.sf-privacy-v4-active { --sfv4-bg:#0a2131; --sfv4-deep:#041520; --sfv4-cyan:#6bdde6; --sfv4-text:#f0f8fc; --sfv4-muted:#b7ccd8; }
html.sf-privacy-v4-active .serpifai-consent-banner[hidden],
html.sf-privacy-v4-active .serpifai-consent-modal-wrap[hidden],
html.sf-privacy-v4-active .serpifai-consent-category[hidden] { display: none !important; }
html.sf-privacy-v4-active .sf-privacy-v4-banner {
  position:fixed !important; top:auto !important; bottom:20px !important; left:50% !important;
  right:auto !important; transform:translateX(-50%) !important;
  z-index:2147482000 !important; width:min(1040px,calc(100vw - 32px)) !important;
  max-width:1040px !important; max-height:min(80vh,680px) !important;
  overflow:auto !important; margin:0 !important; box-sizing:border-box !important;
  padding:25px 26px 22px !important;
  border:1px solid rgba(109,221,230,.60) !important; border-radius:20px !important;
  background:linear-gradient(117deg,#102b3d 0%,#071e2d 65%,#061927 100%) !important;
  box-shadow:0 30px 95px rgba(0,7,13,.76),inset 0 1px rgba(224,255,255,.10) !important;
  color:#f0f8fc !important; text-align:left !important;
  font:inherit !important; line-height:1.45 !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-banner .serpifai-consent-banner__row {
  display:block !important; margin:0 !important; padding:0 !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-banner .serpifai-consent-banner__copy {max-width:100% !important; margin:0 !important; padding:0 !important;}
html.sf-privacy-v4-active .sf-privacy-v4-brand {
  display:flex; align-items:center; gap:9px; color:#9cecf3;
  font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
  margin:0 0 11px;
}
html.sf-privacy-v4-active .sf-privacy-v4-mark {
  font-family:Georgia,serif; letter-spacing:0; display:grid; place-items:center;
  width:25px; height:25px; border:1px solid #5ac8d9; border-radius:7px;
  background:#164457; color:#f1fdff; font-size:17px;
}
html.sf-privacy-v4-active .sf-privacy-v4-banner #serpifai-consent-title {
  font-size:clamp(22px,2.5vw,29px) !important; line-height:1.18 !important;
  letter-spacing:-.035em !important; font-weight:750 !important; color:#f5fbff !important;
  margin:0 0 7px !important; max-width:680px;
}
html.sf-privacy-v4-active .sf-privacy-v4-banner #serpifai-consent-copy {
  max-width:850px !important; font-size:13.5px !important; line-height:1.62 !important;
  color:#c5d7e0 !important; font-weight:400 !important;
  margin:0 !important; padding:0 !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-banner a,
html.sf-privacy-v4-active .sf-privacy-v4-modal a {
  color:#9cecf3 !important; text-decoration:underline !important; text-underline-offset:3px;
}
html.sf-privacy-v4-active .sf-privacy-v4-assurance {
  color:#8fbbc8 !important; font-size:11.5px !important;
  line-height:1.4 !important; margin:10px 0 0 !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-banner .serpifai-consent-actions {
  display:grid !important; grid-template-columns:1fr 1fr 1fr !important;
  gap:11px !important; margin:21px 0 0 !important; padding:0 !important;
  max-width:790px !important; align-items:stretch !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-banner .serpifai-consent-actions button,
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-modal__foot button {
  margin:0 !important; width:100% !important; min-width:0 !important; min-height:48px !important;
  padding:11px 15px !important; box-sizing:border-box !important;
  border:1px solid #53788c !important; border-radius:11px !important;
  font:inherit !important; font-size:13px !important; font-weight:750 !important;
  letter-spacing:0 !important; line-height:1.2 !important; cursor:pointer !important;
  background:#163348 !important; color:#eef9ff !important;
  white-space:normal !important; text-transform:none !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-banner .serpifai-consent-actions button.sf-privacy-v4-reject,
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-modal__foot button[data-consent-action="modal-reject"] {
  border-color:#6bdee6 !important; background:#123647 !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-banner .serpifai-consent-actions button.sf-privacy-v4-accept,
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-modal__foot button[data-consent-action="modal-accept"] {
  border-color:#6bdee6 !important; background:#225d73 !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-banner .serpifai-consent-actions button:hover,
html.sf-privacy-v4-active .sf-privacy-v4-modal button:hover { filter:brightness(1.16); }
html.sf-privacy-v4-active .serpifai-consent-settings {
  position:fixed !important; bottom:15px !important; left:15px !important; right:auto !important;
  z-index:2147481000 !important; display:inline-flex !important; align-items:center;
  font:inherit !important; color:#f2fbff !important; background:#102d40 !important;
  border:1px solid #5b9aac !important; border-radius:999px !important;
  padding:10px 16px !important; min-height:42px !important; font-weight:700 !important;
  font-size:12px !important; line-height:1.2 !important;
  box-shadow:0 7px 24px rgba(2,14,23,.48) !important;
}
html.sf-privacy-v4-active:has(.sf-privacy-v4-banner:not([hidden])) .serpifai-consent-settings {
  visibility:hidden !important; pointer-events:none !important;
}
html.sf-privacy-v4-active .serpifai-consent-modal-wrap:not([hidden]) {
  position:fixed !important; inset:0 !important; background:rgba(2,11,19,.78) !important;
  backdrop-filter:blur(7px); z-index:2147483000 !important; display:flex !important;
  align-items:center !important; justify-content:center !important; padding:15px !important;
  overflow:auto !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal {
  width:min(650px,100%) !important; max-width:650px !important; max-height:min(90vh,900px) !important;
  overflow:auto !important; box-sizing:border-box !important;
  color:#edf8fd !important; background:linear-gradient(160deg,#112b3c,#071925) !important;
  border:1px solid #537d8e !important; border-radius:19px !important;
  box-shadow:0 24px 100px rgba(0,0,0,.65) !important; padding:0 !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-modal__head {
  padding:26px 27px 16px !important; display:flex !important; align-items:flex-start !important;
  justify-content:space-between !important; gap:16px !important; border-bottom:1px solid #375668 !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal h2,
html.sf-privacy-v4-active .sf-privacy-v4-modal h3 { color:#f1fcff !important; }
html.sf-privacy-v4-active .sf-privacy-v4-modal h2 {font-size:clamp(22px,3vw,29px) !important;line-height:1.17 !important;margin:7px 0 8px !important;letter-spacing:-.035em !important;}
html.sf-privacy-v4-active .sf-privacy-v4-drawer-kicker { color:#99e8ef; text-transform:uppercase; font-weight:800; letter-spacing:.12em; font-size:10px; }
html.sf-privacy-v4-active .sf-privacy-v4-modal p { color:#bfd1dc !important; font-size:13px !important; line-height:1.58 !important; }
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-provider-summary {
  margin:17px 27px !important; padding:14px !important; border:1px solid #35586b !important;
  border-radius:12px !important; background:#122f42 !important; color:#daeefa !important;
  display:grid !important; gap:4px !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-provider-summary span {font-size:12px !important;color:#bdd4df !important;}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-category-grid {
  padding:0 27px !important; display:grid !important; gap:10px !important; margin:0 !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-category {
  border:1px solid #3b5e6c !important; border-radius:12px !important;
  background:#102c3d !important; padding:17px !important; margin:0 !important;
  display:flex !important; align-items:center !important; gap:14px !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-category[hidden] {display:none !important;}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-category__copy { flex:1; min-width:0; }
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-category__icon { display:none !important; }
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-category__heading {
  display:flex !important; align-items:center !important; gap:9px !important;
  flex-wrap:wrap !important; margin-bottom:4px !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-category h3 {font-size:15px !important;margin:0 !important;}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-category__status,
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-required {
  color:#9eebee !important; font-size:10px !important; padding:3px 8px !important;
  border-radius:999px !important; border:1px solid #3c8998 !important;
  background:#1c4454 !important;white-space:nowrap !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-category p {font-size:12px !important;margin:0 !important;}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-switch {flex:none !important;}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-modal__detail {margin:16px 27px !important;}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-modal__foot {
  border-top:1px solid #395869 !important; display:grid !important;
  grid-template-columns:1fr 1fr 1fr !important; gap:9px !important;
  padding:19px 27px 23px !important; margin:0 !important; background:#0a2433 !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-banner button:focus-visible,
html.sf-privacy-v4-active .sf-privacy-v4-modal button:focus-visible,
html.sf-privacy-v4-active .sf-privacy-v4-modal input:focus-visible,
html.sf-privacy-v4-active .serpifai-consent-settings:focus-visible,
html.sf-privacy-v4-active .sf-privacy-v4-banner a:focus-visible {
  outline:3px solid #9feff7 !important; outline-offset:3px !important;
}
@media (max-width:640px) {
  html.sf-privacy-v4-active .sf-privacy-v4-banner {bottom:9px !important;width:calc(100vw - 18px) !important;padding:19px 17px 17px !important;border-radius:14px !important;max-height:82dvh !important;}
  html.sf-privacy-v4-active .sf-privacy-v4-banner .serpifai-consent-actions {grid-template-columns:1fr 1fr !important;gap:8px !important;margin-top:17px !important;}
  html.sf-privacy-v4-active .sf-privacy-v4-banner .serpifai-consent-actions button.sf-privacy-v4-customize {grid-column:1/-1 !important;grid-row:2 !important;}
  html.sf-privacy-v4-active .sf-privacy-v4-banner .serpifai-consent-actions button {padding:11px 6px !important;font-size:12px !important;}
  html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-modal__head {padding:19px 17px 15px !important;}
  html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-provider-summary {margin:12px 17px !important;}
  html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-category-grid {padding:0 17px !important;}
  html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-modal__detail {margin:12px 17px !important;}
  html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-modal__foot {padding:14px 17px !important;grid-template-columns:1fr !important;}
  html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-category {padding:12px !important;gap:8px !important;}
  html.sf-privacy-v4-active .serpifai-consent-settings {left:9px !important; bottom:9px !important; font-size:11px !important;}
}
@media (prefers-reduced-motion:reduce) {
  html.sf-privacy-v4-active .sf-privacy-v4-banner *,
  html.sf-privacy-v4-active .sf-privacy-v4-modal * {transition:none !important;animation:none !important;}
}
/* Accessible, visible controls independent of legacy style details. */
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-close {
  display:grid !important; place-items:center !important; flex:none !important;
  width:35px !important; height:35px !important; margin:0 !important;
  background:#16394b !important; color:#eaf9fc !important;
  border:1px solid #5e8c9a !important; border-radius:9px !important;
  font:normal 24px/1 Arial,sans-serif !important; cursor:pointer !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-switch {
  display:inline-flex !important; align-items:center !important;
  width:48px !important; min-width:48px !important; height:28px !important;
  position:relative !important; cursor:pointer !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-switch input[type="checkbox"] {
  appearance:none !important; -webkit-appearance:none !important;
  display:block !important; position:relative !important; inset:auto !important;
  opacity:1 !important; width:48px !important; height:28px !important;
  min-height:28px !important; padding:0 !important; margin:0 !important;
  border-radius:99px !important; border:1px solid #688999 !important;
  background:#2a4859 !important; cursor:pointer !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-switch input[type="checkbox"]:checked {
  background:#27849a !important; border-color:#6fdae5 !important;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-switch input[type="checkbox"]::after {
  content:""; display:block; background:#f3fbfd; position:absolute;
  width:20px; height:20px; top:3px; left:4px; border-radius:50%;
  box-shadow:0 1px 4px rgba(0,0,0,.35); transition:left .12s;
}
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-switch input[type="checkbox"]:checked::after { left:22px; }
html.sf-privacy-v4-active .sf-privacy-v4-modal .serpifai-consent-switch > span {display:none !important;}
