/* Multimedia editorial de noticias: fotos en carrusel y videos insertados en el texto. */
.article-modal-body figure.article-media-figure {
    margin: 1.5rem 0 1.8rem;
    max-width: 100%;
    overflow: hidden;
}
.article-modal-body figure.article-media-figure img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 760px;
    object-fit: contain;
    background: #111;
}
.article-modal-body figure.article-media-figure video,
.article-modal-body video.article-inline-video {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    background: #111;
}
.article-modal-body figure.article-media-figure figcaption {
    padding: .55rem 0 0;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.4;
}
.article-modal-body figure.article-media-figure figcaption span {
    display: block;
    margin-top: .2rem;
    color: var(--grey);
    font: 500 .62rem var(--font-mono, 'JetBrains Mono', monospace);
    text-transform: uppercase;
}
.article-photo-carousel {
    position: relative;
    margin: 1.5rem 0 1.8rem;
    max-width: 100%;
}
.article-photo-carousel-viewport {
    overflow: hidden;
    background: #111;
}
.article-photo-carousel .article-photo-slide {
    margin: 0;
    background: #111;
}
.article-photo-carousel .article-photo-slide img {
    max-height: 760px;
}
.article-photo-carousel-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    padding: .55rem 0 0;
}
.article-photo-carousel-controls button {
    width: 34px;
    height: 34px;
    border: 1px solid var(--line, rgba(17,18,20,.15));
    border-radius: 50%;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 1.35rem;
    line-height: 1;
}
.article-photo-carousel-counter {
    min-width: 58px;
    text-align: center;
    color: var(--grey);
    font: .62rem var(--font-mono, 'JetBrains Mono', monospace);
}
.article-photo-carousel-dots {
    display: flex;
    justify-content: center;
    gap: .35rem;
    padding-top: .45rem;
}
.article-photo-carousel-dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #bbb;
    cursor: pointer;
}
.article-photo-carousel-dot.active {
    background: var(--sash, var(--red, #e21d2b));
}
@media (max-width: 620px) {
    .article-modal-body figure.article-media-figure,
    .article-photo-carousel {
        margin: 1.25rem 0 1.5rem;
    }
    .article-modal-body figure.article-media-figure img,
    .article-photo-carousel .article-photo-slide img {
        max-height: none;
    }
}
/* V38: multimedia dentro de la noticia respeta siempre el ancho disponible y su proporción natural. */
.article-modal-body img,
.article-modal-body video {
    max-width:100%;
    width:auto;
    height:auto;
    box-sizing:border-box;
}
.article-modal-body figure.article-media-figure {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}
.article-modal-body figure.article-media-figure img,
.article-modal-body figure.article-media-figure video,
.article-modal-body video.article-inline-video {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    object-fit:contain;
}
.article-modal-body .article-inline-image {
    display:block;
    max-width:100%;
    width:auto;
    height:auto;
}


/* Fotos de biblioteca: se distribuyen en el cuerpo sin recortes ni desbordes. */
.article-modal-body figure.article-library-photo {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 1.35rem 0 1.6rem;
    overflow: hidden;
    box-sizing: border-box;
}
.article-modal-body figure.article-library-photo img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 760px;
    object-fit: contain;
    object-position: center;
    background: transparent;
}
.article-modal-body figure.article-library-photo figcaption {
    padding-top: .55rem;
    font-size: .8rem;
    line-height: 1.45;
}
.article-modal-body figure.article-library-photo figcaption span {
    display: block;
    margin-top: .2rem;
    color: var(--grey);
    font: 500 .62rem var(--font-mono, 'JetBrains Mono', monospace);
    text-transform: uppercase;
}
@media (max-width: 620px) {
    .article-modal-body figure.article-library-photo { margin: 1rem 0 1.25rem; }
    .article-modal-body figure.article-library-photo img { max-height: none; }
}
