.elementor-21 .elementor-element.elementor-element-15cc918{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-99a6b90{--e-image-carousel-slides-to-show:1;}.elementor-21 .elementor-element.elementor-element-f84b969{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-21 .elementor-element.elementor-element-85d6326{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-21 .elementor-element.elementor-element-85d6326 .elementor-divider-separator{width:100%;}.elementor-21 .elementor-element.elementor-element-85d6326 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-21 .elementor-element.elementor-element-85d6326 .elementor-divider__text{color:#000000;font-family:"Poppins", Sans-serif;font-size:20px;font-weight:600;}.elementor-21 .elementor-element.elementor-element-71d5ff2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products{--products-title-color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.products-heading-show .related-products > h2, .elementor-widget-woocommerce-products.products-heading-show .upsells > h2, .elementor-widget-woocommerce-products.products-heading-show .cross-sells > h2{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product{text-align:center;--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;border-style:solid;border-width:1px 1px 1px 1px;border-radius:5px;padding:0px 0px 5px 0px;border-color:#C9C9C9;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:"Outfit", Sans-serif;font-size:13px;font-weight:300;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .star-rating{color:#FF8800;font-size:0.6em;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .price{color:#FF0000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .price ins{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .price ins .amount{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .price del{color:#000000;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .price del .amount{color:#000000;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .price del {font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .button{color:#FFFFFF;background-color:#000000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;border-radius:5px 5px 5px 5px;padding:20px 20px 15px 20px;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product .button:hover{background-color:#202020;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products .added_to_cart{font-family:"Outfit", Sans-serif;font-weight:500;}.elementor-21 .elementor-element.elementor-element-991448c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-fdb4a53{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-21 .elementor-element.elementor-element-566880e .elementor-button{background-color:#000000;font-family:"Poppins", Sans-serif;font-weight:300;border-radius:0px 0px 0px 0px;padding:15px 25px 15px 25px;}.elementor-21 .elementor-element.elementor-element-b6ebf05{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:50px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-7327a38{--display:flex;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-7327a38:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-7327a38 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1B1C24;}.elementor-21 .elementor-element.elementor-element-790dbfa{--divider-border-style:solid;--divider-color:#FFFFFF;--divider-border-width:1px;}.elementor-21 .elementor-element.elementor-element-790dbfa .elementor-divider-separator{width:100%;}.elementor-21 .elementor-element.elementor-element-790dbfa .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-21 .elementor-element.elementor-element-790dbfa .elementor-divider__text{color:#FFFFFF;font-family:"Poppins", Sans-serif;font-size:20px;font-weight:600;}.elementor-21 .elementor-element.elementor-element-6f61ca9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-307a4db{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-21 .elementor-element.elementor-element-307a4db .elementor-divider-separator{width:100%;}.elementor-21 .elementor-element.elementor-element-307a4db .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-21 .elementor-element.elementor-element-307a4db .elementor-divider__text{color:#000000;font-family:"Poppins", Sans-serif;font-size:20px;font-weight:600;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product{text-align:center;--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;border-style:solid;border-width:1px 1px 1px 1px;border-radius:5px;padding:0px 0px 5px 0px;border-color:#C9C9C9;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:"Outfit", Sans-serif;font-size:13px;font-weight:300;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .star-rating{color:#FF8800;font-size:0.6em;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .price{color:#FF0000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .price ins{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .price ins .amount{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .price del{color:#000000;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .price del .amount{color:#000000;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .price del {font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .button{color:#FFFFFF;background-color:#000000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;border-radius:5px 5px 5px 5px;padding:20px 20px 15px 20px;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .button:hover{background-color:#202020;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products .added_to_cart{font-family:"Outfit", Sans-serif;font-weight:500;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-21 .elementor-element.elementor-element-c5c77fa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-6487df6 .elementor-button{background-color:#000000;font-family:"Poppins", Sans-serif;font-weight:300;border-radius:0px 0px 0px 0px;padding:15px 25px 15px 25px;}.elementor-21 .elementor-element.elementor-element-5b92104{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-5b92104.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-21 .elementor-element.elementor-element-fb4fa2d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-21 .elementor-element.elementor-element-fb4fa2d img{width:100%;max-width:100%;}.elementor-21 .elementor-element.elementor-element-23ca4ce{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-fb55786{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-21 .elementor-element.elementor-element-fb55786 .elementor-divider-separator{width:100%;}.elementor-21 .elementor-element.elementor-element-fb55786 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-21 .elementor-element.elementor-element-fb55786 .elementor-divider__text{color:#000000;font-family:"Poppins", Sans-serif;font-size:20px;font-weight:600;}.elementor-21 .elementor-element.elementor-element-78b2a04{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-a2ec52c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product{text-align:center;--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;border-style:solid;border-width:1px 1px 1px 1px;border-radius:5px;padding:0px 0px 5px 0px;border-color:#C9C9C9;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:"Outfit", Sans-serif;font-size:13px;font-weight:300;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .star-rating{color:#FF8800;font-size:0.6em;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .price{color:#FF0000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .price ins{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .price ins .amount{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .price del{color:#000000;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .price del .amount{color:#000000;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .price del {font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .button{color:#FFFFFF;background-color:#000000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;border-radius:5px 5px 5px 5px;padding:20px 20px 15px 20px;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product .button:hover{background-color:#202020;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products .added_to_cart{font-family:"Outfit", Sans-serif;font-weight:500;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-21 .elementor-element.elementor-element-5a235cf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-bfce9ec .elementor-button{background-color:#000000;font-family:"Poppins", Sans-serif;font-weight:300;border-radius:0px 0px 0px 0px;padding:15px 25px 15px 25px;}.elementor-21 .elementor-element.elementor-element-4434786{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-00a95ca{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-21 .elementor-element.elementor-element-00a95ca .elementor-divider-separator{width:100%;}.elementor-21 .elementor-element.elementor-element-00a95ca .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-21 .elementor-element.elementor-element-00a95ca .elementor-divider__text{color:#000000;font-family:"Poppins", Sans-serif;font-size:20px;font-weight:600;}.elementor-21 .elementor-element.elementor-element-0c51cf8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-d6365d4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product{text-align:center;--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;border-style:solid;border-width:1px 1px 1px 1px;border-radius:5px;padding:0px 0px 5px 0px;border-color:#C9C9C9;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:"Outfit", Sans-serif;font-size:13px;font-weight:300;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .star-rating{color:#FF8800;font-size:0.6em;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .price{color:#FF0000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .price ins{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .price ins .amount{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .price del{color:#000000;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .price del .amount{color:#000000;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .price del {font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .button{color:#FFFFFF;background-color:#000000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;border-radius:5px 5px 5px 5px;padding:20px 20px 15px 20px;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product .button:hover{background-color:#202020;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products .added_to_cart{font-family:"Outfit", Sans-serif;font-weight:500;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-21 .elementor-element.elementor-element-14e2ad7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-080ea1b .elementor-button{background-color:#000000;font-family:"Poppins", Sans-serif;font-weight:300;border-radius:0px 0px 0px 0px;padding:15px 25px 15px 25px;}.elementor-21 .elementor-element.elementor-element-25b3417{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-b061b06{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-21 .elementor-element.elementor-element-b061b06 .elementor-divider-separator{width:100%;}.elementor-21 .elementor-element.elementor-element-b061b06 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-21 .elementor-element.elementor-element-b061b06 .elementor-divider__text{color:#000000;font-family:"Poppins", Sans-serif;font-size:20px;font-weight:600;}.elementor-21 .elementor-element.elementor-element-f2f671c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-5b10743{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product{text-align:center;--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;border-style:solid;border-width:1px 1px 1px 1px;border-radius:5px;padding:0px 0px 5px 0px;border-color:#C9C9C9;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:"Outfit", Sans-serif;font-size:13px;font-weight:300;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .star-rating{color:#FF8800;font-size:0.6em;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .price{color:#FF0000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .price ins{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .price ins .amount{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .price del{color:#000000;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .price del .amount{color:#000000;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .price del {font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .button{color:#FFFFFF;background-color:#000000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;border-radius:5px 5px 5px 5px;padding:20px 20px 15px 20px;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product .button:hover{background-color:#202020;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products .added_to_cart{font-family:"Outfit", Sans-serif;font-weight:500;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-21 .elementor-element.elementor-element-a52c98c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-11af14b .elementor-button{background-color:#000000;font-family:"Poppins", Sans-serif;font-weight:300;border-radius:0px 0px 0px 0px;padding:15px 25px 15px 25px;}.elementor-21 .elementor-element.elementor-element-18472b1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-b3897a1{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-21 .elementor-element.elementor-element-b3897a1 .elementor-divider-separator{width:100%;}.elementor-21 .elementor-element.elementor-element-b3897a1 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-21 .elementor-element.elementor-element-b3897a1 .elementor-divider__text{color:#000000;font-family:"Poppins", Sans-serif;font-size:20px;font-weight:600;}.elementor-21 .elementor-element.elementor-element-a9d7166{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-ca145fb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product{text-align:center;--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;border-style:solid;border-width:1px 1px 1px 1px;border-radius:5px;padding:0px 0px 5px 0px;border-color:#C9C9C9;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:"Outfit", Sans-serif;font-size:13px;font-weight:300;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .star-rating{color:#FF8800;font-size:0.6em;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .price{color:#FF0000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .price ins{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .price ins .amount{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .price del{color:#000000;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .price del .amount{color:#000000;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .price del {font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .button{color:#FFFFFF;background-color:#000000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;border-radius:5px 5px 5px 5px;padding:20px 20px 15px 20px;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product .button:hover{background-color:#202020;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products .added_to_cart{font-family:"Outfit", Sans-serif;font-weight:500;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-21 .elementor-element.elementor-element-940a304{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-623a675 .elementor-button{background-color:#000000;font-family:"Poppins", Sans-serif;font-weight:300;border-radius:0px 0px 0px 0px;padding:15px 25px 15px 25px;}.elementor-21 .elementor-element.elementor-element-4c83608{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-e66124d{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-21 .elementor-element.elementor-element-e66124d .elementor-divider-separator{width:100%;}.elementor-21 .elementor-element.elementor-element-e66124d .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-21 .elementor-element.elementor-element-e66124d .elementor-divider__text{color:#000000;font-family:"Poppins", Sans-serif;font-size:20px;font-weight:600;}.elementor-21 .elementor-element.elementor-element-dfb73c9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-d05919a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product{text-align:center;--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;border-style:solid;border-width:1px 1px 1px 1px;border-radius:5px;padding:0px 0px 5px 0px;border-color:#C9C9C9;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:"Outfit", Sans-serif;font-size:13px;font-weight:300;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .star-rating{color:#FF8800;font-size:0.6em;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .price{color:#FF0000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .price ins{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .price ins .amount{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .price del{color:#000000;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .price del .amount{color:#000000;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .price del {font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .button{color:#FFFFFF;background-color:#000000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;border-radius:5px 5px 5px 5px;padding:20px 20px 15px 20px;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product .button:hover{background-color:#202020;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products .added_to_cart{font-family:"Outfit", Sans-serif;font-weight:500;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-21 .elementor-element.elementor-element-0a4f22a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-56ee632 .elementor-button{background-color:#000000;font-family:"Poppins", Sans-serif;font-weight:300;border-radius:0px 0px 0px 0px;padding:15px 25px 15px 25px;}.elementor-21 .elementor-element.elementor-element-17fef46{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-588c3ac{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-21 .elementor-element.elementor-element-588c3ac .elementor-divider-separator{width:100%;}.elementor-21 .elementor-element.elementor-element-588c3ac .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-21 .elementor-element.elementor-element-588c3ac .elementor-divider__text{color:#000000;font-family:"Poppins", Sans-serif;font-size:20px;font-weight:600;}.elementor-21 .elementor-element.elementor-element-20ad1d6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-a56c880{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product{text-align:center;--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;border-style:solid;border-width:1px 1px 1px 1px;border-radius:5px;padding:0px 0px 5px 0px;border-color:#C9C9C9;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:#000000;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:"Outfit", Sans-serif;font-size:13px;font-weight:300;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .star-rating{color:#FF8800;font-size:0.6em;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .price{color:#FF0000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .price ins{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .price ins .amount{color:#FF0000;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .price del{color:#000000;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .price del .amount{color:#000000;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .price del {font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .button{color:#FFFFFF;background-color:#000000;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;border-radius:5px 5px 5px 5px;padding:20px 20px 15px 20px;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product .button:hover{background-color:#202020;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products .added_to_cart{font-family:"Outfit", Sans-serif;font-weight:500;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-21 .elementor-element.elementor-element-cabca3c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-871a196 .elementor-button{background-color:#000000;font-family:"Poppins", Sans-serif;font-weight:300;border-radius:0px 0px 0px 0px;padding:15px 25px 15px 25px;}.elementor-21 .elementor-element.elementor-element-cf15ea0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:-40px;--margin-left:0px;--margin-right:0px;--z-index:2;}.elementor-21 .elementor-element.elementor-element-cf15ea0:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-cf15ea0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F4F4;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-ed2ddba{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -12px) 0px;text-align:center;}.elementor-21 .elementor-element.elementor-element-ed2ddba .elementor-heading-title{font-family:"Outfit", Sans-serif;font-size:21px;font-weight:300;color:#000000;}.elementor-21 .elementor-element.elementor-element-a1d36d8{margin:-13px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-21 .elementor-element.elementor-element-a1d36d8 .elementor-heading-title{font-family:"Outfit", Sans-serif;font-size:21px;font-weight:300;color:#000000;}.elementor-21 .elementor-element.elementor-element-530ddcc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1024px){.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(min-width:768px){.elementor-21 .elementor-element.elementor-element-15cc918{--width:100%;}.elementor-21 .elementor-element.elementor-element-f84b969{--content-width:1400px;}.elementor-21 .elementor-element.elementor-element-71d5ff2{--content-width:1400px;}.elementor-21 .elementor-element.elementor-element-991448c{--content-width:15%;}.elementor-21 .elementor-element.elementor-element-7327a38{--content-width:1400px;}.elementor-21 .elementor-element.elementor-element-6f61ca9{--content-width:1406px;}.elementor-21 .elementor-element.elementor-element-c5c77fa{--content-width:15%;}.elementor-21 .elementor-element.elementor-element-5b92104{--width:100%;}.elementor-21 .elementor-element.elementor-element-23ca4ce{--content-width:1400px;}.elementor-21 .elementor-element.elementor-element-78b2a04{--content-width:1406px;}.elementor-21 .elementor-element.elementor-element-5a235cf{--content-width:15%;}.elementor-21 .elementor-element.elementor-element-4434786{--content-width:1400px;}.elementor-21 .elementor-element.elementor-element-0c51cf8{--content-width:1406px;}.elementor-21 .elementor-element.elementor-element-14e2ad7{--content-width:15%;}.elementor-21 .elementor-element.elementor-element-25b3417{--content-width:1400px;}.elementor-21 .elementor-element.elementor-element-f2f671c{--content-width:1406px;}.elementor-21 .elementor-element.elementor-element-a52c98c{--content-width:15%;}.elementor-21 .elementor-element.elementor-element-18472b1{--content-width:1400px;}.elementor-21 .elementor-element.elementor-element-a9d7166{--content-width:1406px;}.elementor-21 .elementor-element.elementor-element-940a304{--content-width:15%;}.elementor-21 .elementor-element.elementor-element-4c83608{--content-width:1400px;}.elementor-21 .elementor-element.elementor-element-dfb73c9{--content-width:1406px;}.elementor-21 .elementor-element.elementor-element-0a4f22a{--content-width:15%;}.elementor-21 .elementor-element.elementor-element-17fef46{--content-width:1400px;}.elementor-21 .elementor-element.elementor-element-20ad1d6{--content-width:1406px;}.elementor-21 .elementor-element.elementor-element-cabca3c{--content-width:15%;}}@media(max-width:767px){.elementor-21 .elementor-element.elementor-element-99a6b90{--e-image-carousel-slides-to-show:1;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-21 .elementor-element.elementor-element-f84b969{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-f6b6933.elementor-wc-products ul.products li.product{padding:5px 5px 5px 5px;}.elementor-21 .elementor-element.elementor-element-991448c{--content-width:50%;--margin-top:10px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-fdb4a53{--margin-top:10px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-b6ebf05{--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-6f61ca9{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-f9f18df > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products  ul.products{grid-column-gap:5px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products .attachment-woocommerce_thumbnail{border-radius:0px 0px 0px 0px;margin-bottom:0px;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{margin-bottom:0px;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{margin-bottom:0px;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product .star-rating{margin-bottom:0px;}.elementor-21 .elementor-element.elementor-element-f9f18df.elementor-wc-products ul.products li.product{padding:5px 5px 5px 5px;}.elementor-21 .elementor-element.elementor-element-c5c77fa{--content-width:50%;--margin-top:10px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-23ca4ce{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-97b4a5e.elementor-wc-products ul.products li.product{padding:5px 5px 5px 5px;}.elementor-21 .elementor-element.elementor-element-5a235cf{--content-width:50%;--margin-top:10px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-4434786{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-78b8a08.elementor-wc-products ul.products li.product{padding:5px 5px 5px 5px;}.elementor-21 .elementor-element.elementor-element-14e2ad7{--content-width:50%;--margin-top:10px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-25b3417{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-ae3ee15.elementor-wc-products ul.products li.product{padding:5px 5px 5px 5px;}.elementor-21 .elementor-element.elementor-element-a52c98c{--content-width:50%;--margin-top:10px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-18472b1{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-073c203.elementor-wc-products ul.products li.product{padding:5px 5px 5px 5px;}.elementor-21 .elementor-element.elementor-element-940a304{--content-width:50%;--margin-top:10px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-4c83608{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-cf5d654.elementor-wc-products ul.products li.product{padding:5px 5px 5px 5px;}.elementor-21 .elementor-element.elementor-element-0a4f22a{--content-width:50%;--margin-top:10px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-17fef46{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-21 .elementor-element.elementor-element-0580350.elementor-wc-products ul.products li.product{padding:5px 5px 5px 5px;}.elementor-21 .elementor-element.elementor-element-cabca3c{--content-width:50%;--margin-top:10px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;}.elementor-21 .elementor-element.elementor-element-ed2ddba .elementor-heading-title{font-size:18px;}.elementor-21 .elementor-element.elementor-element-a1d36d8 .elementor-heading-title{font-size:17px;}}/* Start custom CSS for woocommerce-products, class: .elementor-element-f6b6933 *//* Hide original button text */
.woocommerce a.add_to_cart_button span,
.woocommerce button.single_add_to_cart_button span,
.woocommerce a.add_to_cart_button,
.woocommerce button.single_add_to_cart_button {
    font-size: 0 !important;
    color: transparent !important;
}

/* Inject "Order Now" text */
.woocommerce a.add_to_cart_button::after,
.woocommerce button.single_add_to_cart_button::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

/* Fix for "Select options" button (variable products) */
.woocommerce a.button.product_type_variable::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

.woocommerce a.button.product_type_variable {
    font-size: 0 !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-566880e *//* Fix padding for this specific Elementor button */
.elementor-21 .elementor-element.elementor-element-566880e .elementor-button {
    padding: 15px 25px 15px 25px !important; /* Top Right Bottom Left */
    width: auto !important; /* This stops it from stretching to 100% width */
}

<style>
/* ============================================
   FUTURISTIC ELEMENTOR BUTTON — ALL IN ONE
   Black & White Theme + BLAST EFFECT
============================================ */

.elementor-button {
  position: relative !important;
  overflow: visible !important;
  cursor: pointer !important;
  z-index: 1 !important;
  transition: color 0.35s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
  isolation: isolate !important;
}

/* Clip inner content but allow overflow for blast */
.elementor-button .elementor-button-content-wrapper {
  position: relative !important;
  z-index: 2 !important;
}

/* White fill sweep left → right */
.elementor-button::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: #ffffff !important;
  transition: left 0.45s cubic-bezier(0.77, 0, 0.18, 1) !important;
  z-index: -1 !important;
  border-radius: inherit !important;
}
.elementor-button:hover::after { left: 0 !important; }

/* Force text black on hover */
.elementor-button:hover,
.elementor-button:hover span,
.elementor-button:hover .elementor-button-text,
.elementor-button:hover .elementor-button-icon {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Lift + glow on hover */
.elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.12),
    0 10px 35px rgba(0,0,0,0.18),
    0 0 50px rgba(0,0,0,0.06) !important;
}

/* Corner brackets */
.fe-tl, .fe-br {
  position: absolute !important;
  width: 9px !important; height: 9px !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, transform 0.35s ease !important;
  opacity: 0 !important;
  z-index: 6 !important;
}
.fe-tl {
  top: 5px !important; left: 5px !important;
  border-top: 2px solid #000 !important;
  border-left: 2px solid #000 !important;
  transform: translate(-5px,-5px) !important;
}
.fe-br {
  bottom: 5px !important; right: 5px !important;
  border-bottom: 2px solid #000 !important;
  border-right: 2px solid #000 !important;
  transform: translate(5px,5px) !important;
}
.elementor-button:hover .fe-tl,
.elementor-button:hover .fe-br {
  opacity: 1 !important;
  transform: translate(0,0) !important;
}

/* Scan line */
.fe-scan {
  position: absolute !important;
  left: 0 !important; width: 100% !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.5), transparent) !important;
  top: -10% !important;
  pointer-events: none !important;
  z-index: 5 !important;
  opacity: 0 !important;
}
@keyframes feScanLine {
  0%   { top: -5%;  opacity: 1; }
  100% { top: 110%; opacity: 0; }
}
.elementor-button:hover .fe-scan {
  animation: feScanLine 0.65s ease forwards !important;
}

/* ── BLAST: Shockwave rings (appended to body, position:fixed) ── */
.fe-ring {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform: translate(-50%, -50%) scale(0) !important;
  animation: feRingBlast var(--dur, 0.6s) ease-out forwards !important;
  animation-delay: var(--delay, 0s) !important;
  border: var(--thickness, 2px) solid var(--color, #000) !important;
}
@keyframes feRingBlast {
  0%   { transform: translate(-50%,-50%) scale(0);  opacity: 0.9; }
  60%  { opacity: 0.45; }
  100% { transform: translate(-50%,-50%) scale(1);  opacity: 0; }
}

/* ── BLAST: Streak lines ── */
.fe-streak {
  position: fixed !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform-origin: left center !important;
  transform: scaleX(0) !important;
  animation: feStreak 0.5s ease-out forwards !important;
  border-radius: 3px !important;
}
@keyframes feStreak {
  0%   { transform: scaleX(0); opacity: 1; }
  55%  { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(1.15); opacity: 0; }
}

/* ── BLAST: Particles ── */
.fe-particle {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  animation: feParticleBurst var(--pdur, 0.75s) ease-out forwards !important;
}
@keyframes feParticleBurst {
  0%   { transform: translate(0,0) scale(1);               opacity: 1; }
  100% { transform: translate(var(--tx),var(--ty)) scale(0); opacity: 0; }
}

/* ── BLAST: Screen flash ── */
.fe-flash {
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 99998 !important;
  background: radial-gradient(circle at var(--fx) var(--fy), rgba(255,255,255,0.6) 0%, transparent 60%) !important;
  animation: feFlash 0.3s ease-out forwards !important;
}
@keyframes feFlash {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}

/* ── BLAST: Button recoil ── */
@keyframes feRecoil {
  0%   { transform: scale(1); }
  15%  { transform: scale(0.86); }
  45%  { transform: scale(1.07); }
  70%  { transform: scale(0.97); }
  100% { transform: scale(1); }
}
.fe-recoil {
  animation: feRecoil 0.52s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards !important;
}
</style>

<script>
(function () {
  var PARTICLE_COUNT = 30;
  var STREAK_COUNT   = 12;

  function getColors(btn) {
    var bg = window.getComputedStyle(btn).backgroundColor;
    var isDark = bg.indexOf('0, 0, 0') > -1
              || bg.indexOf('17,')  > -1
              || bg.indexOf('26,')  > -1
              || bg.indexOf('51,')  > -1;
    return isDark
      ? ['#ffffff','#dddddd','#aaaaaa','#eeeeee','#cccccc']
      : ['#000000','#222222','#444444','#111111','#333333'];
  }

  /* ── Decorate each button once ── */
  function decorateBtn(btn) {
    if (btn.dataset.feReady) return;
    btn.dataset.feReady = '1';

    ['fe-scan','fe-tl','fe-br'].forEach(function (cls) {
      var el = document.createElement('span');
      el.className = cls;
      btn.appendChild(el);
    });

    btn.addEventListener('mousemove', function (e) {
      var r  = btn.getBoundingClientRect();
      var dx = (e.clientX - (r.left + r.width  / 2)) * 0.15;
      var dy = (e.clientY - (r.top  + r.height / 2)) * 0.15;
      btn.style.transform = 'translate('+dx+'px,'+dy+'px) translateY(-3px)';
    });
    btn.addEventListener('mouseleave', function () {
      btn.style.transform = '';
    });
  }

  /* ── Shockwave rings ── */
  function spawnRings(cx, cy, colors) {
    var cfg = [
      { size: 70,  dur: 0.45, delay: 0,    thick: 3 },
      { size: 130, dur: 0.55, delay: 0.06, thick: 2 },
      { size: 200, dur: 0.65, delay: 0.13, thick: 1.5 },
      { size: 290, dur: 0.75, delay: 0.21, thick: 1 }
    ];
    cfg.forEach(function (c) {
      var r = document.createElement('div');
      r.className = 'fe-ring';
      r.style.cssText =
        'left:'+cx+'px;top:'+cy+'px;'+
        'width:'+c.size+'px;height:'+c.size+'px;'+
        '--dur:'+c.dur+'s;--delay:'+c.delay+'s;'+
        '--color:'+colors[0]+';--thickness:'+c.thick+'px;';
      document.body.appendChild(r);
      setTimeout(function(){ r.remove(); }, (c.dur + c.delay + 0.15) * 1000);
    });
  }

  /* ── Streak lines ── */
  function spawnStreaks(cx, cy, colors) {
    for (var i = 0; i < STREAK_COUNT; i++) {
      (function (i) {
        var angle  = (360 / STREAK_COUNT) * i + (Math.random() * 20 - 10);
        var len    = 18 + Math.random() * 50;
        var h      = 1.5 + Math.random() * 2.5;
        var color  = colors[Math.floor(Math.random() * colors.length)];
        var delay  = Math.random() * 0.07;

        var s = document.createElement('div');
        s.className = 'fe-streak';
        s.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+len+'px;height:'+h+'px;'+
          'background:'+color+';'+
          'rotate:'+angle+'deg;'+
          'box-shadow:0 0 5px '+color+';'+
          'animation-delay:'+delay+'s;';
        document.body.appendChild(s);
        setTimeout(function(){ s.remove(); }, 620);
      })(i);
    }
  }

  /* ── Particles ── */
  function spawnParticles(cx, cy, colors) {
    for (var i = 0; i < PARTICLE_COUNT; i++) {
      (function (i) {
        var angle    = (360 / PARTICLE_COUNT) * i + (Math.random() * 22 - 11);
        var distance = 55 + Math.random() * 110;
        var rad      = angle * Math.PI / 180;
        var tx       = Math.cos(rad) * distance;
        var ty       = Math.sin(rad) * distance;
        var size     = 2.5 + Math.random() * 5;
        var color    = colors[Math.floor(Math.random() * colors.length)];
        var delay    = Math.random() * 0.1;
        var dur      = 0.55 + Math.random() * 0.35;

        var p = document.createElement('span');
        p.className = 'fe-particle';
        p.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+size+'px;height:'+size+'px;'+
          'background:'+color+';'+
          'box-shadow:0 0 '+(size*2.5)+'px '+color+';'+
          '--pdur:'+dur+'s;'+
          'animation-delay:'+delay+'s;';
        p.style.setProperty('--tx', tx+'px');
        p.style.setProperty('--ty', ty+'px');
        document.body.appendChild(p);
        setTimeout(function(){ p.remove(); }, (dur + delay + 0.15) * 1000);
      })(i);
    }
  }

  /* ── Flash ── */
  function spawnFlash(cx, cy) {
    var f = document.createElement('div');
    f.className = 'fe-flash';
    f.style.setProperty('--fx', cx+'px');
    f.style.setProperty('--fy', cy+'px');
    document.body.appendChild(f);
    setTimeout(function(){ f.remove(); }, 350);
  }

  /* ── Recoil ── */
  function recoilBtn(btn) {
    btn.classList.remove('fe-recoil');
    void btn.offsetWidth;
    btn.classList.add('fe-recoil');
    setTimeout(function(){ btn.classList.remove('fe-recoil'); }, 560);
  }

  /* ── Master blast ── */
  function blast(btn, ex, ey) {
    var colors = getColors(btn);
    spawnFlash(ex, ey);
    spawnRings(ex, ey, colors);
    spawnStreaks(ex, ey, colors);
    spawnParticles(ex, ey, colors);
    recoilBtn(btn);
  }

  /* ── Init ── */
  function init() {
    document.querySelectorAll('.elementor-button').forEach(decorateBtn);
  }

  document.addEventListener('click', function (e) {
    var btn = e.target.closest('.elementor-button');
    if (!btn) return;
    blast(btn, e.clientX, e.clientY);
  });

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }

  var obs = new MutationObserver(init);
  obs.observe(document.body, { childList: true, subtree: true });

})();
</script>/* End custom CSS */
/* Start custom CSS for woocommerce-products, class: .elementor-element-f9f18df *//* Hide original button text */
.woocommerce a.add_to_cart_button span,
.woocommerce button.single_add_to_cart_button span,
.woocommerce a.add_to_cart_button,
.woocommerce button.single_add_to_cart_button {
    font-size: 0 !important;
    color: transparent !important;
}

/* Inject "Order Now" text */
.woocommerce a.add_to_cart_button::after,
.woocommerce button.single_add_to_cart_button::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

/* Fix for "Select options" button (variable products) */
.woocommerce a.button.product_type_variable::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

.woocommerce a.button.product_type_variable {
    font-size: 0 !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-6487df6 *//* Fix padding for this specific Elementor button */
.elementor-21 .elementor-element.elementor-element-6487df6 .elementor-button {
    padding: 15px 25px 15px 25px !important; /* Top Right Bottom Left */
    width: auto !important; /* This stops it from stretching to 100% width */
}

<style>
/* ============================================
   FUTURISTIC ELEMENTOR BUTTON — ALL IN ONE
   Black & White Theme + BLAST EFFECT
============================================ */

.elementor-button {
  position: relative !important;
  overflow: visible !important;
  cursor: pointer !important;
  z-index: 1 !important;
  transition: color 0.35s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
  isolation: isolate !important;
}

/* Clip inner content but allow overflow for blast */
.elementor-button .elementor-button-content-wrapper {
  position: relative !important;
  z-index: 2 !important;
}

/* White fill sweep left → right */
.elementor-button::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: #ffffff !important;
  transition: left 0.45s cubic-bezier(0.77, 0, 0.18, 1) !important;
  z-index: -1 !important;
  border-radius: inherit !important;
}
.elementor-button:hover::after { left: 0 !important; }

/* Force text black on hover */
.elementor-button:hover,
.elementor-button:hover span,
.elementor-button:hover .elementor-button-text,
.elementor-button:hover .elementor-button-icon {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Lift + glow on hover */
.elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.12),
    0 10px 35px rgba(0,0,0,0.18),
    0 0 50px rgba(0,0,0,0.06) !important;
}

/* Corner brackets */
.fe-tl, .fe-br {
  position: absolute !important;
  width: 9px !important; height: 9px !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, transform 0.35s ease !important;
  opacity: 0 !important;
  z-index: 6 !important;
}
.fe-tl {
  top: 5px !important; left: 5px !important;
  border-top: 2px solid #000 !important;
  border-left: 2px solid #000 !important;
  transform: translate(-5px,-5px) !important;
}
.fe-br {
  bottom: 5px !important; right: 5px !important;
  border-bottom: 2px solid #000 !important;
  border-right: 2px solid #000 !important;
  transform: translate(5px,5px) !important;
}
.elementor-button:hover .fe-tl,
.elementor-button:hover .fe-br {
  opacity: 1 !important;
  transform: translate(0,0) !important;
}

/* Scan line */
.fe-scan {
  position: absolute !important;
  left: 0 !important; width: 100% !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.5), transparent) !important;
  top: -10% !important;
  pointer-events: none !important;
  z-index: 5 !important;
  opacity: 0 !important;
}
@keyframes feScanLine {
  0%   { top: -5%;  opacity: 1; }
  100% { top: 110%; opacity: 0; }
}
.elementor-button:hover .fe-scan {
  animation: feScanLine 0.65s ease forwards !important;
}

/* ── BLAST: Shockwave rings (appended to body, position:fixed) ── */
.fe-ring {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform: translate(-50%, -50%) scale(0) !important;
  animation: feRingBlast var(--dur, 0.6s) ease-out forwards !important;
  animation-delay: var(--delay, 0s) !important;
  border: var(--thickness, 2px) solid var(--color, #000) !important;
}
@keyframes feRingBlast {
  0%   { transform: translate(-50%,-50%) scale(0);  opacity: 0.9; }
  60%  { opacity: 0.45; }
  100% { transform: translate(-50%,-50%) scale(1);  opacity: 0; }
}

/* ── BLAST: Streak lines ── */
.fe-streak {
  position: fixed !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform-origin: left center !important;
  transform: scaleX(0) !important;
  animation: feStreak 0.5s ease-out forwards !important;
  border-radius: 3px !important;
}
@keyframes feStreak {
  0%   { transform: scaleX(0); opacity: 1; }
  55%  { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(1.15); opacity: 0; }
}

/* ── BLAST: Particles ── */
.fe-particle {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  animation: feParticleBurst var(--pdur, 0.75s) ease-out forwards !important;
}
@keyframes feParticleBurst {
  0%   { transform: translate(0,0) scale(1);               opacity: 1; }
  100% { transform: translate(var(--tx),var(--ty)) scale(0); opacity: 0; }
}

/* ── BLAST: Screen flash ── */
.fe-flash {
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 99998 !important;
  background: radial-gradient(circle at var(--fx) var(--fy), rgba(255,255,255,0.6) 0%, transparent 60%) !important;
  animation: feFlash 0.3s ease-out forwards !important;
}
@keyframes feFlash {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}

/* ── BLAST: Button recoil ── */
@keyframes feRecoil {
  0%   { transform: scale(1); }
  15%  { transform: scale(0.86); }
  45%  { transform: scale(1.07); }
  70%  { transform: scale(0.97); }
  100% { transform: scale(1); }
}
.fe-recoil {
  animation: feRecoil 0.52s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards !important;
}
</style>

<script>
(function () {
  var PARTICLE_COUNT = 30;
  var STREAK_COUNT   = 12;

  function getColors(btn) {
    var bg = window.getComputedStyle(btn).backgroundColor;
    var isDark = bg.indexOf('0, 0, 0') > -1
              || bg.indexOf('17,')  > -1
              || bg.indexOf('26,')  > -1
              || bg.indexOf('51,')  > -1;
    return isDark
      ? ['#ffffff','#dddddd','#aaaaaa','#eeeeee','#cccccc']
      : ['#000000','#222222','#444444','#111111','#333333'];
  }

  /* ── Decorate each button once ── */
  function decorateBtn(btn) {
    if (btn.dataset.feReady) return;
    btn.dataset.feReady = '1';

    ['fe-scan','fe-tl','fe-br'].forEach(function (cls) {
      var el = document.createElement('span');
      el.className = cls;
      btn.appendChild(el);
    });

    btn.addEventListener('mousemove', function (e) {
      var r  = btn.getBoundingClientRect();
      var dx = (e.clientX - (r.left + r.width  / 2)) * 0.15;
      var dy = (e.clientY - (r.top  + r.height / 2)) * 0.15;
      btn.style.transform = 'translate('+dx+'px,'+dy+'px) translateY(-3px)';
    });
    btn.addEventListener('mouseleave', function () {
      btn.style.transform = '';
    });
  }

  /* ── Shockwave rings ── */
  function spawnRings(cx, cy, colors) {
    var cfg = [
      { size: 70,  dur: 0.45, delay: 0,    thick: 3 },
      { size: 130, dur: 0.55, delay: 0.06, thick: 2 },
      { size: 200, dur: 0.65, delay: 0.13, thick: 1.5 },
      { size: 290, dur: 0.75, delay: 0.21, thick: 1 }
    ];
    cfg.forEach(function (c) {
      var r = document.createElement('div');
      r.className = 'fe-ring';
      r.style.cssText =
        'left:'+cx+'px;top:'+cy+'px;'+
        'width:'+c.size+'px;height:'+c.size+'px;'+
        '--dur:'+c.dur+'s;--delay:'+c.delay+'s;'+
        '--color:'+colors[0]+';--thickness:'+c.thick+'px;';
      document.body.appendChild(r);
      setTimeout(function(){ r.remove(); }, (c.dur + c.delay + 0.15) * 1000);
    });
  }

  /* ── Streak lines ── */
  function spawnStreaks(cx, cy, colors) {
    for (var i = 0; i < STREAK_COUNT; i++) {
      (function (i) {
        var angle  = (360 / STREAK_COUNT) * i + (Math.random() * 20 - 10);
        var len    = 18 + Math.random() * 50;
        var h      = 1.5 + Math.random() * 2.5;
        var color  = colors[Math.floor(Math.random() * colors.length)];
        var delay  = Math.random() * 0.07;

        var s = document.createElement('div');
        s.className = 'fe-streak';
        s.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+len+'px;height:'+h+'px;'+
          'background:'+color+';'+
          'rotate:'+angle+'deg;'+
          'box-shadow:0 0 5px '+color+';'+
          'animation-delay:'+delay+'s;';
        document.body.appendChild(s);
        setTimeout(function(){ s.remove(); }, 620);
      })(i);
    }
  }

  /* ── Particles ── */
  function spawnParticles(cx, cy, colors) {
    for (var i = 0; i < PARTICLE_COUNT; i++) {
      (function (i) {
        var angle    = (360 / PARTICLE_COUNT) * i + (Math.random() * 22 - 11);
        var distance = 55 + Math.random() * 110;
        var rad      = angle * Math.PI / 180;
        var tx       = Math.cos(rad) * distance;
        var ty       = Math.sin(rad) * distance;
        var size     = 2.5 + Math.random() * 5;
        var color    = colors[Math.floor(Math.random() * colors.length)];
        var delay    = Math.random() * 0.1;
        var dur      = 0.55 + Math.random() * 0.35;

        var p = document.createElement('span');
        p.className = 'fe-particle';
        p.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+size+'px;height:'+size+'px;'+
          'background:'+color+';'+
          'box-shadow:0 0 '+(size*2.5)+'px '+color+';'+
          '--pdur:'+dur+'s;'+
          'animation-delay:'+delay+'s;';
        p.style.setProperty('--tx', tx+'px');
        p.style.setProperty('--ty', ty+'px');
        document.body.appendChild(p);
        setTimeout(function(){ p.remove(); }, (dur + delay + 0.15) * 1000);
      })(i);
    }
  }

  /* ── Flash ── */
  function spawnFlash(cx, cy) {
    var f = document.createElement('div');
    f.className = 'fe-flash';
    f.style.setProperty('--fx', cx+'px');
    f.style.setProperty('--fy', cy+'px');
    document.body.appendChild(f);
    setTimeout(function(){ f.remove(); }, 350);
  }

  /* ── Recoil ── */
  function recoilBtn(btn) {
    btn.classList.remove('fe-recoil');
    void btn.offsetWidth;
    btn.classList.add('fe-recoil');
    setTimeout(function(){ btn.classList.remove('fe-recoil'); }, 560);
  }

  /* ── Master blast ── */
  function blast(btn, ex, ey) {
    var colors = getColors(btn);
    spawnFlash(ex, ey);
    spawnRings(ex, ey, colors);
    spawnStreaks(ex, ey, colors);
    spawnParticles(ex, ey, colors);
    recoilBtn(btn);
  }

  /* ── Init ── */
  function init() {
    document.querySelectorAll('.elementor-button').forEach(decorateBtn);
  }

  document.addEventListener('click', function (e) {
    var btn = e.target.closest('.elementor-button');
    if (!btn) return;
    blast(btn, e.clientX, e.clientY);
  });

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }

  var obs = new MutationObserver(init);
  obs.observe(document.body, { childList: true, subtree: true });

})();
</script>/* End custom CSS */
/* Start custom CSS for woocommerce-products, class: .elementor-element-97b4a5e *//* Hide original button text */
.woocommerce a.add_to_cart_button span,
.woocommerce button.single_add_to_cart_button span,
.woocommerce a.add_to_cart_button,
.woocommerce button.single_add_to_cart_button {
    font-size: 0 !important;
    color: transparent !important;
}

/* Inject "Order Now" text */
.woocommerce a.add_to_cart_button::after,
.woocommerce button.single_add_to_cart_button::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

/* Fix for "Select options" button (variable products) */
.woocommerce a.button.product_type_variable::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

.woocommerce a.button.product_type_variable {
    font-size: 0 !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bfce9ec *//* Fix padding for this specific Elementor button */
.elementor-21 .elementor-element.elementor-element-bfce9ec .elementor-button {
    padding: 15px 25px 15px 25px !important; /* Top Right Bottom Left */
    width: auto !important; /* This stops it from stretching to 100% width */
}

<style>
/* ============================================
   FUTURISTIC ELEMENTOR BUTTON — ALL IN ONE
   Black & White Theme + BLAST EFFECT
============================================ */

.elementor-button {
  position: relative !important;
  overflow: visible !important;
  cursor: pointer !important;
  z-index: 1 !important;
  transition: color 0.35s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
  isolation: isolate !important;
}

/* Clip inner content but allow overflow for blast */
.elementor-button .elementor-button-content-wrapper {
  position: relative !important;
  z-index: 2 !important;
}

/* White fill sweep left → right */
.elementor-button::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: #ffffff !important;
  transition: left 0.45s cubic-bezier(0.77, 0, 0.18, 1) !important;
  z-index: -1 !important;
  border-radius: inherit !important;
}
.elementor-button:hover::after { left: 0 !important; }

/* Force text black on hover */
.elementor-button:hover,
.elementor-button:hover span,
.elementor-button:hover .elementor-button-text,
.elementor-button:hover .elementor-button-icon {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Lift + glow on hover */
.elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.12),
    0 10px 35px rgba(0,0,0,0.18),
    0 0 50px rgba(0,0,0,0.06) !important;
}

/* Corner brackets */
.fe-tl, .fe-br {
  position: absolute !important;
  width: 9px !important; height: 9px !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, transform 0.35s ease !important;
  opacity: 0 !important;
  z-index: 6 !important;
}
.fe-tl {
  top: 5px !important; left: 5px !important;
  border-top: 2px solid #000 !important;
  border-left: 2px solid #000 !important;
  transform: translate(-5px,-5px) !important;
}
.fe-br {
  bottom: 5px !important; right: 5px !important;
  border-bottom: 2px solid #000 !important;
  border-right: 2px solid #000 !important;
  transform: translate(5px,5px) !important;
}
.elementor-button:hover .fe-tl,
.elementor-button:hover .fe-br {
  opacity: 1 !important;
  transform: translate(0,0) !important;
}

/* Scan line */
.fe-scan {
  position: absolute !important;
  left: 0 !important; width: 100% !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.5), transparent) !important;
  top: -10% !important;
  pointer-events: none !important;
  z-index: 5 !important;
  opacity: 0 !important;
}
@keyframes feScanLine {
  0%   { top: -5%;  opacity: 1; }
  100% { top: 110%; opacity: 0; }
}
.elementor-button:hover .fe-scan {
  animation: feScanLine 0.65s ease forwards !important;
}

/* ── BLAST: Shockwave rings (appended to body, position:fixed) ── */
.fe-ring {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform: translate(-50%, -50%) scale(0) !important;
  animation: feRingBlast var(--dur, 0.6s) ease-out forwards !important;
  animation-delay: var(--delay, 0s) !important;
  border: var(--thickness, 2px) solid var(--color, #000) !important;
}
@keyframes feRingBlast {
  0%   { transform: translate(-50%,-50%) scale(0);  opacity: 0.9; }
  60%  { opacity: 0.45; }
  100% { transform: translate(-50%,-50%) scale(1);  opacity: 0; }
}

/* ── BLAST: Streak lines ── */
.fe-streak {
  position: fixed !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform-origin: left center !important;
  transform: scaleX(0) !important;
  animation: feStreak 0.5s ease-out forwards !important;
  border-radius: 3px !important;
}
@keyframes feStreak {
  0%   { transform: scaleX(0); opacity: 1; }
  55%  { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(1.15); opacity: 0; }
}

/* ── BLAST: Particles ── */
.fe-particle {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  animation: feParticleBurst var(--pdur, 0.75s) ease-out forwards !important;
}
@keyframes feParticleBurst {
  0%   { transform: translate(0,0) scale(1);               opacity: 1; }
  100% { transform: translate(var(--tx),var(--ty)) scale(0); opacity: 0; }
}

/* ── BLAST: Screen flash ── */
.fe-flash {
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 99998 !important;
  background: radial-gradient(circle at var(--fx) var(--fy), rgba(255,255,255,0.6) 0%, transparent 60%) !important;
  animation: feFlash 0.3s ease-out forwards !important;
}
@keyframes feFlash {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}

/* ── BLAST: Button recoil ── */
@keyframes feRecoil {
  0%   { transform: scale(1); }
  15%  { transform: scale(0.86); }
  45%  { transform: scale(1.07); }
  70%  { transform: scale(0.97); }
  100% { transform: scale(1); }
}
.fe-recoil {
  animation: feRecoil 0.52s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards !important;
}
</style>

<script>
(function () {
  var PARTICLE_COUNT = 30;
  var STREAK_COUNT   = 12;

  function getColors(btn) {
    var bg = window.getComputedStyle(btn).backgroundColor;
    var isDark = bg.indexOf('0, 0, 0') > -1
              || bg.indexOf('17,')  > -1
              || bg.indexOf('26,')  > -1
              || bg.indexOf('51,')  > -1;
    return isDark
      ? ['#ffffff','#dddddd','#aaaaaa','#eeeeee','#cccccc']
      : ['#000000','#222222','#444444','#111111','#333333'];
  }

  /* ── Decorate each button once ── */
  function decorateBtn(btn) {
    if (btn.dataset.feReady) return;
    btn.dataset.feReady = '1';

    ['fe-scan','fe-tl','fe-br'].forEach(function (cls) {
      var el = document.createElement('span');
      el.className = cls;
      btn.appendChild(el);
    });

    btn.addEventListener('mousemove', function (e) {
      var r  = btn.getBoundingClientRect();
      var dx = (e.clientX - (r.left + r.width  / 2)) * 0.15;
      var dy = (e.clientY - (r.top  + r.height / 2)) * 0.15;
      btn.style.transform = 'translate('+dx+'px,'+dy+'px) translateY(-3px)';
    });
    btn.addEventListener('mouseleave', function () {
      btn.style.transform = '';
    });
  }

  /* ── Shockwave rings ── */
  function spawnRings(cx, cy, colors) {
    var cfg = [
      { size: 70,  dur: 0.45, delay: 0,    thick: 3 },
      { size: 130, dur: 0.55, delay: 0.06, thick: 2 },
      { size: 200, dur: 0.65, delay: 0.13, thick: 1.5 },
      { size: 290, dur: 0.75, delay: 0.21, thick: 1 }
    ];
    cfg.forEach(function (c) {
      var r = document.createElement('div');
      r.className = 'fe-ring';
      r.style.cssText =
        'left:'+cx+'px;top:'+cy+'px;'+
        'width:'+c.size+'px;height:'+c.size+'px;'+
        '--dur:'+c.dur+'s;--delay:'+c.delay+'s;'+
        '--color:'+colors[0]+';--thickness:'+c.thick+'px;';
      document.body.appendChild(r);
      setTimeout(function(){ r.remove(); }, (c.dur + c.delay + 0.15) * 1000);
    });
  }

  /* ── Streak lines ── */
  function spawnStreaks(cx, cy, colors) {
    for (var i = 0; i < STREAK_COUNT; i++) {
      (function (i) {
        var angle  = (360 / STREAK_COUNT) * i + (Math.random() * 20 - 10);
        var len    = 18 + Math.random() * 50;
        var h      = 1.5 + Math.random() * 2.5;
        var color  = colors[Math.floor(Math.random() * colors.length)];
        var delay  = Math.random() * 0.07;

        var s = document.createElement('div');
        s.className = 'fe-streak';
        s.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+len+'px;height:'+h+'px;'+
          'background:'+color+';'+
          'rotate:'+angle+'deg;'+
          'box-shadow:0 0 5px '+color+';'+
          'animation-delay:'+delay+'s;';
        document.body.appendChild(s);
        setTimeout(function(){ s.remove(); }, 620);
      })(i);
    }
  }

  /* ── Particles ── */
  function spawnParticles(cx, cy, colors) {
    for (var i = 0; i < PARTICLE_COUNT; i++) {
      (function (i) {
        var angle    = (360 / PARTICLE_COUNT) * i + (Math.random() * 22 - 11);
        var distance = 55 + Math.random() * 110;
        var rad      = angle * Math.PI / 180;
        var tx       = Math.cos(rad) * distance;
        var ty       = Math.sin(rad) * distance;
        var size     = 2.5 + Math.random() * 5;
        var color    = colors[Math.floor(Math.random() * colors.length)];
        var delay    = Math.random() * 0.1;
        var dur      = 0.55 + Math.random() * 0.35;

        var p = document.createElement('span');
        p.className = 'fe-particle';
        p.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+size+'px;height:'+size+'px;'+
          'background:'+color+';'+
          'box-shadow:0 0 '+(size*2.5)+'px '+color+';'+
          '--pdur:'+dur+'s;'+
          'animation-delay:'+delay+'s;';
        p.style.setProperty('--tx', tx+'px');
        p.style.setProperty('--ty', ty+'px');
        document.body.appendChild(p);
        setTimeout(function(){ p.remove(); }, (dur + delay + 0.15) * 1000);
      })(i);
    }
  }

  /* ── Flash ── */
  function spawnFlash(cx, cy) {
    var f = document.createElement('div');
    f.className = 'fe-flash';
    f.style.setProperty('--fx', cx+'px');
    f.style.setProperty('--fy', cy+'px');
    document.body.appendChild(f);
    setTimeout(function(){ f.remove(); }, 350);
  }

  /* ── Recoil ── */
  function recoilBtn(btn) {
    btn.classList.remove('fe-recoil');
    void btn.offsetWidth;
    btn.classList.add('fe-recoil');
    setTimeout(function(){ btn.classList.remove('fe-recoil'); }, 560);
  }

  /* ── Master blast ── */
  function blast(btn, ex, ey) {
    var colors = getColors(btn);
    spawnFlash(ex, ey);
    spawnRings(ex, ey, colors);
    spawnStreaks(ex, ey, colors);
    spawnParticles(ex, ey, colors);
    recoilBtn(btn);
  }

  /* ── Init ── */
  function init() {
    document.querySelectorAll('.elementor-button').forEach(decorateBtn);
  }

  document.addEventListener('click', function (e) {
    var btn = e.target.closest('.elementor-button');
    if (!btn) return;
    blast(btn, e.clientX, e.clientY);
  });

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }

  var obs = new MutationObserver(init);
  obs.observe(document.body, { childList: true, subtree: true });

})();
</script>/* End custom CSS */
/* Start custom CSS for woocommerce-products, class: .elementor-element-78b8a08 *//* Hide original button text */
.woocommerce a.add_to_cart_button span,
.woocommerce button.single_add_to_cart_button span,
.woocommerce a.add_to_cart_button,
.woocommerce button.single_add_to_cart_button {
    font-size: 0 !important;
    color: transparent !important;
}

/* Inject "Order Now" text */
.woocommerce a.add_to_cart_button::after,
.woocommerce button.single_add_to_cart_button::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

/* Fix for "Select options" button (variable products) */
.woocommerce a.button.product_type_variable::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

.woocommerce a.button.product_type_variable {
    font-size: 0 !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-080ea1b *//* Fix padding for this specific Elementor button */
.elementor-21 .elementor-element.elementor-element-080ea1b .elementor-button {
    padding: 15px 25px 15px 25px !important; /* Top Right Bottom Left */
    width: auto !important; /* This stops it from stretching to 100% width */
}

<style>
/* ============================================
   FUTURISTIC ELEMENTOR BUTTON — ALL IN ONE
   Black & White Theme + BLAST EFFECT
============================================ */

.elementor-button {
  position: relative !important;
  overflow: visible !important;
  cursor: pointer !important;
  z-index: 1 !important;
  transition: color 0.35s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
  isolation: isolate !important;
}

/* Clip inner content but allow overflow for blast */
.elementor-button .elementor-button-content-wrapper {
  position: relative !important;
  z-index: 2 !important;
}

/* White fill sweep left → right */
.elementor-button::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: #ffffff !important;
  transition: left 0.45s cubic-bezier(0.77, 0, 0.18, 1) !important;
  z-index: -1 !important;
  border-radius: inherit !important;
}
.elementor-button:hover::after { left: 0 !important; }

/* Force text black on hover */
.elementor-button:hover,
.elementor-button:hover span,
.elementor-button:hover .elementor-button-text,
.elementor-button:hover .elementor-button-icon {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Lift + glow on hover */
.elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.12),
    0 10px 35px rgba(0,0,0,0.18),
    0 0 50px rgba(0,0,0,0.06) !important;
}

/* Corner brackets */
.fe-tl, .fe-br {
  position: absolute !important;
  width: 9px !important; height: 9px !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, transform 0.35s ease !important;
  opacity: 0 !important;
  z-index: 6 !important;
}
.fe-tl {
  top: 5px !important; left: 5px !important;
  border-top: 2px solid #000 !important;
  border-left: 2px solid #000 !important;
  transform: translate(-5px,-5px) !important;
}
.fe-br {
  bottom: 5px !important; right: 5px !important;
  border-bottom: 2px solid #000 !important;
  border-right: 2px solid #000 !important;
  transform: translate(5px,5px) !important;
}
.elementor-button:hover .fe-tl,
.elementor-button:hover .fe-br {
  opacity: 1 !important;
  transform: translate(0,0) !important;
}

/* Scan line */
.fe-scan {
  position: absolute !important;
  left: 0 !important; width: 100% !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.5), transparent) !important;
  top: -10% !important;
  pointer-events: none !important;
  z-index: 5 !important;
  opacity: 0 !important;
}
@keyframes feScanLine {
  0%   { top: -5%;  opacity: 1; }
  100% { top: 110%; opacity: 0; }
}
.elementor-button:hover .fe-scan {
  animation: feScanLine 0.65s ease forwards !important;
}

/* ── BLAST: Shockwave rings (appended to body, position:fixed) ── */
.fe-ring {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform: translate(-50%, -50%) scale(0) !important;
  animation: feRingBlast var(--dur, 0.6s) ease-out forwards !important;
  animation-delay: var(--delay, 0s) !important;
  border: var(--thickness, 2px) solid var(--color, #000) !important;
}
@keyframes feRingBlast {
  0%   { transform: translate(-50%,-50%) scale(0);  opacity: 0.9; }
  60%  { opacity: 0.45; }
  100% { transform: translate(-50%,-50%) scale(1);  opacity: 0; }
}

/* ── BLAST: Streak lines ── */
.fe-streak {
  position: fixed !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform-origin: left center !important;
  transform: scaleX(0) !important;
  animation: feStreak 0.5s ease-out forwards !important;
  border-radius: 3px !important;
}
@keyframes feStreak {
  0%   { transform: scaleX(0); opacity: 1; }
  55%  { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(1.15); opacity: 0; }
}

/* ── BLAST: Particles ── */
.fe-particle {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  animation: feParticleBurst var(--pdur, 0.75s) ease-out forwards !important;
}
@keyframes feParticleBurst {
  0%   { transform: translate(0,0) scale(1);               opacity: 1; }
  100% { transform: translate(var(--tx),var(--ty)) scale(0); opacity: 0; }
}

/* ── BLAST: Screen flash ── */
.fe-flash {
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 99998 !important;
  background: radial-gradient(circle at var(--fx) var(--fy), rgba(255,255,255,0.6) 0%, transparent 60%) !important;
  animation: feFlash 0.3s ease-out forwards !important;
}
@keyframes feFlash {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}

/* ── BLAST: Button recoil ── */
@keyframes feRecoil {
  0%   { transform: scale(1); }
  15%  { transform: scale(0.86); }
  45%  { transform: scale(1.07); }
  70%  { transform: scale(0.97); }
  100% { transform: scale(1); }
}
.fe-recoil {
  animation: feRecoil 0.52s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards !important;
}
</style>

<script>
(function () {
  var PARTICLE_COUNT = 30;
  var STREAK_COUNT   = 12;

  function getColors(btn) {
    var bg = window.getComputedStyle(btn).backgroundColor;
    var isDark = bg.indexOf('0, 0, 0') > -1
              || bg.indexOf('17,')  > -1
              || bg.indexOf('26,')  > -1
              || bg.indexOf('51,')  > -1;
    return isDark
      ? ['#ffffff','#dddddd','#aaaaaa','#eeeeee','#cccccc']
      : ['#000000','#222222','#444444','#111111','#333333'];
  }

  /* ── Decorate each button once ── */
  function decorateBtn(btn) {
    if (btn.dataset.feReady) return;
    btn.dataset.feReady = '1';

    ['fe-scan','fe-tl','fe-br'].forEach(function (cls) {
      var el = document.createElement('span');
      el.className = cls;
      btn.appendChild(el);
    });

    btn.addEventListener('mousemove', function (e) {
      var r  = btn.getBoundingClientRect();
      var dx = (e.clientX - (r.left + r.width  / 2)) * 0.15;
      var dy = (e.clientY - (r.top  + r.height / 2)) * 0.15;
      btn.style.transform = 'translate('+dx+'px,'+dy+'px) translateY(-3px)';
    });
    btn.addEventListener('mouseleave', function () {
      btn.style.transform = '';
    });
  }

  /* ── Shockwave rings ── */
  function spawnRings(cx, cy, colors) {
    var cfg = [
      { size: 70,  dur: 0.45, delay: 0,    thick: 3 },
      { size: 130, dur: 0.55, delay: 0.06, thick: 2 },
      { size: 200, dur: 0.65, delay: 0.13, thick: 1.5 },
      { size: 290, dur: 0.75, delay: 0.21, thick: 1 }
    ];
    cfg.forEach(function (c) {
      var r = document.createElement('div');
      r.className = 'fe-ring';
      r.style.cssText =
        'left:'+cx+'px;top:'+cy+'px;'+
        'width:'+c.size+'px;height:'+c.size+'px;'+
        '--dur:'+c.dur+'s;--delay:'+c.delay+'s;'+
        '--color:'+colors[0]+';--thickness:'+c.thick+'px;';
      document.body.appendChild(r);
      setTimeout(function(){ r.remove(); }, (c.dur + c.delay + 0.15) * 1000);
    });
  }

  /* ── Streak lines ── */
  function spawnStreaks(cx, cy, colors) {
    for (var i = 0; i < STREAK_COUNT; i++) {
      (function (i) {
        var angle  = (360 / STREAK_COUNT) * i + (Math.random() * 20 - 10);
        var len    = 18 + Math.random() * 50;
        var h      = 1.5 + Math.random() * 2.5;
        var color  = colors[Math.floor(Math.random() * colors.length)];
        var delay  = Math.random() * 0.07;

        var s = document.createElement('div');
        s.className = 'fe-streak';
        s.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+len+'px;height:'+h+'px;'+
          'background:'+color+';'+
          'rotate:'+angle+'deg;'+
          'box-shadow:0 0 5px '+color+';'+
          'animation-delay:'+delay+'s;';
        document.body.appendChild(s);
        setTimeout(function(){ s.remove(); }, 620);
      })(i);
    }
  }

  /* ── Particles ── */
  function spawnParticles(cx, cy, colors) {
    for (var i = 0; i < PARTICLE_COUNT; i++) {
      (function (i) {
        var angle    = (360 / PARTICLE_COUNT) * i + (Math.random() * 22 - 11);
        var distance = 55 + Math.random() * 110;
        var rad      = angle * Math.PI / 180;
        var tx       = Math.cos(rad) * distance;
        var ty       = Math.sin(rad) * distance;
        var size     = 2.5 + Math.random() * 5;
        var color    = colors[Math.floor(Math.random() * colors.length)];
        var delay    = Math.random() * 0.1;
        var dur      = 0.55 + Math.random() * 0.35;

        var p = document.createElement('span');
        p.className = 'fe-particle';
        p.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+size+'px;height:'+size+'px;'+
          'background:'+color+';'+
          'box-shadow:0 0 '+(size*2.5)+'px '+color+';'+
          '--pdur:'+dur+'s;'+
          'animation-delay:'+delay+'s;';
        p.style.setProperty('--tx', tx+'px');
        p.style.setProperty('--ty', ty+'px');
        document.body.appendChild(p);
        setTimeout(function(){ p.remove(); }, (dur + delay + 0.15) * 1000);
      })(i);
    }
  }

  /* ── Flash ── */
  function spawnFlash(cx, cy) {
    var f = document.createElement('div');
    f.className = 'fe-flash';
    f.style.setProperty('--fx', cx+'px');
    f.style.setProperty('--fy', cy+'px');
    document.body.appendChild(f);
    setTimeout(function(){ f.remove(); }, 350);
  }

  /* ── Recoil ── */
  function recoilBtn(btn) {
    btn.classList.remove('fe-recoil');
    void btn.offsetWidth;
    btn.classList.add('fe-recoil');
    setTimeout(function(){ btn.classList.remove('fe-recoil'); }, 560);
  }

  /* ── Master blast ── */
  function blast(btn, ex, ey) {
    var colors = getColors(btn);
    spawnFlash(ex, ey);
    spawnRings(ex, ey, colors);
    spawnStreaks(ex, ey, colors);
    spawnParticles(ex, ey, colors);
    recoilBtn(btn);
  }

  /* ── Init ── */
  function init() {
    document.querySelectorAll('.elementor-button').forEach(decorateBtn);
  }

  document.addEventListener('click', function (e) {
    var btn = e.target.closest('.elementor-button');
    if (!btn) return;
    blast(btn, e.clientX, e.clientY);
  });

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }

  var obs = new MutationObserver(init);
  obs.observe(document.body, { childList: true, subtree: true });

})();
</script>/* End custom CSS */
/* Start custom CSS for woocommerce-products, class: .elementor-element-ae3ee15 *//* Hide original button text */
.woocommerce a.add_to_cart_button span,
.woocommerce button.single_add_to_cart_button span,
.woocommerce a.add_to_cart_button,
.woocommerce button.single_add_to_cart_button {
    font-size: 0 !important;
    color: transparent !important;
}

/* Inject "Order Now" text */
.woocommerce a.add_to_cart_button::after,
.woocommerce button.single_add_to_cart_button::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

/* Fix for "Select options" button (variable products) */
.woocommerce a.button.product_type_variable::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

.woocommerce a.button.product_type_variable {
    font-size: 0 !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-11af14b *//* Fix padding for this specific Elementor button */
.elementor-21 .elementor-element.elementor-element-11af14b .elementor-button {
    padding: 15px 25px 15px 25px !important; /* Top Right Bottom Left */
    width: auto !important; /* This stops it from stretching to 100% width */
}

<style>
/* ============================================
   FUTURISTIC ELEMENTOR BUTTON — ALL IN ONE
   Black & White Theme + BLAST EFFECT
============================================ */

.elementor-button {
  position: relative !important;
  overflow: visible !important;
  cursor: pointer !important;
  z-index: 1 !important;
  transition: color 0.35s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
  isolation: isolate !important;
}

/* Clip inner content but allow overflow for blast */
.elementor-button .elementor-button-content-wrapper {
  position: relative !important;
  z-index: 2 !important;
}

/* White fill sweep left → right */
.elementor-button::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: #ffffff !important;
  transition: left 0.45s cubic-bezier(0.77, 0, 0.18, 1) !important;
  z-index: -1 !important;
  border-radius: inherit !important;
}
.elementor-button:hover::after { left: 0 !important; }

/* Force text black on hover */
.elementor-button:hover,
.elementor-button:hover span,
.elementor-button:hover .elementor-button-text,
.elementor-button:hover .elementor-button-icon {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Lift + glow on hover */
.elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.12),
    0 10px 35px rgba(0,0,0,0.18),
    0 0 50px rgba(0,0,0,0.06) !important;
}

/* Corner brackets */
.fe-tl, .fe-br {
  position: absolute !important;
  width: 9px !important; height: 9px !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, transform 0.35s ease !important;
  opacity: 0 !important;
  z-index: 6 !important;
}
.fe-tl {
  top: 5px !important; left: 5px !important;
  border-top: 2px solid #000 !important;
  border-left: 2px solid #000 !important;
  transform: translate(-5px,-5px) !important;
}
.fe-br {
  bottom: 5px !important; right: 5px !important;
  border-bottom: 2px solid #000 !important;
  border-right: 2px solid #000 !important;
  transform: translate(5px,5px) !important;
}
.elementor-button:hover .fe-tl,
.elementor-button:hover .fe-br {
  opacity: 1 !important;
  transform: translate(0,0) !important;
}

/* Scan line */
.fe-scan {
  position: absolute !important;
  left: 0 !important; width: 100% !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.5), transparent) !important;
  top: -10% !important;
  pointer-events: none !important;
  z-index: 5 !important;
  opacity: 0 !important;
}
@keyframes feScanLine {
  0%   { top: -5%;  opacity: 1; }
  100% { top: 110%; opacity: 0; }
}
.elementor-button:hover .fe-scan {
  animation: feScanLine 0.65s ease forwards !important;
}

/* ── BLAST: Shockwave rings (appended to body, position:fixed) ── */
.fe-ring {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform: translate(-50%, -50%) scale(0) !important;
  animation: feRingBlast var(--dur, 0.6s) ease-out forwards !important;
  animation-delay: var(--delay, 0s) !important;
  border: var(--thickness, 2px) solid var(--color, #000) !important;
}
@keyframes feRingBlast {
  0%   { transform: translate(-50%,-50%) scale(0);  opacity: 0.9; }
  60%  { opacity: 0.45; }
  100% { transform: translate(-50%,-50%) scale(1);  opacity: 0; }
}

/* ── BLAST: Streak lines ── */
.fe-streak {
  position: fixed !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform-origin: left center !important;
  transform: scaleX(0) !important;
  animation: feStreak 0.5s ease-out forwards !important;
  border-radius: 3px !important;
}
@keyframes feStreak {
  0%   { transform: scaleX(0); opacity: 1; }
  55%  { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(1.15); opacity: 0; }
}

/* ── BLAST: Particles ── */
.fe-particle {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  animation: feParticleBurst var(--pdur, 0.75s) ease-out forwards !important;
}
@keyframes feParticleBurst {
  0%   { transform: translate(0,0) scale(1);               opacity: 1; }
  100% { transform: translate(var(--tx),var(--ty)) scale(0); opacity: 0; }
}

/* ── BLAST: Screen flash ── */
.fe-flash {
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 99998 !important;
  background: radial-gradient(circle at var(--fx) var(--fy), rgba(255,255,255,0.6) 0%, transparent 60%) !important;
  animation: feFlash 0.3s ease-out forwards !important;
}
@keyframes feFlash {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}

/* ── BLAST: Button recoil ── */
@keyframes feRecoil {
  0%   { transform: scale(1); }
  15%  { transform: scale(0.86); }
  45%  { transform: scale(1.07); }
  70%  { transform: scale(0.97); }
  100% { transform: scale(1); }
}
.fe-recoil {
  animation: feRecoil 0.52s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards !important;
}
</style>

<script>
(function () {
  var PARTICLE_COUNT = 30;
  var STREAK_COUNT   = 12;

  function getColors(btn) {
    var bg = window.getComputedStyle(btn).backgroundColor;
    var isDark = bg.indexOf('0, 0, 0') > -1
              || bg.indexOf('17,')  > -1
              || bg.indexOf('26,')  > -1
              || bg.indexOf('51,')  > -1;
    return isDark
      ? ['#ffffff','#dddddd','#aaaaaa','#eeeeee','#cccccc']
      : ['#000000','#222222','#444444','#111111','#333333'];
  }

  /* ── Decorate each button once ── */
  function decorateBtn(btn) {
    if (btn.dataset.feReady) return;
    btn.dataset.feReady = '1';

    ['fe-scan','fe-tl','fe-br'].forEach(function (cls) {
      var el = document.createElement('span');
      el.className = cls;
      btn.appendChild(el);
    });

    btn.addEventListener('mousemove', function (e) {
      var r  = btn.getBoundingClientRect();
      var dx = (e.clientX - (r.left + r.width  / 2)) * 0.15;
      var dy = (e.clientY - (r.top  + r.height / 2)) * 0.15;
      btn.style.transform = 'translate('+dx+'px,'+dy+'px) translateY(-3px)';
    });
    btn.addEventListener('mouseleave', function () {
      btn.style.transform = '';
    });
  }

  /* ── Shockwave rings ── */
  function spawnRings(cx, cy, colors) {
    var cfg = [
      { size: 70,  dur: 0.45, delay: 0,    thick: 3 },
      { size: 130, dur: 0.55, delay: 0.06, thick: 2 },
      { size: 200, dur: 0.65, delay: 0.13, thick: 1.5 },
      { size: 290, dur: 0.75, delay: 0.21, thick: 1 }
    ];
    cfg.forEach(function (c) {
      var r = document.createElement('div');
      r.className = 'fe-ring';
      r.style.cssText =
        'left:'+cx+'px;top:'+cy+'px;'+
        'width:'+c.size+'px;height:'+c.size+'px;'+
        '--dur:'+c.dur+'s;--delay:'+c.delay+'s;'+
        '--color:'+colors[0]+';--thickness:'+c.thick+'px;';
      document.body.appendChild(r);
      setTimeout(function(){ r.remove(); }, (c.dur + c.delay + 0.15) * 1000);
    });
  }

  /* ── Streak lines ── */
  function spawnStreaks(cx, cy, colors) {
    for (var i = 0; i < STREAK_COUNT; i++) {
      (function (i) {
        var angle  = (360 / STREAK_COUNT) * i + (Math.random() * 20 - 10);
        var len    = 18 + Math.random() * 50;
        var h      = 1.5 + Math.random() * 2.5;
        var color  = colors[Math.floor(Math.random() * colors.length)];
        var delay  = Math.random() * 0.07;

        var s = document.createElement('div');
        s.className = 'fe-streak';
        s.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+len+'px;height:'+h+'px;'+
          'background:'+color+';'+
          'rotate:'+angle+'deg;'+
          'box-shadow:0 0 5px '+color+';'+
          'animation-delay:'+delay+'s;';
        document.body.appendChild(s);
        setTimeout(function(){ s.remove(); }, 620);
      })(i);
    }
  }

  /* ── Particles ── */
  function spawnParticles(cx, cy, colors) {
    for (var i = 0; i < PARTICLE_COUNT; i++) {
      (function (i) {
        var angle    = (360 / PARTICLE_COUNT) * i + (Math.random() * 22 - 11);
        var distance = 55 + Math.random() * 110;
        var rad      = angle * Math.PI / 180;
        var tx       = Math.cos(rad) * distance;
        var ty       = Math.sin(rad) * distance;
        var size     = 2.5 + Math.random() * 5;
        var color    = colors[Math.floor(Math.random() * colors.length)];
        var delay    = Math.random() * 0.1;
        var dur      = 0.55 + Math.random() * 0.35;

        var p = document.createElement('span');
        p.className = 'fe-particle';
        p.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+size+'px;height:'+size+'px;'+
          'background:'+color+';'+
          'box-shadow:0 0 '+(size*2.5)+'px '+color+';'+
          '--pdur:'+dur+'s;'+
          'animation-delay:'+delay+'s;';
        p.style.setProperty('--tx', tx+'px');
        p.style.setProperty('--ty', ty+'px');
        document.body.appendChild(p);
        setTimeout(function(){ p.remove(); }, (dur + delay + 0.15) * 1000);
      })(i);
    }
  }

  /* ── Flash ── */
  function spawnFlash(cx, cy) {
    var f = document.createElement('div');
    f.className = 'fe-flash';
    f.style.setProperty('--fx', cx+'px');
    f.style.setProperty('--fy', cy+'px');
    document.body.appendChild(f);
    setTimeout(function(){ f.remove(); }, 350);
  }

  /* ── Recoil ── */
  function recoilBtn(btn) {
    btn.classList.remove('fe-recoil');
    void btn.offsetWidth;
    btn.classList.add('fe-recoil');
    setTimeout(function(){ btn.classList.remove('fe-recoil'); }, 560);
  }

  /* ── Master blast ── */
  function blast(btn, ex, ey) {
    var colors = getColors(btn);
    spawnFlash(ex, ey);
    spawnRings(ex, ey, colors);
    spawnStreaks(ex, ey, colors);
    spawnParticles(ex, ey, colors);
    recoilBtn(btn);
  }

  /* ── Init ── */
  function init() {
    document.querySelectorAll('.elementor-button').forEach(decorateBtn);
  }

  document.addEventListener('click', function (e) {
    var btn = e.target.closest('.elementor-button');
    if (!btn) return;
    blast(btn, e.clientX, e.clientY);
  });

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }

  var obs = new MutationObserver(init);
  obs.observe(document.body, { childList: true, subtree: true });

})();
</script>/* End custom CSS */
/* Start custom CSS for woocommerce-products, class: .elementor-element-073c203 *//* Hide original button text */
.woocommerce a.add_to_cart_button span,
.woocommerce button.single_add_to_cart_button span,
.woocommerce a.add_to_cart_button,
.woocommerce button.single_add_to_cart_button {
    font-size: 0 !important;
    color: transparent !important;
}

/* Inject "Order Now" text */
.woocommerce a.add_to_cart_button::after,
.woocommerce button.single_add_to_cart_button::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

/* Fix for "Select options" button (variable products) */
.woocommerce a.button.product_type_variable::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

.woocommerce a.button.product_type_variable {
    font-size: 0 !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-623a675 *//* Fix padding for this specific Elementor button */
.elementor-21 .elementor-element.elementor-element-623a675 .elementor-button {
    padding: 15px 25px 15px 25px !important; /* Top Right Bottom Left */
    width: auto !important; /* This stops it from stretching to 100% width */
}

<style>
/* ============================================
   FUTURISTIC ELEMENTOR BUTTON — ALL IN ONE
   Black & White Theme + BLAST EFFECT
============================================ */

.elementor-button {
  position: relative !important;
  overflow: visible !important;
  cursor: pointer !important;
  z-index: 1 !important;
  transition: color 0.35s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
  isolation: isolate !important;
}

/* Clip inner content but allow overflow for blast */
.elementor-button .elementor-button-content-wrapper {
  position: relative !important;
  z-index: 2 !important;
}

/* White fill sweep left → right */
.elementor-button::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: #ffffff !important;
  transition: left 0.45s cubic-bezier(0.77, 0, 0.18, 1) !important;
  z-index: -1 !important;
  border-radius: inherit !important;
}
.elementor-button:hover::after { left: 0 !important; }

/* Force text black on hover */
.elementor-button:hover,
.elementor-button:hover span,
.elementor-button:hover .elementor-button-text,
.elementor-button:hover .elementor-button-icon {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Lift + glow on hover */
.elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.12),
    0 10px 35px rgba(0,0,0,0.18),
    0 0 50px rgba(0,0,0,0.06) !important;
}

/* Corner brackets */
.fe-tl, .fe-br {
  position: absolute !important;
  width: 9px !important; height: 9px !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, transform 0.35s ease !important;
  opacity: 0 !important;
  z-index: 6 !important;
}
.fe-tl {
  top: 5px !important; left: 5px !important;
  border-top: 2px solid #000 !important;
  border-left: 2px solid #000 !important;
  transform: translate(-5px,-5px) !important;
}
.fe-br {
  bottom: 5px !important; right: 5px !important;
  border-bottom: 2px solid #000 !important;
  border-right: 2px solid #000 !important;
  transform: translate(5px,5px) !important;
}
.elementor-button:hover .fe-tl,
.elementor-button:hover .fe-br {
  opacity: 1 !important;
  transform: translate(0,0) !important;
}

/* Scan line */
.fe-scan {
  position: absolute !important;
  left: 0 !important; width: 100% !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.5), transparent) !important;
  top: -10% !important;
  pointer-events: none !important;
  z-index: 5 !important;
  opacity: 0 !important;
}
@keyframes feScanLine {
  0%   { top: -5%;  opacity: 1; }
  100% { top: 110%; opacity: 0; }
}
.elementor-button:hover .fe-scan {
  animation: feScanLine 0.65s ease forwards !important;
}

/* ── BLAST: Shockwave rings (appended to body, position:fixed) ── */
.fe-ring {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform: translate(-50%, -50%) scale(0) !important;
  animation: feRingBlast var(--dur, 0.6s) ease-out forwards !important;
  animation-delay: var(--delay, 0s) !important;
  border: var(--thickness, 2px) solid var(--color, #000) !important;
}
@keyframes feRingBlast {
  0%   { transform: translate(-50%,-50%) scale(0);  opacity: 0.9; }
  60%  { opacity: 0.45; }
  100% { transform: translate(-50%,-50%) scale(1);  opacity: 0; }
}

/* ── BLAST: Streak lines ── */
.fe-streak {
  position: fixed !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform-origin: left center !important;
  transform: scaleX(0) !important;
  animation: feStreak 0.5s ease-out forwards !important;
  border-radius: 3px !important;
}
@keyframes feStreak {
  0%   { transform: scaleX(0); opacity: 1; }
  55%  { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(1.15); opacity: 0; }
}

/* ── BLAST: Particles ── */
.fe-particle {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  animation: feParticleBurst var(--pdur, 0.75s) ease-out forwards !important;
}
@keyframes feParticleBurst {
  0%   { transform: translate(0,0) scale(1);               opacity: 1; }
  100% { transform: translate(var(--tx),var(--ty)) scale(0); opacity: 0; }
}

/* ── BLAST: Screen flash ── */
.fe-flash {
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 99998 !important;
  background: radial-gradient(circle at var(--fx) var(--fy), rgba(255,255,255,0.6) 0%, transparent 60%) !important;
  animation: feFlash 0.3s ease-out forwards !important;
}
@keyframes feFlash {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}

/* ── BLAST: Button recoil ── */
@keyframes feRecoil {
  0%   { transform: scale(1); }
  15%  { transform: scale(0.86); }
  45%  { transform: scale(1.07); }
  70%  { transform: scale(0.97); }
  100% { transform: scale(1); }
}
.fe-recoil {
  animation: feRecoil 0.52s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards !important;
}
</style>

<script>
(function () {
  var PARTICLE_COUNT = 30;
  var STREAK_COUNT   = 12;

  function getColors(btn) {
    var bg = window.getComputedStyle(btn).backgroundColor;
    var isDark = bg.indexOf('0, 0, 0') > -1
              || bg.indexOf('17,')  > -1
              || bg.indexOf('26,')  > -1
              || bg.indexOf('51,')  > -1;
    return isDark
      ? ['#ffffff','#dddddd','#aaaaaa','#eeeeee','#cccccc']
      : ['#000000','#222222','#444444','#111111','#333333'];
  }

  /* ── Decorate each button once ── */
  function decorateBtn(btn) {
    if (btn.dataset.feReady) return;
    btn.dataset.feReady = '1';

    ['fe-scan','fe-tl','fe-br'].forEach(function (cls) {
      var el = document.createElement('span');
      el.className = cls;
      btn.appendChild(el);
    });

    btn.addEventListener('mousemove', function (e) {
      var r  = btn.getBoundingClientRect();
      var dx = (e.clientX - (r.left + r.width  / 2)) * 0.15;
      var dy = (e.clientY - (r.top  + r.height / 2)) * 0.15;
      btn.style.transform = 'translate('+dx+'px,'+dy+'px) translateY(-3px)';
    });
    btn.addEventListener('mouseleave', function () {
      btn.style.transform = '';
    });
  }

  /* ── Shockwave rings ── */
  function spawnRings(cx, cy, colors) {
    var cfg = [
      { size: 70,  dur: 0.45, delay: 0,    thick: 3 },
      { size: 130, dur: 0.55, delay: 0.06, thick: 2 },
      { size: 200, dur: 0.65, delay: 0.13, thick: 1.5 },
      { size: 290, dur: 0.75, delay: 0.21, thick: 1 }
    ];
    cfg.forEach(function (c) {
      var r = document.createElement('div');
      r.className = 'fe-ring';
      r.style.cssText =
        'left:'+cx+'px;top:'+cy+'px;'+
        'width:'+c.size+'px;height:'+c.size+'px;'+
        '--dur:'+c.dur+'s;--delay:'+c.delay+'s;'+
        '--color:'+colors[0]+';--thickness:'+c.thick+'px;';
      document.body.appendChild(r);
      setTimeout(function(){ r.remove(); }, (c.dur + c.delay + 0.15) * 1000);
    });
  }

  /* ── Streak lines ── */
  function spawnStreaks(cx, cy, colors) {
    for (var i = 0; i < STREAK_COUNT; i++) {
      (function (i) {
        var angle  = (360 / STREAK_COUNT) * i + (Math.random() * 20 - 10);
        var len    = 18 + Math.random() * 50;
        var h      = 1.5 + Math.random() * 2.5;
        var color  = colors[Math.floor(Math.random() * colors.length)];
        var delay  = Math.random() * 0.07;

        var s = document.createElement('div');
        s.className = 'fe-streak';
        s.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+len+'px;height:'+h+'px;'+
          'background:'+color+';'+
          'rotate:'+angle+'deg;'+
          'box-shadow:0 0 5px '+color+';'+
          'animation-delay:'+delay+'s;';
        document.body.appendChild(s);
        setTimeout(function(){ s.remove(); }, 620);
      })(i);
    }
  }

  /* ── Particles ── */
  function spawnParticles(cx, cy, colors) {
    for (var i = 0; i < PARTICLE_COUNT; i++) {
      (function (i) {
        var angle    = (360 / PARTICLE_COUNT) * i + (Math.random() * 22 - 11);
        var distance = 55 + Math.random() * 110;
        var rad      = angle * Math.PI / 180;
        var tx       = Math.cos(rad) * distance;
        var ty       = Math.sin(rad) * distance;
        var size     = 2.5 + Math.random() * 5;
        var color    = colors[Math.floor(Math.random() * colors.length)];
        var delay    = Math.random() * 0.1;
        var dur      = 0.55 + Math.random() * 0.35;

        var p = document.createElement('span');
        p.className = 'fe-particle';
        p.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+size+'px;height:'+size+'px;'+
          'background:'+color+';'+
          'box-shadow:0 0 '+(size*2.5)+'px '+color+';'+
          '--pdur:'+dur+'s;'+
          'animation-delay:'+delay+'s;';
        p.style.setProperty('--tx', tx+'px');
        p.style.setProperty('--ty', ty+'px');
        document.body.appendChild(p);
        setTimeout(function(){ p.remove(); }, (dur + delay + 0.15) * 1000);
      })(i);
    }
  }

  /* ── Flash ── */
  function spawnFlash(cx, cy) {
    var f = document.createElement('div');
    f.className = 'fe-flash';
    f.style.setProperty('--fx', cx+'px');
    f.style.setProperty('--fy', cy+'px');
    document.body.appendChild(f);
    setTimeout(function(){ f.remove(); }, 350);
  }

  /* ── Recoil ── */
  function recoilBtn(btn) {
    btn.classList.remove('fe-recoil');
    void btn.offsetWidth;
    btn.classList.add('fe-recoil');
    setTimeout(function(){ btn.classList.remove('fe-recoil'); }, 560);
  }

  /* ── Master blast ── */
  function blast(btn, ex, ey) {
    var colors = getColors(btn);
    spawnFlash(ex, ey);
    spawnRings(ex, ey, colors);
    spawnStreaks(ex, ey, colors);
    spawnParticles(ex, ey, colors);
    recoilBtn(btn);
  }

  /* ── Init ── */
  function init() {
    document.querySelectorAll('.elementor-button').forEach(decorateBtn);
  }

  document.addEventListener('click', function (e) {
    var btn = e.target.closest('.elementor-button');
    if (!btn) return;
    blast(btn, e.clientX, e.clientY);
  });

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }

  var obs = new MutationObserver(init);
  obs.observe(document.body, { childList: true, subtree: true });

})();
</script>/* End custom CSS */
/* Start custom CSS for woocommerce-products, class: .elementor-element-cf5d654 *//* Hide original button text */
.woocommerce a.add_to_cart_button span,
.woocommerce button.single_add_to_cart_button span,
.woocommerce a.add_to_cart_button,
.woocommerce button.single_add_to_cart_button {
    font-size: 0 !important;
    color: transparent !important;
}

/* Inject "Order Now" text */
.woocommerce a.add_to_cart_button::after,
.woocommerce button.single_add_to_cart_button::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

/* Fix for "Select options" button (variable products) */
.woocommerce a.button.product_type_variable::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

.woocommerce a.button.product_type_variable {
    font-size: 0 !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-56ee632 *//* Fix padding for this specific Elementor button */
.elementor-21 .elementor-element.elementor-element-56ee632 .elementor-button {
    padding: 15px 25px 15px 25px !important; /* Top Right Bottom Left */
    width: auto !important; /* This stops it from stretching to 100% width */
}

<style>
/* ============================================
   FUTURISTIC ELEMENTOR BUTTON — ALL IN ONE
   Black & White Theme + BLAST EFFECT
============================================ */

.elementor-button {
  position: relative !important;
  overflow: visible !important;
  cursor: pointer !important;
  z-index: 1 !important;
  transition: color 0.35s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
  isolation: isolate !important;
}

/* Clip inner content but allow overflow for blast */
.elementor-button .elementor-button-content-wrapper {
  position: relative !important;
  z-index: 2 !important;
}

/* White fill sweep left → right */
.elementor-button::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: #ffffff !important;
  transition: left 0.45s cubic-bezier(0.77, 0, 0.18, 1) !important;
  z-index: -1 !important;
  border-radius: inherit !important;
}
.elementor-button:hover::after { left: 0 !important; }

/* Force text black on hover */
.elementor-button:hover,
.elementor-button:hover span,
.elementor-button:hover .elementor-button-text,
.elementor-button:hover .elementor-button-icon {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Lift + glow on hover */
.elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.12),
    0 10px 35px rgba(0,0,0,0.18),
    0 0 50px rgba(0,0,0,0.06) !important;
}

/* Corner brackets */
.fe-tl, .fe-br {
  position: absolute !important;
  width: 9px !important; height: 9px !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, transform 0.35s ease !important;
  opacity: 0 !important;
  z-index: 6 !important;
}
.fe-tl {
  top: 5px !important; left: 5px !important;
  border-top: 2px solid #000 !important;
  border-left: 2px solid #000 !important;
  transform: translate(-5px,-5px) !important;
}
.fe-br {
  bottom: 5px !important; right: 5px !important;
  border-bottom: 2px solid #000 !important;
  border-right: 2px solid #000 !important;
  transform: translate(5px,5px) !important;
}
.elementor-button:hover .fe-tl,
.elementor-button:hover .fe-br {
  opacity: 1 !important;
  transform: translate(0,0) !important;
}

/* Scan line */
.fe-scan {
  position: absolute !important;
  left: 0 !important; width: 100% !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.5), transparent) !important;
  top: -10% !important;
  pointer-events: none !important;
  z-index: 5 !important;
  opacity: 0 !important;
}
@keyframes feScanLine {
  0%   { top: -5%;  opacity: 1; }
  100% { top: 110%; opacity: 0; }
}
.elementor-button:hover .fe-scan {
  animation: feScanLine 0.65s ease forwards !important;
}

/* ── BLAST: Shockwave rings (appended to body, position:fixed) ── */
.fe-ring {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform: translate(-50%, -50%) scale(0) !important;
  animation: feRingBlast var(--dur, 0.6s) ease-out forwards !important;
  animation-delay: var(--delay, 0s) !important;
  border: var(--thickness, 2px) solid var(--color, #000) !important;
}
@keyframes feRingBlast {
  0%   { transform: translate(-50%,-50%) scale(0);  opacity: 0.9; }
  60%  { opacity: 0.45; }
  100% { transform: translate(-50%,-50%) scale(1);  opacity: 0; }
}

/* ── BLAST: Streak lines ── */
.fe-streak {
  position: fixed !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform-origin: left center !important;
  transform: scaleX(0) !important;
  animation: feStreak 0.5s ease-out forwards !important;
  border-radius: 3px !important;
}
@keyframes feStreak {
  0%   { transform: scaleX(0); opacity: 1; }
  55%  { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(1.15); opacity: 0; }
}

/* ── BLAST: Particles ── */
.fe-particle {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  animation: feParticleBurst var(--pdur, 0.75s) ease-out forwards !important;
}
@keyframes feParticleBurst {
  0%   { transform: translate(0,0) scale(1);               opacity: 1; }
  100% { transform: translate(var(--tx),var(--ty)) scale(0); opacity: 0; }
}

/* ── BLAST: Screen flash ── */
.fe-flash {
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 99998 !important;
  background: radial-gradient(circle at var(--fx) var(--fy), rgba(255,255,255,0.6) 0%, transparent 60%) !important;
  animation: feFlash 0.3s ease-out forwards !important;
}
@keyframes feFlash {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}

/* ── BLAST: Button recoil ── */
@keyframes feRecoil {
  0%   { transform: scale(1); }
  15%  { transform: scale(0.86); }
  45%  { transform: scale(1.07); }
  70%  { transform: scale(0.97); }
  100% { transform: scale(1); }
}
.fe-recoil {
  animation: feRecoil 0.52s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards !important;
}
</style>

<script>
(function () {
  var PARTICLE_COUNT = 30;
  var STREAK_COUNT   = 12;

  function getColors(btn) {
    var bg = window.getComputedStyle(btn).backgroundColor;
    var isDark = bg.indexOf('0, 0, 0') > -1
              || bg.indexOf('17,')  > -1
              || bg.indexOf('26,')  > -1
              || bg.indexOf('51,')  > -1;
    return isDark
      ? ['#ffffff','#dddddd','#aaaaaa','#eeeeee','#cccccc']
      : ['#000000','#222222','#444444','#111111','#333333'];
  }

  /* ── Decorate each button once ── */
  function decorateBtn(btn) {
    if (btn.dataset.feReady) return;
    btn.dataset.feReady = '1';

    ['fe-scan','fe-tl','fe-br'].forEach(function (cls) {
      var el = document.createElement('span');
      el.className = cls;
      btn.appendChild(el);
    });

    btn.addEventListener('mousemove', function (e) {
      var r  = btn.getBoundingClientRect();
      var dx = (e.clientX - (r.left + r.width  / 2)) * 0.15;
      var dy = (e.clientY - (r.top  + r.height / 2)) * 0.15;
      btn.style.transform = 'translate('+dx+'px,'+dy+'px) translateY(-3px)';
    });
    btn.addEventListener('mouseleave', function () {
      btn.style.transform = '';
    });
  }

  /* ── Shockwave rings ── */
  function spawnRings(cx, cy, colors) {
    var cfg = [
      { size: 70,  dur: 0.45, delay: 0,    thick: 3 },
      { size: 130, dur: 0.55, delay: 0.06, thick: 2 },
      { size: 200, dur: 0.65, delay: 0.13, thick: 1.5 },
      { size: 290, dur: 0.75, delay: 0.21, thick: 1 }
    ];
    cfg.forEach(function (c) {
      var r = document.createElement('div');
      r.className = 'fe-ring';
      r.style.cssText =
        'left:'+cx+'px;top:'+cy+'px;'+
        'width:'+c.size+'px;height:'+c.size+'px;'+
        '--dur:'+c.dur+'s;--delay:'+c.delay+'s;'+
        '--color:'+colors[0]+';--thickness:'+c.thick+'px;';
      document.body.appendChild(r);
      setTimeout(function(){ r.remove(); }, (c.dur + c.delay + 0.15) * 1000);
    });
  }

  /* ── Streak lines ── */
  function spawnStreaks(cx, cy, colors) {
    for (var i = 0; i < STREAK_COUNT; i++) {
      (function (i) {
        var angle  = (360 / STREAK_COUNT) * i + (Math.random() * 20 - 10);
        var len    = 18 + Math.random() * 50;
        var h      = 1.5 + Math.random() * 2.5;
        var color  = colors[Math.floor(Math.random() * colors.length)];
        var delay  = Math.random() * 0.07;

        var s = document.createElement('div');
        s.className = 'fe-streak';
        s.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+len+'px;height:'+h+'px;'+
          'background:'+color+';'+
          'rotate:'+angle+'deg;'+
          'box-shadow:0 0 5px '+color+';'+
          'animation-delay:'+delay+'s;';
        document.body.appendChild(s);
        setTimeout(function(){ s.remove(); }, 620);
      })(i);
    }
  }

  /* ── Particles ── */
  function spawnParticles(cx, cy, colors) {
    for (var i = 0; i < PARTICLE_COUNT; i++) {
      (function (i) {
        var angle    = (360 / PARTICLE_COUNT) * i + (Math.random() * 22 - 11);
        var distance = 55 + Math.random() * 110;
        var rad      = angle * Math.PI / 180;
        var tx       = Math.cos(rad) * distance;
        var ty       = Math.sin(rad) * distance;
        var size     = 2.5 + Math.random() * 5;
        var color    = colors[Math.floor(Math.random() * colors.length)];
        var delay    = Math.random() * 0.1;
        var dur      = 0.55 + Math.random() * 0.35;

        var p = document.createElement('span');
        p.className = 'fe-particle';
        p.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+size+'px;height:'+size+'px;'+
          'background:'+color+';'+
          'box-shadow:0 0 '+(size*2.5)+'px '+color+';'+
          '--pdur:'+dur+'s;'+
          'animation-delay:'+delay+'s;';
        p.style.setProperty('--tx', tx+'px');
        p.style.setProperty('--ty', ty+'px');
        document.body.appendChild(p);
        setTimeout(function(){ p.remove(); }, (dur + delay + 0.15) * 1000);
      })(i);
    }
  }

  /* ── Flash ── */
  function spawnFlash(cx, cy) {
    var f = document.createElement('div');
    f.className = 'fe-flash';
    f.style.setProperty('--fx', cx+'px');
    f.style.setProperty('--fy', cy+'px');
    document.body.appendChild(f);
    setTimeout(function(){ f.remove(); }, 350);
  }

  /* ── Recoil ── */
  function recoilBtn(btn) {
    btn.classList.remove('fe-recoil');
    void btn.offsetWidth;
    btn.classList.add('fe-recoil');
    setTimeout(function(){ btn.classList.remove('fe-recoil'); }, 560);
  }

  /* ── Master blast ── */
  function blast(btn, ex, ey) {
    var colors = getColors(btn);
    spawnFlash(ex, ey);
    spawnRings(ex, ey, colors);
    spawnStreaks(ex, ey, colors);
    spawnParticles(ex, ey, colors);
    recoilBtn(btn);
  }

  /* ── Init ── */
  function init() {
    document.querySelectorAll('.elementor-button').forEach(decorateBtn);
  }

  document.addEventListener('click', function (e) {
    var btn = e.target.closest('.elementor-button');
    if (!btn) return;
    blast(btn, e.clientX, e.clientY);
  });

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }

  var obs = new MutationObserver(init);
  obs.observe(document.body, { childList: true, subtree: true });

})();
</script>/* End custom CSS */
/* Start custom CSS for woocommerce-products, class: .elementor-element-0580350 *//* Hide original button text */
.woocommerce a.add_to_cart_button span,
.woocommerce button.single_add_to_cart_button span,
.woocommerce a.add_to_cart_button,
.woocommerce button.single_add_to_cart_button {
    font-size: 0 !important;
    color: transparent !important;
}

/* Inject "Order Now" text */
.woocommerce a.add_to_cart_button::after,
.woocommerce button.single_add_to_cart_button::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

/* Fix for "Select options" button (variable products) */
.woocommerce a.button.product_type_variable::after {
    content: "Order Now";
    font-size: 14px !important;
    color: #ffffff !important;
}

.woocommerce a.button.product_type_variable {
    font-size: 0 !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-871a196 *//* Fix padding for this specific Elementor button */
.elementor-21 .elementor-element.elementor-element-871a196 .elementor-button {
    padding: 15px 25px 15px 25px !important; /* Top Right Bottom Left */
    width: auto !important; /* This stops it from stretching to 100% width */
}

<style>
/* ============================================
   FUTURISTIC ELEMENTOR BUTTON — ALL IN ONE
   Black & White Theme + BLAST EFFECT
============================================ */

.elementor-button {
  position: relative !important;
  overflow: visible !important;
  cursor: pointer !important;
  z-index: 1 !important;
  transition: color 0.35s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
  isolation: isolate !important;
}

/* Clip inner content but allow overflow for blast */
.elementor-button .elementor-button-content-wrapper {
  position: relative !important;
  z-index: 2 !important;
}

/* White fill sweep left → right */
.elementor-button::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: #ffffff !important;
  transition: left 0.45s cubic-bezier(0.77, 0, 0.18, 1) !important;
  z-index: -1 !important;
  border-radius: inherit !important;
}
.elementor-button:hover::after { left: 0 !important; }

/* Force text black on hover */
.elementor-button:hover,
.elementor-button:hover span,
.elementor-button:hover .elementor-button-text,
.elementor-button:hover .elementor-button-icon {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Lift + glow on hover */
.elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.12),
    0 10px 35px rgba(0,0,0,0.18),
    0 0 50px rgba(0,0,0,0.06) !important;
}

/* Corner brackets */
.fe-tl, .fe-br {
  position: absolute !important;
  width: 9px !important; height: 9px !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, transform 0.35s ease !important;
  opacity: 0 !important;
  z-index: 6 !important;
}
.fe-tl {
  top: 5px !important; left: 5px !important;
  border-top: 2px solid #000 !important;
  border-left: 2px solid #000 !important;
  transform: translate(-5px,-5px) !important;
}
.fe-br {
  bottom: 5px !important; right: 5px !important;
  border-bottom: 2px solid #000 !important;
  border-right: 2px solid #000 !important;
  transform: translate(5px,5px) !important;
}
.elementor-button:hover .fe-tl,
.elementor-button:hover .fe-br {
  opacity: 1 !important;
  transform: translate(0,0) !important;
}

/* Scan line */
.fe-scan {
  position: absolute !important;
  left: 0 !important; width: 100% !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.5), transparent) !important;
  top: -10% !important;
  pointer-events: none !important;
  z-index: 5 !important;
  opacity: 0 !important;
}
@keyframes feScanLine {
  0%   { top: -5%;  opacity: 1; }
  100% { top: 110%; opacity: 0; }
}
.elementor-button:hover .fe-scan {
  animation: feScanLine 0.65s ease forwards !important;
}

/* ── BLAST: Shockwave rings (appended to body, position:fixed) ── */
.fe-ring {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform: translate(-50%, -50%) scale(0) !important;
  animation: feRingBlast var(--dur, 0.6s) ease-out forwards !important;
  animation-delay: var(--delay, 0s) !important;
  border: var(--thickness, 2px) solid var(--color, #000) !important;
}
@keyframes feRingBlast {
  0%   { transform: translate(-50%,-50%) scale(0);  opacity: 0.9; }
  60%  { opacity: 0.45; }
  100% { transform: translate(-50%,-50%) scale(1);  opacity: 0; }
}

/* ── BLAST: Streak lines ── */
.fe-streak {
  position: fixed !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform-origin: left center !important;
  transform: scaleX(0) !important;
  animation: feStreak 0.5s ease-out forwards !important;
  border-radius: 3px !important;
}
@keyframes feStreak {
  0%   { transform: scaleX(0); opacity: 1; }
  55%  { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(1.15); opacity: 0; }
}

/* ── BLAST: Particles ── */
.fe-particle {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  animation: feParticleBurst var(--pdur, 0.75s) ease-out forwards !important;
}
@keyframes feParticleBurst {
  0%   { transform: translate(0,0) scale(1);               opacity: 1; }
  100% { transform: translate(var(--tx),var(--ty)) scale(0); opacity: 0; }
}

/* ── BLAST: Screen flash ── */
.fe-flash {
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 99998 !important;
  background: radial-gradient(circle at var(--fx) var(--fy), rgba(255,255,255,0.6) 0%, transparent 60%) !important;
  animation: feFlash 0.3s ease-out forwards !important;
}
@keyframes feFlash {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}

/* ── BLAST: Button recoil ── */
@keyframes feRecoil {
  0%   { transform: scale(1); }
  15%  { transform: scale(0.86); }
  45%  { transform: scale(1.07); }
  70%  { transform: scale(0.97); }
  100% { transform: scale(1); }
}
.fe-recoil {
  animation: feRecoil 0.52s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards !important;
}
</style>

<script>
(function () {
  var PARTICLE_COUNT = 30;
  var STREAK_COUNT   = 12;

  function getColors(btn) {
    var bg = window.getComputedStyle(btn).backgroundColor;
    var isDark = bg.indexOf('0, 0, 0') > -1
              || bg.indexOf('17,')  > -1
              || bg.indexOf('26,')  > -1
              || bg.indexOf('51,')  > -1;
    return isDark
      ? ['#ffffff','#dddddd','#aaaaaa','#eeeeee','#cccccc']
      : ['#000000','#222222','#444444','#111111','#333333'];
  }

  /* ── Decorate each button once ── */
  function decorateBtn(btn) {
    if (btn.dataset.feReady) return;
    btn.dataset.feReady = '1';

    ['fe-scan','fe-tl','fe-br'].forEach(function (cls) {
      var el = document.createElement('span');
      el.className = cls;
      btn.appendChild(el);
    });

    btn.addEventListener('mousemove', function (e) {
      var r  = btn.getBoundingClientRect();
      var dx = (e.clientX - (r.left + r.width  / 2)) * 0.15;
      var dy = (e.clientY - (r.top  + r.height / 2)) * 0.15;
      btn.style.transform = 'translate('+dx+'px,'+dy+'px) translateY(-3px)';
    });
    btn.addEventListener('mouseleave', function () {
      btn.style.transform = '';
    });
  }

  /* ── Shockwave rings ── */
  function spawnRings(cx, cy, colors) {
    var cfg = [
      { size: 70,  dur: 0.45, delay: 0,    thick: 3 },
      { size: 130, dur: 0.55, delay: 0.06, thick: 2 },
      { size: 200, dur: 0.65, delay: 0.13, thick: 1.5 },
      { size: 290, dur: 0.75, delay: 0.21, thick: 1 }
    ];
    cfg.forEach(function (c) {
      var r = document.createElement('div');
      r.className = 'fe-ring';
      r.style.cssText =
        'left:'+cx+'px;top:'+cy+'px;'+
        'width:'+c.size+'px;height:'+c.size+'px;'+
        '--dur:'+c.dur+'s;--delay:'+c.delay+'s;'+
        '--color:'+colors[0]+';--thickness:'+c.thick+'px;';
      document.body.appendChild(r);
      setTimeout(function(){ r.remove(); }, (c.dur + c.delay + 0.15) * 1000);
    });
  }

  /* ── Streak lines ── */
  function spawnStreaks(cx, cy, colors) {
    for (var i = 0; i < STREAK_COUNT; i++) {
      (function (i) {
        var angle  = (360 / STREAK_COUNT) * i + (Math.random() * 20 - 10);
        var len    = 18 + Math.random() * 50;
        var h      = 1.5 + Math.random() * 2.5;
        var color  = colors[Math.floor(Math.random() * colors.length)];
        var delay  = Math.random() * 0.07;

        var s = document.createElement('div');
        s.className = 'fe-streak';
        s.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+len+'px;height:'+h+'px;'+
          'background:'+color+';'+
          'rotate:'+angle+'deg;'+
          'box-shadow:0 0 5px '+color+';'+
          'animation-delay:'+delay+'s;';
        document.body.appendChild(s);
        setTimeout(function(){ s.remove(); }, 620);
      })(i);
    }
  }

  /* ── Particles ── */
  function spawnParticles(cx, cy, colors) {
    for (var i = 0; i < PARTICLE_COUNT; i++) {
      (function (i) {
        var angle    = (360 / PARTICLE_COUNT) * i + (Math.random() * 22 - 11);
        var distance = 55 + Math.random() * 110;
        var rad      = angle * Math.PI / 180;
        var tx       = Math.cos(rad) * distance;
        var ty       = Math.sin(rad) * distance;
        var size     = 2.5 + Math.random() * 5;
        var color    = colors[Math.floor(Math.random() * colors.length)];
        var delay    = Math.random() * 0.1;
        var dur      = 0.55 + Math.random() * 0.35;

        var p = document.createElement('span');
        p.className = 'fe-particle';
        p.style.cssText =
          'left:'+cx+'px;top:'+cy+'px;'+
          'width:'+size+'px;height:'+size+'px;'+
          'background:'+color+';'+
          'box-shadow:0 0 '+(size*2.5)+'px '+color+';'+
          '--pdur:'+dur+'s;'+
          'animation-delay:'+delay+'s;';
        p.style.setProperty('--tx', tx+'px');
        p.style.setProperty('--ty', ty+'px');
        document.body.appendChild(p);
        setTimeout(function(){ p.remove(); }, (dur + delay + 0.15) * 1000);
      })(i);
    }
  }

  /* ── Flash ── */
  function spawnFlash(cx, cy) {
    var f = document.createElement('div');
    f.className = 'fe-flash';
    f.style.setProperty('--fx', cx+'px');
    f.style.setProperty('--fy', cy+'px');
    document.body.appendChild(f);
    setTimeout(function(){ f.remove(); }, 350);
  }

  /* ── Recoil ── */
  function recoilBtn(btn) {
    btn.classList.remove('fe-recoil');
    void btn.offsetWidth;
    btn.classList.add('fe-recoil');
    setTimeout(function(){ btn.classList.remove('fe-recoil'); }, 560);
  }

  /* ── Master blast ── */
  function blast(btn, ex, ey) {
    var colors = getColors(btn);
    spawnFlash(ex, ey);
    spawnRings(ex, ey, colors);
    spawnStreaks(ex, ey, colors);
    spawnParticles(ex, ey, colors);
    recoilBtn(btn);
  }

  /* ── Init ── */
  function init() {
    document.querySelectorAll('.elementor-button').forEach(decorateBtn);
  }

  document.addEventListener('click', function (e) {
    var btn = e.target.closest('.elementor-button');
    if (!btn) return;
    blast(btn, e.clientX, e.clientY);
  });

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }

  var obs = new MutationObserver(init);
  obs.observe(document.body, { childList: true, subtree: true });

})();
</script>/* End custom CSS */