.noticia { margin: 0 auto; background: var(--color-superficie); border-radius: var(--radio-m); box-shadow: var(--sombra-card); padding: clamp(1.4rem, 4vw, 3rem); border-top: 4px solid var(--acento); }
.noticia-meta { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; font-size: .85rem; color: var(--cv-texto-suave); }
.noticia-meta i { color: var(--acento); vertical-align: -2px; }
.noticia-titulo { margin: .8rem 0 1.4rem; font: 700 clamp(1.8rem, 4.5vw, 2.7rem)/1.15 var(--fuente-titulo); color: var(--cv-azul); }
.noticia-imagen { margin: 0 0 1.8rem; }
.noticia-imagen img { width: 100%; max-height: 30rem; object-fit: cover; border-radius: var(--radio-m); }

/* Cuerpo: conserva las clases de siempre (post-copete, post-texto, post-subtitulo) */
.noticia-cuerpo .post-copete { margin-bottom: 1.6rem; padding-left: 1.1rem; border-left: 4px solid var(--cv-dorado); font-size: 1.15rem; font-weight: 500; line-height: 1.6; color: var(--cv-azul); }
.noticia-cuerpo .post-texto { margin-bottom: 1.1rem; font-size: 1.05rem; line-height: 1.75; }
.noticia-cuerpo .post-subtitulo { margin: 2.2rem 0 1rem; padding-bottom: .5rem; border-bottom: 2px solid var(--borde-suave); font: 700 1.5rem/1.2 var(--fuente-titulo); color: var(--cv-azul); position: relative; }
.noticia-cuerpo .post-subtitulo::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 3.5rem; height: 2px; background: var(--acento); }
.noticia-cuerpo .listBx { margin: 0 0 1.1rem 1.4rem; list-style: disc; line-height: 1.75; }
.noticia-cuerpo a { color: var(--cv-azul-medio); }
.noticia-cuerpo img { max-width: 100%; height: auto; }

/* PDF incrustado */
.noticia-cuerpo .post-pdf { display: block; width: 100%; height: 80vh; min-height: 28rem; margin-bottom: .6rem; border: 1px solid var(--borde-suave); border-radius: var(--radio-s); }

/* Galería */
.container-gallery { margin-top: .5rem; }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: .7rem; }
.gallery a { display: block; overflow: hidden; border-radius: var(--radio-s); aspect-ratio: 4 / 3; background: var(--color-fondo); }
.gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.gallery a:hover img, .gallery a:focus-visible img { transform: scale(1.06); }

/* Visor de imágenes */
.visor { width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(6, 22, 51, .94); }
.visor::backdrop { background: rgba(6, 22, 51, .94); }
.visor[open] { display: grid; place-items: center; }
.visor img { max-width: min(92vw, 70rem); max-height: 86vh; object-fit: contain; border-radius: var(--radio-s); }
.visor button { position: absolute; display: grid; place-items: center; width: 3rem; height: 3rem; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; font-size: 1.8rem; cursor: pointer; transition: var(--transicion); }
.visor button:hover { background: var(--acento); }
.visor-cerrar { top: 1rem; right: 1rem; }
.visor-prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.visor-next { right: 1rem; top: 50%; transform: translateY(-50%); }
.visor-una .visor-nav, .visor-una .visor-cuenta { display: none; }
.visor-cuenta { position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); color: #d7e0f2; font-size: .9rem; }

/* Noticia anterior / siguiente */
.noticia-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--borde-suave); }
.noticia-nav a { display: block; padding: 1rem 1.2rem; border: 1px solid var(--borde-suave); border-radius: var(--radio-m); color: var(--cv-azul); font: 600 .98rem/1.35 var(--fuente-titulo); text-decoration: none; transition: var(--transicion); }
.noticia-nav a:hover { border-color: var(--acento); box-shadow: var(--sombra-card); }
.noticia-nav small { display: block; margin-bottom: .3rem; font: 500 .78rem var(--fuente-principal); letter-spacing: .05em; text-transform: uppercase; color: var(--acento); }
.noticia-nav .siguiente { grid-column: 2; text-align: right; }
.noticia-nav .anterior:only-child { grid-column: 1; }
@media (max-width: 700px) { .noticia-nav { grid-template-columns: 1fr; } .noticia-nav .siguiente { grid-column: 1; text-align: left; } }