/* Lavandery — breakpoints */

@media (max-width: 960px) {
  .lav-hero { padding: 48px 0 40px; }
  .lav-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .lav-hero-photo-wrap { aspect-ratio: 3/4; max-width: 420px; margin: 0 auto; }
  .lav-hero-badge { right: -8px; bottom: 24px; padding: 12px 14px; }
  .lav-hero-badge-num { font-size: 17px; }
  .lav-hero-badge-txt { font-size: 10px; }
  .lav-flower.f-large { width: 80px; height: 80px; }
  .lav-flower.f-med { width: 56px; height: 56px; }
  .lav-hero .lav-flower.hf-1 { top: 12%; left: 8%; }
  .lav-hero .lav-flower.hf-2 { top: 45%; right: 8%; }
  .lav-hero .lav-flower.hf-3 { display: none; }

  .lav-section { padding: 72px 0; }
  .lav-stat-bar { padding: 32px 24px; margin: 24px 0; }
  .lav-stat-bar-inner { flex-direction: column; gap: 12px; text-align: center; }

  .lav-pilares { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .lav-modelos-grid { grid-template-columns: 1fr; }
  .lav-passos { grid-template-columns: 1fr; gap: 24px; }
  .lav-passos::before { display: none; }
  .lav-cobertura-grid { grid-template-columns: 1fr; gap: 40px; }
  .lav-mapa-wrap { max-width: 400px; margin: 0 auto; }
  .lav-app-grid { grid-template-columns: 1fr; gap: 48px; }
  .lav-app-phone { max-width: 280px; margin: 0 auto; order: -1; }
  .lav-form-wrap { padding: 40px 24px; }
  .lav-form-row { grid-template-columns: 1fr; gap: 16px; }
  .lav-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .lav-topbar-nav { display: none; }
}

@media (max-width: 560px) {
  .lav-container { padding: 0 20px; }
  .lav-pilares { grid-template-columns: 1fr; }
  .lav-estados-lista { grid-template-columns: 1fr; }
  .lav-footer-grid { grid-template-columns: 1fr; }
  .lav-footer-bottom { flex-direction: column; text-align: center; }
  .lav-hero-ctas { flex-direction: column; align-items: stretch; }
  .lav-btn { padding: 14px 24px; font-size: 15px; }
  .lav-ref-card { min-width: 220px; }
}

/* Mobile: FAB compacto (so icone) pra nao cobrir conteudo */
@media (max-width: 720px) {
  .lav-wa-fab {
    padding: 0;
    width: 56px;
    height: 56px;
    right: 16px;
    bottom: 16px;
    justify-content: center;
  }
  .lav-wa-fab-txt { display: none; }
  .lav-wa-fab svg { width: 28px; height: 28px; }

  /* Modal um pouco mais compacto no mobile */
  .lav-wa-modal { padding: 32px 24px 28px; border-radius: 22px; }
  .lav-wa-modal-title { font-size: 22px; }
}

/* Ajustes finos de tipografia mobile (hero muito grande) */
@media (max-width: 560px) {
  .lav-hero-headline { font-size: clamp(38px, 9vw, 54px); }
  .lav-section-title { font-size: clamp(28px, 7vw, 40px); }
}
