.product-carousel{cursor:zoom-in}.product-zoom-trigger{position:absolute;inset:0;z-index:1;border:0;background:transparent;cursor:zoom-in}.product-zoom-trigger:focus-visible{outline:3px solid #ed0719;outline-offset:-4px}.product-controls{z-index:2}
.shop-zoom{position:fixed;inset:auto 0;width:min(calc(100% - 32px),1000px);max-width:none;max-height:none;margin:0 auto;padding:16px;border:1px solid #ffffff38;border-top:3px solid #ed0719;background:#111116;color:#fff;overflow:hidden}
.shop-zoom[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}.shop-zoom::backdrop{background:#000d}.shop-zoom-heading{display:flex;align-items:center;gap:16px}.shop-zoom-heading h2{flex:1;min-width:0;font:600 italic 1.5rem/1.15 var(--display);margin:0}.shop-zoom-heading strong{color:#ff7781;white-space:nowrap}.shop-zoom button{min-height:44px;padding:8px 12px;border:1px solid #ffffff38;background:#1b1b22;color:#fff;cursor:pointer;font:600 .875rem var(--body)}.shop-zoom button:focus-visible,.shop-zoom a:focus-visible{outline:2px solid #fff;outline-offset:2px}.shop-zoom-media{position:relative;min-height:0}.shop-zoom-media>[data-shop-prev],.shop-zoom-media>[data-shop-next]{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:44px;background:#111d}.shop-zoom-media>[data-shop-prev]{left:6px}.shop-zoom-media>[data-shop-next]{right:6px}.shop-zoom .shop-zoom-image{width:100%;height:100%;min-height:0;padding:0;border:0;background:#f4f4f2;overflow:hidden;cursor:zoom-out}.shop-zoom-image img{display:block;width:100%;height:100%;object-fit:contain}.shop-zoom-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.shop-zoom-footer p{margin:0 0 6px;font-size:.85rem;color:#c4c4cc}.shop-zoom-colours{display:flex;flex-wrap:wrap;gap:6px}.shop-zoom-colours button[aria-pressed=true]{border-color:#ed0719;background:#ed0719}.shop-zoom-order{white-space:nowrap;font-size:.875rem;min-height:44px}
@media(max-width:650px){.shop-zoom{padding:10px;gap:8px}.shop-zoom-heading{flex-wrap:wrap;gap:8px}.shop-zoom-heading h2{font-size:1.15rem}.shop-zoom-media{gap:6px}.shop-zoom-footer{flex-direction:column;align-items:stretch;gap:8px}.shop-zoom-order{justify-content:center;padding:10px}.shop-zoom-colours button{padding:6px 10px}}
