/* =========================================================================
 * Redesigned consultation funnel — isolated styles.
 * Everything is scoped under body.redisigned so it can never affect the other
 * gvs form pages (consultation, questionnaire, private-consultation, v-2).
 * Targets the real gvs markup: .gvs-form-part / .form-group / .form-control /
 * .form-check-radio / .gvs-form-product / .button-next, plus JS-injected
 * decorations (.cf-stepper, .cf-proof, .cf-scarcity, .cf-popup, .cf-elig).
 * ========================================================================= */

body.redisigned {
  --red:#DF1E30;--red-d:#b21826;--red-l:#fdf1f2;--red-b:#f5c0c5;
  --navy:#041f39;--navy-l:#0a2d52;--navy-xl:#e8edf7;
  --text:#070404;--muted:#556070;--hint:#9aabb8;
  --bg:#fff;--surf:#f5f7fb;--surf2:#eef1f8;
  --bdr:#dde3ee;--bdr-s:#e8edf7;
  --green:#156032;--gbg:#e6f4ed;--gb:#9ecfb4;
  --gold:#9a7b2f;--goldbg:#faf3e0;
  --r:8px;--rl:14px;--rxl:18px;
  --sh:0 2px 16px rgba(15,31,61,.06);
  --sh-md:0 6px 28px rgba(15,31,61,.10);
  --sh-lg:0 12px 44px rgba(15,31,61,.14);

  background:var(--surf);
  font-family:'Montserrat',sans-serif;
  color:var(--text);
}

/* ---- minimal funnel header ---------------------------------------------- */
body.redisigned .cf-header { background:#fff; border-bottom:1px solid var(--bdr-s); }
body.redisigned .cf-header-inner { max-width:1200px; margin:0 auto; padding:16px 20px; display:flex; align-items:center; }
body.redisigned .cf-header-inner a { display:inline-flex; align-items:center; }
body.redisigned .cf-header-inner img,
body.redisigned .cf-header-inner .custom-logo { max-height:42px; width:auto; height:auto; display:block; }

/* ---- layout shell -------------------------------------------------------- */
body.redisigned .gvs-form,
body.redisigned article.gvs-form {
  max-width:626px;
  margin:0 auto;
  /*padding:24px 16px 120px;*/
  font-family:'Montserrat',sans-serif;
}
body.redisigned .gvs-form-part-container,
body.redisigned .gvs-form-container,
body.redisigned .form-container { max-width:100%; padding:0; }

/* ---- each step = card ---------------------------------------------------- */
body.redisigned .gvs-form-part {
  background:#fff;
  border:1px solid var(--bdr-s);
  border-radius:var(--rxl);
  box-shadow:var(--sh-md);
  overflow:hidden;
  margin-bottom:14px;
}
/* lazy mode shows future parts; keep only the active one visible */
body.redisigned .gvs-form-part:not(.active) { display:none; }
body.redisigned .gvs-form-part.active { animation:cfIn .3s ease; }
@keyframes cfIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

body.redisigned .gvs-form-part-row { display:block; margin:0; }
body.redisigned .gvs-form-part-col-2 { width:100%; max-width:100%; flex:none; padding:0; }

/* ---- headings ------------------------------------------------------------ */
body.redisigned .gvs-form-part-header { padding:24px 32px 0; border:0;
  margin-bottom: 5px; }
body.redisigned .gvs-form-title.title {
  font-family: 'Montserrat', sans-serif;
  text-align: left;
  font-size:26px; font-weight:700; color:var(--navy);
  line-height:1.2; margin:0 0 6px;
}
body.redisigned .gvs-form-part-heading { padding:0 32px; }
body.redisigned .gvs-form-subtitle.subtitle {
  font-size:18px; font-weight:400; color:var(--muted);
  line-height:1.65; margin:0 0 18px;
  font-family: 'Montserrat',sans-serif;
  text-align: left;
}
body.redisigned .gvs-form-part-body { padding:0 32px; }

/* ---- fields -------------------------------------------------------------- */
body.redisigned .gvs-form-section-row { display:flex; flex-wrap:wrap; gap:13px; margin-bottom:0; }
body.redisigned .gvs-form-section-column { flex:1 1 calc(50% - 7px); min-width:200px; }
body.redisigned .form-group { margin-bottom:14px; }

body.redisigned .form-label {
  font-size:14px; font-weight:600; color:var(--navy);
  margin-bottom:5px; display:block;
}
body.redisigned .form-label em { color:var(--red); font-style:normal; }

body.redisigned .form-control,
body.redisigned .form-control-wrapper select.form-control,
body.redisigned .iti input.form-control-phone {
  line-height:1;
  width:100%; border:1.5px solid var(--bdr); border-radius:var(--r);
  padding:11px 14px; font-size:14px; color:var(--text); background-color:#fff;
  font-family:'Montserrat',sans-serif; outline:none;
  transition:border-color .15s,box-shadow .15s; -webkit-appearance:none;
}
body.redisigned .form-control:focus,
body.redisigned select.form-control:focus {
  border-color:var(--red); box-shadow:0 0 0 3px rgba(223,30,48,.07);
}
body.redisigned .form-control::placeholder { color:var(--hint); }

/* select arrow */
body.redisigned .form-control-wrapper { position:relative; }
body.redisigned .form-control-wrapper select.form-control { padding-right:38px; }
body.redisigned .form-control-wrapper::after {
  content:""; position:absolute; right:14px; top:50%; width:9px; height:9px;
  border-right:2px solid var(--hint); border-bottom:2px solid var(--hint);
  transform:translateY(-70%) rotate(45deg); pointer-events:none;
}

/* phone */
body.redisigned .iti { width:100%; }

/* ---- radio groups rendered as option chips ------------------------------ */
body.redisigned .form-group-check .form-label { margin-bottom:8px; }
body.redisigned .form-check-options { display:grid; gap:9px; }
body.redisigned .form-check.form-check-radio {
  position:relative; margin:0; padding:0; border:0; min-height:0;
}
body.redisigned .form-check-radio .form-check-input {
  position:absolute; opacity:0; inset:0; margin:0; cursor:pointer;
}
body.redisigned .form-check-radio .form-check-label {
  display:flex; align-items:center; gap:12px; width:100%; cursor:pointer;
  border:1.5px solid var(--bdr); border-radius:var(--rl);
  padding:12px 16px; font-size:14px; color:var(--muted);
  background:#fff; transition:all .15s; line-height:1.35;
}
body.redisigned .form-check-radio .form-check-input:hover + .form-check-label {
  border-color:var(--navy); background:var(--surf2); color:var(--navy);
}
body.redisigned .form-check-radio .form-check-input:checked + .form-check-label {
  border-color:var(--red); background:var(--red-l); color:var(--red-d); font-weight:600;
}

/* validation */
body.redisigned .invalid-feedback { font-size:11.5px; color:var(--red-d); }
body.redisigned .was-validated .form-control:invalid,
body.redisigned .form-control.is-invalid { border-color:var(--red); }

/* ---- actions / buttons --------------------------------------------------- */
body.redisigned .gvs-form-part-footer { padding:0 32px 28px; border:0; }
body.redisigned .gvs-form-actions {
  display:flex; align-items:center; gap:12px; flex-direction:row;
}
body.redisigned .button-previous .cf-back-ic { flex-shrink:0; }
body.redisigned .button {
  border:none; border-radius:30px; padding:14px 30px; font-size:13px;
  font-weight:600; cursor:pointer; font-family:'Montserrat',sans-serif;
  letter-spacing:.65px; text-transform:uppercase; transition:all .15s;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
}
body.redisigned .button-next {
  flex:1; background:var(--red); color:#fff; width:100%;
}
body.redisigned .button-next:hover { background:var(--red-d); transform:translateY(-1px); }
body.redisigned .button-previous {
  flex: 1;
  background:transparent; border:1.5px solid var(--bdr); color:var(--muted);
}
body.redisigned .button-previous:hover { border-color:var(--navy); color:var(--navy); }
body.redisigned .gvs-form-actions > span { display:none; }
body.redisigned .alert-errors { border-radius:var(--r); font-size:13px; margin:0 32px 14px; }

/* ---- products / plan cards (gvs markup mapped to the mockup .plan look) --- */
body.redisigned .gvs-form-products-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:8px; }
body.redisigned .gvs-form-products-col { display:block; }
body.redisigned .gvs-form-product.product {
  border:2px solid var(--bdr); border-radius:var(--rl); padding:15px 20px 20px 44px;
  background:#fff; position:relative; height:100%; cursor:pointer;
  display:flex; flex-direction:column; transition:all .2s;
}
body.redisigned .gvs-form-product.product:hover { border-color:var(--navy); box-shadow:var(--sh); }
/* featured card gets a navy border */
body.redisigned .gvs-form-products-col:has(.gvs-form-product-featured) .gvs-form-product.product { border-color:var(--navy); }
/* selected card */
body.redisigned .gvs-form-product.product.selected {
  border-color:#051B2E; background:#EEF3F8; box-shadow:0 0 0 3px rgba(5,27,46,.08);
}
/* selection check (injected by JS) */
body.redisigned .cf-plan-check {
  position:absolute; top:16px; left:16px; width:20px; height:20px; border-radius:50%;
  border:1.5px solid var(--bdr); background:#fff; transition:all .2s; z-index:2;
}
body.redisigned .gvs-form-product.selected .cf-plan-check { background:#051B2E; border-color:#051B2E; }
body.redisigned .gvs-form-product.selected .cf-plan-check::after {
  box-sizing: content-box;
  content:""; position:absolute; left:5px; top:4px; width:7px; height:4px;
  border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg);
}
/* "Most popular" badge = the top featured block, pinned top-right */
body.redisigned .gvs-form-product-header > .gvs-form-product-featured {
  position:absolute; top:-1px; right:16px; z-index:2;
  background:var(--navy); color:#fff; font-size:10px; font-weight:700; letter-spacing:.05em;
  padding:3px 10px; border-radius:0 0 7px 7px;
}
body.redisigned .gvs-form-product-header > .gvs-form-product-featured .gvs-form-product-featured-title { color:#fff; }
/* hide the duplicate featured marker (inside heading) and the icon */
body.redisigned .gvs-form-product-heading .gvs-form-product-featured,
body.redisigned .gvs-form-product-icon { display:none; }
/* name = caption (the big "...Package" title is hidden to match the mockup) */
body.redisigned .gvs-form-product-title { display:none; }
body.redisigned .gvs-form-product-caption {
  font-size:11px; font-weight:700; color:var(--hint);
  text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px;
}
/* price */
body.redisigned .gvs-form-product-prices { display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin-bottom:6px; }
body.redisigned .gvs-form-product-price { font-size:32px; font-weight:700; color:var(--navy); line-height:1; }
body.redisigned .gvs-form-product-price.original { font-size:14px; font-weight:400; color:var(--hint); text-decoration:line-through; }
body.redisigned .gvs-form-product-price-label,
body.redisigned .gvs-form-product-period { font-size:13px; font-weight:400; color:var(--muted); }
/* description */
body.redisigned .gvs-form-product-description { font-size:12.5px; color:var(--muted); line-height:1.55; margin-bottom:12px; }
/* feature list — always visible, red check bullets */
body.redisigned .gvs-form-product-features-button { display:none; }
body.redisigned .gvs-form-product-features-list-wrapper { display:block !important; height:auto !important; max-height:none !important; }
body.redisigned .gvs-form-product-features-list { display:flex; flex-direction:column; gap:6px; }
body.redisigned .gvs-form-product-features-list-item { font-size:12.5px; color:var(--muted); }
/* per-plan buttons are replaced by a single bottom Continue button */
body.redisigned .gvs-form-product-actions { display:none; }
/* single Continue button for the products step */
body.redisigned .cf-plan-continue { width:100%; margin-top:4px; }
body.redisigned .cf-plan-continue[disabled] { opacity:.45; cursor:not-allowed; }
body.redisigned .cf-plan-continue[disabled]:hover { background:var(--red); transform:none; }

/* order summary (shown when a plan is selected) */
body.redisigned .cf-order-summary {
  display:none; background:var(--surf); border:1px solid var(--bdr-s); border-radius:var(--rl);
  padding:16px 18px; margin:16px 0 0;
}
body.redisigned .cf-order-summary.on { display:block; animation:cfIn .25s ease; }
body.redisigned .cf-os-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0; border-bottom:1px solid var(--bdr-s); font-size:13.5px; }
body.redisigned .cf-os-row:last-child { border-bottom:0; padding-top:10px; margin-top:4px; }
body.redisigned .cf-os-label { color:var(--muted); }
body.redisigned .cf-os-value { font-weight:600; color:var(--navy); }
body.redisigned .cf-os-total-label { font-size:14px; font-weight:600; color:var(--navy); }
body.redisigned .cf-os-total { font-size:22px; font-weight:700; color:var(--red); }

/* =========================================================================
 * JS-injected decorations
 * ========================================================================= */

/* progress stepper */
body.redisigned .cf-stepper {
  width: 100%;
  max-width:660px; margin:24px auto 0; background:#fff; border:1px solid var(--bdr-s);
  border-radius:var(--rxl); box-shadow:var(--sh); padding:20px 28px;
}
body.redisigned .cf-stepper-row { display:flex; align-items:center; justify-content:space-between; gap:4px; margin-bottom:10px; }
body.redisigned .cf-step { display:flex; flex-direction:column; align-items:center; gap:5px; flex-shrink:0; }
/* number circle — hidden on desktop, shown on mobile */
body.redisigned .cf-step-num {
  width:28px; height:28px; border-radius:50%; display:none;
  align-items:center; justify-content:center; font-size:12px; font-weight:600;
  background:var(--surf2); color:var(--hint); border:1.5px solid var(--bdr); transition:all .3s;
}
body.redisigned .cf-step.active .cf-step-num { background:var(--red); color:#fff; border-color:var(--red); }
body.redisigned .cf-step.done .cf-step-num { background:var(--navy); color:#fff; border-color:var(--navy); }
/* label — shown on desktop, hidden on mobile */
body.redisigned .cf-step-title { font-size:12px; font-weight:500; color:var(--hint); text-align:center; line-height:1.2; transition:color .3s; }
body.redisigned .cf-step.active .cf-step-title { color:var(--red); font-weight:600; }
body.redisigned .cf-step.done .cf-step-title { color:var(--navy); }
/* connectors — hidden on desktop, shown on mobile */
body.redisigned .cf-step-conn { display:none; }
body.redisigned .cf-bar { width:100%; height:4px; background:var(--bdr); border-radius:100px; overflow:hidden; }
body.redisigned .cf-bar-fill { height:100%; background:var(--red); border-radius:100px; width:17%; transition:width .5s cubic-bezier(.4,0,.2,1); }

/* proof strip */
body.redisigned .cf-proof {
  max-width:660px; margin:14px auto 14px; background:#fff; border:1px solid var(--bdr-s);
  border-radius:var(--rxl); box-shadow:var(--sh); padding:14px 22px;
  display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:13px; color:var(--muted);
}
body.redisigned .cf-proof strong { color:var(--text); }
body.redisigned .cf-proof .cf-rating { margin-left:auto; color:#FFC107; letter-spacing:1px; font-size:12px; }

/* privacy note (step 1, after fields / before Continue) */
body.redisigned .cf-privacy {
  display:flex; gap:8px; align-items:flex-start; line-height:1.55;
  font-size:12px; color:var(--muted);
  background:var(--surf); border:1px solid var(--bdr-s); border-radius:var(--r);
  padding:10px 13px; margin-bottom:16px;
}
body.redisigned .cf-privacy svg { flex-shrink:0; margin-top:2px; color:var(--navy); }

/* testimonials (step 1 only, mounted into the first card) */
body.redisigned .cf-testimonials { padding:24px 32px 28px; border-top:1px solid var(--bdr-s); margin-top:6px; }
body.redisigned .cf-testi-title { font-size:13px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; margin-bottom:14px; }
body.redisigned .cf-testi-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
body.redisigned .cf-tc { background:var(--surf); border:1px solid var(--bdr-s); border-radius:var(--rl); padding:14px; }
body.redisigned .cf-tc-top { display:flex; align-items:center; gap:8px; margin-bottom:8px; line-height: 1.6 }
body.redisigned .cf-tav { width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; flex-shrink:0; }
body.redisigned .cf-tv1 { background:#dbeafe; color:#1d4ed8; }
body.redisigned .cf-tv2 { background:var(--navy-xl); color:var(--navy); }
body.redisigned .cf-tv3 { background:#dcfce7; color:#166534; }
body.redisigned .cf-tc-name { font-size:12.5px; font-weight:600; color:var(--navy); }
body.redisigned .cf-tc-from { font-size:11px; color:var(--hint); }
body.redisigned .cf-tc-stars { color:#FFC107; font-size:10px; margin-bottom:5px; }
body.redisigned .cf-tc-quote { font-size:12px; color:var(--muted); font-style:italic; line-height:1.5; }

/* authority footer (persistent block under the form) */
body.redisigned .auth-footer {
  max-width:626px; margin:0 auto 14px;
  background:#070404; border-radius:var(--rxl); padding:20px 26px;
  display:flex; gap:12px; align-items:flex-start;
}
body.redisigned .af-icon { color:rgba(255,255,255,.35); flex-shrink:0; margin-top:2px; }
body.redisigned .af-body strong { font-size:13px; font-weight:600; color:#fff; display:block; margin-bottom:3px; }
body.redisigned .af-body p { font-size:12px; color:rgba(255,255,255,.55); line-height:1.6; margin:0; }
body.redisigned .af-pill {
  display:inline-flex; align-items:flex-start; gap:4px; margin-top:7px;
  background:rgba(255,255,255,.1); color:rgba(255,255,255,.75);
  font-size:11px; font-weight:600; padding:3px 10px; border-radius:100px;
  border:1px solid rgba(255,255,255,.15);
}

body.redisigned .af-pill svg {
  flex: 1 0 auto;
  margin-top: 6px;
}

/* scarcity band */
body.redisigned .cf-scarcity {
  background:var(--red-l); border:1px solid var(--red-b); border-radius:var(--rl);
  padding:14px 18px; margin-bottom:14px; display:flex; align-items:center; gap:16px; flex-wrap:wrap;
}
body.redisigned .cf-scarcity .cf-sc-left { flex:1; min-width:180px; }
body.redisigned .cf-scarcity .cf-sc-lbl { font-size:12.5px; font-weight:600; color:var(--navy); display:flex; justify-content:space-between; gap:8px; margin-bottom:5px; }
body.redisigned .cf-scarcity .cf-sc-lbl span { color:var(--red); }
body.redisigned .cf-sc-track { background:rgba(223,30,48,.15); border-radius:100px; height:7px; overflow:hidden; margin-bottom:4px; }
body.redisigned .cf-sc-fill { height:100%; background:var(--red); border-radius:100px; }
body.redisigned .cf-sc-note { font-size:11.5px; color:var(--red-d); }
body.redisigned .cf-sc-cap { font-size:11px; font-weight:600; color:var(--red-d); text-align:right; margin-bottom:5px; }
body.redisigned .cf-countdown { display:flex; gap:5px; align-items:center; flex-shrink:0; }
body.redisigned .cf-cu { background:#fff; border:1px solid var(--bdr); border-radius:6px; padding:6px 9px; text-align:center; min-width:42px; }
body.redisigned .cf-cu-n { font-size:17px; font-weight:700; color:var(--red); line-height:1; }
body.redisigned .cf-cu-l { font-size:9px; color:var(--hint); margin-top:2px; letter-spacing:.04em; text-transform:uppercase; }
body.redisigned .cf-cu-sep { font-size:16px; color:var(--red-b); font-weight:600; align-self:flex-start; margin-top:5px; }

/* spots remaining pill */
body.redisigned .cf-spots-wrap { display:flex; align-items:center; gap:8px; margin-bottom:14px; }
body.redisigned .cf-spots {
  display:flex; align-items:center; gap:6px;
  background:var(--red-l); border:1px solid var(--red-b); border-radius:100px;
  padding:6px 14px; font-size:12.5px; font-weight:600; color:var(--red-d);
}

/* products step: "spot is held for" timer */
body.redisigned .cf-hold {
  background:var(--red-l); border:1.5px solid var(--red-b); border-left:4px solid var(--red);
  border-radius:var(--rl); padding:18px 22px; margin-bottom:12px;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
body.redisigned .cf-hold-left { display:flex; align-items:center; gap:12px; }
body.redisigned .cf-hold-left > svg { flex-shrink:0; color:var(--red); }
body.redisigned .cf-hold-title { font-size:14px; font-weight:700; color:var(--red); margin-bottom:2px; }
body.redisigned .cf-hold-sub { font-size:12.5px; color:var(--red-d); }
body.redisigned .cf-hold-timer { display:flex; align-items:center; gap:5px; flex-shrink:0; }
body.redisigned .cf-hold-unit { text-align:center; }
body.redisigned .cf-hold-n { font-size:28px; font-weight:700; color:var(--red); line-height:1; }
body.redisigned .cf-hold-l { font-size:9px; font-weight:600; color:var(--red-d); letter-spacing:.08em; text-transform:uppercase; margin-top:2px; }
body.redisigned .cf-hold-sep { font-size:26px; font-weight:700; color:var(--red); margin-bottom:10px; }

/* products step: availability bar */
body.redisigned .cf-avail { background:#fff; border:1px solid var(--bdr-s); border-radius:var(--rl); padding:16px 20px; margin-bottom:18px; }
body.redisigned .cf-avail-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
body.redisigned .cf-avail-label { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; color:var(--text); }
body.redisigned .cf-avail-label svg { flex-shrink:0; }
body.redisigned .cf-avail-remaining { font-size:13px; font-weight:700; color:var(--red); white-space:nowrap; }
body.redisigned .cf-avail-track { width:100%; height:7px; background:var(--red-l); border-radius:100px; overflow:hidden; margin-bottom:10px; }
body.redisigned .cf-avail-fill { height:100%; border-radius:100px; background:var(--red); transition:width .6s; }
body.redisigned .cf-avail-text { font-size:12.5px; color:var(--muted); }

/* eligibility preview screen */
body.redisigned .cf-elig { animation:cfIn .25s ease; }
body.redisigned .cf-elig-table { border:1px solid var(--bdr); border-radius:var(--rl); overflow:hidden; margin-bottom:20px; }
body.redisigned .cf-elig-row { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid var(--bdr-s); font-size:13.5px; }
body.redisigned .cf-elig-row:last-child { border-bottom:0; }
body.redisigned .cf-elig-row:nth-child(even) { background:var(--surf); }
body.redisigned .cf-elig-path { color:var(--navy); font-weight:500; flex:1; margin-right:12px; }
body.redisigned .cf-tag-g { background:var(--gbg); color:var(--green); border:1px solid var(--gb); }
body.redisigned .cf-tag-a { background:var(--goldbg); color:var(--gold); }
body.redisigned .cf-tag-r { background:var(--red-l); color:var(--red-d); }
body.redisigned [class^="cf-tag-"] { font-size:11px; font-weight:600; padding:3px 10px; border-radius:100px; white-space:nowrap; }
body.redisigned .cf-elig-tag { font-size:11px; font-weight:600; padding:3px 10px; border-radius:100px; white-space:nowrap; }
body.redisigned .cf-elig-cta { background:#051B2E; border-radius:var(--rl); padding:22px 24px; }
body.redisigned .cf-elig-cta h3 { text-align:left; font-family: 'Montserrat', sans-serif; font-size:20px; font-weight:700; color:#fff; margin:0 0 6px; }
body.redisigned .cf-elig-cta p { font-size:13px; color:rgba(255,255,255,.7); line-height:1.6; margin:0 0 18px; }
body.redisigned .cf-elig-cta .cf-elig-go {
  width:100%; background:var(--red); color:#fff; border:none; border-radius:30px;
  padding:14px; font-size:13px; font-weight:600; cursor:pointer; text-transform:uppercase;
  letter-spacing:.65px; font-family:'Montserrat',sans-serif;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
}
body.redisigned .cf-elig-cta .cf-elig-go:hover { background:var(--red-d); }
body.redisigned .cf-elig-note {
  font-size:12px; color:rgba(255,255,255,.45); text-align:center; margin-top:10px;
  display:flex; align-items:center; justify-content:center; gap:4px;
}

body.redisigned .cf-elig-note svg {
  width: 13px;
}

/* green "pathways detected" callout (Your Results step) */
body.redisigned .cf-elig-callout {
  background:var(--gbg); border:1.5px solid var(--gb); border-radius:var(--rl);
  padding:18px 20px; display:flex; gap:14px; align-items:flex-start; margin-bottom:14px;
}
body.redisigned .cf-elig-callout-ic {
  width:38px; height:38px; border-radius:50%; border:2px solid var(--gb); background:#fff;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px;
}
body.redisigned .cf-elig-callout-title { font-size:14px; font-weight:700; color:var(--green); margin-bottom:6px; }
body.redisigned .cf-elig-callout-text { font-size:13px; color:#2d6b4a; line-height:1.65; }
body.redisigned .cf-elig-callout-text strong { color:#0f4d28; }

/* quiz sub-screen mini progress */
body.redisigned .cf-quiz-mini { display:flex; align-items:center; gap:8px; margin-bottom:20px; }
body.redisigned .cf-quiz-mini-track { flex:1; height:4px; background:var(--bdr); border-radius:100px; overflow:hidden; }
body.redisigned .cf-quiz-mini-fill { height:100%; background:var(--red); border-radius:100px; transition:width .4s; }
body.redisigned .cf-quiz-mini-lbl { font-size:12px; color:var(--hint); font-weight:500; white-space:nowrap; }
body.redisigned .cf-subscreen { display:none; }
body.redisigned .cf-subscreen.on { display:block; animation:cfSlide .25s ease; }
@keyframes cfSlide{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}

/* exit-intent popup */
body.redisigned .cf-popup { display:none; position:fixed; inset:0; background:rgba(15,31,61,.55); z-index:99999; align-items:center; justify-content:center; padding:20px; }
body.redisigned .cf-popup.on { display:flex; }
body.redisigned .cf-popup-box { background:#fff; border-radius:var(--rxl); padding:32px; max-width:360px; width:100%; box-shadow:var(--sh-lg); animation:cfPop .22s cubic-bezier(.34,1.56,.64,1); }
@keyframes cfPop{from{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}
body.redisigned .cf-popup-box h3 { font-size:22px; font-weight:700; color:var(--navy); margin:0 0 7px; }
body.redisigned .cf-popup-box p { font-size:13.5px; color:var(--muted); margin:0 0 18px; line-height:1.6; }
body.redisigned .cf-popup-box .cf-pop-primary { width:100%; background:var(--red); color:#fff; border:none; border-radius:30px; padding:13px; font-weight:600; text-transform:uppercase; letter-spacing:.65px; cursor:pointer; font-family:'Montserrat',sans-serif; }
body.redisigned .cf-popup-box .cf-pop-secondary { width:100%; background:none; border:none; color:var(--hint); text-decoration:underline; font-size:12.5px; margin-top:8px; cursor:pointer; }

/* ---- responsive ---------------------------------------------------------- */
@media (max-width:600px){
  body.redisigned .gvs-form-section-column { flex:1 1 100%; }
  body.redisigned .gvs-form-products,
  body.redisigned [class*="products-row"] { grid-template-columns:1fr; }
  body.redisigned .gvs-form-part-header,
  body.redisigned .gvs-form-part-heading,
  body.redisigned .gvs-form-part-body,
  body.redisigned .gvs-form-part-footer { padding-left:20px; padding-right:20px; }
  /* stepper: on mobile show number circles + connectors, hide labels */
  body.redisigned .cf-step-num { display:flex; }
  body.redisigned .cf-step-title { display:none; }
  body.redisigned .cf-step-conn {
    display:flex; flex:1; height:2px; background:var(--bdr); border-radius:2px;
    margin:0 2px; align-self:center; transition:background .4s;
  }
  body.redisigned .cf-step-conn.done { background:var(--navy); }
  body.redisigned .cf-testi-cards { grid-template-columns:1fr; }
  body.redisigned .cf-testimonials { padding-left:20px; padding-right:20px; }
  /* products step: hold timer + availability bar stack on mobile */
  body.redisigned .cf-hold { padding:16px 18px; }
  body.redisigned .cf-hold-left { gap:10px; }
  body.redisigned .cf-hold-timer { width:100%; justify-content:flex-start; }
  body.redisigned .cf-avail-top { flex-wrap:wrap; gap:6px; }
}


/*** CUSTOM ***/
body.redisigned .gvs-form-header {
  display: none;
}

body.redisigned .gvs-form-card {
  margin-top: 0;
}

body.redisigned .gvs-form-card {
  background: unset;
  box-shadow: unset;
}

body.redisigned .proof-strip {
  background: #fff;
  border-radius: var(--rxl);
  box-shadow: var(--sh);
  border: 1px solid var(--bdr-s);
  padding: 14px 22px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

body.redisigned .ps-avatars {
  display: flex;
}

body.redisigned .ps-avatars span {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  margin-left: -9px;
  flex-shrink: 0;
}

body.redisigned .ps-avatars span:first-child {
  margin-left: 0;
}

body.redisigned .a1{background:#dbeafe;color:#1d4ed8}
body.redisigned .a2{background:#dcfce7;color:#166534}
body.redisigned .a3{background:#f3e8ff;color:#6b21a8}
body.redisigned .a4{background:#fef9c3;color:#854d0e}
body.redisigned .a5{background:#ffe4e6;color:#9f1239}
body.redisigned .ps-text{font-size:13px;color:var(--muted);flex:1}
body.redisigned .ps-text strong{color:var(--text)}
body.redisigned .ps-rating{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);flex-shrink:0}
body.redisigned .ps-stars{color:#FFC107;font-size:12px;letter-spacing:1px}

body.redisigned .gvs-form-topbar {
  display: none;
}

body.redisigned .gvs-form-section-row {
  margin: 0;
}

body.redisigned .gvs-form-section-column {
  padding: 0;
}

body.redisigned .gvs-form-product-header {
  gap: 0;
}

body.redisigned .cf-elig {
  padding-bottom: 28px;
}

body.redisigned .gvs-form-product {
  gap: 0;
}

body.redisigned .gvs-form-footer {
  display: none;
}

body.redisigned .form-control-icon-mail {
  padding-left: 40px;
}

@media (max-width: 768px) {
  body.redisigned .gvs-form-card-container {
    padding: 0 17px;
  }
  body.redisigned .proof-strip {
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
  }
  body.redisigned .gvs-form-title.title {
    font-size: 20px;
  }
  body.redisigned .cf-elig-cta h3 {
    font-size: 17px;
  }
  body.redisigned .cf-elig-cta h3 {
    font-size: 17px;
  }
  body.redisigned .cf-elig-cta .cf-elig-go {
    font-size: 11px;
    padding: 13px 20px;
    letter-spacing: .4px;
  }
  body.redisigned .cf-elig-note {
    font-size: 11px;
  }
  body.redisigned .cf-hold {
    text-align: center;
  }
  body.redisigned .cf-hold-left {
    width: 100%;
    justify-content: center;
    text-align: left;
  }
  body.redisigned .cf-hold-timer {
    width: 100%;
    justify-content: center;
  }
  body.redisigned .cf-avail-top {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  body.redisigned .af-pill {
    padding: 6px 14px;
    border-radius: 18px;
  }
  body.redisigned .cf-elig-note {
    align-items: flex-start;
  }
  body.redisigned .cf-elig-note svg {
    margin-top: 5px;
    min-width: 13px;
  }
  body.redisigned .cf-tc-top {
    margin-bottom: 0;
    line-height: 1.4;
  }
  body.redisigned .gvs-form-subtitle.subtitle {
    font-size: 16px;
  }
}