/* ==========================================================================
   About — Approach intro ([thermal_approach] / [thermal_stat])
   Left heading + justified prose, right a 2x2 grid of headline stats.
   Mobile/tablet: stacked (text, then stats). Desktop (>=992): two columns.
   Enqueued conditionally via thermal_enqueue_shortcode_styles() in functions.php.
   ========================================================================== */
.thermal-approach {
    display: flex;
    flex-direction: column;
    gap: 48px;
    padding-top: 32px;
}

.thermal-approach__heading {
    margin: 0 0 12px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;
    color: #ffffff;
}

.thermal-approach__body {
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    font-size: 15px;
    line-height: normal;
    color: #d3d3d3;
    text-align: left;
}

/* Paragraph gap = one blank line, matching the comp's empty <p> separators */
.thermal-approach__body p {
    margin: 0 0 1.5em;
}

.thermal-approach__body p:last-child {
    margin-bottom: 0;
}

/* Stats: always a 2x2 grid, cells centered in their row */
.thermal-approach__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 16px;
    row-gap: 40px;
    align-content: center;
}

.thermal-stat {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.thermal-stat__value {
    margin: 0 0 4px;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
}

.thermal-stat__num {
    font-size: 56px;
}

.thermal-stat__plus {
    font-size: 36px;
    vertical-align: top;
    margin-left: 1px;
}

.thermal-stat__unit {
    font-size: 20px;
    font-weight: 400;
    margin-left: 2px;
}

.thermal-stat__label {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.3;
    color: #d3d3d3;
}

@media (min-width: 992px) {
    .thermal-approach {
        flex-direction: row;
        gap: clamp(48px, 8vw, 110px);
        align-items: center;
    }

    .thermal-approach__left {
        flex: 1 1 0;
        min-width: 0;
    }

    .thermal-approach__stats {
        flex: 0 0 555px;
        width: 555px;
        height: 224px;
        row-gap: 0;
        grid-template-rows: 1fr 1fr; /* two equal rows fill the 224px height */
        align-content: stretch;
    }
}


@media all and ( min-width: 992px)  and (max-width: 1250px) {
    .thermal-approach__left {
        flex-basis: 60%;
    }

    .thermal-approach__stats {
        flex-basis: 40%;
        grid-template-columns: 1fr ;
        grid-gap: 60px;
        height: unset;
    }
}