.product-card .product-media { position: relative; }
.product-card .photo-zoom-trigger { position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;padding:0;background:transparent;border-radius:0;cursor:zoom-in;box-shadow:none; }
/* Keep the transparent photo hit area clear of the site's generic button hover fill. */
.product-card .photo-zoom-trigger:is(:hover,:focus,:active) { background:transparent;box-shadow:none; }
.photo-zoom-trigger span { position:absolute;bottom:10px;right:10px;padding:7px 10px;border:1px solid #6d123f24;border-radius:20px;background:#fffffff2;color:#6d123f;font-size:12px;font-weight:600; }
.photo-zoom-trigger:focus-visible { outline:3px solid #6d123f;outline-offset:-4px; }
html.photo-view-open,html.photo-view-open body { overflow:hidden; }
.photo-viewer:not([open]) { display:none; }
.photo-viewer[open] { display:flex;flex-direction:column;gap:12px;width:min(900px,calc(100vw - 32px));height:min(860px,calc(100dvh - 32px));max-width:none;max-height:none;margin:auto;padding:20px;border:1px solid #e8dce1;border-radius:20px;background:#fffaf6;color:#301323;box-sizing:border-box;overflow:hidden; }
.photo-viewer::backdrop { background:#23151dcc; }
.photo-viewer-head { display:flex;align-items:center;gap:12px;flex-shrink:0; }
.photo-viewer-head h2 { font-size:23px;line-height:1.2;margin:0;flex:1; }
.photo-viewer-close,.photo-viewer-thumbs button { border:1px solid #e8dce1;background:#fff;color:#6d123f;cursor:pointer; }
.photo-viewer-close { width:44px;height:44px;flex:0 0 44px;border-radius:50%;font-size:28px;padding:0; }
/* Keep intrinsic image dimensions out of flex/grid sizing, including Safari. */
.photo-viewer-stage { position:relative;flex:1 1 0;min-width:0;min-height:0;overflow:hidden;background:#fff;border-radius:12px;touch-action:none;cursor:zoom-in; }
.photo-viewer-stage img { position:absolute;inset:0;display:block;max-width:none;max-height:none;width:100%;height:100%;object-fit:contain;transform-origin:center;user-select:none;-webkit-user-select:none; }
.photo-viewer-stage.is-zoomed { cursor:zoom-out; }
.photo-viewer-stage:focus-visible { outline:2px solid #6d123f;outline-offset:2px; }
.photo-viewer-tools { display:flex;gap:10px;align-items:center;flex-shrink:0; }
.photo-viewer-tools p { flex:1;margin:0;font-size:13px;line-height:1.4; }
.photo-viewer-thumbs { display:flex;gap:10px;justify-content:center;flex-shrink:0; }
.photo-viewer-thumbs button { width:56px;height:56px;border-radius:10px;padding:3px; }
.photo-viewer-thumbs img { display:block;width:100%;height:100%;object-fit:contain;border-radius:6px; }
.photo-viewer-thumbs button[aria-pressed=true] { border:2px solid #6d123f;padding:2px; }
.photo-viewer button:focus-visible { outline:3px solid #6d123f;outline-offset:2px; }
@media(max-width:760px) { .photo-viewer[open] { width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:12px;gap:10px;border-radius:16px; }.photo-viewer-head h2 { font-size:20px; }.photo-viewer-tools p { font-size:12px; } }
@media(max-height:480px) { .photo-viewer[open] { gap:6px;padding:8px; }.photo-viewer-thumbs button { width:44px;height:44px; }.photo-viewer-head h2 { font-size:18px; } }
/* The photograph itself opens the viewer; no visible zoom label. */
.product-card .photo-counter{right:8px;top:8px;padding:2px 6px;border-color:#6d123f14;border-radius:10px;font-size:10px;line-height:14px;font-weight:500;background:#fffffff0}
