/* Scoped to product media: commerce and page layout remain unchanged. */
button.vw-gallery-main { padding: 0; border: 0; cursor: zoom-in; color: inherit; }
button.vw-gallery-main:focus-visible { outline: 3px solid #111; outline-offset: 4px; }
.vw-media-dialog { box-sizing: border-box; width: 92vw; max-width: 1600px; height: 92dvh; max-height: 92dvh; padding: 0; border: 0; border-radius: 8px; background: #171717; color: #fff; overflow: hidden; }
.vw-media-dialog::backdrop { background: rgb(0 0 0 / .86); }
.vw-media-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.vw-media-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; }
.vw-media-dialog button { min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid #777; border-radius: 4px; background: #252525; color: #fff; cursor: pointer; font: inherit; line-height: 1.2; }
.vw-media-dialog button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.vw-media-dialog button[hidden] { display: none; }
.vw-media-stage { min-width: 0; min-height: 0; position: relative; overflow: auto; overscroll-behavior: contain; touch-action: pan-y pinch-zoom; display: grid; place-items: center; }
.vw-media-dialog .vw-media-stage img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; user-select: none; }
.vw-media-stage.is-zoomed { display: block; cursor: grab; touch-action: pan-x pan-y pinch-zoom; }
.vw-media-stage.is-zoomed img { width: 200%; height: 200%; max-width: none; max-height: none; object-fit: contain; }
.vw-media-status { font-size: 13px; margin: 0; padding: 0 12px 8px; min-height: 26px; text-align: center; }
@media (max-width: 600px) {
 .vw-media-dialog { width: calc(100vw - 16px); max-width: none; height: 94dvh; max-height: 94dvh; }
 .vw-media-toolbar { padding: 6px; gap: 4px; }
 .vw-media-dialog button { padding: 8px; font-size: 14px; }
}
