/* ============================================================
   VIVAAN REALTY — responsive.css
   Mobile-first responsive styles
   ============================================================ */

/* ── Tablet: ≤ 1024px ── */
@media (max-width: 1024px) {
  .hero-content { grid-template-columns: 1fr; gap: 40px; padding: 120px 0 60px; }
  .hero-form-card { max-width: 520px; }
  .about-grid { grid-template-columns: 1fr; gap: 48px; }
  .about-visual { max-width: 480px; }
  .about-badge { bottom: -16px; right: -8px; }
  .pricing-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .floorplan-panel.active { grid-template-columns: 1fr; }
  .connectivity-grid { grid-template-columns: 1fr; }
  .connectivity-map { height: 320px; }
  .lead-grid { grid-template-columns: 1fr; gap: 40px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-brand { grid-column: 1 / -1; }
  .masonry-grid { columns: 3; }
  .testimonial-slide { min-width: 50%; }
  .usp-grid { grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255,255,255,0.2); }
  .usp-item { background: var(--red); border-right: none; }
  .faq-grid { grid-template-columns: 1fr; }
}

/* ── Mobile: ≤ 768px ── */
@media (max-width: 768px) {
  .navbar { height: 64px; }
  .nav-links { 
    position: fixed;
    top: 64px; left: 0; right: 0;
    background: var(--white);
    flex-direction: column;
    gap: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    box-shadow: var(--shadow-md);
    z-index: 999;
  }
  .nav-links.open { max-height: 500px; }
  .nav-links a {
    display: block;
    padding: 16px 24px;
    border-bottom: 1px solid var(--grey-border);
    font-size: 0.95rem;
  }
  .nav-links a::after { display: none; }
  .nav-cta { display: none; }
  .hamburger { display: flex; }

  .hero-content { padding: 100px 0 50px; }
  .hero-stats { flex-direction: row; flex-wrap: wrap; gap: 20px; }
  .hero-stat .num { font-size: 1.8rem; }
  .hero-cta { flex-direction: column; }
  .hero-cta .btn { justify-content: center; }
  .price-pill { min-width: 80px; }
  .hero-form-card { padding: 28px 20px; }

  .section-pad { padding: 60px 0; }
  .section-pad-sm { padding: 40px 0; }

  .pricing-grid { grid-template-columns: 1fr; max-width: 400px; margin: 0 auto; }

  .masonry-grid { columns: 2; }

  .testimonial-slide { min-width: 100%; }

  .connectivity-cards { grid-template-columns: 1fr 1fr; }
  
  .footer-top { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }

  .float-btn { width: 52px; height: 52px; border-radius: 50%; padding: 0; justify-content: center; }
  .float-btn-label { display: none; }
  .floating-btns:hover .float-btn-label { display: none; }
  .float-icon { font-size: 1.5rem; }

  .lead-form-card { padding: 28px 20px; }
  
  .about-features { grid-template-columns: 1fr; }

  .floorplan-tabs { flex-direction: row; flex-wrap: wrap; }
  .tab-btn { flex: 1; text-align: center; }

  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }
  
  .usp-grid { grid-template-columns: 1fr 1fr; }
  
  .connectivity-cards { grid-template-columns: 1fr; }

  .modal-box { padding: 32px 24px; }
}

/* ── Small Mobile: ≤ 480px ── */
@media (max-width: 480px) {
  .container { padding: 0 16px; }
  .masonry-grid { columns: 1; }
  .hero-price-strip { gap: 10px; }
  .price-pill { padding: 6px 14px; }
  .price-pill .price { font-size: 0.95rem; }
  .hero-stats { gap: 16px; }
  .usp-grid { grid-template-columns: 1fr; }
  .hero-form-card { padding: 24px 16px; }
  .about-badge { display: none; }
  .conn-card { padding: 16px; }
  .connectivity-cards { grid-template-columns: 1fr 1fr; }
  .floating-btns { right: 12px; bottom: 12px; }
  #scroll-top { right: 16px; bottom: 160px; }
}

/* ── Print ── */
@media print {
  #header, .floating-btns, #scroll-top, .modal-overlay, .lightbox-overlay { display: none !important; }
  body { padding: 0; }
  .hero { min-height: auto; padding: 40px 0; }
}
