/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Vars
# Global
# Navigation
# Home
# Single Product
# Shop Filter
# Blog
# Single Post
# Legal
# FAQ
# Contact
# Cart + Checkout
# Rewards
# About
# Book Service
# Installers
# Footer
# Reponsive
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Vars
--------------------------------------------------------------*/

:root {
	--color-blue: #00AAE8;
	--color-light-blue: #47C3F0;
	--color-dark-blue: #0492C7;
	--color-green: #66BF6D;
	--color-mid-green: #60B795;
	--color-light-green: #99C355;
	--color-yellow: #FFBA35;
	--color-dark-yellow: #DDA333;
	--color-grey: #55565A;
	--color-light-grey: #E5E5E5;
	--color-dark-grey: #262626;
	--color-white: #fff;
	--color-black: #000;
	--transition: 0.35s ease all;
}

/*--------------------------------------------------------------
# Global
--------------------------------------------------------------*/

html {
	scroll-behavior: smooth;
}

body * {
	scroll-margin-top: 180px;
	-webkit-font-smoothing: antialiased;
}

body {
	font-family: 'Nunito', sans-serif;
	overflow-x: hidden !important;
	color: var(--color-grey);
	scroll-behavior: smooth;
}

h1 {
	margin: 0 0 20px;
	line-height: 1.2;
	font-size: 33px;
}

h2 {
	font-size: 25px;
	margin: 0 0 15px;
	line-height: 1.4;
	font-weight: 800;
	color: var(--color-grey);
}

h3 {
	font-size: 18px;
	font-weight: 800;
	margin: 0 0 10px;
	line-height: 1.4;
	color: var(--color-grey);
}

p {
	margin: 0 0 15px;
}

p strong {
	font-weight: 500;
}

p,
ol li,
ul li {
	font-size: 15px;
	line-height: 1.4;
	font-weight: 300;
}

a,
a:active,
a:focus,
a:hover,
a:visited {
	outline: 0;
	text-decoration: none;
	font-weight: 500;
	color: var(--teal);
}

ul,
ol {
	margin: 0 0 20px;
	padding-left: 20px;
}

img {
	display: block;
}

#page {
	overflow-x: hidden !important;
	max-width: var(--desktop-width);
	margin: 0 auto;
	position: relative;
}

#primary {
	margin-top: 35px;
}

.post,
.page {
	margin: 0;
}

.home .entry-header,
.entry-footer {
	display: none;
}

.entry-content,
.hentry {
	margin: 0;
}

.max-width {
	padding: 0 30px;
	max-width: 1300px;
	margin: 0 auto;
}

.flex {
	display: flex;
	flex-wrap: wrap;
}

.space-between {
	justify-content: space-between;
}

.align-center {
	align-items: center;
}

.blue {
	background-color: var(--color-blue);
}

.light-blue {
	background-color: var(--color-light-blue);
}

.green {
	background-color: var(--color-green);
}

.mid-green {
	background-color: var(--color-mid-green);
}

.light-green {
	background-color: var(--color-light-green);
}

.light-grey {
	background-color: var(--color-light-grey);
}

.fwo-button {
	border-radius: 30px;
	padding: 7px 17px;
	display: inline-block;
	font-size: 15px;
	border: 1px solid;
	transition: 0.35s ease all;
}

.fwo-button.blue {
	background-color: var(--color-blue);
	border-color: var(--color-blue);
	color: var(--color-white);
}

.fwo-button.blue:hover {
	background-color: var(--color-green);
	border-color: var(--color-green);
	color: var(--color-white);
}

.fwo-button.dark-blue {
	background-color: var(--color-dark-blue);
	border-color: var(--color-dark-blue);
	color: var(--color-white);
}

.fwo-button.dark-blue:hover {
	background-color: var(--color-blue);
	border-color: var(--color-blue);
	color: var(--color-white);
}

.fwo-button.green {
	background-color: var(--color-green);
	border-color: var(--color-green);
	color: var(--color-white);
}

.fwo-button.green:hover {
	background-color: var(--color-blue);
	border-color: var(--color-blue);
	color: var(--color-white);
}

.fwo-button.dark-yellow {
	background-color: var(--color-dark-yellow);
	border-color: var(--color-dark-yellow);
	color: var(--color-white);
}

.fwo-button.dark-yellow:hover {
	background-color: var(--color-yellow);
	border-color: var(--color-yellow);
	color: var(--color-white);
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/

#masthead {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 9999;
}

.top-menu {
	background-color: var(--color-grey);
	padding: 15px 30px;
}

.top-menu .max-width {
	max-width: 860px;
}

.top-menu p {
	color: var(--color-white);
	margin: 0;
	position: relative;
}

.top-menu p strong {
	text-transform: uppercase;
	font-weight: 700;
}

.top-menu p img {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	top: -2px;
	margin-right: 10px;
}

.top-menu p:not(:last-child)::after {
	content: '';
	display: block;
	width: 1px;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.3);
	position: absolute;
	right: -15px;
	top: 0;
}

.middle-menu {
	padding: 20px 0;
	background-color: var(--color-white);
}

.middle-menu .max-width {
	align-items: center;
}

.site-search .site-search-text-field {
	font-family: 'Nunito';
	border: 1px solid var(--color-light-grey);
	color: var(--color-grey);
	padding: 7px 20px;
	outline: none;
	min-width: 415px;
	height: 50px;
	border-radius: 30px;
	overflow: hidden;
}

.site-search {
	position: relative;
}

.site-search::after {
	content: '';
	display: block;
	background-image: url('/wp-content/uploads/2025/11/search.svg');
	width: 21px;
	height: 21px;
	background-size: contain;
	position: absolute;
	right: 17px;
	top: 14px;
	z-index: 2;
}

.site-search .search-submit-button {
	position: absolute;
	right: 0;
	top: 0;
	width: 52px;
	height: 50px;
	background-color: var(--color-green);
	border: none;
	border-radius: 0;
	cursor: pointer;
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
}

#primary-menu .caffeine_search-menu_button {
	display: none;
}

.header-account-buttons {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header-account-buttons a {
	display: block;
	margin: 0 9px;
}

.bottom-menu {
	background-color: var(--color-light-grey);
	padding: 0;
}

.bottom-menu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.bottom-menu a {
	color: var(--color-dark-grey);
	font-size: 17px;
	font-weight: 300;
	padding: 17px 0;
}

.bottom-menu .menu-separator {
	padding: 11px 0;
	font-size: 22px;
	font-weight: 300;
	color: #d1d1d2;
}

.main-navigation ul ul {
	background-color: var(--color-light-grey);
	text-align: center;
	box-shadow: none;
	padding: 10px 0;
}

.main-navigation ul ul a {
	padding: 5px 25px;
	text-align: left;
}

#region-selector {
	max-width: 1240px;
	margin: 245px auto 0;
	padding: 18px 30px;
	background-color: var(--color-green);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

#region-selector p {
	color: var(--color-white);
	font-size: 18px;
	font-weight: 600;
	display: flex;
	align-items: center;
	margin: 0 !important;
}

#region-selector p::before {
	content: '';
	display: inline-block;
	background-image: url('/wp-content/uploads/2025/11/location.svg');
	width: 22px;
	height: 29px;
	margin-right: 10px;
}

.fw-region-change-btn {
	font-family: 'Nunito', sans-serif;
	border-radius: 30px;
	text-transform: capitalize;
	background-color: transparent;
	border: 1px solid var(--color-white);
	color: var(--color-white);
	padding: 10px 12px;
	font-size: 12px;
	cursor: pointer;
	transition: 0.35s ease all;
}

.fw-region-change-btn:hover {
	background-color: var(--color-white);
	border-color: var(--color-white);
	color: var(--color-green);
}

.fw-region-btn {
	font-family: 'Nunito', sans-serif;
	background-color: var(--color-blue);
	border-color: var(--color-blue);
	color: var(--color-white);
	font-weight: 700;
	cursor: pointer;
	transition: 0.35s ease all;
}

.fw-region-btn:hover {
	background-color: var(--color-green);
	border-color: var(--color-green);
	color: var(--color-white);
}

.fw-region-current {
	font-weight: 700;
	margin-left: 5px;
}

.cart-icon a::after {
	content: attr(data-cart-count);
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--color-green);
	color: var(--color-white);
	border-radius: 50%;
	width: 18px;
	height: 18px;
	line-height: 1.7;
	text-align: center;
	font-size: 11px;
}

/*--------------------------------------------------------------
# Home
--------------------------------------------------------------*/

.landing-blocks > .image-block {
	width: 66%;
	height: 430px;
	display: block;
	background-size: cover;
	background-position: center;
}

.landing-blocks > .image-block-carousel {
	width: 66%;
	height: 430px;
	display: block;
}

.landing-blocks .column {
	width: 33%;
}

.landing-blocks .column .image-block {
	width: 100%;
	display: block;
	height: 208.5px;
	background-size: cover;
	background-position: center;
	position: relative;
}

.landing-blocks .column .image-block:nth-child(1) {
	margin-bottom: 1.5%;
}

.landing-blocks .column .image-block:nth-child(2) {
	margin-top: 1.5%;
}

.landing-blocks .column .image-block::after {
	content: '';
	display: block;
	background: linear-gradient(270.08deg, rgba(0, 0, 0, 0) 1.82%, rgba(0, 0, 4, 0.35) 54.68%, rgba(0, 0, 0, 0.6) 99.94%);
	background-blend-mode: multiply;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
}

.image-block .wrap {
	position: relative;
	background-blend-mode: multiply;
}

.landing-blocks .column .image-block .wrap {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	padding: 35px;
	z-index: 2;
}

.landing-blocks .column .image-block .wrap h3 {
	color: var(--color-white);
	font-size: 20px;
	font-weight: 800;
	margin: 0;
}

.landing-blocks .column .image-block .wrap p {
	color: var(--color-white);
	font-size: 16px;
	margin-bottom: 18px;
}

.image-block-carousel .slick-slider,
.image-block-carousel .slick-track {
	height: 100%;
}

.image-block-carousel .slick-list::before {
	display: none !important;
}

.image-block-carousel .slick-list {
	overflow: hidden !important;
	display: block !important;
	position: relative !important;
	height: 100%;
}

.image-block-carousel .slick-dots {
	bottom: 20px;
	z-index: 10;
}

.image-block-carousel .slick-slide .image-block {
	height: 100%;
	background-size: cover;
	background-position: center;
}

.image-block-carousel .slick-dots li {
	width: 14px;
	height: 14px;
}

.image-block-carousel .slick-dots li button {
	width: 14px;
	height: 14px;
	background: #efefee;
	border-radius: 50%;
	opacity: 0.7;
}

.image-block-carousel .slick-dots .slick-active button {
	opacity: 1;
}

.product-category-carousel .slick_slides {
	padding: 10px 0px;
}

div.slick-slide {
	position: relative;
	height: inherit;
}

.slick_inner {
	margin-right: 100px;
}

.product-category-carousel .slick_inner {
	margin-right: 100px;
	width: 100%;
}

.slick-list {
	overflow: visible;
	display: flex;
}

.slick-list::before {
	position: absolute;
	top: -15px;
	bottom: 0px;
	right: calc(100% + 0px);
	width: 100%;
	background-color: white;
	content: '';
	z-index: 9;
	height: calc(100% + 30px);
}

.featured-product-carousel .slick-slide {
	margin: 10px;

	@media screen and (max-width: 768px) {
		margin-left: 7px;
		margin-right: 7px;
	}

	@media screen and (max-width: 419px) {
		margin-left: 4px;
		margin-right: 4px;
	}
}

.product-cat-groceries .guest-ctas,
.product-cat-special-deals .guest-ctas {
	margin-bottom: 30px;
	margin-top: 20px;
}

.guest-ctas .button {
	width: 100%;
	text-align: center;
}

.carousel-heading {
	padding: 0 30px;
	margin-bottom: 5px;
}

.product-category-carousel .glide__slides {
	padding: 10px 5px;
}

.product-category-carousel .category-block {
	text-align: center;
}

.product-category-carousel .category-block a {
	box-shadow: 0px 0px 8px 1px #00000017;
	display: block;
	border-radius: 12px;
	min-height: 125px;
	position: relative;
	text-align: center;
	margin: 0 auto;
	background-color: var(--color-white);
	margin-left: 5px;
	margin-right: 5px;
	padding: 25px;
}

.product-category-carousel .category-block img {
	margin: 0 auto;
	max-width: 200px;
}

.product-category-carousel .category-name {
	font-size: 13px;
	font-weight: 700;
	color: var(--color-grey);
	display: block;
	margin: 15px 0 0;
	line-height: 1.2;
}

.product-carousel-wrapper {
	margin-bottom: 20px;
}

.featured-product-carousel .glide__slides {
	padding: 10px 5px;
}

.product-cats {
	margin: 50px auto;
}

.head-wrap a {
	font-size: 17px;
	margin-top: 10px;
}

.browse-by-brand {
	margin: 65px auto;
}

.browse-by-brand .product-category-carousel .category-block a {
	height: 170px;
	display: flex;
	align-items: center;
}

.light-grey .slick-list::before {
	background-color: var(--color-light-grey);
}

.browse-by-brand .slick-track {
	margin-left: 0;
}

.product-category-carousel {
	position: relative;
}

.product-category-carousel .slick-arrow {
	right: 0;
	top: -32px;
	left: auto;
	background-color: var(--color-light-grey);
	width: 29px;
	height: 32px;
	color: var(--color-dark-grey);
	font-size: 22px;
	text-align: center;
	line-height: 1.4;
	cursor: pointer;
}

.product-category-carousel .slick-arrow::before {
	display: none;
}

.product-category-carousel .slick-arrow.slick-prev {
	right: 35px;
}

.featured-product-carousel {
	margin: 0 -5px;
}

.product-slide {
	float: none;
	margin: 0;
	padding: 0;
	width: 100% !important;
	margin-left: 0;
	display: block;
	min-height: 70px;
	position: relative;
	text-align: center;
	margin: 0 auto;
	text-align: left;
	/* height: 100%; */
}

.product-slide {
	height: 100%;
}

.product-slide .product-short-description {
	padding: 18px 0 0;
}

.product-slide .product-short-description p:last-child {
	margin-bottom: 0;
}

.product-slide .product-short-description span {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 13px;
}

.product-slide .product-short-description .note {
	margin-top: -15px;
	font-size: 12px;
	font-style: italic;
}

.product-slide .product-short-description .price,
.product-slide .product-short-description .fb-price {
	font-size: 18px;
	font-weight: 500;
}

.product-slide .product-short-description .sale-price span {
	font-size: 21px;
	color: var(--color-grey);
}

.product-slide .product-short-description .regular-price span {
	font-size: 17px;
	color: var(--color-grey);
	opacity: 0.8;
}

.product-slide .product-image {
	box-shadow: 0px 0px 8px 1px #00000017;
	border-radius: 15px;
	position: relative;
	overflow: hidden;
	padding: 15px;
	background-color: var(--color-white);
}

.product-slide .product-image img {
	margin: 0;
	width: 100%;
	height: 350px;
	object-fit: contain;
	object-position: center;
}

.product-slide .product-short-description span.installers {
	color: var(--color-green);
	text-transform: none;
	font-style: italic;
	margin: -3px 0 0;
	display: block;
}

.product-tag.tag-new {
	position: absolute;
	left: 10px;
	top: 10px;
	background-color: var(--color-grey);
	color: var(--color-white);
	text-transform: uppercase;
	padding: 4px 9px;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 700;
}

.product-tag.tag-sale {
	position: absolute;
	right: 0;
	top: 0;
	background-color: var(--color-green);
	color: var(--color-white);
	padding: 7px 11px 6px 9px;
	border-radius: 5px;
	border-top-right-radius: 15px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.2;
	border-top-left-radius: 0;
	border-bottom-right-radius: 0;
}

.featured-product-carousel .slick_inner {
	margin-right: 0;
}

.featured-product-carousel .slick_inner .slick-track {
	margin: 0;
	max-width: unset;
	display: flex;
}

.head-wrap .fwo-button {
	margin-bottom: 10px;
	margin-top: 0;
	position: relative;
	top: -3px;
	font-size: 13px;
	padding: 7px 14px;
	align-self: center;
}

a.plus-add-to-cart {
	background-color: var(--color-grey) !important;
	color: var(--color-white) !important;
	border-radius: 50% !important;
	font-size: 22px !important;
	position: absolute !important;
	display: block !important;
	padding: 0 !important;
	line-height: 1.45 !important;
	right: 0;
	bottom: 14px;
	width: 34px;
	height: 34px;
	text-align: center;
}

.fwo-price {
	margin: 0;
}

.banner {
	margin: 70px auto;
}

.banner-image {
	background-size: cover;
	background-position: center;
	position: relative;
	padding: 50px 60px;
}

.banner-image::after {
	content: '';
	display: block;
	background: linear-gradient(88.14deg, rgba(35, 31, 32, 0.7) 1.59%, rgba(35, 31, 32, 0) 89.47%);
	background-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.banner .wrap {
	position: relative;
	z-index: 2;
}

.banner h2 {
	color: var(--color-white);
	margin: 0;
}

.banner p {
	color: var(--color-white);
}

.placeholder {
	text-align: center;
	background-color: #83299A;
}

.placeholder p {
	color: var(--color-white);
	font-weight: 700;
	margin: 0;
	font-size: 20px;
}

.placeholder.full-width {
	max-width: 1240px;
	padding: 80px 0;
	margin: 70px auto;
}

.adv-blocks .placeholder {
	width: 32%;
	height: 370px;
}

.adv-blocks .placeholder p {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

.featured-product-carousel .placeholder {
	height: 100%;
}

.featured-product-carousel .placeholder p {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

.product-carousel-wrapper.light-grey {
	padding: 60px 0;
}

.slick-slide > div {
	height: 100%;
}

.product-category-carousel.brands .slick-list {
	display: block;
}

.adv-blocks {
	margin: 70px auto;
}

.products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, calc(25% - 15px));
	gap: 20px;
	position: relative;
}

.products-grid .product-slide .product-image img {
	height: 245px;
}

.expanded-products {
	position: relative;
	margin: 70px auto;
}

.expanded-products .header {
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	padding: 20px 30px;
}

.expanded-products.airconditioners .header {
	background-color: var(--color-dark-blue);
}

.expanded-products.heat-pumps .header {
	background-color: var(--color-dark-yellow);
}

.expanded-products .header h2 {
	color: var(--color-white);
	margin: 0;
}

.products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, calc(25% - 15px));
	gap: 20px;
	background-color: var(--color-light-grey);
	padding: 35px 50px 80px;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	height: 600px;
	overflow: hidden;
	transition: height 0.4s ease;
}

.products-grid .product-slide {
	height: unset;
	min-height: unset;
	margin-bottom: 10px;
}

.expanded-products .view-more {
	position: absolute;
	bottom: 30px;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
	max-width: 140px;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 700;
	z-index: 3;
	cursor: pointer;
}

.expanded-products .cat-link {
	border-radius: 15px;
	height: 260px;
	padding: 30px;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	align-content: center;
	transition: 0.35s ease all;
}

.expanded-products.airconditioners .cat-link {
	background-color: var(--color-blue);
}

.expanded-products.airconditioners .cat-link:hover {
	background-color: var(--color-dark-blue);
}

.expanded-products.heat-pumps .cat-link {
	background-color: var(--color-yellow);
}

.expanded-products.heat-pumps .cat-link:hover {
	background-color: var(--color-dark-yellow);
}

.expanded-products .cat-link h3 {
	color: var(--color-white);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.1;
	margin-top: 0;
	max-width: 140px;
}

.expanded-products .cat-link p {
	color: var(--color-white);
	font-style: italic;
	line-height: 1.2;
	max-width: 190px;
	margin-bottom: 0;
}

.add-to-wishlist-heart {
	width: 25px;
	display: block;
	height: 22px;
	position: absolute;
	bottom: 15px;
	right: 15px;
	z-index: 2;
}

.add-to-wishlist-heart img {
	height: auto !important;
}

.add-to-wishlist-heart.needs-variation:hover::after {
	content: "Select options to add";
	position: absolute;
	right: 35px;
	bottom: -3px;
	white-space: nowrap;
	padding: 6px 8px;
	border-radius: 6px;
	font-size: 12px;
	background: #111;
	color: #fff;
}

.woocommerce-variation-price .woocommerce-Price-amount.amount {
	color: var(--color-grey);
	font-size: 22px;
	margin-bottom: 20px;
	display: inline-block;
	font-weight: 800;
}

/*--------------------------------------------------------------
# Single Product
--------------------------------------------------------------*/

p.stock.out-of-stock {
    background-color: var(--wc-red);
    display: inline-block;
    margin-bottom: 30px;
    color: #ffffff !important;
    padding: 10px 15px;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: bold;
}

.woocommerce-breadcrumb {
	display: none;
}

.woocommerce div.product div.images {
	width: 42%;
}

.product-carousel-wrapper.fwo-similar-products-wrapper {
	padding: 0;
}

.woocommerce-product-gallery__image {
	border-radius: 20px;
	box-shadow: 0px 0px 18.92px 5.16px #00000017;
	overflow: hidden;
	margin-bottom: 30px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
	width: calc(25% - 10px);
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 5px;
}

body.woocommerce span.onsale {
	text-transform: uppercase;
	border-radius: 7px;
	height: auto;
	width: auto;
	padding: 10px;
	line-height: 1;
	min-height: unset;
	min-width: unset;
	top: 10px;
	left: 10px;
	background-color: var(--color-green);
}

.fwo-product-tags {
	margin-bottom: 10px;
}

.fwo-product-tags a {
	background-color: var(--color-green);
	color: var(--color-white);
	text-transform: uppercase;
	font-weight: 700;
	border-radius: 7px;
	padding: 4px 10px 3px;
	font-size: 14px;
	letter-spacing: 0.5px;
	margin-right: 5px;
	display: inline-block;
	margin-bottom:5px;
}

.fwo-product-tags a:nth-child(2n+2) {
	background-color: var(--color-blue);
}

.fwo-product-brand {
	font-size: 20px;
	text-transform: uppercase;
	font-weight: 800;
	color: var(--color-grey);
}

.fwo-product-title {
	font-size: 38px;
	font-weight: 800;
	color: var(--color-grey);
	margin-bottom: 5px;
}

.fwo-price-from {
	font-weight: 600;
}

.fwo-price-from .woocommerce-Price-amount,
.fwo-product-price > .woocommerce-Price-amount {
	font-size: 32px;
	font-weight: 800;
	display: inline-block;
	vertical-align: middle;
	margin: 0 7px;
}

.fwo-price-regular {
	color: #8A8B8E;
	font-size: 18px;
	font-weight: 700;
	margin-right: 10px;
}

.fwo-price-save {
	background-color: var(--color-green);
	color: var(--color-white);
	border-radius: 7px;
	padding: 5px 12px 4px;
	font-weight: 800;
}

label[for="cooling-capacity-room-size"],
label[for="size"] {
    display: none;
}

select#cooling-capacity-room-size,
select#size {
    padding: 10px 15px;
    margin-bottom: 20px;
    background-color: var(--color-light-grey);
    font-weight: bold;
    border: 1.5px solid var(--color-light-grey);
    font-size: 18px;
    margin-left: -4px;
}

.fwo-installers {
	color: var(--color-green);
	font-weight: 800;
	font-size: 18px;
	margin-bottom: 20px;
}

.fwo-button-radio-group {
	display: flex;
	gap: 10px;
	margin-bottom: 20px;
}

.fwo-radio-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 15px;
	border-radius: 0;
	border: 1.5px solid var(--color-light-grey);
	cursor: pointer;
	background-color: var(--color-light-grey);
	font-size: 18px;
	font-weight: 800;
	color: var(--color-grey);
	transition: 0.35s ease all;
}

.fwo-radio-button input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.fwo-radio-button.is-active {
	border-color: var(--color-dark-grey);
}

.fwo-free-delivery {
	font-size: 25px;
	font-weight: 800;
	margin-bottom: 10px;
}

.fwo-add-to-cart-wrap {
	max-width: 420px;
}

.woocommerce div.product form.cart .variations {
	margin: 0;
}

.woocommerce-variation.single_variation {
	margin: 10px 0;
}

.woocommerce div.product form.cart div.quantity {
	width: 140px;
	margin: 0;
	background-color: var(--color-light-grey);
	height: 50px;
	padding: 10px 0;
}

.fwo-qty-btn {
	background-color: transparent;
	border: none;
	padding: 0;
	width: 35px;
	color: var(--color-green);
}

.woocommerce .quantity .qty {
	width: 60px;
	text-align: center;
	border: none;
	background-color: transparent;
	outline: none;
}

.woocommerce .quantity .qty[type=number]::-webkit-inner-spin-button,
.woocommerce .quantity .qty[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
}

.woocommerce div.product form.cart .button {
	font-family: 'Nunito', sans-serif;
	background-color: var(--color-green);
	border: none;
	width: calc(100% - 140px);
	border-radius: 0;
	height: 50px;
	text-transform: uppercase;
	font-weight: 900;
	font-size: 20px;
	transition: 0.35s ease all;
}

.woocommerce div.product form.cart .button:hover {
	background-color: var(--color-blue);
}

.fwo-ideal-for-areas {
	font-size: 18px;
	color: #8A8B8E;
	font-weight: 600;
	margin-bottom: 12px;
}

.fwo-extra-buttons {
	max-width: 420px;
	margin-top: -22px;
}

.fwo-extra-buttons .fwo-btn {
	font-family: 'Nunito', sans-serif;
	width: 100%;
	display: block;
	margin-bottom: 10px;
	text-transform: uppercase;
	font-weight: 900;
	font-size: 20px;
	padding: 14px 15px;
	border: none;
	border-radius: 0;
	color: var(--color-white);
	cursor: pointer;
	text-align: center;
	line-height: 1.2;
	transition: 0.35s ease all;
}

.fwo-add-to-wishlist {
	background-color: var(--color-grey);
}

.fwo-add-to-wishlist:hover {
	background-color: var(--color-dark-blue);
}

.fwo-compare-products {
	background-color: #8A8B8E;
}

.fwo-compare-products:hover {
	background-color: var(--color-blue);
}

.fwo-product-features {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}

.fwo-product-features li {
	display: flex;
	margin: 10px 0;
	font-size: 18px;
	font-weight: 700;
}

.fwo-product-features li img {
	margin-right: 10px;
}

.fwo-product-details-row {
	clear: both;
	margin: 50px auto;
}

.fwo-product-details-row h2 {
	color: var(--color-white);
	background-color: var(--color-dark-blue);
	padding: 15px 30px;
	border-top-left-radius: 25px;
	border-top-right-radius: 25px;
	margin: 0;
}

.fwo-product-details-row .wrap {
	background-color: #EBEBEB;
	padding: 40px 50px;
	border-bottom-left-radius: 25px;
	border-bottom-right-radius: 25px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.fwo-product-details-left {
	width: 65%;
}

.fwo-product-details-left ul li {
	font-size: 16px;
}

.fwo-product-details-left ul li strong {
	font-weight: 600;
}

.fwo-product-details-right {
	width: 25%;
}

.fwo-product-details-right .fwo-button {
	margin-bottom: 10px;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 800;
}

.product-cta-blocks.landing-blocks {
	padding: 0;
	margin: 50px auto 10px;
}

.product-cta-blocks.landing-blocks > .image-block {
	background-color: #F0F0F0;
	position: relative;
}

.product-cta-blocks.landing-blocks > .image-block img {
	width: 100%;
	max-width: 400px;
	margin: 40px auto;
}

.product-cta-blocks.landing-blocks > .image-block h3 {
	position: absolute;
	top: 40px;
	left: 50px;
}

.testimonials-carousel {
	position: relative;
	z-index: 10;
	padding: 0 0 60px;
	width: 100vw;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

.testimonials-carousel .max-width {
	text-align: center;
	margin-bottom: 30px;
}

.testimonials-slider .slick-track {
	display: flex;
	padding: 25px 0 65px;
}

.testimonials-carousel .slick-slide {
	padding: 50px 50px 80px;
	border-radius: 20px;
	background-color: #9b9e9b;
	opacity: 0.4;
	margin: 0 8px;
	height: auto;
	position: relative;
	min-height: 400px;
	top: 0;
	transition: 0.35s ease all;
}

.testimonials-carousel .slick-slide.slick-current {
	background-color: var(--color-green);
	opacity: 1;
	top: 55px;
}

.testimonials-carousel .slick-slide img {
	margin-bottom: 20px;
}

.testimonial p {
	color: #fff;
	font-size: 22px;
	font-weight: 300;
}

.testimonial span {
	color: #fff;
	display: block;
	margin-top: 30px;
	font-weight: 300;
	font-size: 14px;
	position: absolute;
	bottom: 50px;
}

.testimonials-slider .slick-prev,
.testimonials-slider .slick-next {
	top: 91%;
	left: calc(65% - 3px);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: var(--color-light-grey);
	width: 29px;
	height: 32px;
	color: var(--color-dark-grey);
	font-size: 22px;
	text-align: center;
	line-height: 1.4;
	cursor: pointer;
}

.testimonials-slider .slick-next {
	left: calc(65% + 40px);
}

.testimonials-slider .slick-arrow::before {
	display: none;
}

.testimonials-carousel>.max-width {
	position: relative;
	top: 85px;
}

.fwo-add-to-cart-wrap #wl-wrapper {
	display: none;
}

body .woocommerce-notices-wrapper:focus-visible,
body .woocommerce-error:focus-visible, 
body .woocommerce-info:focus-visible,
body .woocommerce-message:focus-visible {
	outline: none;
}

body .woocommerce-error, 
body .woocommerce-info, 
body .woocommerce-message {
	background-color: #f5f5f5;
	color: var(--color-grey);
}

body .woocommerce-message {
	border-top-color: var(--color-green);
}

body .woocommerce-message::before {
	color: var(--color-green);
}

body .woocommerce-message .button {
	background-color: var(--color-green);
	color: var(--color-white);
	text-transform: capitalize;
	font-weight: 500;
	border-radius: 30px;
	font-size: 14px;
	transition: var(--transition);
}

body .woocommerce-message .button:hover {
	background-color: var(--color-green);
	color: var(--color-white);
}

.woocommerce-products-compare-compare-button {
	display: none;
}

/*--------------------------------------------------------------
# Shop Filter
--------------------------------------------------------------*/

.shop-products {
	display: grid;
	grid-template-columns: 215px 1fr;
	gap: 107px;
}

.shop-filters {
	width: 250px;
	flex-shrink: 0;
}

#product-side {
	flex: 1;
	min-width: 0;
}

.shop-info {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, 1fr);

	.woocommerce-notices-wrapper {
		grid-column: span 2;
	}

	p.woocommerce-result-count {
		grid-column: 1;
		grid-row: 2;
	}

	form.woocommerce-ordering {
		grid-column: 2;
		grid-row: 2;
		text-align: right;
	}
}

.filters-header {
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom: 1px solid #eee;
}

.filters-header h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
}

.filter-group {
	margin-bottom: 25px;
	padding-bottom: 20px;
	border-bottom: 1px solid #eee;
}

.filter-group:last-of-type {
	border-bottom: none;
}

.filter-title {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 800;
	line-height: normal;
}

.filter-options {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.filter-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 14px;
}

.filter-checkbox input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	cursor: pointer;
	border: 1px solid #F0F0F0;
	appearance: none;
	-webkit-appearance: none;
	background: #fff;
	border-radius: 3px;
}

.filter-checkbox input[type="checkbox"]:checked {
	border: 2px solid #F0F0F0;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2354565A' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/14px no-repeat;
}

.filter-checkbox span {
	line-height: 1.3;
}

.filter-checkbox input[type="checkbox"]:checked+span {
	font-weight: 800;
}

.woocommerce-ordering select {
	padding: 8px 30px 8px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	background: #fff;
	cursor: pointer;
}

.active-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 40px;
}

.active-filters:empty {
	display: none;
}

.filter-tag {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 12px;
	background: #F0F0F0;
	border: none;
	border-radius: 7px;
	color: #8A8B8E;
	font-size: 14px;
	font-weight: 800;
	line-height: 21px;
}

.filter-tag .remove-tag {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	padding: 0;
	background: none;
	border: none;
	font-size: 16px;
	line-height: 1;
	color: #8A8B8E;
	cursor: pointer;
	transition: color 0.2s;
}

.filter-tag .remove-tag:hover {
	color: #333;
}

.clear-all-filters {
	font-size: 14px;
	color: #54565A;
	text-decoration: underline;
}

.clear-all-filters:hover {
	color: #000;
}

.products-container {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(236px, 1fr));
	gap: 40px;
	min-height: 200px;
}

.products-container.loading {
	opacity: 0.5;
	pointer-events: none;
}

.products-container.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	margin: -20px 0 0 -20px;
	border: 3px solid #eee;
	border-top-color: #4CAF50;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.no-products-found {
	grid-column: 1 / -1;
	padding: 40px 20px;
	text-align: center;
	color: #666;
}

.shop-pagination-wrap {
	margin-top: 60px;
}

.shop-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.page-numbers {
	display: flex;
	align-items: center;
	gap: 12px;
}

.shop-pagination a,
.shop-pagination .page-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border: none;
	border-radius: 4px;
	font-size: 14px;
	color: #333;
	text-decoration: none;
	transition: all 0.2s;
}

.shop-pagination .page-dots {
	border: none;
	color: #333;
}

.shop-pagination a:hover:not(.disabled):not(.active) {
	color: var(--color-green);
}

.shop-pagination a.active {
	background: var(--color-green);
	color: #fff;
}

.shop-pagination a.disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.page-arrow {
	font-weight: bold;
	background-color: var(--color-light-grey);
}

.mobile-filter-toggle {
	display: none;
}

.mobile-filter-overlay {
	display: none;
}

.mobile-filter-header,
.mobile-filter-footer {
	display: none;
}

.shop-bottom {
	margin-top: 70px;
}

.shop-bottom .landing-blocks {
	padding: 0 0;
}

.shop-bottom .landing-blocks>.image-block {
	background-color: #F0F0F0;
	padding: 40px 70px;
	position: relative;
}

.shop-bottom .landing-blocks>.image-block>h3 {
	position: absolute;
}

.shop-bottom .landing-blocks>.image-block img {
	height: 100%;
	width: 100%;
	object-fit: contain;
}

.placeholder-rewards {
	display: flex;
	height: 211px;
	padding: 90px 111px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	align-self: stretch;
	background-color: #83299A;

	h2 {
		color: #fff;
	}

	&.advert {
		margin-bottom: 40px;
	}
}

.taxonomy-description {
	margin-top: 40px;
	display: block;
	padding: 50px;
	background-color: #F0F0F0;
}

.products-container .product-slide .product-image img {
	height: 250px;
}

/*--------------------------------------------------------------
# Blog
--------------------------------------------------------------*/

.blog #region-selector {
	display: none;
}

.blog-archive {
	margin-top: 280px;
}

.blog-card {
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 0 11px 3px rgba(0, 0, 0, 0.09);
	&:hover {
		.blog-card-content {
			margin-top: -20px;
		}
	}
}

.blog-card .blog-card-image {
	height: 170px;
}

.blog-card .blog-card-image img {
	object-fit: cover;
	height: 100%;
	width: 100%;
}

.blog-card .blog-card-content {
	min-height: 215px;
	background-color: #fff;
	padding: 23px 29px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 29px;
	border-radius: 15px;
	overflow: hidden;
	position: relative;
	margin-top: -10px;
	z-index: 1;
	transition: all 0.3s ease;

}

.blog-card .blog-card-content h2 {
	margin-bottom: 0px;
	font-size: 16px;
	font-weight: 700;
	line-height: 21px;
}

.blog-card-link {
	text-transform: uppercase;
	font-size: 13px;
}

/*--------------------------------------------------------------
# Single Post
--------------------------------------------------------------*/

.single-post #region-selector {
	display: none;
}

.single-post-layout {
	display: flex;
	gap: 50px;
	margin-top: 280px;
}

/* Main Content */
.single-post-content {
	flex: 1;
	min-width: 0;
}

.single-post-image {
	margin-bottom: 30px;
}

.single-post-image img {
	width: 100%;
	height: auto;
	display: block;
}

.single-post-title {
	margin: 0 0 30px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.3;
}

.single-post-body {
	font-size: 15px;
	line-height: 1.7;
	color: #333;
}

.single-post-body h2,
.single-post-body h3,
.single-post-body h4 {
	margin: 30px 0 15px;
	font-weight: 600;
}

.single-post-body h2 {
	font-size: 20px;
}

.single-post-body h3 {
	font-size: 18px;
}

.single-post-body h4 {
	font-size: 16px;
}

.single-post-body p {
	margin: 0 0 20px;
}

.single-post-body ul,
.single-post-body ol {
	margin: 0 0 20px;
	padding-left: 25px;
}

.single-post-body li {
	margin-bottom: 8px;
}

/* Sidebar */
.single-post-sidebar {
	width: 325px;
	flex-shrink: 0;
}

.sidebar-widget {
	background: #F0F0F0;
	padding: 32px 45px 40px 47px;
}

.sidebar-title {
	margin: 0 0 21px;
	font-size: 18px;
	font-weight: 800;
	color: var(--color-grey);
	border-bottom: 1px solid #8A8B8E;
	padding-bottom: 20px;
}

.latest-posts-list {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.latest-post-item {
	padding-bottom: 25px;
	border-bottom: 1px solid #8A8B8E;
}

.latest-post-item:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.latest-post-title {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 800;
	line-height: normal;
}

.latest-post-link {
	font-size: 13px;
	font-weight: 500;
	color: #666;
	text-decoration: none;
	letter-spacing: 0.5px;
}

.latest-post-link:hover {
	color: #000;
	text-decoration: underline;
}

a.back {
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 800;
	margin-bottom: 15px;
	display: block;
}

/*--------------------------------------------------------------
# Legal
--------------------------------------------------------------*/

.legal-page {
	position: relative;
	margin-top: 300px;
	margin-bottom: 90px;
}

.legal-page .legal-container {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 116px;
}

.legal-page .legal-container .content {
	flex: 1;
}

.legal-page .legal-container .sidebar {
	flex-shrink: 0;
	width: 250px;
	height: 100%;
	background-color: #F0F0F0;
	padding: 27px 34px 38px 38px;
}

.legal-page .legal-container .sidebar h2 {
	margin: 0 0 21px;
	font-size: 18px;
	font-weight: 800;
	color: var(--color-grey);
	border-bottom: 1px solid #8A8B8E;
	padding-bottom: 20px;
}

.legal-page .legal-container .sidebar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.legal-page .legal-container .sidebar ul li {
	margin-bottom: 5px;

	&.current-menu-item a {
		font-weight: bold;
	}
}

/*--------------------------------------------------------------
# FAQ
--------------------------------------------------------------*/

.top-section {
	margin-top: 216px;
	background-color: #f9f9f9;
	padding: 123px 70px;
	text-align: center;
	margin-bottom: 80px;
}

.top-section h1 {
	margin-bottom: 30px;
}

.top-section .search-results-count {
	margin-bottom: 30px;
}

.faq-search-wrapper {
	position: relative;
	max-width: 500px;
	margin: 30px auto;
}

.faq-search-wrapper .search-icon {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

#faq-search {
	width: 100%;
	padding: 18px 45px 18px 40px;
	font-size: 16px;
	border: 1px solid #fff;
	border-radius: 60px;
	outline: none;
	transition: border-color 0.2s ease;
}

#faq-search:focus {
	border-color: #8A8B8E;
}

.search-clear {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	font-size: 24px;
	color: #8A8B8E;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease;
	background: #fff;
	padding: 10px;
}

.search-clear.is-visible {
	opacity: 1;
	visibility: visible;
}

.search-results-count {
	text-align: center;
	color: #666;
	font-size: 14px;
	min-height: 20px;
}

.single-section-faq {
	display: flex;
	gap: 270px;
	margin-bottom: 60px;
	padding-bottom: 60px;
	border-bottom: 1px solid #eee;
}

.single-section-faq:last-child {
	border-bottom: none;
}

.single-section-faq .section-header {
	flex: 0 0 371px;
}

.single-section-faq .section-header h2 {
	margin: 0 0 10px 0;
}

.single-section-faq .section-header p {
	color: #666;
	margin: 0;
}

.single-section-faq .faq-items {
	flex: 1;
}

.single-section-faq .faq-items .faq-item:nth-child(1) .faq-question {
	padding-top: 0px;
}

.faq-item {
	border-bottom: 1px solid #eee;
}

.faq-item.is-hidden {
	display: none;
}

.faq-question {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 0;
	cursor: pointer;
	user-select: none;
}

.faq-question h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	padding-right: 20px;
}

.faq-icon {
	flex-shrink: 0;
	color: #8A8B8E;
}

.faq-icon .icon-minus {
	display: none;
}

.faq-item.is-open .faq-icon .icon-plus {
	display: none;
}

.faq-item.is-open .faq-icon .icon-minus {
	display: block;
}

.faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.faq-answer p {
	margin: 0;
	padding-bottom: 20px;
	color: #555;
	line-height: 1.6;
}

.single-section-faq.is-hidden {
	display: none;
}

.no-results {
	text-align: center;
	padding: 60px 20px;
	color: #666;
}

.search-highlight {
	background-color: #fff3cd;
	padding: 2px 4px;
	border-radius: 3px;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/

.contact-page {
	position: relative;
	margin-top: 300px;
	margin-bottom: 90px;
}

.contact-page .section-title {
	margin-bottom: 70px;
}

.contact-page .flex {
	gap: 70px;
}

.contact-page .form-col {
	flex: 0 0 598px;
}

.contact-page .locations-col {
	flex: 1;
}

.contact-page .form-col p {
	margin-bottom: 30px;
}

.gform_wrapper.gravity-theme .gfield {
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	select,
	textarea {
		font-family: 'Nunito', sans-serif;
		width: 100%;
		padding: 20px !important;
		background: #F9F9F9;
		box-sizing: border-box;
		border: none;
		outline: none;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	select {
		border-radius: 46px;
	}

	textarea {
		border-radius: 30px;
		resize: none;
	}

	input[type="submit"] {
		font-family: 'Nunito', sans-serif;
		border-radius: 30px;
		background: var(--color-green);
		color: #fff;
		font-size: 13px;
		font-style: normal;
		font-weight: 800;
		letter-spacing: 0.78px;
		text-transform: uppercase;
		border: none;
		line-height: 1.6;
		padding: 8px 15px;
		cursor: pointer;
		transition: var(--transition);
		:hover {
			background-color: var(--color-blue);
		}
	}
}

.contact-page .quick-cta {
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.contact-page .single-quick-cta,
.contact-page .warranty {
	display: flex;
	justify-content: space-between;
	align-items: center;

}

.contact-page .single-quick-cta {
	background-color: #f9f9f9;
	padding: 40px 40px;
	gap: 10px;
}

.contact-page .single-quick-cta .info h2 {
	font-size: 20px;
	font-style: normal;
	font-weight: 800;
	line-height: 116%;
	margin-bottom: 0;
}

.contact-page .single-quick-cta .info a {
	font-size: 16px;
	font-weight: 400;
	line-height: 150%;
}

.contact-page .single-quick-cta .button,
.contact-page .single-location .button {
	font-size: 13px;
	font-style: normal;
	font-weight: 800;
	line-height: normal;
	letter-spacing: 0.78px;
	text-transform: uppercase;
	color: #fff;
	padding: 8px 15px;
	border-radius: 50px;
	background-color: var(--color-green);
	transition: var(--transition);
}

.contact-page .single-quick-cta .button:hover,
.contact-page .single-location .button:hover {
	background-color: var(--color-blue);
}

.contact-page .warranty {
	padding: 20px 30px 20px 40px;
	background-color: var(--color-green);
	gap: 22px;
}

.contact-page .warranty .logo {
	flex-shrink: 0;
}

.contact-page .warranty .logo img {
	width: 74px;
	height: 74px;
	object-fit: contain;
}

.contact-page .warranty .info h2 {
	font-size: 20px;
	font-style: normal;
	font-weight: 800;
	line-height: 116%;
	margin-bottom: 8px;
	color: #fff;
}

.contact-page .warranty .info p {
	font-size: 13px;
	font-weight: 400;
	line-height: 120%;
	margin: 0;
	color: #fff;
}

.contact-page .warranty .button {
	font-size: 13px;
	font-style: normal;
	font-weight: 800;
	line-height: normal;
	letter-spacing: 0.78px;
	text-transform: uppercase;
	background-color: var(--color-white);
	color: var(--color-grey);
	padding: 8px 15px;
	border-radius: 50px;
	transition: var(--transition);
}

.contact-page .warranty .button:hover {
	background-color: var(--color-grey);
	color: var(--color-white);
}

.contact-page .locations {
	gap: 30px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	margin-top: 170px;
}

.contact-page .single-location iframe {
	width: 100%;
	margin-top: 30px;
}

.contact-page .single-location .button {
	margin-top: 13px;
	position: relative;
	display: inline-block;
}

.contact-page .single-location p {
	margin-bottom: 0;
}

/*--------------------------------------------------------------
# Cart + Checkout
--------------------------------------------------------------*/

mark, 
ins {
	background: transparent;
}

.wc-block-cart__sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
	background: #f5f5f5;
	padding: 40px 40px;
	border: none;
}

.wc-block-cart__submit-container a,
.wc-block-components-checkout-place-order-button {
	background: #66bf6d;
	color: #fff;
	font-size: 20px;
	font-style: normal;
	font-weight: 900;
	line-height: 116%;
	text-transform: uppercase;
	border: none;
}

a.wc-block-components-checkout-return-to-cart-button {
	background: #e5e5e5;
	padding: 20px 30px 20px 40px;
}

.wc-block-components-checkout-return-to-cart-button svg {
	left: 10px;
}

/*--------------------------------------------------------------
# Rewards
--------------------------------------------------------------*/

.page-template-rewards #region-selector {
	display: none;
}

.rewards-page {
	margin-top: 215px;
}

.rewards-balance {
	background-color: #F9F9F9;
	text-align: center;
	padding: 80px 30px;
}

.rewards-balance p {
	font-size: 37px;
	font-weight: 700;
	margin: 0;
}

.rewards-balance h1 {
	font-size: 107px;
	font-weight: 800;
	line-height: 1;
}

.rewards-header {
	padding-top: 65px;
	margin: 0 auto 65px;
}

.rewards-benefits {
	margin: 100px auto;
}

.rewards-benefits h3 {
	font-size: 20px;
	text-transform: uppercase;
	font-weight: 700;
}

.rewards-benefits .benefit-wrap {
	height: 320px;
	border-radius: 15px;
	padding: 50px;
	display: flex;
	align-items: center;
}

.rewards-benefits .benefit-wrap p {
	color: var(--color-white);
	font-size: 46px;
	font-weight: 800;
	line-height: 1.2;
}

.rewards-benefits .slick-slide:nth-child(4n) .benefit-wrap {
	background-color: var(--color-light-green);
}

.rewards-benefits .slick-slide:nth-child(4n+1) .benefit-wrap {
	background-color: var(--color-green);
}

.rewards-benefits .slick-slide:nth-child(4n+2) .benefit-wrap {
	background-color: var(--color-mid-green);
}

.rewards-benefits .slick-slide:nth-child(4n+3) .benefit-wrap {
	background-color: var(--color-light-blue);
}

.page-template-rewards .single-section-faq {
	border-bottom: none;
	padding-bottom: 0;
}

.featured-product-carousel.benefits-list .slick-arrow {
	right: 0;
	top: -32px;
	left: auto;
	background-color: var(--color-light-grey);
	width: 29px;
	height: 32px;
	color: var(--color-dark-grey);
	font-size: 22px;
	text-align: center;
	line-height: 1.4;
	cursor: pointer;
}

.featured-product-carousel.benefits-list .slick-arrow::before {
	display: none;
}

.featured-product-carousel.benefits-list .slick-arrow.slick-prev {
	right: 35px;
}

/*--------------------------------------------------------------
# About
--------------------------------------------------------------*/

.page-template-about #region-selector {
	display: none;
}

.about-page {
	margin-top: 280px;
}

.about-row {
	margin: 80px auto;
}

.about-row-text {
	width: 42%;
}

.about-row-image {
	width: 49%;
}

.about-buttons {
	margin: 25px 0;
}

.about-buttons .fwo-button:not(:last-child) {
	margin-right: 5px;
}

.about-stats {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 50px;
}

.about-stat-value {
	font-size: 50px;
	font-weight: 900;
	line-height: 1;
}

.about-stat-desc {
	font-size: 14px;
	display: block;
	font-weight: 400;
	margin-top: 7px;
}

.about-content ul {
	list-style: none;
	padding-left: 0;
}

.about-content ul:last-child,
.about-content p:last-child {
	margin-bottom: 0;
}

.about-row .about-content li {
	color: var(--color-green);
	font-weight: 700;
	font-size: 16px;
	margin: 8px 0;
}

.about-row .about-content li::before {
	content: '+';
	background-color: var(--color-green);
	border-radius: 50%;
	width: 13px;
	display: inline-block;
	height: 13px;
	color: var(--color-white);
	text-align: center;
	line-height: 1;
	font-size: 12px;
	position: relative;
	top: -2px;
	margin-right: 8px;
}

.about-row-3 {
	margin: 100px auto;
}

.about-row-3 .about-heading {
	margin-bottom: 4px;
}

.about-benefits {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
}

.about-benefit-item {
	width: 32%;
}

.about-benefit-item {
	width: 32%;
	background-color: var(--color-white);
	box-shadow: 0 0 11px 3px rgba(0, 0, 0, 0.09);
	border-radius: 15px;
	padding: 50px;
	transition: var(--transition);
}

.about-benefit-item:hover {
	background-color: var(--color-green);
}

.about-benefit-item span {
	display: inline-block;
	width: 28px;
	height: 28px;
	font-size: 12px;
	background-color: var(--color-grey);
	color: var(--color-white);
	border-radius: 50%;
	text-align: center;
	line-height: 2.4;
	margin-bottom: 18px;
	transition: var(--transition);
}

.about-benefit-item:hover span {
	background-color: var(--color-white);
	color: var(--color-grey);
}

.about-benefit-icon {
	height: 60px;
	margin-bottom: 18px;
	position: relative;
	display: flex;
	align-items: center;
}

.about-benefit-icon img {
	display: block;
	transition: var(--transition);
}

#service-benefits .slick-slide.slick-current .about-benefit-item .about-benefit-icon img {
	filter: brightness(0) invert(1);
}

.about-benefit-title {
	margin-bottom: 6px;
	transition: var(--transition);
}

.about-benefit-item:hover .about-benefit-title {
	color: var(--color-white);
}

.about-benefit-item p {
	font-size: 16px;
	line-height: 1.6;
	transition: var(--transition);
}

.about-benefit-item p:last-child {
	margin-bottom: 0;
}

.about-benefit-item:hover p {
	color: var(--color-white);
}

/*--------------------------------------------------------------
# Book A Service
--------------------------------------------------------------*/

.page-template-book-service #region-selector {
	display: none;
}

.book-a-service-page {
	margin-top: 215px;
}

.page-intro {
	text-align: center;
}

.page-intro .gform_wrapper {
	margin-top: 50px;
}

.page-intro .gform_wrapper.gravity-theme .gfield input, 
.page-intro .gform_wrapper.gravity-theme .gfield select, 
.page-intro .gform_wrapper.gravity-theme .gfield textarea {
	background-color: var(--color-white) !important;
}

.page-intro h1 {
	font-weight: 800;
	margin-bottom: 12px;
}

.page-intro p a {
	text-decoration: underline;
}

#book-service {
	background-color: #f9f9f9;
	padding: 80px 0;
	margin-bottom: 80px;
}

#service-benefits {
	margin: 80px auto;
	display: block;
}

#service-benefits .about-benefit-item {
	height: 100%;
}

#service-benefits .slick-slide.slick-current .about-benefit-item {
	background-color: var(--color-green);
}

#service-benefits .slick-slide.slick-current .about-benefit-item span {
	background-color: var(--color-white);
	color: var(--color-grey);
}

#service-benefits .slick-slide.slick-current .about-benefit-item .about-benefit-title {
	color: var(--color-white);
}

#service-benefits .slick-slide.slick-current .about-benefit-item p {
	color: var(--color-white);
}

.page-template-book-service .single-section-faq {
	border-bottom: none;
	padding-bottom: 0;
}

/*--------------------------------------------------------------
# Installers
--------------------------------------------------------------*/

.page-template-installers #region-selector {
	display: none;
}

.installers-page {
	margin-top: 215px;
}

#book-installation {
	background-color: #f9f9f9;
	padding: 80px 0;
	margin-bottom: 80px;
}

.page-template-installers #service-benefits .slick-slide:nth-child(3n) .about-benefit-item {
	background-color: var(--color-light-blue);
}

.page-template-installers #service-benefits .slick-slide:nth-child(3n+1) .about-benefit-item {
	background-color: var(--color-green);
}

.page-template-installers #service-benefits .slick-slide:nth-child(3n+2) .about-benefit-item {
	background-color: var(--color-mid-green);
}

.page-template-installers #service-benefits .slick-slide:nth-child(3n) .about-benefit-item span {
	background-color: var(--color-white);
	color: var(--color-light-blue);
}

.page-template-installers #service-benefits .slick-slide:nth-child(3n+1) .about-benefit-item span {
	background-color: var(--color-white);
	color: var(--color-green);
}

.page-template-installers #service-benefits .slick-slide:nth-child(3n+2) .about-benefit-item span {
	background-color: var(--color-white);
	color: var(--color-mid-green);
}

.page-template-installers #service-benefits .slick-slide .about-benefit-item .about-benefit-title {
	color: var(--color-white);
}

.page-template-installers #service-benefits .slick-slide .about-benefit-item p {
	color: var(--color-white);
}

.page-template-installers .faq-container {
	margin-bottom: 80px;
}

.page-template-installers .single-section-faq {
	border-bottom: none;
	padding-bottom: 0;
}

.gform_wrapper.gravity-theme .gfield_required {
	display: none !important;
}

.gform_wrapper.gravity-theme .gform_page_footer {
	text-align: right;
}

.gform_wrapper.gravity-theme .gform_page_footer input {
	font-family: 'Nunito', sans-serif;
	border-radius: 30px;
	background: var(--color-green);
	color: #fff;
	font-size: 13px;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.78px;
	text-transform: uppercase;
	border: none;
	line-height: 1.6;
	padding: 8px 15px;
	cursor: pointer;
	transition: var(--transition);
	:hover {
		background-color: var(--color-blue);
	}
}

body .gform_wrapper.gravity-theme .chosen-container a.chosen-single {
	box-shadow: none !important;
	background: var(--color-white) !important;
	border: none !important;
	border-radius: 30px !important;
	text-align: left;
	font-weight: 400;
	font-size: 15px;
	letter-spacing: 0;
	padding: 10px 20px;
	height: auto;
}

body .gform_wrapper.gravity-theme .chosen-container-single .chosen-single div {
	top: 10px;
}

body .gform_wrapper.gravity-theme .chosen-container.chosen-with-drop .chosen-drop {
	text-align: left;
	border: none;
}

#field_4_7 .gfield_label {
	float: left;
	width: 50%;
  	text-align: left;
}

#field_4_7 .ginput_container_radio {
	text-align: left;
	padding-left: 15px;
	width: 50%;
	display: inline-block;
}

#field_4_7 .gchoice {
	margin-right: 20px;
}

#field_4_7 .ginput_container_radio .gfield-choice-input + label {
	max-width: unset;
}

#input_4_7 {
	display: flex;
}

/*--------------------------------------------------------------
# Wishlist
--------------------------------------------------------------*/

.woocommerce.myaccount-wishlist-wrapper {
	overflow: auto;
}

#wishlist_title, 
#wishlist_description, 
#wishlist_first_name, 
#wishlist_last_name, 
#wishlist_owner_email {
	font-family: 'Nunito', sans-serif;
	width: 100%;
	border: none;
	border-radius: 30px;
	padding: 12px 22px;
	outline: none;
	margin-top: 3px;
	background-color: #f5f5f5;
}

#wishlist_description {
	resize: none;
	border-radius: 20px;
	margin-bottom: 20px;
}

.wl-form .form-row:last-child {
	margin: -15px 0 0 0;
}

#wl-wrapper {
	color: var(--color-grey);
	font-weight: 300;
}

#wl-wrapper .button:not(.green) {
	font-family: 'Nunito', sans-serif;
	border-radius: 30px !important;
	text-decoration: none;
	background-color: var(--color-blue);
	border-radius: 0;
	padding: 8px 18px;
	color: #fff;
	border: none;
	margin-right: 0;
	line-height: 1.6;
	margin-top: 20px;
	transition: var(--transition);
}

#wl-wrapper .button:not(.green):hover {
	background-color: var(--color-green);
}

#wl-wrapper .button.btn-apply {
	padding: 5px 16px;
}

body #wl-wrapper .wl-privacy-col,
body #wl-wrapper .wl-date-added,
body .wl-table.wl-manage.manage-lists-table thead {
	display: none;
}

body #wl-wrapper .wl-table.manage-lists-table td:first-child {
	padding: 25px 5px 25px 25px !important;
	width: 100%;
}

body #wl-wrapper .wl-table.manage-lists-table td:first-child strong {
	display: inline-block;
	vertical-align: middle;
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0;
}

body #wl-wrapper .wl-manage.manage-lists-table .row-actions {
	margin-bottom: 0;
	display: inline-block;
	float: right;
	color: #fff;
	margin-top: 6px;
}

body .wl-table.wl-manage.manage-lists-table tr:last-child td:first-child {
	display: none;
}

body #wl-wrapper .wl-manage.manage-lists-table td.actions {
	text-align: right !important;
	padding: 5px;
}

body .wl-table.wl-manage.manage-lists-table {
	border-collapse: collapse;
	border: none;
}

body .wl-table.wl-manage.manage-lists-table .cart_table_item {
	border-top: 1.5px solid #ededed;
	border-bottom: 1.5px solid #ededed;
}

/*body #wl-wrapper .wl-row:first-child {
	text-align: right;
}*/

body #wl-wrapper .wl-row:first-child .button.wl-create-new {
	background-color: var(--color-green);
}

body #wl-wrapper .wl-row:first-child .button.wl-create-new:hover {
	background-color: var(--color-blue);
}

body #wl-wrapper .wl-manage.manage-lists-table .row-actions small a {
	border: 1.5px solid var(--color-grey);
	padding: 11px 13px;
	font-size: 15px;
	text-transform: uppercase;
	color: var(--color-grey);
	opacity: 1;
	font-weight: 500;
	letter-spacing: 0.2;
	transition: 0.35s ease all;
}

body #wl-wrapper .wl-manage.manage-lists-table .row-actions small a:hover {
	background-color: var(--color-grey);
	color: #fff;
}

body #wl-wrapper .wl-manage td.actions .button.wl-but {
	padding: 8px 18px;
	margin-top: 10px;
}

body .wl-intro-desc {
	float: left;
	width: calc(100% - 200px);
	text-align: left;
	margin-top: 5px;
}

body .wl-intro > p {
	float: right;
}

body .wl-tab-wrap.woocommerce-tabs {
	clear: both;
}

body .wl-intro .entry-title {
	margin: 15px 0 0;
}

body .wl-intro .wlconfirm {
	color: var(--color-grey);
	font-weight: 500;
	letter-spacing: 0.2px;
}

body #wl-wrapper .wl-table.edit-list-table td {
	text-align: center;
	vertical-align: middle;
}

#wl-wrapper .wl-table.edit-list-table th,
#wl-wrapper .wl-table.edit-list-table tr:not(:last-child) td {
	border-bottom: 1px solid var(--color-light-grey);
}

#wl-wrapper .wl-table.edit-list-table tr:last-child .product-purchase {
	padding-top: 15px;
}

#wl-wrapper .wl-table.edit-list-table th {
	text-align: center;
	font-weight: 500;
	font-size: 14px;
	padding: 10px 2px;
}

.wl-table .product-thumbnail {
	max-width: 100px;
}

.wl-table td.product-name,
.wl-table td.product-price span {
	font-size: 13px;
}

.wl-table td.product-name .stock.available-on-backorder {
	margin: 0;
	font-size: 13px;
}

.wl-table .product-quantity .quantity input {
	width: auto;
	height: auto;
	padding: 4px;
	font-size: 13px;
}

#wl-wrapper .wl-table.edit-list-table .product-purchase .button {
	white-space: nowrap;
	margin: 0;
	padding: 7px 12px;
	background-color: var(--color-green);
}

#wl-wrapper .wl-table.edit-list-table .product-purchase .button:hover {
	background-color: var(--color-blue);
}

#wleditaction1-button,
#wleditaction2-button {
	border: 1px solid var(--color-light-grey);
	padding: 7px 12px;
	margin-right: 10px;
	cursor: pointer;
	white-space: nowrap;
}

#wleditaction1-menu,
#wleditaction2-menu {
	list-style: none;
	background-color: #fff;
	max-width: 265px;
	padding: 0;
	border: 1px solid var(--color-light-grey);
	font-size: 14px;
}

#wleditaction1-menu .ui-menu-item-wrapper:hover,
#wleditaction2-menu .ui-menu-item-wrapper:hover {
	background-color: var(--color-blue);
	color: #fff;
}

#wleditaction1-menu .ui-menu-item-wrapper,
#wleditaction2-menu .ui-menu-item-wrapper {
	padding: 3px 14px;
	cursor: pointer;
}

#wleditaction1-menu .ui-selectmenu-optgroup.ui-menu-divider,
#wleditaction2-menu .ui-selectmenu-optgroup.ui-menu-divider {
	padding: 3px 14px;
}

#wleditaction1-menu .ui-selectmenu-optgroup.ui-menu-divider+.ui-menu-item .ui-menu-item-wrapper,
#wleditaction2-menu .ui-selectmenu-optgroup.ui-menu-divider+.ui-menu-item .ui-menu-item-wrapper {
	padding: 3px 28px;
	cursor: pointer;
}

#wleditaction1,
#wleditaction2,
#wlitemcat,
#sort-dropdown {
	padding: 7px;
	max-width: unset !important;
	background-color: #fff;
	border: 1px solid var(--color-light-grey);
}

#wl-wrapper .wl-table.edit-list-table .product-purchase {
	text-align: right !important;
}

.wl-table.edit-list-table tr:last-child td.product-purchase {
	padding-right: 10px !important;
}

.wl-table .stock.in-stock {
	display: none;
}

body #wl-wrapper .wl-tabs>li>a {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	color: var(--color-grey);
	cursor: pointer;
	transition: 0.35s ease all;
}

#wl-wrapper .wl-actions-table.wl-right label {
	font-weight: 500;
	margin-bottom: 5px;
	font-size: 15px;
}

.wl-button-already-in .wl-already-in {
	margin: 12px 0 20px;
}

body #wl-wrapper .wl-already-in ul {
	margin: 0;
	list-style: none;
	padding: 0;
}

body #wl-wrapper .wl-tabs > li > a {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	color: var(--color-grey);
	cursor: pointer;
	margin: 0;
	transition: .35s ease all;
}

#wl-wrapper ul.wl-tabs {
	border-bottom: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: none;
	border-radius: 0;
	margin: 0;
	padding: 0;
	background-color: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-bottom: 1px solid #dddddd;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after, 
.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
	display: none;
}

.parent-pageid-341 .woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--dashboard a {
	font-weight: 500;
}

.parent-pageid-341 .woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--account-wishlists a {
	font-weight: 900;
}

/*--------------------------------------------------------------
# My Account
--------------------------------------------------------------*/

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-navigation {
	float: left;
	width: 20%;
	background-color: #f5f5f5;
	padding: 22px 28px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul,
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a,
.woocommerce-MyAccount-navigation a {
	text-transform: capitalize;
	font-size: 16px;
	display: block;
	padding: 5px 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation .is-active a {
	font-weight: 900;
}

.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-MyAccount-content {
	float: right;
	width: 75%;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button.button {
	font-family: 'Nunito', sans-serif;
	text-transform: capitalize;
	background-color: var(--color-blue);
	color: var(--color-white);
	border-radius: 30px;
	font-weight: 400;
	transition: var(--transition);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button.button:hover {
	background-color: var(--color-green);
	color: var(--color-white);
}

.woocommerce .woocommerce-customer-details address {
	border: none;
	padding: 0;
	font-size: 14px;
	font-weight: 300;
}

.woocommerce form .form-row .input-text, 
.woocommerce form .form-row select {
	padding: 12px 22px;
	background-color: #f9f9f9;
	border: none;
	border-radius: 30px;
	color: var(--color-grey);
	font-size: 15px;
	outline: none;
}

fieldset {
	padding: 0;
	border: none;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.cta-blocks {
	margin: 70px auto;
	clear: both;
}

.cta-blocks>div {
	width: 49%;
	padding: 50px;
}

.not-installer {
	background-color: #8DC63F;
}

.is-installer {
	background-color: #0492C7;
}

.cta-blocks h2 {
	color: var(--color-white);
	margin: 0;
}

.cta-blocks p {
	color: var(--color-white);
	margin-bottom: 0;
}

.cta-blocks .fwo-button {
	align-self: center;
}

.cta-blocks .fwo-button.green {
	background-color: #77A33A;
	border-color: #77A33A;
	color: var(--color-white);
}

.cta-blocks .fwo-button.green:hover {
	background-color: var(--color-blue);
	border-color: var(--color-blue);
	color: var(--color-white);
}

.site-info {
	background-color: var(--color-light-grey);
	padding: 80px 0;
}

.site-info .flex {
	align-items: flex-start;
}

.site-info .link-col:nth-child(5) {
	width: 24%;
}

.site-info .fwo-button {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.5px;
	margin-bottom: 10px;
}

.site-info h3 {
	margin-bottom: 0;
}

.site-info ul {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
}

.site-info ul a {
	font-weight: 300;
	display: block;
	margin: 2px 0;
	font-size: 14px;
}

#quick-links-menu a {
	font-size: 18px;
	font-weight: 800;
	color: var(--color-grey);
}

.payment-methods img {
	display: block;
	margin: 0 auto;
	max-width: 540px;
}

.bottom-footer {
	background-color: var(--color-black);
	padding: 18px;
}

.bottom-footer a {
	color: var(--color-white);
	font-size: 15px;
	margin-right: 12px;
}

#legal-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
}

#legal-menu li:not(:last-child) a::after {
	content: '|';
	display: inline-block;
	margin-left: 12px;
}

.sm {
	justify-content: end;
}

.sm a {
	margin-left: 7px;
}

.site-info .gfield input {
	font-family: 'Nunito', sans-serif;
	background-color: var(--color-white);
	border: none;
	border-radius: 30px;
	outline: none;
	color: var(--color-grey);
	padding: 10px 30px !important;
	margin-top: 8px !important;
}

.site-info .gform-footer.gform_footer {
	margin: 12px 0 0;
	padding: 0;
}

.gform_wrapper .gform_footer input {
	font-family: 'Nunito', sans-serif;
	margin: 0 0 0 auto;
	border-radius: 30px;
	background-color: var(--color-green);
	color: var(--color-white);
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 700;
	padding: 10px 18px 9px;
	border: none;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: 0.35s ease all;
}

.gform_wrapper .gform_footer input:hover {
	background-color: var(--color-blue);
}

/*--------------------------------------------------------------
# Compare
--------------------------------------------------------------*/

.woocommerce-products-compare-content {
	max-width: 1300px;
	margin: 250px auto 0;
	padding: 0 30px;
}

.woocommerce-products-compare-content .products-per-page, 
.woocommerce-products-compare-content .advanced-filter {
	display: none;
}

.post-type-archive-product .woocommerce-products-compare-compare-button {
	position: absolute;
	bottom: 100px;
	left: 50%;
	transform: translateX(-50%);
}

.woocommerce-products-compare-content table tbody tr th {
	text-align: left;
}

.compare-features {
	display: flex;
}

.compare-features:not(:last-child) {
	border-bottom: 1px solid #e0e0e0;
}

.compare-features p {
	margin: -0.5px !important;
	padding: 5px 2px;
	font-size: 13px;
}

.compare-features p:first-child {
	width: calc(100% - 130px);
	font-weight: bold;
}

.compare-features p:last-child {
	width: 130px;
	text-align: right;
}

.woocommerce-products-compare-content table tbody tr:nth-child(2n+1) {
	background-color: transparent;
}

.woocommerce-products-compare-content table thead tr:hover,
.woocommerce-products-compare-content table tbody tr:hover {
	background-color: inherit !important;
}

.woocommerce-products-compare-content span.stock-status.in-stock,
.woocommerce-products-compare-content .price {
	color: #000;
}

.woocommerce-products-compare-content table tbody tr td > p {
	margin: 0;
}

.woocommerce-products-compare-content h3 {
	padding: .2em 0;
	margin: 0;
	font-size: 16px;
}

.woocommerce-products-compare-content .product a.button {
	margin: 10px 0;
	background-color: var(--color-blue);
	color: var(--color-white);
	text-transform: capitalize;
	border-radius: 30px;
	font-weight: 500;
	transition: var(--transition);
}

.woocommerce-products-compare-content .product a.button:hover {
	background-color: var(--color-green);
	color: var(--color-white);
}

.woocommerce-products-compare-content .product .onsale {
	background-color: var(--color-grey);
	color: var(--color-white);
	text-transform: uppercase;
	font-weight: 800;
	font-size: 13px;
	padding: 5px 8px;
	min-height: auto;
	min-width: auto;
	line-height: 1.2;
	border-radius: 4px;
	right: 10px;
}

.product_cat-commercial .woocommerce-products-compare-compare-button {
	display: none;
}

.woocommerce-products-compare-content .product a.product-link img {
	height: 300px;
	object-fit: contain;
	object-position: center;
}

.woocommerce-products-compare-content .price del {
	font-size: 1em;
}

.button.add-more-products {
	position: fixed;
	top: 155px;
	right: 0;
	font-size: 11px;
	max-width: 115px;
	text-align: center;
	border-radius: 0;
	text-transform: uppercase;
	padding: 5px 8px;
}

.woocommerce-products-compare-content table tbody tr td {
	text-align: center;
	font-size: 16px;
	font-weight: 300;
}

/*--------------------------------------------------------------
# Responsive
--------------------------------------------------------------*/

@media(max-width: 1200px) {
	.single-section-faq {
		gap: 50px;
	}
}

@media(max-width: 1120px) {
	.contact-page .flex {
		flex-direction: column;
		gap: 40px;
	}
}

@media (max-width: 991px) {
	.single-post-layout {
		flex-direction: column;
		gap: 40px;
	}
	.single-post-sidebar {
		width: 100%;
	}
	.shop-products {
		grid-template-columns: 1fr;
	}
	.shop-filters {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 99999;
		width: 100%;
		max-height: 85vh;
		background: #fff;
		border-radius: 20px 20px 0 0;
		box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
		transform: translateY(100%);
		transition: transform 0.3s ease;
		overflow: hidden;
		display: flex;
		flex-direction: column;
	}
	.shop-filters.mobile-open {
		transform: translateY(0);
	}
	.filters-header {
		display: none;
	}
	.mobile-filter-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 20px;
		border-bottom: 1px solid #eee;
		flex-shrink: 0;
	}
	.mobile-filter-header span {
		font-size: 18px;
		font-weight: 600;
	}
	.mobile-filter-close {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		padding: 0;
		background: none;
		border: none;
		font-size: 24px;
		color: #666;
		cursor: pointer;
	}
	.filter-group {
		padding: 20px;
		margin-bottom: 0;
	}
	.filter-options {
		max-height: none;
	}
	.mobile-filter-footer {
		display: flex;
		gap: 15px;
		padding: 20px;
		border-top: 1px solid #eee;
		background: #fff;
		flex-shrink: 0;
	}
	.mobile-clear-filters,
	.mobile-apply-filters {
		flex: 1;
		padding: 14px 20px;
		border: none;
		border-radius: 8px;
		font-size: 15px;
		font-weight: 600;
		cursor: pointer;
		transition: opacity 0.2s;
	}
	.mobile-clear-filters {
		background: #f5f5f5;
		color: #333;
	}
	.mobile-apply-filters {
		background: var(--color-green);
		color: #fff;
	}
	.mobile-clear-filters:hover,
	.mobile-apply-filters:hover {
		opacity: 0.9;
	}
	.mobile-filter-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 10px 20px;
		background: var(--color-light-grey);
		border: none;
		border-radius: 7px;
		font-size: 14px;
		font-weight: 500;
		cursor: pointer;
		grid-column: span 2;
		margin-bottom: 20px;
		color: var(--color-dark-grey);
	}
	.mobile-filter-toggle::before {
		content: '';
		width: 16px;
		height: 14px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cline x1='4' y1='6' x2='20' y2='6'/%3E%3Cline x1='4' y1='12' x2='20' y2='12'/%3E%3Cline x1='4' y1='18' x2='20' y2='18'/%3E%3Ccircle cx='8' cy='6' r='2' fill='%23333'/%3E%3Ccircle cx='16' cy='12' r='2' fill='%23333'/%3E%3Ccircle cx='10' cy='18' r='2' fill='%23333'/%3E%3C/svg%3E");
		background-size: contain;
		background-repeat: no-repeat;
	}
	.mobile-filter-overlay {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9999;
		background: rgba(0, 0, 0, 0.5);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s, visibility 0.3s;
	}
	.mobile-filter-overlay.active {
		opacity: 1;
		visibility: visible;
	}
	body.filters-open {
		overflow: hidden;
	}
	.shop-info {
		flex-direction: column;
		align-items: flex-start;
	}
	.products-container {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
	.shop-pagination a,
	.shop-pagination .page-dots {
		min-width: 32px;
		height: 32px;
		font-size: 13px;
	}
}

@media (max-width: 768px) {
	.single-post-title {
		font-size: 24px;
	}
	.sidebar-widget {
		padding: 20px;
	}
	.single-section-faq {
		flex-direction: column;
		gap: 20px;
	}
	.single-section-faq .section-header {
		flex: none;
	}
}

@media (max-width: 480px) {
	.products-container {
		grid-template-columns: 1fr;
	}
}
