/* ======================================== MOBILE HEADER & MENU STYLES Only applies to mobile & tablet (max-width: 991px) Desktop layout remains unchanged ======================================== */ /* ======================================== 1. MOBILE HEADER ADJUSTMENTS ======================================== */ @media (max-width: 991px) { /* Make header sticky on mobile */ .header-1 { position: sticky; top: 0; z-index: 999; background-color: var(--white); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } /* Hide header top section on mobile */ .header-top-section { display: none; } /* Mobile header adjustments */ .header-1 .header-main { padding: 15px 0; } /* Logo adjustments for mobile */ .header-1 .header-left .logo img { max-height: 40px; width: auto; object-fit: contain; } /* Hide desktop menu on mobile */ .header-1 .mean__menu-wrapper { display: none; } /* Mobile header right section */ .header-1 .header-right .header-call-item { display: flex; align-items: center; gap: 15px; } /* Hide "Apply now" button on mobile */ /* .header-1 .header-right .theme-btn { display: none; } */ /* Mobile search icon styling */ .mobile-search-icon { display: flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; border: 2px solid var(--theme); border-radius: 50%; background: transparent; color: var(--theme); font-size: 16px; cursor: pointer; transition: all 0.3s ease; } .mobile-search-icon:hover { background-color: var(--theme); color: var(--white); } /* Hide desktop search icon on mobile */ .desktop-search-icon { display: none !important; } /* Mobile hamburger icon styling */ .mobile-hamburger { display: block !important; } .mobile-hamburger .sidebar__toggle { font-size: 24px; color: var(--header); padding: 5px; } /* Hide desktop hamburger on mobile */ .desktop-hamburger { display: none !important; } /* Ensure proper spacing */ .header-1 .container-fluid { padding: 0 20px; } } /* Desktop: Show desktop icons, hide mobile icons */ @media (min-width: 992px) { .mobile-search-icon, .mobile-hamburger { display: none !important; } .desktop-search-icon, .desktop-hamburger { display: block !important; } } /* ======================================== 2. MOBILE SLIDE MENU ======================================== */ /* Mobile menu container */ .mobile-slide-menu { position: fixed; top: 0; right: 0; width: 100%; max-width: 320px; height: 100vh; background-color: var(--white); z-index: 99999; transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); overflow-y: auto; box-shadow: -5px 0 20px rgba(0, 0, 0, 0.1); } .mobile-slide-menu.mobile-menu-open { transform: translateX(0); } /* Mobile menu header */ .mobile-menu-header { display: flex; align-items: center; justify-content: space-between; padding: 20px; border-bottom: 1px solid rgba(0, 0, 0, 0.1); } .mobile-menu-logo img { max-height: 35px; width: auto; } /* Close button */ .mobile-menu-close { width: 45px; height: 45px; border-radius: 50%; background-color: var(--theme); border: none; color: var(--white); font-size: 18px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; } .mobile-menu-close:hover { background-color: #d32f2f; transform: rotate(90deg); } /* ======================================== 3. MOBILE MENU NAVIGATION ======================================== */ .mobile-menu-nav { padding: 10px 0; } .mobile-menu-list { list-style: none; margin: 0; padding: 0; } .mobile-menu-item { border-bottom: 1px solid rgba(0, 0, 0, 0.08); } .mobile-menu-item-wrapper { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; position: relative; } .mobile-menu-link { flex: 1; font-size: 16px; font-weight: 600; color: var(--header); text-decoration: none; text-transform: capitalize; transition: color 0.3s ease; } .mobile-menu-link:hover { color: var(--theme); } /* Plus/Minus toggle button */ .mobile-menu-toggle { width: 30px; height: 30px; border: none; background: transparent; color: var(--theme); font-size: 16px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; flex-shrink: 0; margin-left: 10px; } .mobile-menu-toggle:hover { transform: scale(1.1); } .mobile-menu-toggle i { transition: transform 0.3s ease; } /* ======================================== 4. MOBILE SUBMENU (ACCORDION) ======================================== */ .mobile-submenu { list-style: none; margin: 0; padding: 0; max-height: 0; overflow: hidden; opacity: 0; transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, padding 0.3s ease; background-color: rgba(0, 0, 0, 0.02); } .mobile-submenu.mobile-submenu-open { max-height: 1000px; opacity: 1; padding: 10px 0; } .mobile-submenu-item { padding: 0; } .mobile-submenu-link { display: block; padding: 12px 20px 12px 40px; font-size: 14px; font-weight: 500; color: var(--header); text-decoration: none; transition: all 0.3s ease; position: relative; } .mobile-submenu-link::before { content: "→"; position: absolute; left: 25px; opacity: 0; transition: all 0.3s ease; } .mobile-submenu-link:hover { color: var(--theme); padding-left: 45px; } .mobile-submenu-link:hover::before { opacity: 1; left: 30px; } /* ======================================== 5. MOBILE MENU OVERLAY ======================================== */ .mobile-menu-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: rgba(0, 0, 0, 0.5); z-index: 99998; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; } .mobile-menu-overlay.mobile-overlay-open { opacity: 1; visibility: visible; } /* ======================================== 6. RESPONSIVE ADJUSTMENTS ======================================== */ /* Tablet adjustments */ @media (max-width: 991px) and (min-width: 768px) { .mobile-slide-menu { max-width: 380px; } .mobile-menu-link { font-size: 17px; } } /* Small mobile devices */ @media (max-width: 480px) { .mobile-slide-menu { max-width: 280px; } .header-1 .container-fluid { padding: 0 15px; } .mobile-menu-header { padding: 15px; } .mobile-menu-close { width: 40px; height: 40px; font-size: 16px; } } /* ======================================== 7. PREVENT BODY SCROLL WHEN MENU OPEN ======================================== */ body.mobile-menu-active { overflow: hidden; } /* ======================================== 8. SMOOTH ANIMATIONS ======================================== */ @media (prefers-reduced-motion: reduce) { .mobile-slide-menu, .mobile-submenu, .mobile-menu-overlay, .mobile-menu-toggle i { transition: none; } } /* ======================================== 9. DESKTOP - ENSURE NO MOBILE STYLES ======================================== */ @media (min-width: 992px) { .mobile-slide-menu, .mobile-menu-overlay { display: none !important; } } /* ======================================== NESTED SUBMENU SUPPORT (Multi-level) ======================================== */ /* Increase max-height for nested submenus */ .mobile-submenu.mobile-submenu-open { max-height: 2000px !important; } /* Level 1 submenu (first level) */ .mobile-submenu-level-1 { background-color: rgba(0, 0, 0, 0.02); } .mobile-submenu-level-1 .mobile-menu-item-wrapper { padding-left: 40px; padding-right: 20px; } .mobile-submenu-level-1 .mobile-menu-link { font-size: 14px; font-weight: 500; } /* Level 2 submenu (nested inside level 1) */ .mobile-submenu-level-2 { background-color: rgba(0, 0, 0, 0.04); } .mobile-submenu-level-2 .mobile-menu-item-wrapper { padding-left: 60px; padding-right: 20px; } .mobile-submenu-level-2 .mobile-menu-link { font-size: 13px; font-weight: 400; } /* Level 3 submenu (nested inside level 2) */ .mobile-submenu-level-3 { background-color: rgba(0, 0, 0, 0.06); } .mobile-submenu-level-3 .mobile-menu-item-wrapper { padding-left: 80px; padding-right: 20px; } .mobile-submenu-level-3 .mobile-menu-link { font-size: 12px; font-weight: 400; } /* Adjust toggle button size for nested items */ .mobile-submenu .mobile-menu-toggle { width: 26px; height: 26px; font-size: 14px; } /* Border for nested items */ .mobile-menu-level-1 { border-bottom: 1px solid rgba(0, 0, 0, 0.05); } .mobile-menu-level-2, .mobile-menu-level-3 { border-bottom: none; } /* Adjust padding for nested menu items */ .mobile-menu-level-1 .mobile-menu-item-wrapper, .mobile-menu-level-2 .mobile-menu-item-wrapper, .mobile-menu-level-3 .mobile-menu-item-wrapper { padding-top: 12px; padding-bottom: 12px; } /* ======================================== PREVENT MENU OVERLAP - HIDE OLD OFFCANVAS ON MOBILE ======================================== */ @media (max-width: 991px) { /* Completely hide offcanvas menu on mobile */ .offcanvas__info, .offcanvas__overlay, .fix-area { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; z-index: -1 !important; } } @media (min-width: 992px) { /* Completely hide mobile menu on desktop */ .mobile-slide-menu, .mobile-menu-overlay { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; z-index: -1 !important; } }