/* Single Product page styles (DIY theme — no woocommerce class names) */

/* Gallery magnify-on-hover (mouse-tracking, GPU) */
.pd-gallery-item { overflow: hidden; cursor: zoom-in; position: relative; background: #F3F3F3; }
.pd-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1); transform-origin: center center; will-change: transform; }
.pd-gallery-item img.is-zoom { transform: scale(2.5); }
.pd-gallery-item img.zoom-anim { transition: transform 0.25s ease; }

/* Lightbox */
#lightbox { position: fixed; inset: 0; background: rgba(0,0,0,0.92); z-index: 100; display: none; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s ease; }
#lightbox.open { display: flex; opacity: 1; }
#lightbox .lb-img { max-width: 90vw; max-height: 88vh; object-fit: contain; user-select: none; }
#lightbox .lb-btn { position: absolute; color: #fff; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.25); width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; transition: background 0.3s; cursor: pointer; }
#lightbox .lb-btn:hover { background: rgba(255,255,255,0.18); }
#lightbox .lb-prev { left: 24px; top: 50%; transform: translateY(-50%); }
#lightbox .lb-next { right: 24px; top: 50%; transform: translateY(-50%); }
#lightbox .lb-close { right: 24px; top: 24px; }
#lightbox .lb-counter { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,0.7); font-size: 12px; letter-spacing: 0.2em; }
@media (max-width: 768px) {
    #lightbox .lb-prev { left: 12px; } #lightbox .lb-next { right: 12px; }
    #lightbox .lb-btn { width: 40px; height: 40px; }
}

/* Variant text-button styling (text only, no swatches) */
.variant-btn { background: transparent; cursor: pointer; }
.variant-btn:focus { outline: none; }
.variant-btn.is-disabled { opacity: 0.35; pointer-events: none; text-decoration: line-through; }

/* Quantity input */
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.qty-input { -moz-appearance: textfield; appearance: textfield; }
