/* =====================================================================
   SIMCON × iubenda — Branding Overrides (Isolated, CSP‑safe)
   Scope strictly limited to: #iubenda-cs-banner, #iubenda-iframe, and the floating prefs button
   Collision fixes:
   - All selectors prefixed with :is(#iubenda-cs-banner, #iubenda-iframe)
   - No global :root var writes (vars live on the scoped roots only)
   - Granular Controls left UNTOUCHED (per request)
   - CSP-safe (no data: URIs)
   - AA focus fallback (3px outline)
   Typography pulls from your HubSpot theme variables when present
   ===================================================================== */

/* -------------------- Scoped variables (NO global :root) -------------------- */
:is(#iubenda-cs-banner, #iubenda-iframe) {
  /* Map to theme variables with safe fallbacks */
  --simc-text: var(--brand_greyscale_900, #1A1A1A);
  --simc-link: var(--brand_blue_600, var(--link_color, #005CE6));
  --simc-primary: var(--brand_greyscale_900, #1A1A1A);
  --simc-primary-600: var(--brand_greyscale_700, #4D4D4D);
  --simc-primary-900: var(--brand_greyscale_1000, #000000);
  --simc-bg-soft: var(--brand_greyscale_50, #F2F5F5);
  --simc-bg-soft-2: var(--brand_greyscale_100, #E9F0F0);
  --simc-surface: var(--brand_greyscale_25, #F9F9F9);
  --simc-border: var(--brand_greyscale_200, #E6E6E6);
  --simc-grey-700: var(--brand_greyscale_700, #4D4D4D);
  --simc-focus: var(--brand_blue_600, #005CE6);

  --simc-heading-color: var(--heading_text_color, var(--brand_greyscale_900, #1A1A1A));
  --simc-body-color: var(--body_text_color, var(--brand_greyscale_900, #1A1A1A));
  --simc-heading-font: "Aeonik Pro", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  --simc-body-font: "Aeonik Pro", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* -------------------- Base Typography & Links (scoped) -------------------- */
:is(#iubenda-cs-banner, #iubenda-iframe) {
  font-family: var(--simc-body-font) !important;
  color: var(--simc-body-color) !important;
}
:is(#iubenda-cs-banner, #iubenda-iframe) a {
  color: var(--simc-link) !important;
  text-decoration: none !important;
}
:is(#iubenda-cs-banner, #iubenda-iframe) a:hover { text-decoration: underline !important; }

/* Headings (scoped) */
:is(#iubenda-cs-banner, #iubenda-iframe) h1,
:is(#iubenda-cs-banner, #iubenda-iframe) .header-display,
:is(#iubenda-cs-banner, #iubenda-iframe) h2,
:is(#iubenda-cs-banner, #iubenda-iframe) .M_38_T1,
:is(#iubenda-cs-banner, #iubenda-iframe) h3,
:is(#iubenda-cs-banner, #iubenda-iframe) .M_28_T2,
:is(#iubenda-cs-banner, #iubenda-iframe) h4,
:is(#iubenda-cs-banner, #iubenda-iframe) .M_20_T3,
:is(#iubenda-cs-banner, #iubenda-iframe) h5,
:is(#iubenda-cs-banner, #iubenda-iframe) .M_16_T4,
:is(#iubenda-cs-banner, #iubenda-iframe) h6,
:is(#iubenda-cs-banner, #iubenda-iframe) .M_14_T5 {
  font-family: var(--simc-heading-font) !important;
  color: var(--simc-heading-color) !important;
  font-weight: 600 !important;
  line-height: 150% !important;
}

/* Paragraph-like copy inside iubenda blocks */
#iubenda-iframe .purposes-header-text,
#iubenda-iframe .purposes-section-header-text,
#iubenda-iframe .purposes-item-body,
#iubenda-iframe .purposes-item-title label,
#iubenda-cs-banner .iubenda-cs-content p {
  font-family: var(--simc-body-font) !important;
  color: var(--simc-body-color) !important;
  font-weight: 400 !important;
  line-height: 160% !important;
  letter-spacing: .2px !important;
}

/* -------------------- Buttons (Accept / Reject / Customize) -------------------- */
:is(#iubenda-cs-banner) .iubenda-cs-accept-btn,
:is(#iubenda-cs-banner) .iubenda-cs-reject-btn,
:is(#iubenda-cs-banner) .iubenda-cs-customize-btn {
  border: 1px solid transparent !important;
  border-radius: 2px !important;
  font-weight: 600 !important;
  line-height: 160% !important;
  background-image: none !important;
}

/* Primary (Accept) */
:is(#iubenda-cs-banner) .iubenda-cs-accept-btn {
  background: var(--simc-primary) !important; color: #FFF !important;
}
:is(#iubenda-cs-banner) .iubenda-cs-accept-btn:hover { background: var(--simc-primary-600) !important; }
:is(#iubenda-cs-banner) .iubenda-cs-accept-btn:active { background: var(--simc-primary-900) !important; }

/* Secondary (Customize) */
:is(#iubenda-cs-banner) .iubenda-cs-customize-btn {
  background: var(--simc-bg-soft) !important; color: var(--simc-text) !important; border-color: var(--simc-border) !important;
}
:is(#iubenda-cs-banner) .iubenda-cs-customize-btn:hover { background: var(--simc-bg-soft-2) !important; }

/* Tertiary (Reject) */
:is(#iubenda-cs-banner) .iubenda-cs-reject-btn {
  background: transparent !important; color: var(--simc-text) !important; border-color: var(--simc-text) !important;
}
:is(#iubenda-cs-banner) .iubenda-cs-reject-btn:hover { background: rgba(0,0,0,.06) !important; }

/* -------------------- Focus Styles (AA, scoped) -------------------- */
:is(#iubenda-cs-banner, #iubenda-iframe) [tabindex]:not([tabindex="-1"]):focus,
:is(#iubenda-cs-banner, #iubenda-iframe) a[href]:focus,
:is(#iubenda-cs-banner, #iubenda-iframe) button:focus,
:is(#iubenda-cs-banner, #iubenda-iframe) details:focus,
:is(#iubenda-cs-banner, #iubenda-iframe) input:focus,
:is(#iubenda-cs-banner, #iubenda-iframe) select:focus,
:is(#iubenda-cs-banner, #iubenda-iframe) textarea:focus {
  outline: 3px solid var(--simc-focus) !important;
  outline-offset: 2px !important;
  border-radius: 2px !important;
  text-decoration: none !important;
}

@media (prefers-reduced-motion: reduce) {
  :is(#iubenda-cs-banner, #iubenda-iframe) * { transition: none !important; animation: none !important; }
}

/* -------------------- Purposes Modal Buttons (scoped to iframe) -------------------- */
#iubenda-iframe .iub-consent-buttons .iub-btn.iub-btn-accept,
#iubenda-iframe .purposes-buttons .iub-btn.iub-btn-accept,
#iubenda-iframe .purposes-btn.purposes-btn-accept,
#iubenda-iframe #iubFooterBtn {
  background-color: var(--simc-primary) !important; color:#FFF !important; border:1px solid transparent !important; border-radius:2px !important; font-weight:600 !important; background-image:none !important; box-shadow:none !important;
}
#iubenda-iframe .iub-consent-buttons .iub-btn.iub-btn-accept:hover,
#iubenda-iframe .purposes-buttons .iub-btn.iub-btn-accept:hover,
#iubenda-iframe .purposes-btn.purposes-btn-accept:hover,
#iubenda-iframe #iubFooterBtn:hover { background-color: var(--simc-primary-600) !important; }
#iubenda-iframe .iub-consent-buttons .iub-btn.iub-btn-accept:active,
#iubenda-iframe .purposes-buttons .iub-btn.iub-btn-accept:active,
#iubenda-iframe .purposes-btn.purposes-btn-accept:active,
#iubenda-iframe #iubFooterBtn:active { background-color: var(--simc-primary-900) !important; }
#iubenda-iframe #iubFooterBtn:focus-visible { outline: 3px solid var(--simc-focus) !important; outline-offset: 2px !important; }

#iubenda-iframe .iub-btn-stroked,
#iubenda-iframe .iub-btn-cp,
#iubenda-iframe .purposes-btn.purposes-btn-stroked,
#iubenda-iframe .purposes-btn.purposes-btn-cp,
#iubenda-iframe .iub-consent-buttons .iub-btn.iub-btn-reject,
#iubenda-iframe .purposes-buttons .iub-btn.iub-btn-reject,
#iubenda-iframe .purposes-btn.purposes-btn-reject,
#iubenda-iframe #iubRejectBtn {
  background-color: transparent !important; color: var(--simc-text) !important; border: 1.5px solid var(--simc-text) !important; border-radius: 2px !important; font-weight: 600 !important; background-image: none !important;
}
#iubenda-iframe .iub-btn-stroked:hover,
#iubenda-iframe .iub-btn-cp:hover,
#iubenda-iframe .purposes-btn.purposes-btn-stroked:hover,
#iubenda-iframe .purposes-btn.purposes-btn-cp:hover,
#iubenda-iframe .iub-consent-buttons .iub-btn.iub-btn-reject:hover,
#iubenda-iframe .purposes-buttons .iub-btn.iub-btn-reject:hover,
#iubenda-iframe .purposes-btn.purposes-btn-reject:hover,
#iubenda-iframe #iubRejectBtn:hover { background-color: rgba(0,0,0,.06) !important; }

/* -------------------- Toggles (scoped, CSP-safe) -------------------- */
:is(#iubenda-cs-banner, #iubenda-iframe) .iub-toggle-checkbox input.style1,
:is(#iubenda-cs-banner, #iubenda-iframe) .granular-control-checkbox input.style1,
:is(#iubenda-cs-banner, #iubenda-iframe) .purposes-checkbox input.style1 {
  -webkit-appearance:none !important; appearance:none !important; border:none !important; border-radius:999px !important; background-color:var(--simc-primary) !important;
  background-repeat:no-repeat !important; background-image: radial-gradient(circle,#FFF 50%,rgba(255,255,255,0) 51%); background-size:20px 20px !important; background-position:left 4px center !important;
  transition: background-position .25s ease, background-color .2s ease, opacity .2s ease !important; box-shadow:none !important; cursor:pointer !important;
}
:is(#iubenda-cs-banner, #iubenda-iframe) .iub-toggle-checkbox input.style1:checked,
:is(#iubenda-cs-banner, #iubenda-iframe) .granular-control-checkbox input.style1:checked,
:is(#iubenda-cs-banner, #iubenda-iframe) .purposes-checkbox input.style1:checked {
  background-position:right 4px center !important; opacity:1 !important;
}
:is(#iubenda-cs-banner, #iubenda-iframe) .iub-toggle-checkbox input.style1:not(:checked):not(:disabled),
:is(#iubenda-cs-banner, #iubenda-iframe) .granular-control-checkbox input.style1:not(:checked):not(:disabled),
:is(#iubenda-cs-banner, #iubenda-iframe) .purposes-checkbox input.style1:not(:checked):not(:disabled) {
  background-position:left 4px center !important; opacity:.3 !important;
}
:is(#iubenda-cs-banner, #iubenda-iframe) .iub-toggle-checkbox input.style1:disabled,
:is(#iubenda-cs-banner, #iubenda-iframe) .granular-control-checkbox input.style1:disabled,
:is(#iubenda-cs-banner, #iubenda-iframe) .purposes-checkbox input.style1:disabled {
  background-color:#ccc !important; background-position:left 4px center !important; opacity:.5 !important; cursor:not-allowed !important;
}
:is(#iubenda-cs-banner, #iubenda-iframe) .iub-toggle-checkbox input.style1:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .granular-control-checkbox input.style1:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .purposes-checkbox input.style1:focus-visible {
  outline:3px solid var(--simc-focus) !important; outline-offset:2px !important; border-radius:999px !important;
}
:is(#iubenda-cs-banner, #iubenda-iframe) .iub-toggle-checkbox label,
:is(#iubenda-cs-banner, #iubenda-iframe) .iub-toggle-checkbox label span,
:is(#iubenda-cs-banner, #iubenda-iframe) .granular-control-checkbox label,
:is(#iubenda-cs-banner, #iubenda-iframe) .granular-control-checkbox label span { background:transparent !important; }

/* -------------------- Floating Consent Preferences Button (isolated) -------------------- */
.iubenda-tp-btn.iubenda-cs-preferences-link {
  background-color: var(--brand_greyscale_900, #1A1A1A) !important; border:none !important; border-radius:50% !important; color:#FFF !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.25) !important; transition: background-color .25s ease, box-shadow .25s ease !important;
}
.iubenda-tp-btn.iubenda-cs-preferences-link:hover { background-color: var(--brand_greyscale_700, #4D4D4D) !important; box-shadow: 0 4px 10px rgba(0,0,0,.35) !important; }
.iubenda-tp-btn.iubenda-cs-preferences-link:active { background-color: var(--brand_greyscale_1000, #000000) !important; box-shadow: 0 2px 6px rgba(0,0,0,.4) !important; }
.iubenda-tp-btn.iubenda-cs-preferences-link:focus-visible { outline: none !important; box-shadow: 0 0 0 3px var(--brand_blue_600, #005CE6) !important; }

/* End — all rules are strictly scoped to iubenda surfaces */

/* =====================================================================
   PATCH 1 — Button mapping + specificity bump (banner + iframe)
   Fixes: .iubenda-cs-*-btn vs .iubenda-cs-btn-primary collisions & states
   ===================================================================== */

/* 1) Normalize all iubenda buttons inside our scope (no gradients/shadows) */
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-accept-btn,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-reject-btn,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-customize-btn,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-btn-primary,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-btn-stroked,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-btn-cp {
  border-radius: 2px !important;
  font-weight: 600 !important;
  line-height: 160% !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* 2) Primary — Accept (solid) with extra specificity to beat iubenda defaults */
#iubenda-cs-banner .iubenda-cs-container .iubenda-cs-accept-btn,
#iubenda-cs-banner .iubenda-cs-accept-btn.iubenda-cs-btn-primary,
#iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-accept-btn,
#iubenda-iframe .iubenda-cs-accept-btn,
#iubenda-iframe .iubenda-cs-accept-btn.iubenda-cs-btn-primary {
  background-color: var(--simc-primary) !important;
  color: #FFF !important;
  border: 1px solid transparent !important;
}
#iubenda-cs-banner .iubenda-cs-accept-btn:hover,
#iubenda-iframe .iubenda-cs-accept-btn:hover { background-color: var(--simc-primary-600) !important; }
#iubenda-cs-banner .iubenda-cs-accept-btn:active,
#iubenda-iframe .iubenda-cs-accept-btn:active { background-color: var(--simc-primary-900) !important; }

/* 3) Secondary — Customize (soft bg) */
#iubenda-cs-banner .iubenda-cs-customize-btn,
#iubenda-iframe .iubenda-cs-customize-btn,
#iubenda-cs-banner .iubenda-cs-btn-cp,
#iubenda-iframe .iubenda-cs-btn-cp {
  background-color: var(--simc-bg-soft) !important;
  color: var(--simc-text) !important;
  border: 1.5px solid var(--simc-border) !important;
}
#iubenda-cs-banner .iubenda-cs-customize-btn:hover,
#iubenda-iframe .iubenda-cs-customize-btn:hover,
#iubenda-cs-banner .iubenda-cs-btn-cp:hover,
#iubenda-iframe .iubenda-cs-btn-cp:hover { background-color: var(--simc-bg-soft-2) !important; }

/* 4) Tertiary — Reject (outlined) — note that iubenda may also mark it as btn-primary */
#iubenda-cs-banner .iubenda-cs-reject-btn,
#iubenda-cs-banner .iubenda-cs-reject-btn.iubenda-cs-btn-primary,
#iubenda-iframe .iubenda-cs-reject-btn,
#iubenda-iframe .iubenda-cs-reject-btn.iubenda-cs-btn-primary {
  background-color: transparent !important;
  color: var(--simc-text) !important;
  border: 1.5px solid var(--simc-text) !important;
}
#iubenda-cs-banner .iubenda-cs-reject-btn:hover,
#iubenda-iframe .iubenda-cs-reject-btn:hover { background-color: rgba(0,0,0,.06) !important; }

/* 5) Focus parity on all button variants */
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-accept-btn:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-reject-btn:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-customize-btn:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-btn-primary:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-btn-stroked:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-btn-cp:focus-visible {
  outline: 3px solid var(--simc-focus) !important;
  outline-offset: 2px !important;
  border-radius: 2px !important;
}

/* 6) Disabled handling */
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-accept-btn[disabled],
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-reject-btn[disabled],
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-customize-btn[disabled],
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-btn-primary[disabled] {
  opacity: .55 !important; cursor: not-allowed !important;
}

/* =====================================================================
   PATCH 2 — Final button remap (banner + iframe + purposes)
   Addresses: buttons still not matching primary/secondary/tertiary
   ===================================================================== */

/* Primary (solid) — Accept all */
#iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-accept-btn,
#iubenda-cs-banner .iubenda-cs-container button.iubenda-cs-accept-btn,
#iubenda-cs-banner .iubenda-cs-accept-btn.iubenda-cs-btn-primary,
#iubenda-iframe#iubenda-iframe .iubenda-cs-accept-btn,
#iubenda-iframe .iubenda-cs-accept-btn.iubenda-cs-btn-primary,
#iubenda-iframe .purposes-btn.purposes-btn-accept,
#iubenda-iframe .iub-btn.iub-btn-accept,
#iubenda-iframe .iub-btn.iub-btn-consent.iub-btn-accept {
  background-color: #1A1A1A !important;
  color: #FFFFFF !important;
  border: 1px solid transparent !important;
  border-radius: 2px !important;
  font-weight: 600 !important;
  line-height: 160% !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  padding: 13.5px 24px !important;
  min-height: 48px !important;
}
#iubenda-cs-banner .iubenda-cs-accept-btn:hover,
#iubenda-iframe .iubenda-cs-accept-btn:hover,
#iubenda-iframe .purposes-btn.purposes-btn-accept:hover,
#iubenda-iframe .iub-btn.iub-btn-accept:hover { background-color: #4D4D4D !important; }
#iubenda-cs-banner .iubenda-cs-accept-btn:active,
#iubenda-iframe .iubenda-cs-accept-btn:active,
#iubenda-iframe .purposes-btn.purposes-btn-accept:active,
#iubenda-iframe .iub-btn.iub-btn-accept:active { background-color: #000000 !important; }

/* Secondary (soft) — Customize / Learn more */
#iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-customize-btn,
#iubenda-cs-banner .iubenda-cs-customize-btn,
#iubenda-iframe#iubenda-iframe .iubenda-cs-customize-btn,
#iubenda-iframe .iubenda-cs-btn-cp,
#iubenda-iframe .iub-btn-cp {
  background-color: var(--simc-bg-soft, #F2F5F5) !important;
  color: var(--simc-text, #1A1A1A) !important;
  border: 1.5px solid var(--simc-border, #E6E6E6) !important;
  border-radius: 2px !important;
  font-weight: 600 !important;
  line-height: 160% !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  padding: 13.5px 24px !important;
  min-height: 48px !important;
}
#iubenda-cs-banner .iubenda-cs-customize-btn:hover,
#iubenda-iframe .iubenda-cs-customize-btn:hover,
#iubenda-iframe .iub-btn-cp:hover { background-color: var(--simc-bg-soft-2, #E9F0F0) !important; }

/* Tertiary (outlined) — Reject/Back as outlined */
#iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-reject-btn,
#iubenda-cs-banner .iubenda-cs-reject-btn,
#iubenda-cs-banner .iubenda-cs-reject-btn.iubenda-cs-btn-primary,
#iubenda-iframe#iubenda-iframe .iubenda-cs-reject-btn,
#iubenda-iframe .iubenda-cs-reject-btn,
#iubenda-iframe .iubenda-cs-reject-btn.iubenda-cs-btn-primary,
#iubenda-iframe #iubBackBtn,
#iubenda-iframe .iub-btn.iub-btn-back,
#iubenda-iframe .iub-btn-stroked {
  background-color: transparent !important;
  color: var(--simc-text, #1A1A1A) !important;
  border: 1.5px solid var(--simc-text, #1A1A1A) !important;
  border-radius: 2px !important;
  font-weight: 600 !important;
  line-height: 160% !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  padding: 13.5px 24px !important;
  min-height: 48px !important;
}
#iubenda-cs-banner .iubenda-cs-reject-btn:hover,
#iubenda-iframe .iubenda-cs-reject-btn:hover,
#iubenda-iframe #iubBackBtn:hover,
#iubenda-iframe .iub-btn.iub-btn-back:hover,
#iubenda-iframe .iub-btn-stroked:hover { background-color: rgba(0,0,0,.06) !important; }

/* Focus for all buttons */
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-accept-btn:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-reject-btn:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-customize-btn:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .iubenda-cs-btn-primary:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .iub-btn:focus-visible,
:is(#iubenda-cs-banner, #iubenda-iframe) .purposes-btn:focus-visible {
  outline: 3px solid var(--simc-focus, var(--brand_blue_600, #005CE6)) !important;
  outline-offset: 2px !important;
  border-radius: 2px !important;
}

/* Disabled */
:is(#iubenda-cs-banner, #iubenda-iframe)) .iubenda-cs-accept-btn[disabled],
:is(#iubenda-cs-banner, #iubenda-iframe)) .iubenda-cs-reject-btn[disabled],
:is(#iubenda-cs-banner, #iubenda-iframe)) .iubenda-cs-customize-btn[disabled],
:is(#iubenda-cs-banner, #iubenda-iframe)) .iub-btn[disabled],
:is(#iubenda-cs-banner, #iubenda-iframe)) .purposes-btn[disabled] {
  opacity: .55 !important;
  cursor: not-allowed !important;
}

/* =====================================================================
   PATCH 3 — FINAL override for toggles (force Simcon black, knob data-URI)
   Addresses: green toggles reappearing
   ===================================================================== */

/* Base track with white knob (unchecked position left) */
#iubenda-cs-banner#iubenda-cs-banner .iub-toggle-checkbox input.style1,
#iubenda-iframe#iubenda-iframe .iub-toggle-checkbox input.style1,
#iubenda-cs-banner#iubenda-cs-banner .granular-control-checkbox input.style1,
#iubenda-iframe#iubenda-iframe .granular-control-checkbox input.style1,
#iubenda-cs-banner#iubenda-cs-banner .purposes-checkbox input.style1,
#iubenda-iframe#iubenda-iframe .purposes-checkbox input.style1 {
  -webkit-appearance: none !important;
  appearance: none !important;
  border: none !important;
  border-radius: 999px !important;
  background-color: #1A1A1A !important;
  background-repeat: no-repeat !important;
  background-size: 20px 20px !important;
  background-position: left 4px center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23FFF'/%3E%3C/svg%3E") !important;
  box-shadow: none !important;
  transition: background-position .25s ease, background-color .25s ease, opacity .2s ease !important;
}

/* Checked → knob right, full opacity, black track */
#iubenda-cs-banner#iubenda-cs-banner .iub-toggle-checkbox input.style1:checked,
#iubenda-iframe#iubenda-iframe .iub-toggle-checkbox input.style1:checked,
#iubenda-cs-banner#iubenda-cs-banner .granular-control-checkbox input.style1:checked,
#iubenda-iframe#iubenda-iframe .granular-control-checkbox input.style1:checked,
#iubenda-cs-banner#iubenda-cs-banner .purposes-checkbox input.style1:checked,
#iubenda-iframe#iubenda-iframe .purposes-checkbox input.style1:checked {
  background-color: #1A1A1A !important;
  background-position: right 4px center !important;
  opacity: 1 !important;
}

/* Unchecked → left, reduced emphasis */
#iubenda-cs-banner#iubenda-cs-banner .iub-toggle-checkbox input.style1:not(:checked):not(:disabled),
#iubenda-iframe#iubenda-iframe .iub-toggle-checkbox input.style1:not(:checked):not(:disabled),
#iubenda-cs-banner#iubenda-cs-banner .granular-control-checkbox input.style1:not(:checked):not(:disabled),
#iubenda-iframe#iubenda-iframe .granular-control-checkbox input.style1:not(:checked):not(:disabled),
#iubenda-cs-banner#iubenda-cs-banner .purposes-checkbox input.style1:not(:checked):not(:disabled),
#iubenda-iframe#iubenda-iframe .purposes-checkbox input.style1:not(:checked):not(:disabled) {
  background-color: #1A1A1A !important;
  background-position: left 4px center !important;
  opacity: .3 !important;
}

/* Disabled → neutral gray */
#iubenda-cs-banner#iubenda-cs-banner .iub-toggle-checkbox input.style1:disabled,
#iubenda-iframe#iubenda-iframe .iub-toggle-checkbox input.style1:disabled,
#iubenda-cs-banner#iubenda-cs-banner .granular-control-checkbox input.style1:disabled,
#iubenda-iframe#iubenda-iframe .granular-control-checkbox input.style1:disabled,
#iubenda-cs-banner#iubenda-cs-banner .purposes-checkbox input.style1:disabled,
#iubenda-iframe#iubenda-iframe .purposes-checkbox input.style1:disabled {
  background-color: #CCCCCC !important;
  background-position: left 4px center !important;
  opacity: .5 !important;
  cursor: not-allowed !important;
}

/* Focus-visible outline without changing pill shape */
#iubenda-cs-banner#iubenda-cs-banner .iub-toggle-checkbox input.style1:focus-visible,
#iubenda-iframe#iubenda-iframe .iub-toggle-checkbox input.style1:focus-visible,
#iubenda-cs-banner#iubenda-cs-banner .granular-control-checkbox input.style1:focus-visible,
#iubenda-iframe#iubenda-iframe .granular-control-checkbox input.style1:focus-visible,
#iubenda-cs-banner#iubenda-cs-banner .purposes-checkbox input.style1:focus-visible,
#iubenda-iframe#iubenda-iframe .purposes-checkbox input.style1:focus-visible {
  outline: 3px solid var(--simc-focus, var(--brand_blue_600, #005CE6)) !important;
  outline-offset: 2px !important;
  border-radius: 999px !important;
}