/*
Theme Name: My Child Theme
Template: hello-elementor
*/

/*****************************
 * Common CSS
 ****************************/
.gradient{
    background: linear-gradient(135deg, var(--e-global-color-primary) 0%, hsl(30 90% 60%) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
color: transparent;
}

li {
    padding-bottom: 14px;
}

a {
    color: var(--e-global-color-d95342f);
    font-family: var(--e-global-typography-text-font-family);
    font-size: 14px;
}

a:hover {
    color: var(--e-global-color-primary);
}

h2 {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

h2 .subtitle {
     color: var(--e-global-color-primary);
     font-size: 14px;
     font-weight: 500;
}


@media (max-width: 767px) {
    .product-description-table {
        display: none;
    }
}

.woocommerce-checkout-review-order dl,
.elementor-menu-cart__wrapper .elementor-menu-cart__product dl,
.woocommerce .woocommerce-cart-form dl {
    font-family: var(--e-global-typography-text-font-family);
}

dl .tc-price-in-cart * {
    color: var(--e-global-color-primary) !important;
}

.woocommerce-checkout-review-order dl dt,
.elementor-menu-cart__wrapper .elementor-menu-cart__product dl dt,
.woocommerce .woocommerce-cart-form dl dt {
    display: none !important;
}

.elementor-menu-cart__wrapper .elementor-menu-cart__product dl dd,
.woocommerce .woocommerce-cart-form dl dd {
    margin-bottom: 12px !important;
}


/*****************************
 * Home Page Media Carousel CSS
 ****************************/

#home-media-carousel .elementor-main-swiper {
    border-radius: 20px;    
}

#home-media-carousel .elementor-swiper-button {
    position: absolute;
  
    top: auto;
    bottom: -100px;
    right: 0px;
  
    width: 50px;
    height: 50px;
  
    border: 2px solid var(--e-global-color-primary);
    border-radius: 50%;
    background: transparent;
    transition: all .25s ease;
  
    display: flex;
    align-items: center;
    justify-content: center;
}

#home-media-carousel .elementor-swiper-button-prev {
    left: auto;
    right: 62px; 
}

#home-media-carousel .elementor-swiper-button:hover {
    background: var(--e-global-color-primary);
}

#home-media-carousel .elementor-swiper-button .e-font-icon-svg { 
    fill: var(--e-global-color-primary);
}

#home-media-carousel .elementor-swiper-button:hover .e-font-icon-svg { 
    fill: var(--e-global-color-50a7da4);
}

#home-media-carousel .swiper-pagination {
    width: auto;
    color: var(--e-global-color-d95342f);
    font-size: 20px;
    position: absolute;
    top: auto;
    left: 0;
    bottom: -60px;
}

/*****************************
 * Divider CSS
 ****************************/

.divider-with-icon {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 12px;
}

.divider-with-icon .line {
  flex: 1;
  height: 2px;
}

.divider-with-icon .line.left {
  background: linear-gradient(to right, var(--e-global-color-primary), transparent);
}

.divider-with-icon .line.right {
  background: linear-gradient(to left, var(--e-global-color-primary), transparent);
}

.divider-with-icon .icon {
  font-size: 18px;
  color: var(--e-global-color-primary);
  line-height: 1;
}

/*****************************
 * Header CSS
 ****************************/

.header-contact-links {
    display: flex;
    gap: 12px;
    height:20px;
}

.header-contact-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--e-global-color-d95342f);
    font-family: var(--e-global-typography-text-font-family);
    font-size: 14px;
    margin: 0px;
}

.header-contact-link svg {
    color: var(--e-global-color-primary);
    width: 16px;
    height: 16px;
}

.elementor-menu-cart__toggle #elementor-menu-cart__toggle_button:focus {
    background-color: transparent;
}

.elementor-menu-cart__wrapper .elementor-menu-cart__main {
    width: 40vw;
}

.header-links {
    display: flex;
    gap: 60px;
}

.header-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--e-global-color-d95342f);
    font-family: var(--e-global-typography-text-font-family);
    font-size: 18px;
    font-weight: 500;
    margin: 0px;
}
 
.header-link.home {
    background-color: var(--e-global-color-primary);
    padding: 8px 16px;
    font-size: 16px;
    border-radius: 5px;
    color: var(--e-global-color-50a7da4);
}
 
.header-link.quote {
    border: 2px solid var(--e-global-color-primary);
    padding: 8px 16px;
    font-size: 16px;
    border-radius: 5px;
    color: var(--e-global-color-primary);
}

.header-link.home:hover {
    background-color: var(--e-global-color-846d906);
}

.header-link.quote:hover {
    background-color: var(--e-global-color-primary);
    color: var(--e-global-color-50a7da4);
}

.menu-button{
    display: none;
}

@media (max-width: 1400px) {
    .elementor-menu-cart__wrapper .elementor-menu-cart__main {
        width: 50vw;
    }
}

@media (max-width: 1180px) {
    .elementor-menu-cart__wrapper .elementor-menu-cart__main {
        width: 60vw;
    }

  	.header-links {
    	gap: 16px;
    	flex-direction: column;
    	padding-top: 16px;
    	margin: 16px;
    	border-top: 1px solid var(--e-global-color-text);
    	display: none;
  	}
  
   	.header-links.is-open {
    	display: flex;
  	}
  
  	.header-link {
      	padding: 8px 16px;
  	}

    .menu-button{
		display: block;
		z-index: auto;
		background-color: transparent !important;
		color: var(--e-global-color-960e452) !important;
		border: none;
		box-shadow: none !important;
		padding: 8px !important;
	}
	.menu-button.is-active .lucide-menu{
		display: none;
	}
	.menu-button .lucide-x{
		display: none;
	}
	.menu-button.is-active .lucide-x{
		display: block;
	}
}

@media (max-width: 767px) {
    .elementor-menu-cart__wrapper .elementor-menu-cart__main {
        width: 80vw;
    }
}

/*****************************
 * Footer CSS
 ****************************/

h2 .text {
     color: var(--e-global-color-d95342f);
     font-size: 14px;
     font-weight: 400;
     line-height: 1.625;
}

.elementor-sitemap-title {
    padding-bottom: 24px;
}

.contact-title {
    color: var(--e-global-color-960e452);
    font-family: var(--e-global-typography-text-font-family);
    font-size: 16px;
    font-weight: 700;
    padding-bottom: 24px;
}

.contact-link {
    display: flex;
    gap: 12px;
    padding-bottom: 14px;
    
    color: var(--e-global-color-d95342f);
    font-family: var(--e-global-typography-text-font-family);
    font-size: 14px;
    margin: 0px;
}

.contact-link svg {
    color: var(--e-global-color-primary);
}

.custom-footer-links, .custom-link {
    color: var(--e-global-color-d95342f);
    font-family: var(--e-global-typography-text-font-family);
    font-size: 14px;
    margin: 0px;
    text-align: center;
}

.custom-link:hover {
    color: var(--e-global-color-primary);
}

/*****************************
 * Product Gallery Slider (custom Swiper slider via shortcode)
 ****************************/
.product_gallery_con {
	position: relative;
	user-select: none; 
	display: flex;
	align-items: center;
	gap: 12px;
}
.product_gallery_swiper {
	border: 1px solid var(--e-global-color-text);
}
.product_gallery_slide a {
	width: 100%;
	aspect-ratio: 1.3;
	display: flex;
}
.sauna_rent_con .product_gallery_slide a {
	aspect-ratio: 1.6;
}
.product_gallery_slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.product_gallery_nav_wr {
	display: flex;
	align-items: center;
	padding: 0 50px;
	margin-top: 30px;
	gap: 20px;
}
.product_gallery_thumb_swiper {
	width: 100%;
}
.product_gallery_thumb_slide {
	aspect-ratio: 1;
	display: flex;
	border: 1px solid var(--e-global-color-text);
}
.product_gallery_thumb_slide.swiper-slide-thumb-active {
	border: 1px solid var(--e-global-color-primary);
}
.product_gallery_thumb_slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: pointer;
}
.product_gallery_thumb_prev::after,
.product_gallery_thumb_next::after {
 	display: none;
 }

.product_gallery_prev,
.product_gallery_next,
.product_gallery_thumb_prev,
.product_gallery_thumb_next {
 	width: 48px;
 	min-width: 48px;
 	height: 48px;
 	display: flex;
 	justify-content: center;
 	align-items: center;
 	background: var(--e-global-color-50a7da4);
 	border: 2px solid var(--e-global-color-primary);
 	border-radius: 50%;
 	cursor: pointer;
 	z-index: 2;
}

.product_gallery_prev:hover,
.product_gallery_next:hover,
.product_gallery_thumb_prev:hover,
.product_gallery_thumb_next:hover {
 	background: var(--e-global-color-primary);
}

.product_gallery_prev svg,
.product_gallery_next svg,
.product_gallery_thumb_prev svg,
.product_gallery_thumb_next svg {
	width: 12px;
	height: auto;
	fill: var(--e-global-color-primary);
}

.product_gallery_prev:hover svg,
.product_gallery_next:hover svg,
.product_gallery_thumb_prev:hover svg,
.product_gallery_thumb_next:hover svg {
	fill: var(--e-global-color-50a7da4);
}

.product_gallery_thumb_prev.swiper-button-disabled,
.product_gallery_thumb_next.swiper-button-disabled {
	background: transparent;
}
.product_gallery_thumb_prev.swiper-button-disabled svg,
.product_gallery_thumb_next.swiper-button-disabled svg {
	fill: var(--e-global-color-text);
}
.product_gallery_pagination_mob {
	display: none;
}

@media (max-width: 1180px) {
	.product_gallery_prev,
	.product_gallery_next,
	.product_gallery_thumb_prev,
	.product_gallery_thumb_next {
		display:none;
	}
}

/******************************
    Manual Button
******************************/

.prod_manual_btn {
    background-color: var(--e-global-color-50a7da4);
    border: 2px solid var(--e-global-color-primary);
    color: var(--e-global-color-primary);
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 16px;

    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
}

.prod_manual_btn:hover {
    background-color: var(--e-global-color-primary);
    color: var(--e-global-color-50a7da4);
}

/******************************
    Extra Product Options Fields
******************************/

.you-choose-container {
    position: sticky !important;
    top: 200px;
    height: max-content;
}

.tm-extra-product-options-fields {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
}

.tm-extra-product-options-fields .tm-epo-required {
    display: none;
}

.tm-extra-product-options-fields .tc-epo-element-label-text {
    color: var(--e-global-color-960e452);
    font-size: 24px;
}

/* bad practice to use important, but had to override some stock css */
.tm-extra-product-options-fields .tmcp-ul-wrap {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

@media screen and (max-width: 1599px) {
    .tm-extra-product-options-fields .tmcp-ul-wrap {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media screen and (max-width: 767px) {
    .tm-extra-product-options-fields .tmcp-ul-wrap {
        grid-template-columns: 1fr 1fr;
    }
}

.tm-extra-product-options-fields .tmcp-field-wrap,
.tm-extra-product-options-fields .tc-label-wrap {
    height: 100%;
}

.tm-extra-product-options-fields .tc-label-wrap {
    border: 1px solid var(--e-global-color-text);
    color: var(--e-global-color-d95342f);
    padding: 24px;
    
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    justify-content: center;

    font-size: 16px;
    font-weight: var(--e-global-typography-primary-font-weight);
}

.tm-extra-product-options-fields .tc-label-wrap .tm-tooltip {
    color: var(--e-global-color-846d906);
}

.tm-extra-product-options-fields .tc-label-wrap img {
    border: none !important;
    width: 200px;
    height: 200px;
    object-fit: contain;
}

.tm-extra-product-options-fields .tc-label-wrap .tc-price {
    color: var(--e-global-color-primary) !important;
}

.tm-extra-product-options .tmcp-field-wrap.tc-active .tc-label-wrap {
    border: 1px solid var(--e-global-color-primary);
}

form.cart .tc-totals-form, 
form.cart .quantity,
form.cart .single_add_to_cart_button {
    display: none;
}

.custom__product_total_box {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
}

.custom__product_total_box .tm-fb {
    max-height: unset;
}

.custom__product_total_box .tm-fb .tm-fb-title {
    display: none;
}

.custom__product_total_box .tm-fb .tm-fb-value {
    display: flex;
    gap: 16px;
    align-items: center;
}

.custom__product_total_box .tm-fb .tc-label-text {
    font-size: 16px;
    color: var(--e-global-color-d95342f);
    word-wrap: break-word;
    flex: 1;
}

.custom__product_total_box .tm-fb .tc-img-floating img {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

.custom__product_total_box .tm-custom-price-totals {
    border-top: 1px solid var(--e-global-color-text);
    border-bottom: 1px solid var(--e-global-color-text);
    padding: 16px 0;

    display: grid;
    grid-template-columns: 3fr 1fr;
}

.custom__product_total_box .tm-custom-price-totals dt.tm-final-totals,
.custom__product_total_box .tm-custom-price-totals dt.tm-options-totals {
    color: var(--e-global-color-960e452);
    font-size: 18px;
    font-weight: 500;
}

.custom__product_total_box .tm-custom-price-totals dd.tm-final-totals,
.custom__product_total_box .tm-custom-price-totals dd.tm-options-totals {
    padding: 0;
    text-align: end;
}

.custom__product_total_box .tm-custom-price-totals dd.tm-final-totals .price,
.custom__product_total_box .tm-custom-price-totals dd.tm-options-totals .price {
    color: var(--e-global-color-primary) !important;
    font-size: 16px;
}

.custom__product_total_box .tc-add-to-cart-button {
    margin-top: 16px !important;
    width: 100%;
    border: 2px solid var(--e-global-color-primary) !important;
    background-color: var(--e-global-color-50a7da4) !important;
    color: var(--e-global-color-primary) !important;
}

.custom__product_total_box .tc-add-to-cart-button:hover {
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-50a7da4) !important;
}

.custom__product_total_box .cart-success-label {
    margin-top: 16px;
}

.custom__product_total_box .cart-success-label > span {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    font-weight: 500;
    color: rgb(0, 180, 45);
}

/******************************
    Message 
******************************/

.woocommerce-notices-wrapper {
    display: none;
}

/******************************
    Cart
******************************/
div[data-elementor-type="wp-page"]:has(.elementor-widget-woocommerce-cart){
    min-height: calc(100vh - 600px);
}

.elementor-widget-woocommerce-cart .e-cart-section,
.elementor-widget-woocommerce-checkout-page .woocommerce .e-checkout__order_review,
.elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-additional-fields,
.elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .col-1,
.elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout #payment,
.elementor-widget-woocommerce-checkout-page .woocommerce .e-coupon-box {
    padding: 26px 28px;
}

.woocommerce .woocommerce-cart-form table {
     font-family: var(--e-global-typography-primary-font-family), Sans-serif;
}

.elementor-widget-woocommerce-cart .woocommerce .cart th, 
.elementor-widget-woocommerce-cart .woocommerce .cart_totals h2 {
    font-size: 18px;
    color: var(--e-global-color-960e452);
}

.woocommerce .woocommerce-cart-form table tr:not(:last-child) td:first-child,
.woocommerce .woocommerce-cart-form table th:first-child {
    display: none;
}

.woocommerce .woocommerce-cart-form table tbody tr:last-child td{
    background: var(--e-global-color-secondary);
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.woocommerce .woocommerce-cart-form table tbody tr:last-child td .coupon input{
    width: max-content;
}
.woocommerce .woocommerce-cart-form table tbody tr:last-child td button {
    padding: 10px !important;
}

.woocommerce .woocommerce-cart-form table td.product-name {
    padding: 16px 0;
}

.woocommerce .woocommerce-cart-form table td.product-name > a {
    color: var(--e-global-color-primary) !important;
}

.woocommerce .woocommerce-cart-form table td.product-name > a:hover {
    text-decoration: underline;
}

.woocommerce .woocommerce-cart-form table td.product-name dl {
    margin-top: 16px;
}

.woocommerce .woocommerce-cart-form table td.product-name .product-buttons-wrapper {
    display: flex;
    align-items: center;
    gap: 24px;    
}

.woocommerce .woocommerce-cart-form table td.product-name .product-buttons-wrapper a {
    width: max-content;
    height: max-content;
}

.woocommerce .woocommerce-cart-form table td.product-name .product-buttons-wrapper a:hover {
    background-color: unset;
}

.woocommerce .woocommerce-cart-form table td.product-name .product-buttons-wrapper a:hover .custom-product-button span {
    text-decoration: underline;
}

.woocommerce .woocommerce-cart-form table td.product-name .custom-product-button{
    display: flex;
    align-items: center;
    justify-items: center;
    gap: 8px;
    color: var(--e-global-color-primary);
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
}

.woocommerce .woocommerce-cart-form table td.product-name .custom-product-button > span{
    color: var(--e-global-color-primary);
}

.woocommerce .woocommerce-cart-form table td.product-thumbnail img {
    width: 300px;
}

.woocommerce .woocommerce-cart-form table td.product-quantity input:focus-visible {
    outline-color: var(--e-global-color-primary);
}

.woocommerce .cart-collaterals table th,
.woocommerce .cart-collaterals table td {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    border-bottom: none;
    background-color: unset;
}

.woocommerce .cart-collaterals,
.woocommerce .cart-collaterals .cart_totals {
    width: auto;
    float: unset;
}

.wc-empty-cart-message .cart-empty{
    border-top-color: var(--e-global-color-primary);
}

.wc-empty-cart-message .cart-empty::before{
    color: var(--e-global-color-primary);
}

.woocommerce .woocommerce-cart-form table tbody tr:last-child td button, 
.woocommerce .cart-collaterals .wc-proceed-to-checkout a{
    border-radius: 5px;
    border: 2px solid var(--e-global-color-primary) !important;
    background-color: var(--e-global-color-50a7da4) !important;
    color: var(--e-global-color-primary) !important;
    padding: 16px;
}

.woocommerce .woocommerce-cart-form table tbody tr:last-child td button:not(:disabled[disabled]):hover,
.woocommerce .cart-collaterals .wc-proceed-to-checkout a:hover {
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-50a7da4) !important;
}

@media (max-width: 768px) {
    .woocommerce .woocommerce-cart-form table tr td {
        background-color: unset;
        text-align: left !important;
    }

    .woocommerce .woocommerce-cart-form table td.product-thumbnail {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .woocommerce .woocommerce-cart-form table td.product-thumbnail a {
        width: max-content;
        height: max-content;
    }

    .woocommerce .woocommerce-cart-form table td.product-name .product-buttons-wrapper {
        display: flex;
        align-items: center;
        justify-content: end;
        gap: 24px;    
    }

    .woocommerce .woocommerce-cart-form table td.product-name {
        padding: 16px 0;
    }

    .woocommerce .woocommerce-cart-form table tr td::before {
        display: none;
    }
}

/******************************
    Checkout & Checkout-Success
******************************/
.woocommerce-order-details,
form.checkout {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
}

form.checkout .woocommerce-error li a{
    color: var(--e-global-color-d95342f);
}

.elementor-widget-woocommerce-checkout-page .woocommerce h3 {
    font-size: 18px;
    color: var(--e-global-color-960e452);
}

form.checkout .form-row .required {
     color: var(--e-global-color-primary);
}

form.checkout [type=radio] {
    accent-color: var(--e-global-color-846d906);
}

form.checkout input:focus-visible,
form.checkout textarea:focus-visible,
.select2-container .select2-dropdown input:focus-visible {
    outline-color: var(--e-global-color-primary);
}

.select2-container {
    width: auto;
}

.select2-container .select2-dropdown {
    border-color: var(--e-global-color-text);
}

.select2-container--default .select2-results__option[data-selected=true] {
    background-color: var(--e-global-color-secondary);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--e-global-color-846d906);
    color: #fff;
}

.elementor-widget-woocommerce-checkout-page .select2-container--default .select2-selection--single {
    height: auto;
}

.select2-container .select2-selection--single .select2-selection__arrow b {
    margin-left: -4px;
    margin-top: -2px;
}

.e-checkout__column.e-checkout__column-end {
    position: sticky;
    top: 200px;
    height: max-content;
}

.e-checkout__column.e-checkout__column-end .woocommerce-checkout-payment {
    margin-bottom: 0 !important;
}

.woocommerce-checkout-review-order .tm-cart-edit-options {
    display: none !important;
}

.woocommerce-checkout-review-order dl dd {
    margin-top: 12px !important;
}

.woocommerce-checkout-review-order tbody tr td {
    border-bottom: 1px solid var(--e-global-color-text) !important;
}

.woocommerce-checkout-review-order-table .product-quantity {
    color: var(--e-global-color-primary) !important;
}

.woocommerce-order .woocommerce-table__product-name a,
.form-row.place-order .woocommerce-privacy-policy-text a,
.e-coupon-box .e-show-coupon-form {
    color: var(--e-global-color-primary);
}

.woocommerce-order .woocommerce-table__product-name a:hover,
.form-row.place-order .woocommerce-privacy-policy-text a:hover,
.e-coupon-box .e-show-coupon-form:hover {
    color: var(--e-global-color-846d906);
    text-decoration: underline;
}

.form-row.place-order button,
.e-coupon-box .e-apply-coupon {
    border-radius: 5px;
    border: 2px solid var(--e-global-color-primary) !important;
    background-color: var(--e-global-color-50a7da4) !important;
    color: var(--e-global-color-primary) !important;
    padding: 16px;
}

.form-row.place-order button:hover,
.e-coupon-box .e-apply-coupon:hover {
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-50a7da4) !important;
}

