 /* ======= TOUR NAVBAR ====== */
 body.menu-open {
     overflow: hidden;
 }

 .tour-navbar {
     position: sticky;
     top: 0;
     z-index: 1050;
     background: rgba(255, 255, 255, .95);
     backdrop-filter: blur(12px);
     border-bottom: 1px solid rgba(15, 23, 42, .06);
     padding: 18px 0;
 }

 /* WRAP */
 .tour-navbar-wrap {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 /* LOGO */
 .tour-logo {
     text-decoration: none;
 }

 .logo-wrap {
     display: flex;
     align-items: center;
     gap: 4px;
     font-size: 1.45rem;
     font-weight: 800;
 }

 .logo-main {
     color: #0f172a;
 }

 .logo-accent {
     color: #f4b400;
 }

 /* DISCOVER BUTTON */
 .discover-btn {
     border: none;
     background: #fff;
     border-radius: 999px;
     padding: 12px 18px;
     display: flex;
     align-items: center;
     gap: 10px;
     font-weight: 700;
     color: #0f172a;
     box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
     transition: .3s ease;
 }

 .discover-btn:hover {
     transform: translateY(-1px);
 }

 .discover-menu {
     min-width: 340px;
     border: none;
     border-radius: 24px;
     padding: 22px;
     box-shadow: 0 20px 50px rgba(15, 23, 42, .12);
 }

 .discover-group {
     padding-bottom: 16px;
     margin-bottom: 16px;
     border-bottom: 1px solid #f1f5f9;
 }

 .discover-group:last-child {
     border-bottom: none;
     margin-bottom: 0;
     padding-bottom: 0;
 }

 .discover-menu a {
     display: block;
     padding: 10px 14px;
     border-radius: 14px;
     text-decoration: none;
     color: #334155;
     font-weight: 500;
     transition: .25s;
 }

 .discover-menu a:hover {
     background: #fff8e7;
     color: #f4b400;
     padding-left: 18px;
 }

 .discover-group:last-child {
     margin-bottom: 0;
 }

 /* LABEL */
 .discover-label {
     display: flex;
     align-items: center;
     gap: 10px;
     font-size: .82rem;
     text-transform: uppercase;
     letter-spacing: .04em;
     color: #94a3b8;
     font-weight: 700;
     margin-bottom: 10px;
 }

 /* LINKS */
 .discover-menu a {
     display: block;
     padding: 10px 14px;
     border-radius: 14px;
     text-decoration: none;
     color: #0f172a;
     font-weight: 500;
     transition: .25s ease;
 }

 .discover-menu a:hover {
     background: #f8fafc;
     color: #0f172a;
     padding-left: 18px;
 }

 /* MOBILE */
 @media(max-width:768px) {
     .logo-wrap {
         font-size: 1.15rem;
     }

     .discover-btn span {
         display: none;
     }

     .discover-menu {
         min-width: 280px;
     }
 }

 .explore-btn {
     border: none;
     background: #fff;
     border-radius: 999px;
     padding: 12px 18px;
     display: flex;
     align-items: center;
     gap: 10px;
     font-weight: 700;
     color: #0f172a;
     box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
     transition: .25s;
 }

 .explore-btn:hover {
     transform: translateY(-1px);
 }

 .explore-menu {
     width: 900px;
     padding: 24px;
     border: none;
     border-radius: 24px;
     box-shadow: 0 20px 60px rgba(0, 0, 0, .12);
 }

 .explore-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 28px;
 }

 .explore-title {
     font-size: 14px;
     font-weight: 700;
     margin-bottom: 12px;
     color: #0f172a;
 }

 .explore-grid a {
     display: block;
     padding: 6px 0;
     color: #0f172a;
     text-decoration: none;
     font-size: 14px;
 }

 .explore-grid a:hover {
     color: #f4b400;
     padding-left: 4px;
 }

 @media(max-width:991px) {
     .explore-menu {
         width: 100%;
         min-width: 320px;
     }

     .explore-grid {
         grid-template-columns: 1fr;
         gap: 20px;
     }
 }

 .menu-group {
     padding-bottom: 14px;
     margin-bottom: 14px;
     border-bottom: 1px solid #f1f5f9;
 }

 .menu-group:last-child {
     border-bottom: none;
     margin-bottom: 0;
     padding-bottom: 0;
 }

 .menu-label {
     font-size: 12px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .05em;
     color: #0f172a;
     margin-bottom: 10px;
 }

 .explore-menu a {
     display: block;
     padding: 10px 14px;
     border-radius: 14px;
     text-decoration: none;
     color: #334155;
     font-weight: 500;
     transition: .25s;
 }

 .explore-menu a:hover {
     background: #fff8e7;
     color: #f4b400;
     padding-left: 18px;
 }

 @media(max-width:768px) {
     .explore-btn span {
         display: none;
     }

     .explore-menu {
         min-width: 280px;
     }
 }

 .tour-detail-page {
     background: #fff;
 }

 .menu-toggle {
     width: 100%;
     border: none;
     background: none;
     padding: 14px 0;
     display: flex;
     justify-content: space-between;
     align-items: center;
     font-weight: 700;
     color: #0f172a;
 }

 .menu-content {
     display: none;
     padding-bottom: 12px;
 }

 .menu-content.show {
     display: block;
 }

 .menu-content a {
     display: block;
     padding: 8px 14px;
     border-radius: 12px;
     text-decoration: none;
     color: #0f172a;
     margin-bottom: 4px;
 }

 .menu-content a:hover {
     background: #fff8e7;
     color: #f4b400;
 }

 /* DESKTOP */
 .desktop-explore {
     display: none;
 }

 .explore-group-btn {
     width: 100%;
     border: none;
     background: none;
     padding: 14px 0;
     display: flex;
     justify-content: space-between;
     align-items: center;
     font-weight: 700;
     color: #0f172a;
 }

 .mobile-group .collapse a,
 .mobile-group .collapsing a {

     display: block;
     padding: 8px 14px;
     margin-bottom: 4px;
     text-decoration: none;
     color: #101011;
     border-radius: 12px;

 }

 /* ========================= MOBILE MENU OVERLAY ========================= */
 #mobileMenuOverlay {
     position: fixed;
     inset: 0;
     background: rgba(15, 23, 42, .35);
     backdrop-filter: blur(4px);
     opacity: 0;
     visibility: hidden;
     transition: .3s ease;
     z-index: 9998;
 }

 #mobileMenuOverlay.show {
     opacity: 1;
     visibility: visible;
 }

 /* ========================= MOBILE PANEL ========================= */
 #mobileExploreMenu {
     position: fixed;
     top: 85px;
     left: 12px;
     right: 12px;
     bottom: 12px;
     max-height: 80vh;
     background: #fff;
     border-radius: 28px;
     box-shadow: 0 20px 60px rgba(15, 23, 42, .18);
     overflow-y: auto;
     z-index: 9999;
     opacity: 0;
     visibility: hidden;
     transform: translateY(-20px);
     transition: .35s ease;
 }

 #mobileExploreMenu.show {
     opacity: 1;
     visibility: visible;
     transform: translateY(0);
 }

 /* ========================= HEADER ========================= */
 .mobile-menu-header {
     height: 72px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 0 24px;
     border-bottom: 1px solid #edf2f7;
 }

 .mobile-menu-header h4 {
     margin: 0;
     font-size: 18px;
     font-weight: 800;
     color: #0f172a;
 }

 .mobile-menu-header button {
     border: none;
     background: none;
     width: 42px;
     height: 42px;
     font-size: 22px;
     color: #0f172a;
 }

 /* ========================= BODY SCROLL ========================= */
 .mobile-menu-body {
     max-height: auto;
     overflow-y: auto;
     padding: 12px 24px 40px;
     -webkit-overflow-scrolling: touch;
 }

 /* ========================= MENU GROUP ========================= */
 .mobile-group {
     border-bottom: 1px solid #edf2f7;
 }

 .mobile-group:last-child {
     border-bottom: none;
 }

 /* ========================= BUTTON ========================= */
 .mobile-group-btn {
     width: 100%;
     height: 68px;
     border: none;
     background: none;
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 0;
     font-size: 18px;
     font-weight: 700;
     color: #0f172a;
 }

 .mobile-group-btn i {
     transition: .25s;
 }

 /* ========================= SUBMENU ========================= */
 .mobile-group .collapse {
     padding-bottom: 14px;
 }

 .mobile-group .collapse a {
     display: block;
     padding: 10px 0 10px 18px;
     text-decoration: none;
     color: #0f172a;
     font-size: 15px;
     line-height: 1.5;
 }

 .mobile-group .collapse a:hover {
     color: #f4b400;
 }

 /* ========================= SINGLE LINK ========================= */
 .mobile-link {
     display: flex;
     align-items: center;
     min-height: 68px;
     text-decoration: none;
     color: #0f172a;
     font-size: 18px;
     font-weight: 700;
 }

 /* ========================= BODY LOCK ========================= */
 body.menu-open {
     overflow: hidden;
     position: fixed;
     width: 100%;
 }

 /* ========================= DESKTOP HIDE ========================= */
 @media(min-width:768px) {

     #mobileMenuOverlay,
     #mobileExploreMenu {
         display: none !important;
     }
 }