/* --- FINAL COMPACT MEGA MENU CSS --- */
:root {
    --menu-bg: #ffffff;
    --shadow-color: rgba(0, 0, 0, 0.15);
    --border-light: #f1f5f9;
    --active-bg: #e2e8f0;
}

/* Mega Dropdown Centering */
.mega-dropdown {
    position: static !important;
}

.mega-menu {
    width: 98% !important;
    left: 1% !important;
    margin: 0 auto;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 10px 30px var(--shadow-color);
    max-height: 85vh;
    overflow: visible; 
    background: var(--menu-bg);
}

/* --- TOP ALIGNED ACTIVITY BOX (Line 27 start) --- */
.activity-side-list {
    position: absolute;
    top: 0 !important;      /* FIXED: Hamesha menu ke sabse top se shuru hoga */
    left: 250px;           /* Destination list ki width ke baad shuru hoga */
    width: calc(100% - 250px); 
    min-height: 100%;      /* Pure menu ki height cover karega */
    background: #ffffff;
    display: none;         /* Default hidden */
    border-left: 1px solid var(--border-light);
    box-shadow: 15px 0 40px rgba(0,0,0,0.1); 
    z-index: 1000;
    padding: 15px; 
}

/* Hover reveal logic (Fixed display property) */
.category-item:hover > .activity-side-list {
    display: block !important;
}

/* --- COMPACT TOP HEADING --- */
.side-label-header {
    width: 100%;
    padding-bottom: 8px;
    margin-bottom: 12px;
    border-bottom: 1px solid #eee;
}

.side-label-header h5 {
    font-size: 14px;
    font-weight: 800;
    color: #1f2328;
    margin: 0;
}

/* --- HORIZONTAL GRID FLOW --- */
.master-grid-wrapper {
    display: flex;
    flex-direction: row; 
    gap: 20px; 
    flex-wrap: wrap; 
}

.master-column {
    flex: 1;
    min-width: 150px;
}

.master-column .master-title {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--primary-color);
    border-bottom: 1px dashed #e2e8f0;
    padding-bottom: 5px;
    margin-bottom: 8px;
}

/* --- 4th LEVEL: FINAL ACTIVITY PANEL --- */
.sub-category-item {
    position: relative; /* Sabse zaruri: Taki naya panel iske right mein khule */
}

.sub-activity-link {
    display: block;
    padding: 3px 0;
    font-size: 13px;
    color: #64748b !important;
    text-decoration: none;
    line-height: 1.2;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.final-activity-panel {
    position: absolute;
    top: -5px;           /* Sub-category ke thoda upar se shuru hoga */
    left: 100%;          /* Right side mein khulega */
    width: 230px;        /* Naye panel ki width */
    background: #ffffff;
    display: none;       /* Hover se pehle hidden rahega */
    border: 1px solid #eee;
    border-left: 2px solid var(--primary-color);
    box-shadow: 10px 0 30px rgba(0,0,0,0.1);
    z-index: 1010;
    max-height: 350px;
    overflow-y: auto;    /* Items zyada hone par scroll hoga */
}
/* --- ⬅️ REVERSE LOGIC: LEFT SIDE SHIFT FOR LAST COLUMNS --- */
.master-column:nth-last-child(1) .final-activity-panel,
.master-column:nth-last-child(2) .final-activity-panel {
    left: auto !important;
    right: 100% !important;        /* Right ki jagah left mein dhakela jayega */
    border-left: 1px solid #eee !important;
    border-right: 2px solid var(--primary-color) !important; /* Border flip */
    box-shadow: -10px 0 30px rgba(0,0,0,0.1) !important;      /* Shadow flip */
}

/* Hover Logic: Jab sub-category par mouse jaye toh panel dikhao */
.sub-category-item:hover > .final-activity-panel {
    display: block !important;
}

.sub-activity-link:hover, .sub-category-item:hover > .sub-activity-link {
    color: var(--primary-color) !important;
    padding-left: 5px;
    background: #f8fafc;
    border-radius: 4px;
}
/* --- DESTINATION LIST FIX (Line 106-109 fix) --- */
.category-item {
    position: static !important; /* FIXED: Neil Island ka relation khatam, panel ab top se shuru hoga */
    list-style: none;
}
/* --- End of replacement (Line 109) --- */

.category-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px; /* Thinner destination rows */
    font-size: 14px;
    color: #334155 !important;
    text-decoration: none;
    transition: all 0.2s ease;
}

.category-link:hover, .category-item:hover > .category-link {
    background: #f1f5f9;
    color: var(--primary-color) !important;
}

/* --- MOBILE COMPATIBILITY --- */
@media (max-width: 991px) {
    .activity-side-list {
        position: static;
        width: 100%;
        display: block !important; 
        box-shadow: none;
        border-left: 3px solid var(--primary-color);
        padding: 15px;
    }
    .master-grid-wrapper {
        flex-direction: column;
        gap: 20px;
    }
}
/* 🚢 Book Boat Icon Movement - Fixed Selector */
.nav-item.dropdown:hover .nav-link i.fa-ship {
    animation: boat-move 2s infinite ease-in-out !important;
    display: inline-block !important;
}

@keyframes boat-move {
    0% { transform: translateY(0px) rotate(0deg); }
    25% { transform: translateY(-2px) rotate(-2deg); }
    50% { transform: translateY(0px) rotate(0deg); }
    75% { transform: translateY(-1px) rotate(2deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}

/* Safed Box ko jad se khatam karne ke liye */
.nav-item.dropdown .nav-link {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0.5rem 1rem !important; /* Alignment sahi rakhne ke liye */
}
/* ==========================================================================
   GLOBAL SEARCH OMNIBOX - ULTIMATE ANTI-CLASH FIX FOR ALL PAGES
   ========================================================================== */

/* 1. FORCE LI HOLDER TO BE ABSOLUTELY CENTERED WITH NO VERTICAL PUSH */
.omni-search-li-holder {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    height: 42px !important; /* Fixed absolute space container block */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    vertical-align: middle !important;
}

/* 2. RIGID WRAPPER CONTAINER CONSTRAINT */
.global-search-container {
    position: relative !important;
    width: 210px !important;
    transition: width 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 1060 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.global-search-container:focus-within {
    width: 250px !important;
}

/* 3. INPUT BOX - EXPLICIT LINE-HEIGHT AND HEIGHT BACKUP */
.search-input-field {
    display: flex !important;
    align-items: center !important;
    background: #f1f5f9 !important;
    border-radius: 40px !important;
    padding: 0 14px !important; /* Vertical padding 0 to prevent pushing text */
    border: 1px solid transparent !important;
    height: 36px !important; /* Perfect sweet height lock to force it in one straight line */
    box-sizing: border-box !important;
    line-height: 36px !important; /* Forces inner contents to remain vertically centered */
}

.search-input-field:focus-within {
    background: #ffffff !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.12) !important;
}

.omni-search-icon {
    color: #64748b !important;
    font-size: 13px !important;
    margin: 0 !important;
    padding-right: 8px !important;
    display: inline-block !important;
    line-height: 1 !important;
}

.search-input-field input {
    border: none !important;
    background: transparent !important;
    outline: none !important;
    width: 100% !important;
    font-size: 12.5px !important;
    color: #0f172a !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 100% !important;
    box-shadow: none !important;
    line-height: normal !important;
}

#searchBarLoader {
    width: 13px !important;
    height: 13px !important;
    border-width: 1.5px !important;
    margin-left: 5px !important;
}

/* 4. RESULTS DROPDOWN DRAWER MATRIX */
.search-dropdown-results {
    position: absolute !important;
    top: 110% !important;
    left: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1) !important;
    max-height: 280px !important;
    overflow-y: auto !important;
    z-index: 99999 !important;
    padding: 4px 0 !important;
}

.search-result-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 14px !important;
    font-size: 12.5px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    text-align: left !important;
    line-height: normal !important;
}

.search-result-row:last-child {
    border-bottom: none !important;
}

.search-result-row:hover {
    background: #f8fafc !important;
    color: #3b82f6 !important;
}

.search-item-text-title {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 75% !important;
}

/* BADGES DEFINITIONS WITH FORCE LOCK */
.omni-badge {
    font-size: 9px !important;
    font-weight: 800 !important;
    padding: 2px 7px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}
.badge-act { background: #e0f2fe !important; color: #0369a1 !important; }
.badge-bt { background: #fef3c7 !important; color: #b45309 !important; }
.badge-blg { background: #f1f5f9 !important; color: #475569 !important; }

.search-no-result {
    padding: 14px !important;
    text-align: center !important;
    color: #94a3b8 !important;
    font-size: 12.5px !important;
}

/* 5. LI CONFLICT ELIMINATION FOR BOOTSTRAP LARGE SCREENS */
@media (min-width: 992px) {
    .navbar-nav {
        align-items: center !important; /* Forces ALL menu links to be perfectly centered inline with search bar */
    }
}

@media (max-width: 991px) {
    .omni-search-li-holder {
        width: 100% !important;
        display: block !important;
        height: auto !important;
        padding: 8px 0 !important;
    }
    .global-search-container {
        width: 100% !important;
        margin: 5px 0 !important;
    }
}