/* ── Inner-page hero + top banner (driven by ACF "Page Options") ─────────── */

.page-top-banner {
    width: 100%;
    height: 60px;
    line-height: 60px;
    padding-left: 6%;
    text-align: left;
    font-family: var(--font-regular, 'Geogrotesque Regular', sans-serif);
    font-size: 1.5rem;
    letter-spacing: 1.25px;
    color: #fff;
}

.page-top-banner span { color: #fff; }

@media (max-width: 991px) {
    .page-top-banner { font-size: 1.1rem; }
}

/* ── Side images (ACF repeater side_images) ───────────────────────────────── */
/* top = % down the content area; offset = % in from that side's page edge
   (negative bleeds off-screen); hidden below 992px like the source. */

.site-main.has-side-images {
    position: relative;
    overflow-x: clip;
}

.side-images {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.side-images .side-image {
    position: absolute;
    max-width: none;
    height: auto;
}

.site-main.has-side-images .container { position: relative; z-index: 1; }

/* Desktop: body text sits in the centre column between the side images. */
@media (min-width: 992px) {
    .site-main.has-side-images { min-height: 1400px; }
    .site-main.has-side-images .container { max-width: none; padding: 0; }
    .site-main.has-side-images .content-area { width: 52%; margin: 0 auto; }
}

/* ── Full-width source-style pages (Contact Us, Sitemap, Privacy Policy) ─── */
.teasdale-wide .site-main .container { width: 100%; max-width: none; padding: 0; }
.teasdale-wide .site-main .content-area { width: 100%; }
.teasdale-wide #site-map { width: 70%; padding-bottom: 50px; }
.teasdale-wide #site-map .top-level { color: #343E48; text-align: left; font-size: 1.5rem; padding-left: 42px; }
.teasdale-wide #site-map .mobile-dropdown-content.two { padding-top: 10px; }
.teasdale-wide #site-map .mobile-dropdown-content.two a { color: #000; padding-left: 0; }
.teasdale-wide .site-main { padding-bottom: 20px; }
