/* publico.css — sitio público: inicio, catálogo, ficha de curso, concurso. */

.esc-prose { max-width: 76ch; }
.esc-prose h2 { margin-top: 40px; }
.esc-prose ul, .esc-prose ol { margin: 0 0 16px 24px; }
.esc-prose li { margin-bottom: 8px; }

/* ── Portada ──────────────────────────────────────────────────────────────
 * El diseño viene de components.css, heredado del prototipo. Acá van solo
 * los ajustes que el prototipo resolvía con estilos en línea. */

.esc-hero__btn-claro { border-color: rgba(255, 255, 255, .5); color: #fff; }
.esc-hero__btn-claro:hover { background: rgba(255, 255, 255, .12); color: #fff; }

/* La tira de cifras sobresale del héroe (translateY en .esc-stats), así que
   la sección siguiente necesita espacio para no quedar debajo. */
.esc-sec--tras-stats { padding-top: 150px; }

.esc-cta__acciones { display: flex; gap: 14px; flex-wrap: wrap; }

.esc-inst__texto {
    display: inline-block;
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .82);
    max-width: 170px;
    line-height: 1.4;
}

/* Sin imagen destacada, la miniatura mantiene la proporción con el degradado
   institucional en lugar de colapsar. */
.esc-course-thumb__ph {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
}

@media (max-width: 760px) {
    .esc-sec--tras-stats { padding-top: 90px; }
}

/* ── Verificación pública de certificados (rediseño 2026-09-25) ──────────
   Buscador en una fila y el resultado con el lenguaje del certificado:
   filete dorado, nombre en serif, datos en dos columnas. */
.esc-verificar { max-width: 680px; margin: 0 auto; display: grid; gap: 22px; }
.esc-verificar__buscar {
    padding: 24px 26px; background: var(--color-bg); border: 1px solid var(--color-border);
    border-radius: var(--card-radius); box-shadow: var(--card-shadow);
}
.esc-verificar__buscar label { display: block; margin-bottom: 8px; font-size: .75rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--color-accent); }
.esc-verificar__fila { display: flex; gap: 10px; }
.esc-verificar__fila input {
    flex: 1; min-width: 0; padding: 12px 14px; border: 1px solid var(--color-border); border-radius: 10px;
    font: inherit; font-size: 1rem; letter-spacing: .04em; text-transform: uppercase; color: var(--color-primary); background: var(--color-bg);
}
.esc-verificar__fila input:focus { outline: 2px solid var(--color-accent); outline-offset: 1px; border-color: var(--color-accent); }
.esc-verificar__fila .btn { white-space: nowrap; }
.esc-verificar__ayuda { margin: 8px 0 0; font-size: .8125rem; color: var(--color-text-muted); }

.esc-verificar__resultado {
    padding: 22px 26px 24px; background: var(--color-bg); border: 1px solid var(--color-border);
    border-top: 4px solid var(--color-border); border-radius: var(--card-radius); box-shadow: var(--card-shadow);
}
.esc-verificar__resultado.is-ok { border-top-color: var(--success); }
.esc-verificar__resultado.is-revocado { border-top-color: var(--error); }
.esc-verificar__estado { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 1.05rem; font-weight: 800; color: var(--color-primary); }
.esc-verificar__estado .icon { font-size: 1.35rem; }
.is-ok .esc-verificar__estado .icon { color: var(--success); }
.is-revocado .esc-verificar__estado .icon { color: var(--error); }
.is-no .esc-verificar__estado .icon { color: var(--color-secondary); }
.esc-verificar__texto { margin: 0; font-size: .875rem; color: var(--color-text-muted); line-height: 1.6; }
.esc-verificar__numero { margin: 10px 0 0; font-weight: 700; letter-spacing: .04em; color: var(--color-primary); }

.esc-verificar__ficha {
    position: relative; margin: 16px 0; padding: 28px 24px 22px; text-align: center;
    background: var(--color-bg-alt); border: 1px solid var(--color-gold); border-radius: 6px;
}
.esc-verificar__eyebrow { margin: 0 0 10px; font-size: .6875rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--color-accent); line-height: 1.5; }
.esc-verificar__eyebrow span { display: block; font-weight: 600; color: var(--color-secondary); }
.esc-verificar__titulo { margin: 0; font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--color-secondary); }
.esc-verificar__nombre { margin: 8px 0 4px; font-family: Georgia, 'Times New Roman', serif; font-size: 1.9rem; font-weight: 700; color: var(--color-primary); line-height: 1.2; }
.esc-verificar__curso { margin: 0; font-weight: 600; color: var(--color-primary); }
.esc-verificar__datos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--color-border); }
.esc-verificar__datos dt { font-size: .6875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--color-secondary); }
.esc-verificar__datos dd { margin: 3px 0 0; font-weight: 700; color: var(--color-primary); }

@media (max-width: 560px) {
    .esc-verificar__buscar, .esc-verificar__resultado { padding: 20px 16px; }
    .esc-verificar__fila { flex-direction: column; }
    .esc-verificar__nombre { font-size: 1.5rem; }
    .esc-verificar__datos { grid-template-columns: 1fr; }
}
