/* ============================================================
   responsive.css — breakpoint adjustments
   ============================================================ */

/* ── Tablet ───────────────────────────────────────────────── */
@media (max-width: 1199px) {
  .container-site,
  .header-inner,
  .offer-section,
  .stats-section,
  .carousel-header,
  .carousel-viewport,
  .cities-section,
  .sell-rent-section,
  .contact-cta-section,
  .site-footer {
    padding-left: 40px;
    padding-right: 40px;
  }

  .hero-content { padding-left: 40px; padding-right: 40px; }
  .hero-title   { font-size: 56px; }
  .prop-card    { width: 340px; }
  .hero-deco    { display: none; }
}

/* ── Mobile ───────────────────────────────────────────────── */
@media (max-width: 767px) {
  :root {
    --container-px: 20px;
    --section-py: 40px;
  }

  /* Header */
  .site-header { height: auto; min-height: 64px; }

  .header-inner {
    padding: 12px var(--container-px-mobile);
    flex-wrap: wrap;
    gap: 12px;
  }

  .main-nav,
  .header-actions { display: none; }

  .nav-toggler { display: flex; }

  /* Hero */
  .hero-section { height: auto; min-height: 480px; }
  .hero-content { padding: 80px var(--container-px-mobile) 40px; }
  .hero-title   { font-size: 36px; }
  .hero-subtitle { font-size: 16px; }
  .hero-deco    { display: none; }

  .hero-search-bar {
    flex-wrap: wrap;
    height: auto;
    padding: 12px;
    gap: 12px;
  }

  .search-divider { display: none; }

  .search-filter {
    flex: 1;
    min-width: 120px;
  }

  .btn-search { width: 100%; }

  /* Offer */
  .offer-section {
    padding: var(--section-py-mobile) var(--container-px-mobile);
  }
  .offer-banner-wrap { height: 180px; }

  /* Stats */
  .stats-section {
    padding: var(--section-py-mobile) var(--container-px-mobile);
  }
  .stats-title { font-size: 24px; }
  .stat-number { font-size: 40px; }
  .stat-label  { font-size: 18px; }
  .stat-item   { min-width: 180px; }

  /* Carousels */
  .carousel-header,
  .purpose-tabs-header {
    padding: 0 var(--container-px-mobile);
  }
  .carousel-viewport { padding: 4px var(--container-px-mobile) 16px; }
  .purpose-tabs-section .carousel-viewport { padding: 4px var(--container-px-mobile) 16px; }
  .prop-card    { width: 280px; }
  .compound-card { width: 160px; }
  .compound-card__image { width: 144px; height: 144px; }
  .area-card    { width: 160px; }
  .area-card__image { width: 144px; height: 144px; }
  .project-card { width: 280px; }
  .project-card__image { height: 180px; }
  .carousel-btn { width: 44px; height: 44px; font-size: 20px; }
  .carousel-nav { gap: 16px; }
  .city-pill    { width: 140px; padding: 10px 14px; }
  .city-name    { font-size: 14px; }
  .city-count   { width: 26px; height: 26px; font-size: 10px; }

  /* Cities */
  .cities-section {
    padding: var(--section-py-mobile) var(--container-px-mobile);
  }
  .cities-title { font-size: 24px; }

  /* Sell/Rent */
  .sell-rent-section {
    padding: var(--section-py-mobile) var(--container-px-mobile);
  }
  .sell-rent-section h2 { font-size: 26px; }

  /* Contact CTA */
  .contact-cta-section {
    padding: var(--section-py-mobile) var(--container-px-mobile);
  }
  .contact-cta-section h2 { font-size: 26px; }

  /* Footer */
  .site-footer { padding: 40px var(--container-px-mobile) 24px; }
  .footer-top  { flex-direction: column; gap: 24px; }
  .footer-nav  { gap: 16px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ── Touch targets ────────────────────────────────────────── */
@media (max-width: 767px) {
  .btn-search,
  .btn-partner,
  .btn-primary,
  .btn-outline-accent,
  .btn-read-more {
    min-height: 44px;
  }
}
