/* Independent top-layer viewer; existing card and store-dialog styles stay intact. */
.image-lightbox{position:fixed;inset:0;margin:0;border:0;border-radius:0;padding:16px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));padding-top:max(16px,env(safe-area-inset-top));width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;overflow:hidden;background:transparent;color:#fff4fa;overscroll-behavior:none}
.image-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
.image-lightbox::backdrop{background:rgba(25,14,29,.92);backdrop-filter:blur(5px)}
.lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.lightbox-header p{margin:0;font-size:14px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.lightbox-control{flex:none;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #efc6da;border-radius:50%;background:#fff5fa;color:#9e2865;font:500 32px/1 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 3px 18px #0003;touch-action:manipulation}
.lightbox-control:hover{background:#ffdeed;color:#81204f}
.lightbox-control:focus-visible{outline:3px solid #ffafd4;outline-offset:4px}
.lightbox-stage{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:0 52px;touch-action:pinch-zoom;user-select:none;-webkit-user-select:none}
.lightbox-image{display:block;position:relative;flex:none;width:auto;height:auto;max-width:none;max-height:none;min-width:0;min-height:0;object-fit:contain;box-shadow:0 8px 40px #0004}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%)}
.lightbox-prev{left:max(16px,env(safe-area-inset-left))}
.lightbox-next{right:max(16px,env(safe-area-inset-right))}
.lightbox-control[hidden]{display:none}
.lightbox-footer{text-align:center;pointer-events:none}
.lightbox-stage{overflow:hidden}
.lightbox-stage.is-zoomed .lightbox-image{cursor:grab}
.lightbox-stage.is-panning .lightbox-image{cursor:grabbing}
.lightbox-zoom{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:8px;pointer-events:auto}
.lightbox-zoom .lightbox-control{width:40px;height:40px;font-size:25px}
.lightbox-zoom .lightbox-zoom-reset{width:72px;border-radius:20px;font-size:13px;font-weight:700}
.lightbox-control:disabled{opacity:.4;cursor:default}
@media(pointer:coarse){.lightbox-zoom{display:none}}
.lightbox-counter{display:block;font:700 14px/1.4 'DM Sans',sans-serif}
.lightbox-footer p{margin:4px 0 0;font-size:11px;line-height:1.5;color:#e7cbdc}
html[data-theme="dark"] .image-lightbox::backdrop{background:rgba(7,4,12,.95)}
html[data-theme="dark"] .lightbox-control{background:#3c2d43;border-color:#966d8b;color:#ffd6e9}
html[data-theme="dark"] .lightbox-control:hover{background:#59405e}
@media(max-width:600px){
  .image-lightbox{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
  .image-lightbox[open]{gap:8px}
  .lightbox-header{padding:0 4px;gap:8px}
  .lightbox-header p{font-size:12px}
  .lightbox-stage{padding:0}
  .lightbox-prev{left:max(8px,env(safe-area-inset-left))}
  .lightbox-next{right:max(8px,env(safe-area-inset-right))}
  .lightbox-prev,.lightbox-next{background:rgba(255,245,250,.9)}
}
