/* ============================================================
   PropertyGrow.in — Responsive Stylesheet
   Breakpoints: 1199px / 991px / 767px / 575px
   ============================================================ */

/* Large tablets & small laptops */
@media (max-width: 1199.98px) {
  .hero-stats { max-width: 100%; }
  .masonry { columns: 3 260px; }
}

/* Tablets */
@media (max-width: 991.98px) {
  .navbar-pg .navbar-collapse {
    background: var(--pg-white);
    border-radius: var(--radius-md);
    padding: 1rem 1.2rem;
    margin-top: 0.8rem;
    box-shadow: var(--shadow-soft);
  }
  .navbar-pg .nav-link { padding: 0.55rem 0; margin: 0; }
  .navbar-pg .nav-link::after { display: none; }

  .hero { min-height: 88vh; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); }

  .process-row::before { display: none; }
  .process-step { padding-bottom: 2rem; }

  .masonry { columns: 2 240px; }

  .cta-band { background-attachment: scroll; }

  .footer { padding-top: 3.5rem; }
  .footer [class^="col-"] { margin-bottom: 2rem; }
}

/* Landscape phones */
@media (max-width: 767.98px) {
  :root { --section-space: 3.5rem; }

  .topbar .d-none-sm { display: none !important; }

  .hero { min-height: 92vh; text-align: center; }
  .hero p.lead { margin-inline: auto; }
  .hero-stats { margin-inline: auto; }
  .hero .btn { margin-bottom: 0.6rem; }

  .section-head { margin-bottom: 2.2rem; }

  .counters { padding: 2rem 0.5rem; }
  .counter-item { margin: 0.8rem 0; }

  .masonry { columns: 2 160px; column-gap: 0.8rem; }
  .masonry .g-item { margin-bottom: 0.8rem; }

  .map-wrap iframe { height: 320px; }

  .float-stack { right: 0.85rem; bottom: 0.85rem; }
  .float-btn { width: 48px; height: 48px; font-size: 1.15rem; }
  .chat-widget { left: 0.85rem; bottom: 0.85rem; }
  .chat-panel { width: min(300px, calc(100vw - 2rem)); }

  .lb-prev, .lb-next { width: 40px; height: 40px; }
}

/* Portrait phones */
@media (max-width: 575.98px) {
  .hero h1 { font-size: 1.85rem; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); }
  .hero-stats .num { font-size: 1.3rem; }

  .masonry { columns: 1; }

  .btn { padding: 0.7rem 1.5rem; font-size: 0.9rem; }

  .service-card .body { padding: 2.2rem 1.1rem 1.3rem; }
  .testimonial-card { padding: 1.6rem; }

  .footer-bottom { text-align: center; }
  .footer-bottom .text-md-end { text-align: center !important; margin-top: 0.4rem; }
}

/* Hero quick links on phones */
@media (max-width: 767.98px) {
  .hero-links { justify-content: center; }
  .hero-links a { font-size: 0.76rem; padding: 0.36rem 0.85rem; }
}
