/*
Theme Name: Betheme Child
Theme URI: https://themes.muffingroup.com/betheme
Author: Muffin group
Author URI: https://muffingroup.com
Description: Child Theme for Betheme
Template: betheme
Version: 2.0.1
*/

/* ==========================================================================
   Fonts — Fraunces (headings) + DM Sans (body)
   ========================================================================== */

/* Fonts loaded via <link> in wp_head for faster rendering */

/* Headings — Fraunces bold */
h1, h2, h3, h4, h5, h6,
.woocommerce-products-header__title,
.product_title,
.woocommerce div.product .product_title,
.price,
.woocommerce-Price-amount,
.mfn-related .title,
.mfn-li-product-row-title h5,
.mfn-li-product-row-title h5 a,
.mfn-li-product-row-title .title,
.mfn-li-product-row-title .title a,
.mfn-li-product-row-price .price,
.mfn-li-product-row-price .woocommerce-Price-amount,
ul.products li.product h3,
ul.products li.product h3 a,
ul.products li.product .price {
	font-family: 'Fraunces', serif !important;
	font-weight: 800;
}

/* Playfair Display — for Cyrillic headings/text */
.font-playfair,
.font-playfair *,
.playfair {
	font-family: 'Playfair Display', serif !important;
}

/* Product subtitle — Caveat handwritten (Cyrillic) */
.product-subtitle,
.product-subtitle *,
.product-subtitle .desc,
.product-subtitle .mcb-column-inner,
.product-subtitle .mcb-column-inner .desc {
	font-family: 'Caveat', cursive !important;
	font-weight: 500 !important;
	font-style: normal !important;
	font-size: 32px !important;
	color: black !important;
}

/* ==========================================================================
   Product Ingredients Swiper — [product_ingredients]
   ========================================================================== */

.acg-ingredients-wrapper {
	width: 100%;
	padding: 40px 0 20px;
	overflow: hidden;
}

.acg-ingredients-swiper {
	overflow: visible !important;
	padding-bottom: 90px !important;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.acg-ingredients-swiper.acg-ready {
	opacity: 1;
}

/* Fixed slide size for slidesPerView:'auto' coverflow.
   Mobile: cap at viewport width so the active card never gets clipped. */
.acg-ingredients-swiper .swiper-slide {
	width: min(280px, 78vw);
	height: auto;
}
@media (min-width: 768px) {
	.acg-ingredients-swiper .swiper-slide { width: 360px; }
}
@media (min-width: 1200px) {
	.acg-ingredients-swiper .swiper-slide { width: 400px; }
}

/* Stop the browser hijacking touch/drag — let Swiper own the gesture */
.acg-ingredients-swiper,
.acg-ingredients-swiper * {
	-webkit-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}
.acg-ingredients-swiper img {
	-webkit-user-drag: none;
	user-drag: none;
	pointer-events: none;
}

/* Coverflow: active slide sits on top of neighbors, with smooth opacity fade */
.acg-ingredients-swiper .swiper-slide {
	z-index: 1;
	opacity: 0.35;
	transition: opacity 0.5s ease;
}
.acg-ingredients-swiper .swiper-slide-active {
	z-index: 5 !important;
	opacity: 1;
}
.acg-ingredients-swiper .swiper-slide-next,
.acg-ingredients-swiper .swiper-slide-prev {
	z-index: 3 !important;
	opacity: 0.7;
}

.acg-ingredient-card {
	border-radius: 14px;
	padding: 32px 26px;
	min-height: 460px;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	border: none;
	/* Glassmorphism — translucent ingredient tint + backdrop blur */
	background-color: color-mix(in srgb, var(--ing-bg, #a8e6cf) 45%, transparent);
	backdrop-filter: blur(18px) saturate(140%);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45),
	            0 8px 24px rgba(0, 0, 0, 0.08);
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
}

/* Soft frosted highlight overlay so cards read as glass even on a flat page bg */
.acg-ingredient-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.35) 0%,
		rgba(255, 255, 255, 0) 45%,
		rgba(255, 255, 255, 0) 100%
	);
	pointer-events: none;
	border-radius: inherit;
	z-index: 0;
}
.acg-ingredient-card > * {
	position: relative;
	z-index: 1;
}

/* Content area swaps between image (collapsed) and detail (expanded) */
.acg-ing-content {
	flex: 1 1 auto;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-height: 0;
}

.acg-ing-detail {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 6px 4px;
	overflow-y: auto;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease;
}

.acg-ingredient-card.expanded .acg-ing-image {
	opacity: 0;
	pointer-events: none;
}
.acg-ingredient-card.expanded .acg-ing-detail {
	opacity: 1;
	pointer-events: auto;
}

.acg-ing-image {
	transition: opacity 0.35s ease;
}

/* Collapsed state */
.acg-ing-collapsed {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	width: 100%;
	gap: 20px;
}

.acg-ing-badge {
    
	display: inline-block;
	background: transparent;
	color: #000;
	padding: 4px 4px 8px;
	border: none;
	border-bottom: 2px solid #000;
	border-radius: 0;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	pointer-events: none; 
}

.acg-ing-title {
	font-family: 'Fraunces', 'Playfair Display', serif !important;
	font-size: 30px !important;
	font-weight: 800 !important;
	color: #000 !important;
	text-align: center;
	margin: 0 !important;
	line-height: 1.1 !important;
	text-transform: uppercase;
	letter-spacing: 0;
}

.acg-ing-image {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 280px;
	width: 100%;
}

.acg-ing-image img {
	max-width: 100%;
	max-height: 240px;
	height: auto;
	width: auto;
	object-fit: contain;
	display: block;
}

.acg-ing-toggle {
	background: #000 !important;
	color: #fff !important;
	border: 2px solid #000 !important;
	padding: 14px 32px;
	border-radius: 0;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
	width: 100%;
	max-width: 220px;
}
.acg-ing-toggle:hover {
	background: transparent !important;
	color: #000 !important;
	opacity: 1;
}

/* In-card detail content */
.acg-ing-subtitle {
	font-family: 'Caveat', cursive !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	color: #000 !important;
	margin: 0 0 8px !important;
	text-align: center;
}

.acg-ing-desc,
.acg-ing-desc p {
	font-family: 'DM Sans', sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #000 !important;
	line-height: 1.6 !important;
	margin: 0 0 8px !important;
	text-align: center;
}
.acg-ing-desc p:last-child { margin-bottom: 0 !important; }

/* SHOW MORE / SHOW LESS label switching */
.acg-ing-toggle .acg-ing-toggle-less { display: none; }
.acg-ingredient-card.expanded .acg-ing-toggle .acg-ing-toggle-more { display: none; }
.acg-ingredient-card.expanded .acg-ing-toggle .acg-ing-toggle-less { display: inline; }
/* Make the toggle button always clickable, even above 3D-transformed siblings */
.acg-ing-toggle {
	position: relative;
	z-index: 5;
}
.acg-ing-toggle > span {
	pointer-events: none;
}

/* Pagination dots */
.acg-ing-pagination {
	bottom: -30px !important;
}

.acg-ing-pagination .swiper-pagination-bullet {
	background: #000;
	opacity: 0.3;
	width: 8px;
	height: 8px;
	margin: 0 5px !important;
}

.acg-ing-pagination .swiper-pagination-bullet-active {
	background: #000;
	opacity: 1;
	width: 24px;
	border-radius: 4px;
}

/* Hide default nav arrows (or restyle) */
.acg-ing-prev,
.acg-ing-next {
	display: none !important;
}


/* Mobile */
@media (max-width: 767px) {
	.acg-ingredient-card {
		min-height: 440px;
		padding: 26px 20px;
		gap: 14px;
	}
	.acg-ing-title {
		font-size: 24px !important;
	}
	.acg-ing-subtitle {
		font-size: 16px !important;
	}
	.acg-ing-desc,
	.acg-ing-desc p {
		font-size: 13px !important;
		line-height: 1.55 !important;
	}
	.acg-ing-image {
		max-width: 180px;
	}
	.acg-ing-image img {
		max-height: 150px;
	}
}

/* ==========================================================================
   Product Sensory — [product_sensory]
   ========================================================================== */

.product-sensory {
	width: 100%;
	margin: 20px 0;
}

.product-sensory-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 0;
	border-bottom: 2px solid #000000;
}

.product-sensory-row:last-child {
	border-bottom: none;
}

.product-sensory-label {
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	color: #2a2a2a;
	text-transform: uppercase;
	flex-shrink: 0;
}

.product-sensory-value {
	font-family: 'DM Sans', sans-serif !important;
	font-size: 14px;
	font-weight: 400;
	color: #404040;
	text-align: right;
	margin-left: 20px;
	flex: 1 1 auto;
	min-width: 0;
	word-break: break-word;
}

/* Mobile: keep label left / value right, just let the value wrap to multiple lines */
@media (max-width: 600px) {
	.product-sensory-row {
		flex-wrap: nowrap;
		gap: 12px;
	}
	.product-sensory-value {
		font-size: 13px;
		margin-left: 0;
	}
}

/* ==========================================================================
   Product Accordion — [product_accordion]
   ========================================================================== */

.acg-accordion {
	width: 100%;
}

.acg-accordion-item {
	border-top: 2px solid #000;
}

.acg-accordion-item:last-child {
	border-bottom: 2px solid #000;
}

.acg-accordion-header,
.acg-accordion-header span,
body .acg-accordion-header,
body .acg-accordion-header span {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 10px;
	cursor: pointer;
	font-family: 'Playfair Display', serif !important;
	font-weight: 900 !important;
	font-size: 20px !important;
	letter-spacing: 0.5px;
	color: #000 !important;
	user-select: none;
	transition: opacity 0.2s;
}

.acg-accordion-header span {
	display: inline;
	padding: 0;
}

.acg-accordion-header:hover {
	opacity: 0.6;
}

svg.acg-accordion-icon {
	flex-shrink: 0;
	transition: transform 0.3s ease;
}

svg.acg-accordion-icon .acg-icon-vertical {
	transition: opacity 0.3s ease;
}

.acg-accordion-item.open svg.acg-accordion-icon .acg-icon-vertical {
	opacity: 0;
}

.acg-accordion-body {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease;
	padding: 0 10px;
}

.acg-accordion-body p,
.acg-accordion-body li,
.acg-accordion-body span,
.acg-accordion-body h1,
.acg-accordion-body h2,
.acg-accordion-body h3,
.acg-accordion-body h4,
.acg-accordion-body h5,
.acg-accordion-body h6 {
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 300 !important;
	font-size: 14px !important;
	line-height: 1.8 !important;
	color: #333 !important;
}

.acg-accordion-item.open .acg-accordion-body {
	padding-bottom: 24px;
}

.mcb-item-wi9miyj7 h2,
.mcb-item-wi9miyj7 .title {
	font-family: 'Caveat', cursive !important;
	font-weight: 500 !important;
	font-style: normal !important;
	font-size: 42px !important;
	color: black !important;
}

/* Body — DM Sans light */
body,
p,
a,
span,
li,
input,
button,
textarea,
select,
.woocommerce-product-details__short-description,
.product-category-tags,
.stock,
.button,
.mfn-header-menu .menu-label,
.desc,
.column_attr {
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 300;
}


.mfn-product-li-item .image_frame {
	border-radius: 20px;
}

.mcb-section .mcb-wrap .mcb-item-b0311ee5a ul.products li.product {
	background: white !important;
}

.woocommerce ul.products li.product .title a {
	font-weight: bold;
}

.mfn_attr_filters,
.woocommerce-ordering {
	display: none !important;
}

.my-featured-products .image_wrapper {
	border-radius: 20px !important;
}

.my-featured-products .mfn-woo-product-title {
	font-weight: bold;
	font-size: 18px;
}

.my-featured-products .amount {
	font-weight: 100 !important;
}

.luxury-gift-wrap {
	border: 1px solid #d3d3d3;
	border-radius: 10px;
	margin-top: 30px;
	margin-bottom: 30px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
	padding: 20px;
}

.luxury-gift-wrap h3 {
	font-size: 20px;
	color: #878787;
	margin-bottom: 15px;
	display: flex;
	flex-direction: row;
	gap: 10px;
	align-items: center;
}

.luxury-gift-wrap h3 svg {

	fill: white;
	background: black;
	border-radius: 50%;
	padding: 5px;
}

.luxury-gift-wrap label {
	font-size: 16px;
	color: #333;
	display: block;
	margin-bottom: 10px;
	font-weight: 100;
}

.luxury-gift-wrap textarea {
	width: 100%;
	min-height: 70px;
	border: 1px solid #ccc;
	border-radius: 6px;
	padding: 8px;
}

.luxury-gift-wrap .woocommerce-message {
	margin-top: 10px;
}

.luxury-gift-wrap.loading {
	position: relative;
	opacity: 0.6;
	pointer-events: none;
}

.luxury-gift-wrap.loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -12px 0 0 -12px;
	width: 24px;
	height: 24px;
	border: 3px solid #d4af37;
	border-top-color: transparent;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}


@media (max-width: 480px) {
	.luxury-gift-wrap {
		padding: 15px 10px;
		font-size: 14px;
	}

	.luxury-gift-wrap h3 {
		font-size: 18px;
	}

	.luxury-gift-wrap label {
		font-size: 14px;
	}

	.luxury-gift-wrap textarea {
		min-height: 60px;
	}
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}


/* ==========================================================================
   Add to Cart — bordered flat design
   ========================================================================== */

/* Container */
.mfn-product-add-to-cart {
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	padding: 0 !important;
}

form.variations_form,
.mfn-product-add-to-cart { position: relative; z-index: 20; }

.mfn-product-add-to-cart .product-category-tags {
	display: none !important;
}

.mfn-product-add-to-cart .product-subtitle {
	display: none !important;
}

/* Catalogue subtitle */
.catalogue-subtitle {
	font-family: 'Caveat', cursive !important;
	font-weight: 500 !important;
	font-size: 22px !important;
	color: #555 !important;
	display: block;
	margin-top: 2px;
}

.stock.in-stock {
	color: #000 !important;
}

/* Wrapper padding — 0 on single product, 120px on all other pages */
body.single-product #Wrapper {
	padding-top: 0px !important;
}

#Content {
    padding-top: 0px;
}

/* Form layout — stack vertically */
.mfn-product-add-to-cart form.cart {
	display: flex;
	flex-direction: column;
	gap: 0;
	background: transparent !important;
	padding: 0 !important;
}

/* Quantity wrapper — bottom border only, no dividers */
.mfn-product-add-to-cart .quantity {
	display: flex;
	align-items: center;
	border: none;
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	background: transparent;
	height: auto;
	padding: 23px 14px;
	border-radius: 0 !important;
	width: 100%;
}

/* Minus / Plus buttons */
.mfn-product-add-to-cart .quantity .quantity-change {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 100%;
	background: transparent;
	border: none;
	color: #222;
	font-size: 16px;
	cursor: pointer;
	text-decoration: none;
	transition: color 0.2s;
}

.mfn-product-add-to-cart .quantity .quantity-change:hover {
	color: #000;
}

/* No vertical dividers */
.mfn-product-add-to-cart .quantity .quantity-change.minus,
.mfn-product-add-to-cart .quantity .quantity-change.plus {
	border: none;
}

/* Qty input */
.mfn-product-add-to-cart .quantity .qty {
	flex: 1;
	text-align: center;
	border: none !important;
	border-radius: 0 !important;
	outline: none;
	font-size: 14px;
	font-weight: 600;
	color: #222;
	background: transparent !important;
	padding: 0 !important;
	margin: 0;
	-moz-appearance: textfield;
	appearance: textfield;
	height: 100%;
}

.mfn-product-add-to-cart .quantity .qty::-webkit-inner-spin-button,
.mfn-product-add-to-cart .quantity .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Add to Cart button — compact dark rectangle, left-aligned */
.single_add_to_cart_button {
     display: block !important;
    text-align: center !important;
	width: 100%;
	height: auto;
	border-radius: 0 !important;
	/*background: #222 !important;*/
	/*color: #fff !important;*/
	text-transform: uppercase;
	border: none !important;
	margin-top: 20px !important;
	position: relative; z-index: 50;
}


/* Hide wishlist on this layout */
.mfn-product-add-to-cart .mfn-wish-button {
	display: none !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 959px) {
	.woocommerce .quantity .qty {
		padding: 12px 10px !important;
	}
}


body .mfn-product-add-to-cart .price,
body .mfn-product-add-to-cart .price .amount,
body .mfn-product-add-to-cart .price .woocommerce-Price-amount,
body .mfn-product-add-to-cart .price .woocommerce-Price-currencySymbol,
body .mfn-product-add-to-cart .price bdi {
	color: #000 !important;
}

.mfn-product-badges {
	background: #fcacc9;
	border-radius: 50%;
	padding: 10px 0px;
	left: 10px;
}

.onsale-label {
	background: none !important;
	color: black !important;
}


@keyframes hero-gradient-animation {
	0% {
		--x-0: 10%;
		--y-0: 50%;
		--c-0: hsla(58.23529411764756, 0%, 90%, 1);
		--s-start-0: 5.020080321285141%;
		--s-end-0: 92.83310625926558%;
		--y-1: 50%;
		--s-start-1: 5.020080321285141%;
		--s-end-1: 92.83310625926558%;
		--x-1: 15%;
		--c-1: hsla(338.82352941176464, 100%, 95%, 1);
	}

	33% {
		--x-0: 90%;
		--y-0: 50%;
		--c-0: hsla(105.8823529411763, 0%, 39%, 1);
		--s-start-0: 5.020080321285141%;
		--s-end-0: 98.74982504480812%;
		--y-1: 52%;
		--s-start-1: 5.020080321285141%;
		--s-end-1: 76.58276391699611%;
		--x-1: 84%;
		--c-1: hsla(14.558823529411768, 90%, 78%, 1);
	}

	66% {
		--y-1: 22%;
		--s-start-1: 5.020080321285141%;
		--s-end-1: 84%;
		--x-1: 50%;
		--c-1: hsla(218.38235294117646, 78%, 76%, 1);
	}

	99% {
		--y-1: 50%;
		--s-start-1: 5.020080321285141%;
		--s-end-1: 92.58895711630703%;
		--x-1: 15%;
		--c-1: hsla(336.92307692307696, 100%, 94%, 1);
	}
}

@property --x-0 {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 10%
}

@property --y-0 {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 50%
}

@property --c-0 {
	syntax: '<color>';
	inherits: false;
	initial-value: hsla(58.23529411764756, 0%, 90%, 1)
}

@property --s-start-0 {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 5.020080321285141%
}

@property --s-end-0 {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 92.83310625926558%
}

@property --y-1 {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 50%
}

@property --s-start-1 {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 5.020080321285141%
}

@property --s-end-1 {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 92.83310625926558%
}

@property --x-1 {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 15%
}

@property --c-1 {
	syntax: '<color>';
	inherits: false;
	initial-value: hsla(338.82352941176464, 100%, 95%, 1)
}

#nenaCustomBg .mfn-coverimg-wrapper {
	--x-0: 10%;
	--y-0: 50%;
	--c-0: hsla(58.23529411764756, 0%, 90%, 1);
	--y-1: 50%;
	--x-1: 15%;
	--c-1: hsla(338.82352941176464, 100%, 95%, 1);
	;
	background-color: hsla(88, 0%, 100%, 1);
	background-image: radial-gradient(circle at var(--x-0) var(--y-0), var(--c-0) var(--s-start-0), transparent var(--s-end-0)), radial-gradient(circle at var(--x-1) var(--y-1), var(--c-1) var(--s-start-1), transparent var(--s-end-1));
	animation: hero-gradient-animation 10s linear infinite alternate;
	background-blend-mode: lighten, multiply;
	border-radius: 20px;
	/* your desired radius */
	overflow: hidden;
	/* ensures content and background respect radius */
	background-clip: border-box;
}

.woocommerce-Price-amount {
	color: black !important;
}

/* ==========================================================================
   Product Category Tags
   ========================================================================== */

.product-category-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 15px;
}

.product-category-tags .cat-tag {
	display: inline-block;
	padding: 0px 6px;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: lowercase;
	color: #000;
	background: none;
	border: 1px solid #000;
	border-radius: 0;
	text-decoration: none;
}

.product-category-tags .cat-tag:hover {
	text-decoration: underline;
}



/* ==========================================================================
   Catalogue Cards — Luxury Grid Redesign
   ========================================================================== */

/* --- Grid container --- */
ul.products {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	align-items: flex-start !important;
	width: 100% !important;
}

ul.products::before,
ul.products::after {
	display: none !important;
	content: none !important;
}

/* --- Card base --- */
ul.products li.product,
ul.products li.mfn-product-li-item,
ul.products li.product.col-3,
ul.products li.product.col-4,
ul.products li.product.columns-3,
ul.products li.product.first,
ul.products li.product.last {
	width: calc(33.3333% - 8px) !important;
	max-width: calc(33.3333% - 8px) !important;
	flex: 0 0 calc(33.3333% - 8px) !important;
	padding: 0 !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	background: #f8f7f4 !important;
	border: 1px solid #ddd !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: flex !important;
	flex-direction: column !important;
	position: relative;
	overflow: hidden;
}


/* --- Hide: excerpt/description row --- */
ul.products li.product .mfn-li-product-row-description,
ul.products li.product .excerpt-list,
ul.products li.product .mfn-li-product-row-description.excerpt-list {
	display: none !important;
}

/* --- Hide: top wishlist icon --- */
ul.products li.product .mfn-abs-top,
ul.products li.product .image_frame .mfn-wish-button.mfn-abs-top {
	display: none !important;
}

/* --- Hide: image hover overlay --- */
ul.products li.product .image_links,
ul.products li.product .image_frame .image_links,
ul.products li.product .image_wrapper .mask,
ul.products li.product .image_frame:hover .image_links,
ul.products li.product .image_frame .image_hover {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* --- Hide before/after shop loop items --- */
ul.products li.product .mfn-before-shop-loop-item,
ul.products li.product .mfn-after-shop-loop-item-title {
	display: none !important;
}

/* --- Image area --- */
ul.products li.product .mfn-li-product-row-image {
	padding: 30px 30px 20px !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

ul.products li.product .image_frame,
ul.products li.product .image_frame.product-loop-thumb {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	overflow: visible !important;
}

ul.products li.product .image_wrapper {
	border: none !important;
	background: transparent !important;
	border-radius: 0 !important;
}

ul.products li.product .image_wrapper img {
	border-radius: 0 !important;
	display: block;
	max-width: 100%;
	height: auto;
}

/* Remove any frame effects */
ul.products li.product .image_frame .image_wrapper::after,
ul.products li.product .image_frame .image_wrapper::before {
	display: none !important;
}

/* --- Title --- */
ul.products li.product .mfn-li-product-row-title {
	padding: 0 20px 8px !important;
	margin: 0 !important;
	text-align: center !important;
}

ul.products li.product .mfn-li-product-row-title h5,
ul.products li.product .mfn-li-product-row-title h2,
ul.products li.product .mfn-li-product-row-title .title,
ul.products li.product .mfn-li-product-row-title h5 a,
ul.products li.product .mfn-li-product-row-title h2 a,
ul.products li.product .mfn-li-product-row-title .title a,
ul.products li.product h3,
ul.products li.product h3 a {
	font-family: 'Fraunces', serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	color: #000 !important;
	text-align: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
}

/* --- Price + Heart row --- */
ul.products li.product .mfn-li-product-row-price {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 12px 20px 20px !important;
	margin: 0 !important;
	text-align: center !important;
	position: relative !important;
}

ul.products li.product .mfn-li-product-row-price .price,
ul.products li.product .mfn-li-product-row-price .price .amount,
ul.products li.product .mfn-li-product-row-price .price .woocommerce-Price-amount,
ul.products li.product .mfn-li-product-row-price .price bdi {
	font-family: 'DM Sans', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #000 !important;
	text-align: center !important;
	display: inline !important;
}

/* Heart next to price — show the real wishlist button here via JS */

/* --- Bottom bar: Add to Cart + Arrow --- */
ul.products li.product .mfn-after-shop-loop-item {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	padding: 0 !important;
	margin: 0 !important;
	margin-top: auto !important;
	border-top: 1px solid #ddd !important;
	background: transparent !important;
}

ul.products li.product .mfn-after-shop-loop-item a.button,
ul.products li.product .mfn-after-shop-loop-item a.add_to_cart_button,
ul.products li.product .mfn-after-shop-loop-item a.product_type_simple,
ul.products li.product .mfn-after-shop-loop-item a.product_type_variable {
	flex: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 25px 20px !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: #000 !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: opacity 0.2s;
}

ul.products li.product .mfn-after-shop-loop-item a.button:hover,
ul.products li.product .mfn-after-shop-loop-item a.add_to_cart_button:hover {
	opacity: 0.6;
	background: transparent !important;
}

/* Bottom wishlist / arrow icon on right */
ul.products li.product .mfn-after-shop-loop-item a.mfn-wish-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 50px !important;
	flex: 0 0 50px !important;
	padding: 14px 0 !important;
	margin: 0 !important;
	border-left: 1px solid #ddd !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
	position: relative;
}

/* Hide the wishlist text, show only icon */
ul.products li.product .mfn-after-shop-loop-item a.mfn-wish-button span.wish-text {
	display: none !important;
}

/* Hide screen-reader-text in bottom bar */
ul.products li.product .mfn-after-shop-loop-item .screen-reader-text {
	display: none !important;
}

/* Wishlist button moved to price row — positioned bottom right */
ul.products li.product .mfn-li-product-row-price .mfn-wish-button-moved {
	position: absolute !important;
	right: 20px !important;
	bottom: 20px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer;
	flex-shrink: 0;
}

ul.products li.product .mfn-li-product-row-price .mfn-wish-button-moved svg {
	width: 38px !important;
	height: 38px !important;
}

/* Hide original wishlist in bottom bar */
ul.products li.product .mfn-after-shop-loop-item > a.mfn-wish-button {
	display: none !important;
}

/* Arrow icon in bottom bar — replace wishlist with product link arrow */
ul.products li.product .mfn-after-shop-loop-item .catalogue-arrow {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 68px !important;
	flex: 0 0 77px !important;
	padding: 14px 0 !important;
	margin: 0 !important;
	border-left: 1px solid #ddd !important;
	background: transparent !important;
	text-decoration: none !important;
	cursor: pointer;
}

ul.products li.product .mfn-after-shop-loop-item .catalogue-arrow svg {
	width: 36px;
	height: 20px;
}

/* --- Responsive: 1 column on mobile (override all desktop col-* selectors) --- */
@media (max-width: 767px) {
	ul.products li.product,
	ul.products li.mfn-product-li-item,
	ul.products li.product.col-3,
	ul.products li.product.col-4,
	ul.products li.product.columns-3,
	ul.products li.product.columns-4,
	ul.products li.product.first,
	ul.products li.product.last,
	body ul.products li.product,
	body ul.products li.mfn-product-li-item {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		margin: 0 !important;
	}


	ul.products li.product .mfn-li-product-row-image {
		padding: 20px 15px 10px !important;
	}

	ul.products li.product .mfn-li-product-row-title {
		padding: 0 10px 6px !important;
	}

	ul.products li.product .mfn-li-product-row-title h5,
	ul.products li.product .mfn-li-product-row-title h2,
	ul.products li.product .mfn-li-product-row-title .title,
	ul.products li.product .mfn-li-product-row-title h5 a,
	ul.products li.product .mfn-li-product-row-title h2 a,
	ul.products li.product .mfn-li-product-row-title .title a {
		font-size: 10px !important;
	}

	ul.products li.product .mfn-li-product-row-price .price,
	ul.products li.product .mfn-li-product-row-price .price .amount,
	ul.products li.product .mfn-li-product-row-price .price .woocommerce-Price-amount {
		font-size: 16px !important;
	}

	ul.products li.product .mfn-after-shop-loop-item a.button,
	ul.products li.product .mfn-after-shop-loop-item a.add_to_cart_button {
		font-size: 9px !important;
		padding: 12px 12px !important;
	}

	ul.products li.product .mfn-after-shop-loop-item a.mfn-wish-button,
	ul.products li.product .mfn-after-shop-loop-item::after {
		width: 40px !important;
		flex: 0 0 40px !important;
	}
}

/* ==========================================================================
   BeBuilder — full-bleed column (breaks out of section_wrapper max-width)
   ========================================================================== */
.col-bleed {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	position: relative;
	left: 0;
	right: 0;
	box-sizing: border-box;
}
.col-bleed .mcb-wrap-inner,
.col-bleed .column_attr,
.col-bleed > .wrap {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

/* Utility: apply Caveat handwritten font to any element */
.font-caveat,
.font-caveat * {
	font-family: 'Caveat', cursive !important;
}

body, p, a, span, li, input, button, textarea, select, .woocommerce-product-details__short-description, .product-category-tags, .stock, .single_add_to_cart_button, .button, .mfn-header-menu .menu-label, .desc, .column_attr {
        font-family: 'Playfair Display', serif !important;
    
}

.mfn-header-menu .menu-label {
    font-weight: 800 !important;
}

.white-btn-naked .mcb-item-button-inner:hover a, .white-btn-naked .mcb-item-button-inner:hover span {
    color: #fff !important;
}

.mfn-single-product-tmpl-wrapper .price {
    line-height: 1em;
}