
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;900&display=swap');

.claude-mega-menu,
.claude-mega-menu * { font-family: 'DM Sans', sans-serif !important; box-sizing: border-box; }

.claude-mega-menu {
	color: #1a1a1a;
	background: #fff;
	padding: 32px 44px;
}
.claude-mega-menu .cmm-grid {
	display: grid;
	gap: 40px;
	align-items: start;
}
.claude-mega-menu .cmm-grid-1 { grid-template-columns: 1fr 270px; }
.claude-mega-menu .cmm-grid-2 { grid-template-columns: 1fr 1fr 270px; }
.claude-mega-menu .cmm-grid-3 { grid-template-columns: 1fr 1fr 1fr 270px; }
.claude-mega-menu .cmm-grid-4 { grid-template-columns: 1fr 1fr 1fr 1fr 270px; }
.claude-mega-menu .cmm-grid-no-side { grid-template-columns: 1fr; }

/* === CLEARANCE mega-menu - product card grid (replaces category links) === */
.claude-mega-menu .cmm-clearance-wrap {
	font-family: 'DM Sans', sans-serif;
}
.cmm-clearance-header {
	text-align: center;
	margin-bottom: 18px;
}
.cmm-clearance-header h4 {
	color: #fff !important;
	background: #e85a4f;
	padding: 12px 24px;
	border-radius: 8px;
	font-size: 22px !important;
	display: inline-block;
	margin: 0 0 6px !important;
}
.cmm-clearance-header p {
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #666;
	margin: 0 0 8px;
}
.cmm-clearance-shopall {
	display: inline-block;
	color: #e85a4f;
	font-weight: 700;
	font-size: 13px;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.cmm-clearance-shopall:hover { text-decoration: underline; }
.cmm-clearance-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
	max-height: 540px;
	overflow-y: auto;
	padding-right: 6px;
}
.cmm-clr-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #ece8e2;
	border-radius: 10px;
	padding: 6px;
	text-decoration: none !important;
	color: #1a1a1a;
	transition: transform .15s, box-shadow .15s;
}
.cmm-clr-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.cmm-clr-img-wrap {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 6px;
	background: #f6f4f1;
}
.cmm-clr-img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.cmm-clr-card.is-sold-out .cmm-clr-img { opacity: 0.45; filter: grayscale(0.5); }
.cmm-clr-sticker {
	position: absolute; top: 4px; left: 4px;
	width: 44px; height: auto; z-index: 3;
	filter: drop-shadow(0 2px 3px rgba(0,0,0,0.25));
	pointer-events: none;
}
.cmm-clr-sold-out {
	position: absolute; top: 50%; left: 50%;
	transform: translate(-50%, -50%) rotate(-12deg);
	background: rgba(26,26,26,0.85);
	color: #fff;
	font-weight: 900;
	font-size: 12px;
	letter-spacing: 1.5px;
	padding: 5px 12px;
	border-radius: 3px;
	box-shadow: 0 3px 8px rgba(0,0,0,0.3);
	z-index: 4;
	white-space: nowrap;
}
.cmm-clr-title {
	font-size: 11px;
	font-weight: 600;
	line-height: 1.25;
	margin: 8px 2px 4px;
	color: #1a1a1a;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.cmm-clr-price {
	font-size: 12px;
	font-weight: 700;
	color: #e85a4f;
	margin: auto 2px 2px;
}
.cmm-clr-price del { color: #999; font-weight: 400; margin-right: 4px; font-size: 11px; }
@media (max-width: 1280px) {
	.cmm-clearance-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 900px) {
	.cmm-clearance-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
	.cmm-clearance-grid { grid-template-columns: repeat(2, 1fr); max-height: 400px; }
	.cmm-clr-sticker { width: 32px; }
	.cmm-clr-sold-out { font-size: 10px; padding: 4px 8px; }
}

.claude-mega-menu .cmm-col-divider {
	border-right: 1px solid #d9d4cd;
	padding-right: 24px;
}
.claude-mega-menu h4 {
	font-size: 16px;
	font-weight: 900;
	text-transform: uppercase;
	margin: 0 0 18px;
	letter-spacing: 0.5px;
	color: #1a1a1a;
}
.claude-mega-menu ul {
	list-style: none;
	margin: 0;
	padding-left: 30px;
}
.claude-mega-menu li {
	position: relative;
	margin: 8px 0;
	padding: 0;
	line-height: 1.4;
}
.claude-mega-menu li a {
	color: #1a1a1a;
	text-decoration: none !important;
	font-size: 15px;
	font-weight: 400;
	display: inline-block;
	transition: color .15s;
}
.claude-mega-menu li a:hover { color: #e85a4f; }
.claude-mega-menu li.shop-all a { font-weight: 700; }

/* Static bear next to specific items only */
.claude-mega-menu li.has-bear::before,
.claude-mega-menu h4.has-bear::before {
	content: "";
	position: absolute;
	left: -28px;
	top: 50%;
	width: 20px;
	height: 20px;
	background-image: url('https://smart-living.co.uk/wp-content/uploads/2026/05/freepik_just-the-bears-head-with-_2856942448-1.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transform: translateY(-50%);
	pointer-events: none;
}
.claude-mega-menu h4.has-bear { position: relative; padding-left: 30px; }

.claude-mega-menu .cmm-section + .cmm-section { margin-top: 28px; }

.claude-mega-menu .cmm-side {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.claude-mega-menu .cmm-side a {
	color: inherit;
	text-decoration: none !important;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	max-width: 100%;
}
.claude-mega-menu .cmm-side img {
	max-width: 100%;
	height: auto;
	max-height: 260px;
	object-fit: contain;
	border-radius: 12px;
	display: block;
}
.claude-mega-menu .cmm-side .cmm-side-text {
	margin-top: 14px;
	font-weight: 700;
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 4px;
	color: #1a1a1a;
	text-align: center;
	max-width: 220px;
	line-height: 1.35;
}
.claude-mega-menu .cmm-side a:hover .cmm-side-text { color: #e85a4f; }

/* === BEST PRICE SELECTION card (replaces side image in BEDDING) === */
.claude-mega-menu .cmm-best-price a {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
}
.claude-mega-menu .cmm-best-price-card {
	background: #e85a4f !important;
	border-radius: 18px !important;
	padding: 26px 22px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 220px !important;
	transition: transform .15s ease, box-shadow .15s ease !important;
	box-shadow: 0 4px 14px rgba(232, 90, 79, 0.18) !important;
}
.claude-mega-menu .cmm-best-price-card:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 22px rgba(232, 90, 79, 0.30) !important;
}
.claude-mega-menu .cmm-best-price-badge {
	width: 110px !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 110px !important;
	object-fit: contain !important;
	border-radius: 0 !important;
	margin: 0 !important;
}
.claude-mega-menu .cmm-best-price-text {
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	color: #1a1a1a !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	margin-top: 8px !important;
	letter-spacing: 0.2px !important;
	text-align: center !important;
}
.claude-mega-menu .cmm-best-price a:hover .cmm-best-price-text {
	color: #e85a4f !important;
}
/* Inline image inside a column (BEDDING) - text centered under image */
.claude-mega-menu .cmm-side-inline {
	margin-top: 24px;
	align-items: center;
}
.claude-mega-menu .cmm-side-inline a { align-items: center; }
.claude-mega-menu .cmm-side-inline .cmm-side-text { text-align: center; }

/* CLOTHING showcase: image + bullets side-by-side, then text centered below */
.claude-mega-menu .cmm-clothing-showcase {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.claude-mega-menu .cmm-clothing-combo {
	width: 100%;
	max-width: 320px;
	height: auto;
	display: block;
	object-fit: contain;
}
.claude-mega-menu .cmm-showcase-row {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}
.claude-mega-menu .cmm-showcase-img {
	max-width: 340px;
	max-height: 460px;
	height: auto;
	width: auto;
	object-fit: contain;
	display: block;
}
.claude-mega-menu .cmm-jeans-bullets {
	list-style: none;
	padding: 0;
	margin: 0 0 0 -100px;
}
.claude-mega-menu .cmm-jeans-bullets li {
	padding: 6px 0 6px 24px;
	position: relative;
	font-weight: 700;
	font-size: 15px;
	margin: 0;
}
.claude-mega-menu .cmm-jeans-bullets li::before {
	content: "\2713";
	color: #f4b6b6;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-weight: 900;
	font-size: 16px;
	width: auto;
	height: auto;
	background: none;
}
.claude-mega-menu .cmm-showcase-text {
	margin-top: 16px;
	font-size: 14px;
	text-align: center;
	max-width: 320px;
	line-height: 1.4;
}
.claude-mega-menu .cmm-showcase-text i { font-style: italic; }

.claude-mega-menu .cmm-tagline {
	color: #e85a4f;
	font-weight: 700;
	font-size: 22px;
	margin-top: 14px;
	letter-spacing: 0.5px;
	line-height: 1.25;
}


@media (max-width: 1100px) {
	.claude-mega-menu { padding: 20px; }
	.claude-mega-menu .cmm-grid-1,
	.claude-mega-menu .cmm-grid-2,
	.claude-mega-menu .cmm-grid-3 { grid-template-columns: 1fr 1fr; }
	.claude-mega-menu .cmm-grid-4 { grid-template-columns: 1fr 1fr; }
	.claude-mega-menu .cmm-side { display: none; }
}
@media (max-width: 768px) {
	.claude-mega-menu { display: none !important; }
}

/* Override Elementor panel content when we take it over */
.claude-mega-panel > .e-con-inner,
.claude-mega-panel > .elementor-element { display: none !important; }
.claude-mega-panel { padding: 0 !important; }
.claude-mega-panel .claude-mega-menu { display: block !important; }

/* Hide black page-title banner on /clearance/ */
body .page-title.page-title-default,
body .page-title { /* fallback */ }
.page-id-by-clr-class .page-title { display: none !important; }
/* Strong global hide via JS path detection (handled in JS) */

/* === FOOTER - brand styling === */
footer.site-footer,
.site-footer,
.wd-footer,
.footer-container {
	background: #1a1a1a !important;
	color: #fff !important;
	font-family: 'DM Sans', sans-serif !important;
}
footer.site-footer *,
.site-footer *,
.wd-footer * {
	font-family: 'DM Sans', sans-serif !important;
}
.site-footer a,
.wd-footer a,
.footer-container a {
	color: #fff !important;
	text-decoration: none !important;
	transition: color .2s !important;
}
.site-footer a:hover,
.wd-footer a:hover,
.footer-container a:hover {
	color: #e85a4f !important;
}
/* Footer headings */
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6,
.wd-footer h1, .wd-footer h2, .wd-footer h3, .wd-footer h4, .wd-footer h5, .wd-footer h6 {
	font-family: 'DM Sans', sans-serif !important;
	color: #fff !important;
	font-weight: 800 !important;
	letter-spacing: 0.5px !important;
}
/* Social icons coral on hover */
.site-footer .wd-social-icons a:hover,
.wd-footer .wd-social-icons a:hover {
	color: #e85a4f !important;
}

/* === NEWSLETTER block - match brand (coral CTA, DM Sans) === */
.elementor-widget-wd_mailchimp,
.wd-mailchimp,
.mc4wp-form,
.mc4wp-form * {
	font-family: 'DM Sans', sans-serif !important;
}
.elementor-widget-wd_mailchimp button,
.elementor-widget-wd_mailchimp input[type="submit"],
.wd-mailchimp button[type="submit"],
.wd-mailchimp input[type="submit"],
.wd-mailchimp .btn,
.mc4wp-form button,
.mc4wp-form input[type="submit"] {
	background: #e85a4f !important;
	background-color: #e85a4f !important;
	color: #fff !important;
	font-weight: 700 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	border: none !important;
	padding: 14px 36px !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13px !important;
	border-radius: 4px !important;
	cursor: pointer !important;
	transition: background .2s, transform .15s !important;
	box-shadow: 0 4px 12px rgba(232, 90, 79, 0.25) !important;
}
.elementor-widget-wd_mailchimp button:hover,
.elementor-widget-wd_mailchimp input[type="submit"]:hover,
.wd-mailchimp button[type="submit"]:hover,
.wd-mailchimp input[type="submit"]:hover,
.mc4wp-form button:hover,
.mc4wp-form input[type="submit"]:hover {
	background: #d4493e !important;
	background-color: #d4493e !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 16px rgba(232, 90, 79, 0.35) !important;
}
.elementor-widget-wd_mailchimp input[type="email"],
.wd-mailchimp input[type="email"],
.mc4wp-form input[type="email"] {
	font-family: 'DM Sans', sans-serif !important;
	border: 1px solid #d9d4cd !important;
	border-radius: 4px !important;
	padding: 14px 16px !important;
	font-size: 14px !important;
}

/* === Elementor slider arrows - plain white SVG arrows, no circle === */
/* Targets Elementor's universal swiper-button classes everywhere on the site */
.elementor-swiper-button.elementor-swiper-button-prev,
.elementor-swiper-button.elementor-swiper-button-next,
.elementor-swiper-button-prev,
.elementor-swiper-button-next,
.swiper-button-prev,
.swiper-button-next,
.elementor-swiper-button.elementor-swiper-button-prev:hover,
.elementor-swiper-button.elementor-swiper-button-next:hover,
.elementor-swiper-button-prev:hover,
.elementor-swiper-button-next:hover,
.swiper-button-prev:hover,
.swiper-button-next:hover,
.elementor-swiper-button.elementor-swiper-button-prev:focus,
.elementor-swiper-button.elementor-swiper-button-next:focus,
.elementor-swiper-button-prev:focus,
.elementor-swiper-button-next:focus,
.swiper-button-prev:focus,
.swiper-button-next:focus,
.elementor-swiper-button.elementor-swiper-button-prev:active,
.elementor-swiper-button.elementor-swiper-button-next:active,
.elementor-swiper-button-prev:active,
.elementor-swiper-button-next:active,
.swiper-button-prev:active,
.swiper-button-next:active {
	width: 56px !important;
	height: 56px !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 1 !important;
	visibility: visible !important;
	transition: none !important;
	transform: none !important;
	animation: none !important;
	cursor: pointer !important;
	color: transparent !important;
	scale: none !important;
	translate: none !important;
}
/* Kill any transition/transform on the inner icon too */
.elementor-swiper-button-prev i,
.elementor-swiper-button-next i,
.swiper-button-prev i,
.swiper-button-next i,
.elementor-swiper-button-prev:hover i,
.elementor-swiper-button-next:hover i,
.swiper-button-prev:hover i,
.swiper-button-next:hover i {
	transition: none !important;
	transform: none !important;
	animation: none !important;
	scale: none !important;
}
/* The icon inside (i.eicon-chevron-left/right) - replace with our SVG via background-image */
.elementor-swiper-button-prev i,
.elementor-swiper-button-next i,
.swiper-button-prev i,
.swiper-button-next i {
	font-size: 0 !important;
	color: transparent !important;
	width: 40px !important;
	height: 40px !important;
	display: block !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	border: none !important;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,0.45)) !important;
}
/* Hide the eicon font character so only our SVG shows */
.elementor-swiper-button-prev i::before,
.elementor-swiper-button-next i::before,
.swiper-button-prev i::before,
.swiper-button-next i::before {
	content: none !important;
	display: none !important;
}
/* DEFAULT - thin BLACK arrow for all carousels (product carousel etc) */
.elementor-swiper-button-prev i,
.swiper-button-prev i {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") !important;
	filter: none !important;
}
.elementor-swiper-button-next i,
.swiper-button-next i {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") !important;
	filter: none !important;
}
/* HERO SLIDER override (Elementor Slides widget) - keep WHITE arrows with shadow */
.elementor-widget-slides .elementor-swiper-button-prev i,
.elementor-widget-slides .swiper-button-prev i {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") !important;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,0.45)) !important;
}
.elementor-widget-slides .elementor-swiper-button-next i,
.elementor-widget-slides .swiper-button-next i {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") !important;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,0.45)) !important;
}
/* Fallback for buttons without <i> - also default to BLACK */
.elementor-swiper-button-prev:not(:has(i))::after,
.swiper-button-prev:not(:has(i))::after {
	content: "" !important;
	width: 40px !important;
	height: 40px !important;
	display: block !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	filter: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") !important;
}
.elementor-swiper-button-next:not(:has(i))::after,
.swiper-button-next:not(:has(i))::after {
	content: "" !important;
	width: 40px !important;
	height: 40px !important;
	display: block !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	filter: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") !important;
}
/* Hero override for ::after fallback too */
.elementor-widget-slides .elementor-swiper-button-prev:not(:has(i))::after,
.elementor-widget-slides .swiper-button-prev:not(:has(i))::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") !important;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,0.45)) !important;
}
.elementor-widget-slides .elementor-swiper-button-next:not(:has(i))::after,
.elementor-widget-slides .swiper-button-next:not(:has(i))::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") !important;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,0.45)) !important;
}
/* Vertically center HERO slider arrows only (Elementor Slides widget) */
.elementor-widget-slides .elementor-swiper-button-prev,
.elementor-widget-slides .elementor-swiper-button-next,
.elementor-widget-slides .swiper-button-prev,
.elementor-widget-slides .swiper-button-next,
.elementor-widget-slides .elementor-swiper-button-prev:hover,
.elementor-widget-slides .elementor-swiper-button-next:hover,
.elementor-widget-slides .swiper-button-prev:hover,
.elementor-widget-slides .swiper-button-next:hover {
	top: 50% !important;
	margin-top: 0 !important;
	transform: translateY(-50%) !important;
}

/* === Owl Carousel arrows (Woodmart product carousels) - thin black, with stem, on image === */
/* Real classes here: <div class="owl-prev wd-btn-arrow"> / <div class="owl-next wd-btn-arrow"> */
.owl-nav .owl-prev,
.owl-nav .owl-next,
.wd-btn-arrow,
.owl-nav .owl-prev:hover,
.owl-nav .owl-next:hover,
.wd-btn-arrow:hover,
.owl-nav .owl-prev:focus,
.owl-nav .owl-next:focus,
.wd-btn-arrow:focus,
.owl-nav .owl-prev:active,
.owl-nav .owl-next:active,
.wd-btn-arrow:active {
	width: 48px !important;
	height: 48px !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	border-radius: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
	transition: none !important;
	animation: none !important;
	color: transparent !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
/* Hide whatever icon Woodmart/Owl injects inside */
.owl-nav .owl-prev > *,
.owl-nav .owl-next > *,
.wd-btn-arrow > *,
.owl-nav .owl-prev::before,
.owl-nav .owl-next::before,
.wd-btn-arrow::before { display: none !important; }
/* Render our thin black SVG via ::after */
.owl-nav .owl-prev::after,
.owl-nav .owl-next::after,
.wd-btn-arrow::after {
	content: "" !important;
	width: 36px !important;
	height: 36px !important;
	display: block !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	filter: none !important;
	transition: none !important;
	transform: none !important;
}
.owl-nav .owl-prev::after,
.owl-prev.wd-btn-arrow::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") !important;
}
.owl-nav .owl-next::after,
.owl-next.wd-btn-arrow::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") !important;
}
/* Vertically position on the IMAGE area of the product card (~40% of total card height,
   since image is the top ~60% and below it sits SELECT OPTIONS / title / rating / price) */
[class*="wd-carousel-spacing-"] .owl-nav > div[class*="prev"],
[class*="wd-carousel-spacing-"] .owl-nav > div[class*="next"],
.wd-products-element .owl-nav .owl-prev,
.wd-products-element .owl-nav .owl-next,
.wd-carousel-container .owl-prev,
.wd-carousel-container .owl-next {
	top: 38% !important;
	margin-top: 0 !important;
	transform: translateY(-50%) !important;
}
[class*="wd-carousel-spacing-"] .owl-nav > div[class*="prev"]:hover,
[class*="wd-carousel-spacing-"] .owl-nav > div[class*="next"]:hover,
.wd-products-element .owl-nav .owl-prev:hover,
.wd-products-element .owl-nav .owl-next:hover,
.wd-carousel-container .owl-prev:hover,
.wd-carousel-container .owl-next:hover {
	transform: translateY(-50%) !important;
}
/* Hide any inline SVG injected by the theme on top of our arrow */
.elementor-swiper-button-prev svg,
.elementor-swiper-button-next svg,
.swiper-button-prev svg,
.swiper-button-next svg { display: none !important; }

/* Designer cards: lift hovered card above neighbours so hotspot tooltips aren't clipped by next card */
.designer-item { position: relative; z-index: 1; }
.designer-item:hover { z-index: 100; }
.designer-img { position: relative; overflow: visible !important; }
.designer-img .hotspot { z-index: 5; }
.designer-img .hotspot::after { z-index: 999; }

/* WooCommerce: hide duplicate sale badge on product page (Elementor renders it twice) */
.single-product .elementor-widget-woocommerce-product-images > .elementor-widget-container > .product-labels,
.single-product .elementor-widget-woocommerce-product-images .elementor-widget-container > .product-labels {
	display: none !important;
	visibility: hidden !important;
}
/* Hide any product-labels that's a direct child of widget-container (the Elementor duplicate) */
body.single-product .elementor-widget-container > .product-labels.labels-rounded {
	display: none !important;
}

/* === SOLD OUT badge on Woodmart product cards (carousels, category pages, related, etc.) === */
/* Filter applied ONLY to the <img>, not to the link/wrapper - keeps Sale (% off) badge vivid */
.product-grid-item.outofstock .product-image-link img,
.products li.outofstock .product-image-link img,
.products li.outofstock .product-image-wrapper img {
	opacity: 0.45 !important;
	filter: grayscale(0.5);
}
/* Make sure the discount/Sale badge stays vivid and on top of the blurred image */
.product-grid-item.outofstock .product-labels,
.product-grid-item.outofstock .product-label,
.products li.outofstock .product-labels,
.products li.outofstock .product-label {
	z-index: 8 !important;
	opacity: 1 !important;
	filter: none !important;
}
/* Hide Woodmart's own "Out of stock" pill - we show our centered badge instead */
.product-labels .product-label.out-of-stock {
	display: none !important;
}
/* Hide the wishlist + quick-view hover buttons block on product cards */
.wd-buttons.wd-pos-r-t,
.wd-buttons {
	display: none !important;
}
/* Strip stars/rating + the SELECT OPTIONS button on all WC product cards */
.product-grid-item .star-rating,
.product-grid-item .woocommerce-product-rating,
.product-grid-item .wd-product-rating,
.product-grid-item .wd-star-rating,
.product-grid-item .wd-rating,
.products .star-rating,
.products .woocommerce-product-rating,
.products .wd-product-rating,
.products .wd-star-rating,
.product-grid-item .wd-add-btn,
.product-grid-item .wd-add-btn-replace,
.products .wd-add-btn,
.products .wd-add-btn-replace,
.product-grid-item .add-to-cart-loop,
.product-grid-item .add_to_cart_button,
.product-grid-item a.button,
.products a.button.product_type_variable,
.products a.button.add_to_cart_button,
.products a.button.product_type_simple {
	display: none !important;
}
/* The injected SOLD OUT badge */
.cl-sold-out {
	position: absolute !important;
	top: 50% !important; left: 50% !important;
	transform: translate(-50%, -50%) rotate(-12deg) !important;
	background: rgba(26,26,26,0.88) !important;
	color: #fff !important;
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 900 !important;
	font-size: 22px !important;
	letter-spacing: 3px !important;
	padding: 10px 26px !important;
	border-radius: 4px !important;
	box-shadow: 0 6px 18px rgba(0,0,0,0.35) !important;
	z-index: 10 !important;
	pointer-events: none !important;
	white-space: nowrap !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	width: auto !important; height: auto !important;
	max-width: none !important; min-width: 0 !important;
	display: block !important;
}
@media (max-width: 600px) {
	.cl-sold-out { font-size: 15px !important; padding: 7px 16px !important; letter-spacing: 1.8px !important; }
}


/* Hide thin gray line under header */
.whb-header,
.whb-header .whb-row,
.whb-header .whb-main-header,
.whb-header .whb-flex-row,
.whb-row,
.main-page-wrapper,
.site-content { border: none !important; box-shadow: none !important; }
.whb-header::before, .whb-header::after,
.whb-row::before, .whb-row::after,
.whb-main-header::before, .whb-main-header::after { display: none !important; }
.main-page-wrapper { border-top: none !important; }

/* === Shop-filter price slider === */
.shopf-price-wrap {
	display: inline-flex !important;
	align-items: center !important;
	gap: 14px !important;
	flex-shrink: 0 !important;
	font-family: 'DM Sans', sans-serif !important;
}
.shopf-price-wrap .shopf-price-lbl {
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: #1a1a1a !important;
	white-space: nowrap !important;
}
.shopf-price-wrap .shopf-price-lbl strong {
	color: #e85a4f !important;
	font-weight: 800 !important;
}
.shopf-price-slider {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 160px !important;
	height: 4px !important;
	background: #f4d4d0 !important;
	border-radius: 4px !important;
	outline: none !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	flex-shrink: 0 !important;
}
.shopf-price-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #e85a4f;
	cursor: pointer;
	border: 2px solid #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,0.25);
	transition: transform .15s ease;
}
.shopf-price-slider::-webkit-slider-thumb:hover {
	transform: scale(1.15);
}
.shopf-price-slider::-moz-range-thumb {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #e85a4f;
	cursor: pointer;
	border: 2px solid #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,0.25);
	transition: transform .15s ease;
}
.shopf-price-slider::-moz-range-thumb:hover {
	transform: scale(1.15);
}
.shopf-price-slider::-moz-range-track {
	height: 4px;
	background: #f4d4d0;
	border-radius: 4px;
}
@media (max-width: 768px) {
	.shopf-price-wrap { gap: 10px !important; flex-basis: 100% !important; }
	.shopf-price-slider { width: 130px !important; }
	.shopf-price-wrap .shopf-price-lbl { font-size: 12px !important; }
}

/* === Shop-filter custom pretty dropdowns === */
.shopf-dd {
	position: relative !important;
	display: inline-block !important;
	flex-shrink: 0 !important;
	font-family: 'DM Sans', sans-serif !important;
}
.shopf-dd-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: transparent !important;
	border: none !important;
	padding: 6px 0 !important;
	margin: 0 !important;
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: #1a1a1a !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	outline: none !important;
}
.shopf-dd.has-value .shopf-dd-btn { color: #e85a4f !important; }
.shopf-dd-btn:hover { color: #e85a4f !important; }
.shopf-dd-btn .shopf-dd-arrow {
	display: inline-block !important;
	width: 10px !important;
	height: 6px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%231a1a1a'%3E%3Cpath d='M0 0l6 8 6-8z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
	background-position: center !important;
	transition: transform .2s ease !important;
}
.shopf-dd.open .shopf-dd-btn .shopf-dd-arrow { transform: rotate(180deg) !important; }
.shopf-dd.has-value .shopf-dd-btn .shopf-dd-arrow,
.shopf-dd-btn:hover .shopf-dd-arrow {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23e85a4f'%3E%3Cpath d='M0 0l6 8 6-8z'/%3E%3C/svg%3E") !important;
}
.shopf-dd-panel {
	position: absolute !important;
	top: calc(100% + 10px) !important;
	left: 0 !important;
	min-width: 200px !important;
	background: #fff !important;
	border: 1px solid #f0e9e6 !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.04) !important;
	padding: 8px !important;
	/* Must beat the product cards' GRAND SALE sticker (z-index:9999) so the dropdown
	   options aren't covered by a sticker bleeding through from the grid behind. */
	z-index: 100000 !important;
	display: none !important;
	flex-direction: column !important;
	gap: 2px !important;
	font-family: 'DM Sans', sans-serif !important;
}
/* Open dropdown lifts its whole stacking context above the grid (sticker z-index 9999). */
.shopf-dd.open { z-index: 100001 !important; }
.shopf-dd.open .shopf-dd-panel { display: flex !important; }
.shopf-dd-panel::before {
	content: "" !important;
	position: absolute !important;
	top: -7px !important;
	left: 24px !important;
	width: 12px !important;
	height: 12px !important;
	background: #fff !important;
	border-left: 1px solid #f0e9e6 !important;
	border-top: 1px solid #f0e9e6 !important;
	transform: rotate(45deg) !important;
}
.shopf-dd-opt {
	display: block !important;
	width: 100% !important;
	text-align: left !important;
	padding: 10px 14px !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 8px !important;
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	color: #1a1a1a !important;
	cursor: pointer !important;
	transition: background .15s ease, color .15s ease !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	outline: none !important;
}
.shopf-dd-opt:hover {
	background: #fdf3f2 !important;
	color: #e85a4f !important;
}
.shopf-dd-opt.is-selected {
	background: #e85a4f !important;
	color: #fff !important;
}
.shopf-dd-opt.is-selected:hover {
	background: #d44a40 !important;
	color: #fff !important;
}
.shopf-dd-opt.shopf-dd-clear {
	font-weight: 500 !important;
	font-size: 12px !important;
	color: #999 !important;
	border-bottom: 1px solid #f0e9e6 !important;
	border-radius: 0 !important;
	margin-bottom: 4px !important;
	padding-bottom: 12px !important;
}
.shopf-dd-opt.shopf-dd-clear:hover {
	color: #e85a4f !important;
	background: transparent !important;
}
@media (max-width: 768px) {
	.shopf-dd-btn { font-size: 12px !important; }
	.shopf-dd-panel { min-width: 170px !important; padding: 6px !important; }
	.shopf-dd-opt { font-size: 12px !important; padding: 8px 12px !important; }
}

/* === Single product: "Complete the look" (bedding) - responsive units === */
/* Hidden until JS relocates it to the bottom - prevents the top->bottom FOUC jump */
.cmm-complete-look { display: none !important; }
.cmm-complete-look.cmm-cl-ready { display: block !important; }
.cmm-complete-look {
	max-width: 72rem;
	margin: 4vh auto;
	padding: 3vh 2vw;
	background: #faf6f1;
	border: 1px solid #ece8e2;
	border-radius: 1rem;
	font-family: 'DM Sans', sans-serif;
}
.cmm-cl-title {
	font-size: clamp(20px, 2vw, 28px) !important;
	font-weight: 800 !important;
	color: #1a1a1a !important;
	margin: 0 0 0.5vh !important;
	text-align: center !important;
}
.cmm-cl-sub {
	text-align: center;
	font-size: clamp(13px, 1vw, 15px);
	color: #666;
	margin: 0 0 2.4vh;
}
.cmm-cl-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8vw;
	justify-content: center;
	margin-bottom: 3vh;
}
.cmm-cl-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 1.3vh 1.5vw;
	background: #fff;
	border: 1.5px solid #e85a4f;
	border-radius: 999px;
	color: #e85a4f !important;
	font-weight: 700;
	font-size: clamp(11px, 0.9vw, 14px);
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
.cmm-cl-link i { font-style: normal; transition: transform .15s ease; }
.cmm-cl-link:hover {
	background: #e85a4f;
	color: #fff !important;
	transform: translateY(-1px);
}
.cmm-cl-link:hover i { transform: translateX(3px); }
.cmm-cl-suggest-head {
	text-align: center;
	font-size: clamp(12px, 0.9vw, 14px);
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #999;
	margin: 0 0 1.8vh;
}
.cmm-cl-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1vw;
}
.cmm-cl-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #ece8e2;
	border-radius: 0.75rem;
	overflow: hidden;
	text-decoration: none !important;
	transition: transform .15s ease, box-shadow .15s ease;
}
.cmm-cl-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 1vh 2vh rgba(0,0,0,0.08);
}
.cmm-cl-card-img {
	display: block !important;
	position: relative !important;
	overflow: hidden !important;
	height: 0 !important;
	padding-bottom: 100% !important;
	background: #f4f0ea;
}
.cmm-cl-card-img img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.cmm-cl-card-name {
	padding: 1.2vh 0.9vw 0.4vh;
	font-size: clamp(12px, 0.95vw, 14px);
	font-weight: 600;
	color: #1a1a1a;
	line-height: 1.3;
}
.cmm-cl-card-price {
	padding: 0 0.9vw 1.4vh;
	font-size: clamp(13px, 1vw, 15px);
	font-weight: 800;
	color: #e85a4f;
}
.cmm-cl-card-price del { color: #999; font-weight: 500; font-size: 0.85em; margin-right: 0.4em; text-decoration: line-through; }
.cmm-cl-card-price ins { text-decoration: none; color: #e85a4f; font-weight: 900; background: transparent; }
.cmm-cl-card-price ins .cmm-now-label { font-weight: 400; }
@media (max-width: 900px) {
	.cmm-cl-grid { grid-template-columns: repeat(2, 1fr); gap: 2.5vw; }
}
@media (max-width: 768px) {
	.cmm-complete-look { margin: 3vh 3vw; padding: 2.4vh 4vw; }
	.cmm-cl-title { font-size: clamp(18px, 5vw, 22px) !important; }
	.cmm-cl-link { padding: 1.4vh 4vw; font-size: clamp(11px, 3vw, 13px); }
	.cmm-cl-links { gap: 2.5vw; }
}

/* === Slogan: footer headline + header logo tagline === */
.cmm-slogan-headline {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	font-family: 'DM Sans', sans-serif !important;
}
.cmm-slogan-headline .cmm-slogan-main {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: #fff !important;
	letter-spacing: 0.3px !important;
	line-height: 1.25 !important;
}
.cmm-slogan-headline .cmm-slogan-sub {
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #e85a4f !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
}
/* Header logo tagline */
.site-logo { display: flex !important; align-items: center !important; gap: 14px !important; }
.cmm-logo-tagline {
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-left: 2px solid #e8e2da;
	padding-left: 14px;
	font-family: 'DM Sans', sans-serif;
	line-height: 1.2;
}
.cmm-logo-tagline-main {
	font-size: 13px;
	font-weight: 800;
	color: #1a1a1a;
	letter-spacing: 0.2px;
	white-space: nowrap;
}
.cmm-logo-tagline-sub {
	font-size: 10px;
	font-weight: 600;
	color: #e85a4f;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-top: 2px;
}
@media (max-width: 1024px) {
	.cmm-logo-tagline { display: none !important; }   /* hide tagline on mobile - logo only */
}

/* Newsletter section (cc4a2e5) moved into the footer - hide the original home section. */
html body.home .elementor-element-cc4a2e5,
html body .elementor.elementor-5842 .elementor-element-cc4a2e5 { display: none !important; }

/* === Newsletter section (cc4a2e5): 3 columns aligned, centered on the page === */
html body .elementor-element-cc4a2e5 > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 28px !important;
	max-width: 1240px !important;
	margin: 0 auto !important;
	padding: 48px 24px !important;
	flex-wrap: nowrap !important;
}
html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-e2df067,
html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-aacc892,
html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-3b9f6f4 {
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
}
/* Three equal 33% columns */
html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-e2df067,
html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-aacc892,
html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-3b9f6f4 {
	flex: 1 1 33.333% !important;
	width: 33.333% !important;
	max-width: 33.333% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}
/* Heading - single line, sized to fit a third of the row */
html body .elementor-element-cc4a2e5 .elementor-element-c901f53 h2 {
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: clamp(18px, 1.7vw, 24px) !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	color: #1a1a1a !important;
	white-space: nowrap !important;
}
html body .elementor-element-cc4a2e5 .elementor-element-c901f53 .wd-text-block { text-align: left !important; }
/* Middle description column - add a small tagline under it for visual balance */
html body .elementor-element-cc4a2e5 .elementor-element-1e4da8f .wd-text-block { text-align: left !important; }
html body .elementor-element-cc4a2e5 .elementor-element-1e4da8f p {
	font-family: 'DM Sans', sans-serif !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: #555 !important;
	margin: 0 !important;
}
html body .elementor-element-cc4a2e5 .elementor-element-1e4da8f p::after {
	content: 'No spam - unsubscribe anytime. ';
	display: block;
	margin-top: 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.3px;
	color: #e85a4f;
}
/* All three columns top-aligned; push the email field down so it lines up with the
   heading + description text (which sit a bit lower due to their line-height). */
html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-e2df067,
html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-aacc892 {
	align-self: flex-start !important;
	padding-top: 0 !important;
}
html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-3b9f6f4 {
	align-self: flex-start !important;
	padding-top: 29px !important;   /* raised 5px (was 34px) */
}
html body .elementor-element-cc4a2e5 .elementor-element-3d74bc6,
html body .elementor-element-cc4a2e5 .elementor-element-3d74bc6 > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}
html body .elementor-element-cc4a2e5 .mc4wp-form {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
html body .elementor-element-cc4a2e5 .mc4wp-form-fields {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin: 0 !important;
}
/* mc4wp wraps each field in a <p> with default 1em margins - kill them */
html body .elementor-element-cc4a2e5 .mc4wp-form p,
html body .elementor-element-cc4a2e5 .mc4wp-form-fields p {
	margin: 0 !important;
	padding: 0 !important;
}
html body .elementor-element-cc4a2e5 .mc4wp-form input[type="email"] {
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}
html body .elementor-element-cc4a2e5 .mc4wp-form input[type="submit"] {
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}
@media (max-width: 900px) {
	/* Stack into ONE full-width column - the 33% desktop grid must be fully reset */
	html body .elementor-element-cc4a2e5 > .e-con-inner {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		gap: 3vh !important;
		text-align: center !important;
		padding: 4vh 6vw !important;
		max-width: 100% !important;
	}
	html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-e2df067,
	html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-aacc892,
	html body .elementor-element-cc4a2e5 > .e-con-inner > .elementor-element-3b9f6f4 {
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		align-self: stretch !important;
		align-items: center !important;
		padding-top: 0 !important;
	}
	html body .elementor-element-cc4a2e5 .elementor-element-c901f53 .wd-text-block,
	html body .elementor-element-cc4a2e5 .elementor-element-1e4da8f .wd-text-block {
		text-align: center !important;
	}
	/* Heading must wrap on mobile (it has white-space:nowrap on desktop) */
	html body .elementor-element-cc4a2e5 .elementor-element-c901f53 h2 {
		white-space: normal !important;
		font-size: clamp(20px, 6vw, 28px) !important;
		text-align: center !important;
	}
	html body .elementor-element-cc4a2e5 .elementor-element-1e4da8f p {
		font-size: clamp(14px, 3.8vw, 16px) !important;
	}
	html body .elementor-element-cc4a2e5 .elementor-element-1e4da8f p::after {
		font-size: clamp(11px, 3vw, 13px) !important;
	}
	html body .elementor-element-cc4a2e5 .mc4wp-form,
	html body .elementor-element-cc4a2e5 .mc4wp-form-fields { width: 100% !important; }
	html body .elementor-element-cc4a2e5 .mc4wp-form input[type="email"],
	html body .elementor-element-cc4a2e5 .mc4wp-form input[type="submit"] {
		width: 100% !important;
		box-sizing: border-box !important;
		white-space: normal !important;
	}
}

/* === WHY SHOP block - centered on the page === */
.why-shop-section {
	max-width: 1100px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}
.why-shop-section .ws-intro,
.why-shop-section .ws-final {
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}
/* The 3 numbered points row - center it as a group */
.why-shop-section .ws-row-points,
.why-shop-section .ws-points {
	display: flex !important;
	justify-content: center !important;
	align-items: flex-start !important;
	flex-wrap: wrap !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* === WHY SHOP: HUGE number + small cloud-shaped blob behind text (number overlaps the cloud) === */
.why-shop-section .ws-point {
	position: relative !important;
	overflow: visible !important;
	padding: 0 !important;
}
.why-shop-section .ws-point::before { display: none !important; }      /* remove old "whole-point" blob */
.why-shop-section .ws-num {
	font-size: 110px !important;            /* original size */
	font-weight: 900 !important;
	color: #9BAA7A !important;
	line-height: 0.9 !important;
	flex-shrink: 0 !important;
	position: relative !important;
	z-index: 1 !important;
	margin-right: -22px !important;
}
/* When the number is replaced by an icon, strip the digit styling */
.why-shop-section .ws-num.ws-num--icon {
	font-size: 0 !important;
	color: transparent !important;
	margin-right: clamp(4px, 0.6vw, 12px) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.why-shop-section .ws-icon {
	width: clamp(56px, 7vw, 100px);
	height: auto;
	display: block;
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.10));
}
/* Small cloud around the TEXT only */
.why-shop-section .ws-point-text {
	position: relative !important;
	z-index: 2 !important;
	padding: 18px 22px !important;
	font-weight: 500 !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	white-space: normal !important;
	width: max-content !important;
	max-width: 240px !important;
}
.why-shop-section .ws-point-text::before {
	content: '';
	position: absolute;
	inset: -6px -10px -6px -10px;
	background: rgba( 244, 182, 182, 0.6 );
	border-radius: 60% 40% 65% 35% / 50% 60% 40% 50%;
	z-index: -1;
	pointer-events: none;
}
.why-shop-section .ws-point:nth-child(2) .ws-point-text::before {
	border-radius: 40% 60% 35% 65% / 60% 45% 55% 40%;
	transform: rotate( 5deg );
}
.why-shop-section .ws-point:nth-child(3) .ws-point-text::before {
	border-radius: 55% 45% 60% 40% / 50% 55% 45% 50%;
	transform: rotate( -4deg );
}

/* Center the main heading + final sign-off */
.why-shop-section .ws-row-headings:first-child,
.why-shop-section .ws-row-headings.center {
	justify-content: center !important;
	text-align: center !important;
}
.why-shop-section .ws-final { text-align: center !important; }

/* "WE'VE BUILT" + outro paragraph are not in the user's design - hide them */
.why-shop-section .ws-row-headings.right,
.why-shop-section .ws-outro { display: none !important; }

/* Center the main heading + final sign-off */
.why-shop-section .ws-row-headings:first-child,
.why-shop-section .ws-row-headings.center {
	justify-content: center !important;
	text-align: center !important;
}
.why-shop-section .ws-final { text-align: center !important; }
@media (min-width: 769px) {
	.why-shop-section .ws-final { margin-top: 7vh !important; }   /* was 72px */
}

/* "WE'VE BUILT" + outro paragraph are not in the user's design - hide them */
.why-shop-section .ws-row-headings.right,
.why-shop-section .ws-outro { display: none !important; }

@media (min-width: 769px) {
	.why-shop-section .ws-intro {
		background: linear-gradient(135deg, #f9e8e6 0%, #d4dfca 100%) !important;
		border-radius: 22px !important;
		padding: 32px 36px !important;
		font-size: 17px !important;
		line-height: 1.6 !important;
		margin: 24px 0 36px !important;
		max-width: 1100px !important;
	}
	.why-shop-section .ws-points {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 30px !important;
	}
	.why-shop-section .ws-point {
		display: flex !important;
		align-items: center !important;
		gap: 18px !important;
	}
	.why-shop-section .ws-num::before { inset: -14px -32px -14px -32px; }
}

/* === Remove the GREEN BRUSHSTROKES on why-shop section headings.
   These are background-image: url(.../Line-12|13|14.png) on .ws-heading.brush-1/2/3.
   Override with no background. === */
.why-shop-section .ws-heading,
.why-shop-section .ws-heading.brush-1,
.why-shop-section .ws-heading.brush-2,
.why-shop-section .ws-heading.brush-3 {
	background-image: none !important;
	background: none !important;
	padding: 6px 0 !important;
}
/* Belt-and-braces: kill <img> tags pointing at Line-12/13/14 (used as brushstroke) */
img[src*="Line-12" i],
img[src*="Line-13" i],
img[src*="Line-14" i] {
	display: none !important;
}
/* And inline styles referencing them */
[style*="Line-12" i],
[style*="Line-13" i],
[style*="Line-14" i] {
	background-image: none !important;
}

/* === Mobile responsive - comprehensive === */
@media (max-width: 768px) {
	/* Prevent horizontal overflow on entire page */
	html, body { overflow-x: hidden !important; max-width: 100vw !important; }
	body * { max-width: 100% !important; }
	img, video, iframe { max-width: 100% !important; height: auto !important; }

	/* Header - tighten and stack neatly */
	.whb-header,
	.whb-main-header,
	.whb-row { padding: 0 8px !important; }
	.whb-flex-row { flex-wrap: wrap !important; gap: 6px !important; }
	.site-logo img,
	.whb-col-logo img { max-height: 40px !important; width: auto !important; }
	.whb-search-form { width: 100% !important; order: 99 !important; }
	.whb-search-form input { font-size: 14px !important; padding: 8px 12px !important; }

	/* Hero slider - readable text + tap-friendly arrows */
	.elementor-slides-wrapper .elementor-slide-heading,
	.elementor-slides h1, .elementor-slides h2 {
		font-size: 28px !important;
		line-height: 1.1 !important;
		padding: 0 12px !important;
	}
	.elementor-slides-wrapper .elementor-slide-description {
		font-size: 14px !important;
		padding: 0 12px !important;
	}
	.elementor-slides-wrapper .elementor-slide-button {
		font-size: 13px !important;
		padding: 10px 18px !important;
	}

	/* Timer banner - image keeps natural aspect ratio (no max-height crop) */
	.deal-banner img { max-height: none !important; height: auto !important; object-fit: contain !important; image-rendering: auto !important; }
	.deal-timer { gap: 6px !important; left: 50% !important; }
	.timer-box { padding: 0 3px !important; min-width: 38px !important; }
	.timer-box .t-num { font-size: 22px !important; letter-spacing: 0 !important; }
	.timer-box .t-label { font-size: 8px !important; margin-top: 2px !important; }
	.timer-box:not(:last-child)::after { font-size: 18px !important; right: -5px !important; }
	.deal-banner .deal-timer-title { font-size: 13px !important; top: 10% !important; }

	/* Selling Out Fast carousel - tap-friendly */
	.wd-carousel-container { padding: 0 4px !important; }
	.owl-carousel .owl-item { padding: 0 4px !important; }
	.owl-carousel .product-grid-item { padding: 0 !important; }

	/* Product card - compact 2-col */
	.claude-products-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
		padding: 16px 8px !important;
	}
	.claude-product-card { padding: 6px !important; border-radius: 10px !important; }
	.claude-product-card .cp-title { font-size: 12px !important; line-height: 1.3 !important; margin: 8px 4px 4px !important; }
	.claude-product-card .cp-price { font-size: 13px !important; margin: 0 4px 6px !important; }
	.cp-clearance-badge { font-size: 9px !important; padding: 3px 7px !important; top: 8px !important; left: 8px !important; }

	/* WC product loop on category pages */
	.products.elements-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
	.product-grid-item .product-image-link img { height: auto !important; }
	.product-grid-item .product-element-bottom .product-title,
	.product-grid-item .wd-entities-title { font-size: 12px !important; line-height: 1.3 !important; margin-top: 6px !important; }
	.product-grid-item .price { font-size: 13px !important; }

	/* Selling Out Fast / product carousel arrows - smaller, tap-friendly */
	.owl-carousel .owl-nav .owl-prev,
	.owl-carousel .owl-nav .owl-next,
	.elementor-swiper-button-prev,
	.elementor-swiper-button-next,
	.swiper-button-prev,
	.swiper-button-next {
		width: 36px !important;
		height: 36px !important;
	}

	/* Designer section: single column, hotspots positioned for thumb */
	.designer-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
	.designer-item { width: 100% !important; }
	.designer-img img { width: 100% !important; height: auto !important; border-radius: 12px !important; }
	.hotspot { width: 22px !important; height: 22px !important; border-width: 2px !important; }
	.hotspot-tooltip {
		font-size: 11px !important;
		padding: 6px 10px !important;
		max-width: 160px !important;
		white-space: normal !important;
	}

	/* Maybe-circles - 3 per row instead of 9 */
	.maybe-circles { grid-template-columns: repeat(3, 1fr) !important; gap: 14px !important; padding: 16px 8px !important; }
	.maybe-circle img { width: 70px !important; height: 70px !important; }
	.maybe-circle .mc-label { font-size: 11px !important; line-height: 1.2 !important; margin-top: 6px !important; }
	/* "Shop our Best Deals" cards: bigger circle photo (no overlap with price/name) */
	html body .maybe-section .maybe-item .maybe-circle {
		width: clamp(110px, 34vw, 140px) !important;
		height: clamp(110px, 34vw, 140px) !important;
		max-width: none !important;
	}

	/* Why-shop section - mobile: vertical stack, intro paragraph in green-pink gradient card */
	.why-shop-section { padding: 24px 16px !important; }
	.why-shop-section .ws-heading {
		font-size: 26px !important; padding: 10px 0 !important; letter-spacing: 0.3px !important;
		text-align: center !important; display: block !important; width: 100% !important;
	}
	.why-shop-section .ws-row-headings,
	.why-shop-section .ws-row-headings.center,
	.why-shop-section .ws-row-headings.right { justify-content: center !important; margin: 12px 0 !important; }
	/* Intro card - wraps the first text block */
	.why-shop-section .ws-intro {
		background: linear-gradient(135deg, #f9e8e6 0%, #d4dfca 100%) !important;
		border-radius: 18px !important;
		padding: 20px 18px !important;
		font-size: 14px !important;
		line-height: 1.55 !important;
		margin: 16px 0 24px !important;
	}
	.why-shop-section .ws-outro { font-size: 14px !important; line-height: 1.5 !important; margin: 14px 0 18px !important; }
	/* Mobile points - alternating layout: 1=left, 2=right, 3=left (as on screenshot) */
	.why-shop-section .ws-points { grid-template-columns: 1fr !important; gap: 30px !important; }
	.why-shop-section .ws-point {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		position: relative !important;
	}
	.why-shop-section .ws-point:nth-child(2) {
		flex-direction: row-reverse !important;
		justify-content: flex-start !important;
	}
	.why-shop-section .ws-num {
		font-size: 80px !important;            /* original mobile size */
		min-width: 70px !important;
		text-align: center !important;
		margin: 0 -18px 0 0 !important;
	}
	.why-shop-section .ws-point:nth-child(2) .ws-num {
		margin: 0 0 0 -18px !important;
	}
	.why-shop-section .ws-point-text {
		font-size: 13px !important;
		max-width: 200px !important;
		padding: 14px 18px !important;
		line-height: 1.35 !important;
	}
	.why-shop-section .ws-final {
		font-size: 14px !important; margin-top: 22px !important;
		text-align: center !important; font-style: italic !important;
	}

	/* Newsletter - single-column form */
	.wd-mailchimp,
	.wd-mailchimp form,
	.elementor-widget-wd_mailchimp form {
		flex-direction: column !important;
		gap: 10px !important;
		padding: 16px !important;
	}
	.wd-mailchimp input[type="email"],
	.elementor-widget-wd_mailchimp input[type="email"] {
		width: 100% !important;
		font-size: 15px !important;
		padding: 12px 16px !important;
	}
	.wd-mailchimp button,
	.wd-mailchimp input[type="submit"],
	.elementor-widget-wd_mailchimp button {
		width: 100% !important;
		font-size: 14px !important;
		padding: 12px !important;
	}

	/* Footer - stack columns */
	.site-footer { padding: 28px 16px !important; }
	.site-footer .footer-row,
	.site-footer .wd-footer-columns,
	.site-footer .elementor-section-wrap > .elementor-section { padding: 0 !important; }
	.site-footer .elementor-column { width: 100% !important; padding: 8px 0 !important; }
	.site-footer h3, .site-footer h4 { font-size: 16px !important; margin-bottom: 10px !important; }
	.site-footer ul li, .site-footer p { font-size: 13px !important; line-height: 1.6 !important; }

	/* Mega menu: stack columns */
	.claude-mega-menu .cmm-grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
	.claude-mega-menu { padding: 20px 16px !important; }
	.claude-mega-menu .cmm-side { display: none !important; }
	.claude-mega-menu h4 { font-size: 14px !important; }
	.claude-mega-menu ul { padding-left: 0 !important; }
	.claude-mega-menu li { font-size: 13px !important; }

	/* Shop-filter: stack the filter row */
	.shopf-filter {
		flex-wrap: wrap !important;
		gap: 12px !important;
		padding: 12px 14px !important;
	}
	.shopf-filter > .shopf-label { width: 100% !important; }
	.shopf-filter-spacer { display: none !important; }
	.shopf-price-wrap { flex-basis: 100% !important; }

	/* Single product page - vertical stack */
	.single-product .product-image-summary-wrap,
	.single-product div.product .summary-inner-wrap,
	.single-product div.product { display: block !important; }
	.single-product div.product .images,
	.single-product div.product .summary {
		width: 100% !important;
		float: none !important;
		padding: 0 !important;
	}
	.single-product div.product .summary { padding: 16px 8px !important; }
	.single-product div.product h1.product_title { font-size: 22px !important; line-height: 1.2 !important; }
	.single-product div.product .price { font-size: 20px !important; }
	.single-product .quantity input { font-size: 16px !important; }
	.single-product .single_add_to_cart_button { width: 100% !important; padding: 14px !important; font-size: 14px !important; }

	/* === Mobile product-page fixes: qty stepper + Add To Basket cutoff + gallery declutter === */
	/* Add To Basket: fill the remaining space in the qty+button flex row (was width:100% -> overflowed off-screen right). */
	.single-product .e-atc-qty-button-holder { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; gap: 10px !important; max-width: 100% !important; }
	.single-product .e-atc-qty-button-holder .single_add_to_cart_button,
	.single-product .quantity + .single_add_to_cart_button { width: auto !important; flex: 1 1 0 !important; min-width: 0 !important; margin-left: 0 !important; }
	/* Quantity stepper: unify minus/number/plus into one clean 46px control (was crooked - mismatched heights). */
	.single-product .quantity { display: flex !important; align-items: stretch !important; height: 46px !important; margin: 0 !important; }
	.single-product .quantity input.minus,
	.single-product .quantity input.plus,
	.single-product .quantity input.qty,
	.single-product .quantity input.input-text {
		height: 46px !important; box-sizing: border-box !important; margin: 0 !important;
		border: 1px solid #ddd9d1 !important; background: #f7f3ef !important;
		font-size: 16px !important; color: #1a1a1a !important; text-align: center !important;
		-webkit-appearance: none !important; appearance: none !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important;
	}
	.single-product .quantity input.minus { width: 40px !important; border-radius: 8px 0 0 8px !important; border-right: 0 !important; cursor: pointer !important; }
	.single-product .quantity input.qty,
	.single-product .quantity input.input-text { width: 46px !important; border-left: 0 !important; border-right: 0 !important; }
	.single-product .quantity input.plus { width: 40px !important; border-radius: 0 8px 8px 0 !important; border-left: 0 !important; cursor: pointer !important; }
	/* "Click to enlarge" pill: hide on mobile (tapping the image still opens it) */
	.single-product .wd-show-product-gallery-wrap,
	.single-product .product-additional-galleries .wd-gallery-btn { display: none !important; }

	/* Single product gallery thumbs */
	.single-product .flex-control-thumbs li,
	.single-product .wd-product-images .thumbnails .slick-slide { width: 22% !important; }

	/* Cart/Checkout */
	.woocommerce-cart-form table.shop_table,
	.woocommerce-cart table.cart { font-size: 13px !important; }
	.woocommerce-cart .cart_totals { padding: 14px !important; }
	.woocommerce-checkout #customer_details { display: block !important; }
	.woocommerce-checkout .col-1, .woocommerce-checkout .col-2 { width: 100% !important; padding: 0 !important; }
	.woocommerce-checkout .form-row { width: 100% !important; }
	.woocommerce-checkout .place-order .button { width: 100% !important; padding: 14px !important; font-size: 15px !important; }

	/* Pagination */
	.wd-pagination,
	.woocommerce-pagination { padding: 16px 0 !important; }
	.wd-pagination a, .woocommerce-pagination a {
		min-width: 36px !important;
		height: 36px !important;
		font-size: 13px !important;
	}

	/* Topbar - keep simple */
	.whb-top-bar { font-size: 11px !important; padding: 4px 8px !important; }
	.whb-top-bar .whb-flex-row { flex-wrap: wrap !important; gap: 4px !important; }

	/* Make sure clickable items are tap-friendly */
	a.button, button, input[type="submit"], .add_to_cart_button {
		min-height: 40px !important;
		font-size: 14px !important;
	}

	/* Product page reviews & tabs */
	.wc-tabs li,
	.woocommerce-tabs ul.tabs li { display: block !important; width: 100% !important; padding: 10px 14px !important; font-size: 13px !important; }

	/* Hide noisy elements that take vertical space */
	.whb-secondary-menu, .whb-secondary-menu-mobile { display: none !important; }
}

/* Paint the page background cream at ALL widths so no white body shows through
   the gap between header and content (the cream override below 6963 was inside
   @media min-width:992px only -> white band appeared on blog pages under 992px). */
html body,
html body .website-wrapper,
html body .main-page-wrapper {
	background-color: #f7f3ef !important;
	background-image: none !important;
}

/* Small phones - extra tight */
@media (max-width: 380px) {
	.claude-products-grid, .products.elements-grid { gap: 6px !important; padding: 12px 6px !important; }
	.claude-product-card .cp-title { font-size: 11px !important; }
	.timer-box .t-num { font-size: 18px !important; }
	.timer-box .t-label { font-size: 7px !important; }
	.deal-banner .deal-timer-title { font-size: 11px !important; }
	.maybe-circle img { width: 60px !important; height: 60px !important; }
	.why-shop-section .ws-heading { font-size: 18px !important; }
}

/* Tablets - keep reasonable density */
@media (min-width: 769px) and (max-width: 1024px) {
	.claude-products-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
	.products.elements-grid { grid-template-columns: repeat(3, 1fr) !important; }
	.designer-grid { grid-template-columns: repeat(2, 1fr) !important; }
	.maybe-circles { grid-template-columns: repeat(5, 1fr) !important; }
	.claude-mega-menu .cmm-grid { grid-template-columns: 1fr 1fr !important; }
	.shopf-filter { gap: 18px !important; padding: 14px 18px !important; }
	.deal-banner img { max-height: none !important; height: auto !important; object-fit: contain !important; }
}

/* === Desktop: equal visual gaps measured between actual CONTENT (not containers) ===
   Strategy: put ALL the gap into one place - the categories row's own padding -
   and zero out everything else that could add invisible whitespace. That way the
   distance from the search input's bottom edge to the category text's top edge
   equals the distance from the category text's bottom edge to the banner image's top edge. */
@media (min-width: 992px) {
	/* Search row - no bottom padding/margin, so its bottom edge is right at the row boundary */
	html body .whb-general-header,
	html body .whb-general-header .whb-flex-row {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	/* Categories row - owns the entire gap. 18px above text + 18px below text = matched. */
	html body .whb-header-bottom {
		padding-top: 18px !important;
		padding-bottom: 18px !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	html body .whb-header-bottom .whb-flex-row {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		margin: 0 !important;
	}
	/* Main content starts immediately at the header boundary - no extra top space */
	html body .main-page-wrapper,
	html body .main-page-wrapper > .container,
	html body article.page,
	html body .entry-content {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	/* Kill any white horizontal strip between header and the lifted banner - paint everything cream */
	html body .main-page-wrapper,
	html body .main-page-wrapper > .container,
	html body .row.content-layout-wrapper,
	html body .site-content,
	html body article.page,
	html body .entry-content,
	html body .website-wrapper {
		background-color: #f7f3ef !important;
		background-image: none !important;
		border-top: none !important;
		border-bottom: none !important;
	}
	/* Hero / first content section: target it DIRECTLY by Elementor data-id, vh-scaled */
	html body .elementor-element-202f18b,
	html body .elementor-element.elementor-element-202f18b,
	html body .shopf-page-wrap > .claude-launch-banner,
	html body .shopf-page-wrap > .claude-kids-banner {
		padding-top: 0 !important;
		margin-top: -2vh !important;    /* was -20px */
	}
	/* The hero section's inner container (where Elementor stores its padding setting) */
	html body .elementor-element-202f18b > .elementor-container,
	html body .elementor-element-202f18b > .elementor-container > .elementor-row,
	html body .elementor-element-202f18b > .elementor-container > .elementor-column,
	html body .elementor-element-202f18b > .elementor-container > .elementor-column > .elementor-widget-wrap {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	/* Launch / kids banner: fit the content container exactly (same width as the
	   FILTER BY bar + product grid below it). No full-bleed - that caused the
	   right edge to overflow on /shop-filter/ category pages. */
	html body .claude-launch-banner,
	html body .claude-kids-banner {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
		border-radius: 8px !important;
	}
}
/* === /shop-filter/ + /clearance: centred ranking row + equal banner margins === */
@media (min-width: 769px) {
	.claude-launch-banner,
	.claude-kids-banner {
		margin: 20px 0 20px !important;
	}
	.shopf-filter {
		justify-content: center !important;
		margin: 0 auto 20px !important;
	}
	.shopf-page-wrap > .shopf-filter,
	.shopf-page-wrap > .claude-launch-banner,
	.shopf-page-wrap > .claude-kids-banner {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* === User account / My Account dashboard styling === */
/* Woodmart structure: .woocommerce > .woocommerce-my-account-wrapper > (.wd-my-account-sidebar + .woocommerce-MyAccount-content) */
/* Break out of Bootstrap's centered .container so the dashboard can use the full viewport width */
html body.woocommerce-account .main-page-wrapper > .container,
html body.woocommerce-account .row.content-layout-wrapper,
html body.woocommerce-account .site-content,
html body.woocommerce-account article.page,
html body.woocommerce-account .entry-content,
html body.woocommerce-account .woocommerce {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
html body.woocommerce-account .woocommerce {
	margin: 24px 0 !important;
	padding: 0 24px !important;
}
/* Remove the white horizontal strip between header and form (background on wrappers) */
html body.woocommerce-account .main-page-wrapper,
html body.woocommerce-account .main-page-wrapper > .container,
html body.woocommerce-account .row.content-layout-wrapper,
html body.woocommerce-account .site-content,
html body.woocommerce-account article.page,
html body.woocommerce-account .entry-content {
	background: transparent !important;
	border-top: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
}
@media (min-width: 768px) {
	html body.woocommerce-account .woocommerce-my-account-wrapper {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 16px !important;
		align-items: stretch !important;
		width: 100% !important;
		min-height: 520px !important;
	}
	html body.woocommerce-account .wd-my-account-sidebar {
		flex: 0 0 240px !important;
		width: 240px !important;
		max-width: 240px !important;
		min-width: 240px !important;
		box-sizing: border-box !important;
		float: none !important;
		position: static !important;
		order: 1 !important;
		margin: 0 !important;
	}
	html body.woocommerce-account .woocommerce-MyAccount-content {
		flex: 1 1 0 !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		float: none !important;
		position: static !important;
		order: 2 !important;
		margin: 0 !important;
	}
}
/* MOBILE: stack vertically + compact spacing between header and form */
@media (max-width: 767px) {
	html body.woocommerce-account .woocommerce-my-account-wrapper {
		display: block !important;
	}
	html body.woocommerce-account .wd-my-account-sidebar,
	html body.woocommerce-account .woocommerce-MyAccount-content {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		float: none !important;
		position: static !important;
		display: block !important;
		margin: 0 0 16px !important;
		box-sizing: border-box !important;
	}
	html body.woocommerce-account .woocommerce { padding: 8px 12px !important; margin: 8px 0 !important; }
	/* Compact the mobile header: kill extra padding so logo row sits right under the red bar */
	html body.woocommerce-account .whb-general-header-inner,
	html body.woocommerce-account .whb-main-header .whb-general-header-inner {
		height: 56px !important;
		max-height: 56px !important;
		min-height: 0 !important;
	}
	html body.woocommerce-account .whb-general-header,
	html body.woocommerce-account .whb-top-bar,
	html body.woocommerce-account .whb-header-bottom {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		min-height: 0 !important;
	}
	html body.woocommerce-account .main-page-wrapper {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	html body.woocommerce-account .main-page-wrapper > .container {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	html body.woocommerce-account .row.content-layout-wrapper,
	html body.woocommerce-account .site-content,
	html body.woocommerce-account article.page,
	html body.woocommerce-account .entry-content {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
}
/* Hide stray off-screen iframes (Track Order video etc.) that overflow the page */
html body.woocommerce-account .main-page-wrapper { overflow-x: hidden !important; }

/* My Addresses: WC renders 2 columns (Billing + Shipping). Force them into a grid with breathing room */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 24px !important;
	margin: 16px 0 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	padding: 20px !important;
	background: #faf6f1 !important;
	border-radius: 12px !important;
	border: 1px solid #ece8e2 !important;
	box-sizing: border-box !important;
	min-width: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 16px !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	margin: 0 0 10px !important;
	color: #1a1a1a !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
	font-style: normal !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13px !important;
	color: #444 !important;
	line-height: 1.7 !important;
}
@media (max-width: 600px) {
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
		grid-template-columns: 1fr !important;
	}
}
/* "MY ACCOUNT" title inside sidebar - readable, not cut off */
html body.woocommerce-account .woocommerce-MyAccount-title {
	display: block !important;
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 16px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: #1a1a1a !important;
	margin: 0 0 14px !important;
	padding: 0 16px !important;
	background: transparent !important;
	white-space: normal !important;
	overflow: visible !important;
}
/* Hide stray "My account" h2 heading that some themes inject above the navigation */
html body.woocommerce-account .woocommerce > h2:not(.wd-login-title),
html body.woocommerce-account .wd-my-account-title {
	display: none !important;
}

/* Hide Woodmart's native account tile grid - we replace it with .cmm-dashboard-cards */
body.woocommerce-account .woocommerce-MyAccount-content .wd-my-account-links { display: none !important; }

/* ===== Dashboard cards (Orders / Downloads / Addresses / Payments / Account / Logout) ===== */
.cmm-dashboard-cards {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 20px 0 0;
}
@media (max-width: 768px) {
	.cmm-dashboard-cards { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
@media (max-width: 480px) {
	.cmm-dashboard-cards { grid-template-columns: 1fr; }
}
.cmm-dashboard-card {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 36px 18px;
	background: #fff !important;
	border: 1px solid #ece8e2 !important;
	border-radius: 14px !important;
	text-decoration: none !important;
	color: #1a1a1a !important;
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-align: center;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, color .15s ease, background .15s ease !important;
	cursor: pointer;
}
.cmm-dashboard-card:hover {
	border-color: #e85a4f !important;
	color: #e85a4f !important;
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(232, 90, 79, 0.15);
	background: linear-gradient(180deg, #fff 0%, #fdf3f2 100%) !important;
}
.cmm-dashboard-card .cmm-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	color: #888;
	transition: color .15s ease;
}
.cmm-dashboard-card:hover .cmm-card-icon { color: #e85a4f; }
.cmm-dashboard-card .cmm-card-icon svg { width: 100%; height: 100%; display: block; }
.cmm-dashboard-card .cmm-card-label { line-height: 1.2; }

/* Hello + intro text above the cards */
body.woocommerce-account .woocommerce-MyAccount-content p {
	font-family: 'DM Sans', sans-serif !important;
	font-size: 14px;
	color: #444;
	line-height: 1.6;
	margin: 0 0 12px;
}
body.woocommerce-account .woocommerce-MyAccount-content p strong { color: #1a1a1a; }
.woocommerce-account .woocommerce-MyAccount-navigation {
	padding: 20px 16px !important;
	background: #fff !important;
	border: 1px solid #ece8e2 !important;
	border-radius: 14px !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.04) !important;
	min-width: 0 !important;
	width: auto !important;
	float: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0 0 2px 0 !important;
	display: block !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block !important;
	padding: 11px 16px !important;
	border-radius: 10px !important;
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	color: #1a1a1a !important;
	text-decoration: none !important;
	white-space: normal !important;
	overflow: visible !important;
	transition: background .15s ease, color .15s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: linear-gradient(135deg, #fdf3f2 0%, #fce8e5 100%) !important;
	color: #e85a4f !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: #888 !important;
	border-top: 1px solid #ece8e2 !important;
	margin-top: 10px !important;
	padding-top: 18px !important;
	border-radius: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
	padding: 32px 36px !important;
	background: #fff !important;
	border: 1px solid #ece8e2 !important;
	border-radius: 14px !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.04) !important;
	min-width: 0 !important;
	width: auto !important;
	float: none !important;
	min-height: 520px !important;
	transition: opacity .15s ease !important;
}
/* On the dashboard view (where we inject the 6 cards), strip the outer card-frame
   so the cards aren't nested inside another card and use the full width. */
.woocommerce-account .woocommerce-MyAccount-content:has(.cmm-dashboard-cards) {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 0 0 20px !important;
}
.woocommerce-account .woocommerce-MyAccount-content:has(.cmm-dashboard-cards) > p {
	padding: 0 4px !important;
}
.woocommerce-account .woocommerce-MyAccount-content.cmm-loading { opacity: 0.45 !important; pointer-events: none !important; }
/* "MY ACCOUNT" heading above the sidebar */
.woocommerce-account h2:has(+ .woocommerce-MyAccount-navigation),
body.woocommerce-account .wd-my-account-title {
	display: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 800 !important;
	color: #1a1a1a !important;
	margin-bottom: 16px !important;
}
.woocommerce-account .woocommerce-MyAccount-content table {
	border-collapse: collapse !important;
	width: 100% !important;
}
.woocommerce-account .woocommerce-MyAccount-content table th,
.woocommerce-account .woocommerce-MyAccount-content table td {
	padding: 12px 14px !important;
	border-bottom: 1px solid #f0e9e6 !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 14px !important;
}
.woocommerce-account .woocommerce-MyAccount-content table th {
	background: #faf6f4 !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	font-size: 12px !important;
}
.woocommerce-account .button,
.woocommerce-account input[type="submit"] {
	background: #e85a4f !important;
	color: #fff !important;
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	padding: 12px 22px !important;
	border-radius: 999px !important;
	border: none !important;
	cursor: pointer !important;
	transition: background .15s ease, transform .15s ease !important;
}
.woocommerce-account .button:hover,
.woocommerce-account input[type="submit"]:hover {
	background: #d44a40 !important;
	transform: translateY(-1px) !important;
}
.woocommerce-account .form-row label {
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	letter-spacing: 0.5px !important;
	margin-bottom: 6px !important;
}
.woocommerce-account .form-row input {
	border: 1.5px solid #f0e9e6 !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 14px !important;
	transition: border-color .15s ease !important;
}
.woocommerce-account .form-row input:focus {
	border-color: #e85a4f !important;
	outline: none !important;
}
@media (max-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { padding: 16px !important; }
	.woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 18px !important; }
	.woocommerce-account .woocommerce-MyAccount-content table th,
	.woocommerce-account .woocommerce-MyAccount-content table td { padding: 8px 10px !important; font-size: 12px !important; }
}

/* === Clearance + Sold-out badges on product cards === */
.claude-product-card { position: relative; }
.claude-product-card.is-clearance {
	border-color: #e85a4f !important;
	box-shadow: 0 0 0 1px rgba(232,90,79,0.15);
}
/* Old text "CLEARANCE" pill - kept for legacy contexts but hidden if sticker is present */
.cp-clearance-badge {
	position: absolute !important;
	top: 12px !important; left: 12px !important;
	background: #e85a4f !important;
	color: #fff !important;
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 11px !important;
	letter-spacing: 1.5px !important;
	padding: 4px 10px !important;
	border-radius: 999px !important;
	box-shadow: 0 2px 6px rgba(0,0,0,0.18) !important;
	z-index: 5 !important;
	text-transform: uppercase !important;
	pointer-events: none !important;
}
/* GRAND LAUNCH SALES sticker (on .claude-product-card via shortcode) - DESKTOP: large, like before */
.cp-sale-sticker {
	position: absolute !important;
	top: 8px !important; left: 8px !important;
	width: 70px !important; height: auto !important;
	z-index: 6 !important;
	pointer-events: none !important;
	filter: drop-shadow(0 2px 4px rgba(0,0,0,0.25));
}
/* Same sticker but injected via WC hook into Woodmart product cards (Selling Out Fast etc.) */
img.cp-sale-sticker-loop,
.product-grid-item .cp-sale-sticker-loop,
.products .cp-sale-sticker-loop {
	position: absolute !important;
	top: 8px !important; left: 8px !important; right: auto !important;
	width: 70px !important; height: auto !important;
	object-fit: contain !important;
	z-index: 8 !important;
	pointer-events: none !important;
	filter: drop-shadow(0 2px 4px rgba(0,0,0,0.25));
}
.product-grid-item, .products li.product { position: relative !important; }
.product-grid-item .product-element-top { position: relative !important; }

/* GRAND SALE sticker on the SINGLE product page gallery (top-left) */
.woocommerce-product-gallery { position: relative; }
.single-product .woocommerce-product-gallery__image { position: relative; }
.cp-grand-sale-single {
	position: absolute !important;
	top: 12px !important; left: 12px !important; right: auto !important;
	width: clamp(72px, 8vw, 120px) !important; height: auto !important;
	object-fit: contain !important;
	z-index: 30 !important;
	pointer-events: none !important;
	filter: drop-shadow(0 2px 5px rgba(0,0,0,0.25));
}
@media (max-width: 768px) {
	.cp-grand-sale-single { width: 58px !important; top: 8px !important; left: 8px !important; filter: none !important; }
}
/* High-specificity guard: when the sticker lives inside the photo figure it must NOT inherit the
   theme's figure-image width:100% rule - keep it a small corner badge that scales with the screen. */
body.single-product .woocommerce-product-gallery__image img.cp-grand-sale-single,
body.single-product .woocommerce-product-gallery img.cp-grand-sale-single {
	position: absolute !important; width: clamp(60px, 16vw, 96px) !important; height: auto !important;
	max-width: clamp(60px, 16vw, 96px) !important; min-width: 0 !important; top: 10px !important; left: 10px !important; right: auto !important;
	z-index: 32 !important; object-fit: contain !important; display: block !important;
}
/* Our own SAVE % pill, injected into the photo figure (JS) so it always sits ON the photo top-right */
body.single-product .woocommerce-product-gallery__image .cmm-photo-save {
	position: absolute !important; top: 10px !important; right: 10px !important; left: auto !important; bottom: auto !important;
	z-index: 33 !important; background: #ff6f61 !important; color: #fff !important;
	font-family: "DM Sans", sans-serif !important; font-weight: 800 !important; font-size: clamp(13px, 3.6vw, 16px) !important; line-height: 1 !important;
	padding: 8px 13px !important; border-radius: 999px !important; white-space: nowrap !important; pointer-events: none !important;
	box-shadow: 0 2px 6px rgba(0,0,0,0.18) !important; max-width: calc(100% - 20px) !important; letter-spacing: 0.3px !important;
}

/* MOBILE override (<=768px): top-left sticker - 1.5× bigger than the discount circle */
@media (max-width: 768px) {
	.cp-sale-sticker,
	img.cp-sale-sticker-loop,
	.product-grid-item .cp-sale-sticker-loop,
	.products .cp-sale-sticker-loop,
	.wd-carousel-container .cp-sale-sticker-loop,
	.elementor-widget-wd_products .cp-sale-sticker-loop {
		top: 4px !important;
		left: 4px !important;
		right: auto !important;
		width: 33px !important;
		height: 33px !important;
		max-width: 33px !important;
		max-height: 33px !important;
		filter: none !important;
		background: transparent !important;
		object-fit: contain !important;
	}
}
/* SOLD OUT - full-card grey overlay + diagonal text band */
.claude-product-card.is-sold-out > img { opacity: 0.45 !important; filter: grayscale(0.4); }
.claude-product-card.is-sold-out .cp-title,
.claude-product-card.is-sold-out .cp-price { opacity: 0.55 !important; }
.cp-sold-out-badge {
	position: absolute !important;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%) rotate(-12deg);
	background: rgba(26,26,26,0.85) !important;
	color: #fff !important;
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 900 !important;
	font-size: 18px !important;
	letter-spacing: 2.5px !important;
	padding: 8px 22px !important;
	border-radius: 4px !important;
	box-shadow: 0 4px 14px rgba(0,0,0,0.3) !important;
	z-index: 7 !important;
	text-transform: uppercase !important;
	pointer-events: none !important;
	white-space: nowrap !important;
}
@media (max-width: 600px) {
	.cp-sold-out-badge { font-size: 13px !important; padding: 6px 14px !important; letter-spacing: 1.5px !important; }
}

/* ===== MOBILE polish for /shop-filter/ (clearance + categories) ===== */
@media (max-width: 768px) {
	/* Page wrap - tighter horizontal padding */
	.shopf-page-wrap { padding: 0 12px !important; }

	/* Filter row - neat 2-column on phones */
	.shopf-filter {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 10px 14px !important;
		padding: 12px 14px !important;
	}
	.shopf-filter > .shopf-label {
		grid-column: 1 / -1 !important;
		width: auto !important;
		font-size: 12px !important;
	}
	.shopf-filter-spacer { display: none !important; }
	.shopf-dd { width: auto !important; }
	.shopf-dd-btn {
		width: auto !important;
		justify-content: flex-start !important;
		gap: 6px !important;
		padding-right: 4px !important;
	}
	.shopf-dd-btn .shopf-dd-arrow {
		margin-left: 4px !important;
		flex-shrink: 0 !important;
	}
	.shopf-price-wrap { grid-column: 1 / -1 !important; }

	/* Card grid - 2 columns, consistent gap, no gridless mess */
	.claude-products-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
		padding: 14px 0 40px !important;
	}

	/* Card - equal-height, image always square */
	.claude-product-card {
		display: flex !important;
		flex-direction: column !important;
		padding: 6px !important;
		border-radius: 12px !important;
		min-height: 0 !important;
	}
	.claude-product-card > img {
		width: 100% !important;
		aspect-ratio: 1 / 1 !important;
		object-fit: cover !important;
		border-radius: 8px !important;
		display: block !important;
		margin: 0 !important;
	}
	.claude-product-card .cp-title {
		font-size: 12px !important;
		line-height: 1.3 !important;
		font-weight: 600 !important;
		margin: 8px 4px 4px !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		min-height: 2.6em !important; /* 2 lines × 1.3 lh - same height for all cards */
	}
	.claude-product-card .cp-price {
		font-size: 13px !important;
		font-weight: 700 !important;
		margin: auto 4px 6px !important; /* pushed to bottom */
		line-height: 1.2 !important;
	}
	.claude-product-card .cp-price del { font-size: 11px !important; }

	/* SOLD OUT badge - fits within card */
	.cp-sold-out-badge {
		font-size: 12px !important;
		padding: 5px 12px !important;
		letter-spacing: 1.5px !important;
	}
}
@media (max-width: 480px) {
	.claude-product-card .cp-title { font-size: 11px !important; min-height: 2.6em !important; }
	.claude-product-card .cp-price { font-size: 12px !important; }
	.cp-sold-out-badge { font-size: 10px !important; padding: 4px 10px !important; }
}

/* =====================================================================
 * MOBILE POLISH PACK
 * ===================================================================== */

/* 1) Top marquee - hide "WAREHOUSE CLEARANCE - LIMITED TIME" widget, keep only GRAND SITE LAUNCH SALE */
[data-id="f7437d4"] { display: none !important; }
/* Center the cycling message in the top band - MOBILE ONLY (desktop layout untouched) */
@media (max-width: 768px) {
	[data-id="8a0da49"] h1,
	[data-id="8a0da49"] .wd-text-block { text-align: center !important; }
	[data-id="8a0da49"] h1 { width: 100% !important; }
}

/* ===== #1 Top GRAND SITE LAUNCH SALE bar - FORCE visible on every page including shop-filter ===== */
html body [data-id="4a6a1bf"],
html body .elementor-element-4a6a1bf {
	display: flex !important;
	visibility: visible !important;
	width: 100% !important;
	min-height: 38px !important;
	background: #1A4101 !important;
	opacity: 1 !important;
	height: auto !important;
}
html body [data-id="8a0da49"],
html body [data-id="8a0da49"] .wd-text-block,
html body [data-id="8a0da49"] .elementor-widget-container {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	text-align: center !important;
	background: transparent !important;
}
html body [data-id="8a0da49"] h1 {
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	letter-spacing: 1px !important;
	margin: 0 !important;
	padding: 8px 12px !important;
	cursor: pointer !important;
	text-align: center !important;
}
@media (max-width: 768px) {
	html body [data-id="8a0da49"] h1 { font-size: 14px !important; padding: 6px 8px !important; }
}

/* #4 Footer - dark olive-green gradient (per design screenshot) */
html body .elementor-location-footer,
html body .elementor.elementor-23252 {
	background: linear-gradient(135deg, #3a4631 0%, #4c5942 100%) !important;
	background-color: #3a4631 !important;
	background-image: linear-gradient(135deg, #3a4631 0%, #4c5942 100%) !important;
}
/* Override Elementor section/container/column inline backgrounds (they have their own per-element CSS) */
html body .elementor-location-footer .elementor-section,
html body .elementor-location-footer .elementor-top-section,
html body .elementor-location-footer .elementor-inner-section,
html body .elementor-location-footer .elementor-container,
html body .elementor-location-footer .elementor-column,
html body .elementor-location-footer .elementor-widget-wrap,
html body .elementor-location-footer .elementor-widget,
html body .elementor-location-footer .elementor-widget-container,
html body .elementor-location-footer .elementor-element,
html body .elementor-location-footer .elementor-background-overlay,
html body .elementor-location-footer .e-con,
html body .elementor-location-footer .e-con-inner,
html body .elementor-location-footer .e-parent,
html body .elementor-location-footer .e-child {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	background-clip: border-box !important;
}
/* Text legibility - white on dark green */
html body .elementor-location-footer,
html body .elementor-location-footer * { color: #fff !important; border-color: transparent !important; }
html body .elementor-location-footer a { color: #fff !important; text-decoration: none !important; }
html body .elementor-location-footer a:hover { color: #f4b6b6 !important; }
html body .elementor-location-footer h1,
html body .elementor-location-footer h2,
html body .elementor-location-footer h3,
html body .elementor-location-footer .elementor-heading-title { color: #fff !important; }

/* The black footer overlay comes from ::before on the main container - override the global color variable AND the pseudo-element background */
html body .elementor-location-footer { --e-global-color-8462f42: transparent !important; }
html body .elementor-location-footer .elementor-element-3f6cd39::before,
html body .elementor-location-footer .elementor-element-3f6cd39 > .elementor-background-video-container::before,
html body .elementor-location-footer .elementor-element-3f6cd39 > .e-con-inner > .elementor-background-video-container::before,
html body .elementor-location-footer .elementor-element-3f6cd39 > .elementor-background-slideshow::before,
html body .elementor-location-footer .elementor-element-3f6cd39 > .e-con-inner > .elementor-background-slideshow::before,
html body .elementor-location-footer .elementor-element-3f6cd39 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
	background-color: transparent !important;
	background-image: none !important;
}
/* Social icons in the footer - transparent background, just the icon glyph */
html body .elementor-location-footer .elementor-social-icon {
	background-color: transparent !important;
	color: #fff !important;
	border: 0 !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 8px !important;
}
html body .elementor-location-footer .elementor-social-icon i,
html body .elementor-location-footer .elementor-social-icon svg {
	color: #fff !important;
	fill: #fff !important;
	font-size: 22px !important;
	width: 22px !important;
	height: 22px !important;
}
html body .elementor-location-footer .elementor-social-icon:hover { background-color: transparent !important; opacity: 0.8 !important; }

/* ===== Custom footer layout - 4 columns + "All rights reserved" =====
   Injected by rebuildFooter() inside .elementor-location-footer; the original
   Elementor content is hidden so this owns the visual. White-on-olive. */
.cmm-footer {
	max-width: 1200px;
	margin: 0 auto;
	padding: 6vh 5vw 4vh;
	font-family: 'DM Sans', sans-serif;
	color: #fff;
}
.cmm-footer-grid {
	display: grid;
	grid-template-columns: minmax(150px, 0.9fr) minmax(170px, 1.1fr) minmax(170px, 1.1fr) minmax(150px, 0.9fr);
	gap: clamp(20px, 3vw, 60px);
	align-items: start;
}
.cmm-footer-col h4 {
	margin: 0 0 clamp(14px, 2vh, 24px);
	font-size: clamp(14px, 1.2vw, 17px);
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #fff !important;
}
.cmm-footer-col ul { list-style: none; margin: 0; padding: 0; }
.cmm-footer-col li { margin: 0 0 1.6vh; line-height: 1.4; }
.cmm-footer-col a,
.cmm-footer-col p {
	color: #fff !important;
	text-decoration: none !important;
	font-size: clamp(13px, 1.05vw, 16px);
	line-height: 1.45;
	margin: 0 0 1.6vh;
}
.cmm-footer-col a:hover { color: #f4b6b6 !important; }
.cmm-footer-tagline p {
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: clamp(13px, 1.1vw, 16px);
	line-height: 1.3;
	margin: 0;
}
/* Brand column - logo + vertical-line + tagline (matching the user's mockup) */
.cmm-footer-brand {
	display: flex;
	flex-direction: column;
	gap: clamp(10px, 1.6vh, 18px);
}
.cmm-footer-logo { display: inline-block; line-height: 0; }
.cmm-footer-logo img {
	display: block;
	width: clamp(140px, 13vw, 200px);
	height: auto;
	filter: brightness(0) invert(1);
}
.cmm-footer-tagline-text {
	display: flex;
	align-items: stretch;
	gap: clamp(8px, 0.8vw, 14px);
}
.cmm-footer-pipe {
	width: 2px;
	background: #fff;
	flex-shrink: 0;
}
.cmm-footer-tagline-text p {
	margin: 0;
	font-size: clamp(13px, 1vw, 15px);
	line-height: 1.3;
	color: #fff !important;
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.2px;
}
/* Footer store map removed per request (2026-06-23) */
.cmm-footer-map-wrap { display: none !important; }
/* Footer store map (restored - was in the original footer) */
.cmm-footer-map-wrap {
	display: flex;
	gap: clamp(16px, 2vw, 36px);
	align-items: stretch;
	margin-top: clamp(24px, 4vh, 48px);
	padding-top: clamp(20px, 3vh, 32px);
	border-top: 1px solid rgba(255,255,255,0.15);
}
.cmm-footer-map-info { flex: 0 0 auto; min-width: 200px; max-width: 300px; }
.cmm-footer-map-info h4 {
	margin: 0 0 10px;
	font-size: clamp(14px, 1.2vw, 17px);
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #fff !important;
}
.cmm-footer-map-info p {
	margin: 0;
	color: #fff !important;
	font-size: clamp(13px, 1.05vw, 16px);
	line-height: 1.5;
}
.cmm-footer-map {
	flex: 1 1 auto;
	width: 100%;
	min-height: 200px;
	border: 0;
	border-radius: 12px;
}
@media (max-width: 768px) {
	.cmm-footer-map-wrap { flex-direction: column; gap: 14px; }
	.cmm-footer-map { min-height: 200px; }
}

.cmm-footer-bottom {
	text-align: center;
	margin-top: clamp(28px, 6vh, 80px);
	font-size: clamp(13px, 1.1vw, 16px);
	color: #fff !important;
	letter-spacing: 0.2px;
}
/* Footer newsletter (right column) */
.cmm-footer-aux h4 { margin: 0 0 clamp(12px, 1.8vh, 20px); }
.cmm-footer-news { display: flex; flex-direction: column; gap: 10px; max-width: 280px; }
.cmm-footer-news input {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid rgba(255,255,255,0.4);
	border-radius: 8px;
	background: rgba(255,255,255,0.08);
	color: #fff;
	font-size: clamp(13px, 1vw, 15px);
}
.cmm-footer-news input::placeholder { color: rgba(255,255,255,0.6); }
.cmm-footer-news button {
	padding: 11px 18px;
	border: none;
	border-radius: 8px;
	background: #e0654f;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.4px;
	cursor: pointer;
	transition: background .15s ease;
}
.cmm-footer-news button:hover { background: #c9543f; }
.cmm-footer-news-note { margin: 10px 0 0 !important; font-size: clamp(11px, 0.9vw, 13px) !important; opacity: 0.7; }

/* === Payment + social row (above footer) === */
.cmm-paysocial {
	background: #f7f3ef;
	padding: clamp(20px, 3vh, 34px) clamp(16px, 4vw, 60px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(14px, 2vh, 22px);
}
.cmm-paysocial-pay,
.cmm-paysocial-social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: clamp(8px, 1vw, 14px);
}
.cmm-paysocial-pay span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(46px, 4vw, 60px);
	height: clamp(30px, 2.6vw, 38px);
	background: #fff;
	border: 1px solid #ece8e2;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.cmm-paysocial-pay span img { max-width: 72%; max-height: 64%; object-fit: contain; }
/* onlinehomeshop SVG logos already include their own white rounded card -> show edge-to-edge, no extra card chrome */
.cmm-paysocial-pay span.cmm-pay-native {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	overflow: hidden;
}
.cmm-paysocial-pay span.cmm-pay-native img {
	max-width: 100%;
	max-height: 100%;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
/* Clearpay & Klarna: logo art already has its own coloured bg - fill the whole card edge-to-edge */
.cmm-paysocial-pay span.cmm-pay-full { padding: 0; overflow: hidden; }
.cmm-paysocial-pay span.cmm-pay-full img {
	max-width: none;
	max-height: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 7px;
}
.cmm-paysocial-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(36px, 3vw, 44px);
	height: clamp(36px, 3vw, 44px);
	border-radius: 50%;
	color: #fff !important;
	transition: transform .15s ease, opacity .15s ease;
}
.cmm-paysocial-social a:hover { transform: translateY(-2px); opacity: 0.92; }
.cmm-paysocial-social a img { width: 56%; height: 56%; object-fit: contain; filter: brightness(0) invert(1); }
.cmm-ps-fb { background: #3b5998; }
.cmm-ps-tw { background: #1da1f2; }
.cmm-ps-pin { background: #e60023; }
.cmm-ps-ig { background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.cmm-ps-tt { background: #000; }
@media (max-width: 768px) {
	.cmm-paysocial-pay span { width: 44px; height: 30px; }
}
@media (max-width: 768px) {
	.cmm-footer { padding: 5vh 6vw 3vh; }
	.cmm-footer-grid { grid-template-columns: 1fr 1fr; gap: 4vh 4vw; }
	.cmm-footer-bottom { margin-top: 4vh; }
	.cmm-footer-aux { grid-column: 1 / -1; }
}

/* Restore broken social/payment icons - they likely lost their woodmart-font face */
.site-footer .wd-social-icons a,
.site-footer [class*="social"] a,
.site-footer .payment-icons img,
.wd-payments-list img {
	font-family: 'woodmart-font', 'Font Awesome 5 Brands', sans-serif !important;
}
/* If font fails, replace empty social icons with text labels */
.site-footer .wd-social-icons a:empty::before { content: '●'; font-size: 24px; }

/* Footer policy links ("About us" / "Terms of Service") - match the sibling links */
html body .elementor-element-cde078f .wd-text-block .cmm-about-link,
html body .elementor-element-cde078f .wd-text-block .cmm-terms-link { color: #fff !important; }
html body .elementor-element-cde078f .wd-text-block h6:has(> .cmm-about-link) { margin: 0 !important; }

/* ===== Legal pages (Terms of Service, etc.) - clean, readable typography ===== */
html body .cmm-legal {
	max-width: 60rem;
	margin: 0 auto;
	padding: clamp(1.5rem, 4vw, 3.5rem) clamp(1rem, 5vw, 3rem);
	color: #2c2c2c;
	font-size: clamp(0.95rem, 1.05vw, 1.0625rem);
	line-height: 1.75;
}
html body .cmm-legal .cmm-legal-updated {
	display: inline-block;
	font-size: 0.85em;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #6b6b6b;
	background: #f3f1ec;
	padding: 0.4em 0.9em;
	border-radius: 999px;
	margin: 0 0 2.2rem;
}
html body .cmm-legal h2 {
	font-size: clamp(1.25rem, 2.2vw, 1.7rem);
	font-weight: 700;
	color: #3a4631;
	margin: 2.4rem 0 0.9rem;
	padding-bottom: 0.5rem;
	border-bottom: 0.0625rem solid #e6e3da;
}
html body .cmm-legal h2:first-of-type { margin-top: 1rem; }
html body .cmm-legal p { margin: 0 0 1.1rem; }
html body .cmm-legal ul,
html body .cmm-legal ol { margin: 0 0 1.3rem; padding-left: 1.5rem; }
html body .cmm-legal li { margin: 0 0 0.55rem; }
html body .cmm-legal a {
	color: #b06a6a;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	word-break: break-word;
}
html body .cmm-legal a:hover { color: #8a4d4d; }
html body .cmm-legal strong { color: #1f1f1f; }
/* Tighten the oversized gap between the olive page-header / menu and the legal text.
   Base rule adds 3.2rem top padding and the theme leaves ~40px between header and
   the content wrapper - pull the content up and shrink the padding. */
html body .cmm-legal { padding-top: 1.1rem; margin-top: -26px; }
@media (max-width: 768px) {
	html body .cmm-legal { padding-top: 0.8rem; margin-top: -14px; }
}

/* === Return / Track Your Order page === */
.cmm-returns .cmm-atlast-wrap { margin: 14px 0 22px; }
.cmm-returns at-last { display: inline-block; }
.cmm-returns-lead { font-style: italic; }
.cmm-returns-lead strong { color: #1a1a1a; }
.cmm-track-card {
	background: #fff;
	border: 1px solid #e6e3da;
	border-radius: 14px;
	padding: clamp(20px, 3vw, 36px);
	margin: 0.5rem 0 2.4rem;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}
.cmm-track-card .woocommerce-info,
.cmm-track-card p:first-child { margin-top: 0; }
.cmm-track-card form.track_order {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(12px, 1.6vw, 22px);
	align-items: flex-end;
	margin: 0;
}
.cmm-track-card form.track_order .form-row {
	margin: 0;
	flex: 1 1 240px;
	padding: 0;
}
.cmm-track-card form.track_order .form-row.form-row-last { /* keep email field same growth */ }
.cmm-track-card form.track_order .clear { display: none; }
.cmm-track-card form.track_order label {
	display: block;
	font-weight: 600;
	margin: 0 0 6px;
	font-size: clamp(13px, 1vw, 15px);
}
.cmm-track-card form.track_order input.input-text {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #ddd6ca;
	border-radius: 8px;
	background: #fff;
}
.cmm-track-card form.track_order .form-row:last-of-type {
	flex: 0 0 auto;
}
.cmm-track-card form.track_order button[type="submit"] {
	background: #e0654f;
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 13px 30px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .15s ease;
}
.cmm-track-card form.track_order button[type="submit"]:hover { background: #c9543f; }
.cmm-return-btn {
	display: inline-block;
	background: #e0654f;
	color: #fff !important;
	text-decoration: none !important;
	font-weight: 700;
	padding: 7px 18px;
	border-radius: 8px;
	transition: background .15s ease;
}
.cmm-return-btn:hover { background: #c9543f; color: #fff !important; }
@media (max-width: 768px) {
	.cmm-track-card form.track_order .form-row,
	.cmm-track-card form.track_order .form-row:last-of-type { flex: 1 1 100%; }
	.cmm-track-card form.track_order button[type="submit"] { width: 100%; }
}

/* === Dark-olive page header (TOS / Privacy / Track / About Us / etc.) === */
.cmm-page-header {
	background: linear-gradient(180deg, #3d4530 0%, #303923 100%);
	color: #fff;
	padding: clamp(28px, 5vh, 60px) clamp(20px, 5vw, 60px);
	margin: 0;
}
.cmm-page-header-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.cmm-page-header h1 {
	margin: 0;
	color: #fff !important;
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(20px, 1.8vw, 28px);
	font-weight: 700;
	letter-spacing: 0.2px;
	line-height: 1.2;
}
/* Hide Woodmart's default page title when we render our own */
body.page-id-5944 .page-title,
body.page-id-23306 .page-title,
body.page-id-32450 .page-title,
body.page-id-4400 .page-title,
body.page-id-32470 .page-title,
body.page-id-32471 .page-title {
	display: none !important;
}

/* === About Us page layout (image + text rows + pink section + WHY SHOP icons) === */
.cmm-about-page {
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(20px, 4vh, 40px) clamp(20px, 5vw, 60px) 0;
	font-family: 'DM Sans', sans-serif;
	color: #1a1a1a;
}
.cmm-about-hero,
.cmm-about-pink {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 4vw, 60px);
	align-items: center;
}
.cmm-about-hero {
	padding: clamp(20px, 4vh, 40px) 0;
}
.cmm-about-hero-img img,
.cmm-about-pink-img img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 16px;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}
.cmm-about-hero-text p,
.cmm-about-pink-text p {
	font-size: clamp(15px, 1.1vw, 18px);
	line-height: 1.55;
	margin: 0 0 1.2em;
	text-align: justify;
}
.cmm-about-hero-text p:last-child,
.cmm-about-pink-text p:last-child { margin-bottom: 0; }
.cmm-about-hero-text strong,
.cmm-about-pink-text strong { font-weight: 800; color: #1a1a1a; }

.cmm-about-pink {
	background: #f9d8d4;
	padding: clamp(28px, 5vh, 56px) clamp(24px, 4vw, 60px);
	margin: clamp(20px, 4vh, 40px) calc(-1 * clamp(20px, 5vw, 60px)) clamp(20px, 4vh, 40px);
	border-radius: 0;
}

.cmm-about-why-heading {
	margin: clamp(28px, 5vh, 60px) 0 clamp(20px, 4vh, 40px);
	color: #e85e4f;
	font-size: clamp(28px, 3vw, 44px);
	font-weight: 800;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-align: left;
}
.cmm-about-icons {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 4vw, 40px);
	padding-bottom: clamp(40px, 8vh, 80px);
}
.cmm-about-icon-item {
	display: flex;
	align-items: center;
	gap: clamp(12px, 1.5vw, 20px);
}
.cmm-about-icon-emoji {
	font-size: clamp(36px, 4vw, 56px);
	line-height: 1;
	flex-shrink: 0;
}
.cmm-about-icon-img {
	width: clamp(54px, 6vw, 84px);
	height: auto;
	flex-shrink: 0;
	object-fit: contain;
}
.cmm-about-icon-item p {
	margin: 0;
	font-size: clamp(13px, 1vw, 16px);
	line-height: 1.4;
	color: #1a1a1a;
}
.cmm-about-icon-item p strong { font-weight: 800; }

@media (max-width: 768px) {
	.cmm-about-hero,
	.cmm-about-pink { grid-template-columns: 1fr; gap: 20px; }
	.cmm-about-pink { margin-left: 0; margin-right: 0; }
	.cmm-about-icons { grid-template-columns: 1fr; gap: 18px; }
	.cmm-about-why-heading { font-size: 28px; text-align: center; }
}

html body .cmm-legal h3 {
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	font-weight: 700;
	color: #2a2a2a;
	margin: 1.8rem 0 0.7rem;
}
html body .cmm-legal table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.4rem 0 2rem;
	font-size: 0.95rem;
	background: #fff;
	border: 1px solid #e6e3da;
}
html body .cmm-legal table th,
html body .cmm-legal table td {
	padding: 0.75rem 1rem;
	text-align: left;
	border-bottom: 1px solid #ebe3d4;
	vertical-align: top;
}
html body .cmm-legal table th {
	background: #f6f1ea;
	font-weight: 700;
	color: #1f1f1f;
}
html body .cmm-legal table tr:last-child td { border-bottom: none; }
@media (max-width: 768px) {
	html body .cmm-legal { line-height: 1.7; }
	html body .cmm-legal h2 { margin-top: 2rem; }
	html body .cmm-legal table th,
	html body .cmm-legal table td { padding: 0.55rem 0.7rem; font-size: 0.88rem; }
}

/* Mobile side panel - content starts right under iOS status bar / Android header */
.mobile-nav,
.mobile-nav .wd-side-content,
.mobile-nav .wd-side-inner {
	padding-top: calc(env(safe-area-inset-top, 0px) + 8px) !important;
}
/* Reserve space at the top-right for Woodmart's close (×) button (~44px) */
.mobile-nav .wd-side-content::before,
.mobile-nav .wd-side-inner::before {
	content: '';
	display: block;
	height: 16px;
}
.mobile-nav .wd-search-form,
.mobile-nav .searchform {
	margin-top: 0 !important;
}
.mobile-nav .cmm-mob-hero-wrap {
	margin-top: 4px !important;
}
.mobile-nav .cmm-mob-nav {
	margin-top: 4px !important;
}
.mobile-nav .wd-search-form input.s::placeholder {
	color: #888 !important;
	font-style: normal !important;
}
/* Close button - position it absolutely top-right so it doesn't take vertical space */
.mobile-nav .wd-close-side {
	position: absolute !important;
	top: calc(env(safe-area-inset-top, 0px) + 8px) !important;
	right: 12px !important;
	z-index: 10 !important;
}

/* #6 Kids snoozy bear banner - wider, not cropped; "SNOOZY BEAR SAYS" text in CORAL */
.claude-kids-banner {
	min-height: 110px !important;
	overflow: visible !important;
}
.claude-kids-banner .ck-bear {
	object-fit: contain !important;
	object-position: left center !important;
	max-width: 40% !important;
}
.claude-kids-banner .ck-title { color: #e85a4f !important; }


/* ===== /my-account/ header: full-width container + compact vertical (desktop only) ===== */
@media (min-width: 992px) {
	/* Compact every WHB row vertically - match the sticky-collapsed size used on home */
	html body.woocommerce-account .whb-header .whb-general-header-inner,
	html body.woocommerce-account .whb-main-header .whb-general-header-inner {
		height: 60px !important;
		max-height: 60px !important;
		min-height: 0 !important;
	}
	html body.woocommerce-account .whb-header .whb-top-bar-inner,
	html body.woocommerce-account .whb-main-header .whb-top-bar-inner {
		height: 38px !important;
		max-height: 38px !important;
		min-height: 0 !important;
	}
	html body.woocommerce-account .whb-header .whb-header-bottom-inner,
	html body.woocommerce-account .whb-main-header .whb-header-bottom-inner {
		height: 44px !important;
		max-height: 44px !important;
		min-height: 0 !important;
	}
	html body.woocommerce-account .whb-header .whb-row,
	html body.woocommerce-account .whb-general-header,
	html body.woocommerce-account .whb-header-bottom,
	html body.woocommerce-account .whb-top-bar {
		min-height: 0 !important;
	}
	html body.woocommerce-account .whb-top-bar {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	html body.woocommerce-account .whb-general-header {
		padding-top: 18px !important;
		padding-bottom: 12px !important;
	}
	html body.woocommerce-account .whb-header-bottom {
		padding-top: 8px !important;
		padding-bottom: 14px !important;
	}
	html body.woocommerce-account .whb-header .container,
	html body.woocommerce-account .whb-main-header .container,
	html body.woocommerce-account .whb-general-header .container,
	html body.woocommerce-account .whb-header-bottom .container,
	html body.woocommerce-account .whb-top-bar .container {
		max-width: 100% !important;
		width: 100% !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-left: 30px !important;
		padding-right: 30px !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	html body.woocommerce-account .main-page-wrapper {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
}

/* #10 My account - clean responsive layout: 2-col on desktop, 1-col on mobile */
/* Zero out the vertical space above the form so it starts right under the header (like home) */
body.woocommerce-account .main-page-wrapper,
body.woocommerce-account .main-page-wrapper > .container,
body.woocommerce-account .site-content,
body.woocommerce-account article.page,
body.woocommerce-account .entry-content,
body.woocommerce-account .wd-registration-page {
	padding-top: 0 !important;
	margin-top: 0 !important;
	border-top: none !important;
}
/* Remove the page-title block entirely - even though it's hidden, it can still occupy a flexbox slot */
body.woocommerce-account .page-title,
body.woocommerce-account .wd-page-title,
body.woocommerce-account .title-size-large,
body.woocommerce-account .title-size-default {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}
body.woocommerce-account .woocommerce {
	max-width: 1100px !important;
	margin: 24px auto 32px !important;
	padding: 0 24px !important;
	background: transparent !important;
}
body.woocommerce-account h2 {
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 900 !important;
	font-size: 26px !important;
	margin: 0 0 14px !important;
	text-align: left !important;
}
/* Suppress the duplicate "Register" heading inside col-register - the pill in col-register-text is the CTA */
body.woocommerce-account .col-register > h2.wd-login-title {
	display: none !important;
}
/* Desktop: CSS grid - LEFT half = login form; RIGHT half stacks register description + register form */
@media (min-width: 992px) {
	body.woocommerce-account #customer_login.row,
	body.woocommerce-account .row#customer_login {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		grid-template-areas:
			"login register-text"
			"login register" !important;
		gap: 0 40px !important;
		margin: 0 !important;
	}
	body.woocommerce-account .col-login {
		grid-area: login !important;
		max-width: none !important;
		flex: none !important;
		width: auto !important;
		float: none !important;
		padding: 36px 36px !important;
		margin: 0 !important;
		background: #faf6f1 !important;
		border-radius: 16px !important;
		border: 1px solid #ece8e2 !important;
		box-shadow: 0 4px 12px rgba(0,0,0,0.03) !important;
		align-self: start !important;
	}
	body.woocommerce-account .col-register-text {
		grid-area: register-text !important;
		max-width: none !important;
		width: auto !important;
		float: none !important;
		padding: 36px 36px 0 !important;
		margin: 0 !important;
		background: #faf6f1 !important;
		border-radius: 16px 16px 0 0 !important;
		border: 1px solid #ece8e2 !important;
		border-bottom: none !important;
		box-shadow: 0 -4px 12px rgba(0,0,0,0.03) !important;
		align-self: stretch !important;
		text-align: center !important;
	}
	body.woocommerce-account .col-register {
		grid-area: register !important;
		max-width: none !important;
		width: auto !important;
		float: none !important;
		padding: 8px 36px 36px !important;
		margin: 0 !important;
		background: #faf6f1 !important;
		border-radius: 0 0 16px 16px !important;
		border: 1px solid #ece8e2 !important;
		border-top: none !important;
		box-shadow: 0 4px 12px rgba(0,0,0,0.03) !important;
		align-self: stretch !important;
	}
}
/* Mobile / tablet: single-column stack */
@media (max-width: 991px) {
	body.woocommerce-account .woocommerce {
		max-width: 480px !important;
		padding: 16px 12px !important;
	}
	body.woocommerce-account #customer_login.row {
		display: block !important;
	}
	body.woocommerce-account .col-login,
	body.woocommerce-account .col-register-text,
	body.woocommerce-account .col-register {
		width: 100% !important;
		max-width: none !important;
		float: none !important;
		padding: 24px 20px !important;
		margin: 0 0 18px !important;
		background: #faf6f1 !important;
		border-radius: 14px !important;
		border: 1px solid #ece8e2 !important;
	}
	/* On mobile join register-text and register as one card */
	body.woocommerce-account .col-register-text {
		margin-bottom: 0 !important;
		border-radius: 14px 14px 0 0 !important;
		border-bottom: none !important;
		padding-bottom: 0 !important;
	}
	body.woocommerce-account .col-register {
		border-radius: 0 0 14px 14px !important;
		border-top: none !important;
		padding-top: 8px !important;
	}
}
body.woocommerce-account .lost_password { text-align: right !important; font-size: 13px !important; }
body.woocommerce-account .lost_password a { color: #e85a4f !important; }
/* (OR separator removed per request) */

/* #12 Login heading - normal title */
body.woocommerce-account .col-login > h2.wd-login-title {
	display: block !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	color: #1a1a1a !important;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	margin: 0 0 16px !important;
	text-align: left !important;
}
/* Register heading - coral PILL BUTTON, clickable, submits the register form */
body.woocommerce-account .col-register > h2.wd-login-title,
body.woocommerce-account .col-register-text > h2.wd-login-title {
	display: inline-block !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	color: #fff !important;
	background: linear-gradient(135deg, #e85a4f 0%, #d4493e 100%) !important;
	padding: 14px 40px !important;
	border-radius: 999px !important;
	margin: 0 auto 18px !important;
	cursor: pointer !important;
	line-height: 1 !important;
	width: max-content !important;
	max-width: max-content !important;
	text-align: center !important;
	box-shadow: 0 4px 14px rgba(232,90,79,0.28) !important;
	transition: transform .12s ease, box-shadow .12s ease !important;
	user-select: none !important;
}
body.woocommerce-account .col-register > h2.wd-login-title:hover,
body.woocommerce-account .col-register-text > h2.wd-login-title:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(232,90,79,0.4) !important;
}
/* ===== Login / Register tab toggle ===== */
/* Default state: show LOGIN form, hide REGISTER form */
html body.woocommerce-account #customer_login:not(.cmm-show-register) .col-register {
	display: none !important;
}
/* Register state: hide login column + right description, register form fills entire row */
html body.woocommerce-account #customer_login.cmm-show-register .col-login,
html body.woocommerce-account #customer_login.cmm-show-register .col-register-text {
	display: none !important;
}
html body.woocommerce-account #customer_login.cmm-show-register .col-register {
	display: block !important;
}
@media (min-width: 992px) {
	/* In register-mode: register column spans the full row (single column, wide) */
	html body.woocommerce-account #customer_login.row.cmm-show-register,
	html body.woocommerce-account .row#customer_login.cmm-show-register {
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-areas: "register" !important;
		gap: 0 !important;
		max-width: 720px !important;
		margin: 0 auto !important;
	}
	html body.woocommerce-account #customer_login.cmm-show-register .col-register {
		grid-area: register !important;
		padding: 40px 48px !important;
		border-radius: 16px !important;
		border: 1px solid #ece8e2 !important;
	}
	/* In register-mode hide the duplicate H2 pill (we'll use the actual <button> as CTA at the bottom) */
	html body.woocommerce-account #customer_login.cmm-show-register .col-register > h2.wd-login-title {
		display: none !important;
	}
	/* Un-hide the form's real submit button and style it as the coral pill - at the BOTTOM */
	html body.woocommerce-account #customer_login.cmm-show-register .col-register form.woocommerce-form-register button[name="register"] {
		display: inline-block !important;
		background: linear-gradient(135deg, #e85a4f 0%, #d4493e 100%) !important;
		color: #fff !important;
		border: none !important;
		border-radius: 999px !important;
		padding: 14px 40px !important;
		font-family: 'DM Sans', sans-serif !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		letter-spacing: 2px !important;
		text-transform: uppercase !important;
		cursor: pointer !important;
		box-shadow: 0 4px 14px rgba(232,90,79,0.28) !important;
		width: auto !important;
		min-width: 200px !important;
		margin: 18px auto 0 !important;
		line-height: 1 !important;
	}
	html body.woocommerce-account #customer_login.cmm-show-register .col-register form.woocommerce-form-register button[name="register"]:hover {
		background: linear-gradient(135deg, #d4493e 0%, #b53d33 100%) !important;
		transform: translateY(-1px) !important;
	}
	/* Center the submit + the "back to login" link as block */
	html body.woocommerce-account #customer_login.cmm-show-register .col-register form.woocommerce-form-register p.woocommerce-form-row:has(button[name="register"]),
	html body.woocommerce-account #customer_login.cmm-show-register .col-register form.woocommerce-form-register p.form-row:has(button[name="register"]) {
		text-align: center !important;
	}
}

/* "Already have an account? Log in" link inside register column */
body.woocommerce-account .cmm-switch-to-login {
	display: block !important;
	margin: 18px auto 0 !important;
	text-align: center !important;
	color: #e85a4f !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	letter-spacing: 0.3px !important;
}
body.woocommerce-account .cmm-switch-to-login:hover {
	text-decoration: underline !important;
}

/* Position the moved .lost_password link right under the password field - subtle gray */
body.woocommerce-account .col-login .lost_password {
	margin-top: -6px !important;
	margin-bottom: 14px !important;
	padding: 0 !important;
	text-align: right !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
}
body.woocommerce-account .col-login .lost_password a {
	color: #999 !important;
	text-decoration: none !important;
}
body.woocommerce-account .col-login .lost_password a:hover {
	color: #e85a4f !important;
	text-decoration: underline !important;
}

/* Centre the register column's title pill */
body.woocommerce-account .col-register,
body.woocommerce-account .col-register-text {
	text-align: center !important;
}
body.woocommerce-account .col-register form.woocommerce-form-register {
	text-align: left !important;
}
/* Hide the form's own register submit button - the pill h2 above acts as the CTA (wired via JS) */
body.woocommerce-account .col-register form.woocommerce-form-register button[name="register"],
body.woocommerce-account .col-register form.woocommerce-form-register button.woocommerce-Button[name="register"],
body.woocommerce-account .col-register-text button,
body.woocommerce-account a.wd-switch-to-register,
body.woocommerce-account a.wd-switch-to-login,
a.wd-switch-to-register, a.wd-switch-to-login {
	display: none !important;
}
/* Description text under the Register pill - grey, centered below */
body.woocommerce-account .col-register-text {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}
body.woocommerce-account .col-register-text > p,
body.woocommerce-account .col-register > p:not(.form-row) {
	font-size: 13px !important;
	color: #666 !important;
	line-height: 1.5 !important;
	margin: 0 0 16px !important;
	font-family: 'DM Sans', sans-serif !important;
}
/* The actual submit button (Register / Login) - solid coral, white text, readable */
body.woocommerce-account button.woocommerce-form-login__submit,
body.woocommerce-account button.woocommerce-Button[name="register"] {
	background: #e85a4f !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 14px 36px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	width: auto !important;
	min-width: 200px !important;
	display: inline-block !important;
	margin: 14px 0 8px !important;
	cursor: pointer !important;
	line-height: 1 !important;
}
body.woocommerce-account button.woocommerce-form-login__submit:hover,
body.woocommerce-account button.woocommerce-Button[name="register"]:hover { background: #d04438 !important; }
/* Hide any extra button or empty button that isn't login/register submit */
body.woocommerce-account form.login button:not(.woocommerce-form-login__submit),
body.woocommerce-account form.register button:not([name="register"]) {
	display: none !important;
}
/* Two Mailchimp plugins both inject a newsletter opt-in (MailChimp for WooCommerce + MC4WP).
   Keep ONE - hide the MC4WP duplicate ("Sign me up for the newsletter!"). */
body.woocommerce-account form.woocommerce-form-register .mc4wp-checkbox,
body.woocommerce-account form.woocommerce-form-register p.mc4wp-checkbox,
body.woocommerce-account form.woocommerce-form-register input[name="_mc4wp_subscribe_wp-registration-form"],
body.woocommerce-account form.woocommerce-form-register input[name*="_mc4wp_subscribe"] {
	display: none !important;
}
body.woocommerce-account form.woocommerce-form-register .mc4wp-checkbox * {
	display: none !important;
}
/* Hide hidden inputs (sometimes get rendered as visible blocks by theme) */
body.woocommerce-account form input[type="hidden"] { display: none !important; visibility: hidden !important; height: 0 !important; }

/* === Register form: clean layout, proper newsletter checkboxes, no phantom rectangle === */
body.woocommerce-account form.woocommerce-form-register p.woocommerce-form-row,
body.woocommerce-account form.woocommerce-form-register p.form-row {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 0 14px !important;
}
/* Hide WC's confusing "A link to set a new password will be sent to your email address"
   text - users mistake it for a password-reset form. (To remove for real: WooCommerce ->
   Settings -> Accounts & Privacy -> uncheck "Automatically generate an account password".) */
body.woocommerce-account form.woocommerce-form-register > p:not(.form-row):not(.mc4wp-checkbox):not(.woocommerce-FormRow):not(.woocommerce-privacy-policy-text) {
	display: none !important;
}
/* Newsletter checkboxes - input LEFT of label, gap between */
body.woocommerce-account form.woocommerce-form-register label.woocommerce-form__label-for-checkbox,
body.woocommerce-account .mc4wp-checkbox label {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 10px !important;
	cursor: pointer !important;
	margin: 8px 0 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
}
body.woocommerce-account form.woocommerce-form-register label input[type="checkbox"],
body.woocommerce-account .mc4wp-checkbox input[type="checkbox"] {
	order: -1 !important;
	margin: 3px 0 0 !important;
	width: 18px !important;
	height: 18px !important;
	flex-shrink: 0 !important;
	cursor: pointer !important;
}
/* Spam trap - keep off-screen, ensure not visible */
body.woocommerce-account form .anti-spam,
body.woocommerce-account form div[style*="-999em"] {
	display: none !important;
}
/* Privacy policy text */
body.woocommerce-account .woocommerce-privacy-policy-text p {
	font-size: 12px !important;
	color: #888 !important;
	line-height: 1.5 !important;
	margin: 8px 0 12px !important;
}
body.woocommerce-account .woocommerce-privacy-policy-text a { color: #e85a4f !important; text-decoration: underline !important; }

/* #11/screenshot - Remember me: checkbox to the LEFT of label (currently stacked) */
body.woocommerce-account .woocommerce-form-login__rememberme,
body.woocommerce-account label.woocommerce-form__label-for-checkbox,
body.woocommerce-account label[for="rememberme"] {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 14px !important;
	color: #1a1a1a !important;
	margin: 12px 0 !important;
}
body.woocommerce-account label.woocommerce-form-login__rememberme input[type="checkbox"],
body.woocommerce-account label[for="rememberme"] input,
body.woocommerce-account input#rememberme {
	order: -1 !important;
	margin: 0 !important;
	width: 18px !important;
	height: 18px !important;
	flex-shrink: 0 !important;
}
/* Same fix for "Subscribe to our newsletter" and other label-with-checkbox */
body.woocommerce-account .woocommerce-form__label-for-checkbox,
body.woocommerce-account form label:has(> input[type="checkbox"]) {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 8px !important;
}
body.woocommerce-account form label:has(> input[type="checkbox"]) input[type="checkbox"] {
	order: -1 !important;
	margin-top: 3px !important;
	flex-shrink: 0 !important;
}

/* ===== Mobile: bigger green discount circle (was 22px, hard to read) ===== */
@media (max-width: 768px) {
	.product-label.onsale,
	.product-grid-item .product-label.onsale,
	.products .product-label.onsale,
	.wd-carousel-container .product-label.onsale,
	.elementor-widget-wd_products .product-label.onsale {
		width: 36px !important;
		height: 36px !important;
		font-size: 10px !important;
		line-height: 36px !important;
		font-weight: 800 !important;
	}
}

/* ===== Hide "in stock" / "100 in stock" labels on product pages ===== */
.single-product .stock,
.single-product .in-stock,
.single-product p.stock,
body.single-product .stock { display: none !important; }

/* Hide star rating + broken social-share icon row on single product page */
body.single-product .woocommerce-product-rating,
body.single-product .wd-product-rating,
body.single-product .wd-star-rating,
body.single-product .star-rating,
body.single-product .summary .star-rating,
body.single-product .product-share,
body.single-product .wd-social-icons,
body.single-product .social-icons-wrap,
body.single-product .summary .wd-share { display: none !important; }

/* Hide Woodmart's sticky bottom Add-to-Cart bar on product pages */
.wd-sticky-btn,
.wd-sticky-nav,
.wd-sticky-add-to-cart,
.sticky-btn-on,
#wd-sticky-btn,
.wd-sticky-bar { display: none !important; }

/* Remove ALL empty/whitespace gaps between product tabs and footer */
body.single-product .related.products,
body.single-product .upsells.products,
body.single-product .cross-sells,
body.single-product section.related,
body.single-product section.upsells,
/* Specific empty Elementor sections that create blank white strips */
body.single-product [data-id="7b6dc013"],
body.single-product [data-id="cbf0060"],
body.single-product [data-id="35f7158"],
body.single-product .elementor-element-7b6dc013,
body.single-product .elementor-element-cbf0060,
body.single-product .elementor-element-35f7158 {
	display: none !important;
}
/* An .elementor-widget-wrap without the "populated" modifier is guaranteed empty */
body.single-product .elementor-widget-wrap:not(.elementor-element-populated) {
	display: none !important;
	min-height: 0 !important;
	height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
body.single-product .related.products,
body.single-product .upsells.products {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
body.single-product div.product,
body.single-product article.product,
body.single-product .summary-inner-wrap,
body.single-product .woocommerce-tabs {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* Price block on the single product page: 3-tier sizing -
   small "from", medium struck-through original, big red sale. */
body.single-product .elementor-widget-woocommerce-product-price p.price,
body.single-product .summary p.price {
	display: flex !important;
	align-items: baseline !important;
	flex-wrap: wrap !important;
	gap: 0.4em !important;
}
body.single-product .elementor-widget-woocommerce-product-price p.price .cmm-from-label,
body.single-product .summary p.price .cmm-from-label {
	font-size: clamp(11px, 0.85vw, 14px) !important;
	font-weight: 400 !important;
	color: #888 !important;
	text-transform: lowercase !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	margin: 0 !important;
}
body.single-product .elementor-widget-woocommerce-product-price p.price del,
body.single-product .summary p.price del {
	font-size: clamp(14px, 1.1vw, 18px) !important;
	color: #999 !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}
body.single-product .elementor-widget-woocommerce-product-price p.price del .woocommerce-Price-amount,
body.single-product .summary p.price del .woocommerce-Price-amount {
	font-size: inherit !important;
	color: inherit !important;
}
body.single-product .elementor-widget-woocommerce-product-price p.price ins,
body.single-product .summary p.price ins {
	font-size: clamp(22px, 1.9vw, 32px) !important;
	color: #e85a4f !important;
	font-weight: 800 !important;
	text-decoration: none !important;
	background: transparent !important;
	line-height: 1.05 !important;
}
body.single-product .elementor-widget-woocommerce-product-price p.price ins .woocommerce-Price-amount,
body.single-product .summary p.price ins .woocommerce-Price-amount {
	font-size: inherit !important;
	color: inherit !important;
	font-weight: inherit !important;
}

/* === Horizontal tabs (built by JS from the Woodmart accordion DOM) === */
body.single-product .cmm-tabs-nav {
	list-style: none !important;
	margin: 0 0 2.4vh !important;
	padding: 0 !important;
	display: flex !important;
	gap: 3vw !important;
	border-bottom: 1px solid #ebe3d4 !important;
}
body.single-product .cmm-tabs-nav .cmm-tab {
	margin: 0 !important;
	padding: 1.4vh 0 1.4vh !important;
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: clamp(13px, 1vw, 16px) !important;
	letter-spacing: 0.6px !important;
	text-transform: uppercase !important;
	color: #999 !important;
	cursor: pointer !important;
	border-bottom: 3px solid transparent !important;
	margin-bottom: -1px !important;
	transition: color .15s ease, border-color .15s ease !important;
}
body.single-product .cmm-tabs-nav .cmm-tab:hover { color: #1a1a1a !important; }
body.single-product .cmm-tabs-nav .cmm-tab.is-active {
	color: #1a1a1a !important;
	border-bottom-color: #e85a4f !important;
}
body.single-product .cmm-tabs-panels { position: relative !important; }
body.single-product .cmm-tabs-panels .cmm-tab-panel { display: none !important; }
body.single-product .cmm-tabs-panels .cmm-tab-panel.is-active { display: block !important; }
body.single-product .cmm-tabs-panels .cmm-tab-panel {
	font-family: 'DM Sans', sans-serif !important;
	color: #2a2a2a !important;
	font-size: clamp(13px, 0.95vw, 15px) !important;
	line-height: 1.65 !important;
}
/* Cloned panel content may carry Woodmart's .wd-scroll wrapper - kill the inner scrollbar
   so the panel grows naturally to its content height. */
body.single-product .cmm-tabs-panels .wd-scroll,
body.single-product .cmm-tabs-panels .wd-scroll-content,
body.single-product .cmm-tabs-panels .wc-tab-inner {
	overflow: visible !important;
	max-height: none !important;
	height: auto !important;
}
@media (max-width: 720px) {
	body.single-product .cmm-tabs-nav { gap: 18px !important; overflow-x: auto !important; }
	body.single-product .cmm-tabs-nav .cmm-tab { font-size: 12px !important; padding: 12px 0 !important; white-space: nowrap !important; }
}

/* Mobile: give the product summary (title/price/add-to-cart) and the tabs column
   consistent side padding so content isn't slammed against the screen edges. */
@media (max-width: 768px) {
	body.single-product .elementor-element-67d1f4c3,
	body.single-product .elementor-element-0d7ac88 {
		padding-left: 16px !important;
		padding-right: 16px !important;
		box-sizing: border-box !important;
	}
}

/* === Payment options block (Clearpay 4-pay line + brand-icon row) under Add To Cart === */
body.single-product .cmm-payment-block {
	margin: 1.8vh 0 1.4vh;
	font-family: 'DM Sans', sans-serif;
}
body.single-product .cmm-clearpay-line {
	font-size: clamp(12px, 0.9vw, 14px);
	color: #1a1a1a;
	line-height: 1.5;
	margin-bottom: 1.1vh;
}
body.single-product .cmm-clearpay-line strong { font-weight: 700; }
body.single-product .cmm-clearpay-amount { font-weight: 700; color: #1a1a1a; }
body.single-product .cmm-clearpay-brand {
	display: inline-flex; align-items: center;
	background: #b2fce4;
	padding: 2px 10px;
	border-radius: 999px;
	font-weight: 800;
	color: #000;
	font-size: 0.92em;
	letter-spacing: 0.2px;
}
body.single-product .cmm-pay-icons {
	display: flex; flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}
body.single-product .cmm-pay-icon {
	display: inline-flex; align-items: center; justify-content: center;
	background: #f6f1ea;
	border: 1px solid #e8dfd2;
	border-radius: 6px;
	padding: 6px 10px;
	min-width: 48px;
	height: 32px;
}
body.single-product .cmm-pay-icon img {
	height: 18px;
	width: auto;
	max-width: 50px;
	display: block;
	object-fit: contain;
}
@media (max-width: 480px) {
	body.single-product .cmm-pay-icon { padding: 4px 8px; height: 26px; min-width: 40px; }
	body.single-product .cmm-pay-icon img { height: 14px; max-width: 40px; }
}

/* Merged "Product details" tab: sub-heading separator between Description and Additional info */
body.single-product .cmm-tab-product-details .cmm-tab-subhead {
	margin: 2.4vh 0 1vh;
	padding-top: 1.6vh;
	border-top: 1px solid #ebe3d4;
	font-size: clamp(15px, 1.1vw, 18px);
	font-weight: 700;
	color: #1a1a1a;
}

/* "Delivery & Returns" tab styling */
body.single-product .cmm-tab-delivery h3 {
	font-size: clamp(15px, 1.1vw, 18px);
	font-weight: 700;
	margin: 0 0 1vh;
	color: #1a1a1a;
}
body.single-product .cmm-tab-delivery h3 + ul,
body.single-product .cmm-tab-delivery h3 + p {
	margin-top: 0.4vh;
}
body.single-product .cmm-tab-delivery ul.cmm-delivery-list {
	list-style: none;
	padding: 0;
	margin: 0 0 2vh;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.7vh 2vw;
}
body.single-product .cmm-tab-delivery ul.cmm-delivery-list li {
	padding: 0.6vh 0;
	border-bottom: 1px dashed #ebe3d4;
	font-size: clamp(12px, 0.9vw, 14px);
	line-height: 1.45;
}
body.single-product .cmm-tab-delivery p {
	margin: 0 0 1.2vh;
	font-size: clamp(12px, 0.9vw, 14px);
	line-height: 1.55;
}
@media (max-width: 720px) {
	body.single-product .cmm-tab-delivery ul.cmm-delivery-list { grid-template-columns: 1fr; gap: 6px; }
}

body.single-product .main-page-wrapper,
body.single-product .site-content,
body.single-product .content-area {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* ===== Footer pinned to the bottom of the viewport on short pages ===== */
html { height: 100% !important; }
body {
	min-height: 100vh !important;
	min-height: 100dvh !important;
	display: flex !important;
	flex-direction: column !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.single-product { padding: 0 !important; padding-bottom: 0 !important; }
/* Off-canvas panels (mobile nav, cart side, cookies popup) - absolutely positioned so they don't take vertical space */
body > .wd-close-side,
body > .mobile-nav,
body > .cart-widget-side,
body > .wd-cookies-popup,
body > .pum,
body > .pum-overlay {
	position: fixed !important;
	flex: 0 0 auto !important;
}
/* Side cart ("YOUR BAG"): show only View Basket (coral), hide Checkout - the actual /cart/ page keeps its Checkout button. */
.cart-widget-side .woocommerce-mini-cart__buttons a.checkout,
.cart-widget-side .shopping-cart-widget-footer .buttons a.checkout {
	display: none !important;
}
.cart-widget-side .woocommerce-mini-cart__buttons a.button:not(.checkout),
.cart-widget-side .shopping-cart-widget-footer .buttons a:not(.checkout) {
	background-color: #ff6f61 !important;
	border-color: #ff6f61 !important;
	color: #fff !important;
	width: 100% !important;
	display: block !important;
	text-align: center !important;
}
.cart-widget-side .woocommerce-mini-cart__buttons a.button:not(.checkout):hover,
.cart-widget-side .shopping-cart-widget-footer .buttons a:not(.checkout):hover {
	background-color: #ec5d4f !important;
	border-color: #ec5d4f !important;
	color: #fff !important;
}
.website-wrapper {
	flex: 1 0 auto !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
}
.website-wrapper > * { flex-shrink: 0 !important; }
.website-wrapper .main-page-wrapper { flex: 1 0 auto !important; }
.website-wrapper > footer.elementor-location-footer,
.website-wrapper > footer,
body > footer.elementor-location-footer { flex-shrink: 0 !important; margin-top: auto !important; }

/* ===== MOBILE-ONLY: remove the white strip above the product image on single-product pages ===== */
@media (max-width: 768px) {
	body.single-product .page-title,
	body.single-product .wd-page-title,
	body.single-product .entry-header,
	body.single-product .title-size-default,
	body.single-product .breadcrumbs {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	body.single-product .main-page-wrapper,
	body.single-product .site-content,
	body.single-product article.product,
	body.single-product .container-fluid,
	body.single-product .row.content-layout-wrapper {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	body.single-product .product-image-summary-wrap,
	body.single-product .product-gallery-wrapper,
	body.single-product div.product .images,
	body.single-product .wd-product-images {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
}

/* ===== Bigger product gallery on desktop - the single-product page is an Elementor
   template: section 2fa129d4 with two 50% columns (c2d366c = gallery, 67d1f4c3 = summary).
   Widen the gallery column, narrow the summary. ===== */
@media (min-width: 992px) {
	html body.single-product .elementor-element-c2d366c.elementor-column {
		width: 62% !important;
		flex: 0 0 62% !important;
		max-width: 62% !important;
	}
	html body.single-product .elementor-element-67d1f4c3.elementor-column {
		width: 38% !important;
		flex: 0 0 38% !important;
		max-width: 38% !important;
	}
	/* Stack the gallery: BIG main image on top, thumbnails as a row UNDER it */
	html body.single-product .woocommerce-product-gallery.thumbs-position-left {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
	}
	html body.single-product .woocommerce-product-gallery .col-lg-9.order-lg-last {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		padding: 0 !important;
	}
	html body.single-product .woocommerce-product-gallery .col-lg-3.order-lg-first {
		order: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		padding: 1.4vh 0 0 !important;
	}
	/* Thumbnails container - flex row, horizontally CENTERED under the main image.
	   Each thumb has a fixed-fraction width (~1/6 of container minus gaps) so up to 6 fit
	   per row evenly, and any extras wrap into a row that is itself centered (rather than
	   left-anchored like a grid would do). */
	html body.single-product .woocommerce-product-gallery .col-lg-3.order-lg-first .thumbnails,
	html body.single-product .woocommerce-product-gallery .col-lg-3.order-lg-first .thumbnails.cmm-thumbs-flat {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 0.8vw !important;
		width: 100% !important;
		max-width: 92% !important;
		margin: 1.2vh auto 0 !important;
		max-height: none !important;
		height: auto !important;
		overflow: visible !important;
		position: relative !important;
	}
	/* Every thumb cell is a 1:1 square with the photo centered inside (so wide-short
	   product photos no longer cling to the bottom of their slot). */
	html body.single-product .woocommerce-product-gallery .col-lg-3.order-lg-first .thumbnails > *,
	html body.single-product .thumbnails.cmm-thumbs-flat > * {
		flex: 0 0 calc((100% - 4vw) / 6) !important;
		max-width: calc((100% - 4vw) / 6) !important;
		min-width: 0 !important;
		width: calc((100% - 4vw) / 6) !important;
		aspect-ratio: 1 / 1 !important;
		height: auto !important;
		margin: 0 !important;
		float: none !important;
		transform: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
	}
	/* Kill the carousel's vertical track transform (wd-carousel AND owl) so thumbs lay in a row */
	html body.single-product .woocommerce-product-gallery .thumbnails .wd-carousel-container,
	html body.single-product .woocommerce-product-gallery .thumbnails .wd-carousel,
	html body.single-product .woocommerce-product-gallery .thumbnails .wd-carousel-inner,
	html body.single-product .woocommerce-product-gallery .thumbnails .wd-carousel-track,
	html body.single-product .woocommerce-product-gallery .thumbnails .owl-carousel,
	html body.single-product .woocommerce-product-gallery .thumbnails .owl-stage-outer,
	html body.single-product .woocommerce-product-gallery .thumbnails .owl-stage {
		transform: none !important;
		-webkit-transform: none !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 0.8vw !important;
		overflow: visible !important;
		inset: auto !important;
		top: auto !important;
		left: auto !important;
	}
	/* Each thumb item - fixed 1/6 width so the row holds exactly 6 thumbs; extras wrap to a
	   new row that's centered by the parent's justify-content: center. */
	html body.single-product .woocommerce-product-gallery .thumbnails .wd-carousel-item,
	html body.single-product .woocommerce-product-gallery .thumbnails .owl-item,
	html body.single-product .woocommerce-product-gallery .col-lg-3.order-lg-first .thumbnails > *:not(.wd-carousel-container):not(.owl-carousel) {
		flex: 0 0 calc((100% - 4vw) / 6) !important;
		width: calc((100% - 4vw) / 6) !important;
		max-width: calc((100% - 4vw) / 6) !important;
		min-width: 0 !important;
		height: auto !important;
		margin: 0 !important;
		transform: none !important;
	}
	html body.single-product .woocommerce-product-gallery .col-lg-3.order-lg-first .thumbnails img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
		object-position: center center !important;
		border-radius: 0.5rem !important;
		display: block !important;
		margin: auto !important;
	}
	/* ===== After JS unslick: .cmm-thumbs-flat = plain centered grid (6 per row, evenly spaced) ===== */
	html body.single-product .thumbnails.cmm-thumbs-flat {
		display: grid !important;
		grid-template-columns: repeat(6, 1fr) !important;
		justify-content: center !important;
		justify-items: center !important;
		align-items: center !important;
		gap: 0.8vw !important;
		width: 100% !important;
		max-width: 90% !important;
		margin: 1.2vh auto 0 !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}
	html body.single-product .thumbnails.cmm-thumbs-flat > * {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		aspect-ratio: 1 / 1 !important;
		height: auto !important;
		margin: 0 !important;
		float: none !important;
		transform: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
	}
	html body.single-product .thumbnails.cmm-thumbs-flat img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
		object-position: center center !important;
		display: block !important;
		border-radius: 0.5rem !important;
		margin: auto !important;
	}

	/* ===== SLICK slider (fallback if unslick hasn't run yet) ===== */
	html body.single-product .woocommerce-product-gallery .thumbnails.slick-slider,
	html body.single-product .woocommerce-product-gallery .thumbnails.slick-vertical {
		display: block !important;
	}
	html body.single-product .woocommerce-product-gallery .thumbnails .slick-list {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		padding: 0 !important;
	}
	html body.single-product .woocommerce-product-gallery .thumbnails .slick-track {
		transform: none !important;
		-webkit-transform: none !important;
		height: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 0.8vw !important;
	}
	/* Each thumbnail cell - fixed 1/6 width AND square (aspect-ratio 1/1) so all cells
	   have identical dimensions regardless of image aspect ratio; image is centered
	   vertically inside (so wide-short photos no longer cling to the bottom edge). */
	html body.single-product .woocommerce-product-gallery .thumbnails .slick-slide,
	html body.single-product .woocommerce-product-gallery .thumbnails .product-image-thumbnail {
		width: calc((100% - 4vw) / 6) !important;
		max-width: calc((100% - 4vw) / 6) !important;
		min-width: 0 !important;
		aspect-ratio: 1 / 1 !important;
		height: auto !important;
		margin: 0 !important;
		float: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
	}
	html body.single-product .woocommerce-product-gallery .thumbnails .slick-slide img,
	html body.single-product .woocommerce-product-gallery .thumbnails .product-image-thumbnail img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
		object-position: center center !important;
		border-radius: 0.5rem !important;
		display: block !important;
		margin: auto !important;
	}
	/* Slick clones double the thumbs in a row - hide them */
	html body.single-product .woocommerce-product-gallery .thumbnails .slick-slide.slick-cloned {
		display: none !important;
	}

	/* Carousel arrows (slick / wd-carousel / owl) - hidden until gallery hover */
	html body.single-product .woocommerce-product-gallery .thumbnails .slick-arrow,
	html body.single-product .woocommerce-product-gallery .thumbnails .slick-prev,
	html body.single-product .woocommerce-product-gallery .thumbnails .slick-next,
	html body.single-product .woocommerce-product-gallery .thumbnails .wd-carousel-arrows,
	html body.single-product .woocommerce-product-gallery .thumbnails .wd-carousel-arrow,
	html body.single-product .woocommerce-product-gallery .thumbnails .owl-nav,
	html body.single-product .woocommerce-product-gallery .thumbnails .owl-nav button,
	html body.single-product .woocommerce-product-gallery .thumbnails [class*="carousel-arrow"] {
		opacity: 0 !important;
		visibility: hidden !important;
		transition: opacity .2s ease, visibility .2s ease !important;
		pointer-events: none !important;
	}
	html body.single-product .woocommerce-product-gallery:hover .thumbnails .slick-arrow,
	html body.single-product .woocommerce-product-gallery:hover .thumbnails .slick-prev,
	html body.single-product .woocommerce-product-gallery:hover .thumbnails .slick-next,
	html body.single-product .woocommerce-product-gallery:hover .thumbnails .wd-carousel-arrows,
	html body.single-product .woocommerce-product-gallery:hover .thumbnails .wd-carousel-arrow,
	html body.single-product .woocommerce-product-gallery:hover .thumbnails .owl-nav,
	html body.single-product .woocommerce-product-gallery:hover .thumbnails [class*="carousel-arrow"] {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}
	/* Main gallery image fills the full (now 62%) column width */
	html body.single-product .elementor-element-20cca775 .woocommerce-product-gallery__image,
	html body.single-product .elementor-element-20cca775 .woocommerce-product-gallery__wrapper img,
	html body.single-product .elementor-element-20cca775 .wd-carousel-item img {
		width: 100% !important;
		height: auto !important;
	}
}

/* ===== MOBILE: single product - gallery, flat thumbs, complete-look ===== */
@media (max-width: 991px) {
	/* Gallery stacks full-width (Elementor default) - make sure main image fills it */
	html body.single-product .elementor-element-20cca775 .woocommerce-product-gallery__image img,
	html body.single-product .elementor-element-20cca775 .woocommerce-product-gallery__wrapper img {
		width: 100% !important;
		height: auto !important;
	}
	/* Flattened thumbs row - bigger touch targets, 4 per row, centered under image */
	html body.single-product .thumbnails.cmm-thumbs-flat {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		align-items: flex-start !important;
		gap: 2.5vw !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		margin-top: 2vw !important;
	}
	html body.single-product .thumbnails.cmm-thumbs-flat > * {
		flex: 0 0 auto !important;
		width: 20% !important;
		max-width: 20% !important;
		min-width: 0 !important;
		height: auto !important;
		margin: 0 !important;
		float: none !important;
		transform: none !important;
	}
	html body.single-product .thumbnails.cmm-thumbs-flat img {
		width: 100% !important;
		height: auto !important;
		display: block !important;
		border-radius: 0.5rem !important;
	}
	/* Complete-the-look links: stack full-width, easy to tap */
	html body .cmm-cl-links {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 2.5vw !important;
	}
	html body .cmm-cl-link {
		justify-content: center !important;
		width: 100% !important;
		box-sizing: border-box !important;
		padding: 3.2vw 4vw !important;
		font-size: clamp(11px, 3.4vw, 14px) !important;
	}
	html body .cmm-cl-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 3vw !important;
	}
}

/* ===== Force DM Sans on entire single-product page ===== */
body.single-product,
body.single-product *:not(i):not([class*="eicon"]):not([class*="fa-"]):not([class*="woodmart-font"]) {
	font-family: 'DM Sans', sans-serif !important;
}

/* === Shrink huge gap between Product of the Day and Why Shop With Us === */
/* Maximum specificity to beat Elementor compiled CSS */
html body.home .elementor.elementor-5842 .elementor-section.elementor-element-banner_sec_01,
html body.home .elementor.elementor-5842 .elementor-section[data-id="banner_sec_01"],
html body.home .elementor.elementor-5842 .elementor-element.elementor-element-banner_sec_01 {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
/* ===== Hero deal carousel - replaces the Elementor hero slider on home ===== */
.cmm-hero-deal {
	position: relative;
	width: 100%;
	border-radius: 14px;
	overflow: hidden;
	font-family: 'DM Sans', sans-serif;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
}
.cmm-hero-deal-track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.cmm-hero-deal-track::-webkit-scrollbar { display: none; }
.cmm-hero-deal-slide {
	flex: 0 0 100%;
	width: 100%;
	box-sizing: border-box;
	scroll-snap-align: center;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
/* slide 1 - discount block */
.cmm-hd-deal {
	flex-direction: column;
	gap: clamp(12px, 2.5vh, 28px);
	background: linear-gradient(135deg, #f0603a 0%, #e8512f 55%, #d8431f 100%);
	padding: clamp(20px, 3vw, 40px);
	overflow: hidden;
}
/* Faint red gift-bows scattered across the orange background */
.cmm-hd-deal::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image:
		url("https://smart-living.co.uk/wp-content/uploads/2026/05/magnific_2977620062-1.png"),
		url("https://smart-living.co.uk/wp-content/uploads/2026/05/magnific_2977620062-1.png"),
		url("https://smart-living.co.uk/wp-content/uploads/2026/05/magnific_2977620062-1.png"),
		url("https://smart-living.co.uk/wp-content/uploads/2026/05/magnific_2977620062-1.png"),
		url("https://smart-living.co.uk/wp-content/uploads/2026/05/magnific_2977620062-1.png");
	background-repeat: no-repeat;
	background-position: 1% 4%, 16% 96%, 44% 100%, 6% 64%, 78% 14%;
	background-size: clamp(110px, 16vw, 230px) auto, clamp(95px, 13vw, 190px) auto, clamp(80px, 11vw, 165px) auto, clamp(90px, 12vw, 180px) auto, clamp(120px, 17vw, 250px) auto;
	opacity: 0.5;
	filter: saturate(1.15);
}
.cmm-hd-blob { display: none !important; }
.cmm-hd-title {
	position: relative;
	z-index: 1;
	font-size: clamp(16px, 2.6vw, 30px);
	font-weight: 900;
	color: #fff;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin: 0;
	text-align: center;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
.cmm-hd-eq {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(8px, 1.6vw, 22px);
	flex-wrap: nowrap;
}
.cmm-hd-card {
	position: relative;
	flex: 0 0 auto;
	width: clamp(96px, 14vw, 188px);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: clamp(6px, 0.9vw, 12px);
}
.cmm-hd-card-label {
	background: #fdf6ec;
	color: #1a1a1a;
	font-weight: 800;
	font-size: clamp(11px, 1.25vw, 17px);
	letter-spacing: 0.4px;
	text-transform: uppercase;
	line-height: 1.1;
	text-align: center;
	padding: 0.55em 0.5em;
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
	white-space: normal;
}
.cmm-hd-card-img {
	display: block;
	background: #fff;
	border-radius: 12px;
	padding: clamp(4px, 0.5vw, 8px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
	border: 2px solid #f3a98e;
}
.cmm-hd-card-img img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	border-radius: 8px;
}
.cmm-hd-op {
	flex: 0 0 auto;
	font-size: clamp(22px, 3.4vw, 46px);
	font-weight: 900;
	color: #ffd21e;
	line-height: 1;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}
.cmm-hd-prize {
	position: relative;
	z-index: 1;
	flex: 0 0 auto;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.4vh;
	min-width: clamp(132px, 20vw, 264px);
	padding: clamp(18px, 2.6vw, 36px) clamp(20px, 3vw, 46px);
	background: #ffd21e;
	border: 0.18vw solid #1a1a1a;
	border-radius: 16px;
	cursor: pointer;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
	font-family: 'DM Sans', sans-serif;
	transition: transform .15s ease, box-shadow .15s ease, background .2s ease;
}
/* A few red bows fanning out from BEHIND the yellow box (corners only, text stays clear) */
.cmm-hd-prize::before {
	content: '';
	position: absolute;
	z-index: -1;
	inset: -30% -20%;
	pointer-events: none;
	background-image:
		url("https://smart-living.co.uk/wp-content/uploads/2026/05/magnific_2977620062-1.png"),
		url("https://smart-living.co.uk/wp-content/uploads/2026/05/magnific_2977620062-1.png"),
		url("https://smart-living.co.uk/wp-content/uploads/2026/05/magnific_2977620062-1.png"),
		url("https://smart-living.co.uk/wp-content/uploads/2026/05/magnific_2977620062-1.png");
	background-repeat: no-repeat;
	background-position: -4% 6%, 0% 100%, 102% 96%, 102% 48%;
	background-size: 22% auto, 24% auto, 26% auto, 20% auto;
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.22));
}
/* Prize column: the yellow box with the PROMO code beneath it */
.cmm-hd-prizecol {
	position: relative;
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(8px, 1.4vh, 16px);
}
.cmm-hd-prizecol .cmm-hd-promo {
	font-size: clamp(12px, 1.8vw, 20px);
	font-weight: 900;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #1a1a1a;
	margin: 0;
}
.cmm-hd-prizecol .cmm-hd-promo strong { color: #1a1a1a; font-weight: 900; }
.cmm-hd-prize:hover { transform: translateY(-2px); background: #ffdb45; box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28); }
.cmm-hd-prize--copied { background: #6dd884 !important; transform: scale(0.97); }
.cmm-hd-prize--copied .cmm-hd-promo strong { color: #fff; }
.cmm-hd-prize--copied .cmm-hd-promo::after { content: ' ✓ COPIED'; color: #fff; font-weight: 900; }
.cmm-hd-percent {
	display: flex;
	flex-direction: column;
	font-size: clamp(22px, 3.8vw, 54px);
	font-weight: 900;
	color: #1a1a1a;
	line-height: 0.95;
	letter-spacing: 0.5px;
}
.cmm-hd-percent span { display: block; }
.cmm-hd-promo {
	margin-top: 0.5vh;
	font-size: clamp(9px, 1.3vw, 14px);
	font-weight: 700;
	color: #3a3a3a;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}
.cmm-hd-promo strong { color: #c0392b; font-weight: 900; }
.cmm-hd-bow {
	position: absolute;
	z-index: 2;
	top: clamp(-60px, -6vw, -34px);
	right: clamp(-40px, -4.5vw, -22px);
	width: clamp(80px, 10vw, 160px);
	height: clamp(80px, 10vw, 160px);
	font-size: 0;
	background: url("https://smart-living.co.uk/wp-content/uploads/2026/05/magnific_2977620062-1.png") center / contain no-repeat;
	filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.32));
	pointer-events: none;
}
/* slide 1 - EXTRA 20% OFF promo IMAGE (click to copy code) */
.cmm-hd-promoimg {
	padding: 0;
	margin: 0;
	border: none;
	background: none;
	cursor: pointer;
	position: relative;
	display: block;
	overflow: hidden;
	-webkit-tap-highlight-color: transparent;
}
.cmm-hd-promoimg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}
.cmm-hd-promoimg:hover img { transform: scale(1.02); }
.cmm-hd-promoimg:active img { transform: scale(0.995); }
@media (max-width: 768px) {
/* cmm-hero-deal mobile image-hug fix */
  html body .cmm-hero-deal-slide { min-height: 0 !important; align-items: stretch !important; }
  html body .cmm-hd-promoimg { display: block !important; }
  html body .cmm-hd-promoimg img,
  html body .cmm-hd-img img { width: 100% !important; height: auto !important; object-fit: contain !important; display: block !important; }
}

/* "Tap to copy" hint chip - bottom centre, subtle */
.cmm-hd-copytip {
	position: absolute;
	left: 50%;
	bottom: clamp(10px, 2vh, 22px);
	transform: translateX(-50%);
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(11px, 1.1vw, 15px);
	font-weight: 600;
	letter-spacing: 0.3px;
	padding: clamp(6px, 0.9vh, 10px) clamp(12px, 1.4vw, 20px);
	border-radius: 999px;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	white-space: nowrap;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}
.cmm-hd-copytip strong { color: #ffd84d; font-weight: 800; }
.cmm-hd-promoimg--copied .cmm-hd-copytip {
	background: #2ecc71;
}
.cmm-hd-promoimg--copied .cmm-hd-copytip strong { color: #fff; }
.cmm-hd-promoimg--copied .cmm-hd-copytip::after {
	content: '  ✓ Copied!';
	font-weight: 800;
}
/* slide 2 - promo image */
.cmm-hd-img { padding: 0; text-decoration: none; }
.cmm-hd-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* arrows */
.cmm-hd-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: clamp(34px, 3.4vw, 46px);
	height: clamp(34px, 3.4vw, 46px);
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.85);
	color: #1a1a1a;
	font-size: clamp(20px, 2.4vw, 30px);
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s ease, transform .15s ease;
}
.cmm-hd-arrow:hover { background: #fff; }
.cmm-hd-prev { left: clamp(8px, 1.5vw, 20px); }
.cmm-hd-next { right: clamp(8px, 1.5vw, 20px); }
/* dots */
.cmm-hd-dots {
	position: absolute;
	bottom: clamp(8px, 1.6vh, 18px);
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	gap: 8px;
}
.cmm-hd-dot { width: 9px; height: 9px; border-radius: 50%; background: rgba(255, 255, 255, 0.55); transition: background .2s ease, transform .2s ease; }
.cmm-hd-dot.is-active { background: #fff; transform: scale(1.3); }
@media (max-width: 768px) {
	.cmm-hero-deal { border-radius: 10px; }
	.cmm-hero-deal-slide { min-height: 54vw; }
	.cmm-hd-eq { gap: 2vw; }
	.cmm-hd-card { border-width: 3px; }
	.cmm-hd-arrow { background: rgba(255, 255, 255, 0.9); }
}

/* ===== "Wholesale prices..." strip between hero carousel and Selling Out Fast =====
   Equal vh margin top + bottom = centered vertical spacing between neighbouring sections. */
.cmm-wholesale {
	max-width: 1200px;
	margin: 6vh auto 5vh;   /* compensate for hero's small bottom padding so visual gaps are equal */
	padding: 0 4vw;
	text-align: center;
	font-family: 'DM Sans', sans-serif;
}
/* Kill the marquee's default top margin when it follows the wholesale strip - we want
   the visual gap to be controlled by .cmm-wholesale's own margin only. */
.cmm-wholesale + .claude-marquee-strip { margin-top: 0 !important; }
.cmm-wholesale-text {
	font-size: clamp(13px, 1.5vw, 18px);
	color: #5a5a5a;
	margin: 0;
	line-height: 1.5;
	font-weight: 500;
}
@media (max-width: 768px) {
	html body .cmm-wholesale { margin: 0 auto 5vh !important; padding: 6vh 5vw 0 !important; }
}

/* "Shop our Best Deals" section heading - render literal mixed-case (default inline style uppercases it) */
.maybe-section .maybe-heading {
	text-transform: uppercase !important;
}
.maybe-section .maybe-heading .cmm-bd-coral,
.maybe-heading .cmm-bd-coral { color: #e85a4f !important; }
/* Mobile: bigger "from £X" price + bigger circle photo so the cards look balanced.
   High specificity (html body + .maybe-item) to beat the widget's own deeper rules. */
@media (max-width: 768px) {
	html body .maybe-section .maybe-item .maybe-from,
	html body .maybe-section .maybe-item .maybe-amount,
	html body .maybe-section .maybe-item .maybe-price {
		font-size: clamp(24px, 7.5vw, 34px) !important;
		line-height: 1.05 !important;
	}
	html body .maybe-section .maybe-item .maybe-imgwrap,
	html body .maybe-section .maybe-item .maybe-img {
		width: clamp(135px, 42vw, 180px) !important;
		height: clamp(135px, 42vw, 180px) !important;
		max-width: none !important;
	}
	html body .maybe-section .maybe-item .maybe-label {
		font-size: clamp(13px, 3.8vw, 16px) !important;
		margin-top: clamp(8px, 2.5vw, 14px) !important;
	}
}

/* === Main nav: animated coral underline on hover (Elementor Nav Menu widget) === */
html body .e-n-menu-title .e-n-menu-title-text {
	position: relative;
	display: inline-block;
	transition: color 0.18s ease;
}
html body .e-n-menu-title .e-n-menu-title-text::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -4px;
	height: 2px;
	background: #e0654f;
	border-radius: 2px;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.22s ease;
	pointer-events: none;
}
html body .e-n-menu-item:hover .e-n-menu-title-text::after,
html body .e-n-menu-title:hover .e-n-menu-title-text::after,
html body .e-n-menu-title:focus-visible .e-n-menu-title-text::after,
html body .e-n-menu-item.e-active .e-n-menu-title-text::after {
	transform: scaleX(1);
}
html body .e-n-menu-item:hover .e-n-menu-title-text,
html body .e-n-menu-title:hover .e-n-menu-title-text {
	color: #e0654f;
}
/* ===== EXTRA 10% OFF deal banner - appears after "MAYBE YOU'RE LOOKING FOR..." ===== */
.cmm-extra-deal {
	position: relative;
	max-width: 1200px;
	margin: 32px auto;
	padding: 32px 36px 40px;
	background: #faf6f1;
	border-radius: 18px;
	border: 1px solid #ece8e2;
	font-family: 'DM Sans', sans-serif;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
	overflow: hidden;
}
/* Pink cloud-blobs decorating the background - same vibe as WHY SHOP section */
.cmm-extra-deal-cloud {
	position: absolute;
	background: rgba(244, 182, 182, 0.55);
	pointer-events: none;
	z-index: 0;
}
.cmm-extra-deal-cloud-1 {
	top: -60px; left: -50px;
	width: 220px; height: 220px;
	border-radius: 60% 40% 65% 35% / 50% 60% 40% 50%;
	transform: rotate(-8deg);
}
.cmm-extra-deal-cloud-2 {
	bottom: -70px; right: 18%;
	width: 280px; height: 180px;
	border-radius: 50% 60% 40% 55% / 65% 35% 55% 50%;
	background: rgba(244, 182, 182, 0.45);
	transform: rotate(6deg);
}
.cmm-extra-deal-cloud-3 {
	top: 30%; right: -60px;
	width: 260px; height: 200px;
	border-radius: 55% 45% 60% 40% / 45% 60% 40% 50%;
	background: rgba(244, 182, 182, 0.35);
	transform: rotate(-12deg);
}
.cmm-extra-deal-cloud-4 {
	top: 50%; left: 50%;
	width: 240px; height: 190px;
	border-radius: 45% 55% 50% 50% / 55% 50% 50% 45%;
	background: rgba(244, 182, 182, 0.4);
	transform: translate(-50%, -50%) rotate(4deg);
}
.cmm-extra-deal > *:not(.cmm-extra-deal-cloud) {
	position: relative;
	z-index: 1;
}
.cmm-extra-deal-card-mat {
	overflow: visible !important;   /* let the bear stick out above the card */
}
/* Bear sits ABOVE the mat card (whole body above the top edge), TIME IS MONEY to its RIGHT */
.cmm-extra-deal-bear {
	position: absolute;
	top: -15.5vh;                     /* raised another ~10px (was -14.5vh) */
	left: calc(50% + 1.5vw);          /* shifted ~20px to the right */
	transform: translateX(-70%);
	width: 10vw;
	max-width: 160px;
	min-width: 120px;
	height: auto;
	z-index: 3;
	pointer-events: none;
	filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.18));
}
.cmm-extra-deal-bear-tag {
	position: absolute;
	top: -3.5vh;
	left: 100%;
	margin-left: -1vw;
	font-size: clamp(11px, 1vw, 16px);
	font-weight: 700;
	letter-spacing: 0.2vw;
	color: #1a1a1a;
	text-transform: uppercase;
	white-space: nowrap;
	font-family: 'DM Sans', sans-serif;
	pointer-events: none;
	z-index: 2;
}
.cmm-extra-deal-header {
	text-align: center;
	margin-bottom: 2.5vh;
	position: relative;
	z-index: 1;
}
.cmm-extra-deal-title {
	font-size: 36px;
	font-weight: 900;
	letter-spacing: 1px;
	color: #e85a4f;
	margin: 0 0 6px;
	text-transform: uppercase;
	line-height: 1.1;
}
.cmm-extra-deal-header {
	margin-bottom: 100px;  /* extra space for the bear that sticks fully above the card below */
}
.cmm-extra-deal-grid {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
}
.cmm-extra-deal-card {
	position: relative;
	width: 170px;
	height: 170px;
	padding: 6px;
	border: 4px solid #f5c842;
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	flex-shrink: 0;
	box-shadow: 0 6px 16px rgba(245, 200, 66, 0.25);
	box-sizing: border-box;
}
.cmm-extra-deal-card > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 8px;
}
.cmm-extra-deal-card-label {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: rgba(26, 26, 26, 0.85);
	color: #fff;
	font-weight: 900;
	font-size: 16px;
	letter-spacing: 1.5px;
	padding: 8px 14px;
	border-radius: 6px;
	text-align: center;
	white-space: nowrap;
	font-family: 'DM Sans', sans-serif;
}
.cmm-extra-deal-op {
	font-size: 48px;
	font-weight: 900;
	color: #f5c842;
	line-height: 1;
	flex-shrink: 0;
}
.cmm-extra-deal-prize {
	position: relative;
	min-width: 220px;
	padding: 22px 28px;
	background: #f5c842;
	border: none;
	border-radius: 12px;
	text-align: center;
	box-shadow: 0 6px 16px rgba(245, 200, 66, 0.35);
	cursor: pointer;
	font-family: 'DM Sans', sans-serif;
	transition: transform .15s ease, box-shadow .15s ease, background .2s ease;
}
.cmm-extra-deal-prize:hover {
	transform: translateY(-2px);
	background: #f8d258;
	box-shadow: 0 10px 22px rgba(245, 200, 66, 0.5);
}
.cmm-extra-deal-prize:active {
	transform: translateY(0);
}
.cmm-extra-deal-prize--copied {
	background: #6dd884 !important;
	transform: scale(0.97);
}
.cmm-extra-deal-prize--copied .cmm-extra-deal-promo strong { color: #fff; }
.cmm-extra-deal-prize--copied .cmm-extra-deal-promo::after {
	content: ' ✓ COPIED';
	color: #fff;
	font-weight: 900;
	letter-spacing: 1px;
}
.cmm-extra-deal-percent {
	font-size: 24px;
	font-weight: 900;
	color: #1a1a1a;
	letter-spacing: 1px;
	line-height: 1.15;
}
.cmm-extra-deal-promo {
	margin-top: 6px;
	font-size: 11px;
	font-weight: 600;
	color: #4a4a4a;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}
.cmm-extra-deal-promo strong { color: #c0392b; font-weight: 900; }
.cmm-extra-deal-bow {
	position: absolute;
	top: -22px;
	right: -16px;
	font-size: 40px;
	transform: rotate(20deg);
	filter: drop-shadow(0 4px 6px rgba(0,0,0,0.2));
	pointer-events: none;
}
/* Mobile layout - bigger, balanced, breathing room */
@media (max-width: 768px) {
	.cmm-extra-deal {
		margin: 24px 12px;
		padding: 24px 16px 28px;
		border-radius: 16px;
	}
	/* MOBILE - mirror desktop: big title up top, bear sits on the MAT card, TIME IS MONEY next */
	.cmm-extra-deal {
		padding: 20px 16px 28px !important;
		margin: 24px 10px !important;
	}
	.cmm-extra-deal-header {
		text-align: center !important;
		margin: 0 0 16vh !important;     /* scales with viewport height; was 155px */
	}
	.cmm-extra-deal-title {
		font-size: 30px !important;
		margin: 0 !important;
		line-height: 1.1 !important;
		letter-spacing: 0.8px !important;
	}
	/* Bear: fully ABOVE the mat card. Position in vh so it scales with screen height */
	.cmm-extra-deal-bear {
		top: -12vh !important;             /* was -110px -> ~-96px on 800px screen, scales */
		left: 50% !important;
		transform: translateX(-50%) !important;
		width: 28vw !important;            /* responsive width - was 110px */
		max-width: 130px !important;
		height: auto !important;
		bottom: auto !important;
		right: auto !important;
		z-index: 4 !important;
	}
	/* TIME IS MONEY to the RIGHT of the bear, at its vertical mid-height */
	.cmm-extra-deal-bear-tag {
		top: -7vh !important;
		left: calc(50% + 60px) !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
		margin: 0 !important;
		font-size: 11px !important;
		letter-spacing: 2.5px !important;
		font-weight: 700 !important;
		white-space: nowrap !important;
		z-index: 2 !important;
	}
	/* The mat photo needs to stay clipped inside the card - but card-mat has overflow:visible
	   for the bear. Force a clip-path on the image so it can't bleed out the sides. */
	.cmm-extra-deal-card-mat > img:not(.cmm-extra-deal-bear) {
		clip-path: inset(0 round 8px) !important;
	}
	.cmm-extra-deal-grid {
		padding-left: 0 !important;
		gap: 12px !important;
	}
	.cmm-extra-deal-title {
		font-size: 22px;
		margin: 0;
		line-height: 1.1;
	}
	.cmm-extra-deal-grid {
		gap: 10px;
		justify-content: center;
	}
	.cmm-extra-deal-card {
		width: 120px;
		height: 120px;
		padding: 0 !important;
		border-width: 4px;
		border-radius: 12px;
	}
	.cmm-extra-deal-card > img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		border-radius: 0 !important;
	}
	.cmm-extra-deal-card-label {
		font-size: 11px;
		letter-spacing: 0.6px;
		padding: 5px 9px;
		border-radius: 5px;
	}
	.cmm-extra-deal-op {
		font-size: 32px;
	}
	.cmm-extra-deal-prize {
		flex-basis: 100%;
		margin-top: 18px;
		min-width: 0;
		padding: 22px 26px;
	}
	.cmm-extra-deal-percent { font-size: 24px; letter-spacing: 0.8px; }
	.cmm-extra-deal-promo { font-size: 12px; letter-spacing: 1.2px; }
	.cmm-extra-deal-bow {
		font-size: 32px;
		top: -18px;
		right: -8px;
	}
	/* Smaller / fewer clouds on mobile */
	.cmm-extra-deal-cloud-1 { width: 140px; height: 140px; top: -40px; left: -30px; }
	.cmm-extra-deal-cloud-2 { width: 180px; height: 120px; bottom: -50px; right: 5%; }
	.cmm-extra-deal-cloud-3 { display: none; }
	.cmm-extra-deal-cloud-4 { width: 160px; height: 130px; }
}

/* ===== EXTRA 20% OFF banner - REDESIGN: orange bg, 2-slide swipe carousel ===== */
.cmm-extra-deal {
	background: linear-gradient(135deg, #f0603a 0%, #e8512f 55%, #d8431f 100%) !important;
	border: none !important;
	border-radius: 20px !important;
	box-shadow: 0 10px 30px rgba(216, 67, 31, 0.28) !important;
	max-width: 1100px !important;
	margin: 4vh auto !important;
	padding: clamp(20px, 3vw, 36px) clamp(16px, 3vw, 40px) clamp(22px, 3vw, 40px) !important;
}
/* Recolour the decorative blobs to faint warm shapes on the orange bg */
.cmm-extra-deal .cmm-extra-deal-cloud { background: rgba(255, 255, 255, 0.07) !important; }
/* No bear anymore - reset the big header gap that used to make room for it */
.cmm-extra-deal .cmm-extra-deal-header {
	margin: 0 0 clamp(14px, 2.4vh, 26px) !important;
	text-align: center !important;
}
.cmm-extra-deal .cmm-extra-deal-title {
	font-size: clamp(17px, 3.4vw, 30px) !important;
	font-weight: 900 !important;
	color: #fff !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	line-height: 1.15 !important;
	margin: 0 !important;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
}
/* Horizontal 2-slide carousel (swipe / scroll right) */
.cmm-extra-deal-slider {
	position: relative;
	z-index: 1;
	display: flex;
	gap: clamp(14px, 2.5vw, 26px);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.cmm-extra-deal-slider::-webkit-scrollbar { display: none; }
.cmm-extra-deal-slide {
	flex: 0 0 100%;
	width: 100%;
	box-sizing: border-box;
	scroll-snap-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(160px, 30vw, 240px);
}
/* Slide 1 - the EXTRA 20% OFF promo block (tap to copy) */
.cmm-extra-deal-slide-promo .cmm-extra-deal-prize {
	position: relative;
	display: inline-flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5vh;
	min-width: clamp(200px, 62vw, 340px) !important;
	padding: clamp(22px, 3.4vw, 40px) clamp(28px, 5vw, 56px) !important;
	background: #ffd21e !important;
	border: none !important;
	border-radius: 16px !important;
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.22) !important;
	cursor: pointer;
	font-family: 'DM Sans', sans-serif;
}
.cmm-extra-deal-slide-promo .cmm-extra-deal-prize:hover {
	transform: translateY(-2px);
	background: #ffdb45 !important;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28) !important;
}
.cmm-extra-deal-percent {
	font-size: clamp(28px, 6.4vw, 56px) !important;
	font-weight: 900 !important;
	color: #1a1a1a !important;
	letter-spacing: 0.5px !important;
	line-height: 0.98 !important;
	display: flex;
	flex-direction: column;
}
.cmm-extra-deal-percent span { display: block; }
.cmm-extra-deal-promo {
	margin-top: 0.7vh !important;
	font-size: clamp(11px, 2.4vw, 15px) !important;
	font-weight: 700 !important;
	color: #3a3a3a !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
}
.cmm-extra-deal-promo strong { color: #c0392b !important; font-weight: 900 !important; }
.cmm-extra-deal-tap {
	margin-top: 0.3vh;
	font-size: clamp(9px, 2vw, 12px);
	font-weight: 600;
	letter-spacing: 0.4px;
	color: #8a7415;
}
.cmm-extra-deal-bow {
	position: absolute;
	top: clamp(-26px, -3vw, -18px) !important;
	right: clamp(-14px, -2vw, -10px) !important;
	font-size: clamp(34px, 6vw, 52px) !important;
	transform: rotate(18deg) !important;
	filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.25)) !important;
	pointer-events: none;
}
/* Slide 2 - the promo image (links to clearance) */
.cmm-extra-deal-slide-img {
	text-decoration: none !important;
	overflow: hidden;
	border-radius: 14px;
}
.cmm-extra-deal-slide-img img {
	width: 100%;
	height: auto;
	max-height: clamp(180px, 30vw, 240px);
	object-fit: contain;
	display: block;
	border-radius: 14px;
}
/* Dot indicator */
.cmm-extra-deal-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 1.6vh;
	position: relative;
	z-index: 1;
}
.cmm-extra-deal-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.45);
	transition: background .2s ease, transform .2s ease;
}
.cmm-extra-deal-dot.is-active { background: #fff; transform: scale(1.3); }
@media (max-width: 768px) {
	.cmm-extra-deal {
		margin: 3vh 3vw !important;
		padding: 4.5vw 4vw 5vw !important;
		border-radius: 16px !important;
	}
	.cmm-extra-deal .cmm-extra-deal-header { margin: 0 0 2.4vh !important; }
	.cmm-extra-deal-slide { min-height: 42vw; }
}

/* DESKTOP - lift sections using vh (viewport-height) so it scales to any monitor */
@media (min-width: 769px) {
	html body.home .elementor.elementor-5842 .elementor-section.elementor-element-whyshop_sec,
	html body.home .elementor.elementor-5842 .elementor-element.elementor-element-whyshop_sec {
		padding-top: 0 !important;
		margin-top: -10vh !important;   /* was -110px */
	}
	html body.home .elementor.elementor-5842 .elementor-section.elementor-element-maybe_sec,
	html body.home .elementor.elementor-5842 .elementor-element.elementor-element-maybe_sec {
		padding-top: 0 !important;
		margin-top: -5vh !important;    /* was -50px */
	}
}
/* MOBILE - same scaling using vh */
@media (max-width: 768px) {
	html body.home .elementor-element-4258513,
	html body.home .elementor-element.elementor-element-4258513 {
		margin-top: -5vh !important;    /* was -40px */
	}
	html body.home .elementor.elementor-5842 .elementor-element.elementor-element-banner_sec_01,
	html body.home .elementor.elementor-5842 .elementor-section.elementor-element-banner_sec_01 {
		margin-top: 0 !important;
	}
	html body.home .elementor.elementor-5842 .elementor-element.elementor-element-maybe_sec,
	html body.home .elementor.elementor-5842 .elementor-section.elementor-element-maybe_sec {
		margin-top: -6vh !important;    /* was -50px */
	}
	html body.home .elementor.elementor-5842 .elementor-element.elementor-element-designer_sec,
	html body.home .elementor.elementor-5842 .elementor-section.elementor-element-designer_sec {
		margin-top: -6vh !important;    /* was -50px */
	}
}

/* === Benefits strip - inserted between hero slider and Selling Out Fast.
      Four static phrases; it used to be a scrolling Frame-33-1 PNG. === */
.claude-marquee-strip {
	position: relative !important;
	width: 100vw !important;
	max-width: 100vw !important;
	height: 80px;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	background: transparent;
	padding: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}
/* Frame-33-1.png measured 2376x341 and its coloured stripe ran rows 93-249 - 46% of the
   height, with empty margins above and below. The block keeps its old height so nothing
   below it shifts; only this inner layer is painted. */
.claude-marquee-strip .cmm-marq-band {
	width: 100%;
	height: 46%;
	background: #8F1100;
	display: flex;
	align-items: center;
	overflow: hidden;
}
/* The phrases scroll as one long row. Half the track is a copy of the other half, so
   sliding it exactly -50% returns to the starting frame and the loop is seamless. */
.claude-marquee-strip .cmm-marq-track {
	display: flex;
	align-items: center;
	/* Spacing matches the artwork this replaced: Frame-33-1.png was 2376x341, so at the
	   140px strip height one cycle of four phrases measured ~976px. Keep that density. */
	gap: clamp(18px, 2.8vw, 62px);
	padding-left: clamp(18px, 2.8vw, 62px);
	flex: none;
	/* Theme CSS clamps stray divs to the container width. The track has to be as wide as its
	   content, or translateX(-50%) shifts by half the SCREEN instead of half the row and the
	   loop jumps. */
	width: max-content !important;
	max-width: none !important;
	will-change: transform;
	animation: cmm-marq-scroll 40s linear infinite;
}
@keyframes cmm-marq-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.claude-marquee-strip .cmm-marq-track { animation: none; }
}
.claude-marquee-strip .cmm-marq-item {
	font-family: 'DM Sans', sans-serif;
	color: #fff;
	font-weight: 800;
	text-transform: uppercase;
	/* Scales with the viewport so all four survive a 320px phone without wrapping,
	   and still read at the size the artwork used on a wide screen. */
	font-size: clamp(9px, 1.7vw, 26px);
	letter-spacing: clamp(.2px, .1vw, 1.3px);
	white-space: nowrap;
	line-height: 1.1;
}
/* Desktop: bigger strip + breathing room above/below */
@media (min-width: 769px) {
	.claude-marquee-strip {
		height: 120px;
		margin-top: 28px !important;
		margin-bottom: 28px !important;
	}
	/* SELLING OUT FAST section: vh-scaled lift, stable across viewports */
	html body .elementor-element-4258513,
	html body .elementor-element.elementor-element-4258513 {
		padding-top: 0 !important;
		margin-top: -9vh !important;    /* was -95px */
	}
	html body .elementor-element-4258513 > .e-con-inner {
		padding-top: 0 !important;
	}
	/* WHY SHOP WITH US section - lift 160px up */
	html body .elementor-element-whyshop_sec,
	html body .elementor-element.elementor-element-whyshop_sec,
	html body [data-id="whyshop_sec"] {
		margin-top: -160px !important;
		padding-top: 0 !important;
	}
	/* Fallback (any remaining margin-collapse safety on the actual next sibling) */
	.claude-marquee-strip + section,
	.claude-marquee-strip + .elementor-section,
	.claude-marquee-strip + .e-con,
	.claude-marquee-strip + div {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
}
@media (min-width: 1400px) {
	.claude-marquee-strip {
		height: 140px;
	}
}
/* Tiny phones: smaller strip */
@media (max-width: 480px) {
	.claude-marquee-strip { height: 56px; }
}

/* === Mobile search bar (in left side panel) - pill design, magnifier icon, coral CTA === */
@media (max-width: 768px) {
	/* Outer wrapper: just a passthrough - no pill, no icon, no padding */
	.mobile-nav .wd-search-form {
		display: block !important;
		margin: 12px 12px 4px !important;
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		width: auto !important;
	}
	.mobile-nav .wd-search-form::before { content: none !important; display: none !important; }

	/* Inner <form> is the pill */
	.mobile-nav .searchform {
		position: relative !important;
		display: flex !important;
		align-items: stretch !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 4px 4px 4px 40px !important;
		border: none !important;
		border-radius: 999px !important;
		overflow: visible !important;
		background: #faf6f1 !important;
		width: 100% !important;
		height: 46px !important;
		box-sizing: border-box !important;
		box-shadow: inset 0 0 0 1px #ece8e2 !important;
		transition: box-shadow .15s ease !important;
		font-family: 'DM Sans', sans-serif !important;
		line-height: 1 !important;
	}
	.mobile-nav .searchform:focus-within {
		box-shadow: inset 0 0 0 1.5px #e85a4f, 0 4px 12px rgba(232,90,79,0.12) !important;
		background: #fff !important;
	}
	/* Single magnifier icon on the LEFT, inside the pill */
	.mobile-nav .searchform::before {
		content: '' !important;
		position: absolute !important;
		left: 14px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		width: 16px !important;
		height: 16px !important;
		background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m21 21-4.3-4.3'/></svg>") !important;
		background-repeat: no-repeat !important;
		background-size: contain !important;
		pointer-events: none !important;
		z-index: 1 !important;
	}
	.mobile-nav .wd-search-form *,
	.mobile-nav .searchform * { box-sizing: border-box !important; }
	.mobile-nav .wd-search-form input.s,
	.mobile-nav .searchform input.s,
	.mobile-nav .searchform input[type="text"] {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		align-self: stretch !important;
		height: auto !important;
		padding: 0 8px 0 0 !important;
		margin: 0 !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		font-family: 'DM Sans', sans-serif !important;
		border: none !important;
		background: transparent !important;
		color: #1a1a1a !important;
		outline: none !important;
		box-shadow: none !important;
		border-radius: 0 !important;
		-webkit-appearance: none !important;
		appearance: none !important;
		line-height: 1 !important;
	}
	.mobile-nav .wd-search-form input.s::placeholder,
	.mobile-nav .searchform input.s::placeholder {
		color: #999 !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		font-style: normal !important;
	}
	.mobile-nav .wd-search-form .searchsubmit,
	.mobile-nav .searchform .searchsubmit,
	.mobile-nav .searchform button[type="submit"] {
		flex: 0 0 auto !important;
		align-self: stretch !important;
		height: auto !important;
		min-width: 82px !important;
		padding: 0 16px !important;
		background: linear-gradient(135deg, #e85a4f 0%, #d4493e 100%) !important;
		color: #fff !important;
		font-weight: 700 !important;
		font-size: 11px !important;
		letter-spacing: 0.8px !important;
		text-transform: uppercase !important;
		border: none !important;
		border-radius: 999px !important;
		cursor: pointer !important;
		white-space: nowrap !important;
		font-family: 'DM Sans', sans-serif !important;
		margin: 0 !important;
		outline: none !important;
		box-shadow: 0 2px 6px rgba(232,90,79,0.28) !important;
		line-height: 1 !important;
		text-align: center !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		transition: transform .12s ease, box-shadow .12s ease !important;
	}
	/* Force the button's inner <span>Search</span> to behave */
	.mobile-nav .searchform .searchsubmit span {
		display: inline-block !important;
		line-height: 1 !important;
		white-space: nowrap !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	.mobile-nav .searchform .searchsubmit:hover,
	.mobile-nav .searchform .searchsubmit:active {
		background: linear-gradient(135deg, #d4493e 0%, #b53d33 100%) !important;
		transform: translateY(-1px) !important;
		box-shadow: 0 5px 14px rgba(232,90,79,0.4) !important;
	}
	/* Kill any default magnifying-glass icon (font, svg, img) inside the search button */
	.mobile-nav .searchform .searchsubmit svg,
	.mobile-nav .searchform .searchsubmit i,
	.mobile-nav .searchform .searchsubmit .wd-icon,
	.mobile-nav .searchform .searchsubmit img {
		display: none !important;
	}
	.mobile-nav .searchform .searchsubmit::before,
	.mobile-nav .searchform .searchsubmit::after {
		display: none !important;
		content: none !important;
	}
}

/* === Mobile sidebar nav (left panel via hamburger) - branded categories list === */
.mobile-nav .mobile-pages-menu.cmm-mob-nav,
.mobile-nav .cmm-mob-nav {
	list-style: none !important;
	padding: 8px 0 !important;
	margin: 0 !important;
	font-family: 'DM Sans', sans-serif !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item {
	border-bottom: 1px solid #ece8e2 !important;
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item > a {
	display: block !important;
	padding: 14px 20px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	color: #1a1a1a !important;
	text-decoration: none !important;
	background: transparent !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item.cmm-mob-clearance > a {
	color: #e85a4f !important;
	background: rgba(232,90,79,0.06) !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-arrow {
	position: absolute !important;
	top: 0 !important; right: 0 !important;
	width: 50px !important; height: 47px !important;
	border: none !important;
	background: transparent !important;
	font-size: 22px !important;
	color: #888 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 2 !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-sub {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: none !important;
	background: #faf8f4 !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-has-children.is-open > .cmm-mob-sub {
	display: block !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-sub li {
	margin: 0 !important;
	padding: 0 !important;
	border-top: 1px solid #ece8e2 !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-sub a {
	display: block !important;
	padding: 11px 20px 11px 38px !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	color: #333 !important;
	text-decoration: none !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-sub a:hover { color: #e85a4f !important; }
.mobile-nav .cmm-mob-nav .cmm-mob-sub-hdr {
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 1px !important;
	color: #888 !important;
	padding: 8px 20px 4px !important;
	border-top: 1px solid #ece8e2 !important;
	margin-top: 4px !important;
	text-transform: uppercase !important;
}

/* ===== Mobile sidebar - branded hero banner with GRAND LAUNCH SALES pillow ===== */
.mobile-nav .cmm-mob-hero-wrap { padding: 0 !important; margin: 0 !important; }
.mobile-nav .cmm-mob-hero {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 12px 12px 8px !important;
	padding: 16px 14px !important;
	border-radius: 18px !important;
	background: linear-gradient(135deg, #f5b69a 0%, #e85a4f 60%, #d4493e 100%) !important;
	color: #fff !important;
	text-decoration: none !important;
	overflow: hidden !important;
	box-shadow: 0 10px 24px rgba(232, 90, 79, 0.28) !important;
	font-family: 'DM Sans', sans-serif !important;
	min-height: 96px !important;
}
.mobile-nav .cmm-mob-hero-blob {
	position: absolute !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.16) !important;
	pointer-events: none !important;
}
.mobile-nav .cmm-mob-hero-blob-1 {
	width: 120px !important; height: 120px !important;
	top: -40px !important; right: -30px !important;
}
.mobile-nav .cmm-mob-hero-blob-2 {
	width: 70px !important; height: 70px !important;
	bottom: -25px !important; left: 30% !important;
	background: rgba(255, 255, 255, 0.10) !important;
}
.mobile-nav .cmm-mob-hero-text {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}
.mobile-nav .cmm-mob-hero-tag {
	display: inline-block !important;
	background: rgba(255, 255, 255, 0.22) !important;
	color: #fff !important;
	font-size: 9px !important;
	font-weight: 800 !important;
	letter-spacing: 1.2px !important;
	padding: 3px 9px !important;
	border-radius: 12px !important;
	text-transform: uppercase !important;
	align-self: flex-start !important;
	margin-bottom: 7px !important;
	backdrop-filter: blur(4px) !important;
}
.mobile-nav .cmm-mob-hero-cta {
	font-size: 20px !important;
	font-weight: 800 !important;
	letter-spacing: 0.3px !important;
	line-height: 1.05 !important;
	color: #fff !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
}
.mobile-nav .cmm-mob-hero-sub {
	font-size: 11px !important;
	font-weight: 600 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	margin-top: 4px !important;
	letter-spacing: 0.2px !important;
}
.mobile-nav .cmm-mob-hero img {
	flex-shrink: 0 !important;
	width: 90px !important;
	height: 90px !important;
	object-fit: contain !important;
	position: relative !important;
	z-index: 1 !important;
	filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.18)) !important;
	transition: transform 0.3s ease !important;
}
.mobile-nav .cmm-mob-hero:hover img,
.mobile-nav .cmm-mob-hero:active img { transform: rotate(-4deg) scale(1.04) !important; }

/* Perks strip under hero */
.mobile-nav .cmm-mob-perks {
	display: flex !important;
	justify-content: space-between !important;
	gap: 6px !important;
	margin: 0 12px 14px !important;
	padding: 12px 8px !important;
	background: #faf6f1 !important;
	border-radius: 12px !important;
	font-family: 'DM Sans', sans-serif !important;
}
.mobile-nav .cmm-mob-perk {
	flex: 1 1 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 4px !important;
	text-align: center !important;
	font-size: 9.5px !important;
	font-weight: 700 !important;
	color: #2a2a2a !important;
	letter-spacing: 0.2px !important;
	line-height: 1.2 !important;
}
.mobile-nav .cmm-mob-perk svg {
	width: 22px !important;
	height: 22px !important;
	display: block !important;
}
.mobile-nav .cmm-mob-perk span { display: block !important; }

/* Section heading above categories */
.mobile-nav .cmm-mob-nav::before {
	content: 'SHOP BY CATEGORY';
	display: block;
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.5px;
	color: #999;
	padding: 0 20px 8px;
	text-transform: uppercase;
}

/* Help footer */
.mobile-nav .cmm-mob-help {
	margin: 12px 12px 24px !important;
	padding: 16px 14px !important;
	background: #faf6f1 !important;
	border-radius: 14px !important;
	text-align: center !important;
	font-family: 'DM Sans', sans-serif !important;
	border: 1px solid #ece8e2 !important;
}
.mobile-nav .cmm-mob-help-title {
	font-size: 12px !important;
	font-weight: 800 !important;
	color: #1a1a1a !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	margin-bottom: 8px !important;
}
.mobile-nav .cmm-mob-help-mail {
	display: block !important;
	color: #e85a4f !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	font-size: 13px !important;
	margin-bottom: 4px !important;
}
.mobile-nav .cmm-mob-help-sub {
	font-size: 11px !important;
	color: #888 !important;
	font-weight: 500 !important;
}

/* Category icons - inline SVG via data URI, coral stroke */
.mobile-nav .cmm-mob-nav .cmm-mob-item > a {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item > a::before {
	content: '' !important;
	display: inline-block !important;
	flex-shrink: 0 !important;
	width: 22px !important;
	height: 22px !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item[data-icon="fire"] > a::before {
	background-image: url("/wp-content/uploads/2026/06/menu-ic-sale.png") !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item[data-icon="bed"] > a::before {
	background-image: url("/wp-content/uploads/2026/06/menu-ic-bed.png") !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item[data-icon="rug"] > a::before {
	background-image: url("/wp-content/uploads/2026/06/menu-ic-rug.png") !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item[data-icon="shirt"] > a::before {
	background-image: url("/wp-content/uploads/2026/06/menu-ic-shirt.png") !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item[data-icon="throw"] > a::before {
	background-image: url("/wp-content/uploads/2026/06/menu-ic-throw.png") !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item[data-icon="sun"] > a::before {
	background-image: url("/wp-content/uploads/2026/06/menu-ic-outdoor.png") !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item[data-icon="curtain"] > a::before {
	background-image: url("/wp-content/uploads/2026/06/menu-ic-curtain.png") !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item[data-icon="kids"] > a::before {
	background-image: url("/wp-content/uploads/2026/06/menu-ic-kids.png") !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item[data-icon="blog"] > a::before {
	background-image: url("/wp-content/uploads/2026/06/menu-ic-blog.png") !important;
}
/* Clearance icon - keep flame stroke red */
.mobile-nav .cmm-mob-nav .cmm-mob-item.cmm-mob-clearance > a {
	background: linear-gradient(90deg, rgba(232,90,79,0.10), rgba(232,90,79,0.02)) !important;
}
.mobile-nav .cmm-mob-nav .cmm-mob-item.cmm-mob-clearance > a::after {
	content: '-70%';
	margin-left: auto;
	margin-right: 30px;
	font-size: 11px;
	font-weight: 800;
	color: #fff;
	background: #e85a4f;
	padding: 2px 7px;
	border-radius: 10px;
	letter-spacing: 0.5px;
}
/* Make hover feel responsive */
.mobile-nav .cmm-mob-nav .cmm-mob-item > a:active,
.mobile-nav .cmm-mob-nav .cmm-mob-item > a:hover {
	background: #faf6f1 !important;
}

/* 5) Mobile bottom toolbar - remove Wishlist tab (forceful) */
.wd-toolbar .wd-header-wishlist,
.wd-toolbar [class*="wishlist"],
.wd-toolbar .wd-design-5,
.wd-toolbar > div[title*="wishlist" i],
.wd-toolbar > div[title*="Wishlist"] {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	left: -9999px !important;
}

/* Replace Cart's 50x50 PNG with a thin-line SVG to match the other icons */
.wd-toolbar .wd-toolbar-link[class*="custom-icon"] .wd-toolbar-icon img,
.wd-toolbar a[href*="/cart"] .wd-toolbar-icon img,
.wd-toolbar a[href*="/cart"] img {
	display: none !important;
}
.wd-toolbar a[href*="/cart"] .wd-toolbar-icon {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='20' r='1.4'/><circle cx='17' cy='20' r='1.4'/><path d='M3 4h2l2.5 12h11l2-8H6'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 22px 22px !important;
	width: 24px !important;
	height: 24px !important;
}

/* Replace My account's default icon with a clean person SVG (matches other icons) */
.wd-toolbar .wd-header-my-account .wd-tools-icon,
.wd-toolbar a[href*="my-account"] .wd-tools-icon,
.wd-toolbar a[href*="my-account"] .wd-toolbar-icon {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 22px 22px !important;
	width: 24px !important;
	height: 24px !important;
}
.wd-toolbar .wd-header-my-account .wd-tools-icon::before,
.wd-toolbar .wd-header-my-account .wd-tools-icon::after,
.wd-toolbar a[href*="my-account"] .wd-tools-icon::before,
.wd-toolbar a[href*="my-account"] .wd-tools-icon::after,
.wd-toolbar .wd-header-my-account svg,
.wd-toolbar a[href*="my-account"] svg,
.wd-toolbar .wd-header-my-account img,
.wd-toolbar a[href*="my-account"] img {
	display: none !important;
	content: none !important;
}

/* Replace Track-order's gear/empty default with a bold package SVG */
.wd-toolbar a[href*="/track-order"] .wd-toolbar-icon,
.wd-toolbar a[href*="track-order"] .wd-toolbar-icon {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/><polyline points='3.27 6.96 12 12.01 20.73 6.96'/><line x1='12' y1='22.08' x2='12' y2='12'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 22px 22px !important;
	width: 24px !important;
	height: 24px !important;
}
.wd-toolbar a[href*="/track-order"] .wd-toolbar-icon::before,
.wd-toolbar a[href*="/track-order"] .wd-toolbar-icon svg {
	display: none !important;
}

/* Active tab - coral top bar + bold coral label */
.wd-toolbar .is-active-tab,
.wd-toolbar .wd-toolbar-item.is-active-tab,
.wd-toolbar .wd-tools-element.is-active-tab {
	position: relative !important;
}
.wd-toolbar .is-active-tab::before {
	content: '';
	position: absolute;
	top: 0; left: 12%; right: 12%;
	height: 3px;
	background: #e85a4f;
	border-radius: 0 0 3px 3px;
}
.wd-toolbar .is-active-tab .wd-toolbar-label {
	color: #e85a4f !important;
	font-weight: 700 !important;
}
.wd-toolbar .is-active-tab .wd-toolbar-icon {
	filter: invert(40%) sepia(95%) saturate(2900%) hue-rotate(335deg) brightness(95%) contrast(90%) !important;
}

/* Fix oversized custom icons in mobile bottom toolbar (cart's 50x50 PNG was overflowing) */
.wd-toolbar .wd-toolbar-icon,
.wd-toolbar .wd-tools-icon,
.wd-toolbar .wd-custom-icon {
	width: 24px !important;
	height: 24px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 auto 4px !important;
}
.wd-toolbar .wd-toolbar-icon img,
.wd-toolbar .wd-tools-icon img,
.wd-toolbar .wd-custom-icon img {
	width: 24px !important;
	height: 24px !important;
	max-width: 24px !important;
	max-height: 24px !important;
	object-fit: contain !important;
	display: block !important;
}
.wd-toolbar .wd-toolbar-item,
.wd-toolbar .wd-tools-element {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 6px 4px !important;
	text-align: center !important;
}
/* Mobile bottom toolbar - visible ONLY on small screens (Woodmart hides on desktop by default) */
@media (max-width: 1024px) {
	.wd-toolbar {
		display: flex !important;
		justify-content: space-around !important;
		align-items: stretch !important;
		height: auto !important;
		min-height: 56px !important;
		max-height: none !important;
	}
	.wd-toolbar .wd-toolbar-item,
	.wd-toolbar .wd-tools-element {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		padding: 1vh 1vw !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		position: relative !important;
		overflow: visible !important;
	}
	.wd-toolbar .wd-toolbar-item > a,
	.wd-toolbar .wd-tools-element > a {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		position: static !important;
		gap: 0.4vh !important;
	}
	.wd-toolbar .wd-toolbar-icon,
	.wd-toolbar .wd-tools-icon,
	.wd-toolbar .wd-custom-icon {
		margin: 0 auto !important;
		position: static !important;
		flex: 0 0 auto !important;
		top: auto !important;
		left: auto !important;
		transform: none !important;
	}
	.wd-toolbar .wd-toolbar-label {
		font-size: clamp(9px, 2.8vw, 11px) !important;
		line-height: 1.15 !important;
		white-space: normal !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
		max-width: 100% !important;
		width: auto !important;
		max-height: none !important;
		display: block !important;
		text-align: center !important;
		margin: 0.3vh auto 0 !important;
		padding: 0 !important;
		position: static !important;
		overflow: visible !important;
	}
}
/* Desktop: keep Woodmart's default (hidden) */
@media (min-width: 1025px) {
	.wd-toolbar { display: none !important; }
}

/* 6) Hide black page-title banner on /track-order/, /my-account/, /cart/, /checkout/, etc. */
body.page-template-default .page-title,
body.woocommerce-account .page-title,
body.woocommerce-cart .page-title,
body.woocommerce-checkout .page-title,
body[class*="track-order"] .page-title,
body[class*="my-account"] .page-title {
	display: none !important;
	height: 0 !important;
}

/* My Account / Track Order content - readable, in our style (DM Sans, light bg, soft cards) */
.woocommerce-account, .woocommerce-account .entry-content,
body[class*="track-order"] .entry-content {
	font-family: 'DM Sans', sans-serif !important;
	background: #f9f7f3 !important;
}
.woocommerce-account .container,
body[class*="track-order"] .container {
	max-width: 600px !important;
	margin: 0 auto !important;
	padding: 40px 16px !important;
}
.woocommerce-form-login, .woocommerce-form-register,
.woocommerce-form-coupon, form.track_order, form.woocommerce-form-track-order {
	background: #fff !important;
	border: 1px solid #ece8e2 !important;
	border-radius: 14px !important;
	padding: 28px 24px !important;
	box-shadow: 0 4px 14px rgba(0,0,0,0.04) !important;
}
.woocommerce-form-login input, .woocommerce-form-register input,
form.track_order input, form.woocommerce-form-track-order input {
	width: 100% !important;
	padding: 12px 14px !important;
	font-size: 15px !important;
	border: 1.5px solid #d9d4cd !important;
	border-radius: 8px !important;
	background: #fff !important;
	margin-top: 4px !important;
}
.woocommerce-form-login button, .woocommerce-form-register button,
form.track_order button, form.woocommerce-form-track-order button {
	width: 100% !important;
	background: #e85a4f !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 14px 20px !important;
	margin-top: 14px !important;
	cursor: pointer !important;
}
.woocommerce-form-login button:hover, .woocommerce-form-register button:hover,
form.track_order button:hover, form.woocommerce-form-track-order button:hover {
	background: #d04438 !important;
}
.woocommerce-account h1, .woocommerce-account h2,
body[class*="track-order"] h1, body[class*="track-order"] h2 {
	font-family: 'DM Sans', sans-serif !important;
	color: #1a1a1a !important;
	margin: 0 0 18px !important;
	font-weight: 800 !important;
}

/* Cart - make sure it works for guests; hide login-prompts that block */
.woocommerce-cart .woocommerce-info { background: #fff !important; border-left: 4px solid #e85a4f !important; }
.woocommerce-info { display: none !important; }
.woocommerce-info.show-cart-info { display: block !important; }

/* ===== Selling Out Fast carousel - mobile tweaks ===== */
@media (max-width: 768px) {
	/* Discount circle - small enough to not eat the product image (3 per row = ~120px cards) */
	.product-label.onsale,
	.product-grid-item .product-label.onsale,
	.products .product-label.onsale,
	.wd-carousel-container .product-label.onsale,
	.elementor-widget-wd_products .product-label.onsale {
		width: 30px !important;
		height: 30px !important;
		font-size: 9px !important;
		line-height: 30px !important;
		padding: 0 !important;
		top: 4px !important;
		right: 4px !important;
		left: auto !important;
		border-radius: 50% !important;
	}
	/* (Consolidated above - sticker mobile rule at single source of truth) */
	.legacy-cp-sticker-loop-removed-1 {
		position: absolute !important;
		width: 33px !important; height: 33px !important;
		max-width: 33px !important; max-height: 33px !important;
		min-width: 0 !important; min-height: 0 !important;
		top: 4px !important; left: 4px !important; right: auto !important;
		background: transparent !important;
		box-shadow: none !important;
		border: none !important;
		border-radius: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		object-fit: contain !important;
		z-index: 12 !important;
		filter: none !important;       /* no drop-shadow halo */
		display: block !important;
	}
	/* SOLD OUT injected badge - smaller */
	.product-grid-item .cl-sold-out,
	.products .cl-sold-out,
	.wd-carousel-container .cl-sold-out,
	.elementor-widget-wd_products .cl-sold-out {
		font-size: 10px !important;
		padding: 4px 8px !important;
		letter-spacing: 1px !important;
	}
	/* Dots - shrink and limit visible count to ~5 */
	.owl-carousel .owl-dots {
		max-width: 140px !important;
		margin: 8px auto 0 !important;
		overflow: hidden !important;
		text-align: center !important;
	}
	.owl-carousel .owl-dots .owl-dot span {
		width: 6px !important; height: 6px !important;
		margin: 0 4px !important;
		background: #d4cfc6 !important;
	}
	.owl-carousel .owl-dots .owl-dot.active span { background: #1a1a1a !important; }
	/* Hide dots beyond 5 */
	.owl-carousel .owl-dots .owl-dot:nth-child(n+6) { display: none !important; }
}

/* ===== Selling Out Fast carousel - 2 visible items on mobile, wider cards ===== */
@media (max-width: 600px) {
	.wd-carousel-container .owl-stage,
	.elementor-widget-wd_products .owl-stage {
		display: flex !important;
	}
	.wd-carousel-container .owl-item,
	.elementor-widget-wd_products .owl-item {
		flex: 0 0 50% !important;
		max-width: 50% !important;
		min-width: 0 !important;
		padding: 0 5px !important;
	}
	/* Card itself - fill the slide, no extra side padding */
	.wd-carousel-container .product-grid-item,
	.elementor-widget-wd_products .product-grid-item {
		padding: 0 !important;
	}
	.wd-carousel-container .product-wrapper,
	.elementor-widget-wd_products .product-wrapper {
		padding: 4px !important;
	}
	/* Card must allow sticker to overflow outside the image area to the CARD corner */
	.product-grid-item, .products li.product { position: relative !important; }
	.wd-carousel-container .product-element-top,
	.elementor-widget-wd_products .product-element-top,
	.products .product-element-top, .product-grid-item .product-element-top {
		position: relative !important;
		overflow: visible !important;
		border-radius: 8px !important;
	}
	/* Smaller green discount circle, inside image top-right */
	.wd-carousel-container .product-label.onsale,
	.elementor-widget-wd_products .product-label.onsale,
	.products .product-label.onsale {
		position: absolute !important;
		top: 4px !important; right: 4px !important; left: auto !important;
		width: 22px !important; height: 22px !important;
		font-size: 8px !important; line-height: 22px !important;
		text-align: center !important;
		border-radius: 50% !important;
		margin: 0 !important;
		z-index: 5 !important;
	}
	.product-grid-item .product-labels {
		position: absolute !important;
		top: 0 !important; left: 0 !important; right: 0 !important;
		width: 100% !important; height: 100% !important;
		pointer-events: none !important;
		padding: 0 !important;
	}
	/* (Removed duplicate - see consolidated mobile rule at the top of mobile CSS block) */

	/* Section headings (SELLING OUT FAST:, etc.) - centered on mobile */
	h1.elementor-heading-title, h2.elementor-heading-title, h3.elementor-heading-title,
	.elementor-widget-heading .elementor-heading-title,
	.wd-text-block h1, .wd-text-block h2, .wd-text-block h3 {
		text-align: center !important;
	}
}

/* ===== HOMEPAGE - full mobile polish ===== */
@media (max-width: 768px) {
	/* Sections - tighter vertical padding so user sees more content per scroll */
	.elementor-section, .elementor-top-section, .e-con {
		padding-top: 14px !important;
		padding-bottom: 14px !important;
	}
	/* Headings - fit phone */
	h1.elementor-heading-title, .wd-text-block h1 { font-size: 24px !important; line-height: 1.15 !important; }
	h2.elementor-heading-title, .wd-text-block h2 { font-size: 20px !important; line-height: 1.2 !important; margin: 0 0 12px !important; }
	h3.elementor-heading-title, .wd-text-block h3 { font-size: 17px !important; line-height: 1.3 !important; }

	/* Strip ALL horizontal padding/margins from page wrappers on mobile - banner can finally hit the edge */
	body, .main-page-wrapper, .site-content, .container, .row, .content-layout-wrapper,
	.elementor, .elementor-section, .elementor-container, .elementor-column,
	.elementor-widget-wrap, .elementor-widget-container,
	article.page, article.post {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
	}
	body { overflow-x: hidden !important; }
	/* Hero slider section - full width of (now-zero-padding) parent */
	[data-id="202f18b"], .elementor-element-bb7df89, .elementor-element-bb7df89 .elementor-swiper,
	.elementor-element-bb7df89 .elementor-slides-wrapper,
	.elementor-element-bb7df89 .swiper-slide,
	.elementor-element-bb7df89 .swiper-slide-bg { border-radius: 0 !important; width: 100% !important; max-width: 100% !important; }
	.elementor-element-bb7df89 img { width: 100% !important; height: auto !important; }
	/* Hero slide image - proportional taller box, like the desktop (full image visible) */
	.elementor-element-bb7df89 .swiper-slide-bg {
		background-size: cover !important;
		background-position: center !important;
		min-height: 65vw !important;       /* taller - full bear visible */
		height: 65vw !important;
		aspect-ratio: auto !important;
	}
	.elementor-element-bb7df89 .elementor-slides-wrapper,
	.elementor-element-bb7df89 .swiper-slide {
		min-height: 65vw !important;
		height: 65vw !important;
	}
	/* Remove white strips above/below the hero slider - kill ALL vertical padding/margin on neighbours */
	[data-id="202f18b"],
	[data-id="202f18b"] .elementor-container,
	[data-id="202f18b"] .elementor-column,
	[data-id="202f18b"] .elementor-widget-wrap,
	[data-id="202f18b"] .elementor-widget-container,
	[data-id="bb7df89"] .elementor-widget-container {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	/* Hero is the first section - kill any top spacing from page wrappers above it */
	article.page, article.post, .elementor, .main-page-wrapper,
	.site-content, .content-layout-wrapper {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	[data-id="202f18b"] + section,
	section + [data-id="202f18b"] {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	.elementor-slides-wrapper .swiper-arrow,
	.wd-swiper-arrow, .elementor-swiper-button-prev, .elementor-swiper-button-next {
		width: 30px !important; height: 30px !important;
		opacity: 0.8 !important;
	}
	/* GET MY BARGAIN button - bigger tap target */
	.wd-slider .btn, .elementor-slides .btn,
	.wd-slider a.button, .elementor-slides a.button {
		font-size: 12px !important;
		padding: 10px 18px !important;
		letter-spacing: 1px !important;
		border-radius: 6px !important;
	}

	/* Carousel container - no awkward overflow */
	.wd-carousel-container,
	.elementor-widget-wd_products .wd-products-element {
		padding: 0 !important;
		margin: 8px 0 !important;
	}
	/* Carousel arrows - smaller and offset so they don't cover product cards */
	.owl-carousel .owl-nav .owl-prev,
	.owl-carousel .owl-nav .owl-next {
		width: 32px !important;
		height: 32px !important;
		background: rgba(255,255,255,0.9) !important;
		box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
		border-radius: 50% !important;
	}

	/* Product cards in any WC loop / carousel - compact look */
	.product-grid-item .product-wrapper { padding: 4px !important; }
	.product-grid-item .product-element-top { border-radius: 8px !important; overflow: hidden !important; }
	.product-grid-item .wd-entities-title { font-size: 12px !important; line-height: 1.3 !important; margin: 8px 4px 4px !important; padding: 0 !important; }
	.product-grid-item .price { font-size: 13px !important; font-weight: 700 !important; margin: 0 4px 6px !important; }
	.product-grid-item .price del { font-size: 11px !important; }

	/* Designer / Why-Shop / Maybe-circle - already styled but ensure section tight padding */
	.designer-grid, .maybe-circles, .why-shop-section .ws-points { gap: 10px !important; }

	/* Newsletter form bar */
	.wd-mailchimp form { padding: 14px !important; gap: 8px !important; }
	.wd-mailchimp input[type="email"] { font-size: 14px !important; padding: 10px 12px !important; }
	.wd-mailchimp button { font-size: 13px !important; padding: 11px 18px !important; }
}
@media (max-width: 480px) {
	/* Even tighter on small phones */
	.product-label.onsale,
	.product-grid-item .product-label.onsale {
		width: 26px !important; height: 26px !important; font-size: 8px !important; line-height: 26px !important;
	}
	/* (sticker-loop size set in single 768px mobile rule above) */
	.cl-sold-out { font-size: 9px !important; padding: 3px 7px !important; }
	.product-grid-item .wd-entities-title { font-size: 11px !important; }
	.product-grid-item .price { font-size: 12px !important; }
	h2.elementor-heading-title { font-size: 18px !important; }
}

/* ===== Product of the Day deal banner - full-width via zero parent padding ===== */
@media (max-width: 768px) {
	[data-id="banner_sec_01"] {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	.deal-banner {
		display: block !important;
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		position: relative !important;
		overflow: hidden !important;
		aspect-ratio: auto !important;
		height: auto !important;
	}
	.deal-banner img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: auto !important;
		object-fit: cover !important;
		display: block !important;
	}
	/* No top/bottom margin on deal-banner section either */
	[data-id="banner_sec_01"] { margin-top: 0 !important; margin-bottom: 0 !important; }
	.deal-banner img {
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		object-fit: cover !important;
		display: block !important;
	}
	/* "deal ends in" - slight right shift on mobile per design */
	.deal-banner .deal-timer-title {
		font-size: 13px !important;
		font-weight: 700 !important;
		color: #1a1a1a !important;
		top: 35% !important;
		left: 79% !important;
		transform: translate(-50%, 0) !important;
		white-space: nowrap !important;
		text-align: center !important;
		background: transparent !important;
		margin: 0 !important;
	}
	/* Timer row - in the gap below the DEAL OF THE DAY badge, above the bear (right side) */
	.deal-banner .deal-timer {
		gap: 4px !important;
		top: 40% !important;
		left: 79% !important;
		transform: translate(-50%, 0) !important;
		display: flex !important;
		align-items: flex-start !important;
		justify-content: center !important;
		margin: 0 !important;
	}
	/* Transparent numbers - no white pills, just bold text */
	.timer-box {
		padding: 0 4px !important;
		min-width: 0 !important;
		background: transparent !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		text-align: center !important;
	}
	.timer-box .t-num {
		font-size: 21px !important;
		font-weight: 900 !important;
		letter-spacing: 0 !important;
		line-height: 1 !important;
		color: #1a1a1a !important;
	}
	/* Match the design mock: show "22:42:13" (numbers + colons), hide HRS/MIN/SEC labels on mobile */
	.deal-banner .timer-box .t-label { display: none !important; }
	/* Colons between segments - vertically centred on the number (labels are hidden on mobile,
	   so the global top:4px no longer aligns) */
	.timer-box:not(:last-child)::after {
		font-size: 18px !important;
		right: -4px !important;
		top: 50% !important;
		bottom: auto !important;
		transform: translateY(-50%) !important;
		line-height: 1 !important;
		color: #1a1a1a !important;
		background: transparent !important;
	}
}
@media (max-width: 480px) {
	.deal-banner .deal-timer-title { font-size: 12px !important; top: 35% !important; left: 79% !important; }
	.deal-banner .deal-timer { top: 40% !important; left: 79% !important; gap: 2px !important; }
	.timer-box .t-num { font-size: 18px !important; }
	.timer-box:not(:last-child)::after { font-size: 16px !important; }
}

/* ===== NEW PRODUCT CARD DESIGN (overrides) =================================
   1) Replace red "GRAND LAUNCH SALES" sticker with yellow comic "GRAND SALE".
   2) Recolor "-XX%" badge -> coral "SAVE XX%" pill, bottom-right of image.
   3) Price: "Now £X.XX" coral bold + strikethrough old price.
   4) Hide short description on single product pages.
   ============================================================================ */

/* Hide any leftover old red-pillow stickers from cached HTML */
.cp-sale-sticker-loop,
img.cp-sale-sticker-loop,
.cp-sale-sticker,
img.cp-sale-sticker { display: none !important; }
/* Hide the temporary CSS-built sticker (replaced by the user's PNG below) */
.cp-grand-sale { display: none !important; }

/* User-supplied "GRAND SALE" PNG - small comic sticker, top-left of the card image.
   No background, no shadow, no border - just the transparent PNG. */
.cp-grand-sale-img {
	position: absolute !important;
	z-index: 9999 !important;
	top: clamp(6px, 0.7vw, 12px);
	left: clamp(6px, 0.7vw, 12px);
	width: clamp(70px, 7vw, 120px) !important;
	height: auto !important;
	max-width: 35% !important;
	aspect-ratio: auto !important;
	object-fit: contain !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	/* Soft drop-shadow gives the comic sticker depth and stops it from looking
	   like it sits on a flat white square when the product photo BG is white. */
	filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.22)) drop-shadow(0 0 2px rgba(0, 0, 0, 0.15)) !important;
	pointer-events: none;
}
/* Belt-and-suspenders against LazyLoad wrappers that sometimes paint a grey box */
.cp-grand-sale-img.no-lazyload,
.cp-grand-sale-img[data-no-lazy] {
	background: transparent !important;
	box-shadow: none !important;
}

/* Wrap the product image so the SAVE pill can sit ON the photo (bottom-right corner),
   not at the card bottom where it overlapped the title/price line. */
.claude-product-card .cp-img {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
}
.claude-product-card .cp-img > img:not(.cp-grand-sale-img) {
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	border-radius: 8px !important;
	display: block !important;
	margin: 0 !important;
}
.claude-product-card .cp-img .cp-save-badge {
	position: absolute;
	z-index: 11;
	right: clamp(8px, 1vw, 14px);
	bottom: clamp(8px, 1vw, 14px);
	background: #e85a4f;
	color: #fff !important;
	font-family: 'DM Sans', sans-serif;
	font-weight: 900;
	font-size: clamp(11px, 1.05vw, 14px);
	letter-spacing: 0.6px;
	text-transform: uppercase;
	padding: clamp(5px, 0.6vh, 8px) clamp(10px, 1vw, 14px);
	border-radius: 8px;
	line-height: 1.1;
	box-shadow: 0 4px 12px rgba(232, 90, 79, 0.30);
	pointer-events: none;
}

/* Coral SAVE-XX% pill in the bottom-right of the product image (BIGGER on SOF + product grids) */
.product-label.onsale,
.product-grid-item .product-label.onsale,
.products .product-label.onsale,
.wd-carousel-container .product-label.onsale,
.elementor-widget-wd_products .product-label.onsale,
.wd-product-grid-item .onsale {
	background: #e85a4f !important;
	color: #fff !important;
	font-family: 'DM Sans', sans-serif !important;
	font-weight: 900 !important;
	font-size: clamp(17px, 1.7vw, 24px) !important;
	letter-spacing: 0.6px !important;
	text-transform: uppercase !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: clamp(14px, 1.6vh, 22px) clamp(18px, 1.8vw, 28px) !important;
	border-radius: 12px !important;
	line-height: 1.1 !important;
	top: auto !important;
	right: clamp(8px, 1vw, 16px) !important;
	bottom: clamp(8px, 1vw, 16px) !important;
	left: auto !important;
	box-shadow: 0 5px 14px rgba(232, 90, 79, 0.32) !important;
	z-index: 11 !important;
	transform: none !important;
}

/* Selling Out Fast carousel: the SAVE pill sits in a .product-labels container the theme
   pins TOP-LEFT. Move the CONTAINER to bottom-right of the photo, pill static inside it,
   compact size (match catalog, not the oversized default). */
html body .elementor-element-4258513 .product-labels,
html body .elementor-element-4258513 .product-labels.labels-rounded {
	position: absolute !important;
	top: auto !important;
	left: auto !important;
	right: clamp(8px, 1vw, 16px) !important;
	bottom: clamp(8px, 1vw, 16px) !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 6px !important;
	z-index: 11 !important;
	pointer-events: none !important;
}
html body .elementor-element-4258513 .product-labels .onsale,
html body .elementor-element-4258513 .product-labels .product-label.onsale {
	position: static !important;
	top: auto !important; right: auto !important; bottom: auto !important; left: auto !important;
	margin: 0 !important;
	float: none !important;
	align-self: flex-end !important;
	font-size: clamp(12px, 1vw, 15px) !important;
	padding: 7px 13px !important;
	border-radius: 9px !important;
	letter-spacing: 0.4px !important;
	box-shadow: 0 3px 10px rgba(232, 90, 79, 0.3) !important;
}
html body .elementor-element-4258513 .product-labels .product-label.out-of-stock,
html body .elementor-element-4258513 .product-labels .product-label.featured { display: none !important; }

/* === SELLING OUT FAST: on <=768 (phones/tablets incl. iPad 768) a global
   body *{max-width:100%} rule + a legacy flex hack were clamping Woodmart's owl
   stage/items and breaking the carousel (wrong widths / wrapping). Exempt the SOF
   owl so the native carousel works: infinite loop swipe, no scrollbar, arrows + dots.
   >=769 unaffected. === */
@media (max-width: 768px) {
	.elementor-element-4258513 .owl-carousel .owl-stage-outer,
	.elementor-element-4258513 .owl-carousel .owl-stage,
	.elementor-element-4258513 .owl-carousel .owl-item { max-width: none !important; }
	.elementor-element-4258513 .owl-carousel .owl-stage { display: block !important; }
	.elementor-element-4258513 .owl-carousel .owl-item { flex: 0 0 auto !important; min-width: 0 !important; }
}

/* SOF / Woodmart cards: title close to image, price right under title */
.product-grid-item .product-element-top,
.products .product-element-top,
.wd-carousel-container .product-element-top {
	margin-bottom: 0 !important;
}
.product-grid-item .product-element-bottom,
.products .product-element-bottom,
.wd-carousel-container .product-element-bottom {
	margin-top: 0 !important;
	padding: clamp(8px, 1vh, 14px) clamp(8px, 1vw, 14px) !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
	flex: 1 1 auto !important;
}
.product-grid-item .product-wrapper,
.products .product-wrapper,
.wd-carousel-container .product-wrapper {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}
.product-grid-item .product-element-bottom .wd-entities-title,
.products .product-element-bottom .wd-entities-title,
.wd-carousel-container .product-element-bottom .wd-entities-title {
	margin: 0 0 clamp(4px, 0.5vh, 8px) !important;
	line-height: 1.25 !important;
}
.product-grid-item .product-element-bottom .price,
.products .product-element-bottom .price,
.wd-carousel-container .product-element-bottom .price {
	margin: 0 !important;
}
/* Hide the empty 0-star rating in SOF / Woodmart loops - looks broken */
.product-grid-item .wd-star-rating,
.products .wd-star-rating,
.wd-carousel-container .wd-star-rating,
.product-grid-item .product-element-bottom > .star-rating,
.wd-carousel-container .product-element-bottom > .star-rating {
	display: none !important;
}

/* Price line - "Now £X.XX" in coral, old price strikethrough small */
.product-grid-item .price,
.products .price,
.wd-carousel-container .price,
.elementor-widget-wd_products .price {
	font-family: 'DM Sans', sans-serif !important;
	display: flex !important;
	align-items: baseline !important;
	gap: 6px !important;
	flex-wrap: wrap !important;
}
.product-grid-item .price del,
.products .price del,
.wd-carousel-container .price del,
.elementor-widget-wd_products .price del {
	color: #8a8a8a !important;
	font-weight: 500 !important;
	font-size: clamp(12px, 1vw, 14px) !important;
	text-decoration: line-through !important;
	opacity: 0.85 !important;
}
.product-grid-item .price ins,
.products .price ins,
.wd-carousel-container .price ins,
.elementor-widget-wd_products .price ins {
	color: #e85a4f !important;
	font-weight: 900 !important;
	font-size: clamp(15px, 1.3vw, 19px) !important;
	text-decoration: none !important;
	background: transparent !important;
	display: inline-flex !important;
	align-items: baseline !important;
	gap: 4px !important;
}
.product-grid-item .price ins::before,
.products .price ins::before,
.wd-carousel-container .price ins::before,
.elementor-widget-wd_products .price ins::before {
	content: 'Now';
	color: #e85a4f;
	font-weight: 400 !important;
	margin-right: 2px;
}
/* New price amount stays BOLD (the "Now" word above is now normal weight) */
.product-grid-item .price ins .woocommerce-Price-amount,
.products .price ins .woocommerce-Price-amount,
.wd-carousel-container .price ins .woocommerce-Price-amount,
.elementor-widget-wd_products .price ins .woocommerce-Price-amount,
.product-grid-item .price ins bdi,
.products .price ins bdi,
.wd-carousel-container .price ins bdi,
.elementor-widget-wd_products .price ins bdi {
	font-weight: 900 !important;
}

/* Same price treatment for our custom .claude-product-card */
.claude-product-card .cp-price {
	display: flex !important;
	align-items: baseline !important;
	gap: 6px !important;
	flex-wrap: wrap !important;
	font-family: 'DM Sans', sans-serif !important;
}
/* Old price - BLACK strikethrough (was grey) */
.claude-product-card .cp-price del,
.claude-product-card .cp-price del .amount,
.claude-product-card .cp-price del .woocommerce-Price-amount,
.claude-product-card .cp-price del bdi,
.claude-product-card .cp-price del .woocommerce-Price-currencySymbol {
	color: #1a1a1a !important;
	font-weight: 500 !important;
	font-size: clamp(12px, 1vw, 15px) !important;
	text-decoration: line-through !important;
	opacity: 1 !important;
}
/* New price - CORAL bold, with "Now" prefix. Deep selectors beat theme overrides. */
.claude-product-card .cp-price ins {
	font-weight: 900 !important;
	font-size: clamp(15px, 1.3vw, 20px) !important;
	text-decoration: none !important;
	background: transparent !important;
	display: inline-flex !important;
	align-items: baseline !important;
	gap: 4px !important;
}
.claude-product-card .cp-price ins,
.claude-product-card .cp-price ins .amount,
.claude-product-card .cp-price ins .woocommerce-Price-amount,
.claude-product-card .cp-price ins bdi,
.claude-product-card .cp-price ins .woocommerce-Price-currencySymbol {
	color: #e85a4f !important;
}
.claude-product-card .cp-price ins::before {
	content: 'Now';
	color: #e85a4f;
	font-weight: 400 !important;
	margin-right: 2px;
}

/* Hide the strikethrough short description on the single product page */
body.single-product .woocommerce-product-details__short-description,
body.single-product .product .summary > .woocommerce-product-details__short-description,
body.single-product .wd-product-summary .woocommerce-product-details__short-description {
	display: none !important;
}

@media (max-width: 768px) {
	.cp-grand-sale { padding: 6px 10px; border-width: 2px; }
	.cp-grand-sale span { font-size: 10px; }
	.cp-grand-sale span:first-child { font-size: 11px; }
	/* SAVE % badge on mobile: compact coral pill in the corner - full selector set so it
	   beats the higher-specificity desktop rule (which otherwise made it a tall block). */
	html body .product-grid-item .product-labels .product-label.onsale,
	html body .product-grid-item .product-labels.labels-rounded .product-label.onsale,
	html body .products .product-labels .product-label.onsale,
	html body .wd-carousel-container .product-labels .product-label.onsale,
	html body .elementor-widget-wd_products .product-labels .product-label.onsale,
	html body .product-label.onsale,
	html body .product-grid-item .product-label.onsale {
		font-size: 12px !important;
		padding: 5px 9px !important;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
		max-width: max-content !important;
		right: 8px !important;
		bottom: 8px !important;
		top: auto !important;
		left: auto !important;
		border-radius: 8px !important;
		line-height: 1 !important;
		white-space: nowrap !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-shadow: 0 3px 10px rgba(232,90,79,0.3) !important;
	}
	/* keep the labels container from imposing its own height/stretch on the pill */
	html body .product-grid-item .product-labels,
	html body .products .product-labels,
	html body .wd-carousel-container .product-labels {
		height: auto !important;
		inset: auto 0 0 auto !important;
		align-items: flex-end !important;
	}
}

/* ===== Single product gallery: LARGE "SAVE %" badge (grid rules shrink it by accident) ===== */
html body.single-product .woocommerce-product-gallery .product-labels .onsale,
html body.single-product .elementor-widget-woocommerce-product-images .product-labels .onsale,
html body.single-product .product-image-wrap .product-labels .onsale {
	font-size: clamp(20px, 1.9vw, 26px) !important;
	line-height: 1.1 !important;
	font-weight: 900 !important;
	padding: 10px 18px !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	border-radius: 999px !important;
	top: 16px !important;
	right: 16px !important;
	bottom: auto !important;
	left: auto !important;
	letter-spacing: 0.5px !important;
	box-shadow: 0 4px 14px rgba(232,90,79,.35) !important;
	z-index: 6 !important;
}
@media (max-width: 768px) {
	html body.single-product .woocommerce-product-gallery .product-labels .onsale,
	html body.single-product .elementor-widget-woocommerce-product-images .product-labels .onsale,
	html body.single-product .product-image-wrap .product-labels .onsale {
		font-size: 22px !important;
		padding: 9px 16px !important;
		top: 12px !important;
		right: 12px !important;
	}
}

/* ===== Latest user-requested polish ===== */

/* 1) Hide the "Track order" delivery button in the header */
.custom-delivery-button,
#wd-6803fb05bc6de,
.wd-button-wrapper:has(> .custom-delivery-button) { display: none !important; }

/* 2) Hide the "Buy Now" button on single product pages (keep Add to Cart) */
body.single-product .wd-buy-now-btn,
body.single-product button.wd-buy-now-btn,
body.single-product .wd-buy-now-btn.button { display: none !important; }

/* 3) Hide duplicate variation price on single product pages - top price line already updates */
body.single-product .woocommerce-variation-price { display: none !important; }

/* 4) Cart icon hover tooltip: "your bag" */
.wd-header-cart { position: relative !important; }
.wd-header-cart::after {
	content: 'your bag';
	position: absolute;
	top: calc(100% + 4px);
	left: 50%;
	transform: translate(-50%, 4px);
	background: #1a1a1a;
	color: #fff;
	font-family: 'DM Sans', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.5px;
	padding: 6px 12px;
	border-radius: 8px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease;
	z-index: 10000;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
	text-transform: lowercase;
}
.wd-header-cart::before {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-50%, 4px);
	border: 5px solid transparent;
	border-bottom-color: #1a1a1a;
	opacity: 0;
	transition: opacity .2s ease;
	pointer-events: none;
	z-index: 10000;
}
.wd-header-cart:hover::after,
.wd-header-cart:hover::before { opacity: 1; transform: translate(-50%, 0); }

/* ===== BEDDING mega-menu extras (Summer card, New-in, trending colours) ===== */
.claude-mega-menu .cmm-summer-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin-top: 24px;
	text-decoration: none !important;
	color: #1a1a1a;
}
.claude-mega-menu .cmm-summer-card-tile {
	display: block;
	width: 120px;
	height: 80px;
	background: #e85a4f;
	border-radius: 6px;
	transition: transform .15s ease;
}
.claude-mega-menu .cmm-summer-card-img {
	display: block;
	width: 140px;
	height: 90px;
	object-fit: cover;
	border-radius: 6px;
	transition: transform .15s ease;
}
.claude-mega-menu .cmm-summer-card:hover .cmm-summer-card-tile,
.claude-mega-menu .cmm-summer-card:hover .cmm-summer-card-img { transform: translateY(-2px); }
.claude-mega-menu .cmm-summer-card-label {
	font-weight: 700;
	font-size: 13px;
	color: #1a1a1a;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.claude-mega-menu li.cmm-style-new-in > a {
	color: #e85a4f !important;
	font-weight: 700;
}

.claude-mega-menu .cmm-trending-h {
	margin-top: 22px !important;
}
.claude-mega-menu .cmm-color-circles {
	display: flex;
	gap: 10px;
	margin-top: 10px;
	flex-wrap: wrap;
}
.claude-mega-menu .cmm-color {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.12);
	display: block;
	transition: transform .15s ease, box-shadow .15s ease;
}
.claude-mega-menu .cmm-color:hover {
	transform: scale(1.12);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

/* KIDS menu: "Shop Kids Clothes" cross-link styled red like New-in */
.claude-mega-menu li.cmm-kids-clothes-link > a {
	color: #e85a4f !important;
	font-weight: 700;
}

/* ===== BLOG page: hide the black page-title banner + the post listing (empty for now) ===== */
body.blog .page-title,
body.blog .wd-page-title,
body.blog .title-size-default,
body.blog .entry-header,
body.blog header.entry-header,
body.blog .woodmart-archive-title { display: none !important; height: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }

body.blog article,
body.blog .post,
body.blog .blog-design-default,
body.blog .blog-design-masonry,
body.blog .wp-pagenavi,
body.blog .pagination,
body.blog .wd-pagination,
body.blog nav.navigation { display: none !important; }
/* Optional: keep the content area present (no scary blank) but visually empty */
body.blog .site-content,
body.blog .content-area { min-height: 40vh !important; }

/* ===== Styled blog landing grid (5 image cards) ===== */
body.blog .cmm-blog-wrap { width: 100%; }
.cmm-blog-heading {
	text-align: center;
	font-family: 'DM Sans', sans-serif;
	font-weight: 800;
	font-size: clamp(24px, 3vw, 40px);
	color: #1a1a1a;
	margin: clamp(20px, 4vh, 44px) 0 clamp(16px, 3vh, 32px);
}
.cmm-blog-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: clamp(16px, 2vw, 32px);
	max-width: 1200px;
	margin: 0 auto clamp(40px, 8vh, 96px);
	padding: 0 clamp(16px, 4vw, 40px);
	font-family: 'DM Sans', sans-serif;
}
.cmm-blog-card { display: flex; flex-direction: column; text-decoration: none !important; }
.cmm-blog-card-img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 14px;
	overflow: hidden;
	background: #f0ece6;
	box-shadow: 0 4px 16px rgba(0,0,0,0.05);
	transition: transform .18s ease, box-shadow .18s ease;
}
.cmm-blog-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cmm-blog-card:hover .cmm-blog-card-img { transform: translateY(-4px); box-shadow: 0 10px 26px rgba(0,0,0,0.12); }
.cmm-blog-card-title {
	margin-top: clamp(10px, 1.6vh, 16px);
	text-align: center;
	font-size: clamp(13px, 1vw, 16px);
	font-weight: 700;
	line-height: 1.35;
	color: #1a1a1a;
}
.cmm-blog-card-title strong { font-weight: 800; color: #e85a4f; }

/* ===== Summer selection blog article (page 32485) ===== */
body.page-id-32485 .page-title,
body.page-id-32485 .wd-page-title,
body.page-id-32485 .entry-header,
body.page-id-32485 .woodmart-archive-title { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }
.cmm-ss { font-family: 'DM Sans', sans-serif; color: #1a1a1a; }
.cmm-ss-hero {
	position: relative;
	max-width: 1100px;
	margin: clamp(10px, 2vh, 24px) auto 0;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 2029 / 381; /* match the Frame banners so nothing is cropped on desktop */
}
.cmm-ss-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cmm-ss-hero-title {
	position: absolute;
	left: clamp(18px, 3vw, 48px);
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	font-weight: 800;
	font-size: clamp(34px, 5.5vw, 72px);
	text-shadow: 0 2px 12px rgba(0,0,0,0.35);
	line-height: 1;
}
.cmm-ss-body { max-width: 1000px; margin: 0 auto; padding: clamp(20px, 4vh, 44px) clamp(16px, 4vw, 40px) clamp(40px, 8vh, 90px); }
.cmm-ss-h1 { font-size: clamp(24px, 3.2vw, 40px); font-weight: 800; line-height: 1.2; margin: 0 0 clamp(16px, 3vh, 28px); }
.cmm-ss-tip { font-size: clamp(15px, 1.3vw, 19px); font-weight: 800; font-style: italic; margin: clamp(18px, 3vh, 28px) 0 clamp(8px, 1.2vh, 12px); color: #1a1a1a; }
.cmm-ss-body h3 { font-size: clamp(15px, 1.4vw, 19px); font-weight: 800; letter-spacing: 0.5px; margin: clamp(18px, 3vh, 30px) 0 clamp(10px, 1.5vh, 16px); }
.cmm-ss-body p { font-size: clamp(15px, 1.1vw, 18px); line-height: 1.6; color: #4a4a4a; margin: 0 0 clamp(14px, 2vh, 20px); text-align: justify; }
.cmm-ss-body p strong { color: #1a1a1a; font-weight: 800; }
.cmm-ss-body p a {
	color: #d8442f;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: rgba(216,68,47,0.45);
	text-underline-offset: 3px;
	text-decoration-thickness: 2px;
	transition: color .15s ease, text-decoration-color .15s ease;
}
.cmm-ss-body p a:hover { color: #b5341f; text-decoration-color: #b5341f; }
.cmm-ss-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(12px, 1.6vw, 22px);
	margin: clamp(16px, 3vh, 28px) 0 clamp(24px, 4vh, 40px);
}
.cmm-ss-card {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: 12px;
	overflow: hidden;
	background: #f0ece6;
	box-shadow: 0 3px 12px rgba(0,0,0,0.06);
	transition: transform .18s ease, box-shadow .18s ease;
}
.cmm-ss-card img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	display: block !important;
}
.cmm-ss-card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0,0,0,0.13); }
.cmm-ss-grid3 { grid-template-columns: repeat(3, 1fr); }
.cmm-ss-figure { margin: clamp(18px, 3vh, 30px) auto clamp(20px, 3.5vh, 34px); text-align: center; }
.cmm-ss-figure img { width: 100%; max-width: 360px; height: auto; border-radius: 14px; display: inline-block; }
.cmm-ss-pf { margin-bottom: 6px !important; color: #1a1a1a; }
.cmm-ss-list { margin: 0 0 clamp(16px, 2.4vh, 24px); padding-left: 1.4em; list-style: disc; }
.cmm-ss-list li { font-size: clamp(15px, 1.1vw, 18px); line-height: 1.7; color: #4a4a4a; }
.cmm-ss-prodhead { margin: clamp(18px, 3vh, 26px) 0 clamp(8px, 1.2vh, 12px) !important; font-size: clamp(16px, 1.25vw, 20px); font-weight: 800; }
.cmm-ss-prodhead a {
	color: #d8442f;
	text-decoration: underline;
	text-decoration-color: rgba(216,68,47,0.5);
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
	transition: color .15s ease, text-decoration-color .15s ease;
}
.cmm-ss-prodhead a:hover { color: #b5341f; text-decoration-color: #b5341f; }
@media (max-width: 768px) {
	/* mobile: keep the original look (fixed-height cover crop) */
	.cmm-ss-hero { aspect-ratio: auto; height: clamp(150px, 22vw, 270px); }
	.cmm-ss-hero-title { font-size: clamp(28px, 9vw, 44px); }
	.cmm-ss-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.cmm-ss-grid3 { grid-template-columns: repeat(3, 1fr); }
	.cmm-ss-body p { text-align: left; }
}
@media (max-width: 980px) {
	.cmm-blog-grid { grid-template-columns: repeat(2, 1fr); gap: 22px 18px; }
}
@media (max-width: 520px) {
	.cmm-blog-grid { grid-template-columns: 1fr 1fr; gap: 16px 12px; padding: 0 14px; }
	.cmm-blog-card-title { font-size: 13px; }
}

/* Force GRAND SALE sticker visible during any hover state (Woodmart quick-view overlay etc.)
   AND ensure transparent background - Woodmart applies a cream bg to .product-image-link img */
.product-grid-item .cp-grand-sale-img,
.wd-product .cp-grand-sale-img,
.slide-product .cp-grand-sale-img,
.product-grid-item:hover .cp-grand-sale-img,
.wd-product:hover .cp-grand-sale-img,
.product-grid-item.wd-hover-quick:hover .cp-grand-sale-img,
.product-image-link .cp-grand-sale-img,
.product-image-link:hover .cp-grand-sale-img,
.product-image-link img.cp-grand-sale-img,
.product-image-link > img.cp-grand-sale-img {
	opacity: 1 !important;
	visibility: visible !important;
	display: block !important;
	transform: none !important;
	z-index: 9999 !important;
	pointer-events: none !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

/* 5) Single product page: center main image + thumbnails so photos don't jump on load */
body.single-product .woocommerce-product-gallery,
body.single-product .product-image-summary-wrap,
body.single-product .product-images,
body.single-product .wd-section-images {
	text-align: center !important;
}
body.single-product .woocommerce-product-gallery .col-lg-9,
body.single-product .woocommerce-product-gallery .col-lg-3 {
	margin-left: auto !important;
	margin-right: auto !important;
}
body.single-product .woocommerce-product-gallery img.wp-post-image,
body.single-product .woocommerce-product-gallery .product-image-link > img,
body.single-product .product-image-summary-wrap img.wp-post-image {
	margin: 0 auto !important;
	display: block !important;
}
body.single-product .thumbnails,
body.single-product .thumbnails.cmm-thumbs-flat,
body.single-product .thumbnails.slick-slider {
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
body.single-product .thumbnails .slick-list,
body.single-product .thumbnails .slick-track {
	margin: 0 auto !important;
	transform: none !important;
	display: flex !important;
	justify-content: center !important;
}
/* Lock the main-image aspect so swapping doesn't cause a vertical jump while it loads */
body.single-product .product-image-link,
body.single-product .wd-product-images-slider .swiper-slide {
	aspect-ratio: 1 / 1 !important;
	width: 100% !important;
	display: block !important;
}
body.single-product .product-image-link > img,
body.single-product .wd-product-images-slider .swiper-slide img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}
/* === Product gallery thumbnails: force a single HORIZONTAL row (was vertical stack on
   mobile / 2-row wrap on desktop). CSS-ONLY - Woodmart's native thumb->main tap sync and
   lazy-load stay fully intact (no JS touches the gallery). Scrollbar hidden; swipe/scroll. === */

/* Desktop / non-owl flattened thumbnails -> single-row horizontal scroll */
html body.single-product .woocommerce-product-gallery .col-lg-3.order-lg-first .thumbnails.cmm-thumbs-flat:not(.owl-carousel) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 0.8vw !important;
	width: 100% !important;
	max-width: 92% !important;
	margin: 1.2vh auto 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}
html body.single-product .thumbnails.cmm-thumbs-flat:not(.owl-carousel)::-webkit-scrollbar { height: 0 !important; width: 0 !important; display: none !important; }
html body.single-product .woocommerce-product-gallery .col-lg-3.order-lg-first .thumbnails.cmm-thumbs-flat:not(.owl-carousel) > * {
	flex: 0 0 calc((100% - 4vw) / 6) !important;
	width: calc((100% - 4vw) / 6) !important;
	max-width: calc((100% - 4vw) / 6) !important;
	min-width: 0 !important;
	aspect-ratio: 1 / 1 !important;
}

/* Mobile: .thumbnails IS a Woodmart owl carousel -> clean horizontal scroll row
   (was collapsing into a narrow vertical column). Native owl tap-sync stays. */
html body.single-product .woocommerce-product-gallery .thumbnails.owl-carousel {
	display: block !important;
	max-width: 92% !important;
	margin: 1.2vh auto 0 !important;
	overflow: visible !important;
	height: auto !important;
	max-height: none !important;
}
html body.single-product .woocommerce-product-gallery .thumbnails.owl-carousel .owl-stage-outer {
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
	flex: none !important;
	aspect-ratio: auto !important;
	height: auto !important;
}
html body.single-product .woocommerce-product-gallery .thumbnails.owl-carousel .owl-stage-outer::-webkit-scrollbar { height: 0 !important; width: 0 !important; display: none !important; }
html body.single-product .woocommerce-product-gallery .thumbnails.owl-carousel .owl-stage {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	width: max-content !important;
	transform: none !important;
}
html body.single-product .woocommerce-product-gallery .thumbnails.owl-carousel .owl-item {
	width: 19vw !important;
	max-width: 19vw !important;
	min-width: 0 !important;
	flex: 0 0 19vw !important;
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	margin: 0 1vw 0 0 !important;
	float: none !important;
}
html body.single-product .woocommerce-product-gallery .thumbnails.owl-carousel .owl-item img {
	width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center !important; border-radius: 0.5rem !important;
}
html body.single-product .woocommerce-product-gallery .thumbnails.owl-carousel .owl-nav,
html body.single-product .woocommerce-product-gallery .thumbnails.owl-carousel .owl-dots { display: none !important; }
/* === Mobile MAIN product image fix: on phones the owl carousel positions the active slide
   off-screen (negative x) when you switch via a thumbnail -> main looks blank (only "enlarge"
   showed the photo). Neutralise owl's transform on mobile and show ONLY the active slide via
   display, so tapping a thumbnail (which correctly sets .active) shows that photo. Desktop
   (>768px) keeps the native owl carousel untouched. === */
@media (max-width: 768px) {
	.woocommerce-product-gallery__wrapper .owl-stage-outer { overflow: visible !important; height: auto !important; }
	.woocommerce-product-gallery__wrapper .owl-stage { transform: none !important; width: 100% !important; }
	.woocommerce-product-gallery__wrapper .owl-item { display: none !important; width: 100% !important; margin: 0 !important; }
	.woocommerce-product-gallery__wrapper .owl-item.active:not(.cloned) { display: block !important; }
}
/* === Thumbnail-strip prev/next arrows (shown only when thumbs overflow one row) === */
html body.single-product .woocommerce-product-gallery .col-lg-3.order-lg-first { position: relative !important; }
html body.single-product .cmm-tnav { display: none; }
html body.single-product .col-lg-3.order-lg-first.cmm-tarrows-on .cmm-tnav {
	display: flex; align-items: center; justify-content: center;
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 6;
	width: clamp(26px, 2.6vw, 36px); height: clamp(26px, 2.6vw, 36px);
	background: rgba(255,255,255,0.96); border: 1px solid #e3ddd3; border-radius: 50%;
	color: #1a1a1a; cursor: pointer; box-shadow: 0 2px 9px rgba(0,0,0,0.16); padding: 0;
}
html body.single-product .col-lg-3.order-lg-first.cmm-tarrows-on .cmm-tprev { left: -0.3vw; }
html body.single-product .col-lg-3.order-lg-first.cmm-tarrows-on .cmm-tnext { right: -0.3vw; }
html body.single-product .cmm-tnav svg { width: 56%; height: 56%; display: block; }
html body.single-product .cmm-tnav:hover { color: #d8442f; border-color: #d8442f; }
/* === Main product photo arrows: clean, ALWAYS-visible (static) round buttons with a chevron,
   matching the thumbnail arrows. Override the thin global owl-arrow style for the gallery. === */
html body.single-product .woocommerce-product-gallery .owl-prev.wd-btn-arrow,
html body.single-product .woocommerce-product-gallery .owl-next.wd-btn-arrow {
	width: clamp(34px, 3vw, 46px) !important;
	height: clamp(34px, 3vw, 46px) !important;
	background: rgba(255,255,255,0.95) !important;
	border: 1px solid #e3ddd3 !important;
	border-radius: 50% !important;
	box-shadow: 0 2px 11px rgba(0,0,0,0.16) !important;
	opacity: 1 !important;
	visibility: visible !important;
	top: 50% !important;
	margin-top: 0 !important;
	transform: translateY(-50%) !important;
	z-index: 7 !important;
}
html body.single-product .woocommerce-product-gallery .owl-prev.wd-btn-arrow { left: 1.2vw !important; right: auto !important; }
html body.single-product .woocommerce-product-gallery .owl-next.wd-btn-arrow { right: 1.2vw !important; left: auto !important; }
html body.single-product .woocommerce-product-gallery .owl-prev.wd-btn-arrow.disabled,
html body.single-product .woocommerce-product-gallery .owl-next.wd-btn-arrow.disabled { opacity: 1 !important; visibility: visible !important; display: flex !important; }
html body.single-product .woocommerce-product-gallery .owl-prev.wd-btn-arrow:hover,
html body.single-product .woocommerce-product-gallery .owl-next.wd-btn-arrow:hover { background: #fff !important; border-color: #d8442f !important; }
html body.single-product .woocommerce-product-gallery .owl-prev.wd-btn-arrow::after,
html body.single-product .woocommerce-product-gallery .owl-next.wd-btn-arrow::after { width: 56% !important; height: 56% !important; transform: none !important; }
html body.single-product .woocommerce-product-gallery .owl-prev.wd-btn-arrow::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E") !important;
}
html body.single-product .woocommerce-product-gallery .owl-next.wd-btn-arrow::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") !important;
}
