/* =====================================================================
   AYC TYPOGRAPHY SYSTEM — escala única DESKTOP (≥1025px)
   =====================================================================
   FUENTE ÚNICA DE VERDAD de los tamaños de letra. Derivada de los PDFs
   de diseño + Manual de Marca (síntesis de design tokens). 6 tamaños:

     --fs-hero  64px bold     titulares de hero / CTA final
     --fs-h1    44px bold     títulos de sección + CIFRAS de stats
     --fs-h2    32px bold     títulos de card
     --fs-h3    26px semibold subtítulos, TEXTO DE BOTÓN, tabs, citas
     --fs-body  22px regular  cuerpo, listas, nav, footer
     --fs-small 17px regular  etiquetas stat, legal, placeholders

   VALORES LITERALES (un sistema de tokens viejo en responsive.css
   redefine --ayc-fs-*; con literales nada puede pisar estos tamaños).
   Carga el ÚLTIMO (prio 10010) + especificidad de 2-3 IDs con :not(#x).
   NO toca: menú de navegación ni footer fino (su propio tamaño).
   ===================================================================== */

@media (min-width: 1025px) {

  /* ── CUERPO / PÁRRAFOS / LISTAS / DESCRIPCIONES → 22px ───────────── */
  html body[class] .elementor-widget-text-editor p:not(#x):not(#y),
  html body[class] .elementor-widget-text-editor li:not(#x):not(#y),
  html body[class] .elementor-tab-content:not(#x):not(#y),
  html body[class] .elementor-tab-content p:not(#x):not(#y),
  html body[class] .elementor-tab-content li:not(#x):not(#y),
  html body[class] .elementor-testimonial-content:not(#x):not(#y),
  html body[class] .ayc-card-desc:not(#x):not(#y),
  html body[class] .ayc-card-desc p:not(#x):not(#y),
  html body[class] .ayc-card-footer-text:not(#x):not(#y),
  html body[class] .ayc-card-footer-text p:not(#x):not(#y),
  html body[class] .elementor-icon-box-description:not(#x):not(#y),
  html body[class] .elementor-image-box-description:not(#x):not(#y),
  html body[class] .ayc-check-item:not(#x):not(#y),
  html body[class] .ayc-check-item span:not(#x):not(#y),
  html body[class] .ayc-check-item p:not(#x):not(#y),
  html body[class] .ayc-check-list li:not(#x):not(#y),
  html body[class] .ayc-card-features li:not(#x):not(#y),
  html body[class] .qs-tl-block p.qs-tl-desc:not(#x):not(#y),
  html body[class] .faq-a:not(#x):not(#y),
  html body[class] .faq-a p:not(#x):not(#y),
  html body[class] .faq-a li:not(#x):not(#y),
  html body[class] .elementor-post__excerpt p:not(#x):not(#y),
  html body[class] .elementor-post__excerpt:not(#x):not(#y) {
    font-size: 22px !important;
    line-height: 1.6 !important;
  }

  /* ── SUBTÍTULOS (hero y sección) + TEXTO DE BOTÓN + TABS → 26px ──── */
  html body[class] .elementor-element[data-id="svc-hero-sub"] .elementor-heading-title:not(#x):not(#y),
  html body[class] .elementor-element[data-id="ac-hero-sub"] .elementor-heading-title:not(#x):not(#y),
  html body[class] .elementor-element[data-id="acch41e73b"] .elementor-heading-title:not(#x):not(#y),
  html body[class] .elementor-element[data-id="advh41e73b"] .elementor-heading-title:not(#x):not(#y),
  html body[class] .elementor-element[data-id="faq-hero-sub"] .elementor-heading-title:not(#x):not(#y),
  html body[class] .elementor-element[data-id="ac-que-sub"] .elementor-heading-title:not(#x):not(#y),
  html body[class] .elementor-element[data-id="ac-proc-sub"] .elementor-heading-title:not(#x):not(#y),
  html body[class] .elementor-element[data-id="ac-cta-sub"] .elementor-heading-title:not(#x):not(#y),
  html body[class] .elementor-element[data-id="acc-proc-sub"] .elementor-heading-title:not(#x):not(#y),
  html body[class] .elementor-element[data-id="adv-proc-sub"] .elementor-heading-title:not(#x):not(#y),
  html body[class] .elementor-element[data-id="svc-cta-sub"] .elementor-heading-title:not(#x):not(#y),
  html body[class] .elementor-element[data-id="faq-cta-sub"] .elementor-heading-title:not(#x):not(#y),
  html body[class].page-id-87 .qs-philo-sub:not(#x):not(#y),
  html body[class].page-id-87 .qs-team-sub:not(#x):not(#y),
  html body[class] .elementor-testimonial-content.ayc-quote:not(#x):not(#y),
  html body[class] .elementor-button .elementor-button-text:not(#x):not(#y),
  html body[class] .elementor-button-content-wrapper .elementor-button-text:not(#x):not(#y),
  html body[class] a.elementor-button:not(#x):not(#y),
  html body[class] .ayc-card-btn:not(#x):not(#y),
  html body[class] .elementor-tabs .elementor-tab-title:not(#x):not(#y),
  html body[class] .elementor-tabs .elementor-tab-title h3:not(#x):not(#y) {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }

  /* ── TÍTULOS DE CARD / H3 → 32px ─────────────────────────────────── */
  html body[class] .elementor-element .elementor-widget-heading h3.elementor-heading-title:not(#x):not(#y),
  html body[class] .ayc-card-title:not(#x):not(#y),
  html body[class] .elementor-icon-box-title:not(#x):not(#y),
  html body[class] .elementor-icon-box-title span:not(#x):not(#y),
  html body[class] .qs-value-title:not(#x):not(#y),
  html body[class] .qs-diff-title:not(#x):not(#y),
  html body[class] .qs-team-name:not(#x):not(#y),
  html body[class] .qs-stat-title:not(#x):not(#y),
  html body[class] .faq-q:not(#x):not(#y),
  html body[class] .elementor-post__title:not(#x):not(#y),
  html body[class] .elementor-post__title a:not(#x):not(#y) {
    font-size: 32px !important;
    line-height: 1.25 !important;
  }

  /* ── TÍTULOS DE SECCIÓN H2 → 44px (uniforme en todo el sitio) ────── */
  html body[class] .elementor-element .elementor-widget-heading h2.elementor-heading-title:not(#x):not(#y) {
    font-size: 44px !important;
    line-height: 1.15 !important;
  }

  /* ── TITULAR DE HERO H1 → 64px ──────────────────────────────────── */
  html body[class] .elementor-element .elementor-widget-heading h1.elementor-heading-title:not(#x):not(#y) {
    font-size: 64px !important;
    line-height: 1.08 !important;
  }

  /* ── CIFRAS DE ESTADÍSTICAS → 44px (= título de sección) ────────── */
  html body[class] .elementor-image-box-title:not(#x):not(#y),
  html body[class] .elementor-counter-number:not(#x):not(#y) {
    font-size: 44px !important;
  }

  /* ── ETIQUETAS DE STAT / LEGAL / MICROTEXTO → 17px (declarado AL
     FINAL para ganar a la regla de cuerpo en estos elementos) ─────── */
  html body[class] [data-id$="hero-legal"] p:not(#x):not(#y),
  html body[class] .qs-hero-legal-text:not(#x):not(#y),
  html body[class] .ayc-disclaimer:not(#x):not(#y),
  html body[class] .ayc-legal:not(#x):not(#y),
  html body[class] .elementor-element[data-id="ftr_disclaimer"] p:not(#x):not(#y),
  html body[class] .elementor-testimonial-name:not(#x):not(#y),
  html body[class] .elementor-testimonial-job:not(#x):not(#y) {
    font-size: 17px !important;
    line-height: 1.5 !important;
  }
}

/* =====================================================================
   AJUSTES FINOS — elementos que resisten por reglas con data-id o por
   estar dentro de text-editor. 3 IDs (:not(#x):not(#y):not(#z)) +
   declarados al final para ganar a cualquier regla previa.
   ===================================================================== */
@media (min-width: 1025px) {
  /* "Nuestra esencia" — h2 dentro de banners text-editor → 44 */
  html body[class] .elementor-widget-text-editor h2:not(#x):not(#y):not(#z) {
    font-size: 44px !important;
    line-height: 1.15 !important;
  }
  /* "Incluye:" / "Enfoque humano" — sub-label de card → subtítulo 26 */
  html body[class] .ayc-includes-title:not(#x):not(#y):not(#z) {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }
  /* Títulos de card resistentes (diferenciadores/valores/equipo QS,
     preguntas FAQ, tabs) → 32 */
  html body[class] .qs-diff-title:not(#x):not(#y):not(#z),
  html body[class] .qs-value-title:not(#x):not(#y):not(#z),
  html body[class] .qs-team-name:not(#x):not(#y):not(#z),
  html body[class] .faq-q:not(#x):not(#y):not(#z),
  html body[class] .faq-q .elementor-heading-title:not(#x):not(#y):not(#z),
  html body[class] .elementor-icon-box-title:not(#x):not(#y):not(#z),
  html body[class] .elementor-icon-box-title span:not(#x):not(#y):not(#z),
  html body[class] .ayc-card-title:not(#x):not(#y):not(#z),
  html body[class] .elementor-widget-tabs .elementor-tab-title h2:not(#x):not(#y):not(#z),
  html body[class] .elementor-widget-tabs .elementor-tab-title h3:not(#x):not(#y):not(#z),
  html body[class] .elementor-widget-tabs .elementor-tab-title h4:not(#x):not(#y):not(#z) {
    font-size: 32px !important;
    line-height: 1.25 !important;
  }
  /* Subtítulos de hero que el H2 genérico pisaba → 26 (gana con 3 IDs) */
  html body[class] .elementor-element[data-id="ac-hero-sub"] .elementor-heading-title:not(#x):not(#y):not(#z),
  html body[class] .elementor-element[data-id="svc-hero-sub"] .elementor-heading-title:not(#x):not(#y):not(#z),
  html body[class] .elementor-element[data-id="acch41e73b"] .elementor-heading-title:not(#x):not(#y):not(#z),
  html body[class] .elementor-element[data-id="advh41e73b"] .elementor-heading-title:not(#x):not(#y):not(#z),
  html body[class] .elementor-element[data-id="faq-hero-sub"] .elementor-heading-title:not(#x):not(#y):not(#z) {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }
}
