/* ═══════════════════════════════════════════════════════
   EduProfe landing — sistema visual unificado (capítulos)
   Carga después de home.css y home-extras.css
════════════════════════════════════════════════════════ */

.ep-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Ancho unificado — todos los capítulos como servicio/confianza */
.ep-landing .ep-chapter {
    --max-w: min(94vw, 92rem);
}
.ep-landing .ep-chapter-head .ep-container,
.ep-landing .ep-chapter-body .ep-container,
.ep-landing .ep-chapter-body .ep-container--grid,
.ep-landing .ep-chapter-body .ep-mensajeria-inner,
.ep-landing .ep-chapter-body .ep-trabaja-inner,
.ep-landing .ep-chapter-body .ep-trabaja-section > .ep-container,
.ep-landing .ep-extras-banner {
    max-width: var(--max-w);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* ── Capítulos: bandas visibles ───────────────────────── */
.ep-landing .ep-chapter {
    scroll-margin-top: 5rem;
    border-top: 5px solid var(--slate-200);
    background: var(--slate-50);
}

.ep-landing .ep-chapter--inicio {
    border-top: none;
    background:
        radial-gradient(ellipse 90% 55% at 12% -5%, rgba(0, 112, 176, 0.06) 0%, transparent 55%),
        radial-gradient(ellipse 60% 45% at 92% 0%, rgba(224, 128, 0, 0.07) 0%, transparent 50%),
        #fff;
}
.ep-landing .ep-chapter--inicio .ep-chapter-body > * + * {
    border-top: none;
}
.ep-landing .ep-chapter--inicio .ep-hub {
    margin-top: 0;
    padding-top: 0.5rem;
    border-top: 1px solid var(--ep-band-divider);
}

.ep-landing .ep-chapter--servicio,
.ep-landing .ep-chapter--confianza,
.ep-landing .ep-chapter--centros,
.ep-landing .ep-chapter--contacto,
.ep-landing .ep-chapter--novedades,
.ep-landing .ep-chapter--extras,
.ep-landing .ep-chapter--informacion,
.ep-landing .ep-chapter--profesorado {
    border-top-color: var(--navy, var(--blue));
    background: linear-gradient(180deg, #fafbfc 0%, #fff 6rem);
}
/* Capítulos con acento amarillo Gerbi */
.ep-landing .ep-chapter--servicio,
.ep-landing .ep-chapter--confianza,
.ep-landing .ep-chapter--novedades,
.ep-landing .ep-chapter--profesorado {
    border-top-color: #f0c000;
}
.ep-landing .ep-chapter--servicio .ep-chapter-kicker,
.ep-landing .ep-chapter--confianza .ep-chapter-kicker,
.ep-landing .ep-chapter--novedades .ep-chapter-kicker,
.ep-landing .ep-chapter--profesorado .ep-chapter-kicker {
    color: #e08000;
}
.ep-landing .ep-chapter--servicio .ep-chapter-num,
.ep-landing .ep-chapter--confianza .ep-chapter-num,
.ep-landing .ep-chapter--novedades .ep-chapter-num,
.ep-landing .ep-chapter--profesorado .ep-chapter-num {
    color: rgba(240, 192, 0, 0.28);
}
.ep-landing .ep-chapter--extras {
    background: linear-gradient(180deg, #fff8e6 0%, #fff 8rem);
}
.ep-landing .ep-chapter--centros {
    background: linear-gradient(180deg, #e8f5fc 0%, #fff 7rem);
}
.ep-landing .ep-chapter--servicio {
    background: linear-gradient(180deg, #f7f9fc 0%, #fff8e6 50%, #fff 8rem);
}

/* ── Cabecera de capítulo (visible) ───────────────────── */
.ep-landing .ep-chapter-head {
    padding: 2rem 0 1.35rem;
    border-bottom: 1px solid rgba(30, 58, 95, 0.08);
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(6px);
}
.ep-landing .ep-chapter-head-inner {
    display: grid;
    gap: 0.35rem 1.25rem;
    align-items: end;
}
@media (min-width: 720px) {
    .ep-landing .ep-chapter-head-inner {
        grid-template-columns: auto 1fr;
        gap: 0 2rem;
    }
}
.ep-landing .ep-chapter-num {
    margin: 0;
    font-size: clamp(2.75rem, 6vw, 4.25rem);
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.05em;
    color: rgba(0, 96, 152, 0.12);
}

.ep-landing .ep-chapter-kicker {
    margin: 0 0 0.35rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--navy, var(--blue));
}

.ep-landing .ep-chapter-title {
    margin: 0 0 0.45rem;
    font-size: clamp(1.45rem, 3.5vw, 2.1rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--ink);
    line-height: 1.15;
}
.ep-landing .ep-chapter-lead {
    margin: 0;
    max-width: 40rem;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--slate-700);
}

/* ── Cuerpo: ritmo y bloques unificados ───────────────── */
.ep-landing .ep-chapter-body {
    padding-bottom: 2.25rem;
}
.ep-landing .ep-chapter-body > * + * {
    border-top: 1px solid rgba(30, 58, 95, 0.07);
}

/* Quitar fondos sueltos que rompían la coherencia (contacto y equipo conservan los suyos) */
.ep-landing .ep-chapter-body .ep-band-soft,
.ep-landing .ep-chapter-body .ep-panels-row {
    background: transparent !important;
}
.ep-landing .ep-chapter--contacto .ep-mensajeria-section {
    background: var(--ep-band-muted) !important;
}
.ep-landing .ep-chapter--confianza #conocenos.ep-section-alt {
    background: var(--slate-50) !important;
    border-top: 1px solid var(--ep-band-divider);
}
.ep-landing .ep-chapter--confianza .ep-chapter-body--duo > #transparencia,
.ep-landing .ep-chapter--confianza .ep-chapter-body--duo > #conocenos {
    grid-column: 1 / -1;
}

.ep-landing .ep-chapter-body > section,
.ep-landing .ep-chapter-body > .ep-combo-duo {
    padding-top: 1.85rem;
    padding-bottom: 1.85rem;
}
.ep-landing .ep-chapter-body > section.ep-section-compact {
    padding-top: 1.85rem;
    padding-bottom: 1.85rem;
}

/* Subsecciones: un solo nivel tipográfico bajo el capítulo */
.ep-landing .ep-chapter-body h2[id]:not(.ep-chapter-title) {
    font-size: clamp(1.2rem, 2.4vw, 1.45rem) !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 0.4rem !important;
}
.ep-landing .ep-chapter-body .ep-section-lead,
.ep-landing .ep-chapter-body .ep-valores-lead,
.ep-landing .ep-chapter-body .ep-mundial-lead {
    font-size: 0.9375rem !important;
    margin-bottom: 1.15rem !important;
    max-width: 38rem;
}
.ep-landing .ep-chapter-body .ep-trabaja-lead {
    font-size: 0.9375rem !important;
    margin-bottom: 1.15rem !important;
    max-width: none !important;
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Trabaja con nosotros — mismo ancho útil que mensajería/FAQ */
.ep-landing .ep-chapter--profesorado .ep-trabaja-inner,
.ep-landing .ep-chapter--profesorado .ep-chapter-head .ep-container {
    max-width: var(--max-w) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}
.ep-landing .ep-chapter--profesorado .ep-trabaja-head {
    text-align: left;
    max-width: none;
}
.ep-landing .ep-chapter--profesorado .ep-trabaja-cta {
    justify-content: flex-start;
}
.ep-landing .ep-chapter--profesorado .ep-trabaja-cta-btns {
    justify-content: flex-start;
}

/* Tags de subsección: estilo único, menos ruido */
.ep-landing .ep-chapter-body .ep-tag {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    padding: 0.2rem 0.55rem;
    margin-bottom: 0.45rem;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(37, 99, 235, 0.15);
    color: var(--blue-hover);
}

/* Tarjetas genéricas — excluir contraste transparencia */
.ep-landing .ep-chapter-body .ep-card,
.ep-landing .ep-chapter-body .ep-hub-panel,
.ep-landing .ep-chapter-body .ep-valores-item,
.ep-landing .ep-chapter-body .ep-panel,
.ep-landing .ep-chapter-body .ep-mundial-bracket-panel,
.ep-landing .ep-chapter-body .ep-trabaja-card {
    background: #fff;
    border: 1px solid rgba(30, 58, 95, 0.1);
    border-radius: var(--radius-lg);
    box-shadow: 0 2px 10px rgba(30, 58, 95, 0.05);
}

.ep-landing .ep-hub-grid {
    gap: 0.55rem;
}
.ep-landing .ep-hub-panel {
    min-height: 4.75rem;
    padding: 0.65rem 0.75rem;
}

/* Combo plataforma + materias — ancho completo del capítulo servicio */
.ep-landing .ep-chapter--servicio .ep-combo-duo {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0;
}
@media (min-width: 1100px) {
    .ep-landing .ep-chapter--servicio .ep-combo-duo {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }
    .ep-landing .ep-chapter--servicio .ep-combo-duo > section:first-child {
        border-right: 1px solid rgba(30, 58, 95, 0.08);
    }
}
.ep-landing .ep-chapter--servicio .ep-combo-duo > section {
    width: 100%;
    min-width: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.ep-landing .ep-chapter--servicio .ep-combo-duo .ep-svc-panel {
    margin-bottom: 1.5rem;
    height: auto;
}
@media (min-width: 1100px) {
    .ep-landing .ep-chapter--servicio .ep-combo-duo .ep-svc-sub:last-child .ep-svc-panel {
        margin-bottom: 0;
    }
}
.ep-landing .ep-chapter--servicio .ep-svc-sub .ep-container {
    max-width: var(--max-w);
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.ep-landing .ep-chapter--servicio .ep-svc-panel {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    box-sizing: border-box;
}

/* Transparencia (promise) integrada */
.ep-landing .ep-promise--compact {
    padding: 0 !important;
}
.ep-landing .ep-promise-intro h2 {
    font-size: clamp(1.2rem, 2.4vw, 1.45rem) !important;
}

/* Hub: etiqueta de acceso rápido */
.ep-landing .ep-chapter--inicio .ep-hub::before {
    content: 'Acceso rápido';
    display: block;
    margin: 0 1.25rem 0.65rem;
    max-width: var(--max-w);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ep-muted);
}
@media (min-width: 1104px) {
    .ep-landing .ep-chapter--inicio .ep-hub::before {
        padding-left: 1.25rem;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        max-width: var(--max-w);
        box-sizing: border-box;
    }
}

/* Ocultar cintas antiguas si quedara alguna */
.ep-landing .ep-chapter-ribbon { display: none; }

/* Dark mode */
html[data-theme="dark"] .ep-landing .ep-chapter {
    background: #0f172a;
    border-top-color: #334155;
}
html[data-theme="dark"] .ep-landing .ep-chapter--inicio {
    background:
        radial-gradient(ellipse 70% 50% at 90% 0%, rgba(240, 192, 0, 0.08) 0%, transparent 50%),
        #0f172a;
}
html[data-theme="dark"] .ep-landing .ep-chapter-head {
    background: rgba(15, 23, 42, 0.92);
    border-bottom-color: #334155;
}
html[data-theme="dark"] .ep-landing .ep-chapter-kicker { color: #f0c000; }
html[data-theme="dark"] .ep-landing .ep-chapter-num { color: rgba(240, 192, 0, 0.22); }
html[data-theme="dark"] .ep-landing .ep-chapter--servicio,
html[data-theme="dark"] .ep-landing .ep-chapter--confianza,
html[data-theme="dark"] .ep-landing .ep-chapter--centros,
html[data-theme="dark"] .ep-landing .ep-chapter--contacto,
html[data-theme="dark"] .ep-landing .ep-chapter--novedades,
html[data-theme="dark"] .ep-landing .ep-chapter--extras,
html[data-theme="dark"] .ep-landing .ep-chapter--comunidad,
html[data-theme="dark"] .ep-landing .ep-chapter--informacion,
html[data-theme="dark"] .ep-landing .ep-chapter--profesorado {
    background: #0f172a;
    border-top-color: rgba(240, 192, 0, 0.45);
}
html[data-theme="dark"] .ep-landing .ep-chapter-body .ep-card,
html[data-theme="dark"] .ep-landing .ep-chapter-body .ep-hub-panel,
html[data-theme="dark"] .ep-landing .ep-chapter-body .ep-promise-card,
html[data-theme="dark"] .ep-landing .ep-chapter-body .ep-panel,
html[data-theme="dark"] .ep-landing .ep-chapter-body .ep-novedades-card,
html[data-theme="dark"] .ep-landing .ep-chapter-body .ep-mundial-bracket-panel,
html[data-theme="dark"] .ep-landing .ep-chapter-body .ep-mundial-news-panel {
    background: #1e293b;
    border-color: #334155;
}
html[data-theme="dark"] .ep-landing .ep-chapter-title { color: #f1f5f9; }
html[data-theme="dark"] .ep-landing .ep-chapter-lead { color: #94a3b8; }
html[data-theme="dark"] .ep-landing .ep-novedades-card-title { color: #f1f5f9; }
html[data-theme="dark"] .ep-landing .ep-novedades-card-desc { color: #94a3b8; }
html[data-theme="dark"] .ep-landing .ep-extras-banner { color: #94a3b8; }
html[data-theme="dark"] .ep-mobile-jump {
    background: rgba(15, 23, 42, 0.94);
    border-bottom-color: #334155;
}
html[data-theme="dark"] .ep-mobile-jump a {
    color: #e2e8f0;
    background: #1e293b;
    border-color: #475569;
}
html[data-theme="dark"] .ep-bracket-m-tabs {
    background: linear-gradient(180deg, #0f172a 70%, rgba(15, 23, 42, 0.85));
}
html[data-theme="dark"] .ep-bracket-m-tab {
    background: #1e293b;
    border-color: #475569;
    color: #cbd5e1;
}
html[data-theme="dark"] .ep-bracket-m-tab.is-active {
    background: #065f46;
    border-color: #065f46;
    color: #fff;
}

/* ═══ Sección 01 — paneles unificados ═══ */
.ep-landing .ep-chapter--servicio .ep-chapter-body > * + * {
    border-top: none;
}
.ep-landing .ep-chapter--servicio .ep-svc-sub {
    padding: 0 !important;
}
.ep-landing .ep-chapter--servicio .ep-container {
    max-width: var(--max-w);
}

/* Confianza — mismo ancho que servicio (92rem) */
.ep-landing .ep-chapter--confianza .ep-chapter-body > * + * {
    border-top: none;
}
.ep-landing .ep-chapter--confianza .ep-container {
    max-width: var(--max-w);
}
@media (min-width: 1080px) {
    .ep-landing .ep-chapter--confianza .ep-chapter-body--duo > #conocenos .ep-container {
        max-width: none;
        width: 100%;
    }
}

.ep-svc-panel {
    background: #fff;
    border: 1px solid rgba(30, 58, 95, 0.1);
    border-radius: var(--radius-lg);
    box-shadow: 0 8px 28px rgba(30, 58, 95, 0.07);
    padding: 1.75rem 1.35rem;
    margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
    .ep-svc-panel {
        padding: 2rem 2rem 2.25rem;
        margin-bottom: 2rem;
    }
}
.ep-svc-sub:last-child .ep-svc-panel {
    margin-bottom: 0;
}

.ep-svc-panel-head {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem 1.25rem;
    align-items: start;
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(30, 58, 95, 0.08);
}
.ep-svc-panel-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.85rem;
    background: var(--grad-brand);
    color: #fff;
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1;
    flex-shrink: 0;
}
.ep-svc-panel-intro h2 {
    margin: 0 0 0.35rem;
    font-size: clamp(1.35rem, 2.8vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    color: var(--ink);
}
.ep-svc-panel-intro p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--slate-500);
    max-width: 42rem;
}

.ep-svc-block-title {
    margin: 1.75rem 0 0.75rem;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--ink);
}
.ep-svc-block-lead {
    margin: -0.35rem 0 1rem;
    font-size: 0.9375rem;
    color: var(--slate-500);
}

/* Pasos */
.ep-steps--svc {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}
@media (min-width: 640px) {
    .ep-steps--svc { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1100px) {
    .ep-steps--svc { grid-template-columns: repeat(4, 1fr); }
}
.ep-step-card {
    padding: 1.15rem 1.2rem !important;
    height: 100%;
}
.ep-step-card h3 {
    font-size: 1.0625rem !important;
    margin: 0.5rem 0 0.35rem;
}
.ep-step-card p {
    font-size: 0.9375rem !important;
    line-height: 1.55;
    margin: 0;
}

/* Calculadora — tamaño completo */
.ep-landing .ep-chapter--servicio .ep-price-calc-wrap {
    margin-bottom: 0;
}
.ep-landing .ep-chapter--servicio .ep-price-calc {
    padding: 1.5rem 1.5rem 1.35rem;
}
.ep-landing .ep-chapter--servicio .ep-calc-pill {
    padding: 0.5rem 1rem;
    font-size: 0.9375rem;
}
.ep-landing .ep-chapter--servicio .ep-calc-result-price {
    font-size: 2.15rem !important;
}
.ep-landing .ep-chapter--servicio .ep-calc-result-price--sm {
    font-size: 1.65rem !important;
}

/* Packs */
.ep-svc-packs-block {
    margin-top: 1.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(30, 58, 95, 0.08);
}
.ep-packs-grid--svc {
    gap: 1rem;
}
.ep-landing .ep-chapter--servicio .ep-pack-card {
    padding: 1.15rem 1.2rem;
}
.ep-landing .ep-chapter--servicio .ep-pack-name {
    font-size: 1.0625rem;
}
.ep-landing .ep-chapter--servicio .ep-pack-price {
    font-size: 1.65rem;
    color: var(--ink, #0f172a);
}
.ep-landing .ep-chapter--servicio .ep-pack-desc,
.ep-landing .ep-chapter--servicio .ep-pack-note {
    font-size: 0.9375rem;
}

/* RGA suscripción — azul Gerbi */
.ep-svc-rga-block {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(0, 112, 176, 0.12);
}
.ep-rga-grid--svc {
    gap: 1rem;
}
.ep-rga-sub-card {
    padding: 1.25rem 1.35rem !important;
    border-top: 3px solid #0070b0 !important;
    text-align: center;
    background: linear-gradient(180deg, #e8f5fc 0%, #fff 55%);
}
.ep-rga-sub-card:nth-child(2) {
    border-top-color: #f0c000 !important;
    background: linear-gradient(180deg, #fff8e6 0%, #fff 55%);
}
.ep-rga-sub-label {
    margin: 0 0 0.35rem;
    font-size: 0.8125rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #0070b0;
}
.ep-rga-sub-card:nth-child(2) .ep-rga-sub-label { color: #e08000; }
.ep-rga-sub-price {
    font-size: 1.85rem !important;
    font-weight: 800;
    color: #0070b0 !important;
    margin: 0.15rem 0;
    line-height: 1.2;
}
.ep-rga-sub-card:nth-child(2) .ep-rga-sub-price { color: #e08000 !important; }
.ep-rga-sub-cta {
    margin-top: 0.85rem;
    width: 100%;
    background: #0070b0 !important;
    color: #fff !important;
}
.ep-rga-sub-cta:hover {
    background: #006098 !important;
}

/* RGA herramientas */
.ep-rga-about--svc {
    margin-bottom: 0.5rem;
    padding: 1rem 1.15rem;
    background: var(--blue-pale);
    border: 1px solid rgba(37, 99, 235, 0.12);
    border-radius: var(--radius);
}
.ep-rga-about--svc .ep-rga-about-text {
    margin: 0 0 0.5rem;
    font-size: 0.975rem;
    line-height: 1.6;
}
.ep-rga-about--svc .ep-rga-about-meta {
    margin: 0;
    font-size: 0.9375rem;
}
.ep-rga-grid--svc {
    gap: 0.85rem;
}
.ep-landing .ep-chapter--servicio .ep-rga-card-body {
    padding: 0.75rem 0.85rem 0.85rem;
}
.ep-landing .ep-chapter--servicio .ep-rga-card-title {
    font-size: 0.9375rem;
}
.ep-landing .ep-chapter--servicio .ep-rga-card-desc {
    font-size: 0.8125rem;
}

/* Materias — grid en lugar de scroll estrecho */
.ep-materias-grid-wrap {
    margin: 0 0 1rem;
}
.ep-materias-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem;
}
@media (min-width: 640px) {
    .ep-materias-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 900px) {
    .ep-materias-grid { grid-template-columns: repeat(5, 1fr); }
}
@media (min-width: 1100px) {
    .ep-landing .ep-chapter--servicio .ep-combo-duo .ep-materias-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Precios — calculadora a ancho completo; packs PAU / 5 / 9 en paralelo debajo */
.ep-svc-pricing-wide {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.ep-svc-pricing-wide > #calcular-precio,
.ep-svc-pricing-wide > .ep-price-calc-wrap {
    width: 100%;
}
.ep-svc-pricing-wide .ep-svc-packs-block {
    margin-top: 1.5rem;
    padding-top: 1.35rem;
    border-top: 1px solid rgba(30, 58, 95, 0.08);
}
.ep-svc-pricing-wide .ep-packs-grid--svc {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}
@media (min-width: 768px) {
    .ep-svc-pricing-wide .ep-packs-grid--svc {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
    }
}

.ep-landing .ep-chapter--servicio .ep-materia-chip {
    width: auto;
    flex: unset;
    padding: 0.85rem 0.9rem 0.95rem;
    min-height: 7.5rem;
}
.ep-landing .ep-chapter--servicio .ep-materia-chip-icon {
    font-size: 1.65rem;
    margin-bottom: 0.35rem;
}
.ep-landing .ep-chapter--servicio .ep-materia-chip-name {
    font-size: 0.9375rem;
}
.ep-landing .ep-chapter--servicio .ep-materia-chip-nivel {
    font-size: 0.8125rem;
    white-space: normal;
}
.ep-landing .ep-chapter--servicio .ep-materia-chip-tags span {
    font-size: 0.6875rem;
}
.ep-landing .ep-chapter--servicio .ep-materias-search {
    padding: 0.7rem 1rem 0.7rem 2.5rem;
    font-size: 1rem;
}
.ep-materias-uni--svc {
    margin-top: 1.25rem;
    padding: 0.85rem 1rem;
    font-size: 0.9375rem;
}
.ep-materias-uni--svc .ep-materias-uni-name {
    font-size: 0.875rem;
}
.ep-materias-uni--svc .ep-materias-uni-asig {
    font-size: 0.8125rem;
}

.ep-svc-test-banner {
    margin-top: 1.25rem;
    padding: 1.15rem 1.25rem;
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, #fffbeb, #fff8e6);
    border: 1px solid rgba(245, 158, 11, 0.35);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.ep-svc-test-banner strong {
    display: block;
    color: #92400e;
    font-size: 1rem;
}
.ep-svc-test-banner p {
    margin: 0.35rem 0 0;
    font-size: 0.9375rem;
    color: #78350f;
    max-width: 32rem;
}

html[data-theme="dark"] .ep-svc-panel {
    background: #1e293b;
    border-color: #334155;
}
html[data-theme="dark"] .ep-svc-panel-head {
    border-bottom-color: #334155;
}
html[data-theme="dark"] .ep-svc-panel-intro h2,
html[data-theme="dark"] .ep-svc-block-title {
    color: #f1f5f9;
}
html[data-theme="dark"] .ep-rga-about--svc {
    background: rgba(37, 99, 235, 0.12);
    border-color: #334155;
}
html[data-theme="dark"] .ep-svc-packs-block,
html[data-theme="dark"] .ep-svc-rga-block {
    border-top-color: #334155;
}

/* ═══ v2 — UX: paralelo, transparencia, valores, CTA ═══ */

.ep-cta-main {
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}

/* Atajos servicio */
.ep-svc-quiero {
    padding: 0.85rem 0 1rem;
    border-bottom: 1px solid var(--ep-band-divider);
    background: rgba(255, 255, 255, 0.9);
}
.ep-svc-quiero-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--slate-700);
    margin-right: 0.75rem;
    white-space: nowrap;
}
.ep-svc-quiero .ep-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}
.ep-svc-quiero-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.ep-svc-quiero-link {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--blue);
    text-decoration: none;
    padding: 0.4rem 0.85rem;
    border-radius: 9999px;
    border: 1px solid rgba(37, 99, 235, 0.2);
    background: var(--blue-pale);
    transition: background 0.14s, border-color 0.14s;
}
.ep-svc-quiero-link:hover {
    background: #dbeafe;
    border-color: rgba(37, 99, 235, 0.35);
}

/* Grid 2 columnas — confianza e información */
@media (min-width: 1080px) {
    .ep-landing .ep-chapter-body--duo {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem 1.25rem;
        align-items: start;
        max-width: var(--max-w);
        margin: 0 auto;
        padding: 0 1.25rem 1.5rem;
    }
    .ep-landing .ep-chapter-body--duo > * {
        border-top: none !important;
        min-width: 0;
    }
    .ep-landing .ep-chapter-body--duo > * + * {
        border-top: none !important;
    }
    .ep-landing .ep-chapter-body--duo .ep-promise--trust .ep-promise-grid {
        grid-template-columns: 1fr 1fr;
    }
    .ep-landing .ep-chapter-body--duo .ep-valores-grid {
        grid-template-columns: 1fr;
    }
}

/* Información — FAQ (izq) + SEO/anuncios (dcha) equilibrados */
@media (min-width: 1080px) {
    .ep-landing .ep-chapter--informacion .ep-chapter-body--duo {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
        align-items: stretch;
        gap: 1.25rem 1.5rem;
    }
    .ep-landing .ep-chapter--informacion .ep-faq-section--solo .ep-faq-grid {
        grid-template-columns: 1fr;
    }
    .ep-landing .ep-chapter--informacion .ep-faq-section--solo .ep-faq {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.45rem 0.65rem;
        align-content: start;
        align-items: start;
    }
    .ep-landing .ep-chapter--informacion .ep-faq-section--solo .ep-faq-item {
        height: auto;
        align-self: start;
        margin-bottom: 0 !important;
    }
    .ep-landing .ep-chapter--informacion .ep-seo-block--with-side {
        height: 100%;
    }
    .ep-landing .ep-chapter--informacion .ep-seo-block--with-side .ep-container {
        height: 100%;
    }
    .ep-landing .ep-chapter--informacion .ep-informacion-side {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        height: 100%;
        min-height: 100%;
    }
    .ep-landing .ep-chapter--informacion .ep-informacion-side .ep-faq-side {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        min-height: 0;
    }
    .ep-landing .ep-chapter--informacion .ep-informacion-side .ep-anuncios-box {
        flex: 1 1 auto;
        min-height: 6rem;
    }
}
.ep-informacion-links {
    margin: 0;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(37, 99, 235, 0.12);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-xs);
}
.ep-informacion-links-title {
    margin: 0 0 0.5rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--slate-900, #0f172a);
}
.ep-informacion-links-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.35rem;
}
.ep-informacion-links-list a {
    display: block;
    padding: 0.4rem 0.55rem;
    border-radius: var(--radius-sm, 0.5rem);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--blue, #2563eb);
    background: var(--blue-pale, #eff6ff);
    text-decoration: none;
    transition: background 0.14s;
}
.ep-informacion-links-list a:hover {
    background: #dbeafe;
}
html[data-theme="dark"] .ep-informacion-links {
    background: #1e293b;
    border-color: #334155;
}
html[data-theme="dark"] .ep-informacion-links-title {
    color: #f1f5f9;
}
html[data-theme="dark"] .ep-informacion-links-list a {
    background: rgba(37, 99, 235, 0.15);
    color: #93c5fd;
}

/* Servicio — apilado ancho, sin grid 2×2 */
.ep-landing .ep-chapter-body--svc-wide {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 1.25rem 1.5rem;
}
.ep-landing .ep-chapter-body--svc-wide > * {
    border-top: none !important;
}
.ep-landing .ep-chapter-body--svc-wide .ep-svc-sub {
    padding: 0 !important;
}
.ep-landing .ep-chapter-body--svc-wide .ep-svc-sub + .ep-svc-sub {
    margin-top: 1.25rem;
}
.ep-landing .ep-chapter-body--svc-wide .ep-combo-duo {
    margin-top: 1.25rem;
}

/* Transparencia — contraste sí / no */
.ep-landing .ep-promise--trust {
    padding: 1.25rem 0 !important;
    background: transparent !important;
    position: relative;
    overflow: visible;
}
.ep-landing .ep-promise--trust::before {
    display: none;
}
.ep-landing .ep-promise--trust .ep-promise-intro {
    margin-bottom: 1rem;
    max-width: none;
}
.ep-landing .ep-promise--trust .ep-promise-intro h2 {
    font-size: clamp(1.2rem, 2.4vw, 1.45rem) !important;
    color: var(--ink) !important;
    margin: 0 0 0.35rem;
}
.ep-landing .ep-promise--trust .ep-promise-intro p {
    font-size: 0.9375rem !important;
    color: var(--slate-700) !important;
    margin: 0;
}
.ep-landing .ep-promise--trust .ep-promise-intro a {
    color: var(--blue);
    font-weight: 600;
}
.ep-landing .ep-promise--trust .ep-promise-grid {
    gap: 1rem;
}
.ep-landing .ep-promise--trust .ep-promise-card {
    padding: 1.15rem 1.25rem;
    backdrop-filter: none;
}
.ep-landing .ep-promise--trust .ep-promise-card--yes {
    background: #ecfdf5 !important;
    border: 2px solid #10b981 !important;
    box-shadow: 0 4px 16px rgba(16, 185, 129, 0.12);
}
.ep-landing .ep-promise--trust .ep-promise-card--no {
    background: #fef2f2 !important;
    border: 2px solid #ef4444 !important;
    box-shadow: 0 4px 16px rgba(239, 68, 68, 0.1);
}
.ep-landing .ep-promise--trust .ep-promise-card h3 {
    text-transform: none;
    letter-spacing: -0.01em;
    font-size: 1rem;
    margin-bottom: 0.85rem;
}
.ep-landing .ep-promise--trust .ep-promise-card--yes h3 {
    color: #047857 !important;
}
.ep-landing .ep-promise--trust .ep-promise-card--no h3 {
    color: #b91c1c !important;
}
.ep-landing .ep-promise--trust .ep-promise-list li {
    font-size: 0.9375rem !important;
    color: var(--ink-soft) !important;
    line-height: 1.55;
}
.ep-landing .ep-promise--trust .ep-promise-list a {
    color: var(--blue);
    font-weight: 600;
}
.ep-landing .ep-promise--trust .ep-promise-card--yes .ep-promise-icon {
    background: #10b981 !important;
    color: #fff !important;
}
.ep-landing .ep-promise--trust .ep-promise-card--no .ep-promise-icon,
.ep-landing .ep-promise--trust .ep-promise-icon--deny {
    background: #ef4444 !important;
    color: #fff !important;
    border: none !important;
}

/* Valores — grid fijo (sin slider) */
.ep-valores-section--grid {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
}
.ep-valores-head {
    margin-bottom: 1rem;
}
.ep-valores-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr;
}
@media (min-width: 540px) {
    .ep-valores-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
    .ep-valores-grid { grid-template-columns: repeat(3, 1fr); }
}
.ep-valores-grid .ep-valores-item {
    display: block;
    padding: 0;
    min-height: 0;
    background: #fff;
    border: 1px solid rgba(30, 58, 95, 0.1);
    border-radius: var(--radius-lg);
    box-shadow: 0 2px 8px rgba(30, 58, 95, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.ep-valores-grid .ep-valores-item:hover {
    border-color: rgba(30, 58, 95, 0.16);
    box-shadow: 0 4px 12px rgba(30, 58, 95, 0.06);
}
.ep-valores-card,
.ep-valores-trigger {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    width: 100%;
    min-height: 100%;
    padding: 0.85rem 0.95rem;
    margin: 0;
    border: 0;
    background: transparent;
    text-align: left;
    font: inherit;
    color: inherit;
    cursor: default;
    border-radius: inherit;
}
.ep-valores-grid .ep-valores-name {
    font-size: 0.9375rem;
}
.ep-valores-grid .ep-valores-desc {
    font-size: 0.8125rem;
    color: var(--slate-700);
    line-height: 1.5;
}
.ep-valores-more {
    display: none;
}

/* Modal detalle (valores, metodología…) */
.ep-detail-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    pointer-events: none;
}
.ep-detail-modal:not([hidden]) { pointer-events: auto; }
.ep-detail-modal[hidden] { display: none !important; }
.ep-detail-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    opacity: 0;
    transition: opacity 0.28s ease;
}
.ep-detail-modal.is-open .ep-detail-modal-backdrop,
.ep-detail-modal.is-closing .ep-detail-modal-backdrop { opacity: 1; }
.ep-detail-modal.is-closing .ep-detail-modal-backdrop { opacity: 0; }
.ep-detail-modal-panel {
    position: relative;
    width: min(100%, 34rem);
    max-height: min(88vh, 40rem);
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(30, 58, 95, 0.12);
    border-radius: var(--radius-lg);
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.2);
    opacity: 0;
    transform: translateY(12px) scale(0.98);
    transition: opacity 0.28s ease, transform 0.28s ease;
}
.ep-detail-modal.is-open .ep-detail-modal-panel {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.ep-detail-modal.is-closing .ep-detail-modal-panel {
    opacity: 0;
    transform: translateY(8px) scale(0.99);
}
.ep-detail-modal-head {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.65rem 0.75rem;
    align-items: center;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(30, 58, 95, 0.08);
    background: rgba(248, 250, 252, 0.9);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.ep-detail-modal-icon { font-size: 1.5rem; line-height: 1; }
.ep-detail-modal-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--ink);
    letter-spacing: -0.02em;
}
.ep-detail-modal-close {
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--slate-700);
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}
.ep-detail-modal-close:hover { background: var(--slate-100); color: var(--ink); }
.ep-detail-modal-body {
    padding: 1.1rem 1.15rem 1.25rem;
    overflow-y: auto;
}
.ep-detail-modal-intro {
    margin: 0 0 0.9rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--ink);
}
.ep-detail-modal-points {
    margin: 0;
    padding: 0 0 0 1.15rem;
    display: grid;
    gap: 0.55rem;
}
.ep-detail-modal-points li {
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--slate-700);
}
.ep-detail-modal-cta {
    margin: 1rem 0 0;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(30, 58, 95, 0.08);
}
.ep-detail-modal-cta a {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--blue);
    text-decoration: none;
}
.ep-detail-modal-cta a:hover { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) {
    .ep-detail-modal-panel,
    .ep-detail-modal-backdrop,
    .ep-valores-grid .ep-valores-item {
        transition: none;
    }
    .ep-detail-modal.is-open .ep-detail-modal-panel { transform: none; opacity: 1; }
}

/* Metodología — junto a valores en confianza */
.ep-metodologia-section {
    padding-top: 0.5rem !important;
    padding-bottom: 1.75rem !important;
    border-top: 1px solid rgba(30, 58, 95, 0.08);
    margin-top: 0.25rem;
}
.ep-metodologia-head {
    margin-bottom: 1rem;
}
.ep-metodologia-title {
    margin: 0 0 0.35rem;
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    color: var(--ink);
}
.ep-metodologia-lead {
    margin: 0;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--slate-700);
    max-width: 42rem;
}
.ep-metodologia-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr;
}
@media (min-width: 540px) {
    .ep-metodologia-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
    .ep-metodologia-grid { grid-template-columns: repeat(3, 1fr); }
}
.ep-metodologia-item {
    display: block;
    padding: 0;
    background: #fff;
    border: 1px solid rgba(30, 58, 95, 0.1);
    border-radius: var(--radius-lg);
    box-shadow: 0 2px 8px rgba(30, 58, 95, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.ep-metodologia-item:hover,
.ep-metodologia-item:focus-within {
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: 0 6px 18px rgba(30, 58, 95, 0.08);
    transform: translateY(-1px);
}
.ep-metodologia-trigger {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    width: 100%;
    min-height: 100%;
    padding: 0.95rem 1rem;
    margin: 0;
    border: 0;
    background: transparent;
    text-align: left;
    font: inherit;
    color: inherit;
    cursor: pointer;
    border-radius: inherit;
}
.ep-metodologia-trigger:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 2px;
}
.ep-metodologia-more {
    margin-top: 0.35rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--blue);
    letter-spacing: 0.01em;
}
.ep-metodologia-trigger:hover .ep-metodologia-more,
.ep-metodologia-trigger:focus-visible .ep-metodologia-more {
    text-decoration: underline;
}
.ep-metodologia-icon {
    font-size: 1.35rem;
    line-height: 1;
}
.ep-metodologia-name {
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--ink);
}
.ep-metodologia-desc {
    font-size: 0.8125rem;
    color: var(--slate-700);
    line-height: 1.5;
}
.ep-metodologia-foot {
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px dashed rgba(30, 58, 95, 0.12);
    font-size: 0.875rem;
    color: var(--slate-700);
    line-height: 1.55;
}
.ep-metodologia-foot p { margin: 0 0 0.35rem; }
.ep-metodologia-foot a {
    color: var(--blue);
    font-weight: 700;
}
html[data-theme="dark"] .ep-metodologia-section {
    border-top-color: #334155;
}
html[data-theme="dark"] .ep-metodologia-item {
    background: #1e293b;
    border-color: #334155;
}
html[data-theme="dark"] .ep-metodologia-title { color: #f1f5f9; }
html[data-theme="dark"] .ep-metodologia-lead,
html[data-theme="dark"] .ep-metodologia-desc,
html[data-theme="dark"] .ep-metodologia-foot { color: #cbd5e1; }
html[data-theme="dark"] .ep-metodologia-foot { border-top-color: #334155; }

/* Comunidad — banda extras */
.ep-extras-banner {
    margin: 0 auto;
    padding: 0.75rem 1.25rem 0.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--slate-700);
    font-style: italic;
}
.ep-landing .ep-chapter--comunidad .ep-panels-row {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

/* Capítulo 04 — novedades */
.ep-novedades-section {
    padding: 0 !important;
}
.ep-novedades-feature {
    margin-bottom: 1.25rem;
    width: 100%;
}

/* Orientación familias — ancho completo (anula compactación del panel) */
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 {
    padding: 1.85rem 1.65rem !important;
    width: 100%;
    box-sizing: border-box;
}
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 h3 {
    font-size: clamp(1.25rem, 3vw, 1.875rem) !important;
    margin-bottom: 0.5rem !important;
}
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 > div > div:first-child > div:last-child {
    display: block !important;
}
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 > div > div:nth-child(2),
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 .ep-apoyo-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
    margin-bottom: 1.25rem !important;
}
@media (min-width: 900px) {
    .ep-landing .ep-novedades-feature #apoyo-emocional-2627 > div > div:nth-child(2),
    .ep-landing .ep-novedades-feature #apoyo-emocional-2627 .ep-apoyo-cards {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 > div > div:nth-child(2) > div,
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 .ep-apoyo-cards > div {
    padding: 0.85rem 1rem !important;
}
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 > div > div:nth-child(2) p,
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 .ep-apoyo-cards p {
    font-size: inherit !important;
}
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 > div > div:nth-child(3) {
    display: block !important;
}
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 > div > div:nth-child(4) {
    margin-bottom: 1rem !important;
}
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 > div > div:nth-child(4) a:last-child {
    display: inline-flex !important;
}
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 a {
    font-size: 0.9375rem !important;
    padding: 0.65rem 1.25rem !important;
}
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 > div > div:nth-child(4) a:last-child {
    font-size: 0.875rem !important;
    padding: 0.6rem 1.1rem !important;
}
.ep-landing .ep-novedades-feature #apoyo-emocional-2627 > div > p:last-of-type {
    font-size: 0.7rem !important;
}

.ep-novedades-cards {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
}
@media (min-width: 1100px) {
    .ep-novedades-cards {
        grid-template-columns: repeat(3, 1fr);
    }
}
.ep-novedades-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1rem 1.05rem !important;
    border-top: 3px solid var(--blue);
    height: 100%;
}
.ep-novedades-card-ico { font-size: 1.35rem; }
.ep-novedades-card-title {
    font-size: 0.9375rem;
    color: var(--ink);
}
.ep-novedades-card-desc {
    margin: 0;
    flex: 1;
    font-size: 0.8125rem;
    color: var(--slate-700);
    line-height: 1.5;
}
.ep-novedades-card-badge {
    display: inline-block;
    margin-top: 0.25rem;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 9999px;
    width: fit-content;
}

/* Capítulo extras — infotainment horizontal */
.ep-extras-infotainment {
    padding: 0 !important;
}
.ep-extras-info-panel {
    background: #fff;
    border: 1px solid rgba(30, 58, 95, 0.1);
    border-radius: var(--radius-lg);
    border-top: 3px solid #6366f1;
    box-shadow: 0 2px 10px rgba(30, 58, 95, 0.05);
    padding: 1.15rem 1.25rem;
}
.ep-extras-infotainment .ep-panel-head {
    margin-bottom: 1rem;
}
.ep-extras-infotainment .ep-panel-title {
    font-size: clamp(1.15rem, 2vw, 1.35rem);
}
.ep-extras-infotainment .ep-info-stack {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) {
    .ep-extras-infotainment .ep-info-stack {
        grid-template-columns: repeat(3, 1fr);
    }
}
.ep-extras-infotainment .ep-info-card--sidebar {
    min-height: 10rem !important;
    padding: 0.85rem 0.95rem;
}
.ep-extras-infotainment .ep-info-card-head--compact .ep-info-card-title {
    font-size: 0.9375rem;
}
.ep-extras-infotainment .ep-info-card--sidebar .ep-info-card-sub {
    display: block;
    font-size: 0.75rem;
}

/* Ritmo más compacto + contraste texto */
.ep-landing .ep-chapter-body > section {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
}
.ep-landing .ep-section-lead,
.ep-landing .ep-section-lead--sm,
.ep-landing .ep-materias-lead,
.ep-landing .ep-rga-lead {
    color: var(--slate-700) !important;
}

html[data-theme="dark"] .ep-promise--trust .ep-promise-card--yes {
    background: rgba(16, 185, 129, 0.12) !important;
    border-color: #10b981 !important;
}
html[data-theme="dark"] .ep-promise--trust .ep-promise-card--no {
    background: rgba(239, 68, 68, 0.12) !important;
    border-color: #ef4444 !important;
}
html[data-theme="dark"] .ep-valores-grid .ep-valores-item {
    background: #1e293b;
    border-color: #334155;
}
html[data-theme="dark"] .ep-detail-modal-panel {
    background: #1e293b;
    border-color: #334155;
}
html[data-theme="dark"] .ep-detail-modal-head {
    background: #0f172a;
    border-color: #334155;
}
html[data-theme="dark"] .ep-detail-modal-close:hover {
    background: #334155;
    color: #f8fafc;
}
html[data-theme="dark"] .ep-svc-quiero {
    background: rgba(15, 23, 42, 0.9);
}
html[data-theme="dark"] .ep-svc-quiero-link {
    background: #1e293b;
    border-color: #334155;
    color: #93c5fd;
}

/* ═══ Hub unificado RGA + Asignaturas ═══ */
.ep-rga-mat-hub {
    padding: 0 !important;
}
.ep-rga-mat-panel {
    background: #fff;
    border: 1px solid rgba(30, 58, 95, 0.1);
    border-radius: var(--radius-lg);
    box-shadow: 0 8px 28px rgba(30, 58, 95, 0.07);
    padding: 1.75rem 1.35rem 2rem;
    overflow: hidden;
}
@media (min-width: 768px) {
    .ep-rga-mat-panel { padding: 2rem 2rem 2.25rem; }
}

.ep-rga-mat-head {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem 1.25rem;
    align-items: start;
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(30, 58, 95, 0.08);
}
.ep-rga-mat-head-text h2 {
    margin: 0 0 0.35rem;
    font-size: clamp(1.35rem, 2.8vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    color: var(--ink);
}
.ep-rga-mat-head-text p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--slate-700);
    max-width: 46rem;
}

.ep-rga-mat-summary {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.75rem;
}
@media (min-width: 900px) {
    .ep-rga-mat-summary {
        grid-template-columns: 1.15fr 1fr;
    }
}
.ep-rga-mat-summary-card {
    padding: 1.15rem 1.25rem;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(30, 58, 95, 0.1);
}
.ep-rga-mat-summary-card--rga {
    background: linear-gradient(135deg, #e8f5fc 0%, #f0f8fc 55%, #fff 100%);
    border-color: rgba(0, 112, 176, 0.22);
    border-top: 3px solid #0070b0;
}
.ep-rga-mat-summary-card--subj {
    background: linear-gradient(135deg, #fff8e6 0%, #fffbeb 55%, #fff 100%);
    border-color: rgba(240, 192, 0, 0.35);
    border-top: 3px solid #f0c000;
}
.ep-rga-mat-summary-kicker {
    margin: 0 0 0.4rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #0070b0;
}
.ep-rga-mat-summary-card--subj .ep-rga-mat-summary-kicker {
    color: #e08000;
}
.ep-rga-mat-summary-text {
    margin: 0 0 0.85rem;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--slate-700);
}
.ep-rga-mat-summary-prices {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}
.ep-rga-mat-price-pill {
    font-size: 0.8125rem;
    padding: 0.35rem 0.65rem;
    border-radius: 9999px;
    background: #fff;
    border: 1px solid rgba(0, 112, 176, 0.22);
    color: #006098;
}
.ep-rga-mat-price-pill strong { color: #0070b0; }
.ep-rga-mat-summary-stats {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.85rem;
    font-size: 0.8125rem;
    color: var(--slate-700);
}
.ep-rga-mat-summary-stats strong {
    color: #0070b0;
    font-weight: 800;
}
.ep-rga-mat-summary-link {
    font-size: 0.875rem;
    font-weight: 700;
    color: #0070b0;
    text-decoration: none;
}
.ep-rga-mat-summary-card--subj .ep-rga-mat-summary-link {
    color: #e08000;
}
.ep-rga-mat-summary-link:hover { text-decoration: underline; }

.ep-rga-mat-zone {
    padding-top: 1.5rem;
    border-top: 1px solid rgba(30, 58, 95, 0.08);
}
.ep-rga-mat-zone-head {
    margin-bottom: 1rem;
}
.ep-rga-mat-zone-head--split {
    display: grid;
    gap: 1rem;
    align-items: end;
}
@media (min-width: 960px) {
    .ep-rga-mat-zone-head--split {
        grid-template-columns: 1fr auto;
        align-items: end;
    }
}
.ep-rga-mat-zone-title {
    margin: 0 0 0.25rem;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--ink);
}
.ep-rga-mat-zone-lead {
    margin: 0;
    font-size: 0.9375rem;
    color: var(--slate-700);
}

.ep-rga-mat-bento {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
    .ep-rga-mat-bento { grid-template-columns: repeat(4, 1fr); }
}
.ep-rga-mat-bento-item { min-width: 0; }
.ep-rga-mat-bento-item .ep-rga-card { height: 100%; }
@media (min-width: 768px) {
    .ep-rga-mat-bento-item--wide { grid-column: span 2; }
    .ep-rga-mat-bento-item--wide .ep-rga-card-visual { min-height: 5.5rem; }
}

.ep-rga-mat-toolbar {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-width: min(100%, 28rem);
}
.ep-rga-mat-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.ep-rga-mat-cat {
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.35rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid rgba(37, 99, 235, 0.2);
    background: #fff;
    color: var(--slate-700);
    cursor: pointer;
    transition: background 0.14s, border-color 0.14s, color 0.14s;
}
.ep-rga-mat-cat.is-active,
.ep-rga-mat-cat:hover {
    background: var(--blue-pale);
    border-color: rgba(37, 99, 235, 0.35);
    color: var(--blue);
}
.ep-rga-mat-search.ep-materias-search-wrap {
    margin: 0;
    max-width: none;
}

.ep-rga-mat-zone--subjects {
    padding-top: 2rem;
    margin-top: 0.75rem;
}

.ep-rga-mat-subjects-toggle {
    position: relative;
    border: 2px solid rgba(0, 112, 176, 0.28);
    border-radius: calc(var(--radius-lg) + 2px);
    background: linear-gradient(135deg, #e8f5fc 0%, #fff8e6 42%, #fff 100%);
    overflow: hidden;
    box-shadow:
        0 8px 32px rgba(0, 112, 176, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
}
.ep-rga-mat-subjects-toggle::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #0070b0, #f0c000, #e08000, #0070b0);
    background-size: 200% 100%;
    animation: ep-subjects-stripe 5s ease-in-out infinite;
}
@keyframes ep-subjects-stripe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
.ep-rga-mat-subjects-toggle[open] {
    box-shadow:
        0 12px 36px rgba(0, 112, 176, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
}
.ep-rga-mat-subjects-summary {
    list-style: none;
    cursor: pointer;
    padding: 1.2rem 1.25rem 1.2rem 1.15rem;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.85rem 1rem;
    color: var(--ink);
    background: transparent;
    border-bottom: 1px solid transparent;
    transition: background 0.16s ease;
}
.ep-rga-mat-subjects-summary:hover {
    background: rgba(255, 255, 255, 0.45);
}
.ep-rga-mat-subjects-toggle[open] .ep-rga-mat-subjects-summary {
    border-bottom-color: rgba(37, 99, 235, 0.12);
}
.ep-rga-mat-subjects-summary::-webkit-details-marker { display: none; }
.ep-rga-mat-subjects-summary::after { display: none; }
.ep-rga-mat-subjects-summary-icon {
    flex-shrink: 0;
    width: 3.25rem;
    height: 3.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.55rem;
    line-height: 1;
    background: #fff;
    border-radius: 1rem;
    border: 1px solid rgba(37, 99, 235, 0.18);
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.18);
}
.ep-rga-mat-subjects-summary-main {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}
.ep-rga-mat-subjects-summary-kicker {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--blue);
}
.ep-rga-mat-subjects-summary-text {
    font-size: clamp(1.125rem, 2.6vw, 1.4rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.2;
    color: var(--ink);
}
.ep-rga-mat-subjects-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.15rem;
}
.ep-rga-mat-subjects-chips span {
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(37, 99, 235, 0.22);
    color: var(--slate-700);
}
.ep-rga-mat-subjects-summary-action {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem 0.55rem 1.1rem;
    border-radius: 999px;
    background: #0070b0;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 4px 14px rgba(0, 96, 152, 0.18);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.ep-rga-mat-subjects-summary:hover .ep-rga-mat-subjects-summary-action {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.42);
}
.ep-rga-mat-subjects-summary-chevron {
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    transition: transform 0.2s ease;
}
.ep-rga-mat-subjects-toggle[open] .ep-rga-mat-subjects-summary-chevron {
    transform: rotate(-135deg) translateY(1px);
}
.ep-rga-mat-subjects-toggle[open] .ep-rga-mat-subjects-summary-action-text::after {
    content: ' catálogo';
}
.ep-rga-mat-subjects-body {
    padding: 1rem 1.15rem 1.15rem;
    background: rgba(255, 255, 255, 0.55);
}
@media (max-width: 639px) {
    .ep-rga-mat-subjects-summary {
        grid-template-columns: auto 1fr;
        grid-template-areas:
            "icon main"
            "action action";
    }
    .ep-rga-mat-subjects-summary-icon { grid-area: icon; }
    .ep-rga-mat-subjects-summary-main { grid-area: main; }
    .ep-rga-mat-subjects-summary-action {
        grid-area: action;
        justify-self: stretch;
        justify-content: center;
        margin-top: 0.15rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .ep-rga-mat-subjects-toggle::before { animation: none; }
}
html[data-theme="dark"] .ep-rga-mat-subjects-toggle {
    background: linear-gradient(135deg, #1e3a5f 0%, #1e293b 55%, #0f172a 100%);
    border-color: #475569;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}
html[data-theme="dark"] .ep-rga-mat-subjects-summary-text { color: #f1f5f9; }
html[data-theme="dark"] .ep-rga-mat-subjects-summary-kicker { color: #93c5fd; }
html[data-theme="dark"] .ep-rga-mat-subjects-summary-icon {
    background: #0f172a;
    border-color: #475569;
}
html[data-theme="dark"] .ep-rga-mat-subjects-chips span {
    background: rgba(15, 23, 42, 0.65);
    border-color: #475569;
    color: #cbd5e1;
}
html[data-theme="dark"] .ep-rga-mat-subjects-body {
    background: rgba(15, 23, 42, 0.45);
}
html[data-theme="dark"] .ep-rga-mat-subjects-summary:hover {
    background: rgba(255, 255, 255, 0.04);
}

.ep-rga-mat-uni-nested {
    margin-top: 1rem;
}
.ep-materias-uni-item--match {
    border-color: rgba(37, 99, 235, 0.35) !important;
    background: var(--blue-pale) !important;
}

.ep-rga-mat-rows {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}
.ep-rga-mat-row {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "icon main"
        "icon tags";
    gap: 0.15rem 0.85rem;
    align-items: center;
    padding: 0.75rem 0.95rem;
    background: #fff;
    border: 1px solid rgba(30, 58, 95, 0.1);
    border-radius: var(--radius);
    transition: border-color 0.14s, box-shadow 0.14s;
}
@media (min-width: 720px) {
    .ep-rga-mat-row {
        grid-template-columns: auto minmax(10rem, 14rem) 1fr auto;
        grid-template-areas: "icon main tags badge";
        gap: 0 1rem;
    }
}
.ep-rga-mat-row:hover {
    border-color: rgba(37, 99, 235, 0.25);
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.06);
}
.ep-rga-mat-row--featured {
    border-color: rgba(245, 158, 11, 0.35);
    background: linear-gradient(90deg, #fffbeb 0%, #fff 40%);
}
.ep-rga-mat-row-icon {
    grid-area: icon;
    font-size: 1.5rem;
    line-height: 1;
}
.ep-rga-mat-row-main {
    grid-area: main;
    min-width: 0;
}
.ep-rga-mat-row-name {
    display: block;
    font-size: 0.9375rem;
    color: var(--ink);
}
.ep-rga-mat-row-nivel {
    display: block;
    font-size: 0.8125rem;
    color: var(--slate-700);
}
.ep-rga-mat-row-tags {
    grid-area: tags;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}
.ep-rga-mat-row-tags span {
    font-size: 0.6875rem;
    font-weight: 600;
    padding: 0.12rem 0.45rem;
    border-radius: 9999px;
    background: var(--blue-pale);
    color: var(--blue-hover);
    border: 1px solid rgba(37, 99, 235, 0.12);
}
.ep-rga-mat-row-badge {
    grid-area: badge;
    font-size: 0.6875rem;
    font-weight: 800;
    padding: 0.2rem 0.5rem;
    border-radius: 9999px;
    background: #fef3c7;
    color: #92400e;
    white-space: nowrap;
    justify-self: end;
}
.ep-rga-mat-foot {
    margin-top: 1rem;
    display: grid;
    gap: 1rem;
}
.ep-rga-mat-test.ep-svc-test-banner { margin-top: 0; }

html[data-theme="dark"] .ep-rga-mat-panel {
    background: #1e293b;
    border-color: #334155;
}
html[data-theme="dark"] .ep-rga-mat-head {
    border-bottom-color: #334155;
}
html[data-theme="dark"] .ep-rga-mat-summary-card--rga {
    background: linear-gradient(135deg, rgba(0, 112, 176, 0.22) 0%, #1e293b 100%);
    border-color: rgba(0, 112, 176, 0.4);
    border-top-color: #0070b0;
}
html[data-theme="dark"] .ep-rga-mat-summary-card--subj {
    background: linear-gradient(135deg, rgba(240, 192, 0, 0.14) 0%, #1e293b 100%);
    border-color: rgba(240, 192, 0, 0.35);
    border-top-color: #f0c000;
}
html[data-theme="dark"] .ep-rga-mat-summary-kicker { color: #7dd3fc; }
html[data-theme="dark"] .ep-rga-mat-summary-card--subj .ep-rga-mat-summary-kicker { color: #f0c000; }
html[data-theme="dark"] .ep-rga-mat-summary-text { color: #cbd5e1; }
html[data-theme="dark"] .ep-rga-mat-price-pill {
    background: #0f172a;
    border-color: rgba(0, 112, 176, 0.35);
    color: #e2e8f0;
}
html[data-theme="dark"] .ep-rga-mat-summary-link { color: #7dd3fc; }
html[data-theme="dark"] .ep-rga-mat-summary-card--subj .ep-rga-mat-summary-link { color: #f0c000; }
html[data-theme="dark"] .ep-rga-mat-row {
    background: #0f172a;
    border-color: #334155;
}
html[data-theme="dark"] .ep-chapter--confianza #conocenos.ep-section-alt {
    background: #1e293b !important;
}
html[data-theme="dark"] .ep-bracket-simple-match {
    background: #0f172a;
    border-color: #334155;
}
html[data-theme="dark"] .ep-bracket-simple-match--spain {
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.12) 0%, #0f172a 100%);
}
html[data-theme="dark"] .ep-rga-mat-cat {
    background: #0f172a;
    border-color: #334155;
    color: #cbd5e1;
}

/* ═══ Capítulo 03 — EduProfe Aula / centros ═══ */
.ep-aula-centros-section {
    padding: 2rem 0 2.5rem !important;
}
.ep-aula-centros-hero {
    display: grid;
    gap: 2rem;
    align-items: center;
    margin-bottom: 2rem;
}
@media (min-width: 960px) {
    .ep-aula-centros-hero {
        grid-template-columns: 1fr min(44%, 28rem);
    }
}
.ep-aula-centros-tag {
    margin-bottom: 0.5rem;
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}
.ep-aula-centros-section h2 {
    margin: 0 0 0.65rem;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 800;
    letter-spacing: -0.03em;
}
.ep-aula-centros-lead {
    margin-bottom: 1rem;
    max-width: 38rem;
}
.ep-aula-centros-bullets {
    margin: 0 0 1.35rem;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.45rem;
    font-size: 0.9375rem;
    color: var(--slate-700);
}
.ep-aula-centros-bullets li {
    padding-left: 1.35rem;
    position: relative;
}
.ep-aula-centros-bullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #0ea5e9, #6366f1);
}
.ep-aula-centros-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}
.ep-aula-centros-link {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--blue);
    text-decoration: none;
    padding: 0.5rem 0.25rem;
}
.ep-aula-centros-link:hover { text-decoration: underline; }
.ep-aula-device {
    border-radius: 1rem;
    overflow: hidden;
    box-shadow:
        0 24px 48px rgba(15, 23, 42, 0.14),
        0 0 0 1px rgba(30, 58, 95, 0.08);
    background: #0f172a;
    transform: perspective(900px) rotateY(-4deg);
    transition: transform 0.45s cubic-bezier(0.34, 1.2, 0.64, 1);
}
.ep-aula-device:hover {
    transform: perspective(900px) rotateY(0deg) translateY(-4px);
}
.ep-aula-device-chrome {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.55rem 0.75rem;
    background: #1e293b;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}
.ep-aula-device-dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: #475569;
}
.ep-aula-device-dot:first-child { background: #f87171; }
.ep-aula-device-dot:nth-child(2) { background: #fbbf24; }
.ep-aula-device-dot:nth-child(3) { background: #34d399; }
.ep-aula-device-url {
    margin-left: auto;
    font-size: 0.6875rem;
    color: #94a3b8;
    font-family: ui-monospace, monospace;
}
.ep-aula-device-screen {
    position: relative;
    aspect-ratio: 16 / 11;
    background: #0f172a;
}
.ep-aula-device-iframe {
    width: 100%;
    height: 100%;
    border: none;
    pointer-events: none;
    transform: scale(1.02);
    transform-origin: top center;
}
.ep-aula-device-play {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: 0;
    padding: 1rem;
    border: none;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.15) 0%, rgba(15, 23, 42, 0.72) 100%);
    color: #fff;
    font-weight: 800;
    font-size: 0.9375rem;
    cursor: pointer;
    transition: background 0.25s ease;
}
.ep-aula-device-play:hover {
    background: linear-gradient(180deg, rgba(14, 165, 233, 0.2) 0%, rgba(15, 23, 42, 0.82) 100%);
}
.ep-aula-device-play-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #0ea5e9, #6366f1);
    box-shadow: 0 8px 24px rgba(14, 165, 233, 0.45);
    font-size: 1.1rem;
    padding-left: 0.2rem;
    transition: transform 0.3s cubic-bezier(0.34, 1.4, 0.64, 1);
}
.ep-aula-device-play:hover .ep-aula-device-play-icon {
    transform: scale(1.08);
}
.ep-aula-centros-grid {
    display: grid;
    gap: 0.85rem;
    margin: 0;
    padding: 0;
    list-style: none;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
}
.ep-aula-centros-card {
    padding: 1rem 1.1rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(30, 58, 95, 0.1);
    background: rgba(255, 255, 255, 0.85);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s;
}
.ep-aula-centros-card:hover {
    transform: translateY(-3px);
    border-color: rgba(14, 165, 233, 0.35);
    box-shadow: 0 12px 28px rgba(14, 165, 233, 0.12);
}
.ep-aula-centros-card-ico {
    font-size: 1.35rem;
    display: block;
    margin-bottom: 0.35rem;
}
.ep-aula-centros-card h3 {
    margin: 0 0 0.35rem;
    font-size: 0.9375rem;
    font-weight: 800;
}
.ep-aula-centros-card p {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--slate-600);
}
.ep-aula-centros-foot {
    margin-top: 1.5rem;
    padding: 1rem 1.15rem;
    border-radius: 0.75rem;
    background: rgba(37, 99, 235, 0.06);
    border: 1px solid rgba(37, 99, 235, 0.12);
    font-size: 0.875rem;
    color: var(--slate-700);
}
.ep-aula-centros-foot p { margin: 0; }
html[data-theme="dark"] .ep-aula-centros-card {
    background: #1e293b;
    border-color: #334155;
}
html[data-theme="dark"] .ep-aula-centros-foot {
    background: rgba(37, 99, 235, 0.1);
    border-color: #334155;
}

/* ── Guías + Revista Mensual (landing) ── */
.ep-guias-section {
    background:
        radial-gradient(ellipse 80% 50% at 10% 0%, rgba(14, 165, 233, 0.08), transparent 55%),
        radial-gradient(ellipse 60% 40% at 90% 20%, rgba(245, 158, 11, 0.07), transparent 50%),
        var(--ep-bg, #fff);
}
.ep-guias-head { max-width: 42rem; margin-bottom: 1.5rem; }
.ep-guias-head .ep-eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #0369a1;
}
.ep-guias-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 1.25rem;
    position: sticky;
    top: 4rem;
    z-index: 4;
    padding: 0.4rem 0;
    background: color-mix(in srgb, var(--ep-bg, #fff) 92%, transparent);
    backdrop-filter: blur(8px);
}
.ep-guias-tab {
    appearance: none;
    border: 1px solid var(--ep-border, #e2e8f0);
    background: var(--ep-surface, #fff);
    color: var(--slate-700, #334155);
    border-radius: 999px;
    padding: 0.45rem 0.9rem;
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: border-color .15s, background .15s, color .15s;
}
.ep-guias-tab:hover { border-color: #38bdf8; }
.ep-guias-tab.is-active {
    background: #0c4a6e;
    border-color: #0c4a6e;
    color: #f0f9ff;
}
.ep-guias-panel {
    border: 1px solid var(--ep-border, #e2e8f0);
    border-radius: 1rem;
    padding: 1.25rem 1.35rem 1.5rem;
    background: var(--ep-surface, #fff);
}
.ep-guias-panel[hidden] { display: none !important; }
.ep-guias-panel-intro h3 {
    margin: 0 0 0.4rem;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.ep-guias-panel-intro p { margin: 0 0 0.5rem; color: var(--slate-600, #475569); line-height: 1.55; }
.ep-guias-audience {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0369a1;
    background: #e0f2fe;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
}
.ep-guias-blocks {
    display: grid;
    gap: 1rem;
    margin-top: 1.25rem;
}
@media (min-width: 768px) {
    .ep-guias-blocks { grid-template-columns: repeat(2, 1fr); }
}
.ep-guias-block {
    padding: 1rem 1.05rem;
    border-radius: 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.ep-guias-block h4 {
    margin: 0 0 0.35rem;
    font-size: 0.95rem;
    font-weight: 800;
}
.ep-guias-block p {
    margin: 0 0 0.55rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--slate-600, #475569);
}
.ep-guias-block ul {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--slate-700, #334155);
}
.ep-guias-block li + li { margin-top: 0.25rem; }
.ep-guias-check,
.ep-guias-plantilla {
    margin-top: 1.25rem;
    padding: 1rem 1.1rem;
    border-radius: 0.75rem;
    border: 1px dashed #38bdf8;
    background: #f0f9ff;
}
.ep-guias-check h4,
.ep-guias-plantilla h4 {
    margin: 0 0 0.5rem;
    font-size: 0.9rem;
    font-weight: 800;
}
.ep-guias-check ul {
    margin: 0;
    padding-left: 1.15rem;
    font-size: 0.8125rem;
    line-height: 1.55;
}
.ep-guias-plantilla dl { margin: 0; }
.ep-guias-plantilla dt {
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #0369a1;
    margin-top: 0.65rem;
}
.ep-guias-plantilla dt:first-child { margin-top: 0; }
.ep-guias-plantilla dd {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--slate-700, #334155);
}
.ep-guias-revista-note {
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--slate-600, #475569);
    margin: 0 0 1.25rem;
}
.ep-guias-revista-index {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.65rem;
}
.ep-guias-revista-index li {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 0.85rem 1rem;
    border-radius: 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.ep-guias-revista-num {
    flex: none;
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: 0.5rem;
    background: #0c4a6e;
    color: #e0f2fe;
    font-size: 0.75rem;
    font-weight: 800;
}
.ep-guias-revista-index strong {
    display: block;
    font-size: 0.9rem;
}
.ep-guias-revista-tipo {
    display: inline-block;
    margin: 0.15rem 0 0.25rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #0369a1;
}
.ep-guias-revista-index p {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--slate-600, #475569);
    line-height: 1.45;
}
.ep-guias-revista-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1.35rem;
}
html[data-theme="dark"] .ep-guias-tab {
    background: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}
html[data-theme="dark"] .ep-guias-tab.is-active {
    background: #0284c7;
    border-color: #0284c7;
    color: #fff;
}
html[data-theme="dark"] .ep-guias-panel,
html[data-theme="dark"] .ep-guias-block,
html[data-theme="dark"] .ep-guias-revista-index li {
    background: #1e293b;
    border-color: #334155;
}
html[data-theme="dark"] .ep-guias-check,
html[data-theme="dark"] .ep-guias-plantilla {
    background: rgba(14, 165, 233, 0.1);
    border-color: #0369a1;
}
html[data-theme="dark"] .ep-guias-audience {
    background: #0c4a6e;
    color: #e0f2fe;
}

/* ═══════════════════════════════════════════════════════
   Móvil — landing compacta (eduprofe.php)
═══════════════════════════════════════════════════════ */
html {
    overflow-x: clip;
}
body.ep-home {
    overflow-x: clip;
}

.ep-hero-lead-short { display: none; }
.ep-hero-lead-full { display: inline; }
.ep-cta-short { display: none; }
.ep-cta-long { display: inline; }
.ep-mobile-jump { display: none; }
.ep-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

@media (max-width: 639px) {
    body.ep-home { font-size: 1rem; }

    .ep-hero {
        padding: 1.15rem 0 0.65rem;
    }
    .ep-hero .ep-grid-2 {
        gap: 0.85rem !important;
    }
    .ep-hero-title {
        font-size: clamp(1.45rem, 7vw, 1.85rem) !important;
        margin-bottom: 0.45rem !important;
        line-height: 1.15 !important;
    }
    .ep-hero-lead {
        font-size: 0.9375rem;
        line-height: 1.45;
        margin-bottom: 0.55rem;
        max-width: none;
    }
    .ep-hero-lead-short { display: inline; }
    .ep-hero-lead-full { display: none; }
    .ep-hero-method { display: none; }

    .ep-hero-chips {
        gap: 0.28rem;
        margin-bottom: 0.65rem;
    }
    .ep-hero-chips span {
        font-size: 0.7rem;
        padding: 0.18rem 0.48rem;
    }
    .ep-hero-chip-more { display: none; }

    .ep-hero-ctas { margin-bottom: 0.55rem; gap: 0.4rem; }
    .ep-hero .ep-btn {
        white-space: normal;
        text-align: center;
        padding: 0.55rem 0.85rem;
        font-size: 0.8125rem;
        line-height: 1.25;
    }
    .ep-cta-long { display: none; }
    .ep-cta-short { display: inline; }
    .ep-hero-cta-centros { display: none; }

    .ep-hero-footnote {
        font-size: 0.8125rem;
        margin-bottom: 0.35rem;
    }

    .ep-hero-aside { margin-top: 0.15rem; }
    .ep-hero-stats {
        grid-template-columns: 1fr 1fr;
        gap: 0.45rem;
    }
    .ep-stat {
        padding: 0.55rem 0.4rem;
    }
    .ep-stat strong { font-size: 1rem; }
    .ep-stat span { font-size: 0.68rem; }
    .ep-stat--clock { display: none; }

    .ep-landing .ep-chapter {
        --max-w: 100%;
        scroll-margin-top: 5.5rem;
    }
    .ep-landing .ep-chapter-head {
        padding: 0.7rem 0 0.45rem;
    }
    .ep-landing .ep-chapter-head .ep-chapter-num {
        display: none;
    }
    .ep-landing .ep-chapter-kicker {
        font-size: 0.65rem;
        margin-bottom: 0.15rem;
    }
    .ep-landing .ep-chapter-title {
        font-size: 1.15rem !important;
        line-height: 1.25;
        margin-bottom: 0.25rem !important;
    }
    .ep-landing .ep-chapter-lead {
        font-size: 0.8125rem !important;
        line-height: 1.4;
        margin: 0 !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .ep-landing .ep-chapter-body > section,
    .ep-landing .ep-chapter-body > .ep-combo-duo {
        padding-top: 0.95rem;
        padding-bottom: 0.95rem;
    }
    .ep-landing .ep-extras-banner {
        display: none;
    }
    .ep-landing .ep-chapter-body .ep-mundial-bracket-panel,
    .ep-landing .ep-chapter-body .ep-mundial-news-panel {
        box-shadow: none;
        border-radius: 0.75rem;
    }

    /* Metodología + novedades más densas */
    .ep-metodologia-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0.45rem;
    }
    .ep-metodologia-trigger {
        padding: 0.55rem 0.5rem;
        min-height: 0;
    }
    .ep-metodologia-icon { font-size: 1.1rem; }
    .ep-metodologia-name { font-size: 0.8rem; }
    .ep-metodologia-desc {
        font-size: 0.68rem;
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .ep-metodologia-more { font-size: 0.65rem; }
    .ep-metodologia-lead { font-size: 0.8125rem; margin-bottom: 0.65rem; }
    .ep-metodologia-foot { font-size: 0.75rem; padding-top: 0.65rem; }

    .ep-novedades-cards {
        grid-template-columns: 1fr 1fr;
        gap: 0.45rem;
    }
    .ep-novedades-card {
        padding: 0.65rem 0.55rem;
    }
    .ep-novedades-card-title { font-size: 0.8rem; }
    .ep-novedades-card-desc {
        font-size: 0.68rem;
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .ep-novedades-card-badge { font-size: 0.62rem; padding: 0.12rem 0.4rem; }
    .ep-landing .ep-novedades-feature #apoyo-emocional-2627 {
        padding: 1rem 0.85rem !important;
    }
    .ep-landing .ep-novedades-feature #apoyo-emocional-2627 h3 {
        font-size: 1.1rem !important;
    }

    .ep-hub {
        padding-top: 0.25rem !important;
    }

    /* Menú rápido horizontal */
    .ep-mobile-jump {
        display: flex;
        gap: 0.35rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        position: sticky;
        top: calc(3.1rem + 2.15rem);
        z-index: 40;
        padding: 0.4rem 0.75rem;
        margin: 0;
        background: rgba(255, 255, 255, 0.94);
        border-bottom: 1px solid rgba(30, 58, 95, 0.1);
        backdrop-filter: blur(8px);
    }
    .ep-mobile-jump::-webkit-scrollbar { display: none; }
    .ep-mobile-jump a {
        flex: 0 0 auto;
        font-size: 0.72rem;
        font-weight: 800;
        text-decoration: none;
        color: #006098;
        background: #e8f5fc;
        border: 1px solid rgba(0, 96, 152, 0.12);
        border-radius: 999px;
        padding: 0.32rem 0.65rem;
        white-space: nowrap;
    }
    .ep-mobile-jump a:nth-child(even) {
        background: #fff8e6;
        border-color: rgba(224, 128, 0, 0.28);
    }
}

@media (min-width: 768px) {
    .ep-sticky-cta { display: none !important; }
}
body.ep-home:has(.ep-sticky-cta.is-visible) {
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
}
body.ep-home:has(#ep-mobile-menu.open) .ep-sticky-cta {
    visibility: hidden;
    pointer-events: none;
}

@media (max-width: 720px) {
    /* Gerbi por encima del sticky CTA */
    body.ep-home .ep-gerbi {
        bottom: calc(4.35rem + env(safe-area-inset-bottom, 0px));
        width: 5.4rem;
    }
    body.ep-home .ep-sound-toggle {
        bottom: calc(10.2rem + env(safe-area-inset-bottom, 0px));
        width: 2.2rem;
        height: 2.2rem;
        font-size: 0.9rem;
    }
    body.ep-home .ep-gerbi-bubble {
        bottom: calc(10.6rem + env(safe-area-inset-bottom, 0px));
        max-width: min(14rem, 72vw);
    }
}
