.lep-preview-box.lep-preview-hidden{display:none!important}.lep-preview-box.lep-preview-visible{displays:block!important;visibility:visible!important;opacity:1!important}
.lep-preview-box{width:100%;margin:0 0 20px;text-align:center}.lep-preview-title{font-size:22px;font-weight:700;margin:0 0 14px}.lep-image-wrap{position:relative;width:100%;overflow:hidden;background:#f3f3f3}.lep-preview-img{width:100%;display:block}.lep-live-text{position:absolute;text-align:center;pointer-events:none;z-index:5;white-space:nowrap;display:none;box-sizing:border-box}.lep-live-text.lep-has-value{display:block}.lep-note{font-size:12px;text-align:left;margin:8px 0;color:#333}.lep-note span{display:inline-block;width:7px;height:7px;background:#17b26a;border-radius:50%;margin-right:6px}.lep-fields-box{border:1px solid #e5e5e5;padding:18px;background:#fff;margin:0 0 20px}.lep-field-group{margin-bottom:16px}.lep-field-group label{font-weight:600;display:block;margin-bottom:7px}.lep-input,.lep-select{width:100%;padding:10px;border:1px solid #ddd;border-radius:3px}.lep-counter{text-align:right;font-size:12px;color:#666;margin-top:3px}.lep-font-cards{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.lep-font-card,.lep-symbol{border:1px solid #ddd;background:#fff;padding:8px 12px;cursor:pointer;border-radius:3px}.lep-font-card.active,.lep-symbol.active{border-color:#7a2cbf;box-shadow:0 0 0 1px #7a2cbf}.lep-font-card span{display:block;font-size:20px}.lep-font-card small{display:block;font-size:11px}.lep-symbols{display:flex;gap:8px;flex-wrap:wrap}.lep-check-preview-btn,.lep-ok-btn,.lep-reset-btn{width:100%;padding:12px;border:0;margin-top:8px;cursor:pointer;border-radius:6px;font-weight:600}.lep-check-preview-btn,.lep-ok-btn{background:#111;color:#fff}.lep-reset-btn{background:#f2f2f2;color:#111}.lep-preview-actions{margin-top:10px}.lep-ok-msg{font-size:12px;margin:8px 0 0;color:#0a7a35}.lep-ok-msg.lep-error{color:#c00}.woocommerce-product-gallery__image,.woocommerce-product-gallery__image a{position:relative!important}.lep-gallery-overlay{position:absolute!important;pointer-events:none!important;z-index:50!important;text-align:center;white-space:nowrap;display:block!important;box-sizing:border-box}.lep-gallery-active .zoomImg{display:none!important}.lep-effect-engraved{filter:contrast(105%)}.lep-reflection-on::after{content:'';position:absolute;left:8%;right:8%;top:12%;height:38%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);mix-blend-mode:screen;pointer-events:none;opacity:.45} 

/* V14 Blocksy / custom gallery compatibility */
.woocommerce-product-gallery,
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery .flex-active-slide,
.ct-product-gallery,
.ct-product-gallery .ct-image-container,
[class*="product-gallery"]{position:relative!important;}
.ct-product-gallery .lep-gallery-overlay,
.woocommerce-product-gallery .lep-gallery-overlay{position:absolute!important;left:50%;top:50%;transform:translate(-50%,-50%);}

/* v15: force visible active state for Blocksy button styles */
.lep-font-card.active{border-color:#7a2cbf!important;box-shadow:0 0 0 1px #7a2cbf!important;background:#fff!important;}
.lep-font-card:focus{outline:none!important;}

/* V16 mobile/Blocksy responsive position fix */
.lep-gallery-active{position:relative!important;}
.lep-gallery-overlay{transform-origin:center center!important;}
@media (max-width: 767px){
  .lep-gallery-overlay{z-index:80!important;}
}

/* V20 popup-only preview fixes */
.elementor-2768 .lep-preview-box.lep-preview-visible,.elementor-2768 .lep-preview-box:not(.lep-preview-hidden){display:block!important;visibility:visible!important;opacity:1!important;}
.elementor-2768 .lep-image-wrap,.elementor-2768 .lep-preview-img{display:block!important;visibility:visible!important;opacity:1!important;}
.elementor-2768 .lep-live-text.lep-has-value{display:block!important;}

/* V22.2 popup preview magnifier */
.lep-preview-box .lep-image-wrap{position:relative;overflow:hidden;}
.lep-magnifier-lens{
    position:absolute;
    width:130px;
    height:130px;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.95);
    box-shadow:0 10px 28px rgba(0,0,0,.25), inset 0 0 0 1px rgba(0,0,0,.12);
    pointer-events:none;
    opacity:0;
    visibility:hidden;
    transform:translate(-50%,-50%) scale(.92);
    background-repeat:no-repeat;
    z-index:30;
    transition:opacity .15s ease, visibility .15s ease, transform .15s ease;
}
.lep-magnifier-lens.is-active{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,-50%) scale(1);
}
@media (max-width:767px){
    .lep-magnifier-lens{width:110px;height:110px;}
}

/* V22.3 magnifier: zoom full composed preview (image + engraving text), not only product image */
.lep-magnifier-lens{overflow:hidden;background:#fff!important;}
.lep-magnifier-content{position:absolute;left:0;top:0;will-change:transform;}
.lep-magnifier-img{position:absolute;left:0;top:0;max-width:none!important;object-fit:fill;}
.lep-magnifier-text{box-sizing:border-box;text-align:center;white-space:nowrap;}


/* V23 Canvas editor frontend controls */
.lep-editor-controls input[type=range]{width:100%;accent-color:#111;}
.lep-range-value{font-size:12px;color:#555;text-align:right;margin-top:4px;}
.lep-placement-reset{border:1px solid #ddd;background:#fff;border-radius:3px;padding:8px 10px;margin-top:8px;cursor:pointer;width:100%;}
.lep-editor-help{font-size:12px;color:#666;margin:7px 0 0;}
.lep-canvas-enabled .lep-live-text{pointer-events:auto!important;touch-action:none;user-select:none;cursor:move;}
.lep-canvas-enabled .lep-live-text::before{content:'';position:absolute;left:-8px;right:-8px;top:-8px;bottom:-8px;border:1px dashed rgba(0,0,0,.35);border-radius:4px;opacity:0;transition:opacity .15s ease;}
.lep-canvas-enabled .lep-live-text:hover::before,.lep-editor-dragging .lep-live-text::before{opacity:1;}
.lep-editor-dragging .lep-live-text{cursor:grabbing!important;}
@media (max-width:767px){.lep-editor-help{font-size:11px}.lep-canvas-enabled .lep-live-text::before{left:-10px;right:-10px;top:-10px;bottom:-10px;}}

/* V23.2: magnifier removed to avoid blocking canvas drag/slider controls */
.lep-magnifier-lens{display:none!important;pointer-events:none!important;}
.lep-canvas-enabled .lep-image-wrap{touch-action:none;cursor:crosshair;}
.lep-canvas-enabled .lep-live-text{pointer-events:none;}


/* V23.3 Edit / Done mode controls */
.lep-preview-mode-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 6px;}
.lep-preview-mode-btn{border:1px solid #222;background:#fff;color:#222;border-radius:999px;padding:7px 14px;font-size:13px;line-height:1;cursor:pointer;transition:all .15s ease;}
.lep-preview-mode-btn.active{background:#111;color:#fff;border-color:#111;}
.lep-preview-mode-status{font-size:12px;color:#666;display:block;flex-basis:100%;margin-top:2px;}
.lep-mode-edit .lep-image-wrap{touch-action:none;cursor:crosshair;}
.lep-mode-edit .lep-live-text{pointer-events:none!important;}
.lep-mode-edit .lep-live-text::before{opacity:1!important;border-color:rgba(0,0,0,.45)!important;}
.lep-mode-done .lep-image-wrap{cursor:zoom-in;touch-action:auto;}
.lep-mode-done .lep-live-text{pointer-events:none!important;cursor:default!important;}
.lep-mode-done .lep-live-text::before{opacity:0!important;}
.lep-mode-done .lep-magnifier-lens{display:block!important;pointer-events:none!important;}
.lep-mode-edit .lep-magnifier-lens{display:none!important;pointer-events:none!important;}
@media (max-width:767px){.lep-preview-mode-btn{padding:8px 13px;font-size:12px}.lep-preview-mode-status{font-size:11px}}


/* V23.3.16: plugin-side Add to Cart buttons removed/disabled. Original WooCommerce button remains untouched. */
.lep-direct-add-cart-btn,.lep-popup-add-cart-btn,.lep-add-cart-btn,.lep-direct-add-to-cart{display:none!important;}
.lep-check-preview-btn{display:block!important;}
.lep-reset-btn{display:block!important;}


/* V23.3.15: CSS-only gallery lock. No MutationObserver/loop. */
html.lep-preview-active-lock .woocommerce-product-gallery:not(.lep-preview-box),
body.lep-preview-active-lock .woocommerce-product-gallery:not(.lep-preview-box),
html.lep-preview-active-lock .ct-product-gallery-container,
body.lep-preview-active-lock .ct-product-gallery-container,
html.lep-preview-active-lock .ct-product-gallery,
body.lep-preview-active-lock .ct-product-gallery,
html.lep-preview-active-lock .flexy-container[data-flexy],
body.lep-preview-active-lock .flexy-container[data-flexy],
html.lep-preview-active-lock [data-lep-hidden-gallery],
body.lep-preview-active-lock [data-lep-hidden-gallery]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html.lep-preview-active-lock .lep-preview-box.lep-preview-visible,
body.lep-preview-active-lock .lep-preview-box.lep-preview-visible,
html.lep-preview-active-lock .lep-preview-box.lep-preview-visible .lep-image-wrap,
body.lep-preview-active-lock .lep-preview-box.lep-preview-visible .lep-image-wrap,
html.lep-preview-active-lock .lep-preview-box.lep-preview-visible .lep-preview-img,
body.lep-preview-active-lock .lep-preview-box.lep-preview-visible .lep-preview-img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* V23.3.17: stronger no-loop gallery lock after Check Preview. Released only by Reset Preview. */
html.lep-preview-active-lock .lep-force-hidden-gallery,
body.lep-preview-active-lock .lep-force-hidden-gallery,
html.lep-preview-active-lock [data-lep-hidden-gallery],
body.lep-preview-active-lock [data-lep-hidden-gallery],
html.lep-preview-active-lock .product .woocommerce-product-gallery,
body.lep-preview-active-lock .product .woocommerce-product-gallery,
html.lep-preview-active-lock .product .ct-product-gallery-container,
body.lep-preview-active-lock .product .ct-product-gallery-container,
html.lep-preview-active-lock .product .ct-product-gallery,
body.lep-preview-active-lock .product .ct-product-gallery,
html.lep-preview-active-lock .product .flexy-container,
body.lep-preview-active-lock .product .flexy-container,
html.lep-preview-active-lock .product .flexy-view,
body.lep-preview-active-lock .product .flexy-view,
html.lep-preview-active-lock .product .flexy-items,
body.lep-preview-active-lock .product .flexy-items{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html.lep-preview-active-lock .lep-preview-box,
body.lep-preview-active-lock .lep-preview-box,
html.lep-preview-active-lock .lep-preview-box.lep-preview-visible,
body.lep-preview-active-lock .lep-preview-box.lep-preview-visible{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}


/* V24: live preview always-on editor */
.lep-check-preview-btn,.lep-ok-btn,.lep-preview-mode-actions,.lep-magnifier-lens{display:none!important;}
.lep-image-wrap{touch-action:none;}
.lep-live-text{pointer-events:auto!important;}
.lep-canvas-enabled .lep-live-text{cursor:move!important;}
.lep-preview-actions{display:block!important;}
.lep-preview-actions .lep-reset-btn{width:100%!important;}
#lep_editor_font_size,#lep_editor_rotation{touch-action:pan-x;user-select:none;-webkit-user-select:none;}

/* V24.2 stronger auto preview fix */
.lep-preview-box[data-lep-auto-preview="1"].lep-preview-visible{display:block!important;visibility:visible!important;opacity:1!important;}
.lep-preview-box[data-lep-auto-preview="1"] .lep-image-wrap,
.lep-preview-box[data-lep-auto-preview="1"] .lep-preview-img{display:block!important;visibility:visible!important;opacity:1!important;}
.lep-check-preview-btn,.lep-ok-btn,.lep-preview-mode-actions,.lep-magnifier-lens{display:none!important;}


/* V25.1 real auto preview + move handle + text containment */
#lep-preview-container{display:none;}
html.lep-preview-active-lock #lep-preview-container,
body.lep-preview-active-lock #lep-preview-container{display:block!important;visibility:visible!important;opacity:1!important;}
.lep-preview-box.lep-preview-visible{display:block!important;visibility:visible!important;opacity:1!important;}
.lep-live-text{overflow:hidden!important;text-overflow:clip!important;white-space:nowrap!important;max-width:100%!important;}
.lep-move-handle{
  position:absolute!important;
  width:28px!important;height:28px!important;
  border-radius:50%!important;border:1px solid rgba(0,0,0,.35)!important;
  background:#111!important;color:#fff!important;
  align-items:center!important;justify-content:center!important;
  z-index:99!important;cursor:grab!important;touch-action:none!important;
  font-size:15px!important;line-height:1!important;padding:0!important;
  box-shadow:0 4px 12px rgba(0,0,0,.22)!important;
}
.lep-editor-dragging .lep-move-handle{cursor:grabbing!important;}
.lep-image-wrap{touch-action:auto!important;}
.lep-live-text{pointer-events:none!important;}
.lep-symbol:focus,.lep-font-card:focus{outline:none!important;}
.lep-symbol[data-symbol=""]{display:none!important;}


/* V25.2 duplicate preview + visible text border fix */
.lep-preview-box.lep-duplicate-preview{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;margin:0!important;overflow:hidden!important;}
.lep-primary-preview.lep-preview-visible .lep-live-text.lep-has-value{
  outline:1px dashed rgba(0,0,0,.45)!important;
  outline-offset:4px!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
.lep-primary-preview .lep-live-text.lep-has-value::before{display:none!important;}
.lep-primary-preview .lep-move-handle{display:flex!important;}

/* v25.3 mobile slider keyboard fix */
#lep_editor_font_size,
#lep_editor_rotation{
  touch-action: pan-x !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}
