/* ============================================================
   CASA DO AGRO — Responsividade (responsive.css)
   Abordagem mobile-friendly com breakpoints:
   1440+ ultrawide | 1200 desktop | 1024 notebook |
   768 tablet | 560 mobile grande | 400 mobile pequeno
   ============================================================ */

/* ---------- ULTRAWIDE ---------- */
@media (min-width: 1600px) {
  :root { --fs-hero: clamp(3rem, 7vw, 7rem); }
  .hero__logo { width: min(460px, 40vw); }
}

/* ---------- TELAS BAIXAS (laptops ~768px de altura) ---------- */
/* compacta o hero para manter título + CTA acima da dobra */
@media (min-width: 901px) and (max-height: 820px) {
  .hero__logo { width: min(320px, 46vh); margin-bottom: var(--sp-3); }
  .hero__subtitle { margin-bottom: var(--sp-4); }
  .hero__stats { margin-top: var(--sp-5); padding-top: var(--sp-4); }
  .scroll-cue { display: none; }
}

/* ---------- DESKTOP PEQUENO / NOTEBOOK ---------- */
@media (max-width: 1100px) {
  .dash { grid-template-columns: 1fr; }
  .dash__col--publico .dash__pub-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* ---------- TABLET ---------- */
@media (max-width: 900px) {
  .nav { display: none; }
  .header__actions .btn { display: none; }
  .nav-toggle { display: block; }

  .story__grid { grid-template-columns: 1fr; text-align: center; }
  .story__meta { justify-content: center; }
  .story__body { order: 2; }
  .story__visual { order: 1; }

  .numbers__grid { grid-template-columns: 1fr; }
  .phone-frame { transform: rotate(0); margin-bottom: var(--sp-4); }

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

  .dash { grid-template-columns: 1fr; }
  .dash__perf-grid { grid-template-columns: 1fr 1fr; }
  .dash__col--publico .dash__pub-grid { grid-template-columns: 1fr; }

  .sponsor__grid { grid-template-columns: 1fr; }
  .sponsor__divider { display: none; }
  .sponsor__photo { max-width: 460px; margin-inline: auto; }

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

  /* Mapa do evento / patrocinadores: empilha imagem sobre texto */
  .event-map { grid-template-columns: 1fr; }
  .event-map__figure { max-width: 640px; margin-inline: auto; }
  .event-map__spots--row { grid-template-columns: 1fr; }

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

/* ---------- MOBILE GRANDE ---------- */
@media (max-width: 620px) {
  :root { --header-h: 66px; }

  .hero { min-height: 92svh; }
  .hero__cta { flex-direction: column; align-items: stretch; }
  .hero__cta .btn { width: 100%; }
  .hero__stats { gap: 1.5rem 2rem; }

  .stats-glass__grid { grid-template-columns: 1fr; }
  .stats-glass__grid::before { display: none; }
  .stat-item { padding-bottom: var(--sp-4); border-bottom: 1px solid rgba(255,255,255,0.15); }
  .stat-item:last-child { border-bottom: none; padding-bottom: 0; }

  .dash__perf-grid { grid-template-columns: 1fr; }
  .cast-grid { grid-template-columns: 1fr; }

  .sponsor__photo-badge { font-size: 0.78rem; padding: 0.65em 1em; gap: 6px; }
  .sponsor__photo-badge .chip__icon { width: 15px; height: 15px; }

  .footer__grid { grid-template-columns: 1fr; }
  .footer__brand { flex-direction: column; text-align: center; }
  .footer__brand p { max-width: 40ch; }
  .footer__bottom { flex-direction: column; text-align: center; }

  .cta__actions { flex-direction: column; }
  .cta__actions .btn { width: 100%; }

  .city-row { grid-template-columns: 1fr auto; }
  .city-row__bar { grid-column: 1 / -1; order: 3; }
}

/* ---------- MOBILE PEQUENO ---------- */
@media (max-width: 400px) {
  .brand__text { display: none; }
  .benefit { grid-template-columns: 1fr; text-align: left; }
  .benefit__icon { margin-bottom: var(--sp-2); }
}

/* ---------- DISPOSITIVOS SEM HOVER (touch): desativa cursor custom ---------- */
@media (hover: none), (pointer: coarse) {
  .cursor-dot, .cursor-ring { display: none !important; }
  * { cursor: auto !important; }
}
