/* ==========================================================================
   Festival +CIPER 2026 — ajustes responsive
   Breakpoints: sm 640px · md 768px · lg 1024px · xl 1280px
   Autor: Andrea Urzua Assler
   ========================================================================== */

@media (min-width: 640px) {
  .nav-cta { gap: 0.5rem; font-size: 11px; padding: 0.625rem 1.75rem; }
  .hero__cta { width: auto; }
  .speakers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  
  .editions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /*.intl__main { grid-template-columns: 190px minmax(0, 1fr); }*/
  .intl__main { grid-template-columns: 150px minmax(0, 1fr); }

  .launch__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .host { grid-column: span 4 / span 4; }
  .guest { grid-column: span 4 / span 4; max-width: 200px; }
  .logo-cell { min-width: 160px; }
  .logo-cell--lg { min-width: 200px; }
  .cta-final__btns { flex-direction: row; }
}

@media (min-width: 768px) {
  .container, .site-nav__inner, .hero__layout { padding-inline: 2.5rem; }
  .section { padding-block: 6rem; }
  .cta-final { padding-block: 8rem; }
  .site-nav__links { display: flex; }
  .site-nav__cta { flex: none; }
  .nav-toggle, .mobile-menu { display: none; }
  .hero__logo img { max-width: 420px; }
  .hero__place-row span { font-size: 1rem; line-height: 1.5; }
  .cloud { display: flex; }
  .cloud li { font-size: 1.25rem; }
  .hero__card { padding: 2rem; }
  .hero__date-main { font-size: 0.875rem; line-height: calc(1.25 / 0.875); }
  .hero__count-row { gap: 2rem; }
  .countdown__num { font-size: 1.875rem; line-height: 1; }
  .stats { display: block; }
  .stats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .stats__cell { padding-inline: 2rem; }
  .stats__num { font-size: 2.25rem; line-height: 1; }
  .speakers { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .intl { padding: 2.25rem; }
  .intl__main { gap: 2rem; }
  .mesas-grid, .taller-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .launch__podcast { font-size: 1.875rem; line-height: 1.375; }
  .editions { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .timeline__line { display: block; }
  .pi { gap: 2rem; }
  .pi__side, .pi__dotwrap { display: flex; }
  .pi__tag--mobile { display: none; }
  .pi__main { padding-left: 2rem; }
  .pi__desc { display: block; }
  .faq__item { gap: 1.25rem; padding-block: 2rem; }
  .faq__qtext { font-size: 1.875rem; line-height: 1.375; }
  .faq__a-inner { font-size: 1rem; }
  .cta-final__rule { display: block; }
  .footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .footer__brand { grid-column: span 2 / span 2; }
  .footer__bottom { flex-direction: row; align-items: center; }
}

@media (min-width: 1024px) {
  .hero__layout { grid-template-columns: 400px minmax(0, 640px); gap: 3.5rem; padding-bottom: 6rem; margin-top: 1.5rem; }
  .speakers { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .intl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .launch { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4rem; }
  .launch__info { grid-column: span 5 / span 5; }
  .launch__people { grid-column: span 7 / span 7; }
  .feria { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5rem; }
}

@media (min-width: 1280px) {
  .hero__layout { grid-template-columns: 420px minmax(0, 660px); gap: 4rem; }
}


@media (max-width: 767px) {
  .section { padding-block: 2.5rem; }
  .section__head { margin-bottom: 2rem; }
  .hero { min-height: auto; padding-bottom: 1rem; }
  .hero__layout { min-height: auto; padding-top: 6rem; padding-bottom: 1rem; margin-top: 0; gap: 2rem; }
  .hero__card { margin-top: 1rem; }
  .cta-row { margin-top: 2rem; }
  .more-link { margin-top: 2rem; }
}

@media (min-width: 640px) {
  .artists-grid {
    flex-direction: row; /* Se ponen lado a lado en escritorio */
    flex-wrap: wrap;
    justify-content: center; /* Quedan centrados en la pantalla */
    gap: 3rem;
  }
}