/**
 * Swedish-Style Mobile Menu - ExpoBeton RDC
 * Clean, minimalist Scandinavian design with smooth animations
 * Version 1.18 - Fix all CTA buttons visibility on mobile
 */

/* ============================================
   PREVENT BODY SCROLL WHEN MENU OPEN
   ============================================ */
body.mobile-menu-visible {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
}

/* ============================================
   MOBILE MENU - SCANDINAVIAN DESIGN
   Only active on screens < 992px
   ============================================ */

@media only screen and (max-width: 991px) {
    
    /* CRITICAL: Main header must be visible but content hidden to allow sticky header to show */
    .main-header {
        position: relative !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        overflow: visible !important;
    }
    
    /* Hide the header-upper (desktop nav) but keep sticky-header visible */
    .main-header .header-upper {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }
    
    /* Sticky header becomes primary on mobile */
    .sticky-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 9999 !important;
        background: #ffffff !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
    
    .sticky-header .inner-container {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 10px 15px !important;
        gap: 8px !important;
    }
    
    .sticky-header .logo-box {
        display: flex !important;
        align-items: center !important;
        margin-left: 0px !important;
        position: relative !important;
        flex-shrink: 0 !important;
        gap: 4px !important;
    }
    
    /* Edition badge positioning - immediately adjacent to logo */
    .sticky-header .edition-badge-11 {
        position: relative !important;
        margin-left: 0px !important;
        font-size: 13px !important;
        font-weight: bold !important;
        background: #112bb5 !important;
        color: #ffffff !important;
        border-radius: 0 !important;
        width: 26px !important;
        height: 26px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 2px 6px rgba(17, 43, 181, 0.3) !important;
        z-index: 10 !important;
        flex-shrink: 0 !important;
    }
    
    .sticky-header .logo-box img {
        max-height: 40px !important;
        width: auto !important;
        display: block !important;
    }
    
    /* Language switcher visible in sticky header on mobile */
    .sticky-header .header-language-switcher {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        gap: 6px !important;
        margin-left: auto !important;
        margin-right: 8px !important;
        flex-shrink: 0 !important;
    }
    
    .sticky-header .header-language-switcher .lang-switch-btn {
        background: #f8f9fa !important;
        border: 1px solid rgba(0, 0, 0, 0.1) !important;
        border-radius: 0 !important;
        padding: 5px 8px !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 38px !important;
        height: 38px !important;
    }
    
    .sticky-header .header-language-switcher .lang-switch-btn.active {
        border-color: #112bb5 !important;
        background: rgba(17, 43, 181, 0.05) !important;
    }
    
    .sticky-header .header-language-switcher .flag-icon-header {
        width: 28px !important;
        height: auto !important;
        border-radius: 0 !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
    }
    
    .dark-layout .sticky-header {
        background: #1a1a1a !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    }
    
    /* Show mobile nav toggler */
    .sticky-header .mobile-nav-toggler,
    .mobile-nav-toggler {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 40px !important;
        height: 40px !important;
        background: #f8f9fa !important;
        border: 1px solid rgba(0, 0, 0, 0.1) !important;
        border-radius: 0 !important;
        cursor: pointer !important;
        color: #2c3e50 !important;
        font-size: 18px !important;
        transition: all 0.2s ease !important;
        flex-shrink: 0 !important;
    }
    
    .sticky-header .mobile-nav-toggler:hover,
    .mobile-nav-toggler:hover {
        background: #112bb5 !important;
        border-color: #112bb5 !important;
        color: #ffffff !important;
    }
    
    .mobile-nav-toggler .icon {
        display: inline-block !important;
    }
    
    /* Hide desktop navigation on mobile */
    .sticky-header .main-menu {
        display: none !important;
    }
    
    /* ============================================
       MOBILE MENU CONTAINER - Swedish Minimalist
       ============================================ */
    
    .mobile-menu {
        position: fixed !important;
        right: 0 !important;
        top: 0 !important;
        width: 100% !important;
        height: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        z-index: 999999 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.3s ease, visibility 0.3s ease !important;
        pointer-events: none !important;
    }
    
    .mobile-menu-visible .mobile-menu,
    .mobile-menu.visible {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: all !important;
    }
    
    /* Backdrop - Subtle Swedish style */
    .mobile-menu .menu-backdrop {
        position: fixed !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        height: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        z-index: 99998 !important;
        background: rgba(0, 0, 0, 0.4) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        cursor: pointer !important;
    }
    
    .mobile-menu-visible .mobile-menu .menu-backdrop,
    .mobile-menu.visible .menu-backdrop {
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    /* ============================================
       MENU BOX - Clean Swedish Panel
       ============================================ */
    
    .mobile-menu .menu-box {
        position: fixed !important;
        right: 0 !important;
        top: 0 !important;
        width: 85% !important;
        max-width: 380px !important;
        height: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        background: #ffffff !important;
        z-index: 99999 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        box-shadow: -2px 0 20px rgba(0, 0, 0, 0.1) !important;
        transform: translateX(100%) !important;
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        will-change: transform !important;
    }
    
    .dark-layout .mobile-menu .menu-box {
        background: #1a1a1a !important;
    }
    
    .mobile-menu-visible .mobile-menu .menu-box,
    .mobile-menu.visible .menu-box {
        transform: translateX(0) !important;
    }
    
    /* ============================================
       HEADER SECTION - Minimalist Top Bar
       ============================================ */
    
    .mobile-menu .upper-box {
        position: relative !important;
        padding: 24px 24px !important;
        background: #f8f9fa !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
    
    .dark-layout .mobile-menu .upper-box {
        background: #0d0d0d !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    }
    
    .mobile-menu .logo-box {
        max-width: 140px !important;
        width: auto !important;
    }
    
    .mobile-menu .logo-box img,
    .mobile-menu .nav-logo img {
        max-width: 100% !important;
        height: auto !important;
        max-height: 45px !important;
    }
    
    /* Close Button - Swedish Minimal */
    .mobile-menu .close-btn {
        width: 40px !important;
        height: 40px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border-radius: 0 !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        color: #2c3e50 !important;
        font-size: 20px !important;
    }
    
    .dark-layout .mobile-menu .close-btn {
        color: #ecf0f1 !important;
    }
    
    .mobile-menu .close-btn:hover {
        background: rgba(0, 0, 0, 0.05) !important;
        transform: rotate(90deg) !important;
    }
    
    .dark-layout .mobile-menu .close-btn:hover {
        background: rgba(255, 255, 255, 0.05) !important;
    }
    
    /* ============================================
       NAVIGATION - Clean Swedish Typography
       ============================================ */
    
    .mobile-menu .navigation {
        padding: 16px 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }
    
    .mobile-menu .navigation > li {
        position: relative !important;
        margin: 0 !important;
    }
    
    .mobile-menu .navigation > li > a {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        padding: 16px 24px !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        color: #2c3e50 !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        font-family: 'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
        letter-spacing: -0.01em !important;
        border-left: 3px solid transparent !important;
    }
    
    .dark-layout .mobile-menu .navigation > li > a {
        color: #ecf0f1 !important;
    }
    
    .mobile-menu .navigation > li > a:hover,
    .mobile-menu .navigation > li.current > a {
        background: rgba(17, 43, 181, 0.04) !important;
        color: #112bb5 !important;
        border-left-color: #112bb5 !important;
        padding-left: 28px !important;
    }
    
    .dark-layout .mobile-menu .navigation > li > a:hover,
    .dark-layout .mobile-menu .navigation > li.current > a {
        background: rgba(17, 43, 181, 0.1) !important;
        color: #5f8cff !important;
        border-left-color: #5f8cff !important;
    }
    
    /* Subtle divider between items */
    .mobile-menu .navigation > li:not(:last-child) {
        border-bottom: 1px solid rgba(0, 0, 0, 0.03) !important;
    }
    
    .dark-layout .mobile-menu .navigation > li:not(:last-child) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.03) !important;
    }
    
    /* ============================================
       LANGUAGE SWITCHER - Scandinavian Clean
       ============================================ */
    
    .mobile-language-switcher {
        padding: 24px !important;
        margin: 20px 0 !important;
        background: #f8f9fa !important;
        border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
        display: block !important;
    }
    
    .dark-layout .mobile-language-switcher {
        background: #0d0d0d !important;
        border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    }
    
    .mobile-language-switcher > div {
        display: flex !important;
        gap: 12px !important;
        justify-content: flex-start !important;
        align-items: center !important;
        flex-wrap: wrap !important;
    }
    
    .mobile-language-switcher span {
        color: #6c757d !important;
        font-weight: 500 !important;
        font-size: 13px !important;
        margin-right: 8px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
    
    .mobile-language-switcher .lang-switch-btn {
        background: #ffffff !important;
        border: 1px solid rgba(0, 0, 0, 0.08) !important;
        padding: 10px 16px !important;
        border-radius: 0 !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-width: 75px !important;
        justify-content: center !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    }
    
    .dark-layout .mobile-language-switcher .lang-switch-btn {
        background: #1a1a1a !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
    }
    
    .mobile-language-switcher .lang-switch-btn.active {
        border-color: #112bb5 !important;
        background: rgba(17, 43, 181, 0.05) !important;
        box-shadow: 0 0 0 1px rgba(17, 43, 181, 0.1) !important;
    }
    
    .dark-layout .mobile-language-switcher .lang-switch-btn.active {
        border-color: #5f8cff !important;
        background: rgba(95, 140, 255, 0.1) !important;
    }
    
    .mobile-language-switcher .lang-switch-btn:hover {
        border-color: #112bb5 !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06) !important;
    }
    
    .mobile-language-switcher .flag-icon-header {
        width: 24px !important;
        height: auto !important;
        display: inline-block !important;
        vertical-align: middle !important;
        border-radius: 0 !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
    }
    
    .mobile-language-switcher .lang-switch-btn span {
        color: #2c3e50 !important;
        font-weight: 600 !important;
        font-size: 13px !important;
        margin: 0 !important;
        letter-spacing: 0 !important;
    }
    
    .dark-layout .mobile-language-switcher .lang-switch-btn span {
        color: #ecf0f1 !important;
    }
    
    .mobile-language-switcher {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }
    
    /* ============================================
       CONTACT INFO - Minimalist Style
       ============================================ */
    
    .mobile-menu .contact-list-one {
        padding: 24px !important;
        margin: 0 !important;
        list-style: none !important;
    }
    
    .mobile-menu .contact-list-one li {
        position: relative !important;
        padding: 14px 0 14px 40px !important;
    }
    
    .mobile-menu .contact-list-one li:not(:last-child) {
        border-bottom: 1px solid rgba(0, 0, 0, 0.03) !important;
    }
    
    .dark-layout .mobile-menu .contact-list-one li:not(:last-child) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.03) !important;
    }
    
    .mobile-menu .contact-list-one li .icon {
        position: absolute !important;
        left: 0 !important;
        top: 14px !important;
        font-size: 20px !important;
        color: #112bb5 !important;
    }
    
    .dark-layout .mobile-menu .contact-list-one li .icon {
        color: #5f8cff !important;
    }
    
    .mobile-menu .contact-list-one li .title {
        display: block !important;
        font-size: 11px !important;
        color: #6c757d !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        margin-bottom: 4px !important;
        font-weight: 500 !important;
    }
    
    .mobile-menu .contact-list-one li .text {
        font-size: 14px !important;
        color: #2c3e50 !important;
        font-weight: 500 !important;
    }
    
    .dark-layout .mobile-menu .contact-list-one li .text {
        color: #ecf0f1 !important;
    }
    
    .mobile-menu .contact-list-one li .text a {
        color: inherit !important;
        text-decoration: none !important;
        transition: color 0.2s ease !important;
    }
    
    .mobile-menu .contact-list-one li .text a:hover {
        color: #112bb5 !important;
    }
    
    .dark-layout .mobile-menu .contact-list-one li .text a:hover {
        color: #5f8cff !important;
    }
    
    /* ============================================
       SOCIAL LINKS - Clean Minimal Icons
       ============================================ */
    
    .mobile-menu .social-links {
        padding: 24px !important;
        margin: 0 !important;
        list-style: none !important;
        display: flex !important;
        gap: 12px !important;
        justify-content: flex-start !important;
        background: transparent !important;
    }
    
    .mobile-menu .social-links li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        height: 42px !important;
        background: #f8f9fa !important;
        border: 1px solid rgba(0, 0, 0, 0.05) !important;
        border-radius: 0 !important;
        color: #2c3e50 !important;
        font-size: 16px !important;
        transition: all 0.2s ease !important;
    }
    
    .dark-layout .mobile-menu .social-links li a {
        background: #0d0d0d !important;
        border: 1px solid rgba(255, 255, 255, 0.05) !important;
        color: #ecf0f1 !important;
    }
    
    .mobile-menu .social-links li a:hover {
        background: #112bb5 !important;
        border-color: #112bb5 !important;
        color: #ffffff !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 4px 8px rgba(17, 43, 181, 0.2) !important;
    }
    
    /* ============================================
       MOBILE NAV TOGGLER - Swedish Minimalist
       ============================================ */
    
    .mobile-nav-toggler {
        display: flex !important;
        width: 42px !important;
        height: 42px !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border: 1px solid rgba(0, 0, 0, 0.08) !important;
        border-radius: 0 !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        color: #2c3e50 !important;
        font-size: 18px !important;
    }
    
    .dark-layout .mobile-nav-toggler {
        border-color: rgba(255, 255, 255, 0.08) !important;
        color: #ecf0f1 !important;
    }
    
    .mobile-nav-toggler:hover {
        background: rgba(17, 43, 181, 0.04) !important;
        border-color: rgba(17, 43, 181, 0.2) !important;
        color: #112bb5 !important;
    }
    
    .dark-layout .mobile-nav-toggler:hover {
        background: rgba(95, 140, 255, 0.1) !important;
        border-color: rgba(95, 140, 255, 0.2) !important;
        color: #5f8cff !important;
    }
    
    .mobile-nav-toggler .icon {
        display: inline-block !important;
        transition: transform 0.2s ease !important;
    }
    
    /* ============================================
       SCROLLBAR - Swedish Clean
       ============================================ */
    
    .mobile-menu .menu-box::-webkit-scrollbar {
        width: 4px !important;
    }
    
    .mobile-menu .menu-box::-webkit-scrollbar-track {
        background: transparent !important;
    }
    
    .mobile-menu .menu-box::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.1) !important;
        border-radius: 0 !important;
    }
    
    .dark-layout .mobile-menu .menu-box::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.1) !important;
    }
    
    .mobile-menu .menu-box::-webkit-scrollbar-thumb:hover {
        background: rgba(17, 43, 181, 0.3) !important;
    }
    
    /* ============================================
       TABLET OPTIMIZATION
       ============================================ */
    
    @media only screen and (min-width: 768px) and (max-width: 991px) {
        .mobile-menu .menu-box {
            width: 70% !important;
            max-width: 360px !important;
        }
        
        .mobile-menu .navigation > li > a {
            font-size: 17px !important;
            padding: 18px 28px !important;
        }
    }
    
    /* ============================================
       SMALL MOBILE OPTIMIZATION
       ============================================ */
    
    @media only screen and (max-width: 480px) {
        .mobile-menu .menu-box {
            width: 90% !important;
            max-width: 90% !important;
        }
        
        .mobile-menu .upper-box {
            padding: 20px !important;
        }
        
        .mobile-menu .navigation > li > a {
            font-size: 15px !important;
            padding: 14px 20px !important;
        }
        
        .mobile-language-switcher {
            padding: 20px !important;
        }
        
        .mobile-language-switcher .lang-switch-btn {
            min-width: 70px !important;
            padding: 8px 12px !important;
        }
    }
}

/* ============================================
   DESKTOP - HIDE MOBILE ELEMENTS
   ============================================ */

@media only screen and (min-width: 992px) {
    .mobile-nav-toggler {
        display: none !important;
    }
    
    .mobile-menu {
        display: none !important;
    }
    
    .main-header .main-menu {
        display: block !important;
    }
}

/* ============================================
   ACCESSIBILITY & SMOOTH ANIMATIONS
   ============================================ */

@media only screen and (max-width: 991px) {
    /* Focus states for keyboard navigation */
    .mobile-menu .navigation > li > a:focus,
    .mobile-language-switcher .lang-switch-btn:focus,
    .mobile-nav-toggler:focus {
        outline: 2px solid #112bb5 !important;
        outline-offset: 2px !important;
    }
    
    /* Touch-friendly tap targets */
    .mobile-menu .navigation > li > a,
    .mobile-nav-toggler,
    .mobile-language-switcher .lang-switch-btn {
        min-height: 44px !important;
        min-width: 44px !important;
    }
    
    /* Reduced motion support */
    @media (prefers-reduced-motion: reduce) {
        .mobile-menu .menu-box,
        .mobile-menu .menu-backdrop,
        .mobile-menu .navigation > li > a,
        .mobile-nav-toggler {
            transition: none !important;
            animation: none !important;
        }
    }
    
    /* ============================================
       BANNER SECTION - MOBILE OPTIMIZATION
       ============================================ */
    
    /* Banner Section Container */
    .banner-section.style-two.modern-banner {
        min-height: 100vh !important;
        min-height: 100dvh !important;
        padding-top: 70px !important;
        padding-bottom: 50px !important;
        margin-top: 0 !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
    
    /* Remove white space below header */
    .main-header + .banner-section,
    header + .banner-section {
        margin-top: 0 !important;
        padding-top: 70px !important;
    }
    
    /* Video Background - Full Coverage */
    .banner-section .bg-video {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        overflow: hidden !important;
        z-index: 0 !important;
    }
    
    /* YouTube Player - Portrait Mode Optimized */
    .banner-section .youtube-bg-player {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        /* Portrait mode: prioritize height coverage */
        width: 177.78vh !important;  /* 16:9 video width based on viewport height */
        height: 100vh !important;
        min-width: 100vw !important;
        min-height: 100vh !important;
        transform: translate(-50%, -50%) !important;
        object-fit: cover !important;
    }
    
    /* YouTube iframe - ensure proper scaling */
    .banner-section .youtube-bg-player iframe {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    
    .banner-section .video-overlay {
        background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.5) 0%,
            rgba(0, 0, 0, 0.55) 50%,
            rgba(0, 0, 0, 0.65) 100%
        ) !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 1 !important;
    }
    
    /* Swiper Container - Proper Layering */
    .banner-section .swiper.banner-swiper {
        width: 100% !important;
        height: 100% !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        z-index: 2 !important;
    }
    
    .banner-section .swiper-wrapper {
        height: 100% !important;
    }
    
    .banner-section .banner-slide {
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .banner-section .auto-container {
        position: relative !important;
        z-index: 3 !important;
        width: 100% !important;
        padding: 0 15px !important;
    }
    
    /* Content Box - Vertical Stack */
    .banner-section .content-box {
        position: relative !important;
        z-index: 4 !important;
        padding: 15px 10px !important;
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        max-height: calc(100vh - 120px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    /* 1. Countdown Timer Container - MAXIMUM FORCE HORIZONTAL */
    /* Override ALL possible countdown positioning */
    .banner-section .time-counter.countdown-lateral,
    .banner-section .time-counter.countdown-right-position,
    .banner-section .time-counter.modern-countdown,
    .banner-section .countdown-lateral,
    .banner-section .countdown-right-position,
    .banner-section .modern-countdown,
    .banner-section .time-counter,
    .time-counter.countdown-right-position,
    .time-counter.countdown-lateral,
    .time-counter.modern-countdown,
    .countdown-right-position,
    .countdown-lateral,
    .modern-countdown {
        position: relative !important;
        right: 0 !important;
        top: 0 !important;
        left: 0 !important;
        bottom: auto !important;
        transform: translateX(0) translateY(0) !important;
        margin: 0 auto 18px !important;
        max-width: 100% !important;
        width: calc(100% - 10px) !important;
        padding: 10px 8px !important;
        background: rgba(17, 43, 181, 0.2) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border-radius: 0 !important;
        order: 1 !important;
        z-index: 5 !important;
        flex-shrink: 0 !important;
        display: block !important;
        float: none !important;
        clear: both !important;
    }
    
    /* CRITICAL: Override countdown-lateral VERTICAL layout from banner-modern.css */
    /* This is the CSS that was making it vertical: */
    /* .banner-section .time-counter.countdown-lateral .time-countdown { flex-direction: column !important; } */
    .banner-section .time-counter.countdown-lateral .time-countdown,
    .banner-section .time-counter.countdown-lateral .enhanced-countdown,
    .banner-section .countdown-lateral .time-countdown,
    .banner-section .countdown-lateral .enhanced-countdown,
    .time-counter.countdown-lateral .time-countdown,
    .time-counter.countdown-lateral .enhanced-countdown {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 4px !important;
    }
    
    /* CRITICAL: Force INNER countdown to be HORIZONTAL */
    .banner-section .time-countdown.enhanced-countdown,
    .banner-section .enhanced-countdown,
    .banner-section .time-countdown,
    .time-countdown.enhanced-countdown,
    .time-countdown,
    .enhanced-countdown,
    div[data-countdown] {
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 4px !important;
        overflow-x: auto !important;
        padding: 0 !important;
        width: 100% !important;
        position: relative !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        transform: none !important;
    }
    
    /* Show separators on mobile (they're hidden by countdown-lateral) */
    .banner-section .time-counter.countdown-lateral .separator,
    .banner-section .countdown-lateral .separator,
    .time-counter.countdown-lateral .separator {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Force counter columns to be INLINE (horizontal) */
    .banner-section .counter-column,
    .counter-column {
        display: inline-flex !important;
        flex-direction: column !important;
        background: rgba(17, 43, 181, 0.95) !important;
        padding: 8px 6px !important;
        border-radius: 0 !important;
        min-width: 55px !important;
        max-width: 70px !important;
        flex-shrink: 0 !important;
        flex-grow: 0 !important;
        backdrop-filter: blur(10px) !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
        margin: 0 !important;
        float: none !important;
    }
    
    /* Force separators to be INLINE */
    .banner-section .separator,
    .separator {
        display: inline-block !important;
        color: #ffffff !important;
        font-size: 16px !important;
        font-weight: bold !important;
        margin: 0 1px !important;
        flex-shrink: 0 !important;
        float: none !important;
        width: auto !important;
    }
    

    
    .banner-section .counter-column .count {
        display: block !important;
        font-size: 20px !important;
        font-weight: bold !important;
        color: #ffffff !important;
        line-height: 1.1 !important;
    }
    
    .banner-section .counter-column sub {
        display: block !important;
        font-size: 9px !important;
        color: rgba(255, 255, 255, 0.9) !important;
        margin-top: 2px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
    

    
    /* 2. Banner Title - MIDDLE OF STACK */
    .banner-section .banner-title {
        font-size: 20px !important;
        line-height: 1.3 !important;
        margin: 0 auto 15px !important;
        padding: 14px 16px !important;
        background: rgba(0, 0, 0, 0.75) !important;
        backdrop-filter: blur(15px) !important;
        -webkit-backdrop-filter: blur(15px) !important;
        border-radius: 0 !important;
        display: block !important;
        width: calc(100% - 10px) !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        order: 2 !important;
        z-index: 5 !important;
        flex-shrink: 0 !important;
    }
    
    .banner-section .title-line-1 {
        display: block !important;
        font-size: 24px !important;
        font-weight: bold !important;
        color: #ffffff !important;
        margin-bottom: 5px !important;
    }
    
    .banner-section .title-line-2 {
        display: block !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #ffffff !important;
        line-height: 1.4 !important;
    }
    
    /* 3. Banner Subtitle - BOTTOM OF STACK */
    .banner-section .banner-subtitle {
        font-size: 11px !important;
        line-height: 1.5 !important;
        margin: 0 auto 18px !important;
        padding: 12px 14px !important;
        background: rgba(0, 0, 0, 0.75) !important;
        backdrop-filter: blur(15px) !important;
        -webkit-backdrop-filter: blur(15px) !important;
        border-radius: 0 !important;
        color: rgba(255, 255, 255, 0.95) !important;
        display: block !important;
        width: calc(100% - 10px) !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        order: 3 !important;
        z-index: 5 !important;
        flex-shrink: 0 !important;
    }
    
    /* Location & CTA Box - After main content */
    .banner-section .location-cta-box {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        margin-top: 0 !important;
        width: calc(100% - 10px) !important;
        order: 4 !important;
        z-index: 5 !important;
        flex-shrink: 0 !important;
    }
    
    .banner-section .location-info {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        background: rgba(255, 255, 255, 0.2) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        padding: 14px !important;
        border-radius: 0 !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    }
    
    .banner-section .location-icon {
        font-size: 24px !important;
        color: #112bb5 !important;
        flex-shrink: 0 !important;
    }
    
    .banner-section .location-text {
        text-align: left !important;
    }
    
    .banner-section .location-label {
        display: block !important;
        font-size: 10px !important;
        color: rgba(255, 255, 255, 0.8) !important;
        text-transform: uppercase !important;
        margin-bottom: 3px !important;
    }
    
    .banner-section .location-name {
        display: block !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #ffffff !important;
    }
    
    /* CTA Buttons - Mobile Stack - ENHANCED */
    .banner-section .cta-buttons {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: calc(100% - 20px) !important;
        max-width: 320px !important;
        margin: 15px auto 0 !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }
    
    /* Theme Buttons - Full Width with Visible Icons */
    .banner-section .theme-btn,
    .banner-section .theme-btn.btn-style-one,
    .banner-section .btn-style-one {
        width: 100% !important;
        max-width: 100% !important;
        padding: 14px 18px !important;
        font-size: 14px !important;
        border-radius: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        min-height: 50px !important;
        font-weight: 600 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        white-space: nowrap !important;
        text-overflow: clip !important;
    }
    
    /* Button Icons - Clearly Visible */
    .banner-section .theme-btn .icon,
    .banner-section .btn-style-one .icon,
    .banner-section .theme-btn i,
    .banner-section .btn-style-one i {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        font-size: 16px !important;
        flex-shrink: 0 !important;
        background: rgba(255, 255, 255, 0.2) !important;
        border-radius: 0 !important;
        margin-right: 6px !important;
    }
    
    /* Button Text - No Truncation */
    .banner-section .theme-btn .btn-title,
    .banner-section .btn-style-one .btn-title {
        display: inline-block !important;
        overflow: visible !important;
        white-space: nowrap !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        letter-spacing: 0.3px !important;
    }
    
    /* Primary Button - Yellow */
    .banner-section .theme-btn.bg-yellow,
    .banner-section .btn-style-one.bg-yellow {
        background: #f6af34 !important;
        color: #000000 !important;
        border: 2px solid #f6af34 !important;
        box-shadow: 0 4px 15px rgba(246, 175, 52, 0.35) !important;
    }
    
    .banner-section .theme-btn.bg-yellow .icon,
    .banner-section .btn-style-one.bg-yellow .icon {
        background: rgba(0, 0, 0, 0.15) !important;
        color: #000000 !important;
    }
    
    /* Secondary Button - Outline */
    .banner-section .theme-btn.btn-outline,
    .banner-section .btn-style-one.btn-outline {
        background: rgba(255, 255, 255, 0.1) !important;
        color: #ffffff !important;
        border: 2px solid rgba(255, 255, 255, 0.6) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
    }
    
    .banner-section .theme-btn.btn-outline .icon,
    .banner-section .btn-style-one.btn-outline .icon {
        background: rgba(255, 255, 255, 0.2) !important;
        color: #ffffff !important;
    }
    
    /* ========================================
       BTN-BOX Buttons (About Section, etc.)
       ======================================== */
    .btn-box {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: calc(100% - 20px) !important;
        max-width: 320px !important;
        margin: 15px auto !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }
    
    .btn-box .theme-btn,
    .btn-box .theme-btn.btn-style-one,
    .btn-box .btn-style-one,
    .btn-box .theme-btn.icon-btn {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px 16px !important;
        font-size: 13px !important;
        border-radius: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        min-height: 48px !important;
        font-weight: 600 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        white-space: nowrap !important;
        text-overflow: clip !important;
    }
    
    /* BTN-BOX Icons */
    .btn-box .theme-btn .icon,
    .btn-box .btn-style-one .icon,
    .btn-box .theme-btn i,
    .btn-box .btn-style-one i {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        font-size: 14px !important;
        flex-shrink: 0 !important;
        background: rgba(255, 255, 255, 0.2) !important;
        border-radius: 0 !important;
        margin-right: 6px !important;
    }
    
    /* BTN-BOX Button Text */
    .btn-box .theme-btn .btn-title,
    .btn-box .btn-style-one .btn-title {
        display: inline-block !important;
        overflow: visible !important;
        white-space: nowrap !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        letter-spacing: 0.2px !important;
    }
    
    /* BTN-BOX Primary Button - Yellow */
    .btn-box .theme-btn.bg-yellow,
    .btn-box .btn-style-one.bg-yellow {
        background: #f6af34 !important;
        color: #000000 !important;
        border: 2px solid #f6af34 !important;
        box-shadow: 0 4px 12px rgba(246, 175, 52, 0.3) !important;
    }
    
    .btn-box .theme-btn.bg-yellow .icon,
    .btn-box .theme-btn.bg-yellow i,
    .btn-box .btn-style-one.bg-yellow .icon {
        background: rgba(0, 0, 0, 0.15) !important;
        color: #000000 !important;
    }
    
    /* BTN-BOX Secondary Button - Blue/Default */
    .btn-box .theme-btn:not(.bg-yellow),
    .btn-box .btn-style-one:not(.bg-yellow) {
        background: #112bb5 !important;
        color: #ffffff !important;
        border: 2px solid #112bb5 !important;
    }
    
    .btn-box .theme-btn:not(.bg-yellow) .icon,
    .btn-box .theme-btn:not(.bg-yellow) i {
        background: rgba(255, 255, 255, 0.2) !important;
        color: #ffffff !important;
    }
    
    /* Scroll Indicator - Mobile */
    .banner-section .scroll-indicator {
        bottom: 15px !important;
        font-size: 11px !important;
    }
    
    .banner-section .scroll-icon {
        width: 24px !important;
        height: 40px !important;
    }
    
    /* Particles - Background Layer */
    .banner-section .banner-particles {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 0 !important;
        pointer-events: none !important;
    }
    
    .banner-section .banner-particles .particle {
        width: 3px !important;
        height: 3px !important;
        opacity: 0.3 !important;
    }
    
    /* Gradient Overlay - Between video and content */
    .banner-section .modern-gradient-overlay {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 1 !important;
        opacity: 0.6 !important;
        pointer-events: none !important;
    }
    
    /* ============================================
       CLIENT/SPONSORS SECTION - MOBILE
       ============================================ */
    
    .client-section .sponsors-column {
        margin-top: 0 !important;
    }
    
    .client-section .sponsors-column .inner-column {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .client-section .sponsors-column .inner-column .blocks-outer-box {
        display: none !important;
    }
    
    .client-section .sponsors-column .inner-column .blocks-outer-box.show-md {
        display: flex !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        justify-content: center !important;
        gap: 10px !important;
        padding: 10px !important;
    }
    
    .client-block {
        width: 45% !important;
        max-width: 150px !important;
    }
    
    .client-block .inner-box {
        width: 100% !important;
        height: auto !important;
        min-height: 80px !important;
        padding: 10px !important;
        border-radius: 0 !important;
    }
    
    .client-block .inner-box .image {
        width: 100% !important;
        max-width: 120px !important;
    }
    
    .client-block .inner-box .image img {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* ============================================
       REGISTRATION FORM - MOBILE ARCHIVO FONT
       ============================================ */
    
    .clients-section-two,
    .clients-section-two * {
        font-family: "Archivo", sans-serif !important;
    }
    
    /* Main registration title uses Archivo */
    .clients-section-two #heading {
        font-family: "Archivo", sans-serif !important;
    }
    
    /* Step titles use Archivo */
    .clients-section-two .fs-title {
        font-family: "Archivo", sans-serif !important;
    }
    
    .clients-section-two input,
    .clients-section-two select,
    .clients-section-two textarea,
    .clients-section-two button,
    .clients-section-two .action-button,
    .clients-section-two .action-button-previous,
    .clients-section-two #progressbar li,
    .clients-section-two #progressbar strong {
        font-family: "Archivo", sans-serif !important;
    }
    
    .clients-section-two input::placeholder,
    .clients-section-two textarea::placeholder {
        font-family: "Archivo", sans-serif !important;
    }
    
    /* Registration form square buttons */
    .clients-section-two .action-button,
    .clients-section-two .action-button-previous,
    .clients-section-two .submit {
        border-radius: 0 !important;
    }
    
    .clients-section-two .card {
        border-radius: 0 !important;
    }
    
    .clients-section-two #msform fieldset {
        border-radius: 0 !important;
    }
    
    /* ============================================
       GLOBAL SQUARE BUTTONS - ALL BUTTONS
       ============================================ */
    
    /* Ambassador popup button */
    .open-ambassador-popup,
    .open-ambassador-popup.theme-btn {
        border-radius: 0 !important;
    }
    
    /* All theme buttons globally */
    .theme-btn,
    .theme-btn.btn-style-one,
    .theme-btn.btn-style-two,
    .btn-style-one,
    .btn-style-two,
    a.theme-btn,
    button.theme-btn {
        border-radius: 0 !important;
    }
    
    /* Button pseudo-elements */
    .theme-btn:before,
    .theme-btn:after,
    .btn-style-one:before,
    .btn-style-one:after {
        border-radius: 0 !important;
    }
}
