/* ============================================================
   responsive.css — Breakpoints
   ============================================================ */

/* ---------- Tablet (<= 960px) ---------- */
@media (max-width: 960px) {
  .benefits__grid { grid-template-columns: repeat(2, 1fr); }
  .benefit:nth-child(3)::before,
  .benefit:nth-child(1) + .benefit::before { }
  .benefit:nth-child(odd)::before { display: none; }
  .benefit:nth-child(3), .benefit:nth-child(4) { border-top: 1px solid var(--line); }

  .amenities__grid { grid-template-columns: repeat(3, 1fr); }
  .amenity:nth-child(4), .amenity:nth-child(5) { border-top: 1px solid var(--line); }
  .amenity:nth-child(4)::before { display: none; }

  .footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem 2.5rem; }
  .footer__brand { grid-column: 1 / -1; }
}

/* ---------- Móvil (<= 760px) ---------- */
@media (max-width: 760px) {
  :root { --nav-h: 68px; }

  /* Navegación colapsable */
  .nav__toggle { display: flex; }
  .nav__menu, .nav__cta { display: none; }

  .nav__menu.is-open {
    display: flex;
    position: absolute;
    top: var(--nav-h); left: 0; right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--cream);
    padding: 0.5rem var(--gutter) 1.25rem;
    box-shadow: var(--shadow-md);
    animation: menu-in 0.3s var(--ease);
  }
  .nav__menu.is-open li { border-bottom: 1px solid var(--line); }
  .nav__menu.is-open a { display: block; padding: 1rem 0; font-size: 0.82rem; }
  .nav__menu.is-open a::after { display: none; }
  .nav.is-menu-open { background: var(--cream); box-shadow: var(--shadow-sm); }
  .nav.is-menu-open .nav__toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav.is-menu-open .nav__toggle span:nth-child(2) { opacity: 0; }
  .nav.is-menu-open .nav__toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Hero apilado */
  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .hero__media { order: -1; height: 46vh; min-height: 300px; }
  .hero__media::after {
    background: linear-gradient(0deg, var(--cream) 0%, rgba(250,247,241,0) 30%);
  }
  .hero__content {
    max-width: none;
    margin: 0;
    padding: 2.5rem var(--gutter) 3rem;
    text-align: left;
  }

  /* Splits apilados */
  .split { grid-template-columns: 1fr; gap: 2rem; }
  .split--reverse .split__media { order: 0; }
  .split__media img { aspect-ratio: 16/11; }

  .benefits__grid { grid-template-columns: 1fr 1fr; }
  .amenities__grid { grid-template-columns: 1fr 1fr; }
  .amenity:nth-child(3)::before { display: none; }
  .amenity:nth-child(3), .amenity:nth-child(4), .amenity:nth-child(5) { border-top: 1px solid var(--line); }
  .amenity:nth-child(5) { grid-column: 1 / -1; }

  /* Galería a scroll horizontal ancho */
  .gallery__track { grid-auto-columns: 78%; }

  /* Contacto apilado */
  .contact__grid { grid-template-columns: 1fr; text-align: left; }
  .contact__phone { display: none; }
  .field { flex-basis: 100%; }
  .contact__form .btn { flex-basis: 100%; }

  .footer__grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer__brand { grid-column: auto; }
}

/* ---------- Móvil pequeño (<= 420px) ---------- */
@media (max-width: 420px) {
  .benefits__grid, .amenities__grid { grid-template-columns: 1fr; }
  .benefit::before, .amenity::before { display: none !important; }
  .benefit + .benefit, .amenity + .amenity { border-top: 1px solid var(--line); }
  .model-card__specs { gap: 0.9rem; }
}
