/* =========================
   GLOBAL HERO SYSTEM
========================= */

/* ✅ Prevent flash (GLOBAL) */
.breadcrumb {
    opacity: 0;
    transition: opacity 0.25s ease;
}

/* ✅ Hero-specific breadcrumb behavior */
.hero--with-breadcrumb .breadcrumb {
    position: absolute; /* prevents layout gaps if JS fails */
}

/* Hide duplicate page title */
.entity-page-header {
    display: none;
}

/* Reset spacing + prevent scroll */
body {
    margin: 0;
    overflow-x: hidden;
}

body > div {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* =========================
   HERO BASE
========================= */

.hero--with-breadcrumb {
    position: relative;
    margin-top: -10px;

    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);

    aspect-ratio: 16 / 2.5;
    padding-top: 50px;

    background-image:
        linear-gradient(
            to right,
            rgba(98,187,70,0.15) 0%,
            rgba(0,0,0,var(--overlay-mid,0.4)) 35%,
            rgba(0,0,0,var(--overlay-dark,0.6)) 100%
        ),
        var(--hero-bg);

    background-size: cover;
    background-position: var(--hero-position, 75% center);

    display: flex;
    align-items: flex-start;
}

/* =========================
   CONTENT CONTAINER
========================= */

.hero-content {
    max-width: 1170px;
    margin: 0 auto;
    padding: 40px 15px;
    color: #ffffff;
}

/* =========================
   BREADCRUMB (STYLING ONLY)
========================= */

.hero--with-breadcrumb .breadcrumb {
    top: var(--breadcrumb-top, 30px);

    left: 0;
    right: 0;

    max-width: 1170px;
    margin: 0 auto;
    padding: 0 15px;

    font-size: 12px;

    background: transparent !important;
    border-radius: 0 !important;
}

/* Cleanup CMS spacing */
.hero--with-breadcrumb .breadcrumb ul {
    margin: 0;
    padding: 0;
}

.hero--with-breadcrumb .breadcrumb li {
    display: inline;
}

.hero--with-breadcrumb .breadcrumb li + li:before {
    content: "/";
    padding: 0 6px;
    color: rgba(255,255,255,0.7);
}

/* Light styling */
.hero--with-breadcrumb .breadcrumb,
.hero--with-breadcrumb .breadcrumb span {
    color: rgba(255,255,255,0.85);
}

.hero--with-breadcrumb .breadcrumb a {
    color: rgba(255,255,255,0.95);
    text-decoration: none;
}

.hero--with-breadcrumb .breadcrumb a:hover {
    text-decoration: underline;
}

/* =========================
   TYPOGRAPHY
========================= */

.hero-content h1 {
    font-size: 3rem;
    font-weight: 700;
    margin: 0 0 1rem 0;

    color: #62bb46;

    text-shadow:
        0 3px 6px rgba(0,0,0,0.9),
        0 6px 14px rgba(0,0,0,0.8);
}

.hero-content p {
    font-size: 1.4rem;
    line-height: 1.5;
    margin: 0;

    color: rgba(255,255,255,0.95);

    text-shadow:
        0 2px 6px rgba(0,0,0,0.9),
        0 0 10px rgba(0,0,0,0.6);
}

/* =========================
   RESPONSIVE
========================= */

/* Tablet */
@media (max-width: 1200px) {
    .hero--with-breadcrumb {
        background-image:
            linear-gradient(
                to right,
                rgba(98,187,70,0.15) 0%,
                rgba(0,0,0,0.4) 35%,
                rgba(0,0,0,0.6) 100%
            ),
            var(--hero-bg-tablet, var(--hero-bg));
    }
}

/* Mobile */
@media (max-width: 600px) {

    .hero--with-breadcrumb {
        aspect-ratio: 16 / 7;
        min-height: 260px;

        background-position: var(--hero-position-mobile, 75% center);

        background-image:
            linear-gradient(
                to right,
                rgba(98,187,70,0.15) 0%,
                rgba(0,0,0,0.4) 35%,
                rgba(0,0,0,0.6) 100%
            ),
            var(--hero-bg-mobile, var(--hero-bg));
    }

    .hero-content {
        text-align: center;
        padding: 15px;
    }

    .hero--with-breadcrumb .breadcrumb {
        text-align: center;
        font-size: 11px;
    }

    .hero-content h1 {
        font-size: 2rem;
    }

    .hero-content p {
        font-size: 1rem;
    }
}