/* ==========================================================================
   RESPONSIVE
   Ajustes por breakpoint. Mobile-first a nivel de contenido, aquí se adapta
   el layout de escritorio (definido en layout.css) hacia pantallas chicas.
   ========================================================================== */

/* --- Tablets --- */
@media (max-width: 960px) {
  .hero .container {
    grid-template-columns: 1fr;
    text-align: center;
    padding-block: var(--space-xl);
  }

  .hero__subtitle {
    margin-inline: auto;
  }

  .hero__actions {
    justify-content: center;
  }

  .checklist li {
    justify-content: center;
  }

  .hero__media {
    order: -1;
  }

  .experience-section {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .experience-section__stat {
    order: -1;
  }

  .steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }

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

/* --- Navegación móvil --- */
@media (max-width: 780px) {
  .nav-toggle {
    display: inline-flex;
  }

  .main-nav {
    position: fixed;
    inset: 64px var(--space-md) auto var(--space-md);
    background-color: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    padding: var(--space-md);
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--transition-base), transform var(--transition-base), visibility var(--transition-base);
  }

  .main-nav.is-open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .main-nav__list {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
  }

  .main-nav__list .btn {
    width: 100%;
  }
}

/* --- Celulares --- */
@media (max-width: 640px) {
  .section {
    padding-block: var(--space-xl);
  }

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

  .grid-3,
  .grid-2 {
    grid-template-columns: 1fr;
  }

  .cta-section {
    margin-inline: 0;
    border-radius: 0;
  }

  .whatsapp-float {
    width: 54px;
    height: 54px;
    right: var(--space-sm);
    bottom: var(--space-sm);
  }

  .whatsapp-float svg {
    width: 28px;
    height: 28px;
  }

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

  .hero__badge {
    position: static;
    transform: none;
    margin-top: var(--space-md);
    display: inline-flex;
  }

  .hero__media-frame {
    margin-bottom: var(--space-sm);
  }
}
