/* GT R110 · unified editorial lightbox. Independent module; no site-wide restyling. */
dialog.gt-photo-lightbox{position:fixed;inset:0;box-sizing:border-box;margin:auto;padding:0;width:min(100vw,1650px);height:100dvh;max-width:100vw;max-height:100dvh;border:0;border-radius:0;color:#f4f7f9;background:#0d1d27;box-shadow:0 22px 80px #0008;overflow:hidden;overscroll-behavior:contain}
dialog.gt-photo-lightbox::backdrop{background:rgba(2,12,19,.88)}
.gt-photo-lightbox .gt-photo-lightbox__panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;box-sizing:border-box;height:100%;min-height:0}
.gt-photo-lightbox__header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px clamp(16px,3vw,48px);border-bottom:1px solid #334750;background:#0d1d27;min-height:70px;box-sizing:border-box}
.gt-photo-lightbox__brand{display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:#b4c9d2;font-size:11px;letter-spacing:.12em;font-weight:700;line-height:1.5}
.gt-photo-lightbox__brand>span:first-child{color:#fff}
.gt-photo-lightbox button{appearance:none;border-radius:0;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background-color .16s,color .16s}
.gt-photo-lightbox__close{border:1px solid #597383!important;display:inline-flex;align-items:center;gap:22px;min-height:42px;padding:7px 15px!important;font-size:13px!important;font-weight:600!important}
.gt-photo-lightbox__close span{font-size:24px;line-height:1}
.gt-photo-lightbox__stage{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;min-height:0;overflow:hidden;background:#111922;padding:clamp(14px,2vw,28px)}
.gt-photo-lightbox__stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 12px 35px #0003}
.gt-photo-lightbox__error{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#fff;background:#111922;font-size:14px}
.gt-photo-lightbox__error[hidden]{display:none}
.gt-photo-lightbox__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;position:relative;gap:12px 32px;align-items:center;min-height:102px;padding:18px clamp(16px,3vw,48px) 22px;background:#0d1d27;border-top:1px solid #334750;box-sizing:border-box}
.gt-photo-lightbox__info{min-width:0}
.gt-photo-lightbox__eyebrow{display:block;margin-bottom:8px;color:#8da7b7;font-size:10px;font-weight:700;letter-spacing:.14em}
.gt-photo-lightbox__caption{margin:0;color:#f4f7f9;font-size:clamp(13px,1.2vw,16px);line-height:1.5;font-weight:500;text-wrap:pretty}
.gt-photo-lightbox__count{display:block;margin-top:8px;color:#96b0be;font-size:11px;font-variant-numeric:tabular-nums}
.gt-photo-lightbox__actions{display:flex;align-items:center;gap:8px}
.gt-photo-lightbox__actions button{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;border:1px solid #597383!important;font-size:24px}
.gt-photo-lightbox__actions button[data-gt-photo-share]{min-width:auto;font-size:12px;font-weight:600;padding:0 14px}
.gt-photo-lightbox__feedback{position:absolute;bottom:4px;right:clamp(16px,3vw,48px);color:#a8d3e6;font-size:11px}
.gt-photo-lightbox button:focus-visible{outline:3px solid #a6def8;outline-offset:3px}
@media (hover:hover){.gt-photo-lightbox button:hover{background:#294756}}
@media (max-width:620px){.gt-photo-lightbox__header{min-height:58px;padding:10px 16px}.gt-photo-lightbox__brand{font-size:10px;gap:7px;letter-spacing:.07em}.gt-photo-lightbox__close{min-height:40px!important;padding:6px 10px!important;gap:9px;font-size:12px!important}.gt-photo-lightbox__stage{padding:10px}.gt-photo-lightbox__footer{grid-template-columns:1fr;padding:12px 16px 20px;gap:14px}.gt-photo-lightbox__info{min-height:50px}.gt-photo-lightbox__eyebrow{margin-bottom:4px}.gt-photo-lightbox__count{margin-top:4px}.gt-photo-lightbox__actions{justify-content:space-between}.gt-photo-lightbox__actions button[data-gt-photo-share]{margin-right:auto}.gt-photo-lightbox__feedback{bottom:4px;left:16px;right:auto}}
@media (prefers-reduced-motion:reduce){.gt-photo-lightbox button{transition:none}}
@media (forced-colors:active){dialog.gt-photo-lightbox{border:1px solid CanvasText}.gt-photo-lightbox button{border:1px solid ButtonText!important}}
