body .lightbox.artwork-viewer {
  display: none;
  gap: 12px;
  width: 100vw;
  height: 100dvh;
  max-width: 100vw;
  max-height: 100dvh;
  margin: 0;
  padding: max(14px, env(safe-area-inset-top)) max(16px, 3vw) max(14px, env(safe-area-inset-bottom));
  color: #fff;
  background: transparent;
  box-sizing: border-box;
  overflow: hidden;
}
/* Outrank the legacy .lightbox.has-artwork-caption[open] two-row layout.
   Controls stay in their own row; transformed images remain clipped to the viewport. */
body .lightbox.artwork-viewer[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto auto;
  gap: 12px;
}
.artwork-viewer-controls { display: flex; justify-content: center; align-items: center; gap: 4px; min-height: 44px; }
.artwork-viewer-control {
  min-width: 44px; min-height: 44px; padding: 0 12px; border: 1px solid rgba(255,255,255,.28);
  color: #f4f3ef; background: rgba(14,14,14,.48); font: 500 11px/1 Arial,sans-serif;
  letter-spacing: .06em; cursor: pointer;
}
.artwork-viewer-control:disabled { opacity: .35; cursor: default; }
.artwork-viewer-control:focus-visible,.artwork-viewer-primary:focus-visible,.artwork-viewer-thumb:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.artwork-viewer-scale { min-width: 52px; text-align: center; font: 500 11px/1 Arial,sans-serif; font-variant-numeric: tabular-nums; }
.artwork-viewer-viewport { position: relative; min-width: 0; min-height: 0; overflow: hidden; display: grid; place-items: center; touch-action: none; overscroll-behavior: contain; cursor: zoom-in; }
.artwork-viewer-viewport.is-zoomed { cursor: grab; }
.artwork-viewer-viewport.is-dragging { cursor: grabbing; }
body .lightbox.artwork-viewer .artwork-viewer-viewport > img {
  position: static; inset: auto; width: auto; height: auto; max-width: none; max-height: none;
  object-fit: fill; transform-origin: center; user-select: none; -webkit-user-drag: none; will-change: transform;
}
.artwork-viewer-gallery { min-width: 0; display: flex; align-items: center; justify-content: center; }
.artwork-viewer-gallery[hidden] { display: none; }
.artwork-viewer-thumbs { display: flex; flex: 0 1 auto; gap: 8px; max-width: min(72vw, 760px); overflow-x: auto; padding: 3px; touch-action: pan-x; overscroll-behavior-x: contain; scrollbar-width: thin; }
.artwork-viewer-thumb { position: relative; flex: 0 0 auto; width: 72px; height: 55px; padding: 0; border: 1px solid rgba(255,255,255,.22); background: #181818; cursor: pointer; overflow: hidden; opacity: .68; }
.artwork-viewer-thumb[aria-pressed="true"] { border-color: #fff; opacity: 1; }
body .lightbox.artwork-viewer .artwork-viewer-thumb img { position: static; inset: auto; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; display: block; transform: none; }
.artwork-viewer-primary-badge { position: absolute; left: 4px; bottom: 3px; color: #fff; font: 600 7px/1 Arial,sans-serif; letter-spacing: .08em; text-shadow: 0 1px 3px rgba(0,0,0,.8); pointer-events: none; }
.artwork-viewer-photo-caption { margin: 0; text-align: center; color: rgba(255,255,255,.72); font: 400 11px/1.45 Arial,sans-serif; }
.artwork-viewer-photo-caption[hidden] { display: none; }
body .lightbox.artwork-viewer .artwork-preview-caption { max-height: 18dvh; }
body .lightbox.artwork-viewer .lightbox-close { z-index: 5; }
@media (max-width: 640px) {
  body .lightbox.artwork-viewer[open] { gap: 8px; }
  body .lightbox.artwork-viewer { gap: 8px; padding-left: 12px; padding-right: 12px; }
  .artwork-viewer-controls { justify-content: flex-start; padding-right: 48px; }
  .artwork-viewer-gallery { justify-content: flex-start; }
  .artwork-viewer-thumbs { max-width: calc(100vw - 112px); }
  .artwork-viewer-thumb { width: 54px; height: 44px; }
  body .lightbox.artwork-viewer .artwork-preview-caption { max-height: 20dvh; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  body .lightbox.artwork-viewer .artwork-viewer-viewport > img { transition: none !important; }
}

.artwork-viewer-status { max-width: 34vw; font: 11px/1.4 Arial,sans-serif; color: #ddd; }
