/* Force header to top and lock in place */
html {
    scroll-padding-top: 100px; /* Height of header */
}

body {
    padding-top: 100px !important; /* Match header height */
    margin: 0 !important;
    position: relative;
}

/* Target all possible header elements */
header,
nav,
.navbar,
.bg-\[\#014903\],
.fixed-top,
[class*="header"],
[class*="nav"] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #014903 !important;
    min-height: 100px !important;
    height: 100px !important;
    max-height: 100px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2) !important;
}

/* Ensure logo maintains 100px height */
img[alt*="Logo"],
img[alt*="logo"],
.header-logo,
.navbar-brand img,
.fmwa-logo-stretch {
    height: 100px !important;
    width: auto !important;
    max-height: 100px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Prevent any content from being hidden behind header */
main,
.container,
section,
.content-wrapper {
    margin-top: 100px !important;
    position: relative;
    z-index: 1;
}

/* Reset any conflicting styles */
* {
    margin-top: 0 !important;
}

/* Mobile responsiveness */
@media (max-width: 991.98px) {
    body {
        padding-top: 80px !important;
    }
    
    header,
    nav,
    .navbar,
    .bg-\[\#014903\] {
        min-height: 80px !important;
        height: 80px !important;
        max-height: 80px !important;
    }
    
    img[alt*="Logo"],
    img[alt*="logo"],
    .header-logo,
    .navbar-brand img {
        height: 80px !important;
        max-height: 80px !important;
    }
}
