/* Presentación exclusiva de Cybertesis; no modifica los widgets compartidos. */
.ec-publications {
    --ct-primary: var(--ec-color-primary, #0876bb);
    --ct-accent: var(--ec-color-accent, #6a1b9a);
    color: #24364b;
    background: #f7f9fc;
    font-family: system-ui, sans-serif;
    line-height: 1.65;
}
.ec-publications h1, .ec-publications h2, .ec-publications h3, .ec-publications h4 {
    font-family: inherit;
    color: #18304d;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.025em;
}
.ec-publications p { color: #526378; }
.ec-publications-hero { padding: 1.75rem 0; background: linear-gradient(120deg, #edf5fc, #f5f0fa); border-bottom: 1px solid #e3eaf2; }
.ec-publications-eyebrow { display: block; color: var(--ct-primary); font-size: .75rem; font-weight: 750; letter-spacing: .12em; margin-bottom: .85rem; }
.ec-publications-hero h1 { font-size: clamp(1.75rem, 3vw, 2.5rem); max-width: none; margin: 0 0 .65rem; padding: 0; }
.ec-publications-hero p { max-width: 850px; font-size: 1rem; margin-bottom: 1rem; }
.ec-publications-button { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; padding: .85rem 1.35rem; border-radius: 12px; background: var(--ct-primary); color: #fff; font-weight: 650; text-decoration: none; text-align: center; }
.ec-publications-button:hover { background: #07578a; color: #fff; }
.ec-publications a:focus-visible { outline: 3px solid var(--ct-accent); outline-offset: 5px; }
.ec-publications-content { padding-top: 1.5rem; padding-bottom: 2rem; }
.ec-publications-section-heading { margin-bottom: 1rem; }
.ec-publications-section-heading p { margin-bottom: 0; }
.ec-publications-section-heading h2 { font-size: clamp(1.7rem, 3vw, 2.2rem); margin-bottom: .65rem; }
.ec-publications-grid, .ec-publications-featured-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.ec-publications-card { position: relative; min-width: 0; overflow: hidden; display: flex; flex-direction: column; background: #fff; border: 1px solid #e0e7ef; border-radius: 18px; box-shadow: 0 4px 16px #18304d06; }
.ec-publications-card:hover, .ec-publications-card:focus-within { border-color: var(--ct-primary); box-shadow: 0 8px 24px #18304d12; }
.ec-publications-card-image { background: #edf2f8; aspect-ratio: 16 / 10; padding: 1rem; }
.ec-publications-card-image img { width: 100%; height: 100%; object-fit: contain; }
.ec-publications-card-body { min-width: 0; overflow-wrap: anywhere; display: flex; flex-direction: column; align-items: flex-start; padding: 1.5rem; flex: 1; }
.ec-publications-tag { color: var(--ct-accent); background: #f4eef8; padding: .25rem .65rem; border-radius: 6px; font-size: .75rem; font-weight: 650; margin-bottom: .9rem; overflow-wrap: anywhere; }
.ec-publications .ec-publications-card-title { font-size: 1.2rem; margin: 0 0 .8rem; overflow-wrap: anywhere; }
.ec-publications-card-title a { color: inherit; text-decoration: none; }
.ec-publications-card-title a::after { content: ''; position: absolute; inset: 0; }
.ec-publications-card-title a:hover { color: var(--ct-primary); }
.ec-publications-card-body p { font-size: .9rem; }
.ec-publications-read { margin-top: auto; padding-top: .75rem; color: var(--ct-primary); font-size: .875rem; font-weight: 650; }
.ec-publications-read span { margin-left: .5rem; }
.ec-publications-featured-grid { grid-template-columns: 1.2fr 1fr; }
.ec-publications-featured-grid .ec-publications-card-lead { grid-row: span 3; }
.ec-publications-featured-grid .ec-publications-card:not(.ec-publications-card-lead) { flex-direction: row; }
.ec-publications-featured-grid .ec-publications-card:not(.ec-publications-card-lead) .ec-publications-card-image { width: 30%; flex-shrink: 0; aspect-ratio: auto; }
.ec-publications .ec-publications-card-lead .ec-publications-card-title { font-size: clamp(1.5rem, 2.5vw, 2rem); }
.ec-publications-topics { margin-top: 2rem; scroll-margin-top: 6rem; }
.ec-publications-category { margin-top: 1.5rem; }
.ec-publications-category > h3 { font-size: 1.2rem; margin-bottom: 1rem; }
.ec-publications-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.5rem, 4vw, 3rem); margin-top: 2rem; border: 1px solid #dce8f4; border-radius: 20px; background: #edf5fc; }
.ec-publications-cta h2 { font-size: 1.65rem; max-width: 600px; }
.ec-publications-cta p { margin-bottom: 0; }
.ec-publications-cta .ec-publications-button { flex-shrink: 0; }
.ec-publications-empty { background: white; padding: 2rem; border: 1px dashed #ced9e5; border-radius: 12px; }
@media (max-width: 991.98px) {
    .ec-publications-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ec-publications-featured-grid { grid-template-columns: 1fr; }
    .ec-publications-featured-grid .ec-publications-card-lead { grid-row: auto; }
    .ec-publications-cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767.98px) {
    .ec-publications-grid, .ec-publications-featured-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.25rem;
    }
    .ec-publications-featured-grid .ec-publications-card:not(.ec-publications-card-lead) {
        flex-direction: column;
    }
    .ec-publications-card-image,
    .ec-publications-featured-grid .ec-publications-card:not(.ec-publications-card-lead) .ec-publications-card-image {
        width: 100%;
        height: clamp(160px, 50vw, 240px);
        aspect-ratio: auto;
        padding: .75rem;
    }
    .ec-publications-card-image img { display: block; }
    .ec-publications-card-body { padding: 1.25rem; }
    .ec-publications .ec-publications-card-title,
    .ec-publications .ec-publications-card-lead .ec-publications-card-title {
        font-size: 1.25rem;
        line-height: 1.4;
    }
    .ec-publications-tag { max-width: 100%; }
    .ec-publications-card-body p { font-size: 1rem; line-height: 1.6; }
    .ec-publications-content { padding-top: 1.25rem; padding-bottom: 1.5rem; }
    .ec-publications-topics, .ec-publications-cta { margin-top: 1.75rem; }
}
@media (max-width: 575.98px) {
    .ec-publications-hero { padding: 1.25rem 0; }
    .ec-publications-hero h1 { font-size: 1.75rem; }
    .ec-publications-hero p { font-size: 1rem; }
    .ec-publications-cta .ec-publications-button { width: 100%; }
}

/* Encabezado compacto: aprovecha el ancho para el acceso a los artículos. */
@media (min-width: 992px) {
    .ec-publications-hero > .container {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 2rem;
        align-items: center;
    }
    .ec-publications-hero .ec-publications-eyebrow,
    .ec-publications-hero h1,
    .ec-publications-hero p { grid-column: 1; }
    .ec-publications-hero p { margin-bottom: 0; }
    .ec-publications-hero .ec-publications-button {
        grid-column: 2;
        grid-row: 1 / 4;
    }
}
