@media (max-width: 1199.98px) {
  .hero {
    min-height: 700px;
  }

  .dashboard-shell {
    grid-template-columns: 240px minmax(0, 1fr);
  }
}

@media (max-width: 991.98px) {
  .section {
    padding: 68px 0;
  }

  .hero {
    min-height: auto;
    padding: 120px 0 64px;
  }

  .navbar-collapse {
    padding: 1rem 0;
  }

  .hero-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .city-card,
  .city-card-large {
    height: 300px;
    min-height: 300px;
  }

  .detail-gallery {
    grid-template-columns: 1fr;
    max-height: none;
  }

  .detail-gallery-compact {
    height: auto;
    max-height: none;
  }

  .detail-side {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: none;
  }

  .detail-gallery > img {
    max-height: 300px;
  }

  .dashboard-shell {
    grid-template-columns: 1fr;
  }

  .cta-band {
    align-items: flex-start;
    flex-direction: column;
  }

  .dashboard-sidebar,
  .sticky-card {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .hero,
  .page-hero {
    padding-top: 108px;
  }

  .hero-search {
    padding: .85rem;
  }

  .hero-stats {
    grid-template-columns: 1fr;
  }

  .section-title {
    font-size: 2rem;
  }

  .city-card,
  .city-card-large {
    height: 260px;
    min-height: 260px;
  }

  .city-card-large h2 {
    font-size: 2rem;
  }

  .detail-side {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .detail-gallery > img,
  .detail-side img {
    max-height: 220px;
  }

  .listing-row {
    flex-direction: column;
  }

  .listing-row img {
    width: 100%;
    height: 180px;
  }
}

@media (max-width: 575.98px) {
  .container {
    padding-left: 18px;
    padding-right: 18px;
  }

  .btn {
    width: 100%;
  }

  .btn.icon-btn,
  .icon-btn {
    width: auto;
  }

  .hero h1 {
    font-size: 2.45rem;
  }

  .property-meta {
    gap: 8px;
  }

  .auth-card,
  .form-shell {
    padding: 1rem;
  }
}
