/* FairWell button system (Oct 2026)
   One source of truth for every button and button-styled link on the site.
   Loaded last on every page so it settles conflicts from style.css, fw-design.css,
   page-level <style> blocks and JS-injected styles. Selectors carry :not(#fwb)
   to lift specificity above page rules without renaming any class.

   Variants  primary (filled brand blue) | secondary (outline on card) |
             dark (navy, header CTA) | link (text-link / ghost)
   Sizes     regular (48px) | small (44px, still a full touch target) | large (56px)
   Motion    one hover (1px lift + shadow + colour shift, 180ms ease), one press,
             none of it when the visitor asks for reduced motion. */

:root{
  --fwb-blue:#3B6FE0;
  --fwb-blue-hover:#2F5FCC;
  --fwb-blue-press:#2A55B8;
  --fwb-navy:#0F1A2E;
  --fwb-navy-hover:#1C2A45;
  --fwb-radius:10px;
  --fwb-font:var(--sans,'Geist',system-ui,-apple-system,'Segoe UI',sans-serif);
  --fwb-ring:#3B6FE0;
  --fwb-ease:cubic-bezier(.2,.8,.2,1);
  --fwb-dur:180ms;
  --fwb-shadow-primary:0 1px 2px rgba(15,26,46,.08);
  --fwb-shadow-primary-hover:0 10px 22px -10px rgba(59,111,224,.65);
  --fwb-shadow-secondary:0 1px 2px rgba(15,26,46,.04);
  --fwb-shadow-secondary-hover:0 8px 20px -10px rgba(15,26,46,.28);
}

/* ── 1. BASE: every action button ─────────────────────────────────────── */
:is(
  .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
  .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
  .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.dir-cta-btn-white,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
  .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta,.btn-cta-white,.btn-cta-outline,
  .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
  .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,.fw-stripe-close,
  .fw-cookie-accept,.fw-cookie-decline,.fw-capture-submit,.fw-share-modal-submit,
  .fw-wizard-rec-cta,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,#fw-strip-btn,
  .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child,
  .gx-sub button,.pv-lock button,.fw-save button
):not(#fwb){
  -webkit-appearance:none;appearance:none;
  min-height:48px!important;
  padding:12px 22px!important;
  border-radius:var(--fwb-radius)!important;
  border-width:1px!important;border-style:solid!important;
  font-family:var(--fwb-font)!important;font-size:15px!important;font-weight:600!important;
  line-height:1.2!important;letter-spacing:-.01em!important;text-transform:none!important;
  text-decoration:none!important;filter:none!important;
  transition:transform var(--fwb-dur) var(--fwb-ease),box-shadow var(--fwb-dur) var(--fwb-ease),background-color var(--fwb-dur) var(--fwb-ease),border-color var(--fwb-dur) var(--fwb-ease),color var(--fwb-dur) var(--fwb-ease)!important;
  -webkit-tap-highlight-color:transparent;
}
:where(
  .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
  .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
  .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.dir-cta-btn-white,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
  .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta,.btn-cta-white,.btn-cta-outline,
  .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
  .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,.fw-stripe-close,
  .fw-cookie-accept,.fw-cookie-decline,.fw-capture-submit,.fw-share-modal-submit,
  .fw-wizard-rec-cta,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,#fw-strip-btn,
  .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child,
  .gx-sub button,.pv-lock button,.fw-save button
){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  box-sizing:border-box;text-align:center;cursor:pointer;
}
:is(
  .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
  .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
  .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.dir-cta-btn-white,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
  .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta,.btn-cta-white,.btn-cta-outline,
  .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
  .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,.fw-stripe-close,
  .fw-cookie-accept,.fw-cookie-decline,.fw-capture-submit,.fw-share-modal-submit,
  .fw-wizard-rec-cta,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,#fw-strip-btn,
  .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child,
  .gx-sub button,.pv-lock button,.fw-save button
)[hidden]:not(#fwb){display:none!important}
/* block-level buttons that fill their card keep filling it (single-class weight, so page rules can still hide them) */
:is(.p-cta,.pc-buy-btn,.nc-product-cta,.fw-mob-cta,.login-btn,.aff-submit,.pm-submit,.wl-submit){display:flex;width:100%}

/* the old slide-up fills, shimmer sweeps and arrow masks are gone */
:is(
  .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
  .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
  .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.dir-cta-btn-white,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
  .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta,.btn-cta-white,.btn-cta-outline,
  .fw-mob-cta,.fw-float-cta-btn,.fw-stripe-assess,.fw-wizard-rec-cta
):not(#fwb)::before,
:is(
  .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
  .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
  .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.dir-cta-btn-white,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
  .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta,.btn-cta-white,.btn-cta-outline,
  .fw-mob-cta,.fw-float-cta-btn,.fw-stripe-assess,.fw-wizard-rec-cta
):not(#fwb)::after{content:none!important;display:none!important}

/* children sit above nothing now; keep them clickable-through */
:is(.btn,.btn-primary,.btn-secondary,.nav-cta,.p-cta,.pr-btn,.ew-btn,.cp-cta)>*{position:relative;z-index:auto}

/* icons inside buttons (functional icons only; arrows were removed from markup) */
:is(
  .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-ghost,.btn-next,.p-cta,.pr-btn,.ew-btn,
  .fi-btn,.fi-btn2,.cp-cta,.cp-go a,.dir-btn,.ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add
):not(#fwb) svg{width:18px;height:18px;flex:none}

/* ── 2. VARIANT: primary (filled brand blue) ──────────────────────────── */
:is(
  .btn-primary,
  .btn:not(.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost),
  .btn-next,.p-cta:not(.secondary),.tier-cta,.calc-button,.quiz-btn-next,
  .rg-cta-btn:not(.secondary),.dfcard-cta,.fw-cta-btn,.dir-btn.primary,
  .cp-cta.pri,.pr-btn.solid,.pr-btn.gold,.ew-btn:not(.ew-btn-ghost),.fi-btn,
  .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta:not(.secondary),.btn-cta-white,
  .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
  .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,
  .fw-cookie-accept,.fw-capture-submit,.fw-share-modal-submit,.fw-wizard-rec-cta,#fw-strip-btn,
  .gx-sub button,.pv-lock button
):not(#fwb){
  background:var(--fwb-blue)!important;color:#fff!important;border-color:var(--fwb-blue)!important;
  box-shadow:var(--fwb-shadow-primary)!important;
}
:is(
  .btn-primary,
  .btn:not(.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost),
  .btn-next,.p-cta:not(.secondary),.tier-cta,.calc-button,.quiz-btn-next,
  .rg-cta-btn:not(.secondary),.dfcard-cta,.fw-cta-btn,.dir-btn.primary,
  .cp-cta.pri,.pr-btn.solid,.pr-btn.gold,.ew-btn:not(.ew-btn-ghost),.fi-btn,
  .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta:not(.secondary),.btn-cta-white,
  .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
  .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,
  .fw-cookie-accept,.fw-capture-submit,.fw-share-modal-submit,.fw-wizard-rec-cta,#fw-strip-btn,
  .gx-sub button,.pv-lock button
):not(#fwb):hover{
  background:var(--fwb-blue-hover)!important;border-color:var(--fwb-blue-hover)!important;color:#fff!important;
  box-shadow:var(--fwb-shadow-primary-hover)!important;
}
:is(
  .btn-primary,
  .btn:not(.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost),
  .btn-next,.p-cta:not(.secondary),.tier-cta,.calc-button,.quiz-btn-next,
  .rg-cta-btn:not(.secondary),.dfcard-cta,.fw-cta-btn,.dir-btn.primary,
  .cp-cta.pri,.pr-btn.solid,.pr-btn.gold,.ew-btn:not(.ew-btn-ghost),.fi-btn,
  .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta:not(.secondary),.btn-cta-white,
  .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
  .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,
  .fw-cookie-accept,.fw-capture-submit,.fw-share-modal-submit,.fw-wizard-rec-cta,#fw-strip-btn,
  .gx-sub button,.pv-lock button
):not(#fwb):active{background:var(--fwb-blue-press)!important;border-color:var(--fwb-blue-press)!important}

/* ── 3. VARIANT: secondary (outline on card; reads as a white button on dark bands) ── */
:is(
  .btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.quiz-btn-back,.form-nav-back,
  .p-cta.secondary,.rg-cta-btn.secondary,.nc-product-cta.secondary,.btn-cta-outline,
  .dir-cta-btn-white,.dir-btn:not(.primary),.cp-cta.sec,.cp-go a,.pr-btn.ghost,.ew-btn-ghost,.fi-btn2,
  .fw-stripe-close,.fw-cookie-decline,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,
  .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child
):not(#fwb){
  background:var(--card,#fff)!important;color:var(--ink,#0F1A2E)!important;border-color:var(--line-mid,rgba(15,26,46,.16))!important;
  box-shadow:var(--fwb-shadow-secondary)!important;
}
:is(
  .btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.quiz-btn-back,.form-nav-back,
  .p-cta.secondary,.rg-cta-btn.secondary,.nc-product-cta.secondary,.btn-cta-outline,
  .dir-cta-btn-white,.dir-btn:not(.primary),.cp-cta.sec,.cp-go a,.pr-btn.ghost,.ew-btn-ghost,.fi-btn2,
  .fw-stripe-close,.fw-cookie-decline,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,
  .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child
):not(#fwb):hover{
  background:var(--faint,#F6F8FE)!important;color:var(--ink,#0F1A2E)!important;border-color:var(--fwb-blue)!important;
  box-shadow:var(--fwb-shadow-secondary-hover)!important;
}
:is(
  .btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.quiz-btn-back,.form-nav-back,
  .p-cta.secondary,.rg-cta-btn.secondary,.nc-product-cta.secondary,.btn-cta-outline,
  .dir-cta-btn-white,.dir-btn:not(.primary),.cp-cta.sec,.cp-go a,.pr-btn.ghost,.ew-btn-ghost,.fi-btn2,
  .fw-stripe-close,.fw-cookie-decline,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,
  .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child
):not(#fwb):active{background:var(--pale,#EEF3FD)!important}
/* toggled state used by the clause ideas "Add to my list" buttons */
.ci-btn[aria-pressed="true"]:not(#fwb){background:var(--pale,#EEF3FD)!important;border-color:var(--fwb-blue)!important;color:var(--fwb-blue)!important}

/* ── 4. VARIANT: dark (navy, header CTA) ─────────────────────────────── */
:is(.nav-cta,.pr-btn.ink,.fw-save button):not(#fwb){
  background:var(--fwb-navy)!important;color:#fff!important;border-color:var(--fwb-navy)!important;box-shadow:var(--fwb-shadow-primary)!important;
}
:is(.nav-cta,.pr-btn.ink,.fw-save button):not(#fwb):hover{
  background:var(--fwb-navy-hover)!important;border-color:var(--fwb-navy-hover)!important;color:#fff!important;
  box-shadow:0 10px 22px -10px rgba(15,26,46,.55)!important;
}
:is(.nav-cta,.pr-btn.ink,.fw-save button):not(#fwb):active{background:#000814!important}
[data-theme="dark"] :is(.nav-cta,.pr-btn.ink,.fw-save button):not(#fwb){background:var(--fwb-blue)!important;border-color:var(--fwb-blue)!important}
[data-theme="dark"] :is(.nav-cta,.pr-btn.ink,.fw-save button):not(#fwb):hover{background:var(--fwb-blue-hover)!important;border-color:var(--fwb-blue-hover)!important}

/* ── 5. VARIANT: link (ghost / text-link buttons) ─────────────────────── */
:is(.fw-btn-link,.dir-cta-btn-outline,.pr-link,.fi-link,.fwi-link,.wk-forget,.fw-capture-nothanks,.fw-share-modal-dismiss):not(#fwb){
  -webkit-appearance:none;appearance:none;
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding:4px 2px!important;
  font-family:var(--fwb-font)!important;font-weight:600!important;letter-spacing:-.005em!important;
  text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important;
  cursor:pointer;transform:none!important;
  transition:color var(--fwb-dur) var(--fwb-ease),text-decoration-color var(--fwb-dur) var(--fwb-ease)!important;
}
:is(.fw-btn-link,.dir-cta-btn-outline,.pr-link,.fi-link,.fwi-link,.wk-forget,.fw-capture-nothanks,.fw-share-modal-dismiss):not(.danger):not(#fwb){color:var(--forest,#3B6FE0)!important}
:is(.fw-btn-link,.dir-cta-btn-outline,.pr-link,.fi-link,.fwi-link,.wk-forget,.fw-capture-nothanks,.fw-share-modal-dismiss):not(#fwb):hover{text-decoration-thickness:2px!important}
:is(.fw-btn-link,.dir-cta-btn-outline,.pr-link,.fi-link,.fwi-link,.wk-forget,.fw-capture-nothanks,.fw-share-modal-dismiss):not(.danger):not(#fwb):hover{color:var(--fwb-blue-hover)!important}
[data-theme="dark"] :is(.fw-btn-link,.dir-cta-btn-outline,.pr-link,.fi-link,.fwi-link,.wk-forget,.fw-capture-nothanks,.fw-share-modal-dismiss):not(.danger):not(#fwb){color:var(--forest)!important}

/* ── 6. SIZES ────────────────────────────────────────────────────────── */
:is(
  .btn-sm,.nav-cta,.dir-btn,.ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,
  .fw-cookie-accept,.fw-cookie-decline,.fw-mobile-cta-row>a,.fw-float-cta-btn,.rg-cta-btn,.dfcard-cta,
  .referral-submit,.fw-save button,.ow-add,.btn-add-child,
  .pr-table tfoot .pr-btn,.pr-pub .pr-btn,.cp-table .cp-cta
):not(#fwb){min-height:44px!important;padding:10px 16px!important;font-size:14px!important;gap:6px}
:is(.btn-lg,.fw-btn-lg):not(#fwb){min-height:56px!important;padding:16px 30px!important;font-size:16px!important}
:is(.btn-sm,.nav-cta,.dir-btn,.ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child):not(#fwb) svg{width:16px;height:16px}
/* comparison tables have narrow columns: keep the label on one line, trim side padding */
:is(.pr-table tfoot .pr-btn,.cp-table .cp-cta):not(#fwb){padding:10px 12px!important;font-size:13.5px!important}

/* ── 7. ONE HOVER, ONE PRESS ─────────────────────────────────────────── */
@media (hover:hover){
  :is(
    .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
    .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
    .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.dir-cta-btn-white,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
    .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta,.btn-cta-white,.btn-cta-outline,
    .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
    .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,.fw-stripe-close,
    .fw-cookie-accept,.fw-cookie-decline,.fw-capture-submit,.fw-share-modal-submit,
    .fw-wizard-rec-cta,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,#fw-strip-btn,
    .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child,
    .gx-sub button,.pv-lock button,.fw-save button
  ):not(#fwb):hover{transform:translateY(-1px)!important}
}
:is(
  .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
  .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
  .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.dir-cta-btn-white,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
  .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta,.btn-cta-white,.btn-cta-outline,
  .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
  .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,.fw-stripe-close,
  .fw-cookie-accept,.fw-cookie-decline,.fw-capture-submit,.fw-share-modal-submit,
  .fw-wizard-rec-cta,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,#fw-strip-btn,
  .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child,
  .gx-sub button,.pv-lock button,.fw-save button
):not(#fwb):is(:active,.fw-btn-press){
  transform:translateY(0) scale(.98)!important;
  box-shadow:none!important;
  transition-duration:80ms!important;
}

/* ── 8. FOCUS AND DISABLED ───────────────────────────────────────────── */
:is(
  .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
  .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
  .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.dir-cta-btn-white,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
  .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta,.btn-cta-white,.btn-cta-outline,
  .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
  .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,.fw-stripe-close,
  .fw-cookie-accept,.fw-cookie-decline,.fw-capture-submit,.fw-share-modal-submit,
  .fw-wizard-rec-cta,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,#fw-strip-btn,
  .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child,
  .gx-sub button,.pv-lock button,.fw-save button,
  .fw-btn-link,.dir-cta-btn-outline,.pr-link,.fi-link,.fwi-link,.wk-forget,.fw-capture-nothanks,.fw-share-modal-dismiss
):not(#fwb):focus-visible{
  outline:3px solid var(--fwb-ring)!important;outline-offset:3px!important;
}
:is(
  .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
  .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
  .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
  .login-btn,.pc-buy-btn,.ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
  .fw-capture-submit,.fw-share-modal-submit,.ci-btn,.fw-save-btn,.ow-add,.btn-add-child,
  .gx-sub button,.pv-lock button,.fw-save button
):not(#fwb):is(:disabled,[aria-disabled="true"],.busy,.is-disabled){
  opacity:.5!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important;
}

/* ── 9. REDUCED MOTION: colour changes only ───────────────────────────── */
@media (prefers-reduced-motion:reduce){
  :is(
    .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
    .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
    .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.dir-cta-btn-white,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
    .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta,.btn-cta-white,.btn-cta-outline,
    .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
    .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,.fw-stripe-close,
    .fw-cookie-accept,.fw-cookie-decline,.fw-capture-submit,.fw-share-modal-submit,
    .fw-wizard-rec-cta,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,#fw-strip-btn,
    .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child,
    .gx-sub button,.pv-lock button,.fw-save button
  ):not(#fwb){transition:background-color var(--fwb-dur) linear,border-color var(--fwb-dur) linear,color var(--fwb-dur) linear!important}
  :is(
    .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
    .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
    .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.dir-cta-btn-white,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
    .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta,.btn-cta-white,.btn-cta-outline,
    .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
    .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,.fw-stripe-close,
    .fw-cookie-accept,.fw-cookie-decline,.fw-capture-submit,.fw-share-modal-submit,
    .fw-wizard-rec-cta,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,#fw-strip-btn,
    .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child,
    .gx-sub button,.pv-lock button,.fw-save button
  ):not(#fwb):is(:hover,:active,.fw-btn-press){transform:none!important}
}
html.fw-reduce :is(
  .btn,.btn-primary,.btn-secondary,.btn-outline,.btn-white,.btn-sec,.btn-ghost,.btn-back,.btn-next,
  .nav-cta,.p-cta,.tier-cta,.calc-button,.quiz-btn-next,.quiz-btn-back,.form-nav-back,
  .rg-cta-btn,.dfcard-cta,.fw-cta-btn,.dir-btn,.dir-cta-btn-white,.cp-cta,.cp-go a,.pr-btn,.ew-btn,.fi-btn,.fi-btn2,
  .login-btn,.lr-hero-cta,.pc-buy-btn,.nc-product-cta,.btn-cta-white,.btn-cta-outline,
  .ep-form-submit,.aff-submit,.wl-submit,.pm-submit,.pdf-buy-btn,.referral-submit,
  .fw-mob-cta,.fw-mobile-cta-row>a,.fw-float-cta-btn,.fw-stripe-assess,.fw-stripe-close,
  .fw-cookie-accept,.fw-cookie-decline,.fw-capture-submit,.fw-share-modal-submit,
  .fw-wizard-rec-cta,.fw-wizard-open-btn,.fw-wizard-back,.fw-wizard-restart,#fw-strip-btn,
  .ci-btn,.fw-save-btn,.ar-share button,.post-share-btn,.share-link,.ow-add,.btn-add-child,
  .gx-sub button,.pv-lock button,.fw-save button
):not(#fwb):is(:hover,:active,.fw-btn-press){transform:none!important}

/* visually hidden helper for "(opens in a new tab)" where an external arrow was removed */
.fw-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
