[data-news-images] .nl-trigger { cursor: zoom-in; }
[data-news-images] .nl-trigger:focus-visible { outline: 3px solid #f4bb64; outline-offset: 4px; }
.news-lightbox { width: min(96vw, 1400px); max-width: 96vw; max-height: 94dvh; padding: 0; border: 1px solid #465267; border-radius: 12px; background: #101622; color: #f1f5f9; box-shadow: 0 20px 90px #0009; overflow: hidden; }
.news-lightbox::backdrop { background: rgba(0,0,0,.85); }
.nl-toolbar { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid #334155; }
.nl-toolbar span { margin-right: auto; }
.nl-toolbar button { border: 1px solid #64748b; border-radius: 7px; padding: 7px 12px; background: #1e293b; color: white; cursor: pointer; white-space: nowrap; }
.nl-toolbar button:focus-visible { outline: 3px solid #f4bb64; }
.nl-stage { max-height: calc(94dvh - 130px); overflow: auto; padding: 12px; text-align: center; overscroll-behavior: contain; }
.nl-image { display: block; width: auto; max-width: 100%; max-height: calc(94dvh - 155px); height: auto; object-fit: contain; margin: 0 auto; }
.nl-full .nl-stage { text-align: left; }
.nl-full .nl-image { max-width: none; max-height: none; margin: 0; }
.nl-caption { margin: 0; padding: 8px 16px 12px; color: #b5c1d1; font-size: 13px; }
@media(max-width:575px) { .nl-toolbar { padding: 10px; gap: 6px; } .nl-toolbar span { font-size: 13px; } .nl-toolbar button { font-size: 13px; padding: 6px 9px; } }
