/* --- 1. GLOBAL STICKY & WRAPPERS --- */
html, body {
    overflow-x: visible !important;
}

header.top-blue-bar {
    background: linear-gradient(90deg, #1e3063 0%, #4c92d1 50%, #1e3063 100%) !important;
    width: 100%;
    padding: 8px 0;
    position: sticky;
    top: 0;
    z-index: 10000;
}

section.header-main-row {
    background: #fff;
    width: 100%;
    position: sticky;
    top: 39px; /* This locks it right below the blue bar */
    z-index: 9999;
    border-bottom: 1px solid #eee;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.header-container, 
.header-container-main {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
}

.header-container { justify-content: flex-end; }
.header-container-main { justify-content: space-between; align-items: flex-end; padding: 10px 20px; }

/* --- 2. DESKTOP UTILITY NAV --- */
.top-utility-nav { display: block; }
.top-utility-list {
    display: flex;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.top-utility-list a {
    color: #fff !important;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
}

.top-utility-list li:first-child a { color: #ffcc00 !important; }

/* --- 3. MAIN HEADER CONTENT --- */
.main-logo { height: 98px !important; width: auto; display: block; }

.hdr-col-center { flex: 1; display: flex; justify-content: center; position: relative; }

.nav-list {
    display: flex;
    list-style: none;
    gap: 30px;
    margin: 0;
    padding: 0 0 10px 0;
}

.nav-list a {
    text-decoration: none;
    color: #1e3063;
    font-size: 22px;
    font-weight: 700;
    text-transform: uppercase;
}

.hdr-col-right { flex: 0 0 auto; text-align: right; padding-bottom: 5px; }
.call-text { font-weight: 900; font-size: 38px; line-height: 0.85; color: #1e3063; }
.location-text { font-size: 13px; font-weight: 700; text-transform: uppercase; display: block; }

/* --- 4. MOBILE "NO SUCK" LOGIC --- */

/* Hide mobile number on desktop */
.mobile-phone-section { display: none !important; }

@media (max-width: 1150px) {
    /* 1. Kill the vertical stacking menu on Home/Index */
    .top-utility-nav { 
        display: none !important; 
    }

    /* 2. Show the clean centered phone section */
    .header-container { 
        justify-content: center !important; 
    }
    
    .mobile-phone-section { 
        display: flex !important; 
        justify-content: center; 
        width: 100%; 
    }

    .mobile-only-number {
        display: block !important;
        color: #ffffff !important;
        font-size: 32px !important;
        font-weight: 900 !important;
        text-decoration: none !important;
        line-height: 1;
    }

    /* 3. Adjust Main Row for Mobile */
    .hdr-col-right { display: none !important; }

    .menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 21px;
        background: transparent;
        border: none;
        cursor: pointer;
    }
    
    .menu-toggle .bar { width: 100%; height: 3px; background-color: #1e3063; }

    .nav-list {
        display: none; /* Controlled by JS .active class */
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #1e3063;
        flex-direction: column;
        padding: 20px 0;
        z-index: 1000;
        border-top: 5px solid #ffcc00;
    }
    
    .nav-list.active { display: flex !important; }
    .nav-list li { text-align: center; padding: 15px 0; }
    .nav-list a { color: #fff !important; font-size: 20px; }
}