/* Isolated original-product-photo viewer. No certificate or general dialog selectors. */
.cm-photo-viewer{--photo-gold:var(--gold,#d2b56b);color:#f3f1ea;background:#10100f;border:1px solid #cfb56d52;border-radius:16px;padding:0;width:min(1180px,calc(100vw - 48px));max-width:none;height:min(900px,calc(100dvh - 48px));max-height:none;box-shadow:0 24px 100px #000b;overflow:hidden}
.cm-photo-viewer::backdrop{background:#050504e8;backdrop-filter:blur(7px)}
.cm-photo-viewer:not([open]){display:none}
.cm-photo-viewer .cm-photo-shell{height:100%;display:grid;grid-template-rows:auto minmax(100px,1fr) auto}
.cm-photo-viewer .cm-photo-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:18px 24px;border-bottom:1px solid #ffffff19;background:#151513}
.cm-photo-viewer .cm-photo-eyebrow{display:block;color:var(--photo-gold);font:500 10px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.15em;margin-bottom:5px}
.cm-photo-viewer h2{font:500 clamp(1rem,1.7vw,1.25rem)/1.4 'DM Sans',Arial,sans-serif;letter-spacing:0;color:#f3f1ea;text-transform:none;margin:0;overflow-wrap:anywhere}
.cm-photo-viewer .cm-photo-count{font:400 .8rem/1.5 'DM Sans',Arial,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums;color:#bdbbb2}
.cm-photo-viewer button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:auto;height:auto;padding:10px;border:1px solid #ffffff28;border-radius:8px;background:#ffffff04;color:#ebe8de;font:500 .85rem/1 'DM Sans',Arial,sans-serif;cursor:pointer;box-shadow:none;text-decoration:none;transition:background .15s,border-color .15s}
.cm-photo-viewer button:hover:not(:disabled){background:#d2b56b16;border-color:#d2b56b88;color:var(--photo-gold)}
.cm-photo-viewer button:disabled{opacity:.35;cursor:default}
.cm-photo-viewer button:focus-visible,.cm-photo-viewer a:focus-visible,.cm-photo-viewer .cm-photo-stage:focus-visible{outline:2px solid var(--photo-gold);outline-offset:3px}
.cm-photo-viewer svg{width:20px;height:20px;display:block;pointer-events:none}
.cm-photo-viewer .cm-photo-close{border-color:transparent;background:transparent}
.cm-photo-viewer .cm-photo-stage{position:relative;min-width:0;min-height:0;overflow:hidden;touch-action:none;user-select:none;background:radial-gradient(ellipse at center,#24231e 0%,#111110 70%);cursor:zoom-in;isolation:isolate}
.cm-photo-viewer .cm-photo-stage.is-zoomed{cursor:grab}
.cm-photo-viewer .cm-photo-stage.is-dragging{cursor:grabbing}
.cm-photo-viewer .cm-photo-image{position:absolute;left:50%;top:50%;display:block;max-width:none;max-height:none;object-fit:contain;margin:0;padding:0;border:0;border-radius:0;transform-origin:center;pointer-events:none;user-select:none;-webkit-user-drag:none;will-change:transform}
.cm-photo-viewer .cm-photo-image[hidden]{display:none}
.cm-photo-viewer .cm-photo-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:28px;text-align:center;font:400 1rem/1.6 'DM Sans',Arial,sans-serif;color:#d2cfc3;pointer-events:none}
.cm-photo-viewer .cm-photo-status:empty{display:none}
.cm-photo-viewer .cm-photo-bottom{border-top:1px solid #ffffff19;background:#151513;padding:14px 24px 12px}
.cm-photo-viewer .cm-photo-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cm-photo-viewer .cm-photo-pages,.cm-photo-viewer .cm-photo-zoom{display:flex;align-items:center;gap:6px}
.cm-photo-viewer [hidden]{display:none!important}
.cm-photo-viewer output{font:500 .8rem/1.5 'DM Sans',Arial,sans-serif;font-variant-numeric:tabular-nums;text-align:center;min-width:46px;color:#d8d5cb}
.cm-photo-viewer .cm-photo-original{color:var(--photo-gold);font:400 .8rem/1.5 'DM Sans',Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;border:0;background:none;border-radius:0;padding:10px 0;min-height:44px;display:inline-flex;align-items:center}
.cm-photo-viewer .cm-photo-help{font:400 .75rem/1.5 'DM Sans',Arial,sans-serif;text-align:center;color:#aaa89e;margin:10px 0 0}
.cm-photo-viewer .cm-photo-thumbs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px;max-height:124px;overflow:auto;padding:4px}
.cm-photo-viewer .cm-photo-thumbs button{width:50px;height:50px;min-height:50px;min-width:50px;padding:3px;border-radius:6px;background:#1d1d1a}
.cm-photo-viewer .cm-photo-thumbs button[aria-pressed=true]{border-color:var(--photo-gold);background:#d2b56b12}
.cm-photo-viewer .cm-photo-thumbs img{display:block;width:100%;height:100%;object-fit:contain;border:0;border-radius:2px;margin:0}
.product-gallery #full-product-photo[data-photo-viewer-ready]{cursor:zoom-in}
@media(max-width:600px){
 .cm-photo-viewer{width:100%;height:100dvh;border:0;border-radius:0;margin:0;top:0;left:0}
 .cm-photo-viewer .cm-photo-heading{gap:8px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px}
 .cm-photo-viewer h2{font-size:1rem;line-height:1.35}
 .cm-photo-viewer .cm-photo-count{align-self:start;padding-top:27px;font-size:.75rem}
 .cm-photo-viewer .cm-photo-close{align-self:start;margin-top:12px}
 .cm-photo-viewer .cm-photo-bottom{padding:12px 14px calc(10px + env(safe-area-inset-bottom))}
 .cm-photo-viewer .cm-photo-controls{gap:10px;justify-content:center}
 .cm-photo-viewer .cm-photo-original{margin-left:auto}
 .cm-photo-viewer .cm-photo-pages{margin-right:auto}
 .cm-photo-viewer .cm-photo-help{font-size:.7rem;line-height:1.5}
 .cm-photo-viewer .cm-photo-thumbs{max-height:62px;margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.cm-photo-viewer button{transition:none}}
/* Short windows / landscape phones: keep the title and close control anchored,
   and let the controls pane scroll rather than clipping its last rows. */
@media(max-height:500px){
 .cm-photo-viewer{height:100dvh;width:100%;max-height:100dvh;margin:0;inset:0;border-radius:0;box-sizing:border-box}
 .cm-photo-viewer .cm-photo-shell{grid-template-rows:auto minmax(0,1fr) minmax(0,auto)}
 .cm-photo-viewer .cm-photo-heading{padding:calc(8px + env(safe-area-inset-top)) 14px 8px;gap:12px}
 .cm-photo-viewer h2{font-size:1rem;line-height:1.35}
 .cm-photo-viewer .cm-photo-close{margin-top:0;align-self:start}
 .cm-photo-viewer .cm-photo-count{padding-top:0;align-self:center}
 .cm-photo-viewer .cm-photo-bottom{min-height:0;max-height:40dvh;overflow-y:auto;overscroll-behavior:contain;padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-sizing:border-box}
 .cm-photo-viewer .cm-photo-thumbs{max-height:62px;margin-top:8px}
 .cm-photo-viewer .cm-photo-help{margin-top:8px}
}
@media(max-height:500px) and (min-width:601px){
 .cm-photo-viewer .cm-photo-shell{grid-template-columns:minmax(0,1fr) 240px;grid-template-rows:auto minmax(0,1fr)}
 .cm-photo-viewer .cm-photo-heading{grid-column:1/-1}
 .cm-photo-viewer .cm-photo-stage{grid-column:1;grid-row:2}
 .cm-photo-viewer .cm-photo-bottom{grid-column:2;grid-row:2;max-height:none;border-top:0;border-left:1px solid #ffffff19;padding-right:max(14px,env(safe-area-inset-right))}
 .cm-photo-viewer .cm-photo-controls{flex-direction:column;gap:8px;justify-content:flex-start}
 .cm-photo-viewer .cm-photo-pages,.cm-photo-viewer .cm-photo-original{margin:0}
}
