.photo-frame{position:relative;min-width:0}.photo-frame .product-photo{width:100%;background:#fff}.photo-frame .product-photo img{object-fit:contain;transition:transform .22s ease}.photo-frame:hover .product-photo img{transform:scale(1.035)}.photo-zoom{position:absolute;right:9px;bottom:9px;min-height:44px;border:1px solid #ccdbe7;background:rgba(255,255,255,.96);color:var(--navy);padding:9px 12px;border-radius:9px;font:inherit;font-size:.75rem;font-weight:700;cursor:pointer;box-shadow:0 3px 12px #06166610}.photo-zoom[hidden]{display:none}.photo-zoom:hover{background:#e8f5ff}.photo-viewer{width:min(820px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;margin:auto;border:1px solid #d6e6f2;border-radius:20px;color:var(--navy);box-shadow:0 30px 100px #06166638;background:white}.photo-viewer::backdrop{background:#07113dbf;backdrop-filter:blur(4px)}.photo-viewer-content{position:relative;padding:48px 24px 24px;text-align:center}.photo-viewer h2{font-size:clamp(1.1rem,3vw,1.5rem);line-height:1.4;letter-spacing:-.02em;margin:5px auto 20px;max-width:650px}.photo-viewer-image{width:100%;height:min(55dvh,540px);object-fit:contain;background:white}.photo-viewer-close{position:absolute;right:10px;top:10px;width:44px;height:44px;font-size:26px;line-height:1;border:0;border-radius:50%;color:var(--navy);background:#edf5fc;cursor:pointer}.photo-viewer-caption{font-size:.8125rem;line-height:1.65;color:#53667a;margin:18px auto;max-width:620px}.photo-viewer .button{font-size:.9375rem}.listing-heading>.photo-frame{width:100%}.photo-zoom:focus-visible,.photo-viewer-close:focus-visible{outline:3px solid #1780c8;outline-offset:3px}
@media(max-width:570px){.photo-viewer-content{padding:48px 16px 20px}.photo-viewer-image{height:46dvh}.photo-viewer .button{width:100%}.photo-zoom{font-size:.6875rem;padding:8px;right:6px;bottom:6px}}
@media(prefers-reduced-motion:reduce){.photo-frame .product-photo img{transition:none}.photo-frame:hover .product-photo img{transform:none}}
