@media(max-width:820px){

  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  .site-shell{
    width:100%;
    max-width:100%;
    margin:0;
    border-radius:0;
  }

  main{
    padding-top:0 !important;
  }

  .top-contact-bar{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    width:100% !important;
    padding:8px 10px;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
  }

  .social-icons{
    gap:6px;
  }

  .social-icons a{
    width:32px;
    height:32px;
    font-size:11px;
  }

  .top-phone{
    font-size:14px;
  }

  .header-tour-cart{
    width:30px !important;
    height:30px !important;
    font-size:14px !important;
  }

  .site-header{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    width:100% !important;
    box-shadow:none;
  }

  .nav-wrap{
    min-height:92px !important;
    padding:8px 14px 10px !important;
    position:relative;
  }

  .brand img{
    width:88px !important;
    height:88px !important;
    max-width:88px !important;
    max-height:88px !important;
  }

  .nav-toggle{
    display:flex !important;
    align-items:center;
    justify-content:center;
    margin-left:auto;
    width:48px;
    height:48px;
    font-size:23px;
  }

  .main-nav{
    display:none !important;
    position:absolute;
    top:100%;
    left:14px;
    right:14px;
    z-index:1001;
    background:#fff;
    border-radius:18px;
    box-shadow:0 18px 45px rgba(15,23,42,.18);
    padding:20px 22px !important;
    flex-direction:column;
    align-items:flex-start !important;
    gap:16px !important;
    font-size:19px !important;
  }

  .main-nav.open{
    display:flex !important;
  }

  .main-nav a{
    width:100%;
    text-align:left;
  }

  .main-nav .nav-cta{
    width:100%;
    justify-content:center;
    text-align:center;
    font-size:18px !important;
    padding:15px 18px !important;
  }

  .hero-section{
    min-height:560px !important;
    height:auto !important;
  }

  .hero-bg-image{
    background-size:cover !important;
    background-position:center bottom !important;
  }

  .hero-content{
    width:100% !important;
    max-width:100%;
    padding:42px 18px 0 !important;
  }

  .hero-content h1{
    font-size:clamp(34px, 9vw, 48px) !important;
    line-height:1.06 !important;
    max-width:100%;
  }

  .hero-sub{
    font-size:clamp(18px, 4.5vw, 24px) !important;
  }

  .hero-line{
    font-size:clamp(16px, 4vw, 20px) !important;
  }

  .primary-cta{
    width:100%;
    min-height:58px;
  }

  .trust-strip{
    margin:0 14px !important;
  }

  .trust-grid,
  .service-grid,
  .stats-section,
  .footer-inner,
  .tour-packages-grid{
    grid-template-columns:1fr !important;
  }

  .quote-form,
  .airport-only-quote,
  .quote-result-grid,
  .booking-grid,
  .tour-form-grid,
  .tour-cart-controls{
    grid-template-columns:1fr !important;
  }

  .quote-section,
  .services-section,
  .tours-section{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .carousel-main{
    height:220px !important;
  }

  .tour-cart-panel-new{
    width:100% !important;
  }

  .chatbot-widget{
    right:10px;
    left:10px;
    bottom:10px;
    width:auto;
    max-width:none;
  }

  .whatsapp-section{
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
  }
}

@media(max-width:420px){
  .hero-section{
    min-height:530px !important;
  }

  .hero-content h1{
    font-size:32px !important;
  }

  .hero-sub{
    font-size:17px !important;
  }

  .hero-line{
    font-size:16px !important;
  }

  .brand img{
    width:78px !important;
    height:78px !important;
  }
}

@media(max-width:820px){
  .tour-cart-panel-new{
    width:92vw !important;
  }
}

@media(max-width:820px){
  .trust-strip{
    margin:10px 12px 0 !important;
  }

  .trust-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:12px !important;
    padding:18px !important;
  }
}

/* mobile-only overflow fixes - desktop untouched */
@media(max-width:820px){

  html,
  body{
    overflow-x:hidden !important;
    width:100% !important;
    max-width:100% !important;
  }

  .site-shell,
  main,
  section{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .services-section,
  .tours-section,
  .quote-section,
  .testimonial-section{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .section-heading,
  .section-intro,
  .testimonial-section-intro{
    max-width:100% !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .section-heading h2,
  .testimonial-section-intro h2,
  .testimonial-content h3,
  .tour-card-content h3{
    font-size:clamp(28px,8vw,38px) !important;
    line-height:1.15 !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  .section-intro,
  .testimonial-section-intro p,
  .testimonial-content p{
    font-size:16px !important;
    line-height:1.55 !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  .service-grid,
  .tour-packages-grid,
  .footer-inner,
  .stats-section{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
  }

  .service-grid article,
  .tour-card-large,
  .testimonial-slide,
  .footer-inner > div{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .service-grid img{
    width:100% !important;
    height:190px !important;
    object-fit:cover !important;
  }

  .carousel-main{
    width:100% !important;
    height:230px !important;
  }

  .carousel-slide{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .tour-card-content{
    padding:18px !important;
  }

  .tour-meta,
  .tour-price-icons{
    flex-wrap:wrap !important;
  }

  .tour-highlights{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .tour-cart-panel-new{
    width:100vw !important;
    max-width:100vw !important;
    left:0 !important;
    right:0 !important;
    padding:18px 14px !important;
  }

  .tour-cart-controls,
  .tour-form-grid{
    grid-template-columns:1fr !important;
  }

  .tour-cart-head h2{
    font-size:30px !important;
    line-height:1.1 !important;
  }

  .tour-cart-total{
    font-size:24px !important;
  }

  .testimonial-slide,
  .testimonial-slide.is-active{
    display:block !important;
    padding:22px !important;
  }

  .testimonial-image-wrap img{
    max-width:240px !important;
  }

  .site-footer{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .footer-inner{
    gap:28px !important;
  }

  .footer-bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:6px !important;
  }
}

@media(max-width:420px){
  .services-section,
  .tours-section,
  .quote-section,
  .testimonial-section{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .section-heading h2,
  .testimonial-section-intro h2{
    font-size:30px !important;
  }

  .service-grid img{
    height:175px !important;
  }

  .carousel-main{
    height:215px !important;
  }
}
