 :root {
     --orange: #f68712;
     --dark-blue: #041f3f;
     --white: #ffffff;
     --grey-light: #f8f9fa;
     --grey-mid: #e9ecef;
     --grey-text: #6c757d;
     --shadow-card: 0 8px 32px rgba(4, 31, 63, 0.13);
     --shadow-hover: 0 20px 60px rgba(4, 31, 63, 0.22);
     --radius: 18px;
     --radius-sm: 10px;
     --transition: 0.35s cubic-bezier(.4, 0, .2, 1);
 }

 a {

     text-decoration: none;
 }

 *,
 *::before,
 *::after {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 html {
     scroll-behavior: smooth;
 }

 body {
     font-family: 'Poppins', sans-serif;
     color: var(--dark-blue);
     background: #fff;
     overflow-x: hidden;
 }

 /* ─── ANNOUNCEMENT BAR ─── */
 .announce-bar {
     background: #051e41;
     color: #fff;
     font-size: 0.82rem;
     font-weight: 600;
     letter-spacing: 0.04em;
     height: 38px;
     overflow: hidden;
     position: relative;
     z-index: 1100;
     display: flex;
     align-items: center;
 }

 .announce-track {
     display: flex;
     white-space: nowrap;
     animation: marquee 30s linear infinite;
 }

 .announce-track span {
     padding: 0 3rem;
 }

 @keyframes marquee {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(-50%);
     }
 }

 /* ─── NAVBAR ─── */
 .navbar {
     position: sticky;
     top: 0;
     width: 100%;
     z-index: 1050;
     padding: 10px 0;
     transition: background var(--transition), box-shadow var(--transition), padding var(--transition);
     background: #ffffff;
 }

 .navbar.scrolled {
     background: rgba(255, 255, 255, 0.97);
     backdrop-filter: blur(12px);
     box-shadow: 0 4px 32px rgba(4, 31, 63, 0.25);
     padding: 10px 0;
 }

 .navbar-toggler {

     color: rgb(255 253 253);
     background-color: #041f3f;

 }



 .navbar-brand {
     font-family: 'Playfair Display', serif;
     font-size: 1.5rem;
     font-weight: 800;
     color: #fff !important;
     letter-spacing: -0.5px;
 }

 .navbar-brand span {
     color: var(--orange);
 }

 .navbar-nav .nav-link {
     color: rgb(0, 0, 0) !important;
     font-weight: 500;
     font-size: 0.9rem;
     padding: 6px 16px !important;
     position: relative;
     transition: color var(--transition);
 }

 .navbar-nav .nav-link::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 16px;
     width: 0;
     height: 2px;
     background: var(--orange);
     border-radius: 2px;
     transition: width var(--transition);
 }

 .navbar-nav .nav-link:hover {
     color: #000000 !important;
 }

 .navbar-nav .nav-link:hover::after {
     width: calc(100% - 32px);
 }

 .btn-nav-cta {
     background: var(--orange);
     color: #fff !important;
     border-radius: 50px;
     padding: 9px 26px !important;
     font-weight: 600;
     font-size: 0.88rem;
     box-shadow: 0 0 0 0 rgba(246, 135, 18, 0.5);
     transition: box-shadow var(--transition), transform var(--transition), background var(--transition);
 }

 .btn-nav-cta:hover {
     background: #e07a0a;
     transform: translateY(-2px);
     box-shadow: 0 0 0 8px rgba(246, 135, 18, 0.18), 0 8px 24px rgba(246, 135, 18, 0.4);
 }

 .navbar-toggler {
     border: none;
     outline: none;
 }

 .navbar-toggler-icon {
     filter: invert(1);
 }

 /* ─── HERO SLIDER ─── */
 .hero-section {
     padding-top: 0px;
     position: relative;
     height: 79vh;
     min-height: 400px;
     overflow: hidden;
     cursor: grab;
     user-select: none;
     padding-bottom: 0px;
 }


 .hero-section:active {
     cursor: grabbing;
 }

 .hero-slides {
     display: flex;
     height: 100%;
     transition: transform 0.7s cubic-bezier(.4, 0, .2, 1);
     will-change: transform;
 }

 .hero-slide {
     min-width: 100%;
     height: 100%;
     position: relative;
     overflow: hidden;
 }

 .hero-slide .bg {
     position: absolute;
     inset: 0;
     background-size: cover;
     background-position: center;
     transform: scale(1.08);
     transition: transform 8s ease;
 }

 .hero-slide.active .bg {
     transform: scale(1);
 }



 .hero-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(135deg, rgba(4, 31, 63, 0.82) 0%, rgba(4, 31, 63, 0.45) 60%, rgba(246, 135, 18, 0.18) 100%);
 }

 .hero-content {
     position: absolute;
     inset: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     padding: 0 20px;
 }

 .hero-inner {
     max-width: 820px;
 }

 .hero-badge {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background: rgb(5 30 65);
     border: 1px solid rgba(246, 135, 18, 0.5);
     color: #ffffff;
     border-radius: 50px;
     padding: 6px 20px;
     font-size: 0.8rem;
     font-weight: 600;
     letter-spacing: 0.08em;
     text-transform: uppercase;
     margin-bottom: 22px;
     backdrop-filter: blur(8px);
     opacity: 0;
     transform: translateY(20px);
     animation: fadeUp 0.7s 0.2s forwards;
 }

 .hero-title {
     font-family: sans-serif;
     font-size: 54px;
     font-weight: 900;
     color: #fff;
     line-height: 1.1;
     margin-bottom: 22px;
     opacity: 0;
     transform: translateY(30px);
     animation: fadeUp 0.7s 0.4s forwards;
 }

 .hero-title em {
     color: var(--orange);
     font-style: normal;
 }

 .hero-subtitle {
     font-size: clamp(0.95rem, 2vw, 1.15rem);
     color: rgba(255, 255, 255, 0.82);
     font-weight: 400;
     margin-bottom: 36px;
     line-height: 1.7;
     opacity: 0;
     transform: translateY(30px);
     animation: fadeUp 0.7s 0.6s forwards;
 }

 .hero-actions {
     display: flex;
     gap: 16px;
     justify-content: center;
     flex-wrap: wrap;
     opacity: 0;
     transform: translateY(30px);
     animation: fadeUp 0.7s 0.8s forwards;
 }

 .btn-hero-primary {
     background: var(--orange);
     color: #fff;
     border: none;
     border-radius: 50px;
     padding: 14px 36px;
     font-weight: 700;
     font-size: 1rem;
     transition: all var(--transition);
     box-shadow: 0 8px 32px rgba(246, 135, 18, 0.45);
 }

 .btn-hero-primary:hover {
     background: #e07a0a;
     transform: translateY(-3px);
     box-shadow: 0 16px 48px rgba(246, 135, 18, 0.55);
     color: #fff;
 }

 .btn-hero-secondary {
     background: rgba(255, 255, 255, 0.12);
     color: #fff;
     border: 2px solid rgba(255, 255, 255, 0.5);
     border-radius: 50px;
     padding: 12px 36px;
     font-weight: 600;
     font-size: 1rem;
     backdrop-filter: blur(8px);
     transition: all var(--transition);
 }

 .btn-hero-secondary:hover {
     background: rgba(255, 255, 255, 0.22);
     border-color: #fff;
     transform: translateY(-3px);
     color: #fff;
 }

 /* slider controls */
 .hero-controls {
     position: absolute;
     bottom: 40px;
     left: 50%;
     transform: translateX(-50%);
     display: flex;
     gap: 10px;
     z-index: 10;
 }

 .hero-dot {
     width: 10px;
     height: 10px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.4);
     cursor: pointer;
     transition: all var(--transition);
     border: 2px solid transparent;
 }

 .hero-dot.active {
     background: var(--orange);
     border-color: rgba(255, 255, 255, 0.6);
     width: 28px;
     border-radius: 5px;
 }

 .hero-arrow {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     width: 50px;
     height: 50px;
     background: rgba(255, 255, 255, 0.12);
     border: 2px solid rgba(255, 255, 255, 0.25);
     border-radius: 50%;
     color: #fff;
     font-size: 1.2rem;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: all var(--transition);
     backdrop-filter: blur(8px);
     z-index: 10;
 }

 .hero-arrow:hover {
     background: var(--orange);
     border-color: var(--orange);
 }

 .hero-arrow.prev {
     left: 30px;
 }

 .hero-arrow.next {
     right: 30px;
 }

 @keyframes fadeUp {
     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* ─── SEARCH BAR ─── */
 .search-section {
     position: relative;
     z-index: 100;
     margin-top: -60px;
     padding: 0 20px;
 }

 .search-card {
     background: rgba(255, 255, 255, 0.95);
     backdrop-filter: blur(20px);
     border-radius: var(--radius);
     box-shadow: 0 20px 60px rgba(4, 31, 63, 0.18);
     padding: 32px 36px;
     border: 1px solid rgba(255, 255, 255, 0.6);
     max-width: 900px;
     margin: 0 auto;
 }

 .search-card label {
     font-size: 0.75rem;
     font-weight: 600;
     letter-spacing: 0.08em;
     text-transform: uppercase;
     color: var(--grey-text);
     margin-bottom: 6px;
 }

 .search-card select,
 .search-card input {
     border: 1.5px solid var(--grey-mid);
     border-radius: var(--radius-sm);
     padding: 12px 16px;
     font-family: 'Poppins', sans-serif;
     font-size: 0.9rem;
     color: var(--dark-blue);
     width: 100%;
     outline: none;
     transition: border-color var(--transition), box-shadow var(--transition);
     appearance: none;
     background: #f8f9fa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23041f3f' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 14px center;
 }

 .search-card select:focus,
 .search-card input:focus {
     border-color: var(--orange);
     box-shadow: 0 0 0 3px rgba(246, 135, 18, 0.12);
     background-color: #fff;
 }

 .btn-search {
     background: var(--orange);
     color: #fff;
     border: none;
     border-radius: var(--radius-sm);
     padding: 13px 32px;
     font-weight: 700;
     font-size: 0.95rem;
     width: 100%;
     transition: all var(--transition);
     box-shadow: 0 6px 24px rgba(246, 135, 18, 0.35);
 }

 .btn-search:hover {
     background: #e07a0a;
     transform: translateY(-2px);
     box-shadow: 0 12px 36px rgba(246, 135, 18, 0.5);
 }

 /* ─── SECTION COMMONS ─── */
 section {
     padding: 90px 0;
 }

 .section-label {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     font-size: 0.76rem;
     font-weight: 700;
     letter-spacing: 0.12em;
     text-transform: uppercase;
     color: var(--orange);
     margin-bottom: 12px;
 }

 .section-label::before {
     content: '';
     display: block;
     width: 28px;
     height: 2px;
     background: var(--orange);
     border-radius: 2px;
 }

 .section-title {
     font-family: 'Playfair Display', serif;
     font-size: 32px;
     font-weight: 800;
     color: var(--dark-blue);
     line-height: 1.2;
 }

 .section-title span {
     color: var(--orange);
 }

 .section-sub {
     font-size: 1rem;
     color: var(--grey-text);
     line-height: 1.75;
     max-width: 560px;
 }

 /* fade-up on scroll */
 .fade-up {
     opacity: 0;
     transform: translateY(40px);
     transition: opacity 0.7s ease, transform 0.7s ease;
 }

 .fade-up.visible {
     opacity: 1;
     transform: translateY(0);
 }

 /* ─── ABOUT SECTION ─── */
 #about {
     background: var(--grey-light);
 }

 .about-img-wrap {
     position: relative;
     display: inline-block;
 }

 .about-img {
     width: 100%;
     max-width: 480px;
     border-radius: 24px;
     object-fit: cover;
     height: 500px;
     box-shadow: var(--shadow-card);
 }

 .about-float-shape {
     position: absolute;
     border-radius: 50%;
     background: var(--orange);
     opacity: 0.15;
     animation: floatBob 5s ease-in-out infinite;
 }

 .about-float-shape.s1 {
     width: 120px;
     height: 120px;
     top: -30px;
     left: -30px;
     animation-delay: 0s;
 }

 .about-float-shape.s2 {
     width: 70px;
     height: 70px;
     bottom: 40px;
     right: -20px;
     animation-delay: 1.5s;
 }

 .about-float-shape.s3 {
     width: 50px;
     height: 50px;
     top: 60%;
     left: -15px;
     animation-delay: 3s;
     background: var(--dark-blue);
 }

 @keyframes floatBob {

     0%,
     100% {
         transform: translateY(0) scale(1);
     }

     50% {
         transform: translateY(-14px) scale(1.05);
     }
 }

 .about-badge-img {
     position: absolute;
     bottom: -20px;
     right: -20px;
     background: var(--dark-blue);
     color: #fff;
     border-radius: 16px;
     padding: 18px 22px;
     box-shadow: var(--shadow-card);
     text-align: center;
 }

 .about-badge-img .num {
     font-family: 'Playfair Display', serif;
     font-size: 2rem;
     font-weight: 800;
     color: var(--orange);
     display: block;
     line-height: 1;
 }

 .about-badge-img .lbl {
     font-size: 0.72rem;
     font-weight: 600;
     color: rgba(255, 255, 255, 0.75);
     letter-spacing: 0.08em;
 }

 .counter-row {
     margin-top: 40px;
 }

 .counter-item {
     text-align: center;
 }

 .counter-num {
     font-family: 'Playfair Display', serif;
     font-size: 2.6rem;
     font-weight: 800;
     color: var(--dark-blue);
     line-height: 1;
 }

 .counter-num span {
     color: var(--orange);
 }

 .counter-label {
     font-size: 0.82rem;
     color: var(--grey-text);
     font-weight: 500;
     margin-top: 4px;
 }

 .counter-divider {
     width: 1px;
     background: var(--grey-mid);
 }

 /* ─── DESTINATIONS ─── */
 #destinations {
     background: #fff;
 }

 .dest-card {
     position: relative;
     border-radius: var(--radius);
     overflow: hidden;
     height: 329px;
     cursor: pointer;
     box-shadow: var(--shadow-card);
     transition: transform var(--transition), box-shadow var(--transition);
 }

 .dest-card:hover {
     transform: translateY(-8px);
     box-shadow: var(--shadow-hover);
 }

 .dest-card img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.6s ease;
 }

 .dest-card:hover img {
     transform: scale(1.1);
 }

 .dest-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(4, 31, 63, 0.88) 0%, rgba(4, 31, 63, 0.3) 50%, transparent 100%);
     transition: background var(--transition);
 }

 .dest-card:hover .dest-overlay {
     background: linear-gradient(to top, rgba(4, 31, 63, 0.95) 0%, rgba(4, 31, 63, 0.55) 60%, transparent 100%);
 }

 .dest-info {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     padding: 28px 24px;
     transform: translateY(36px);
     transition: transform var(--transition);
 }

 .dest-card:hover .dest-info {
     transform: translateY(0);
 }

 .dest-tag {
     display: inline-block;
     background: var(--orange);
     color: #fff;
     border-radius: 50px;
     padding: 3px 14px;
     font-size: 0.72rem;
     font-weight: 600;
     letter-spacing: 0.06em;
     margin-bottom: 8px;
 }

 .dest-title {
     font-family: sans-serif;
     font-size: 1.6rem;
     font-weight: 800;
     color: #fff;
     line-height: 1.2;
     margin-bottom: 6px;
 }

 .dest-desc {
     font-size: 0.84rem;
     color: rgba(255, 255, 255, 0.78);
     margin-bottom: 16px;
     line-height: 1.6;
 }

 .btn-dest-explore {
     margin-bottom: 21px;
     background: rgba(255, 255, 255, 0.15);
     color: #fff;
     border: 2px solid rgba(255, 255, 255, 0.5);
     border-radius: 50px;
     padding: 8px 22px;
     font-size: 0.82rem;
     font-weight: 600;
     backdrop-filter: blur(8px);
     transition: all var(--transition);
     text-decoration: none;
     display: inline-block;
 }

 .btn-dest-explore:hover {
     background: var(--orange);
     border-color: var(--orange);
     color: #fff;
 }

 /* ─── PACKAGES ─── */
 #packages {
     background: var(--grey-light);
 }

 .pkg-card {
     background: #fff;
     border-radius: var(--radius);
     overflow: hidden;
     box-shadow: var(--shadow-card);
     transition: transform var(--transition), box-shadow var(--transition);
     height: 100%;
 }

 .pkg-card:hover {
     transform: translateY(-10px);
     box-shadow: var(--shadow-hover);
 }

 .pkg-img-wrap {
     position: relative;
     height: 230px;
     overflow: hidden;
 }

 .pkg-img-wrap img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.6s ease;
 }

 .pkg-card:hover .pkg-img-wrap img {
     transform: scale(1.08);
 }

 .pkg-badge {
     position: absolute;
     top: 16px;
     left: 16px;
     background: var(--orange);
     color: #fff;
     border-radius: 6px;
     padding: 4px 14px;
     font-size: 0.72rem;
     font-weight: 700;
     letter-spacing: 0.06em;
     text-transform: uppercase;
     box-shadow: 0 4px 12px rgba(246, 135, 18, 0.4);
 }

 .pkg-badge.trending {
     background: var(--dark-blue);
 }

 .pkg-body {
     padding: 22px;
 }

 .pkg-rating {
     color: var(--orange);
     font-size: 0.82rem;
     margin-bottom: 6px;
 }

 .pkg-title {
     font-family: 'Playfair Display', serif;
     font-size: 1.25rem;
     font-weight: 800;
     color: var(--dark-blue);
     margin-bottom: 4px;
 }

 .pkg-duration {
     font-size: 0.8rem;
     color: var(--grey-text);
     font-weight: 500;
     margin-bottom: 14px;
 }

 .pkg-features {
     list-style: none;
     padding: 0;
     margin: 0 0 16px;
 }

 .pkg-features li {
     font-size: 0.82rem;
     color: var(--grey-text);
     display: flex;
     align-items: center;
     gap: 8px;
     margin-bottom: 6px;
 }

 .pkg-features li i {
     color: var(--orange);
     font-size: 0.88rem;
 }

 .pkg-footer {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding-top: 16px;
     border-top: 1.5px solid var(--grey-mid);
 }

 .pkg-price {
     font-family: 'Playfair Display', serif;
     font-size: 1.5rem;
     font-weight: 800;
     color: var(--dark-blue);
 }

 .pkg-price span {
     font-size: 0.8rem;
     font-weight: 400;
     color: var(--grey-text);
     font-family: 'Poppins', sans-serif;
 }

 .btn-pkg {
     background: var(--orange);
     color: #fff;
     border: none;
     border-radius: 50px;
     padding: 9px 22px;
     font-size: 0.82rem;
     font-weight: 700;
     transition: all var(--transition);
     text-decoration: none;
 }

 .btn-pkg:hover {
     background: #e07a0a;
     color: #fff;
     transform: translateY(-2px);
     box-shadow: 0 8px 24px rgba(246, 135, 18, 0.4);
 }

 /* ─── WHY CHOOSE US ─── */
 #why {
     background: #fff;
 }

 .why-card {
     background: var(--grey-light);
     border-radius: var(--radius);
     padding: 36px 28px;
     text-align: center;
     transition: all var(--transition);
     border: 2px solid transparent;
     position: relative;
     overflow: hidden;
 }

 .why-card::before {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(135deg, var(--orange), #f6a012);
     opacity: 0;
     transition: opacity var(--transition);
     z-index: 0;
 }

 .why-card:hover {
     transform: translateY(-8px);
     box-shadow: var(--shadow-hover);
     border-color: var(--orange);
 }

 .why-card:hover::before {
     opacity: 1;
 }

 .why-card:hover .why-icon,
 .why-card:hover .why-title,
 .why-card:hover .why-desc {
     color: #fff;
 }

 .why-card:hover .why-icon-wrap {
     background: rgba(255, 255, 255, 0.2);
 }

 .why-card>* {
     position: relative;
     z-index: 1;
 }

 .why-icon-wrap {
     width: 64px;
     height: 64px;
     border-radius: 16px;
     background: rgba(246, 135, 18, 0.12);
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto 20px;
     transition: background var(--transition);
 }

 .why-icon {
     font-size: 1.8rem;
     color: var(--orange);
     transition: color var(--transition);
 }

 .why-title {
     font-weight: 700;
     font-size: 1.05rem;
     color: var(--dark-blue);
     margin-bottom: 10px;
     transition: color var(--transition);
 }

 .why-desc {
     font-size: 0.84rem;
     color: var(--grey-text);
     line-height: 1.7;
     transition: color var(--transition);
 }

 /* ─── EXPERIENCE / TIMELINE ─── */
 #experience {
     background: var(--grey-light);
 }

 .exp-timeline {
     position: relative;
     padding: 20px 0;
 }

 .exp-timeline::before {
     content: '';
     position: absolute;
     left: 50%;
     top: 0;
     bottom: 0;
     width: 3px;
     background: linear-gradient(to bottom, var(--orange), var(--dark-blue));
     border-radius: 3px;
     transform: translateX(-50%);
 }

 .exp-item {
     position: relative;
     margin-bottom: 60px;
 }

 .exp-item:last-child {
     margin-bottom: 0;
 }

 .exp-dot {
     position: absolute;
     left: 50%;
     top: 28px;
     transform: translateX(-50%);
     width: 52px;
     height: 52px;
     background: var(--orange);
     border-radius: 50%;
     border: 4px solid #fff;
     box-shadow: 0 4px 16px rgba(246, 135, 18, 0.4);
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     font-size: 1.2rem;
     z-index: 2;
 }

 .exp-content {
     background: #fff;
     border-radius: var(--radius);
     padding: 28px;
     box-shadow: var(--shadow-card);
     max-width: 42%;
     transition: box-shadow var(--transition), transform var(--transition);
 }

 .exp-content:hover {
     box-shadow: var(--shadow-hover);
     transform: translateY(-4px);
 }

 .exp-item:nth-child(odd) .exp-content {
     margin-left: 0;
 }

 .exp-item:nth-child(even) .exp-content {
     margin-left: auto;
 }

 .exp-step {
     font-size: 0.72rem;
     font-weight: 700;
     color: var(--orange);
     letter-spacing: 0.1em;
     text-transform: uppercase;
     margin-bottom: 6px;
 }

 .exp-title {
     font-family: 'Playfair Display', serif;
     font-size: 1.3rem;
     font-weight: 800;
     color: var(--dark-blue);
     margin-bottom: 8px;
 }

 .exp-desc {
     font-size: 0.85rem;
     color: var(--grey-text);
     line-height: 1.7;
 }

 @media (max-width: 767px) {
     .exp-timeline::before {
         left: 22px;
     }

     .exp-dot {
         left: 22px;
     }

     .exp-content {
         max-width: calc(100% - 60px);
         margin-left: 60px !important;
     }
 }

 /* ─── GALLERY ─── */
 #gallery {
     background: #fff;
 }

 .gallery-masonry {
     columns: 3;
     column-gap: 16px;
 }

 @media (max-width: 767px) {
     .gallery-masonry {
         columns: 2;
     }
 }

 @media (max-width: 480px) {
     .gallery-masonry {
         columns: 1;
     }
 }

 .gallery-item {
     break-inside: avoid;
     margin-bottom: 16px;
     border-radius: var(--radius-sm);
     overflow: hidden;
     position: relative;
     cursor: pointer;
 }

 .gallery-item img {
     width: 100%;
     display: block;
     transition: transform 0.5s ease;
 }

 .gallery-item:hover img {
     transform: scale(1.06);
 }

 .gallery-overlay {
     position: absolute;
     inset: 0;
     background: rgba(4, 31, 63, 0.55);
     opacity: 0;
     transition: opacity var(--transition);
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .gallery-item:hover .gallery-overlay {
     opacity: 1;
 }

 .gallery-overlay i {
     font-size: 2.2rem;
     color: #fff;
 }

 /* Lightbox */
 .lightbox-overlay {
     position: fixed;
     inset: 0;
     background: rgba(4, 31, 63, 0.96);
     z-index: 9999;
     display: none;
     align-items: center;
     justify-content: center;
 }

 .lightbox-overlay.open {
     display: flex;
 }

 .lightbox-img {
     max-width: 90vw;
     max-height: 88vh;
     border-radius: 12px;
     box-shadow: 0 20px 80px rgba(0, 0, 0, 0.5);
 }

 .lightbox-close {
     position: absolute;
     top: 22px;
     right: 28px;
     font-size: 2rem;
     color: rgba(255, 255, 255, 0.75);
     cursor: pointer;
     transition: color var(--transition);
 }

 .lightbox-close:hover {
     color: var(--orange);
 }

 /* ─── TESTIMONIALS ─── */
 #testimonials {
     background: var(--dark-blue);
 }

 #testimonials .section-label {
     color: var(--orange);
 }

 #testimonials .section-title {
     color: #fff;
 }

 .testi-slider-wrap {
     position: relative;
     overflow: hidden;
 }

 .testi-track {
     display: flex;
     transition: transform 0.6s cubic-bezier(.4, 0, .2, 1);
     cursor: grab;
     user-select: none;
 }

 .testi-track:active {
     cursor: grabbing;
 }

 .testi-slide {
     min-width: 100%;
     padding: 0 8px;
 }

 @media (min-width: 768px) {
     .testi-slide {
         min-width: 50%;
     }
 }

 @media (min-width: 1024px) {
     .testi-slide {
         min-width: 33.333%;
     }
 }

 .testi-card {
     background: rgba(255, 255, 255, 0.07);
     border: 1px solid rgba(255, 255, 255, 0.12);
     border-radius: var(--radius);
     padding: 32px 28px;
     backdrop-filter: blur(12px);
     height: 100%;
     transition: background var(--transition), transform var(--transition);
 }

 .testi-card:hover {
     background: rgba(255, 255, 255, 0.13);
     transform: translateY(-5px);
 }

 .testi-quote {
     font-size: 2.5rem;
     color: var(--orange);
     line-height: 1;
     margin-bottom: 14px;
     font-family: serif;
 }

 .testi-text {
     font-size: 0.9rem;
     color: rgba(255, 255, 255, 0.82);
     line-height: 1.75;
     margin-bottom: 22px;
     font-style: italic;
 }

 .testi-person {
     display: flex;
     align-items: center;
     gap: 14px;
 }

 .testi-avatar {
     width: 50px;
     height: 50px;
     border-radius: 50%;
     object-fit: cover;
     border: 3px solid var(--orange);
 }

 .testi-name {
     font-weight: 700;
     color: #fff;
     font-size: 0.9rem;
 }

 .testi-role {
     font-size: 0.76rem;
     color: rgba(255, 255, 255, 0.55);
 }

 .testi-stars {
     color: var(--orange);
     font-size: 0.78rem;
     margin-bottom: 3px;
 }

 .testi-controls {
     display: flex;
     justify-content: center;
     gap: 10px;
     margin-top: 36px;
 }

 .testi-dot {
     width: 8px;
     height: 8px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.3);
     cursor: pointer;
     transition: all var(--transition);
 }

 .testi-dot.active {
     background: var(--orange);
     width: 24px;
     border-radius: 4px;
 }

 .testi-arrow {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     width: 44px;
     height: 44px;
     background: rgba(255, 255, 255, 0.1);
     border: 1.5px solid rgba(255, 255, 255, 0.2);
     border-radius: 50%;
     color: #fff;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: all var(--transition);
     z-index: 5;
     font-size: 1rem;
 }

 .testi-arrow:hover {
     background: var(--orange);
     border-color: var(--orange);
 }

 .testi-arrow.prev {
     left: -16px;
 }

 .testi-arrow.next {
     right: -16px;
 }

 /* ─── CTA ─── */
 #cta {
     background: linear-gradient(135deg, var(--dark-blue) 0%, #073a75 100%);
     padding: 100px 0;
     text-align: center;
     position: relative;
     overflow: hidden;
 }

 #cta::before {
     content: '';
     position: absolute;
     width: 600px;
     height: 600px;
     border-radius: 50%;
     background: radial-gradient(circle, rgba(246, 135, 18, 0.15) 0%, transparent 70%);
     top: -200px;
     right: -100px;
 }

 #cta::after {
     content: '';
     position: absolute;
     width: 400px;
     height: 400px;
     border-radius: 50%;
     background: radial-gradient(circle, rgba(246, 135, 18, 0.1) 0%, transparent 70%);
     bottom: -150px;
     left: -80px;
 }

 .cta-inner {
     position: relative;
     z-index: 1;
 }

 .cta-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2rem, 5vw, 3.5rem);
     font-weight: 900;
     color: #fff;
     margin-bottom: 18px;
 }

 .cta-title span {
     color: var(--orange);
 }

 .cta-sub {
     font-size: 1.05rem;
     color: rgba(255, 255, 255, 0.75);
     margin-bottom: 40px;
 }

 .btn-cta-main {
     background: var(--orange);
     color: #fff;
     border: none;
     border-radius: 50px;
     padding: 16px 48px;
     font-size: 1.05rem;
     font-weight: 700;
     transition: all var(--transition);
     box-shadow: 0 8px 36px rgba(246, 135, 18, 0.5);
     animation: pulse-glow 2.5s ease-in-out infinite;
 }

 .btn-cta-main:hover {
     background: #e07a0a;
     transform: translateY(-3px);
     color: #fff;
     animation: none;
     box-shadow: 0 16px 48px rgba(246, 135, 18, 0.6);
 }

 @keyframes pulse-glow {

     0%,
     100% {
         box-shadow: 0 8px 36px rgba(246, 135, 18, 0.5);
     }

     50% {
         box-shadow: 0 8px 48px rgba(246, 135, 18, 0.8), 0 0 0 8px rgba(246, 135, 18, 0.12);
     }
 }

 /* ─── CONTACT ─── */
 #contact {
     background: var(--grey-light);
 }

 .contact-info-card {
     background: var(--dark-blue);
     border-radius: var(--radius);
     padding: 44px 36px;
     color: #fff;
     height: 100%;
 }

 .contact-info-item {
     display: flex;
     gap: 18px;
     margin-bottom: 30px;
     align-items: flex-start;
 }

 .contact-icon-wrap {
     width: 48px;
     height: 48px;
     border-radius: 12px;
     background: rgba(246, 135, 18, 0.18);
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .contact-icon-wrap i {
     font-size: 1.2rem;
     color: var(--orange);
 }

 .contact-info-label {
     font-size: 0.72rem;
     color: rgba(255, 255, 255, 0.5);
     letter-spacing: 0.08em;
     text-transform: uppercase;
     font-weight: 600;
     margin-bottom: 3px;
 }

 .contact-info-val {
     font-size: 0.9rem;
     color: rgba(255, 255, 255, 0.88);
     line-height: 1.6;
 }

 .contact-form-card {
     background: #fff;
     border-radius: var(--radius);
     padding: 44px 36px;
     box-shadow: var(--shadow-card);
 }

 .form-floating-custom {
     position: relative;
     margin-bottom: 20px;
 }

 .form-floating-custom input,
 .form-floating-custom textarea {
     width: 100%;
     border: 1.5px solid var(--grey-mid);
     border-radius: var(--radius-sm);
     padding: 20px 16px 8px;
     font-family: 'Poppins', sans-serif;
     font-size: 0.9rem;
     color: var(--dark-blue);
     outline: none;
     transition: border-color var(--transition), box-shadow var(--transition);
     background: var(--grey-light);
     resize: none;
 }

 .form-floating-custom input:focus,
 .form-floating-custom textarea:focus {
     border-color: var(--orange);
     box-shadow: 0 0 0 3px rgba(246, 135, 18, 0.1);
     background: #fff;
 }

 .form-floating-custom label {
     position: absolute;
     left: 16px;
     top: 14px;
     font-size: 0.85rem;
     color: var(--grey-text);
     pointer-events: none;
     transition: all var(--transition);
     font-weight: 500;
 }

 .form-floating-custom input:focus~label,
 .form-floating-custom input:not(:placeholder-shown)~label,
 .form-floating-custom textarea:focus~label,
 .form-floating-custom textarea:not(:placeholder-shown)~label {
     top: 5px;
     font-size: 0.7rem;
     color: var(--orange);
     font-weight: 600;
     letter-spacing: 0.06em;
 }

 .btn-contact-submit {
     background: var(--orange);
     color: #fff;
     border: none;
     border-radius: var(--radius-sm);
     padding: 14px 36px;
     font-weight: 700;
     font-size: 0.95rem;
     width: 100%;
     transition: all var(--transition);
     box-shadow: 0 6px 24px rgba(246, 135, 18, 0.35);
 }

 .btn-contact-submit:hover {
     background: #e07a0a;
     transform: translateY(-2px);
     box-shadow: 0 12px 36px rgba(246, 135, 18, 0.5);
 }

 /* ─── FOOTER ─── */
 footer {
     background: var(--dark-blue);
     padding-top: 70px;
     color: rgba(255, 255, 255, 0.75);
     position: relative;
 }

 footer::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 4px;
     background: linear-gradient(90deg, var(--orange), #f6a012, var(--orange));
 }

 .footer-brand {
     font-family: 'Playfair Display', serif;
     font-size: 1.5rem;
     font-weight: 800;
     color: #fff;
 }

 .footer-brand span {
     color: var(--orange);
 }

 .footer-desc {
     font-size: 0.84rem;
     line-height: 1.75;
     margin: 14px 0 22px;
     color: rgba(255, 255, 255, 0.6);
 }

 .footer-socials {
     display: flex;
     gap: 10px;
 }

 .footer-social-btn {
     width: 38px;
     height: 38px;
     border-radius: 10px;
     background: rgba(255, 255, 255, 0.08);
     border: 1.5px solid rgba(255, 255, 255, 0.12);
     display: flex;
     align-items: center;
     justify-content: center;
     color: rgba(255, 255, 255, 0.7);
     font-size: 0.95rem;
     transition: all var(--transition);
     text-decoration: none;
 }

 .footer-social-btn:hover {
     background: var(--orange);
     border-color: var(--orange);
     color: #fff;
     transform: translateY(-3px);
 }

 .footer-heading {
     font-size: 0.9rem;
     font-weight: 700;
     color: #fff;
     margin-bottom: 18px;
     letter-spacing: 0.04em;
 }

 .footer-links {
     list-style: none;
     padding: 0;
     margin: 0;
 }

 .footer-links li {
     margin-bottom: 10px;
 }

 .footer-links a {
     font-size: 0.84rem;
     color: rgba(255, 255, 255, 0.6);
     text-decoration: none;
     transition: color var(--transition), padding-left var(--transition);
     display: inline-block;
 }

 .footer-links a:hover {
     color: var(--orange);
     padding-left: 5px;
 }

 .footer-newsletter-input {
     display: flex;
     gap: 0;
     border-radius: 10px;
     overflow: hidden;
     border: 1.5px solid rgba(255, 255, 255, 0.15);
 }

 .footer-newsletter-input input {
     background: rgba(255, 255, 255, 0.06);
     border: none;
     outline: none;
     padding: 12px 16px;
     font-family: 'Poppins', sans-serif;
     font-size: 0.84rem;
     color: #fff;
     flex: 1;
 }

 .footer-newsletter-input input::placeholder {
     color: rgba(255, 255, 255, 0.4);
 }

 .footer-newsletter-input button {
     background: var(--orange);
     border: none;
     padding: 12px 18px;
     color: #fff;
     font-weight: 600;
     font-size: 0.84rem;
     cursor: pointer;
     transition: background var(--transition);
 }

 .footer-newsletter-input button:hover {
     background: #e07a0a;
 }

 .footer-bottom {
     border-top: 1px solid rgba(255, 255, 255, 0.08);
     padding: 22px 0;
     margin-top: 50px;
     display: flex;
     justify-content: space-between;
     align-items: center;
     flex-wrap: wrap;
     gap: 10px;
 }

 .footer-bottom p {
     font-size: 0.8rem;
     color: rgba(255, 255, 255, 0.45);
     margin: 0;
 }

 .footer-bottom a {
     color: var(--orange);
     text-decoration: none;
 }

 /* ─── BACK TO TOP ─── */
 .back-top {
     position: fixed;
     bottom: 30px;
     right: 30px;
     width: 46px;
     height: 46px;
     background: var(--orange);
     color: #fff;
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.1rem;
     box-shadow: 0 6px 24px rgba(246, 135, 18, 0.45);
     transition: all var(--transition);
     opacity: 0;
     pointer-events: none;
     z-index: 999;
     text-decoration: none;
 }

 .back-top.show {
     opacity: 1;
     pointer-events: auto;
 }

 .back-top:hover {
     background: #e07a0a;
     transform: translateY(-3px);
     color: #fff;
 }

 /* ─── UTILITY ─── */
 .text-orange {
     color: var(--orange) !important;
 }

 .bg-orange {
     background: var(--orange) !important;
 }

 .mb-n3 {
     margin-bottom: -20px;
 }

 @media (max-width: 767px) {
     .hero-arrow {
         display: none;
     }

     .search-card {
         padding: 24px 18px;
     }

     .about-img {
         height: 320px;
         max-width: 100%;
     }

     .about-badge-img {
         right: 10px;
         bottom: -10px;
     }

     .hero-title {

         font-size: 22px;
     }

 }

 a.nav-link.btn-nav-cta {
     padding: 9px 28px !important;
 }

 .logo-img {
     width: 223px;
 }

 section#testimonials {
     display: none;
 }

 .why-card {
     box-shadow: rgb(0 0 0) 0px 3px 8px;
 }




 /* Container */
 .sw-container {
     width: 90%;
     max-width: 1200px;
     margin: auto;
 }

 /* Breadcrumb Section */
 .sw-breadcrumb {
     background: linear-gradient(135deg, #0b2a4a, #0e3a66);
     padding: 60px 0 40px;
     color: #fff;
     position: relative;
     overflow: hidden;
 }

 /* subtle pattern */
 .sw-breadcrumb::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: url('https://www.transparenttextures.com/patterns/cubes.png');
     opacity: 0.05;
 }

 /* Wrapper */
 .sw-breadcrumb-wrapper {
     position: relative;
     z-index: 2;
 }

 /* Page Title */
 .sw-page-title {
     font-size: 32px;
     font-weight: 700;
     margin-bottom: 10px;
     letter-spacing: 0.5px;
 }

 /* Breadcrumb Nav */
 .sw-breadcrumb-nav {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     font-size: 15px;
 }

 /* Links */
 .sw-breadcrumb-link {
     color: #cfd8e3;
     text-decoration: none;
     transition: all 0.3s ease;
     position: relative;
 }

 .sw-breadcrumb-link:hover {
     color: #ff8c00;
 }

 /* Separator */
 .sw-breadcrumb-separator {
     margin: 0 8px;
     color: #8899aa;
 }

 /* Current Page */
 .sw-breadcrumb-current {
     color: #ff8c00;
     font-weight: 600;
 }

 .sw-breadcrumb-wrapper {
     background: rgba(255, 255, 255, 0.05);
     padding: 20px 25px;
     border-radius: 12px;
     backdrop-filter: blur(8px);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
 }



 /* Responsive */
 @media (max-width: 768px) {
     .sw-page-title {
         font-size: 24px;
     }

     .sw-breadcrumb-nav {
         font-size: 14px;
     }
 }
















 /* ----- section styling (updated) ----- */
 .tour-section {
     padding: 80px 0;
     background: linear-gradient(145deg, #ffffff 0%, #fef9f0 100%);
 }

 /* text elements */
 .section-label-new {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     background: #ffe6d5;
     padding: 6px 18px;
     border-radius: 60px;
     font-size: 0.85rem;
     font-weight: 600;
     letter-spacing: 0.5px;
     color: #c2410c;
     text-transform: uppercase;
     margin-bottom: 20px;
     backdrop-filter: blur(2px);
 }

 .section-label-new i {
     font-size: 0.9rem;
 }

 .section-title-new {
     font-size: 2.6rem;
     font-weight: 800;
     color: #1e293b;
     margin-bottom: 1rem;
     letter-spacing: -0.02em;
 }

 .section-title-new span {
     background: linear-gradient(135deg, #f97316, #dc2626);
     background-clip: text;
     -webkit-background-clip: text;
     color: transparent;
     display: inline-block;
 }

 .section-sub-new {
     color: #475569;
     font-size: 1.08rem;
     max-width: 620px;
     margin-left: auto;
     margin-right: auto;
     line-height: 1.5;
 }

 /* ----- MODERN CARD (completely new class names) ----- */
 .voyage-card {
     background: #ffffff;
     border-radius: 32px;
     overflow: hidden;
     transition: all 0.3s ease;
     box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.02);
     border: 1px solid rgba(249, 115, 22, 0.12);
     height: 100%;
     display: flex;
     flex-direction: column;
 }

 .voyage-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 25px 35px -12px rgba(0, 0, 0, 0.15);
     border-color: rgba(249, 115, 22, 0.3);
 }

 /* image wrapper */
 .card-media {
     position: relative;
     height: 220px;
     overflow: hidden;
     background: #e2e8f0;
 }

 .card-media img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.5s ease;
 }

 .voyage-card:hover .card-media img {
     transform: scale(1.05);
 }

 /* badge modern */
 .trip-badge {
     position: absolute;
     top: 14px;
     left: 14px;
     background: rgba(0, 0, 0, 0.7);
     backdrop-filter: blur(8px);
     padding: 5px 14px;
     border-radius: 40px;
     font-size: 0.7rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     color: white;
     z-index: 2;
     box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
 }

 .trip-badge.popular {
     background: linear-gradient(105deg, #f97316, #ea580c);
     color: white;
 }

 .trip-badge.trending {
     background: linear-gradient(105deg, #2dd4bf, #0f766e);
 }

 .trip-badge.new {
     background: linear-gradient(105deg, #8b5cf6, #6d28d9);
 }

 .trip-badge.couple {
     background: linear-gradient(105deg, #ec489a, #be185d);
 }

 /* card body */
 .card-content {
     padding: 1.5rem 1.3rem 1.3rem;
     flex: 1;
     display: flex;
     flex-direction: column;
 }

 .dest-title {
     font-size: 1.55rem;
     font-weight: 800;

     margin-bottom: 0.25rem;
     letter-spacing: -0.3px;
 }

 h3.dest-title {
     color: black;
 }



 .duration-chip {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     background: #fff1e6;
     padding: 4px 12px;
     border-radius: 50px;
     font-size: 0.75rem;
     font-weight: 600;
     color: #c2410c;
     margin: 12px 0 10px 0;
     width: fit-content;
 }

 .duration-chip i {
     font-size: 0.7rem;
 }

 .feature-list {
     display: flex;
     flex-wrap: wrap;
     gap: 12px;
     margin: 12px 0 20px 0;
     list-style: none;
     padding-left: 0;
 }

 .feature-list li {
     font-size: 0.8rem;
     font-weight: 500;
     background: #f1f5f9;
     padding: 5px 12px;
     border-radius: 30px;
     color: #334155;
     display: inline-flex;
     align-items: center;
     gap: 6px;
 }

 .feature-list li i {
     font-size: 0.7rem;
     color: #f97316;
 }

 /* ********** PRICE ROW - BETTER VIEW FOR GENDER PRICES ********** */
 .price-dual {
     background: #fefce8;
     border-radius: 20px;
     padding: 12px 16px;
     margin: 10px 0 18px 0;
     display: flex;
     align-items: center;
     justify-content: space-between;
     flex-wrap: wrap;
     gap: 10px;
     border: 1px solid #ffedd5;
     transition: all 0.2s;
 }

 .price-item {
     display: flex;
     align-items: baseline;
     gap: 6px;
     background: white;
     padding: 5px 14px;
     border-radius: 60px;
     box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
 }

 .gender-icon {
     font-size: 1rem;
     font-weight: 600;
 }

 .gender-icon.male {
     color: #2563eb;
 }

 .gender-icon.female {
     color: #db2777;
 }

 .price-amount {
     font-weight: 800;
     font-size: 1.3rem;
     line-height: 1.2;
     color: #1e293b;
     letter-spacing: -0.5px;
 }

 .price-currency {
     font-size: 0.8rem;
     font-weight: 600;
     color: #f97316;
     margin-right: 2px;
 }

 .price-item small {
     font-size: 0.7rem;
     font-weight: 500;
     color: #64748b;
 }

 /* stylish divider or label */
 .price-label-tag {
     font-size: 0.7rem;
     font-weight: 700;
     background: #fff0db;
     padding: 3px 10px;
     border-radius: 40px;
     color: #b45309;
 }

 /* book button */
 .btn-modern {
     background: #0f172a;
     color: white;
     border: none;
     padding: 12px 0;
     border-radius: 50px;
     font-weight: 700;
     font-size: 0.9rem;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 10px;
     transition: all 0.25s;
     text-decoration: none;
     letter-spacing: 0.3px;
     margin-top: auto;
     width: 100%;
 }

 .btn-modern:hover {
     background: #f97316;
     color: white;
     transform: scale(0.98);
     box-shadow: 0 8px 20px rgba(249, 115, 22, 0.3);
 }

 .btn-modern i {
     font-size: 0.9rem;
     transition: transform 0.2s;
 }

 .btn-modern:hover i {
     transform: translateX(4px);
 }

 /* responsive */
 @media (max-width: 768px) {
     .tour-section {
         padding: 50px 0;
     }

     .section-title-new {
         font-size: 2rem;
     }

     .price-dual {
         flex-direction: column;
         align-items: stretch;
     }

     .price-item {
         justify-content: space-between;
     }

     .dest-title {
         font-size: 1.4rem;
     }
 }




 /* tour hero section */
 .tour-hero {
     background: linear-gradient(105deg, #0f172a 0%, #1e293b 100%);
     padding: 3rem 0 2.5rem;
     color: white;
     position: relative;
 }

 .tour-hero .container {
     position: relative;
     z-index: 2;
 }

 .tour-breadcrumb {
     font-size: 0.85rem;
     margin-bottom: 1rem;
 }

 .tour-breadcrumb a {
     color: #facc15;
     text-decoration: none;
 }

 .tour-title {
     font-size: 2.8rem;
     font-weight: 800;
     letter-spacing: -0.02em;
     margin-bottom: 0.5rem;
 }

 .tour-badge-group {
     display: flex;
     gap: 12px;
     flex-wrap: wrap;
     margin: 1rem 0;
 }

 .info-badge {
     background: rgba(255, 255, 255, 0.15);
     backdrop-filter: blur(4px);
     padding: 6px 14px;
     border-radius: 40px;
     font-size: 0.8rem;
     font-weight: 500;
 }

 .review-stars {
     color: #fbbf24;
     margin-top: 8px;
 }

 /* main layout */
 .tour-main {
     margin-top: -2rem;
     padding-bottom: 4rem;
 }

 .content-card {
     background: white;
     border-radius: 28px;
     box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.1);
     padding: 2rem;
     margin-bottom: 2rem;
 }

 .section-head {
     font-size: 1.6rem;
     font-weight: 700;
     border-left: 5px solid #f97316;
     padding-left: 1rem;
     margin-bottom: 1.5rem;
 }

 .overview-text {
     line-height: 1.6;
     color: #334155;
 }

 .highlights-grid {
     display: flex;
     flex-wrap: wrap;
     gap: 1rem;
     margin: 1.5rem 0;
 }

 .highlight-chip {
     background: #fff1e6;
     padding: 8px 18px;
     border-radius: 50px;
     font-weight: 500;
     font-size: 0.85rem;
 }

 /* itinerary timeline */
 .itinerary-item {
     display: flex;
     gap: 1rem;
     margin-bottom: 1.8rem;
     border-bottom: 1px solid #eef2ff;
     padding-bottom: 1.2rem;
 }

 .it-day {
     min-width: 80px;
     font-weight: 800;
     color: #f97316;
     font-size: 1.2rem;
 }

 .it-desc h4 {
     font-size: 1.1rem;
     font-weight: 700;
 }

 /* gallery grid */
 .gallery-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 1rem;
 }

 .gallery-item {
     border-radius: 20px;
     overflow: hidden;
     aspect-ratio: 1 / 1;
     cursor: pointer;
 }

 .gallery-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: 0.3s;
 }

 .gallery-item img:hover {
     transform: scale(1.03);
 }

 /* SIDEBAR STICKY */
 .sticky-sidebar {
     position: sticky;
     top: 2rem;
 }

 .booking-card {
     background: white;
     border-radius: 28px;
     box-shadow: 0 20px 30px -12px rgba(0, 0, 0, 0.15);
     padding: 1.5rem;
     border: 1px solid #ffe2cc;
 }

 .price-gender {
     background: #fef3c7;
     border-radius: 20px;
     padding: 0.8rem;
     margin: 1rem 0;
 }

 .price-row-side {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 8px 0;
     border-bottom: 1px dashed #fed7aa;
 }

 .price-row-side:last-child {
     border-bottom: none;
 }

 .gender-badge {
     font-weight: 700;
 }

 .gender-badge.male i {
     color: #2563eb;
 }

 .gender-badge.female i {
     color: #db2777;
 }

 .total-price {
     font-weight: 800;
     font-size: 1.5rem;
     color: #f97316;
 }

 .form-control-custom {
     border-radius: 50px;
     padding: 12px 18px;
     border: 1px solid #e2e8f0;
     margin-bottom: 1rem;
 }

 .btn-book-now {
     background: #f97316;
     border: none;
     padding: 12px;
     font-weight: 700;
     border-radius: 60px;
     width: 100%;
     color: white;
     transition: 0.2s;
 }

 .btn-book-now:hover {
     background: #ea580c;
     transform: scale(0.98);
 }

 @media (max-width: 768px) {
     .tour-title {
         font-size: 1.8rem;
     }

     .content-card {
         padding: 1.2rem;
     }

     .sticky-sidebar {
         position: relative;
         top: 0;
         margin-top: 2rem;
     }
 }




 .dsd {
     border-radius: 20px;
     margin-top: 20px;
 }