/* Explicit enlargement; original frames and crops remain unchanged. */
.ssm-image-enlarge-target { cursor:zoom-in; }
.ssm-enlarge-host { position:relative; }
.ssm-control.ssm-image-enlarge-button { position:absolute; z-index:3; top:.5rem; right:.5rem; display:grid; place-items:center; width:var(--ssm-control-target-size,44px); height:var(--ssm-control-target-size,44px); padding:.5rem; border:1px solid var(--ssm-line); border-radius:50%; background:var(--ssm-paper); color:var(--ssm-ink); cursor:zoom-in; }
.ssm-image-enlarge-button svg,.ssm-image-enlarge-badge svg { width:1.25rem; height:1.25rem; }
.ssm-image-enlarge-badge { position:absolute; z-index:2; top:.5rem; right:.5rem; display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:var(--ssm-paper); color:var(--ssm-ink); pointer-events:none; }
.ssm-control.ssm-image-enlarge-target { cursor:zoom-in; position:relative; }
.ssm-image-enlarge-target:focus-visible { outline:3px solid var(--ssm-deep); outline-offset:3px; }
@media(hover:hover) and (pointer:fine) { .ssm-control.ssm-image-enlarge-button:hover { background:var(--ssm-cream); } }
dialog.ssm-image-lightbox:not([open]) { display:none; }
dialog.ssm-image-lightbox[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; width:min(1200px,calc(100vw - 2rem)); height:min(950px,calc(100dvh - 2rem)); max-width:none; max-height:none; inset:0; margin:auto; padding:1rem; border:1px solid var(--ssm-line); background:var(--ssm-paper); color:var(--ssm-ink); gap:.75rem; }
dialog.ssm-image-lightbox::backdrop { background:rgb(10 25 34 / 88%); }
.ssm-image-lightbox .ssm-lightbox__toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; }
.ssm-image-lightbox .ssm-lightbox__tools { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; }
.ssm-image-lightbox .ssm-lightbox__control { position:static; display:inline-flex; align-items:center; justify-content:center; min-width:var(--ssm-control-target-size,44px); min-height:var(--ssm-control-target-size,44px); width:auto; height:auto; margin:0; padding:.5rem .65rem; border:1px solid var(--ssm-line); background:var(--ssm-paper); color:var(--ssm-ink); font-family:var(--ssm-body-font,Arial,sans-serif); font-size:1rem; line-height:1.2; cursor:pointer; }
.ssm-image-lightbox .ssm-lightbox__stage { min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; display:grid; align-items:start; justify-items:start; background:var(--ssm-cream); }
.ssm-image-lightbox .ssm-lightbox__canvas { margin:auto; max-width:none; }
.ssm-image-lightbox img.ssm-lightbox__image { display:block; width:100%; max-width:none; height:auto; max-height:none; object-fit:contain; margin:0; }
.ssm-image-lightbox .ssm-lightbox__footer { display:grid; gap:.35rem; min-width:0; }
.ssm-image-lightbox .ssm-lightbox__caption { margin:0; max-height:6rem; overflow:auto; text-align:left; font-family:var(--ssm-body-font,Arial,sans-serif); font-size:1rem; line-height:1.4; color:inherit; }
.ssm-image-lightbox .ssm-lightbox__status { margin:0; font-size:1rem; line-height:1.3; }
.ssm-image-lightbox .ssm-lightbox__original { justify-self:start; color:inherit; font-size:1rem; }
.ssm-image-lightbox .ssm-lightbox__composite { margin:0; width:100%; max-width:none; overflow:visible; }
.ssm-image-lightbox .ssm-lightbox__composite .resident-studio-map__artwork { width:100%; margin:0; }
.ssm-image-lightbox .ssm-lightbox__composite img { max-width:100%; height:auto; }
.ssm-image-lightbox .ssm-lightbox__composite .resident-studio-map__legend { margin-bottom:0; }
.ssm-image-lightbox .ssm-control:focus-visible { outline:3px solid var(--ssm-deep); outline-offset:2px; }
.ssm-image-lightbox [hidden] { display:none !important; }
@media(hover:hover) and (pointer:fine) { .ssm-image-lightbox .ssm-lightbox__control:hover:not(:disabled) { background:var(--ssm-cream); } }
@media(max-width:600px) { dialog.ssm-image-lightbox[open] { width:calc(100vw - 1rem); height:calc(100dvh - 1rem); padding:.65rem; gap:.5rem; } .ssm-image-lightbox .ssm-lightbox__caption { max-height:4.2rem; } .ssm-image-enlarge-badge { width:1.75rem; height:1.75rem; } }
@media(prefers-reduced-motion:reduce) { .ssm-image-lightbox * { scroll-behavior:auto; transition:none; animation:none; } }
