/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* MAYN design tokens and typography helpers */
:root {
	--mayn-cream: #F5F1EA;
	--mayn-cream-2: #EDE5D4;
	--mayn-ink: #26241F;
	--mayn-ink-70: rgba(38, 36, 31, 0.70);
	--mayn-ink-40: rgba(38, 36, 31, 0.40);
	--mayn-ink-15: rgba(38, 36, 31, 0.15);
	--mayn-cognac: #8B5A2B;
	--mayn-accent: #C4A574;
	--mayn-serif: 'Cormorant Garamond', Georgia, serif;
	--mayn-sans: 'Inter', system-ui, sans-serif;
	--cream: var(--mayn-cream);
	--cream2: var(--mayn-cream-2);
	--ink: var(--mayn-ink);
	--ink70: var(--mayn-ink-70);
	--ink40: var(--mayn-ink-40);
	--ink15: var(--mayn-ink-15);
	--cognac: var(--mayn-cognac);
	--accent: var(--mayn-accent);
	--serif: var(--mayn-serif);
	--sans: var(--mayn-sans);
}

.mayn-h1,
.elementor-widget-heading .elementor-heading-title.mayn-h1 {
	font-family: var(--mayn-serif);
	font-size: clamp(40px, 5.5vw, 72px);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: 0.03em;
	color: var(--mayn-ink);
}

.mayn-h2,
.elementor-widget-heading .elementor-heading-title.mayn-h2 {
	font-family: var(--mayn-serif);
	font-size: clamp(30px, 4vw, 52px);
	font-weight: 300;
	line-height: 1.15;
	letter-spacing: 0;
	color: var(--mayn-ink);
}

.mayn-h3,
.elementor-widget-heading .elementor-heading-title.mayn-h3 {
	font-family: var(--mayn-serif);
	font-size: 28px;
	font-weight: 300;
	line-height: 1.25;
	letter-spacing: 0;
	color: var(--mayn-ink);
}

.mayn-lead,
.elementor-widget-heading .elementor-heading-title.mayn-lead {
	font-family: var(--mayn-serif);
	font-size: clamp(15px, 1.8vw, 20px);
	font-style: italic;
	font-weight: 300;
	line-height: 1.65;
	letter-spacing: 0;
	color: var(--mayn-ink-70);
}

.mayn-copy,
.elementor-widget-heading .elementor-heading-title.mayn-copy {
	font-family: var(--mayn-serif);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: 0;
	color: var(--mayn-ink-70);
}

.mayn-label,
.elementor-widget-heading .elementor-heading-title.mayn-label {
	font-family: var(--mayn-sans);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--mayn-cognac);
}

.mayn-label-dark,
.elementor-widget-heading .elementor-heading-title.mayn-label-dark {
	font-family: var(--mayn-sans);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: rgba(245, 241, 234, 0.50);
}

.mayn-meta,
.elementor-widget-heading .elementor-heading-title.mayn-meta {
	font-family: var(--mayn-sans);
	font-size: 9px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mayn-ink-40);
}

.mayn-button,
.elementor-kit-7 .mayn-button,
.elementor-kit-7 a.mayn-button,
.elementor-kit-7 button.mayn-button,
.elementor-widget-button .elementor-button.mayn-button {
	font-family: var(--mayn-sans);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.mayn-btn-primary,
.elementor-kit-7 .mayn-btn-primary,
.elementor-widget-button .elementor-button.mayn-btn-primary {
	font-family: var(--mayn-sans);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--mayn-cream);
	background: var(--mayn-ink);
	border: 1px solid var(--mayn-ink);
	border-radius: 0;
	padding: 16px 36px;
}

.mayn-btn-outline,
.elementor-kit-7 .mayn-btn-outline,
.elementor-widget-button .elementor-button.mayn-btn-outline {
	font-family: var(--mayn-sans);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--mayn-ink);
	background: transparent;
	border: 1px solid var(--mayn-ink);
	border-radius: 0;
	padding: 14px 30px;
}

.mayn-btn-outline:hover,
.elementor-kit-7 .mayn-btn-outline:hover,
.elementor-widget-button .elementor-button.mayn-btn-outline:hover {
	color: var(--mayn-cream);
	background: var(--mayn-ink);
}

.mayn-text-ink { color: var(--mayn-ink); }
.mayn-text-ink-70 { color: var(--mayn-ink-70); }
.mayn-text-ink-40 { color: var(--mayn-ink-40); }
.mayn-text-cognac { color: var(--mayn-cognac); }
.mayn-text-accent { color: var(--mayn-accent); }
.mayn-text-cream { color: var(--mayn-cream); }

.mayn-bg-cream { background-color: var(--mayn-cream); }
.mayn-bg-cream-2 { background-color: var(--mayn-cream-2); }
.mayn-bg-ink { background-color: var(--mayn-ink); }

/* Elementor wrapper support for MAYN helper classes */
.mayn-h1 .elementor-heading-title {
	font-family: var(--mayn-serif);
	font-size: clamp(40px, 5.5vw, 72px);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: 0.03em;
	color: var(--mayn-ink);
}

.mayn-h2 .elementor-heading-title {
	font-family: var(--mayn-serif);
	font-size: clamp(30px, 4vw, 52px);
	font-weight: 300;
	line-height: 1.15;
	letter-spacing: 0;
	color: var(--mayn-ink);
}

.mayn-h3 .elementor-heading-title {
	font-family: var(--mayn-serif);
	font-size: 28px;
	font-weight: 300;
	line-height: 1.25;
	letter-spacing: 0;
	color: var(--mayn-ink);
}

.mayn-lead .elementor-heading-title,
.mayn-lead .elementor-widget-container {
	font-family: var(--mayn-serif);
	font-size: clamp(15px, 1.8vw, 20px);
	font-style: italic;
	font-weight: 300;
	line-height: 1.65;
	letter-spacing: 0;
	color: var(--mayn-ink-70);
}

.mayn-copy .elementor-heading-title,
.mayn-copy .elementor-widget-container,
.mayn-copy p {
	font-family: var(--mayn-serif);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: 0;
	color: var(--mayn-ink-70);
}

.mayn-label .elementor-heading-title,
.mayn-label .elementor-widget-container {
	font-family: var(--mayn-sans);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--mayn-cognac);
}

.mayn-meta .elementor-heading-title,
.mayn-meta .elementor-widget-container {
	font-family: var(--mayn-sans);
	font-size: 9px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mayn-ink-40);
}

.mayn-button .elementor-button,
.mayn-btn-primary .elementor-button,
.mayn-btn-outline .elementor-button {
	font-family: var(--mayn-sans);
	font-weight: 400;
	text-transform: uppercase;
	border-radius: 0;
}

.mayn-btn-primary .elementor-button {
	font-size: 10px;
	line-height: 1.2;
	letter-spacing: 0.28em;
	color: var(--mayn-cream);
	background: var(--mayn-ink);
	border: 1px solid var(--mayn-ink);
	padding: 16px 36px;
}

.mayn-btn-outline .elementor-button {
	font-size: 10px;
	line-height: 1.2;
	letter-spacing: 0.25em;
	color: var(--mayn-ink);
	background: transparent;
	border: 1px solid var(--mayn-ink);
	padding: 14px 30px;
}

.mayn-btn-outline .elementor-button:hover {
	color: var(--mayn-cream);
	background: var(--mayn-ink);
}



/* Mini cart bundle hierarchy: keep bundle items visually attached to the parent set. */
.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-parent,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-parent {
	position: relative !important;
	padding-bottom: 18px !important;
	border-bottom-color: #DAD2C4 !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child {
	position: relative !important;
	min-height: 74px !important;
	margin: 0 0 0 24px !important;
	padding: 10px 0 10px 16px !important;
	border-bottom: 1px solid rgba(218, 210, 196, .55) !important;
	background: transparent !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child::before,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 14px !important;
	bottom: 14px !important;
	width: 1px !important;
	background: #DAD2C4 !important;
	opacity: .85 !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child::after,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child::after {
	content: "INCLUDED" !important;
	display: block !important;
	position: absolute !important;
	left: 68px !important;
	top: 10px !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 8px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: .18em !important;
	color: #8B5A2B !important;
	opacity: .65 !important;
	pointer-events: none !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child .cart-item-image,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child .cart-item-image {
	width: 44px !important;
	height: 56px !important;
	min-width: 44px !important;
	margin-right: 12px !important;
	background: #FCFAF6 !important;
	border: 1px solid rgba(218, 210, 196, .75) !important;
	overflow: hidden !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child .cart-item-image img,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child .cart-item-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child .cart-info,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child .cart-info {
	padding-top: 14px !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child .wd-entities-title,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child .wd-entities-title {
	display: block !important;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.18 !important;
	color: rgba(38, 36, 31, .78) !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child .quantity,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child .quantity,
.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child .amount,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child .amount {
	font-family: Inter, Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 300 !important;
	line-height: 1.3 !important;
	color: rgba(38, 36, 31, .55) !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child .remove,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child .remove {
	display: none !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child + .woosb-cart-child,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child + .woosb-cart-child {
	margin-top: -1px !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child + .mini_cart_item:not(.woosb-cart-child),
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child + .mini_cart_item:not(.woosb-cart-child) {
	margin-top: 10px !important;
}

@media (max-width: 480px) {
	.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child,
	.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child {
		margin-left: 16px !important;
		padding-left: 14px !important;
	}

	.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child::after,
	.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child::after {
		left: 62px !important;
	}

	.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child .wd-entities-title,
	.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child .wd-entities-title {
		font-size: 13px !important;
	}
}
/* Mini cart bundle image correction against Woodmart product widget image limits. */
.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child .cart-item-image img,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child .cart-item-image img,
.widget_shopping_cart .product_list_widget > li.woosb-cart-child img,
.shopping-cart-widget-body .product_list_widget > li.woosb-cart-child img {
	float: none !important;
	min-width: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	border-radius: 0 !important;
}

.widget_shopping_cart .woocommerce-mini-cart .woosb-cart-child .wd-entities-title,
.shopping-cart-widget-body .woocommerce-mini-cart .woosb-cart-child .wd-entities-title {
	font-size: 13px !important;
}