.product-preview{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s ease}.preview-trigger{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:#fff;cursor:zoom-in;overflow:hidden}.preview-trigger span{position:absolute;right:.7rem;bottom:.7rem;background:var(--ink);color:#fff;padding:.45rem .6rem;font-size:.65rem;font-weight:800;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.preview-trigger:hover span,.preview-trigger:focus-visible span{opacity:1;transform:none}.preview-trigger:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}.product-card:hover .product-preview{transform:scale(1.02)}.product-cover:has(.product-preview){padding:0;background:#fff;height:280px}.product-cover:has(.product-preview):after{display:none}.preview-modal{position:fixed;inset:0;z-index:30;background:rgba(10,32,53,.82);display:grid;place-items:center;padding:1.2rem;opacity:0;pointer-events:none;transition:opacity .2s}.preview-modal.is-open{opacity:1;pointer-events:auto}.preview-modal__panel{background:#fff;width:min(1000px,96vw);max-height:94dvh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3)}.preview-modal__head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.2rem;border-bottom:1px solid var(--line)}.preview-modal__head h2{font:800 1.05rem var(--display);margin:0}.preview-modal__head button{background:transparent;border:0;color:var(--ink);font-size:1.8rem;line-height:1;cursor:pointer;min-width:44px;min-height:44px}.preview-modal img{display:block;max-width:100%;max-height:calc(94dvh - 130px);width:auto;height:auto;object-fit:contain;margin:auto}.preview-modal p{font-size:.72rem;color:var(--muted);padding:.6rem 1.2rem;margin:0;border-top:1px solid var(--line)}@media(max-width:600px){.product-cover:has(.product-preview){height:260px}.preview-modal__panel{max-height:90dvh}.preview-modal img{max-height:calc(90dvh - 130px)}}@media(prefers-reduced-motion:reduce){.product-preview,.preview-modal,.preview-trigger span{transition:none}.product-card:hover .product-preview{transform:none}}
