.elementor-810 .elementor-element.elementor-element-1f13e618{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-9066a70{--display:flex;}.elementor-810 .elementor-element.elementor-element-a8296bc{width:auto;max-width:auto;top:22px;z-index:10;}.elementor-810 .elementor-element.elementor-element-a8296bc.elementor-element{--align-self:flex-end;}body:not(.rtl) .elementor-810 .elementor-element.elementor-element-a8296bc{right:85px;}body.rtl .elementor-810 .elementor-element.elementor-element-a8296bc{left:85px;}.elementor-810 .elementor-element.elementor-element-2a3505bf.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-810 .elementor-element.elementor-element-7c3f4c29{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-810 .elementor-element.elementor-element-4c1fc690{--display:flex;}.elementor-widget-woocommerce-product-title .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-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-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-810 .elementor-element.elementor-element-738234c1{--display:flex;}.elementor-widget-woocommerce-product-content{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 );}.woocommerce .elementor-widget-woocommerce-product-price .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-810 .elementor-element.elementor-element-5ef03438{--spacer-size:0px;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-810 .elementor-element.elementor-element-a40d237 .cart button, .elementor-810 .elementor-element.elementor-element-a40d237 .cart .button{transition:all 0.2s;}.elementor-810 .elementor-element.elementor-element-a40d237 .quantity .qty{transition:all 0.2s;}.elementor-810 .elementor-element.elementor-element-228a207f{--spacer-size:29px;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-810 .elementor-element.elementor-element-4320a045 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-4320a045 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-4320a045{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-4320a045 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-27fca7e5 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-27fca7e5 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-27fca7e5{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-27fca7e5 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-28f34420{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-5f0e0cf{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-2dfeb515 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(0px/2);}.elementor-810 .elementor-element.elementor-element-2dfeb515 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(0px/2);}.elementor-810 .elementor-element.elementor-element-2dfeb515 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(0px/2);}.elementor-810 .elementor-element.elementor-element-2dfeb515 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-0px/2);}.elementor-810 .elementor-element.elementor-element-2dfeb515 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-0px/2);}.elementor-810 .elementor-element.elementor-element-2dfeb515 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-2dfeb515 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-2dfeb515{--e-icon-list-icon-size:6px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-2dfeb515 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-6cb9a13{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-4751279 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-4751279 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-4751279{--e-icon-list-icon-size:6px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-4751279 .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-810 .elementor-element.elementor-element-4751279 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-defb819{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-12f949b .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-12f949b .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-12f949b{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-12f949b .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-a68b0b6{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-ba40ce2 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-ba40ce2 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-ba40ce2{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-ba40ce2 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-ec931df{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-3b32f8d .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-3b32f8d .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-3b32f8d{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-3b32f8d .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-53f69ce{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-98c1b1f .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-98c1b1f .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-98c1b1f{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-98c1b1f .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-08597a9{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-ff7f63a .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-ff7f63a .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-ff7f63a{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-ff7f63a .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-5d3b6d6{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-492b62e .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-492b62e .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-492b62e{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-492b62e .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-9ad805b{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-599531b .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-599531b .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-599531b{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-599531b .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-e143660{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-db062dd .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-db062dd .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-db062dd{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-db062dd .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-af9af19{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-b241448 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-b241448 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-b241448{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-b241448 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-affd6a8{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-ebf33eb .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-ebf33eb .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-ebf33eb{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-ebf33eb .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-f065f91{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-feae493 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-feae493 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-feae493{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-feae493 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-2c3bf0e{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-6833484 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-6833484 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-6833484{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-6833484 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-56c2990{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-39f0af0 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-39f0af0 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-39f0af0{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-39f0af0 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-056fdd8{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-a6a6bee .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-a6a6bee .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-a6a6bee{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-a6a6bee .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-5010696{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-ad4c145 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-ad4c145 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-ad4c145{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-ad4c145 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-7d952c7{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-2d50b63 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-2d50b63 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-2d50b63{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-2d50b63 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-ba063a1{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-232c759 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-232c759 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-232c759{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-232c759 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-8749b67{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-7e5d63d .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-7e5d63d .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-7e5d63d{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-7e5d63d .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-21c1ca8{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-d56c515 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-d56c515 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-d56c515{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-d56c515 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-236ed6f{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-092b6c4 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-092b6c4 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-092b6c4{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-092b6c4 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-b748ec9{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-4f52263 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-4f52263 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-4f52263{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-4f52263 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-f71f3c7{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-48df747 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-48df747 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-48df747{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-48df747 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-70e4dc2{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-810 .elementor-element.elementor-element-fc8ffd1 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-fc8ffd1 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-810 .elementor-element.elementor-element-fc8ffd1{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-810 .elementor-element.elementor-element-fc8ffd1 .elementor-icon-list-text{transition:color 0.3s;}.elementor-810 .elementor-element.elementor-element-cb6df4c{--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-810 .elementor-element.elementor-element-20ffdab9{--display:flex;}.elementor-810 .elementor-element.elementor-element-20ffdab9.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-product-related.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 );}.woocommerce .elementor-widget-woocommerce-product-related.elementor-wc-products .products > h2{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-product-related.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-product-related.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.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-product-related.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-product-related.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-810 .elementor-element.elementor-element-248a06e5.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-810 .elementor-element.elementor-element-248a06e5.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-810 .elementor-element.elementor-element-aadfcb6{--display:flex;}@media(min-width:768px){.elementor-810 .elementor-element.elementor-element-9066a70{--width:50%;}.elementor-810 .elementor-element.elementor-element-7c3f4c29{--width:50%;}.elementor-810 .elementor-element.elementor-element-20ffdab9{--width:88.534%;}}@media(max-width:1024px){.elementor-810 .elementor-element.elementor-element-248a06e5.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-810 .elementor-element.elementor-element-248a06e5.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for shortcode, class: .elementor-element-a8296bc *//* Targets the TI Wishlist font icon / SVG size */
.elementor-810 .elementor-element.elementor-element-a8296bc .tinv-wishlist .tinvwl_add_to_wishlist-text::before,
.elementor-810 .elementor-element.elementor-element-a8296bc a.tinvwl_add_to_wishlist_button::before,
.elementor-810 .elementor-element.elementor-element-a8296bc .tinv-wishlist i {
    font-size: 36px !important; /* Adjust this value up or down to scale your icon */
    width: 26px !important;     /* Ensures container scales with it */
    height: 26px !important;
    line-height: 1 !important;
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-images, class: .elementor-element-2a3505bf *//* ========================================================
   1. FORCE FIXED RATIO & SIZE ON PRIMARY IMAGE
   ======================================================== */
.elementor-810 .elementor-element.elementor-element-2a3505bf .woocommerce-product-gallery__wrapper img {
    width: 100% !important;
    /* CHANGE THESE: Sets the absolute fixed height window frame */
    height: 500px !important; 
    
    /* Crucial: Prevents stretching by auto-cropping uneven files */
    object-fit: cover !important; 
    object-position: center !important; /* Keeps the middle of the artwork centered */
    
    border: 1px solid #e0e0e0 !important;
    box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.08) !important;
    border-radius: 4px !important;
    transition: transform 0.3s ease-in-out !important;
}

/* ========================================================
   2. INTERACTIVE GENTLE HOVER ZOOM EFFECT
   ======================================================== */
.elementor-810 .elementor-element.elementor-element-2a3505bf .woocommerce-product-gallery__image:hover img {
    transform: scale(1.03);
}

/* ========================================================
   3. FORCE FIXED RATIO ON GALLERY THUMBNAILS (BELOW)
   ======================================================== */
/* Add breathing room around each individual thumbnail item */
.elementor-810 .elementor-element.elementor-element-2a3505bf .flex-control-thumbs li {
    padding: 6px !important;
}

/* Force thumbnails into perfect matching square boxes */
.elementor-810 .elementor-element.elementor-element-2a3505bf .flex-control-thumbs li img {
    width: 80px !important;   /* Fixed horizontal width */
    height: 80px !important;  /* Fixed vertical height */
    object-fit: cover !important; /* Crops uneven thumbnails cleanly */
    
    border: 2px solid #e0e0e0 !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
}

/* Snap a sharp charcoal border into view when a user hovers a thumbnail option */
.elementor-810 .elementor-element.elementor-element-2a3505bf .flex-control-thumbs li img:hover,
.elementor-810 .elementor-element.elementor-element-2a3505bf .flex-control-thumbs li img.flex-active {
    border-color: #222222 !important;
    opacity: 0.9 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5f0e0cf *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-5f0e0cf:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-5f0e0cf:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-5f0e0cf {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-5f0e0cf {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-5f0e0cf(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-5f0e0cf:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-5f0e0cf:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6cb9a13 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-6cb9a13:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-6cb9a13:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-6cb9a13 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-6cb9a13 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-6cb9a13(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-6cb9a13:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-6cb9a13:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-defb819 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-defb819:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-defb819:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-defb819 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-defb819 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-defb819(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-defb819:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-defb819:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a68b0b6 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-a68b0b6:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-a68b0b6:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-a68b0b6 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-a68b0b6 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-a68b0b6(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-a68b0b6:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-a68b0b6:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ec931df *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-ec931df:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-ec931df:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-ec931df {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-ec931df {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-ec931df(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-ec931df:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-ec931df:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-98c1b1f *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-98c1b1f:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-98c1b1f:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-98c1b1f {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-98c1b1f {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-98c1b1f(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-98c1b1f:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-98c1b1f:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53f69ce *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-53f69ce:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-53f69ce:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-53f69ce {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-53f69ce {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-53f69ce(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-53f69ce:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-53f69ce:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-ff7f63a *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-ff7f63a:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-ff7f63a:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-ff7f63a {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-ff7f63a {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-ff7f63a(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-ff7f63a:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-ff7f63a:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-08597a9 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-08597a9:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-08597a9:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-08597a9 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-08597a9 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-08597a9(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-08597a9:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-08597a9:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-492b62e *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-492b62e:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-492b62e:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-492b62e {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-492b62e {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-492b62e(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-492b62e:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-492b62e:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d3b6d6 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-5d3b6d6:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-5d3b6d6:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-5d3b6d6 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-5d3b6d6 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-5d3b6d6(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-5d3b6d6:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-5d3b6d6:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-599531b *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-599531b:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-599531b:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-599531b {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-599531b {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-599531b(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-599531b:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-599531b:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ad805b *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-9ad805b:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-9ad805b:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-9ad805b {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-9ad805b {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-9ad805b(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-9ad805b:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-9ad805b:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-db062dd *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-db062dd:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-db062dd:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-db062dd {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-db062dd {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-db062dd(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-db062dd:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-db062dd:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e143660 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-e143660:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-e143660:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-e143660 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-e143660 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-e143660(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-e143660:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-e143660:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-b241448 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-b241448:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-b241448:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-b241448 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-b241448 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-b241448(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-b241448:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-b241448:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-af9af19 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-af9af19:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-af9af19:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-af9af19 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-af9af19 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-af9af19(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-af9af19:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-af9af19:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-ebf33eb *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-ebf33eb:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-ebf33eb:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-ebf33eb {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-ebf33eb {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-ebf33eb(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-ebf33eb:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-ebf33eb:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-affd6a8 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-affd6a8:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-affd6a8:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-affd6a8 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-affd6a8 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-affd6a8(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-affd6a8:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-affd6a8:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-feae493 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-feae493:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-feae493:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-feae493 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-feae493 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-feae493(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-feae493:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-feae493:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f065f91 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-f065f91:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-f065f91:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-f065f91 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-f065f91 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-f065f91(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-f065f91:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-f065f91:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-6833484 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-6833484:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-6833484:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-6833484 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-6833484 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-6833484(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-6833484:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-6833484:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2c3bf0e *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-2c3bf0e:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-2c3bf0e:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-2c3bf0e {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-2c3bf0e {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-2c3bf0e(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-2c3bf0e:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-2c3bf0e:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-39f0af0 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-39f0af0:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-39f0af0:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-39f0af0 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-39f0af0 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-39f0af0(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-39f0af0:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-39f0af0:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-56c2990 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-56c2990:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-56c2990:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-56c2990 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-56c2990 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-56c2990(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-56c2990:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-56c2990:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-a6a6bee *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-a6a6bee:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-a6a6bee:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-a6a6bee {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-a6a6bee {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-a6a6bee(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-a6a6bee:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-a6a6bee:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-056fdd8 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-056fdd8:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-056fdd8:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-056fdd8 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-056fdd8 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-056fdd8(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-056fdd8:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-056fdd8:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-ad4c145 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-ad4c145:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-ad4c145:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-ad4c145 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-ad4c145 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-ad4c145(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-ad4c145:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-ad4c145:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5010696 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-5010696:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-5010696:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-5010696 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-5010696 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-5010696(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-5010696:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-5010696:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-2d50b63 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-2d50b63:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-2d50b63:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-2d50b63 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-2d50b63 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-2d50b63(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-2d50b63:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-2d50b63:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d952c7 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-7d952c7:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-7d952c7:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-7d952c7 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-7d952c7 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-7d952c7(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-7d952c7:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-7d952c7:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-232c759 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-232c759:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-232c759:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-232c759 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-232c759 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-232c759(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-232c759:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-232c759:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ba063a1 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-ba063a1:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-ba063a1:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-ba063a1 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-ba063a1 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-ba063a1(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-ba063a1:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-ba063a1:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-7e5d63d *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-7e5d63d:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-7e5d63d:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-7e5d63d {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-7e5d63d {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-7e5d63d(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-7e5d63d:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-7e5d63d:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8749b67 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-8749b67:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-8749b67:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-8749b67 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-8749b67 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-8749b67(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-8749b67:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-8749b67:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-d56c515 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-d56c515:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-d56c515:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-d56c515 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-d56c515 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-d56c515(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-d56c515:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-d56c515:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-21c1ca8 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-21c1ca8:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-21c1ca8:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-21c1ca8 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-21c1ca8 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-21c1ca8(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-21c1ca8:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-21c1ca8:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-092b6c4 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-092b6c4:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-092b6c4:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-092b6c4 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-092b6c4 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-092b6c4(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-092b6c4:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-092b6c4:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-236ed6f *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-236ed6f:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-236ed6f:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-236ed6f {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-236ed6f {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-236ed6f(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-236ed6f:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-236ed6f:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-4f52263 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-4f52263:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-4f52263:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-4f52263 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-4f52263 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-4f52263(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-4f52263:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-4f52263:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b748ec9 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-b748ec9:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-b748ec9:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-b748ec9 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-b748ec9 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-b748ec9(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-b748ec9:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-b748ec9:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-48df747 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-48df747:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-48df747:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-48df747 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-48df747 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-48df747(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-48df747:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-48df747:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f71f3c7 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-f71f3c7:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-f71f3c7:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-f71f3c7 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-f71f3c7 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-f71f3c7(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-f71f3c7:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-f71f3c7:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-fc8ffd1 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-fc8ffd1:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-fc8ffd1:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-fc8ffd1 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-fc8ffd1 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-fc8ffd1(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-fc8ffd1:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-fc8ffd1:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70e4dc2 *//* Universal Container Collapse Rule */
.elementor-810 .elementor-element.elementor-element-70e4dc2:not(:has(img, iframe, svg, canvas, button, input)),
.elementor-810 .elementor-element.elementor-element-70e4dc2:not(:has(> *)),
.elementor-810 .elementor-element.elementor-element-70e4dc2 {
    /* If the text content inside is purely whitespace or empty, hide the container */
}

.elementor-810 .elementor-element.elementor-element-70e4dc2 {
    display: grid; /* Works flawlessly with the :has check */
}

/* The magic condition: hides the container if it lacks any functional elements AND has no trimmed text content */
@support (.elementor-810 .elementor-element.elementor-element-70e4dc2(:has(*))) {
    .elementor-810 .elementor-element.elementor-element-70e4dc2:not(:has(img, iframe, svg, canvas, button, input, a, p, h1, h2, h3, h4, h5, h6, span:not(:empty))):not(:has(ul, li)) {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
}

/* Core JavaScript-free fallback for text nodes */
.elementor-810 .elementor-element.elementor-element-70e4dc2:empty {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-data-tabs, class: .elementor-element-8d82da6 *//* Hide the Description Tab and its Panel */
li.description_tab, #tab-description {
    display: none !important;
}

/* Hide the Additional Information Tab and its Panel */
li.additional_information_tab, #tab-additional_information {
    display: none !important;
}

/* Make the Review Tab look like a simple Heading instead of a Tab */
.woocommerce-tabs ul.tabs li.reviews_tab a {
    background: transparent !important;
    border: none !important;
    font-size: 24px !important; /* Adjust to match your Havyasi headers */
    font-weight: bold !important;
}/* End custom CSS */