/* =========================================================
   CWC Site Helpers – front-end styles
   ========================================================= */

:root {
	--cwc-red: #C8102E;
	--cwc-red-dark: #C8102E;
	--cwc-charcoal: #2B2B2B;
	--cwc-light: #F2F2F2;
	--cwc-muted: #BDBDBD;
}
.ast-single-post.ast-page-builder-template .site-main > article, .woocommerce.ast-page-builder-template .site-main, .ast-page-builder-template .post-navigation {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}
/* ---------- Product cards: [cwc_products] ---------- */
.cwc-pc {
	--cwc-pc-gap: 20px;
	--cwc-pc-cols: 4;
	position: relative;
	
}
.cwc-pc__track {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: grid;
	gap: var(--cwc-pc-gap);
	grid-template-columns: repeat(var(--cwc-pc-cols), minmax(0, 1fr));
}

/* carousel: 4 visible + a peek of the next card */
.cwc-pc--carousel .cwc-pc__track {
	grid-auto-flow: column;
	grid-template-columns: none;
	grid-auto-columns: calc((100% - (var(--cwc-pc-gap) * var(--cwc-pc-cols))) / (var(--cwc-pc-cols) + 0.3));
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding-bottom: 4px !important;
}
.cwc-pc--carousel .cwc-pc__track::-webkit-scrollbar { display: none; }
.cwc-pc--carousel .cwc-pc__card { scroll-snap-align: start; }

/* card */
.cwc-pc__card {
	display: flex;
	flex-direction: column;
	background: var(--cwc-charcoal);
	border-radius: 10px;
	overflow: hidden;
	margin: 0 !important;
	min-width: 0;
}
.cwc-pc__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 0.82;
	background: #EDEDED;
	padding: 18px;
	overflow: hidden;
}
.cwc-pc__media img,
.cwc-pc__img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	margin: 0 !important;
	border-radius: 0 !important;
	transition: transform .3s ease;
	mix-blend-mode: multiply;
}
.cwc-pc__card:hover .cwc-pc__media img { transform: scale(1.04); }

/* badges */
.cwc-pc__badges {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	gap: 6px;
	z-index: 2;
}
.cwc-pc__badge {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .4px;
	text-transform: uppercase;
	line-height: 1;
	color: #fff;
	padding: 5px 8px;
	border-radius: 20px;
}
.cwc-pc__badge--stock { background: #2DB24A; }
.cwc-pc__badge--sale  { background: #F07A1A; }
.cwc-pc__badge--out   { background: #6B6B6B; }

/* body */
.cwc-pc__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 14px 14px 0;
}
.cwc-pc__stars {
	--cwc-star-w: 23px;           /* one star incl. its gap */
	--cwc-star-h: 20px;
	position: relative;
	width: calc(var(--cwc-star-w) * 5);
	height: var(--cwc-star-h);
	margin-bottom: 14px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 24'%3E%3Cpath fill='%23555' stroke='%23555' stroke-width='1.6' stroke-linejoin='round' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3C/svg%3E") repeat-x left / var(--cwc-star-w) var(--cwc-star-h);
}
.cwc-pc__stars span {
	position: absolute;
	inset: 0 auto 0 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 24'%3E%3Cpath fill='%23D7192B' stroke='%23D7192B' stroke-width='1.6' stroke-linejoin='round' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3C/svg%3E") repeat-x left / var(--cwc-star-w) var(--cwc-star-h);
}
/* no reviews yet: grey outline stars */
.cwc-pc__stars--none {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 24'%3E%3Cpath fill='none' stroke='%236B6B6B' stroke-width='1.6' stroke-linejoin='round' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3C/svg%3E");
}
@media (max-width: 767px) {
	.cwc-pc__stars { --cwc-star-w: 19px; --cwc-star-h: 16px; margin-bottom: 10px; }
}
.cwc-pc__cat {
	color: #8E8E8E;
	font-size: 10.5px;
	line-height: 1.3;
	margin-bottom: 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cwc-pc__title {
	margin: 0 0 14px !important;
	padding: 0 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(1.35em * 3);
}
.cwc-pc__title a,
.cwc-pc__title a:visited { color: #fff !important; text-decoration: none !important;font-family: 'Protest Strike';font-weight: 300; }
.cwc-pc__title a:hover { color: #FFD3D7 !important; }

/* price + button bar */
.cwc-pc__foot {
	display: flex;
	align-items: stretch;
	margin-top: auto;
	border-radius: 10px 10px 0 0;
	overflow: hidden;
	min-height: 40px;
}
.cwc-pc__price {
	flex: 1 1 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: var(--cwc-charcoal);
	font-size: 12px;
	font-weight: 700;
	padding: 6px 8px;
	text-align: center;
	line-height: 1.2;
	white-space: nowrap;
}
.cwc-pc__price .woocommerce-Price-amount,
.cwc-pc__price bdi { color: inherit; font-family: 'Protest Strike';font-weight: 300; }
.cwc-pc__price del { color: #9A9A9A; font-weight: 500; margin-right: 4px; }
.cwc-pc__price ins { text-decoration: none; }
.cwc-pc__price .screen-reader-text { position: absolute; left: -9999px; }
.cwc-pc__btn,
.cwc-pc__btn:visited {
	flex: 1 1 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--cwc-red);
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 10px;
	text-decoration: none !important;
	transition: background .2s ease;
	white-space: nowrap;
}
.cwc-pc__btn:hover { background: var(--cwc-red-dark); color: #fff !important; }

/* carousel arrows */
.cwc-pc__nav {
	position: absolute;
	top: 38%;
	z-index: 3;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: #fff;
	color: var(--cwc-charcoal);
	font-size: 26px;
	line-height: 0;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
	transition: opacity .2s ease, background .2s ease;
}
.cwc-pc__nav:hover { background: var(--cwc-red); color: #fff; }
.cwc-pc__nav--prev { left: -14px; }
.cwc-pc__nav--next { right: -14px; }
.cwc-pc__nav[disabled] { opacity: 0; pointer-events: none; }

@media (max-width: 1024px) {
	.cwc-pc { --cwc-pc-cols: 3; }
	.cwc-pc--grid .cwc-pc__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.cwc-pc { --cwc-pc-cols: 1; --cwc-pc-gap: 14px; }
	.cwc-pc--carousel .cwc-pc__track {
		grid-auto-columns: 72%;
	}
	.cwc-pc--grid .cwc-pc__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cwc-pc__nav { display: none; }
	.cwc-pc__price, .cwc-pc__btn { font-size: 11.5px; }
}

/* Hide wishlist / compare buttons that plugins inject into our cards */
.cwc-pc [class*="wishlist"],
.cwc-pc [class*="compare"] { display: none !important; }

/* ---------- Scrolling trust bar: icon list with class "cwc-marquee" ---------- */
.cwc-marquee {
	width: 100%;
	overflow: hidden;
}
.cwc-marquee .elementor-icon-list-items.cwc-marquee-run {
	flex-wrap: nowrap !important;
	justify-content: flex-start !important;
	width: max-content;
	animation: cwc-marquee 38s linear infinite;
}
.cwc-marquee:hover .elementor-icon-list-items.cwc-marquee-run {
	animation-play-state: paused;
}
.cwc-marquee .elementor-icon-list-item {
	white-space: nowrap;
}
@keyframes cwc-marquee {
	to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.cwc-marquee .elementor-icon-list-items.cwc-marquee-run {
		animation: none;
	}
}

/* ---------- Star watermark on red / dark cards: class "cwc-star-card" ---------- */
.cwc-star-card {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.cwc-star-card::after {
	content: "";
	position: absolute;
	right: -28px;
	bottom: -32px;
	width: 150px;
	height: 150px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3C/svg%3E") no-repeat center / contain;
	opacity: .1;
	transform: rotate(-12deg);
	pointer-events: none;
	z-index: -1;
}

/* ---------- Enquiry form: [cwc_enquiry_form] ---------- */
.cwc-form { display: flex; flex-direction: column; gap: 12px; margin: 0;  }
.cwc-form__field {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #D9D9D9 !important;
	border-radius: 6px !important;
	background: #fff !important;
	color: var(--cwc-charcoal) !important;
	font-family: inherit !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	padding: 12px 14px !important;
	min-height: 44px;
	box-shadow: none !important;
	transition: border-color .2s ease;
}
.cwc-form__field::placeholder { color: #7A7A7A; opacity: 1; }
.cwc-form__field:focus { border-color: var(--cwc-red) !important; outline: none; }
select.cwc-form__field {
	appearance: none;
	-webkit-appearance: none;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%232B2B2B'/%3E%3C/svg%3E") no-repeat right 14px center / 9px 6px !important;
	padding-right: 36px !important;
	cursor: pointer;
}
.cwc-form__field--area { min-height: 96px; resize: vertical; }
.cwc-form__submit {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-top: 6px;
	border: 0 !important;
	border-radius: 50px !important;
	background: var(--cwc-charcoal) !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	padding: 13px 20px !important;
	cursor: pointer;
	transition: background .2s ease;
}
.cwc-form__submit:hover { background: #000 !important; }
.cwc-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.cwc-form__notice { border-radius: 6px; padding: 12px 14px; font-size: 13px; font-weight: 600; margin-bottom: 12px;  }
.cwc-form__notice--ok { background: #E8F7EC; color: #1E7A35; }
.cwc-form__notice--err { background: #FDE7E9; color: var(--cwc-red-dark); }

/* ---------- Uniforms page extras ---------- */
/* hero: soft pink stars behind content */
.cwc-hero-stars { 
	position: relative; 
	overflow: hidden; 
	isolation: isolate; 
}

.cwc-hero-stars::before {
	content: "";
	position: absolute;
	left: 34%;
	top: 18%;
	width: 320px;
	height: 340px;
	background: url("https://cwc.carwashcommander.com/wp-content/uploads/2026/10/3stars.svg") no-repeat center / contain;
	opacity: 0.6;
	pointer-events: none;
	z-index: -1;
}

@media (max-width: 1024px) { 
	.cwc-hero-stars::before { 
		left: auto; 
		right: -20px; 
		top: 5%;
		width: 250px;
		height: 270px;
	} 
}

/* bigger star on the form panel */
.cwc-star-card--big::after {
    width: 340px;
    height: 340px;
    right: auto;
    left: -6%;
    bottom: -100px;
}
/* dark trust bar: icons in red circles */
.cwc-icon-dots .elementor-icon-list-icon {
	background: var(--cwc-red);
	border-radius: 50%;
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.cwc-icon-dots .elementor-icon-list-icon i { font-size: 11px !important; color: #fff !important; }
.cwc-icon-dots .elementor-icon-list-icon svg { width: 11px !important; fill: #fff !important; }

/* how it works: red edge + connecting line */
.cwc-steps { position: relative; }
.cwc-steps::before {
	content: "";
	position: absolute;
	left: 0;
	right: 4%;
	top: 50%;
	height: 1.5px;
	background: var(--cwc-red);
	opacity: .5;
	z-index: 0;
}
.cwc-step { position: relative; z-index: 1; box-shadow: 4px 4px 0 var(--cwc-red); }
@media (max-width: 1024px) { .cwc-steps::before { display: none; } }

/* proof carousel: grey frame + red zoom tag */
.cwc-proof .swiper-slide { position: relative; }
.cwc-proof .swiper-slide-image {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: scale-down;
	background: #EDEDED;
	border-radius: 4px;
}
.cwc-proof .swiper-slide a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 34px;
	height: 34px;
	z-index: 2;
	border-radius: 4px 0 4px 0;
	background: var(--cwc-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' d='M10.5 17a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13zM15.5 15.5L20 20'/%3E%3C/svg%3E") no-repeat center / 16px 16px;
}
.cwc-proof .elementor-swiper-button {
	background: #fff;
	border-radius: 50%;
	width: 38px;
	height: 38px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
}

/* ---------- Mobile menu: [cwc_mobile_menu] ---------- */
.cwc-mm { display: inline-flex; }
.cwc-mm__toggle {
	width: 40px;
	height: 40px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: var(--cwc-charcoal) !important;
	box-shadow: 0px 1px 3px 0px #0D0E091A;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .2s ease;
}
.cwc-mm__toggle:hover { box-shadow: 0 6px 18px rgba(0, 0, 0, .16); }
.cwc-mm__toggle:active { transform: scale(.95); }
.cwc-mm__toggle:focus-visible,
.cwc-mm__close:focus-visible { outline: 2px solid var(--cwc-red); outline-offset: 2px; }
.cwc-mm__bars { display: flex; flex-direction: column; gap: 3.5px; width: 16px; }
.cwc-mm__bars span { display: block; height: 2px; border-radius: 2px; background: currentColor; }

.cwc-mm__overlay {
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: rgba(20, 20, 20, .55);
	opacity: 0;
	transition: opacity .25s ease;
}
.cwc-mm__panel {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	width: min(88vw, 380px);
	display: flex;
	flex-direction: column;
	background: #fff;
	/* box-shadow: -10px 0 30px rgba(0, 0, 0, .18); */
	visibility: hidden; /* closed panel fully hidden (no edge shadow, not reachable with Tab) */
	transform: translateX(100%);
	transition: transform .3s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .3s;
	
}
.cwc-mm-open .cwc-mm__overlay { opacity: 1; }
.cwc-mm-open .cwc-mm__panel { transform: none; visibility: visible; transition: transform .3s cubic-bezier(.2, .8, .2, 1), visibility 0s; }
body.cwc-mm-lock { overflow: hidden; }

.cwc-mm__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 18px 14px 22px;
	border-bottom: 1px solid #EEE;
}
.cwc-mm__title {
	font-family: "Anton", sans-serif;
	font-size: 22px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--cwc-charcoal);
}
.cwc-mm__close {
	width: 40px;
	height: 40px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #F2F2F2 !important;
	color: var(--cwc-charcoal) !important;
	font-size: 26px !important;
	line-height: 1 !important;
	cursor: pointer;
}
.cwc-mm__close:hover { background: var(--cwc-red) !important; color: #fff !important; }

.cwc-mm__body { flex: 1; overflow-y: auto; padding: 6px 0; overscroll-behavior: contain; }
.cwc-mm__list, .cwc-mm__list .sub-menu { list-style: none; margin: 0 !important; padding: 0 !important; }
.cwc-mm__list li { position: relative; margin: 0 !important; }
.cwc-mm__list > li { border-bottom: 1px solid #F0F0F0; }
.cwc-mm__list a {
	display: block;
	padding: 15px 60px 15px 22px;
	color: var(--cwc-charcoal) !important;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none !important;
	line-height: 1.3;
}
.cwc-mm__list a:hover,
.cwc-mm__list .current-menu-item > a { color: var(--cwc-red) !important; }
.cwc-mm__list .sub-menu { display: none; background: #F7F7F7; padding: 4px 0 !important; }
.cwc-mm__list .is-open > .sub-menu { display: block; }
.cwc-mm__list .sub-menu a { font-size: 14.5px; font-weight: 600; padding: 11px 56px 11px 34px; }
.cwc-mm__list .sub-menu .sub-menu a { padding-left: 46px; font-weight: 500; }
.cwc-mm__sub {
	position: absolute;
	top: 6px;
	right: 12px;
	width: 38px;
	height: 38px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--cwc-charcoal) !important;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cwc-mm__list .sub-menu .cwc-mm__sub { top: 2px; }
.cwc-mm__sub:hover { background: #F2F2F2 !important; }
.cwc-mm__sub svg { transition: transform .2s ease; }
.is-open > .cwc-mm__sub svg { transform: rotate(180deg); }
.is-open > .cwc-mm__sub { color: var(--cwc-red) !important; }

.cwc-mm__foot { padding: 16px 20px 22px; border-top: 1px solid #EEE; display: flex; flex-direction: column; gap: 10px; }
.cwc-mm__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 50px;
	padding: 13px 18px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
}
.cwc-mm__btn--red { background: var(--cwc-red); color: #fff !important; }
.cwc-mm__btn--red:hover { background: var(--cwc-red-dark); }
.cwc-mm__btn--line { border: 2px solid var(--cwc-red); color: var(--cwc-charcoal) !important; }
.cwc-mm__btn--line svg { color: var(--cwc-red); }
.cwc-mm__links { display: flex; justify-content: center; gap: 22px; margin-top: 4px; }
.cwc-mm__links a { color: #6B6B6B !important; font-size: 13px; font-weight: 600; text-decoration: none !important; }
.cwc-mm__links a:hover { color: var(--cwc-red) !important; }
.cwc-mm__empty { padding: 16px 22px; font-size: 13px; color: #6B6B6B; }

@media (prefers-reduced-motion: reduce) {
	.cwc-mm__panel, .cwc-mm__overlay { transition: none; }
}

/* ---------- Header: mobile row ---------- */
@media (max-width: 1024px) {
	.cwc-header { background-color: #F2F2F2 !important; }
}

/* ---------- Testimonial carousel: container class "cwc-tslider" ---------- */
.cwc-tslider {
	--cwc-tbg: #F2F2F2;          /* must match the section background */
	--cwc-tr: 16px;              /* notch corner radius */
	position: relative;
}
.cwc-tslider .cwc-tslider-js { width: 0 !important; height: 0 !important; overflow: hidden; }

/* slides: stacked in one grid cell, fade between them */
.cwc-tslider .cwc-tslides.e-con { display: grid !important; }
.cwc-tslider .cwc-tslide {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s ease, visibility .5s ease;
}
.cwc-tslider .cwc-tslides:not(.is-ready) > .cwc-tslide:first-child,
.cwc-tslider .cwc-tslide.is-active { opacity: 1; visibility: visible; }
/* Elementor editor: show every slide so each one can be edited */
.elementor-editor-active .cwc-tslider .cwc-tslides.e-con { display: flex !important; gap: 40px; }
.elementor-editor-active .cwc-tslider .cwc-tslide { opacity: 1; visibility: visible; }

/* Testimonial quote marks (SVG icon, coloured with background-color) */
.cwc-tquote .elementor-heading-title::before,
.cwc-tquote .elementor-heading-title::after {
	content: "";
	position: static;
	top: auto;
	padding: 0;
	font-size: 0;
	line-height: 0;
	background-color: var(--cwc-red);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6 6a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a3 3 0 0 1-3 3H5a1 1 0 1 0 0 2h1a5 5 0 0 0 5-5V8a2 2 0 0 0-2-2H6Zm9 0a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a3 3 0 0 1-3 3h-1a1 1 0 1 0 0 2h1a5 5 0 0 0 5-5V8a2 2 0 0 0-2-2h-3Z'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6 6a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a3 3 0 0 1-3 3H5a1 1 0 1 0 0 2h1a5 5 0 0 0 5-5V8a2 2 0 0 0-2-2H6Zm9 0a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a3 3 0 0 1-3 3h-1a1 1 0 1 0 0 2h1a5 5 0 0 0 5-5V8a2 2 0 0 0-2-2h-3Z'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* opening mark – flipped, above the text */
.cwc-tquote .elementor-heading-title::before {
	display: block;
	width: 56px;
	height: 56px;
	margin: 0 0 6px -8px;
	transform: rotate(180deg);
}
/* closing mark – right after the last word (negative margin stops it wrapping to a new line) */
.cwc-tquote .elementor-heading-title::after {
	display: inline-block;
	width: 44px;
	height: 44px;
	margin: -16px -44px -16px 4px;
	vertical-align: -4px;
	opacity: .85;
}
.cwc-tname { display: block; color: var(--cwc-red); margin-bottom: 2px; }
.cwc-trole { display: block; color: #8E8E8E; text-transform: uppercase; letter-spacing: .4px; }

/* "See how we can help you" tab, cut into the right edge */
.cwc-tslider > .cwc-ttab,
.cwc-tslider .cwc-ttab.elementor-widget {
	position: absolute !important;
	top: 42px;
	right: 0;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	z-index: 2;
	background: var(--cwc-tbg);
	border-radius: 50px 0 0 50px;
	padding: 9px 16px 9px 18px;
}
.cwc-ttab a { color: var(--cwc-charcoal) !important; text-decoration: none !important; white-space: nowrap; }
.cwc-ttab a:hover { color: var(--cwc-red) !important; }
.cwc-ttab__arrow { color: var(--cwc-red); margin-left: 6px; display: inline-block; transition: transform .2s ease; }
.cwc-ttab a:hover .cwc-ttab__arrow { transform: translateX(3px); }
.cwc-ttab::before,
.cwc-ttab::after {
	content: "";
	position: absolute;
	right: 0;
	width: var(--cwc-tr);
	height: var(--cwc-tr);
	pointer-events: none;
}
/* .cwc-ttab::before { bottom: 100%; background: radial-gradient(circle at 0 0, transparent calc(var(--cwc-tr) - .5px), var(--cwc-tbg) var(--cwc-tr)); }
.cwc-ttab::after  { top: 100%;    background: radial-gradient(circle at 0 100%, transparent calc(var(--cwc-tr) - .5px), var(--cwc-tbg) var(--cwc-tr)); } */

/* dots notch, cut into the bottom edge */
.cwc-tdots {
	position: absolute;
	bottom: 0;
	right: 28px;
	z-index: 2;
	display: flex;
	gap: 6px;
	padding: 9px 12px 7px;
	background: var(--cwc-tbg);
	border-radius: 10px 10px 0 0;
}
.cwc-tdots::before,
.cwc-tdots::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 12px;
	height: 12px;
	pointer-events: none;
}
.cwc-tdots::before { right: 100%; background: radial-gradient(circle at 0 0, transparent 11.5px, var(--cwc-tbg) 12px); }
.cwc-tdots::after  { left: 100%;  background: radial-gradient(circle at 100% 0, transparent 11.5px, var(--cwc-tbg) 12px); }
.cwc-tdot {
	width: 7px;
	height: 7px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: var(--cwc-charcoal) !important;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.cwc-tdot:hover { transform: scale(1.25); }
.cwc-tdot.is-active { background: var(--cwc-red) !important; }
.cwc-tdot:focus-visible { outline: 2px solid var(--cwc-red); outline-offset: 2px; }

@media (max-width: 767px) {
	.cwc-tslider .cwc-tslide { text-align: center; }
	.cwc-tslider .cwc-tslide .elementor-heading-title { text-align: center; }
	/* tab moves to a notch in the top edge */
	.cwc-tslider > .cwc-ttab,
	.cwc-tslider .cwc-ttab.elementor-widget {
		top: 0;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		border-radius: 0 0 14px 14px;
		padding: 8px 16px 10px;
	}
	/* .cwc-ttab::before { bottom: auto; top: 0; right: 100%; background: radial-gradient(circle at 0 100%, transparent calc(var(--cwc-tr) - .5px), var(--cwc-tbg) var(--cwc-tr)); }
	.cwc-ttab::after  { top: 0; right: auto; left: 100%; background: radial-gradient(circle at 100% 100%, transparent calc(var(--cwc-tr) - .5px), var(--cwc-tbg) var(--cwc-tr)); } */
	.cwc-tquote .elementor-heading-title::before { width: 46px; height: 46px; margin: 0 auto 4px; }
	.cwc-tquote .elementor-heading-title::after  { width: 34px; height: 34px; margin: -12px -34px -12px 4px; vertical-align: -2px; }
	.cwc-tdots { right: auto; left: 50%; transform: translateX(-50%); }
}

/* Ensure the Account link can show the icon */
/* .hfe-menu-item {
    display: flex !important;
    align-items: center !important;
}

/* Ensure the SVG icon is always visible */
/* .account-svg-icon {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin-right: 8px;
    width: 18px;
    height: 18px;x
}

.menu-account-icon a::after {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    vertical-align: middle;

    background-color: currentColor;

    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 20a7.966 7.966 0 0 1-5.002-1.756l.002.001v-.683c0-1.794 1.492-3.25 3.333-3.25h3.334c1.84 0 3.333 1.456 3.333 3.25v.683A7.966 7.966 0 0 1 12 20ZM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10c0 5.5-4.44 9.963-9.932 10h-.138C6.438 21.962 2 17.5 2 12Zm10-5c-1.84 0-3.333 1.455-3.333 3.25S10.159 13.5 12 13.5c1.84 0 3.333-1.455 3.333-3.25S13.841 7 12 7Z' clip-rule='evenodd'/%3E%3C/svg%3E") no-repeat center / contain;

    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 20a7.966 7.966 0 0 1-5.002-1.756l.002.001v-.683c0-1.794 1.492-3.25 3.333-3.25h3.334c1.84 0 3.333 1.456 3.333 3.25v.683A7.966 7.966 0 0 1 12 20ZM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10c0 5.5-4.44 9.963-9.932 10h-.138C6.438 21.962 2 17.5 2 12Zm10-5c-1.84 0-3.333 1.455-3.333 3.25S10.159 13.5 12 13.5c1.84 0 3.333-1.455 3.333-3.25S13.841 7 12 7Z' clip-rule='evenodd'/%3E%3C/svg%3E") no-repeat center / contain;
}

.menu-cart-icon a::after {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    vertical-align: middle;
    background-color: currentColor;

    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M4 4a1 1 0 0 1 1-1h1.5a1 1 0 0 1 .979.796L7.939 6H19a1 1 0 0 1 .979 1.204l-1.25 6a1 1 0 0 1-.979.796H9.605l.208 1H17a3 3 0 1 1-2.83 2h-2.34a3 3 0 1 1-4.009-1.76L5.686 5H5a1 1 0 0 1-1-1Z' clip-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat;

    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M4 4a1 1 0 0 1 1-1h1.5a1 1 0 0 1 .979.796L7.939 6H19a1 1 0 0 1 .979 1.204l-1.25 6a1 1 0 0 1-.979.796H9.605l.208 1H17a3 3 0 1 1-2.83 2h-2.34a3 3 0 1 1-4.009-1.76L5.686 5H5a1 1 0 0 1-1-1Z' clip-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat;
} */

/* =========================================================
   Shop / category pages
   ========================================================= */

/* product cards with a white image area: style="white" */
.cwc-pc--white .cwc-pc__media { background: #fff; }
.cwc-pc--white .cwc-pc__media img { mix-blend-mode: normal; }

/* shop grid: 3 columns */
.cwc-pc--shop { --cwc-pc-cols: 3; }
@media (max-width: 1024px) { .cwc-pc--shop.cwc-pc--grid .cwc-pc__track { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.cwc-pc--shop.cwc-pc--grid .cwc-pc__track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.cwc-pc--shop .cwc-pc__body { padding: 10px 10px 0; }
	.cwc-pc--shop .cwc-pc__foot { flex-direction: column; border-radius: 8px 8px 0 0; }
	.cwc-pc--shop .cwc-pc__price, .cwc-pc--shop .cwc-pc__btn { min-height: 34px; }
	.cwc-pc--shop .cwc-pc__badges { top: 6px; right: 6px; }
}

/* breadcrumb: [cwc_breadcrumb] */
.cwc-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.cwc-crumbs li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: "Protest Strike", sans-serif;
	font-size: 15px;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: .3px;
	color: var(--cwc-charcoal);
}
.cwc-crumbs li + li::before { content: "·"; color: #9A9A9A; margin: 0 4px 0 2px; }
.cwc-crumbs svg { color: var(--cwc-red); }
.cwc-crumbs a { color: var(--cwc-charcoal) !important; text-decoration: none !important; }
.cwc-crumbs a:hover { color: var(--cwc-red) !important; }
@media (max-width: 767px) { .cwc-crumbs li { font-size: 13px; } }

/* category pills: [cwc_cat_filter] */
.cwc-catf { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.cwc-catf li { margin: 0 !important; }
.cwc-catf__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 14px;
	border-radius: 50px;
	background: #fff;
	color: var(--cwc-charcoal) !important;
	text-decoration: none !important;
	font-family: "Protest Strike", sans-serif;
	font-size: 13px;
	letter-spacing: .4px;
	text-transform: uppercase;
	line-height: 1.2;
	transition: background .2s ease, color .2s ease, transform .15s ease;
}
.cwc-catf__item:hover { transform: translateX(2px); color: var(--cwc-red) !important; }
.cwc-catf__box {
	flex: none;
	width: 18px;
	height: 18px;
	border-radius: 4px;
	background: #EDEDED;
	border: 1px solid #DDDDDD;
}
.cwc-catf__item.is-active { background: var(--cwc-red); color: #fff !important; }
.cwc-catf__item.is-active:hover { color: #fff !important; transform: none; }
.cwc-catf__item.is-active .cwc-catf__box {
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23C8102E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 12px 12px;
	border-color: #fff;
}
/* mobile / tablet: horizontal scrolling chips */
.cwc-catf--chips { flex-direction: row; overflow-x: auto; scrollbar-width: none; gap: 8px; padding-bottom: 2px !important; }
.cwc-catf--chips::-webkit-scrollbar { display: none; }
.cwc-catf--chips .cwc-catf__item { white-space: nowrap; padding: 8px 14px; }
.cwc-catf--chips .cwc-catf__item:hover { transform: none; }

/* category intro card: [cwc_cat_intro] */
.cwc-intro { background: #fff; border-radius: 10px; padding: 22px; }
.cwc-intro__title {
	margin: 0 0 12px !important;
	font-family: "Protest Strike", sans-serif !important;
	font-weight: 400 !important;
	font-size: 26px !important;
	line-height: 1.05 !important;
	text-transform: uppercase;
	color: var(--cwc-charcoal);
}
.cwc-intro__text {  font-size: 13.5px; line-height: 1.6; color: #4A4A4A; }
.cwc-intro__text p { margin: 0 0 12px; }
.cwc-intro__text p:last-child { margin-bottom: 0; }

/* Read More clamp: class "cwc-clamp" */
.cwc-clamp__box {
	--cwc-lines: 4;
	max-height: calc(1.6em * var(--cwc-lines));
	overflow: hidden;
	position: relative;
	transition: max-height .35s ease;
}
.cwc-intro__text .cwc-clamp__box,
.cwc-intro__text.cwc-clamp__box { --cwc-lines: 11; }
.cwc-clamp__box p { margin-bottom: 12px; }
/* soft fade on the last visible line */
.cwc-clamp__box:not(.is-open):not(.is-short) {
	-webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 2.2em), transparent);
	        mask-image: linear-gradient(to bottom, #000 calc(100% - 2.2em), transparent);
}
.cwc-clamp__box.is-open,
.cwc-clamp__box.is-short { max-height: none; }
.cwc-clamp__btn {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-top: 14px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: var(--cwc-red) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	cursor: pointer;
	box-shadow: none !important;
}
.cwc-clamp__icon { position: relative; width: 16px; height: 16px; flex: none; }
.cwc-clamp__icon::before,
.cwc-clamp__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 1.6px;
	background: currentColor;
	transform: translate(-50%, -50%);
	transition: transform .2s ease;
}
.cwc-clamp__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.cwc-clamp__btn[aria-expanded="true"] .cwc-clamp__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
/* dark founder card: white square plus */
.cwc-clamp--dark .cwc-clamp__icon { background: #fff; border-radius: 3px; color: var(--cwc-red); }
.cwc-clamp--dark .cwc-clamp__icon::before,
.cwc-clamp--dark .cwc-clamp__icon::after { background: var(--cwc-red); }

/* results bar + sort: [cwc_shop_loop] */
.cwc-loop__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.cwc-loop__count {
	margin: 0 !important;
	font-family: "Protest Strike", sans-serif;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .3px;
	color: var(--cwc-charcoal);
}
.cwc-sort { margin: 0; }
.cwc-sort .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.cwc-sort__select {
	appearance: none;
	-webkit-appearance: none;
	min-width: 220px;
	border: 1px solid #E2E2E2 !important;
	border-radius: 50px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23C8102E'/%3E%3C/svg%3E") no-repeat right 16px center / 9px 6px !important;
	color: var(--cwc-charcoal) !important;
	font-size: 12.5px !important;
	line-height: 1.2 !important;
	padding: 10px 40px 10px 16px !important;
	height: auto !important;
	cursor: pointer;
	box-shadow: none !important;
}
.cwc-sort__select:focus { border-color: var(--cwc-red) !important; outline: none; }
.cwc-loop__empty { background: #fff; border-radius: 10px; padding: 40px 24px; text-align: center;  }
.cwc-loop__empty-btn { display: inline-block; margin-top: 10px; background: var(--cwc-red); color: #fff !important; border-radius: 50px; padding: 10px 20px; font-weight: 600; text-decoration: none !important; }

/* pagination */
.cwc-pager { margin-top: 28px; }
.cwc-pager ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.cwc-pager li { margin: 0; }
.cwc-pager a,
.cwc-pager span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: 50px;
	background: #fff;
	color: var(--cwc-charcoal) !important;
	font-family: "Protest Strike", sans-serif;
	font-size: 15px;
	text-decoration: none !important;
}
.cwc-pager a:hover { color: var(--cwc-red) !important; }
.cwc-pager .current { background: var(--cwc-red); color: #fff !important; }
.cwc-pager .dots { background: transparent; }

/* pink stars, bottom right of the shop section */
.cwc-shop-stars { position: relative; overflow: hidden; overflow: clip; isolation: isolate; } /* clip keeps the sticky gallery working */
.cwc-shop-stars::after {
	content: "";
	position: absolute;
	right: 3%;
	bottom: 60px;
	width: 300px;
	height: 320px;
	background: url("https://cwc.carwashcommander.com/wp-content/uploads/2026/10/3stars.svg") no-repeat center / contain;
	opacity: .6;
	pointer-events: none;
	z-index: -1;
}
@media (max-width: 1024px) { .cwc-shop-stars::after { width: 200px; height: 220px; bottom: 20px; } }

/* tablet / mobile: products first, sidebar cards after */
@media (max-width: 1024px) { .cwc-shop-side { order: 2; } }

/* notices + editor hints */
.cwc-archive__notices .woocommerce-notices-wrapper:not(:empty) { max-width: 1240px; margin: 20px auto 0; padding: 0 24px; }
.cwc-sc-hint { border: 1px dashed #BDBDBD; border-radius: 8px; padding: 14px; font: 12px/1.5 "Inter", sans-serif; color: #6B6B6B; background: rgba(255, 255, 255, .6); }

/* ---------- Filters button + slide-in panel (tablet / mobile) ---------- */
.cwc-catf--chips { display: none !important; }   /* replaced by the Filters panel */
.cwc-loop__tools { display: flex; align-items: center; gap: 10px; }
.cwc-fbtn { display: none !important; }
.cwc-fdrawer__overlay, .cwc-fdrawer { display: none; }

@media (max-width: 1024px) {
	.cwc-loop__bar { flex-direction: column; align-items: stretch; }
	.cwc-loop__tools { width: 100%; }
	.cwc-loop__tools .cwc-sort { flex: 1; min-width: 0; }
	.cwc-loop__tools .cwc-sort__select { width: 100%; min-width: 0; }
	.cwc-fbtn {
		display: inline-flex !important;
		align-items: center;
		gap: 8px;
		position: relative;
		flex: none;
		padding: 10px 18px !important;
		border: 0 !important;
		border-radius: 50px !important;
		background: var(--cwc-charcoal) !important;
		color: #fff !important;
		font-family: "Protest Strike", sans-serif !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		letter-spacing: .4px;
		text-transform: uppercase;
		line-height: 1.2 !important;
		cursor: pointer;
		box-shadow: none !important;
	}
	.cwc-fbtn:hover { background: #000 !important; }
	.cwc-fbtn__dot { position: absolute; top: 6px; right: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--cwc-red); border: 2px solid var(--cwc-charcoal); }

	.cwc-fdrawer__overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 99998;
		background: rgba(20, 20, 20, .55);
		opacity: 0;
		transition: opacity .25s ease;
	}
	.cwc-fdrawer {
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 99999;
		width: min(86vw, 360px);
		background: #F2F2F2;
		box-shadow: 10px 0 30px rgba(0, 0, 0, .18);
		transform: translateX(-100%);
		transition: transform .3s cubic-bezier(.2, .8, .2, 1);
		
	}
	.cwc-fdrawer__overlay[hidden], .cwc-fdrawer[hidden] { display: none; }
	.cwc-fdrawer-host.is-open .cwc-fdrawer__overlay { opacity: 1; }
	.cwc-fdrawer-host.is-open .cwc-fdrawer { transform: none; }

	.cwc-fdrawer__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 16px 16px 14px 20px;
		background: #fff;
		border-bottom: 1px solid #E6E6E6;
	}
	.cwc-fdrawer__title {
		font-family: "Protest Strike", sans-serif;
		font-size: 22px;
		letter-spacing: .4px;
		text-transform: uppercase;
		color: var(--cwc-charcoal);
	}
	.cwc-fdrawer__close {
		width: 40px;
		height: 40px;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: #F2F2F2 !important;
		color: var(--cwc-charcoal) !important;
		font-size: 26px !important;
		line-height: 1 !important;
		cursor: pointer;
	}
	.cwc-fdrawer__close:hover { background: var(--cwc-red) !important; color: #fff !important; }
	.cwc-fdrawer__body { flex: 1; overflow-y: auto; padding: 20px; overscroll-behavior: contain; }
	.cwc-fdrawer__heading {
		margin: 0 0 14px !important;
		font-family: "Protest Strike", sans-serif !important;
		font-weight: 400 !important;
		font-size: 20px !important;
		text-transform: uppercase;
		color: var(--cwc-charcoal);
	}
	.cwc-fdrawer .cwc-catf__item { padding: 11px 16px; font-size: 14px; }
	.cwc-fdrawer .cwc-catf__item:hover { transform: none; }
	.cwc-fdrawer__foot { padding: 14px 20px 20px; background: #fff; border-top: 1px solid #E6E6E6; }
	.cwc-fdrawer__done {
		width: 100%;
		padding: 13px 18px !important;
		border: 0 !important;
		border-radius: 50px !important;
		background: var(--cwc-red) !important;
		color: #fff !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		cursor: pointer;
	}
	.cwc-fdrawer__done:hover { background: var(--cwc-red-dark) !important; }
}
@media (prefers-reduced-motion: reduce) {
	.cwc-fdrawer, .cwc-fdrawer__overlay { transition: none; }
}

/* ---------- Footer: containers "cwc-footer" / "cwc-footer-bar" ---------- */
.cwc-fphone .elementor-button-icon,
.cwc-fphone .elementor-button-icon i { color: var(--cwc-red) !important; }
.cwc-fphone .elementor-button-icon svg { fill: var(--cwc-red) !important; }
.cwc-flinks .elementor-icon-list-item a { transition: color .2s ease; }
.cwc-footer a[href^="mailto:"]:hover { color: var(--cwc-red) !important; }

@media (max-width: 767px) {
	/* everything centred on phones */
	.cwc-footer,
	.cwc-footer .e-con,
	.cwc-footer-bar { text-align: center; align-items: center !important; }
	.cwc-footer .elementor-widget,
	.cwc-footer-bar .elementor-widget { text-align: center !important; }
	.cwc-footer .elementor-icon-list-items,
	.cwc-footer-bar .elementor-icon-list-items { justify-content: center !important; }
	.cwc-footer .elementor-icon-list-item,
	.cwc-footer-bar .elementor-icon-list-item { justify-content: center !important; }
	.cwc-footer .elementor-image,
	.cwc-footer .elementor-widget-image { margin-left: auto; margin-right: auto; }
	.cwc-footer .elementor-button-wrapper { text-align: center !important; }
	.cwc-footer-bar .elementor-icon-list-items.elementor-inline-items { flex-wrap: wrap; row-gap: 6px; }
}

/* =========================================================
   Single product page: [cwc_product]
   ========================================================= */
.cwc-sp {  color: var(--cwc-charcoal); }
.cwc-sp div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 28px;
	align-items: start;
	position: relative;
	margin: 0 !important;
}
.cwc-sp div.product::before,
.cwc-sp div.product::after { display: none !important; }
.cwc-sp div.product > *:not(.images):not(.summary) { grid-column: 1 / -1; }
.cwc-sp div.product div.images,
.cwc-sp div.product div.summary {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	min-width: 0;
}

/* gallery card */
.cwc-sp div.product div.images {
	position: relative;
	background: #fff;
	border-radius: 12px;
	padding: 18px;
}
.cwc-sp .woocommerce-product-gallery__image img,
.cwc-sp .woocommerce-product-gallery__image a img { border-radius: 8px; width: 100%; height: auto; }
.cwc-sp .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 28px !important;
	right: 28px !important;
	z-index: 5;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .15);
	text-indent: -9999px;
	overflow: hidden;
}
.cwc-sp .woocommerce-product-gallery__trigger::before {
	content: "" !important;
	position: absolute;
	inset: 0;
	top: 0 !important;
	left: 0 !important;
	border: 0 !important;
	width: auto !important;
	height: auto !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23C8102E' stroke-width='2.4' stroke-linecap='round' d='M10.5 17a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13zM15.5 15.5L20 20'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
	transform: none !important;
}
.cwc-sp .woocommerce-product-gallery__trigger::after { display: none !important; }
.cwc-sp .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 14px 0 0 !important;
	padding: 0 !important;
	list-style: none;
}
.cwc-sp .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.cwc-sp .flex-control-thumbs img {
	border-radius: 8px;
	border: 2px solid transparent;
	opacity: .6;
	transition: opacity .2s ease, border-color .2s ease;
	cursor: pointer;
}
.cwc-sp .flex-control-thumbs img:hover,
.cwc-sp .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--cwc-red); }

/* summary card */
.cwc-sp div.product div.summary {
	background: #fff;
	border-radius: 12px;
	padding: 28px;
}
.cwc-sp__badges { display: flex; gap: 6px; margin-bottom: 14px; }
.cwc-sp .product_title {
	font-family: "Protest Strike", sans-serif !important;
	font-weight: 300 !important;
	font-size: 28px !important;
	line-height: 1.1 !important;
	color: var(--cwc-charcoal) !important;
	margin: 0 0 12px !important;
	text-transform: none;
}
.cwc-sp .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin: 0 0 14px !important; }
.cwc-sp .woocommerce-product-rating .star-rating { color: var(--cwc-red) !important; margin: 0 !important; font-size: 15px; }
.cwc-sp .woocommerce-review-link { font-size: 13px; color: #6B6B6B !important; }
.cwc-sp p.price,
.cwc-sp span.price {
	font-family: "Protest Strike", sans-serif !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	color: var(--cwc-charcoal) !important;
	margin: 0 0 16px !important;
}
.cwc-sp .price del { color: #9A9A9A !important; font-size: .7em; opacity: 1; margin-right: 6px; }
.cwc-sp .price ins { text-decoration: none; color: var(--cwc-red); }
.cwc-sp .woocommerce-product-details__short-description { font-size: 14.5px; line-height: 1.65; color: #4A4A4A; margin-bottom: 20px; }
.cwc-sp .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.cwc-sp p.stock { font-size: 13px; font-weight: 600; margin: 0 0 14px; }
.cwc-sp p.stock.in-stock { color: #1E7A35; }
.cwc-sp p.stock.out-of-stock { color: var(--cwc-red); }

/* add to cart */
.cwc-sp form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 0 0 20px !important; }
.cwc-sp form.cart::before, .cwc-sp form.cart::after { display: none !important; }
.cwc-sp form.variations_form { display: block; }
.cwc-sp .quantity { margin: 0 !important; float: none !important; }
.cwc-sp .quantity .qty {
	width: 90px !important;
	height: 52px !important;
	border: 1px solid #D9D9D9 !important;
	border-radius: 50px !important;
	text-align: center;
	font-size: 16px !important;
	font-weight: 700;
	background: #fff !important;
	color: var(--cwc-charcoal) !important;
	padding: 0 8px !important;
}
.cwc-sp .single_add_to_cart_button {
	flex: 1 1 200px;
	height: 52px;
	float: none !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 50px !important;
	background: var(--cwc-red) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	padding: 0 24px !important;
	transition: background .2s ease, transform .15s ease;
}
.cwc-sp .single_add_to_cart_button:hover { background: var(--cwc-red-dark) !important; filter: brightness(.92); }
.cwc-sp .single_add_to_cart_button:active { transform: scale(.98); }
.cwc-sp .single_add_to_cart_button.disabled,
.cwc-sp .single_add_to_cart_button:disabled { opacity: .45 !important; cursor: not-allowed; }

/* variations (sizes, pack quantities …) */
.cwc-sp table.variations { width: 100%; border: 0 !important; margin: 0 0 14px !important; }
.cwc-sp table.variations tbody, .cwc-sp table.variations tr { display: block; }
.cwc-sp table.variations tr { margin-bottom: 12px; }
.cwc-sp table.variations th,
.cwc-sp table.variations td { display: block; padding: 0 !important; border: 0 !important; background: none !important; text-align: left; }
.cwc-sp table.variations th label {
	font-family: "Protest Strike", sans-serif;
	font-weight: 300 !important;
	font-size: 14px;
	letter-spacing: .3px;
	text-transform: uppercase;
	margin-bottom: 6px;
	display: block;
}
.cwc-sp table.variations select {
	appearance: none;
	-webkit-appearance: none;
	width: 100% !important;
	min-width: 0 !important;
	height: 48px;
	border: 1px solid #D9D9D9 !important;
	border-radius: 50px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23C8102E'/%3E%3C/svg%3E") no-repeat right 18px center / 10px 6px !important;
	padding: 0 44px 0 18px !important;
	font-size: 14px !important;
	color: var(--cwc-charcoal) !important;
	margin: 0 !important;
}
.cwc-sp table.variations select:focus { border-color: var(--cwc-red) !important; outline: none; }
.cwc-sp .reset_variations { display: inline-block; margin-top: 8px; font-size: 12.5px; color: var(--cwc-red) !important; }
.cwc-sp .single_variation_wrap .woocommerce-variation { margin-bottom: 12px; }
.cwc-sp .single_variation_wrap .woocommerce-variation-price .price { font-size: 24px !important; margin: 0 !important; }
.cwc-sp .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }

/* bulk quote box */
.cwc-sp__quote {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	background: #F4F4F4;
	border-left: 4px solid var(--cwc-red);
	border-radius: 10px;
	padding: 14px 16px;
	margin: 0 0 20px;
	font-size: 13px;
	line-height: 1.45;
}
.cwc-sp__quote strong { display: block; font-family: "Protest Strike", sans-serif; font-weight: 400; font-size: 16px; color: var(--cwc-charcoal); }
.cwc-sp__quote span { color: #6B6B6B; }
.cwc-sp__quote a { color: var(--cwc-red) !important; font-weight: 700; text-decoration: none !important; white-space: nowrap; }
.cwc-sp__quote a:hover { text-decoration: underline !important; }

/* meta */
.cwc-sp .product_meta { font-size: 13px; color: #6B6B6B; border-top: 1px solid #EEE; padding-top: 16px; margin-bottom: 4px; }
.cwc-sp .product_meta > span { display: block; margin-bottom: 4px; }
.cwc-sp .product_meta a { color: var(--cwc-charcoal) !important; }
.cwc-sp .product_meta a:hover { color: var(--cwc-red) !important; }

/* reassurance row (product + cart + checkout) */
.cwc-assure {
	list-style: none;
	margin: 16px 0 0 !important;
	padding: 16px 0 0 !important;
	border-top: 1px solid #EEE;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	
	font-size: 12.5px;
	color: #6B6B6B;
}
.cwc-assure li { display: inline-flex; align-items: center; gap: 7px; margin: 0 !important; }
.cwc-assure svg { color: var(--cwc-red); flex: none; }
.cwc-assure a { color: var(--cwc-charcoal) !important; font-weight: 700; text-decoration: none !important; }

/* tabs: description / additional info / reviews */
.cwc-sp .woocommerce-tabs { margin-top: 8px; }
.cwc-sp .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0 0 14px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible !important;
}
.cwc-sp .woocommerce-tabs ul.tabs::before,
.cwc-sp .woocommerce-tabs ul.tabs::after,
.cwc-sp .woocommerce-tabs ul.tabs li::before,
.cwc-sp .woocommerce-tabs ul.tabs li::after { display: none !important; }
.cwc-sp .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	border-radius: 0 !important;
}
.cwc-sp .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 11px 20px !important;
	border-radius: 50px;
	background: #fff;
	color: var(--cwc-charcoal) !important;
	font-family: "Protest Strike", sans-serif;
	font-weight: 400 !important;
	font-size: 14px;
	letter-spacing: .4px;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background .2s ease, color .2s ease;
}
.cwc-sp .woocommerce-tabs ul.tabs li a:hover { color: var(--cwc-red) !important; }
.cwc-sp .woocommerce-tabs ul.tabs li.active a { background: var(--cwc-red); color: #fff !important; }
.cwc-sp .woocommerce-Tabs-panel {
	background: #fff;
	border-radius: 12px;
	padding: 28px !important;
	margin: 0 !important;
	font-size: 14.5px;
	line-height: 1.7;
	color: #4A4A4A;
}
.cwc-sp .woocommerce-Tabs-panel > h2:first-child,
.cwc-sp .woocommerce-Reviews-title {
	font-family: "Protest Strike", sans-serif !important;
	font-weight: 400 !important;
	font-size: 24px !important;
	text-transform: uppercase;
	color: var(--cwc-charcoal) !important;
	margin: 0 0 14px !important;
}
.cwc-sp table.woocommerce-product-attributes { border: 0 !important; margin: 0; }
.cwc-sp table.woocommerce-product-attributes th,
.cwc-sp table.woocommerce-product-attributes td { border: 0 !important; border-bottom: 1px solid #EEE !important; padding: 10px 0 !important; background: none !important; font-style: normal !important; }
.cwc-sp table.woocommerce-product-attributes th { width: 30%; font-weight: 700; color: var(--cwc-charcoal); }
.cwc-sp #reviews .star-rating,
.cwc-sp #reviews p.stars a { color: var(--cwc-red) !important; }
.cwc-sp #reviews .commentlist { padding: 0; }
.cwc-sp #reviews .comment_container { border-bottom: 1px solid #EEE; padding: 14px 0; }
.cwc-sp #review_form input[type="text"],
.cwc-sp #review_form input[type="email"],
.cwc-sp #review_form textarea { border: 1px solid #D9D9D9 !important; border-radius: 8px !important; padding: 12px 14px !important; width: 100%; }
.cwc-sp #review_form #submit {
	border: 0 !important;
	border-radius: 50px !important;
	background: var(--cwc-red) !important;
	color: #fff !important;
	font-weight: 700 !important;
	padding: 12px 26px !important;
}

@media (max-width: 1024px) {
	.cwc-sp div.product { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
@media (max-width: 767px) {
	.cwc-sp div.product div.images { padding: 12px; }
	.cwc-sp div.product div.summary { padding: 20px; }
	.cwc-sp .product_title { font-size: 26px !important; }
	.cwc-sp p.price, .cwc-sp span.price { font-size: 24px !important; }
	.cwc-sp .woocommerce-tabs ul.tabs { flex-wrap: nowrap; overflow-x: auto !important; scrollbar-width: none; }
	.cwc-sp .woocommerce-tabs ul.tabs li a { white-space: nowrap; padding: 10px 16px !important; font-size: 13px; }
	.cwc-sp .woocommerce-Tabs-panel { padding: 20px !important; }
	.cwc-sp .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* =========================================================
   Cart / Checkout / Order Complete (classic + blocks)
   ========================================================= */
body.cwc-wc-page,
body.cwc-wc-page .site-content { background: #EBEBEB; }
.cwc-wc-page #primary { margin-top: 40px !important; margin-bottom: 70px !important; }
.cwc-wc-page article.page,
.cwc-wc-page .ast-article-single,
.cwc-wc-page .ast-article-post {
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
	border: 0 !important;
}
.cwc-wc-page .entry-content {  color: var(--cwc-charcoal); }

/* header + progress steps */
.cwc-wc-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 26px;
}
.cwc-wc-head__title {
	margin: 0 !important;
	font-family: "Protest Strike", sans-serif !important;
	font-weight: 400 !important;
	font-size: 42px !important;
	line-height: 1 !important;
	text-transform: uppercase;
	color: var(--cwc-charcoal) !important;
}
.cwc-progress { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; align-items: center; gap: 6px; }
.cwc-progress li { display: flex; align-items: center; gap: 8px; margin: 0 !important; color: #8E8E8E; }
.cwc-progress li + li::before { content: ""; width: 28px; height: 2px; background: #CFCFCF; margin-right: 2px; }
.cwc-progress li.is-done + li::before,
.cwc-progress li.is-current::before { background: var(--cwc-red); }
.cwc-progress a { display: flex; align-items: center; gap: 8px; color: inherit !important; text-decoration: none !important; }
.cwc-progress__num {
	width: 28px;
	height: 28px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 2px solid #CFCFCF;
	background: #fff;
	font-family: "Protest Strike", sans-serif;
	font-size: 14px;
	line-height: 1;
}
.cwc-progress__label { font-family: "Protest Strike", sans-serif; font-size: 14px; letter-spacing: .3px; text-transform: uppercase; }
.cwc-progress li.is-done { color: var(--cwc-charcoal); }
.cwc-progress li.is-done .cwc-progress__num { background: var(--cwc-charcoal); border-color: var(--cwc-charcoal); color: #fff; }
.cwc-progress li.is-current { color: var(--cwc-charcoal); }
.cwc-progress li.is-current .cwc-progress__num { background: var(--cwc-red); border-color: var(--cwc-red); color: #fff; }
.cwc-wc-page .cwc-assure { border-top: 0; justify-content: center; margin-top: 26px !important; }

/* shared: cards, notices, buttons, inputs */
.cwc-wc-page .woocommerce-message,
.cwc-wc-page .woocommerce-info,
.cwc-wc-page .woocommerce-error {
	background: #fff !important;
	border: 0 !important;
	border-left: 4px solid var(--cwc-red) !important;
	border-radius: 10px !important;
	color: var(--cwc-charcoal) !important;
	font-size: 14px;
	padding: 16px 18px 16px 50px !important;
	box-shadow: none !important;
}
.cwc-wc-page .woocommerce-message { border-left-color: #2DB24A !important; }
.cwc-wc-page .woocommerce-message::before { color: #2DB24A !important; }
.cwc-wc-page .woocommerce-info::before,
.cwc-wc-page .woocommerce-error::before { color: var(--cwc-red) !important; }
.cwc-wc-page .woocommerce-info a,
.cwc-wc-page .woocommerce-message a:not(.button) { color: var(--cwc-red) !important; font-weight: 600; }

.cwc-wc-page .woocommerce a.button,
.cwc-wc-page .woocommerce button.button,
.cwc-wc-page .woocommerce input.button,
.cwc-wc-page .wc-block-components-button:not(.is-link) {
	border: 0 !important;
	border-radius: 50px !important;
	background: var(--cwc-charcoal) !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	padding: 13px 24px !important;
	text-transform: none !important;
	box-shadow: none !important;
	transition: background .2s ease;
	min-height: 0;
}
.cwc-wc-page .woocommerce a.button:hover,
.cwc-wc-page .woocommerce button.button:hover,
.cwc-wc-page .woocommerce input.button:hover,
.cwc-wc-page .wc-block-components-button:not(.is-link):hover { background: #000 !important; }
.cwc-wc-page .woocommerce .button.alt,
.cwc-wc-page .woocommerce a.checkout-button,
.cwc-wc-page #place_order,
.cwc-wc-page .return-to-shop .button,
.cwc-wc-page .wc-block-cart__submit-button,
.cwc-wc-page .wc-block-components-checkout-place-order-button {
	background: var(--cwc-red) !important;
	color: #fff !important;
	font-size: 16px !important;
	padding: 16px 26px !important;
}
.cwc-wc-page .woocommerce .button.alt:hover,
.cwc-wc-page .woocommerce a.checkout-button:hover,
.cwc-wc-page #place_order:hover,
.cwc-wc-page .wc-block-cart__submit-button:hover,
.cwc-wc-page .wc-block-components-checkout-place-order-button:hover { background: var(--cwc-red-dark) !important; filter: brightness(.92); }
.cwc-wc-page .woocommerce button.button:disabled,
.cwc-wc-page .woocommerce button.button:disabled[disabled] { opacity: .45 !important; }

.cwc-wc-page .woocommerce form .form-row .input-text,
.cwc-wc-page .woocommerce form .form-row select,
.cwc-wc-page .woocommerce form .form-row textarea,
.cwc-wc-page .woocommerce-cart-form .qty,
.cwc-wc-page #coupon_code,
.cwc-wc-page .select2-container .select2-selection--single,
.cwc-wc-page .wc-block-components-text-input input,
.cwc-wc-page .wc-block-components-combobox .components-combobox-control__input,
.cwc-wc-page .wc-blocks-components-select .wc-blocks-components-select__select,
.cwc-wc-page .wc-block-components-textarea {
	border: 1px solid #D9D9D9 !important;
	border-radius: 8px !important;
	background-color: #fff !important;
	color: var(--cwc-charcoal) !important;
	font-size: 14px !important;
	box-shadow: none !important;
}
.cwc-wc-page .woocommerce form .form-row .input-text,
.cwc-wc-page .woocommerce form .form-row select,
.cwc-wc-page #coupon_code { min-height: 46px; padding: 10px 14px !important; }
.cwc-wc-page .select2-container .select2-selection--single { height: 46px !important; display: flex; align-items: center; }
.cwc-wc-page .select2-container .select2-selection__arrow { height: 44px !important; }
.cwc-wc-page .woocommerce form .form-row .input-text:focus,
.cwc-wc-page .woocommerce form .form-row select:focus,
.cwc-wc-page .wc-block-components-text-input input:focus,
.cwc-wc-page #coupon_code:focus { border-color: var(--cwc-red) !important; outline: none; }
.cwc-wc-page .woocommerce form .form-row label { font-size: 13px; font-weight: 600; color: var(--cwc-charcoal); margin-bottom: 4px; }
.cwc-wc-page .woocommerce form .form-row .required { color: var(--cwc-red); text-decoration: none; }

.cwc-wc-page h2, .cwc-wc-page h3,
.cwc-wc-page .wc-block-components-title,
.cwc-wc-page .wc-block-components-checkout-step__title,
.cwc-wc-page .wc-block-cart__totals-title {
	font-family: "Protest Strike", sans-serif !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	color: var(--cwc-charcoal) !important;
	letter-spacing: .3px;
}

/* ---- classic cart ---- */
.cwc-wc-step-1 .woocommerce:has(> .woocommerce-cart-form) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 24px;
	align-items: start;
}
.cwc-wc-step-1 .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.cwc-wc-step-1 .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form { grid-column: 1; grid-row: 2; }
.cwc-wc-step-1 .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals { display: contents; }
.cwc-wc-step-1 .cart-collaterals .cart_totals { grid-column: 2; grid-row: 2 / span 2; }
.cwc-wc-step-1 .cart-collaterals .cross-sells { grid-column: 1; grid-row: 3; }
.cwc-wc-step-1 .cart-collaterals .cart_totals,
.cwc-wc-step-1 .cart-collaterals .cross-sells { float: none !important; width: auto !important; }
.cwc-wc-page .woocommerce-cart-form,
.cwc-wc-page .cart_totals,
.cwc-wc-page .cross-sells {
	background: #fff;
	border-radius: 12px !important;
	padding: 20px 22px !important;
}
.cwc-wc-page .woocommerce-cart-form table.shop_table,
.cwc-wc-page .cart_totals table.shop_table,
.cwc-wc-page #order_review table.shop_table,
.cwc-wc-page .woocommerce-order table.shop_table {
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	border-collapse: collapse;
	width: 100%;
}
.cwc-wc-page table.shop_table th {
	font-family: "Protest Strike", sans-serif;
	font-weight: 400 !important;
	font-size: 14px;
	letter-spacing: .3px;
	text-transform: uppercase;
	color: var(--cwc-charcoal);
	border: 0 !important;
	padding: 12px 10px !important;
	background: none !important;
}
.cwc-wc-page table.shop_table td {
	border: 0 !important;
	border-top: 1px solid #EEE !important;
	padding: 14px 10px !important;
	vertical-align: middle;
	background: none !important;
}
.cwc-wc-page .woocommerce-cart-form .product-thumbnail img {
	width: 72px !important;
	height: 72px;
	object-fit: contain;
	border-radius: 8px;
	background: #F4F4F4;
	padding: 4px;
}
.cwc-wc-page .woocommerce-cart-form .product-name a { color: var(--cwc-charcoal) !important; text-decoration: none !important; }
.cwc-wc-page .woocommerce-cart-form .product-name a:hover { color: var(--cwc-red) !important; }
.cwc-wc-page .woocommerce-cart-form .product-price,
.cwc-wc-page .woocommerce-cart-form .product-subtotal { font-weight: 700; }
.cwc-wc-page a.remove {
	width: 28px !important;
	height: 28px !important;
	line-height: 26px !important;
	border-radius: 50% !important;
	background: #F2F2F2 !important;
	color: var(--cwc-red) !important;
	font-size: 18px !important;
	text-align: center;
}
.cwc-wc-page a.remove:hover { background: var(--cwc-red) !important; color: #fff !important; }
.cwc-wc-page .woocommerce-cart-form .qty {
	width: 76px !important;
	height: 42px;
	border-radius: 50px !important;
	text-align: center;
	font-weight: 700;
}
.cwc-wc-page .woocommerce-cart-form td.actions { padding-top: 18px !important; }
.cwc-wc-page .woocommerce-cart-form .coupon { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.cwc-wc-page #coupon_code { width: 200px !important; border-radius: 50px !important; margin: 0 !important; }
.cwc-wc-page .cart_totals h2 { font-size: 24px !important; margin: 0 0 8px !important; }
.cwc-wc-page .cart_totals .order-total th,
.cwc-wc-page .cart_totals .order-total td,
.cwc-wc-page #order_review .order-total th,
.cwc-wc-page #order_review .order-total td { font-size: 18px; }
.cwc-wc-page .order-total .amount { font-family: "Protest Strike", sans-serif; font-size: 24px; color: var(--cwc-charcoal); }
.cwc-wc-page .wc-proceed-to-checkout { padding: 16px 0 0 !important; }
.cwc-wc-page .wc-proceed-to-checkout a.checkout-button { display: block !important; width: 100%; text-align: center; margin: 0 !important; }
.cwc-wc-page .cart-empty { font-size: 15px; }
.cwc-wc-page .return-to-shop { margin-top: 16px; }

/* ---- classic checkout ---- */
.cwc-wc-step-2 form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	grid-template-rows: auto 1fr;
	gap: 0 24px;
	align-items: start;
}
.cwc-wc-step-2 form.checkout::before,
.cwc-wc-step-2 form.checkout::after { display: none !important; }
.cwc-wc-step-2 form.checkout > * { grid-column: 1 / -1; }
.cwc-wc-step-2 form.checkout > #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.cwc-wc-step-2 form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; }
.cwc-wc-step-2 form.checkout > #order_review { grid-column: 2; grid-row: 2; }
.cwc-wc-page #customer_details,
.cwc-wc-page #order_review_heading,
.cwc-wc-page #order_review {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
.cwc-wc-page #customer_details { background: #fff; border-radius: 12px; padding: 24px 26px; }
.cwc-wc-page #customer_details .col-1,
.cwc-wc-page #customer_details .col-2 { float: none !important; width: 100% !important; max-width: none !important; }
.cwc-wc-page #customer_details .col-2 { margin-top: 10px; }
.cwc-wc-page #customer_details h3 { font-size: 22px !important; margin: 0 0 14px !important; }
.cwc-wc-page #order_review_heading {
	background: var(--cwc-charcoal);
	color: #fff !important;
	border-radius: 12px 12px 0 0;
	padding: 16px 22px !important;
	font-size: 20px !important;
}
.cwc-wc-page #order_review { background: #fff; border-radius: 0 0 12px 12px; padding: 10px 22px 22px !important; }
.cwc-wc-page #order_review table.shop_table td.product-name { font-size: 13.5px; }
.cwc-wc-page #payment { background: #F4F4F4 !important; border-radius: 10px !important; margin-top: 16px; }
.cwc-wc-page #payment ul.payment_methods { border-bottom: 1px solid #E2E2E2 !important; padding: 16px !important; }
.cwc-wc-page #payment div.payment_box { background: #fff !important; border-radius: 8px; font-size: 13px; }
.cwc-wc-page #payment div.payment_box::before { border-bottom-color: #fff !important; }
.cwc-wc-page #payment .place-order { padding: 16px !important; }
.cwc-wc-page #place_order { width: 100%; float: none !important; }
.cwc-wc-page .woocommerce-form-coupon-toggle,
.cwc-wc-page .woocommerce-form-login-toggle { margin-bottom: 12px; }
.cwc-wc-page form.checkout_coupon,
.cwc-wc-page form.woocommerce-form-login {
	background: #fff;
	border: 0 !important;
	border-radius: 12px !important;
	padding: 20px !important;
	margin: 0 0 16px !important;
}

/* ---- order complete ---- */
.cwc-wc-page .woocommerce-order { background: #fff; border-radius: 12px; padding: 28px; }
.cwc-wc-page .woocommerce-thankyou-order-received {
	font-family: "Protest Strike", sans-serif;
	font-size: 24px;
	color: #1E7A35;
	margin: 0 0 18px;
}
.cwc-wc-page ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0 0 24px !important;
	padding: 0 !important;
}
.cwc-wc-page ul.woocommerce-order-overview li {
	float: none !important;
	margin: 0 !important;
	padding: 12px 16px !important;
	border: 0 !important;
	border-radius: 10px;
	background: #F4F4F4;
	font-size: 12px;
	text-transform: uppercase;
	color: #6B6B6B;
}
.cwc-wc-page ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 4px;
	font-size: 15px;
	text-transform: none;
	color: var(--cwc-charcoal);
}

/* ---- block cart / checkout ---- */
.cwc-wc-page .wc-block-cart,
.cwc-wc-page .wc-block-checkout { margin-top: 0 !important; }
.cwc-wc-page .wc-block-components-sidebar-layout .wc-block-components-main,
.cwc-wc-page .wc-block-components-sidebar-layout .wc-block-components-sidebar > div,
.cwc-wc-page .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content {
	background: #fff;
	border-radius: 12px;
	padding: 22px !important;
}
.cwc-wc-page .wc-block-components-sidebar-layout .wc-block-components-sidebar > div { margin-bottom: 14px; }
.cwc-wc-page .wc-block-cart-items { border: 0 !important; margin: 0 !important; }
.cwc-wc-page .wc-block-cart-items th { font-family: "Protest Strike", sans-serif; font-weight: 400; text-transform: uppercase; font-size: 14px; }
.cwc-wc-page .wc-block-cart-items td { border-top: 1px solid #EEE !important; }
.cwc-wc-page .wc-block-cart-item__image img { border-radius: 8px; background: #F4F4F4; }
.cwc-wc-page .wc-block-components-product-name { color: var(--cwc-charcoal) !important; font-weight: 700; text-decoration: none !important; }
.cwc-wc-page .wc-block-components-quantity-selector { border-radius: 50px !important; overflow: hidden; }
.cwc-wc-page .wc-block-components-quantity-selector::after { border-radius: 50px !important; border-color: #D9D9D9 !important; }
.cwc-wc-page .wc-block-cart-item__remove-link { color: var(--cwc-red) !important; }
.cwc-wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.cwc-wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: "Protest Strike", sans-serif;
	font-weight: 400 !important;
	font-size: 22px !important;
}
.cwc-wc-page .wc-block-cart__submit-button,
.cwc-wc-page .wc-block-components-checkout-place-order-button { width: 100%; }
.cwc-wc-page .wc-block-checkout .wc-block-components-checkout-step { margin-bottom: 26px; }
.cwc-wc-page .wc-block-components-radio-control__option,
.cwc-wc-page .wc-block-components-radio-control-accordion-option { border-radius: 10px !important; }
.cwc-wc-page .wc-block-components-radio-control__option-checked,
.cwc-wc-page .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--cwc-red) !important; }
.cwc-wc-page .wc-block-components-radio-control__input:checked { border-color: var(--cwc-red) !important; }
.cwc-wc-page .wc-block-components-radio-control__input:checked::before { background: var(--cwc-red) !important; }
.cwc-wc-page .wc-block-components-checkbox__input:checked { background: var(--cwc-red) !important; border-color: var(--cwc-red) !important; }
.cwc-wc-page .wc-block-components-text-input.is-active input:focus,
.cwc-wc-page .wc-block-components-text-input input:focus { box-shadow: 0 0 0 1px var(--cwc-red) !important; }
.cwc-wc-page .wp-block-woocommerce-empty-cart-block { background: #fff; border-radius: 12px; padding: 40px 24px; text-align: center; }

@media (max-width: 1024px) {
	.cwc-wc-step-1 .woocommerce:has(> .woocommerce-cart-form),
	.cwc-wc-step-2 form.checkout { grid-template-columns: minmax(0, 1fr); }
	.cwc-wc-step-1 .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form,
	.cwc-wc-step-1 .cart-collaterals .cart_totals,
	.cwc-wc-step-1 .cart-collaterals .cross-sells,
	.cwc-wc-step-2 form.checkout > #customer_details,
	.cwc-wc-step-2 form.checkout > #order_review_heading,
	.cwc-wc-step-2 form.checkout > #order_review { grid-column: 1; grid-row: auto; }
	.cwc-wc-step-2 form.checkout > #order_review_heading { margin-top: 20px !important; }
}
@media (max-width: 767px) {
	.cwc-wc-page #primary { margin-top: 24px !important; }
	.cwc-wc-head { flex-direction: column; align-items: flex-start; gap: 14px; }
	.cwc-wc-head__title { font-size: 32px !important; }
	.cwc-progress li + li::before { width: 14px; }
	.cwc-progress__label { font-size: 12px; }
	.cwc-wc-page .woocommerce-cart-form,
	.cwc-wc-page .cart_totals,
	.cwc-wc-page #customer_details,
	.cwc-wc-page #order_review,
	.cwc-wc-page .woocommerce-order { padding: 16px; }
	.cwc-wc-page #coupon_code { width: 100% !important; }
	.cwc-wc-page .woocommerce-cart-form .coupon .button { width: 100%; }
}

/* safety: sizing + link styling inside WooCommerce areas */
.cwc-sp *, .cwc-wc-page .woocommerce *, .cwc-wc-page .wc-block-cart *, .cwc-wc-page .wc-block-checkout * { box-sizing: border-box; }
.cwc-sp .flex-control-thumbs img { width: 100%; height: auto; display: block; }
.cwc-wc-page .woocommerce a.button, .cwc-wc-page .woocommerce a.checkout-button, .cwc-wc-page a.remove { text-decoration: none !important; }
.cwc-wc-page a.remove { display: inline-flex !important; align-items: center; justify-content: center; line-height: 1 !important; }
.cwc-wc-page .cart_totals table.shop_table th { text-align: left; width: 40%; padding-left: 0 !important; }
.cwc-wc-page .cart_totals table.shop_table td { padding-right: 0 !important; }
.cwc-wc-page #coupon_code { height: 46px; min-height: 0; }
.cwc-wc-page .woocommerce form .form-row { display: block; margin: 0 0 14px; padding: 0; }
.cwc-wc-page .woocommerce form .form-row label { display: block; line-height: 1.5; }
.cwc-wc-page .woocommerce form .form-row .input-text,
.cwc-wc-page .woocommerce form .form-row select,
.cwc-wc-page .woocommerce form .form-row textarea { width: 100%; }
.cwc-wc-page #order_review table.shop_table th,
.cwc-wc-page #order_review table.shop_table td { text-align: left; }
.cwc-wc-page #order_review table.shop_table th { padding-left: 0 !important; }
.cwc-wc-page #order_review table.shop_table td:last-child { text-align: right; padding-right: 0 !important; }
.cwc-wc-page #order_review table.shop_table thead th:last-child { text-align: right; }

/* classic cart on phones: each product as a compact card */
@media (max-width: 767px) {
	.cwc-wc-page .woocommerce-cart-form table.shop_table,
	.cwc-wc-page .woocommerce-cart-form table.shop_table tbody { display: block; width: 100%; }
	.cwc-wc-page .woocommerce-cart-form table.shop_table thead { display: none; }
	.cwc-wc-page .woocommerce-cart-form tr.cart_item {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr) auto;
		align-items: center;
		gap: 6px 12px;
		position: relative;
		padding: 14px 34px 14px 0;
		border-top: 1px solid #EEE;
	}
	.cwc-wc-page .woocommerce-cart-form tr.cart_item:first-child { border-top: 0; }
	.cwc-wc-page .woocommerce-cart-form tr.cart_item td {
		display: block;
		border: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}
	.cwc-wc-page .woocommerce-cart-form tr.cart_item td::before { display: none !important; content: none !important; }
	.cwc-wc-page .woocommerce-cart-form tr.cart_item .product-thumbnail { display: block !important; grid-column: 1; grid-row: 1 / span 3; }
	.cwc-wc-page .woocommerce-cart-form tr.cart_item .product-thumbnail img { width: 64px !important; height: 64px; }
	.cwc-wc-page .woocommerce-cart-form tr.cart_item .product-name { grid-column: 2 / span 2; font-size: 14px; }
	.cwc-wc-page .woocommerce-cart-form tr.cart_item .product-price { grid-column: 2 / span 2; font-size: 13px; color: #6B6B6B; font-weight: 500; }
	.cwc-wc-page .woocommerce-cart-form tr.cart_item .product-quantity { grid-column: 2; }
	.cwc-wc-page .woocommerce-cart-form tr.cart_item .product-subtotal { grid-column: 3; font-size: 15px; }
	.cwc-wc-page .woocommerce-cart-form tr.cart_item .product-remove { position: absolute; top: 14px; right: 0; }
	.cwc-wc-page .woocommerce-cart-form tr.cart_item .qty { width: 70px !important; height: 38px; }
	.cwc-wc-page .woocommerce-cart-form tr:not(.cart_item) { display: block; }
	.cwc-wc-page .woocommerce-cart-form td.actions { display: block; border-top: 1px solid #EEE !important; padding: 16px 0 0 !important; text-align: left !important; }
	.cwc-wc-page .woocommerce-cart-form td.actions .coupon { float: none !important; width: 100%; padding-bottom: 0 !important; }
	.cwc-wc-page .woocommerce-cart-form td.actions .coupon .input-text,
	.cwc-wc-page .woocommerce-cart-form td.actions .coupon .button,
	.cwc-wc-page .woocommerce-cart-form td.actions > .button { width: 100% !important; float: none !important; margin: 0 0 8px !important; }
}

/* =========================================================
   Product page refinements
   ========================================================= */

/* no duplicates: Astra's in-summary breadcrumb + category line (the PHP turns them off; this is a backup) */
.cwc-sp .summary .woocommerce-breadcrumb,
.cwc-sp .summary .single-product-category,
.cwc-sp .summary .ast-woo-product-category { display: none !important; }

/* breadcrumb bar: long product names end with … */
.cwc-crumbs ol { flex-wrap: nowrap; min-width: 0; }
.cwc-crumbs li { flex: none; }
.cwc-crumbs li:last-child { flex: 0 1 auto; min-width: 0; }
.cwc-crumbs li:last-child > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 767px) {
	.cwc-crumbs ol { flex-wrap: wrap; }
	.cwc-crumbs li:last-child { flex-basis: 100%; }
}

/* gallery: fixed square frame, every image fits inside, sticky while the details scroll */
.cwc-sp div.product div.images {
	position: sticky !important;
	top: calc(24px + var(--wp-admin--admin-bar--height, 0px));
	align-self: start;
	opacity: 1 !important;
}
.cwc-sp .woocommerce-product-gallery__wrapper { margin: 0 !important; }
.cwc-sp .woocommerce-product-gallery .flex-viewport { height: auto !important; border-radius: 8px; }
.cwc-sp .woocommerce-product-gallery__image {
	aspect-ratio: 1 / 1;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	position: relative;
}
.cwc-sp .woocommerce-product-gallery__image > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.cwc-sp .woocommerce-product-gallery__image img:not(.zoomImg) {
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	object-fit: contain;
	border-radius: 8px;
}
.cwc-sp .flex-control-thumbs img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #F7F7F7;
	padding: 4px;
}
@media (max-width: 1024px) {
	.cwc-sp div.product div.images { position: relative !important; top: auto; }
}

/* tabs sit under the product (outside the sticky area) */
.cwc-sp__tabs { margin-top: 28px; }

/* quantity: − 1 + pill */
.cwc-qty {
	display: inline-flex !important;
	align-items: center;
	height: 52px;
	border: 1px solid #D9D9D9;
	border-radius: 50px;
	background: #fff;
	overflow: hidden;
	flex: none;
}
.cwc-qty .qty,
.cwc-sp .cwc-qty .qty,
.cwc-wc-page .woocommerce-cart-form .cwc-qty .qty,
.cwc-wc-page .cwc-qty .qty {
	width: 46px !important;
	height: 100% !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: center;
	background: transparent !important;
	box-shadow: none !important;
	-moz-appearance: textfield;
	appearance: textfield;
}
.cwc-qty .qty::-webkit-outer-spin-button,
.cwc-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cwc-qty__btn {
	width: 42px;
	height: 100%;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--cwc-charcoal) !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background .15s ease, color .15s ease;
}
.cwc-qty__btn:hover { background: #F4F4F4 !important; color: var(--cwc-red) !important; }
.cwc-qty:focus-within { border-color: var(--cwc-red); }
.cwc-wc-page .woocommerce-cart-form .cwc-qty { height: 42px; }
.cwc-wc-page .woocommerce-cart-form .cwc-qty .qty { width: 40px !important; height: 100% !important; border: 0 !important; border-radius: 0 !important; }
.cwc-wc-page .woocommerce-cart-form .cwc-qty__btn { width: 34px; font-size: 18px !important; }

/* WPC Smart Wishlist: round heart next to Add to cart */
.cwc-sp .woosw-btn.cwc-wish {
	width: 52px !important;
	height: 52px !important;
	min-width: 52px;
	flex: none;
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid #D9D9D9 !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: border-color .2s ease, transform .15s ease;
}
.cwc-sp .woosw-btn.cwc-wish > * { display: none !important; }
.cwc-sp .woosw-btn.cwc-wish::before {
	content: "";
	width: 22px;
	height: 22px;
	background-color: var(--cwc-charcoal);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round' d='M12 20.5s-7.5-4.6-9.3-9.2C1.4 7.9 3.6 4.5 7 4.5c2 0 3.6 1.1 5 3 1.4-1.9 3-3 5-3 3.4 0 5.6 3.4 4.3 6.8-1.8 4.6-9.3 9.2-9.3 9.2z'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round' d='M12 20.5s-7.5-4.6-9.3-9.2C1.4 7.9 3.6 4.5 7 4.5c2 0 3.6 1.1 5 3 1.4-1.9 3-3 5-3 3.4 0 5.6 3.4 4.3 6.8-1.8 4.6-9.3 9.2-9.3 9.2z'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: background-color .2s ease;
}
.cwc-sp .woosw-btn.cwc-wish:hover { border-color: var(--cwc-red) !important; }
.cwc-sp .woosw-btn.cwc-wish:hover::before { background-color: var(--cwc-red); }
.cwc-sp .woosw-btn.cwc-wish:active { transform: scale(.94); }
/* added to wishlist: filled red heart */
.cwc-sp .woosw-btn.cwc-wish.woosw-added,
.cwc-sp .woosw-btn.cwc-wish.woosw-btn-added { border-color: var(--cwc-red) !important; }
.cwc-sp .woosw-btn.cwc-wish.woosw-added::before,
.cwc-sp .woosw-btn.cwc-wish.woosw-btn-added::before {
	background-color: var(--cwc-red);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 20.5s-7.5-4.6-9.3-9.2C1.4 7.9 3.6 4.5 7 4.5c2 0 3.6 1.1 5 3 1.4-1.9 3-3 5-3 3.4 0 5.6 3.4 4.3 6.8-1.8 4.6-9.3 9.2-9.3 9.2z'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 20.5s-7.5-4.6-9.3-9.2C1.4 7.9 3.6 4.5 7 4.5c2 0 3.6 1.1 5 3 1.4-1.9 3-3 5-3 3.4 0 5.6 3.4 4.3 6.8-1.8 4.6-9.3 9.2-9.3 9.2z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.cwc-sp .woosw-btn.cwc-wish.woosw-adding::before { opacity: .4; }
/* add to cart row: qty | button | heart on one line */
.cwc-sp form.cart:not(.variations_form),
.cwc-sp .woocommerce-variation-add-to-cart { display: flex !important; flex-wrap: nowrap; align-items: center; gap: 10px; }
@media (max-width: 400px) {
	.cwc-sp form.cart:not(.variations_form),
	.cwc-sp .woocommerce-variation-add-to-cart { flex-wrap: wrap; }
}

/* ---------- Breadcrumb bar: full width for the path, button on one line ---------- */
.elementor-widget-shortcode:has(.cwc-crumbs) { flex: 1 1 auto !important; min-width: 0; width: auto !important; max-width: none !important; }
.e-con:has(> .elementor-widget-shortcode .cwc-crumbs) { justify-content: space-between !important; }
.e-con:has(> .elementor-widget-shortcode .cwc-crumbs) > .elementor-widget-button { flex: none !important; }
.e-con:has(> .elementor-widget-shortcode .cwc-crumbs) .elementor-button { white-space: nowrap; }
.cwc-crumbs { width: 100%; min-width: 0; }
.cwc-crumbs ol { justify-content: flex-start; }
.cwc-crumbs li a { display: inline-flex; align-items: center; gap: 6px; }
.cwc-crumbs__home { width: 16px; height: 16px; flex: none; color: var(--cwc-red); position: relative; top: -1px; }
.cwc-crumbs a:hover .cwc-crumbs__home { color: var(--cwc-red-dark); }
.cwc-crumbs li.cwc-crumbs__current { flex: 0 1 auto; min-width: 0; }
.cwc-crumbs li.cwc-crumbs__current > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* =========================================================
   Store messages ("added to your cart", info, errors)
   product, shop, cart and checkout pages
   ========================================================= */
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-message,
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-info,
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-error {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 16px;
	position: relative;
	margin: 0 0 22px !important;
	padding: 16px 18px 16px 62px !important;
	background: #fff !important;
	border: 0 !important;
	border-left: 4px solid #2DB24A !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .06) !important;
	color: var(--cwc-charcoal) !important;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.5 !important;
	list-style: none;
	outline: 0;
}
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-info,
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-error { border-left-color: var(--cwc-red) !important; }
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-error,
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-info:not(:has(> .button)) { display: block; }
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-error li { margin: 0 !important; padding: 2px 0 !important; list-style: none; }

/* round icon on the left */
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-message::before,
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-info::before,
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-error::before {
	content: "" !important;
	position: absolute !important;
	left: 18px !important;
	top: 50% !important;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	margin: 0 !important;
	border-radius: 50%;
	background: #2DB24A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
	font-family: inherit !important;
	color: transparent !important;
}
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-info::before { background: var(--cwc-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 11v6M12 7.2v.1' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 18px 18px; }
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-error::before { background: var(--cwc-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6.8v6.4M12 17v.1' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 18px 18px; top: 14px !important; transform: none; }

/* "View cart" / "Continue shopping" button on the right */
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-message .button,
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-info .button,
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-error .button {
	order: 2;
	margin: 0 0 0 auto !important;
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 10px 20px !important;
	border: 0 !important;
	border-radius: 50px !important;
	background: var(--cwc-red) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	white-space: nowrap;
	box-shadow: none !important;
	transition: filter .2s ease;
}
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-message .button::after {
	content: "";
	width: 15px;
	height: 15px;
	flex: none;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform .2s ease;
}
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-message .button:hover::after { transform: translateX(3px); }
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-message .button:hover,
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-info .button:hover { filter: brightness(.9); }
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-message a:not(.button),
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-info a:not(.button),
body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-error a:not(.button) { color: var(--cwc-red) !important; font-weight: 400; }
.cwc-sp .woocommerce-notices-wrapper:empty { display: none; }

/* block cart / checkout notices */
.cwc-wc-page .wc-block-components-notice-banner {
	background: #fff !important;
	border: 0 !important;
	border-left: 4px solid #2DB24A !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
	color: var(--cwc-charcoal) !important;
	font-size: 14px;
}
.cwc-wc-page .wc-block-components-notice-banner.is-error,
.cwc-wc-page .wc-block-components-notice-banner.is-info,
.cwc-wc-page .wc-block-components-notice-banner.is-warning { border-left-color: var(--cwc-red) !important; }
.cwc-wc-page .wc-block-components-notice-banner.is-success > svg { background: #2DB24A !important; fill: #fff; border-radius: 50%; }
.cwc-wc-page .wc-block-components-notice-banner:not(.is-success) > svg { background: var(--cwc-red) !important; fill: #fff; border-radius: 50%; }

@media (max-width: 767px) {
	body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-message,
	body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-info { padding: 14px 14px 14px 54px !important; font-size: 13.5px !important; }
	body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-message::before,
	body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-info::before { left: 14px !important; top: 16px !important; transform: none; }
	body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-message .button,
	body:is(.cwc-product-page, .cwc-shop-page, .cwc-wc-page, .cwc-account-page) .woocommerce-info .button { margin: 4px 0 0 !important; width: 100%; justify-content: center; }
}

/* =========================================================
   Search popup: #cwc-search  (opens from .search-icon, .cwc-search-trigger, [cwc_search_icon])
   ========================================================= */
.cwc-s { position: fixed; inset: 0; z-index: 100000; }
.cwc-s[hidden] { display: none; }
.cwc-s__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 20, 20, .55);
	opacity: 0;
	transition: opacity .25s ease;
}
.cwc-s__panel {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	max-height: 100vh;
	display: flex;
	flex-direction: column;
	background: #F2F2F2;
	box-shadow: 0 12px 40px rgba(0, 0, 0, .25);
	border-radius: 0 0 22px 22px;
	transform: translateY(-100%);
	opacity: 0;
	transition: transform .3s cubic-bezier(.2, .8, .2, 1), opacity .25s ease;
}
.cwc-s.is-open .cwc-s__backdrop { opacity: 1; }
.cwc-s.is-open .cwc-s__panel { transform: none; opacity: 1; }
body.cwc-search-open { overflow: hidden; }

.cwc-s__inner {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
	padding: 28px 24px 18px;
	box-sizing: border-box;
}
.cwc-s__form { position: relative; flex: 1; min-width: 0; margin: 0; }
.cwc-s__icon { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); color: var(--cwc-red); pointer-events: none; }
.cwc-s__input {
	width: 100% !important;
	height: 58px !important;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 0 92px 0 54px !important;
	border: 2px solid transparent !important;
	border-radius: 50px !important;
	background: #fff !important;
	color: var(--cwc-charcoal) !important;
	font-size: 17px !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .06) !important;
	transition: border-color .2s ease;
	-webkit-appearance: none;
	appearance: none;
}
.cwc-s__input::-webkit-search-cancel-button { display: none; }
.cwc-s__input::placeholder { color: #9A9A9A; opacity: 1; }
.cwc-s__input:focus { border-color: var(--cwc-red) !important; outline: none; }
.cwc-s__clear {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #F2F2F2 !important;
	color: var(--cwc-charcoal) !important;
	font-size: 20px !important;
	line-height: 1 !important;
	cursor: pointer;
}
.cwc-s__clear[hidden] { display: none; }
.cwc-s__clear:hover { background: var(--cwc-red) !important; color: #fff !important; }
.cwc-s__spinner {
	position: absolute;
	right: 56px;
	top: 50%;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	border: 2px solid #E2E2E2;
	border-top-color: var(--cwc-red);
	border-radius: 50%;
	opacity: 0;
	animation: cwc-spin .7s linear infinite;
	transition: opacity .15s ease;
}
.cwc-s.is-loading .cwc-s__spinner { opacity: 1; }
@keyframes cwc-spin { to { transform: rotate(360deg); } }
.cwc-s__close {
	flex: none;
	width: 48px;
	height: 48px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: var(--cwc-charcoal) !important;
	color: #fff !important;
	font-size: 26px !important;
	line-height: 1 !important;
	cursor: pointer;
	transition: background .2s ease;
}
.cwc-s__close:hover { background: var(--cwc-red) !important; }

.cwc-s__body {
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
	padding: 0 24px 26px;
	box-sizing: border-box;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.cwc-s__label {
	display: block;
	margin: 4px 0 10px;
	font-family: "Protest Strike", sans-serif;
	font-size: 14px;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--cwc-charcoal);
}
.cwc-s__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cwc-s__chip {
	padding: 8px 16px;
	border-radius: 50px;
	background: #fff;
	color: var(--cwc-charcoal) !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background .2s ease, color .2s ease;
}
.cwc-s__chip:hover { background: var(--cwc-red); color: #fff !important; }
.cwc-s.has-results .cwc-s__popular { display: none; }

/* results */
.cwc-s__results:empty { display: none; }
.cwc-s__list {
	list-style: none;
	margin: 0 !important;
	padding: 6px !important;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .05);
}
.cwc-s__item { margin: 0 !important; }
.cwc-s__item + .cwc-s__item { border-top: 1px solid #F0F0F0; }
.cwc-s__link {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 12px;
	border-radius: 12px;
	color: var(--cwc-charcoal) !important;
	text-decoration: none !important;
	transition: background .15s ease;
}
.cwc-s__link:hover,
.cwc-s__link.is-active { background: #F6F6F6; }
.cwc-s__link.is-active { box-shadow: inset 3px 0 0 var(--cwc-red); }
.cwc-s__thumb {
	width: 56px !important;
	height: 56px !important;
	flex: none;
	object-fit: contain;
	border-radius: 10px;
	background: #F4F4F4;
	padding: 4px;
	box-sizing: border-box;
}
.cwc-s__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.cwc-s__title {
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.cwc-s__title mark { background: #FDE7E9; color: var(--cwc-red); padding: 0 2px; border-radius: 3px; }
.cwc-s__meta { font-size: 12px; color: #8E8E8E; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cwc-s__price {
	flex: none;
	font-family: "Protest Strike", sans-serif;
	font-size: 16px;
	color: var(--cwc-charcoal);
	white-space: nowrap;
	text-align: right;
}
.cwc-s__price del { color: #9A9A9A; font-size: 12px; margin-right: 4px; }
.cwc-s__price ins { text-decoration: none; color: var(--cwc-red); }
.cwc-s__price .screen-reader-text { display: none; }
.cwc-s__from { font-family: inherit; font-size: 11px; color: #8E8E8E; text-transform: uppercase; letter-spacing: .3px; }
.cwc-s__all {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 12px;
	padding: 14px 18px;
	border-radius: 50px;
	background: var(--cwc-red);
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	transition: filter .2s ease;
}
.cwc-s__all:hover { filter: brightness(.92); }
.cwc-s__all strong { font-weight: 700; }
.cwc-s__arrow { transition: transform .2s ease; }
.cwc-s__all:hover .cwc-s__arrow { transform: translateX(3px); }

/* nothing found */
.cwc-s__empty { background: #fff; border-radius: 16px; padding: 26px 22px; text-align: center; }
.cwc-s__empty-msg { margin: 0 0 14px !important; font-size: 15px; color: var(--cwc-charcoal); }
.cwc-s__empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.cwc-s__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 22px !important;
	border: 0 !important;
	border-radius: 50px !important;
	background: var(--cwc-charcoal) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: filter .2s ease;
}
.cwc-s__btn--red { background: var(--cwc-red) !important; }
.cwc-s__btn:hover { filter: brightness(.9); }

/* round search button: [cwc_search_icon] */
.cwc-search-btn {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: var(--cwc-charcoal) !important;
	color: #fff !important;
	cursor: pointer;
	transition: background .2s ease;
}
.cwc-search-btn:hover { background: var(--cwc-red) !important; }

/* inline dropdown under #gsearch fields */
.cwc-s-inline { position: relative; width: 100%; }
.cwc-s-inline__drop {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 9999;
	display: none;
	max-height: 70vh;
	overflow-y: auto;
	padding: 8px;
	background: #F2F2F2;
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .15);
}
.cwc-s-inline__drop.is-open { display: block; }

@media (max-width: 767px) {
	.cwc-s__panel { bottom: 0; border-radius: 0; }
	.cwc-s__inner { padding: 16px 14px 12px; gap: 8px; }
	.cwc-s__input { height: 52px !important; font-size: 16px !important; padding: 0 84px 0 46px !important; }
	.cwc-s__icon { left: 16px; }
	.cwc-s__close { width: 44px; height: 44px; }
	.cwc-s__body { padding: 0 14px 20px; flex: 1; }
	.cwc-s__link { gap: 10px; padding: 10px 8px; }
	.cwc-s__thumb { width: 48px !important; height: 48px !important; }
	.cwc-s__title { font-size: 13.5px; }
	.cwc-s__price { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.cwc-s__panel, .cwc-s__backdrop { transition: none; }
}

/* Pine AI chat widget (kept from your previous search snippet) */
kosha-shopping-assistant [slot="chat-header"] > div:first-child {
	width: 100% !important;
	background: transparent;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
kosha-shopping-assistant [slot="chat-header"] img { height: 60px; margin-right: 0 !important; }
kosha-shopping-assistant [slot="chat-footer"] {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .25rem;
	font-size: 11px;
	color: #9ca3af;
	padding: 1rem;
}
.chat-footer.has-content { padding: 0 !important; }

/* =========================================================
   My Account (body.cwc-account-page)
   ========================================================= */
body.cwc-account-page,
body.cwc-account-page .site-content { background: #EBEBEB; }
.cwc-account-page #primary { margin-top: 40px !important; margin-bottom: 70px !important; }
.cwc-account-page article.page,
.cwc-account-page .ast-article-single,
.cwc-account-page .ast-article-post { background: transparent !important; padding: 0 !important; box-shadow: none !important; border: 0 !important; }
.cwc-account-page .woocommerce *,
.cwc-acc-head * { box-sizing: border-box; }

/* page header */
.cwc-acc-head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 26px; }
.cwc-acc-head__title {
	margin: 0 !important;
	font-family: "Protest Strike", sans-serif !important;
	font-weight: 400 !important;
	font-size: 42px !important;
	line-height: 1 !important;
	text-transform: uppercase;
	color: var(--cwc-charcoal) !important;
}
.cwc-acc-head__sub { margin: 10px 0 0 !important; font-size: 15px; color: #5A5A5A; max-width: 620px; }
.cwc-acc-head__user { display: inline-flex; align-items: center; gap: 10px; background: #fff; border-radius: 50px; padding: 6px 8px 6px 6px; }
.cwc-acc-head__avatar {
	width: 34px; height: 34px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--cwc-red); color: #fff;
	font-family: "Protest Strike", sans-serif; font-size: 16px;
}
.cwc-acc-head__name { font-weight: 700; font-size: 14px; color: var(--cwc-charcoal); }
.cwc-acc-head__logout {
	padding: 7px 14px; border-radius: 50px; background: #F2F2F2;
	color: var(--cwc-charcoal) !important; font-size: 13px; font-weight: 600; text-decoration: none !important;
	transition: background .2s ease, color .2s ease;
}
.cwc-acc-head__logout:hover { background: var(--cwc-red); color: #fff !important; }

/* shared form controls + buttons */
.cwc-account-page .woocommerce form .form-row,
.cwc-account-page .woocommerce form .woocommerce-form-row { display: block; margin: 0 0 14px; padding: 0; float: none; width: 100%; }
.cwc-account-page .woocommerce form .form-row-first,
.cwc-account-page .woocommerce form .form-row-last { width: calc(50% - 7px); display: inline-block; vertical-align: top; }
.cwc-account-page .woocommerce form .form-row-first { margin-right: 10px; }
.cwc-account-page .woocommerce form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 5px; line-height: 1.5; color: inherit; }
.cwc-account-page .woocommerce form .required { color: var(--cwc-red); text-decoration: none; border: 0; }
.cwc-account-page .woocommerce form .input-text,
.cwc-account-page .woocommerce form input[type="email"],
.cwc-account-page .woocommerce form input[type="password"],
.cwc-account-page .woocommerce form input[type="text"],
.cwc-account-page .woocommerce form input[type="tel"],
.cwc-account-page .woocommerce form select,
.cwc-account-page .woocommerce form textarea,
.cwc-account-page .select2-container .select2-selection--single {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px !important;
	border: 1px solid #D9D9D9 !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--cwc-charcoal) !important;
	font-size: 14px !important;
	box-shadow: none !important;
}
.cwc-account-page .select2-container .select2-selection--single { height: 48px !important; display: flex; align-items: center; }
.cwc-account-page .select2-container .select2-selection__arrow { height: 46px !important; }
.cwc-account-page .woocommerce form .input-text:focus,
.cwc-account-page .woocommerce form select:focus,
.cwc-account-page .woocommerce form textarea:focus { border-color: var(--cwc-red) !important; outline: none; }
.cwc-account-page .password-input { display: block; position: relative; }
.cwc-account-page .show-password-input { top: 50% !important; transform: translateY(-50%); right: 12px !important; }
.cwc-account-page .woocommerce form .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; cursor: pointer; }
.cwc-account-page .woocommerce form input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--cwc-red); margin: 0; }
.cwc-account-page .woocommerce a.button,
.cwc-account-page .woocommerce button.button,
.cwc-account-page .woocommerce input.button,
.cwc-account-page .woocommerce .woocommerce-Button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: 0 !important;
	border-radius: 50px !important;
	background: var(--cwc-red) !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	padding: 13px 26px !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: none !important;
	transition: filter .2s ease;
	float: none;
}
.cwc-account-page .woocommerce a.button:hover,
.cwc-account-page .woocommerce button.button:hover,
.cwc-account-page .woocommerce .woocommerce-Button:hover { filter: brightness(.9); }
.cwc-account-page h2, .cwc-account-page h3, .cwc-account-page legend {
	font-family: "Protest Strike", sans-serif !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	letter-spacing: .3px;
	color: var(--cwc-charcoal);
}

/* ---- logged out: sign in + create account ---- */
.cwc-account--out .cwc-acc-body > .woocommerce { max-width: 1100px; }
.cwc-account--out #customer_login {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 24px;
	align-items: stretch;
	margin: 0;
}
.cwc-account--out #customer_login::before,
.cwc-account--out #customer_login::after { display: none !important; }
.cwc-account--out #customer_login > .u-column1,
.cwc-account--out #customer_login > .u-column2 {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	border-radius: 16px;
	padding: 32px 30px;
}
.cwc-account--out #customer_login > .u-column1 { background: #fff; }
.cwc-account--out #customer_login > .u-column2 { background: var(--cwc-charcoal); color: #fff; position: relative; overflow: hidden; isolation: isolate; }
.cwc-account--out #customer_login > .u-column2::after {
	content: "";
	position: absolute;
	right: -40px;
	bottom: -50px;
	width: 220px;
	height: 220px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3C/svg%3E") no-repeat center / contain;
	opacity: .06;
	transform: rotate(-12deg);
	z-index: -1;
	pointer-events: none;
}
.cwc-account--out #customer_login h2 { font-size: 28px !important; margin: 0 0 18px !important; }
.cwc-account--out #customer_login > .u-column2 h2 { color: #fff !important; }
.cwc-account--out #customer_login form { border: 0 !important; padding: 0 !important; margin: 0 !important; }
.cwc-account--out #customer_login > .u-column2 p,
.cwc-account--out #customer_login > .u-column2 label { color: #E0E0E0; }
.cwc-account--out #customer_login > .u-column2 a { color: #fff !important; text-decoration: underline; }
.cwc-account--out #customer_login > .u-column2 .woocommerce-privacy-policy-text p { font-size: 12.5px; color: #BDBDBD; }
.cwc-account-page .woocommerce-form-login__rememberme { margin-bottom: 14px !important; display: inline-flex !important; }
.cwc-account-page .woocommerce-form-login__submit,
.cwc-account-page .woocommerce-form-register__submit { width: 100%; margin: 4px 0 0 !important; padding: 15px 26px !important; font-size: 15px !important; }
.cwc-account--out #customer_login > .u-column2 .woocommerce-form-register__submit { background: #fff !important; color: var(--cwc-charcoal) !important; }
.cwc-account-page .woocommerce-LostPassword { margin: 14px 0 0 !important; text-align: center; }
.cwc-account-page .woocommerce-LostPassword a { color: var(--cwc-red) !important; font-weight: 600; font-size: 13.5px; }
.cwc-acc-benefits { list-style: none; margin: -4px 0 20px !important; padding: 0 !important; }
.cwc-acc-benefits li {
	position: relative;
	padding: 0 0 0 28px;
	margin: 0 0 9px !important;
	font-size: 14px;
	color: #E0E0E0;
}
.cwc-acc-benefits li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--cwc-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 12px 12px;
}
/* registration off: a single centered sign-in card */
.cwc-account--out .cwc-acc-body > .woocommerce > form.woocommerce-form-login,
.cwc-account--out .cwc-acc-body > .woocommerce > form.woocommerce-ResetPassword,
.cwc-account--out .cwc-acc-body > .woocommerce > form.lost_reset_password {
	max-width: 520px;
	background: #fff;
	border: 0 !important;
	border-radius: 16px !important;
	padding: 32px 30px !important;
	margin: 0 !important;
}
.cwc-account--out .cwc-acc-body > .woocommerce > h2 { font-size: 28px !important; margin: 0 0 14px !important; }
.cwc-account-page form.woocommerce-ResetPassword > p:first-child { color: #5A5A5A; font-size: 14px; margin-bottom: 18px; }

/* ---- logged in: sidebar + content ---- */
.cwc-account--in .cwc-acc-body > .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}
.cwc-account--in .cwc-acc-body > .woocommerce::before,
.cwc-account--in .cwc-acc-body > .woocommerce::after { display: none !important; }
.cwc-account--in .cwc-acc-body > .woocommerce > *:not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
.cwc-account-page .woocommerce-MyAccount-navigation,
.cwc-account-page .woocommerce-MyAccount-content { float: none !important; width: auto !important; margin: 0 !important; min-width: 0; }

.cwc-account-page .woocommerce-MyAccount-navigation {
	position: sticky;
	top: calc(24px + var(--wp-admin--admin-bar--height, 0px));
	background: #fff;
	border-radius: 16px;
	padding: 10px;
}
.cwc-account-page .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.cwc-account-page .woocommerce-MyAccount-navigation li { margin: 0 0 2px !important; padding: 0 !important; border: 0 !important; }
.cwc-account-page .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px !important;
	border-radius: 10px;
	color: var(--cwc-charcoal) !important;
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background .15s ease, color .15s ease;
}
.cwc-account-page .woocommerce-MyAccount-navigation li a::before {
	content: "";
	width: 20px;
	height: 20px;
	flex: none;
	background-color: currentColor;
	opacity: .85;
	-webkit-mask: var(--cwc-ico, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")) no-repeat center / contain;
	        mask: var(--cwc-ico, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")) no-repeat center / contain;
}
.cwc-account-page .woocommerce-MyAccount-navigation li a:hover { background: #F4F4F4; color: var(--cwc-red) !important; }
.cwc-account-page .woocommerce-MyAccount-navigation li.is-active a { background: var(--cwc-red); color: #fff !important; }
.cwc-account-page .woocommerce-MyAccount-navigation li.is-active a::before { opacity: 1; }
.cwc-account-page .woocommerce-MyAccount-navigation-link--customer-logout { border-top: 1px solid #EEE !important; margin-top: 6px !important; padding-top: 6px !important; }
.cwc-account-page .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--cwc-red) !important; }
.cwc-account-page .woocommerce-MyAccount-navigation-link--dashboard { --cwc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h7v7H4zM13 4h7v4h-7zM13 10h7v10h-7zM4 13h7v7H4z' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.cwc-account-page .woocommerce-MyAccount-navigation-link--orders { --cwc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h12l2 4v13H4V7zM4 7h16M9 11h6' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E"); }
.cwc-account-page .woocommerce-MyAccount-navigation-link--downloads { --cwc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.cwc-account-page .woocommerce-MyAccount-navigation-link--edit-address { --cwc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='9.5' r='2.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E"); }
.cwc-account-page .woocommerce-MyAccount-navigation-link--payment-methods { --cwc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M3 10h18M7 15h4' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.cwc-account-page .woocommerce-MyAccount-navigation-link--edit-account { --cwc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.cwc-account-page .woocommerce-MyAccount-navigation-link--customer-logout { --cwc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 4h4v16h-4M10 16l4-4-4-4M14 12H4' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

/* content cards */
.cwc-account-page .woocommerce-MyAccount-content > .woocommerce-orders-table,
.cwc-account-page .woocommerce-MyAccount-content > form,
.cwc-account-page .woocommerce-MyAccount-content > .woocommerce-order-details,
.cwc-account-page .woocommerce-MyAccount-content > .woocommerce-customer-details,
.cwc-account-page .woocommerce-MyAccount-content > section,
.cwc-account-page .woocommerce-MyAccount-content > .woocommerce-Addresses .woocommerce-Address,
.cwc-account-page .woocommerce-MyAccount-content > table {
	background: #fff;
	border-radius: 16px;
	padding: 24px 26px;
	border: 0 !important;
	margin: 0 0 20px !important;
}
.cwc-account-page .woocommerce-MyAccount-content > p { font-size: 14.5px; }
.cwc-account-page .woocommerce-MyAccount-content fieldset { border: 0; padding: 0; margin: 18px 0 0; }
.cwc-account-page .woocommerce-MyAccount-content legend { font-size: 20px; margin-bottom: 12px; padding: 0; }
.cwc-account-page .woocommerce-MyAccount-content h2 { font-size: 24px !important; margin: 0 0 14px !important; }
.cwc-account-page .woocommerce-MyAccount-content h3 { font-size: 20px !important; }
.cwc-account-page .woocommerce-MyAccount-content em { font-size: 12.5px; color: #8E8E8E; }

/* tables (orders, order details) */
.cwc-account-page table.shop_table { width: 100%; border-collapse: collapse; border: 0 !important; border-radius: 0 !important; }
.cwc-account-page table.shop_table th {
	font-family: "Protest Strike", sans-serif;
	font-weight: 400 !important;
	font-size: 14px;
	letter-spacing: .3px;
	text-transform: uppercase;
	text-align: left;
	color: var(--cwc-charcoal);
	border: 0 !important;
	padding: 12px 10px !important;
	background: none !important;
}
.cwc-account-page table.shop_table td {
	border: 0 !important;
	border-top: 1px solid #EEE !important;
	padding: 14px 10px !important;
	vertical-align: middle;
	background: none !important;
}
.cwc-account-page .woocommerce-orders-table__cell-order-number a { color: var(--cwc-charcoal) !important; font-weight: 700; text-decoration: none !important; }
.cwc-account-page .woocommerce-orders-table__cell-order-number a:hover { color: var(--cwc-red) !important; }
.cwc-account-page .woocommerce-orders-table__cell-order-actions { text-align: right !important; white-space: nowrap; }
.cwc-account-page .woocommerce-orders-table__cell-order-actions .button { padding: 9px 16px !important; font-size: 13px !important; margin: 2px 0 2px 6px !important; }
.cwc-account-page .woocommerce-orders-table__cell-order-actions .button:not(.view) { background: var(--cwc-charcoal) !important; }
.cwc-account-page .woocommerce-pagination { display: flex; justify-content: space-between; gap: 10px; }
.cwc-account-page .woocommerce-pagination .button { background: var(--cwc-charcoal) !important; }
.cwc-account-page table.order_details tfoot th,
.cwc-account-page table.order_details tfoot td { font-weight: 600; }
.cwc-account-page table.order_details tfoot tr:last-child .amount { font-family: "Protest Strike", sans-serif; font-size: 22px; }
.cwc-account-page .woocommerce-MyAccount-content mark { background: #FDE7E9; color: var(--cwc-red); padding: 1px 6px; border-radius: 4px; font-weight: 600; }

/* status badges */
.cwc-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 11px;
	border-radius: 50px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	background: #EFEFEF;
	color: #555;
}
.cwc-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.cwc-status--completed { background: #E8F7EC; color: #1E7A35; }
.cwc-status--processing { background: #E9F1FD; color: #1D5FC2; }
.cwc-status--on-hold { background: #FFF4E0; color: #A86400; }
.cwc-status--pending { background: #F1F1F1; color: #6B6B6B; }
.cwc-status--failed,
.cwc-status--cancelled { background: #FDE7E9; color: var(--cwc-red); }
.cwc-status--refunded { background: #F1ECFB; color: #6A3FB5; }

/* addresses */
.cwc-account-page .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 18px 0 0; }
.cwc-account-page .woocommerce-Addresses::before,
.cwc-account-page .woocommerce-Addresses::after { display: none !important; }
.cwc-account-page .woocommerce-Addresses .woocommerce-Address { float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; }
.cwc-account-page .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.cwc-account-page .woocommerce-Address-title::before,
.cwc-account-page .woocommerce-Address-title::after { display: none !important; }
.cwc-account-page .woocommerce-Address-title h2,
.cwc-account-page .woocommerce-Address-title h3 { margin: 0 !important; font-size: 20px !important; }
.cwc-account-page .woocommerce-Address-title .edit {
	float: none !important;
	padding: 7px 14px;
	border-radius: 50px;
	background: #F2F2F2;
	color: var(--cwc-charcoal) !important;
	font-size: 12.5px;
	font-weight: 700;
	text-decoration: none !important;
}
.cwc-account-page .woocommerce-Address-title .edit:hover { background: var(--cwc-red); color: #fff !important; }
.cwc-account-page .woocommerce-Address address { font-style: normal; line-height: 1.7; color: #4A4A4A; font-size: 14px; }

/* ---- dashboard ---- */
.cwc-dash { display: flex; flex-direction: column; gap: 20px; margin-bottom: 20px; }
.cwc-dash__welcome {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	background: var(--cwc-red);
	color: #fff;
	border-radius: 16px;
	padding: 28px 30px;
}
.cwc-dash__hello { margin: 0 !important; font-size: 13px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: #FFD3D7; }
.cwc-dash__name { margin: 4px 0 8px !important; font-size: 36px !important; line-height: 1 !important; color: #fff !important; text-transform: none !important; }
.cwc-dash__lead { margin: 0 !important; color: #FFE9EB; font-size: 14.5px; max-width: 460px; }
.cwc-dash__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 22px;
	border-radius: 50px;
	background: #fff;
	color: var(--cwc-charcoal) !important;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none !important;
	white-space: nowrap;
	transition: transform .15s ease;
}
.cwc-dash__cta:hover { transform: translateY(-1px); }
.cwc-dash__cta--dark { background: var(--cwc-charcoal); color: #fff !important; }
.cwc-dash__tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; }
.cwc-dash__tile {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px;
	background: #fff;
	border-radius: 14px;
	color: var(--cwc-charcoal) !important;
	text-decoration: none !important;
	transition: transform .15s ease, box-shadow .2s ease;
}
.cwc-dash__tile:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0, 0, 0, .08); }
.cwc-dash__tile-icon {
	width: 44px;
	height: 44px;
	margin-bottom: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #FDE7E9;
	color: var(--cwc-red);
	transition: background .2s ease, color .2s ease;
}
.cwc-dash__tile:hover .cwc-dash__tile-icon { background: var(--cwc-red); color: #fff; }
.cwc-dash__tile-title { font-family: "Protest Strike", sans-serif; font-size: 17px; letter-spacing: .3px; text-transform: uppercase; }
.cwc-dash__tile-sub { font-size: 12.5px; color: #8E8E8E; }
.cwc-dash__card { background: #fff; border-radius: 16px; padding: 22px 24px; }
.cwc-dash__card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.cwc-dash__card-head h3 { margin: 0 !important; font-size: 20px !important; }
.cwc-dash__card-head a { color: var(--cwc-red) !important; font-weight: 700; font-size: 13.5px; text-decoration: none !important; }
.cwc-dash__orders { list-style: none; margin: 0 !important; padding: 0 !important; }
.cwc-dash__order {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto auto;
	align-items: center;
	gap: 14px;
	padding: 14px 0;
	border-top: 1px solid #EEE;
	margin: 0 !important;
}
.cwc-dash__order-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cwc-dash__order-no { color: var(--cwc-charcoal) !important; font-weight: 700; text-decoration: none !important; }
.cwc-dash__order-no:hover { color: var(--cwc-red) !important; }
.cwc-dash__order-meta { font-size: 12.5px; color: #8E8E8E; }
.cwc-dash__order-total { font-family: "Protest Strike", sans-serif; font-size: 17px; white-space: nowrap; }
.cwc-dash__order-view {
	padding: 8px 16px;
	border-radius: 50px;
	background: #F2F2F2;
	color: var(--cwc-charcoal) !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
}
.cwc-dash__order-view:hover { background: var(--cwc-red); color: #fff !important; }
.cwc-dash__empty { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding-top: 8px; }
.cwc-dash__empty p { margin: 0 !important; color: #5A5A5A; }
.cwc-dash__help {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	background: var(--cwc-charcoal);
	color: #fff;
	border-radius: 16px;
	padding: 20px 24px;
}
.cwc-dash__help-icon {
	width: 46px;
	height: 46px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--cwc-red);
	color: #fff;
}
.cwc-dash__help-text { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 2px; }
.cwc-dash__help-text strong { font-family: "Protest Strike", sans-serif; font-weight: 400; font-size: 18px; letter-spacing: .3px; }
.cwc-dash__help-text span { color: #BDBDBD; font-size: 13.5px; }
.cwc-dash__help-btn {
	padding: 12px 20px;
	border-radius: 50px;
	background: #fff;
	color: var(--cwc-charcoal) !important;
	font-weight: 700;
	text-decoration: none !important;
	white-space: nowrap;
}
.cwc-dash__help-btn:hover { background: #FDE7E9; }

/* ---- tablet / phone ---- */
@media (max-width: 1024px) {
	.cwc-account--in .cwc-acc-body > .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.cwc-account-page .woocommerce-MyAccount-navigation { position: relative; top: auto; padding: 6px; overflow-x: auto; scrollbar-width: none; }
	.cwc-account-page .woocommerce-MyAccount-navigation::-webkit-scrollbar { display: none; }
	.cwc-account-page .woocommerce-MyAccount-navigation ul { display: flex; gap: 4px; }
	.cwc-account-page .woocommerce-MyAccount-navigation li { margin: 0 !important; flex: none; }
	.cwc-account-page .woocommerce-MyAccount-navigation li a { white-space: nowrap; padding: 10px 14px !important; font-size: 13.5px; }
	.cwc-account-page .woocommerce-MyAccount-navigation-link--customer-logout { border-top: 0 !important; margin-top: 0 !important; padding-top: 0 !important; }
}
@media (max-width: 767px) {
	.cwc-account-page #primary { margin-top: 24px !important; }
	.cwc-acc-head { flex-direction: column; align-items: flex-start; }
	.cwc-acc-head__title { font-size: 32px !important; }
	.cwc-account--out #customer_login { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.cwc-account--out #customer_login > .u-column1,
	.cwc-account--out #customer_login > .u-column2 { padding: 24px 20px; }
	.cwc-account-page .woocommerce form .form-row-first,
	.cwc-account-page .woocommerce form .form-row-last { width: 100%; margin-right: 0; display: block; }
	.cwc-account-page .woocommerce-MyAccount-content > .woocommerce-orders-table,
	.cwc-account-page .woocommerce-MyAccount-content > form,
	.cwc-account-page .woocommerce-MyAccount-content > section,
	.cwc-account-page .woocommerce-MyAccount-content > .woocommerce-Addresses .woocommerce-Address,
	.cwc-account-page .woocommerce-MyAccount-content > table { padding: 18px 16px; }
	.cwc-account-page .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
	.cwc-dash__welcome { padding: 22px 20px; }
	.cwc-dash__name { font-size: 30px !important; }
	.cwc-dash__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.cwc-dash__tile { padding: 14px; }
	.cwc-dash__order { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; }
	.cwc-dash__order .cwc-status { grid-column: 1; justify-self: start; }
	.cwc-dash__order-total { grid-column: 2; grid-row: 1; text-align: right; }
	.cwc-dash__order-view { grid-column: 2; grid-row: 2; justify-self: end; }
	/* orders table as cards */
	.cwc-account-page table.woocommerce-orders-table thead { display: none; }
	.cwc-account-page table.woocommerce-orders-table,
	.cwc-account-page table.woocommerce-orders-table tbody { display: block; }
	.cwc-account-page table.woocommerce-orders-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; padding: 14px 0; border-top: 1px solid #EEE; }
	.cwc-account-page table.woocommerce-orders-table tr:first-child { border-top: 0; }
	.cwc-account-page table.woocommerce-orders-table td { display: block; border: 0 !important; padding: 0 !important; text-align: left !important; }
	.cwc-account-page table.woocommerce-orders-table td::before { display: none !important; }
	.cwc-account-page .woocommerce-orders-table__cell-order-date { color: #8E8E8E; font-size: 13px; }
	.cwc-account-page .woocommerce-orders-table__cell-order-status { grid-column: 2; grid-row: 1; justify-self: end; }
	.cwc-account-page .woocommerce-orders-table__cell-order-total { font-size: 13px; }
	.cwc-account-page .woocommerce-orders-table__cell-order-actions { grid-column: 1 / -1; text-align: left !important; }
	.cwc-account-page .woocommerce-orders-table__cell-order-actions .button { margin: 6px 6px 0 0 !important; }
}

/* account fixes: table cards keep their padding/radius, greeting size, register note */
.cwc-account-page .woocommerce-MyAccount-content table.shop_table { border-collapse: separate !important; border-spacing: 0; overflow: hidden; }
.cwc-account-page .woocommerce-MyAccount-content > table.shop_table { padding: 10px 18px !important; border-radius: 16px !important; }
.cwc-account-page .cwc-dash .cwc-dash__name { font-size: 36px !important; margin: 4px 0 8px !important; }
.cwc-account--out #customer_login p:not(.form-row):not(.woocommerce-LostPassword) { font-size: 13.5px; line-height: 1.55; }
@media (max-width: 767px) {
	.cwc-account-page .cwc-dash .cwc-dash__name { font-size: 30px !important; }
	.cwc-account-page .woocommerce-MyAccount-content > table.shop_table { padding: 6px 16px !important; }
}

/* ---------- SVG arrows (CWC_Icons::arrow) ---------- */
.cwc-arrow { display: inline-block; flex: none; vertical-align: -0.18em; transition: transform .2s ease; }
a:hover > .cwc-arrow--right,
button:hover > .cwc-arrow--right,
a:hover .cwc-s__arrow .cwc-arrow { transform: translateX(3px); }
a:hover > .cwc-arrow--left { transform: translateX(-3px); }
.cwc-mm__btn .cwc-arrow,
.cwc-dash__cta .cwc-arrow,
.cwc-sp__quote a .cwc-arrow,
.cwc-dash__card-head a .cwc-arrow { margin-left: 2px; }
.cwc-form__submit .cwc-arrow { width: 18px; height: 18px; }
.cwc-s__arrow { display: inline-flex; }
/* carousel prev / next: chevrons centred in the round buttons */
.cwc-pc__nav { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.cwc-pc__nav .cwc-arrow { vertical-align: 0; }
/* pagination arrows */
.cwc-pager .prev .cwc-arrow,
.cwc-pager .next .cwc-arrow { width: 16px; height: 16px; vertical-align: 0; }
/* testimonial tab: the text arrow from the template is drawn as an SVG */
.cwc-ttab__arrow {
	width: 14px;
	height: 14px;
	display: inline-block !important;
	font-size: 0 !important;
	line-height: 0;
	vertical-align: middle;
	position: relative;
	top: -1px;
	background-color: var(--cwc-red);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* register form: fixed order whatever order plugins output the fields in */
.cwc-account-page form.woocommerce-form-register { display: flex !important; flex-direction: column; }
.cwc-account-page form.woocommerce-form-register > * { order: 2; }
.cwc-account-page form.woocommerce-form-register > .cwc-acc-benefits { order: 1; }
.cwc-account-page form.woocommerce-form-register > .woocommerce-privacy-policy-text { order: 8; margin-bottom: 6px; }
.cwc-account-page form.woocommerce-form-register > :has(.woocommerce-form-register__submit),
.cwc-account-page form.woocommerce-form-register > .woocommerce-form-register__submit,
.cwc-account-page form.woocommerce-form-register > button[type="submit"],
.cwc-account-page form.woocommerce-form-register > input[type="submit"] { order: 10; margin-top: 6px !important; margin-bottom: 0 !important; }
.cwc-account-page form.woocommerce-form-register > input[type="hidden"] { order: 11; }
/* side-by-side pairs (e.g. first / last name) stay side by side */
.cwc-account-page form.woocommerce-form-register > .form-row-first,
.cwc-account-page form.woocommerce-form-register > .form-row-last { width: 100% !important; margin-right: 0 !important; }

/* ---------- Contact page ---------- */
.cwc-contact-card .elementor-widget-text-editor a { overflow-wrap: anywhere; word-break: break-word; }
.cwc-contact-card .elementor-widget-text-editor a:hover { opacity: .85; }
.cwc-contact-card .elementor-icon { box-shadow: 0 6px 16px rgba(0,0,0,.12); }
.cwc-break a { overflow-wrap: anywhere; }
.cwc-contact-phone a { color: inherit; text-decoration: none; }
.cwc-contact-phone a:hover { color: #B01422; }
.cwc-contact-map { position: relative; overflow: hidden; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.cwc-contact-map iframe { display: block; filter: grayscale(.2); }
@media (max-width: 767px) {
	.cwc-contact-card { text-align: center; }
}

/* ---------- FAQ accordion (class "cwc-faq" on Elementor's Accordion widget) ---------- */
.cwc-faq .elementor-accordion { display: flex; flex-direction: column; gap: 12px; }
.cwc-faq .elementor-accordion .elementor-accordion-item { border: 1px solid #E6E6E6 !important; border-radius: 12px; background: #fff; overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.cwc-faq .elementor-accordion .elementor-accordion-item + .elementor-accordion-item { border-top: 1px solid #E6E6E6 !important; }
.cwc-faq .elementor-accordion .elementor-accordion-item:hover { border-color: #D0D0D0 !important; }
.cwc-faq .elementor-accordion .elementor-accordion-item:has(.elementor-active) { border-color: #D7192B !important; box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.cwc-faq .elementor-tab-title { display: flex; align-items: center; gap: 16px; border: 0 !important; cursor: pointer; }
.cwc-faq .elementor-tab-title a { flex: 1; color: inherit; text-decoration: none; }
.cwc-faq .elementor-accordion-icon { order: 2; flex: none; display: inline-flex !important; align-items: center; justify-content: center; width: 30px !important; height: 30px; border-radius: 50%; background: #FDECEE; font-size: 12px; }
.cwc-faq .elementor-tab-content { border: 0 !important; }
.cwc-faq .elementor-tab-content a { color: #D7192B; text-decoration: underline; }
.cwc-faq .elementor-tab-content strong { color: #2B2B2B; }

/* ---------- Supply cards (Detailing & Prep page) ---------- */
.cwc-supply-card .elementor-widget-text-editor strong { color: #FFFFFF; font-weight: 600; }

/* [cwc_products columns="N"] – cards per row on desktop */
@media (min-width: 1025px) {
	.cwc-pc.cwc-pc--cols-2 { --cwc-pc-cols: 2; }
	.cwc-pc.cwc-pc--cols-3 { --cwc-pc-cols: 3; }
	.cwc-pc.cwc-pc--cols-4 { --cwc-pc-cols: 4; }
	.cwc-pc.cwc-pc--cols-5 { --cwc-pc-cols: 5; }
	.cwc-pc.cwc-pc--cols-6 { --cwc-pc-cols: 6; }
}
.cwc-pc__note { padding: 14px 18px; border: 1px dashed #D7192B; border-radius: 10px; color: #D7192B; font-size: 14px; }

/* ---------- Tabs built in Elementor (.cwc-tabs / .cwc-tab / .cwc-tab-panel) ---------- */
.cwc-tabs .cwc-tab .elementor-button { background: #EDEDED !important; color: #2B2B2B !important; transition: background .2s, color .2s; }
.cwc-tabs .cwc-tab .elementor-button:hover { background: #E0E0E0 !important; }
.cwc-tabs .cwc-tab.is-active .elementor-button { background: #D7192B !important; color: #fff !important; }
.cwc-tabs .cwc-tab .elementor-button:focus-visible { outline: 2px solid #D7192B; outline-offset: 2px; }
.cwc-tabs .cwc-tab-panel[hidden] { display: none !important; }
.cwc-tabs:not(.cwc-tabs--ready) .cwc-tab-panel ~ .cwc-tab-panel { display: none; } /* before JS: first panel only */
.cwc-tabs .cwc-tab-panel.is-active { animation: cwcTabIn .25s ease; }
@keyframes cwcTabIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
/* Elementor editor: show every panel so all of them can be edited */
.elementor-editor-active .cwc-tabs .cwc-tab-panel { display: flex !important; animation: none; }
.elementor-editor-active .cwc-tabs .cwc-tab-panel + .cwc-tab-panel { margin-top: 30px; padding-top: 30px; border-top: 2px dashed #D0D0D0; }
@media (max-width: 767px) {
	.cwc-tabs .cwc-tab-list { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; width: 100%; }
	.cwc-tabs .cwc-tab-list::-webkit-scrollbar { display: none; }
	.cwc-tabs .cwc-tab { flex: none !important; }
}

/* ---------- [cwc_posts] blog cards ---------- */
.cwc-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: 100%; }
.cwc-post { display: flex; flex-direction: column; background: #fff; border: 1px solid #E3E3E3; border-radius: 12px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.cwc-post:hover { box-shadow: 0 12px 30px rgba(0,0,0,.08); transform: translateY(-2px); }
.cwc-post__img { display: block; height: 200px; background: #E9E9E9; overflow: hidden; }
.cwc-post__img img, .cwc-post__noimg { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.cwc-post:hover .cwc-post__img img { transform: scale(1.04); }
.cwc-post__body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; flex: 1; padding: 22px 22px 24px; }
.cwc-post__meta { font-size: 11px; font-weight: 800; letter-spacing: .5px; line-height: 2; text-transform: uppercase; }
.cwc-post__cat { background: #FDE7E9; color: #D7192B; padding: 4px 9px; border-radius: 4px; }
.cwc-post__date { color: #8A8A8A; margin-left: 10px; text-transform: none; font-weight: 500; }
.cwc-post__title { margin: 0 !important; font-family: "Protest Strike", sans-serif; font-weight: 400; font-size: 24px; line-height: 1.08; text-transform: uppercase; }
.cwc-post__title a { color: #2B2B2B !important; text-decoration: none; }
.cwc-post__title a:hover { color: #D7192B !important; }
.cwc-post__excerpt { margin: 0 !important; color: #4A4A4A; font-size: 14px; line-height: 1.6; }
.cwc-post__btn { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 50px; background: #D7192B; color: #fff !important; font-size: 13px; font-weight: 600; text-decoration: none; transition: background .2s; }
.cwc-post__btn:hover { background: #B01422; }
.cwc-post__btn .cwc-arrow { transition: transform .2s; }
.cwc-post__btn:hover .cwc-arrow { transform: translateX(3px); }
@media (max-width: 1024px) { .cwc-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .cwc-posts { grid-template-columns: minmax(0, 1fr); } .cwc-post__title { font-size: 22px; } }

/* ---------- Wishlist page (WPC Smart Wishlist) ---------- */
body.cwc-wishlist-page .site-content { background: #EBEBEB; }
.cwc-wl { max-width: 1240px; margin: 0 auto; padding: 44px 24px 80px; box-sizing: border-box; }
.cwc-wl * { box-sizing: border-box; }
.cwc-wl__count { display: inline-block; vertical-align: middle; margin-left: 10px; padding: 5px 12px; border-radius: 50px; background: #fff; color: #D7192B; font-family: "Schibsted Grotesk", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.cwc-wl__count[hidden] { display: none; }
.cwc-wl__shop { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 50px; background: #2B2B2B; color: #fff !important; font-size: 14px; font-weight: 600; text-decoration: none; transition: background .2s; }
.cwc-wl__shop:hover { background: #000; }
.cwc-wl__body { background: #fff; border-radius: 16px; padding: 22px; box-shadow: 0 10px 30px rgba(0,0,0,.04); }
/* items */
.cwc-wl .woosw-list { margin: 0 !important; }
.cwc-wl table.woosw-items, .cwc-wl .woosw-items tbody { display: block; width: 100%; margin: 0 !important; border: 0 !important; border-collapse: separate; background: none; }
.cwc-wl .woosw-items .woosw-item {
	display: grid !important;
	grid-template-columns: 36px 96px minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px;
	padding: 14px 18px;
	margin: 0 0 12px;
	border: 1px solid #E6E6E6 !important;
	border-radius: 14px;
	background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
.cwc-wl .woosw-items .woosw-item:last-child { margin-bottom: 0; }
.cwc-wl .woosw-items .woosw-item:hover { border-color: #D0D0D0 !important; box-shadow: 0 8px 22px rgba(0,0,0,.06); }
.cwc-wl .woosw-items .woosw-item td { display: block; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; }
/* remove */
.cwc-wl .woosw-item--remove span, .cwc-wl .woosw-item--remove a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%;
	background: #F2F2F2; color: #2B2B2B; cursor: pointer; font-size: 14px; line-height: 1;
	transition: background .2s, color .2s;
}
.cwc-wl .woosw-item--remove span:hover, .cwc-wl .woosw-item--remove a:hover { background: #D7192B; color: #fff; }
.cwc-wl .woosw-item--remove span::before { color: inherit !important; }
/* image */
.cwc-wl .woosw-item--image a { display: block; }
.cwc-wl .woosw-item--image img { display: block; width: 96px !important; height: 96px !important; max-width: none; object-fit: contain; background: #F5F5F5; border-radius: 10px; padding: 6px; }
/* info */
.cwc-wl .woosw-item--info { display: flex !important; flex-direction: column; gap: 4px; min-width: 0; }
.cwc-wl .woosw-item--name a { color: #2B2B2B !important; font-size: 16px; font-weight: 700; line-height: 1.35; text-decoration: none !important; }
.cwc-wl .woosw-item--name a:hover { color: #D7192B !important; }
.cwc-wl .woosw-item--price { color: #D7192B; font-size: 15px; font-weight: 700; }
.cwc-wl .woosw-item--price del { color: #9A9A9A; font-weight: 400; margin-right: 6px; }
.cwc-wl .woosw-item--price ins { text-decoration: none; }
.cwc-wl .woosw-item--time { color: #8A8A8A; font-size: 12.5px; }
.cwc-wl .woosw-item--time::before { content: "Added "; }
.cwc-wl .woosw-item--note { font-size: 13px; color: #4A4A4A; }
/* stock + add to cart */
.cwc-wl .woosw-item--actions { display: flex !important; flex-direction: column; align-items: flex-end; gap: 8px; text-align: right; }
.cwc-wl .woosw-item--stock p, .cwc-wl .woosw-item--stock .stock { margin: 0 !important; display: inline-block; padding: 3px 10px; border-radius: 50px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; }
.cwc-wl .woosw-item--stock .in-stock { background: #E8F7EC; color: #1E7A35 !important; }
.cwc-wl .woosw-item--stock .out-of-stock { background: #FDE7E9; color: #B01422 !important; }
.cwc-wl .woosw-item--atc p, .cwc-wl .woosw-item--atc .add_to_cart_inline { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.cwc-wl .woosw-item--atc .button, .cwc-wl .woosw-item--atc a.button, .cwc-wl .woosw-item--atc button {
	display: inline-flex !important; align-items: center; gap: 8px;
	padding: 12px 22px !important; border: 0 !important; border-radius: 50px !important;
	background: #D7192B !important; color: #fff !important;
	font-size: 14px !important; font-weight: 600 !important; line-height: 1.2 !important; white-space: nowrap;
	transition: background .2s;
}
.cwc-wl .woosw-item--atc .button:hover { background: #B01422 !important; }
.cwc-wl .woosw-item--atc .button.loading { opacity: .7; }
.cwc-wl .woosw-item--atc .added_to_cart { display: block; margin-top: 6px; font-size: 13px; font-weight: 600; color: #2B2B2B !important; text-decoration: underline; }
/* share / copy link */
.cwc-wl .woosw-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 18px !important; padding: 16px 18px; border-radius: 14px; background: #F5F5F5; }
.cwc-wl .woosw-share { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; font-weight: 600; color: #2B2B2B; }
.cwc-wl .woosw-share a { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #fff; color: #2B2B2B !important; text-decoration: none; transition: background .2s, color .2s; }
.cwc-wl .woosw-share a:hover { background: #D7192B; color: #fff !important; }
.cwc-wl .woosw-copy { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; flex: 1 1 380px; justify-content: flex-end; }
.cwc-wl .woosw-copy-label { font-size: 13px; font-weight: 700; color: #2B2B2B; }
.cwc-wl .woosw-copy-url { flex: 1 1 220px; max-width: 420px; }
.cwc-wl .woosw-copy-url input { width: 100%; height: 42px; padding: 0 16px !important; border: 1px solid #DCDCDC !important; border-radius: 50px !important; background: #fff !important; color: #4A4A4A !important; font-size: 13px !important; box-shadow: none !important; }
.cwc-wl .woosw-copy-btn input, .cwc-wl input.woosw-copy-btn, .cwc-wl .woosw-copy-btn button {
	height: 42px; padding: 0 22px !important; border: 0 !important; border-radius: 50px !important;
	background: #2B2B2B !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer;
}
.cwc-wl .woosw-copy-btn input:hover, .cwc-wl input.woosw-copy-btn:hover { background: #000 !important; }
/* empty state (ours is shown by cwc.js; the plugin's own notice is hidden) */
.cwc-wl--empty .woosw-list, .cwc-wl--empty .woosw-actions { display: none !important; }
.cwc-wl__empty { padding: 50px 20px; text-align: center; }
.cwc-wl__empty[hidden] { display: none; }
.cwc-wl__empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background: #FDE7E9; color: #D7192B; margin-bottom: 16px; }
.cwc-wl__empty h2 { margin: 0 0 8px !important; font-family: "Protest Strike", sans-serif; font-weight: 400; font-size: 30px; text-transform: uppercase; color: #2B2B2B; }
.cwc-wl__empty p { margin: 0 0 20px !important; color: #5A5A5A; }
.cwc-wl__empty-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: 50px; background: #D7192B; color: #fff !important; font-weight: 600; text-decoration: none; }
.cwc-wl__empty-btn:hover { background: #B01422; }
@media (max-width: 767px) {
	.cwc-wl { padding: 26px 16px 56px; }
	.cwc-wl__body { padding: 12px; }
	.cwc-wl .woosw-items .woosw-item { grid-template-columns: 72px minmax(0, 1fr) 34px; gap: 12px; padding: 12px; }
	.cwc-wl .woosw-item--remove { grid-column: 3; grid-row: 1; align-self: start; }
	.cwc-wl .woosw-item--image { grid-column: 1; grid-row: 1; }
	.cwc-wl .woosw-item--image img { width: 72px !important; height: 72px !important; }
	.cwc-wl .woosw-item--info { grid-column: 2; grid-row: 1; }
	.cwc-wl .woosw-item--actions { grid-column: 1 / -1; grid-row: 2; flex-direction: row; align-items: center; justify-content: space-between; }
	.cwc-wl .woosw-copy { justify-content: flex-start; }
	.cwc-wl .woosw-copy-url { max-width: none; }
}

/* ---------- Enquiry form: optional logo upload ---------- */
.cwc-form__file { position: relative; }
.cwc-form__file-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.cwc-form__file-label {
	display: flex; align-items: center; gap: 12px; width: 100%; min-height: 54px;
	padding: 10px 44px 10px 12px; box-sizing: border-box; cursor: pointer;
	border: 1.5px dashed #CFCFCF; border-radius: 6px; background: #fff;
	transition: border-color .2s, background .2s;
}
.cwc-form__file-label:hover, .cwc-form__file-input:focus-visible + .cwc-form__file-label { border-color: var(--cwc-red); background: #FFF8F8; }
.cwc-form__file-icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #FDE7E9; color: var(--cwc-red); }
.cwc-form__file-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.cwc-form__file-name { font-size: 13px; font-weight: 700; color: var(--cwc-charcoal); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cwc-form__file-hint { font-size: 11.5px; color: #7A7A7A; }
.cwc-form__file.has-file .cwc-form__file-label { border-style: solid; border-color: #2DB24A; background: #F3FBF5; }
.cwc-form__file.has-file .cwc-form__file-icon { background: #E3F5E8; color: #1E7A35; }
.cwc-form__file.has-error .cwc-form__file-label { border-color: var(--cwc-red); }
.cwc-form__file.has-error .cwc-form__file-name { color: var(--cwc-red); white-space: normal; }
.cwc-form__file-clear {
	position: absolute; top: 50%; right: 10px; transform: translateY(-50%);
	width: 26px; height: 26px; padding: 0 !important; border: 0 !important; border-radius: 50% !important;
	background: #EDEDED !important; color: var(--cwc-charcoal) !important; font-size: 16px !important; line-height: 1 !important; cursor: pointer;
}
.cwc-form__file-clear:hover { background: var(--cwc-red) !important; color: #fff !important; }
.cwc-form__file-clear[hidden] { display: none; }

/* ---------- Out-of-stock variation buttons: plain disabled look (no cross) + "Out of stock" on hover ----------
   Variation Swatches for WooCommerce: cwc-product.js swaps the button's own tooltip text to "Out of stock",
   so the plugin's tooltip style is used. Other swatch plugins get a matching tooltip from the rules below. */
.variations .variable-item.disabled,
.variations .variable-item.out-of-stock,
.variations .cfvsw-swatches-option.cfvsw-swatches-disabled,
.variations .cfvsw-swatches-option.cfvsw-swatches-out-of-stock,
.variations .wpcvs-term.wpcvs-disabled,
.variations .wpcvs-term.disabled,
.variations .swatch.disabled,
.variations [class*="swatch"].is-disabled {
	position: relative !important;
	opacity: 1 !important;
	pointer-events: auto !important; /* keep hover for the tooltip; clicks are blocked in cwc-product.js */
	cursor: not-allowed !important;
	background: #F2F2F2 !important;
	border-color: #E2E2E2 !important;
	color: #B0B0B0 !important;
	box-shadow: none !important;
	filter: none !important;
	overflow: visible !important;
}
.variations .variable-item.disabled *,
.variations .variable-item.out-of-stock *,
.variations .cfvsw-swatches-option.cfvsw-swatches-disabled *,
.variations .cfvsw-swatches-option.cfvsw-swatches-out-of-stock *,
.variations .wpcvs-term.wpcvs-disabled *,
.variations .wpcvs-term.disabled *,
.variations .swatch.disabled *,
.variations [class*="swatch"].is-disabled * { color: #B0B0B0 !important; opacity: 1 !important; text-decoration: none !important; }
.variations .variable-item.disabled img,
.variations .variable-item.out-of-stock img,
.variations .cfvsw-swatches-option.cfvsw-swatches-disabled img,
.variations .cfvsw-swatches-option.cfvsw-swatches-out-of-stock img,
.variations .wpcvs-term.wpcvs-disabled img,
.variations .wpcvs-term.disabled img,
.variations .swatch.disabled img,
.variations [class*="swatch"].is-disabled img { opacity: .45 !important; filter: grayscale(1) !important; }
/* remove the cross lines drawn inside the button */
.variations .variable-item.disabled *::before,
.variations .variable-item.out-of-stock *::before,
.variations .cfvsw-swatches-option.cfvsw-swatches-disabled *::before,
.variations .cfvsw-swatches-option.cfvsw-swatches-out-of-stock *::before,
.variations .wpcvs-term.wpcvs-disabled *::before,
.variations .wpcvs-term.disabled *::before,
.variations .swatch.disabled *::before,
.variations [class*="swatch"].is-disabled *::before,
.variations .variable-item.disabled *::after,
.variations .variable-item.out-of-stock *::after,
.variations .cfvsw-swatches-option.cfvsw-swatches-disabled *::after,
.variations .cfvsw-swatches-option.cfvsw-swatches-out-of-stock *::after,
.variations .wpcvs-term.wpcvs-disabled *::after,
.variations .wpcvs-term.disabled *::after,
.variations .swatch.disabled *::after,
.variations [class*="swatch"].is-disabled *::after { display: none !important; content: none !important; background: none !important; }

/* Variation Swatches: make sure its own tooltip also shows on disabled buttons */
.variations .variable-item.disabled[data-wvstooltip]:hover::before,
.variations .variable-item.disabled[data-wvstooltip]:hover::after,
.variations .variable-item.disabled[data-wvstooltip]:focus-visible::before,
.variations .variable-item.disabled[data-wvstooltip]:focus-visible::after { opacity: 1 !important; visibility: visible !important; }

/* Other swatch plugins: tooltip in the same style (dark box + arrow) */
.variations .cfvsw-swatches-option.cfvsw-swatches-disabled::after,
.variations .cfvsw-swatches-option.cfvsw-swatches-out-of-stock::after,
.variations .wpcvs-term.wpcvs-disabled::after,
.variations .wpcvs-term.disabled::after,
.variations .swatch.disabled::after,
.variations [class*="swatch"].is-disabled::after {
	content: "Out of stock" !important;
	display: block !important;
	position: absolute !important;
	top: auto !important; right: auto !important;
	bottom: calc(100% + 9px) !important; left: 50% !important;
	width: auto !important; height: auto !important;
	margin: 0 !important; padding: 7px 12px !important;
	border: 0 !important; border-radius: 3px !important;
	background: var(--wvs-tooltip-background-color, #333) !important; color: var(--wvs-tooltip-text-color, #fff) !important;
	font-family: inherit !important; font-size: 13px !important; font-weight: 400 !important; line-height: 1.2 !important;
	white-space: nowrap !important; text-transform: none !important; letter-spacing: 0 !important;
	transform: translateX(-50%) !important;
	opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
	transition: opacity .15s ease, visibility .15s; z-index: 999 !important;
}
.variations .cfvsw-swatches-option.cfvsw-swatches-disabled::before,
.variations .cfvsw-swatches-option.cfvsw-swatches-out-of-stock::before,
.variations .wpcvs-term.wpcvs-disabled::before,
.variations .wpcvs-term.disabled::before,
.variations .swatch.disabled::before,
.variations [class*="swatch"].is-disabled::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: auto !important; right: auto !important;
	bottom: calc(100% + 4px) !important; left: 50% !important;
	width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important;
	border-style: solid !important; border-width: 5px 5px 0 5px !important;
	border-color: var(--wvs-tooltip-background-color, #333) transparent transparent transparent !important;
	border-radius: 0 !important; background: none !important;
	transform: translateX(-50%) !important;
	opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
	transition: opacity .15s ease, visibility .15s; z-index: 999 !important;
}
.variations .cfvsw-swatches-option.cfvsw-swatches-disabled:hover::after,
.variations .cfvsw-swatches-option.cfvsw-swatches-out-of-stock:hover::after,
.variations .wpcvs-term.wpcvs-disabled:hover::after,
.variations .wpcvs-term.disabled:hover::after,
.variations .swatch.disabled:hover::after,
.variations [class*="swatch"].is-disabled:hover::after,
.variations .cfvsw-swatches-option.cfvsw-swatches-disabled:hover::before,
.variations .cfvsw-swatches-option.cfvsw-swatches-out-of-stock:hover::before,
.variations .wpcvs-term.wpcvs-disabled:hover::before,
.variations .wpcvs-term.disabled:hover::before,
.variations .swatch.disabled:hover::before,
.variations [class*="swatch"].is-disabled:hover::before,
.variations .cfvsw-swatches-option.cfvsw-swatches-disabled:focus-visible::after,
.variations .cfvsw-swatches-option.cfvsw-swatches-out-of-stock:focus-visible::after,
.variations .wpcvs-term.wpcvs-disabled:focus-visible::after,
.variations .wpcvs-term.disabled:focus-visible::after,
.variations .swatch.disabled:focus-visible::after,
.variations [class*="swatch"].is-disabled:focus-visible::after,
.variations .cfvsw-swatches-option.cfvsw-swatches-disabled:focus-visible::before,
.variations .cfvsw-swatches-option.cfvsw-swatches-out-of-stock:focus-visible::before,
.variations .wpcvs-term.wpcvs-disabled:focus-visible::before,
.variations .wpcvs-term.disabled:focus-visible::before,
.variations .swatch.disabled:focus-visible::before,
.variations [class*="swatch"].is-disabled:focus-visible::before { opacity: 1 !important; visibility: visible !important; }
.variations select option:disabled { color: #B5B5B5; }
