/* Mobile-first: ajustes por faixa */

/* ≤ 860px: menu hamburger, grids empilham, sticky CTA aparece */
@media (max-width: 860px) {
  .header__toggle {
    display: grid; gap: 5px; padding: 0.9rem 0.6rem; z-index: 55; position: relative;
  }
  .header__toggle span {
    display: block; width: 26px; height: 2px;
    background: var(--color-text); border-radius: 2px;
    transition: transform var(--transition), opacity var(--transition);
  }
  .header__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .header__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .header__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .header__menu {
    position: fixed; inset: 0; z-index: 50;
    flex-direction: column; justify-content: center; gap: 2rem;
    background: var(--noite-96);
    backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
    font-size: var(--text-lead);
    opacity: 0; pointer-events: none; visibility: hidden;
    transition: opacity var(--transition), visibility var(--transition);
  }
  .header__menu.is-open { opacity: 1; pointer-events: auto; visibility: visible; }

  .destaque__card { grid-template-columns: 1fr; }
  .sobre__wrap, .onde__wrap { grid-template-columns: 1fr; }
  .galeria__grid { grid-template-columns: repeat(2, 1fr); gap: 0.6rem; }
  .sobre__texto .section-title { text-align: center; }
  .sobre__texto { text-align: center; }
  .sobre__chips { grid-template-columns: 1fr 1fr; }

  .sticky-cta { display: block; }
  .hero__ctas .js-cta-ingresso { display: none; } /* CTA primário do hero vira o sticky no mobile */
  .hero__scroll { display: none; }               /* seta ficaria atrás do sticky CTA */
  /* consent acima do sticky, respeitando safe-area de aparelhos com notch */
  .consent { bottom: calc(5.5rem + env(safe-area-inset-bottom)); }
}

/* ≤ 480px: refinos de telas pequenas (375px alvo) */
@media (max-width: 480px) {
  .countdown { width: 100%; justify-content: space-between; }
  .countdown__item { min-width: 0; flex: 1; }
  .hero__logo { width: 64vw; }
  .header__logo { width: 60px; height: 60px; }
  .footer { padding-bottom: 8rem; }
}

/* ≥ 1440px: respiro extra */
@media (min-width: 1440px) {
  .hero__logo { width: 380px; }
}
