/* ═══════════════════════════════════════════════
   RESPONSIVE — mobile-first breakpoints
   1024px: tablet landscape
    768px: tablet portrait / móvil grande
    480px: móvil pequeño
═══════════════════════════════════════════════ */

/* ── 1024px ── */
@media (max-width: 1024px) {
  .hero-inner   { grid-template-columns: 1fr; gap: 3rem; }
  .ht-window    { display: none; }
  .about-grid   { grid-template-columns: 260px 1fr; gap: 2.5rem; }

  .proc-grid    { grid-template-columns: 1fr; }
  .proc-arrow   { display: none; }
  .faq-grid     { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
}

/* ── 768px ── */
@media (max-width: 768px) {
  /* Nav */
  .nav-links  { display: none; }
  .nav-toggle { display: flex; }

  /* Espaciado general */
  .section       { padding: 4rem 0; }
  #resultados { padding: 3.5rem 0; }

  /* Hero — padding recalculado vía --ann-h desde JS */
  #inicio    { padding-top: calc(68px + var(--ann-h, 0px)); }
  .hero-h1   { font-size: 2.3rem; }

  /* Grids */
  .svc-grid          { grid-template-columns: 1fr; }
  .svc-card          { padding: 1.5rem; }
  .mod-row           { grid-template-columns: 1fr; }
  .about-grid        { grid-template-columns: 1fr; }
  .about-photo img   { height: 320px; max-width: 320px; }
  .faq-grid          { grid-template-columns: 1fr; }
  .proc-grid         { grid-template-columns: 1fr; }
  .proc-arrow        { display: none; }

  /* Hero acciones */
  .hero-actions      { flex-direction: column; }
  .hero-actions .btn { width: 100%; justify-content: center; }

  /* WhatsApp flotante — más pequeño en móvil */
  .wa-float { width: 52px; height: 52px; bottom: 1.25rem; left: 1.25rem; }
  .wa-float svg { width: 27px; height: 27px; }
  .wa-tooltip { display: none; }

  /* Prueba social */
  .ps-metrics        { gap: 1.5rem; }
  .ps-metric + .ps-metric::before { display: none; }
  .ps-testimonials   { grid-template-columns: 1fr; }
  .ps-testi          { padding: 1.5rem; }

  /* Formulario */
  .fg-grid   { grid-template-columns: 1fr; }
  .fg.full   { grid-column: 1; }
}

/* ── 480px ── */
@media (max-width: 480px) {
  .container { padding: 0 1.25rem; }
  .nav-inner { padding: 0 1.25rem; }

  .hero-h1   { font-size: 2rem; }
  .hero-services { padding: 1.25rem; }
  .ps-metric-n { font-size: 2.5rem; }
  .c-form    { padding: 1.5rem; }

  /* Tarjeta de contacto CTA — full-width en móvil */
  .c-cal-cta, .c-wa-cta, .c-email-cta { width: 100%; box-sizing: border-box; }

  .foot-inner  { flex-direction: column; text-align: center; }
  .foot-links  { justify-content: center; flex-wrap: wrap; gap: 1rem; }
}

/* ── Sticky CTA — solo en móvil ── */
@media (max-width: 768px) {
  .sticky-cta { display: block; }
  /* Espacio para que el footer no quede detrás del sticky bar */
  footer { padding-bottom: calc(2.5rem + 5rem + env(safe-area-inset-bottom, 0px)); }
  /* Ocultar WA float cuando sticky CTA está activo (redundante en móvil) */
  .wa-float { display: none; }
}



/* ── Secciones de candidato y páginas internas ── */
@media (max-width: 1024px) {
  .case-grid  { grid-template-columns: 1fr; }
  .cs-grid    { grid-template-columns: 1fr 1fr; }
  .prof-cols  { grid-template-columns: 1fr 1fr; }
  .promise    { grid-template-columns: 1fr; }
  .page-body  { grid-template-columns: 1fr; }
  .aside-card { position: static; }
}
@media (max-width: 768px) {
  .xp-item      { grid-template-columns: 1fr; gap: .75rem; padding: 1.5rem; }
  .xp-prev-grid { grid-template-columns: 1fr; }
  .cs-grid      { grid-template-columns: 1fr; }
  .prof-cols    { grid-template-columns: 1fr; }
  .promise ul   { grid-template-columns: 1fr; }
  .promise      { padding: 1.75rem 1.5rem; }
}
