/* General Styles */
.pb-section-2col .columns-wrap {
    display: grid;
    grid-gap: 0;
}

.pb-section-2col p:last-child {
    margin-bottom: 0;
}

.pb-section-2col .leftcol,
.pb-section-2col .rightcol {
    position: relative;
    
}

@media (max-width: 767px) {

    .pb-section-2col .leftcol {
        margin-bottom: 60px;

    }
}

@media (min-width: 768px) {

.pb-section-2col .column.valign-top {
    align-self: start; 
    height: 100%;
}

.pb-section-2col .leftcol.has-text {
    margin-right: 30px;
}
.pb-section-2col .rightcol.has-text {
    margin-left: 30px;
}


}

@media (min-width: 1280px) {
.pb-section-2col .leftcol.has-text {
    margin-right: 60px;
}
.pb-section-2col .rightcol.has-text {
    margin-left: 60px;
}
}



.pb-section-2col .leftcol.valign-top .content-wrap,
.pb-section-2col .rightcol.valign-top .content-wrap {
    display: flex;
    /* align-content: space-between; */
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;

}

/* ============================================================================
   Background Colours — Phase 4 colour standardisation (§2.2 derivation map)
   ----------------------------------------------------------------------------
   THREE independent background regions:
     · SECTION  — `.pb-section.bg-*` text/heading/link colours are derived
       globally by G2 (assets/styles/parts/pb-section-bgcolors.css). Nothing
       section-level is defined here. The base rule below only sets the section
       default colour for the `none` (transparent / no `.bg-*`) case.
     · LEFT + RIGHT COLUMN — G2 does NOT reach a nested column surface, so each
       column derives its OWN text from its OWN `.bg-*` class here (same idea as
       the migrated pb_f_value_grid card-bg derivation). The chosen `.bg-*` is
       applied either to the column wrapper (`.column.leftcol`/`.rightcol`) or,
       when "Background Colour Applies to First Block Only" is ticked, to
       `.content-block:first-child` — so both carriers are targeted together.
       `background-color` itself comes from the global `.bg-*` rules (G2); we
       only add the per-surface text derivation. None / no class -> inherit
       (the column inherits the section's already-safe derived colour).
   The off-token #ff4d00 / #0B2340 / white-on-orange ad-hoc rules are gone;
   colour now resolves only through the canonical tokens + the derivation map. */

/* Section default colour for the `none` (no `.bg-*`) case. When a canonical
   background IS chosen, G2's `.pb-section.bg-*` colour wins (same specificity,
   later cascade). */
.pb-section-2col {
    color: var(--colour-teal-dark);
}

.pb-section-2col .content-block.block-diff-bg,
.pb-section-2col .column-btn-wrap.block-diff-bg {
    padding: 20px;
}

/* Column surfaces on LIGHT backgrounds -> teal-dark text (white 14.9 / 14.0,
   light-grey 14.0, teal-light 5.29 — all AA). */
.pb-section-2col .column.bg-white,
.pb-section-2col .column.bg-light-grey,
.pb-section-2col .column.bg-teal-light,
.pb-section-2col .content-block.bg-white,
.pb-section-2col .content-block.bg-light-grey,
.pb-section-2col .content-block.bg-teal-light {
    color: var(--colour-teal-dark);
}

/* Column surfaces on DARK / SATURATED backgrounds -> white text
   (teal 11.2, teal-dark 14.9, teal-mid 6.0, orange 4.6, black 21 — all AA). */
.pb-section-2col .column.bg-teal,
.pb-section-2col .column.bg-teal-dark,
.pb-section-2col .column.bg-teal-mid,
.pb-section-2col .column.bg-orange,
.pb-section-2col .column.bg-black,
.pb-section-2col .content-block.bg-teal,
.pb-section-2col .content-block.bg-teal-dark,
.pb-section-2col .content-block.bg-teal-mid,
.pb-section-2col .content-block.bg-orange,
.pb-section-2col .content-block.bg-black {
    color: var(--colour-white);
}

/* Headings inside a coloured column must follow the COLUMN's background, not
   the section's. G2 sets section headings explicitly at (0,2,1); these
   column-scoped selectors are (0,3,1) and so override G2 when a column's bg
   differs from the section's — without !important. Mirror of the text rules. */
.pb-section-2col .column.bg-white :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .column.bg-light-grey :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .column.bg-teal-light :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .content-block.bg-white :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .content-block.bg-light-grey :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .content-block.bg-teal-light :is(h1,h2,h3,h4,h5,h6) {
    color: var(--colour-teal-dark);
}

.pb-section-2col .column.bg-teal :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .column.bg-teal-dark :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .column.bg-teal-mid :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .column.bg-orange :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .column.bg-black :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .content-block.bg-teal :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .content-block.bg-teal-dark :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .content-block.bg-teal-mid :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .content-block.bg-orange :is(h1,h2,h3,h4,h5,h6),
.pb-section-2col .content-block.bg-black :is(h1,h2,h3,h4,h5,h6) {
    color: var(--colour-white);
}

/* In-content links inside a coloured column must follow the COLUMN's bg too.
   G2's link rule is `.pb-section.bg-* p>a` (0,2,2); these are (0,3,2) and win.
   On light column surfaces the safe accent is teal-mid; on dark/saturated and
   teal-light surfaces it is the column's own foreground (white / teal-dark). */
.pb-section-2col .column.bg-white :is(p,li) > a,
.pb-section-2col .column.bg-light-grey :is(p,li) > a,
.pb-section-2col .content-block.bg-white :is(p,li) > a,
.pb-section-2col .content-block.bg-light-grey :is(p,li) > a {
    color: var(--colour-teal-mid);
    text-decoration: underline;
}

.pb-section-2col .column.bg-teal-light :is(p,li) > a,
.pb-section-2col .content-block.bg-teal-light :is(p,li) > a {
    color: var(--colour-teal-dark);
    text-decoration: underline;
}

.pb-section-2col .column.bg-teal :is(p,li) > a,
.pb-section-2col .column.bg-teal-dark :is(p,li) > a,
.pb-section-2col .column.bg-teal-mid :is(p,li) > a,
.pb-section-2col .column.bg-orange :is(p,li) > a,
.pb-section-2col .column.bg-black :is(p,li) > a,
.pb-section-2col .content-block.bg-teal :is(p,li) > a,
.pb-section-2col .content-block.bg-teal-dark :is(p,li) > a,
.pb-section-2col .content-block.bg-teal-mid :is(p,li) > a,
.pb-section-2col .content-block.bg-orange :is(p,li) > a,
.pb-section-2col .content-block.bg-black :is(p,li) > a {
    color: var(--colour-white);
    text-decoration: underline;
}

.pb-section-2col .image-wrap {
    position: relative;
}

/* Button Styles */
.pb-section-2col a.btn {
    margin-top: 2rem;
}

/* Responsive Grid Layouts */
@media (min-width: 768px) {
    .pb-section-2col .columns-wrap {
        grid-template-columns: 1fr 1fr;
        grid-gap: 0;
    }

    .pb-section-2col.column-width-80-20 .columns-wrap {
        grid-template-columns: 8fr 2fr;
    }

    .pb-section-2col.column-width-70-30 .columns-wrap {
        grid-template-columns: 7fr 3fr;
    }

    .pb-section-2col.column-width-60-40 .columns-wrap {
        grid-template-columns: 6fr 4fr;
    }

    .pb-section-2col.column-width-50-50 .columns-wrap {
        grid-template-columns: 1fr 1fr;
    }

    .pb-section-2col.column-width-40-60 .columns-wrap {
        grid-template-columns: 4fr 6fr;
    }

    .pb-section-2col.column-width-30-70 .columns-wrap {
        grid-template-columns: 3fr 7fr;
    }

    .pb-section-2col.column-width-35-65 .columns-wrap {
        grid-template-columns: 35fr 65fr;
    }

    .pb-section-2col.column-width-65-35 .columns-wrap {
        grid-template-columns: 65fr 35fr;
    }

    .pb-section-2col.column-width-20-80 .columns-wrap {
        grid-template-columns: 2fr 8fr;
    }
}

/* Image Styles */
@media (max-width: 1799px) {
    .pb-section-2col .rightcol.has-image img {
        min-width: 0 !important;
    }
}


@media (max-width: 767px) {

    .pb-section-2col .rightcol.has-image {
        padding-top: 30px;
    }

    .pb-section-2col .leftcol.has-image {
        padding-top: 30px;
        order: 2;
    }

    .pb-section-2col .rightcol.has-text {
        padding-left: 0;
    }

    .pb-section-2col .leftcol.has-text {
        padding-right: 0;
    }

}

@media (min-width: 768px) {
    .pb-section-2col-columns-wrap img.img-respect-width-retina,
    .pb-section-2col-columns-wrap img.img-respect-width-noresize {
        margin: 10px;
        width: auto;
    }
}

@media (min-width: 1100px) {
    .pb-section-2col-extra-padding-rightcol {
        padding-left: 80px;
    }

    .pb-section-2col-extra-padding-leftcol {
        padding-right: 80px;
    }

    .pb-section-2col .large-paragraph-heading {
        margin: 50px 0;
    }
}

.pb-section-2col .has-image-and-text .image-wrap {
    margin-bottom: 6rem;
}



.pb-section-2col .column.valign-center {
    align-self: center;
}

.pb-section-2col .column.valign-bottom {
    align-self: end;
}

/* Content Block Spacing
   Each column WYSIWYG block is wrapped in .content-block; stacking multiple
   (via the Blocks Count selector) needs vertical separation. */
.pb-section-2col .content-block + .content-block {
    margin-top: 4rem;
}


.column-footer-image-wrap img {
    display: block;
    width: 100%;
    height: auto;
    
}

.column-footer-image-wrap.border-top-teal-dark {
    border-top: 25px solid var(--colour-teal-dark);
}
.column-footer-image-wrap.border-top-teal-light {
    border-top: 25px solid var(--colour-teal-light);
}
.column-footer-image-wrap.border-top-teal {
    border-top: 25px solid var(--colour-teal);
}
.column-footer-image-wrap.border-top-teal-mid {
    border-top: 25px solid var(--colour-teal-mid);
}
.column-footer-image-wrap.border-top-orange {
    border-top: 25px solid var(--colour-orange);
}
.column-footer-image-wrap.border-top-black {
    border-top: 25px solid var(--colour-black);
}
.column-footer-image-wrap.border-top-white {
    border-top: 25px solid var(--colour-white);
}
.column-footer-image-wrap.border-top-light-grey {
    border-top: 25px solid var(--colour-light-grey);
}

