/* ============================================================
   CONTENT + IMAGE CLEAN — NEW GENERATION (GLOBAL-COMPATIBLE)
============================================================ */

.content-image-clean {
    width: 100%;
    background: var(--color-white);
    padding-top: var(--section-padding-y);
    padding-bottom: var(--section-padding-y);
    padding-left: var(--section-padding-x);
    padding-right: var(--section-padding-x);
}

/* INNER — FLEXIBLE TWO COLUMN DESKTOP */
.content-image-clean__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
    align-items: center;
    max-width: var(--container-max-width);
    margin: 0 auto;
}

/* ------------------------------------------------------------
   TEXT COLUMN
------------------------------------------------------------ */

.content-image-clean__heading {
    text-align: left;
    margin-bottom: var(--space-sm);
}

.content-image-clean__text {
    text-align: left;
    max-width: 700px;
}

.content-image-clean__text p {
    margin-bottom: var(--space-sm);
}

/* ------------------------------------------------------------
   IMAGE COLUMN
------------------------------------------------------------ */

.content-image-clean__image img {
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
    display: block;
    object-fit: contain;
}

/* ------------------------------------------------------------
   LEFT/RIGHT SWITCH
------------------------------------------------------------ */

.content-image-clean.image-right .content-image-clean__content { order: 1; }
.content-image-clean.image-right .content-image-clean__image   { order: 2; }

.content-image-clean.image-left .content-image-clean__content  { order: 2; }
.content-image-clean.image-left .content-image-clean__image    { order: 1; }

/* ============================================================
   TABLET ≤ 1024px — STACKED, CENTERED
============================================================ */

@media (max-width: 1024px) {

    .content-image-clean__inner {
        grid-template-columns: 1fr;
        text-align: center;
        gap: var(--space-lg);
    }

    .content-image-clean__heading,
    .content-image-clean__text,
    .content-image-clean__text p {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
    }

    /* Stack cleanly, always text first */
    .content-image-clean__content { order: 1 !important; }
    .content-image-clean__image   { order: 2 !important; }

    .content-image-clean__image img {
        max-width: 500px;
    }
}

/* ============================================================
   MOBILE ≤ 600px
============================================================ */

@media (max-width: 600px) {

    .content-image-clean__image img {
        max-width: 100%;
    }

    .content-image-clean__text {
        padding: 0 var(--space-xs);
    }
}

/* ============================================================
   CONTENT-IMAGE CLEAN — TEXT WIDTH CONTROL (Desktop + Tablet)
============================================================ */

/* Desktop + Tablet: Paragraphs max-width 820px */
.content-image-clean__text  {
    max-width: 820px !important;
    margin-left: 0 !important;     /* left-aligned on desktop */
    margin-right: 0 !important;
}

/* Tablet: Centering still applies via your existing rules */
@media (max-width: 1024px) {
    .content-image-clean__text {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }
}

/* Mobile: Let the content breathe (no forced max-width) */
@media (max-width: 600px) {
    .content-image-clean__text {
        max-width: 100% !important;
    }
}

/* ============================================================
/* ============================================================
   CONTENT-IMAGE CLEAN — EXACT H2 TARGET
   (Match Content + Image Split heading)
============================================================ */

h2.content-image-clean__heading {
    font-family: var(--font-heading) !important;
    font-size: var(--font-h3) !important;
    font-weight: 700 !important;
    color: var(--color-purple) !important;
    line-height: var(--lh-tight) !important;

    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    text-align: left !important;  /* Desktop behaviour */
}

/* Tablet + Mobile — match split block centering */
@media (max-width: 1024px) {
    h2.content-image-clean__heading {
        text-align: center !important;
    }
}

/* Make the card titles look like H4 instead of H3 */
.developments-grid__content h3 {
    font-size: var(--font-h4) !important;
    line-height: var(--lh-normal) !important;
    color: var(--color-purple) !important;
    font-weight: 700 !important;
    margin-bottom: var(--space-xs) !important;
}

/* ============================================================
   CONTENT-IMAGE CLEAN — FINAL HEADING FIX (Guaranteed Override)
============================================================ */

.content-image-clean h2.content-image-clean__heading {
    font-family: var(--font-heading) !important;
    font-size: var(--font-h2) !important;     /* ← MATCH APPROACH BLOCK */
    font-weight: 700 !important;
    color: var(--color-purple) !important;
    line-height: var(--lh-tight) !important;

    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

/* Tablet + Mobile: center it */
@media (max-width: 1024px) {
    .content-image-clean h2.content-image-clean__heading {
        text-align: center !important;
    }
}
