/* =========================================================
   EL CAPITAN — HOME PREMIUM (Día 4 — estructura base completa)
   Header + container + hero + secundarias + footer + /dolar
   ========================================================= */

:root {
    --elc-font-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
    --elc-font-sans: 'Inter', system-ui, -apple-system, sans-serif;
    --elc-accent: #D85A30;
    --elc-accent-dark: #993C1D;
    --elc-text: #1A1A1A;
    --elc-text-muted: #5F5E5A;
    --elc-text-light: #888780;
    --elc-bg: #FFFFFF;
    --elc-bg-soft: #FAF8F5;
    --elc-border: rgba(0,0,0,0.08);
    --elc-border-strong: rgba(0,0,0,0.16);
    --elc-dark-bg: #0F1419;
    --elc-dark-text: #D5D2CB;
    --elc-dark-muted: #8A8680;
    --elc-positive: #2F8F4F;
    --elc-negative: #C0392B;
    --elc-cat-politica: #185FA5;
    --elc-cat-economia: #3B6D11;
    --elc-cat-sociedad: #993C1D;
    --elc-cat-internacional: #D85A30;
    --elc-cat-deportes: #534AB7;
    --elc-cat-cultura: #D4537E;
    --elc-cat-tecnologia: #888780;
    --elc-cat-salud: #993556;
    --elc-cat-default: #444441;
}

/* RESET MÍNIMO + BODY */
body.elc-premium-body {
    margin: 0;
    padding: 0;
    background: var(--elc-bg);
    color: var(--elc-text);
    font-family: var(--elc-font-sans);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body.elc-premium-body * { box-sizing: border-box; }
body.elc-premium-body img { max-width: 100%; height: auto; }

/* CONTAINER */
.elc-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}
@media (min-width: 1024px) {
    .elc-container { padding: 0 40px; }
}

/* PREVIEW NOTICE */
.elc-home-premium__notice {
    background: #FEF3C7;
    border-bottom: 1px solid #F59E0B;
    color: #78350F;
    padding: 10px 16px;
    font: 600 13px/1.4 var(--elc-font-sans);
    text-align: center;
}
.elc-home-premium__notice-exit {
    color: #78350F;
    text-decoration: underline;
    margin-left: 8px;
}

/* =========================================================
   HEADER — topbar + masthead + nav
   ========================================================= */

.elc-header { border-bottom: 1px solid var(--elc-border); }

/* TOPBAR */
.elc-topbar {
    background: var(--elc-bg-soft);
    border-bottom: 1px solid var(--elc-border);
    font-family: var(--elc-font-sans);
    font-size: 12px;
    color: var(--elc-text-muted);
}
.elc-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 8px;
    padding-bottom: 8px;
    gap: 16px;
}
.elc-topbar__left {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}
.elc-topbar__date { text-transform: capitalize; }
.elc-topbar__weather { color: var(--elc-text-light); }
.elc-topbar__quotes {
    display: flex;
    align-items: center;
    gap: 18px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.elc-topbar__quotes::-webkit-scrollbar { display: none; }
.elc-quote { white-space: nowrap; }
.elc-quote__label { color: var(--elc-text-light); margin-right: 4px; }
.elc-quote strong { color: var(--elc-text); font-weight: 600; }

@media (max-width: 768px) {
    .elc-topbar__inner { flex-direction: column; align-items: stretch; gap: 8px; }
    .elc-topbar__left { justify-content: space-between; }
    .elc-topbar__quotes { padding-bottom: 2px; }
}

/* MASTHEAD (logo) */
.elc-masthead {
    text-align: center;
    padding: 28px 0 20px;
    border-bottom: 1px solid var(--elc-border);
}
.elc-logo {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: var(--elc-text);
}
.elc-logo__title {
    font-family: var(--elc-font-serif);
    font-size: clamp(36px, 7vw, 56px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
    /* Fraunces es variable font con axis opsz (optical size 9..144).
       opsz alto activa glifos display decorativos (swashes, ornaments)
       que en tamaños chicos se ven "blackletter". Mantenemos opsz alineado
       al font-size real por media query: 36px mobile → 56 tablet → 96 desktop. */
    font-variation-settings: 'opsz' 36;
}
@media (min-width: 768px) {
    .elc-logo__title { font-variation-settings: 'opsz' 56; }
}
@media (min-width: 1024px) {
    .elc-logo__title { font-variation-settings: 'opsz' 96; }
}
.elc-logo__tagline {
    margin-top: 6px;
    font-family: var(--elc-font-sans);
    font-size: 12px;
    color: var(--elc-text-muted);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
@media (max-width: 768px) {
    .elc-masthead { padding: 20px 0 14px; }
}

/* NAV */
.elc-nav {
    background: var(--elc-bg);
    border-bottom: 1px solid var(--elc-border-strong);
}
.elc-nav__inner { padding-top: 0; padding-bottom: 0; }
.elc-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.elc-nav__list::-webkit-scrollbar { display: none; }
.elc-nav__item { flex-shrink: 0; }
.elc-nav__item a {
    display: inline-block;
    padding: 14px 18px;
    font-family: var(--elc-font-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--elc-text);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: color 200ms ease, border-color 200ms ease;
}
.elc-nav__item a:hover { color: var(--elc-accent); border-bottom-color: var(--elc-accent); }
.elc-nav__item--live { margin-left: auto; }
.elc-nav__live {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    color: var(--elc-accent) !important;
}
.elc-nav__live-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--elc-accent);
    animation: elc-pulse 1.4s infinite ease-out;
}
@keyframes elc-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(216, 90, 48, 0.55); }
    70%  { box-shadow: 0 0 0 8px rgba(216, 90, 48, 0); }
    100% { box-shadow: 0 0 0 0 rgba(216, 90, 48, 0); }
}
@media (max-width: 768px) {
    .elc-nav__item--live { margin-left: 0; }
    .elc-nav__item a { padding: 12px 14px; font-size: 12px; }
}

/* =========================================================
   MAIN — espaciado superior + bloques placeholder
   ========================================================= */

.elc-main { margin-top: 3rem; }
@media (max-width: 768px) {
    .elc-main { margin-top: 2rem; }
}

/* =========================================================
   HOME HERO (Día 2-3 styling, ajustado en Día 4)
   ========================================================= */

.elc-home-hero {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 2.5rem;
    margin: 0 0 3.5rem;
    align-items: start;
}

.elc-home-hero__featured { display: flex; flex-direction: column; }
.elc-home-hero__featured-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    margin-bottom: 1.25rem;
    background: #F4F2EE;
    border-radius: 2px;
}
.elc-home-hero__featured-image img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform 600ms ease;
}
.elc-home-hero__featured:hover .elc-home-hero__featured-image img { transform: scale(1.02); }
.elc-home-hero__featured-content { display: flex; flex-direction: column; }
.elc-home-hero__featured-title {
    font-family: var(--elc-font-serif);
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 500;
    color: var(--elc-text);
    margin: 0 0 0.75rem;
    font-variation-settings: 'opsz' 96;
}
.elc-home-hero__featured-title a { color: inherit; text-decoration: none; }
.elc-home-hero__featured-title a:hover { color: var(--elc-accent); }

.elc-home-hero__featured-excerpt {
    font-family: var(--elc-font-serif);
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
    color: var(--elc-text-muted);
    margin: 0 0 1rem;
}
/* Drop cap — ajustado Día 4 */
.elc-home-hero__featured-excerpt::first-letter {
    font-family: var(--elc-font-serif);
    font-size: 2em;
    line-height: 0.85;
    font-weight: 600;
    color: var(--elc-accent);
    float: left;
    margin: 0.05em 0.15em 0 0;
}

.elc-home-hero__featured-meta {
    display: flex; gap: 1rem; align-items: center;
    font-family: var(--elc-font-sans);
    font-size: 12px;
    color: var(--elc-text-light);
}
.elc-home-hero__featured-meta span:not(:last-child)::after {
    content: '·';
    margin-left: 1rem;
    color: var(--elc-text-light);
}

/* SECUNDARIAS LATERALES */
.elc-home-hero__secondary { display: flex; flex-direction: column; gap: 1.75rem; }
.elc-home-hero__secondary-item {
    display: flex;
    flex-direction: column;
    padding-bottom: 1.75rem;
    border-bottom: 1px solid var(--elc-border);
}
.elc-home-hero__secondary-item:last-child { border-bottom: none; padding-bottom: 0; }
.elc-home-hero__secondary-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    margin-bottom: 0.875rem;
    background: #F4F2EE;
    border-radius: 2px;
}
.elc-home-hero__secondary-image img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform 600ms ease;
}
.elc-home-hero__secondary-item:hover .elc-home-hero__secondary-image img { transform: scale(1.02); }
.elc-home-hero__secondary-title {
    font-family: var(--elc-font-serif);
    font-size: 19px;
    line-height: 1.22;
    letter-spacing: -0.01em;
    font-weight: 500;
    color: var(--elc-text);
    margin: 0.5rem 0;
}
.elc-home-hero__secondary-title a { color: inherit; text-decoration: none; }
.elc-home-hero__secondary-title a:hover { color: var(--elc-accent); }
.elc-home-hero__secondary-time {
    font-family: var(--elc-font-sans);
    font-size: 11px;
    color: var(--elc-text-light);
    letter-spacing: 0.02em;
}

/* CATEGORY BADGES */
.elc-category-label {
    display: inline-block;
    font-family: var(--elc-font-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--elc-cat-default);
    margin-bottom: 0.5rem;
}
.elc-category-label[data-category="politica"]      { color: var(--elc-cat-politica); }
.elc-category-label[data-category="economia"]      { color: var(--elc-cat-economia); }
.elc-category-label[data-category="sociedad"]      { color: var(--elc-cat-sociedad); }
.elc-category-label[data-category="internacional"] { color: var(--elc-cat-internacional); }
.elc-category-label[data-category="deportes"]      { color: var(--elc-cat-deportes); }
.elc-category-label[data-category="cultura"]       { color: var(--elc-cat-cultura); }
.elc-category-label[data-category="tecnologia"]    { color: var(--elc-cat-tecnologia); }
.elc-category-label[data-category="salud"]         { color: var(--elc-cat-salud); }

/* =========================================================
   FOOTER
   ========================================================= */

.elc-footer {
    background: var(--elc-dark-bg);
    color: var(--elc-dark-text);
    margin-top: 4rem;
    padding-top: 3rem;
    font-family: var(--elc-font-sans);
    font-size: 14px;
}
.elc-footer__inner {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
    gap: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.elc-footer__col--brand .elc-logo__title--footer {
    color: #FFF;
    font-family: var(--elc-font-serif);
    font-size: 28px;
    font-weight: 700;
    display: block;
    margin-bottom: 4px;
    font-variation-settings: 'opsz' 96;
}
.elc-footer__col--brand .elc-logo__tagline--footer {
    color: var(--elc-dark-muted);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 1rem;
}
.elc-footer__desc { color: var(--elc-dark-muted); line-height: 1.5; margin: 0; }
.elc-footer__title {
    font-family: var(--elc-font-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #FFF;
    margin: 0 0 1rem;
}
.elc-footer__list { list-style: none; margin: 0; padding: 0; }
.elc-footer__list li { margin-bottom: 0.5rem; }
.elc-footer__list a {
    color: var(--elc-dark-text);
    text-decoration: none;
    font-size: 13px;
    transition: color 200ms ease;
}
.elc-footer__list a:hover { color: var(--elc-accent); }
.elc-footer__newsletter-desc { color: var(--elc-dark-muted); font-size: 13px; margin: 0 0 1rem; }

.elc-newsletter {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.elc-newsletter__input {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    color: #FFF;
    padding: 10px 12px;
    border-radius: 4px;
    font: 400 13px/1.3 var(--elc-font-sans);
}
.elc-newsletter__input::placeholder { color: var(--elc-dark-muted); }
.elc-newsletter__input:focus {
    outline: none;
    border-color: var(--elc-accent);
}
.elc-newsletter__btn {
    background: var(--elc-accent);
    color: #FFF;
    border: 0;
    padding: 10px 14px;
    border-radius: 4px;
    font: 600 13px/1.3 var(--elc-font-sans);
    cursor: pointer;
    transition: background 200ms ease;
}
.elc-newsletter__btn:hover { background: var(--elc-accent-dark); }

.elc-footer__bottom { padding: 1.25rem 0; }
.elc-footer__bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--elc-dark-muted);
    font-size: 12px;
}

@media (max-width: 1024px) {
    .elc-footer__inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 640px) {
    .elc-footer__inner { grid-template-columns: 1fr; gap: 2rem; }
    .elc-footer__bottom-inner { flex-direction: column; gap: 6px; text-align: center; }
}

/* =========================================================
   /DOLAR page
   ========================================================= */

.elc-dolar { padding-bottom: 3rem; }
.elc-dolar__hero { padding: 2rem 0 2.5rem; border-bottom: 1px solid var(--elc-border); margin-bottom: 2rem; }
.elc-dolar__title {
    font-family: var(--elc-font-serif);
    font-size: clamp(32px, 5vw, 48px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0 0 1rem;
    font-variation-settings: 'opsz' 96;
}
.elc-dolar__bajada {
    font-family: var(--elc-font-serif);
    font-size: 18px;
    line-height: 1.5;
    color: var(--elc-text-muted);
    max-width: 70ch;
    margin: 0;
}

.elc-dolar__table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.elc-dolar__table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--elc-font-sans);
    font-size: 14px;
    margin-bottom: 3rem;
}
.elc-dolar__table th {
    text-align: left;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--elc-text-light);
    padding: 12px 16px;
    border-bottom: 2px solid var(--elc-border-strong);
}
.elc-dolar__table th.num, .elc-dolar__table td.num { text-align: right; font-variant-numeric: tabular-nums; }
.elc-dolar__table td {
    padding: 16px;
    border-bottom: 1px solid var(--elc-border);
    vertical-align: middle;
}
.elc-dolar__table td strong {
    font-family: var(--elc-font-serif);
    font-weight: 600;
    font-size: 16px;
    display: block;
    color: var(--elc-text);
}
.elc-dolar__note {
    display: block;
    font-size: 12px;
    color: var(--elc-text-light);
    margin-top: 2px;
}
.elc-var--neutral { color: var(--elc-text-light); }
.elc-var--up      { color: var(--elc-positive); }
.elc-var--down    { color: var(--elc-negative); }

.elc-dolar__calc {
    background: var(--elc-bg-soft);
    border: 1px solid var(--elc-border);
    border-radius: 8px;
    padding: 2rem;
    margin-bottom: 2rem;
}
.elc-dolar__calc h2 {
    font-family: var(--elc-font-serif);
    font-size: 24px;
    margin: 0 0 1.25rem;
    font-weight: 600;
    font-variation-settings: 'opsz' 72;
}
.elc-dolar__calc-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.elc-dolar__calc-field {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--elc-font-sans);
    font-size: 14px;
    color: var(--elc-text-muted);
}
.elc-dolar__calc-field input,
.elc-dolar__calc-field select {
    border: 1px solid var(--elc-border-strong);
    background: #FFF;
    padding: 8px 12px;
    border-radius: 4px;
    font: 600 16px/1.2 var(--elc-font-sans);
    color: var(--elc-text);
    min-width: 120px;
}
.elc-dolar__calc-field input:focus,
.elc-dolar__calc-field select:focus { outline: none; border-color: var(--elc-accent); }
.elc-dolar__calc-result {
    font-family: var(--elc-font-serif);
    font-size: 22px;
    color: var(--elc-text);
}
.elc-dolar__calc-result strong { color: var(--elc-accent); font-weight: 600; }

.elc-dolar__source {
    font-family: var(--elc-font-sans);
    font-size: 12px;
    color: var(--elc-text-light);
    text-align: center;
    margin: 0;
}
.elc-dolar__source a { color: var(--elc-text-muted); }

/* =========================================================
   RESPONSIVE — Tablet
   ========================================================= */
@media (max-width: 1024px) {
    .elc-home-hero { grid-template-columns: 1fr; gap: 3rem; }
    .elc-home-hero__secondary { flex-direction: row; gap: 1.5rem; }
    .elc-home-hero__secondary-item { flex: 1; border-bottom: none; padding-bottom: 0; }
}

/* RESPONSIVE — Mobile */
@media (max-width: 768px) {
    .elc-home-hero { gap: 2rem; margin: 0 0 2.5rem; }
    .elc-home-hero__featured-title { font-size: 28px; font-variation-settings: 'opsz' 48; }
    .elc-home-hero__featured-excerpt { font-size: 16px; }
    .elc-home-hero__featured-excerpt::first-letter { font-size: 1.6em; }
    .elc-home-hero__secondary { flex-direction: column; gap: 1.5rem; }
    .elc-home-hero__secondary-item { border-bottom: 1px solid var(--elc-border); padding-bottom: 1.5rem; }
    .elc-home-hero__secondary-item:last-child { border-bottom: none; padding-bottom: 0; }
    .elc-home-hero__secondary-title { font-size: 17px; }

    .elc-dolar__hero { padding: 1.5rem 0 1.5rem; }
    .elc-dolar__calc { padding: 1.5rem; }
    .elc-dolar__calc-row { flex-direction: column; align-items: stretch; }
    .elc-dolar__calc-field { justify-content: space-between; }
}

/* RESPONSIVE — Mobile chico */
@media (max-width: 480px) {
    .elc-home-hero__featured-title { font-size: 24px; }
    .elc-container { padding: 0 16px; }
}

/* =========================================================
   DÍA 5 — Lo último + bloques de sección + pautas
   ========================================================= */

/* Title genérico de sección (Lo último) */
.elc-section-title {
    font-family: var(--elc-font-serif);
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var(--elc-text);
    margin: 0 0 1.5rem;
    padding-top: 1rem;
    border-top: 2px solid var(--elc-text);
    font-variation-settings: 'opsz' 72;
}

/* ----- LO ÚLTIMO ----- */
.elc-lo-ultimo { margin-bottom: 3.5rem; }
.elc-lo-ultimo__lista {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}
.elc-lo-ultimo__item {
    border-top: 1px solid var(--elc-border);
}
.elc-lo-ultimo__item:nth-child(-n+2) { border-top: none; }
.elc-lo-ultimo__link {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 0;
    text-decoration: none;
    color: inherit;
}
.elc-lo-ultimo__item:nth-child(odd) .elc-lo-ultimo__link { padding-right: 18px; }
.elc-lo-ultimo__item:nth-child(even) .elc-lo-ultimo__link { padding-left: 18px; }
.elc-lo-ultimo__thumb {
    flex: 0 0 120px;
    width: 120px;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #F4F2EE;
    border-radius: 2px;
}
.elc-lo-ultimo__thumb img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform 500ms ease;
}
.elc-lo-ultimo__link:hover .elc-lo-ultimo__thumb img { transform: scale(1.03); }
.elc-lo-ultimo__content { flex: 1 1 auto; min-width: 0; }
.elc-lo-ultimo__title {
    font-family: var(--elc-font-serif);
    font-size: 16px;
    line-height: 1.25;
    font-weight: 500;
    color: var(--elc-text);
    margin: 4px 0;
    letter-spacing: -0.005em;
}
.elc-lo-ultimo__link:hover .elc-lo-ultimo__title { color: var(--elc-accent); }
.elc-lo-ultimo__time {
    display: block;
    font-family: var(--elc-font-sans);
    font-size: 11px;
    color: var(--elc-text-light);
    letter-spacing: 0.02em;
}

/* Botón Ver más estandarizado */
.elc-btn-ver-mas {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--elc-font-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--elc-text);
    text-decoration: none;
    padding: 8px 0;
    border-bottom: 2px solid var(--elc-text);
    transition: color 200ms ease, border-color 200ms ease;
}
.elc-btn-ver-mas:hover {
    color: var(--elc-accent);
    border-bottom-color: var(--elc-accent);
}

/* ----- BLOQUE DE SECCIÓN (1 destacada + 2 medianas + 4 titulares) ----- */
.elc-seccion-bloque { margin-bottom: 3.5rem; }
.elc-seccion-bloque__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding-top: 1rem;
    margin-bottom: 1.75rem;
    border-top: 2px solid var(--elc-text);
}
.elc-seccion-bloque__titulo {
    font-family: var(--elc-font-serif);
    font-size: clamp(24px, 3.2vw, 30px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: var(--elc-text);
    margin: 0;
    font-variation-settings: 'opsz' 72;
}
.elc-seccion-bloque__ver-mas {
    font-family: var(--elc-font-sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--elc-text-muted);
    text-decoration: none;
    flex-shrink: 0;
    transition: color 200ms ease;
}
.elc-seccion-bloque__ver-mas:hover { color: var(--elc-accent); }

.elc-seccion-bloque__grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr;
    gap: 1.75rem;
    margin-bottom: 1.75rem;
}

/* Destacada */
.elc-seccion-bloque__destacada-link,
.elc-seccion-bloque__mediana-link,
.elc-seccion-bloque__titular-link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.elc-seccion-bloque__imagen {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    margin-bottom: 0.875rem;
    background: #F4F2EE;
    border-radius: 2px;
}
.elc-seccion-bloque__imagen img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform 500ms ease;
}
.elc-seccion-bloque__destacada-link:hover .elc-seccion-bloque__imagen img,
.elc-seccion-bloque__mediana-link:hover .elc-seccion-bloque__imagen img {
    transform: scale(1.02);
}
.elc-seccion-bloque__titulo-destacada {
    font-family: var(--elc-font-serif);
    font-size: 22px;
    line-height: 1.18;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--elc-text);
    margin: 0.5rem 0 0.5rem;
}
.elc-seccion-bloque__destacada-link:hover .elc-seccion-bloque__titulo-destacada { color: var(--elc-accent); }
.elc-seccion-bloque__bajada {
    font-family: var(--elc-font-serif);
    font-size: 15px;
    line-height: 1.45;
    color: var(--elc-text-muted);
    margin: 0 0 0.5rem;
}
.elc-seccion-bloque__meta,
.elc-seccion-bloque__meta-mediana {
    font-family: var(--elc-font-sans);
    font-size: 11px;
    color: var(--elc-text-light);
    letter-spacing: 0.02em;
}

/* Medianas */
.elc-seccion-bloque__titulo-mediana {
    font-family: var(--elc-font-serif);
    font-size: 16px;
    line-height: 1.25;
    font-weight: 500;
    color: var(--elc-text);
    margin: 0.5rem 0;
    letter-spacing: -0.005em;
}
.elc-seccion-bloque__mediana-link:hover .elc-seccion-bloque__titulo-mediana { color: var(--elc-accent); }

/* Titulares (4 columnas sin imagen) */
.elc-seccion-bloque__titulares {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}
.elc-seccion-bloque__titular-item {
    border-top: 1px solid var(--elc-border-strong);
    padding: 14px 16px 14px 0;
    border-right: 1px solid var(--elc-border);
}
.elc-seccion-bloque__titular-item:last-child { border-right: none; padding-right: 0; }
.elc-seccion-bloque__titular-item:first-child { padding-left: 0; }
.elc-seccion-bloque__titular-item .elc-seccion-bloque__titular-link { padding-left: 0; }
.elc-seccion-bloque__titulo-mini {
    font-family: var(--elc-font-serif);
    font-size: 15px;
    line-height: 1.28;
    font-weight: 500;
    color: var(--elc-text);
    margin: 0 0 6px;
}
.elc-seccion-bloque__titular-link:hover .elc-seccion-bloque__titulo-mini { color: var(--elc-accent); }
.elc-seccion-bloque__time-mini {
    font-family: var(--elc-font-sans);
    font-size: 11px;
    color: var(--elc-text-light);
    letter-spacing: 0.02em;
}

/* ----- PAUTAS ----- */
.elc-pauta {
    margin: 3rem 0;
    text-align: center;
}
.elc-pauta__label {
    display: block;
    font-family: var(--elc-font-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--elc-text-light);
    margin-bottom: 12px;
}
.elc-pauta__container {
    display: flex;
    justify-content: center;
}
.elc-pauta__placeholder {
    width: 970px;
    max-width: 100%;
    height: 250px;
    border: 1px dashed var(--elc-border-strong);
    background: var(--elc-bg-soft);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.elc-pauta__placeholder-dim {
    font-family: var(--elc-font-sans);
    font-size: 16px;
    font-weight: 600;
    color: var(--elc-text-muted);
    letter-spacing: 0.04em;
}
.elc-pauta__placeholder-note {
    font-family: var(--elc-font-sans);
    font-size: 12px;
    color: var(--elc-text-light);
}

.elc-pauta--native .elc-pauta__native {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 1.5rem;
    padding: 1.5rem;
    border: 1px dashed var(--elc-border-strong);
    background: var(--elc-bg-soft);
    text-align: left;
}
.elc-pauta__native-imagen {
    width: 100%;
    aspect-ratio: 16 / 10;
    background: linear-gradient(135deg, #E8E4DC 0%, #D8D2C6 100%);
    border-radius: 2px;
}
.elc-pauta__native-content { display: flex; flex-direction: column; justify-content: center; }
.elc-pauta__native-marca {
    font-family: var(--elc-font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--elc-text-light);
    margin-bottom: 8px;
}
.elc-pauta__native-titulo {
    font-family: var(--elc-font-serif);
    font-size: 22px;
    line-height: 1.2;
    font-weight: 500;
    color: var(--elc-text);
    margin: 0 0 8px;
}
.elc-pauta__native-desc {
    font-family: var(--elc-font-serif);
    font-size: 15px;
    line-height: 1.45;
    color: var(--elc-text-muted);
    margin: 0;
}

/* ----- RESPONSIVE Día 5 ----- */
@media (max-width: 1024px) {
    .elc-lo-ultimo__lista { grid-template-columns: 1fr; }
    .elc-lo-ultimo__item { border-top: 1px solid var(--elc-border); }
    .elc-lo-ultimo__item:nth-child(-n+2) { border-top: none; }
    .elc-lo-ultimo__item:first-child { border-top: none; }
    .elc-lo-ultimo__item:nth-child(odd) .elc-lo-ultimo__link,
    .elc-lo-ultimo__item:nth-child(even) .elc-lo-ultimo__link { padding-left: 0; padding-right: 0; }

    .elc-seccion-bloque__grid { grid-template-columns: 1fr; gap: 2rem; }
    .elc-seccion-bloque__titulares { grid-template-columns: repeat(2, 1fr); }
    .elc-seccion-bloque__titular-item:nth-child(2) { border-right: none; padding-right: 0; }

    .elc-pauta--native .elc-pauta__native { grid-template-columns: 1fr; }
    .elc-pauta--native .elc-pauta__native-imagen { aspect-ratio: 16 / 9; }
}

@media (max-width: 768px) {
    .elc-section-title { font-size: 22px; padding-top: 0.75rem; }
    .elc-lo-ultimo { margin-bottom: 2.5rem; }
    .elc-lo-ultimo__thumb { flex: 0 0 100px; width: 100px; }
    .elc-lo-ultimo__title { font-size: 15px; }

    .elc-seccion-bloque { margin-bottom: 2.5rem; }
    .elc-seccion-bloque__header { padding-top: 0.75rem; margin-bottom: 1.25rem; }
    .elc-seccion-bloque__titulo-destacada { font-size: 20px; }
    .elc-seccion-bloque__bajada { font-size: 14px; }
    .elc-seccion-bloque__titulares { grid-template-columns: 1fr; }
    .elc-seccion-bloque__titular-item {
        border-right: none;
        padding: 12px 0;
    }

    .elc-pauta { margin: 2rem 0; }
    .elc-pauta__placeholder { width: 320px; height: 250px; }
    .elc-pauta--native .elc-pauta__native { padding: 1rem; }
    .elc-pauta__native-titulo { font-size: 18px; }
}

@media (max-width: 480px) {
    .elc-lo-ultimo__thumb { flex: 0 0 88px; width: 88px; }
    .elc-lo-ultimo__title { font-size: 14px; }
    .elc-lo-ultimo__link { gap: 12px; padding: 12px 0; }
}

/* =========================================================
   DÍA 6 — Última hora + Pulso del día + pauta 728 + empty state
   ========================================================= */

/* ----- ÚLTIMA HORA (banda condicional) ----- */
.elc-ultima-hora {
    background: #FCEBEB;
    border-left: 3px solid var(--elc-accent);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--elc-font-sans);
    flex-wrap: wrap;
}
.elc-ultima-hora__badge {
    display: inline-block;
    background: var(--elc-accent);
    color: #FFF;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 2px;
    flex-shrink: 0;
}
.elc-ultima-hora__link {
    flex: 1 1 auto;
    color: var(--elc-text);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    line-height: 1.35;
    min-width: 0;
}
.elc-ultima-hora__link:hover { color: var(--elc-accent-dark); }
@media (max-width: 768px) {
    .elc-ultima-hora { padding: 8px 12px; gap: 8px; }
    .elc-ultima-hora__link {
        font-size: 13px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

/* ===== EL IMPACTO DEL DÍA (paleta editorial sobria) ===== */
.elc-balance {
    margin: 3.5rem 0 4rem;
    padding-top: 2.5rem;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
}
.elc-balance__header {
    text-align: center;
    margin-bottom: 2.5rem;
    max-width: 64ch;
    margin-left: auto;
    margin-right: auto;
}
.elc-balance__eyebrow {
    display: block;
    font-family: var(--elc-font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #6b7280;
    margin-bottom: 10px;
}
.elc-balance__title {
    font-family: var(--elc-font-serif);
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #1a1a1a;
    margin: 0 0 10px;
    font-variation-settings: 'opsz' 96;
}
.elc-balance__subtitle {
    font-family: var(--elc-font-serif);
    font-size: 16px;
    font-style: italic;
    color: #6b7280;
    margin: 0;
}

/* GRID asimétrico: Impulsa 1.1fr / Preocupa 0.9fr */
.elc-balance__grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 2rem;
    align-items: start;
}

/* === IMPULSA — beige + dorado === */
.elc-balance__lado--positivo {
    background: #faf9f4;
    border-left: 4px solid #c8a35a;
    border-radius: 2px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
}
.elc-balance__lado--positivo .elc-balance__lado-titulo { color: #2c2c2c; font-size: 19px; }
.elc-balance__lado--positivo .elc-balance__lado-icon   { color: #c8a35a; }
.elc-balance__lado--positivo .elc-balance__item        { padding-bottom: 32px; }
.elc-balance__lado--positivo .elc-balance__item-titulo { font-size: 16.5px; }
.elc-balance__lado--positivo .elc-balance__ver-mas:hover { color: #8b6f2e; }

/* === PREOCUPA — gris cálido + borgoña === */
.elc-balance__lado--critico {
    background: #f7f5f0;
    border-left: 4px solid #8b3a3a;
    border-radius: 2px;
    padding: 24px 22px;
    display: flex;
    flex-direction: column;
}
.elc-balance__lado--critico .elc-balance__lado-titulo { color: #2c2c2c; font-size: 18px; }
.elc-balance__lado--critico .elc-balance__lado-icon   { color: #8b3a3a; }
.elc-balance__lado--critico .elc-balance__item        { padding-bottom: 20px; }
.elc-balance__lado--critico .elc-balance__item-titulo { font-size: 15.5px; }
.elc-balance__lado--critico .elc-balance__ver-mas:hover { color: #6b2828; }

/* Comunes */
.elc-balance__lado-header {
    padding-bottom: 0.75rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.elc-balance__lado-titulo {
    font-family: var(--elc-font-serif);
    font-weight: 600;
    line-height: 1.2;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    letter-spacing: -0.005em;
}
.elc-balance__lado-icon {
    font-size: 22px;
    line-height: 1;
}

.elc-balance__lista {
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0;
    flex: 1 1 auto;
}
.elc-balance__item {
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    margin-bottom: 16px;
}
.elc-balance__item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}
.elc-balance__link {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    text-decoration: none;
    color: inherit;
}
.elc-balance__thumb {
    flex: 0 0 84px;
    width: 84px;
    aspect-ratio: 7 / 5;
    overflow: hidden;
    border-radius: 2px;
    background: rgba(0, 0, 0, 0.05);
}
.elc-balance__thumb img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform 400ms ease;
}
.elc-balance__link:hover .elc-balance__thumb img { transform: scale(1.04); }
.elc-balance__content { flex: 1 1 auto; min-width: 0; }

/* Título Georgia serif editorial */
.elc-balance__item-titulo {
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 600;
    line-height: 1.3;
    color: #1a1a1a;
    margin: 0 0 6px;
    letter-spacing: -0.005em;
}
.elc-balance__link:hover .elc-balance__item-titulo { color: #4b5563; }

/* Frase editorial (reason / motivos[0]) */
.elc-balance__frase {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-size: 14px;
    line-height: 1.5;
    color: #4b5563;
    margin: 0;
}

/* Tooltip nativo <details> "¿Por qué fue seleccionada?" */
.elc-balance__why {
    margin-top: 8px;
    font-family: var(--elc-font-sans);
}
.elc-balance__why summary {
    cursor: pointer;
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: #6b7280;
    padding: 4px 0;
    transition: color 200ms;
}
.elc-balance__why summary::-webkit-details-marker { display: none; }
.elc-balance__why summary:hover { color: #2c2c2c; }
.elc-balance__why[open] summary { color: #2c2c2c; }
.elc-balance__why-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 600;
    font-style: italic;
    font-family: Georgia, serif;
}
.elc-balance__why-label { letter-spacing: 0.02em; }

/* Metadata estructurada del tooltip — diseño NYT-style (dl/dt/dd) */
.elc-balance__why-meta {
    margin: 8px 0 0;
    padding: 14px 16px;
    background: rgba(0, 0, 0, 0.03);
    border-left: 2px solid rgba(0, 0, 0, 0.15);
    border-radius: 2px;
}
.elc-balance__why-row {
    display: flex;
    align-items: baseline;
    gap: 16px;
    padding: 5px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.elc-balance__why-row:last-child {
    border-bottom: none;
}
.elc-balance__why-meta dt {
    flex: 0 0 90px;
    font-family: var(--elc-font-sans);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #6b7280;
    margin: 0;
}
.elc-balance__why-meta dd {
    flex: 1 1 auto;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 13px;
    line-height: 1.4;
    color: #2c2c2c;
}

/* Bloque vacío (no hay notas del tipo hoy) */
.elc-balance__lado--vacio { opacity: 0.85; }
.elc-balance__empty {
    padding: 40px 20px;
    text-align: center;
}
.elc-balance__empty-text {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-size: 14px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 320px;
}

/* Ver todas */
.elc-balance__ver-mas {
    display: inline-block;
    align-self: flex-start;
    margin-top: 1rem;
    font-family: var(--elc-font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    color: #6b7280;
    padding-top: 6px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    transition: color 200ms;
}

/* ----- Pauta banner 728×90 ----- */
.elc-pauta__placeholder--728 { width: 728px; height: 90px; }

/* ----- Sección vacía (Internacional/Sociedad sin posts) ----- */
.elc-seccion-bloque--empty .elc-seccion-bloque__empty {
    font-family: var(--elc-font-serif);
    font-size: 16px;
    font-style: italic;
    color: var(--elc-text-light);
    padding: 1rem 0 2rem;
    margin: 0;
    text-align: center;
}

/* ----- RESPONSIVE Día 6 ----- */
@media (max-width: 1024px) {
    .elc-balance__grid { grid-template-columns: 1fr; gap: 1.75rem; }
}
@media (max-width: 768px) {
    .elc-balance { margin: 2.5rem 0 3rem; padding-top: 2rem; }
    .elc-balance__grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .elc-balance__lado--positivo,
    .elc-balance__lado--critico { padding: 20px 18px; }
    .elc-balance__lado--positivo .elc-balance__item,
    .elc-balance__lado--critico .elc-balance__item { padding-bottom: 18px; }
    .elc-balance__lado--positivo .elc-balance__item-titulo,
    .elc-balance__lado--critico .elc-balance__item-titulo { font-size: 15px; }
    .elc-balance__frase { font-size: 13px; }
    .elc-balance__thumb { flex: 0 0 70px; width: 70px; }

    .elc-balance__why-meta { padding: 12px 14px; }
    .elc-balance__why-row { gap: 12px; padding: 4px 0; }
    .elc-balance__why-meta dt { flex: 0 0 80px; font-size: 10px; }
    .elc-balance__why-meta dd { font-size: 12.5px; }

    .elc-pauta__placeholder--728 { width: 320px; height: 100px; }
}

/* =========================================================
   DÍA 7 — Más leídas + Newsletter CTA
   ========================================================= */

/* ----- MÁS LEÍDAS ----- */
.elc-mas-leidas {
    margin: 3rem 0 3.5rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
.elc-mas-leidas__header {
    padding-top: 1rem;
    border-top: 2px solid var(--elc-text);
    margin-bottom: 1.5rem;
}
.elc-mas-leidas__title {
    font-family: var(--elc-font-serif);
    font-size: clamp(22px, 3vw, 26px);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var(--elc-text);
    margin: 0 0 4px;
    font-variation-settings: 'opsz' 72;
}
.elc-mas-leidas__subtitle {
    display: block;
    font-family: var(--elc-font-serif);
    font-style: italic;
    font-size: 14px;
    color: var(--elc-text-muted);
}
.elc-mas-leidas__lista {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: mas-leidas;
}
.elc-mas-leidas__item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid var(--elc-border);
}
.elc-mas-leidas__item:last-child { border-bottom: none; }
.elc-mas-leidas__numero {
    flex: 0 0 auto;
    font-family: var(--elc-font-serif);
    font-size: 36px;
    line-height: 1;
    font-weight: 400;
    color: var(--elc-accent);
    min-width: 48px;
    text-align: left;
    font-variation-settings: 'opsz' 96;
}
.elc-mas-leidas__content { flex: 1 1 auto; min-width: 0; }
.elc-mas-leidas__nota {
    font-family: var(--elc-font-serif);
    font-size: 17px;
    line-height: 1.28;
    font-weight: 500;
    color: var(--elc-text);
    margin: 4px 0 6px;
    letter-spacing: -0.005em;
}
.elc-mas-leidas__nota a { color: inherit; text-decoration: none; }
.elc-mas-leidas__nota a:hover { color: var(--elc-accent); }
.elc-mas-leidas__time {
    font-family: var(--elc-font-sans);
    font-size: 11px;
    color: var(--elc-text-light);
    letter-spacing: 0.02em;
}

/* ----- NEWSLETTER CTA ----- */
.elc-newsletter-cta {
    background: var(--elc-dark-bg);
    color: var(--elc-dark-text);
    padding: 64px 24px;
    margin: 3.5rem 0;
    text-align: center;
    /* sangra fuera del container limit usando margins negativos en mobile-safe way */
}
.elc-newsletter-cta__inner {
    max-width: 600px;
    margin: 0 auto;
}
.elc-newsletter-cta__eyebrow {
    display: block;
    font-family: var(--elc-font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--elc-dark-muted);
    margin-bottom: 10px;
}
.elc-newsletter-cta__title {
    font-family: var(--elc-font-serif);
    font-size: clamp(26px, 4vw, 32px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #FFFFFF;
    margin: 0 0 12px;
    font-variation-settings: 'opsz' 96;
}
.elc-newsletter-cta__subtitle {
    font-family: var(--elc-font-sans);
    font-size: 16px;
    line-height: 1.5;
    color: #B4B2A9;
    max-width: 500px;
    margin: 0 auto 1.5rem;
}
.elc-newsletter-cta__form {
    display: flex;
    gap: 8px;
    max-width: 480px;
    margin: 0 auto 12px;
}
.elc-newsletter-cta__input {
    flex: 1 1 auto;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.2);
    color: #FFFFFF;
    padding: 14px 18px;
    border-radius: 4px;
    font: 400 15px/1.3 var(--elc-font-sans);
    min-width: 0;
}
.elc-newsletter-cta__input::placeholder { color: var(--elc-dark-muted); }
.elc-newsletter-cta__input:focus {
    outline: none;
    border-color: var(--elc-accent);
    background: rgba(255,255,255,0.12);
}
.elc-newsletter-cta__button {
    background: var(--elc-accent);
    color: #FFFFFF;
    border: 0;
    padding: 14px 28px;
    border-radius: 4px;
    font: 500 15px/1.3 var(--elc-font-sans);
    cursor: pointer;
    transition: background 200ms ease;
    flex-shrink: 0;
}
.elc-newsletter-cta__button:hover { background: var(--elc-accent-dark); }
.elc-newsletter-cta__note {
    font-family: var(--elc-font-sans);
    font-size: 12px;
    color: var(--elc-dark-muted);
    margin: 0;
}

/* ----- RESPONSIVE Día 7 ----- */
@media (max-width: 768px) {
    .elc-mas-leidas { margin: 2rem 0 2.5rem; }
    .elc-mas-leidas__item { gap: 14px; padding: 12px 0; }
    .elc-mas-leidas__numero { font-size: 28px; min-width: 36px; }
    .elc-mas-leidas__nota { font-size: 15px; }

    .elc-newsletter-cta { padding: 40px 20px; margin: 2.5rem 0; }
    .elc-newsletter-cta__form {
        flex-direction: column;
        gap: 10px;
    }
    .elc-newsletter-cta__button { width: 100%; padding: 14px; }
}

/* =========================================================
   DÍA 8 — Single Premium
   ========================================================= */

.elc-single-main { padding-top: 1.5rem; }
.elc-single {
    max-width: 720px;
    margin: 0 auto;
    position: relative;
}

/* Breadcrumb */
.elc-single__breadcrumb {
    font-family: var(--elc-font-sans);
    font-size: 12px;
    color: var(--elc-text-muted);
    margin-bottom: 1.5rem;
    letter-spacing: 0.02em;
}
.elc-single__breadcrumb a {
    color: var(--elc-text-muted);
    text-decoration: none;
}
.elc-single__breadcrumb a:hover { color: var(--elc-accent); }
.elc-single__breadcrumb span { margin: 0 8px; color: var(--elc-text-light); }

/* Header */
.elc-single__header {
    margin-bottom: 2rem;
}
.elc-single__header .elc-category-label { margin-bottom: 12px; }
.elc-single__title {
    font-family: var(--elc-font-serif);
    font-size: clamp(32px, 5vw, 48px);
    line-height: 1.08;
    letter-spacing: -0.025em;
    font-weight: 500;
    color: var(--elc-text);
    margin: 0 0 1rem;
    font-variation-settings: 'opsz' 144;
}
.elc-single__bajada {
    font-family: var(--elc-font-serif);
    font-size: 22px;
    line-height: 1.4;
    color: var(--elc-text-muted);
    font-weight: 400;
    margin: 0 0 1.5rem;
}
.elc-single__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    font-family: var(--elc-font-sans);
    font-size: 13px;
    color: var(--elc-text-light);
    padding-top: 1rem;
    border-top: 1px solid var(--elc-border);
}
.elc-single__meta span:not(:last-child)::after {
    content: '·';
    margin-left: 1rem;
    color: var(--elc-text-light);
}
.elc-single__author { color: var(--elc-text); font-weight: 500; }

/* Actions bar */
.elc-single__actions {
    display: flex;
    gap: 12px;
    margin: 0 0 2rem;
    padding: 12px 0;
    border-top: 1px solid var(--elc-border);
    border-bottom: 1px solid var(--elc-border);
}
.elc-single__action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 0;
    padding: 6px 10px;
    font-family: var(--elc-font-sans);
    font-size: 12px;
    font-weight: 500;
    color: var(--elc-text-muted);
    cursor: pointer;
    text-decoration: none;
    transition: color 200ms ease;
}
.elc-single__action:hover { color: var(--elc-accent); }
.elc-single__action-icon { font-size: 14px; }

/* Hero image */
.elc-single__hero-image {
    margin: 0 0 2rem;
}
.elc-single__hero-image img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: var(--elc-bg-soft);
}
.elc-single__hero-image figcaption {
    font-family: var(--elc-font-sans);
    font-size: 12px;
    color: var(--elc-text-light);
    margin-top: 8px;
    font-style: italic;
}

/* Por qué importa / Contexto (notas editoriales) */
.elc-single__nota-editorial {
    background: #F8F7F4;
    border-left: 3px solid var(--elc-accent);
    padding: 32px;
    margin: 2.5rem 0;
}
.elc-single__nota-editorial-header { margin-bottom: 1rem; }
.elc-single__nota-editorial-header h2 {
    font-family: var(--elc-font-serif);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--elc-text);
    margin: 0;
    font-variation-settings: 'opsz' 72;
}
.elc-single__eyebrow {
    display: block;
    font-family: var(--elc-font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--elc-accent);
    margin-bottom: 6px;
}
.elc-single__nota-editorial-content {
    font-family: var(--elc-font-sans);
    font-size: 17px;
    line-height: 1.6;
    color: var(--elc-text);
}
.elc-single__nota-editorial-content p { margin: 0 0 0.75em; }
.elc-single__nota-editorial-content p:last-child { margin-bottom: 0; }

/* Cuerpo de la nota */
.elc-single__body {
    font-family: var(--elc-font-sans);
    font-size: 18px;
    line-height: 1.7;
    color: var(--elc-text);
    margin: 0 0 2.5rem;
}
.elc-single__body p { margin: 0 0 1.25em; }
.elc-single__body p:first-of-type::first-letter {
    font-family: var(--elc-font-serif);
    font-size: 64px;
    line-height: 0.85;
    font-weight: 500;
    color: var(--elc-accent);
    float: left;
    margin: 0.08em 0.12em 0 0;
    font-variation-settings: 'opsz' 144;
}
.elc-single__body h2 {
    font-family: var(--elc-font-serif);
    font-size: 28px;
    font-weight: 500;
    line-height: 1.2;
    margin: 2rem 0 0.75rem;
    color: var(--elc-text);
    font-variation-settings: 'opsz' 72;
}
.elc-single__body h3 {
    font-family: var(--elc-font-serif);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.25;
    margin: 1.5rem 0 0.5rem;
    color: var(--elc-text);
}
.elc-single__body a {
    color: var(--elc-accent);
    text-decoration: none;
    border-bottom: 1px solid var(--elc-accent);
    transition: opacity 200ms ease;
}
.elc-single__body a:hover { opacity: 0.7; }
.elc-single__body blockquote {
    border-left: 4px solid var(--elc-accent);
    padding: 0.5rem 0 0.5rem 24px;
    margin: 1.5rem 0;
    font-family: var(--elc-font-serif);
    font-size: 24px;
    font-style: italic;
    line-height: 1.4;
    color: var(--elc-text);
}
.elc-single__body img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1.5rem 0;
}
.elc-single__body ul, .elc-single__body ol {
    margin: 1rem 0 1.25rem;
    padding-left: 1.5rem;
}
.elc-single__body li { margin-bottom: 0.5em; }

/* Pauta in-article */
.elc-pauta--mid-article { margin: 2rem 0 2.5rem; }

/* Fuentes */
.elc-single__fuentes {
    border-top: 1px solid var(--elc-border);
    padding: 1.5rem 0;
    margin: 2rem 0;
}
.elc-single__fuentes-header h2 {
    font-family: var(--elc-font-serif);
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 0.75rem;
    color: var(--elc-text);
}
.elc-single__fuentes-lista {
    list-style: none;
    margin: 0;
    padding: 0;
}
.elc-single__fuentes-lista li { margin-bottom: 0.5rem; }
.elc-single__fuentes-lista a {
    font-family: var(--elc-font-sans);
    font-size: 14px;
    color: var(--elc-accent);
    text-decoration: none;
}
.elc-single__fuentes-lista a:hover { text-decoration: underline; }
.elc-single__fuentes-lista strong { font-weight: 600; }

/* Tags */
.elc-single__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 2rem 0;
}
.elc-single__tag {
    font-family: var(--elc-font-sans);
    font-size: 12px;
    color: var(--elc-text-muted);
    text-decoration: none;
    padding: 4px 10px;
    background: var(--elc-bg-soft);
    border-radius: 3px;
    transition: background 200ms ease, color 200ms ease;
}
.elc-single__tag:hover {
    background: var(--elc-accent);
    color: #FFF;
}

/* Autor */
.elc-single__autor {
    border-top: 1px solid var(--elc-border);
    border-bottom: 1px solid var(--elc-border);
    padding: 1.5rem 0;
    margin: 2rem 0;
}
.elc-single__autor h3 {
    font-family: var(--elc-font-serif);
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 0.5rem;
}
.elc-single__autor p {
    font-family: var(--elc-font-sans);
    font-size: 14px;
    color: var(--elc-text-muted);
    line-height: 1.5;
    margin: 0;
}

/* Notas relacionadas */
.elc-single__relacionadas { margin: 3rem 0; }
.elc-single__relacionadas-header h2 {
    font-family: var(--elc-font-serif);
    font-size: 24px;
    font-weight: 500;
    margin: 0 0 1.5rem;
    padding-top: 1rem;
    border-top: 2px solid var(--elc-text);
    color: var(--elc-text);
    font-variation-settings: 'opsz' 72;
}
.elc-single__relacionadas-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.elc-single__relacionada-link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.elc-single__relacionada-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    margin-bottom: 0.75rem;
    background: var(--elc-bg-soft);
    border-radius: 2px;
}
.elc-single__relacionada-image img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform 500ms ease;
}
.elc-single__relacionada-link:hover .elc-single__relacionada-image img { transform: scale(1.03); }
.elc-single__relacionada-titulo {
    font-family: var(--elc-font-serif);
    font-size: 18px;
    line-height: 1.25;
    font-weight: 500;
    color: var(--elc-text);
    margin: 0.5rem 0;
}
.elc-single__relacionada-link:hover .elc-single__relacionada-titulo { color: var(--elc-accent); }
.elc-single__relacionada-time {
    font-family: var(--elc-font-sans);
    font-size: 11px;
    color: var(--elc-text-light);
}

/* =========================================================
   DÍA 11 (Ola-1) — Ajustes de pulido
   ========================================================= */

/* "Ver más", "Ver todas" — flecha no se separa del texto en mobile */
.elc-btn-ver-mas,
.elc-seccion-bloque__ver-mas,
.elc-balance__ver-mas,
a[class*="ver-mas"] {
    white-space: nowrap;
}

/* Responsive single */
@media (max-width: 768px) {
    .elc-single__title { font-size: 32px; }
    .elc-single__bajada { font-size: 18px; }
    .elc-single__body { font-size: 17px; line-height: 1.65; }
    .elc-single__body p:first-of-type::first-letter { font-size: 48px; }
    .elc-single__body h2 { font-size: 24px; }
    .elc-single__body blockquote { font-size: 20px; }
    .elc-single__nota-editorial { padding: 20px; }
    .elc-single__nota-editorial-content { font-size: 16px; }
    .elc-single__actions { overflow-x: auto; gap: 8px; }
    .elc-single__action { padding: 6px 8px; flex-shrink: 0; }
    .elc-single__relacionadas-grid { grid-template-columns: 1fr; gap: 1.25rem; }
}

/* =========================================================
   DÍA 11 (Ola-1) — 4 pautas placeholders (top, inter, sticky mobile, mid-article)
   ========================================================= */

.elc-pauta--top,
.elc-pauta--inter,
.elc-pauta--mid-article {
    background: var(--elc-bg-soft);
    border-radius: 8px;
    padding: 16px;
    margin: 24px auto;
    text-align: center;
}
.elc-pauta--top .elc-pauta__label,
.elc-pauta--inter .elc-pauta__label,
.elc-pauta--mid-article .elc-pauta__label,
.elc-pauta--sticky-mobile .elc-pauta__label {
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--elc-text-light);
    display: block;
    margin-bottom: 8px;
}
.elc-pauta--top .elc-pauta__placeholder,
.elc-pauta--inter .elc-pauta__placeholder,
.elc-pauta--mid-article .elc-pauta__placeholder,
.elc-pauta--sticky-mobile .elc-pauta__placeholder {
    background: #FAECE7;
    color: #993C1D;
    padding: 32px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 4px;
}

/* Top banner — 970×90 desktop / 320×100 mobile */
.elc-pauta--top { max-width: 970px; }
.elc-pauta--top .elc-pauta__placeholder { padding: 16px; min-height: 90px; display: flex; align-items: center; justify-content: center; }

/* Inter-bloques Política→Economía — 728×90 desktop / 320×250 mobile */
.elc-pauta--inter { max-width: 728px; }
.elc-pauta--inter .elc-pauta__placeholder { min-height: 90px; padding: 16px; display: flex; align-items: center; justify-content: center; }

/* Mid-article — 728×90 */
.elc-pauta--mid-article { max-width: 728px; margin: 32px auto; }
.elc-pauta--mid-article .elc-pauta__placeholder { padding: 16px; min-height: 90px; display: flex; align-items: center; justify-content: center; }

/* Sticky bottom mobile — solo en mobile */
.elc-pauta--sticky-mobile { display: none; }
.elc-pauta__sticky-close {
    position: absolute;
    top: 4px;
    right: 8px;
    background: none;
    border: 0;
    font-size: 18px;
    line-height: 1;
    color: var(--elc-text-light);
    cursor: pointer;
    padding: 2px 6px;
    z-index: 2;
}
.elc-pauta__sticky-close:hover { color: var(--elc-accent); }

@media (max-width: 768px) {
    .elc-pauta--top .elc-pauta__placeholder { min-height: 100px; }
    .elc-pauta--inter .elc-pauta__placeholder,
    .elc-pauta--mid-article .elc-pauta__placeholder { min-height: 250px; }

    .elc-pauta--sticky-mobile {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 100;
        height: 50px;
        margin: 0;
        padding: 4px 36px 4px 16px;
        background: #FFFFFF;
        border-top: 1px solid var(--elc-border);
        box-shadow: 0 -2px 8px rgba(0,0,0,0.04);
    }
    .elc-pauta--sticky-mobile .elc-pauta__label { display: none; }
    .elc-pauta--sticky-mobile .elc-pauta__placeholder {
        padding: 8px;
        min-height: 42px;
        font-size: 11px;
        background: #FAECE7;
        color: #993C1D;
        height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    /* Padding al main para que el sticky no tape contenido */
    body.elc-premium-body { padding-bottom: 50px; }
}

/* ===== NAV ITEM Mundial 2026 — highlight oro (portado desde mundial-2026.css para home/single) ===== */
.elc-nav__item--mundial a {
    background: #FCD34D;
    color: #1A1A1A !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    border-radius: 3px;
    font-weight: 700;
}
.elc-nav__item--mundial a:hover {
    background: #E8B520;
    color: #FFFFFF !important;
}

/* ===== BANNER MUNDIAL 2026 — home (full-width, encima del top banner publicitario) ===== */
.elc-mundial-banner {
    background: linear-gradient(135deg, #0F1B2D 0%, #1F3559 100%);
    color: #FFFFFF;
    margin: 0;
    padding: 24px 0;
    border-bottom: 1px solid rgba(252, 211, 77, 0.15);
}
.elc-mundial-banner__container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1.5fr auto auto;
    gap: 32px;
    align-items: center;
}
.elc-mundial-banner__content { min-width: 0; }
.elc-mundial-banner__kicker {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #FCD34D;
    margin-bottom: 6px;
}
.elc-mundial-banner__title {
    font-family: 'Fraunces', serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -0.015em;
    color: #FFFFFF;
    margin: 0 0 6px 0;
}
.elc-mundial-banner__subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
    margin: 0;
}
.elc-mundial-banner__countdown {
    display: flex;
    gap: 16px;
}
.elc-mundial-banner__countdown-block {
    text-align: center;
    min-width: 56px;
}
.elc-mundial-banner__countdown-num {
    font-family: 'Fraunces', serif;
    font-size: 28px;
    font-weight: 500;
    color: #FCD34D;
    line-height: 1;
    display: block;
}
.elc-mundial-banner__countdown-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    display: block;
    margin-top: 4px;
}
.elc-mundial-banner__live {
    font-family: 'Fraunces', serif;
    font-size: 22px;
    color: #FCD34D;
    font-weight: 500;
}
.elc-mundial-banner__cta {
    background: #FCD34D;
    color: #1A1A1A;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 12px 20px;
    border-radius: 4px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s;
    display: inline-block;
}
.elc-mundial-banner__cta:hover {
    background: #FBBF24;
    color: #1A1A1A;
}
@media (max-width: 768px) {
    .elc-mundial-banner { padding: 18px 0; }
    .elc-mundial-banner__container {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 14px;
    }
    .elc-mundial-banner__title { font-size: 26px; }
    .elc-mundial-banner__countdown { justify-content: center; }
    .elc-mundial-banner__countdown-num { font-size: 22px; }
    .elc-mundial-banner__cta { width: 100%; text-align: center; }
}

/* ===== SINGLE — atribución de imagen hero + Fuentes (Nivel 2) ===== */
.elc-single__hero-image figcaption,
.elc-single__hero-caption {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-style: italic;
    color: rgba(0, 0, 0, 0.55);
    margin-top: 8px;
    text-align: right;
    line-height: 1.4;
}
.elc-single__hero-caption a {
    color: rgba(0, 0, 0, 0.7);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
.elc-single__hero-caption a:hover {
    color: #D85A30;
}
@media (max-width: 768px) {
    .elc-single__hero-image figcaption,
    .elc-single__hero-caption { font-size: 11px; }
}
.elc-single__fuente-prosa {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: rgba(0, 0, 0, 0.7);
    margin: 0 0 12px 0;
    line-height: 1.5;
}
.elc-single__fuente-prosa a {
    color: var(--elc-accent, #D85A30);
    text-decoration: underline;
    font-weight: 500;
}

/* ===== MODAL Escuchar — Próximamente (single premium) ===== */
.elc-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.elc-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    cursor: pointer;
}
.elc-modal__content {
    position: relative;
    background: #FFFFFF;
    padding: 32px;
    border-radius: 8px;
    max-width: 480px;
    width: 100%;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    font-family: var(--elc-font-sans, 'Inter', sans-serif);
}
.elc-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: #999;
    padding: 4px 10px;
}
.elc-modal__close:hover { color: #1A1A1A; }
.elc-modal__icon {
    font-size: 48px;
    display: block;
    margin-bottom: 16px;
}
.elc-modal__title {
    font-family: var(--elc-font-serif, 'Fraunces', serif);
    font-size: 22px;
    font-weight: 500;
    margin: 0 0 12px 0;
    color: #1A1A1A;
}
.elc-modal__text {
    font-size: 14px;
    color: #555;
    margin: 0 0 12px 0;
    line-height: 1.5;
}
.elc-modal__hint {
    font-size: 12px;
    color: #999;
    margin: 0 0 20px 0;
}
.elc-modal__cta {
    background: #1A1A1A;
    color: #FFFFFF;
    border: none;
    padding: 12px 32px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.2s;
}
.elc-modal__cta:hover { background: #333; }
@media (max-width: 768px) {
    .elc-modal__content { padding: 24px; }
    .elc-modal__title { font-size: 18px; }
}

/* ===== REACCIONES EDITORIALES (fin del single) ===== */
.elc-reactions {
    margin: 48px 0 32px;
    padding: 32px 28px;
    background: #FAF8F4;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    font-family: var(--elc-font-sans, 'Inter', sans-serif);
}
.elc-reactions__title {
    font-family: var(--elc-font-serif, 'Fraunces', serif);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--elc-text, #1A1A1A);
    margin: 0 0 22px 0;
    text-align: center;
    font-variation-settings: 'opsz' 48;
}
.elc-reactions__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    max-width: 720px;
    margin: 0 auto;
}
.elc-reactions__btn {
    appearance: none;
    -webkit-appearance: none;
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 999px;
    padding: 11px 18px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.005em;
    color: var(--elc-text, #1A1A1A);
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    outline: none;
    box-shadow: none;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease, color 0.15s ease;
    text-align: center;
}
.elc-reactions__btn:hover {
    background: #F0EBE2;
    border-color: rgba(0, 0, 0, 0.28);
    transform: translateY(-1px);
}
.elc-reactions__btn:active { transform: translateY(0); }
.elc-reactions__btn:focus-visible {
    outline: 2px solid var(--elc-accent, #D85A30);
    outline-offset: 2px;
}
.elc-reactions__btn.reacted {
    background: var(--elc-text, #1A1A1A);
    color: #FFFFFF;
    border-color: var(--elc-text, #1A1A1A);
    cursor: default;
    transform: none;
}
.elc-reactions__btn.reacted:hover {
    background: var(--elc-text, #1A1A1A);
    transform: none;
}
.elc-reactions__icon {
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    opacity: 0.75;
    font-size: 13px;
    line-height: 1;
}
.elc-reactions__btn.reacted .elc-reactions__icon { opacity: 1; }
.elc-reactions__btn[data-emotion="indigna"]    .elc-reactions__icon::before { content: '\26A0'; }   /* ⚠ */
.elc-reactions__btn[data-emotion="esperanza"]  .elc-reactions__icon::before { content: '\25D0'; }   /* ◐ */
.elc-reactions__btn[data-emotion="sorprende"]  .elc-reactions__icon::before { content: '\25C7'; }   /* ◇ */
.elc-reactions__btn[data-emotion="sabia"]      .elc-reactions__icon::before { content: '\2713'; }   /* ✓ */
.elc-reactions__label { white-space: nowrap; }
.elc-reactions__count {
    font-family: var(--elc-font-mono, 'SFMono-Regular', Consolas, monospace);
    font-size: 11px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.45);
    min-width: 0;
    line-height: 1;
}
.elc-reactions__btn.reacted .elc-reactions__count {
    color: rgba(255, 255, 255, 0.65);
}
.elc-reactions__count:empty { display: none; }
.elc-reactions__footer {
    font-family: var(--elc-font-sans, 'Inter', sans-serif);
    font-size: 12px;
    color: rgba(0, 0, 0, 0.55);
    text-align: center;
    margin: 18px 0 0 0;
}
.elc-reactions__total-num {
    color: var(--elc-text, #1A1A1A);
    font-weight: 600;
    margin-right: 3px;
}

/* Mobile: grid 2x2 + textos un poco más chicos */
@media (max-width: 768px) {
    .elc-reactions {
        padding: 24px 18px;
        margin: 36px 0 24px;
    }
    .elc-reactions__title { font-size: 18px; margin-bottom: 18px; }
    .elc-reactions__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .elc-reactions__btn {
        font-size: 12px;
        padding: 10px 12px;
        gap: 6px;
    }
    .elc-reactions__icon { width: 12px; height: 12px; font-size: 11px; }
    .elc-reactions__count { font-size: 10px; }
}

/* ===== HERO CAPTION RICO (NYT-style) — hero + secundarias del top de home ===== */
.elc-image-figcaption {
    margin-top: 8px;
    margin-bottom: 16px;
    line-height: 1.4;
    display: block;
}
.elc-image-caption {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-size: 13px;
    color: #4b5563;
    display: block;
    margin-bottom: 4px;
}
.elc-image-credit {
    font-size: 11px;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-weight: 500;
    display: inline-block;
}

/* Hero principal: caption un poco más grande (jerarquía visual) */
.elc-home-hero__featured .elc-image-caption { font-size: 14px; }
.elc-home-hero__featured .elc-image-credit  { font-size: 12px; }

/* Si NO hay caption descriptivo, el crédito va más cerca de la imagen */
.elc-image-figcaption:has(.elc-image-credit:only-child) {
    margin-top: 6px;
}

/* Secundarias: margin un toque más compacto por la jerarquía visual */
.elc-home-hero__secondary-item .elc-image-figcaption {
    margin-bottom: 10px;
}

/* ============================================================
   v1.0.37 — Header mobile NYT-style con drawer hamburguesa.

   v1.0.36: drawer SSR + skip JS legacy global.
   v1.0.37: oculta el .elc-nav inline en mobile (las secciones viven en el
   drawer), reincorpora la luna .elc-theme-toggle en masthead actions y en
   el drawer footer, y oculta el .elc-header mientras el drawer está abierto
   para eliminar la franja gris del overlay tiñendo el header.
   ============================================================ */

/* Hamburguesa — visible solo en mobile */
.elc-hamburger {
    display: none;
    width: 44px;
    height: 44px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: var(--elc-text);
    -webkit-tap-highlight-color: transparent;
}
.elc-hamburger:active { opacity: 0.7; }
.elc-hamburger__line {
    display: block;
    width: 22px;
    height: 2px;
    background: currentColor;
    border-radius: 1px;
}
.elc-masthead__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 44px;
}

/* Theme toggle (luna) — visible siempre. v1.0.37: reincorporado en SSR header. */
.elc-theme-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
    padding: 6px 10px;
    color: var(--elc-text);
    -webkit-tap-highlight-color: transparent;
    border-radius: 6px;
    transition: background 0.18s ease;
}
.elc-theme-toggle:hover { background: rgba(0, 0, 0, 0.05); }
html.dark .elc-theme-toggle:hover { background: rgba(255, 255, 255, 0.08); }

/* Responsive — mobile <=768px */
@media (max-width: 768px) {
    .elc-topbar   { display: none  !important; }
    .elc-masthead { display: block !important; padding: 10px 0 !important; }
    .elc-masthead__inner {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .elc-hamburger        { display: flex !important; }
    .elc-masthead__actions { display: flex !important; }
    .elc-theme-toggle     { font-size: 20px; padding: 6px 8px; }
    .elc-logo {
        flex: 1 1 auto !important;
        text-align: center !important;
        align-items: center !important;
    }
    .elc-logo__title    { font-size: 22px !important; line-height: 1 !important; }
    .elc-logo__tagline  { display: none !important; }
    /* v1.0.37: en mobile el nav inline se reemplaza por el drawer — evita
       redundancia y el scroll horizontal feo que se veía en páginas internas. */
    .elc-nav            { display: none !important; }
}

/* v1.0.39: cuando el drawer está abierto, COLAPSAMOS el header con
   display:none — saca el espacio del flujo, el drawer arranca pegado al
   borde superior. Scroll-lock simple via overflow:hidden en body (NO
   position:fixed, porque en iOS Safari position:fixed dispara la URL bar
   superior y queda STUCK con fondo gris al cerrar el drawer). */
body.elc-drawer-is-open .elc-header { display: none; }
body.elc-drawer-is-open { overflow: hidden; }

/* Drawer overlay */
.elc-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
    z-index: 9998;
}
.elc-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}

/* Drawer panel */
.elc-drawer {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 320px;
    max-width: 85vw;
    background: var(--elc-bg, #FFFFFF);
    color: var(--elc-text, #1A1A1A);
    z-index: 9999;
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.1);
}
.elc-drawer.is-open { transform: translateX(0); }

.elc-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--elc-border, rgba(0, 0, 0, 0.08));
}
.elc-drawer__logo { text-decoration: none; color: inherit; }
.elc-drawer__logo-title {
    font-family: var(--elc-font-serif);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.01em;
    font-variation-settings: 'opsz' 32;
}
.elc-drawer__close {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    font-size: 32px;
    line-height: 1;
    color: var(--elc-text, #1A1A1A);
    cursor: pointer;
    padding: 0;
    -webkit-tap-highlight-color: transparent;
}

.elc-drawer__section-title {
    font-family: var(--elc-font-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--elc-text-light, #888);
    padding: 20px 24px 6px;
}
.elc-drawer__nav,
.elc-drawer__nav--secondary { display: flex; flex-direction: column; }

.elc-drawer__link {
    font-family: var(--elc-font-serif);
    font-size: 16px;
    color: var(--elc-text);
    text-decoration: none;
    padding: 12px 24px;
    border-left: 3px solid transparent;
    transition: background 0.15s ease, border-color 0.15s ease;
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 8px;
    -webkit-tap-highlight-color: transparent;
}
.elc-drawer__link:hover,
.elc-drawer__link:active {
    background: var(--elc-bg-soft, #FAF8F5);
    border-left-color: var(--elc-accent, #D85A30);
}
.elc-drawer__link--mundial {
    color: var(--elc-accent, #D85A30);
    font-weight: 600;
}
.elc-drawer__link--live {
    color: var(--elc-negative, #C0392B);
    font-weight: 600;
    font-family: var(--elc-font-sans);
    font-size: 13px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.elc-drawer__footer {
    margin-top: auto;
    padding: 20px 24px;
    border-top: 1px solid var(--elc-border, rgba(0, 0, 0, 0.08));
}
.elc-drawer__copy {
    font-family: var(--elc-font-sans);
    font-size: 11px;
    color: var(--elc-text-light, #888);
    line-height: 1.6;
    margin: 0;
}
/* Botón theme dentro del drawer (v1.0.37) */
.elc-drawer__theme {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0 0 14px;
    padding: 10px 0;
    background: none;
    border: 0;
    cursor: pointer;
    color: var(--elc-text);
    font-family: var(--elc-font-sans);
    font-size: 13px;
    text-align: left;
    -webkit-tap-highlight-color: transparent;
}
.elc-drawer__theme-icon { font-size: 18px; line-height: 1; }
.elc-drawer__theme-label { letter-spacing: 0.02em; }
html.dark .elc-drawer__theme { color: var(--elc-dark-text, #D5D2CB); }

/* Dark mode drawer */
html.dark .elc-drawer {
    background: var(--elc-dark-bg, #0F1419);
    color: var(--elc-dark-text, #D5D2CB);
}
html.dark .elc-drawer__header,
html.dark .elc-drawer__footer {
    border-color: rgba(255, 255, 255, 0.08);
}
html.dark .elc-drawer__close,
html.dark .elc-drawer__logo-title,
html.dark .elc-drawer__link {
    color: var(--elc-dark-text, #D5D2CB);
}
html.dark .elc-drawer__link:hover,
html.dark .elc-drawer__link:active {
    background: rgba(255, 255, 255, 0.04);
}
html.dark .elc-drawer__section-title,
html.dark .elc-drawer__copy {
    color: var(--elc-dark-muted, #8A8680);
}
