/* Navigation Bar Height and Style Adjustments */
/* Based on reference design - more compact navigation */

/* Desktop Navigation Adjustments */
@media only screen and (min-width: 992px) {
    /* Main header height reduction */
    .header,
    .header.header-position-over {
        height: auto !important;
        padding: 0 !important;
    }
    
    /* Header row adjustments */
    .header-row {
        min-height: 70px !important;
        height: 70px !important;
    }
    
    /* Logo container adjustments */
    .header-column.header-left-column {
        padding: 10px 0 !important;
    }
    
    .logo-container {
        height: 50px !important;
        display: flex;
        align-items: center;
    }
    
    .logo-container .logo-link {
        height: 100%;
        display: flex;
        align-items: center;
    }
    
    .logo-container img {
        max-height: 40px !important;
        height: auto !important;
        width: auto !important;
    }
    
    /* Main menu adjustments */
    .main-menu {
        height: 70px !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .main-menu > li {
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .main-menu > li > a {
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 20px !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 70px !important;
        transition: all 0.3s ease !important;
    }
    
    /* Hover effects */
    .main-menu > li > a:hover {
        background-color: rgba(0, 61, 150, 0.05) !important;
        color: #003D96 !important;
    }
    
    /* Active menu item */
    .main-menu > li.current-menu-item > a,
    .main-menu > li.current-menu-parent > a,
    .main-menu > li.current-menu-ancestor > a {
        color: #003D96 !important;
        font-weight: 600 !important;
        background-color: transparent !important;
    }
    
    /* Header icons adjustments */
    .header-icons-container {
        height: 70px !important;
        display: flex !important;
        align-items: center !important;
    }
    
    /* Header logo box - match header height */
    .header-logo-box {
        height: 70px !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .header-icons-container .header-icon {
        margin: 0 10px !important;
        padding: 8px !important;
        font-size: 18px !important;
    }
    
    /* Search icon specific */
    .header-icons-container .search-trigger {
        font-size: 18px !important;
    }
    
    /* Mini cart adjustments */
    .mini-cart .mini-cart-trigger {
        padding: 8px !important;
        font-size: 18px !important;
    }
    
    /* Dropdown menu adjustments */
    .main-menu li .sub-menu {
        top: 70px !important;
        border-top: 3px solid #003D96 !important;
    }
    
    /* Sticky header adjustments */
    .header.sticky-header-on.sticky-ready .sticky-wrapper {
        background: rgba(255, 255, 255, 0.98) !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    }
    
    /* Admin bar compensation */
    body.admin-bar .header.sticky-header-on.sticky-ready .sticky-wrapper {
        top: 32px !important;
    }
}

/* Mobile Navigation Adjustments */
@media only screen and (max-width: 991px) {
    /* Mobile header height */
    .mobile-header {
        min-height: 82px !important;
        height: 82px !important;
        padding: 0 15px !important;
    }
    
    .mobile-header-row {
        min-height: 82px !important;
        height: 82px !important;
        padding: 0 !important;
    }
    
    /* Mobile logo */
    .mobile-header .logo-container {
        height: 40px !important;
    }
    
    .mobile-header .logo-container img {
        max-height: 35px !important;
        height: auto !important;
        width: auto !important;
    }
    
    /* Mobile menu trigger */
    .mobile-header .menu-trigger {
        padding: 10px !important;
    }
    
    .mobile-header .hamburger {
        width: 22px !important;
        height: 16px !important;
    }
    
    /* Mobile header icons */
    .mobile-header .header-icons-container {
        height: 82px !important;
    }
    
    .mobile-header .header-icon {
        padding: 10px !important;
        margin: 0 5px !important;
        font-size: 18px !important;
    }
}

/* Ultra-small screens */
@media only screen and (max-width: 480px) {
    .mobile-header,
    .mobile-header-row {
        min-height: 82px !important;
        height: 82px !important;
    }
    
    .mobile-header .logo-container img {
        max-height: 30px !important;
    }
    
    .mobile-header .header-icon {
        padding: 8px !important;
        margin: 0 3px !important;
        font-size: 16px !important;
    }
}

/* Additional style improvements */

/* Remove unnecessary shadows */
.header {
    box-shadow: none !important;
}

/* Ensure proper z-index */
.header {
    z-index: 999 !important;
}

/* Typography adjustments for navigation */
.main-menu > li > a {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    letter-spacing: 0.02em !important;
}

/* Smooth transitions */
.header,
.header-row,
.main-menu > li > a,
.header-icon {
    transition: all 0.3s ease !important;
}

/* Header type specific adjustments */
.header-type-1 .header-row {
    justify-content: space-between !important;
}

.header-type-2 .header-row,
.header-type-3 .header-row {
    min-height: 70px !important;
    height: 70px !important;
}

/* Call to action button in header */
.header .technum-button {
    padding: 8px 20px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    height: auto !important;
}

/* Ensure consistent header styling across pages */
.page .header,
.single .header,
.archive .header,
.woocommerce .header {
    background-color: #fff !important;
}

/* Fix for header overlapping content */
.header-position-relative + .content-wrapper {
    margin-top: 0 !important;
}

.header-position-over + .content-wrapper {
    margin-top: -70px !important;
}

/* Mobile menu panel height adjustments */
@media only screen and (max-width: 991px) {
    .mobile-header-menu-container {
        top: 82px !important;
        height: calc(100vh - 82px) !important;
    }
    
    body.admin-bar .mobile-header-menu-container {
        top: 128px !important;
        height: calc(100vh - 128px) !important;
    }
}

/* Ensure navigation is visible */
.header {
    display: block !important;
}

@media only screen and (min-width: 992px) {
    .header {
        display: block !important;
    }
    
    .mobile-header {
        display: none !important;
    }
}

@media only screen and (max-width: 991px) {
    .header {
        display: none !important;
    }
    
    .mobile-header {
        display: block !important;
    }
}

/* Unified blue color for active menu indicator */
.header .main-menu > li > a:before {
    background-color: #003D96 !important;
}

.header .main-menu > li.current-menu-item > a:before,
.header .main-menu > li.current-menu-parent > a:before,
.header .main-menu > li.current-menu-ancestor > a:before {
    background-color: #003D96 !important;
    opacity: 1 !important;
}

/* Ensure no background color on active items */
.header .main-menu > li.current-menu-item > a,
.header .main-menu > li.current-menu-parent > a,
.header .main-menu > li.current-menu-ancestor > a {
    background-color: transparent !important;
}

/* Remove any red color that might appear */
.header .main-menu > li > a:hover:before {
    background-color: #003D96 !important;
}

/* Mobile menu active state */
.mobile-header-menu-container .main-menu > li.current-menu-item > a,
.mobile-header-menu-container .main-menu > li.current-menu-parent > a,
.mobile-header-menu-container .main-menu > li.current-menu-ancestor > a {
    color: #003D96 !important;
    background-color: transparent !important;
}

/* Submenu active states */
.header .main-menu > li ul.sub-menu > li.current-menu-item > a:before {
    background-color: #003D96 !important;
}

/* Remove any accent color overrides */
.header .main-menu > li.menu-item-has-children.current-menu-ancestor > a:after,
.header .main-menu > li.menu-item-has-children.current-menu-parent > a:after,
.header .main-menu > li.menu-item-has-children.current-menu-item > a:after {
    background-color: #003D96 !important;
}

/* Logo SVG white color override for blue background */
.logo-link svg {
    filter: brightness(0) invert(1) !important;
}

/* Alternative method using CSS filters to make logo white */
.logo-link svg circle,
.logo-link svg path,
.logo-link svg text,
.logo-link svg line {
    stroke: #ffffff !important;
    fill: #ffffff !important;
}

.logo-link svg text {
    fill: #ffffff !important;
}

/* Remove gradient colors and use solid white */
.logo-link svg stop {
    stop-color: #ffffff !important;
}

/* Ensure logo is visible on blue background */
.header-position-over .logo-link svg {
    filter: brightness(0) invert(1) !important;
}

/* Homepage feature text size adjustment */
.content_txt .content ol li h2 span {
    font-size: 28px !important;
}

/* Alternative selectors for better specificity */
.col-xl-6.content_txt .content h2 span[style*="font-size"] {
    font-size: 28px !important;
}

/* Target the specific content area */
.content_txt h2 span {
    font-size: 28px !important;
}