/* =====================================================
   ACTUALIDAD - listado publico y detalle de nota
   ===================================================== */
.actualidad-page { background: var(--superficie-alt); }

/* Hero */
.actualidad-hero {
    background: linear-gradient(135deg, var(--anzorc-verde-oscuro), var(--anzorc-verde));
    color: white;
    padding: var(--e10) var(--e5) var(--e8);
    text-align: center;
    position: relative; overflow: hidden;
}
.actualidad-hero::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(circle at 20% 30%, rgba(237,206,27,.15), transparent 55%);
    pointer-events: none;
}
.actualidad-hero__inner {
    max-width: 720px; margin: 0 auto; position: relative; z-index: 1;
}
.actualidad-hero__eyebrow {
    display: inline-block; padding: 4px 14px;
    background: rgba(255,255,255,.15); border-radius: var(--radio-full);
    font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
    font-weight: 700; margin-bottom: var(--e3);
    backdrop-filter: blur(4px);
}
.actualidad-hero__titulo {
    color: white; font-size: clamp(2.4rem, 5vw, 3.6rem);
    line-height: 1; margin: 0 0 var(--e3); letter-spacing: -0.02em;
}
.actualidad-hero__lead {
    color: rgba(255,255,255,.9); font-size: 1.1rem;
    margin: 0 auto var(--e6); max-width: 560px;
}

/* Buscador */
.actualidad-buscador__wrap {
    display: flex; align-items: center; gap: var(--e2);
    background: white; padding: 6px 6px 6px 16px;
    border-radius: var(--radio-full);
    box-shadow: 0 10px 30px -10px rgba(0,0,0,.3);
    max-width: 500px; margin: 0 auto;
}
.actualidad-buscador__wrap i.bi-search { color: var(--texto-suave); font-size: 1.1rem; }
.actualidad-buscador__wrap input {
    flex: 1; border: none; outline: none;
    padding: 8px 4px; font-size: 1rem;
    background: transparent; color: var(--texto);
    font-family: var(--fuente-sans);
}
.actualidad-buscador__wrap .btn {
    padding: 8px 14px; border-radius: var(--radio-full);
    background: var(--anzorc-verde); color: white; border: none;
}

/* Filtros scroll horizontal */
.actualidad-filtros { padding: var(--e5) 0 var(--e2); background: white; border-bottom: 1px solid var(--borde); }
.actualidad-filtros__scroll {
    display: flex; gap: var(--e2); overflow-x: auto;
    padding-bottom: var(--e2);
    scrollbar-width: thin;
}
.actualidad-filtros__scroll::-webkit-scrollbar { height: 6px; }
.actualidad-filtros__scroll::-webkit-scrollbar-thumb { background: var(--borde); border-radius: 3px; }

.filtro-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px; border-radius: var(--radio-full);
    background: var(--superficie-alt); color: var(--texto);
    text-decoration: none; font-size: var(--tam-sm); font-weight: 600;
    white-space: nowrap; border: 1px solid transparent;
    transition: all .15s;
}
.filtro-chip:hover { background: rgba(0,128,55,.08); border-color: rgba(0,128,55,.2); }
.filtro-chip.is-active {
    background: var(--anzorc-verde); color: white; border-color: var(--anzorc-verde);
}
.filtro-chip i { font-size: 12px; }
.filtro-sep { width: 1px; height: 24px; background: var(--borde); align-self: center; margin: 0 var(--e2); }

/* Grid de notas */
.actualidad-lista { padding: var(--e8) 0 var(--e10); }
.actualidad-grid {
    display: grid; gap: var(--e5);
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.nota-card {
    background: white; border-radius: var(--radio-lg);
    overflow: hidden; box-shadow: 0 4px 12px -4px rgba(0,0,0,.08);
    border: 1px solid var(--borde);
    transition: transform .2s, box-shadow .2s, border-color .2s;
    display: flex; flex-direction: column;
}
.nota-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -10px rgba(0,0,0,.15);
    border-color: rgba(0,128,55,.3);
}
.nota-card--destacada { border-color: var(--anzorc-amarillo); }

/* Badge "Nuevo" en tarjetas de <7 días */
.nota-card { position: relative; }
.nota-nuevo-badge {
    position: absolute; top: -8px; left: -8px; z-index: 5;
    padding: 4px 10px;
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    color: white;
    font-size: 10px; font-weight: 800;
    letter-spacing: .1em; text-transform: uppercase;
    border-radius: 12px;
    box-shadow: 0 4px 12px -2px rgba(220,38,38,.5);
    animation: nuevoPulse 2s ease-in-out infinite;
}
@keyframes nuevoPulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.08); }
}
@media (prefers-reduced-motion: reduce) { .nota-nuevo-badge { animation: none; } }
.nota-card--destacada:hover { border-color: var(--anzorc-amarillo); }

.nota-card__link { display: flex; flex-direction: column; text-decoration: none; color: inherit; height: 100%; }

.nota-card__img {
    position: relative; height: 200px; background-size: cover; background-position: center;
    background-color: var(--superficie-alt);
}
.nota-card__img--placeholder {
    display: grid; place-items: center; color: var(--texto-suave); font-size: 2rem;
}
.nota-card__cat {
    position: absolute; top: 12px; left: 12px;
    padding: 3px 10px; border-radius: var(--radio-full);
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
    background: white; color: var(--texto);
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.nota-card__cat--comunicado { background: var(--anzorc-amarillo); color: var(--anzorc-verde-oscuro); }
.nota-card__cat--noticia    { background: var(--anzorc-verde); color: white; }

.nota-card__star {
    position: absolute; top: 12px; right: 12px;
    width: 32px; height: 32px; border-radius: 50%;
    background: var(--anzorc-amarillo); color: var(--anzorc-verde-oscuro);
    display: grid; place-items: center;
    box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

.nota-card__body {
    padding: var(--e4) var(--e5) var(--e5);
    display: flex; flex-direction: column; flex: 1; gap: var(--e2);
}
.nota-card__meta {
    display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
    font-size: var(--tam-xs); color: var(--texto-suave);
    text-transform: uppercase; letter-spacing: .04em;
}
.nota-card__zrc { color: var(--anzorc-verde); font-weight: 600; }
.nota-card__titulo {
    color: var(--anzorc-verde-oscuro);
    font-size: 1.25rem; line-height: 1.3; margin: 0;
    letter-spacing: -0.01em;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.nota-card__resumen {
    color: var(--texto-suave); font-size: var(--tam-sm); line-height: 1.5; margin: 0;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.nota-card__cta {
    color: var(--anzorc-verde); font-weight: 600; font-size: var(--tam-sm);
    margin-top: auto; display: inline-flex; align-items: center; gap: 6px;
    transition: gap .15s;
}
.nota-card:hover .nota-card__cta { gap: 12px; }

/* Paginacion */
.paginacion {
    display: flex; align-items: center; justify-content: center; gap: var(--e4);
    margin-top: var(--e10); padding-top: var(--e6); border-top: 1px solid var(--borde);
}
.paginacion__btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 10px 18px; border-radius: var(--radio-md);
    background: white; color: var(--anzorc-verde-oscuro);
    text-decoration: none; font-weight: 600;
    border: 1px solid var(--borde); transition: all .15s;
}
.paginacion__btn:hover { background: var(--anzorc-verde); color: white; border-color: var(--anzorc-verde); }
.paginacion__pos { color: var(--texto-suave); font-size: var(--tam-sm); }

/* =====================================================
   DETALLE DE NOTA
   ===================================================== */
.nota-detalle { background: white; }

.nota-hero {
    background: linear-gradient(135deg, var(--anzorc-verde-oscuro), var(--anzorc-verde));
    color: white; padding: var(--e12) var(--e5) var(--e8);
    background-size: cover; background-position: center;
    position: relative;
}
.nota-hero--con-img { min-height: 420px; display: flex; align-items: flex-end; }
.nota-hero__inner {
    max-width: 820px; margin: 0 auto; width: 100%;
    position: relative; z-index: 1;
}
.nota-hero__crumbs {
    display: flex; gap: var(--e2); font-size: var(--tam-sm);
    margin-bottom: var(--e4); color: rgba(255,255,255,.8);
}
.nota-hero__crumbs a { color: rgba(255,255,255,.9); text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.nota-hero__crumbs a:hover { color: var(--anzorc-amarillo); }

.nota-hero__badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: var(--e3); }

.nota-hero__titulo {
    color: white; font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1.15; margin: 0 0 var(--e4);
    letter-spacing: -0.02em; max-width: 780px;
}
.nota-hero__meta {
    display: flex; gap: var(--e4); flex-wrap: wrap;
    color: rgba(255,255,255,.85); font-size: var(--tam-sm);
}
.nota-hero__meta > * { display: inline-flex; align-items: center; gap: 6px; }

.nota-contenido { padding: var(--e10) 0 var(--e8); }
.nota-contenido__lead {
    font-size: 1.25rem; line-height: 1.6; color: var(--anzorc-verde-oscuro);
    font-weight: 500; padding-left: var(--e4); border-left: 4px solid var(--anzorc-verde);
    margin: 0 0 var(--e8);
}
.nota-contenido__body {
    color: var(--texto); font-size: 1.05rem; line-height: 1.75;
}
.nota-contenido__body h2, .nota-contenido__body h3 { color: var(--anzorc-verde-oscuro); margin-top: var(--e6); }
.nota-contenido__body p { margin: 0 0 var(--e4); }
.nota-contenido__body img { max-width: 100%; height: auto; border-radius: var(--radio-md); margin: var(--e4) 0; }
.nota-contenido__body blockquote {
    margin: var(--e5) 0; padding: var(--e4) var(--e5);
    background: var(--superficie-alt); border-left: 4px solid var(--anzorc-amarillo);
    border-radius: var(--radio-sm); color: var(--anzorc-verde-oscuro); font-style: italic;
}
.nota-contenido__body a { color: var(--anzorc-verde); text-decoration: underline; text-underline-offset: 2px; }
.nota-contenido__body ul, .nota-contenido__body ol { margin: 0 0 var(--e4) var(--e5); }

/* ====================================================
   BLOQUES ENRIQUECIDOS · rediseño editorial premium
   Selectores dobles (.bloq--x y [data-bloq="x"]) para
   sobrevivir a la limpieza de clases de Quill.
   ==================================================== */
.nota-contenido__body .bloq,
.nota-contenido__body [data-bloq] { margin: 48px 0 !important; }

/* --- 1. Imagen + Texto (columnas) --- */
.nota-contenido__body .bloq--columnas,
.nota-contenido__body [data-bloq="columnas"] {
    display: grid !important;
    grid-template-columns: 1.05fr 1fr !important;
    gap: 40px !important;
    align-items: center !important;
    padding: 0 !important; background: none !important; border-radius: 0 !important;
}
.nota-contenido__body .bloq--columnas img,
.nota-contenido__body [data-bloq="columnas"] img {
    width: 100% !important; height: auto !important;
    border-radius: 16px !important;
    margin: 0 !important;
    box-shadow: 0 30px 60px -30px rgba(0,85,31,.35) !important;
    transition: transform .4s ease !important;
}
.nota-contenido__body .bloq--columnas img:hover,
.nota-contenido__body [data-bloq="columnas"] img:hover { transform: scale(1.02) !important; }
.nota-contenido__body .bloq--columnas h3,
.nota-contenido__body [data-bloq="columnas"] h3 {
    color: var(--anzorc-verde-oscuro) !important;
    margin: 0 0 16px !important;
    font: 700 1.6rem/1.25 Georgia, "Times New Roman", serif !important;
}
.nota-contenido__body .bloq--columnas p,
.nota-contenido__body [data-bloq="columnas"] p {
    color: #3f3f3f !important;
    line-height: 1.75 !important;
    font-size: 1.05rem !important;
    margin: 0 !important;
}
@media (max-width: 720px) {
    .nota-contenido__body .bloq--columnas,
    .nota-contenido__body [data-bloq="columnas"] {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
}

/* --- 2. Dato destacado (callout editorial) --- */
.nota-contenido__body .bloq--destacado,
.nota-contenido__body [data-bloq="destacado"] {
    position: relative !important;
    padding: 32px 32px 32px 84px !important;
    background: linear-gradient(135deg, #fffbe7 0%, #fefaf0 100%) !important;
    border-radius: 16px !important;
    border: 1px solid rgba(237,206,27,.35) !important;
    border-left-width: 1px !important;
    box-shadow: 0 8px 24px -12px rgba(237,206,27,.35) !important;
    display: block !important;
    color: var(--anzorc-verde-oscuro) !important;
    font-size: 1.2rem !important;
    line-height: 1.55 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-weight: 500 !important;
}

/* --- 3. Llamado acción (CTA hero) --- */
.nota-contenido__body .bloq--cta,
.nota-contenido__body [data-bloq="cta"] {
    position: relative !important;
    padding: 56px 40px !important;
    background:
        radial-gradient(at 20% 20%, #008037 0, transparent 55%),
        linear-gradient(135deg, #003d16 0%, var(--anzorc-verde-oscuro) 60%, #006d29 100%) !important;
    color: white !important;
    border-radius: 20px !important;
    text-align: center !important;
    overflow: hidden !important;
    box-shadow: 0 24px 48px -18px rgba(0,85,31,.55) !important;
}
.nota-contenido__body .bloq--cta::before,
.nota-contenido__body [data-bloq="cta"]::before {
    content: "";
    position: absolute; top: 0; left: 0; right: 0; height: 4px;
    background: linear-gradient(90deg, var(--anzorc-amarillo), transparent, var(--anzorc-amarillo));
}
.nota-contenido__body .bloq--cta h3,
.nota-contenido__body [data-bloq="cta"] h3 {
    color: #fff !important;
    margin: 0 0 12px !important;
    font: 700 1.9rem/1.15 Georgia, serif !important;
}
.nota-contenido__body .bloq--cta p,
.nota-contenido__body [data-bloq="cta"] p {
    color: rgba(255,255,255,.9) !important;
    margin: 0 auto 28px !important;
    max-width: 520px !important;
    line-height: 1.6 !important;
    font-size: 1.05rem !important;
}
.nota-contenido__body .bloq--cta a,
.nota-contenido__body [data-bloq="cta"] a {
    display: inline-flex !important; align-items: center !important; gap: 10px !important;
    padding: 14px 32px !important;
    border-radius: 999px !important;
    background: var(--anzorc-amarillo) !important;
    color: var(--anzorc-verde-oscuro) !important;
    text-decoration: none !important;
    font-weight: 800 !important; font-size: 1rem !important;
    box-shadow: 0 12px 24px -8px rgba(237,206,27,.5) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}
.nota-contenido__body .bloq--cta a:hover,
.nota-contenido__body [data-bloq="cta"] a:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 32px -10px rgba(237,206,27,.65) !important;
}

/* --- 4. Botón descargar (tarjeta rica) --- */
.nota-contenido__body .bloq--descarga,
.nota-contenido__body [data-bloq="descarga"] {
    padding: 0 !important; background: none !important; margin: 36px 0 !important;
}
.nota-contenido__body .bloq--descarga a,
.nota-contenido__body [data-bloq="descarga"] a {
    display: flex !important; align-items: center !important; gap: 20px !important;
    padding: 22px 28px !important;
    background: linear-gradient(135deg, #ffffff, #f7faf6) !important;
    color: var(--anzorc-verde-oscuro) !important;
    text-decoration: none !important;
    border-radius: 16px !important;
    border: 2px solid rgba(0,128,55,.15) !important;
    box-shadow: 0 12px 32px -16px rgba(0,85,31,.2) !important;
    transition: all .2s ease !important;
}
.nota-contenido__body .bloq--descarga a:hover,
.nota-contenido__body [data-bloq="descarga"] a:hover {
    border-color: var(--anzorc-verde) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 20px 40px -16px rgba(0,85,31,.35) !important;
}
.nota-contenido__body .bloq--descarga a > span:first-child,
.nota-contenido__body [data-bloq="descarga"] a > span:first-child {
    flex-shrink: 0 !important;
    width: 56px !important; height: 56px !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    background: linear-gradient(135deg, var(--anzorc-verde-oscuro), var(--anzorc-verde)) !important;
    color: var(--anzorc-amarillo) !important;
    border-radius: 12px !important;
    font-size: 1.6rem !important; font-weight: 700 !important;
}
.nota-contenido__body .bloq--descarga a strong,
.nota-contenido__body [data-bloq="descarga"] a strong {
    display: block !important; font-size: 1.1rem !important; font-weight: 700 !important; line-height: 1.3 !important;
}

/* --- 5. Galería 3 fotos --- */
.nota-contenido__body .bloq--galeria,
.nota-contenido__body [data-bloq="galeria"] {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
}
.nota-contenido__body .bloq--galeria img,
.nota-contenido__body [data-bloq="galeria"] img {
    width: 100% !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    display: block !important;
    margin: 0 !important;
    box-shadow: 0 12px 24px -12px rgba(0,0,0,.3) !important;
    transition: transform .5s ease, box-shadow .3s ease !important;
    cursor: zoom-in !important;
}
.nota-contenido__body .bloq--galeria img:hover,
.nota-contenido__body [data-bloq="galeria"] img:hover {
    transform: scale(1.05) !important;
    box-shadow: 0 20px 40px -12px rgba(0,0,0,.4) !important;
}
@media (max-width: 640px) {
    .nota-contenido__body .bloq--galeria,
    .nota-contenido__body [data-bloq="galeria"] { grid-template-columns: 1fr !important; gap: 12px !important; }
}

/* --- Lightbox simple para galería --- */
.nota-lightbox {
    position: fixed; inset: 0; z-index: 9999;
    background: rgba(0,0,0,.92);
    display: flex; align-items: center; justify-content: center;
    padding: 40px; cursor: zoom-out;
    animation: notaLbFade .2s ease;
}
.nota-lightbox img { max-width: 100%; max-height: 100%; border-radius: 8px; box-shadow: 0 30px 60px rgba(0,0,0,.5); }
.nota-lightbox__close {
    position: absolute; top: 20px; right: 20px;
    width: 44px; height: 44px; border: 0; border-radius: 50%;
    background: rgba(255,255,255,.15); color: white; cursor: pointer;
    font-size: 1.5rem; display: flex; align-items: center; justify-content: center;
    backdrop-filter: blur(10px);
}
.nota-lightbox__close:hover { background: rgba(255,255,255,.25); }
@keyframes notaLbFade { from { opacity: 0; } to { opacity: 1; } }

.bloq--cita {
    position: relative; padding: var(--e4) var(--e5) var(--e4) var(--e8);
    background: var(--superficie-alt); border-radius: var(--radio-md);
    border-left: 4px solid var(--anzorc-verde);
}
.bloq--cita > i.bi-quote {
    position: absolute; left: var(--e3); top: var(--e2);
    font-size: 2.5rem; color: var(--anzorc-verde); opacity: .3;
}
.bloq--cita blockquote {
    background: none; padding: 0; border: none; margin: 0 0 var(--e2);
    font-size: 1.15rem; line-height: 1.5; color: var(--anzorc-verde-oscuro); font-style: italic;
}
.bloq--cita cite { color: var(--texto-suave); font-size: var(--tam-sm); font-style: normal; }

.bloq--galeria {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--e2);
}
.bloq--galeria img {
    width: 100%; aspect-ratio: 4/3; object-fit: cover;
    border-radius: var(--radio-md); margin: 0;
}

/* =====================================================
   GALERÍA - masonry pública
   ===================================================== */
.galeria-masonry {
    column-count: 4; column-gap: var(--e3);
}
@media (max-width: 1200px) { .galeria-masonry { column-count: 3; } }
@media (max-width: 800px)  { .galeria-masonry { column-count: 2; } }
@media (max-width: 500px)  { .galeria-masonry { column-count: 1; } }

.galeria-item {
    break-inside: avoid; margin: 0 0 var(--e3);
    border-radius: var(--radio-md); overflow: hidden;
    background: var(--superficie-alt);
    box-shadow: 0 4px 12px -4px rgba(0,0,0,.1);
    transition: transform .2s, box-shadow .2s;
}
.galeria-item:hover { transform: translateY(-3px); box-shadow: 0 12px 24px -6px rgba(0,0,0,.2); }
.galeria-item a { display: block; text-decoration: none; color: inherit; position: relative; }
.galeria-item img { width: 100%; height: auto; display: block; }
.galeria-item__overlay {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: var(--e3);
    background: linear-gradient(to top, rgba(0,0,0,.85), rgba(0,0,0,0));
    color: white;
    opacity: 0; transition: opacity .2s;
}
.galeria-item:hover .galeria-item__overlay { opacity: 1; }
.galeria-item__cat {
    display: inline-block; padding: 2px 8px;
    background: var(--anzorc-amarillo); color: var(--anzorc-verde-oscuro);
    border-radius: var(--radio-full); font-size: 10px;
    font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
    margin-bottom: 6px;
}
.galeria-item__overlay strong { display: block; font-size: var(--tam-md); line-height: 1.3; margin-bottom: 4px; }
.galeria-item__meta { display: flex; gap: 8px; font-size: 10px; opacity: .9; flex-wrap: wrap; }
.galeria-item__meta i { font-size: 10px; }

/* Compartir */
.nota-compartir {
    display: flex; align-items: center; gap: var(--e3);
    margin-top: var(--e8); padding-top: var(--e5); border-top: 1px solid var(--borde);
}
.nota-compartir span { color: var(--texto-suave); font-size: var(--tam-sm); font-weight: 600; }
.nota-compartir a {
    width: 36px; height: 36px; border-radius: 50%;
    display: grid; place-items: center;
    background: var(--superficie-alt); color: var(--anzorc-verde-oscuro);
    text-decoration: none; transition: all .15s;
}
.nota-compartir a:hover { background: var(--anzorc-verde); color: white; transform: translateY(-2px); }

/* Relacionadas */
.nota-relacionadas { padding: var(--e10) 0 var(--e12); background: var(--superficie-alt); }

/* Countdown regresivo en convocatoria-detalle */
.conv-countdown {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: var(--e3) var(--e4);
    background: linear-gradient(135deg, rgba(0,128,55,.08), rgba(237,206,27,.06));
    border: 1px solid rgba(0,128,55,.2);
    border-radius: var(--radio-lg);
    margin: 0 var(--e4);
}
.conv-countdown__label {
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .08em;
    color: var(--anzorc-verde-oscuro);
}
.conv-countdown__grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
}
.conv-countdown__grid > div {
    display: flex; flex-direction: column; align-items: center;
    padding: 6px 10px; min-width: 52px;
    background: white; border-radius: var(--radio-md);
    box-shadow: 0 4px 12px -4px rgba(0,60,25,.15);
}
.conv-countdown__grid strong {
    font-family: var(--fuente-titulo); font-size: 1.5rem;
    color: var(--anzorc-verde-oscuro); font-variant-numeric: tabular-nums;
    line-height: 1;
}
.conv-countdown__grid small {
    font-size: 9px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .06em;
    color: var(--texto-suave); margin-top: 3px;
}

/* Tabla de contenido flotante (aparece si el artículo tiene 3+ h2/h3) */
.nota-toc {
    position: sticky; top: var(--e5);
    background: white; border: 1px solid var(--borde);
    border-radius: var(--radio-lg);
    padding: var(--e4) var(--e5);
    margin: var(--e6) 0;
    box-shadow: 0 8px 24px -12px rgba(0,60,25,.15);
    border-left: 4px solid var(--anzorc-verde);
}
.nota-toc strong {
    display: block; margin-bottom: var(--e3);
    color: var(--anzorc-verde-oscuro);
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .08em;
}
.nota-toc ol { list-style: none; padding: 0; margin: 0; counter-reset: toc; }
.nota-toc li { counter-increment: toc; margin-bottom: 6px; position: relative; padding-left: var(--e5); font-size: var(--tam-sm); }
.nota-toc li::before {
    content: counter(toc); position: absolute; left: 0; top: 0;
    width: 22px; height: 22px; border-radius: 50%;
    background: rgba(0,128,55,.1); color: var(--anzorc-verde-oscuro);
    display: grid; place-items: center; font-size: 11px; font-weight: 700;
}
.nota-toc__h3 { padding-left: calc(var(--e5) + var(--e4)); }
.nota-toc a {
    color: var(--texto); text-decoration: none;
    transition: color .15s;
    display: block; padding: 4px 0;
}
.nota-toc a:hover { color: var(--anzorc-verde); text-decoration: underline; text-underline-offset: 2px; }
@media (min-width: 1200px) {
    /* En pantallas grandes, flotante a la derecha */
    .nota-toc {
        position: fixed; right: 24px; top: 96px;
        width: 280px;
        max-height: calc(100vh - 128px); overflow-y: auto;
    }
}

/* Barra de progreso de lectura */
.reading-progress {
    position: fixed; top: 0; left: 0;
    height: 3px; width: 0%;
    background: linear-gradient(90deg, var(--anzorc-verde), var(--anzorc-amarillo));
    z-index: 100;
    box-shadow: 0 1px 4px rgba(0,128,55,.4);
    transition: width .1s linear;
}

/* =====================================================
   CONVOCATORIAS - listado y detalle
   ===================================================== */
.conv-page { background: var(--superficie-alt); }

.conv-hero {
    background: linear-gradient(135deg, var(--anzorc-verde-oscuro), #00551f);
    color: white;
    padding: var(--e10) var(--e5) var(--e6);
    text-align: center;
    position: relative; overflow: hidden;
}
.conv-hero::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(circle at 80% 30%, rgba(237,206,27,.18), transparent 55%);
    pointer-events: none;
}
.conv-hero__inner { max-width: 720px; margin: 0 auto; position: relative; z-index: 1; }
.conv-hero__stats {
    display: flex; justify-content: center; gap: var(--e6);
    margin: var(--e5) 0;
}
.conv-stat {
    display: flex; flex-direction: column; align-items: center;
    padding: var(--e2) var(--e4);
    background: rgba(255,255,255,.1);
    border-radius: var(--radio-md);
    backdrop-filter: blur(4px);
    min-width: 100px;
}
.conv-stat__val {
    font-family: var(--fuente-titulo); font-size: 2rem;
    font-weight: 700; color: var(--anzorc-amarillo);
    line-height: 1; font-variant-numeric: tabular-nums;
}
.conv-stat__lbl {
    font-size: var(--tam-xs); color: rgba(255,255,255,.85);
    text-transform: uppercase; letter-spacing: .08em; margin-top: 4px;
}

/* Grid + tarjetas */
.conv-grid {
    display: grid; gap: var(--e5);
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}
.conv-card {
    background: white; border-radius: var(--radio-lg);
    overflow: hidden; box-shadow: 0 4px 12px -4px rgba(0,0,0,.08);
    border: 1px solid var(--borde);
    transition: transform .2s, box-shadow .2s;
    display: flex; flex-direction: column;
}
.conv-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -10px rgba(0,0,0,.15); }
.conv-card--cerrada { opacity: .75; }

.conv-card__img {
    height: 160px; background-size: cover; background-position: center;
    background-color: var(--superficie-alt);
}
.conv-card__img--ph {
    display: grid; place-items: center;
    background: linear-gradient(135deg, rgba(0,128,55,.05), rgba(0,128,55,.15));
    color: var(--anzorc-verde); font-size: 2.5rem;
}
.conv-card__body {
    padding: var(--e4) var(--e5) var(--e4);
    display: flex; flex-direction: column; flex: 1; gap: var(--e2);
}
.conv-card__entidad {
    font-size: var(--tam-xs); color: var(--anzorc-verde);
    text-transform: uppercase; letter-spacing: .05em; font-weight: 700;
    display: inline-flex; align-items: center; gap: 4px;
}
.conv-card__titulo {
    color: var(--anzorc-verde-oscuro);
    font-size: 1.15rem; line-height: 1.3; margin: 0;
    letter-spacing: -0.01em;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.conv-card__resumen {
    color: var(--texto-suave); font-size: var(--tam-sm); line-height: 1.5; margin: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.conv-card__fechas {
    display: flex; gap: var(--e3); padding: var(--e2) 0;
    border-top: 1px solid var(--borde); border-bottom: 1px solid var(--borde);
    margin: var(--e2) 0;
}
.conv-card__fechas > div { flex: 1; }
.conv-card__fechas small {
    display: block; color: var(--texto-suave); font-size: 10px;
    text-transform: uppercase; letter-spacing: .06em; margin-bottom: 2px;
}
.conv-card__fechas strong { color: var(--anzorc-verde-oscuro); font-size: var(--tam-sm); }

.conv-card__foot {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: auto; padding-top: var(--e2);
}

/* Badges de estado de convocatoria */
.conv-badge {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 4px 10px; border-radius: var(--radio-full);
    font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.conv-badge--verde    { background: rgba(0,128,55,.14); color: #006429; }
.conv-badge--amarillo { background: var(--anzorc-amarillo); color: var(--anzorc-verde-oscuro); }
.conv-badge--rojo     { background: #fee2e2; color: #991b1b; }
.conv-badge--gris     { background: rgba(100,116,139,.18); color: #475569; }

/* CTA bar del detalle */
.conv-cta {
    background: white;
    border-bottom: 1px solid var(--borde);
    padding: var(--e4) 0;
    position: sticky; top: 0; z-index: 10;
    box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.conv-cta__inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--e3); flex-wrap: nowrap;
}
.conv-cta__estado { flex: 0 1 auto; min-width: 0; }
.conv-cta__acciones { display: flex; gap: 10px; flex-shrink: 0; flex-wrap: nowrap; }
.conv-cta__estado .conv-badge { padding: 6px 14px; font-size: 12px; }

/* Status "chip" en detalle */
.conv-status {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 18px; border-radius: var(--radio-full);
    font-size: 14px; font-weight: 700;
    max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.conv-status i { flex-shrink: 0; font-size: 15px; }
.conv-status--verde    { background: rgba(0,128,55,.14); color: #006429; }
.conv-status--amarillo { background: rgba(237,206,27,.22); color: #8a6d00; }
.conv-status--rojo     { background: #fee2e2; color: #991b1b; }
.conv-status--gris     { background: rgba(100,116,139,.18); color: #475569; }

/* Botones compactos del detalle */
.conv-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 16px; border-radius: 10px;
    text-decoration: none; transition: transform .15s, box-shadow .15s;
    line-height: 1.2; white-space: nowrap;
    font-size: 14px; font-weight: 600;
}
.conv-btn i { font-size: 1.1rem; flex-shrink: 0; }
.conv-btn--primario {
    background: var(--anzorc-verde); color: white;
    box-shadow: 0 6px 16px -6px rgba(0,128,55,.5);
}
.conv-btn--primario:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -8px rgba(0,128,55,.6); }
.conv-btn--secundario {
    background: white; color: var(--anzorc-verde-oscuro);
    border: 2px solid var(--anzorc-verde);
}
.conv-btn--secundario:hover { background: var(--anzorc-verde); color: white; transform: translateY(-2px); }
.conv-btn--primario:hover, .conv-btn--secundario:hover { text-decoration: none; }

@media (max-width: 640px) {
    .conv-cta__inner { flex-direction: column; align-items: stretch; gap: var(--e3); }
    .conv-cta__acciones { flex-direction: column; }
    .conv-btn { justify-content: center; }
    .conv-status { justify-content: center; }
}
