/* Sticky Header Glass Effect Support */

/* Smooth transitions for header */
header,
[data-elementor-type="header"],
.elementor-location-header {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Default header text - White color */
header nav a,
header nav .elementor-item,
header nav .elementor-item-active,
[data-elementor-type="header"] nav a,
[data-elementor-type="header"] nav .elementor-item,
[data-elementor-type="header"] nav .elementor-item-active,
.elementor-location-header nav a,
.elementor-location-header nav .elementor-item,
.elementor-location-header nav .elementor-item-active {
    color: #ffffff !important;
    position: relative;
    transition: color 0.3s ease !important;
}

/* Underline effect base */
header nav a,
header nav .elementor-item,
[data-elementor-type="header"] nav a,
[data-elementor-type="header"] nav .elementor-item,
.elementor-location-header nav a,
.elementor-location-header nav .elementor-item {
    display: inline-block;
    position: relative;
}

header nav a::after,
header nav .elementor-item::after,
[data-elementor-type="header"] nav a::after,
[data-elementor-type="header"] nav .elementor-item::after,
.elementor-location-header nav a::after,
.elementor-location-header nav .elementor-item::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 2px;
    background-color: #ffffff;
    transition: all 0.3s ease;
}

/* Hover/Focus effect - White underline when not scrolled */
header nav a:hover::after,
header nav a:focus::after,
header nav .elementor-item:hover::after,
header nav .elementor-item:focus::after,
[data-elementor-type="header"] nav a:hover::after,
[data-elementor-type="header"] nav a:focus::after,
[data-elementor-type="header"] nav .elementor-item:hover::after,
[data-elementor-type="header"] nav .elementor-item:focus::after,
.elementor-location-header nav a:hover::after,
.elementor-location-header nav a:focus::after,
.elementor-location-header nav .elementor-item:hover::after,
.elementor-location-header nav .elementor-item:focus::after {
    width: 100% !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
}

/* Active menu item - White underline when not scrolled */
header nav .current-menu-item a::after,
header nav .current_page_item a::after,
header nav .current-menu-ancestor a::after,
header nav .current-menu-parent a::after,
header nav li.current-menu-item>a::after,
header nav li.current_page_item>a::after,
header nav a.elementor-item-active::after,
[data-elementor-type="header"] nav .current-menu-item a::after,
[data-elementor-type="header"] nav .current_page_item a::after,
[data-elementor-type="header"] nav .current-menu-ancestor a::after,
[data-elementor-type="header"] nav .current-menu-parent a::after,
[data-elementor-type="header"] nav li.current-menu-item>a::after,
[data-elementor-type="header"] nav li.current_page_item>a::after,
[data-elementor-type="header"] nav a.elementor-item-active::after,
.elementor-location-header nav .current-menu-item a::after,
.elementor-location-header nav .current_page_item a::after,
.elementor-location-header nav .current-menu-ancestor a::after,
.elementor-location-header nav .current-menu-parent a::after,
.elementor-location-header nav li.current-menu-item>a::after,
.elementor-location-header nav li.current_page_item>a::after,
.elementor-location-header nav a.elementor-item-active::after {
    width: 100% !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
}

/* When scrolled class is added */
header.is-scrolled,
[data-elementor-type="header"].is-scrolled,
.elementor-location-header.is-scrolled {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

/* Scrolled header text - Blue color */
header.is-scrolled nav a,
header.is-scrolled nav .elementor-item,
header.is-scrolled nav .elementor-item-active,
[data-elementor-type="header"].is-scrolled nav a,
[data-elementor-type="header"].is-scrolled nav .elementor-item,
[data-elementor-type="header"].is-scrolled nav .elementor-item-active,
.elementor-location-header.is-scrolled nav a,
.elementor-location-header.is-scrolled nav .elementor-item,
.elementor-location-header.is-scrolled nav .elementor-item-active {
    color: #203264 !important;
}

/* Scrolled header underline - Blue */
header.is-scrolled nav a::after,
header.is-scrolled nav .elementor-item::after,
[data-elementor-type="header"].is-scrolled nav a::after,
[data-elementor-type="header"].is-scrolled nav .elementor-item::after,
.elementor-location-header.is-scrolled nav a::after,
.elementor-location-header.is-scrolled nav .elementor-item::after {
    background-color: #203264;
}

/* Scrolled header hover/focus - Show blue underline */
header.is-scrolled nav a:hover::after,
header.is-scrolled nav a:focus::after,
header.is-scrolled nav .elementor-item:hover::after,
header.is-scrolled nav .elementor-item:focus::after,
[data-elementor-type="header"].is-scrolled nav a:hover::after,
[data-elementor-type="header"].is-scrolled nav a:focus::after,
[data-elementor-type="header"].is-scrolled nav .elementor-item:hover::after,
[data-elementor-type="header"].is-scrolled nav .elementor-item:focus::after,
.elementor-location-header.is-scrolled nav a:hover::after,
.elementor-location-header.is-scrolled nav a:focus::after,
.elementor-location-header.is-scrolled nav .elementor-item:hover::after,
.elementor-location-header.is-scrolled nav .elementor-item:focus::after {
    width: 100% !important;
    background-color: #203264 !important;
    background: #203264 !important;
}

/* Scrolled header active menu item - Blue underline */
header.is-scrolled nav .current-menu-item a::after,
header.is-scrolled nav .current_page_item a::after,
header.is-scrolled nav .current-menu-ancestor a::after,
header.is-scrolled nav .current-menu-parent a::after,
header.is-scrolled nav li.current-menu-item>a::after,
header.is-scrolled nav li.current_page_item>a::after,
header.is-scrolled nav a.elementor-item-active::after,
[data-elementor-type="header"].is-scrolled nav .current-menu-item a::after,
[data-elementor-type="header"].is-scrolled nav .current_page_item a::after,
[data-elementor-type="header"].is-scrolled nav .current-menu-ancestor a::after,
[data-elementor-type="header"].is-scrolled nav .current-menu-parent a::after,
[data-elementor-type="header"].is-scrolled nav li.current-menu-item>a::after,
[data-elementor-type="header"].is-scrolled nav li.current_page_item>a::after,
[data-elementor-type="header"].is-scrolled nav a.elementor-item-active::after,
.elementor-location-header.is-scrolled nav .current-menu-item a::after,
.elementor-location-header.is-scrolled nav .current_page_item a::after,
.elementor-location-header.is-scrolled nav .current-menu-ancestor a::after,
.elementor-location-header.is-scrolled nav .current-menu-parent a::after,
.elementor-location-header.is-scrolled nav li.current-menu-item>a::after,
.elementor-location-header.is-scrolled nav li.current_page_item>a::after,
.elementor-location-header.is-scrolled nav a.elementor-item-active::after {
    width: 100% !important;
    background-color: #203264 !important;
    background: #203264 !important;
}

/* Adjust logo size when scrolled (optional) */
header.is-scrolled .elementor-widget-image img,
[data-elementor-type="header"].is-scrolled .elementor-widget-image img {
    max-height: 50px !important;
    transition: max-height 0.3s ease !important;
}

/* Support for admin bar */
body.admin-bar header,
body.admin-bar [data-elementor-type="header"],
body.admin-bar .elementor-location-header {
    top: 32px !important;
}

@media screen and (max-width: 782px) {

    body.admin-bar header,
    body.admin-bar [data-elementor-type="header"],
    body.admin-bar .elementor-location-header {
        top: 46px !important;
    }
}

/* ================================
   MOBILE HEADER & MENU FIXES
   Fix white text on white background
   ================================ */

@media screen and (max-width: 1024px) {

    /* Mobile header background - make it white/glass */
    header,
    [data-elementor-type="header"],
    .elementor-location-header {
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
    }

    /* Mobile header text - make it dark */
    header nav a,
    header nav .elementor-item,
    header nav .elementor-item-active,
    [data-elementor-type="header"] nav a,
    [data-elementor-type="header"] nav .elementor-item,
    [data-elementor-type="header"] nav .elementor-item-active,
    .elementor-location-header nav a,
    .elementor-location-header nav .elementor-item,
    .elementor-location-header nav .elementor-item-active {
        color: #203264 !important;
    }

    /* Mobile underline - blue */
    header nav a::after,
    header nav .elementor-item::after,
    [data-elementor-type="header"] nav a::after,
    [data-elementor-type="header"] nav .elementor-item::after,
    .elementor-location-header nav a::after,
    .elementor-location-header nav .elementor-item::after {
        background-color: #203264 !important;
    }

    /* Mobile hamburger icon - make it dark */
    .site-navigation-toggle,
    .elementor-menu-toggle,
    .eicon-menu-bar {
        color: #203264 !important;
    }

    .site-navigation-toggle-holder .site-navigation-toggle {
        background-color: rgba(32, 50, 100, 0.1) !important;
        color: #203264 !important;
    }

    /* Mobile dropdown menu items */
    .site-navigation-dropdown ul.menu li a,
    .elementor-nav-menu--dropdown li a,
    .elementor-nav-menu--dropdown .elementor-item {
        color: #203264 !important;
        background: #ffffff !important;
    }

    .site-navigation-dropdown ul.menu li a:hover,
    .elementor-nav-menu--dropdown li a:hover {
        background: #f5f5f5 !important;
        color: #1a1a8a !important;
    }

    /* Mobile active menu item */
    .site-navigation-dropdown ul.menu li.current-menu-item a {
        background: #203264 !important;
        color: #ffffff !important;
    }
}