/* ==========================================================================
   SAT India - Global Header, Navigation, Dropdowns & Footer Styles
   ========================================================================== */

/* --- 0. Header Container & Visibility Safety --- */
.elementor-location-header {
    position: relative !important;
    z-index: 999999 !important;
    background-color: #ffffff !important;
    transition: all 0.3s ease-in-out !important;
    overflow: visible !important;
}

.elementor-location-header .e-con,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-widget-ekit-nav-menu,
.elementor-location-header .ekit-wid-con,
.elementor-location-header .elementskit-menu-container {
    overflow: visible !important;
}

/* --- 1. Down Arrow Submenu Indicator Fix --- */
.elementskit-submenu-indicator {
    font-family: inherit !important;
    display: inline-flex !important;
    align-items: center !important;
    margin-left: 6px !important;
    vertical-align: middle !important;
    font-style: normal !important;
}

.elementskit-submenu-indicator::before {
    display: none !important;
    content: "" !important;
}

.elementskit-submenu-indicator::after {
    content: "" !important;
    display: inline-block !important;
    width: 6px !important;
    height: 6px !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) !important;
    margin-bottom: 2px !important;
    transition: transform 0.25s ease !important;
}

.elementskit-dropdown-has:hover > a .elementskit-submenu-indicator::after,
.elementskit-dropdown-has.is-hovered > a .elementskit-submenu-indicator::after,
.elementskit-dropdown-has.elementskit-dropdown-open > a .elementskit-submenu-indicator::after {
    transform: rotate(-135deg) !important;
    margin-bottom: -2px !important;
}

/* --- 2. Desktop Dropdowns & Megamenus (min-width: 1025px) --- */
@media screen and (min-width: 1025px) {
    /* Navbar Container */
    .elementor-element-9574c91 {
        position: relative !important;
        z-index: 9999 !important;
    }

    .elementskit-menu-container {
        position: static !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .elementskit-navbar-nav {
        display: flex !important;
        align-items: center !important;
        flex-direction: row !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .elementskit-navbar-nav > li {
        position: relative !important;
        list-style: none !important;
        margin: 0 !important;
        display: inline-block !important;
    }

    .elementskit-navbar-nav > li.elementskit-megamenu-has {
        position: static !important;
    }

    .elementskit-navbar-nav > li > a {
        display: inline-flex !important;
        align-items: center !important;
        padding: 18px 16px !important;
        font-family: 'Montserrat', sans-serif !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        color: #093452 !important;
        text-decoration: none !important;
        transition: color 0.2s ease !important;
    }

    .elementskit-navbar-nav > li > a:hover {
        color: #d32f2f !important;
    }

    /* Standard Vertical Dropdowns (Services, Company, Career, Contact) */
    .elementskit-navbar-nav .elementskit-dropdown.elementskit-submenu-panel {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        min-width: 250px !important;
        background: #ffffff !important;
        border-top: 3px solid #093452 !important;
        box-shadow: 0 12px 32px rgba(9, 52, 82, 0.16) !important;
        border-radius: 0 0 6px 6px !important;
        padding: 8px 0 !important;
        margin: 0 !important;
        list-style: none !important;
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(10px) !important;
        transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease !important;
        z-index: 999999 !important;
    }

    /* Hover Bridge */
    .elementskit-navbar-nav .elementskit-dropdown.elementskit-submenu-panel::before,
    .elementskit-navbar-nav .elementskit-megamenu-panel::before {
        content: "" !important;
        position: absolute !important;
        top: -15px !important;
        left: 0 !important;
        right: 0 !important;
        height: 15px !important;
        background: transparent !important;
    }

    /* Dropdown Items */
    .elementskit-navbar-nav .elementskit-submenu-panel > li {
        list-style: none !important;
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .elementskit-navbar-nav .elementskit-submenu-panel > li > a {
        display: block !important;
        padding: 10px 22px !important;
        color: #2b303a !important;
        font-family: 'Inter', sans-serif !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        background: #ffffff !important;
        border-left: 3px solid transparent !important;
    }

    .elementskit-navbar-nav .elementskit-submenu-panel > li > a:hover {
        background: #f4f7f9 !important;
        color: #093452 !important;
        border-left-color: #093452 !important;
        padding-left: 26px !important;
    }

    /* Megamenu Panels (Solutions, Products) */
    .elementskit-navbar-nav > li.elementskit-megamenu-has > .elementskit-megamenu-panel {
        position: absolute !important;
        top: 100% !important;
        left: 50% !important;
        transform: translateX(-50%) translateY(10px) !important;
        width: 95vw !important;
        max-width: 1220px !important;
        background: #ffffff !important;
        border-top: 3px solid #093452 !important;
        box-shadow: 0 16px 40px rgba(9, 52, 82, 0.18) !important;
        border-radius: 0 0 8px 8px !important;
        padding: 24px 30px !important;
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease !important;
        z-index: 999999 !important;
        box-sizing: border-box !important;
    }

    /* SHOW DROPDOWNS ON HOVER / ACTIVE */
    .elementskit-navbar-nav > li.elementskit-dropdown-has:hover > .elementskit-dropdown,
    .elementskit-navbar-nav > li.elementskit-dropdown-has.is-hovered > .elementskit-dropdown,
    .elementskit-navbar-nav > li.elementskit-dropdown-has.elementskit-dropdown-open > .elementskit-dropdown {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    .elementskit-navbar-nav > li.elementskit-megamenu-has:hover > .elementskit-megamenu-panel,
    .elementskit-navbar-nav > li.elementskit-megamenu-has.is-hovered > .elementskit-megamenu-panel,
    .elementskit-navbar-nav > li.elementskit-megamenu-has.elementskit-dropdown-open > .elementskit-megamenu-panel {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateX(-50%) translateY(0) !important;
    }

    /* Hide Mobile Toggler on Desktop */
    .elementskit-menu-hamburger,
    .jkit-hamburger-menu,
    .elementskit-menu-close,
    .jkit-close-menu {
        display: none !important;
    }
}

/* --- 3. Mobile Navigation (max-width: 1024px) --- */
@media screen and (max-width: 1024px) {
    .elementskit-menu-hamburger,
    .jkit-hamburger-menu {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        padding: 10px !important;
        z-index: 99999 !important;
    }

    .elementskit-menu-hamburger-icon {
        display: block !important;
        width: 26px !important;
        height: 3px !important;
        background-color: #093452 !important;
        margin: 4px 0 !important;
        border-radius: 2px !important;
        transition: 0.3s ease !important;
    }

    .elementskit-menu-container {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 85vw !important;
        max-width: 360px !important;
        height: 100vh !important;
        background: #ffffff !important;
        box-shadow: 4px 0 20px rgba(0, 0, 0, 0.2) !important;
        z-index: 999999 !important;
        transform: translateX(-100%) !important;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        overflow-y: auto !important;
        padding: 20px !important;
        box-sizing: border-box !important;
        display: block !important;
    }

    .elementskit-menu-container.ekit-menu-open,
    .elementskit-menu-container.active {
        transform: translateX(0) !important;
    }

    .elementskit-menu-overlay {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: rgba(0, 0, 0, 0.6) !important;
        z-index: 999998 !important;
        display: none !important;
    }

    .elementskit-menu-overlay.active {
        display: block !important;
    }

    .elementskit-menu-close {
        display: block !important;
        background: #f1f3f5 !important;
        border: none !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #333333 !important;
        width: 36px !important;
        height: 36px !important;
        border-radius: 50% !important;
        cursor: pointer !important;
        margin-left: auto !important;
        margin-bottom: 20px !important;
    }

    .elementskit-navbar-nav {
        display: block !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .elementskit-navbar-nav > li {
        display: block !important;
        border-bottom: 1px solid #edf0f2 !important;
    }

    .elementskit-navbar-nav > li > a {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 14px 0 !important;
        font-family: 'Montserrat', sans-serif !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #093452 !important;
        text-decoration: none !important;
    }

    .elementskit-navbar-nav .elementskit-dropdown,
    .elementskit-navbar-nav .elementskit-megamenu-panel {
        display: none !important;
        background: #f8fafc !important;
        padding: 10px 15px !important;
        border-radius: 4px !important;
        margin-bottom: 12px !important;
    }

    .elementskit-navbar-nav > li.open > .elementskit-dropdown,
    .elementskit-navbar-nav > li.open > .elementskit-megamenu-panel {
        display: block !important;
    }

    .elementskit-navbar-nav .elementskit-submenu-panel > li > a {
        display: block !important;
        padding: 8px 0 !important;
        font-size: 14px !important;
        color: #555555 !important;
        text-decoration: none !important;
    }
}

/* --- 4. Sticky Header Transitions --- */
.elementor-location-header.elementor-sticky--effects {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
}

/* --- 5. Dynamic Copyright Year Styling --- */
.current-year {
    font-weight: inherit;
    color: inherit;
}

/* --- 6. Banner Background Video Styles --- */
.elementor-background-video-container {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    z-index: 0 !important;
    pointer-events: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.elementor-background-video-container.elementor-loading {
    opacity: 1 !important;
}

.elementor-background-video-hosted,
.elementor-background-video-container video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    -o-object-fit: cover !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.elementor-background-video-embed iframe {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 100vw !important;
    height: 56.25vw !important;
    min-height: 100% !important;
    min-width: 177.78% !important;
    border: none !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

