.product-media{position:relative;background:white;cursor:zoom-in}
.product-media>img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:8px;background:white;display:block;opacity:1;transition:opacity .16s ease}.product-media>img.changing{opacity:.38}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:rgba(34,34,34,.82);color:#fff;font-size:1.5rem;cursor:pointer}
.gallery-arrow.prev{left:8px}.gallery-arrow.next{right:8px}
.gallery-count{position:absolute;right:10px;bottom:10px;background:rgba(34,34,34,.8);color:white;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:800}
.modal{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:30px}.modal.open{display:flex}
.modal>img{max-width:min(1000px,88vw);max-height:86vh;object-fit:contain;background:white;border-radius:14px}
.modal-close,.modal-nav{position:absolute;border:0;background:rgba(255,255,255,.92);color:#222;border-radius:50%;cursor:pointer}.modal-close{right:22px;top:18px;width:46px;height:46px;font-size:2rem}.modal-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:2.5rem}.modal-nav.prev{left:18px}.modal-nav.next{right:18px}.modal-count{position:absolute;bottom:18px;color:white;font-weight:800}.empty{grid-column:1/-1;text-align:center;padding:50px;color:#6D6262}
.description-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-bottom:0}.description-collapsed.description-open{display:block;overflow:visible}.description-toggle{align-self:flex-start;border:0;background:transparent;color:#9F2748;font-weight:900;padding:0;cursor:pointer;font-size:.88rem}
