/* ============================================
   SERAPHIM NAV v25 - CONVERSION OPTIMIZED
   Mega dropdown, streamlined hierarchy
   JetBrains Mono throughout
   Desktop > 900px, Mobile <= 900px
   ============================================ */

/* ---- Reset ---- */
.sph-nav * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
/* REMOVED: Mobile nav CSS moved to self-contained template v30
.mobile-nav *,
.mobile-nav-overlay * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
*/

/* ============================================
   DESKTOP NAV
   ============================================ */
.sph-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
    padding: 0 40px !important;
    background: linear-gradient(180deg,
        rgba(0, 0, 0, 0.3) 0%,
        rgba(0, 20, 40, 0.2) 50%,
        rgba(0, 0, 0, 0.35) 100%) !important;
    border-top: 1px solid rgba(0, 255, 136, 0.08) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.5) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.03),
        0 4px 20px rgba(0, 0, 0, 0.3) !important;
    position: relative !important;
    z-index: auto !important;
    overflow: visible !important;
    pointer-events: auto !important;
    font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace !important;
}

.sph-nav-inner {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    flex: 1 !important;
}

/* ---- Nav Items (shared for all types) ---- */
.sph-nav .sph-item {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 16px 22px !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.7) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    border-bottom: 2px solid transparent !important;
    transition: all 0.25s ease !important;
    white-space: nowrap !important;
    background: transparent !important;
}

.sph-nav .sph-item:hover {
    color: #00ff88 !important;
    border-bottom-color: #00ff88 !important;
    background: linear-gradient(180deg,
        rgba(0, 255, 136, 0.1) 0%,
        rgba(0, 255, 136, 0.03) 100%) !important;
    text-shadow: 0 0 20px rgba(0, 255, 136, 0.5) !important;
}

.sph-nav .sph-item.active {
    color: #00ff88 !important;
    border-bottom-color: #00ff88 !important;
}

/* ---- Arrow ---- */
.sph-nav .sph-arrow {
    margin-left: 6px !important;
    font-size: 0.6em !important;
    opacity: 0.6 !important;
    transition: transform 0.2s !important;
}

.sph-nav .sph-item:hover .sph-arrow {
    transform: rotate(180deg) !important;
    opacity: 1 !important;
}

/* ---- Standard Dropdown ---- */
.sph-nav .sph-dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(10px) !important;
    min-width: 260px !important;
    max-width: calc(100vw - 40px) !important;
    background: rgba(8, 12, 20, 0.98) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border: 1px solid rgba(0, 255, 136, 0.25) !important;
    border-radius: 12px !important;
    box-shadow:
        0 25px 80px rgba(0, 0, 0, 0.9),
        0 0 60px rgba(0, 255, 136, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    padding: 10px 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    z-index: 999999 !important;
}

.sph-nav .sph-dropdown.sph-dropdown-wide {
    min-width: 300px !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
}

/* Show dropdown on hover */
.sph-nav .sph-item:hover > .sph-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) translateY(0) !important;
}

/* ---- Dropdown Links ---- */
.sph-nav .sph-dropdown a {
    display: block !important;
    padding: 11px 24px !important;
    font-family: 'JetBrains Mono', 'Fira Code', monospace !important;
    font-size: 0.78rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    color: rgba(255, 255, 255, 0.8) !important;
    text-decoration: none !important;
    text-transform: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    transition: all 0.15s ease !important;
}

.sph-nav .sph-dropdown a:last-child {
    border-bottom: none !important;
}

.sph-nav .sph-dropdown a:hover {
    background: linear-gradient(90deg,
        rgba(0, 255, 136, 0.15) 0%,
        rgba(0, 255, 136, 0.05) 100%) !important;
    color: #00ff88 !important;
    padding-left: 32px !important;
}

/* ---- Dropdown Group Labels ---- */
.sph-dropdown-group-label {
    display: block !important;
    padding: 10px 24px 5px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.55rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: #00ffcc !important;
    border-bottom: none !important;
    pointer-events: none !important;
    opacity: 0.7 !important;
}

.sph-dropdown-group-label:first-child {
    padding-top: 6px !important;
}

/* ---- Dropdown top glow ---- */
.sph-nav .sph-dropdown::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 20px !important;
    right: 20px !important;
    height: 1px !important;
    background: linear-gradient(90deg,
        transparent,
        rgba(0, 255, 136, 0.5),
        transparent) !important;
}

/* ============================================
   MEGA DROPDOWN (Solutions)
   ============================================ */
.sph-nav .sph-mega-dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(10px) !important;
    width: min(1100px, calc(100vw - 40px)) !important;
    background: rgba(8, 12, 20, 0.98) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border: 1px solid rgba(0, 255, 136, 0.2) !important;
    border-radius: 14px !important;
    box-shadow:
        0 30px 100px rgba(0, 0, 0, 0.95),
        0 0 80px rgba(0, 255, 136, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    padding: 28px 32px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    z-index: 999999 !important;
}

/* Mega top glow */
.sph-nav .sph-mega-dropdown::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 40px !important;
    right: 40px !important;
    height: 2px !important;
    background: linear-gradient(90deg,
        transparent,
        rgba(0, 255, 136, 0.6),
        rgba(0, 255, 204, 0.4),
        rgba(0, 255, 136, 0.6),
        transparent) !important;
    border-radius: 2px !important;
}

/* Hover bridge - prevents gap between nav item and dropdown */
.sph-nav .sph-item::after {
    content: '' !important;
    position: absolute !important;
    bottom: -12px !important;
    left: 0 !important;
    right: 0 !important;
    height: 12px !important;
    background: transparent !important;
    pointer-events: none !important;
}

.sph-nav .sph-item:hover::after {
    pointer-events: auto !important;
}

/* Show mega on hover */
.sph-nav .sph-mega-parent:hover > .sph-mega-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) translateY(0) !important;
}

/* ============================================
   VIEWPORT-AWARE DROPDOWN POSITIONING
   Prevents dropdowns from being cut off at
   left/right viewport edges.
   - Left-aligned items: align dropdown to left
   - Right-aligned items: align dropdown to right
   - Middle items: keep centered (default)
   ============================================ */

/* Left-aligned: first two nav items (SOLUTIONS, INDUSTRIES) */
.sph-nav .sph-nav-inner > .sph-item:first-child > .sph-dropdown,
.sph-nav .sph-nav-inner > .sph-item:nth-child(2) > .sph-dropdown {
    left: 0 !important;
    transform: translateX(0) translateY(10px) !important;
}

.sph-nav .sph-nav-inner > .sph-item:first-child:hover > .sph-dropdown,
.sph-nav .sph-nav-inner > .sph-item:nth-child(2):hover > .sph-dropdown {
    transform: translateX(0) translateY(0) !important;
}

/* Left-aligned: mega dropdown for first item (SOLUTIONS) */
.sph-nav .sph-nav-inner > .sph-mega-parent:first-child > .sph-mega-dropdown {
    left: 0 !important;
    transform: translateX(0) translateY(10px) !important;
}

.sph-nav .sph-nav-inner > .sph-mega-parent:first-child:hover > .sph-mega-dropdown {
    transform: translateX(0) translateY(0) !important;
}

/* Right-aligned: last two nav items before the CTA */
.sph-nav .sph-nav-inner > .sph-item:nth-last-child(1) > .sph-dropdown,
.sph-nav .sph-nav-inner > .sph-item:nth-last-child(2) > .sph-dropdown {
    left: auto !important;
    right: 0 !important;
    transform: translateX(0) translateY(10px) !important;
}

.sph-nav .sph-nav-inner > .sph-item:nth-last-child(1):hover > .sph-dropdown,
.sph-nav .sph-nav-inner > .sph-item:nth-last-child(2):hover > .sph-dropdown {
    transform: translateX(0) translateY(0) !important;
}

/* ---- Mega Grid ---- */
.sph-mega-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 32px !important;
}

.sph-mega-col {
    padding: 0 !important;
}

.sph-mega-col + .sph-mega-col {
    border-left: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding-left: 32px !important;
}

.sph-mega-heading {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.6rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: #00ffcc !important;
    margin-bottom: 14px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(0, 255, 204, 0.15) !important;
}

.sph-mega-col a {
    display: block !important;
    padding: 9px 0 !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.78rem !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.75) !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03) !important;
}

.sph-mega-col a:last-child {
    border-bottom: none !important;
}

.sph-mega-col a:hover {
    color: #00ff88 !important;
    padding-left: 8px !important;
    text-shadow: 0 0 15px rgba(0, 255, 136, 0.4) !important;
}

/* ============================================
   NAV CTA BUTTON (Desktop)
   ============================================ */
.sph-nav-cta {
    display: inline-flex !important;
    align-items: center !important;
    padding: 10px 24px !important;
    margin-left: auto !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.6rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #080c14 !important;
    background: #00ff88 !important;
    border: none !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 0 20px rgba(0, 255, 136, 0.3) !important;
}

.sph-nav-cta:hover {
    background: #00ffcc !important;
    box-shadow: 0 0 35px rgba(0, 255, 136, 0.5), 0 0 60px rgba(0, 255, 204, 0.2) !important;
    transform: translateY(-1px) !important;
}

/* REMOVED: Mobile nav CSS moved to self-contained template v30
   ============================================
   MOBILE NAV v25
   ============================================

.mobile-menu-toggle { ... }
.mobile-nav-overlay { ... }
.mobile-nav { ... }
.mobile-nav-cta { ... }
.mobile-nav-item { ... }
.mobile-arrow { ... }
.mobile-nav-dropdown { ... }
.mobile-sub-label { ... }
.mobile-nav-quick-contact { ... }
.mobile-quick-btn { ... }
.mobile-whatsapp { ... }
.mobile-zalo { ... }
*/

/* ============================================
   RESPONSIVE: TABLET & SMALLER DESKTOPS
   Mega dropdown & dropdown adjustments
   ============================================ */

/* Tablet-ish desktops (901px-1200px): mega dropdown adjustments */
@media (min-width: 901px) and (max-width: 1200px) {
    .sph-nav .sph-mega-dropdown {
        width: min(900px, calc(100vw - 40px)) !important;
        padding: 20px 24px !important;
    }

    .sph-mega-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px 24px !important;
    }

    .sph-mega-col + .sph-mega-col {
        padding-left: 24px !important;
    }

    /* On smaller screens, all standard dropdowns left-align to prevent overflow */
    .sph-nav .sph-dropdown {
        left: 0 !important;
        transform: translateX(0) translateY(10px) !important;
    }

    .sph-nav .sph-item:hover > .sph-dropdown {
        transform: translateX(0) translateY(0) !important;
    }

    /* Mega dropdown left-aligns on tablet-ish widths */
    .sph-nav .sph-mega-dropdown {
        left: 0 !important;
        transform: translateX(0) translateY(10px) !important;
    }

    .sph-nav .sph-mega-parent:hover > .sph-mega-dropdown {
        transform: translateX(0) translateY(0) !important;
    }
}

/* ============================================
   RESPONSIVE BREAKPOINTS
   ============================================ */

/* Hide desktop nav on mobile */
@media (max-width: 900px) {
    .sph-nav {
        display: none !important;
    }
}

/* REMOVED: Mobile nav CSS moved to self-contained template v30
@media (max-width: 900px) {
    .mobile-menu-toggle {
        display: flex !important;
        z-index: 2147483647 !important;
        pointer-events: auto !important;
        touch-action: manipulation !important;
    }

    .mobile-nav-overlay {
        display: block !important;
        z-index: 2147483645 !important;
    }

    .mobile-nav {
        display: block !important;
        z-index: 2147483646 !important;
    }
}
*/

/* REMOVED: Mobile nav CSS moved to self-contained template v30
@media (max-width: 900px) {
    .mobile-menu-toggle {
        position: fixed !important;
        top: 15px !important;
        right: 15px !important;
        z-index: 2147483647 !important;
        pointer-events: auto !important;
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: transparent !important;
    }
}

@media (min-width: 901px) {
    .mobile-menu-toggle,
    .mobile-nav-overlay,
    .mobile-nav {
        display: none !important;
    }
}

body.mobile-menu-open {
    overflow: hidden !important;
}
*/

/* ============================================
   NAV CTA - SINGLE CTA DESIGN
   The .sph-nav-cta in the nav bar is the ONE desktop CTA.
   No duplicate in header-row-1.
   ============================================ */

/* ============================================
   DESKTOP DROPDOWN OVERFLOW & STACKING FIX
   Ensure header and nav never clip dropdowns.
   Must override any overflow:hidden set elsewhere.
   ============================================ */
@media (min-width: 901px) {
    .header,
    .site-header {
        overflow: visible !important;
    }

    .header-row-1 {
        overflow: visible !important;
    }

    .sph-nav {
        overflow: visible !important;
    }

    .sph-nav-inner {
        overflow: visible !important;
    }

    .sph-item,
    .sph-mega-parent {
        overflow: visible !important;
    }
}
