/* ============================================================
   BLUE GYM · Responsive
   ============================================================ */

/* ---- <= 1024px ---- */
@media (max-width: 1024px) {
  .features { grid-template-columns: repeat(2, 1fr); }
  .footer__top { grid-template-columns: 1.4fr 1fr; }
}

/* ---- <= 880px : nav móvil ---- */
@media (max-width: 880px) {
  .nav__links {
    position: fixed; inset: 0 0 0 auto; z-index: 55;
    width: min(82vw, 340px);
    flex-direction: column; justify-content: center; gap: 1.4rem;
    padding: 2rem;
    background: var(--navy);
    box-shadow: -20px 0 60px rgba(8,18,28,.5);
    transform: translateX(100%);
    transition: transform .38s var(--ease);
  }
  .nav__links.is-open { transform: none; }
  .nav__links a { font-size: 1rem; color: var(--paper) !important; }
  .nav__toggle { display: inline-flex; align-items: center; z-index: 56; }
  .nav .btn { display: none; }
  body.nav-open { overflow: hidden; }

  .intro__grid { grid-template-columns: 1fr; }
  .locate { grid-template-columns: 1fr; }
  .zone { grid-template-columns: 1fr; gap: 1.3rem; }
  .zone:nth-child(even) .zone__media { order: 0; }
  .zone__media { min-height: 260px; }
  .gallery { grid-template-columns: repeat(2, 1fr); }
}

/* ---- <= 560px ---- */
@media (max-width: 560px) {
  .features { grid-template-columns: 1fr; }
  .footer__top { grid-template-columns: 1fr; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .hero__scroll { display: none; }
  .hero__cta .btn, .cta-final .btn { flex: 1 1 auto; }
  .marquee__track, .marquee__item { gap: 1.6rem; }
}

/* ---- <= 360px ---- */
@media (max-width: 360px) {
  .gallery { grid-template-columns: 1fr; }
}
