/**
 * Intro & Text 01–05 (Figma: SECTIONS → Intro & Text).
 *
 * 01 (.ptrn-introtext-fullwidth): gecentreerd; label, kop (1 regel, ±30
 *    tekens), tekst ±620px breed (3–5 regels), knop.
 * 02 (.ptrn-heading-text): links label + kop (2 regels), rechts een
 *    tekstkolom van 709px (lange tekst, meerdere alinea's) + knop.
 * 03 (.ptrn-heading-text.label-only): links alleen een label, rechts een
 *    tekstkolom van 839px (2–3 regels) + knop.
 * 04 (.ptrn-heading-text.heading-only): links de kop, rechts 839px tekst.
 * 05: als 04 maar gespiegeld (tekst links, kop rechts uitgelijnd); in het
 *    patroon staat de kop in de laatste kolom.
 * Kolommen 80px uit elkaar, tekst 18px (Body Medium), knop 40px eronder.
 *
 * Voorkant en editor: .kt-row-column-wrap / .kt-inside-inner-col op de
 * voorkant, .innerblocks-wrap / .kadence-inner-column-inner in de editor.
 */

:is(.ptrn-introtext-fullwidth, .ptrn-heading-text) {
    :is(.kt-row-column-wrap, .innerblocks-wrap) {
        padding-top: 0 !important; /* zijkanten: gewone paginamarge houden */
        padding-bottom: 0 !important;
    }

    :is(.kt-inside-inner-col, .kadence-inner-column-inner) {
        padding: 0 !important;
    }

    .wp-block-carmel-core-label {
        margin: 0 0 16px !important;
    }

    :is(h2, h3) {
        margin: 0 !important;
    }

    p {
        margin: 0 0 24px !important;
        font-size: var(--carmel-font-size-body-medium) !important;
        line-height: var(--carmel-line-height-body-medium) !important;

        &:last-of-type {
            margin-bottom: 0 !important;
        }
    }

    :is(.kb-buttons-wrap, .kb-btns-outer-wrap) {
        margin-top: 40px !important;
    }
}

/* 01: gecentreerd */
.ptrn-introtext-fullwidth {
    /* alignfull: Kadence zet de marge op 0, dus de sectie-afstand terug */
    .entry-content &.alignfull {
        margin-bottom: var(--section-gap) !important;
    }

    /* alignfull: zonder dit plakt de tekst op mobiel tegen de schermrand */
    > :is(.kt-row-column-wrap, .innerblocks-wrap) {
        padding-inline: 16px !important;
    }

    .intro-text-center > :is(.kt-inside-inner-col, .kadence-inner-column-inner) {
        max-width: 620px;
        margin-inline: auto;
        align-items: center;
        text-align: center;
    }

    :is(h2, h3) {
        margin-bottom: 24px !important;
    }

    :is(.kb-buttons-wrap, .kb-btns-outer-wrap) {
        justify-content: center;
    }
}

/* 02–05: twee kolommen */
.ptrn-heading-text > :is(.kt-row-column-wrap, .innerblocks-wrap) {
    grid-template-columns: minmax(0, 1fr) 709px !important; /* 02 */
    column-gap: 80px !important;
    align-items: start;
}

.ptrn-heading-text:is(.label-only, .heading-only) > :is(.kt-row-column-wrap, .innerblocks-wrap) {
    grid-template-columns: minmax(0, 1fr) 839px !important; /* 03, 04 */
}

/* 05: kop in de laatste kolom → tekst links, kop rechts uitgelijnd */
.ptrn-heading-text:has(> :is(.kt-row-column-wrap, .innerblocks-wrap) > .wp-block-kadence-column:last-child :is(h2, h3)) {
    > :is(.kt-row-column-wrap, .innerblocks-wrap) {
        grid-template-columns: 839px minmax(0, 1fr) !important;
    }

    :is(h2, h3) {
        text-align: right !important;
    }
}

@media (max-width: 1024px) {
    .ptrn-heading-text > :is(.kt-row-column-wrap, .innerblocks-wrap),
    .ptrn-heading-text:is(.label-only, .heading-only) > :is(.kt-row-column-wrap, .innerblocks-wrap),
    .ptrn-heading-text:has(> :is(.kt-row-column-wrap, .innerblocks-wrap) > .wp-block-kadence-column:last-child :is(h2, h3)) > :is(.kt-row-column-wrap, .innerblocks-wrap) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) !important;
        column-gap: 48px !important;
    }
}

@media (max-width: 767px) {
    :is(.ptrn-introtext-fullwidth, .ptrn-heading-text) p {
        font-size: var(--carmel-font-size-body-medium-mobile) !important;
    }

    .ptrn-heading-text > :is(.kt-row-column-wrap, .innerblocks-wrap),
    .ptrn-heading-text:is(.label-only, .heading-only) > :is(.kt-row-column-wrap, .innerblocks-wrap),
    .ptrn-heading-text:has(> :is(.kt-row-column-wrap, .innerblocks-wrap) > .wp-block-kadence-column:last-child :is(h2, h3)) > :is(.kt-row-column-wrap, .innerblocks-wrap) {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 24px !important;
    }

    /* 05 op mobiel: kop eerst, links */
    .ptrn-heading-text:has(> :is(.kt-row-column-wrap, .innerblocks-wrap) > .wp-block-kadence-column:last-child :is(h2, h3)) {
        .wp-block-kadence-column:last-child {
            order: -1;
        }

        :is(h2, h3) {
            text-align: left !important;
        }
    }

    :is(.ptrn-introtext-fullwidth, .ptrn-heading-text) :is(.kb-buttons-wrap, .kb-btns-outer-wrap) {
        margin-top: 24px !important;
    }
}
