/* SSE order form: configure-product page.
   Layout inspired by a step-based cart: step bar, billing-period cards, option cards, sticky summary.
   Colors come from the Kohost theme variables so light/dark mode keep working. */

.sse-cart {
    --sse-card-bg: #ffffff;
    --sse-soft-bg: #f5f7fb;
    --sse-line: #e6e9f0;
    --sse-text: var(--heading-color, #1d1d1f);
    --sse-muted: #6b7280;
    --sse-accent: var(--primary, #1C40F2);
    --sse-accent-soft: var(--primary-light, #D1DCFE);
    --sse-dark: var(--primary-darker, #091A7A);
    --sse-radius: 16px;
    color: var(--sse-text);
    margin-bottom: 40px;
}
[data-bs-theme="dark"] .sse-cart {
    --sse-card-bg: #1e293b;
    --sse-soft-bg: #0f172a;
    --sse-line: #334155;
    --sse-muted: #94a3b8;
    --sse-accent-soft: rgba(28, 64, 242, 0.25);
}
.sse-cart .sse-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    padding: 0 !important;
}

/* ---------- Step bar ---------- */
.sse-steps {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
}
.sse-step {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}
.sse-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 24px;
    left: calc(50% + 36px);
    right: calc(-50% + 36px);
    height: 2px;
    border-radius: 2px;
    background: var(--sse-line);
}
.sse-step.is-done:not(:last-child)::after { background: var(--sse-accent); opacity: .45; }
.sse-step-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--sse-card-bg);
    border: 1px solid var(--sse-line);
    color: var(--sse-muted);
    font-size: 18px;
    box-shadow: none;
    text-decoration: none !important;
}
.sse-step.is-done .sse-step-icon { color: var(--sse-accent); }
.sse-step.is-active .sse-step-icon {
    background: var(--sse-accent);
    border-color: var(--sse-accent);
    color: #fff;
    box-shadow: none;
}
.sse-step-label { font-size: 14px; color: var(--sse-muted); }
.sse-step.is-active .sse-step-label { color: var(--sse-text); font-weight: 600; }

/* ---------- Two-column layout ---------- */
#order-standard_cart.sse-cart .sse-conf-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 28px;
    align-items: start;
}
#order-standard_cart.sse-cart .secondary-cart-sidebar.sse-conf-side {
    width: auto;
    float: none;
    padding: 0;
    position: sticky;
    top: 20px;
}

/* ---------- Cards ---------- */
.sse-card {
    background: var(--sse-card-bg);
    border: 1px solid var(--sse-line);
    border-radius: var(--sse-radius);
    padding: 26px 28px;
    margin-bottom: 20px;
    box-shadow: none;
}
.sse-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    color: var(--sse-text);
    margin: 0 0 20px;
}
.sse-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--sse-accent); flex: none; }
.sse-muted { color: var(--sse-muted); font-size: 13px; margin: -12px 0 16px; }

.sse-product-head { background: var(--sse-accent); border: 0; color: #fff; }
.sse-product-group {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    margin-bottom: 10px;
}
.sse-product-title { font-size: 26px; font-weight: 700; color: #fff; margin: 0 0 8px; letter-spacing: -0.3px; }
.sse-product-desc { font-size: 14px; line-height: 1.7; color: rgba(255, 255, 255, 0.85); }
.sse-product-desc br + br { display: none; }

/* ---------- Billing period cards ---------- */
.sse-cycles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 148px));
    gap: 14px;
}
.sse-cycle {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 0;
    border-radius: 12px;
    background: var(--sse-soft-bg);
    overflow: hidden;
    cursor: pointer;
    text-align: center;
    box-shadow: none;
    border: 1px solid var(--sse-line);
    transition: border-color .15s ease;
}
/* Selection ring drawn above the header and body so it is even all the way round */
.sse-cycle::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px var(--sse-accent);
    opacity: 0;
    pointer-events: none;
    z-index: 2;
    transition: opacity .15s ease;
}
.sse-cycle.is-selected::after { opacity: 1; }
.sse-cycle > .sse-cycle-head,
.sse-cycle > .sse-cycle-body { display: flex; flex-direction: column; align-items: center; width: 100%; box-sizing: border-box; }
.sse-cycle:hover { border-color: var(--sse-line); }
.sse-cycle:focus { outline: none; }
.sse-cycle-head {
    display: block;
    padding: 18px 8px 20px;
    background: var(--sse-dark);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}
.sse-cycle-badge {
    align-self: center;
    margin-top: -12px;
    padding: 3px 10px;
    border-radius: 6px;
    background: var(--success, #83D617);
    color: #0f172a;
    font-size: 12px;
    font-weight: 700;
    position: relative;
    z-index: 1;
}
.sse-cycle-body { display: flex; flex-direction: column; gap: 2px; padding: 16px 10px 18px; }
.sse-cycle > .sse-cycle-body { flex: 1 1 auto; }   /* fill the card down to the bottom edge, even when shorter than its neighbours */
.sse-cycle-price { font-size: 17px; font-weight: 700; color: var(--sse-text); }
.sse-cycle-per { font-size: 12px; color: var(--sse-muted); min-height: 16px; }
.sse-cycle.is-selected { border-color: var(--sse-accent); box-shadow: none; }
.sse-cycle.is-selected .sse-cycle-body { background: var(--sse-accent-soft); }
.sse-cycle.is-selected .sse-cycle-price { color: var(--sse-accent); }
[data-bs-theme="dark"] .sse-cycle.is-selected .sse-cycle-price { color: #fff; }

/* ---------- Configurable options ---------- */
.sse-option { padding: 18px 20px; border: 1px solid var(--sse-line); border-radius: 12px; margin-bottom: 14px; }
.sse-option:last-child { margin-bottom: 0; }
.sse-option-label { display: block; font-size: 15px; font-weight: 600; margin: 0 0 12px; color: var(--sse-text); }
.sse-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.sse-choice {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid var(--sse-line);
    border-radius: 10px;
    background: var(--sse-card-bg);
    color: var(--sse-text);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease;
    margin: 0;
}
.sse-choice:hover { border-color: var(--sse-accent); }
.sse-choice.is-selected { border-color: var(--sse-accent); background: var(--sse-accent-soft); color: var(--sse-accent); }
[data-bs-theme="dark"] .sse-choice.is-selected { color: #fff; }
.sse-choice-check { width: 100%; justify-content: flex-start; }
.sse-qty { display: flex; align-items: center; gap: 10px; }
.sse-qty .form-control-qty { max-width: 110px; border-radius: 10px; }
.sse-qty-unit { color: var(--sse-muted); }

/* Range sliders (ion.rangeSlider, used for quantity options) */
.sse-slider { padding: 4px 4px 0; }
.sse-cart .irs--modern .irs-bar,
.sse-cart .irs-bar { background: var(--sse-accent) !important; border: 0 !important; }
.sse-cart .irs--modern .irs-line,
.sse-cart .irs-line { background: var(--sse-soft-bg) !important; border: 0 !important; }
.sse-cart .irs-single,
.sse-cart .irs--modern .irs-single { background: var(--sse-dark) !important; border-radius: 6px; }
.sse-cart .irs-slider,
.sse-cart .irs--modern .irs-handle { border-color: var(--sse-accent) !important; }

/* Custom fields */
.sse-cart .field-container .form-group label { font-weight: 600; font-size: 14px; }
.sse-cart .field-container .form-control,
.sse-cart .sse-card .form-control { border-radius: 10px; min-height: 42px; }

.sse-help { color: var(--sse-muted); font-size: 14px; margin: 4px 0 0; }
.sse-help a { color: var(--sse-accent); font-weight: 500; }

/* ---------- Order summary ---------- */
#order-standard_cart.sse-cart .order-summary.sse-summary {
    position: relative;
    background: var(--sse-card-bg);
    border: 1px solid var(--sse-line);
    border-radius: var(--sse-radius);
    padding: 26px 24px 24px;
    margin: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
#order-standard_cart.sse-cart .order-summary .loader { border-radius: var(--sse-radius); }
#order-standard_cart.sse-cart .order-summary h2.sse-summary-title,
.sse-summary-title {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    color: var(--sse-text) !important;
    background: transparent !important;
    margin: 0 0 18px;
    padding: 0 0 14px;
    position: relative;
}
.sse-summary-title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 36px;
    height: 3px;
    margin-left: -18px;
    border-radius: 3px;
    background: var(--sse-accent);
}
#order-standard_cart.sse-cart .summary-container {
    background: transparent;
    border: 0;
    padding: 0;
    color: var(--sse-text);
    font-size: 14px;
}
#order-standard_cart.sse-cart .summary-container .product-name { display: block; font-size: 16px; font-weight: 700; text-align: center; }
#order-standard_cart.sse-cart .summary-container .product-group { display: block; color: var(--sse-muted); font-size: 13px; text-align: center; font-style: normal; margin-bottom: 14px; }
#order-standard_cart.sse-cart .summary-container .clearfix { padding: 10px 0; border-bottom: 1px solid var(--sse-line); }
#order-standard_cart.sse-cart .summary-container .summary-totals { border-top: 0; margin-top: 6px; padding: 0; }
#order-standard_cart.sse-cart .summary-container .summary-totals .clearfix { border-bottom: 0; padding: 5px 0; color: var(--sse-muted); }
#order-standard_cart.sse-cart .summary-container .total-due-today {
    margin-top: 14px;
    padding: 16px;
    border-radius: 12px;
    background: var(--sse-soft-bg);
    text-align: center;
    float: none;
}
#order-standard_cart.sse-cart .summary-container .total-due-today .amt,
#order-standard_cart.sse-cart .summary-container .total-due-today span { float: none; text-align: center; }
#order-standard_cart.sse-cart .summary-container .total-due-today .amt {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--sse-accent);
    line-height: 1.2;
}
[data-bs-theme="dark"] #order-standard_cart.sse-cart .summary-container .total-due-today .amt { color: #fff; }
#order-standard_cart.sse-cart .summary-container .total-due-today span:not(.amt) { font-size: 13px; color: var(--sse-muted); }
.sse-summary-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 50px;
    margin-top: 18px;
    border: 0;
    border-radius: 100px;
    background: var(--sse-accent);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: none;
    transition: background-color .15s ease;
}
.sse-summary-btn:hover { background: var(--primary-dark, #163D36); color: #fff; }
.sse-summary-btn:focus { outline: none; }

/* ---------- Tablets and phones ---------- */
@media (max-width: 991px) {
    #order-standard_cart.sse-cart .sse-conf-grid { grid-template-columns: 1fr; }
    #order-standard_cart.sse-cart .secondary-cart-sidebar.sse-conf-side { position: static; }
}
@media (max-width: 575px) {
    .sse-step-label { font-size: 12px; }
    .sse-step:not(:last-child)::after { left: calc(50% + 28px); right: calc(-50% + 28px); }
    .sse-step-icon { width: 40px; height: 40px; font-size: 15px; }
    .sse-card { padding: 20px; }
    .sse-cycles { grid-template-columns: repeat(2, 1fr); }
}

/* Summary rows: keep a gap between long product names and their price */
#order-standard_cart.sse-cart .summary-container .clearfix { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
#order-standard_cart.sse-cart .summary-container .clearfix::before,
#order-standard_cart.sse-cart .summary-container .clearfix::after { display: none; }
#order-standard_cart.sse-cart .summary-container .clearfix .float-left { float: none; min-width: 0; }
#order-standard_cart.sse-cart .summary-container .clearfix .float-right { float: none; flex: none; white-space: nowrap; }


/* ==========================================================================
   Store: plan cards in the style of sse.to (flat, no glow)
   ========================================================================== */
.sse-store-head { text-align: center; margin: 0 auto 30px; max-width: 900px; }
.sse-store-title { font-size: 40px; line-height: 1.15; font-weight: 700; color: var(--sse-text); margin: 0 0 8px; letter-spacing: -0.5px; }
.sse-store-tagline { color: var(--sse-muted); font-size: 16px; margin: 0 0 22px; }
.sse-store-tabs { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.sse-store-tab {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 20px; border-radius: 100px;
    border: 1px solid var(--sse-line); background: var(--sse-card-bg);
    color: var(--sse-text) !important; font-size: 14px; font-weight: 500; text-decoration: none !important;
    transition: border-color .15s ease, background-color .15s ease;
}
.sse-store-tab:hover { border-color: var(--sse-accent); }
.sse-store-tab.is-active { background: var(--sse-accent); border-color: var(--sse-accent); color: #fff !important; }

#order-standard_cart .sse-plans {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
    align-items: stretch;
    margin: 0;
}
#order-standard_cart .sse-plans .product.sse-plan {
    position: relative;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    background: var(--sse-card-bg);
    border: 1px solid var(--sse-line);
    border-radius: 12px !important;
    box-shadow: none;
    overflow: hidden;
}
.sse-plan-inner { display: flex; flex-direction: column; flex: 1; padding: 28px 28px 22px; }
#order-standard_cart .sse-plans .sse-plan.is-popular { border: 2px solid var(--sse-lime, #B4E717); }
.sse-plan-popular {
    background: var(--sse-lime, #B4E717);
    color: var(--sse-accent);
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 9px 10px;
}

.sse-plan-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; background: none !important; border: 0 !important; padding: 0 !important; margin: 0 0 18px; }
.sse-plan-name { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; }
.sse-plan-name-plain { font-size: 20px; font-weight: 700; color: var(--sse-text); }
.sse-plan-size { font-size: 44px; line-height: 1; font-weight: 700; color: var(--sse-text); letter-spacing: -1px; white-space: nowrap; }
.sse-plan-size span { font-size: 20px; font-weight: 600; color: #6c8a84; letter-spacing: 0; margin-left: 4px; }
.sse-plan-tag {
    flex: none; max-width: 55%;
    padding: 4px 12px; border: 1px solid var(--sse-line); border-radius: 100px;
    font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
    color: var(--sse-muted); text-align: center;
}
.sse-plan-qty { font-size: 12px; color: var(--sse-muted); white-space: nowrap; }

#order-standard_cart .sse-plan-price-block { display: flex; flex-direction: column; margin: 0 0 18px; text-align: left; }
.sse-plan-from { font-size: 12px; color: var(--sse-muted); text-transform: uppercase; letter-spacing: .5px; }
.sse-plan-price { font-size: 36px; line-height: 1.1; font-weight: 700; color: var(--sse-text); letter-spacing: -0.5px; }
.sse-plan-cents { font-size: 20px; font-weight: 600; letter-spacing: 0; }
.sse-plan-period { font-size: 16px; font-weight: 400; color: var(--sse-muted); letter-spacing: 0; margin-left: 1px; }
.sse-plan-price-text { font-size: 30px; font-weight: 700; color: var(--sse-text); }
.sse-plan-cycle-text { font-size: 14px; color: var(--sse-muted); }
.sse-plan-pergb { margin-top: 4px; font-size: 13px; font-weight: 600; color: #6b8f00; }
.sse-plan-setup { color: var(--sse-muted); margin-top: 2px; }

.sse-plan-features { display: flex; flex-direction: column; gap: 8px; margin: 0 0 12px; padding: 0 !important; }
.sse-plan-feature {
    padding: 10px 14px;
    border: 1px solid var(--sse-line);
    border-radius: 9px;
    background: var(--sse-soft-bg);
    text-align: center;
    font-size: 14px;
    color: var(--sse-text);
}
.sse-plan-annual { display: none; }
.sse-plan-annual.is-shown {
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 14px;
    padding: 12px 14px; margin: 0 0 18px;
    border: 1px dashed var(--sse-line); border-radius: 9px;
    font-size: 14px;
}
.sse-plan-annual-label { color: var(--sse-muted); font-weight: 500; }
.sse-plan-annual-old { color: var(--sse-muted); text-decoration: line-through; }
.sse-plan-annual-new { color: var(--sse-text); font-weight: 700; }
.sse-plan-annual-save { padding: 2px 10px; border-radius: 100px; background: var(--sse-lime, #B4E717); color: var(--sse-accent); font-size: 12px; font-weight: 600; white-space: nowrap; flex-shrink: 0; }

.sse-plan-actions { margin-top: auto; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.sse-plan-cta {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 50px;
    border-radius: 100px;
    background: var(--sse-accent); color: #fff !important;
    font-size: 15px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase;
    text-decoration: none !important;
    transition: background-color .15s ease;
}
.sse-plan-cta:hover { background: var(--primary-dark, #163D36); }
.sse-plan.is-popular .sse-plan-cta { background: var(--sse-lime, #B4E717); color: var(--sse-accent) !important; }
.sse-plan.is-popular .sse-plan-cta:hover { background: #a3d312; }
.sse-plan-guarantee { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--sse-muted); }

/* Kohost/standard_cart leftovers that don't apply to the new cards */
#order-standard_cart .sse-plans .product header,
#order-standard_cart .sse-plans .product footer { float: none; width: auto; }
#order-standard_cart .sse-plans .product .product-desc { width: auto; float: none; }

@media (max-width: 575px) {
    .sse-store-title { font-size: 30px; }
    .sse-plan-inner { padding: 22px 20px 18px; }
    .sse-plan-size { font-size: 38px; }
}

/* Store cards: win over older standard_cart / theme rules for header text and description width */
#order-standard_cart .sse-plans .sse-plan .sse-plan-head span.sse-plan-size { font-size: 44px !important; line-height: 1 !important; font-weight: 700 !important; color: var(--sse-text) !important; letter-spacing: -1px; }
#order-standard_cart .sse-plans .sse-plan .sse-plan-head span.sse-plan-size span { font-size: 20px !important; font-weight: 600 !important; color: #6c8a84 !important; letter-spacing: 0; }
#order-standard_cart .sse-plans .sse-plan .sse-plan-head span.sse-plan-tag { font-size: 11px !important; line-height: 1.4 !important; font-weight: 600 !important; letter-spacing: 1px; color: var(--sse-muted) !important; padding: 5px 12px; }
#order-standard_cart .sse-plans .sse-plan .sse-plan-head span.sse-plan-name { font-size: inherit; }
#order-standard_cart .sse-plans .sse-plan .sse-plan-features.product-desc { width: 100% !important; float: none !important; padding: 0 !important; }
#order-standard_cart .sse-plans .sse-plan .sse-plan-feature { width: 100%; }
/* Annual row: prices on the first line, "Save x%" centred underneath, identical on every card */
#order-standard_cart .sse-plans .sse-plan .sse-plan-annual.is-shown {
    display: grid; grid-template-columns: repeat(3, auto); justify-content: center; align-items: center;
    gap: 8px 10px; font-size: 13px;
}
#order-standard_cart .sse-plans .sse-plan .sse-plan-annual.is-shown > span { white-space: nowrap; }
#order-standard_cart .sse-plans .sse-plan .sse-plan-annual-save { grid-column: 1 / -1; justify-self: center; }
#order-standard_cart .sse-plans .sse-plan .sse-plan-head { margin-bottom: 22px !important; }

/* ==========================================================================
   Review, checkout and order-complete pages (sse_cart copies of the stock pages)
   ========================================================================== */
#order-standard_cart.sse-flow .cart-sidebar,
#order-standard_cart.sse-flow .sidebar-collapsed { display: none !important; }
#order-standard_cart.sse-flow .cart-body { width: 100% !important; float: none !important; padding: 0 !important; }
#order-standard_cart.sse-flow .header-lined { text-align: center; border: 0; margin: 0 0 26px; padding: 0; }
#order-standard_cart.sse-flow .header-lined h1 { font-size: 34px !important; font-weight: 700; color: var(--sse-text); margin: 0; letter-spacing: -0.4px; }

/* Main column and summary as flat white cards */
#order-standard_cart.sse-flow .secondary-cart-body > form,
#order-standard_cart.sse-flow .view-cart-items,
#order-standard_cart.sse-flow .view-cart-tabs,
#order-standard_cart.sse-flow #frmCheckout {
    background: var(--sse-card-bg);
    border: 1px solid var(--sse-line);
    border-radius: 12px;
}
#order-standard_cart.sse-flow .view-cart-items { overflow: hidden; margin-bottom: 20px; }
#order-standard_cart.sse-flow .view-cart-items-header {
    background: var(--sse-soft-bg) !important;
    color: var(--sse-muted) !important;
    font-size: 12px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase;
    border-bottom: 1px solid var(--sse-line);
    padding: 12px 18px;
}
#order-standard_cart.sse-flow .view-cart-items .item { padding: 18px; border-bottom: 1px solid var(--sse-line); background: transparent; }
#order-standard_cart.sse-flow .view-cart-items .item:last-child { border-bottom: 0; }
#order-standard_cart.sse-flow .view-cart-items .item-title { font-size: 16px; font-weight: 600; color: var(--sse-text); }
#order-standard_cart.sse-flow .view-cart-items .item-group { color: var(--sse-muted); font-size: 13px; }
#order-standard_cart.sse-flow .view-cart-items .item-price span:first-child { font-weight: 700; color: var(--sse-text); }
#order-standard_cart.sse-flow .view-cart-items .btn-remove-from-cart { color: #b42318; }
#order-standard_cart.sse-flow .empty-cart .btn { border-radius: 100px; }
#order-standard_cart.sse-flow .view-cart-tabs { padding: 6px 18px 18px; }
#order-standard_cart.sse-flow .view-cart-tabs .nav-tabs { border-bottom: 1px solid var(--sse-line); }
#order-standard_cart.sse-flow .view-cart-tabs .nav-tabs .nav-link,
#order-standard_cart.sse-flow .view-cart-tabs .nav-tabs a { border: 0; color: var(--sse-muted); font-weight: 500; }
#order-standard_cart.sse-flow .view-cart-tabs .nav-tabs .active,
#order-standard_cart.sse-flow .view-cart-tabs .nav-tabs .nav-link.active { color: var(--sse-accent); border-bottom: 2px solid var(--sse-accent); background: transparent; }

/* Order summary card on the right */
#order-standard_cart.sse-flow .order-summary {
    background: var(--sse-card-bg) !important;
    border: 1px solid var(--sse-line) !important;
    border-radius: 12px !important;
    overflow: hidden;
    box-shadow: none !important;
}
#order-standard_cart.sse-flow .order-summary h2 {
    background: var(--sse-card-bg) !important;
    color: var(--sse-text) !important;
    font-size: 20px; font-weight: 700; text-align: center;
    padding: 22px 16px 14px !important; margin: 0 !important;
    border-bottom: 1px solid var(--sse-line);
}
#order-standard_cart.sse-flow .order-summary .summary-container { background: transparent; border: 0; padding: 18px 20px 20px; }
#order-standard_cart.sse-flow .order-summary .total-due-today {
    margin: 14px 0 0; padding: 16px; border-radius: 12px; background: var(--sse-soft-bg); text-align: center;
}
#order-standard_cart.sse-flow .order-summary .total-due-today .amt { display: block; float: none; font-size: 28px; font-weight: 700; color: var(--sse-accent) !important; }
#order-standard_cart.sse-flow .order-summary .total-due-today span:not(.amt) { float: none; color: var(--sse-muted); font-size: 13px; }
#order-standard_cart.sse-flow .order-summary .btn-checkout,
#order-standard_cart.sse-flow #checkout {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; height: 50px; margin-top: 16px;
    border-radius: 100px !important; border: 0 !important;
    background: var(--sse-accent) !important; color: #fff !important;
    font-size: 15px; font-weight: 600;
}
#order-standard_cart.sse-flow .order-summary .btn-checkout:hover,
#order-standard_cart.sse-flow #checkout:hover { background: var(--primary-dark, #163D36) !important; }
#order-standard_cart.sse-flow .order-summary .btn-continue-shopping { color: var(--sse-muted); }

/* Checkout form */
#order-standard_cart.sse-flow #frmCheckout { padding: 26px 28px; }
#order-standard_cart.sse-flow .sub-heading { border-top: 1px solid var(--sse-line); margin: 30px 0 18px; text-align: left; height: auto; }
#order-standard_cart.sse-flow .sub-heading span,
#order-standard_cart.sse-flow .sub-heading .primary-bg-color {
    position: relative; top: -11px;
    padding: 0 12px 0 0; margin: 0;
    background: var(--sse-card-bg) !important;
    color: var(--sse-text) !important;
    font-size: 16px; font-weight: 700;
}
#order-standard_cart.sse-flow #frmCheckout .sub-heading:first-of-type { border-top: 0; margin-top: 4px; }
#order-standard_cart.sse-flow #frmCheckout .form-control,
#order-standard_cart.sse-flow #frmCheckout .field { border-radius: 9px; min-height: 44px; }
#order-standard_cart.sse-flow #frmCheckout .prepend-icon .field-icon { color: var(--sse-muted); }
#order-standard_cart.sse-flow .already-registered { background: var(--sse-soft-bg); border-radius: 12px; padding: 14px 18px; border: 0; }
#order-standard_cart.sse-flow .already-registered .btn { border-radius: 100px; }
#order-standard_cart.sse-flow .account-select-container .account,
#order-standard_cart.sse-flow .paymethod-info,
#order-standard_cart.sse-flow .payment-methods label { border-radius: 10px; }
#order-standard_cart.sse-flow .total-due-today.total-due-today-padded { border-radius: 12px; background: var(--sse-soft-bg); }
#order-standard_cart.sse-flow #btnCompleteOrder {
    min-width: 280px; height: 54px; padding: 0 34px;
    border-radius: 100px !important;
    background: var(--sse-accent) !important; border: 0 !important; color: #fff !important;
    font-size: 16px; font-weight: 600;
}
#order-standard_cart.sse-flow #btnCompleteOrder:hover { background: var(--primary-dark, #163D36) !important; }

/* Order complete */
#order-standard_cart.sse-flow-step5 .alert-success,
#order-standard_cart.sse-flow-step5 .alert-info { border-radius: 12px; }
#order-standard_cart.sse-flow-step5 .order-confirmation { background: var(--sse-card-bg); border: 1px solid var(--sse-line); border-radius: 12px; padding: 24px; }
#order-standard_cart.sse-flow-step5 .sse-step.is-done .sse-step-icon { background: var(--sse-accent); color: #fff; border-color: var(--sse-accent); }

/* Flow pages: last stock colors brought in line */
#order-standard_cart.sse-flow .empty-cart { text-align: right; padding: 0 18px 14px; }
#order-standard_cart.sse-flow .empty-cart .btn,
#order-standard_cart.sse-flow .empty-cart button {
    background: transparent !important; border: 0 !important; box-shadow: none !important;
    color: var(--sse-muted) !important; font-size: 13px; padding: 4px 0;
}
#order-standard_cart.sse-flow .empty-cart .btn:hover,
#order-standard_cart.sse-flow .empty-cart button:hover { color: #b42318 !important; text-decoration: underline; }
#order-standard_cart.sse-flow .already-registered .btn,
#order-standard_cart.sse-flow .already-registered .btn-info {
    background: transparent !important; border: 1px solid var(--sse-accent) !important;
    color: var(--sse-accent) !important; border-radius: 100px; padding: 8px 20px;
}
#order-standard_cart.sse-flow .already-registered .btn:hover { background: var(--sse-accent) !important; color: #fff !important; }
#order-standard_cart.sse-flow .alert-success.total-due-today,
#order-standard_cart.sse-flow .total-due-today.alert,
#order-standard_cart.sse-flow #totalDueToday {
    background: var(--sse-soft-bg) !important; border: 1px solid var(--sse-line) !important;
    color: var(--sse-text) !important; border-radius: 12px;
}
#order-standard_cart.sse-flow #totalDueToday strong,
#order-standard_cart.sse-flow .alert-success.total-due-today strong { color: var(--sse-accent); font-size: 18px; }
#order-standard_cart.sse-flow .order-summary .total-due-today .amt { border: 0 !important; background: transparent !important; padding: 0 !important; }

/* ==========================================================================
   Review page, cleaned up: one items card, gap before the promo card,
   trash-icon remove buttons, inline promo field, no frame around the total
   ========================================================================== */
#order-standard_cart.sse-flow .secondary-cart-body > form { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; }
/* header + list form one card */
#order-standard_cart.sse-flow .view-cart-items-header {
    border: 1px solid var(--sse-line); border-bottom: 1px solid var(--sse-line);
    border-radius: 12px 12px 0 0; margin: 0;
}
#order-standard_cart.sse-flow .view-cart-items {
    border: 1px solid var(--sse-line) !important; border-top: 0 !important;
    border-radius: 0 0 12px 12px !important; margin: 0 !important; box-shadow: none !important;
}
#order-standard_cart.sse-flow .view-cart-items .item { border: 0 !important; border-bottom: 1px solid var(--sse-line) !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; }
#order-standard_cart.sse-flow .view-cart-items .item:last-child { border-bottom: 0 !important; }
/* Empty cart: a small link under the card, then real space before the next card */
#order-standard_cart.sse-flow .empty-cart { margin: 10px 0 24px !important; padding: 0 !important; text-align: right; border: 0 !important; background: none !important; }
#order-standard_cart.sse-flow .view-cart-tabs { margin-top: 0 !important; }
/* Remove button: trash icon + label */
#order-standard_cart.sse-flow .btn-remove-from-cart {
    display: inline-flex; align-items: center; gap: 6px;
    color: var(--sse-muted) !important; font-size: 13px; font-weight: 500;
    background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 4px 0;
}
#order-standard_cart.sse-flow .btn-remove-from-cart:hover { color: #b42318 !important; }
#order-standard_cart.sse-flow .btn-remove-from-cart i { font-size: 14px; }
/* Promo code: slim inline field + button */
#order-standard_cart.sse-flow .view-cart-tabs .tab-content { background: transparent !important; padding: 14px 0 0 !important; border: 0 !important; }
#order-standard_cart.sse-flow .view-cart-tabs .nav-tabs .nav-link,
#order-standard_cart.sse-flow .view-cart-tabs .nav-tabs a { padding: 12px 4px; margin-right: 18px; font-size: 14px; }
#order-standard_cart.sse-flow #applyPromo form { display: flex; gap: 10px; align-items: stretch; margin: 0; }
#order-standard_cart.sse-flow #applyPromo .form-group { flex: 1; margin: 0; }
#order-standard_cart.sse-flow #applyPromo .form-control { height: 44px; border-radius: 9px; }
#order-standard_cart.sse-flow #applyPromo .btn-block {
    width: auto !important; flex: none; margin: 0 !important; height: 44px; padding: 0 22px;
    border-radius: 100px; background: var(--sse-accent) !important; border: 0 !important; color: #fff !important; font-weight: 600;
}
#order-standard_cart.sse-flow #applyPromo .btn-block:hover { background: var(--primary-dark, #163D36) !important; }
/* Total in the summary: plain number, no frame */
#order-standard_cart.sse-flow .order-summary span#totalDueToday.amt { border: 0 !important; background: transparent !important; padding: 0 !important; border-radius: 0 !important; }
/* Continue shopping centered under the button */
#order-standard_cart.sse-flow .order-summary .btn-continue-shopping { display: block; width: 100%; text-align: center; margin-top: 10px; float: none; }

/* ==========================================================================
   Review page: one card (Order Summary) holding items, promo, totals, checkout
   ========================================================================== */
#order-standard_cart.sse-flow-step3 .sse-summary-card {
    display: flex; flex-direction: column;
    max-width: 780px; margin: 0 auto 10px !important;
    background: var(--sse-card-bg); border: 1px solid var(--sse-line); border-radius: 12px;
    padding: 26px 30px 24px;
}
#order-standard_cart.sse-flow-step3 .sse-summary-card-title {
    font-size: 22px; font-weight: 700; color: var(--sse-text); text-align: center;
    margin: 0 0 18px; padding-bottom: 16px; border-bottom: 1px solid var(--sse-line);
}
#order-standard_cart.sse-flow-step3 .sse-summary-card > .secondary-cart-body,
#order-standard_cart.sse-flow-step3 .sse-summary-card > .secondary-cart-sidebar {
    width: 100% !important; max-width: 100% !important; flex: none !important; float: none !important;
    padding: 0 !important; position: static !important;
}
/* Items: plain rows, no inner boxes */
#order-standard_cart.sse-flow-step3 .view-cart-items-header {
    background: transparent !important; border: 0 !important; border-radius: 0 !important;
    padding: 0 0 8px !important; border-bottom: 1px solid var(--sse-line) !important;
}
#order-standard_cart.sse-flow-step3 .view-cart-items { border: 0 !important; border-radius: 0 !important; background: transparent !important; }
#order-standard_cart.sse-flow-step3 .view-cart-items .item { padding: 16px 0 !important; }
#order-standard_cart.sse-flow-step3 .view-cart-items .item > .row { display: flex; align-items: center; flex-wrap: nowrap; }
#order-standard_cart.sse-flow-step3 .view-cart-items .item > .row > [class*=col-sm-7] { flex: 1 1 auto; max-width: none; width: auto; }
#order-standard_cart.sse-flow-step3 .view-cart-items .item > .row > [class*=col-sm-4] { flex: 0 0 auto; max-width: none; width: auto; text-align: right; }
#order-standard_cart.sse-flow-step3 .view-cart-items .item > .row > [class*=col-sm-1] { flex: 0 0 auto; max-width: none; width: auto; padding-left: 18px; white-space: nowrap; }
#order-standard_cart.sse-flow-step3 .view-cart-items-header > .row { display: flex; }
#order-standard_cart.sse-flow-step3 .view-cart-items-header > .row > [class*=col-sm-7] { flex: 1 1 auto; max-width: none; width: auto; }
#order-standard_cart.sse-flow-step3 .view-cart-items-header > .row > [class*=col-sm-4] { flex: 0 0 auto; max-width: none; width: auto; text-align: right; padding-right: 110px; }
#order-standard_cart.sse-flow-step3 .empty-cart { margin: 4px 0 6px !important; }
/* Promo: a plain section inside the card */
#order-standard_cart.sse-flow-step3 .view-cart-tabs {
    background: transparent !important; border: 0 !important; border-radius: 0 !important;
    border-top: 1px solid var(--sse-line) !important; padding: 4px 0 18px !important; margin: 0 !important;
}
/* Totals + checkout: plain section at the bottom of the same card */
#order-standard_cart.sse-flow-step3 .order-summary {
    border: 0 !important; border-radius: 0 !important; background: transparent !important;
    border-top: 1px solid var(--sse-line) !important; margin: 0 !important;
}
#order-standard_cart.sse-flow-step3 .order-summary h2 { display: none !important; }
#order-standard_cart.sse-flow-step3 .order-summary .summary-container { padding: 16px 0 0 !important; }
#order-standard_cart.sse-flow-step3 .order-summary .text-right { text-align: center !important; }
@media (max-width: 767px) {
    #order-standard_cart.sse-flow-step3 .sse-summary-card { padding: 20px 16px; }
    #order-standard_cart.sse-flow-step3 .view-cart-items-header { display: none !important; }
    #order-standard_cart.sse-flow-step3 .view-cart-items .item > .row { flex-wrap: wrap; }
}

/* ==========================================================================
   Review page as a table: Product | Billing cycle | Price | actions,
   totals aligned under the Price column, icon-only Edit/Remove
   ========================================================================== */
#order-standard_cart.sse-flow-step3 {
    --sse-col-cycle: 150px;
    --sse-col-price: 150px;
    --sse-col-actions: 84px;
}
#order-standard_cart.sse-flow-step3 .sse-table-head,
#order-standard_cart.sse-flow-step3 .sse-table-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--sse-col-cycle) var(--sse-col-price) var(--sse-col-actions);
    align-items: center;
    column-gap: 0;
}
#order-standard_cart.sse-flow-step3 .sse-table-head::before, #order-standard_cart.sse-flow-step3 .sse-table-head::after,
#order-standard_cart.sse-flow-step3 .sse-table-row::before, #order-standard_cart.sse-flow-step3 .sse-table-row::after { display: none !important; }
#order-standard_cart.sse-flow-step3 .sse-table-head {
    padding: 10px 0 !important;
    font-size: 12px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; color: var(--sse-muted) !important;
    border-bottom: 1px solid var(--sse-line) !important;
}
#order-standard_cart.sse-flow-step3 .sse-table-row { padding: 18px 0 !important; border-bottom: 1px solid var(--sse-line) !important; }
#order-standard_cart.sse-flow-step3 .sse-cell-cycle { color: var(--sse-text); font-size: 14px; }
#order-standard_cart.sse-flow-step3 .sse-cell-price { text-align: right; }
#order-standard_cart.sse-flow-step3 .sse-table-head .sse-cell-price { text-align: right; }
#order-standard_cart.sse-flow-step3 .sse-cell-price .sse-price { display: block; font-size: 16px; font-weight: 700; color: var(--sse-text); }
#order-standard_cart.sse-flow-step3 .sse-price-note { display: block; color: var(--sse-muted); font-size: 12px; }
#order-standard_cart.sse-flow-step3 .sse-cell-product .item-title { display: block; font-size: 16px; font-weight: 600; color: var(--sse-text); }
#order-standard_cart.sse-flow-step3 .sse-cell-product .item-group,
#order-standard_cart.sse-flow-step3 .sse-cell-product .item-domain { display: block; font-size: 13px; color: var(--sse-muted); margin-top: 2px; }
#order-standard_cart.sse-flow-step3 .sse-item-options { display: block; margin-top: 6px; color: var(--sse-muted); }
#order-standard_cart.sse-flow-step3 .sse-item-qty { display: flex; gap: 8px; align-items: center; margin-top: 8px; max-width: 170px; }

/* Icon-only actions */
#order-standard_cart.sse-flow-step3 .sse-cell-actions { display: flex; justify-content: flex-end; gap: 6px; }
#order-standard_cart.sse-flow-step3 .sse-icon-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; padding: 0;
    border: 1px solid var(--sse-line) !important; border-radius: 9px;
    background: var(--sse-card-bg) !important; color: var(--sse-muted) !important;
    font-size: 14px; line-height: 1; text-decoration: none !important; box-shadow: none !important;
    transition: border-color .15s ease, color .15s ease;
}
#order-standard_cart.sse-flow-step3 .sse-icon-btn:hover { border-color: var(--sse-accent) !important; color: var(--sse-accent) !important; }
#order-standard_cart.sse-flow-step3 .sse-icon-btn-danger:hover { border-color: #b42318 !important; color: #b42318 !important; }

/* Totals as table rows: label on the left of the Price column, amount under Price */
#order-standard_cart.sse-flow-step3 .order-summary .summary-container { padding: 6px 0 0 !important; }
#order-standard_cart.sse-flow-step3 .order-summary .subtotal,
#order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix,
#order-standard_cart.sse-flow-step3 .order-summary .recurring-totals,
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--sse-col-price) var(--sse-col-actions);
    align-items: start;
    padding: 12px 0 !important; margin: 0 !important;
    border: 0 !important; border-bottom: 1px solid var(--sse-line) !important;
    background: transparent !important; border-radius: 0 !important;
    font-size: 14px; color: var(--sse-text);
}
#order-standard_cart.sse-flow-step3 .order-summary .bordered-totals { border: 0 !important; padding: 0 !important; margin: 0 !important; }
#order-standard_cart.sse-flow-step3 .order-summary .subtotal::before, #order-standard_cart.sse-flow-step3 .order-summary .subtotal::after,
#order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix::before, #order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix::after,
#order-standard_cart.sse-flow-step3 .order-summary .recurring-totals::before, #order-standard_cart.sse-flow-step3 .order-summary .recurring-totals::after,
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today::before, #order-standard_cart.sse-flow-step3 .order-summary .total-due-today::after { display: none !important; }
#order-standard_cart.sse-flow-step3 .order-summary .subtotal > span,
#order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix > span,
#order-standard_cart.sse-flow-step3 .order-summary .recurring-totals > span { float: none !important; }
#order-standard_cart.sse-flow-step3 .order-summary .subtotal > span:first-child,
#order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix > span:first-child,
#order-standard_cart.sse-flow-step3 .order-summary .recurring-totals > span:first-child { grid-column: 1; text-align: right; padding-right: 24px; color: var(--sse-muted); }
#order-standard_cart.sse-flow-step3 .order-summary .subtotal > span:last-child,
#order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix > span:last-child,
#order-standard_cart.sse-flow-step3 .order-summary .recurring-totals > span:last-child { grid-column: 2; text-align: right; font-weight: 600; }
#order-standard_cart.sse-flow-step3 .order-summary .recurring-totals .recurring-charges { font-style: normal; font-size: 14px; line-height: 1.6; }
/* Total due today: the last, strongest row */
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today { border-bottom: 2px solid var(--sse-text) !important; padding: 16px 0 !important; }
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today span:not(.amt) {
    grid-column: 1; grid-row: 1; float: none !important; text-align: right; padding-right: 24px;
    font-size: 16px !important; font-weight: 700; color: var(--sse-text) !important;
}
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today span#totalDueToday.amt {
    grid-column: 2; grid-row: 1; float: none !important; display: block;
    text-align: right; font-size: 22px !important; font-weight: 700; color: var(--sse-accent) !important; line-height: 1.2;
}
/* Checkout button below the table, right-aligned with the Price column */
#order-standard_cart.sse-flow-step3 .order-summary .text-right,
#order-standard_cart.sse-flow-step3 .order-summary .text-center { text-align: center !important; margin-top: 18px; }
#order-standard_cart.sse-flow-step3 .order-summary .btn-checkout { margin-top: 0 !important; }

/* Phones: stack the cells */
@media (max-width: 767px) {
    #order-standard_cart.sse-flow-step3 .sse-table-head { display: none !important; }
    #order-standard_cart.sse-flow-step3 .sse-table-row {
        grid-template-columns: minmax(0, 1fr) auto auto;
        grid-template-areas: "product product product" "cycle price actions";
        row-gap: 10px;
    }
    #order-standard_cart.sse-flow-step3 .sse-table-row .sse-cell-product { grid-area: product; }
    #order-standard_cart.sse-flow-step3 .sse-table-row .sse-cell-cycle { grid-area: cycle; color: var(--sse-muted); }
    #order-standard_cart.sse-flow-step3 .sse-table-row .sse-cell-price { grid-area: price; padding-right: 12px; }
    #order-standard_cart.sse-flow-step3 .sse-table-row .sse-cell-actions { grid-area: actions; }
    #order-standard_cart.sse-flow-step3 .order-summary .subtotal,
    #order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix,
    #order-standard_cart.sse-flow-step3 .order-summary .recurring-totals,
    #order-standard_cart.sse-flow-step3 .order-summary .total-due-today { grid-template-columns: minmax(0, 1fr) auto 0; }
    #order-standard_cart.sse-flow-step3 .order-summary .subtotal > span:first-child,
    #order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix > span:first-child,
    #order-standard_cart.sse-flow-step3 .order-summary .recurring-totals > span:first-child,
    #order-standard_cart.sse-flow-step3 .order-summary .total-due-today span:not(.amt) { text-align: left; padding-right: 12px; }
}

/* Review table: polish */
#order-standard_cart.sse-flow-step3 .sse-table-head .sse-cell,
#order-standard_cart.sse-flow-step3 .sse-table-head .sse-cell-cycle {
    font-size: 12px !important; font-weight: 600 !important; letter-spacing: .6px; color: var(--sse-muted) !important; text-transform: uppercase;
}
#order-standard_cart.sse-flow-step3 .order-summary .subtotal > span,
#order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix > span,
#order-standard_cart.sse-flow-step3 .order-summary .recurring-totals > span,
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today > span { margin: 0 !important; }
#order-standard_cart.sse-flow-step3 .order-summary .subtotal > span:last-child,
#order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix > span:last-child,
#order-standard_cart.sse-flow-step3 .order-summary .recurring-totals > span:last-child,
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today span#totalDueToday.amt { padding: 0 !important; }
#order-standard_cart.sse-flow-step3 .order-summary .subtotal > span:first-child,
#order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix > span:first-child,
#order-standard_cart.sse-flow-step3 .order-summary .recurring-totals > span:first-child,
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today span:not(.amt) { padding: 0 24px 0 0 !important; }
/* Promo: no tab strip when promo is the only tab */
#order-standard_cart.sse-flow-step3 .view-cart-tabs .nav-tabs:not(:has(li + li)) { display: none !important; }
#order-standard_cart.sse-flow-step3 .view-cart-tabs:has(.nav-tabs:not(:has(li + li))) { padding-top: 18px !important; }
#order-standard_cart.sse-flow-step3 .order-summary .subtotal,
#order-standard_cart.sse-flow-step3 .order-summary .bordered-totals > .clearfix,
#order-standard_cart.sse-flow-step3 .order-summary .recurring-totals,
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today { gap: 0 !important; column-gap: 0 !important; }

/* Review page refinements */
#order-standard_cart.sse-flow-step3 .view-cart-items:not(:has(.item + .item)) ~ .empty-cart { display: none !important; }
#order-standard_cart.sse-flow-step3 .sse-promo-toggle {
    display: inline-flex; align-items: center; gap: 8px;
    margin: 14px 0; padding: 0; border: 0; background: transparent;
    color: var(--sse-accent); font-size: 14px; font-weight: 500; cursor: pointer;
}
#order-standard_cart.sse-flow-step3 .sse-promo-toggle:hover { text-decoration: underline; }
#order-standard_cart.sse-flow-step3 .sse-secure-note { margin: 10px 0 0; text-align: center; color: var(--sse-muted); font-size: 13px; }
#order-standard_cart.sse-flow-step3 .sse-secure-note i { margin-right: 4px; font-size: 12px; }

/* Checkout, new account: only first name, last name, email and password are shown */
#order-standard_cart.sse-flow .sse-hide-signup { display: none !important; }

/* Checkout password block on phones: strength meter right under the password fields,
   then the Generate Password button, with breathing room between them */
@media (max-width: 575px) {
    #order-standard_cart.sse-flow #containerPassword > [class*="col-"]:has(.password-strength-meter) { order: 2; margin: 2px 0 16px; }
    #order-standard_cart.sse-flow #containerPassword > [class*="col-"]:has(.generate-password) { order: 3; margin-bottom: 8px; }
    #order-standard_cart.sse-flow #containerPassword .password-strength-meter .text-muted { margin-top: 6px; display: block; }
}
@media (min-width: 576px) {
    #order-standard_cart.sse-flow #containerPassword .password-strength-meter { margin-top: 4px; }
}

/* ==========================================================================
   Checkout payment: method tiles + clean card fields (Stripe)
   ========================================================================== */
#order-standard_cart.sse-flow #paymentGatewaysContainer { margin: 4px 0 18px; }
#order-standard_cart.sse-flow .sse-pay-title { margin: 0 0 10px; font-size: 14px; font-weight: 600; color: var(--sse-text); }
#order-standard_cart.sse-flow .sse-pay-tiles { display: flex; flex-wrap: wrap; gap: 10px; }

#order-standard_cart.sse-flow .sse-pay-tile {
    position: relative;
    display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    width: 116px; height: 76px; margin: 0 !important; padding: 8px !important;
    border: 1px solid var(--sse-line); border-radius: 14px; background: var(--sse-card-bg);
    cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease;
}
#order-standard_cart.sse-flow .sse-pay-tile:hover { border-color: #b8c4c1; }
/* the real WHMCS radio stays in place, invisible, covering the whole tile (keeps all WHMCS logic) */
#order-standard_cart.sse-flow .sse-pay-tile .iradio_square-blue,
#order-standard_cart.sse-flow .sse-pay-tile > input[type=radio] {
    position: absolute !important; inset: 0; width: 100% !important; height: 100% !important;
    margin: 0 !important; opacity: 0 !important; background: none !important; z-index: 2;
}
#order-standard_cart.sse-flow .sse-pay-tile:has(.checked),
#order-standard_cart.sse-flow .sse-pay-tile:has(input:checked) {
    border-color: var(--sse-accent);
    box-shadow: inset 0 0 0 1px var(--sse-accent);
}
#order-standard_cart.sse-flow .sse-pay-tile-icon { display: flex; align-items: center; justify-content: center; gap: 6px; height: 26px; color: var(--sse-text); font-size: 20px; }
#order-standard_cart.sse-flow .sse-pay-tile-icon svg { display: block; }
#order-standard_cart.sse-flow .sse-pay-tile-name { font-size: 12px; font-weight: 500; color: var(--sse-muted); line-height: 1.2; text-align: center; }
#order-standard_cart.sse-flow .sse-pay-tile:has(.checked) .sse-pay-tile-name,
#order-standard_cart.sse-flow .sse-pay-tile:has(input:checked) .sse-pay-tile-name { color: var(--sse-text); }

/* Card area: no grey box, card number full width, expiry + CVC side by side */
#order-standard_cart.sse-flow .cc-input-container,
#order-standard_cart.sse-flow #creditCardInputFields {
    background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 0 8px !important;
}
#order-standard_cart.sse-flow #creditCardInputFields > ul:not(:has(li + li)) { display: none !important; }
#order-standard_cart.sse-flow #inputDescriptionContainer { display: none !important; }
#order-standard_cart.sse-flow .stripe-cards-inputs {
    flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; margin-left: 0 !important; padding: 0 15px;
}
#order-standard_cart.sse-flow .stripe-cards-inputs > .row > .col-md-6 { flex: 0 0 100% !important; max-width: 100% !important; }
#order-standard_cart.sse-flow .stripe-cards-inputs > .row > .col-md-3 { flex: 0 0 50% !important; max-width: 50% !important; }
#order-standard_cart.sse-flow .stripe-cards-inputs label {
    display: block; margin: 12px 0 6px; font-size: 13px; font-weight: 600; color: var(--sse-text); text-align: left;
}
#order-standard_cart.sse-flow .stripe-cards-inputs .StripeElement {
    height: 50px; padding: 15px 14px !important;
    border: 1px solid var(--sse-line) !important; border-radius: 12px !important;
    background: var(--sse-card-bg) !important; box-shadow: none !important;
    transition: border-color .15s ease, box-shadow .15s ease;
}
#order-standard_cart.sse-flow .stripe-cards-inputs .StripeElement--focus {
    border-color: var(--sse-accent) !important; box-shadow: 0 0 0 1px var(--sse-accent) !important;
}
#order-standard_cart.sse-flow .stripe-cards-inputs .StripeElement--invalid { border-color: #b42318 !important; }
@media (max-width: 575px) {
    #order-standard_cart.sse-flow .sse-pay-tile { width: calc(50% - 5px); }
}

/* Card fields aligned with the payment tiles */
#order-standard_cart.sse-flow #creditCardInputFields .row { margin-left: 0 !important; margin-right: 0 !important; }
#order-standard_cart.sse-flow .stripe-cards-inputs { padding-left: 0 !important; padding-right: 0 !important; }
#order-standard_cart.sse-flow .stripe-cards-inputs > .row > [class*="col-"] { padding-left: 0 !important; padding-right: 0 !important; }
#order-standard_cart.sse-flow .stripe-cards-inputs > .row > .col-md-3:nth-child(2) { padding-right: 8px !important; }
#order-standard_cart.sse-flow .stripe-cards-inputs > .row > .col-md-3:nth-child(3) { padding-left: 8px !important; }

/* Payment block centred in a narrow column, like a payment sheet */
#order-standard_cart.sse-flow #paymentGatewaysContainer,
#order-standard_cart.sse-flow #creditCardInputFields,
#order-standard_cart.sse-flow .gateway-errors {
    max-width: 520px; margin-left: auto !important; margin-right: auto !important;
}
#order-standard_cart.sse-flow .sse-pay-title { text-align: center; }
#order-standard_cart.sse-flow .sse-pay-tiles { justify-content: center; }

/* Checkout: Total Due Today in the same centred column as the payment tiles and card fields */
#order-standard_cart.sse-flow #frmCheckout #totalDueToday {
    max-width: 520px;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    display: flex; align-items: baseline; justify-content: center; gap: 10px; flex-wrap: wrap;
}

/* Review page: Total Due Today as a centred box (label + amount together), matching the checkout */
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today {
    display: flex !important;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin: 18px 0 0 !important;
    padding: 16px 18px !important;
    background: var(--sse-soft-bg) !important;
    border: 1px solid var(--sse-line) !important;
    border-radius: 12px !important;
    text-align: center;
}
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today span:not(.amt) {
    padding: 0 !important; text-align: center !important; font-size: 16px !important; font-weight: 600;
}
#order-standard_cart.sse-flow-step3 .order-summary .total-due-today span#totalDueToday.amt {
    text-align: center !important; font-size: 22px !important;
}

#order-standard_cart.sse-flow-step3 .order-summary .total-due-today { gap: 6px 14px !important; column-gap: 14px !important; }
