/* Responsive breakpoints */

@media (max-width: 1100px) {
  .nav-desktop { display: none; }
  .nav-toggle { display: inline-flex; }
  .header__cta { display: none; }
  .search-panel form { grid-template-columns: 1fr 1fr; }
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .steps { grid-template-columns: 1fr 1fr; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .rating-box { grid-template-columns: 1fr; text-align: left; }
}

@media (max-width: 900px) {
  .topbar__center { display: none; }
  .topbar__inner { grid-template-columns: 1fr auto; }
  .action-cards,
  .property-grid,
  .category-grid,
  .services-grid { grid-template-columns: 1fr 1fr; }
  .split,
  .contact-grid,
  .detail-layout,
  .cta-band { grid-template-columns: 1fr; }
  .split__media { min-height: 320px; }
  .gallery-masonry { columns: 2; }
  .detail-sidebar { position: static; }
}

@media (max-width: 640px) {
  :root { --header-h: 68px; }

  body { padding-bottom: 72px; }

  .topbar__social { display: none; }
  .hero__content { padding: 3.5rem 0 6rem; }
  .hero h1 { font-size: 2.15rem; }
  .search-panel { margin-top: -2.5rem; }
  .search-panel form,
  .form-grid,
  .action-cards,
  .property-grid,
  .category-grid,
  .services-grid,
  .feature-grid,
  .steps,
  .specs-table,
  .detail-gallery__thumbs,
  .footer__grid { grid-template-columns: 1fr; }

  .gallery-masonry { columns: 1; }
  .section { padding: 3.5rem 0; }
  .page-hero { padding: 3rem 0 2.5rem; }
  .cta-band { padding: 1.75rem; }
  .float-whatsapp { display: none; }
  .mobile-action-bar { display: grid; }

  .property-card__actions .btn { flex: 1; }
}

@media (max-width: 375px) {
  .container { width: min(100% - 1.25rem, var(--container)); }
  .hero h1 { font-size: 1.9rem; }
  .btn { padding: 0.8rem 1.1rem; }
}

@media (min-width: 1440px) {
  :root { --container: 1280px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}
