/* Mobile não é desktop reduzido — as reorganizações reais ficam aqui. */

@media (max-width: 1024px) {
  .vz-grid { grid-template-columns: repeat(2, 1fr); }
  .vz-testimonials__grid { grid-template-columns: repeat(2, 1fr); }
  .vz-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .vz-hero__actions { grid-template-columns: 1fr; max-width: 340px; }
  .vz-cta__actions  { grid-template-columns: 1fr; max-width: 300px; }

  .vz-grid { grid-template-columns: 1fr; max-width: 400px; margin-inline: auto; }
  .vz-testimonials__grid { grid-template-columns: 1fr; }
  .vz-footer__grid { grid-template-columns: 1fr; gap: var(--vz-space-6); }

  .vz-hero__accent { padding-inline: var(--vz-space-4); }

  /* Alvos de toque confortáveis */
  .vz-btn, .vz-card__cta, .vz-tab { min-height: 48px; }
  .vz-modal__submit { min-height: 54px; }

  /* Modal ocupa quase toda a tela e continua rolável com o teclado aberto */
  .vz-modal__sheet { max-height: 88dvh; }

  .vz-proof { max-width: calc(100vw - 36px); }
  .vz-proof--bottom-left, .vz-proof--bottom-right { bottom: 88px; }

  .vz-howto__ok { padding-inline: var(--vz-space-8); width: 100%; }
}

@media (max-width: 400px) {
  .vz-float__btn { width: 48px; height: 48px; }
  .vz-float { right: 12px; bottom: 12px; }
}

/* Telas grandes: não deixar os cards esticarem demais */
@media (min-width: 1440px) {
  :root { --vz-container: 1240px; }
}
