/* Shared image lightbox (lightbox.js): channel journal and regular articles. */
.s920-lightbox { position:fixed; inset:0; width:100vw; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; padding:0; color:#eef4ef; background:rgba(10,20,16,.96); border:0; overflow:hidden; }
/* Modal: the dimmed, blurred page is the ::backdrop layer; the dialog itself stays transparent. */
.s920-lightbox:modal { background:transparent; }
.s920-lightbox::backdrop { background:rgba(10,20,16,.9); -webkit-backdrop-filter:blur(12px) saturate(.8); backdrop-filter:blur(12px) saturate(.8); }
.s920-lightbox[open] { display:flex; flex-direction:column; animation:s920-lightbox-in .18s ease-out; }
@keyframes s920-lightbox-in { from { opacity:0; } to { opacity:1; } }
.s920-lightbox-stage { position:relative; flex:1; display:flex; align-items:center; justify-content:center; min-height:0; overflow:hidden; touch-action:pan-y pinch-zoom; }
.s920-lightbox-stage img { display:block; max-width:min(94vw,1600px); max-height:calc(100dvh - 120px); margin:auto; object-fit:contain; border-radius:6px; box-shadow:0 18px 60px #0008; cursor:zoom-in; user-select:none; -webkit-user-drag:none; transition:opacity .15s; }
.s920-lightbox.is-loading .s920-lightbox-stage img { opacity:.35; }
.s920-lightbox.is-actual .s920-lightbox-stage { display:block; overflow:auto; touch-action:auto; }
.s920-lightbox.is-actual .s920-lightbox-stage img { max-width:none; max-height:none; margin:0 auto; border-radius:0; box-shadow:none; cursor:zoom-out; }
.s920-lightbox-bar { display:flex; align-items:center; justify-content:center; gap:14px; min-height:56px; padding:8px 16px calc(8px + env(safe-area-inset-bottom)); font-size:12px; color:#c6d4cb; }
.s920-lightbox button { display:inline-grid; place-items:center; margin:0; padding:0; font:inherit; color:#f2f7f3; background:rgba(12,24,19,.62); border:1px solid #ffffff38; border-radius:999px; box-shadow:0 2px 10px #0006; cursor:pointer; transition:background .15s; }
.s920-lightbox button:hover { background:rgba(12,24,19,.85); }
.s920-lightbox button:focus-visible { outline:2px solid #8fd1b9; outline-offset:2px; }
.s920-lightbox-close { position:absolute; top:calc(12px + env(safe-area-inset-top)); right:14px; z-index:2; width:40px; height:40px; font-size:20px !important; }
.s920-lightbox-prev,.s920-lightbox-next { position:absolute; top:50%; z-index:2; width:44px; height:44px; margin-top:-22px; font-size:20px !important; }
.s920-lightbox-prev { left:14px; } .s920-lightbox-next { right:14px; }
.s920-lightbox-actual { height:32px; padding:0 14px !important; font-size:12px !important; }
.s920-lightbox [hidden] { display:none !important; }
html.s920-lightbox-lock,html.s920-lightbox-lock body { overflow:hidden; }
@media(max-width:760px) { .s920-lightbox-prev,.s920-lightbox-next { display:none !important; } .s920-lightbox-stage img { max-width:100vw; border-radius:0; } }
@media(prefers-reduced-motion:reduce) { .s920-lightbox[open] { animation:none; } }
.s920-lightbox button svg { display:block; width:20px; height:20px; }
.s920-lightbox-close svg { width:18px; height:18px; }
/* Article images that open in the lightbox. */
[data-prose] img[data-zoom] { cursor:zoom-in; }
[data-prose] img[data-zoom]:focus-visible { outline:3px solid #67b8ab; outline-offset:3px; }
