/* Simple Logo Preloader */
    .preloader .loader {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 20px;
    }
    
    .preloader .loader-logo img {
        width: 150px;
        height: auto;
    }
    
    .preloader .loading-dots {
        display: flex;
        gap: 8px;
    }
    
    .preloader .loading-dots span {
        width: 12px;
        height: 12px;
        background-color: #0d6efd;
        border-radius: 50%;
        animation: bounce 1.4s infinite ease-in-out;
    }
    
    .preloader .loading-dots span:nth-child(1) {
        animation-delay: 0s;
    }
    
    .preloader .loading-dots span:nth-child(2) {
        animation-delay: 0.2s;
    }
    
    .preloader .loading-dots span:nth-child(3) {
        animation-delay: 0.4s;
    }

    .logo-area {
        background: white;
        padding: 10px;
        justify-content: center;
        border-radius: 15px;
    }
    
    @keyframes bounce {
        0%, 80%, 100% {
            transform: scale(0);
            opacity: 0.5;
        }
        40% {
            transform: scale(1);
            opacity: 1;
        }
    }

    #headerAuthControls a.auth-btn:hover {
        color: black !important;
    }

    /* header styles overrides */
    /* UPDATED: Shared desktop glass navbar styles moved from homepage to base so all pages use the same header design */
    @media (min-width: 992px) {
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header {
            position: absolute;
            left: 0;
            right: 0;
            padding: 0;
            background: #4d87b254;
            border-bottom: 0;
            z-index: 20;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header > .container {
            max-width: 1380px;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .header-inner {
            border-radius: 28px;
            -webkit-backdrop-filter: blur(18px);
            padding: 0 28px;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .header-style-one-wrapper {
            min-height: 90px;
            gap: 24px;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .header-style-one-wrapper .left-area {
            flex: 0 0 auto;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .logo-area .logo img {
            height: 60px !important;
            width: auto;
            object-fit: contain;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .main-nav-area {
            flex: 1 1 auto;
            display: flex;
            justify-content: center;
            min-width: 0;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .main-nav-area ul.rts-desktop-menu {
            gap: 10px;
            flex-wrap: nowrap;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .main-nav-area ul.rts-desktop-menu .menu-item .rts-dropdown-main-element {
            padding: 12px 18px;
            border-radius: 14px;
            font-size: 17px;
            font-weight: 700;
            line-height: 1;
            letter-spacing: 0;
            color: #ffffff;
            background: rgba(0, 0, 0, 0);
            border: 2px solid #00abea;
            white-space: nowrap;
            text-shadow: 0 1px 10px rgba(0, 0, 0, 0.16);
        }

        /* UPDATED: Active desktop menu border stays white while the rest stay blue */
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .main-nav-area ul.rts-desktop-menu .menu-item.active .rts-dropdown-main-element,
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .main-nav-area ul.rts-desktop-menu .menu-item.current-menu-item .rts-dropdown-main-element {
            border-color: #ffffff;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .main-nav-area ul.rts-desktop-menu .menu-item .rts-dropdown-main-element:hover {
            background: rgba(255, 255, 255, 0.18);
            color: #ffffff;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .button-area-start {
            flex: 0 0 auto;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .auth-btn,
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .user-dropdown-toggle {
            min-height: 50px;
            padding: 16px 18px !important;
            border-radius: 16px !important;
            border: 1px solid rgba(255, 255, 255, 0.34) !important;
            background: rgba(255, 255, 255, 0.18) !important;
            color: #ffffff !important;
            box-shadow: none !important;
            white-space: nowrap;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .user-name-label,
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .user-icon-wrapper,
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .caret-icon {
            color: #ffffff !important;
        }

        .tour-marketplace .header--sticky.sticky.header-six.glassy-overlay-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 9999;
        }

        .header-style-one-wrapper .logo-area .logo {
            display: block;
            min-width: 100px !important;
        }
    }

    /* UPDATED: Shared mobile/tablet glass navbar styles so the same header look also applies below 992px */
    @media (max-width: 991.98px) {
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            padding: 0;
            background: #4d87b254;
            border-bottom: 0;
            z-index: 30;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header > .container {
            padding-left: 14px;
            padding-right: 14px;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .header-inner {
            border-radius: 18px;
            -webkit-backdrop-filter: blur(18px);
            padding: 0 14px;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .header-style-one-wrapper {
            min-height: 82px;
            gap: 14px;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .header-style-one-wrapper .left-area,
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .button-area-start {
            flex-basis: auto;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .logo-area .logo {
            min-width: 132px;
        }

        .header-style-one-wrapper .logo-area .logo {
            display: block;
            min-width: 100px !important;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .logo-area .logo img {
            height: 56px !important;
            width: auto;
            object-fit: contain;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .auth-btn,
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .user-dropdown-toggle {
            min-height: 44px;
            padding: 8px 14px !important;
            border-radius: 14px !important;
            border: 1px solid rgba(255, 255, 255, 0.34) !important;
            background: rgba(255, 255, 255, 0.18) !important;
            color: #ffffff !important;
            box-shadow: none !important;
            white-space: nowrap;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .user-name-label,
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .user-icon-wrapper,
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .caret-icon {
            color: #ffffff !important;
        }

        .tour-marketplace .header--sticky.sticky.header-six.glassy-overlay-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 9999;
        }
    }

    /* Modern Header Dropdown Styles */
    /* Modern Header Dropdown Styles */
    /* --- USER DROPDOWN TOGGLE --- */
    .user-dropdown-toggle {
        cursor: pointer !important;
        background: #f8fafd !important;
        padding: 8px 16px !important;
        border-radius: 50px !important;
        border: 1px solid #e2e8f0 !important;
        transition: all 0.25s ease !important;
        display: flex !important;
        align-items: center !important;
    }

    .user-dropdown-toggle:hover {
        background: #ffffff !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
    }

    .user-name-label {
        font-family: 'Inter', -apple-system, system-ui, sans-serif !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #1e293b !important;
        text-transform: none !important;
        letter-spacing: normal !important;
    }

    .user-icon-wrapper {
        color: #0b4a78 !important;
        margin-right: 10px !important;
        display: flex !important;
        align-items: center !important;
    }

    .caret-icon {
        font-size: 10px !important;
        color: #94a3b8 !important;
        transition: transform 0.3s ease !important;
    }

    .dropdown.show .caret-icon {
        transform: rotate(180deg) !important;
    }

    /* --- DROPDOWN MENU CONTAINER --- */
    .modern-user-menu {
        border: 1px solid #f1f5f9 !important;
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
        border-radius: 12px !important;
        padding: 8px !important;
        min-width: 220px !important;
        margin-top: 12px !important;
        background-color: #ffffff !important;
    }

    /* --- MENU ITEMS & TYPOGRAPHY --- */
    .modern-user-menu .dropdown-item {
        padding: 12px 14px !important; /* Forces breathing room */
        display: flex !important;
        align-items: center !important;
        border-radius: 8px !important;
        transition: all 0.2s ease !important;
        background: transparent !important;
        border: none !important;
        /* Forces modern typography */
        font-family: 'Inter', 'Segoe UI', Roboto, sans-serif !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #475569 !important;
        text-transform: none !important; 
        letter-spacing: normal !important;
        line-height: 1.2 !important;
    }

    .modern-user-menu .dropdown-item:hover {
        background-color: #f1f5f9 !important;
        color: #167fca !important;
        transform: translateX(4px) !important;
    }

    /* Icons inside items */
    .modern-user-menu .dropdown-item i {
        width: 20px !important;
        margin-right: 12px !important;
        font-size: 16px !important;
        color: #94a3b8 !important;
        text-align: center !important;
    }

    .modern-user-menu .dropdown-item:hover i {
        color: #167fca !important;
    }

    /* --- LOGOUT & DIVIDER --- */
    .modern-user-menu .dropdown-divider {
        margin: 8px 0 !important;
        border-top: 1px solid #f1f5f9 !important;
        opacity: 1 !important;
    }

    .logout-link:hover {
        background-color: #fff5f5 !important;
    }

    .logout-link:hover, .logout-link:hover i {
        color: #dc2626 !important;
    }

    /* =========================================================
    NEW: Dual Phone Contact Widget (Header) starts
    ========================================================= */
    .header-dual-phone-widget {
        display: flex;
        align-items: stretch !important; /* FIX: Forces the container to stretch vertically so the line fills the height */
        background: #ffffff !important;
        padding: 10px 16px !important;
        border-radius: 12px !important;
        border: 1px solid rgba(0, 0, 0, 0.1) !important;
    }

    .header-dual-phone-widget .phone-icon-box {
        display: flex;
        align-items: center;
        justify-content: center;
        padding-right: 16px !important;
        margin-right: 16px !important;
        border-right: 1px solid #e0e0e0 !important; /* FIX: Reduced to a standard 1px thickness and a neutral light grey color */
    }

    .header-dual-phone-widget .phone-icon-box i {
        color: #00abea !important; 
        font-size: 18px !important;
    }

    .header-dual-phone-widget .phone-numbers-box {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 8px !important; /* FIX: Increased vertical gap between the two phone numbers */
    }

    .header-dual-phone-widget .phone-link {
        color: #000000 !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1 !important; 
        letter-spacing: 0.8px !important; /* FIX: Added horizontal spacing so the digits are no longer squished */
        text-decoration: none !important;
        transition: color 0.3s ease;
        white-space: nowrap !important;
        display: block !important;
    }

    .header-dual-phone-widget .phone-link:hover {
        color: #00abea !important;
    }

    .shop-btn-area {
        display: flex;
        align-items: center;
    }

    /* Mobile Scaling */
    @media (max-width: 991.98px) {
        .header-dual-phone-widget {
            padding: 8px 12px !important;
            border-radius: 10px !important;
        }
        
        .header-dual-phone-widget .phone-icon-box {
            padding-right: 12px !important;
            margin-right: 12px !important;
        }
        
        .header-dual-phone-widget .phone-icon-box i {
            font-size: 14px !important;
        }
        
        .header-dual-phone-widget .phone-link {
            font-size: 12px !important; 
            letter-spacing: 0.5px !important;
        }

        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .auth-btn,
        .tour-marketplace .header-style-one.header-six.glassy-overlay-header .user-dropdown-toggle {
            padding: 6px 12px !important;
            font-size: 13px !important;
        }
    }
    /* =========================================================
    NEW: Dual Phone Contact Widget (Header) ends
    ========================================================= */



/* -----------------------------
   MOBILE BOTTOM NAV (Modern)
------------------------------ */
.mobile-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;

    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;

    padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.92);
    border-top: 1px solid var(--border);
    backdrop-filter: blur(14px);
    box-shadow: 0 -10px 24px rgba(11, 18, 32, 0.08);
}

.mbn-item {
    appearance: none;
    border: 0;
    background: transparent;
    text-decoration: none;
    color: var(--muted);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 8px 6px;
    border-radius: 14px;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.mbn-item .iconify {
    font-size: 22px;
    color: var(--muted);
}

.mbn-text {
    font-size: 11px;
    margin-top: 4px;
    font-weight: 600;
}

.mbn-item:hover,
.mbn-item:focus {
    background: rgba(22, 127, 202, 0.10);
    color: var(--ocean);
}

.mbn-item:hover .iconify,
.mbn-item:focus .iconify {
    color: var(--ocean);
}

.mbn-more-btn {
    cursor: pointer;
}



/* Mobile menu sty starts */

/* -----------------------------
   MOBILE BOTTOM NAV (Modern)
------------------------------ */
.mobile-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;

    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;

    padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.92);
    border-top: 1px solid var(--border);
    backdrop-filter: blur(14px);
    box-shadow: 0 -10px 24px rgba(11, 18, 32, 0.08);
}

.mbn-item {
    appearance: none;
    border: 0;
    background: transparent;
    text-decoration: none;
    color: var(--muted);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 8px 6px;
    border-radius: 14px;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.mbn-item .iconify {
    font-size: 22px;
    color: var(--muted);
}

.mbn-text {
    font-size: 11px;
    margin-top: 4px;
    font-weight: 600;
}

.mbn-item:hover,
.mbn-item:focus {
    background: rgba(22, 127, 202, 0.10);
    color: var(--ocean);
}

.mbn-item:hover .iconify,
.mbn-item:focus .iconify {
    color: var(--ocean);
}

.mbn-more-btn {
    cursor: pointer;
}

/* ✅ ACTIVE: colored pill + colored icon/text */
.mbn-item.is-active {
    background: rgba(22, 127, 202, 0.14);
    color: var(--ocean);
    box-shadow: 0 6px 14px rgba(22, 127, 202, 0.15);
}

.mbn-item.is-active .iconify {
    color: var(--ocean);
}

/* Mobile menu sty starts */
/* ==============================
   MOBILE BOTTOM NAV v2 (unique)
   ============================== */

/* page spacing so content doesn't hide behind bar */
/* Give page bottom spacing so content doesn't go behind nav */
:root{
    --mbn2-bar-h: 78px; /* must match your bottom nav visual height */
}

/* page spacing so content doesn't hide behind bar */
@media (max-width: 991.98px) {
    body {
        padding-bottom: var(--mbn2-bar-h);
    }
}

/* ---- Bottom bar ---- */
#mbn2Bar.mbn2-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2147483000;

    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;

    padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.92);
    border-top: 1px solid var(--border);
    backdrop-filter: blur(14px);
    box-shadow: 0 -10px 24px rgba(11, 18, 32, 0.08);
}

#mbn2Bar .mbn2-item {
    appearance: none;
    border: 0;
    background: transparent;
    text-decoration: none !important;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 8px 6px;
    border-radius: 14px;

    color: var(--muted) !important;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

#mbn2Bar .mbn2-ic {
    font-size: 22px;
    color: var(--muted) !important;
}

#mbn2Bar .mbn2-tx {
    font-size: 11px;
    margin-top: 4px;
    font-weight: 600;
}

#mbn2Bar .mbn2-item:hover,
#mbn2Bar .mbn2-item:focus {
    background: rgba(22, 127, 202, 0.10) !important;
    color: var(--ocean) !important;
}

#mbn2Bar .mbn2-item:hover .mbn2-ic,
#mbn2Bar .mbn2-item:focus .mbn2-ic {
    color: var(--ocean) !important;
}

/* ✅ active pill */
#mbn2Bar .mbn2-item.mbn2-active {
    background: rgba(22, 127, 202, 0.16) !important;
    color: var(--ocean) !important;
    box-shadow: 0 6px 14px rgba(22, 127, 202, 0.15) !important;
}

#mbn2Bar .mbn2-item.mbn2-active .mbn2-ic {
    color: var(--ocean) !important;
}

#mbn2Bar .mbn2-more {
    cursor: pointer;
}

/* ---- Backdrop ---- */
#mbn2Backdrop.mbn2-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2147482990;

    background: rgba(11, 18, 32, 0.65); /* stronger, NOT transparent */
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;

    /* force consistent rendering */
    transform: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    mix-blend-mode: normal !important;
    isolation: isolate;
}

#mbn2Backdrop.mbn2-open {
    opacity: 1;
    pointer-events: auto;
}

/* ---- Drawer ---- */
#mbn2Drawer.mbn2-drawer {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 88px; /* above bar */
    z-index: 2147483010;

    background: #ffffff; /* force solid */
    border: 1px solid var(--border);
    border-radius: 20px;
    box-shadow: var(--shadow-md);

    opacity: 0;
    pointer-events: none;
    transform: translateY(18px);
    transition: transform 0.2s ease, opacity 0.2s ease;

    max-height: calc(100vh - 120px);
    overflow: hidden;

    /* force consistent rendering */
    filter: none !important;
    backdrop-filter: none !important;
    mix-blend-mode: normal !important;
    isolation: isolate;
}

#mbn2Drawer.mbn2-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* header */
#mbn2Drawer .mbn2-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;                 /* ✅ add */
    padding: 14px 14px;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(246, 251, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
}

#mbn2Drawer .mbn2-title {
    flex: 1 1 auto;            /* ✅ add */
    min-width: 0;              /* ✅ add */
    font-weight: 800;
    color: var(--ink);
    font-size: 14px;
}

#mbn2Drawer .mbn2-close {
    flex: 0 0 auto;            /* ✅ add */
    width: 40px;               /* ✅ add */
    height: 40px;              /* ✅ add */

    display: inline-flex;      /* ✅ add */
    align-items: center;       /* ✅ add */
    justify-content: center;   /* ✅ add */

    border: 0;
    background: rgba(11, 18, 32, 0.06);
    border-radius: 12px;
    padding: 0;                /* ✅ change (was 8px 10px) */
    cursor: pointer;
    line-height: 1;            /* ✅ add */
}

#mbn2Drawer .mbn2-close .iconify {
    font-size: 18px;
    color: var(--ink);
}

/* body scroll so never cut */
#mbn2Drawer .mbn2-body {
    padding: 12px 12px 14px 12px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    max-height: calc(100vh - 180px);
}

/* sections */
#mbn2Drawer .mbn2-sec + .mbn2-sec {
    margin-top: 12px;
}

#mbn2Drawer .mbn2-sec-title {
    font-size: 12px;
    font-weight: 800;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 8px;
}

/* list */
#mbn2Drawer .mbn2-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

#mbn2Drawer .mbn2-list li + li {
    margin-top: 8px;
}

#mbn2Drawer .mbn2-link {
    display: flex;
    align-items: center;
    gap: 10px;

    text-decoration: none !important;
    color: var(--ink) !important;
    font-weight: 700;

    padding: 12px 12px;
    border-radius: 14px;
    border: 1px solid rgba(10, 60, 95, 0.10);
    background: rgba(246, 251, 255, 0.7);
    transition: background 0.2s ease, border 0.2s ease;
}

#mbn2Drawer .mbn2-link .iconify {
    font-size: 20px;
    color: var(--ocean) !important;
}

#mbn2Drawer .mbn2-link:hover {
    background: rgba(22, 127, 202, 0.10);
    border-color: rgba(22, 127, 202, 0.25);
}

/* account chip */
#mbn2Drawer .mbn2-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(10, 60, 95, 0.10);
    background: rgba(246, 251, 255, 0.7);
    margin-bottom: 10px;
}

#mbn2Drawer .mbn2-chip .iconify {
    font-size: 22px;
    color: var(--ocean) !important;
}

#mbn2Drawer .mbn2-chip-name {
    font-weight: 800;
    color: var(--ink);
}

/* logout */
#mbn2Drawer .mbn2-logout {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 12px 12px;
    border-radius: 14px;
    border: 1px solid rgba(220, 38, 38, 0.18);
    background: rgba(220, 38, 38, 0.08);

    font-weight: 800;
    color: #dc2626;
    cursor: pointer;
}

#mbn2Drawer .mbn2-logout .iconify {
    font-size: 20px;
    color: #dc2626;
}

/* ==============================
   CRITICAL FIX FOR HOME PAGE
   Stop parent transforms/filters only while menu open
   ============================== */
html.mbn2-open,
html.mbn2-open body {
    overflow: hidden !important;
}

/* neutralize common “home hero” effects while open */
html.mbn2-open body * {
    mix-blend-mode: normal !important;
}

/* if your theme uses wrappers that transform the page, neutralize them while open */
html.mbn2-open .rts-banner-area,
html.mbn2-open .banner-area,
html.mbn2-open .swiper,
html.mbn2-open .swiper-wrapper,
html.mbn2-open .swiper-slide,
html.mbn2-open .hero,
html.mbn2-open .home-hero,
html.mbn2-open .main-wrapper,
html.mbn2-open .page-wrapper,
html.mbn2-open .site-wrapper {
    transform: none !important;
    filter: none !important;
}
/* Mobile menu sty ends */

.rts-footer-area-one.tour-marketplace {
    background: #f0f9ff !important;
}

    /* =========================================================
       NX FOOTER 2026 - THE NUCLEAR OVERRIDE starts
       ========================================================= */
    
    /* 1. NUKE THE FONT FAMILY ON EVERYTHING */
    .nx-foot-wrapper, 
    .nx-foot-wrapper *,
    .tour-marketplace .nx-foot-wrapper h3,
    .tour-marketplace .nx-foot-wrapper h4 {
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
        box-sizing: border-box !important;
    }

    /* 2. FORCE HEADINGS APART */
    .tour-marketplace .nx-foot-wrapper h3,
    .tour-marketplace .nx-foot-wrapper h4,
    .nx-foot-wrapper h3,
    .nx-foot-wrapper h4 {
        font-weight: 800 !important;
        letter-spacing: 1.5px !important; /* Extreme horizontal spacing */
        line-height: 1.8 !important; /* Extreme vertical line spacing */
        margin-bottom: 30px !important; /* Massive gap below the heading */
        display: block !important; /* Forces the browser to respect the margin */
    }

    .nx-foot-wrapper {
        background: linear-gradient(180deg, #42d1ff 0%, #e6f9ff 100%) !important;
        margin: 80px 0 0 0 !important; 
        padding: 0 !important;
        position: relative !important;
        width: 100% !important;
        display: block !important;
    }

    .nx-foot-container {
        max-width: 1200px !important;
        margin: 0 auto !important;
        padding: 0 15px !important;
        position: relative !important; 
        width: 100% !important;
    }

    /* --- Newsletter Section --- */
    .nx-foot-newsletter {
        background: #11689b !important;
        border-radius: 100px !important;
        padding: 20px 40px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 30px !important; 
        
        position: absolute !important;
        top: 0 !important;
        left: 15px !important;
        right: 15px !important;
        transform: translateY(-50%) !important; 
        z-index: 10 !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1) !important;
    }

    .nx-foot-news-title {
        color: #ffffff !important;
        font-size: 24px !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    .nx-foot-form {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex: 1 1 0% !important; 
        gap: 15px !important; 
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .nx-foot-input {
        background: #7caacb !important;
        border: none !important;
        border-radius: 50px !important;
        padding: 16px 25px !important;
        color: #ffffff !important;
        flex: 1 1 0% !important; 
        width: 100% !important;
        outline: none !important;
        font-size: 16px !important;
        line-height: normal !important;
        margin: 0 !important;
        letter-spacing: 1px !important; 
    }

    .nx-foot-input::placeholder {
        color: #ffffff !important;
        opacity: 0.9 !important;
    }

    .nx-foot-btn {
        background: #ffb800 !important;
        color: #000000 !important;
        border: none !important;
        border-radius: 50px !important;
        padding: 16px 40px !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        cursor: pointer !important;
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
        white-space: nowrap !important;
        letter-spacing: 1px !important;
        transition: background 0.3s ease !important;
    }

    .nx-foot-btn:hover {
        background: #e6a600 !important;
    }

    /* --- Main Grid Area --- */
    .nx-foot-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 30px !important;
        padding-top: 100px !important; 
        padding-bottom: 50px !important;
    }

    .nx-foot-col {
        display: flex !important;
        flex-direction: column !important;
    }

    .nx-foot-title {
        color: #000000 !important;
        font-size: 20px !important;
        text-transform: uppercase !important;
    }

    /* --- Footer Links (FORCE SEPARATION) --- */
    .nx-foot-list {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
    }

    .nx-foot-list li {
        margin: 0 0 5px 0 !important; /* Massive gap between links */
        padding: 0 !important;
        display: block !important; /* Forces the browser to apply the margin */
    }

    .nx-foot-list li a {
        color: #000000 !important;
        text-decoration: none !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        letter-spacing: 0.5px !important;
        line-height: 1.5 !important;
        transition: transform 0.2s ease, color 0.2s ease !important;
        display: inline-block !important;
    }

    .nx-foot-list li a:hover {
        color: #11689b !important;
        transform: translateX(5px) !important;
    }

    /* --- Social Icons --- */
    .nx-foot-social-wrap {
        margin-top: 25px !important;
        display: block !important;
    }

    .nx-foot-social-wrap p {
        color: #000000 !important;
        font-size: 15px !important;
        margin: 0 0 20px 0 !important; 
        font-weight: 700 !important;
        line-height: 1.5 !important;
        letter-spacing: 1px !important;
        display: block !important;
    }

    .nx-foot-social-row {
        display: flex !important;
        gap: 15px !important;
        flex-wrap: wrap !important;
    }

    .nx-foot-social-icon {
        width: 45px !important;
        height: 45px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        color: #ffffff !important;
        font-size: 20px !important;
        border: 3px solid #ffffff !important;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
        transition: transform 0.2s ease !important;
    }

    .nx-foot-social-icon:hover {
        transform: translateY(-3px) scale(1.05) !important;
    }

    .nx-foot-social-icon.fb { background: #3b5998 !important; }
    .nx-foot-social-icon.ig { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important; }
    .nx-foot-social-icon.yt { background: #ff0000 !important; }
    .nx-foot-social-icon.in { background: #007bb6 !important; }

    /* --- Bottom Bar --- */
    .nx-foot-bottom {
        background: #00a8ef !important;
        padding: 20px 0 !important; 
        text-align: center !important;
        width: 100% !important;
        display: block !important;
    }

    .nx-foot-title {
        margin-bottom: 15px !important;
    }

    .nx-foot-bottom p {
        color: #ffffff !important;
        margin: 0 !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.5 !important;
        letter-spacing: 1px !important; 
    }

    /* --- Responsive Behavior --- */
    @media (max-width: 991px) {
        .nx-foot-grid {
            grid-template-columns: repeat(2, 1fr) !important; 
            padding-top: 130px !important; 
        }
        .nx-foot-newsletter {
            flex-direction: column !important;
            border-radius: 30px !important;
            text-align: center !important;
            padding: 30px 20px !important;
        }
        .nx-foot-news-title {
            white-space: normal !important; 
            width: 100% !important;
            margin-bottom: 20px !important; /* Force space between title and form on mobile */
        }
        .nx-foot-form {
            flex-direction: column !important;
            width: 100% !important;
        }
        .nx-foot-input, 
        .nx-foot-btn {
            width: 100% !important;
            flex: none !important; 
        }
    }

    @media (max-width: 575px) {
        .nx-foot-grid {
            grid-template-columns: 1fr !important;
            text-align: center !important;
            padding-top: 160px !important;
        }
        .nx-foot-social-row {
            justify-content: center !important;
        }
    }
    /* =========================================================
       NX FOOTER 2026 - THE NUCLEAR OVERRIDE ends
       ========================================================= */

    /* =========================================================
       NX NEWSLETTER MODAL - SANDBOXED CSS
       ========================================================= */
    #nx-sub-modal-overlay {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(0, 0, 0, 0.6) !important;
        backdrop-filter: blur(5px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 999999 !important; /* Forces it over absolutely everything */
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    #nx-sub-modal-overlay.nx-sub-active {
        opacity: 1;
        visibility: visible;
    }

    #nx-sub-modal-box {
        background: #ffffff !important;
        border-radius: 20px !important;
        padding: 40px 30px !important;
        width: 90% !important;
        max-width: 400px !important;
        text-align: center !important;
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
        transform: scale(0.8) translateY(30px);
        transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        font-family: system-ui, -apple-system, sans-serif !important;
    }

    #nx-sub-modal-overlay.nx-sub-active #nx-sub-modal-box {
        transform: scale(1) translateY(0);
    }

    #nx-sub-modal-icon {
        width: 70px !important;
        height: 70px !important;
        border-radius: 50% !important;
        margin: 0 auto 20px auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 30px !important;
        color: white !important;
    }

    .nx-sub-status-success #nx-sub-modal-icon {
        background: #22c55e !important; /* Green */
    }

    .nx-sub-status-error #nx-sub-modal-icon {
        background: #ef4444 !important; /* Red */
    }

    #nx-sub-modal-title {
        color: #363636 !important;
        font-size: 24px !important;
        font-weight: 600 !important;
        margin: 0 0 10px 0 !important;
        line-height: 1.2 !important;
        letter-spacing: 1.5px;
    }

    #nx-sub-modal-msg {
        color: #4b5563 !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
        margin: 0 0 25px 0 !important;
    }

    #nx-sub-modal-btn {
        background: #11689b !important;
        color: #ffffff !important;
        border: none !important;
        border-radius: 50px !important;
        padding: 12px 30px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
        width: 100% !important;
        transition: background 0.2s ease !important;
    }

    #nx-sub-modal-btn:hover {
        background: #0d4f78 !important;
    }