/* Leon Product Detail — scoped styles, no external fonts/libraries. */
.lpd-product{--lpd-primary:var(--e-global-color-primary,#202020);--lpd-text:var(--e-global-color-secondary,#292929);--lpd-secondary:var(--e-global-color-text,#737373);--lpd-accent:var(--e-global-color-accent,var(--lpd-primary));--lpd-border:color-mix(in srgb,var(--lpd-text) 17%,transparent);--lpd-surface:color-mix(in srgb,var(--lpd-text) 4%,transparent);--lpd-gap:clamp(28px,3.5vw,84px);width:100%;max-width:var(--lpd-max,1440px);margin-inline:auto;color:var(--lpd-text);box-sizing:border-box}
.lpd-product *, .lpd-product *::before,.lpd-product *::after{box-sizing:border-box}
.lpd-product .lpd-layout{display:grid;grid-template-columns:minmax(0,var(--lpd-left,65%)) minmax(0,1fr);gap:var(--lpd-gap);align-items:start}
.lpd-product .lpd-left,.lpd-product .lpd-sidebar{min-width:0;width:100%}.lpd-product .lpd-sidebar{align-self:stretch}
.lpd-product .lpd-panel{position:sticky;top:var(--lpd-sticky-runtime-top,var(--lpd-sticky-top,90px));max-width:100%;overflow-wrap:anywhere}

.lpd-product .lpd-gallery{position:relative;width:100%;margin-bottom:clamp(32px,4vw,64px)}
.lpd-product .lpd-gallery .woocommerce-product-gallery{float:none!important;width:100%!important;max-width:100%;margin:0!important}
.lpd-product .lpd-gallery img{max-width:100%;height:auto;display:block}
.lpd-product .lpd-gallery .woocommerce-product-gallery__wrapper{margin:0}
.lpd-product .lpd-gallery .onsale{position:absolute;z-index:2}
.lpd-product .lpd-hero-video video{display:block;width:100%;height:auto;max-height:86vh;object-fit:contain;background:#000}
.lpd-product .lpd-description{width:100%;margin:0;min-height:1px}
.lpd-product .lpd-description .elementor{width:100%}
.lpd-product .lpd-description img,.lpd-product .lpd-description video{max-width:100%;height:auto}
.lpd-product .lpd-description video{display:block}
.lpd-product .lpd-reviews{margin-top:clamp(40px,6vw,90px);border-top:1px solid var(--lpd-border);padding-top:28px}
.lpd-product .lpd-reviews #reviews{float:none;width:100%;padding:0}
.lpd-product .lpd-taxonomies{display:flex;align-items:center;flex-wrap:wrap;column-gap:13px;row-gap:5px;margin:0 0 18px;font-size:13px;line-height:1.55}
.lpd-product .lpd-taxonomies a{text-decoration:none;color:inherit}
.lpd-product .lpd-taxonomies a:hover{color:var(--lpd-accent)}
.lpd-product .lpd-categories{color:var(--lpd-primary);font-weight:600}
.lpd-product .lpd-tags{color:var(--lpd-secondary)}
.lpd-product .lpd-tax-sep{padding:0 5px;color:var(--lpd-secondary);opacity:.5}
.lpd-product h1.lpd-title{font-family:var(--lpd-title-font,var(--e-global-typography-primary-font-family,inherit))!important;font-size:clamp(28px,3vw,42px);line-height:1.24;letter-spacing:-.025em;font-weight:650;color:var(--lpd-primary);margin:0 0 25px;padding:0}
.lpd-product .lpd-product-code,.lpd-product .lpd-colors{display:flex;align-items:flex-start;gap:22px;font-size:14px;line-height:1.6;margin:0 0 13px}
.lpd-product .lpd-info-key{color:var(--lpd-primary);flex:0 0 78px;font-weight:700;}
.lpd-product .lpd-swatches{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:1px}
.lpd-product .lpd-swatch{display:inline-flex;align-items:center;justify-content:center;position:relative;flex:0 0 19px;width:19px;height:19px;border-radius:100%;background:var(--lpd-swatch,#ddd);border:1px solid rgba(0,0,0,.13);outline:1px solid rgba(0,0,0,.05);outline-offset:2px}
.lpd-product .lpd-swatch-unknown{background:repeating-linear-gradient(45deg,#efefef,#efefef 3px,#ddd 3px,#ddd 6px);color:#555;font-size:10px}
.lpd-product .lpd-purchase{margin-top:clamp(24px,3vw,36px);padding:clamp(16px,2.2vw,28px);background:var(--lpd-surface);border:1px solid var(--lpd-border);border-radius:12px}
.lpd-product .lpd-offer{margin:0 0 18px}
.lpd-product h2.lpd-offer-title{font-size:clamp(17px,1.4vw,20px);font-weight:650;line-height:1.4;color:var(--lpd-primary);margin:0 0 8px}
.lpd-product .lpd-offer p{font-size:13px;line-height:1.7;margin:3px 0;color:var(--lpd-text)}
.lpd-product .lpd-price{font-size:clamp(22px,2.4vw,31px);font-weight:650;color:var(--lpd-primary);line-height:1.3;text-align:right;margin:15px 0 22px}
.lpd-product .lpd-price del{font-weight:400;font-size:.7em;color:var(--lpd-secondary);margin-right:8px}
.lpd-product .lpd-price ins{text-decoration:none}
.lpd-product .lpd-price .woocommerce-Price-amount{white-space:nowrap}
.lpd-product .lpd-cart-area .cart{display:flex;flex-wrap:wrap;align-items:stretch;column-gap:8px;row-gap:10px;width:100%;margin:0 0 9px;padding:0}
.lpd-product .lpd-cart-area .quantity{margin:0 0 2px!important;max-width:100%;flex:0 0 auto}
.lpd-product .lpd-cart-area .quantity input{min-height:44px}
.lpd-product .lpd-cart-area .cart button.button,.lpd-product .lpd-cart-area .cart .single_add_to_cart_button,.lpd-product .lpd-cart-area .cart .lpd-buy-now{display:inline-flex;align-items:center;justify-content:center;min-height:var(--lpd-button-height,48px);border-radius:var(--lpd-button-radius,6px);border:1px solid var(--lpd-primary);font-family:inherit;line-height:1.3;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .16s,color .16s,opacity .16s;box-shadow:none;text-decoration:none;padding:12px 16px;margin:0;white-space:normal}
.lpd-product .lpd-cart-area .cart .single_add_to_cart_button{background:transparent;color:var(--lpd-primary);flex:1 1 120px}
.lpd-product .lpd-cart-area .cart .single_add_to_cart_button:hover{background:var(--lpd-primary);color:#fff}
.lpd-product .lpd-cart-area .cart .lpd-buy-now{background:var(--lpd-primary);color:#fff;flex:1 1 120px}
.lpd-product .lpd-cart-area .cart .lpd-buy-now:hover{background:var(--lpd-accent);border-color:var(--lpd-accent);color:#fff}
.lpd-product .lpd-cart-area .cart button:disabled,.lpd-product .lpd-cart-area .cart button.disabled{opacity:.4;cursor:not-allowed}
.lpd-product .lpd-cart-area .cart.variations_form{display:block}
.lpd-product .lpd-cart-area .cart.variations_form table.variations{width:100%;margin:0 0 15px}
.lpd-product .lpd-cart-area .cart.variations_form .single_variation_wrap{width:100%}
.lpd-product .lpd-cart-area .cart.variations_form .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:9px;align-items:stretch}
.lpd-product .lpd-cart-area .cart.variations_form .woocommerce-variation-price{margin-bottom:10px}
.lpd-product .lpd-cart-area .cart .woocommerce-variation-add-to-cart .quantity{align-self:center}
.lpd-product .lpd-demo-button{display:flex;width:100%;min-height:47px;padding:12px 18px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--lpd-border);border-radius:var(--lpd-demo-radius,var(--lpd-button-radius,6px));font-size:14px;text-align:center;font-weight:600;text-decoration:none;color:var(--lpd-text);background:transparent;margin-top:10px;transition:border-color .15s,color .15s}
.lpd-product .lpd-demo-button:hover{color:var(--lpd-accent);border-color:var(--lpd-accent)}
.lpd-product .lpd-demo-button span{font-size:17px;line-height:1}
.lpd-product .lpd-notice{font-size:13px;color:var(--lpd-secondary);line-height:1.7;margin:17px 0 0}
.lpd-product .lpd-recent{margin-top:clamp(60px,8vw,116px);border-top:1px solid var(--lpd-border);padding-top:26px}
.lpd-product .lpd-recent[hidden]{display:none!important}
.lpd-product .lpd-recent h2{margin:0 0 25px;font-size:clamp(21px,2.4vw,29px);font-weight:650;line-height:1.3;color:var(--lpd-text)}
.lpd-product .lpd-recent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.8vw,25px)}
.lpd-product .lpd-recent-item{text-decoration:none;color:var(--lpd-text);min-width:0;display:block}
.lpd-product .lpd-recent-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--lpd-surface);border-radius:5px;transition:opacity .15s}
.lpd-product .lpd-recent-item:hover img{opacity:.86}
.lpd-product .lpd-recent-name{display:block;font-size:14px;font-weight:600;margin-top:10px;line-height:1.4}
.lpd-product .lpd-recent-price{display:block;font-size:13px;color:var(--lpd-secondary);margin-top:3px}
.lpd-product .lpd-mobile-bar{display:none}
@media(max-width:1099px){.lpd-product .lpd-layout{grid-template-columns:minmax(0,1fr);gap:0}.lpd-product .lpd-left,.lpd-product .lpd-sidebar{display:contents}.lpd-product .lpd-gallery{order:1;margin-bottom:24px}.lpd-product .lpd-panel{position:static;order:2;margin-bottom:clamp(40px,6vw,70px)}.lpd-product .lpd-description{order:3}.lpd-product .lpd-reviews{order:4}.lpd-product .lpd-gallery .woocommerce-product-gallery{max-width:100%}.lpd-product .lpd-recent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.lpd-product h1.lpd-title{font-size:29px;margin-bottom:19px}.lpd-product .lpd-purchase{padding:18px 16px}.lpd-product .lpd-recent-grid{grid-auto-flow:column;grid-auto-columns:minmax(160px,64%);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding-bottom:10px}.lpd-product .lpd-recent-item{scroll-snap-align:start}.lpd-product .lpd-mobile-bar:not([hidden]){display:flex;position:fixed;left:0;right:0;bottom:0;z-index:89;align-items:center;gap:12px;justify-content:space-between;background:var(--lpd-mobile-bg,#fff);color:var(--lpd-text);padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));box-shadow:0 -4px 24px rgba(0,0,0,.09);border-top:1px solid var(--lpd-border)}.lpd-product .lpd-mobile-price{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:12px}.lpd-product .lpd-mobile-price strong{font-size:18px;white-space:nowrap}.lpd-product .lpd-mobile-offer:empty{display:none}.lpd-product .lpd-mobile-buy{flex:0 0 auto;background:var(--lpd-primary);color:#fff;border:0;border-radius:5px;min-height:44px;padding:11px 22px;font-family:inherit;font-size:14px;line-height:1.3;font-weight:600;cursor:pointer}body.lpd-has-mobile-bar{padding-bottom:calc(70px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.lpd-product *{scroll-behavior:auto!important;transition:none!important}}

/* 1.0.1 Nayla-compatible isolated product presentation */
.lpd-product{padding-top:var(--lpd-header-space,0px);min-width:0}
.lpd-product .lpd-gallery{overflow:hidden}
.lpd-product .lpd-gallery .lpd-hero-media{position:relative;display:block;width:100%;height:auto;max-width:none;line-height:0;overflow:hidden}
.lpd-product .lpd-gallery .lpd-hero-media>img.lpd-hero-image{display:block;width:100%!important;height:auto!important;max-width:none!important;max-height:none;object-fit:contain;float:none!important;margin:0!important;position:relative!important;transform:none!important;opacity:1}
.lpd-product .lpd-gallery .lpd-hero-video>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:transparent;opacity:0;pointer-events:none;transition:opacity .2s ease}
.lpd-product .lpd-gallery .lpd-hero-video.lpd-video-playing>video{opacity:1}
.lpd-product .lpd-gallery .lpd-video-toggle{position:absolute;bottom:18px;right:18px;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--lpd-border);border-radius:50%;background:color-mix(in srgb,white 80%,transparent);color:#202020;cursor:pointer;font-size:14px;line-height:1;box-shadow:none}
@media (hover:hover) and (pointer:fine){.lpd-product .lpd-gallery .lpd-video-hover .lpd-video-toggle{opacity:0;transition:opacity .2s ease}.lpd-product .lpd-gallery .lpd-video-hover:hover .lpd-video-toggle,.lpd-product .lpd-gallery .lpd-video-hover:focus-within .lpd-video-toggle{opacity:1}}
.lpd-product .lpd-gallery .lpd-hero-video.lpd-video-playing .lpd-video-toggle{background:color-mix(in srgb,white 75%,transparent)}

/* Brand color stays in Elementor globals; no hard-coded blue accent. */
.lpd-product .lpd-cart-area{min-width:0}
.lpd-product .lpd-cart-area form.cart,.lpd-product .lpd-cart-area form.cart.lpd-cart-form{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important;background:none!important;border:0!important;min-height:0!important;overflow:visible!important}
.lpd-product .lpd-cart-area .lpd-quantity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;margin:0 0 14px}
.lpd-product .lpd-cart-area .lpd-quantity-row>label{color:var(--lpd-primary);font-size:14px;font-weight:700;}
.lpd-product .lpd-cart-area .lpd-quantity-row .quantity{display:block!important;position:static!important;float:none!important;margin:0!important;padding:0!important;max-width:100px;width:92px}
.lpd-product .lpd-cart-area .lpd-quantity-row input.qty{height:42px!important;min-height:42px!important;width:100%!important;max-width:100%!important;text-align:center!important;color:var(--lpd-text)!important;background:transparent!important;border:1px solid var(--lpd-border)!important;border-radius:5px!important;padding:7px!important}
.lpd-product .lpd-cart-area .lpd-cta-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;align-items:stretch}
.lpd-product .lpd-cart-area .lpd-cta-row>button[type="submit"]{min-width:0!important;min-height:48px!important;width:100%!important;height:auto!important;margin:0!important;padding:12px 8px!important;float:none!important;position:static!important;transform:none!important;border-radius:var(--lpd-button-radius,6px)!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important;box-shadow:none!important;cursor:pointer!important;letter-spacing:0!important;text-align:center!important;text-decoration:none!important}
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.single_add_to_cart_button{background:transparent!important;border:1px solid var(--lpd-primary)!important;color:var(--lpd-primary)!important}
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.single_add_to_cart_button:hover{background:var(--lpd-primary)!important;color:var(--lpd-button-text,#fff)!important}
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.single_buy_now_button,body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.lpd-buy-now{background:var(--lpd-primary)!important;border:1px solid var(--lpd-primary)!important;color:var(--lpd-button-text,#fff)!important}
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.single_buy_now_button:hover,body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.lpd-buy-now:hover{background:var(--lpd-accent)!important;border-color:var(--lpd-accent)!important;color:var(--lpd-button-text,#fff)!important}
.lpd-product .lpd-cart-area .lpd-cta-row .dcrs,.lpd-product .lpd-cart-area .lpd-cta-row .incrs{display:none!important}
/* Nayla variations retain their existing WooCommerce markup and selection logic. */
.lpd-product .lpd-cart-area form.variations_form{display:block!important}
.lpd-product .lpd-cart-area .variations_button.nayla_add_to_cart{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important;position:static!important;width:100%!important}
.lpd-product .lpd-cart-area .variations_button button.button{flex:1 1 140px!important;margin:0!important;min-height:48px!important;min-width:0!important;height:auto!important;transform:none!important}
.lpd-product .lpd-cart-area .variations_button .dcrs,.lpd-product .lpd-cart-area .variations_button .incrs{display:none!important}
.lpd-product .lpd-cart-area .variations_button .quantity{order:-1;margin-bottom:10px!important}
.lpd-product .lpd-cart-area .variations_button .single_add_to_cart_button{background:transparent!important;color:var(--lpd-primary)!important;border:1px solid var(--lpd-primary)!important}
.lpd-product .lpd-cart-area .variations_button .single_buy_now_button{background:var(--lpd-primary)!important;color:var(--lpd-button-text,#fff)!important;border:1px solid var(--lpd-primary)!important}
@media(max-width:767px){.lpd-product .lpd-gallery .lpd-hero-media{max-width:100%}.lpd-product .lpd-cart-area .lpd-cta-row{gap:8px}}
@media(prefers-reduced-motion:reduce){.lpd-product .lpd-gallery video,.lpd-product .lpd-gallery .lpd-video-toggle{transition:none!important}}


/* 1.0.2: 16:9 featured media, with 1:1 uploads cropped centrally for a video-friendly hero. */
.lpd-product .lpd-gallery .lpd-hero-media{aspect-ratio:16 / 9;height:auto!important;overflow:hidden}
.lpd-product .lpd-gallery .lpd-hero-media>img.lpd-hero-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;border-radius: var(--lpd-purchase-radius, 12px);}
.lpd-product .lpd-gallery .lpd-hero-video>video{object-fit:cover!important}
/* Nayla #page uses overflow:hidden, which creates a non-scrolling sticky containing block.
   'clip' retains clipping but does not create a scroll container. Only LPD products. */
/* Preserve Nayla's original float-containing block formatting context.
   overflow:clip alone does NOT contain floated #content and #footer;
   without flow-root, #page can collapse to 0px, breaking the footer and
   GSAP/ScrollSmoother scroll-height calculations across all viewports.
   Scope only to active Leon product pages; overflow remains non-scrolling
   so the desktop CSS sticky purchase panel can still work. */
body.lpd-layout-active #page.site{display:flow-root;overflow:clip}
@media(min-width:1100px){
  .lpd-product .lpd-sidebar{align-self:stretch!important;min-height:100%;overflow:visible!important}
  .lpd-product .lpd-panel{position:-webkit-sticky;position:sticky!important;top:var(--lpd-sticky-runtime-top,var(--lpd-sticky-top,90px))!important;align-self:start}
}

/* Configurable hero ratio and breadcrumbs, introduced in 1.0.3. */
.lpd-product .lpd-gallery .lpd-hero-media{aspect-ratio:var(--lpd-hero-ratio,16 / 9)!important}
.lpd-product .lpd-gallery.lpd-ratio-natural .lpd-hero-media{aspect-ratio:auto!important}
.lpd-product .lpd-gallery.lpd-ratio-natural .lpd-hero-media>img.lpd-hero-image{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;object-fit:contain!important}
.lpd-product .lpd-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:3px;min-height:20px;margin:0 0 clamp(15px,2vw,24px);padding:0;line-height:1.6;font-size:14px;color:var(--lpd-secondary)}
.lpd-product .lpd-breadcrumb a{color:inherit;text-decoration:none;transition:color .22s ease}
.lpd-product .lpd-breadcrumb a:hover,.lpd-product .lpd-breadcrumb a:focus-visible{color:var(--lpd-primary)}
.lpd-product .lpd-breadcrumb .lpd-breadcrumb-item:last-child{color:var(--lpd-text);font-weight:600}
.lpd-product .lpd-breadcrumb-separator{color:var(--lpd-secondary);opacity:.55;margin:0 5px}

/* 1.0.4 — consistent column alignment and independent admin-controlled CTA styling. */
/* Breadcrumb is a dedicated row. Both grid columns start at the image's top line. */
.lpd-product .lpd-breadcrumb-row{width:var(--lpd-left,65%);max-width:100%;margin:0 0 var(--lpd-breadcrumb-gap,22px)}
.lpd-product .lpd-breadcrumb-row .lpd-breadcrumb{margin:0!important}
body.woocommerce .lpd-product{padding-top:var(--lpd-header-space,var(--lpd-header-gap,24px))!important}
.lpd-product .lpd-purchase{border-radius:var(--lpd-purchase-radius,12px)}
.lpd-product{
  --lpd-button-base:var(--lpd-primary);
  --lpd-button-hover:var(--lpd-accent);
  --lpd-button-on-color:#fff;
}
/* Namespaced styles shield our WooCommerce form from Nayla buttons. */
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button[type="submit"],
body.woocommerce .lpd-product .lpd-cart-area .variations_button button.button,
.lpd-product .lpd-demo-button,
.lpd-product .lpd-mobile-buy{
  box-sizing:border-box!important;
  min-height:var(--lpd-button-height,48px)!important;
  border-width:var(--lpd-button-border,1px)!important;
  border-style:solid!important;
  box-shadow:none!important;
  background-image:none!important;
  transform:none!important;
  transition:background-color var(--lpd-button-duration,260ms) cubic-bezier(.22,1,.36,1),
    color var(--lpd-button-duration,260ms) cubic-bezier(.22,1,.36,1),
    border-color var(--lpd-button-duration,260ms) cubic-bezier(.22,1,.36,1)!important;
}
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.single_add_to_cart_button,
body.woocommerce .lpd-product .lpd-cart-area .variations_button button.single_add_to_cart_button{
  border-radius:var(--lpd-cart-radius,var(--lpd-button-radius,6px))!important;
  background:transparent!important;
  border-color:var(--lpd-button-base)!important;
  color:var(--lpd-button-base)!important;
}
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.single_buy_now_button,
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.lpd-buy-now,
body.woocommerce .lpd-product .lpd-cart-area .variations_button button.single_buy_now_button,
body.woocommerce .lpd-product .lpd-cart-area .variations_button button.lpd-buy-now{
  border-radius:var(--lpd-buy-radius,var(--lpd-button-radius,6px))!important;
  background:var(--lpd-button-base)!important;
  border-color:var(--lpd-button-base)!important;
  color:var(--lpd-button-on-color)!important;
}
.lpd-product .lpd-demo-button{
  border-radius:var(--lpd-demo-radius,var(--lpd-button-radius,6px))!important;
  border-color:var(--lpd-button-base)!important;
  background:transparent!important;
  color:var(--lpd-button-base)!important;
  min-height:var(--lpd-button-height,48px)!important;
}
.lpd-product .lpd-mobile-buy{
  border-radius:var(--lpd-buy-radius,var(--lpd-button-radius,6px))!important;
  border-color:var(--lpd-button-base)!important;
  background:var(--lpd-button-base)!important;
  color:var(--lpd-button-on-color)!important;
}
/* Hover / focus effects deliberately have no border-radius declarations. */
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.single_add_to_cart_button:is(:hover,:focus-visible),
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .variations_button button.single_add_to_cart_button:is(:hover,:focus-visible),
body.lpd-hover-invert .lpd-product .lpd-demo-button:is(:hover,:focus-visible){
  background:var(--lpd-button-base)!important;
  border-color:var(--lpd-button-base)!important;
  color:var(--lpd-button-on-color)!important;
}
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button:is(.single_buy_now_button,.lpd-buy-now):is(:hover,:focus-visible),
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .variations_button button:is(.single_buy_now_button,.lpd-buy-now):is(:hover,:focus-visible),
body.lpd-hover-invert .lpd-product .lpd-mobile-buy:is(:hover,:focus-visible){
  background:transparent!important;
  border-color:var(--lpd-button-base)!important;
  color:var(--lpd-button-base)!important;
}
body.lpd-hover-solid.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button:is(:hover,:focus-visible),
body.lpd-hover-solid.woocommerce .lpd-product .lpd-cart-area .variations_button button:is(:hover,:focus-visible),
body.lpd-hover-solid .lpd-product .lpd-demo-button:is(:hover,:focus-visible),
body.lpd-hover-solid .lpd-product .lpd-mobile-buy:is(:hover,:focus-visible){
  background:var(--lpd-button-hover)!important;
  border-color:var(--lpd-button-hover)!important;
  color:var(--lpd-button-on-color)!important;
}
/* The 'none' option disables color changes but preserves keyboard-visible focus. */
body.lpd-hover-none.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.single_add_to_cart_button:is(:hover,:focus-visible),
body.lpd-hover-none.woocommerce .lpd-product .lpd-cart-area .variations_button button.single_add_to_cart_button:is(:hover,:focus-visible),
body.lpd-hover-none .lpd-product .lpd-demo-button:is(:hover,:focus-visible){
  background:transparent!important;border-color:var(--lpd-button-base)!important;color:var(--lpd-button-base)!important;
}
body.lpd-hover-none.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button:is(.single_buy_now_button,.lpd-buy-now):is(:hover,:focus-visible),
body.lpd-hover-none.woocommerce .lpd-product .lpd-cart-area .variations_button button:is(.single_buy_now_button,.lpd-buy-now):is(:hover,:focus-visible),
body.lpd-hover-none .lpd-product .lpd-mobile-buy:is(:hover,:focus-visible){
  background:var(--lpd-button-base)!important;border-color:var(--lpd-button-base)!important;color:var(--lpd-button-on-color)!important;
}
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button:focus-visible,
body.woocommerce .lpd-product .lpd-cart-area .variations_button button:focus-visible,
.lpd-product .lpd-demo-button:focus-visible,.lpd-product .lpd-mobile-buy:focus-visible{
  outline:2px solid var(--lpd-accent)!important;outline-offset:3px!important;
}
/* Hide effect elements that Nayla attaches to buttons, not the content itself. */
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button::before,
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button::after,
.lpd-product .lpd-demo-button::before,.lpd-product .lpd-demo-button::after,
.lpd-product .lpd-mobile-buy::before,.lpd-product .lpd-mobile-buy::after{content:none!important;display:none!important}
@media(max-width:1099px){
  .lpd-product .lpd-breadcrumb-row{width:100%}
}
@media(prefers-reduced-motion:reduce){
  body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button[type="submit"],
  body.woocommerce .lpd-product .lpd-cart-area .variations_button button.button,
  .lpd-product .lpd-demo-button,.lpd-product .lpd-mobile-buy{transition:none!important}
}

/* 1.0.5 — Nayla button choreography: bottom-up fill + optional two-stage icon.
   This is deliberately scoped to LPD; original Nayla buttons elsewhere are untouched.
   Legacy 'invert' setting now selects this motion without resetting a site's saved options. */
.lpd-product .lpd-animated-button{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  -webkit-tap-highlight-color:transparent;
}
.lpd-product .lpd-animated-button .lpd-button-label{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:.6em;
  position:relative!important;
  z-index:2!important;
  color:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-family:inherit!important;
  font-weight:inherit!important;
  transform:none!important;
  transition:color .2s ease!important;
  pointer-events:none;
}
.lpd-product .lpd-animated-button .lpd-button-icon-stack{
  display:inline-block;
  position:relative;
  flex:0 0 1.15em;
  width:1.15em;
  height:1.15em;
  overflow:hidden;
  font-size:1.1em!important;
  line-height:1.15em!important;
}
.lpd-product .lpd-animated-button .lpd-button-icon{
  position:absolute;
  left:0;top:0;
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-size:inherit!important;
  line-height:inherit!important;
  color:inherit!important;
  transition:transform var(--lpd-button-duration,260ms) ease-out!important;
  will-change:transform;
}
.lpd-product .lpd-animated-button .lpd-button-icon-initial{transform:translate3d(0,0,0)!important}
.lpd-product .lpd-animated-button .lpd-button-icon-next{transform:translate3d(0,160%,0)!important}
/* 1.0.4 form rules used position:static!important; beat those selectors so the
   fill layer is anchored to each button instead of the viewport or form. */
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.lpd-animated-button,
body.woocommerce .lpd-product .lpd-cart-area .variations_button button.button.lpd-animated-button,
.lpd-product .lpd-demo-button.lpd-animated-button,
.lpd-product .lpd-mobile-buy.lpd-animated-button{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
}
/* The original 1.0.4 resets suppress pseudo elements. These more specific rules
   re-enable only the fill layer for motion mode and leave ::after suppressed. */
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.lpd-animated-button::before,
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .variations_button button.lpd-animated-button::before,
body.lpd-hover-invert .lpd-product .lpd-demo-button.lpd-animated-button::before,
body.lpd-hover-invert .lpd-product .lpd-mobile-buy.lpd-animated-button::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--lpd-motion-fill,var(--lpd-button-base))!important;
  transform:translate3d(0,101%,0)!important;
  transition:transform var(--lpd-button-duration,260ms) ease-out!important;
  box-shadow:none!important;
  z-index:0!important;
  opacity:1!important;
  pointer-events:none!important;
}
/* The outline's fill uses Primary; the filled purchase button sweeps Accent. */
body.lpd-hover-invert .lpd-product .lpd-animated-button{--lpd-motion-fill:var(--lpd-button-base)}
body.lpd-hover-invert .lpd-product .lpd-animated-button:is(.single_buy_now_button,.lpd-buy-now,.lpd-mobile-buy){--lpd-motion-fill:var(--lpd-button-hover)}
/* Keep resting colors while the overlay animates — otherwise the hover background
   would change instantly and hide the upward motion. */
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.single_add_to_cart_button:is(:hover,:focus-visible),
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .variations_button button.single_add_to_cart_button:is(:hover,:focus-visible),
body.lpd-hover-invert .lpd-product .lpd-demo-button:is(:hover,:focus-visible){
  background:transparent!important;
  border-color:var(--lpd-button-base)!important;
  color:var(--lpd-button-on-color)!important;
}
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button:is(.single_buy_now_button,.lpd-buy-now):is(:hover,:focus-visible),
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .variations_button button:is(.single_buy_now_button,.lpd-buy-now):is(:hover,:focus-visible),
body.lpd-hover-invert .lpd-product .lpd-mobile-buy:is(:hover,:focus-visible){
  background:var(--lpd-button-base)!important;
  border-color:var(--lpd-button-base)!important;
  color:var(--lpd-button-on-color)!important;
}
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row>button.lpd-animated-button:is(:hover,:focus-visible)::before,
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .variations_button button.lpd-animated-button:is(:hover,:focus-visible)::before,
body.lpd-hover-invert .lpd-product .lpd-demo-button.lpd-animated-button:is(:hover,:focus-visible)::before,
body.lpd-hover-invert .lpd-product .lpd-mobile-buy.lpd-animated-button:is(:hover,:focus-visible)::before{
  transform:translate3d(0,0,0)!important;
}
body.lpd-hover-invert .lpd-product .lpd-animated-button:is(:hover,:focus-visible) .lpd-button-icon-initial{transform:translate3d(0,-160%,0)!important}
body.lpd-hover-invert .lpd-product .lpd-animated-button:is(:hover,:focus-visible) .lpd-button-icon-next{transform:translate3d(0,0,0)!important}
/* Keep the demo label fully visible and clickable: its pseudo overlay is visual only. */
.lpd-product .lpd-demo-button .lpd-button-icon-stack{font-size:1.1em!important}
@media(prefers-reduced-motion:reduce){
  body.lpd-hover-invert .lpd-product .lpd-animated-button::before,
  .lpd-product .lpd-animated-button .lpd-button-icon,
  .lpd-product .lpd-animated-button .lpd-button-label{transition:none!important;will-change:auto!important}
  body.lpd-hover-invert .lpd-product .lpd-animated-button:is(:hover,:focus-visible) .lpd-button-icon-initial{transform:translate3d(0,0,0)!important}
  body.lpd-hover-invert .lpd-product .lpd-animated-button:is(:hover,:focus-visible) .lpd-button-icon-next{transform:translate3d(0,160%,0)!important}
}


/* Leon Product Detail 1.0.5 maintenance patch — preserve custom user CSS.
   Keep button geometry still: only the background fill and optional icon animate.
   Avoid inherited Nayla hover transforms, text offsets and baseline jumps. */
body.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row > button.lpd-animated-button,
body.woocommerce .lpd-product .lpd-cart-area .variations_button button.button.lpd-animated-button,
.lpd-product .lpd-demo-button.lpd-animated-button,
.lpd-product .lpd-mobile-buy.lpd-animated-button {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  vertical-align:middle!important;
  transform:none!important;
  text-indent:0!important;
  box-sizing:border-box!important;
  background-clip:padding-box!important;
  overflow:hidden!important;
}
.lpd-product .lpd-animated-button .lpd-button-label,
.lpd-product .lpd-animated-button:is(:hover,:focus-visible) .lpd-button-label {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  text-indent:0!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  opacity:1!important;
  line-height:inherit!important;
  vertical-align:middle!important;
  white-space:normal;
}
.lpd-product .lpd-animated-button .lpd-button-icon-stack {
  flex-shrink:0;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  vertical-align:middle;
}
/* Match the rounded clipping edge without changing the saved radius values. */
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .lpd-cta-row > button.lpd-animated-button::before,
body.lpd-hover-invert.woocommerce .lpd-product .lpd-cart-area .variations_button button.lpd-animated-button::before,
body.lpd-hover-invert .lpd-product .lpd-demo-button.lpd-animated-button::before,
body.lpd-hover-invert .lpd-product .lpd-mobile-buy.lpd-animated-button::before {
  border-radius:0 !important;
  backface-visibility:hidden;
}

/* WooCommerce quantity: unobtrusive, accessible +/- controls. */
.lpd-product .lpd-cart-area .lpd-quantity-row .quantity.lpd-qty-stepper,
.lpd-product .lpd-cart-area .variations_button .quantity.lpd-qty-stepper {
  display:grid!important;
  grid-template-columns:40px minmax(42px,1fr) 40px!important;
  align-items:center!important;
  box-sizing:border-box!important;
  width:156px!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:44px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid var(--lpd-border)!important;
  border-radius:var(--lpd-button-radius,6px)!important;
  background:transparent!important;
  overflow:hidden!important;
  float:none!important;
}
.lpd-product .lpd-cart-area .lpd-quantity-row .quantity.lpd-qty-stepper input.qty,
.lpd-product .lpd-cart-area .variations_button .quantity.lpd-qty-stepper input.qty {
  display:block!important;
  grid-column:2!important;
  position:static!important;
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  height:42px!important;
  margin:0!important;
  padding:4px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline-offset:-2px!important;
  text-align:center!important;
  font-family:inherit!important;
  font-size:14px!important;
  color:var(--lpd-text)!important;
  -moz-appearance:textfield;
  appearance:textfield;
}
.lpd-product .lpd-qty-stepper input.qty::-webkit-inner-spin-button,
.lpd-product .lpd-qty-stepper input.qty::-webkit-outer-spin-button {
  -webkit-appearance:none;
  margin:0;
}
.lpd-product .lpd-cart-area .lpd-qty-stepper > button.lpd-qty-adjust,
body.woocommerce .lpd-product .lpd-cart-area .lpd-qty-stepper > button.lpd-qty-adjust {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:static!important;
  transform:none!important;
  flex:initial!important;
  width:40px!important;
  height:42px!important;
  min-height:42px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:19px!important;
  font-weight:400!important;
  line-height:1!important;
  color:var(--lpd-text)!important;
  cursor:pointer!important;
  transition:background-color .2s ease,opacity .2s ease!important;
}
.lpd-product .lpd-cart-area .lpd-qty-stepper > button.lpd-qty-adjust::before,
.lpd-product .lpd-cart-area .lpd-qty-stepper > button.lpd-qty-adjust::after {content:none!important;display:none!important}
.lpd-product .lpd-cart-area .lpd-qty-stepper > button.lpd-qty-adjust:is(:hover,:focus-visible):not(:disabled) {
  background:var(--lpd-surface)!important;
}
.lpd-product .lpd-cart-area .lpd-qty-stepper > button.lpd-qty-adjust:disabled {
  opacity:.35!important;
  cursor:not-allowed!important;
}
.lpd-product .lpd-qty-stepper > .lpd-qty-minus {grid-column:1!important;grid-row:1!important}
.lpd-product .lpd-qty-stepper > .lpd-qty-plus {grid-column:3!important;grid-row:1!important}
.lpd-product .lpd-qty-stepper > input.qty {grid-row:1!important}
@media(max-width:480px) {
  .lpd-product .lpd-cart-area .lpd-quantity-row .quantity.lpd-qty-stepper {width:146px!important}
}
@media(prefers-reduced-motion:reduce) {
  .lpd-product .lpd-cart-area .lpd-qty-stepper > button.lpd-qty-adjust {transition:none!important}
}
/* WooCommerce's accessible label must not become an extra grid cell. */
.lpd-product .lpd-cart-area .lpd-qty-stepper > label.screen-reader-text {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.lpd-product .lpd-cart-area .lpd-qty-stepper > :is(.dcrs,.incrs) {display:none!important}

/* Mobile and tablet content gutters. Keep the user's customized front.css unchanged
   above this block. The bottom fixed purchase bar remains edge-to-edge. */
@media (min-width: 768px) and (max-width: 1099px) {
  body.woocommerce .lpd-product {
    padding-inline-start: max(32px, env(safe-area-inset-left, 0px)) !important;
    padding-inline-end: max(32px, env(safe-area-inset-right, 0px)) !important;
  }
}
@media (max-width: 767px) {
  body.woocommerce .lpd-product {
    padding-inline-start: max(20px, env(safe-area-inset-left, 0px)) !important;
    padding-inline-end: max(20px, env(safe-area-inset-right, 0px)) !important;
  }
}
/* 1.0.7: Reserve comfortable space beneath both the review column and the
   Sticky purchase column before the footer/next section. The padding belongs
   to their shared grid, not to the individual columns, so both stay aligned. */
.lpd-product .lpd-layout {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  .lpd-product .lpd-layout {
    padding-bottom: 50px;
  }
}

/* 1.0.9 — prevent a returning transparent fixed Nayla header from visually
   merging with the product details. The initial page-top header stays unchanged. */
body.lpd-layout-active.lpd-header-scrolled #masthead.site-header.fixed:not(.menu-open),
body.lpd-layout-active.lpd-header-scrolled #masthead.site-header.sticky.sticked:not(.menu-open) {
  background-color: var(--mainBackground, #fff) !important;
}

/* 1.0.10: Protect product start from a full-height Elementor/Nayla header
   measurement. The site-wide header, float containment, and sticky panel
   remain untouched. The actual value still follows the admin header gap. */
body.woocommerce .lpd-product {
  padding-top: min(var(--lpd-header-space, var(--lpd-header-gap, 24px)), 180px) !important;
}
