/* ============================================================
   GENERATEPRESS SITE CSS
   Home hero highlight underline - rainbow gradient under mark
   inside an element with class "underline"
   ============================================================ */
.underline mark {
    background-color: transparent; /* Remove default yellow */

    /* The rainbow gradient */
    background-image: linear-gradient(
        to right,
        rgba(255, 0, 0, 0.4),
        rgba(255, 165, 0, 0.4),
        rgba(255, 255, 0, 0.4),
        rgba(0, 128, 0, 0.4),
        rgba(0, 0, 255, 0.4),
        rgba(75, 0, 130, 0.4),
        rgba(238, 130, 238, 0.4)
    );

    /* Height: 100% wide, 0.3em tall */
    background-size: 100% 0.3em;
    background-repeat: no-repeat;

    /* Position: 0% horizontal, 80% vertical (climbs up the text) */
    background-position: 0% 80%;

    color: inherit;
    padding: 0 2px;
}


/* ============================================================
   TABLET COLUMN STACKING UTILITY
   Add class "stack-on-tablet" to a columns block
   to force single-column layout at 1024px or below.
   ============================================================ */
@media (max-width: 1024px) {
    .stack-on-tablet {
        flex-wrap: wrap !important;
    }

    .stack-on-tablet > .wp-block-column {
        flex-basis: 100% !important;
    }
}


/* ============================================================
   CARD WITH MEDIA (image + text)
   Inner content lifts on hover; wrapper (and its background) stays put.
   Clickable behavior comes from Gutenberg's native Group link.
   ============================================================ */
.card-media > * {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-media:hover > * {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.card-media img {
    border-radius: 8px;
}

.card-media a {
    text-decoration: none;
    color: inherit;
}


/* ============================================================
   CARD TEXT ONLY
   Whole card lifts as one unit on hover.
   Clickable behavior comes from Gutenberg's native Group link.
   ============================================================ */
.card-text {
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-text:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.card-text a {
    text-decoration: none;
    color: inherit;
}

/* ============================================================
   SERVICES DROPDOWN WIDTH
   Let submenu items size to their label instead of a fixed
   200px box, so longer service names sit on one line.
   ============================================================ */
#site-navigation .main-nav ul ul {
    width: auto;
    min-width: max-content;
}

#site-navigation .main-nav ul ul a {
    white-space: nowrap;
}

/* ============================================================
   HOMEPAGE HERO - MOBILE OVERFLOW
   The hero grid used grid-template-columns:1fr, whose automatic
   minimum is min-content, so the track could not shrink below the
   widest word in the H1 (439px at the clamp floor of 3.125rem).
   minmax(0,1fr) lets the track shrink to the container; the lower
   font floor stops long words breaking mid-word. Mobile only,
   so desktop is unchanged.
   ============================================================ */
@media (max-width: 767px) {
    .gb-element-a1c591e9 {
        grid-template-columns: minmax(0, 1fr);
    }

    .gb-text-19e273ed {
        font-size: clamp(2.25rem, 9vw, 3.125rem);
    }
}

/* ============================================================
   SECTION DIVIDERS - STOP SHAPES COVERING CONTENT (Sept 2026)
   1. Section content always paints above divider shapes.
      Uses isolation, NOT position/z-index: some sections carry
      stray top/bottom offsets that activate if positioned.
   ============================================================ */
.gbp-section > :not(.gb-shape) {
    isolation: isolate;
}

/* 2. Team member pages: the Qualifications section was not
      positioned, so its divider anchored to the browser window. */
.gb-element-af3fd7d7 {
    position: relative;
}

/* 3. Sections whose bottom padding was smaller than their divider.
      Value = divider height + 1rem. These OVERRIDE the bottom
      padding set in the editor for these six sections. If a
      divider's height is changed in the editor, update or delete
      the matching line. */
.gbp-section.gb-element-f4c4f8ff { padding-bottom: 7rem; }   /* counselling, 95px divider */
.gbp-section.gb-element-cfc7760e { padding-bottom: 4.5rem; } /* counselling, 50px divider */
.gbp-section.gb-element-ed3f2d62 { padding-bottom: 4.5rem; } /* counselling, 50px divider */
.gbp-section.gb-element-82cf4ac5 { padding-bottom: 11rem; }  /* counselling, 160px divider */
.gbp-section.gb-element-8604c681 { padding-bottom: 6rem; }   /* relationship counselling, 80px divider */
.gbp-section.gb-element-d67a5296 { padding-bottom: 11rem; }  /* occupational therapy, 160px divider */