/* ===================================================================
   BHANOBA TRADERS — Responsive Rules
   Breakpoints: 1200 (laptop) / 992 (tablet-land) / 768 (tablet) / 480 (mobile)
   =================================================================== */

@media (max-width:1200px){
  .why-wrap{ grid-template-columns:1fr; }
  .why-media{ max-width:520px; margin:0 auto; }
  .detail-wrap{ grid-template-columns:1fr; }
  .sidebar-card{ position:static; }
  .amenities-grid{ grid-template-columns:repeat(3,1fr); }
}

@media (max-width:992px){
  .container{ padding:0 22px; }
  .section{ padding:80px 0; }
  .nav-links{ display:none; }
  .hamburger{ display:flex; }
  .intro-grid{ grid-template-columns:1fr; }
  .intro-cards{ margin-top:-90px; }
  .counters{ grid-template-columns:repeat(2,1fr); }
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .listing-grid{ grid-template-columns:1fr; }
  .location-wrap{ grid-template-columns:1fr; }
  .contact-wrap{ grid-template-columns:1fr; }
  .upcoming-track{ grid-template-columns:1fr 1fr; }
  .gallery-grid{ columns:3 220px; }
  .amenities-grid{ grid-template-columns:repeat(2,1fr); }
  .office-wrap{ grid-template-columns:1fr; }
  .office-featured{ min-height:280px; }
  .timeline-item{ width:100%; left:0 !important; text-align:left !important; padding-left:50px; padding-right:0; }
  .timeline::before{ left:7px; }
  .timeline-item:nth-child(odd) .timeline-dot, .timeline-item:nth-child(even) .timeline-dot{ left:0; right:auto; }
  .process-track{ flex-wrap:wrap; row-gap:40px; }
  .process-track::before{ display:none; }
  .process-step{ flex:0 0 33%; }
}

@media (max-width:768px){
  .hero{ min-height:600px; }
  .hero-actions{ flex-direction:column; align-items:flex-start; gap:14px; }
  .hero-dots{ display:none; }
  .testi-grid{ grid-template-columns:1fr; }
  .services-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; gap:36px; }
  .footer-bottom{ flex-direction:column; gap:10px; text-align:center; }
  .detail-features{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .upcoming-track{ grid-template-columns:1fr; }
  .gallery-grid{ columns:2 200px; }
  .amenities-grid{ grid-template-columns:repeat(2,1fr); }
  .office-thumb-grid{ grid-template-columns:repeat(3,1fr); }
  .process-step{ flex:0 0 50%; }
  .video-caption{ left:24px; bottom:24px; }
  .video-caption h3{ font-size:20px; }
  .video-section{ height:400px; margin:0 20px; }
  .video-strip{ grid-template-columns:1fr; margin:20px 20px 0; }
  .video-thumb{ height:200px; }
  .section-head{ margin-bottom:40px; }

  /* Prevent grid/flex items from refusing to shrink below their
     content's natural width (e.g. a long unbroken email address) —
     this was the main cause of horizontal scroll on phones. */
  .contact-wrap, .contact-wrap > *,
  .footer-grid, .footer-grid > *,
  .services-grid, .services-grid > *,
  .listing-grid, .listing-grid > *,
  .detail-wrap, .detail-wrap > *,
  .location-wrap, .location-wrap > *,
  .intro-grid, .intro-grid > *,
  .counters, .counters > *,
  .amenities-grid, .amenities-grid > *,
  .why-wrap, .why-wrap > *{ min-width:0; }

  .contact-info-card{ padding:32px 28px; }
  .form-card{ padding:32px 26px; }
}

@media (max-width:400px){
  .brand-text .tag{ display:none; }
  .brand-logo{ height:36px; max-width:130px; }
  .nav-cta{ gap:8px; }
  .nav-cta .btn-sm{ padding:9px 14px; font-size:12px; }
}

@media (max-width:480px){
  .container{ padding:0 18px; }
  .section{ padding:64px 0; }
  .hero h1{ font-size:clamp(34px,10vw,50px); }
  .hero-sub{ font-size:16px; }
  .counters{ grid-template-columns:1fr 1fr; gap:16px; }
  .counter-num{ font-size:34px; }
  .amenities-grid{ grid-template-columns:1fr 1fr; }
  .gallery-grid{ columns:2 150px; column-gap:12px; }
  .gallery-item{ margin-bottom:12px; }
  .office-thumb-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .office-featured{ min-height:220px; }
  .why-badge{ position:static; margin-top:-40px; margin-left:20px; width:calc(100% - 40px); }
  .listing-stats{ grid-template-columns:1fr 1fr; row-gap:14px; }
  .process-step{ flex:0 0 100%; }
  .btn{ padding:14px 26px; font-size:14px; }
  .cta{ padding:60px 26px; }
  .footer{ padding-top:60px; }
  .back-top, .wa-float{ width:46px; height:46px; bottom:20px; }
  .back-top{ right:20px; }
  .wa-float{ left:20px; }
}

/* ---- Project Detail (dynamic) responsive rules ---- */
@media (max-width:992px){
  .pd-hero-strip{ grid-template-columns:repeat(2,1fr); row-gap:20px; }
  .pd-hero-stat:nth-child(2){ border-right:none; }
  .pd-doc-card{ grid-template-columns:1fr; }
  .pd-doc-card img{ min-height:200px; }
  .pd-brochure-grid{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px){
  .pd-gallery-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:140px; }
  .pd-gallery-grid .pd-gallery-item:nth-child(1){ grid-column:span 2; grid-row:span 1; }
  .pd-enquiry-band{ flex-direction:column; text-align:center; padding:36px 26px; }
  .pd-enquiry-actions{ justify-content:center; }
  .pd-brochure-grid{ grid-template-columns:1fr; }
  .pd-cta-row{ grid-template-columns:1fr; }
}

@media (max-width:480px){
  .pd-hero-strip{ grid-template-columns:1fr 1fr; padding:20px; gap:14px; }
  .pd-hero-stat{ border-right:none; border-bottom:1px dashed var(--border); padding-bottom:12px; }
  .pd-gallery-grid{ grid-template-columns:1fr 1fr; grid-auto-rows:120px; gap:10px; }
  .pd-lightbox{ padding:16px; }
  .pd-lightbox img{ max-width:94vw; }
}
