.product-previewable { cursor: zoom-in; }
.product-visual,
.product-visual * {
  -webkit-user-select: none;
  user-select: none;
}
.product-visual img { -webkit-user-drag: none; }
.product-previewable::before { content: "Doble clic para ver"; position: absolute; right: 12px; top: 174px; z-index: 3; background: rgba(22,38,61,.88); color: #fff; border-radius: 20px; padding: 5px 9px; font-size: 9px; font-weight: 700; opacity: 0; transform: translateY(4px); transition: .2s; }
.product-previewable:hover::before { opacity: 1; transform: none; }
.product-preview { position: fixed; inset: 0; z-index: 30; display: grid; place-items: center; padding: 24px; opacity: 0; visibility: hidden; transition: .25s; }
.product-preview.show { opacity: 1; visibility: visible; }
.preview-backdrop { position: absolute; inset: 0; border: 0; background: rgba(6,18,32,.72); backdrop-filter: blur(7px); }
.preview-content { position: relative; z-index: 1; margin: 0; width: min(560px,92vw); max-height: 90vh; background: #fff; border-radius: 24px; padding: 18px; box-shadow: 0 28px 80px rgba(0,0,0,.35); transform: scale(.94); transition: .25s; display: flex; flex-direction: column; }
.product-preview.show .preview-content { transform: none; }
.preview-content img { display: block; width: 100%; min-height: 0; object-fit: contain; border-radius: 14px; }
.preview-content figcaption { padding: 14px 8px 3px; text-align: center; font: 600 23px Fredoka; }
.preview-close { position: absolute; right: 28px; top: 28px; z-index: 2; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(22,38,61,.9); color: #fff; font-size: 28px; line-height: 1; box-shadow: 0 5px 15px rgba(0,0,0,.2); }
@media (max-width: 520px) { .product-previewable::before { display: none; } }
