.detail-photo-trigger{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;align-self:stretch;border:0;background:transparent;padding:0;cursor:zoom-in;color:var(--forest)}
.detail-art:has(.detail-photo-trigger){padding:0;overflow:hidden}
.detail-photo-trigger .photo-open-hint{position:absolute;right:16px;bottom:16px;padding:9px 13px;border:1px solid #dce4d5;border-radius:30px;background:#fcfcf8ed;font-size:12px;box-shadow:0 2px 12px #153c3010}
.detail-photo-trigger:focus-visible{outline:3px solid #718d42;outline-offset:-4px}
.photo-viewer{width:min(1280px,96vw);height:94dvh;max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #405e50;border-radius:18px;background:#112c23;color:#f7f8f0;box-shadow:0 24px 100px #0007;overflow:hidden}
.photo-viewer[open]{display:flex;flex-direction:column}.photo-viewer::backdrop{background:#07170fdb;backdrop-filter:blur(6px)}
.photo-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;flex-shrink:0;border-bottom:1px solid #ffffff18}.photo-header>div{min-width:0}.photo-header span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#b7c9a8}.photo-header h2{font-size:16px;margin:5px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:inherit}
.photo-viewer button{border:1px solid #ffffff25;border-radius:9px;background:#ffffff0b;color:inherit;min-width:44px;min-height:44px;padding:7px 12px;font:inherit;cursor:pointer}.photo-viewer button:hover{background:#ffffff1c}.photo-viewer button:focus-visible{outline:3px solid #d3f591;outline-offset:2px}.photo-viewer button:disabled{opacity:.35;cursor:default}.photo-header button{font-size:28px;flex-shrink:0}
.photo-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden;touch-action:none;user-select:none;background:#0a2019}.photo-stage>img{flex-shrink:0;max-width:none;max-height:none;object-fit:contain;transform-origin:center;pointer-events:none}.photo-stage.zoomed{cursor:grab}.photo-stage.zoomed:active{cursor:grabbing}.photo-status{position:absolute;padding:20px;color:#e8efdf;text-align:center}
.photo-footer{flex-shrink:0;padding:10px 20px 12px;border-top:1px solid #ffffff18}.photo-tools{display:flex;align-items:center;justify-content:center;gap:8px}.photo-count,.photo-scale{min-width:58px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.photo-divider{height:20px;border-left:1px solid #ffffff25;margin:0 5px}.photo-thumbnails{display:flex;gap:8px;justify-content:center;overflow-x:auto;padding:10px 3px 3px}.photo-thumbnails button{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:11px;padding:4px 9px 4px 4px}.photo-thumbnails img{width:36px;height:36px;object-fit:contain;border-radius:4px}.photo-thumbnails button[aria-pressed=true]{border-color:#d3f591;background:#d3f59122}.photo-footer>p{font-size:11px;text-align:center;color:#bccbb6;margin:8px 0 0}
@media(max-width:600px){.photo-viewer{width:100vw;height:100dvh;border:0;border-radius:0}.photo-header{padding:max(10px,env(safe-area-inset-top)) 14px 10px;gap:10px}.photo-header h2{font-size:13px}.photo-header span{font-size:9px}.photo-footer{padding:10px 10px max(12px,env(safe-area-inset-bottom))}.photo-tools{gap:3px}.photo-count,.photo-scale{min-width:43px}.photo-viewer button{padding:6px 8px}.photo-thumbnails{justify-content:flex-start}.photo-footer>p{font-size:10px;line-height:1.5}.detail-photo-trigger .photo-open-hint{font-size:11px;right:12px;bottom:12px}}
/* Isolate the viewer chrome from the storefront's global header/footer styles. */
.photo-viewer .photo-header{position:static;background:#112c23;color:#f7f8f0;width:auto;height:auto;margin:0;box-shadow:none;backdrop-filter:none}
.photo-viewer .photo-footer{display:block;background:#112c23;color:#f7f8f0;margin:0;width:auto}
.photo-viewer .photo-footer>p{max-width:none;color:#bccbb6}
