:root {
	--wd-text-font: "Proxima-nova", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: rgb(42,41,38);
	--wd-text-font-size: 16px;
	--wd-title-font: "Proxima-nova", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 700;
	--wd-title-transform: capitalize;
	--wd-title-color: rgb(25,24,23);
	--wd-entities-title-font: "Proxima-nova", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 400;
	--wd-entities-title-color: rgb(25,24,23);
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Bree-greek-variable", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Proxima-nova", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 700;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: rgb(42,41,38);
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Proxima-nova", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 600;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(25,24,23);
	--wd-alternative-color: rgb(250,248,246);
	--btn-default-font-family: "Proxima-nova", Arial, Helvetica, sans-serif;
	--btn-default-font-weight: 700;
	--btn-default-transform: capitalize;
	--btn-default-bgcolor: #191817;
	--btn-default-bgcolor-hover: rgb(250,248,246);
	--btn-accented-font-family: "Proxima-nova", Arial, Helvetica, sans-serif;
	--btn-accented-font-weight: 700;
	--btn-accented-transform: capitalize;
	--btn-accented-bgcolor: rgb(250,248,246);
	--btn-accented-bgcolor-hover: #191817;
	--wd-form-brd-width: 2px;
	--notices-success-bg: rgb(203,222,211);
	--notices-success-color: rgb(42,41,38);
	--notices-warning-bg: rgb(212,175,55);
	--notices-warning-color: #fff;
	--wd-link-color: rgb(42,41,38);
	--wd-link-color-hover: rgb(212,175,55);
	--wd-link-decor-color: rgb(212,175,55);
	--wd-link-decor-color-hover: rgb(42,41,38);
	--wd-sticky-btn-height: 95px;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: rgb(255,255,255);
	background-image: url(https://kallist.gr/wp-content/uploads/2021/09/glasses-popup.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 350px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: #ffffff;
	background-image: none;
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}

@media (max-width: 1024px) {
	:root {
		--wd-sticky-btn-height: 100px;
	}

}

@media (max-width: 768.98px) {
	:root {
		--wd-sticky-btn-height: 120px;
	}

}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 0px;
--btn-default-color: #fff;
--btn-default-color-hover: #333;
--btn-accented-color: #333;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 5px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 5px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
--wd-brd-radius: 0px;
}

@media (min-width: 1222px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}


.wd-page-title {
background-color: rgb(250,248,246);
}

/* General */
:root {
	--font-kal-primary: "Proxima-nova", Arial, Helvetica, sans-serif;
	
	--color-kal-primary: #191817;
	--color-kal-secondary: #FAFAFA;
	
	--color-kal-accent: #C8BBA8;
	--color-kal-accent-light: #F2EDE6;
	--color-kal-accent-dark: #635247;
	
	--color-kal-text: #2A2926;
	--color-kal-text-muted: #5F5E5B;
	
	--color-kal-highlight: #C05540;
	--color-kal-highlight-dark: #8C3D2C;
	
	--color-kal-background: #FAF8F6;
	--color-kal-chrome: #DDD9D4;
	--color-kal-warning: #bc1e1e;
	--color-kal-success: #00B67A;
	
	--tracking-s: 0.02em;
	--tracking-m: 0.04em;
	--tracking-l: 0.06em;
	
	--header-margin: 20px;
	--transintion-hover: all 0.3s ease-in-out;
	--wd-block-spacing: 0.5em;
	
	--radius-s: 0.25rem;
	--radius-m: 0.5rem;
	
	--t-300: 0.3s;
	--ease-default: ease-in-out;
}

body {
	letter-spacing: var( --tracking-s );
}

a,
button {
	transition: var( --transintion-hover );
}

h1 {
	margin-bottom: 0.8em;
}

h2, h3, h4 {
	margin-bottom: 0.4em;
}

p {
	+ :is(h2, h3, h4, h5) {
		margin-top: 0.9em;
	}
	
	&:last-child {
		margin-bottom: 0;
	}
}

/* Buttons */
:is:not(.elementor-editor-active .elementor-add-section-area-button),
:is(.btn, .button, button, [type="submit"], [type="button"]):not(.plus):not(.minus),
#place_order {
	font-size: 0.9rem;
	letter-spacing: var( --tracking-m );
	padding: 0.3em 2em 0.4em;
}

:is(.btn.alt, .button.alt, button.alt, .alt[type="submit"],
.alt[type="button"]):not(.plus):not(.minus) {
	border: 1px solid var( --color-kal-primary );
	
	&:hover {
		border: 1px solid var( --color-kal-primary );
	}
}


/* Forms */
.elementor-form .elementor-field-group .elementor-field {
	padding: 0.5em 1em;
}

/* Header - Top Bar */
header .whb-top-bar {
	.wd-header-secondary-nav .menu {
		gap: 0.6em;
	}
	
	.wd-header-text {
		font-size: 0.8rem;
		
		p {
			margin-bottom: -0.2em;
		}
	}
	
	img {
		margin-top: -0.2em;
	}
	
	@media (width <= 1080px) {
		.wd-info-box {
			.box-icon-wrapper {
				display: flex;
				align-items: center;
			}
			
			.info-box-icon {
				color: #ffffff;
				font-size: 1.2rem;
				line-height: 1em;
			}
			
			.info-box-subtitle {
				color: #ffffff;
				font-size: 0.9rem;
				letter-spacing: var(--tracking-m);
			}
		}
	}
}

/* Header - Bottom Bar */
header .whb-header-bottom {
	@media (width <= 1080px) {
		.wd-header-text {
			font-size: 0.8rem;
			line-height: 1.1em;
		}
		
		p {
			margin: 0.3em;
		}
		
		img {
			margin-top: -0.2em;
		}
	}
}

/* Header - Main Menu */
.menu-highlight .woodmart-nav-link {
	border-radius: 999rem;
	min-height: unset;
	padding-block: 0.5em;
	padding-inline: 1.3em;
}

.menu-quiz .woodmart-nav-link {
	min-height: unset;
	border-radius: 999rem;
	padding-block: 0.5em;
	padding-inline: 1em;
}

.menu-item .skin-concerns .elementor-nav-menu {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(4, auto);
	grid-auto-flow: column;
}

.menu-item .health-concerns .elementor-nav-menu {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(7, auto);
	grid-auto-flow: column;
}

.wd-dropdown-menu, .whb-main-header{
	box-shadow: none;
	transition: none;
}

/* Header - Mobile Menu */
.mobile-nav {
	display: flex;
	flex-direction: column;
	
	.wd-search-form  {
		order: 1;
	}
	
	.menu {
		order: 3;
	}
	
	.widgetarea-mobile {
		order: 2;
		padding-inline: 1rem;
		padding-block: 1rem 0;
	}
}

/* Header - Mobile Menu - Info Boxes */
.mobile-menu-widget .elementor-image-box-wrapper {
	display: flex;
	gap: 0.7em;
	justify-content: flex-start;
	align-items: center;
}

/* Footer */
footer .wd-menu .menu {
	gap: 1.3em;

	.woodmart-nav-link {
		min-height: unset;
		
		@media (width < 1024px) {
			justify-content: center;
		}
	}
}

/* Page Title */
.wd-page-title .wd-back-btn {
	display: none;
}

.wd-page-title .entry-title.title {
	font-size: clamp( 1.3rem, 5vw, 1.7rem);
	font-weight: 800;
}

/* Homepage */
.home-cta .btn-style-link {
	padding: 0.2em 0;
}

/* Homepage - Trust Carousel */
.trust-carousel .wd-carousel-item .elementor-image-box-wrapper {
	display: flex;
	flex-direction: row;
	gap: 0.7em;
	justify-content: flex-start;
	align-items: center;
}

/* Homepage - Highlight Tabs */
.list-highlights .elementor-icon-list-item {
	padding: 0.5em;
	background-color: var( --color-kal-highlight );
}

.elementor section .elementor-element .list-highlights .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child) {
	padding: 0.5em;
}

/* Store */
.archive .wd-content-area .shop-loop-head .wd-shop-tools .orderby {
	max-width: 300px;
	
	option {
		color: var(--color-kal-text);
		font-size: 0.9rem;
	}
}

/* Products - Grid */
.products .wd-product .product-element-bottom {
	padding: 1rem 0;
	
	.wd-entities-title a {
		font-weight: 700;
		font-size: 1.4rem;
		letter-spacing: var( --tracking-m );
	}
	
	.price {
		.amount {
			font-size: 1.1rem;
		}
		
		del .amount {
			font-size: 1rem;
			font-weight: 500;
			color: rgb(0 0 0 / 0.5);
		}
	}
}

/* Products - Grid - Tags */
.product-grid-item .product-element-bottom .loop-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3em;
}

.product-grid-item .product-element-bottom .loop-tag {
	color: var( --color-kal-text-muted );
	font-size: 0.65rem;
	font-weight: 400;
	line-height: 1em;
	text-transform: uppercase;
	letter-spacing: var(--tracking-m);
	border: 1px solid var( --color-kal-text-muted );
	padding-inline: 0.5em;
	padding-block: 0.2em 0.25em;
	transition:
		background-color var(--t-300) var(--ease-default),
		color var(--t-300) var(--ease-default);
	
	&:hover {
		background-color: var( --color-kal-primary );
		color: #ffffff;
	}
}

/* Products - Carousel */
.wd-loop-builder-off .wd-product {
	.product-element-top {
		.product-labels {
			font-family: var( --font-kal-primary );
		}
		
		img {
			aspect-ratio: 5 / 6;
			object-fit: cover;
		}
	}
	
	.product-element-bottom {
		.wd-entities-title a {
			font-size: 0.95rem;
		}
	}
}

/* Products - Single */
.woocommerce-product-gallery img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.usage-attr span {
	font-weight: 400;
}


.woocommerce-product-attributes-item__value .wd-term:has(.wd-term-img) .wd-term-sep {
	display: none;
}

.wd-single-tabs .wd-tab-wrapper .title {
	margin-bottom: 0.3em;
}

.single-product .elementor-add-to-cart .cart .quantity {
	border: 1px solid rgb(0 0 0 / 0.1);
	border-radius: var( --radius-s );
	
	.qty {
		border: none;
	}
	
	.btn {
		color: var( --color-kal-primary );
		background-color: transparent;
		border: none;
		padding: 1em;
		
		&:hover {
			background-color: var( --color-kal-primary );
		}
	}
	
	.minus.btn {
		border-radius: var( --radius-s ) 0 0 var( --radius-s );
		margin-inline: 0 0.5em;
	}
	
	.plus.btn {
		border-radius: 0 var( --radius-s ) var( --radius-s ) 0;
		margin-inline: 0.5em 0;
	}
}

/* Products - Single - PayPal Button */
.ppc-button-wrapper {
	margin-block-start: 0.8rem;
}

/* Products - Single - Gallery */
.woocommerce-product-gallery__image img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

/* Products - Single - Rating */
.elementor-widget-rating .e-rating .e-rating-wrapper .e-icon {
	margin-block-end: 0;
}

.elementor-widget-rating .e-rating .e-icon .e-icon-wrapper {
  &.e-icon-unmarked {
    padding: 0.15em;
    background-color: #dcdce6;
  }

  &.e-icon-marked {
		width: auto;
    padding: 0.15em;
    background: linear-gradient(
      to right,
      #00b67a var(--e-rating-icon-marked-width, 100%),
      #dcdce6 var(--e-rating-icon-marked-width, 100%)
    );
  }
}

/* Products - Single - Highlights (ACF Repeater Accordion) */
.product .product-highlights .elementor-accordion .elementor-accordion-item {
	border: none;
	
	&:not(:last-of-type) {
		margin-block-end: 0.3em;
	}
	
	.elementor-accordion-icon svg {
		width: 0.75rem;
		height: 0.75rem;
	}
	
	.elementor-tab-title {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
		border-radius: 999rem;
	}
	
	.elementor-tab-content {
		border: 0;
	}
	
	.elementor-accordion-title {
		display: flex;
		align-items: center;
		
		&::before {
			content: '\f00c';
			color: var( --color-kal-highlight-dark );
			font-family: 'Font Awesome 5 Free';
			font-weight: 900;
			margin-right: 0.4em;
		}
	}
}

/* Products - Single - Progress Bar */
.progress-msg p {
	font-size: clamp(0.85rem, 2vw, 1rem);
	line-height: 1.2;
}

/* Products - Single - FAQ Accordion */
.product-faq .elementor-tab-title {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
}

/* Products - Single - Combo Selector */
.cart .wc-combo-selector .wc-combo-selector-title {
	margin-bottom: 0.3rem;
}
		
.cart .wc-combo-selector .wc-combo-selector-options {
	border: none;
	border-radius: var( --radius-s );
	gap: 0.3rem;
	
	.wc-combo-option {
		border: none;
		margin: 0;
		
		&.selected {
			outline: none;
		}
		
		.wc-combo-option-button {
			background-color: #ffffff;
			border: 1px solid var( --color-kal-chrome );
			border-radius: var( --radius-s );
			align-items: center;
			gap: 0.7rem;
			padding: 1rem;
			
			&:hover {
				background-color: #ffffff;
			}
			
			.wc-combo-qty {
				color: var( --color-kal-text );
				font-size: 0.85rem;
				letter-spacing: var( --tracking-s );
			}
		}
		
		&.selected .wc-combo-option-button {
			border-color: var( --color-kal-primary );
		}
		
		.wc-combo-radio-dot {
			width: 12px;
			height: 12px;
			border: 1px solid var( --color-kal-chrome );
			margin: 0;
			
			.selected & {
				background: var( --color-kal-accent-dark );
				border-color: transparent;
				outline: 2px solid var( --color-kal-accent-dark );
				outline-offset: 3px;
			}
			
			&::after {
				width: 0px;
				height: 0px;
			}
		}
		
		.wc-combo-ribbon {
			background: var( --color-kal-accent-light );
			color: var( --color-kal-accent-dark );
			font-weight: 400;
		}
		
		.wc-combo-option-right {
			.wc-combo-total del .amount,
			.wc-combo-regular-total .amount {
				color: var( --color-kal-text-muted );
				font-size: 0.8rem;
				font-weight: 400;
			}
			
			ins .amount,
			.wc-combo-total .amount {
				color: var( --color-kal-text );
				font-size: 0.9rem;
			}
			
			.wc-combo-unit-price {
				font-size: 0.8rem;
				letter-spacing: var( --tracking-s );
			}
			
			.wc-combo-badge {
				font-size: 0.85rem;
				font-weight: 400;
				line-height: 1em;
				padding: 0 0.3em 0.2em;
			}
		}
	}
}

/* Products - Single - UpSells Form */
/* Usage of !important is necessary due to inline styles */
.product .cuw-fbt-products {
	margin: 0 !important;
	
	.cuw-heading {
		color: var(--e-global-color-text);
		font-family: var( --font-kal-primary );
		font-size: 0.8rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: var(--tracking-m);
		margin-bottom: 1rem !important;
	}
	
	.cuw-form .cuw-gird {
		justify-content: flex-start;
		gap: 1rem;
	}
	
	.cuw-product {
		width: 100%;
		margin: 0 !important;
		align-items: flex-start !important;
		
		.cuw-product-separator {
			display: none !important;
		}
	}
	
	.cuw-product-card {
		width: unset !important;
		display: grid;
		grid-template-areas:
			"image title"
			"image price";
		align-items: center;
		column-gap: 0.5rem;
		position: relative;
		
		.cuw-product-actions {
			position: absolute !important;
			top: 0;
			left: 0;
			
			> div {
				position: unset !important;
			}
		}
		
		.cuw-product-image {
			width: 100px !important;
			height: 100px !important;
			grid-area: image;
			
			img {
				aspect-ratio: 1 / 1;
				object-fit: cover;
			}
		}
		
		.cuw-product-title {
			font-size: 0.8rem;
			font-weight: 300;
			text-transform: uppercase;
			text-align: left !important;
			line-height: 1em;
			margin: 0 !important;
			align-self: end;
			grid-area: title;
		}
		
		.cuw-product-price {
			text-align: left !important;
			align-self: start;
			grid-area: price;
			
			del .amount {
				font-size: 0.8rem;
				color: var( --color-kal-text-muted );
			}
			
			ins .amount {
				font-size: 0.9rem;
			}
		}
	}
	
	.cuw-buy-section {
		padding: 0 !important;
		
		.cuw-total-price-section {
			margin: 0!important;
			
			span:first-child {
				display: none;
			}
			
			del {
				font-size: 0.9rem;
				color: var( --color-kal-text-muted );
			}
		}
		
		.cuw-add-to-cart {
			border-radius: var( --radius-s );
		}
	}
}

/* Products - Single - Actives Attributes Grid */
.actives-grid .wd-el-title {
	margin-bottom: 0.4rem;
}

.actives-grid .woocommerce-product-attributes-item td {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0.5rem;
	
	@media (width < 560px) {
		grid-template-columns: 1fr;
	}
	
	.wd-term {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 0.7rem;
		
		background-color: var( --e-global-color-680dbcf );
		border-radius: 4px;
		
		.wd-term-img {
			border-radius: 999rem;
			margin: 0 0 1rem;
		}
		
		.wd-term-name {
			text-align: center;
			margin-bottom: 0.5rem;
			transition: color 0.3s ease-in-out;
			
			&:hover {
				color: var( --e-global-color-3b6149e );
			}
		}
		
		.wd-hint {
			margin: 0;
			pointer-events: none;
			
			&::before {
				display: none;
			}
			
			.wd-tooltip-content {
				display: block;
				font-size: 0.9rem;
				font-weight: 400;
				line-height: 1.3em;
				text-align: center;
			}
		}
	}
}

/* Products - Single - ACF Repeater - Before/After Carousel */
.product .acf-repeater-carousel {
	--swiper-navigation-size: 1.5rem;

	.beforeafter-pair {
    display: flex;
    align-items: center;
    gap: 0.5rem;
	}
	
	.beforeafter-item {
		flex: 1;
		position: relative;
		overflow: hidden;
		border-radius: 4px;
	}
	
	.beforeafter-arrow {
		&::after {
			content: "\f30b";
			font-family: "Font Awesome 5 Free" !important;
			font-size: 1.2rem;
			font-weight: 900;
			color: hsla(32.73 13.36% 48.43% / 1);
			transition: all 0.3s ease-in-out;
		}
	}

	.beforeafter-tag {
		position: absolute;
		top: 0.5rem;
		left: 0.5rem;
		background-color: hsl(35 31.58% 92.55% / 0.9);
		color: var(--e-global-color-primary);
		font-family: var(--e-global-typography-primary-font-family);
		font-size: clamp(0.7rem, 1vw, 0.8rem);
		font-weight: 700;
		letter-spacing: var( --tracking-l );
		line-height: 1.1em;
		text-transform: uppercase;
		padding: 0.2em 1em;
		border-radius: 999px;
	}
	
	.swiper-button-next {
		&::after {
			content: "\f054";
			font-family: "Font Awesome 5 Free";
			font-weight: 900;
			color: hsla(0 0% 93% / .6);
			transition: all 0.3s ease-in-out;
		}
		
		&:hover::after {
			color: hsla(0 0% 93% / 1);
		}
	}
	
	.swiper-button-prev {
		&::after {
			content: "\f053";
			font-family: "Font Awesome 5 Free";
			font-weight: 900;
			color: hsla(0 0% 93% / .6);
			transition: all 0.3s ease-in-out;
		}
		
		&:hover::after {
			color: hsla(0 0% 93% / 1);
		}
	}
}

/* Products - Single - ACF Repeater - Product Stats Grid */
.product-stats {
	display: flex;
	
	.elementor-shortcode {
		width: 100%;
	}
	
	.acf-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
		height: 100%;
		
		@media (width < 400px) {
			grid-template-columns: 1fr;
		}
	
		.acf-grid-item {
			background-color: var( --e-global-color-680dbcf );
			display: flex;
			flex-direction: column;
			justify-content: flex-end;
			padding: 1.5rem 1.5rem;

			.acf-grid-title {
				font-size: clamp(1.3rem, 2vw, 1.7rem);
				font-weight: 800;
			}

			.acf-grid-desc {
				font-size: clamp(0.9rem, 1vw, 1rem);
				font-weight: 400;
				line-height: 1.2em;
			}
		}
	}
}

/* Products - Single - Badges (ACF Gallery) */
.badges-gallery .e-gallery-grid:not(.e-gallery--animated) {
	grid-template-columns: repeat(auto-fit, minmax(100px, 130px));
	justify-content: center;
}

.badges-gallery .e-gallery-grid .e-gallery-image {
	max-width: 150px;
	height: auto;
	background-size: contain;
	background-repeat: no-repeat;
	margin: 0 auto;
}

/* Products - Single - Reviews */
.product .woocommerce-Reviews {
	.wd-rating-summary-wrap {
		background-color: var( --e-global-color-11cf006 );
		padding: 3rem;
		border-radius: 4px;
	}
}

/* Products - Single - FAQs (ACF Repeater) */
.product-faq {
	.elementor-accordion {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
	}
}

/* Products - Single - Related Products Carousel */
.wd-carousel-item .product-element-bottom {
	line-height: 1.1em;
	padding-bottom: 0;
	
	.wd-entities-title a {
		font-size: 0.95rem;
		font-weight: 600;
	}
	
	.price {
		del bdi {
			font-size: 1rem;
			font-weight: 600;
		}
		
		ins bdi {
			font-size: 1.2rem;
			font-weight: 700;
		}
	}
	
	.button {
		padding: 0;
	}
}

/* Blog - Archive */
.wd-blog-element .wd-posts .wd-post {
	height: 100%;
}

.wd-blog-element .wd-posts .wd-post .wd-post-inner {
	height: 100%;
	border-radius: var(--radius-m);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	
	.wd-post-img img {
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}
	
	.wd-post-content {
		flex-grow: 1;
	}
	
	.wd-post-title {
		font-size: 1rem;
		font-weight: 800;
	}
	
	.wd-post-excerpt {
		font-size: 0.95rem;
		line-height: 1.4em;
		flex-grow: 1;
	}
	
	.wd-post-read-more {
		text-transform: capitalize;
		text-decoration: underline;
	}
}

/* Reels Carousel */
.elementor-shortcode .reelswp-group-short-code .ecr-front-carousel__track--zoom {
	padding: 0 0.6rem;
}

/* Pages - Key Ingredients */
.elementor .ingredients-grid .elementor-shortcode {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 0.7rem;
	
	.wd-attribute-card {
		background-color: var( --color-kal-background );
		border-radius: var( --radius-m );
		padding: 1rem;
		transition: background-color var( --t-300 ) var( --ease-default );
		
		.wd-attribute-image {
			margin-block-end: 1rem;
		}
		
		.wd-attribute-thumb {
			border-radius: var( --radius-m );
		}
		
		.wd-attribute-title {
			font-size: 1.2rem;
			font-weight: 800;
			margin-block-end: 0;
		}
		
		.wd-attribute-description {
			color: var( --color-kal-text );
			font-size: 0.9rem;
			line-height: 1.3em;
		}
		
		&:hover {
			background-color: oklch(from var( --color-kal-background ) l c h / 0.4);
		}
	}
}

/* Checkout - Gifts Progress Bar */
.gift-bar {
	background: var(--color-kal-background);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1.5rem;
	border-radius: var(--radius-m);
	
	.gift-bar-message {
		text-align: center;
		font-size: 0.95rem;
	}
	
	.gift-bar-progress {
		position: relative;
		height: 0.4rem;
		border-radius: 999rem;
		background: rgb(0 0 0 / 0.08);
		overflow: hidden;
	}

	.gift-bar-fill {
		height: 100%;
		width: 0;
		background: var(--color-kal-success);
		transition: width var(--t-300) var(--ease-default);
	}

	.gift-bar-gifts {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
		
		@media (width < 500px) {
			gap: 0.5rem;
		}
	}

	.gift-bar-gift {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		opacity: 0.35;
		transition: all var(--t-300) var(--ease-default);
	}

	.is-current {
		opacity: 0.5;
	}

	.is-unlocked {
		opacity: 1;
		
		.gift-bar-image img {
			border-color: var(--color-kal-success);
		}
	}

	.gift-bar-image img {
		width: 4rem;
		height: auto;
		border-radius: var(--radius-s);
		border: 3px solid var(--color-kal-chrome);
		margin-block-end: 0.3rem;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		
		@media (width < 500px) {
			width: 3rem;
		}
	}

	.gift-bar-title {
		color: var(--color-kal-primary);
		font-size: clamp(0.75rem, 1vw, 0.85rem);
		line-height: 1.2em;
		font-weight: 600;
	}

	.gift-bar-threshold {
		color: var(--color-kal-text-muted);
		font-size: 0.9rem;
		font-weight: 800;
	}
}

.cart-content-wrapper .gift-bar {
	margin-block-end: 1rem;
}

/* Checkout - Gifts */
/* Usage of !important is necessary due to inline styles */
.checkout .cuw-offers {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	
	.cuw-offer {
		margin-block: 0 !important;
	}
	
	.cuw-container {
		border-radius: var(--radius-s);
	}
	
	.cuw-offer-cta-section {
		border-radius: var(--radius-s) var(--radius-s) 0 0;
	}
	
	.cuw-offer-cta-text {
		font-size: 1rem !important;
		font-weight: 700;
	}
	
	.cuw-offer-title {
		font-size: 0.75rem;
		font-weight: 600;
		line-height: 1em;
		letter-spacing: var(--tracking-m);
		padding-block: 0.2em 0.3em !important;
	}
	
	.cuw-product-image {
		min-width: 60px !important;
		
		img {
			aspect-ratio: 1 / 1;
			object-fit: cover;
		}
	}
	
	.cuw-product-title {
		font-size: 0.9rem;
	}
	
	div:has(> .cuw-product-quantity) {
		display: none !important;
	}
	
	@media (width <= 500px) {
		.cuw-product-section > div:not(.cuw-product-image) > div {
			flex-direction: column-reverse;
			align-items: flex-start !important;
		}
	}
}

/*
Visibility Fixes
Hide the parent container if an inner container is empty
Use for product fields that can't be hidden another way
*/
.product .elementor-element:has( > .elementor-widget-shortcode .elementor-shortcode:empty) {
	display: none;
}

.product .elementor-widget-repeaterly-icon-list:not(:has(.elementor-icon-list-items li)) {
	display: none;
}

.product .elementor-element:has(.product-faq):not(:has(.elementor-accordion-item)) {
	display: none;
}

/* Checkout */
.wc_payment_methods p {
	font-size: 0.85rem;
}

.place-order p {
	font-size: 0.85rem;
	margin-bottom: 2em;
}

.wd-sticky-btn-cart .wc-combo-selector{ 
	display:none;
}

/* RESPONSIVE */
/* Ensures the mobile menu appears earlier than the default Woodmart breakpoint */
@media (max-width: 1080px) {
	.whb-desktop-only,
	.whb-visible-lg {
		display: none !important;
	}
	
	.whb-mobile-only,
	.whb-hidden-lg,
	.whb-column.whb-mobile-left, 
	.whb-column.whb-mobile-center, 
	.whb-column.whb-mobile-right {
		display: flex !important;
	}

	.wd-tools-element.wd-header-mobile-nav {
		display: inline-flex !important;
	}
}

/* Hero Video Square on Mobile */
@media (width < 600px) {
	.home .wd-page-content .elementor .elementor-widget-video .elementor-wrapper {
		--video-aspect-ratio: 1 / 1;
	}
}

/* Product - Single - Gallery Sticky on Tablet */
@media ( 1080px >= width > 767px ) {
	.single-product-page .wd-single-gallery {
		position: sticky !important;
		top: 1rem;
	}
}
