/* ============================================================
   Page hero (shared by page.php fallback + mpf/page-hero block)
   ============================================================ */
.mpf-page-hero {
    position: relative;
    overflow: hidden;
    background: var(--mpf-navy-dark);
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: clamp(260px, 34vw, 420px);
    padding-block: clamp(36px, 5vw, 64px);
}
.mpf-page-hero__inner { width: 100%; position: relative; z-index: 1; }

/* ---- Shared hero background slideshow (page hero + home hero) ---- */
.mpf-hero-slides { position: absolute; inset: 0; z-index: 0; }
.mpf-hero-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity .6s ease-in-out;
}
.mpf-hero-slide.is-active { opacity: 1; }
/* Navy gradient overlay sits above the images, below the content. */
.mpf-hero-slides::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(26,40,72,.55), rgba(26,40,72,.62));
}
@media (prefers-reduced-motion: reduce) {
    .mpf-hero-slide { transition: none; }
}
.mpf-page-hero h1 {
    color: #fff;
    margin: 0;
    font-size: clamp(2rem, 4.5vw, 3.1rem);
    text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.mpf-page-hero__subtitle {
    margin: .6em 0 0;
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    max-width: 60ch;
    text-shadow: 0 1px 12px rgba(0,0,0,.35);
}
.mpf-page-hero .mpf-breadcrumb ol { color: rgba(255,255,255,.9); }
.mpf-page-hero .mpf-breadcrumb a { color: #fff; text-decoration: none; opacity: .9; }
.mpf-page-hero .mpf-breadcrumb a:hover { opacity: 1; text-decoration: underline; }
.mpf-page-hero .mpf-breadcrumb span { color: rgba(255,255,255,.85); }

/* Plain variant (no background image) — used for 404 / search / legal pages. */
.mpf-page-hero--plain {
    background: var(--mpf-bg-alt);
    background-image: none !important;
    color: var(--mpf-heading);
    min-height: 0;
    padding-block: clamp(32px, 4vw, 52px);
    border-bottom: 1px solid var(--mpf-border);
}
.mpf-page-hero--plain h1 { color: var(--mpf-heading); text-shadow: none; }
.mpf-page-hero--plain .mpf-breadcrumb ol,
.mpf-page-hero--plain .mpf-breadcrumb a,
.mpf-page-hero--plain .mpf-breadcrumb span { color: var(--mpf-muted); }
.mpf-page-hero--plain .mpf-breadcrumb a:hover { color: var(--mpf-navy); }
