/* NORTE GERAIS — Exibição fotográfica editorial sem recorte + lightbox leve */
/* Cartões de chamada: a foto aparece inteira, sem deformação nem corte da informação. */
.ng-feature-thumb,.ng-latest-link img,.ng-card-photo,.cards .media,.archive-row .media{background:#e9eff7}
.ng-feature-thumb img,.ng-latest-card img,.cards .media img,.archive-row .media img,.public-gallery-grid img{object-fit:contain!important;object-position:center;background:#e9eff7;transition:filter .2s ease!important}
.ng-feature-thumb:hover img,.ng-latest-card:hover img{transform:none!important;filter:brightness(.97)}
/* cards de editorias: manter formato regular sem recortar fotos verticais ou cartazes */
.cards .media{border-radius:9px;overflow:hidden;display:grid;place-items:center}
.cards .media img{display:block;width:100%;height:100%;min-height:0;max-height:100%;margin:auto}
/* Imagem principal: preenchimento suave, retrato completo e informação sempre legível */
.ng-hero-image{isolation:isolate;background:#0e2e54;overflow:hidden}
.ng-hero-image .ng-photo-ambient{position:absolute;inset:-18px;z-index:-1;background-size:cover;background-position:center;filter:blur(17px) brightness(.62) saturate(.9);transform:scale(1.065);pointer-events:none}
.ng-hero-image>img{object-fit:contain!important;object-position:center center;transition:none!important;transform:none!important;z-index:0}
.ng-hero-image:hover>img{transform:none!important}
.ng-hero-image::after{z-index:1;background:linear-gradient(to top,rgba(1,15,35,.96) 0%,rgba(2,20,42,.73) 42%,rgba(3,27,52,.05) 90%)!important}
.ng-hero-image .ng-hero-content{z-index:2;max-width:100%;padding:clamp(20px,3vw,30px)}
.ng-hero h2{font-size:clamp(22px,2.6vw,32px);overflow-wrap:anywhere;line-height:1.18}
.ng-hero-image.ng-is-illustration>img{filter:none!important;transform:none!important}
/* Capa da matéria: a foto inteira permanece clicável, com fundo ambiente suave. */
.article-page .article-cover{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;background:#e9eef6;display:flex;flex-direction:column;margin:22px 0 27px}
.article-page .article-cover::before{content:"";position:absolute;inset:-18px -18px 0;z-index:-1;background-image:var(--ng-article-photo,none);background-position:center;background-size:cover;filter:blur(24px) brightness(.78) saturate(.75);pointer-events:none}
.article-page .article-cover>img{cursor:zoom-in;display:block;width:auto!important;max-width:100%!important;height:auto!important;max-height:min(74vh,740px)!important;margin:0 auto;object-fit:contain!important;object-position:center;border-radius:0;aspect-ratio:auto!important}
.article-page .article-cover figcaption{background:rgba(255,255,255,.96);position:relative;width:100%;padding:10px 15px;font-size:12px;line-height:1.45;color:#66778e;margin:0}
.article-page .article-cover figcaption:empty{display:none}
.article-body img,.article-gallery img,.public-gallery-grid img{cursor:zoom-in;object-fit:contain!important}
.article-body img{display:block;max-width:100%;height:auto;max-height:750px;margin:24px auto;border-radius:8px}
.public-gallery-grid>a,.public-gallery-grid figure a{background:#eef3f9}
/* Modal acessível: sem frameworks ou dependências extras */
.ng-image-lightbox[hidden]{display:none!important}.ng-image-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(5,14,29,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:66px 55px 38px;overscroll-behavior:contain}
.ng-lightbox-figure{margin:0;display:flex;min-height:0;max-width:100%;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.ng-lightbox-figure img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 145px);object-fit:contain;border-radius:3px;box-shadow:0 20px 80px #0005}
.ng-lightbox-caption{font:500 13px/1.5 OpenSans,system-ui,sans-serif;color:#e3eaf4;text-align:center;max-width:900px;max-height:4.5em;overflow:hidden}
.ng-lightbox-btn{position:absolute;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff55;border-radius:100%;color:white;background:#ffffff14;cursor:pointer;transition:background .16s}
.ng-lightbox-btn:hover,.ng-lightbox-btn:focus-visible{background:#ffffff35;outline:2px solid #8cc6ff;outline-offset:2px}
.ng-lightbox-btn svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ng-lightbox-close{right:18px;top:16px}.ng-lightbox-prev{left:14px;top:50%;transform:translateY(-50%)}.ng-lightbox-next{right:14px;top:50%;transform:translateY(-50%)}
.ng-lightbox-count{position:absolute;left:18px;top:28px;color:#c9d9ee;font:600 12px OpenSans,system-ui,sans-serif;letter-spacing:.04em}
body.ng-lightbox-open{overflow:hidden}
@media(max-width:660px){.ng-hero-image .ng-hero-content{padding:20px}.ng-hero h2{font-size:clamp(23px,6vw,29px)}.ng-image-lightbox{padding:66px 14px 72px}.ng-lightbox-prev,.ng-lightbox-next{top:auto;bottom:15px;transform:none;width:42px;height:42px}.ng-lightbox-prev{left:calc(50% - 55px)}.ng-lightbox-next{right:calc(50% - 55px)}.ng-lightbox-figure img{max-height:calc(100dvh - 210px)}.article-page .article-cover>img{max-height:min(67vh,620px)!important}}
/* Camadas do fundo desfocado devem ficar visíveis atrás das fotos. */
.ng-hero-image .ng-photo-ambient{z-index:0}.ng-hero-image>img{z-index:1}.ng-hero-image::after{z-index:2}.ng-hero-image .ng-hero-content{z-index:3}
.article-page .article-cover::before{z-index:0}.article-page .article-cover>img{position:relative;z-index:1}.article-page .article-cover figcaption{z-index:2}
