/* ══════════════════════════════════════════════════════════
   PA Biodiesel — Ultimate Force Checkout (modern-checkout)
   2-Step Visual Layout via JS-controlled panels
   Step ID 15312
   ══════════════════════════════════════════════════════════ */

/* ── Reset: Hide hamburger + CartFlows defaults ── */
#rmp_menu_trigger-89, .rmp_menu_trigger, .rmp-container, #rmp-container-89 { display: none !important; }
.wcf-content-main-head { display: none !important; }

/* Hide the WooCommerce "added to your cart" success notice that appears when the
   voltage selector → ?add-to-cart=166 redirect lands on checkout. The notice is a
   .woocommerce-message (success class) containing the "View cart" button and the
   product-added text. Hiding it via CSS is simpler than suppressing it at the PHP
   notice-queue level and it only affects checkout step 15312. Error notices use
   .woocommerce-error (red), not .woocommerce-message — those remain visible. */
body.postid-15312 .woocommerce-message,
body.postid-15312 .woocommerce-NoticeGroup-checkout .woocommerce-message,
body.postid-15312 ul.woocommerce-message,
body.postid-15312 .woocommerce-notices-wrapper .woocommerce-message { display: none !important; }

/* ── Variables ── */
:root {
  --cta: #107C4B; --cta-text: #fff; --bg: #F7F8F9; --card: #fff;
  --text: #1A1A1A; --text2: #4A4A4A; --muted: #999; --border: #E5E7EB;
  --r-sm: 6px; --r-md: 10px; --r-lg: 16px;
  --shadow: 0 2px 8px rgba(0,0,0,.06), 0 0 0 1px rgba(0,0,0,.04);
  --font: 'Open Sans', sans-serif;
  /* Session 11 — --mono neutralized to sans-serif to match the rest of the funnel. */
  --mono: 'Open Sans', sans-serif;
  --amber: #F59E0B; --amber-bg: #FFFBEB;
}
body.postid-15312 { background: var(--bg) !important; font-family: var(--font) !important; }
body.postid-15312 .wcf-embed-checkout-form,
body.postid-15312 .wcf-embed-checkout-form *:not(i):not(.dashicons):not([class*="icon"]) { font-family: var(--font) !important; }

/* ══════ HEADER ══════ */
/* Shared funnel header rules (.pabio-checkout-header, .pabio-progress-*, .pabio-secure-badge) live in
   css/vsl-funnel-header.css and are enqueued on all four funnel step pages (15312/15313/15375/15314). */

/* ══════ MAIN LAYOUT ══════ */
/* Outer wrapper: 2-column grid. Form in col 1, trust sidebar in col 2. */
.wcf-embed-checkout-form { max-width:1100px; margin:0 auto; padding:32px 20px; font-family:var(--font); display:grid; grid-template-columns:minmax(0,640px) 360px; gap:28px; align-items:start; justify-content:center; }
/* The .woocommerce div wraps the form — column 1 of the grid */
.wcf-embed-checkout-form > .woocommerce { grid-column:1; grid-row:1; }
/* Force form to stack vertically (CartFlows sets flex-direction:row for 2-col) */
.wcf-embed-checkout-form form.woocommerce-checkout { display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important; width:100% !important; padding:0 !important; margin:0 !important; }
/* col2-set inside the form: single column stack, no extra padding */
.wcf-embed-checkout-form .wcf-col2-set { display:flex !important; flex-direction:column !important; width:100% !important; padding:0 !important; margin:0 !important; }
.wcf-embed-checkout-form .wcf-col-1, .wcf-embed-checkout-form .wcf-col-2 { width:100% !important; float:none !important; flex:none !important; padding:0 !important; margin:0 !important; }
/* The wcf-order-wrap contains hidden step 2 elements — collapse it on step 1 */
.wcf-embed-checkout-form .wcf-order-wrap { width:100% !important; }
/* Prevent wcf-customer-info-main-wrapper from stretching children or adding spacing */
/* CartFlows constrains this wrapper to ~60% width; force it to fill the form column */
.wcf-embed-checkout-form .wcf-customer-info-main-wrapper { display:block !important; height:auto !important; padding:0 !important; margin:0 !important; width:100% !important; max-width:100% !important; }
@media(max-width:960px){ .wcf-embed-checkout-form { grid-template-columns:1fr !important; } }

/* ══════ STEP HEADER CARDS ══════ */
.pabio-step-header-card { display:flex; align-items:center; gap:16px; background:var(--card); border-radius:var(--r-lg); padding:24px 28px; box-shadow:var(--shadow); margin-bottom:20px; box-sizing:border-box; }
.pabio-step-number { width:36px; height:36px; min-width:36px; border-radius:50%; background:var(--cta); color:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:700; }
.pabio-step-header-text h3 { font-size:18px; font-weight:700; color:var(--text); margin:0; border:none !important; padding:0 !important; }
.pabio-step-header-text p { font-size:14px; color:var(--muted); margin:4px 0 0; }
.pabio-edit-details, a.pabio-edit-details, a.pabio-edit-details:visited, a.pabio-edit-details:hover { font-size:13px; color:var(--cta) !important; text-decoration:underline; cursor:pointer; }

/* ══════ FORM CARDS ══════ */
.wcf-embed-checkout-form .woocommerce-billing-fields { background:var(--card); border-radius:var(--r-lg); padding:24px 28px; margin-bottom:20px; box-shadow:var(--shadow); }

/* Hide the separate shipping fields entirely — billing address = shipping address */
.wcf-embed-checkout-form .woocommerce-shipping-fields { display:none !important; }
.wcf-embed-checkout-form .woocommerce-account-fields { display:none !important; }
.wcf-embed-checkout-form .woocommerce-additional-fields { display:none !important; }

/* ── Shipping Address — separate card (JS splits billing fields into two cards) ── */
.pabio-shipping-card { background:var(--card); border-radius:var(--r-lg); padding:24px 28px; margin-bottom:20px; box-shadow:var(--shadow); height:auto !important; overflow:visible !important; }
.pabio-shipping-card #pabio-shipping-heading { font-size:16px !important; font-weight:700 !important; color:var(--text) !important; margin:0 0 16px 0; padding-bottom:12px; border-bottom:1px solid var(--border) !important; }
.pabio-shipping-fields-inner { display:flex; flex-wrap:wrap; gap:0; }
.pabio-shipping-fields-inner .form-row { width:100%; }
.pabio-shipping-fields-inner .form-row-first,
.pabio-shipping-fields-inner .form-row-last { width:48%; }
/* City / State / Zip — 3-across on desktop */
.pabio-shipping-fields-inner #billing_city_field { width:40%; }
.pabio-shipping-fields-inner #billing_state_field { width:30%; }
.pabio-shipping-fields-inner #billing_postcode_field { width:26%; }
/* Remove old in-card separator since fields are now in a separate card */
.wcf-embed-checkout-form #billing_country_field { margin-top:0; padding-top:0; border-top:none; }
.wcf-embed-checkout-form #billing_country_field::before { display:none; }

/* ── Form Fields ── */
.wcf-embed-checkout-form .form-row input.input-text,
.wcf-embed-checkout-form .form-row textarea,
.wcf-embed-checkout-form .form-row select { border:1.5px solid var(--border) !important; border-radius:var(--r-sm) !important; padding:14px 16px !important; font-size:14px !important; font-family:var(--font) !important; background:#fff !important; color:var(--text) !important; transition:border-color .2s, box-shadow .2s; }
.wcf-embed-checkout-form .form-row input.input-text:focus,
.wcf-embed-checkout-form .form-row textarea:focus,
.wcf-embed-checkout-form .form-row select:focus,
.wcf-embed-checkout-form .form-row input:focus { border-color:var(--cta) !important; box-shadow:0 0 0 3px rgba(16,124,75,.12) !important; outline:none !important; }
.wcf-embed-checkout-form .form-row select,
.wcf-embed-checkout-form .form-row input[type="checkbox"],
.wcf-embed-checkout-form .form-row input[type="radio"] { accent-color:var(--cta) !important; }
/* Select2 dropdown highlight — override CartFlows orange */
body.postid-15312 .select2-container--default .select2-results__option--highlighted[aria-selected],
body.postid-15312 .select2-container--default .select2-results__option--highlighted[data-selected],
body.postid-15312 .select2-container--default .select2-results__option--highlighted { background-color:var(--cta) !important; color:#fff !important; }
body.postid-15312 .select2-container--default .select2-selection--single:focus,
body.postid-15312 .select2-container--default.select2-container--focus .select2-selection--single,
body.postid-15312 .select2-container--default.select2-container--open .select2-selection--single { border-color:var(--cta) !important; box-shadow:0 0 0 3px rgba(16,124,75,.12) !important; }
.wcf-embed-checkout-form .form-row label { font-size:12px; font-weight:500; color:var(--muted); }
.wcf-embed-checkout-form h3#billing_fields_heading,
.wcf-embed-checkout-form h3#shipping_fields_heading { font-size:16px !important; font-weight:700 !important; color:var(--text) !important; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--border) !important; }

/* ══════ CONTINUE BUTTON ══════ */
.pabio-continue-wrap { text-align:center; padding:20px 0; height:auto !important; max-height:150px !important; overflow:visible; flex:none !important; }
.pabio-continue-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%; max-width:460px; height:56px; background:var(--cta); color:#fff; border:none; border-radius:999px; font-size:16px; font-weight:700; font-family:var(--font); letter-spacing:.02em; cursor:pointer; box-shadow:0 4px 20px rgba(16,124,75,.3); transition:filter .15s, transform .12s; }
.pabio-continue-btn:hover { filter:brightness(1.1); transform:translateY(-1px); }
.pabio-continue-subtext { display:block; font-family:var(--mono); font-size:11px; color:var(--muted); margin-top:8px; letter-spacing:.03em; }

/* ══════ PLAN TOGGLE ══════ */
.pabio-plan-toggle { display:flex; gap:16px; margin-bottom:20px; flex-wrap:wrap; }
.pabio-plan-card { flex:1; min-width:200px; border:2px solid var(--border); border-radius:var(--r-lg); padding:20px; cursor:pointer; transition:border-color .2s, background .2s; position:relative; background:var(--card); }
.pabio-plan-card.pabio-plan-active { border-color:var(--cta); background:rgba(16,124,75,.03); }
.pabio-plan-radio { width:20px; height:20px; border-radius:50%; border:2px solid var(--border); position:absolute; top:16px; right:16px; transition:all .2s; }
.pabio-plan-active .pabio-plan-radio { border-color:var(--cta); background:var(--cta); box-shadow:inset 0 0 0 3px #fff; }
.pabio-plan-label { display:block; font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.pabio-plan-price { display:block; font-size:28px; font-weight:700; color:var(--text); line-height:1.1; }
.pabio-plan-price small { font-size:14px; font-weight:400; color:var(--text2); }
.pabio-plan-detail { display:block; font-size:13px; color:var(--text2); margin-top:4px; line-height:1.4; }
.pabio-plan-badge { display:inline-block; font-family:var(--mono); font-size:9px; letter-spacing:.06em; padding:3px 10px; border-radius:999px; margin-top:8px; font-weight:600; }
.pabio-badge-green { background:rgba(16,124,75,.1); color:var(--cta); border:1px solid rgba(16,124,75,.2); }
.pabio-badge-grey { background:#F3F4F6; color:#6B7280; border:1px solid #E5E7EB; }
.pabio-plan-note { font-size:13px; font-style:italic; color:var(--cta); text-align:center; width:100%; margin-top:4px; font-family:var(--mono); letter-spacing:.02em; }

/* Payment plan restricted to US — non-US state. JS adds .pabio-no-plan to
 * #pabio-plan-toggle + .pabio-plan-disabled to #pabio-plan-monthly when the
 * billing country is not US. See updatePlanAvailability() in vsl-checkout.js. */
body.postid-15312 #pabio-plan-monthly.pabio-plan-disabled { opacity:.55; cursor:not-allowed; pointer-events:none; filter:grayscale(.4); border-color:var(--border) !important; background:var(--card) !important; }
body.postid-15312 #pabio-plan-monthly.pabio-plan-disabled .pabio-plan-radio { background:transparent !important; box-shadow:none !important; border-color:var(--border) !important; }
body.postid-15312 .pabio-plan-unavailable { display:none; margin:8px 0 0; font-size:13px; font-weight:500; color:#b00020; text-align:center; width:100%; font-family:var(--font-ui); }
body.postid-15312 #pabio-plan-toggle.pabio-no-plan .pabio-plan-unavailable { display:block; }
body.postid-15312 #pabio-plan-toggle.pabio-no-plan #pabio-plan-note { display:none !important; }

/* ══════ ORDER REVIEW ══════ */
/* Card container — !important on padding to override CartFlows */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order { background:var(--card) !important; border-radius:var(--r-lg) !important; padding:24px 28px !important; box-shadow:0 2px 8px rgba(0,0,0,.06) !important; border:none !important; margin-bottom:20px !important; }
/* Remove stray CartFlows left padding on the order wrap parent */
body.postid-15312 .wcf-embed-checkout-form .wcf-order-wrap { padding:0 !important; margin:0 !important; }

/* Table reset — remove ALL borders, outlines, box-shadows from the table and every cell */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table { border:none !important; outline:none !important; box-shadow:none !important; width:100% !important; border-collapse:collapse !important; border-spacing:0 !important; margin:0 !important; }
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table td,
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table th { border-left:none !important; border-right:none !important; outline:none !important; }

/* Table header — small uppercase muted labels */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table thead th { padding:0 0 12px !important; border-bottom:2px solid var(--border) !important; border-top:none !important; font-size:12px !important; font-weight:600 !important; color:var(--muted) !important; text-transform:uppercase !important; letter-spacing:.05em !important; background:transparent !important; }
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table thead th:last-child { text-align:right !important; }

/* 3-column header: Product | Qty | Price */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table thead th.product-qty { text-align:center !important; width:50px !important; }
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table thead th.product-total { width:100px !important; }

/* Product rows */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tbody td { padding:16px 0 !important; border-bottom:1px solid var(--border) !important; border-top:none !important; font-size:14px !important; background:transparent !important; vertical-align:middle !important; }

/* Product name cell: thumbnail + info */
.pabio-product-row { display:flex; align-items:center; gap:14px; }
.pabio-product-thumb img { width:56px !important; height:56px !important; max-width:56px !important; object-fit:cover !important; border-radius:var(--r-sm) !important; border:1px solid var(--border) !important; flex-shrink:0 !important; }
.pabio-product-info { display:flex; flex-direction:column; gap:2px; }
.pabio-product-title { font-size:14px; font-weight:600; color:var(--text); line-height:1.3; }
.pabio-product-desc { font-size:12px; color:var(--muted); line-height:1.3; }
.pabio-change-voltage { display:inline-block; margin-top:4px; font-size:12px; font-weight:600; color:var(--cta, #107C4B); text-decoration:none; border-bottom:1px dashed currentColor; line-height:1.3; cursor:pointer; transition:opacity .15s; }
.pabio-change-voltage:hover { opacity:.75; border-bottom-style:solid; }
.pabio-change-voltage.pabio-loading { opacity:.5; pointer-events:none; }

/* Qty column */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tbody td.product-qty { text-align:center !important; color:var(--text2) !important; font-size:14px !important; }

/* Price column */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tbody td.product-total { text-align:right !important; font-weight:600 !important; color:var(--text) !important; white-space:nowrap !important; }

/* FREE price badge */
.pabio-free-price { color:var(--cta) !important; font-weight:700 !important; font-size:14px !important; text-transform:uppercase; }

/* Footer rows: subtotal, shipping, total */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot th,
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot td { padding:12px 0 !important; border-bottom:1px solid var(--border) !important; border-top:none !important; font-size:14px !important; background:transparent !important; }
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot td { text-align:right !important; }
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .cart-subtotal th,
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .cart-subtotal td { color:var(--text2) !important; font-weight:400 !important; }

/* Shipping row — clean up and handle 3-col layout */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .woocommerce-shipping-totals th { color:var(--text2) !important; font-weight:400 !important; }
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .woocommerce-shipping-totals td { color:var(--text2) !important; font-weight:400 !important; }
/* Override CartFlows hiding the shipping totals row — we want shipping visible as its own line */
body.postid-15312 .shop_table tr.woocommerce-shipping-totals.shipping { display:table-row !important; visibility:visible !important; }
/* Hide the verbose shipping method list & calculator inside the shipping cell, show just the price */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .woocommerce-shipping-totals .woocommerce-shipping-methods { display:none !important; }
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .woocommerce-shipping-totals .shipping-calculator-form { display:none !important; }

/* Total row — canonical: 20px/700 label, 20px/700 green amount, 1px subtle separator. Matches .pabio-due-today-row and Thank You .row.grand. */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .order-total th,
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .order-total td { font-size:20px !important; font-weight:700 !important; color:var(--text) !important; border-top:1px solid var(--border) !important; border-bottom:none !important; padding-top:16px !important; }
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .order-total td .woocommerce-Price-amount { color:var(--cta) !important; font-size:20px !important; font-weight:700 !important; }

/* Hide coupon link entirely */
body.postid-15312 .wcf-embed-checkout-form .wcf-custom-coupon-field { display:none !important; }
body.postid-15312 .wcf-embed-checkout-form .woocommerce-form-coupon-toggle { display:none !important; }
body.postid-15312 .wcf-embed-checkout-form .showcoupon { display:none !important; }
body.postid-15312 .wcf-embed-checkout-form .woocommerce-info { display:none !important; }

/* ══════ SHIPPING METHODS ══════ */
.wcf-embed-checkout-form .woocommerce-shipping-totals td { padding:0 !important; }
.wcf-embed-checkout-form .woocommerce-shipping-methods { list-style:none !important; padding:0 !important; margin:0 !important; border:none !important; outline:none !important; box-shadow:none !important; }
.wcf-embed-checkout-form .woocommerce-shipping-methods li { border:1.5px solid var(--border); border-radius:var(--r-md); padding:14px 18px !important; margin-bottom:8px !important; transition:border-color .2s, background .2s; display:flex; align-items:center; gap:12px; }
.wcf-embed-checkout-form .woocommerce-shipping-methods li:has(input:checked) { border-color:var(--cta); border-left:4px solid var(--cta); background:rgba(16,124,75,.03); }
.wcf-embed-checkout-form .woocommerce-shipping-methods input[type="radio"] { accent-color:var(--cta); width:18px; height:18px; }

/* ══════ ORDER BUMP ══════ */
/* Default (unselected) — orange/amber with dashed border */
.wcf-embed-checkout-form .wcf-bump-order-wrap { background:#FFF8E1 !important; border:2px dashed #F57C00 !important; border-left:4px solid #F57C00 !important; border-radius:var(--r-md) !important; padding:20px !important; margin:20px 0 !important; transition:background .25s, border-color .25s; }
.wcf-embed-checkout-form .wcf-bump-order-bump-highlight { background:#F57C00 !important; color:#fff !important; font-weight:700 !important; padding:6px 14px !important; border-radius:var(--r-sm) !important; font-size:11px !important; letter-spacing:.06em !important; text-transform:uppercase !important; display:inline-block !important; transition:background .25s; }
/* Selected state — green */
.wcf-embed-checkout-form .wcf-bump-order-wrap:has(input:checked) { background:#E8F5E9 !important; border:2px solid var(--cta) !important; border-left:4px solid var(--cta) !important; }
.wcf-embed-checkout-form .wcf-bump-order-wrap:has(input:checked) .wcf-bump-order-bump-highlight { background:var(--cta) !important; }
/* Entire bump card clickable */
.wcf-embed-checkout-form .wcf-bump-order-wrap { cursor:pointer; }
.wcf-embed-checkout-form .wcf-bump-order-wrap input[type="checkbox"] { accent-color:var(--cta); width:20px; height:20px; flex-shrink:0; margin-top:2px; }
/* Label area — white rounded card, text wraps as paragraph beside checkbox */
.wcf-embed-checkout-form .wcf-bump-order-field-wrap { background:var(--card) !important; border-radius:var(--r-md) !important; padding:14px 16px !important; box-shadow:var(--shadow) !important; margin-bottom:12px !important; }
.wcf-embed-checkout-form .wcf-bump-order-field-wrap label { display:flex !important; align-items:flex-start !important; gap:12px !important; cursor:pointer; }
/* Bump section header */
.pabio-bump-header { font-size:16px !important; font-weight:700 !important; color:var(--text) !important; margin:0 0 14px 0 !important; padding:0 0 10px 0 !important; border-bottom:1px solid rgba(245,124,0,.3) !important; }
.wcf-bump-order-wrap:has(input:checked) .pabio-bump-header { border-bottom-color:rgba(16,124,75,.3) !important; }
.wcf-embed-checkout-form .wcf-bump-order-label { font-weight:700 !important; font-size:15px !important; color:var(--text) !important; }
.wcf-embed-checkout-form .wcf-bump-order-desc { font-size:14px !important; line-height:1.55 !important; color:var(--text2) !important; }

/* Inline text styling utilities (used in bump description via PHP meta filter) */
.pabio-b { font-weight:700; }
.pabio-bi { font-weight:700; font-style:italic; }

/* Comparison grid: Standard vs Unleashed — visible when unselected, hidden when selected */
.pabio-bump-compare { margin-top:16px; }
.wcf-bump-order-wrap:has(input:checked) .pabio-bump-compare { display:none; }
.pabio-compare-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pabio-compare-card { background:#fff; border-radius:var(--r-md); padding:16px; text-align:center; border:1.5px solid var(--border); }
.pabio-compare-card.pabio-compare-unleashed { border-color:#F57C00; background:rgba(245,124,0,.05); }
.pabio-compare-label { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.pabio-compare-unleashed .pabio-compare-label { color:#F57C00; }
/* Standard G-force: normal weight; Unleashed G-force: bold */
.pabio-compare-gforce { font-size:28px; font-weight:400; color:var(--text); line-height:1.1; }
.pabio-compare-unleashed .pabio-compare-gforce { font-weight:800; }
.pabio-compare-gforce span { font-size:13px; font-weight:500; color:var(--text2); }
.pabio-compare-desc { font-size:12px; color:var(--text2); line-height:1.4; margin:8px 0 12px; }
.pabio-compare-price { font-size:13px; font-weight:700; padding:4px 12px; border-radius:99px; display:inline-block; }
.pabio-compare-included { background:#E8F5E9; color:#2E7D32; }
.pabio-compare-upgrade { background:#FFF3E0; color:#E65100; }
@media(max-width:480px){ .pabio-compare-grid { grid-template-columns:1fr 1fr; gap:8px; } .pabio-compare-gforce { font-size:22px; } }

/* Hide plan note element (text cleared by JS) */
#pabio-plan-note { display:none !important; }

/* ══════ PAYMENT ══════ */
.wcf-embed-checkout-form .woocommerce-checkout-payment { background:var(--card); border-radius:var(--r-lg); padding:24px; margin-top:20px; box-shadow:var(--shadow); }
/* Payment heading (moved inside #payment by JS) — match Shipping card title style */
#payment > .wcf-payment-option-heading { font-size:16px !important; font-weight:700 !important; color:var(--text) !important; margin:0 0 16px 0 !important; padding:0 0 12px 0 !important; border-bottom:1px solid var(--border) !important; border-top:none !important; }
.wcf-embed-checkout-form .wc_payment_methods { border:none !important; padding:0 !important; }
.wcf-embed-checkout-form .wc_payment_methods li { border:1.5px solid var(--border); border-radius:var(--r-md); padding:16px !important; margin-bottom:10px; list-style:none; }
.wcf-embed-checkout-form #place_order { background:var(--cta) !important; color:#fff !important; border:none !important; border-radius:999px !important; height:56px !important; font-size:17px !important; font-weight:700 !important; font-family:var(--font) !important; cursor:pointer; box-shadow:0 4px 20px rgba(16,124,75,.3); width:100%; text-transform:none !important; transition:filter .15s, transform .12s; margin-top:16px; }
.wcf-embed-checkout-form #place_order:hover { filter:brightness(1.1); transform:translateY(-1px); }

/* ══════ TRUST SIDEBAR ══════ */
/* JS moves this div outside the form into the grid column 2 slot */
.pabio-trust-sidebar { display:flex; flex-direction:column; gap:20px; grid-column:2; grid-row:1; position:sticky; top:90px; align-self:start; }
@media(max-width:960px){ .pabio-trust-sidebar { position:static; grid-column:1; grid-row:auto; } }
.pabio-trust-card { background:var(--card); border-radius:var(--r-lg); padding:24px; box-shadow:var(--shadow); }
.pabio-trust-title { font-size:18px; font-weight:700; color:var(--text); margin-bottom:12px; border:none !important; padding:0 !important; }
.pabio-trust-desc { font-size:14px; color:var(--text2); line-height:1.55; margin-bottom:20px; }
.pabio-benefit-list { list-style:none; padding:0; margin:0; }
.pabio-benefit-list li { display:flex; flex-direction:column; padding:12px 0; border-bottom:1px solid var(--border); padding-left:28px; position:relative; }
.pabio-benefit-list li:last-child { border-bottom:none; }
.pabio-benefit-list li::before { content:'\2714'; color:var(--cta); font-weight:700; font-size:14px; position:absolute; left:0; top:14px; }
.pabio-benefit-list li strong { font-size:14px; font-weight:700; color:var(--text); }
.pabio-benefit-list li span { font-size:12px; color:var(--muted); margin-top:2px; }
.pabio-guarantee-badge { display:flex; align-items:flex-start; gap:14px; background:rgba(16,124,75,.06); border:1px solid rgba(16,124,75,.15); border-radius:var(--r-md); padding:16px; margin-bottom:16px; }
.pabio-guarantee-badge svg { flex-shrink:0; margin-top:2px; }
.pabio-guarantee-badge strong { display:block; font-size:14px; font-weight:700; color:var(--text); margin-bottom:4px; }
.pabio-guarantee-badge p { font-size:12px; color:var(--text2); line-height:1.5; margin:0; }
.pabio-trust-body { font-size:13px; color:var(--text2); line-height:1.55; margin-bottom:16px; }
.pabio-trust-icons { list-style:none; padding:0; margin:0; }
.pabio-trust-icons li { display:flex; align-items:center; gap:10px; padding:8px 0; font-size:13px; color:var(--text2); border-bottom:1px solid var(--border); }
.pabio-trust-icons li:last-child { border-bottom:none; }

/* ══════ 2-STEP VISIBILITY ══════ */

/* --- STEP 1 (default): Show form fields + continue btn. Hide ALL Step 2 elements --- */
body.postid-15312 #pabio-step2-header,
body.postid-15312 .pabio-plan-toggle,
body.postid-15312 #order_review_heading,
body.postid-15312 #order_review,
body.postid-15312 .woocommerce-checkout-payment,
body.postid-15312 #payment,
body.postid-15312 .wcf-payment-option-heading,
body.postid-15312 .wcf-customer-shipping,
body.postid-15312 .wcf-bump-order-wrap,
body.postid-15312 .wcf-all-bump-order-wrap,
body.postid-15312 .wcf-cartflows-review-order-wrapper { display:none !important; }

/* --- STEP 2 (JS adds pabio-step2-active to body): Show order summary + payment --- */
body.pabio-step2-active #pabio-step2-header { display:flex !important; }
body.pabio-step2-active .pabio-plan-toggle { display:flex !important; }
body.pabio-step2-active #order_review_heading { display:block !important; }
body.pabio-step2-active #order_review { display:block !important; }
body.pabio-step2-active #order_review table.shop_table { display:table !important; }
body.pabio-step2-active .woocommerce-checkout-payment,
body.pabio-step2-active #payment { display:block !important; background:var(--card) !important; border-radius:var(--r-lg) !important; padding:24px 28px !important; box-shadow:var(--shadow) !important; margin-top:20px !important; }
body.pabio-step2-active .wcf-payment-option-heading { display:block !important; }
body.pabio-step2-active .wcf-customer-shipping { display:block !important; background:var(--card) !important; border-radius:var(--r-lg) !important; padding:24px 28px !important; box-shadow:var(--shadow) !important; margin-bottom:20px !important; }
body.pabio-step2-active .wcf-customer-shipping .wcf-shipping-methods-title { font-size:16px !important; font-weight:700 !important; color:var(--text) !important; margin:0 0 16px 0 !important; padding:0 0 12px 0 !important; border-bottom:1px solid var(--border) !important; border-top:none !important; }
body.pabio-step2-active .wcf-bump-order-wrap { display:block !important; }
body.pabio-step2-active .wcf-all-bump-order-wrap { display:block !important; }

/* --- STEP 2: Hide Step 1 elements (targeted — keep parent visible for payment/shipping) --- */
body.pabio-step2-active #pabio-step1-header,
body.pabio-step2-active .wcf-col2-set,
body.pabio-step2-active #pabio-shipping-card,
body.pabio-step2-active #pabio-continue-btn-wrap,
body.pabio-step2-active .wcf-customer-info,
body.pabio-step2-active .wcf-logged-in-customer-info { display:none !important; }

/* --- STEP 2: Reorder form children so order-wrap (header/toggle/table) comes FIRST --- */
body.pabio-step2-active form.woocommerce-checkout { display:flex !important; flex-direction:column !important; }
body.pabio-step2-active form.woocommerce-checkout .wcf-order-wrap { order:1 !important; }
body.pabio-step2-active form.woocommerce-checkout .wcf-customer-info-main-wrapper { order:2 !important; }
/* guarantee bar moved inside #payment by JS — no form-level order needed */
body.pabio-step2-active form.woocommerce-checkout > * { order:10; } /* default order for anything else */

/* --- STEP 2: Reorder elements WITHIN .wcf-customer-info-main-wrapper --- */
body.pabio-step2-active .wcf-customer-info-main-wrapper { display:flex !important; flex-direction:column !important; }
body.pabio-step2-active .wcf-customer-info-main-wrapper .wcf-customer-shipping { order:1 !important; }
body.pabio-step2-active .wcf-customer-info-main-wrapper .wcf-all-bump-order-wrap { order:2 !important; display:block !important; }
body.pabio-step2-active .wcf-customer-info-main-wrapper .wcf-bump-order-wrap { order:2 !important; }
body.pabio-step2-active .wcf-customer-info-main-wrapper .wcf-payment-option-heading { order:3 !important; }
body.pabio-step2-active .wcf-customer-info-main-wrapper #payment { order:4 !important; }
body.pabio-step2-active .wcf-customer-info-main-wrapper .woocommerce-checkout-payment { order:4 !important; }
body.pabio-step2-active .wcf-customer-info-main-wrapper > * { order:20; } /* catch-all */

/* Guarantee bar and subtext are inside #payment (injected by JS, re-injected on updated_checkout) */

/* --- STEP 2: Eliminate blank space from hidden Step 1 elements --- */
body.pabio-step2-active .wcf-col2-set { height:0 !important; margin:0 !important; padding:0 !important; overflow:hidden !important; }
body.pabio-step2-active #pabio-continue-btn-wrap { height:0 !important; margin:0 !important; padding:0 !important; overflow:hidden !important; }

/* Hide collapsed order review (CartFlows mobile summary) and col-2 order table */
.wcf-collapsed-order-review-section { display:none !important; }
.wcf-embed-checkout-form .wcf-col-2 { display:none !important; }

/* Hide the entire CartFlows customer-info section (duplicate email + login) */
/* The email field is added to the billing card via PHP hook + JS reposition */
.wcf-customer-info { display:none !important; }
.wcf-logged-in-customer-info { display:none !important; }

/* Hide the CartFlows "Where do we send" heading (we have our own step header card) */
h3#customer_information_heading { display:none !important; }

/* Hide company name field — mockup uses email + phone instead */
#billing_company_field { display:none !important; }

/* Step 1 header card stays inside the form flow — match billing card width */
.pabio-step-header-card { width:100%; box-sizing:border-box; }

/* ══════ DIFFERENT BILLING ADDRESS ══════ */
.pabio-diff-billing { margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.pabio-diff-billing-label { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:500; color:var(--text); cursor:pointer; }
.pabio-diff-billing-label input[type="checkbox"] { accent-color:var(--cta); width:18px; height:18px; cursor:pointer; }
.pabio-diff-billing-fields { margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.pabio-diff-billing-fields h4 { font-size:16px !important; font-weight:700 !important; color:var(--text) !important; margin:0 0 16px 0; padding-bottom:12px; border-bottom:1px solid var(--border) !important; }
/* Flex grid — mirrors .pabio-shipping-fields-inner */
.pabio-diff-billing-grid { display:flex; flex-wrap:wrap; gap:0; }
.pabio-diff-billing-grid .form-row { float:none !important; position:relative; margin-bottom:0; padding:6px; box-sizing:border-box; }
.pabio-diff-billing-grid .form-row label { display:block; font-size:12px; font-weight:500; color:var(--muted); margin-bottom:4px; }
.pabio-diff-billing-grid .form-row label .required { text-decoration:none; color:var(--muted); }
.pabio-diff-billing-grid .form-row input.input-text,
.pabio-diff-billing-grid .form-row select.input-text { width:100%; border:1.5px solid var(--border); border-radius:var(--r-sm); padding:14px 16px; font-size:14px; font-family:var(--font); background:#fff; color:var(--text); box-sizing:border-box; -webkit-appearance:none; appearance:none; }
.pabio-diff-billing-grid .form-row select.input-text { background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234A4A4A' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 16px center; padding-right:40px; }
.pabio-diff-billing-grid .form-row input.input-text:focus,
.pabio-diff-billing-grid .form-row select.input-text:focus { border-color:var(--cta); box-shadow:0 0 0 3px rgba(16,124,75,.12); outline:none; }
/* Column widths — same as shipping form */
.pabio-diff-billing-grid .form-row-full { width:100% !important; }
.pabio-diff-billing-grid .wcf-column-50 { width:50% !important; }
.pabio-diff-billing-grid .wcf-column-33 { width:33.333% !important; }
/* Force Select2 containers to fill their parent cell */
.pabio-diff-billing-grid .select2-container { width:100% !important; }
.pabio-diff-billing-grid .select2-container--default .select2-selection--single { height:auto !important; min-height:48px; border:1.5px solid var(--border) !important; border-radius:var(--r-sm) !important; padding:10px 16px !important; background:#fff !important; }
.pabio-diff-billing-grid .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:1.5 !important; color:var(--text) !important; font-size:14px !important; font-family:var(--font) !important; padding:0 !important; }
.pabio-diff-billing-grid .select2-container--default .select2-selection--single .select2-selection__arrow { height:100% !important; right:12px !important; }

/* ══════ COUPON ══════ */
.wcf-embed-checkout-form .wcf-custom-coupon-field { border-radius:var(--r-md); border:1px solid var(--border); }
.wcf-embed-checkout-form .woocommerce-info { background:var(--amber-bg) !important; border-left:4px solid var(--amber) !important; border-top:none !important; border-radius:var(--r-sm); padding:16px; font-size:14px; color:var(--text2); }
.wcf-embed-checkout-form .woocommerce-privacy-policy-text { font-size:12px; color:var(--muted); }

/* ══════ SHIPPING ADDRESS SUMMARY (Step 2 header) ══════ */
.pabio-shipping-summary { display:flex; align-items:center; gap:6px; font-size:13px; color:var(--text2); margin:4px 0 0; }
.pabio-shipping-summary svg { flex-shrink:0; }

/* ══════ GUARANTEE BAR ══════ */
.pabio-guarantee-bar { display:flex; align-items:center; gap:12px; background:rgba(16,124,75,.06); border:1px solid rgba(16,124,75,.15); border-radius:var(--r-md); padding:16px 20px; margin:20px 0; }
.pabio-guarantee-bar svg { flex-shrink:0; }
.pabio-guarantee-bar span { font-size:14px; font-weight:600; color:var(--text); line-height:1.4; }
/* Hidden on Step 1 */
body.postid-15312 .pabio-guarantee-bar { display:none !important; }
body.pabio-step2-active .pabio-guarantee-bar { display:flex !important; }

/* ══════ PLACE ORDER ENHANCEMENTS ══════ */
.wcf-embed-checkout-form #place_order { position:relative; letter-spacing:.02em; }
.pabio-place-order-subtext { display:block; text-align:center; font-family:var(--mono); font-size:11px; color:var(--muted); margin-top:8px; letter-spacing:.03em; }
/* Hidden on Step 1 */
body.postid-15312 .pabio-place-order-subtext { display:none; }
body.pabio-step2-active .pabio-place-order-subtext { display:block; }

/* ══════ CHECKOUT FOOTER ══════ */
.pabio-checkout-footer { background:#fff; border-top:1px solid var(--border); padding:24px 32px; margin-top:40px; text-align:center; }
.pabio-footer-inner { max-width:1100px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:8px; }
.pabio-footer-inner span { font-size:12px; color:var(--muted); }
.pabio-footer-links { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.pabio-footer-links a { font-size:12px; color:var(--text2); text-decoration:none; transition:color .2s; }
.pabio-footer-links a:hover { color:var(--cta); text-decoration:underline; }

/* ══════ HIDE UNWANTED ELEMENTS ══════ */
/* Coupon toggle link — hide on this checkout */
body.postid-15312 .woocommerce-form-coupon-toggle { display:none !important; }
/* CartFlows order review heading — we use our own */
body.postid-15312 .wcf-order-review-heading,
body.postid-15312 h3#order_review_heading { font-size:0 !important; height:0 !important; margin:0 !important; padding:0 !important; overflow:hidden !important; }
/* WooCommerce privacy policy text — too verbose for styled checkout */
body.postid-15312 .woocommerce-privacy-policy-text { font-size:11px; color:var(--muted); margin-top:8px; }
/* CartFlows "Your order" duplicate heading in col-2 */
body.postid-15312 .wcf-order-review-content-heading { display:none !important; }

/* ══════ DUE TODAY ROW ══════ */
.pabio-plan-total-row th,
.pabio-plan-total-row td { font-size:13px !important; color:var(--text2) !important; padding-top:8px !important; }
.pabio-plan-total-amount { display:block; font-weight:600; }
.pabio-plan-total-detail { display:block; font-size:11px; color:var(--muted); margin-top:2px; }
/* Canonical total row — matches .order-total and Thank You .row.grand: 20px/700 label, 20px/700 green amount, 1px subtle separator.
   High-specificity selector chain mirrors .order-total rule above so border-top survives CartFlows/WC !important overrides. */
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot tr.pabio-due-today-row th,
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot tr.pabio-due-today-row td { font-size:20px !important; font-weight:700 !important; color:var(--text) !important; border-top:1px solid var(--border) !important; padding-top:16px !important; }
body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot tr.pabio-due-today-row td .woocommerce-Price-amount { color:var(--cta) !important; font-size:20px !important; }

/* ── Hide SUMO native rows (we use our own Due Today / Payment Plan Total rows) ── */
body.postid-15312 .woocommerce-checkout-review-order-table tfoot tr._sumo_pp_balance_payable_amount,
body.postid-15312 .woocommerce-checkout-review-order-table tfoot tr._sumo_pp_total_payable_amount { display:none !important; }

/* ══════ BLOCK UI OVERLAY — make invisible (content stays visible during AJAX) ══════ */
/* blockUI injects inline opacity via jQuery .css() — !important overrides inline styles.
   Do NOT use display:none — $.unblock() needs the elements to exist for cleanup.
   Use opacity:0 + pointer-events:none to make them invisible but still functional.
   Target every specificity path blockUI uses: .blockUI, .blockOverlay, .blockMsg */
body.postid-15312 .blockUI,
body.postid-15312 .blockUI.blockOverlay,
body.postid-15312 .blockUI.blockMsg,
body.postid-15312 .woocommerce .blockUI,
body.postid-15312 .woocommerce .blockUI.blockOverlay,
body.postid-15312 .wcf-embed-checkout-form .blockUI,
body.postid-15312 .woocommerce-checkout-review-order .blockUI,
body.postid-15312 .woocommerce-checkout-payment .blockUI,
body.postid-15312 table.shop_table .blockUI { background:transparent !important; opacity:0 !important; animation:none !important; pointer-events:none !important; border:none !important; box-shadow:none !important; color:transparent !important; z-index:-1 !important; }

/* ══════ LOADING SPINNER ══════ */
.pabio-loading { position:relative; pointer-events:none; opacity:.65; transition:opacity .2s; }
.pabio-loading::after { content:''; position:absolute; top:50%; left:50%; width:24px; height:24px; margin:-12px 0 0 -12px; border:3px solid rgba(16,124,75,.2); border-top-color:var(--cta); border-radius:50%; animation:pabio-spin .6s linear infinite; z-index:10; }
@keyframes pabio-spin { to { transform:rotate(360deg); } }
/* Place Order button loading state */
#place_order.pabio-btn-loading { pointer-events:none; opacity:.8; }
#place_order.pabio-btn-loading::after { content:''; display:inline-block; width:16px; height:16px; margin-left:8px; border:2px solid rgba(255,255,255,.3); border-top-color:#fff; border-radius:50%; animation:pabio-spin .6s linear infinite; vertical-align:middle; }

/* ══════ FIELD VALIDATION ══════ */
.pabio-invalid { border-color:#EF4444 !important; box-shadow:0 0 0 2px rgba(239,68,68,.15) !important; }
.pabio-field-error { display:block; color:#EF4444; font-size:12px; font-weight:500; margin-top:4px; line-height:1.3; }

/* ══════ RESPONSIVE ══════ */

/* ── Tablet & small desktop (≤960px) ── */
@media(max-width:960px){
  .wcf-embed-checkout-form { padding:24px 16px; }

  /* Hide trust sidebar on mobile — only show the checkout form column */
  .pabio-trust-sidebar { display:none !important; }
}

/* ── Mobile (≤768px) ── */
@media(max-width:768px){
  /* Header responsive rules live in css/vsl-funnel-header.css (shared across all funnel steps). */

  /* Main layout */
  .wcf-embed-checkout-form { padding:16px 12px; gap:16px; }

  /* Step header cards */
  .pabio-step-header-card { padding:16px 18px; gap:12px; flex-wrap:wrap; }
  .pabio-step-number { width:30px; height:30px; min-width:30px; font-size:14px; }
  .pabio-step-header-text h3 { font-size:16px; }
  .pabio-step-header-text p { font-size:13px; }

  /* Form cards */
  .wcf-embed-checkout-form .woocommerce-billing-fields { padding:18px 16px; }
  .pabio-shipping-card { padding:18px 16px; }

  /* Stack first/last name fields in contact card */
  .wcf-embed-checkout-form .woocommerce-billing-fields .form-row-first,
  .wcf-embed-checkout-form .woocommerce-billing-fields .form-row-last { width:100% !important; float:none !important; }

  /* Shipping address fields: stack ALL fields vertically */
  .pabio-shipping-fields-inner .form-row-first,
  .pabio-shipping-fields-inner .form-row-last,
  .pabio-shipping-fields-inner #billing_city_field,
  .pabio-shipping-fields-inner #billing_state_field,
  .pabio-shipping-fields-inner #billing_postcode_field { width:100% !important; }

  /* Different billing address fields: stack ALL fields vertically (mirror shipping) */
  .pabio-diff-billing-grid .wcf-column-50,
  .pabio-diff-billing-grid .wcf-column-33 { width:100% !important; }

  /* Force Select2 containers to full width on mobile (country/state dropdowns) */
  .wcf-embed-checkout-form .select2-container { width:100% !important; }
  .wcf-embed-checkout-form .select2-container--default .select2-selection--single { min-height:48px; }

  /* Plan toggle */
  .pabio-plan-toggle { flex-direction:column; gap:12px; }
  .pabio-plan-card { min-width:0; padding:16px; }
  .pabio-plan-price { font-size:24px; }
  .pabio-plan-note { font-size:12px; }

  /* Continue button */
  .pabio-continue-btn { font-size:14px; height:50px; max-width:100%; }

  /* Order review card */
  body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order { padding:18px 14px !important; }
  body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table { table-layout:fixed !important; }

  /* Product rows — smaller thumbs */
  .pabio-product-thumb img { width:44px !important; height:44px !important; max-width:44px !important; }
  .pabio-product-row { gap:10px; }
  .pabio-product-title { font-size:13px; }
  .pabio-product-desc { font-size:11px; }

  /* Table columns */
  body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table thead th.product-qty { width:36px !important; }
  body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table thead th.product-total { width:80px !important; }

  /* Footer total rows — canonical mobile size matches Thank You @480 = 17px */
  body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .order-total th,
  body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .order-total td { font-size:17px !important; }
  body.postid-15312 .wcf-embed-checkout-form .woocommerce-checkout-review-order table.shop_table tfoot .order-total td .woocommerce-Price-amount { font-size:17px !important; }
  .pabio-due-today-row th,
  .pabio-due-today-row td { font-size:17px !important; }
  .pabio-due-today-row td .woocommerce-Price-amount { font-size:17px !important; }

  /* Payment card — must override Step 2 !important */
  body.pabio-step2-active .woocommerce-checkout-payment,
  body.pabio-step2-active #payment { padding:18px 14px !important; }
  .wcf-embed-checkout-form #place_order { height:50px !important; font-size:15px !important; }

  /* Order bump */
  .wcf-embed-checkout-form .wcf-bump-order-wrap { padding:14px !important; margin:14px 0 !important; }
  .wcf-embed-checkout-form .wcf-bump-order-label { font-size:14px !important; }
  .wcf-bump-order-desc { padding-left:12px !important; padding-right:12px !important; }

  /* Guarantee bar */
  .pabio-guarantee-bar { padding:12px 14px; gap:10px; flex-wrap:wrap; }
  .pabio-guarantee-bar span { font-size:13px; }

  /* Footer */
  .pabio-checkout-footer { padding:16px; }
  .pabio-footer-links { gap:12px; }

  /* Shipping summary text in Step 2 header */
  .pabio-shipping-summary { font-size:12px; }
}

/* ── Small mobile (≤480px) ── */
@media(max-width:480px){
  .wcf-embed-checkout-form { padding:12px 8px; }

  /* Step header */
  .pabio-step-header-card { padding:14px; }
  .pabio-step-header-text h3 { font-size:15px; }

  /* Form fields */
  .wcf-embed-checkout-form .form-row input.input-text,
  .wcf-embed-checkout-form .form-row select { padding:12px 14px !important; font-size:14px !important; }

  /* Plan cards */
  .pabio-plan-price { font-size:22px; }
  .pabio-plan-detail { font-size:12px; }
  .pabio-plan-badge { font-size:8px; }

  /* Comparison grid — reduce bump desc padding to reclaim width */
  .wcf-bump-order-desc { padding-left:8px !important; padding-right:8px !important; }
  .pabio-compare-grid { gap:6px; }
  .pabio-compare-card { padding:10px 8px; }
  .pabio-compare-gforce { font-size:22px; }
  .pabio-compare-gforce span { white-space:nowrap; }
  .pabio-compare-desc { font-size:11px; }
  .pabio-compare-price { font-size:12px; padding:4px 8px; }

  /* Shipping methods (Step 2) */
  .wcf-embed-checkout-form .woocommerce-shipping-methods li { padding:10px 12px !important; }
  .wcf-embed-checkout-form .woocommerce-shipping-methods li label { word-break:break-word !important; overflow-wrap:anywhere !important; font-size:13px !important; }

  /* Shipping row in order table — prevent truncation from table-layout:fixed */
  body.postid-15312 .wcf-embed-checkout-form table.shop_table tfoot .shipping td,
  body.postid-15312 .wcf-embed-checkout-form table.shop_table tfoot .shipping th { word-break:break-word !important; overflow-wrap:anywhere !important; }
}

/* ══════ Shipping method price column — mobile-safe (applies at all widths) ══════
   Keeps "$XXX.XX" on a single line and reserves a fixed right column so the
   label text can wrap freely without squeezing the price into char-by-char. */
.wcf-embed-checkout-form .woocommerce-shipping-methods li label .woocommerce-Price-amount,
.wcf-embed-checkout-form .woocommerce form .wcf-shipping-method-options ul#shipping_method li label .woocommerce-Price-amount { min-width:90px !important; text-align:right !important; white-space:nowrap !important; word-break:keep-all !important; overflow-wrap:normal !important; flex-shrink:0 !important; display:inline-block !important; }

/* Plan-total breakdown: "$600 down + 6 × $300" should stay on one line at any width */
.pabio-plan-total-detail { white-space:nowrap !important; }

/* ══════ CARTFLOWS REDIRECT LOADER — BRAND COLOR OVERRIDE ══════ */
/* CartFlows Pro's post-checkout "Please wait while we redirect you" overlay
   uses a spinner with an orange (#f16334) active border. Override to brand green
   so the overlay matches the rest of the funnel while a customer waits for
   the Upsell 1 redirect to fire. Source: cartflows-pro/assets/css/frontend.css:62-73 */
.wcf-loader { border-left-color: var(--cta, #107C4B) !important; }
