/* =========================================================
   Responsive overrides
   ========================================================= */

@media(max-width:1080px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-form{max-width:560px;}
  .ayodhya-media img{height:400px;}
}

@media(max-width:900px){
  .nav-links{
    position:fixed;top:0;right:-100%;
    width:86%;max-width:360px;height:100vh;
    background:var(--secondary);
    flex-direction:column;align-items:stretch;
    padding:100px 26px 40px;
    gap:0;
    transition:right .45s cubic-bezier(.2,.8,.2,1);
    overflow-y:auto;
  }
  .nav-links.open{right:0;box-shadow:-20px 0 50px rgba(0,0,0,0.3);}
  .nav-links > li{width:100%;border-bottom:1px solid rgba(255,255,255,0.08);}
  .nav-links > li > a{color:#fff !important;padding:16px 4px;justify-content:space-between;width:100%;}
  .nav-links > li > a::after{display:none;}
  .nav-cta{margin:20px 0 0;width:100%;}
  .nav-cta .btn{width:100%;}

  .dropdown,.dropdown.mega{
    position:static;width:100%;box-shadow:none;background:rgba(255,255,255,0.04);
    opacity:1;visibility:visible;transform:none;
    max-height:0;overflow:hidden;padding:0;
    transition:max-height .4s ease, padding .4s ease;
  }
  .nav-links li.mobile-open .dropdown{max-height:600px;padding:10px;}
  .dropdown-item strong,.mega-grid a{color:#fff;}
  .dropdown-item span{color:rgba(255,255,255,0.6);}
  .mega-grid{grid-template-columns:1fr;}

  .nav-toggle{display:flex;}
  .nav-toggle span{background:#fff;}

  .nav-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:998;
    opacity:0;visibility:hidden;transition:all .4s ease;
  }
  .nav-overlay.show{opacity:1;visibility:visible;}
}

@media(max-width:768px){
  :root{--nav-h:70px;}
  .hero{min-height:92vh;}
  .hero-inner{padding:60px 0 60px;gap:30px;}
  .form-grid{grid-template-columns:1fr;}
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr;}
  .ayodhya-grid{grid-template-columns:1fr;}
  .stats-bar{margin-top:0;}
  .booking-wrap{grid-template-columns:1fr;}
  .form-panel,.info-panel{padding:28px;}
  .page-header{padding:150px 0 60px;}
  .footer-grid{padding-bottom:40px;}
}

@media(max-width:480px){
  .container{padding:0 18px;}
  .hero-form{padding:24px;}
  .testi-card{padding:30px 22px;}
}
