/* Isolated lightbox layout and motion; shared SVG icons come from icons.css. */
.studio-lightbox { overflow:hidden; padding:calc(72px + env(safe-area-inset-top,0px)) clamp(12px,3vw,44px) 22px; background:rgba(20,20,17,.98); }
.studio-lightbox[open] { gap:18px; }
.studio-lightbox figure { gap:16px; }
.studio-lightbox [hidden] { display:none !important; }
.studio-lightbox-stage { position:relative; isolation:isolate; flex:1 1 auto; min-height:0; width:100%; overflow:hidden; border-radius:4px; touch-action:pan-y pinch-zoom; }
.studio-lightbox-stage.is-swipeable { cursor:grab; }
.studio-lightbox-stage.is-pointer-dragging { cursor:grabbing; }
.studio-lightbox-frame { position:absolute; inset:0; overflow:hidden; will-change:transform,opacity; }
.studio-lightbox .studio-lightbox-image { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; flex:none; user-select:none; -webkit-user-drag:none; pointer-events:none; }
.studio-lightbox figcaption { max-width:min(900px,100%); max-height:4.5em; overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y; color:#e1ded5; letter-spacing:.005em; }
.studio-lightbox-status { position:absolute; z-index:3; top:50%; left:50%; transform:translate(-50%,-50%); width:max-content; max-width:calc(100% - 36px); box-sizing:border-box; display:grid; justify-items:center; gap:16px; padding:20px 26px; border:1px solid #ffffff26; border-radius:14px; background:#202019eb; color:#f4f0e8; text-align:center; font-size:15px; line-height:1.5; cursor:default; }
.studio-lightbox-status button { padding:10px 16px; color:inherit; border:1px solid #ffffff60; border-radius:24px; background:transparent; cursor:pointer; }
.studio-lightbox-close { display:grid; place-items:center; width:46px; height:46px; min-height:46px; top:calc(14px + env(safe-area-inset-top,0px)); right:max(14px,env(safe-area-inset-right,0px)); padding:0; border:1px solid #ffffff48; border-radius:50%; background:#ffffff08; cursor:pointer; }
.studio-lightbox-controls { gap:22px; }
.studio-lightbox-controls > span { min-width:66px; text-align:center; font-size:14px; font-variant-numeric:tabular-nums; letter-spacing:.07em; color:#c9c5bb; }
.studio-lightbox-controls button { display:grid; place-items:center; width:50px; height:50px; padding:0; border-color:#ffffff48; background:#ffffff08; cursor:pointer; }
.studio-lightbox button { transition:background .2s ease,border-color .2s ease,opacity .2s ease; }
.studio-lightbox button:hover:not(:disabled),.studio-lightbox button:focus-visible { background:#ffffff15; border-color:#ffffffa6; }
.studio-lightbox button:disabled { cursor:default; }
.studio-lightbox .ft-icon { width:22px; height:22px; }
@media(max-width:650px) { .studio-lightbox { padding:calc(68px + env(safe-area-inset-top,0px)) 12px max(18px,env(safe-area-inset-bottom,0px)); } .studio-lightbox[open] { gap:14px; } .studio-lightbox figure { gap:12px; } }
@media(prefers-reduced-motion:reduce) { .studio-lightbox button { transition:none; } .studio-lightbox-frame { will-change:auto; } }
