/* =========================================================
   VSUN PREMIUM CALCULATOR EXPERIENCE
   Varena Sun Energy — Version 3.0.0
========================================================= */

:root {
    --vsun-premium-navy: #041b42;
    --vsun-premium-navy-2: #062d6d;
    --vsun-premium-blue: #0646b8;
    --vsun-premium-blue-bright: #0b69dd;
    --vsun-premium-gold: #ffb515;
    --vsun-premium-gold-dark: #e99a00;
    --vsun-premium-ink: #0f2342;
    --vsun-premium-muted: #627087;
    --vsun-premium-line: #dce5f1;
    --vsun-premium-soft: #f4f7fb;
    --vsun-premium-white: #ffffff;
    --vsun-premium-shadow: 0 28px 80px rgba(4, 27, 66, 0.16);
}

/* ---------- Own the calculator WordPress page ---------- */

body.vsun-calculator-page {
    overflow-x: hidden !important;
    background: #f3f7fc !important;
}

body.vsun-calculator-page .entry-header,
body.vsun-calculator-page .entry-title,
body.vsun-calculator-page .page-title {
    display: none !important;
}

body.vsun-calculator-page .content-area,
body.vsun-calculator-page .site-main,
body.vsun-calculator-page .content-container,
body.vsun-calculator-page .entry-content-wrap,
body.vsun-calculator-page .entry-content,
body.vsun-calculator-page .site-content,
body.vsun-calculator-page .site-container,
body.vsun-calculator-page .content-bg {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vsun-calculator-experience,
.vsun-calculator-experience * {
    box-sizing: border-box;
}

.vsun-calculator-experience {
    direction: rtl;
    width: 100%;
    overflow: hidden;
    color: var(--vsun-premium-ink);
    background: var(--vsun-premium-soft);
    font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}

.vsun-page-shell {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

/* ---------- Hero ---------- */

.vsun-page-hero {
    position: relative;
    min-height: 620px;
    padding: 92px 0 150px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 12% 26%, rgba(255,181,21,.22), transparent 24%),
        radial-gradient(circle at 82% 70%, rgba(16,104,224,.28), transparent 31%),
        linear-gradient(135deg, #031735 0%, #062b67 52%, #0646b8 100%);
}

.vsun-page-hero::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: min(48vw, 720px);
    opacity: .3;
    background:
        linear-gradient(150deg, transparent 23%, rgba(255,255,255,.08) 24%, transparent 25%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.11) 0 1px, transparent 1px 74px),
        repeating-linear-gradient(0deg, rgba(255,255,255,.09) 0 1px, transparent 1px 58px);
    transform: perspective(700px) rotateY(-18deg) rotateZ(-8deg) scale(1.15);
    transform-origin: left center;
    pointer-events: none;
}

.vsun-page-hero::after {
    content: "VSE";
    position: absolute;
    right: 4%;
    bottom: -58px;
    color: rgba(255,255,255,.035);
    font-size: clamp(180px, 28vw, 410px);
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

.vsun-page-hero__pattern {
    position: absolute;
    inset: 0;
    opacity: .14;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.7) 1px, transparent 1px);
    background-size: 26px 26px;
    mask-image: linear-gradient(90deg, transparent 0%, #000 58%, #000 100%);
    pointer-events: none;
}

.vsun-page-hero__inner {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
}

.vsun-page-hero__copy {
    width: min(100%, 900px);
    text-align: center;
}

.vsun-page-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: #ffd467;
    font-size: 14px;
    font-weight: 850;
}

.vsun-page-eyebrow::before,
.vsun-page-eyebrow::after {
    content: "";
    width: 40px;
    height: 2px;
    border-radius: 99px;
    background: currentColor;
}

.vsun-page-hero h1 {
    margin: 0 0 22px;
    color: #fff;
    font-size: clamp(42px, 5.6vw, 72px);
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: -.045em;
}

.vsun-page-hero h1 span {
    color: var(--vsun-premium-gold);
}

.vsun-page-hero__copy > p {
    width: min(100%, 800px);
    margin: 0 auto;
    color: rgba(255,255,255,.86);
    font-size: 17px;
    line-height: 2;
}

.vsun-page-hero__copy > .vsun-page-hero__secondary {
    margin-top: 4px;
    color: rgba(255,255,255,.68);
    font-size: 15px;
}

.vsun-page-start {
    display: inline-flex;
    min-width: 290px;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 30px 0 0;
    padding: 15px 34px;
    border: 0;
    border-radius: 13px;
    color: var(--vsun-premium-navy) !important;
    background: linear-gradient(135deg, #ffc52d, var(--vsun-premium-gold));
    box-shadow: 0 18px 42px rgba(255,181,21,.28);
    font-size: 18px;
    font-weight: 900;
    cursor: pointer;
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.vsun-page-start:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 52px rgba(255,181,21,.35);
    filter: saturate(1.06);
}

.vsun-page-start svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vsun-page-trust {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(100%, 760px);
    margin: 34px auto 0;
}

.vsun-page-trust > div {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 7px 18px;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    font-weight: 700;
}

.vsun-page-trust > div + div {
    border-right: 1px solid rgba(255,255,255,.18);
}

.vsun-page-trust svg {
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
    fill: none;
    stroke: #ffd467;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ---------- Calculator workspace ---------- */

.vsun-calculator-workspace {
    position: relative;
    z-index: 3;
    margin-top: -92px;
    padding: 0 0 110px;
    scroll-margin-top: 86px;
    background:
        linear-gradient(180deg, transparent 0 92px, #f3f7fc 92px 100%);
}

.vsun-workspace-card {
    overflow: hidden;
    border: 1px solid rgba(204,217,234,.9);
    border-radius: 26px;
    background: rgba(255,255,255,.98);
    box-shadow: var(--vsun-premium-shadow);
}

.vsun-workspace-heading {
    padding: 34px 32px 14px;
    text-align: center;
}

.vsun-workspace-heading > span {
    display: inline-block;
    margin-bottom: 5px;
    color: var(--vsun-premium-blue);
    font-size: 12px;
    font-weight: 850;
}

.vsun-workspace-heading h2 {
    margin: 0 0 8px;
    color: var(--vsun-premium-ink);
    font-size: 28px;
    font-weight: 900;
}

.vsun-workspace-heading h2::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    margin: 12px auto 0;
    border-radius: 99px;
    background: var(--vsun-premium-gold);
}

.vsun-workspace-heading p {
    margin: 0 auto;
    color: var(--vsun-premium-muted);
    font-size: 13px;
    line-height: 1.9;
}

/* ---------- Six-step tracker ---------- */

.vsun-stage-track {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 25px 34px 30px;
    list-style: none;
    direction: rtl;
}

.vsun-stage-track li {
    position: relative;
    display: grid;
    min-width: 0;
    justify-items: center;
    text-align: center;
}

.vsun-stage-track li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 22px;
    left: 50%;
    width: 100%;
    height: 2px;
    background: repeating-linear-gradient(90deg, #c8d3e1 0 5px, transparent 5px 9px);
}

.vsun-stage-track__number {
    position: relative;
    z-index: 2;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 2px solid #cfd9e6;
    border-radius: 50%;
    color: #64748b;
    background: #fff;
    box-shadow: 0 5px 15px rgba(15,35,66,.06);
    font-size: 16px;
    font-weight: 900;
    transition: all .25s ease;
}

.vsun-stage-track strong {
    margin-top: 11px;
    color: #46556c;
    font-size: 13px;
    line-height: 1.45;
}

.vsun-stage-track small {
    margin-top: 3px;
    color: #8a96a7;
    font-size: 10px;
    line-height: 1.45;
}

.vsun-stage-track li.is-active .vsun-stage-track__number {
    border-color: var(--vsun-premium-blue);
    color: #fff;
    background: linear-gradient(145deg, var(--vsun-premium-blue), var(--vsun-premium-navy-2));
    box-shadow: 0 10px 25px rgba(6,70,184,.28);
    transform: scale(1.08);
}

.vsun-stage-track li.is-active strong {
    color: var(--vsun-premium-blue);
}

.vsun-stage-track li.is-complete .vsun-stage-track__number {
    border-color: var(--vsun-premium-gold);
    color: var(--vsun-premium-navy);
    background: var(--vsun-premium-gold);
}

.vsun-stage-track li.is-complete .vsun-stage-track__number::before {
    content: "✓";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--vsun-premium-gold);
}

.vsun-stage-track li.is-complete::after {
    background: var(--vsun-premium-gold);
}

/* ---------- Calculator core ---------- */

#vsun-calculator {
    width: auto !important;
    max-width: none !important;
    margin: 0 24px 28px !important;
    overflow: hidden !important;
    border: 1px solid #d7e1ee !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 14px 38px rgba(4,27,66,.08) !important;
    animation: none !important;
}

#vsun-calculator .vsun-header {
    min-height: 64px !important;
    padding: 10px 18px !important;
    border-bottom: 1px solid #dce6f2 !important;
    background: linear-gradient(135deg, #f8fbff, #f2f6fb) !important;
}

#vsun-calculator .vsun-progress {
    min-width: auto !important;
    height: 42px !important;
    gap: 5px;
    padding: 0 15px !important;
    border: 1px solid rgba(6,70,184,.14) !important;
    border-radius: 11px !important;
    color: var(--vsun-premium-blue) !important;
    background: #edf4ff !important;
    font-size: 13px !important;
    direction: rtl !important;
}

#vsun-calculator .vsun-progress #currentStep {
    font-size: 18px;
    font-weight: 900;
}

#vsun-calculator .vsun-back {
    min-height: 42px !important;
    gap: 7px;
    padding: 9px 15px !important;
    border: 1px solid rgba(6,70,184,.2) !important;
    border-radius: 11px !important;
    color: var(--vsun-premium-blue) !important;
    background: #fff !important;
    box-shadow: 0 6px 18px rgba(4,27,66,.06) !important;
}

#vsun-calculator .vsun-back:hover {
    color: #fff !important;
    background: var(--vsun-premium-blue) !important;
    transform: translateY(-1px);
}

#vsun-content {
    min-height: 440px !important;
    padding: 0 28px 32px !important;
    background: #fff !important;
}

/* ---------- Step title panel ---------- */

#vsun-calculator .vsun-step-header {
    position: relative;
    margin: 0 -28px 30px !important;
    padding: 28px 34px !important;
    overflow: hidden;
    border-bottom: 3px solid var(--vsun-premium-gold);
    color: #fff;
    background:
        radial-gradient(circle at 15% 50%, rgba(255,181,21,.18), transparent 24%),
        linear-gradient(125deg, var(--vsun-premium-navy) 0%, var(--vsun-premium-blue) 100%);
    text-align: right !important;
}

#vsun-calculator .vsun-step-header::before {
    content: "VSE";
    position: absolute;
    left: 22px;
    bottom: -18px;
    color: rgba(255,255,255,.08);
    font-size: 92px;
    font-weight: 900;
    line-height: 1;
}

#vsun-calculator .vsun-step-header::after {
    content: "";
    position: absolute;
    left: 105px;
    top: -70px;
    width: 240px;
    height: 180px;
    opacity: .18;
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,.65) 0 1px, transparent 1px 42px),
        repeating-linear-gradient(0deg, rgba(255,255,255,.55) 0 1px, transparent 1px 34px);
    transform: rotate(-10deg);
}

#vsun-calculator .vsun-step-header h2,
#vsun-calculator .vsun-step-header .vsun-title {
    position: relative;
    z-index: 2;
    margin: 0 0 7px !important;
    color: #fff !important;
    font-size: clamp(23px, 3vw, 31px) !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
    text-align: right !important;
}

#vsun-calculator .vsun-step-header p,
#vsun-calculator .vsun-step-header .vsun-subtitle {
    position: relative;
    z-index: 2;
    max-width: 760px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.77) !important;
    font-size: 13.5px !important;
    line-height: 1.9 !important;
    text-align: right !important;
}

/* ---------- Cards ---------- */

#vsun-calculator :is(
    .vsun-usage-card,
    .vsun-goal-card,
    .vsun-consumption-card,
    .choice,
    .vsun-capacity-option,
    .vsun-duration-option,
    .vsun-installation-option,
    .vsun-space-availability-option
) {
    border: 1px solid #d9e3ef !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(4,27,66,.055) !important;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease !important;
}

#vsun-calculator :is(
    .vsun-usage-card,
    .vsun-goal-card,
    .vsun-consumption-card,
    .choice,
    .vsun-capacity-option,
    .vsun-duration-option,
    .vsun-installation-option,
    .vsun-space-availability-option
):hover {
    border-color: rgba(6,70,184,.38) !important;
    box-shadow: 0 16px 34px rgba(4,27,66,.11) !important;
    transform: translateY(-3px) !important;
}

#vsun-calculator :is(
    .vsun-usage-card,
    .vsun-goal-card,
    .vsun-consumption-card,
    .choice,
    .vsun-capacity-option,
    .vsun-duration-option,
    .vsun-installation-option,
    .vsun-space-availability-option
).selected,
#vsun-calculator :is(
    .vsun-usage-card,
    .vsun-goal-card,
    .vsun-consumption-card,
    .choice,
    .vsun-capacity-option,
    .vsun-duration-option,
    .vsun-installation-option,
    .vsun-space-availability-option
)[aria-pressed="true"] {
    border-color: var(--vsun-premium-blue) !important;
    background: linear-gradient(145deg, #f7faff, #edf4ff) !important;
    box-shadow: 0 14px 34px rgba(6,70,184,.14) !important;
}

#vsun-calculator .vsun-card-icon,
#vsun-calculator .vsun-goal-icon,
#vsun-calculator .vsun-consumption-icon,
#vsun-calculator .vsun-choice-icon,
#vsun-calculator .vsun-branch-icon,
#vsun-calculator .vsun-section-icon {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 13px;
    color: var(--vsun-premium-blue);
    background: #edf4ff;
}

#vsun-calculator .vsun-card-icon,
#vsun-calculator .vsun-goal-icon,
#vsun-calculator .vsun-consumption-icon {
    width: 48px;
    height: 48px;
    font-size: 25px !important;
}

#vsun-calculator :is(.vsun-usage-card, .vsun-goal-card, .vsun-consumption-card).selected :is(.vsun-card-icon, .vsun-goal-icon, .vsun-consumption-icon) {
    color: var(--vsun-premium-navy);
    background: var(--vsun-premium-gold);
}

#vsun-calculator :is(.vsun-card-description, .vsun-goal-description, .vsun-consumption-description, .vsun-choice-description) {
    color: #69778c !important;
    line-height: 1.85 !important;
}

/* ---------- Panels, sections and notes ---------- */

#vsun-calculator :is(
    .vsun-step-panel,
    .vsun-subpanel,
    .vsun-fieldset,
    .vsun-capacity-section,
    .vsun-backup-duration-section,
    .vsun-hybrid-equipment-section,
    .vsun-calculation-preview,
    .vsun-selected-capacity-card,
    .vsun-consumption-summary-card,
    .vsun-special-appliances-summary
) {
    border: 1px solid #dce5f0 !important;
    border-radius: 17px !important;
    background: #f9fbfe !important;
    box-shadow: 0 9px 26px rgba(4,27,66,.05) !important;
}

#vsun-calculator :is(
    .vsun-step-context,
    .vsun-info-note,
    .vsun-success-note,
    .vsun-estimate-warning,
    .vsun-equipment-instructions,
    .vsun-large-project-warning
) {
    border-radius: 14px !important;
}

#vsun-calculator .vsun-section-heading,
#vsun-calculator .vsun-section-label {
    color: var(--vsun-premium-ink) !important;
    font-weight: 900 !important;
}

/* ---------- Form fields ---------- */

#vsun-calculator label {
    color: #273b58;
    font-weight: 700;
}

#vsun-calculator :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    width: 100%;
    min-height: 50px;
    padding: 11px 14px !important;
    border: 1px solid #cfdbe9 !important;
    border-radius: 11px !important;
    color: var(--vsun-premium-ink) !important;
    background: #fff !important;
    box-shadow: inset 0 1px 2px rgba(4,27,66,.025) !important;
    font-size: 15px !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}

#vsun-calculator :is(input, select, textarea):focus {
    outline: 0 !important;
    border-color: var(--vsun-premium-blue) !important;
    box-shadow: 0 0 0 4px rgba(6,70,184,.1) !important;
    background: #fff !important;
}

#vsun-calculator input::placeholder,
#vsun-calculator textarea::placeholder {
    color: #9aa5b4;
}

#vsun-calculator .vsun-input-with-unit {
    border-radius: 11px !important;
    background: #fff !important;
}

#vsun-calculator .vsun-help-text,
#vsun-calculator .vsun-field-help {
    color: #7b889a !important;
    font-size: 12px !important;
    line-height: 1.75 !important;
}

/* ---------- Primary and secondary actions ---------- */

#vsun-calculator .vsun-step-actions {
    margin-top: 28px !important;
    padding-top: 22px;
    border-top: 1px solid #e2e9f2;
}

#vsun-calculator :is(.vsun-next-button, .vsun-step6-primary-button, .vsun-step6-submit-button) {
    min-height: 50px !important;
    padding: 12px 25px !important;
    border: 0 !important;
    border-radius: 11px !important;
    color: var(--vsun-premium-navy) !important;
    background: linear-gradient(135deg, #ffc52d, var(--vsun-premium-gold)) !important;
    box-shadow: 0 12px 28px rgba(255,181,21,.24) !important;
    font-weight: 900 !important;
}

#vsun-calculator :is(.vsun-next-button, .vsun-step6-primary-button, .vsun-step6-submit-button):hover {
    background: linear-gradient(135deg, var(--vsun-premium-gold), var(--vsun-premium-gold-dark)) !important;
    box-shadow: 0 16px 36px rgba(255,181,21,.31) !important;
    transform: translateY(-2px);
}

#vsun-calculator :is(.vsun-secondary-button, .vsun-text-button, .vsun-step6-secondary-button, .vsun-step6-text-button) {
    border-color: rgba(6,70,184,.22) !important;
    color: var(--vsun-premium-blue) !important;
    background: #fff !important;
}

#vsun-calculator .vsun-step-error {
    border: 1px solid rgba(220,38,38,.18) !important;
    border-radius: 12px !important;
    color: #b91c1c !important;
    background: #fff5f5 !important;
}

/* ---------- Upload and appliance interface ---------- */

#vsun-calculator .vsun-upload-box {
    border: 2px dashed #b9c9dc !important;
    border-radius: 16px !important;
    background: #f8fbff !important;
}

#vsun-calculator .vsun-upload-box:hover {
    border-color: var(--vsun-premium-blue) !important;
    background: #f1f6ff !important;
}

#vsun-calculator .vsun-appliance-row,
#vsun-calculator .vsun-special-appliance-row {
    border-radius: 14px !important;
    box-shadow: 0 7px 20px rgba(4,27,66,.045) !important;
}

/* ---------- Step 6 refinement ---------- */

#vsun-calculator .vsun-step6-hero {
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 15% 20%, rgba(255,181,21,.17), transparent 25%),
        linear-gradient(135deg, var(--vsun-premium-navy), var(--vsun-premium-blue)) !important;
}

#vsun-calculator .vsun-step6-section,
#vsun-calculator .vsun-step6-scenario-card,
#vsun-calculator .vsun-step6-confidence-card,
#vsun-calculator .vsun-step6-action-card {
    border-radius: 17px !important;
    box-shadow: 0 10px 30px rgba(4,27,66,.07) !important;
}

/* ---------- Responsive ---------- */

@media (max-width: 900px) {
    .vsun-page-hero {
        min-height: 0;
        padding: 78px 0 130px;
    }

    .vsun-page-hero h1 {
        font-size: 46px;
    }

    .vsun-page-trust {
        grid-template-columns: 1fr;
        width: min(100%, 430px);
        gap: 8px;
    }

    .vsun-page-trust > div {
        justify-content: flex-start;
        border: 0 !important;
        border-radius: 10px;
        background: rgba(255,255,255,.055);
    }

    .vsun-stage-track {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px 0;
    }

    .vsun-stage-track li::after {
        display: none;
    }
}

@media (max-width: 680px) {
    body.vsun-calculator-page,
    body.vsun-calculator-page #page,
    body.vsun-calculator-page #inner-wrap,
    body.vsun-calculator-page .site,
    body.vsun-calculator-page .site-content,
    body.vsun-calculator-page .entry-content,
    .vsun-calculator-experience,
    .vsun-page-hero,
    .vsun-calculator-workspace {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    .vsun-page-shell {
        width: 100%;
        max-width: 100%;
        padding-inline: 14px;
    }

    .vsun-page-hero {
        padding: 64px 0 112px;
    }

    .vsun-page-hero::before {
        width: 100%;
        opacity: .16;
    }

    .vsun-page-eyebrow {
        font-size: 12px;
    }

    .vsun-page-eyebrow::before,
    .vsun-page-eyebrow::after {
        width: 22px;
    }

    .vsun-page-hero h1 {
        font-size: 34px;
        line-height: 1.48;
    }

    .vsun-page-hero__copy > p {
        font-size: 14px;
        line-height: 1.95;
    }

    .vsun-page-hero__copy > .vsun-page-hero__secondary {
        font-size: 12.5px;
    }

    .vsun-page-start {
        width: 100%;
        min-width: 0;
        min-height: 54px;
        padding: 13px 18px;
        font-size: 16px;
    }

    .vsun-page-trust {
        margin-top: 24px;
    }

    .vsun-page-trust > div {
        padding: 8px 12px;
        font-size: 12px;
    }

    .vsun-calculator-workspace {
        margin-top: -72px;
        padding-bottom: 72px;
        background: linear-gradient(180deg, transparent 0 72px, #f3f7fc 72px 100%);
    }

    .vsun-workspace-card {
        border-radius: 18px;
    }

    .vsun-workspace-heading {
        padding: 28px 18px 10px;
    }

    .vsun-workspace-heading h2 {
        font-size: 24px;
    }

    .vsun-workspace-heading p {
        font-size: 11.5px;
    }

    .vsun-stage-track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 0;
        padding: 20px 12px 24px;
    }

    .vsun-stage-track__number {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }

    .vsun-stage-track strong {
        font-size: 11.5px;
    }

    .vsun-stage-track small {
        display: none;
    }

    #vsun-calculator {
        width: calc(100% - 16px) !important;
        max-width: calc(100% - 16px) !important;
        margin: 0 8px 16px !important;
        border-radius: 15px !important;
    }

    #vsun-calculator .vsun-header {
        min-height: 58px !important;
        padding: 8px 10px !important;
    }

    #vsun-calculator .vsun-progress {
        height: 38px !important;
        padding: 0 10px !important;
        font-size: 11px !important;
    }

    #vsun-calculator .vsun-progress #currentStep {
        font-size: 16px;
    }

    #vsun-calculator .vsun-back {
        min-height: 38px !important;
        padding: 8px 10px !important;
        font-size: 12px !important;
    }

    #vsun-content {
        min-height: 0 !important;
        padding: 0 14px 22px !important;
    }

    #vsun-calculator .vsun-step-header {
        margin: 0 -14px 22px !important;
        padding: 23px 18px !important;
    }

    #vsun-calculator .vsun-step-header::before {
        left: 10px;
        font-size: 65px;
    }

    #vsun-calculator .vsun-step-header::after {
        display: none;
    }

    #vsun-calculator .vsun-step-header h2,
    #vsun-calculator .vsun-step-header .vsun-title {
        font-size: 21px !important;
        line-height: 1.55 !important;
    }

    #vsun-calculator .vsun-step-header p,
    #vsun-calculator .vsun-step-header .vsun-subtitle {
        font-size: 12px !important;
    }

    #vsun-calculator :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
        min-height: 48px;
        font-size: 16px !important;
    }

    #vsun-calculator .vsun-step-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    #vsun-calculator :is(.vsun-next-button, .vsun-secondary-button) {
        width: 100% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vsun-page-start,
    #vsun-calculator * {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}


/* ==========================================================================
   Step 6 hero readability — 3.0.1
   Exact selectors for the dark blue result banner only.
   ========================================================================== */

#vsun-calculator .vsun-step6-hero-copy h2 {
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.22) !important;
}

#vsun-calculator .vsun-step6-hero-copy > p {
    color: rgba(242, 247, 255, 0.94) !important;
    text-shadow: 0 1px 7px rgba(0, 0, 0, 0.16) !important;
}

#vsun-calculator .vsun-step6-eyebrow {
    border: 1px solid rgba(255, 255, 255, 0.32) !important;
    background: #dcf8ef !important;
    color: #086447 !important;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.09) !important;
}

#vsun-calculator .vsun-step6-meta span {
    border-color: rgba(255, 255, 255, 0.42) !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #173c6d !important;
    box-shadow: 0 4px 13px rgba(0, 0, 0, 0.08) !important;
}

#vsun-calculator .vsun-step6-confidence-card {
    background: rgba(255, 255, 255, 0.97) !important;
}

#vsun-calculator .vsun-step6-confidence-card p {
    color: #46675d !important;
}
