/* ─── Responsive ─────────────────────────────────────── */

/* ── 1024px ── */
@media (max-width: 1024px) {
  .services-grid  { grid-template-columns: repeat(2, 1fr); }
  .service-card--wide,
  .service-card--featured { grid-column: span 2; }
  .agents-grid    { grid-template-columns: repeat(2, 1fr); }
  .remote-support { grid-template-columns: 1fr; gap: var(--space-12); }
  .contact-layout { grid-template-columns: 1fr; gap: var(--space-10); }
  .footer__inner  { grid-template-columns: 1fr 1fr; gap: var(--space-8); }

  /* Nav: burger en tablet */
  .nav__burger { display: flex; z-index: 101; }
  .nav__actions .btn--primary { display: none; }
  .nav__links {
    position: fixed;
    top: 0; left: 0; right: 0;
    background: rgba(11,15,26,0.97);
    backdrop-filter: blur(20px);
    flex-direction: column;
    align-items: stretch;
    padding: 90px var(--space-6) var(--space-8);
    gap: var(--space-1);
    transform: translateY(-110%);
    transition: transform var(--dur-base) var(--ease);
    z-index: 99;
    border-bottom: 1px solid var(--color-border);
  }
  .nav__links.open { transform: translateY(0); }
  .nav__link { padding: var(--space-3) var(--space-4); font-size: var(--text-base); }
}

/* ── 768px ── */
@media (max-width: 768px) {
  .container { padding: 0 var(--space-5); }

  /* Hero */
  .hero__ctas { flex-direction: column; align-items: flex-start; }

  /* Grids */
  .services-grid { grid-template-columns: 1fr; }
  .agents-grid   { grid-template-columns: 1fr; }

  /* Forms */
  .form-row { grid-template-columns: 1fr; }
  .contact-form { padding: var(--space-6); }

  /* Portal */
  .portal-stats { grid-template-columns: 1fr; }
  .ticket-row { grid-template-columns: auto 1fr; }
  .ticket-date { display: none; }

  /* Footer */
  .footer__inner  { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; gap: var(--space-2); text-align: center; }

  /* Modal */
  .modal { padding: var(--space-6); }
  .modal-info { grid-template-columns: 1fr; }

  /* Chat */
  .chat-window { width: calc(100vw - 56px); }
  .chat-widget { right: 16px; bottom: 16px; }
}

/* ── 480px ── */
@media (max-width: 480px) {
  .modal-agent__header { flex-direction: column; align-items: flex-start; }
  .hero__title { font-size: 2.1rem; }
  .section__title { font-size: 1.6rem; }
}

/* ── stats-strip responsive (nosotros.html) ── */
@media (max-width: 768px) {
  .stats-strip { flex-wrap: wrap; }
  .stats-strip__item { flex: 1 1 calc(50% - 1px); border-right: none; border-bottom: 1px solid var(--color-border); }
  .stats-strip__item:nth-child(odd) { border-right: 1px solid var(--color-border); }
}
@media (max-width: 480px) {
  .stats-strip { flex-direction: column; }
  .stats-strip__item { flex: 1 1 auto; border-right: none; border-bottom: 1px solid var(--color-border); }
  .stats-strip__item:last-child { border-bottom: none; }
}

/* ── v2 additions ── */
@media (max-width: 1024px) {
  .testimonials-grid { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
}
@media (max-width: 768px) {
  .faq-question { padding: var(--space-4) var(--space-5); font-size: var(--text-sm); }
  .toast-container { bottom: 90px; } /* sobre el botón de chat */
}

/* ── Hero split v3 ── */
@media (max-width: 1024px) {
  .hero__content--split { grid-template-columns: 1fr; gap: var(--space-12); }
  .hero__panel { max-width: 520px; }
}
@media (max-width: 768px) {
  .hero__panel { display: none; } /* en móvil prima la velocidad: sin panel decorativo */
}

/* ── v4 ── */
@media (max-width: 1024px) {
  .plans-grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
  .plan-card--featured { order: -1; }
  .remote-flow { grid-template-columns: 1fr; }
  .remote-flow__arrow { transform: rotate(90deg); justify-self: center; }
}
@media (max-width: 768px) {
  /* Reducir respiración de secciones en móvil */
  .section { padding: var(--space-16) 0; }
  .section__header { margin-bottom: var(--space-10); }

  /* Footer: colapsar a 2 columnas */
  .footer__inner { grid-template-columns: 1fr 1fr; gap: var(--space-8); }
  .footer__brand { grid-column: 1 / -1; }

  /* Proceso */
  .process-timeline { grid-template-columns: 1fr 1fr; row-gap: var(--space-10); }
  .process-step__line { display: none; }
  .process-step { padding-right: 0; }

  /* Hero */
  .hero__ctas { flex-direction: column; }
  .hero__ctas .btn { width: 100%; justify-content: center; }
}
@media (max-width: 480px) {
  .section { padding: var(--space-12) 0; }
  .footer__inner { grid-template-columns: 1fr; }
  .process-timeline { grid-template-columns: 1fr; gap: var(--space-8); }
  .portal-preview__stats { grid-template-columns: 1fr; max-width: 260px; }
}
