.viewer478{box-sizing:border-box;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#fff;color:#151515;z-index:2147483647;overflow:hidden}.viewer478:not([open]){display:none}.viewer478[open]{display:flex;flex-direction:column}.viewer478::backdrop{background:rgba(0,0,0,.7)}.viewer478-toolbar{display:flex;justify-content:center;align-items:center;gap:10px;padding:12px;padding-top:max(12px,env(safe-area-inset-top));flex:none;background:#fff;border-bottom:1px solid #ddd}.viewer478-toolbar button{font:700 18px Arial,sans-serif;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #bbb;border-radius:8px;background:#f5f5f5;color:#111;cursor:pointer}.viewer478-toolbar output{font:16px Arial,sans-serif;min-width:48px;text-align:center}.viewer478-help{font:14px/1.4 Arial,sans-serif;text-align:center;margin:10px 12px;flex:none}.viewer478-viewport{position:relative;overflow:hidden;flex:1;min-height:0;touch-action:none;cursor:grab;user-select:none;overscroll-behavior:contain;background:#f7f7f7}.viewer478-viewport:active{cursor:grabbing}.viewer478-viewport img{position:absolute;left:50%;top:50%;max-width:none!important;max-height:none!important;object-fit:contain;transform-origin:center;pointer-events:none;user-select:none}.viewer478 button:focus-visible,.viewer478-viewport:focus-visible{outline:3px solid #146d79;outline-offset:-3px}.card-wrapper>.card .card__information .price,.card-wrapper>.card .card__information .volume-pricing-note{display:none!important}

/* Individual mockups stay in the swipe gallery; detailed covers retain zoom. */
.product__modal-opener--image[data-478-no-zoom], .product__modal-opener--image[data-478-no-zoom] img { cursor: default; }
