/* =========================================================================
   VSS Funnel — Light theme stylesheet
   All rules are scoped to .vss-funnel-root so they cannot bleed into the
   rest of the WordPress site.
   ========================================================================= */

.vss-funnel-root {
  --navy: #1B3F82;
  --blue: #2870C2;
  --cerulean: #4BAED4;
  --sky: #D6EAF8;
  --ghost: #F4F7FB;
  --gray: #E8EEF5;
  --ink: #0D1B2A;
  --slate: #3D4F63;
  --white: #ffffff;
  --green: #16a34a;
  --green-light: #dcfce7;
  --amber: #d97706;
  --amber-light: #fef3c7;
  --red: #dc2626;

  font-family: 'DM Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: 19px;
  color: var(--ink);
  background: var(--ghost);
  min-height: 100vh;
  width: 100%;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.vss-funnel-active {
  background: var(--ghost, #F4F7FB) !important;
}

/* Defensive resets only inside the funnel root */
.vss-funnel-root *,
.vss-funnel-root *::before,
.vss-funnel-root *::after { box-sizing: border-box; }

.vss-funnel-root h1,
.vss-funnel-root h2,
.vss-funnel-root h3,
.vss-funnel-root p,
.vss-funnel-root ul,
.vss-funnel-root ol { margin: 0; }
.vss-funnel-root ul { list-style: none; padding: 0; }
.vss-funnel-root a { color: var(--blue); text-decoration: none; }
.vss-funnel-root a:hover { text-decoration: underline; }
.vss-funnel-root img { max-width: 100%; height: auto; display: block; }

/* ----- TOP BAR / TIMER / HEADER ----------------------------------------- */
.vss-funnel-root .vss-topbar {
  background: var(--navy);
  color: #fff;
  text-align: center;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.vss-funnel-root .vss-topbar span {
  color: #4ADE80;
  font-family: 'Space Mono', ui-monospace, Menlo, Consolas, monospace;
  font-weight: 700;
}

.vss-funnel-root .vss-timer-bar {
  background: var(--navy);
  border-bottom: 2px solid var(--red);
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.vss-funnel-root .vss-timer-label {
  color: #94b8d8;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
}
.vss-funnel-root .vss-timer-digits { display: flex; gap: 6px; align-items: center; }
.vss-funnel-root .vss-digit-block {
  background: #1a0a0a;
  border: 1px solid var(--red);
  border-radius: 6px;
  padding: 4px 10px;
  min-width: 42px;
  text-align: center;
}

@media (max-width: 520px) {
  .vss-funnel-root .vss-header {
    padding: 14px 16px;
    gap: 10px;
  }

  .vss-funnel-root .vss-logo img {
    height: 34px;
  }

  .vss-funnel-root .vss-logo-text span {
    font-size: 9px;
  }

  .vss-funnel-root .vss-logo-text strong {
    font-size: 12px;
  }

  .vss-funnel-root .vss-secure-badge {
    font-size: 10px;
    padding: 4px 8px;
  }
}

.vss-funnel-root .vss-digit-block .num {
  font-family: 'Space Mono', ui-monospace, monospace;
  color: #FF6B6B;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  display: block;
}
.vss-funnel-root .vss-digit-block .lbl {
  color: #94A3B8;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  display: block;
  margin-top: 2px;
}
.vss-funnel-root .vss-colon {
  color: #FF6B6B;
  font-family: 'Space Mono', ui-monospace, monospace;
  font-size: 20px;
  font-weight: 700;
  margin-top: -6px;
}

.vss-funnel-root .vss-header {
  background: #fff;
  border-bottom: 1px solid var(--gray);
  padding: 16px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.vss-funnel-root .vss-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--navy);
  text-decoration: none;
}

.vss-funnel-root .vss-logo:hover {
  text-decoration: none;
}

.vss-funnel-root .vss-logo img {
  height: 40px;
  width: auto;
  flex-shrink: 0;
}

.vss-funnel-root .vss-logo-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.05;
  white-space: nowrap;
}

.vss-funnel-root .vss-logo-text span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--blue);
}

.vss-funnel-root .vss-logo-text strong {
  font-size: 15px;
  font-weight: 800;
  color: var(--navy);
}

.vss-funnel-root .vss-secure-badge {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--green);
  font-weight: 600;
  background: var(--green-light);
  padding: 5px 10px;
  border-radius: 999px;
  white-space: nowrap;
}

/* ----- ABOVE-FOLD HEADLINE ---------------------------------------------- */
.vss-funnel-root .vss-above-fold {
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 24px 0;
}
.vss-funnel-root .vss-headline-block { text-align: center; margin-bottom: 20px; }
.vss-funnel-root .vss-kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 8px;
}
.vss-funnel-root .vss-save-pill {
  display: inline-block;
  background: var(--red);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 999px;
  margin-bottom: 10px;
  letter-spacing: 0.02em;
}
.vss-funnel-root .vss-headline-block h1 {
  font-size: 38px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}
.vss-funnel-root .vss-headline-block p {
  font-size: 19px;
  color: var(--slate);
  line-height: 1.5;
}
.vss-funnel-root .vss-live-count {
  text-align: center;
  font-size: 12px;
  color: var(--slate);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.vss-funnel-root .vss-green-dot {
  width: 7px;
  height: 7px;
  background: var(--green);
  border-radius: 50%;
  animation: vssBlink 1.8s infinite;
}

/* ----- GRID -------------------------------------------------------------- */
.vss-funnel-root .vss-checkout-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 24px 60px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
}
.vss-funnel-root .vss-col-left { position: sticky; top: 20px; }
.vss-funnel-root .vss-col-right { min-width: 0; }

/* ----- SCARCITY / URGENCY ----------------------------------------------- */
.vss-funnel-root .vss-progress-wrap {
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 14px;
  padding: 16px 18px;
  margin-bottom: 14px;
}
.vss-funnel-root .vss-progress-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--slate);
  margin-bottom: 8px;
  display: flex;
  justify-content: space-between;
}
.vss-funnel-root .vss-claimed { font-weight: 700; color: var(--red); }
.vss-funnel-root .vss-progress-bar {
  height: 8px;
  background: var(--gray);
  border-radius: 100px;
  overflow: hidden;
}
.vss-funnel-root .vss-progress-fill {
  height: 100%;
  background: var(--green);
  border-radius: 100px;
  width: 73%;
}
.vss-funnel-root .vss-progress-sub {
  font-size: 11px;
  color: #94a3b8;
  margin-top: 6px;
  text-align: right;
}
.vss-funnel-root .vss-urgency-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #FEE2E2;
  border: 1px solid #FECACA;
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 14px;
  font-size: 12px;
  color: #991B1B;
  font-weight: 500;
  line-height: 1.4;
}
.vss-funnel-root .vss-urgency-pill .vss-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--red);
  flex-shrink: 0;
  animation: vssBlink 1.2s infinite;
}

/* ----- PLAN CARDS ------------------------------------------------------- */
.vss-funnel-root .vss-plans-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--slate);
  margin-bottom: 10px;
}
.vss-funnel-root .vss-plan-card {
  background: #fff;
  border: 2px solid var(--gray);
  border-radius: 14px;
  padding: 18px;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
  margin-bottom: 10px;
}
.vss-funnel-root .vss-plan-card:hover {
  border-color: var(--blue);
  box-shadow: 0 4px 20px rgba(40,112,194,0.08);
}
.vss-funnel-root .vss-plan-card.selected {
  border-color: var(--blue);
  background: var(--sky);
  box-shadow: 0 4px 24px rgba(40,112,194,0.12);
}
.vss-funnel-root .vss-plan-card.featured { border-color: var(--navy); }
.vss-funnel-root .vss-plan-card.featured.selected { border-color: var(--blue); background: var(--sky); }

.vss-funnel-root .vss-badge-row {
  display: flex; gap: 7px; margin-bottom: 12px; flex-wrap: wrap;
}
.vss-funnel-root .vss-badge,
.vss-funnel-root .badge {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 4px 11px;
  border-radius: 20px;
  display: inline-block;
}
.vss-funnel-root .vss-badge-best { background: var(--navy); color: #fff; }
.vss-funnel-root .vss-badge-save { background: #FEE2E2; color: #991B1B; }
.vss-funnel-root .vss-badge-popular { background: var(--green-light); color: var(--green); }
.vss-funnel-root .muted-badge { background: var(--gray); color: var(--slate); }

.vss-funnel-root .vss-plan-inner { display: flex; align-items: flex-start; gap: 12px; }
.vss-funnel-root .vss-radio-circle {
  width: 20px; height: 20px;
  border-radius: 50%;
  border: 2px solid var(--gray);
  flex-shrink: 0;
  margin-top: 3px;
  display: flex; align-items: center; justify-content: center;
  transition: all .15s;
  background: #fff;
}
.vss-funnel-root .vss-plan-card.selected .vss-radio-circle {
  border-color: var(--blue);
  background: var(--blue);
}
.vss-funnel-root .vss-radio-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #fff;
  opacity: 0;
  transition: opacity .15s;
}
.vss-funnel-root .vss-plan-card.selected .vss-radio-dot { opacity: 1; }

.vss-funnel-root .vss-plan-thumb {
  width: 72px;
  height: 72px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 10px;
  background: #fff;
  padding: 4px;
}
.vss-funnel-root .vss-plan-info { flex: 1; min-width: 0; }
.vss-funnel-root .vss-plan-name {
  font-size: 21px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 5px;
  letter-spacing: -0.01em;
}
.vss-funnel-root .vss-plan-desc {
  font-size: 16px;
  color: var(--slate);
  line-height: 1.5;
  margin-bottom: 12px;
}
.vss-funnel-root .vss-plan-features { display: flex; flex-direction: column; gap: 4px; }
.vss-funnel-root .vss-plan-features-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 22px;
}
/* When the features-grid sits below the .vss-plan-inner header row,
   give it a soft separator and breathing room. */
.vss-funnel-root .vss-plan-inner + .vss-plan-features-grid {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(40, 112, 194, 0.18);
}
@media (max-width: 900px) {
  .vss-funnel-root .vss-plan-features-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 16px;
  }
}
@media (max-width: 480px) {
  .vss-funnel-root .vss-plan-features-grid {
    grid-template-columns: 1fr;
  }
}
.vss-funnel-root .vss-plan-features li {
  font-size: 16px;
  color: var(--slate);
  display: flex;
  align-items: center;
  gap: 6px;
  line-height: 1.45;
}
.vss-funnel-root .vss-plan-features li .check { color: var(--green); font-size: 17px; flex-shrink: 0; }
.vss-funnel-root .vss-feature-off { color: #94a3b8; }
.vss-funnel-root .vss-feature-off span { color: #94a3b8; }

.vss-funnel-root .vss-plan-pricing {
  text-align: right;
  flex-shrink: 0;
  min-width: 110px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.vss-funnel-root .vss-plan-was-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #b0bec5;
  font-weight: 600;
  line-height: 1;
}
.vss-funnel-root .vss-plan-was {
  font-family: 'Space Mono', ui-monospace, monospace;
  font-size: 15px;
  color: #94a3b8;
  text-decoration: line-through;
  text-decoration-color: var(--red);
  text-decoration-thickness: 2px;
  line-height: 1;
  margin-bottom: 4px;
}
.vss-funnel-root .vss-plan-pricing strong {
  font-family: 'Space Mono', ui-monospace, monospace;
  font-size: 28px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1;
  letter-spacing: -0.02em;
}
.vss-funnel-root .vss-plan-period { font-size: 12px; color: var(--slate); margin-top: 3px; }
.vss-funnel-root .vss-plan-savings {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: var(--green);
  padding: 2px 7px;
  border-radius: 20px;
  margin-top: 4px;
}

.vss-funnel-root .vss-divider-or {
  text-align: center;
  position: relative;
  margin: 2px 0 10px;
}
.vss-funnel-root .vss-divider-or::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: 50%;
  height: 1px;
  background: var(--gray);
}
.vss-funnel-root .vss-divider-or span {
  position: relative;
  background: var(--ghost);
  padding: 0 10px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #94a3b8;
}

/* ----- COMPARISON TABLE ------------------------------------------------- */
.vss-funnel-root .vss-comparison-box {
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 14px;
  padding: 16px 18px;
  margin-top: 14px;
}
.vss-funnel-root .vss-comparison-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--navy);
  margin-bottom: 12px;
}
.vss-funnel-root .vss-comparison-table { width: 100%; border-collapse: collapse; }
.vss-funnel-root .vss-comparison-table th {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--slate);
  padding: 0 0 8px;
  text-align: left;
  border-bottom: 1px solid var(--gray);
}
.vss-funnel-root .vss-comparison-table th:not(:first-child) { text-align: center; }
.vss-funnel-root .vss-comparison-table td {
  font-size: 12px;
  color: var(--slate);
  padding: 7px 0;
  border-bottom: 1px solid var(--ghost);
}
.vss-funnel-root .vss-comparison-table tr:last-child td { border-bottom: none; }
.vss-funnel-root .vss-comparison-table td:not(:first-child) { text-align: center; }
.vss-funnel-root .tick { color: var(--green); font-size: 14px; }
.vss-funnel-root .cross { color: #94a3b8; font-size: 13px; }

/* ----- FORM ------------------------------------------------------------- */
.vss-funnel-root .vss-notice-box {
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 14px;
  padding: 14px 18px;
  font-size: 16px;
  color: var(--slate);
  margin-bottom: 12px;
  line-height: 1.5;
}
.vss-funnel-root .vss-notice-box button {
  background: none; border: 0; padding: 0;
  color: var(--blue);
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
}

.vss-funnel-root .vss-form-card {
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.vss-funnel-root .vss-form-card input,
.vss-funnel-root .vss-form-card select {
  width: 100%;
  border: 1.5px solid var(--gray);
  border-radius: 8px;
  padding: 15px 16px;
  font-family: inherit;
  font-size: 17px;
  color: var(--ink);
  background: var(--ghost);
  outline: none;
  transition: border-color .15s, box-shadow .15s, background .15s;
  -webkit-appearance: none;
  appearance: none;
}
.vss-funnel-root .vss-form-card select {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--slate) 50%),
    linear-gradient(135deg, var(--slate) 50%, transparent 50%);
  background-position:
    calc(100% - 16px) 50%,
    calc(100% - 11px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 34px;
}
.vss-funnel-root .vss-form-card input:focus,
.vss-funnel-root .vss-form-card select:focus {
  border-color: var(--blue);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(40,112,194,0.10);
}
.vss-funnel-root .vss-form-card input::placeholder { color: #94a3b8; }
.vss-funnel-root .vss-form-row { display: flex; gap: 10px; }
.vss-funnel-root .vss-form-row.two > * { flex: 1; min-width: 0; }

/* ----- ORDER SUMMARY INSIDE FORM --------------------------------------- */
.vss-funnel-root .vss-order-summary {
  margin-top: 6px;
  padding: 14px;
  background: var(--ghost);
  border: 1px solid var(--gray);
  border-radius: 12px;
}
.vss-funnel-root .vss-summary-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--navy);
  margin-bottom: 10px;
}
.vss-funnel-root .vss-summary-line {
  display: flex;
  justify-content: space-between;
  font-size: 17px;
  color: var(--slate);
  margin-bottom: 8px;
}
.vss-funnel-root .vss-summary-line.retail { color: #94a3b8; font-size: 15px; }
.vss-funnel-root .vss-summary-line.retail .sum-val {
  text-decoration: line-through;
  text-decoration-color: var(--red);
  text-decoration-thickness: 2px;
}
.vss-funnel-root .vss-summary-line.saving { color: var(--green); font-weight: 600; }
.vss-funnel-root .vss-summary-divider { border: none; border-top: 1px solid var(--gray); margin: 10px 0; }
.vss-funnel-root .vss-summary-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
}
.vss-funnel-root .vss-summary-total strong {
  font-family: 'Space Mono', ui-monospace, monospace;
  color: var(--navy);
  font-size: 24px;
}

/* ----- CTA ------------------------------------------------------------- */
.vss-funnel-root .vss-cta-btn {
  display: block;
  width: 100%;
  background: var(--green);
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 20px 22px;
  font-family: inherit;
  font-size: 21px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: -0.01em;
  transition: transform .15s, box-shadow .15s, background .15s;
  text-align: center;
  margin-top: 4px;
}
.vss-funnel-root .vss-cta-btn:hover {
  background: #15803D;
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(22,163,74,0.35);
}
.vss-funnel-root .vss-cta-btn[disabled] {
  background: #9ca3af;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.vss-funnel-root .vss-btn-sub {
  display: block;
  font-size: 14px;
  font-weight: 400;
  opacity: 0.9;
  margin-top: 4px;
}

/* ----- PayPal Express button + divider --------------------------------- */
.vss-funnel-root .vss-paypal-block {
  margin: 6px 0 14px;
}
.vss-funnel-root .vss-paypal-btn {
  display: block;
  width: 100%;
  background: #FFC439;       /* PayPal brand yellow */
  color: #003087;            /* PayPal brand dark blue */
  border: 0;
  border-radius: 12px;
  padding: 20px 22px;
  font-family: inherit;
  font-size: 22px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: -0.01em;
  transition: transform .15s, box-shadow .15s, background .15s;
  text-align: center;
}
.vss-funnel-root .vss-paypal-btn:hover {
  background: #F2BB31;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(0, 48, 135, 0.22);
}
.vss-funnel-root .vss-paypal-label {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-style: italic;
  font-weight: 900;
  letter-spacing: -0.5px;
}
.vss-funnel-root .vss-paypal-pp { color: #003087; }
.vss-funnel-root .vss-paypal-al { color: #009cde; }
.vss-funnel-root .vss-paypal-sub {
  text-align: center;
  font-size: 13px;
  color: var(--slate);
  margin-top: 8px;
}
.vss-funnel-root .vss-paypal-divider {
  text-align: center;
  position: relative;
  margin: 18px 0 6px;
}
.vss-funnel-root .vss-paypal-divider::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: 50%;
  height: 1px;
  background: var(--gray);
}
.vss-funnel-root .vss-paypal-divider span {
  position: relative;
  background: #fff;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #94a3b8;
}

/* ----- SAFE CHECKOUT BLOCK --------------------------------------------- */
.vss-funnel-root .vss-safe-checkout {
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 14px;
  padding: 18px;
  margin-bottom: 14px;
  text-align: center;
}
.vss-funnel-root .vss-safe-title {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--ink);
  margin-bottom: 12px;
}
.vss-funnel-root .vss-card-brands {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.vss-funnel-root .vss-brand-card {
  width: 72px;
  height: 44px;
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  box-shadow: 0 1px 3px rgba(13,27,42,0.06);
}
.vss-funnel-root .vss-brand-card svg { width: 100%; height: 100%; }
.vss-funnel-root .vss-trust-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.vss-funnel-root .vss-trust-bbb { height: 44px; width: auto; }
.vss-funnel-root .vss-trust-stars { height: 44px; width: auto; }

/* ----- REVIEWS --------------------------------------------------------- */
.vss-funnel-root .vss-proof-strip {
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 14px;
  padding: 16px 18px;
  margin-bottom: 14px;
}
.vss-funnel-root .vss-proof-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--slate);
  margin-bottom: 10px;
  text-align: center;
}
.vss-funnel-root .vss-reviews { display: flex; flex-direction: column; gap: 9px; }
.vss-funnel-root .vss-review-item {
  display: flex; gap: 9px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--ghost);
}
.vss-funnel-root .vss-review-item:last-child { border-bottom: none; padding-bottom: 0; }
.vss-funnel-root .vss-review-avatar {
  width: 30px; height: 30px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 11px;
  color: #fff;
}
.vss-funnel-root .vss-review-avatar.av-1 { background: var(--navy); }
.vss-funnel-root .vss-review-avatar.av-2 { background: var(--blue); }
.vss-funnel-root .vss-review-avatar.av-3 { background: #7c3aed; }
.vss-funnel-root .vss-stars { color: #f59e0b; font-size: 15px; margin-bottom: 4px; }
.vss-funnel-root .vss-review-text { font-size: 15px; color: var(--slate); line-height: 1.5; }
.vss-funnel-root .vss-reviewer { font-size: 13px; font-weight: 700; color: var(--ink); margin-top: 4px; }

/* ----- FOOTER ---------------------------------------------------------- */
.vss-funnel-root .vss-site-footer {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 24px 36px;
  border-top: 1px solid var(--gray);
  font-size: 12px;
  color: var(--slate);
  text-align: center;
}
.vss-funnel-root .vss-partner-checks {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  opacity: 0.55;
}
.vss-funnel-root .vss-partner-checks:hover,
.vss-funnel-root .vss-partner-checks:focus-within { opacity: 0.85; }
.vss-funnel-root .vss-partner-checks label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: #94a3b8;
  font-weight: 400;
}
.vss-funnel-root .vss-partner-checks label.disabled { opacity: 0.7; }
.vss-funnel-root .vss-partner-checks input[type="checkbox"] {
  accent-color: #94a3b8;
  transform: scale(0.9);
}

.vss-funnel-root .vss-footer-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.vss-funnel-root .vss-footer-links button {
  background: none; border: 0; padding: 0;
  color: var(--blue);
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
}
.vss-funnel-root .vss-footer-links span { color: #94a3b8; }

/* =========================================================================
   UPSELL / THANK-YOU shared styling
   ========================================================================= */
.vss-funnel-root .alert-bar {
  background: var(--navy);
  color: #fff;
  text-align: center;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.vss-funnel-root .upsell-wrap,
.vss-funnel-root .thanks-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 36px 24px 40px;
  text-align: center;
}
.vss-funnel-root .upsell-wrap h1,
.vss-funnel-root .thanks-wrap h1 {
  font-size: 40px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.02em;
  margin-bottom: 12px;
  line-height: 1.2;
}
.vss-funnel-root .upsell-wrap h1 span,
.vss-funnel-root .thanks-wrap h1 span { color: var(--blue); }
.vss-funnel-root .upsell-wrap .subhead {
  font-size: 19px;
  color: var(--slate);
  margin-bottom: 24px;
}
.vss-funnel-root .upsell-card {
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 16px;
  padding: 24px;
  text-align: left;
  box-shadow: 0 6px 28px rgba(13,27,42,0.05);
}
.vss-funnel-root .upsell-card h2 {
  font-size: 26px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 12px;
}
.vss-funnel-root .upsell-card p { font-size: 18px; color: var(--slate); line-height: 1.6; }
.vss-funnel-root .product-stage {
  margin: 20px 0;
  display: flex;
  justify-content: center;
  background: var(--ghost);
  border-radius: 12px;
  padding: 18px;
}
.vss-funnel-root .upsell-product-img {
  max-width: 320px;
  width: 100%;
  border-radius: 8px;
}
.vss-funnel-root .price-row {
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
  margin: 18px 0;
  gap: 16px;
  flex-wrap: wrap;
}
.vss-funnel-root .price-row > div { text-align: center; }
.vss-funnel-root .price-row span {
  display: block;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--slate);
  margin-bottom: 5px;
}
.vss-funnel-root .price-row strong {
  font-family: 'Space Mono', ui-monospace, monospace;
  font-size: 36px;
  color: var(--navy);
  font-weight: 700;
}
.vss-funnel-root .price-row .crossed {
  color: #94a3b8;
  text-decoration: line-through;
  text-decoration-color: var(--red);
  text-decoration-thickness: 2px;
}

.vss-funnel-root .btn.green {
  background: var(--green);
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 17px 24px;
  font-family: inherit;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: -0.01em;
  transition: transform .15s, box-shadow .15s, background .15s;
}
.vss-funnel-root .btn.green:hover {
  background: #15803D;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(22,163,74,0.3);
}
.vss-funnel-root .btn.green.big,
.vss-funnel-root .btn.green.full { display: block; width: 100%; padding: 20px 24px; font-size: 20px; }
.vss-funnel-root .no-thanks {
  background: none;
  border: 0;
  color: var(--slate);
  font: inherit;
  cursor: pointer;
  margin-top: 18px;
  font-size: 15px;
  text-decoration: underline;
}
.vss-funnel-root .text-link {
  background: none; border: 0; padding: 0;
  color: var(--blue);
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  margin-top: 12px;
  display: block;
  width: 100%;
  font-size: 16px;
}

.vss-funnel-root .accordion {
  margin-top: 18px;
  border-top: 1px solid var(--gray);
}
.vss-funnel-root .accordion > button {
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  padding: 12px 0;
  font: inherit;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--gray);
}
.vss-funnel-root .accordion > button b {
  font-size: 18px; line-height: 1; color: var(--blue);
}
.vss-funnel-root .accordion-body {
  overflow: hidden;
  max-height: 0;
  transition: max-height .25s ease;
  font-size: 15px;
  color: var(--slate);
}
.vss-funnel-root .accordion-body div { padding: 10px 0 16px; line-height: 1.6; }
.vss-funnel-root .pro-tip {
  background: var(--green-light);
  border: 1px solid #BBF7D0;
  border-radius: 10px;
  padding: 14px 16px;
  font-size: 15px;
  color: #166534;
  margin-top: 18px;
  line-height: 1.5;
}
.vss-funnel-root .site-footer {
  max-width: 760px;
  margin: 0 auto;
  padding: 18px 24px 30px;
  text-align: center;
  font-size: 12px;
  color: var(--slate);
}
.vss-funnel-root .site-footer button {
  background: none; border: 0; padding: 0;
  color: var(--blue);
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  margin: 0 8px;
}
.vss-funnel-root .site-footer a { margin: 0 8px; }

/* ----- THANK YOU PAGE -------------------------------------------------- */
.vss-funnel-root .thanks-products {
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 16px;
  padding: 22px;
  margin-bottom: 20px;
  box-shadow: 0 6px 28px rgba(13,27,42,0.05);
}
.vss-funnel-root .success-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
}
.vss-funnel-root .box-row {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}
.vss-funnel-root .thanks-product-img {
  width: 140px;
  height: 140px;
  object-fit: contain;
  background: var(--ghost);
  border-radius: 12px;
  padding: 10px;
}
.vss-funnel-root .thanks-hero-img {
  width: 100%;
  max-width: 460px;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  margin: 0 auto;
}
.vss-funnel-root .status-pill {
  display: inline-block;
  background: var(--green-light);
  color: #166534;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 999px;
  letter-spacing: 0.04em;
}
.vss-funnel-root .thanks-copy {
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 16px;
  padding: 26px;
  text-align: left;
  font-size: 18px;
  color: var(--slate);
  line-height: 1.6;
  box-shadow: 0 6px 28px rgba(13,27,42,0.05);
}
.vss-funnel-root .thanks-copy h1 { font-size: 32px; text-align: center; margin-bottom: 16px; }
.vss-funnel-root .thanks-copy h2 { font-size: 22px; color: var(--navy); margin: 22px 0 12px; }
.vss-funnel-root .thanks-copy h3 { font-size: 18px; color: var(--ink); margin: 20px 0 10px; }
.vss-funnel-root .thanks-copy p { margin-bottom: 10px; }
.vss-funnel-root .thanks-copy ol { padding-left: 20px; margin: 6px 0 12px; }
.vss-funnel-root .thanks-copy ol li { margin-bottom: 6px; }
.vss-funnel-root .important { background: var(--amber-light); border: 1px solid #FDE68A; padding: 10px 12px; border-radius: 10px; color: #92400E; }
.vss-funnel-root .order-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--gray);
  font-size: 12px;
  color: var(--slate);
}
.vss-funnel-root .order-meta b { color: var(--ink); font-family: 'Space Mono', ui-monospace, monospace; }

.vss-funnel-root .article-row {
  max-width: 760px;
  margin: 24px auto 0;
  padding: 0 24px;
  font-size: 13px;
  color: var(--slate);
}
.vss-funnel-root .article-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 10px;
}
.vss-funnel-root .article-grid > div {
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 10px;
  padding: 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--navy);
  text-align: center;
}
.vss-funnel-root .trust-footer {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  padding: 22px 24px 36px;
  font-size: 12px;
  color: var(--slate);
}
.vss-funnel-root .trust-strip {
  font-size: 12px;
  color: var(--slate);
  margin-bottom: 10px;
}
.vss-funnel-root .trust-footer button {
  background: none; border: 0; padding: 0;
  color: var(--blue);
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  margin: 0 6px;
}

/* =========================================================================
   MODALS — exit popup and legal popup
   ========================================================================= */
.vss-funnel-root .modal {
  position: fixed !important;
  inset: 0 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 999999 !important;
  background: rgba(13,27,42,0.55);
  padding: 20px;
}
.vss-funnel-root .modal.show { display: flex !important; }
.vss-funnel-root .modal-card {
  background: #fff;
  border-radius: 16px;
  padding: 22px;
  max-width: 460px;
  width: 100%;
  position: relative;
  box-shadow: 0 24px 80px rgba(0,0,0,0.35);
}
.vss-funnel-root .modal-card.slim { max-width: 380px; text-align: center; }
.vss-funnel-root .modal-card.legal-card { max-width: 720px; max-height: 80vh; overflow-y: auto; }
.vss-funnel-root .modal-card h2 { font-size: 20px; color: var(--ink); margin-bottom: 10px; }
.vss-funnel-root .modal-card .red-line {
  font-size: 11px;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 6px;
}
.vss-funnel-root .modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ghost);
  color: var(--ink);
  border: 0;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
}
.vss-funnel-root .modal-close:hover { background: var(--gray); }
.vss-funnel-root .legal-body {
  white-space: pre-wrap;
  font-size: 13px;
  color: var(--slate);
  line-height: 1.55;
}

/* ----- EXIT MODAL (GIF only) — preserve Helena fixes ------------------- */
.vss-funnel-root #exit-modal .modal-card.gif-only {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  overflow: visible !important;
  max-width: 520px;
}
.vss-funnel-root #exit-modal .modal-card.gif-only::before { display: none !important; }

.vss-funnel-root #exit-modal .exit-gif-button,
.vss-funnel-root #exit-modal .exit-gif-button:hover,
.vss-funnel-root #exit-modal .exit-gif-button:focus,
.vss-funnel-root #exit-modal .exit-gif-button:active,
.vss-funnel-root #exit-modal .exit-gif-button:focus-visible {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer;
}
.vss-funnel-root #exit-modal .exit-gif-button img,
.vss-funnel-root #exit-modal .exit-gif-button:hover img,
.vss-funnel-root #exit-modal .exit-gif-button:focus img,
.vss-funnel-root #exit-modal .exit-gif-button:active img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 34px 90px rgba(0,0,0,0.45) !important;
}

.vss-funnel-root #exit-modal .modal-card.gif-only .exit-close,
.vss-funnel-root #exit-modal .modal-card.gif-only .exit-close:hover,
.vss-funnel-root #exit-modal .modal-card.gif-only .exit-close:focus,
.vss-funnel-root #exit-modal .modal-card.gif-only .exit-close:active,
.vss-funnel-root #exit-modal .modal-card.gif-only .exit-close:focus-visible {
  position: absolute !important;
  top: -18px !important;
  right: -18px !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  outline: 0 !important;
  background: #ffffff !important;
  color: #101827 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.28) !important;
  transform: none !important;
  cursor: pointer;
}

@media (max-width: 640px) {
  .vss-funnel-root #exit-modal .modal-card.gif-only .exit-close,
  .vss-funnel-root #exit-modal .modal-card.gif-only .exit-close:hover,
  .vss-funnel-root #exit-modal .modal-card.gif-only .exit-close:focus,
  .vss-funnel-root #exit-modal .modal-card.gif-only .exit-close:active,
  .vss-funnel-root #exit-modal .modal-card.gif-only .exit-close:focus-visible {
    top: -12px !important;
    right: -12px !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    font-size: 20px !important;
  }
}

/* =========================================================================
   ANIMATIONS
   ========================================================================= */
@keyframes vssBlink {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.3; }
}

@keyframes vssSpin {
  to { transform: rotate(360deg); }
}

/* Inline spinner injected into buttons while they're in-flight.
   Uses currentColor so it adapts to whatever button color it sits in. */
.vss-funnel-root .vss-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: vssSpin 0.7s linear infinite;
  vertical-align: -2px;
  margin-right: 8px;
  opacity: 0.9;
  box-sizing: border-box;
}

.vss-funnel-root .vss-is-busy {
  cursor: wait !important;
  opacity: 0.75;
  pointer-events: none;
}

/* Keep the big CTA button visually consistent when busy (matches the
   disabled-state styling we already set so it doesn't suddenly turn gray). */
.vss-funnel-root .vss-cta-btn.vss-is-busy,
.vss-funnel-root .btn.green.vss-is-busy {
  background: var(--green);
  color: #fff;
  transform: none;
  box-shadow: none;
}

/* =========================================================================
   MOBILE
   ========================================================================= */
@media (max-width: 900px) {
  .vss-funnel-root .vss-checkout-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 16px 14px 48px;
  }
  .vss-funnel-root .vss-col-left { position: static; }
  .vss-funnel-root .vss-above-fold { padding: 20px 14px 0; }
  .vss-funnel-root .vss-headline-block h1 { font-size: 22px; }
  .vss-funnel-root .vss-plan-pricing strong { font-size: 22px; }
  .vss-funnel-root .vss-plan-thumb { width: 56px; height: 56px; }
  .vss-funnel-root .vss-form-row { flex-direction: column; gap: 10px; }
  .vss-funnel-root .article-grid { grid-template-columns: 1fr; }
}

/* v0.9.5 — Helena requested overall checkout text "a little smaller" (~10–15%).
   Overrides earlier sizes without touching the original declarations, so reverting
   means deleting this block. Applies to all funnels (V1, V2, VPN, /protect/). */
.vss-funnel-root { font-size: 17px; }                                  /* was 19px */
.vss-funnel-root .vss-headline-block h1 { font-size: 32px; }           /* was 38px */
.vss-funnel-root .vss-headline-block p { font-size: 17px; }            /* was 19px */
.vss-funnel-root .vss-plan-name { font-size: 18px; }                   /* was 21px */
.vss-funnel-root .vss-plan-pricing strong { font-size: 24px; }         /* was 28px */
.vss-funnel-root .vss-plan-features li { font-size: 14px; }            /* was 16px */
.vss-funnel-root .vss-plan-desc { font-size: 13px; }                   /* was 15px */
.vss-funnel-root .vss-cta-btn { font-size: 18px; }                     /* was 21px */
.vss-funnel-root .vss-summary-total strong { font-size: 22px; }        /* was 26px */

/* =========================================================================
   /cloud/ funnel — port of original giaso payment.css (v0.9.7)
   All rules scoped under .cloud-funnel-root so they don't bleed into other funnels.
   ========================================================================= */
.cloud-funnel-root { background:#fff; min-height:100vh; padding:0; font-family:'Figtree','DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif; color:#000; font-weight:400; text-align:center; font-size:16px; line-height:1.5; }
.cloud-funnel-root *, .cloud-funnel-root *::before, .cloud-funnel-root *::after { box-sizing:border-box; }
.cloud-funnel-root div, .cloud-funnel-root ul, .cloud-funnel-root h1, .cloud-funnel-root h2, .cloud-funnel-root h3, .cloud-funnel-root h4, .cloud-funnel-root h5, .cloud-funnel-root li, .cloud-funnel-root p, .cloud-funnel-root img, .cloud-funnel-root form, .cloud-funnel-root input, .cloud-funnel-root textarea { margin:0; padding:0; }
.cloud-funnel-root a { outline:none; color:inherit; text-decoration:none; }
.cloud-funnel-root img { border:none; height:auto; max-width:100%; }
.cloud-funnel-root li { list-style:none; }
.cloud-funnel-root .checkout_bg { background:#fff; }
.cloud-funnel-root .container { width:1170px; margin:0 auto; padding:0; position:relative; }

/* HEADER */
.cloud-funnel-root .checkout-v1__header { padding:14px 0; background-image:linear-gradient(259deg,#fff 0%,#f6f6f6 100%); }
.cloud-funnel-root .checkout-v1__header__inner { display:flex; justify-content:space-between; align-items:center; }
.cloud-funnel-root .checkout-v1__header__inner p { font-size:15px; color:#1d2023; }
.cloud-funnel-root .checkout-v1__header__inner p a { color:#058EC0; }
.cloud-funnel-root .checkout-v1__logo { width:90px; }
.cloud-funnel-root .header__title { margin-top:30px; margin-bottom:16px; font-size:48px; line-height:60px; font-weight:400; }
.cloud-funnel-root .header__title > span { font-weight:700; background:#058EC0; background:linear-gradient(323deg,rgba(5,142,192,0.96) 100%,rgb(29,76,146) 61%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.cloud-funnel-root .header__subtitle { font-size:16px; line-height:23px; margin-bottom:20px; color:#1d2023; }
.cloud-funnel-root .lightning-emoji { display:inline-block; margin-right:4px; color:#d97706; }

/* MAIN LAYOUT */
.cloud-funnel-root .checkout-v1__main-section { padding-bottom:20px; }
.cloud-funnel-root .checkout-v1__main__inner { display:flex; justify-content:space-between; }
.cloud-funnel-root .checkout-v1__main__left { width:50%; text-align:left; padding:30px 85px 30px 0; border-right:1px solid #ddd; position:relative; }
.cloud-funnel-root .checkout-v1__main__right { width:50%; padding:30px 0 30px 85px; }

/* ORDER (product card) */
.cloud-funnel-root .order__info { position:relative; color:#383434; padding-bottom:20px; }
.cloud-funnel-root .order__head { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; box-shadow:0 0 4px rgba(0,0,0,0.2); padding:20px; border-radius:4px; cursor:pointer; background:#fff; border:1px solid transparent; transition:border-color 0.15s ease, background 0.15s ease; }
.cloud-funnel-root .order__head[hidden] { display:none !important; }
/* Selected card visual state — JS toggles .selected on click */
.cloud-funnel-root .order__head.selected { background:#f4f4f442; border:1px solid; border-image:linear-gradient(323deg,rgba(5,142,192,0.96) 100%,rgba(29,76,146,0.09) 40%) 1; }
/* Radio button indicator */
.cloud-funnel-root .order_radio { width:20px; height:20px; border-radius:50%; background:#d1d3d1; border:2px solid #fff; box-shadow:0 0 0 1px #d1d3d1; flex-shrink:0; margin-right:8px; display:flex; align-items:center; justify-content:center; transition:all 0.15s ease; }
.cloud-funnel-root .order_radio_dot { width:10px; height:10px; border-radius:50%; background:transparent; transition:background 0.15s ease; }
.cloud-funnel-root .order__head.selected .order_radio { background:#fff; box-shadow:0 0 0 1px #9d1522; }
.cloud-funnel-root .order__head.selected .order_radio_dot { background:#9d1522; }
.cloud-funnel-root .order_prod { width:90px; }
.cloud-funnel-root .order_prod img { max-width:100%; display:block; margin:0 auto; }
.cloud-funnel-root .order_content { width:calc(100% - 110px); display:flex; justify-content:space-between; align-items:center; }
.cloud-funnel-root .order__head__left { text-align:left; }
.cloud-funnel-root .product__discount { padding:6px; background:#fff3f4; border-radius:3px; margin-bottom:4px; display:inline-block; font-size:13px; line-height:13px; color:#9d1522; }
.cloud-funnel-root .tag-emoji { display:inline-block; margin-right:4px; }
.cloud-funnel-root .product__name { font-size:20px; line-height:30px; margin-bottom:1px; font-weight:550; background:linear-gradient(323deg,rgba(5,142,192,0.96) 100%,rgb(29,76,146) 61%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.cloud-funnel-root .product__sub-name { font-size:14px; line-height:19px; margin-top:5px; background:linear-gradient(323deg,rgba(5,142,192,0.96) 100%,rgb(29,76,146) 61%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.cloud-funnel-root .order__head__right { text-align:right; }
.cloud-funnel-root .odr-text1 { font-size:0.9375rem; line-height:22px; font-weight:500; color:#9d1522; }
.cloud-funnel-root .odr-text2 { font-size:20px; line-height:23px; font-weight:550; background:linear-gradient(323deg,rgba(5,142,192,0.96) 100%,rgb(29,76,146) 61%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* GIFT BLOCK */
.cloud-funnel-root .free_gift-block { display:flex; flex-flow:row wrap; padding-top:30px; }
.cloud-funnel-root .free-gift-block__col { display:flex; gap:10px; width:100%; margin-bottom:20px; padding:22px 25px; background:#fff; box-shadow:2px 2px 10px 0 rgba(90,99,109,0.15); border-radius:7px; align-items:center; }
.cloud-funnel-root .gift__column-1 { min-width:24px; }
.cloud-funnel-root .gift__icon { font-size:22px; color:#058EC0; display:inline-block; }
.cloud-funnel-root .gift__column-2 { text-align:left; padding-right:15px; flex:1; }
.cloud-funnel-root .gift__title { color:#2c3035; font-size:14px; line-height:19px; margin-bottom:4px; font-weight:600; }
.cloud-funnel-root .gift__description { color:#5a636d; font-size:14px; line-height:18px; letter-spacing:0.3px; font-weight:400; margin-top:3px; }
.cloud-funnel-root .gift__column-3 { min-width:136px; display:flex; align-items:center; justify-content:end; }
.cloud-funnel-root .free-badge__text { padding:6px 10px; background:#f6f6f6; border-radius:3px; display:inline-block; font-size:13.75px; line-height:17px; text-transform:uppercase; font-weight:400; color:#2c3035; }
.cloud-funnel-root .gift-ic-emoji { display:inline-block; margin-right:4px; }

/* ORDER BOTTOM (summary table) */
.cloud-funnel-root .order__bottom { padding:15px 20px; }
.cloud-funnel-root .hr__line { margin:15px 0; border-top:1px solid #e8e5e5; width:100%; }
.cloud-funnel-root table, .cloud-funnel-root tr, .cloud-funnel-root td, .cloud-funnel-root th { border:0; }
.cloud-funnel-root .order-sum__tbl { width:100%; border-collapse:collapse; background:transparent; }
.cloud-funnel-root .order-sum__tbl tr { background:transparent; border:0; }
.cloud-funnel-root .order-sum__tbl tr td:first-child, .cloud-funnel-root .order-sum__tbl tr th:first-child { text-align:left; }
.cloud-funnel-root .order-sum__tbl tr td:last-child, .cloud-funnel-root .order-sum__tbl tr th:last-child { text-align:right; }
.cloud-funnel-root .order-sum__tbl tr td, .cloud-funnel-root .order-sum__tbl tr th { font-size:16px; line-height:24px; padding:3px 0; border:0; background:transparent; }
.cloud-funnel-root .grn { color:#0bc86d; font-weight:500; }

/* GREEN TERMS HOLDER */
.cloud-funnel-root .green-terms-holder { padding:10px; background:#eaf6ef; margin:0 auto 20px; font-size:14px; line-height:19px; color:#2c3035; text-align:left; border-radius:4px; }
.cloud-funnel-root .green-terms-holder p { margin:0; }
.cloud-funnel-root .green-terms-holder .bottomhref { background:transparent; border:0; padding:0; color:#1a0dab; font-family:inherit; font-size:14px; text-decoration:underline; cursor:pointer; }
.cloud-funnel-root .green-terms-holder strong { color:#1a1a21; }

/* CARD ICONS */
.cloud-funnel-root .card-icon-row { display:flex; justify-content:center; gap:8px; padding:8px 0 16px; }
.cloud-funnel-root .card-svg { width:48px; height:auto; display:block; }
.cloud-funnel-root .titled-container .card-container .card-svg { width:48px; height:auto; }

/* FORM */
.cloud-funnel-root .v1__form__field { display:grid; grid-template-columns:1fr; margin:25px 0; }
.cloud-funnel-root .v1__form__input { display:grid; grid-column-gap:15px; grid-template-columns:1fr; }
.cloud-funnel-root .v1__form__input--2 { grid-template-columns:1fr 1fr; }
.cloud-funnel-root .v1__form__input--3 { grid-template-columns:1fr 1fr 1fr; }
.cloud-funnel-root .v1__input-fld { width:100%; height:48px; color:#000; font-size:16px; background:#fff; text-align:left; border-radius:5px; font-family:inherit; border:1px solid #bdbdbd; font-weight:normal; padding:0 25px 0 15px; outline:none; -webkit-appearance:none; margin-top:12px; }
.cloud-funnel-root .v1__input-fld:focus { border:1px solid #287cd6; box-shadow:5px 5px 8px 2px rgba(0,0,0,0.1); transition:all ease 0.5s; }
.cloud-funnel-root select.v1__input-fld { background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6"><path fill="%2364748b" d="M0 0l5 6 5-6z"/></svg>') no-repeat center right 12px #fff; padding-right:30px; }
.cloud-funnel-root input::placeholder { color:#212529; }
.cloud-funnel-root .bill_shio { margin-top:12px; text-align:left; }
.cloud-funnel-root .bill_shio label { color:#383434; font-size:14px; margin-left:6px; }
.cloud-funnel-root .chkbx { appearance:auto; width:auto; height:auto; }

/* BUY BUTTON */
.cloud-funnel-root .buy__button { display:flex; align-items:center; justify-content:center; width:100%; height:auto; min-height:54px; font-size:18px; line-height:normal; font-weight:600; color:#fff; text-align:center; border-radius:100px; text-transform:uppercase; font-family:'Figtree',inherit; -webkit-appearance:none; outline:none; border:none; cursor:pointer; background:#0bc86d !important; box-shadow:0 10px 30px 0 rgba(11,200,109,0.35) !important; padding:14px 20px; }
.cloud-funnel-root .buy__button:hover { opacity:0.92; }

/* FOOTER PARTNER CHECKBOXES (greyed/de-emphasized) */
.cloud-funnel-root .footer_txt { margin-top:20px; color:#c9c9c9; display:flex; flex-direction:column; text-align:left; gap:8px; font-size:12px; }
.cloud-funnel-root .footer_txt label { display:flex; align-items:center; gap:6px; color:#c9c9c9; cursor:default; }
.cloud-funnel-root .footer_txt input[type="checkbox"] { appearance:none; width:13px; height:13px; border:1px solid #ccc; border-radius:1px; background:#eaeaea; position:relative; cursor:pointer; flex-shrink:0; }
.cloud-funnel-root .footer_txt input[type="checkbox"]:checked { background:#eaeaea; border-color:#eaeaea; }
.cloud-funnel-root .footer_txt input[type="checkbox"]:checked::after { content:"✓"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:10px; color:#fff; line-height:1; }

/* FOOTER TEXT (links) */
.cloud-funnel-root .ftr-txt { width:100%; position:absolute; left:0; bottom:20px; font-size:14px; line-height:26px; color:#979797; letter-spacing:0.5px; text-align:center; margin-top:30px; }
.cloud-funnel-root .ftr-txt button, .cloud-funnel-root .ftr-txt a { background:transparent; border:0; padding:0 5px; color:#979797; font-size:14px; font-family:inherit; cursor:pointer; text-decoration:none; }
.cloud-funnel-root .ftr-txt button:hover, .cloud-funnel-root .ftr-txt a:hover { color:#1a0dab; text-decoration:underline; }
.cloud-funnel-root .bottom-links { font-size:14px; }

/* SAFE CHECKOUT BLOCK */
.cloud-funnel-root .titled-container { margin-top:20px; }
.cloud-funnel-root .titled-container__title { position:relative; padding:15px; border:1px solid #dedede; border-radius:5px; font-size:13px; text-align:center; color:#5a636d; }
.cloud-funnel-root .titled-container .card-container { display:flex; justify-content:center; align-items:center; gap:10px; padding-top:10px; }

/* RESPONSIVE */
.cloud-funnel-root .show-mob, .cloud-funnel-root .show-tab { display:none; }
.cloud-funnel-root .show-desk { display:block; }

@media only screen and (max-width:1200px) {
  .cloud-funnel-root .container { width:1004px; }
  .cloud-funnel-root .checkout-v1__main__left { padding:30px 40px 30px 0; }
  .cloud-funnel-root .checkout-v1__main__right { padding:30px 0 30px 40px; }
}
@media only screen and (max-width:1021px) {
  .cloud-funnel-root .container { width:750px; }
  .cloud-funnel-root .show-tab { display:block; }
  .cloud-funnel-root .show-desk { display:none; }
  .cloud-funnel-root .checkout-v1__main-section { padding:30px 0; }
  .cloud-funnel-root .checkout-v1__main__inner { flex-wrap:wrap; }
  .cloud-funnel-root .checkout-v1__main__left, .cloud-funnel-root .checkout-v1__main__right { width:100%; padding:0; }
  .cloud-funnel-root .checkout-v1__main__left { border:none; }
  .cloud-funnel-root .ftr-txt { position:static; }
}
@media (max-width:768px) {
  .cloud-funnel-root .order__bottom { display:none; }
  .cloud-funnel-root .free_gift-block, .cloud-funnel-root .orderform__awards { display:none !important; }
}
@media only screen and (max-width:767px) {
  .cloud-funnel-root .container { max-width:600px; width:100%; padding:0 20px; }
  .cloud-funnel-root .show-mob { display:block; }
  .cloud-funnel-root .hide-mob { display:none; }
  .cloud-funnel-root .checkout-v1__header { background:#fff; }
  .cloud-funnel-root .checkout-v1__logo { width:100px; }
  .cloud-funnel-root .checkout-v1__main-section { padding:13px 0 30px; }
  .cloud-funnel-root .order_prod { width:50px; }
  .cloud-funnel-root .order_content { width:calc(100% - 60px); }
  .cloud-funnel-root .product__name { font-size:16px; line-height:20px; padding:0 5px; }
  .cloud-funnel-root .product__sub-name { font-size:12px; line-height:13px; margin-top:3px; }
  .cloud-funnel-root .product__discount { font-size:12px; line-height:12px; padding:5px; }
  .cloud-funnel-root .odr-text1 { font-size:12px; }
  .cloud-funnel-root .odr-text2 { font-size:16px; line-height:18px; }
  .cloud-funnel-root .order__bottom { padding:15px 0 0; }
  .cloud-funnel-root .order-sum__tbl tr td, .cloud-funnel-root .order-sum__tbl tr th { font-size:14px; line-height:20px; }
  .cloud-funnel-root .hr__line { margin:10px 0; }
  .cloud-funnel-root .green-terms-holder { font-size:13px; line-height:17px; }
  .cloud-funnel-root .v1__form__field { margin:15px 0 20px; }
  .cloud-funnel-root .buy__button { font-size:16px; letter-spacing:0.5px; }
  .cloud-funnel-root .ftr-txt { padding-top:25px; border-top:1px solid #ddd; }
  .cloud-funnel-root .mobile__input--1 { grid-template-columns:1fr; }
}

/* LEGAL MODAL only — exit modal styling inherits from .vss-funnel-root #exit-modal rules above
   (gif-only card, exit-gif-button, exit-close — all reused from V2). */
.cloud-funnel-root .modal-card.legal-card { max-width:680px; text-align:left; padding:32px; }
.cloud-funnel-root .legal-body { max-height:60vh; overflow-y:auto; font-size:14px; line-height:1.6; }