/*====================================
  RESPONSIVIDADE — Barbieri Imóveis
  Breakpoints: 1400 · 1200 · 992 · 768 · 576 · 375
  (Etapa 1: Header + Hero. Demais seções nas próximas etapas.)
====================================*/

/* ---- 1500px : aperta o header pra caber nav + ações sem quebrar linha ---- */
@media (max-width: 1500px) {
  .nav { margin-inline: auto; }
  .nav__list { gap: 1.5rem; }
  .header__inner { gap: 1.25rem; }
  .header__actions { gap: 0.85rem; }
}

/* ---- 1400px ---- */
@media (max-width: 1400px) {
  .quem__inner { gap: 2.5rem; }
  .header__contact span { display: none; } /* "Fale conosco" vira só ícone */
}

/* ---- 1200px ---- */
@media (max-width: 1200px) {
  .nav__list { gap: 1.4rem; }
  .header__inner { gap: 1.25rem; }
  .property-grid { grid-template-columns: repeat(2, 1fr); }
  .footer__top { grid-template-columns: 1.4fr 1fr; row-gap: 2.5rem; }
}

/* ---- 992px : navegação vira menu mobile ---- */
@media (max-width: 992px) {
  .nav-toggle { display: flex; }

  .nav {
    position: fixed;
    inset: var(--header-h) 0 auto 0;
    margin: 0;
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-md);
    transform: translateY(-120%);
    transition: transform var(--transition-slow);
  }
  .nav.is-open { transform: translateY(0); }
  .nav__list {
    flex-direction: column;
    gap: 0;
    padding: var(--gutter);
  }
  .nav__link { display: block; padding-block: 0.9rem; border-bottom: 1px solid var(--border); }

  /* No mobile: avatar some e as opções de conta entram no hambúrguer */
  .account { display: none; }
  .nav__list--acct { display: flex; flex-direction: column; gap: 0; padding: 0 var(--gutter); }
  .nav__list--acct .nav__link { color: var(--gold-600); }

  .header__contact span { display: none; }

  /* Seções em 1 coluna a partir de 992 */
  .quem__inner,
  .owners__inner,
  .litoral__inner { grid-template-columns: 1fr; }
  .quem__media { max-height: 420px; }
  .litoral__text { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
  .experts { grid-template-columns: 1fr 1fr; }
  .expert__photo { aspect-ratio: 16 / 9; }
}

/* ---- 768px ---- */
@media (max-width: 768px) {
  .hero { min-height: 78vh; }
  .search__row { grid-template-columns: 1fr auto; }
  .header__contact { display: none; }

  /* Header compacto: só logo + tema + hambúrguer */
  .header__actions .btn--primary { display: none; }
  .header__inner { gap: 0.75rem; }

  .section-head { flex-direction: column; align-items: flex-start; }
  .bairros__note { text-align: left; }
  .feedback__grid,
  .blog__grid { grid-template-columns: 1fr; }
  .owners { background-attachment: scroll; }
  .owners__pitch { order: 2; }
  .form-grid { grid-template-columns: 1fr; }
  .tile--wide { width: 300px; }
  .litoral .tile--wide { width: 260px; }
  .quem__stats { gap: 2rem; }
}

/* ---- 576px ---- */
@media (max-width: 576px) {
  .hero { min-height: min(90vh, 680px); }
  .hero__inner { align-items: center; text-align: center; }
  .hero__title { font-size: clamp(1.85rem, 8vw, 2.4rem); max-width: 100%; }
  .hero__eyebrow { font-size: 0.68rem; text-align: center; }
  .hero__eyebrow::before, .hero__eyebrow::after { width: 1.25rem; }
  .search { padding: 0.8rem; }
  .search__row { grid-template-columns: 1fr; }
  .search__row .btn--square { width: 100%; height: 48px; }

  .property-grid { grid-template-columns: 1fr; }
  .experts { grid-template-columns: 1fr; }
  .expert__photo { aspect-ratio: 16 / 8; }
  .footer__top { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }
  .search__modes { flex-wrap: wrap; }
}

/* ---- 375px ---- */
@media (max-width: 375px) {
  .header__logo img { height: 34px; }
  .search__modes { flex-wrap: wrap; }
}
