/* ============================================================
   responsive.css — Media queries
   Mobile first: estilos base são mobile, ajustamos para telas maiores
   ============================================================ */

/* ─── Tablet (≤ 900px) ─── */
@media (max-width: 900px) {
  .editorial-grid {
    grid-template-columns: 1fr;
  }

  .editorial-grid__right {
    flex-direction: row;
  }

  .footer__inner {
    grid-template-columns: 1fr 1fr;
  }

  .footer__col--brand {
    grid-column: 1 / -1;
  }

  .destinos-section .destinos-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ─── Mobile (≤ 640px) ─── */
@media (max-width: 640px) {
  :root {
    --header-height: 56px;
  }

  .header__nav {
    display: none;
  }

  .header__hamburger {
    display: flex;
  }

  /* Hero home — remove max-height fixo no mobile */
  .hero {
    max-height: none;
  }

  .hero__bg--placeholder {
    height: 220px;
  }

  .hero__title {
    font-size: var(--font-size-lg);
  }

  /* Hero das seções — altura automática no mobile para não cortar imagem */
  .destino-detalhe-hero {
    height: auto;
  }

  .destino-detalhe-hero__img {
    position: relative;
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
  }

  .editorial-grid__right {
    flex-direction: column;
  }

  .destinos-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .destinos-section .destinos-grid {
    grid-template-columns: 1fr 1fr;
  }

  .dicas-grid {
    grid-template-columns: 1fr;
  }

  .footer__inner {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .footer__bottom-inner {
    flex-direction: column;
    text-align: center;
  }

  .newsletter__form {
    flex-direction: column;
  }

  .newsletter__input {
    width: 100%;
  }

  .container {
    padding: 0 var(--space-4);
  }

  .promo-item__rota {
    font-size: var(--font-size-xs);
  }
}

/* ─── Telas muito pequenas (≤ 380px) ─── */
@media (max-width: 380px) {
  .destinos-grid {
    grid-template-columns: 1fr;
  }

  .hero__title {
    font-size: var(--font-size-base);
  }
}

/* ─── Acessibilidade: redução de movimento ─── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
