/* ========================================= */
/* Banner State Classes (Replaces inline PHP)*/
/* ========================================= */
.banner-sticky { 
    height: 60vh; 
}
.banner-transparent { 
    height: 71vh; 
}

/* ========================================= */
/* Breadcrumb Banner Base Component          */
/* ========================================= */
.breadcrumb-banner {
    min-height: 300px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /* Ensure no content leaks out at the base level */
    overflow: hidden;
}

/* ========================================= */
/* Specific Layers & Typography              */
/* ========================================= */
.banner-overlay {
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.banner-content-wrapper {
    z-index: 2;
    /* Ensure the container itself doesn't cause overflow issues */
    max-width: 100% !important;
}

.banner-title {
    text-shadow: 0 4px 12px rgba(0,0,0,0.6);
}

/* ========================================= */
/* Mobile Horizontal Scroll Fixes            */
/* ========================================= */

/* 1. Strictly contain the Jarallax injected elements and overlay */
.breadcrumb-banner {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important; /* Force horizontal containment */
    position: relative;
    box-sizing: border-box;
    /* Create a stacking context to ensure overflow:hidden clips all child elements, 
       including those that might have complex positioning from Jarallax */
    transform: translateZ(0);
}

/* 1.1 Target Jarallax-specific dynamically created containers */
.breadcrumb-banner [id^="jarallax-container-"] {
    max-width: 100vw !important;
    overflow: hidden !important;
}

/* 2. Prevent long unbroken words in the title from stretching the layout */
.banner-content-wrapper .banner-title {
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-left: auto;
    margin-right: auto;
}

/* 3. Responsive font sizes for the banner title */
@media (max-width: 767px) {
    .banner-title {
        font-size: 2rem !important;
    }
}

@media (max-width: 480px) {
    .banner-title {
        font-size: 1.5rem !important;
    }
}
/* ========================================= */
/* Mobile Overrides                          */
/* ========================================= */
@media (max-width: 991px) {
    /* Standardize mobile height regardless of nav type */
    .banner-sticky, 
    .banner-transparent {
        height: 50vh !important; 
    }

    /* Disable Jarallax parallax effect on mobile */
    .breadcrumb-banner.jarallax {
        background-attachment: scroll !important;
        background-position: center center !important;
    }
}