/* ============================================================================
   APE · ESCALA TIPOGRÁFICA 2026 (capa de override — se carga al final)
   Objetivo: legibilidad tipo Google Workspace / M365 / Notion en Full HD.
   No cambia layout ni colores: redefine tamaños + line-height + spacing.
   El tema base fija html{font-size:10px}; acá se sube la base y se fijan
   tamaños explícitos por componente según especificación.
   ============================================================================ */

/* ---- 1) Base del sistema: +10% en TODO lo definido en rem (texto, paddings,
        alturas del tema). No es zoom: los anchos de layout no cambian. ---- */
html { font-size: 11px !important; }

/* ---- 2) Barra superior (dirección y teléfonos) ---- */
.rbt-header-top { font-size: 15px !important; }
.rbt-header-top .header-contact-link,
.rbt-header-top .contact-text {
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: .01em;
    line-height: 1.4 !important;
}
.rbt-header-top .header-contact-link i { font-size: 16px !important; }
.rbt-header-top-news .inner,
.rbt-header-top-news .content { font-size: 15px !important; font-weight: 500 !important; }

/* ---- 3) Menú principal ---- */
.rbt-header-wrapper .mainmenu > li > a {
    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: .01em;
    padding: 12px 20px !important;
    line-height: 1.3 !important;
}
.rbt-header-wrapper .mainmenu .mega-menu-item li a,
.rbt-header-wrapper .mainmenu .rbt-megamenu a,
.rbt-header-wrapper .mainmenu .submenu li a {
    font-size: 15px !important;
    padding: 10px 16px !important;
    line-height: 1.4 !important;
}
/* Botones del header (acceso, etc.) */
.rbt-header .rbt-btn,
.rbt-header-wrapper .rbt-btn { font-size: 16px !important; }

/* ---- 4) HERO ---- */
.ape-hero-title {
    font-size: clamp(36px, 3.8vw, 48px) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    margin-bottom: 18px !important;
}
.ape-hero-text {
    font-size: 20px !important;
    line-height: 1.7 !important;
    max-width: 54ch !important;
    margin-bottom: 32px !important;
}
.ape-hero-eyebrow { font-size: 14px !important; letter-spacing: .08em !important; }

/* Botones ape (hero, about, cta) */
.ape-btn {
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 15px 28px !important;
    border-radius: 12px !important;
    line-height: 1.2 !important;
}

/* ---- 5) Card del Congreso / evento destacado (ape-hw) ---- */
.ape-hw-title  { font-size: 28px !important; font-weight: 700 !important; line-height: 1.22 !important; margin-bottom: 12px !important; }
.ape-hw-sub    { font-size: 17px !important; line-height: 1.6 !important; margin-bottom: 14px !important; }
.ape-hw-lema   { font-size: 17px !important; line-height: 1.65 !important; padding: 6px 0 6px 16px !important; }
.ape-hw-meta   { font-size: 15px !important; gap: 10px !important; }
.ape-hw-status { font-size: 11px !important; padding: 6px 12px !important; }
.ape-hw-flag   { font-size: 11px !important; padding: 6px 14px !important; }
.ape-hw-flag i { font-size: 13px !important; }
/* contador */
.ape-hw-cd > div { max-width: 76px !important; padding: 12px 6px !important; border-radius: 12px !important; }
.ape-hw-cd b     { font-size: 22px !important; }
.ape-hw-cd span  { font-size: 10px !important; letter-spacing: .05em !important; }
/* botón inscribirse */
.ape-hw-cta { font-size: 16px !important; padding: 16px 30px !important; }
/* barra inferior del card */
.ape-hw-bar-info  { font-size: 15px !important; }
.ape-hw-count     { font-size: 15px !important; }
.ape-hw-bar-label { font-size: 12px !important; }
.ape-hw-bar-label i { font-size: 14px !important; }

/* ---- 6) Sección "La voz gremial..." (about) ---- */
.ape-about-title  { font-size: 36px !important; font-weight: 800 !important; line-height: 1.2 !important; margin-bottom: 16px !important; }
.ape-about-text   { font-size: 18px !important; line-height: 1.8 !important; }
.ape-about-eyebrow{ font-size: 14px !important; letter-spacing: .08em !important; }
.ape-about-stats b    { font-size: 26px !important; }
.ape-about-stats span { font-size: 15px !important; }

/* ---- 7) KPIs cinematográficos ---- */
.stat-cinematic-number { font-size: 48px !important; line-height: 1.05 !important; }
.stat-cinematic-label  { font-size: 16px !important; letter-spacing: 1.2px !important; line-height: 1.4 !important; }
.stat-cinematic-icon   { font-size: 34px !important; margin-bottom: 8px !important; }

/* ---- 8) Títulos de sección (Nuestros Servicios, Noticias, etc.) ---- */
.section-title .title {
    font-size: clamp(40px, 4.6vw, 56px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -.02em !important;
}
.section-title .subtitle {
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;
    padding: 8px 18px !important;
    border-radius: 50px !important;
}
.section-title .description,
.section-title p {
    font-size: 20px !important;
    line-height: 1.7 !important;
}

/* ---- 9) Cards de Servicios ---- */
.servicio-card { padding: 36px 28px !important; border-radius: 16px !important; }
.servicio-card h3,
.servicio-card .title { font-size: 22px !important; font-weight: 700 !important; line-height: 1.3 !important; margin: 16px 0 10px !important; }
.servicio-card p { font-size: 17px !important; line-height: 1.7 !important; }
.servicio-card a,
.servicio-card .btn,
.servicio-card button { font-size: 17px !important; font-weight: 600 !important; }
.servicio-icon { width: 88px !important; height: 88px !important; font-size: 34px !important; }

/* ---- 10) Cards de noticias / genéricas ---- */
.card-title { font-size: 22px !important; line-height: 1.3 !important; font-weight: 700 !important; }
.card-fabulosa p,
.rbt-card-body p { font-size: 16px !important; line-height: 1.7 !important; }

/* ---- 11) CTA final ---- */
.title.text-white { font-size: clamp(32px, 3.8vw, 44px) !important; line-height: 1.2 !important; }

/* ---- 12) Botones del tema en el cuerpo ---- */
.rbt-btn { font-size: 16px !important; }
.rbt-btn.btn-sm { font-size: 15px !important; }

/* ---- 13) Piso de legibilidad en contenido de secciones ---- */
.ape-hero ~ section p,
.rbt-section-gap p { font-size: 16px; line-height: 1.7; }

/* ---- 14) Responsivo: bajar con elegancia en pantallas chicas ---- */
@media (max-width: 991px) {
    .stat-cinematic-number { font-size: 40px !important; }
    .ape-hw-title { font-size: 24px !important; }
    .ape-about-title { font-size: 30px !important; }
}
@media (max-width: 575px) {
    .ape-hero-text { font-size: 18px !important; }
    .stat-cinematic-number { font-size: 34px !important; }
    .section-title .description, .section-title p { font-size: 18px !important; }
}

/* ---- 15) Card del Congreso: 10% más compacto (alto y ancho) ---- */
.ape-hw { max-width: 540px !important; }
.ape-hw-info { padding: 19px 21px 16px !important; }
.ape-hw-title { font-size: 25px !important; margin-bottom: 10px !important; }
.ape-hw-sub   { font-size: 16px !important; margin-bottom: 12px !important; }
.ape-hw-lema  { font-size: 16px !important; margin-bottom: 13px !important; }
.ape-hw-meta  { font-size: 14px !important; margin-bottom: 13px !important; }
.ape-hw-cd { gap: 8px !important; margin-bottom: 15px !important; }
.ape-hw-cd > div { max-width: 68px !important; padding: 10px 5px !important; }
.ape-hw-cd b { font-size: 20px !important; }
.ape-hw-cta { font-size: 15px !important; padding: 14px 26px !important; }
.ape-hw-body { grid-template-columns: minmax(0,1fr) 190px !important; gap: 18px !important; }
.ape-hw-bar { padding: 10px 18px !important; }
.ape-hw-bar-info, .ape-hw-count { font-size: 14px !important; }

/* ---- 16) Botón "Registrarse" del header (marquee animado) ---- */
.rbt-btn.rbt-marquee-btn.marquee-auto.btn-border-gradient {
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: .02em !important;
    height: 50px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    border-radius: 25px !important;
}
.rbt-btn.rbt-marquee-btn.marquee-auto.btn-border-gradient span,
.rbt-btn.rbt-marquee-btn.marquee-auto.btn-border-gradient span::after {
    font-size: 16px !important;
    font-weight: 600 !important;
}
/* Link "Ingresar" al lado */
.rbt-header .rbt-round-btn,
.rbt-header .rbt-round-btn + a,
.rbt-header-wrapper .header-info a[href*="login"] { font-size: 16px !important; }
