.product-reference-detail__image.product-zoom { position: relative; cursor: zoom-in; }
.product-zoom__trigger { position: absolute; right: 1rem; bottom: 1rem; z-index: 2; display: inline-grid; width: 2.75rem; height: 2.75rem; place-items: center; color: #111; background: #fff; border: 1px solid #e3e3e3; border-radius: 50%; box-shadow: 0 .5rem 1.25rem rgba(0, 0, 0, .12); transition: transform .18s ease, box-shadow .18s ease, color .18s ease; }
.product-zoom__trigger:hover, .product-zoom__trigger:focus { color: var(--omega-blue, #075c9f); box-shadow: 0 .75rem 1.5rem rgba(0, 0, 0, .18); transform: translateY(-2px); }

.product-zoom-overlay { position: fixed; inset: 0; z-index: 1080; display: flex; flex-direction: column; background: rgba(9, 16, 22, .92); visibility: hidden; opacity: 0; transition: opacity .2s ease, visibility .2s ease; }
.product-zoom-overlay.is-open { visibility: visible; opacity: 1; }
.product-zoom-overlay__toolbar { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: .5rem; padding: 1.25rem 1rem; }
.product-zoom-overlay__btn, .product-zoom-overlay__close { display: inline-grid; width: 2.75rem; height: 2.75rem; place-items: center; color: #fff; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; transition: background-color .18s ease; }
.product-zoom-overlay__btn:hover, .product-zoom-overlay__btn:focus, .product-zoom-overlay__close:hover, .product-zoom-overlay__close:focus { color: #fff; background: rgba(255, 255, 255, .24); }
.product-zoom-overlay__btn:disabled { opacity: .35; cursor: not-allowed; }
.product-zoom-overlay__close { position: absolute; top: 1.25rem; right: 1.25rem; z-index: 2; }
.product-zoom-overlay__level { min-width: 3.5rem; color: #fff; font-size: .85rem; font-weight: 600; text-align: center; }
.product-zoom-overlay__stage { position: relative; flex: 1; overflow: hidden; touch-action: none; }
.product-zoom-overlay__stage img { position: absolute; top: 50%; left: 50%; max-width: none; max-height: none; width: min(85vw, 60rem); transform: translate(-50%, -50%) scale(1); transition: transform .12s ease; -webkit-user-drag: none; user-select: none; }
.product-zoom-overlay__stage.is-zoomed img { transition: none; }
.product-zoom-overlay__stage.is-draggable { cursor: grab; }
.product-zoom-overlay__stage.is-dragging { cursor: grabbing; }
@media (max-width: 575.98px) {
    .product-zoom-overlay__toolbar { flex-wrap: wrap; }
    .product-zoom-overlay__stage img { width: min(92vw, 60rem); }
}
@media (prefers-reduced-motion: reduce) {
    .product-zoom-overlay, .product-zoom-overlay__stage img { transition: none; }
}
