.elementor-2307 .elementor-element.elementor-element-8177e29{--display:flex;--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-2307 .elementor-element.elementor-element-d6d6c3a{--grid-columns:4;--grid-row-gap:5px;--grid-column-gap:5px;}.elementor-2307 .elementor-element.elementor-element-d6d6c3a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2307 .elementor-element.elementor-element-ef4543e{--grid-columns:4;--grid-row-gap:5px;--grid-column-gap:5px;}.elementor-2307 .elementor-element.elementor-element-ef4543e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2307 .elementor-element.elementor-element-ef4543e .elementor-loop-container{grid-auto-rows:1fr;}.elementor-2307 .elementor-element.elementor-element-ef4543e .e-loop-item > .elementor-section, .elementor-2307 .elementor-element.elementor-element-ef4543e .e-loop-item > .elementor-section > .elementor-container, .elementor-2307 .elementor-element.elementor-element-ef4543e .e-loop-item > .e-con, .elementor-2307 .elementor-element.elementor-element-ef4543e .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-2307 .elementor-element.elementor-element-fddbfea{--display:flex;}.elementor-2307 .elementor-element.elementor-element-fddbfea.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2307 .elementor-element.elementor-element-0c0c382{text-align:start;}.elementor-2307 .elementor-element.elementor-element-0c0c382 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-765e441 );}.elementor-2307 .elementor-element.elementor-element-152abd4{text-align:start;}.elementor-2307 .elementor-element.elementor-element-152abd4 .elementor-heading-title{font-family:"Swiss 721", Sans-serif;font-size:20px;font-weight:400;color:var( --e-global-color-text );}.elementor-2307 .elementor-element.elementor-element-707fcd6.elementor-element{--align-self:flex-start;}.elementor-widget-search{--e-search-input-color:var( --e-global-color-text );}.elementor-widget-search.e-focus{--e-search-input-color:var( --e-global-color-text );}.elementor-widget-search .elementor-pagination{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-2307 .elementor-element.elementor-element-d53ba5e{--display:flex;}.elementor-2307 .elementor-element.elementor-element-1425039.elementor-element{--align-self:flex-start;}.elementor-2307 .elementor-element.elementor-element-9572349{--n-accordion-title-font-size:1rem;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}.elementor-2307 .elementor-element.elementor-element-24f4153{--display:flex;}.elementor-2307 .elementor-element.elementor-element-695b879{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2307 .elementor-element.elementor-element-756846e{width:var( --container-widget-width, 112.306% );max-width:112.306%;--container-widget-width:112.306%;--container-widget-flex-grow:0;text-align:center;}.elementor-2307 .elementor-element.elementor-element-756846e.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2307 .elementor-element.elementor-element-68940db{text-align:center;}.elementor-2307 .elementor-element.elementor-element-68940db .elementor-heading-title{font-family:"Swiss 721", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-88c7fcd );}.elementor-2307 .elementor-element.elementor-element-e45f561{--display:flex;}.elementor-2307 .elementor-element.elementor-element-6d6d4e1{width:var( --container-widget-width, 112.306% );max-width:112.306%;--container-widget-width:112.306%;--container-widget-flex-grow:0;text-align:center;}.elementor-2307 .elementor-element.elementor-element-6d6d4e1.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2307 .elementor-element.elementor-element-be3061e{text-align:center;}.elementor-2307 .elementor-element.elementor-element-be3061e .elementor-heading-title{font-family:"Swiss 721", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-88c7fcd );}.elementor-2307 .elementor-element.elementor-element-2ed1313{--display:flex;}.elementor-2307 .elementor-element.elementor-element-5253edc{margin:0px -4px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2307 .elementor-element.elementor-element-5253edc.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-2307 .elementor-element.elementor-element-5253edc img{width:100%;max-width:100%;height:100%;}.elementor-2307 .elementor-element.elementor-element-2fbfc82.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-2307 .elementor-element.elementor-element-2fbfc82{text-align:center;}.elementor-2307 .elementor-element.elementor-element-2fbfc82 .elementor-heading-title{color:var( --e-global-color-88c7fcd );}.elementor-2307 .elementor-element.elementor-element-8faa775{--display:flex;}.elementor-2307 .elementor-element.elementor-element-9b5942f{text-align:center;}.elementor-2307 .elementor-element.elementor-element-9b5942f .elementor-heading-title{color:var( --e-global-color-88c7fcd );}.elementor-2307 .elementor-element.elementor-element-e8d424e{--display:flex;}.elementor-2307 .elementor-element.elementor-element-94a480b{text-align:center;}.elementor-2307 .elementor-element.elementor-element-94a480b .elementor-heading-title{color:var( --e-global-color-88c7fcd );}.elementor-2307 .elementor-element.elementor-element-6ebb09a{--display:flex;}.elementor-2307 .elementor-element.elementor-element-bd3cf36{text-align:center;}.elementor-2307 .elementor-element.elementor-element-bd3cf36 .elementor-heading-title{color:var( --e-global-color-88c7fcd );}.elementor-2307 .elementor-element.elementor-element-1a8d568{--display:flex;}.elementor-2307 .elementor-element.elementor-element-b43410f{text-align:center;}.elementor-2307 .elementor-element.elementor-element-b43410f .elementor-heading-title{color:var( --e-global-color-88c7fcd );}.elementor-2307 .elementor-element.elementor-element-7cbcb9f{--display:flex;}.elementor-2307 .elementor-element.elementor-element-5cbab24{text-align:center;}.elementor-2307 .elementor-element.elementor-element-5cbab24 .elementor-heading-title{color:var( --e-global-color-88c7fcd );}.elementor-2307 .elementor-element.elementor-element-c1083bb{--e-n-carousel-swiper-offset-size:80px;--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:0px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:0px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;--e-n-carousel-dots-normal-color:var( --e-global-color-765e441 );}@media(min-width:768px){.elementor-2307 .elementor-element.elementor-element-fddbfea{--width:16.881%;}}@media(max-width:1024px){.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-2307 .elementor-element.elementor-element-d6d6c3a{--grid-columns:2;}.elementor-2307 .elementor-element.elementor-element-ef4543e{--grid-columns:2;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-2307 .elementor-element.elementor-element-0c0c382 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-search .elementor-pagination{font-size:var( --e-global-typography-primary-font-size );}.elementor-2307 .elementor-element.elementor-element-c1083bb{--e-n-carousel-swiper-slides-to-display:2;}}@media(max-width:767px){.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-2307 .elementor-element.elementor-element-d6d6c3a{--grid-columns:1;}.elementor-2307 .elementor-element.elementor-element-d6d6c3a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0% 12% 0% 12%;}.elementor-2307 .elementor-element.elementor-element-d6d6c3a.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-2307 .elementor-element.elementor-element-ef4543e{--grid-columns:1;}.elementor-2307 .elementor-element.elementor-element-ef4543e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0% 12% 0% 12%;}.elementor-2307 .elementor-element.elementor-element-ef4543e.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-2307 .elementor-element.elementor-element-0c0c382 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-search .elementor-pagination{font-size:var( --e-global-typography-primary-font-size );}.elementor-2307 .elementor-element.elementor-element-c1083bb{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-offset-size:5px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;--e-n-carousel-swiper-pagination-size:14px;}}/* Start custom CSS for loop-grid, class: .elementor-element-d6d6c3a */.elementor-widget-woocommerce-product-price .price,
.woocommerce div.product .price,
.elementor .woocommerce-Price-amount,
.elementor-widget-container .price {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
    gap: 8px; 
}
.elementor-widget-woocommerce-product-price .price del,
.woocommerce div.product .price del {
    font-size: 0.85em;             /* making old price smaller */

    margin-left: 4px;              /*  extra spacing after reversal */
}

/* Base reversal: sale/ins price FIRST (left) — good for simple/on-sale products */
.price {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;          /* adjust spacing between prices */
}

/* Make struck-through regular price look decent after flip */
.price del {
    font-size: 0.9em;
    opacity: 0.7;
    margin-left: 4px;  /* small extra space after reversal */
}

/* Base reversal: sale/ins price FIRST (left) — good for simple/on-sale products */
.price {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;          /* adjust spacing between prices */
}

/* Make struck-through regular price look decent after flip */
.price del {
    font-size: 0.9em;
    opacity: 0.7;
    margin-left: 4px;  /* small extra space after reversal */
}

/* ────────────────────────────────────────────────
   VARIABLE PRODUCTS: Flip BACK to normal order 
   so lowest price (usually the <ins> now) ends up on LEFT
───────────────────────────────────────────────── */

/* Most common WooCommerce/Elementor single product containers */
.single-product .product.type-product.product-type-variable .price,
.woocommerce div.product.product-type-variable .price,
.elementor-widget-woocommerce-product-price .elementor-widget-container .product-type-variable .price,
body.post-type-archive-product .product.type-variable .price,   /* loop/archive if needed */
body.tax-product_cat .product.type-variable .price {
    flex-direction: row;          /* ← normal order: del first, then ins */
    justify-content: flex-start;  /* or center/flex-end depending on your alignment */
}

/* If your variable price uses .woocommerce-variation-price for selected variation */
.woocommerce-variation-price .price {
    flex-direction: row;   /* normal left-to-right */
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-ef4543e */.elementor-widget-woocommerce-product-price .price,
.woocommerce div.product .price,
.elementor .woocommerce-Price-amount,
.elementor-widget-container .price {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
    gap: 8px; 
}
.elementor-widget-woocommerce-product-price .price del,
.woocommerce div.product .price del {
    font-size: 0.85em;             /* making old price smaller */

    margin-left: 4px;              /*  extra spacing after reversal */
}

/* Base reversal: sale/ins price FIRST (left) — good for simple/on-sale products */
.price {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;          /* adjust spacing between prices */
}

/* Make struck-through regular price look decent after flip */
.price del {
    font-size: 0.9em;
    opacity: 0.7;
    margin-left: 4px;  /* small extra space after reversal */
}

/* Base reversal: sale/ins price FIRST (left) — good for simple/on-sale products */
.price {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;          /* adjust spacing between prices */
}

/* Make struck-through regular price look decent after flip */
.price del {
    font-size: 0.9em;
    opacity: 0.7;
    margin-left: 4px;  /* small extra space after reversal */
}

/* ────────────────────────────────────────────────
   VARIABLE PRODUCTS: Flip BACK to normal order 
   so lowest price (usually the <ins> now) ends up on LEFT
───────────────────────────────────────────────── */

/* Most common WooCommerce/Elementor single product containers */
.single-product .product.type-product.product-type-variable .price,
.woocommerce div.product.product-type-variable .price,
.elementor-widget-woocommerce-product-price .elementor-widget-container .product-type-variable .price,
body.post-type-archive-product .product.type-variable .price,   /* loop/archive if needed */
body.tax-product_cat .product.type-variable .price {
    flex-direction: row;          /* ← normal order: del first, then ins */
    justify-content: flex-start;  /* or center/flex-end depending on your alignment */
}

/* If your variable price uses .woocommerce-variation-price for selected variation */
.woocommerce-variation-price .price {
    flex-direction: row;   /* normal left-to-right */
}/* End custom CSS */
/* Start custom CSS for woofilters, class: .elementor-element-9a724a5 *//* === WPF Filter Buttons – Match your Elementor "View All Products" button exactly === */
/* Paste this in Appearance → Customize → Additional CSS */

.wpfFilterButtons.wpfFilterButtonsBottom {
    display: flex !important;
    gap: 5px !important;
    flex-wrap: inline-flex !important;
    justify-content: flex-start; /* change to center if you prefer */
}

.wpfFilterButtons .wpfButton {
    /* Base styles copied from typical Elementor button (size-sm) */
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-transform: none !important;          /* Elementor buttons are usually not uppercase */
    letter-spacing: 0.3px !important;
    padding: 13px 30px !important;           /* Typical Elementor size-sm padding */
    border-radius: 4px !important;           /* ← CHANGE this to match your button (often 3px, 8px or 50px for pill) */
    border: none !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    cursor: pointer !important;
}

/* Both Apply and Clear – exact same filled style as your Elementor button */
.wpfFilterButton,
.wpfClearButton {
    background-color: var(--e-global-color-primary, #0ea47a) !important;   /* ← This auto-matches most Elementor sites */
    color: #ffffff !important;
}

/* Hover state (most Elementor buttons lift + darken slightly) */
.wpfFilterButton:hover,
.wpfClearButton:hover {
    background-color: var(--e-global-color-primary, #0c8f6a) !important; /* slightly darker */
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.15) !important;
}

/* Mobile – buttons take full width on small screens */
@media (max-width: 767px) {
    .wpfFilterButtons .wpfButton {
        flex: 1 1 100% !important;
    }
}/* End custom CSS */
/* Start custom CSS for woofilters, class: .elementor-element-9a724a5 *//* === WPF Filter Buttons – Match your Elementor "View All Products" button exactly === */
/* Paste this in Appearance → Customize → Additional CSS */

.wpfFilterButtons.wpfFilterButtonsBottom {
    display: flex !important;
    gap: 5px !important;
    flex-wrap: inline-flex !important;
    justify-content: flex-start; /* change to center if you prefer */
}

.wpfFilterButtons .wpfButton {
    /* Base styles copied from typical Elementor button (size-sm) */
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-transform: none !important;          /* Elementor buttons are usually not uppercase */
    letter-spacing: 0.3px !important;
    padding: 13px 30px !important;           /* Typical Elementor size-sm padding */
    border-radius: 4px !important;           /* ← CHANGE this to match your button (often 3px, 8px or 50px for pill) */
    border: none !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    cursor: pointer !important;
}

/* Both Apply and Clear – exact same filled style as your Elementor button */
.wpfFilterButton,
.wpfClearButton {
    background-color: var(--e-global-color-primary, #0ea47a) !important;   /* ← This auto-matches most Elementor sites */
    color: #ffffff !important;
}

/* Hover state (most Elementor buttons lift + darken slightly) */
.wpfFilterButton:hover,
.wpfClearButton:hover {
    background-color: var(--e-global-color-primary, #0c8f6a) !important; /* slightly darker */
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.15) !important;
}

/* Mobile – buttons take full width on small screens */
@media (max-width: 767px) {
    .wpfFilterButtons .wpfButton {
        flex: 1 1 100% !important;
    }
}/* End custom CSS */
/* Start custom CSS for woofilters, class: .elementor-element-d2a921b *//* === WPF Filter Buttons – Match your Elementor "View All Products" button exactly === */
/* Paste this in Appearance → Customize → Additional CSS */

.wpfFilterButtons.wpfFilterButtonsBottom {
    display: flex !important;
    gap: 5px !important;
    flex-wrap: inline-flex !important;
    justify-content: flex-start; /* change to center if you prefer */
}

.wpfFilterButtons .wpfButton {
    /* Base styles copied from typical Elementor button (size-sm) */
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-transform: none !important;          /* Elementor buttons are usually not uppercase */
    letter-spacing: 0.3px !important;
    padding: 13px 30px !important;           /* Typical Elementor size-sm padding */
    border-radius: 4px !important;           /* ← CHANGE this to match your button (often 3px, 8px or 50px for pill) */
    border: none !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    cursor: pointer !important;
}

/* Both Apply and Clear – exact same filled style as your Elementor button */
.wpfFilterButton,
.wpfClearButton {
    background-color: var(--e-global-color-primary, #0ea47a) !important;   /* ← This auto-matches most Elementor sites */
    color: #ffffff !important;
}

/* Hover state (most Elementor buttons lift + darken slightly) */
.wpfFilterButton:hover,
.wpfClearButton:hover {
    background-color: var(--e-global-color-primary, #0c8f6a) !important; /* slightly darker */
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.15) !important;
}

/* Mobile – buttons take full width on small screens */
@media (max-width: 767px) {
    .wpfFilterButtons .wpfButton {
        flex: 1 1 100% !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8177e29 *//* Base reversal: sale/ins price FIRST (left) — good for simple/on-sale products */
.price {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;          /* adjust spacing between prices */
}

/* Make struck-through regular price look decent after flip */
.price del {
    font-size: 0.9em;
    opacity: 0.7;
    margin-left: 4px;  /* small extra space after reversal */
}

/* ────────────────────────────────────────────────
   VARIABLE PRODUCTS: Flip BACK to normal order 
   so lowest price (usually the <ins> now) ends up on LEFT
───────────────────────────────────────────────── */

/* Most common WooCommerce/Elementor single product containers */
.single-product .product.type-product.product-type-variable .price,
.woocommerce div.product.product-type-variable .price,
.elementor-widget-woocommerce-product-price .elementor-widget-container .product-type-variable .price,
body.post-type-archive-product .product.type-variable .price,   /* loop/archive if needed */
body.tax-product_cat .product.type-variable .price {
    flex-direction: row;          /* ← normal order: del first, then ins */
    justify-content: flex-start;  /* or center/flex-end depending on your alignment */
}

/* If your variable price uses .woocommerce-variation-price for selected variation */
.woocommerce-variation-price .price {
    flex-direction: row;   /* normal left-to-right */
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Swiss 721';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('http://evonomyenergy.com/wp-content/uploads/2026/01/Swiss721BT-RomanExtended.woff2') format('woff2'),
		url('http://evonomyenergy.com/wp-content/uploads/2026/01/Swiss721BT-RomanExtended.woff') format('woff'),
		url('http://evonomyenergy.com/wp-content/uploads/2026/01/Swiss721BT-RomanExtended.ttf') format('truetype');
}
/* End Custom Fonts CSS */