


@media (max-width: 991px) { 
    .inner-page .site-header .custom-nav-dropdown .nav-drop-icon{color : #e52f34 !important;}
    .site-header .nav-drop-icon{color : #e52f34 !important;}

    .hero-section .hero-title { font-size: 3rem; padding-top: 40px; } 
    .hero-section .hero-subtitle { font-size: 16px; line-height: 24px; }
    .site-header .navbar-toggler { z-index: 1001; position: relative; border: none; outline: none; box-shadow: none !important; font-size: 22px; }
    .site-header .navbar-collapse {   display: block !important;   position: fixed;   top: 0;    left: -100%;    width: 100%;    max-width: 100%;    height: 100vh !important;   background: rgba(0,0,0,0.95); padding: 80px 20px 50px;  margin-top: 0; transition: left 0.3s ease-in-out !important; z-index: 1000; overflow-y: auto; }
    .site-header .navbar-toggler[aria-expanded="true"] + .navbar-collapse { left: 0; }
    .site-header .navbar-toggler[aria-expanded="true"] .menu-icon { display: none; }
    .site-header .navbar-toggler[aria-expanded="true"] .close-icon { display: inline-block !important; }
    .site-header .navbar-nav .nav-link { width: fit-content; display: inline-block; margin-bottom: 10px; }
    .site-header .navbar-nav .nav-link::after { bottom: -2px; }
    .sixth-sec .departure-card { flex-direction: column; text-align: center; padding: 30px 20px; } 
    .sixth-sec .departure-card .content-side { width: 100%; padding-right: 0; margin-bottom: 30px; } 
    .sixth-sec .departure-card .image-side { position: relative; right: 0; top: 0; transform: none; width: 80%; margin: 0 auto; }
    /* The mobile menu opens as a dark full-screen panel, so its links stay white. */
    .site-header .navbar-collapse .nav-link,
    .site-header .navbar.scrolled .nav-link {   color: #ffffff !important;}
    /* The toggler sits on the white header bar, so it must be red, not white. */
    .site-header .navbar-toggler i, .site-header .navbar-toggler span {    color: #e52f34 !important;}
    .site-header .navbar.scrolled .navbar-toggler i, .site-header .navbar.scrolled .navbar-toggler span {
    color: #e52f34 !important;}
    
    /* Mobile Dropdown Styling */
    .site-header .dropdown-menu { background-color: #1a1a1a; border: 1px solid rgba(255, 255, 255, 0.1); margin-top: 15px; margin-bottom: 25px; box-shadow: none; }
    .site-header .dropdown-menu li { border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important; }
    .site-header .dropdown-item { color: #f0f0f0 !important; background-color: transparent !important; }
    .site-header .dropdown-item:active { background-color: rgba(229, 47, 52, 0.15) !important; color: #fff !important; }

    /* Mega menu inside the dark mobile drawer: an in-flow card the chevron
       opens, two destinations per row instead of six. The panel is a flex
       sibling of the nav link here, so it has to claim a full row of its own
       instead of being squeezed in beside it. */
    .site-header .custom-nav-dropdown { flex-wrap: wrap; }
    .site-header .mega-menu { display: none; flex: 0 0 100%; position: static; width: 100%; padding: 14px; margin: 5px 0 22px; background-color: #1a1a1a; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; box-shadow: none; }
    .site-header .mega-menu.manual-show { display: block; }
    .site-header .mega-menu > .container { width: 100%; max-width: 100%; padding: 0; margin: 0; }
    .site-header .mega-menu-head { margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
    .site-header .mega-menu-title { font-size: 13px; color: #ffffff; }
    .site-header .mega-menu-hint { color: #9a9a9a; font-size: 12px; }
    .site-header .mega-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .site-header .mega-menu-item { padding: 7px 8px; font-size: 14px; color: #f0f0f0; }
    .site-header .mega-menu-item:hover, .site-header .mega-menu-item:active { background-color: rgba(229, 47, 52, 0.15); border-color: rgba(229, 47, 52, 0.35); color: #ffffff; }
    .site-header .mega-menu-thumb { flex: 0 0 32px; width: 32px; height: 32px; background-color: #2a2a2a; }
    .site-header .mega-menu-empty { color: #bbbbbb; font-size: 14px; }
    .site-header .mega-menu-foot { justify-content: center; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.1); }
    .site-header .mega-menu-more { padding: 9px 22px; font-size: 14px; }

    /* Disable sticky hover effects on mobile header links, but keep active/open states styled */
    .site-header .navbar-nav .nav-item:hover > .nav-link:not(.active):not(.show):not([aria-expanded="true"]) { color: #ffffff !important; }
    .site-header .navbar-nav .nav-item:hover > .nav-link:not(.active):not(.show):not([aria-expanded="true"])::after { width: 0; }
    
    .site-header .navbar-nav .nav-link.active,
    .site-header .navbar-nav .nav-link.show,
    .site-header .navbar-nav .nav-link[aria-expanded="true"] { color: var(--primary-red) !important; }
    
    .site-header .navbar-nav .nav-link.active::after,
    .site-header .navbar-nav .nav-link.show::after,
    .site-header .navbar-nav .nav-link[aria-expanded="true"]::after { width: 100%; }
    
    .site-header .navbar-nav .nav-link:active:not(.active):not(.show):not([aria-expanded="true"]),
    .site-header .navbar-nav .nav-link:focus:not(.active):not(.show):not([aria-expanded="true"]) { color: var(--primary-red) !important; }
    
    .site-header .navbar-nav .nav-link:active:not(.active):not(.show):not([aria-expanded="true"])::after,
    .site-header .navbar-nav .nav-link:focus:not(.active):not(.show):not([aria-expanded="true"])::after { width: 100%; }
    
    /* Blog Hero Responsiveness */
    .blog-hero-section { height: 350px; min-height: 350px; }
    .blog-hero-title { font-size: 40px; }
    .inner-page .site-header .navbar .nav-link { color: #ffffff !important; }

    .blog-hero-overlay{background:rgba(0,0,0,.3);}
    .blog-title{font-size: 26px; line-height: 36px;}
    .blog-main-content{margin-bottom: 30px;}
    .testimonials-sec .testi-sec-title{font-size: 30px; line-height: 38px;}
    .video-testimonials-sec .video-testimonials-title{font-size: 30px; line-height: 38px;}
    .about-destination-img{margin-top: 30px;}
    .highlights-section .highlights-heading{margin-top: 30px;}
    .highlights-section .highlights-box{padding: 0px 20px 30px 20px;}
    .perfect-getaway-sec .perfect-getaway-title{font-size: 30px;}
    .about-destination-title{font-size: 30px;}
    .about-us-second-sec .text-sect{padding-right: 0px; margin: 30px 0px;}
    .about-us-third-sec .left-side-text-sec h2{font-size: 30px;}
    .about-us-mix-title{font-size: 30px;}
    .departure-card-btn{margin-top:30px !important;}
    .sixth-sec{padding:50px 0px 50px 0px;}
}

@media (max-width: 991px) { .seventh-sec .custom-gallery-grid { grid-template-columns: 1fr; }}


@media (max-width: 767px) {
    .section-title { font-size: 30px !important; }
    .fourth-sec .right-sec img{margin-top: 30px;}
    .fifth-sec .right-sec img{margin-bottom: 30px;}
    .sixth-sec .departure-card:last-child{margin-bottom: 0px !important; margin-top: 70px;}
    
    /* No fixed height: the hero is a full-bleed banner image now, not a
       background-image slide, so a 90vh floor just left white space under it. */
    .hero-section { height: auto; min-height: 0; }
    .hero-section .text-div { padding-left: 20px; padding-right: 20px; }
    .hero-section .hero-title { font-size: 2.2rem; padding-top: 20px; }
    .hero-section .hero-buttons { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; margin-top: 30px !important; }
    .hero-section .hero-buttons .btn { margin-right: 0 !important; width: fit-content; }
    .site-header .logo-img { height: 50px; }
    .hero-section .hero-slider::after { background: rgba(0, 0, 0, 0.6); }

    .custom-gap { padding-left: 20px !important; padding-right: 20px !important; }
    
    /* Footer responsiveness */
    .footer-sec .footer-logo { margin-top: 30px; }
    .footer-bottom .footer-bottom-inner { flex-direction: column; gap: 15px; text-align: center; }
    .footer-bottom .footer-bottom-center { flex-wrap: wrap; justify-content: center; }
    
    /* CTA section mobile adjustments */
    .cta-sec { padding: 60px 0; }
    .cta-sec .section-title { font-size: 28px !important; }
    .cta-sec .cta-btns { flex-direction: column; gap: 15px; }
    
    
    /* Stories card mobile margin */
    .eighth-sec .story-card { margin-bottom: 30px; }
    .footer-sec{padding: 30px 0 0;}
    
    /* Blog Hero Mobile Responsiveness */
    .blog-hero-section { height: 380px; min-height: 380px; }
    .blog-hero-title { font-size: 32px; }
}

@media(max-width:991px){.blog-cta-wrapper{min-height:380px;}.blog-cta-title{font-size:2.4rem;}}
@media(max-width:767px){.blog-cta-wrapper{min-height:320px;}.blog-cta-content{padding:50px 20px;}.blog-cta-title{font-size:30px;}.blog-cta-text br{display:none;}}


@media (min-width:1380px){
    .sixth-sec .section-title{margin-bottom: 80px;}
    .sixth-sec .departure-card-step-1{margin-bottom: 28%;}
}

@media (max-width: 370px) {
    .hero-section .hero-title{margin-top: 50px; font-size: 30px; line-height: 38px;}
    .hero-section .hero-buttons .btn{font-size: 16px;}
    .hero-section .swiper-button-prev, .hero-section .swiper-button-next{width: 40px; height: 40px;}
    .hero-section .slider-navigation{gap: 15px; bottom: 20px;}
}

@media (max-width:767px){
    .testimonial-cta-banner-sec .testimonial-cta-box{flex-direction:column;text-align:center;gap:30px;}
    .testimonial-cta-banner-sec .cta-content{text-align:center;}
    .testimonial-cta-banner-sec .cta-image{width:200px;}
    .testimonial-cta-banner-sec .cta-title{font-size:28px;}
    .blog-pagination .pagination {gap: 5px;}
    .blog-hero-sub-title{margin-top: 15px;}
    .contact-info-cards-sec .container{padding: 0px 30px;}
    .callback-features-sec .cb-feature-item{margin-bottom: 30px;}
    .callback-features-sec .callback-features-wrapper{padding: 40px 30px 10px 30px;}
}

@media(max-width:991px){.contact-info-cards-sec{margin-top:-70px;}}
@media(max-width:767px){.contact-info-cards-sec{margin-top:40px;}.contact-info-cards-sec .contact-card{padding:25px;}}
@media (max-width: 767px) { .adventure-cta-sec .adventure-buttons { flex-direction: column; } .adventure-cta-sec .adventure-title { font-size: 28px; } }

@media (max-width: 991px) { .request-callback-sec .left-panel, .request-callback-sec .right-panel { padding: 30px; } .request-callback-sec .left-panel { border-right: none; border-bottom: 1px solid #f0e9df; } }

@media(min-width:992px){
.faq-section .faq-left-column{margin-bottom:0;}
}

@media(max-width:991px){
.faq-section .faq-container{padding:35px 25px;}
.faq-section .faq-bg-img{max-width:180px;}
.faq-section .faq-left-column{margin-bottom:30px;}
.faq-section .faq-title{font-size:28px;}
.faq-section .custom-accordion .accordion-button{font-size:15px;padding:18px 0; line-height: 24px;}
.faq-section .custom-accordion .accordion-body{padding:0 0 18px 0;}
}

@media(max-width:767px){
.faq-section .faq-container{padding:25px 20px;}
.faq-section .faq-bg-img{display:none;}
.faq-section .faq-subtitle{font-size:16px;margin-bottom:8px;}
.faq-section .faq-left-column{margin-bottom:25px;}
.faq-section .custom-accordion .accordion-button::after{width:14px;height:14px;background-size:14px;}
.faq-section .custom-accordion .accordion-body{padding:0 0 16px 0;}
.faq-section .custom-accordion .accordion-body p{font-size:14px;line-height:22px;}
.faq-section .faq-list li{font-size:14px;line-height:20px;}
}



/* CTA Help Section Responsiveness */
@media(max-width:991px) {
    .cta-help-section { padding-bottom: 30px; margin-bottom: 10px; }
    .cta-help-box { padding: 25px 25px; }
    .cta-left-col { margin-bottom: 24px; }
    .cta-flex-wrap { flex-direction: column; align-items: center; text-align: center; }
    .cta-right-col { text-align: center; }
    .cta-buttons { justify-content: center; }
}
@media(max-width:767px) {
    .cta-title { font-size: 22px; line-height: 32px; }
    .cta-desc { font-size: 15px; max-width: 100%; }
    .btn-cta-solid, .btn-cta-outline { width: 100%; max-width: 300px; margin: 0 auto; justify-content: center; }
    .cta-buttons { gap: 10px; flex-direction: column; width: 100%; align-items: center; }
    .blog-cta-desc{margin-bottom: 20px;}
}

/* Itinerary Details Section Responsiveness */
@media(max-width:991px) {
    .itinerary-detail-sec { padding: 40px 0; }
    .itinerary-main-title { font-size: 24px; }
    .itinerary-content-box { padding: 30px 20px; }
    .itinerary-action-col { text-align: left; margin-top: 15px; }
}
@media(max-width:767px) {
    .itinerary-detail-sec { padding: 30px 0; }
    .itinerary-main-title { font-size: 22px; line-height: 30px; }
    .itinerary-content-box { padding: 30px 15px 0px 15px; }
    .itinerary-route { font-size: 15px; gap: 6px; }
    .itinerary-route i { font-size: 10px; }
    .highlights-list li { font-size: 15px; line-height: 22px;}
    .timeline-title { font-size: 18px; line-height: 27px; }
    .timeline-desc { font-size: 12px; line-height: 20px; }
    .timeline-desc-list li { font-size: 15px; line-height: 24px; margin-bottom: 12px; }
    .timeline-item { padding-left: 40px; }
    .timeline-badge { width: 30px; height: 30px; font-size: 12px; }
    
    /* Inclusions/Exclusions Responsive */
    .inc-exc-card { padding: 25px; }
    .inc-col { padding-right: 0; margin-bottom: 30px; }
    .exc-col { padding-left: 20px; }
    .inc-title, .exc-title { font-size: 18px; }
    .inc-icon, .exc-icon { font-size: 16px; }
    .inc-exc-watermark { max-width: 250px; bottom: -10px; }
    
    /* Final CTA Responsive */
    .final-cta-sec { padding-bottom: 40px; }
    .final-cta-card { padding: 25px 20px; }
    .cta-suitcase-img {  margin-bottom: 15px; }
    .final-cta-title { font-size: 24px; margin-bottom: 15px;}
    .final-cta-buttons { justify-content: center; gap: 15px; flex-direction: column; width: 100%; }
    .final-cta-buttons .btn-cta-solid, .final-cta-buttons .btn-cta-outline { width: 100%; max-width: 280px; justify-content: center; }
    
    /* Blog CTA Responsive */
    .blog-cta-sec { padding: 30px 0; }
    .blog-cta-card { padding: 30px 20px; }
    .blog-cta-title { font-size: 22px; line-height: 30px; margin-bottom: 15px; }
    .blog-cta-watermark { max-height: 120px; opacity: 0.3; }
}

@media (max-width:991px){
.quote-thank-you-card{padding:40px 30px;}
.quote-thank-you-card .quote-bottom-img{position:relative;display:block;right:auto;left:auto;transform:none;margin:40px auto 0;max-width:340px;width:100%;padding-right:0;}
.quote-thank-you-card .quote-tagline{text-align:center;font-size:30px;}
.quote-thank-you-card .quote-thank-you-heading h1{font-size:50px;}
}

@media (max-width:767px){
.quote-thank-you-card{padding:30px 20px;margin-top:20px;}
.quote-thank-you-card .quote-divider-line{max-width:60px;}
.quote-thank-you-card .quote-divider-text{font-size:14px;margin:0 10px;}
.quote-thank-you-card .quote-tagline{font-size:24px;line-height:1.3;}
.quote-thank-you-card .quote-thank-you-heading h1{font-size:38px!important;}
.quote-thank-you-card .quote-thank-you-heading h5{font-size:18px;}
.quote-thank-you-card .quote-list-text{font-size:14px;line-height:1.5;}
.quote-thank-you-card .quote-list-icon{width:20px;height:20px;font-size:10px;margin-top:2px;}
}

@media (max-width:480px){
.quote-thank-you-card{padding:25px 15px;}
.quote-thank-you-section{padding:40px 0 60px;}
.quote-thank-you-card .quote-bottom-img{max-width:260px;margin-top:25px;}
.quote-thank-you-card .quote-thank-you-heading h1{font-size:32px!important;}
.quote-thank-you-card .quote-thank-you-heading h5{font-size:16px;}
.quote-thank-you-card .quote-tagline{font-size:20px;}
.quote-thank-you-card .quote-divider{margin-bottom:25px;}
.quote-thank-you-card .quote-divider-text{font-size:12px;}
}



@media (max-width:991px){
.step-line{display:none;}
.thank-you-aeroplane{max-width:200px; opacity:0.6;}
.thank-you-trees{max-width:200px; opacity:0.6;}
.thank-you-card h1{font-size:48px;}
}

@media (max-width:767px){
.thank-you-section{padding:80px 0 60px;}
.thank-you-trees{max-width:150px; top:auto; bottom:-20px; }
.thank-you-card{padding:35px 20px 20px;}
.thank-you-icon-top{width:50px;height:50px;font-size:22px;top:-25px;box-shadow:0 0 0 8px #fff;}
.thank-you-card h1{font-size:36px;margin-top:10px;}
.thank-you-card h5{font-size:18px;margin-bottom:15px;}
.red-divider{margin-bottom:25px;}
.thank-you-list-item{margin-bottom:15px;}
.thank-you-steps-card{padding:25px 15px; margin-top:25px;}
.step-icon-wrapper{width:50px;height:50px;font-size:20px;margin-bottom:10px;}
}

@media (max-width:480px){
.thank-you-card h1{font-size:32px;}
.thank-you-card h5{font-size:16px;}
.thank-you-list-icon{width:20px;height:20px;font-size:10px;}
}

/* Thank You Page CTA Responsive */
@media (max-width: 991px) {
    .final-cta-sec-thank-you { padding: 0px 0 60px; }
    .thankyou-whatsapp-card { margin-top: 80px; }
    .thankyou-bag-img { max-height: 240px; }
}

@media (max-width: 767px) {
    .final-cta-sec-thank-you .col-md-7 { text-align: center; }
    .thankyou-heading-large { font-size: 24px; }
    .thankyou-divider { margin: 15px auto 25px; }
    .thankyou-whatsapp-card { margin-top: 60px; padding: 40px 20px 25px; }
}

@media (max-width: 575px) {
    .thankyou-bag-img { max-height: 200px; }
}

@media (max-width:767px){
.about-us-cta-sec .cta-img{margin-bottom:20px;}
.about-us-cta-sec .cta-text-content{padding:0;text-align:center;margin-bottom:20px;}
}




@media (max-width:991px){
    .plan-trip-badge-top{left:12px;}
    .plan-trip-badge-bottom{right:12px;}
    .plan-trip-stat{flex:0 0 50%;border-bottom:1px solid rgba(255,255,255,.2);padding:18px 12px;}
    .plan-trip-stat:nth-child(2n){border-right:0;}
    .plan-trip-steps{grid-template-columns:repeat(2,1fr);row-gap:30px;}
    .plan-trip-steps::before{display:none;}
    .plan-trip-section-head{display:block;}
    .plan-trip-section-head p{max-width:100%;margin-top:10px;}
    .plan-trip-final .final-cta-buttons{justify-content:flex-start;}
    .plan-trip-actions .btn-red-pill, .plan-trip-outline-btn{width: max-content;}
    .plan-trip-ticket-head h3{font-size: 20px;}
    .plan-trip-card{padding:22px; height: auto; margin-bottom: 20px;}
    .plan-trip-how h2, .plan-trip-why h2, .plan-trip-popular h2, .plan-trip-testimonials h2, .plan-trip-faq h2{font-size: 32px;}
}

@media (max-width:767px){
    .plan-trip-why .col-lg-4{margin-bottom:0px;}
    .plan-trip-why {padding:50px 0px 30px 0px;}
    .plan-trip-actions{align-items:stretch;flex-direction:column;}
 
    .plan-trip-floating-badge{position:static;margin-bottom:10px;width:max-content;max-width:100%;}
   
    .plan-trip-form-head{padding:30px 20px 24px;}
    .plan-trip-form-head h2{font-size:28px;}
    .plan-trip-form{padding:25px 20px 30px;}
    #tripPlanningForm>.row>div{flex:0 0 100%!important;max-width:100%!important;}
    .plan-trip-phone select{width:82px;}
    .plan-trip-stepper{width:100%;}
    .plan-trip-stepper input{flex:1;}
    .plan-trip-chips span{font-size:13px;padding:8px 13px;}
    .plan-trip-steps{grid-template-columns:1fr;}
    .plan-trip-steps strong{width:62px;height:62px;font-size:22px;}
    .plan-trip-card>i{right:20px;top:22px;font-size:28px;}
    .plan-trip-destination img{height:190px;}
    .plan-trip-faq{padding:45px 0 20px;}
    .plan-trip-final{padding:20px 0 45px;}
    .plan-trip-final .final-cta-buttons{justify-content:center;}
}

@media (max-width:480px){
    .plan-trip-kicker{font-size:12px;letter-spacing:.5px;}
    .plan-trip-kicker i{width:24px;}
    .plan-trip-stat strong{font-size:24px;}
    .plan-trip-stat span{font-size:11px;}
}


@media (max-width:640px){ 
  .form-body{ padding:15px; } 
  .form-row, .form-row-3{ grid-template-columns:1fr; }
  .trust-strip-row{ flex-wrap: wrap; } 
  .trust-strip-item { flex: 0 0 50%; max-width: 50%; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.4); padding: 24px 12px; }
  .trust-strip-item:nth-child(2n+1) { border-right: 1px solid rgba(255,255,255,0.4); }
  .trust-strip-item:nth-last-child(-n+2) { border-bottom: none; }
}
@media (max-width:560px){ 
  .success-steps{ grid-template-columns:1fr; } 
}


@media (max-width:991px){
.plan-trip-hero{padding:50px 0;background-position:70% center;}
.plan-trip-hero .section-title{font-size:44px;line-height:54px;}
.plan-trip-hero-text{max-width:100%;font-size:16px;line-height:26px;margin-bottom:28px;}
.plan-trip-actions{gap:14px;}
.plan-trip-actions .btn-red-pill{min-width:150px;height:46px;font-size:16px;}
.plan-trip-outline-btn{min-width:165px;height:46px;font-size:16px;}

.travel-service-hero h1{font-size: 40px;}
.demostic-listing-sec .domestic-card img{height: auto;}
.blog-cta-sec{text-align: center;}
.blog-cta-sec .blog-cta-title{   font-size: 28px; line-height: 40px;  margin-bottom: 15px;}
.blog-cta-sec .blog-cta-desc{margin-bottom: 20px;}
}

@media (max-width:767px){
.plan-trip-hero{padding:45px 0;background-position:78% center;background-size:cover;text-align:left;}
.plan-trip-hero .section-title{font-size:36px;line-height:44px;margin-bottom:16px;}
.plan-trip-hero-text{font-size:15px;line-height:24px;margin-bottom:24px;}
.plan-trip-actions{gap:12px;}
}

@media (max-width:575px){
.plan-trip-hero{padding:80px 0;background-position:82% center;}
.plan-trip-hero .section-title{font-size:30px;line-height:38px;}
.plan-trip-actions{flex-direction:column;align-items:flex-start;width:100%;}
}

/* =============================================================
   SERVICE DETAIL PAGE RESPONSIVE
   ============================================================= */

@media (max-width: 991px) {
    /* Why Happy Traveller */
    .why-happy-travel-sec { padding: 40px 0; }
    .form-section-sp-hotel-stay .form-bg{padding: 30px 15px;}
    .form-section-sp-hotel-stay{padding: 30px 15px;}
    .form-section-sp-fam-voc{padding: 30px 15px;}
    .form-section-sp-fam-voc .form-bg{padding: 30px 15px;}
    .form-section-domestic-pckg .form-bg{padding: 30px 15px;}
    .form-section-domestic-pckg{padding: 30px 15px;}
    .form-section-international-pckg{padding: 30px 15px;}
    .form-section-international-pckg .form-bg{padding: 30px 15px;}
    .form-section-group-tour-pckg{padding: 30px 15px;}
    .form-section-group-tour-pckg .form-bg{padding: 30px 15px;}
    .form-section-week-gateway-pckg{padding: 30px 15px;}
    .form-section-week-gateway-pckg .form-bg{padding: 30px 15px;}
    .form-section-visa-assist-pckg .form-bg{padding: 30px 15px;}
    .form-section-visa-assist-pckg .form-submit{font-size: 16px; padding: 12px 20px;}
    img{width: 100%;}
    .form-section-private-car-pckg{padding: 30px 15px;}
    .form-section-private-car-pckg .form-bg{padding: 30px 15px;}
    .form-section-corporate-pckg{padding: 30px 15px;}
    .form-section-corporate-pckg .form-bg{padding: 30px 15px;}
    .form-section-corporate-pckg .form-submit{font-size: 15px; padding: 12px 18px;}
    .form-section-domestic-pckg .form-submit{font-size: 15px; padding: 12px 18px;}
    .form-section-international-pckg .form-submit{font-size: 15px; padding: 12px 18px;}
    .form-section-sp-honeymoon .form-submit{font-size: 15px; padding: 12px 18px;}
    .form-section-sp-fam-voc .form-submit{font-size: 15px; padding: 12px 18px;}
    .form-section-group-tour-pckg .form-submit{font-size: 15px; padding: 12px 18px;}
    .form-section-week-gateway-pckg .form-submit{font-size: 15px; padding: 12px 18px;}
    .form-section-flight-book .form-submit{font-size: 15px; padding: 12px 18px;}

    /* How It Works */
    .how-it-works-sec { padding: 40px 0; }
    .form-section-services .form-submit{padding: 10px 30px; font-size:16px;}
    .form-section-services .form-bg{padding:30px 18px;}
}

@media (max-width: 767px) {
    /* Global fixes to prevent mobile horizontal scroll */
    html, body { overflow-x: hidden !important; position: relative; width: 100%; }

    /* Hero Section */
    .service-detail-hero .service-hero-title { font-size: 32px; line-height: 42px; margin: 15px 0 20px; word-wrap: break-word; }
    .service-detail-hero .service-hero-desc { font-size: 15px; line-height: 24px; }

    /* Why Happy Traveller */
    .why-happy-travel-sec { padding: 30px 0; }
    .why-happy-travel-sec .why-happy-title { font-size: 22px; line-height: 32px; text-align: center; word-wrap: break-word; }
    .why-happy-travel-sec .why-happy-item { margin-bottom: 12px; }
    .why-happy-travel-sec .why-happy-img { margin-top: 0px; max-height: 350px; width: 100%; object-fit: contain; }
    
    /* How It Works */
    .how-it-works-sec { padding: 30px 0; }
    .how-it-works-title { font-size: 26px; text-align: center; margin-bottom: 20px; }
    .works-step { padding: 10px 12px; }
    .step-number { width: 28px; height: 28px; font-size: 14px; margin-right: 12px; }
    .step-text { font-size: 14px; line-height: 1.5; }
    .works-image-wrapper { margin-top: 10px; padding-right: 10px; padding-bottom: 10px; }
    
    /* What Are Packages */
    .what-are-packages-sec { padding: 30px 0; }
    .what-packages-content h2 { font-size: 26px; text-align: center; }
    .what-packages-content p { font-size: 15px; text-align: center; }
    .what-packages-content img { margin-top: 20px; max-width: 100%; height: auto; }
    
    /* Destinations We Cover */
    .destinations-cover-sec { padding: 40px 0; }
    .destinations-cover-sec .section-title { font-size: 26px; text-align: center; word-wrap: break-word; }
    .destinations-cover-sec .section-desc { font-size: 15px; text-align: center; }
    .dest-cover-card { padding: 20px; margin-bottom: 15px; }
    .dest-cover-card h4 { font-size: 18px; margin-bottom: 15px; }
    .dest-cover-card ul li { font-size: 15px; line-height: 24px; margin-bottom: 10px; }
    
    /* Final CTA */
    .final-cta-sec-service-detail { padding: 30px 0; }

    .final-cta-title { font-size: 24px; word-wrap: break-word; }
    .final-cta-card { padding: 30px 20px; overflow: hidden; }
}

/* Small laptops: the header container is only 960px wide, so six destinations
   per row squeezes longer names onto two lines. Drop to four. */
@media (min-width: 992px) and (max-width: 1199px) {
    .site-header .mega-menu-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .legal-sec { padding: 30px 0 50px; }
    .legal-title { font-size: 30px; line-height: 1.25; }
    .legal-heading { font-size: 19px; }
    .legal-text, .legal-list li, .legal-table { font-size: 15px; }
    .legal-contact-card { padding: 22px 20px; }
}

@media (max-width: 767px) {
    .reviews-sec { padding: 40px 0; }
    .reviews-head { margin-bottom: 25px; }
    .reviews-score { align-items: flex-start; }
    .reviews-score-value { font-size: 32px; }
    /* Narrower cards so a phone still shows most of one at a time. */
    .review-card { flex: 0 0 280px; width: 280px; height: 310px; padding: 20px; }
    .review-modal-box { padding: 24px 20px; max-height: 88vh; }
    .reviews-group { gap: 16px; }
    .reviews-ticker::before, .reviews-ticker::after { width: 40px; }
}


@media (max-width: 767px) {
    /* Smaller, icon only, and clear of the thumb zone on phones. */
    .whatsapp-float { right: 16px; bottom: 16px; height: 50px; padding: 0 13px; }
    .whatsapp-float i { font-size: 25px; }
    .whatsapp-float:hover .whatsapp-float-label, .whatsapp-float:focus .whatsapp-float-label { max-width: 0; }
    .whatsapp-float:hover, .whatsapp-float:focus { gap: 0; }
}


@media (max-width: 767px) {
    .dest-reviews-sec { padding: 40px 0; }
    .dest-review-card { padding: 20px; }
}
