/* =========================================================
   INNER PAGE BANNER & STICKY HEADER FIX (UPDATED & COMPLETE)
   ========================================================= */

/* 1. Un-scrolled header default position */
header:not(.scrolled):not(.sticky):not(.is-sticky),
.header:not(.scrolled):not(.sticky):not(.is-sticky),
.main-header:not(.scrolled):not(.sticky):not(.is-sticky) {
    position: relative !important;
    top: 0 !important;
    margin-top: 0 !important;
}

/* 2. Fixed sticky header on scroll */
header.scrolled, header.sticky, header.is-sticky,
.header.scrolled, .header.sticky, .header.is-sticky,
.main-header.scrolled, .main-header.sticky, .main-header.is-sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    width: 100%;
    z-index: 10000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* 3. Complete gap elimination for hero/banner containers AND inner children */
main, 
.hero, 
#hero-section, 
section.hero, 
.hero-slider, 
.hero-content, 
.inner-banner, 
.page-banner, 
.banner-section,
.ba-banner,
.course-banner {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* 4. Neutralize JS inline styling calculations on page load/refresh */
main[style], 
.hero[style], 
#hero-section[style], 
.inner-banner[style],
.hero-slider[style] {
    padding-top: 0 !important;
    margin-top: 0 !important;
}