/* ==========================================================================
   RESPONSIVE — puntos de ruptura mobile-first + impresión + accesibilidad
   ========================================================================== */

/* ---------------------------------------------- < 560px (móvil compacto) */
@media (max-width: 559px) {
  .site-header__bar {
    gap: var(--sp-2);
    min-height: 54px;
  }

  .brand {
    flex-shrink: 0;
  }

  .brand__text {
    min-width: 0;
    line-height: 1.1;
  }

  .brand__name {
    font-size: 0.875rem;
    white-space: nowrap;
  }

  .site-header__actions {
    flex-shrink: 0;
    gap: var(--sp-1);
  }

  .site-header .btn {
    min-height: 40px;
    padding: 0.4rem 0.75rem;
    font-size: var(--fs-sm);
  }

  .nav-toggle {
    width: 42px;
    height: 42px;
    padding: 0 10px;
    flex-shrink: 0;
  }
}

@media (max-width: 350px) {
  .brand__tag {
    display: none;
  }
}

/* ---------------------------------------------- ≥ 560px (móvil grande) */
@media (min-width: 560px) {
  :root { --gutter: 1.25rem; }

  .cta-actions { flex-wrap: wrap; }
  .cta-actions--stack { flex-direction: row; }
  .cta-actions--stack .btn { flex: 1 1 auto; }

  .pricing__row { grid-template-columns: 1fr auto; align-items: baseline; column-gap: var(--sp-5); }
  .pricing__row .pricing__note { grid-column: 1 / -1; }

  .notfound__actions .btn { min-width: 220px; }
}

/* --------------------------------------------------- ≥ 700px (tableta) */
@media (min-width: 700px) {
  .cards--services, .cards--features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section { padding: var(--sp-8) 0; }
  .hero { padding: var(--sp-7) 0 var(--sp-6); }
}

/* ------------------------------------------------- ≥ 900px (escritorio) */
@media (min-width: 900px) {
  html { scroll-padding-top: 88px; }

  /* Cabecera: navegación completa sin depender de JavaScript */
  .nav-toggle { display: none; }
  .site-nav,
  .site-nav[hidden] { display: block; border-bottom: 0; box-shadow: none; }
  .site-nav .wrap { display: flex; align-items: center; gap: var(--sp-5); padding-top: 0; padding-bottom: var(--sp-2); }
  .nav-heading { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); margin: 0; }
  .nav-list { display: flex; flex-wrap: wrap; gap: 2px; }
  .nav-list a { min-height: 44px; padding: 0 var(--sp-3); font-size: var(--fs-sm); }
  .nav-list--info { border-top: 0; border-left: 1px solid var(--c-line); margin: 0 0 0 auto; padding: 0 0 0 var(--sp-4); }
  .site-header__bar { min-height: 64px; }

  /* Rejillas de contenido */
  .hero__grid { grid-template-columns: 1.05fr 0.95fr; gap: var(--sp-6); }
  .hero--tight .hero__grid { grid-template-columns: 1fr; }
  .hero--tight .hero__copy { max-width: 62ch; }

  .cards--services, .cards--features { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .faq { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }

  .split { grid-template-columns: 1fr 1fr; gap: var(--sp-6); }
  .split--media-left .split__copy { order: 2; }
  .split--media-left .split__media { order: 1; }

  .cta-band { grid-template-columns: 1fr auto; gap: var(--sp-5); }
  .cta-band .cta-actions { max-width: 420px; }

  .contact { grid-template-columns: 1fr 1.1fr; gap: var(--sp-6); align-items: start; }
  .contact__form { padding: var(--sp-6); }

  .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
  .sticky-bar { justify-content: center; }
  .sticky-bar__item { flex: 0 1 240px; flex-direction: row; gap: var(--sp-2); font-size: var(--fs-sm); }
}

/* -------------------------------------------------- ≥ 1100px (ancho) */
@media (min-width: 1100px) {
  .section--service-grid .cards--services { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ------------------------------------------------------- IMPRESIÓN */
@media print {
  .site-header, .site-nav, .sticky-bar, .cta-actions, .skip-link, .breadcrumbs { display: none !important; }
  body { padding-bottom: 0; color: #000; }
  .card, .faq__item, .contact__form, .note { box-shadow: none; border-color: #999; }
  .faq__a { display: block !important; }
  .section { padding: 1rem 0; page-break-inside: avoid; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.8em; }
}

/* ------------------------------------------------ MOVIMIENTO REDUCIDO */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
}
