/* Lanzo motion styles. Colours come from Elementor Global Colors (CSS variables), so a rebrand in Site Settings flows through. */
.hero-stage{position:relative;overflow:hidden;isolation:isolate}
.hero-stage>.e-con-inner,.hero-stage>.e-con,.hero-stage>.elementor-element{position:relative;z-index:1}
.lz-bubbles{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}

/* headline words */
.lz-word{display:inline-block;animation:lzRise .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*70ms + 120ms)}
@keyframes lzRise{from{opacity:0;transform:translateY(.45em)}to{opacity:1;transform:none}}

/* product switcher: without JS only the first product shows; in the Elementor editor every product stays visible for editing */
body:not(.elementor-editor-active) .hero-products:not(.lz-ready) .hero-product:not(:first-child){display:none}
.hero-products{position:relative;perspective:1100px}
.hero-products.lz-ready .hero-product{position:absolute;inset:0;margin:0;opacity:0;transform:translateY(24px) scale(.95);transition:opacity .45s ease,transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.hero-products.lz-ready .hero-product.is-active{opacity:1;transform:none;pointer-events:auto}
.hero-products.lz-ready .hero-product .elementor-widget-container,.hero-products.lz-ready .hero-product a{display:block;height:100%}
.hero-products.lz-ready .hero-product img{width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .3s ease}
.hero-products.lz-ready{animation:lzFloat 6s ease-in-out infinite}
@keyframes lzFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
.hero-chip.is-active .elementor-button{background-color:var(--e-global-color-white)!important;color:var(--e-global-color-primary)!important;border-color:var(--e-global-color-white)!important}

/* scroll reveal (only hidden once JS has confirmed it can reveal it again) */
.lz-reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
html.lz-js .lz-reveal:not(.is-in){opacity:0;transform:translateY(28px)}

/* card lift */
.lz-card{transition:box-shadow .3s ease,transform .3s ease}
.lz-card:hover{transform:translateY(-4px);box-shadow:0 0 18px rgba(0,0,0,.14)}
.lz-card .elementor-widget-image img{transition:transform .4s ease}
.lz-card:hover .elementor-widget-image img{transform:scale(1.04)}

@media (prefers-reduced-motion:reduce){.lz-word,.hero-products.lz-ready{animation:none}.lz-reveal,.lz-card,.hero-products .hero-product{transition:none}}

/* ---------- mega menu ---------- */
.site-header{position:relative}
body:not(.elementor-editor-active) .mega-panels{position:absolute;left:0;right:0;top:100%;z-index:998;height:0;overflow:visible}
body:not(.elementor-editor-active) .mega-panel{position:absolute;left:0;right:0;top:0;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .22s ease,transform .26s cubic-bezier(.2,.7,.2,1),visibility 0s linear .26s;box-shadow:0 28px 48px -28px rgba(31,26,33,.28)}
body:not(.elementor-editor-active) .mega-panel.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .26s cubic-bezier(.2,.7,.2,1),visibility 0s}
.mega-links .elementor-icon-list-item a{transition:color .18s ease}
.mega-links .elementor-icon-list-text{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;padding-bottom:2px;transition:background-size .25s ease}
.mega-links .elementor-icon-list-item a:hover .elementor-icon-list-text,.mega-links .elementor-icon-list-item a:focus-visible .elementor-icon-list-text{background-size:100% 2px}
.mega-feature-media{overflow:hidden}
.mega-feature-image img{transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.mega-feature:hover .mega-feature-image img{transform:translateY(-6px) scale(1.03)}
@media (min-width:1025px){
  html.lz-mega .site-nav .xpro-elementor-horizontal-navbar-nav > li > .xpro-elementor-dropdown-menu{display:none!important}
  html.lz-mega .site-nav li.has-mega .xpro-dropdown-menu-toggle{transition:transform .25s ease}
  html.lz-mega .site-nav li.mega-active .xpro-dropdown-menu-toggle{transform:rotate(180deg)}
  html.lz-mega .site-nav .xpro-elementor-horizontal-navbar-nav > li.mega-active > a{color:var(--e-global-color-primary)}
}
@media (prefers-reduced-motion:reduce){body:not(.elementor-editor-active) .mega-panel{transition:none;transform:none}.mega-links .elementor-icon-list-text{transition:none}}
/* top-level menu underline sits just under the word (Method style) */
@media (min-width:1025px){.site-nav .xpro-elementor-horizontal-navbar-nav > li > a:before{bottom:20px!important;height:3px!important;border-radius:3px}}

/* ---------- header icons + cart badge ---------- */
.site-cart a,.site-cart .elementor-icon{position:relative}
.site-cart [data-count]::after{content:attr(data-count);position:absolute;top:-10px;right:-12px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;border:1.5px solid var(--e-global-color-primary);background:var(--e-global-color-white,#fff);color:var(--e-global-color-primary);font:600 11px/17px var(--e-global-typography-text-font-family),sans-serif;text-align:center;box-sizing:border-box}
.site-search .xpro-search-button,.site-search button{background:transparent!important}
.lz-price-request{font-weight:600;color:var(--e-global-color-accent)}
.lz-wa-order{margin:8px 0 20px}
.lz-wa-order .lz-wa-button{background:var(--e-global-color-whatsapp)!important;color:#fff!important;border-radius:999px!important;padding:14px 32px!important;text-transform:lowercase}
.lz-wa-order .lz-wa-button:hover{background:var(--e-global-color-accent)!important}
/* ---------- woo shop grid (Method-style tiles) ---------- */
.woocommerce ul.products li.product{display:flex;flex-direction:column;text-align:left}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{border-radius:24px;overflow:hidden;background:linear-gradient(180deg,var(--e-global-color-soft,#F8F4F8),#fff);padding:24px}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img{height:300px!important;width:100%!important;object-fit:contain;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img{transform:translateY(-6px) scale(1.03)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:20px;font-weight:600;text-transform:lowercase;color:var(--e-global-color-ink)}
.woocommerce ul.products li.product .ast-woo-product-category{text-transform:lowercase;color:var(--e-global-color-accent);font-size:14px}
.woocommerce ul.products li.product .button{margin-top:auto;border-radius:999px;text-transform:lowercase}
.lz-shop-head{padding:48px 0 8px}.lz-shop-head h1{font-size:clamp(36px,5vw,56px);font-weight:800;text-transform:lowercase;color:var(--e-global-color-ink);margin:0 0 8px;letter-spacing:-.02em}.lz-shop-head p{font-size:20px;color:var(--e-global-color-text);margin:0}
.lz-shop-cats{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 8px}.lz-shop-cats a{border:2px solid var(--e-global-color-primary);border-radius:999px;padding:8px 18px;color:var(--e-global-color-plum);font-weight:500;text-decoration:none;text-transform:lowercase}.lz-shop-cats a:hover,.lz-shop-cats a.is-current{background:var(--e-global-color-primary);color:#fff}
@media (max-width:767px){.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img{height:200px!important}.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{padding:14px}}
/* ---------- woo single product ---------- */
.single-product div.product .product_title{font-size:clamp(32px,3.4vw,44px);font-weight:800;text-transform:lowercase;letter-spacing:-.02em;color:var(--e-global-color-ink);line-height:1.1}
.single-product div.product p.price,.single-product div.product span.price{font-size:22px}
.single-product div.product .woocommerce-product-gallery__image{background:linear-gradient(180deg,var(--e-global-color-soft,#F8F4F8),#fff);border-radius:32px}
.single-product div.product .woocommerce-product-gallery__image img{max-height:620px;object-fit:contain}
.single-product .single_variation_wrap .woocommerce-variation-availability:empty,.single-product .stock:empty{display:none}
.single-product .woocommerce-tabs h2{font-size:28px;text-transform:lowercase}
.single-product .woocommerce-tabs h3{font-size:20px;margin-top:1.4em}