/**
 * CWS RC Warrior Shop Layout Fix
 * v1.8.1
 *
 * Desktop strategy:
 * - the sidebar column remains 20% wide;
 * - RC WARRIOR INVENTORY / FIND YOUR RIDE scroll normally;
 * - only the Filter Everything panel sticks below the visible site header;
 * - "Filter to match your build" is rendered inside that sticky blue panel;
 * - a compact draggable price-range control is restored after Drive;
 * - all Wishlist and Share presentation below this section is unchanged.
 */

body.cws-rcw-shop-layout-fix {
	--cws-rcw-shop-column-gap: 40px;
	--cws-rcw-sticky-top: 88px;
}

body.admin-bar.cws-rcw-shop-layout-fix {
	--cws-rcw-sticky-top: 120px;
}

/* The site forces overflow-x:hidden on html/body. `clip` keeps horizontal
 * overflow suppressed without creating a scrolling ancestor that blocks sticky. */
html.cws-rcw-shop-layout-fix-html,
html:has(body.cws-rcw-shop-layout-fix),
body.cws-rcw-shop-layout-fix {
	overflow-x: clip !important;
}

/* The original orange intro heading is outside the Filter Everything panel.
 * Hide only that one heading; the same text is rendered inside the panel below. */
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-0bfd1c4 {
	display: none !important;
}

/* Put the requested title inside the blue filter body and keep it white. */
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-main-wrap::before {
	content: "Filter to match your build";
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 14px 5% 4px;
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
}

/* -------------------------------------------------------------------------
 * Shop layout repair + only-the-filter desktop sticky behavior
 * ---------------------------------------------------------------------- */

@media (min-width: 1025px) {
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-b6f5269,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f {
		overflow: visible !important;
		overflow-x: visible !important;
		overflow-y: visible !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-b6f5269 {
		position: relative !important;
		display: grid !important;
		grid-template-columns: minmax(240px, 20%) minmax(0, 1fr) !important;
		column-gap: var(--cws-rcw-shop-column-gap) !important;
		row-gap: 0 !important;
		align-items: start !important;
	}

	/* Keep the sidebar itself in normal document flow. `align-self: stretch`
	 * gives the sticky child the full product-grid height as its boundary. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f.elementor-sticky--active,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f.elementor-sticky--effects {
		grid-column: 1 !important;
		grid-row: 1 !important;
		align-self: stretch !important;
		position: relative !important;
		inset: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		height: auto !important;
		max-height: none !important;
		flex: none !important;
		margin: 0 !important;
		transform: none !important;
		overflow: visible !important;
		z-index: auto !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 {
		grid-column: 2 !important;
		grid-row: 1 !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		flex: none !important;
		margin: 0 !important;
	}

	/* This is the one and only sticky element on the desktop Shop page. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57.elementor-sticky--active,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57.elementor-sticky--effects {
		align-self: flex-start !important;
		position: -webkit-sticky !important;
		position: sticky !important;
		inset: auto !important;
		top: var(--cws-rcw-sticky-top) !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		transform: none !important;
		overflow: visible !important;
		z-index: 40 !important;
	}

	/* Keep the complete filter body visible; desktop must not inherit Filter
	 * Everything's mobile/off-canvas scroll state. */
	body.cws-rcw-shop-layout-fix .elementor-element-71a2d57,
	body.cws-rcw-shop-layout-fix .elementor-element-71a2d57 .wpc-filters-main-wrap,
	body.cws-rcw-shop-layout-fix .elementor-element-71a2d57 .wpc-filters-widget-content,
	body.cws-rcw-shop-layout-fix .elementor-element-71a2d57 .wpc-filters-widget-containers-wrapper,
	body.cws-rcw-shop-layout-fix .elementor-element-71a2d57 .wpc-filters-scroll-container,
	body.cws-rcw-shop-layout-fix .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		max-height: none !important;
		height: auto !important;
		overflow: visible !important;
		overflow-x: visible !important;
		overflow-y: visible !important;
		transform: none !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-element-71a2d57 .wpc-edit-filter-set,
	body.cws-rcw-shop-layout-fix .elementor-element-71a2d57 .wpc-widget-close-container,
	body.cws-rcw-shop-layout-fix .elementor-element-71a2d57 .wpc-filters-widget-controls-container {
		display: none !important;
	}

	/* Remove spacers/anchors left by Elementor and old plugin versions. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-sticky__spacer,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-sidebar-anchor,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-anchor {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}
}

/* Keep all filter controls inside the 20% sidebar. */
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f .elementor-widget-container,
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f .elementor-shortcode,
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f .widget_wpc_filters_widget,
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f .wpc-filters-main-wrap,
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f .wpc-filters-widget-content {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

/* Existing v1.7.4 request: desktop select fields stay 10% narrower. */
@media (min-width: 1025px) {
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f .wpc-filters-widget-select {
		display: block !important;
		box-sizing: border-box !important;
		width: 90% !important;
		max-width: 90% !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* -------------------------------------------------------------------------
 * Restored draggable Price Range control
 * ---------------------------------------------------------------------- */
body.cws-rcw-shop-layout-fix .cws-rcw-price-filter {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 0 !important;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-filter .wpc-filter-title {
	color: #ffffff !important;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-content {
	box-sizing: border-box;
	width: 90%;
	margin: 0 auto;
	padding: 0 0 4px;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-values {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 6px;
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.25;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-slider {
	position: relative;
	height: 30px;
	width: 100%;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-rail,
body.cws-rcw-shop-layout-fix .cws-rcw-price-fill {
	position: absolute;
	top: 13px;
	height: 4px;
	border-radius: 999px;
	pointer-events: none;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-rail {
	left: 0;
	right: 0;
	background: rgba(255, 255, 255, 0.28);
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-fill {
	left: 0;
	right: 0;
	background: #ff641f;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-slider input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 30px;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	pointer-events: none;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-slider input[type="range"]::-webkit-slider-runnable-track {
	height: 4px;
	background: transparent;
	border: 0;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-slider input[type="range"]::-moz-range-track {
	height: 4px;
	background: transparent;
	border: 0;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-slider input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	margin-top: -7px;
	border: 2px solid #ffffff;
	border-radius: 50%;
	background: #ff641f;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.28);
	cursor: grab;
	pointer-events: auto;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-slider input[type="range"]::-moz-range-thumb {
	width: 18px;
	height: 18px;
	border: 2px solid #ffffff;
	border-radius: 50%;
	background: #ff641f;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.28);
	cursor: grab;
	pointer-events: auto;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-slider input[type="range"]:active::-webkit-slider-thumb {
	cursor: grabbing;
}

body.cws-rcw-shop-layout-fix .cws-rcw-price-slider input[type="range"]:focus-visible::-webkit-slider-thumb {
	box-shadow: 0 0 0 3px rgba(255, 100, 31, 0.24);
}

body.cws-rcw-shop-layout-fix .cws-rcw-filter-apply-wrap {
	box-sizing: border-box;
	width: 90%;
	margin: 10px auto 2px;
}

body.cws-rcw-shop-layout-fix .cws-rcw-filter-apply-button {
	display: block;
	width: 100%;
	min-height: 38px;
	margin: 0;
	padding: 9px 14px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 8px;
	background: linear-gradient(135deg, #ff641f 0%, #e94f12 100%);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
	color: #ffffff;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

body.cws-rcw-shop-layout-fix .cws-rcw-filter-apply-button:hover,
body.cws-rcw-shop-layout-fix .cws-rcw-filter-apply-button:focus-visible {
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
	transform: translateY(-1px);
}

body.cws-rcw-shop-layout-fix .cws-rcw-filter-apply-button:active {
	transform: translateY(0);
}

@media (max-width: 1024px) {
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-b6f5269 {
		display: flex !important;
		overflow: visible !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 {
		position: relative !important;
		inset: auto !important;
		top: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		max-height: none !important;
		overflow: visible !important;
		transform: none !important;
	}

	body.cws-rcw-shop-layout-fix .cws-rcw-price-content,
	body.cws-rcw-shop-layout-fix .cws-rcw-filter-apply-wrap {
		width: 100%;
	}
}

/* Mobile-only controls are injected on every Shop render so WooLentor AJAX
 * replacement remains safe. Keep them invisible outside the phone breakpoint. */
body.cws-rcw-shop-layout-fix .cws-rcw-mobile-filter-button,
body.cws-rcw-shop-layout-fix .cws-rcw-mobile-filter-backdrop {
	display: none !important;
}

/* -------------------------------------------------------------------------
 * Mobile Shop controls: two-column Filter / Sort toolbar + off-canvas drawer
 * ---------------------------------------------------------------------- */
@media (max-width: 767px) {
	/* Remove the desktop/sidebar presentation from normal mobile document flow.
	 * The actual Filter Everything content remains in the DOM and is presented as
	 * a fixed off-canvas drawer so its existing fields and staged Apply workflow
	 * stay intact. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f {
		display: block !important;
		position: static !important;
		width: 0 !important;
		max-width: 0 !important;
		min-width: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
		overflow: visible !important;
		pointer-events: none !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f > .elementor-element:not(.elementor-element-71a2d57),
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-open-button-container,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-spinner,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-edit-filter-set,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-controls-container {
		display: none !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .elementor-widget-container,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .elementor-shortcode,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .widget_wpc_filters_widget,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-main-wrap {
		position: static !important;
		box-sizing: border-box !important;
		width: 0 !important;
		max-width: 0 !important;
		min-width: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		overflow: visible !important;
		pointer-events: none !important;
	}

	/* The title is represented inside the drawer header on mobile instead. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-main-wrap::before {
		display: none !important;
		content: none !important;
	}

	/* Drawer shell. Closed by default; body class opens it. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-content {
		display: flex !important;
		flex-direction: column !important;
		position: fixed !important;
		inset: 0 auto 0 0 !important;
		box-sizing: border-box !important;
		width: min(86vw, 360px) !important;
		max-width: 360px !important;
		min-width: 280px !important;
		height: 100vh !important;
		height: 100dvh !important;
		max-height: 100vh !important;
		max-height: 100dvh !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 16px 16px 0 !important;
		background: #0d203b !important;
		box-shadow: 14px 0 34px rgba(0, 0, 0, 0.28) !important;
		visibility: visible !important;
		opacity: 1 !important;
		overflow: hidden !important;
		transform: translate3d(-105%, 0, 0) !important;
		transition: transform 0.28s ease !important;
		pointer-events: auto !important;
		z-index: 100002 !important;
		overscroll-behavior: contain;
	}

	body.cws-rcw-shop-layout-fix.cws-rcw-mobile-filter-open .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-content {
		transform: translate3d(0, 0, 0) !important;
	}

	/* Drawer header with visible Close control. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-close-container {
		display: block !important;
		flex: 0 0 auto !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 82px !important;
		margin: 0 !important;
		padding: 16px 64px 14px 18px !important;
		border: 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
		background: #0d203b !important;
		position: relative !important;
		top: auto !important;
		z-index: 4 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-popup-title {
		order: initial !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #ffffff !important;
		font-size: 19px !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		text-align: left !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-popup-title::after {
		content: "Filter to match your build";
		display: block;
		margin-top: 5px;
		color: rgba(255, 255, 255, 0.76);
		font-size: 11px;
		font-weight: 500;
		line-height: 1.35;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-close-icon {
		display: none !important;
	}

	/* Use our own close button so Filter Everything/vendor icon CSS cannot
	 * turn the control into a toggle-looking pill on small screens. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		position: absolute !important;
		top: 14px !important;
		right: 14px !important;
		box-sizing: border-box !important;
		width: 38px !important;
		height: 38px !important;
		min-width: 38px !important;
		min-height: 38px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 1px solid rgba(255, 255, 255, 0.28) !important;
		border-radius: 50% !important;
		background: rgba(255, 255, 255, 0.09) !important;
		box-shadow: none !important;
		color: #ffffff !important;
		font-size: 0 !important;
		line-height: 0 !important;
		cursor: pointer !important;
		-webkit-appearance: none !important;
		appearance: none !important;
		z-index: 6 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close svg {
		display: block !important;
		width: 18px !important;
		height: 18px !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #ffffff !important;
		stroke: currentColor !important;
		pointer-events: none !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close:hover,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close:focus-visible {
		background: rgba(255, 255, 255, 0.16) !important;
		border-color: rgba(255, 255, 255, 0.42) !important;
		outline: 2px solid rgba(255, 255, 255, 0.18) !important;
		outline-offset: 2px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-containers-wrapper {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 0 !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-top-container {
		flex: 0 0 auto !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-scroll-container {
		flex: 1 1 auto !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		padding: 12px 0 18px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 16px 2px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-content,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		width: 100% !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		position: sticky !important;
		bottom: -2px !important;
		z-index: 3 !important;
		box-sizing: border-box !important;
		margin: 16px 0 0 !important;
		padding: 12px 0 6px !important;
		background: linear-gradient(to bottom, rgba(13, 32, 59, 0) 0, #0d203b 30%, #0d203b 100%) !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-button {
		min-height: 46px !important;
		border-radius: 10px !important;
		font-size: 14px !important;
	}

	/* Dimmed page backdrop. */
	body.cws-rcw-shop-layout-fix .cws-rcw-mobile-filter-backdrop {
		position: fixed;
		inset: 0;
		display: block;
		background: rgba(4, 14, 28, 0.54);
		backdrop-filter: blur(1px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.24s ease, visibility 0.24s ease;
		z-index: 100001;
	}

	body.cws-rcw-shop-layout-fix.cws-rcw-mobile-filter-open .cws-rcw-mobile-filter-backdrop {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	body.cws-rcw-shop-layout-fix.cws-rcw-mobile-filter-open {
		overflow: hidden !important;
	}

	/* WooLentor mobile toolbar: exactly two balanced columns. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woolentor-product-filters {
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 0 16px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woolentor-filter-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		align-items: stretch !important;
		justify-content: stretch !important;
		gap: 10px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woolentor-results-info {
		display: none !important;
	}

	body.cws-rcw-shop-layout-fix .cws-rcw-mobile-filter-button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 46px !important;
		margin: 0 !important;
		padding: 10px 12px !important;
		border: 1px solid #dfe4eb !important;
		border-radius: 9px !important;
		background: #ffffff !important;
		box-shadow: 0 2px 7px rgba(13, 32, 59, 0.06) !important;
		color: #0d203b !important;
		font: inherit !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		text-align: center !important;
		cursor: pointer !important;
	}

	body.cws-rcw-shop-layout-fix .cws-rcw-mobile-filter-button svg {
		width: 18px !important;
		height: 18px !important;
		flex: 0 0 18px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woolentor-view-controls {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woolentor-filter-sort,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woocommerce-ordering {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woocommerce-ordering .orderby {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 46px !important;
		min-height: 46px !important;
		margin: 0 !important;
		padding: 0 34px 0 12px !important;
		border: 1px solid #dfe4eb !important;
		border-radius: 9px !important;
		background-color: #ffffff !important;
		box-shadow: 0 2px 7px rgba(13, 32, 59, 0.06) !important;
		color: #0d203b !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woolentor-layout-switcher {
		display: none !important;
	}

	/* Keep the cart icon and label on one professional row inside the two-column
	 * mobile product cards. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woolentor-product-actions .woolentor-cart-btn {
		display: inline-flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 5px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 42px !important;
		margin: 0 !important;
		padding: 9px 5px !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		line-height: 1 !important;
		white-space: nowrap !important;
		text-align: center !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woolentor-product-actions .woolentor-cart-btn .cart-icon {
		display: block !important;
		flex: 0 0 14px !important;
		width: 14px !important;
		height: 14px !important;
		min-width: 14px !important;
		margin: 0 !important;
	}
}

/* -------------------------------------------------------------------------
 * Single-product detail vertical rhythm
 *
 * The ShopEngine single-product template places stock, title, divider, price,
 * tax note, WAPF add-ons/totals/actions and Key Specification as consecutive
 * widgets inside the right detail panel. Elementor/vendor defaults give those
 * pieces inconsistent margins. Keep the existing visual design and normalize
 * only the vertical group spacing so each logical block reads clearly.
 * ---------------------------------------------------------------------- */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-4d4fe33 {
	--cws-rcw-detail-gap-xs: 6px;
	--cws-rcw-detail-gap-sm: 10px;
	--cws-rcw-detail-gap-md: 16px;
	--cws-rcw-detail-gap-lg: 22px;
	gap: 0 !important;
	row-gap: 0 !important;
}

/* Stock -> title -> divider: keep related identity information compact. */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-c874f38 {
	margin: 0 0 var(--cws-rcw-detail-gap-md) !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-5d365f2 {
	margin: 0 0 var(--cws-rcw-detail-gap-sm) !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-8b865a3 {
	margin: 0 0 var(--cws-rcw-detail-gap-sm) !important;
}

/* Price + tax note form one compact pricing group. */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-cf260b5 {
	margin: 0 0 4px !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-cf260b5 .price {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-58f132b {
	/* v1.8.55: keep the tax note visually connected to the add-on block. */
	margin: 0 0 12px !important;
}

/* Add-on block: tighten internal option spacing, then give totals/actions their
 * own clear vertical groups without changing the WAPF functionality. */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 {
	margin: 0 0 var(--cws-rcw-detail-gap-lg) !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 form.cart {
	row-gap: var(--cws-rcw-detail-gap-md) !important;
	column-gap: 10px !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 form.cart > .wapf {
	box-sizing: border-box;
	flex: 0 0 100%;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-wrapper,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-field-group,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-field-row {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-field-label {
	margin: 0 0 var(--cws-rcw-detail-gap-sm) !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-field-input {
	margin: 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-checkboxes {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2px;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-checkable {
	margin: 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-product-totals {
	box-sizing: border-box;
	width: 100%;
	/* v1.8.55: remove the oversized blank space after the last add-on option. */
	margin: 10px 0 var(--cws-rcw-detail-gap-lg) !important;
	padding: 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-product-totals .wapf--inner {
	margin: 0 !important;
	padding: 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-product-totals .wapf--inner > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 0 !important;
	padding: 4px 0 !important;
}

/* v1.8.55: differentiate only the final Grand total row without changing the
 * Product total / Options total typography. The stronger selector intentionally
 * overrides the site's generic WAPF 14px total rule. */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-product-totals .wapf--inner > div:last-child > span {
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

/* Start Key Specification as the next logical section, with consistent space
 * after the purchase-action row. */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-941db0c {
	margin: 0 0 12px !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-83b3f4f {
	margin-top: 0 !important;
}

@media (max-width: 767px) {
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-4d4fe33 {
		--cws-rcw-detail-gap-sm: 8px;
		--cws-rcw-detail-gap-md: 12px;
		--cws-rcw-detail-gap-lg: 18px;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-58f132b {
		margin-bottom: 10px !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-a715373 .wapf-product-totals {
		margin-top: 8px !important;
		margin-bottom: 18px !important;
	}
}

/* -------------------------------------------------------------------------
 * Single-product stock status + recommendation cards
 * ---------------------------------------------------------------------- */

/* Stock status is semantic: an available product should read as green rather
 * than inheriting the template's orange accent color. */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-c874f38 .shopengine-product-stock .stock.in-stock {
	color: #15803d !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-c874f38 .shopengine-product-stock .stock.in-stock svg,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-c874f38 .shopengine-product-stock .stock.in-stock svg path {
	color: #15803d !important;
	fill: #15803d !important;
}

/* The bottom "You May also Like This" block is ShopEngine's recently-viewed
 * products widget. Restyle only this widget so its visual card language matches
 * the main Shop WooLentor cards while preserving the existing product links and
 * add-to-cart behavior. */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .recent-viewed-product-list {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	gap: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item {
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	min-width: 0 !important;
	width: auto !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid #e2e7ec !important;
	border-radius: 18px !important;
	background: #f7f7f7 !important;
	box-shadow: 0 5px 16px rgba(13, 32, 59, 0.08) !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 9px 24px rgba(13, 32, 59, 0.12) !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item .product-thumb {
	position: relative !important;
	box-sizing: border-box !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: 18px 18px 0 0 !important;
	background: #ffffff !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item .product-thumb > a[title="Product Thumbnail"] {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item .product-thumb img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	transition: transform 0.28s ease !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item:hover .product-thumb img {
	transform: scale(1.025) !important;
}

/* Shop cards use one clean image action area and one full-width cart action.
 * Hide ShopEngine's duplicate hover action group in this recommendation block. */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item .loop-product--btns {
	display: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item .product-tag-sale-badge {
	top: 14px !important;
	right: auto !important;
	left: 14px !important;
	z-index: 3 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item .product-tag-sale-badge ul {
	margin: 0 !important;
	padding: 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item .product-tag-sale-badge .badge.sale {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 24px !important;
	margin: 0 !important;
	padding: 4px 9px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #ff641f !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > h3.product-title {
	box-sizing: border-box !important;
	min-height: 76px !important;
	margin: 0 !important;
	padding: 20px 20px 0 !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > h3.product-title a {
	color: #0d4668 !important;
	text-decoration: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > h3.product-title a:hover {
	color: #ff641f !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price {
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 10px 20px 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price .price {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 6px !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.25 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price del,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price del .amount {
	color: #ff641f !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	opacity: 1 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price ins {
	color: #0d4668 !important;
	text-decoration: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price ins .amount,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price .price > .amount {
	color: #0d4668 !important;
	font-size: 20px !important;
	font-weight: 800 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .add-to-cart-bt {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	margin: auto 0 0 !important;
	padding: 18px 20px 20px !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .add-to-cart-bt .shopengine-quickview-trigger,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .add-to-cart-bt .shopengine-comparison {
	display: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .add-to-cart-bt .add_to_cart_button {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 12px 16px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #ff7024 !important;
	color: #ffffff !important;
	box-shadow: none !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: background-color 0.18s ease, transform 0.18s ease !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .add-to-cart-bt .add_to_cart_button:hover,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .add-to-cart-bt .add_to_cart_button:focus-visible {
	background: #e95c12 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

@media (max-width: 1024px) {
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .recent-viewed-product-list {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 24px !important;
	}
}

@media (max-width: 767px) {
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .recent-viewed-product-list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item {
		border-radius: 14px !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item .product-thumb {
		border-radius: 14px 14px 0 0 !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > h3.product-title {
		min-height: 68px !important;
		padding: 14px 14px 0 !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price {
		padding: 8px 14px 0 !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price del,
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price del .amount {
		font-size: 12px !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price ins .amount,
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .product-price .price > .amount {
		font-size: 16px !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .add-to-cart-bt {
		padding: 14px !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item > .add-to-cart-bt .add_to_cart_button {
		min-height: 42px !important;
		padding: 10px 8px !important;
		font-size: 13px !important;
	}
}

/* -------------------------------------------------------------------------
 * WooLentor product-card Wishlist heart
 *
 * v1.8.20: keep WishSuite's native outer silhouette. The native compound
 * path remains the outline when inactive; JS removes only its inner cut-out
 * after selection so the exact same silhouette becomes a solid red heart.
 * The icon is intentionally close to WishSuite's native 15px size.
 * ---------------------------------------------------------------------- */

body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0 !important;
	line-height: 1 !important;
	transform: none !important;
	rotate: none !important;
	animation: none !important;
	transition: background-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease !important;
}

body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > .wishsuite-btn-text,
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > .wishsuite-loader,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > .wishsuite-btn-text,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > .wishsuite-loader,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > .wishsuite-btn-text,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > .wishsuite-loader {
	display: none !important;
}

body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	overflow: visible !important;
	transform: none !important;
	animation: none !important;
	pointer-events: none !important;
}

body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .heart,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .heart,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .heart {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	fill: #0d203b !important;
	stroke: none !important;
	stroke-width: 0 !important;
	transition: fill 0.14s ease !important;
}

body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button:not(.wishsuite-btn-exist):not(.added):not([aria-pressed="true"]):hover > svg .heart,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button:not(.wishsuite-btn-exist):not(.added):not([aria-pressed="true"]):hover > svg .heart,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button:not(.wishsuite-btn-exist):not(.added):not([aria-pressed="true"]):hover > svg .heart {
	fill: #ff641f !important;
}

body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button.wishsuite-btn-exist > svg .heart,
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button.added > svg .heart,
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button[aria-pressed="true"] > svg .heart,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button.wishsuite-btn-exist > svg .heart,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button.added > svg .heart,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button[aria-pressed="true"] > svg .heart,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button.wishsuite-btn-exist > svg .heart,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button.added > svg .heart,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button[aria-pressed="true"] > svg .heart {
	fill: #e52b2f !important;
}

body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .loading,
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .check,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .loading,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .check,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .loading,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .check {
	display: none !important;
}

body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button::before,
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button::after,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button::before,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button::after,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button::before,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button::after {
	content: none !important;
	display: none !important;
}

/* -------------------------------------------------------------------------
 * Product share buttons
 * ---------------------------------------------------------------------- */

body.cws-rcw-share-enabled .cws-rcw-share-button {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	font: inherit;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

body.cws-rcw-share-enabled .cws-rcw-share-button:focus-visible {
	outline: 2px solid #ff641f !important;
	outline-offset: 2px;
}

body.cws-rcw-share-enabled .cws-rcw-share-icon {
	display: block;
	width: 17px;
	height: 17px;
	pointer-events: none;
}

/* WooLentor card: inserted immediately after the wishlist action, so it is
 * visually below the wishlist in the existing vertical quick-action stack. */
body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-quick-action {
	display: flex !important;
	align-items: center;
	justify-content: center;
}

body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-listing-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #0d203b !important;
	box-shadow: 0 5px 16px rgba(13, 32, 59, 0.16) !important;
	line-height: 1 !important;
}

body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-listing-button:hover,
body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-listing-button[aria-expanded="true"] {
	background: #ff641f !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

/* ShopEngine single product: Share follows the native Wishlist action. */
body.cws-rcw-share-enabled .elementor-location-single form.cart .cws-rcw-share-single-button {
	order: 6 !important;
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	flex: 0 0 44px !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #d7dde5 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	color: #0d203b !important;
	box-shadow: none !important;
	line-height: 1 !important;
}

body.cws-rcw-share-enabled .elementor-location-single form.cart .cws-rcw-share-single-button:hover,
body.cws-rcw-share-enabled .elementor-location-single form.cart .cws-rcw-share-single-button[aria-expanded="true"] {
	border-color: #ff641f !important;
	background: #ff641f !important;
	color: #ffffff !important;
}



/* -------------------------------------------------------------------------
 * Single-product action row: Wishlist replaces Compare
 *
 * ShopEngine already renders a native wishlist button and a compare action in
 * the add-to-cart form. Keep the native wishlist/AJAX behavior, move it into
 * Compare's action slot, hide Compare, and leave Share immediately after it.
 * ---------------------------------------------------------------------- */
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > .shopengine_comparison_add_to_list_action.shopengine-comparison {
	display: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > .shopengine_add_to_list_action.shopengine-wishlist {
	order: initial !important;
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	box-sizing: border-box !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	flex: 0 0 44px !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #d7dde5 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	box-shadow: none !important;
	color: #0d203b !important;
	line-height: 1 !important;
	cursor: pointer !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > .shopengine_add_to_list_action.shopengine-wishlist i {
	margin: 0 !important;
	font-size: 18px !important;
	line-height: 1 !important;
	color: currentColor !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > .shopengine_add_to_list_action.shopengine-wishlist:hover,
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > .shopengine_add_to_list_action.shopengine-wishlist:focus-visible {
	border-color: #ff641f !important;
	background: #fff7f2 !important;
	color: #ff641f !important;
	outline: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > .shopengine_add_to_list_action.shopengine-wishlist.active,
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > .shopengine_add_to_list_action.shopengine-wishlist.added {
	border-color: #e53935 !important;
	background: #fff5f5 !important;
	color: #e53935 !important;
}

/* v1.8.8: keep Share in its original action position. ShopEngine's own
 * action-row ordering is Quantity=1, Add to Cart=2, Wishlist=4, Compare=5.
 * Compare is hidden, so move only Wishlist visually into order 5 and leave
 * Share at order 6. No DOM movement is required. */
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > .shopengine_add_to_list_action.shopengine-wishlist {
	order: 5 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > .cws-rcw-share-single-button {
	order: 6 !important;
}



/* v1.8.8 fallback: ShopEngine currently keeps the Wishlist ordering rule but
 * can omit the actual single-product Wishlist node. The frontend script adds
 * the native-compatible node; this class guarantees it is visible in the
 * existing Compare slot without moving the Share action. */
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > .cws-rcw-single-wishlist-action.shopengine-wishlist {
	display: inline-flex !important;
	order: 5 !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

/* -------------------------------------------------------------------------
 * Share popover and feedback
 * ---------------------------------------------------------------------- */

.cws-rcw-share-popover[hidden],
.cws-rcw-share-toast[hidden] {
	display: none !important;
}

.cws-rcw-share-popover {
	position: fixed;
	z-index: 100000;
	box-sizing: border-box;
	width: 286px;
	padding: 14px;
	border: 1px solid rgba(13, 32, 59, 0.12);
	border-radius: 14px;
	background: #ffffff;
	color: #0d203b;
	box-shadow: 0 18px 45px rgba(13, 32, 59, 0.2);
	font-family: inherit;
}

.cws-rcw-share-popover-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.cws-rcw-share-popover-title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

.cws-rcw-share-popover-close {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f1f4f8;
	color: #0d203b;
	font: 400 23px/1 Arial, sans-serif;
	cursor: pointer;
}

.cws-rcw-share-popover-close:hover,
.cws-rcw-share-popover-close:focus-visible {
	background: #ff641f;
	color: #ffffff;
	outline: none;
}

.cws-rcw-share-options {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
}

.cws-rcw-share-option {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	padding: 6px 2px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #0d203b;
	font: inherit;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
}

.cws-rcw-share-option:hover,
.cws-rcw-share-option:focus-visible {
	background: #f4f6f9;
	color: #ff641f;
	outline: none;
}

.cws-rcw-share-option-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #0d203b;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}

.cws-rcw-share-option-whatsapp .cws-rcw-share-option-icon {
	background: #178d4b;
}

.cws-rcw-share-option-facebook .cws-rcw-share-option-icon {
	background: #315ba6;
}

.cws-rcw-share-option-x .cws-rcw-share-option-icon {
	background: #17202a;
}

.cws-rcw-share-option-email .cws-rcw-share-option-icon {
	background: #6a4fb3;
}

.cws-rcw-share-option-copy .cws-rcw-share-option-icon {
	background: #ff641f;
}

.cws-rcw-share-option-label {
	display: block;
	max-width: 100%;
	overflow: hidden;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cws-rcw-share-toast {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100001;
	max-width: min(360px, calc(100vw - 40px));
	padding: 11px 16px;
	border-radius: 9px;
	background: #0d203b;
	color: #ffffff;
	box-shadow: 0 12px 32px rgba(13, 32, 59, 0.25);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
}

@media (max-width: 767px) {
	.cws-rcw-share-popover {
		top: auto !important;
		right: 12px !important;
		bottom: 12px !important;
		left: 12px !important;
		width: auto;
		padding: 16px;
		border-radius: 16px;
	}

	.cws-rcw-share-options {
		gap: 5px;
	}

	.cws-rcw-share-option-icon {
		width: 42px;
		height: 42px;
	}

	.cws-rcw-share-option-label {
		font-size: 10px;
	}

	.cws-rcw-share-toast {
		right: 12px;
		bottom: 12px;
		left: 12px;
		max-width: none;
		text-align: center;
	}
}


/* Header search layout refinements */
body.cws-rcw-search-ui .elementor-element-34be6af .shopengine-search-form,
body.cws-rcw-search-ui .elementor-element-911501a .shopengine-search-form {
	width: 100% !important;
}

body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group,
body.cws-rcw-search-ui .elementor-element-911501a .search-input-group {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	border: 1px solid #ff6a1a !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	overflow: hidden !important;
}

body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .search-btn,
body.cws-rcw-search-ui .elementor-element-911501a .search-input-group .search-btn {
	order: 3 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 46px !important;
	width: 46px !important;
	min-width: 46px !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #27374a !important;
}

body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .search-btn i,
body.cws-rcw-search-ui .elementor-element-911501a .search-input-group .search-btn i {
	font-size: 18px !important;
	line-height: 1 !important;
}

body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .shopengine-advanced-search-input,
body.cws-rcw-search-ui .elementor-element-911501a .search-input-group .shopengine-advanced-search-input {
	order: 1 !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	color: #27374a !important;
}

body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .shopengine-advanced-search-input::placeholder,
body.cws-rcw-search-ui .elementor-element-911501a .search-input-group .shopengine-advanced-search-input::placeholder {
	color: #8a8f99 !important;
	opacity: 1 !important;
}

body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .shopengine-category-select-wraper,
body.cws-rcw-search-ui .elementor-element-911501a .search-input-group .shopengine-category-select-wraper {
	order: 2 !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
	border-left: 1px solid rgba(13, 32, 59, 0.12) !important;
}

body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .shopengine-ele-nav-search-select,
body.cws-rcw-search-ui .elementor-element-911501a .search-input-group .shopengine-ele-nav-search-select {
	height: 46px !important;
	margin: 0 !important;
	padding: 0 36px 0 14px !important;
	border: 0 !important;
	background-position: right 12px center !important;
	box-shadow: none !important;
}

body.cws-rcw-search-ui .elementor-element-2398 {
	--cws-search-popup-padding: 10px;
}

body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-f709990 {
	padding: var(--cws-search-popup-padding) !important;
	background: #f3f4f6 !important;
	box-sizing: border-box !important;
}

body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a {
	width: 100% !important;
	max-width: 100% !important;
}

body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a .shopengine-advanced-search {
	width: 100% !important;
}

body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a .search-input-group {
	min-height: 42px !important;
	border-color: #ff6a1a !important;
	box-shadow: 0 1px 2px rgba(13, 32, 59, 0.08) !important;
}

body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a .shopengine-advanced-search-input {
	height: 42px !important;
	padding-right: 10px !important;
	font-size: 15px !important;
}

body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a .search-btn {
	flex-basis: 42px !important;
	width: 42px !important;
	min-width: 42px !important;
	height: 42px !important;
}

@media (max-width: 767px) {
	body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group,
	body.cws-rcw-search-ui .elementor-element-911501a .search-input-group {
		min-height: 42px !important;
	}

	body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .search-btn,
	body.cws-rcw-search-ui .elementor-element-911501a .search-input-group .search-btn {
		flex-basis: 42px !important;
		width: 42px !important;
		min-width: 42px !important;
		height: 42px !important;
	}

	body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .shopengine-advanced-search-input,
	body.cws-rcw-search-ui .elementor-element-911501a .search-input-group .shopengine-advanced-search-input {
		height: 42px !important;
		padding: 0 14px !important;
		font-size: 15px !important;
	}

	body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-f709990 {
		padding: 8px !important;
	}
}


/* Mobile popup search close/search overlap fix */
@media (max-width: 767px) {
	body.cws-rcw-search-ui .elementor-popup-modal .dialog-close-button,
	body.cws-rcw-search-ui .dialog-type-lightbox.elementor-popup-modal .dialog-close-button {
		top: 10px !important;
		right: 10px !important;
		left: auto !important;
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		padding: 0 !important;
		border-radius: 50% !important;
		background: #ffffff !important;
		box-shadow: 0 2px 8px rgba(13, 32, 59, 0.16) !important;
		color: #27374a !important;
		z-index: 1002 !important;
	}

	body.cws-rcw-search-ui .elementor-popup-modal .dialog-close-button i,
	body.cws-rcw-search-ui .dialog-type-lightbox.elementor-popup-modal .dialog-close-button i,
	body.cws-rcw-search-ui .elementor-popup-modal .dialog-close-button svg,
	body.cws-rcw-search-ui .dialog-type-lightbox.elementor-popup-modal .dialog-close-button svg {
		font-size: 14px !important;
		width: 14px !important;
		height: 14px !important;
	}

	body.cws-rcw-search-ui .elementor-element-2398 {
		--cws-search-popup-padding: 8px !important;
	}

	body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-f709990 {
		padding: 8px 42px 8px 8px !important;
	}

	body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a,
	body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a .shopengine-advanced-search,
	body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a .shopengine-search-form,
	body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a .search-input-group {
		width: 100% !important;
		max-width: 100% !important;
	}

	body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a .search-input-group {
		min-height: 40px !important;
	}

	body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a .shopengine-advanced-search-input {
		height: 40px !important;
		padding: 0 12px !important;
		padding-right: 8px !important;
		font-size: 14px !important;
	}

	body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a .search-btn {
		flex: 0 0 38px !important;
		width: 38px !important;
		min-width: 38px !important;
		height: 40px !important;
	}

	body.cws-rcw-search-ui .elementor-element-2398 .elementor-element-911501a .search-btn i {
		font-size: 16px !important;
	}
}


/* v1.8.4: keep Elementor search popup 2398 pinned to the viewport top on phones.
 * The site-level WPCode makes every Elementor popup full-screen but does not
 * force the dialog alignment, so Elementor can still place the dialog at the
 * bottom. These selectors are intentionally limited to the search popup. */
@media (max-width: 767px) {
	body.cws-rcw-search-ui #elementor-popup-modal-2398.elementor-popup-modal,
	body.cws-rcw-search-ui .elementor-popup-modal:has(.elementor-2398) {
		position: fixed !important;
		inset: 0 !important;
		display: flex !important;
		align-items: flex-start !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	body.cws-rcw-search-ui #elementor-popup-modal-2398 .dialog-widget-content,
	body.cws-rcw-search-ui .elementor-popup-modal:has(.elementor-2398) .dialog-widget-content {
		position: relative !important;
		top: 0 !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		align-self: flex-start !important;
		box-sizing: border-box !important;
		width: 100vw !important;
		max-width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		max-height: 100dvh !important;
		margin: 0 !important;
		border-radius: 0 !important;
		transform: none !important;
		background: #ffffff !important;
		overflow: hidden !important;
	}

	body.cws-rcw-search-ui #elementor-popup-modal-2398 .dialog-message,
	body.cws-rcw-search-ui .elementor-popup-modal:has(.elementor-2398) .dialog-message {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: 100% !important;
		max-height: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
	}

	body.cws-rcw-search-ui #elementor-popup-modal-2398 .elementor-2398,
	body.cws-rcw-search-ui .elementor-popup-modal:has(.elementor-2398) .elementor-2398,
	body.cws-rcw-search-ui #elementor-popup-modal-2398 .elementor-element-f709990,
	body.cws-rcw-search-ui .elementor-popup-modal:has(.elementor-2398) .elementor-element-f709990 {
		position: relative !important;
		top: 0 !important;
		bottom: auto !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 100dvh !important;
		margin: 0 !important;
		transform: none !important;
	}

	/* Reserve a dedicated close-button lane so the top search row never overlaps it. */
	body.cws-rcw-search-ui #elementor-popup-modal-2398 .elementor-element-f709990,
	body.cws-rcw-search-ui .elementor-popup-modal:has(.elementor-2398) .elementor-element-f709990 {
		padding: 12px 52px 12px 10px !important;
	}

	body.cws-rcw-search-ui #elementor-popup-modal-2398 .dialog-close-button,
	body.cws-rcw-search-ui .elementor-popup-modal:has(.elementor-2398) .dialog-close-button {
		position: absolute !important;
		top: 18px !important;
		right: 12px !important;
		left: auto !important;
		z-index: 20 !important;
	}
}


/* -------------------------------------------------------------------------
 * v1.8.9 single-product Wishlist: use the same WishSuite button as Shop cards
 * ---------------------------------------------------------------------- */
.cws-rcw-wishsuite-source[hidden],
.cws-rcw-wishsuite-source {
	display: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button {
	order: 5 !important;
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	box-sizing: border-box !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	flex: 0 0 44px !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #d7dde5 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	box-shadow: none !important;
	color: #0d203b !important;
	font-size: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	transform: none !important;
	animation: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button > .wishsuite-btn-text,
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button > .wishsuite-loader {
	display: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button > svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	overflow: visible !important;
	transform: none !important;
	animation: none !important;
	pointer-events: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button > svg .heart {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	fill: #0d203b !important;
	stroke: none !important;
	stroke-width: 0 !important;
	transition: fill 0.14s ease !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button:hover,
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button:focus-visible {
	border-color: #ff641f !important;
	background: #fff7f2 !important;
	color: #ff641f !important;
	outline: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button:not(.wishsuite-btn-exist):not(.added):not([aria-pressed="true"]):hover > svg .heart,
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button:not(.wishsuite-btn-exist):not(.added):not([aria-pressed="true"]):focus-visible > svg .heart {
	fill: #ff641f !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button.wishsuite-btn-exist > svg .heart,
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button.added > svg .heart,
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button[aria-pressed="true"] > svg .heart {
	fill: #e52b2f !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button > svg .loading,
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button > svg .check {
	display: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button::before,
body.single-product.cws-rcw-share-enabled .elementor-location-single form.cart > a.cws-rcw-single-wishlist-action.wishsuite-button::after {
	content: none !important;
	display: none !important;
}

/* CWS mobile product details accordion: default closed */
@media (max-width: 767px) {
	body.single-product.cws-rcw-share-enabled .elementor-element-029f9c4.e-n-tabs-mobile .e-n-tabs-heading > .e-n-tab-title {
		position: relative !important;
		padding-right: 48px !important;
	}

	/* Mobile accordion indicator: down when closed, up when expanded. */
	body.single-product.cws-rcw-share-enabled .elementor-element-029f9c4.e-n-tabs-mobile .e-n-tabs-heading > .e-n-tab-title::after {
		content: "" !important;
		position: absolute !important;
		top: 50% !important;
		right: 20px !important;
		width: 9px !important;
		height: 9px !important;
		box-sizing: border-box !important;
		border-right: 2px solid currentColor !important;
		border-bottom: 2px solid currentColor !important;
		transform: translateY(-65%) rotate(45deg) !important;
		transform-origin: center !important;
		transition: transform 0.2s ease !important;
		pointer-events: none !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-element-029f9c4.e-n-tabs-mobile .e-n-tabs-heading > .e-n-tab-title.cws-rcw-mobile-tab-title-open::after {
		transform: translateY(-35%) rotate(225deg) !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-element-029f9c4.e-n-tabs-mobile .e-n-tabs-content > [role="tabpanel"] {
		display: none !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-element-029f9c4.e-n-tabs-mobile .e-n-tabs-content > [role="tabpanel"].cws-rcw-mobile-tab-panel-open {
		display: flex !important;
	}
}


/* -------------------------------------------------------------------------
 * v1.8.15 Product-card orange border on hover only
 * Scope only: Shop/category listing cards, Home Featured/New Arrivals cards,
 * and single-product bottom recommendation cards. Normal state has no orange
 * outline; the transparent border prevents any card-size jump on hover.
 * ---------------------------------------------------------------------- */
body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woolentor-product-card,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-product-card,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-product-card,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item {
	box-sizing: border-box !important;
	border: 1px solid transparent !important;
	transition: border-color 0.2s ease !important;
}

body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woolentor-product-card:hover,
body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 .woolentor-product-card:hover,
body.cws-rcw-home-featured-share .elementor-element-12786ff .woolentor-product-card:hover,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-39ff94e .shopengine-single-product-item:hover {
	border-color: #ff641f !important;
}

/* -------------------------------------------------------------------------
 * v1.8.21 Wishlist request feedback
 *
 * WishSuite already ships a loading group inside the same native heart SVG.
 * Show that small loader only while the native AJAX request is pending, hide
 * the heart temporarily, and prevent repeat pointer clicks until it settles.
 * ---------------------------------------------------------------------- */
@keyframes cws-rcw-wishlist-spin {
	to {
		transform: rotate(360deg);
	}
}

body a.wishsuite-button.cws-rcw-wishlist-pending {
	pointer-events: none !important;
	cursor: wait !important;
}

body a.wishsuite-button.cws-rcw-wishlist-pending > svg {
	width: 13px !important;
	height: 13px !important;
}

body a.wishsuite-button.cws-rcw-wishlist-pending > svg .heart,
body a.wishsuite-button.cws-rcw-wishlist-pending > svg .check {
	display: none !important;
}

body a.wishsuite-button.cws-rcw-wishlist-pending > svg .loading {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	fill: #ff641f !important;
	transform-box: fill-box !important;
	transform-origin: center !important;
	animation: cws-rcw-wishlist-spin 0.65s linear infinite !important;
}

body a.wishsuite-button.cws-rcw-wishlist-pending > svg .loading path {
	fill: #ff641f !important;
}



/* -------------------------------------------------------------------------
 * v1.8.22 Wishlist loader + compact mobile filter drawer
 * ---------------------------------------------------------------------- */

/* Use a dedicated loader node instead of WishSuite's native .loading group.
 * Older card-specific rules intentionally keep that native group hidden, so a
 * separate element guarantees visible feedback without changing heart shape. */
body a.wishsuite-button > .cws-rcw-wishlist-loader-ring {
	display: none !important;
}

body a.wishsuite-button.cws-rcw-wishlist-pending {
	position: relative !important;
	pointer-events: none !important;
	cursor: wait !important;
}

body a.wishsuite-button.cws-rcw-wishlist-pending > svg {
	opacity: 0 !important;
}

body a.wishsuite-button.cws-rcw-wishlist-pending > .cws-rcw-wishlist-loader-ring {
	display: block !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	box-sizing: border-box !important;
	width: 13px !important;
	height: 13px !important;
	margin: -6.5px 0 0 -6.5px !important;
	padding: 0 !important;
	border: 2px solid rgba(255, 100, 31, 0.24) !important;
	border-top-color: #ff641f !important;
	border-right-color: #ff641f !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	animation: cws-rcw-wishlist-spin 0.62s linear infinite !important;
	pointer-events: none !important;
	z-index: 5 !important;
}

@media (max-width: 767px) {
	/* Current Filter Everything set contains five dropdowns. Compact only the
	 * mobile drawer so Price Range and Apply Filters stay in the first viewport. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-close-container {
		min-height: 58px !important;
		padding: 9px 48px 8px 13px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-popup-title {
		font-size: 15px !important;
		line-height: 1.1 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-popup-title::after {
		margin-top: 2px !important;
		font-size: 9px !important;
		line-height: 1.2 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close {
		top: 10px !important;
		right: 10px !important;
		width: 30px !important;
		height: 30px !important;
		min-width: 30px !important;
		min-height: 30px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close svg {
		width: 14px !important;
		height: 14px !important;
	}

	/* Active selections stay represented by the dropdown values themselves.
	 * Removing the separate chip strip saves vertical space and prevents Price
	 * Range from being pushed below the viewport. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-top-container {
		display: none !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-scroll-container {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		padding: 6px 0 7px !important;
		overflow-x: hidden !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: auto !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		box-sizing: border-box !important;
		height: 100% !important;
		padding: 0 12px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section {
		box-sizing: border-box !important;
		margin: 0 0 5px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-header {
		min-height: 0 !important;
		margin: 0 0 2px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-title {
		margin: 0 !important;
		padding: 0 !important;
		font-size: 10.5px !important;
		font-weight: 600 !important;
		line-height: 1.1 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-content {
		margin: 0 !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: 32px !important;
		min-height: 32px !important;
		max-height: 32px !important;
		margin: 0 !important;
		padding: 3px 28px 3px 9px !important;
		border-radius: 6px !important;
		font-size: 11px !important;
		font-weight: 500 !important;
		line-height: 1.1 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select option {
		font-size: 11px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-filter {
		margin: 0 0 4px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-content {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-values {
		gap: 6px !important;
		margin: 0 0 1px !important;
		font-size: 10px !important;
		line-height: 1.1 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"] {
		height: 22px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-rail,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-fill {
		top: 9px !important;
		height: 3px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"]::-webkit-slider-thumb {
		width: 14px !important;
		height: 14px !important;
		margin-top: -5.5px !important;
		border-width: 1.5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"]::-moz-range-thumb {
		width: 14px !important;
		height: 14px !important;
		border-width: 1.5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		position: static !important;
		width: 100% !important;
		margin: 1px 0 0 !important;
		padding: 0 !important;
		background: transparent !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-button {
		min-height: 34px !important;
		padding: 7px 10px !important;
		border-radius: 7px !important;
		font-size: 11.5px !important;
		line-height: 1.1 !important;
	}
}

@media (max-width: 767px) and (max-height: 650px) {
	/* Extra compaction for short phones/landscape so the drawer remains no-scroll. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-close-container {
		min-height: 50px !important;
		padding-top: 7px !important;
		padding-bottom: 6px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-scroll-container {
		padding-top: 4px !important;
		padding-bottom: 4px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section {
		margin-bottom: 3px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-title {
		font-size: 9.5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select {
		height: 28px !important;
		min-height: 28px !important;
		max-height: 28px !important;
		font-size: 10px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"] {
		height: 18px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-rail,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-fill {
		top: 7px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-button {
		min-height: 30px !important;
		padding-top: 5px !important;
		padding-bottom: 5px !important;
		font-size: 10.5px !important;
	}
}

/* -------------------------------------------------------------------------
 * v1.8.23 Filter density refinement
 * ---------------------------------------------------------------------- */

/* Desktop: keep the existing 20% sidebar and sticky behavior, but reduce the
 * vertical footprint of labels, selects, Price Range, and Apply Filters. */
@media (min-width: 1025px) {
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-main-wrap::before {
		padding: 10px 5% 3px !important;
		font-size: 11.5px !important;
		line-height: 1.2 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section {
		margin: 0 0 7px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-header {
		min-height: 0 !important;
		margin: 0 0 2px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-title {
		margin: 0 !important;
		padding: 0 !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		line-height: 1.15 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f .wpc-filters-widget-select {
		height: 32px !important;
		min-height: 32px !important;
		max-height: 32px !important;
		padding: 3px 28px 3px 9px !important;
		border-radius: 6px !important;
		font-size: 11px !important;
		font-weight: 500 !important;
		line-height: 1.1 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f .wpc-filters-widget-select option {
		font-size: 11px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-filter {
		margin: 0 0 5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-content {
		padding-bottom: 1px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-values {
		margin-bottom: 2px !important;
		font-size: 10.5px !important;
		line-height: 1.1 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"] {
		height: 24px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-rail,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-fill {
		top: 10px !important;
		height: 3px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"]::-webkit-slider-thumb {
		width: 15px !important;
		height: 15px !important;
		margin-top: -6px !important;
		border-width: 1.5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"]::-moz-range-thumb {
		width: 15px !important;
		height: 15px !important;
		border-width: 1.5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		margin: 5px auto 1px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-button {
		min-height: 32px !important;
		padding: 6px 10px !important;
		border-radius: 7px !important;
		font-size: 11px !important;
		line-height: 1.1 !important;
	}
}

@media (max-width: 767px) {
	/* Content-height drawer: removes the large empty navy area below Apply
	 * Filters while retaining a viewport max-height as a safety fallback. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-content {
		inset: 0 auto auto 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: calc(100dvh - 6px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-close-container {
		min-height: 48px !important;
		padding: 7px 42px 6px 10px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-popup-title {
		font-size: 13.5px !important;
		line-height: 1.05 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-popup-title::after {
		margin-top: 1px !important;
		font-size: 8px !important;
		line-height: 1.15 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close {
		top: 7px !important;
		right: 8px !important;
		width: 27px !important;
		height: 27px !important;
		min-width: 27px !important;
		min-height: 27px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close svg {
		width: 12px !important;
		height: 12px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-containers-wrapper {
		flex: 0 0 auto !important;
		min-height: 0 !important;
		height: auto !important;
		overflow: visible !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-scroll-container {
		flex: 0 0 auto !important;
		min-height: 0 !important;
		height: auto !important;
		padding: 4px 0 6px !important;
		overflow: visible !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		height: auto !important;
		padding: 0 10px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section {
		margin-bottom: 3px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-header {
		margin-bottom: 1px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-title {
		font-size: 9px !important;
		line-height: 1.05 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select {
		height: 29px !important;
		min-height: 29px !important;
		max-height: 29px !important;
		padding: 2px 26px 2px 8px !important;
		border-radius: 5px !important;
		font-size: 10px !important;
		line-height: 1.05 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select option {
		font-size: 10px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-filter {
		margin-bottom: 2px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-values {
		margin-bottom: 0 !important;
		font-size: 9px !important;
		line-height: 1.05 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"] {
		height: 20px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-rail,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-fill {
		top: 8px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		margin-top: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-button {
		min-height: 31px !important;
		padding: 5px 9px !important;
		font-size: 10.5px !important;
	}
}

/* -------------------------------------------------------------------------
 * v1.8.24 Filter alignment refinement
 * ---------------------------------------------------------------------- */

/* Desktop: use one shared inner edge for every label, select, price slider,
 * and Apply button. This keeps the compact desktop density from v1.8.23 but
 * removes the staggered 90%-inside-90% alignment. */
@media (min-width: 1025px) {
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 5% 8px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section {
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 0 6px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-header {
		margin: 0 0 2px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-title {
		font-size: 11px !important;
		line-height: 1.15 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f .wpc-filters-widget-select {
		width: 100% !important;
		max-width: 100% !important;
		height: 32px !important;
		min-height: 32px !important;
		max-height: 32px !important;
		margin: 0 !important;
		padding: 3px 28px 3px 9px !important;
		font-size: 11.5px !important;
		line-height: 1.1 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-content,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		box-sizing: border-box !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-values {
		font-size: 10.5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		margin-top: 4px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-button {
		min-height: 34px !important;
		padding: 7px 10px !important;
		font-size: 11.5px !important;
	}
}

@media (max-width: 767px) {
	/* Mobile: restore comfortable control sizes and align the complete drawer to
	 * one 14px content edge. The drawer remains content-height when it fits and
	 * only scrolls as a safety fallback on genuinely short screens. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-content {
		inset: 0 auto auto 0 !important;
		box-sizing: border-box !important;
		width: min(90vw, 340px) !important;
		max-width: 340px !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: calc(100dvh - 8px) !important;
		border-radius: 0 14px 14px 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-close-container {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 60px !important;
		margin: 0 !important;
		padding: 10px 48px 9px 14px !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-popup-title {
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1.1 !important;
		text-align: left !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-popup-title::after {
		margin-top: 3px !important;
		font-size: 9.5px !important;
		line-height: 1.2 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close {
		top: 11px !important;
		right: 11px !important;
		width: 30px !important;
		height: 30px !important;
		min-width: 30px !important;
		min-height: 30px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close svg {
		width: 13px !important;
		height: 13px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-containers-wrapper {
		flex: 0 0 auto !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-scroll-container {
		flex: 0 0 auto !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 9px 0 11px !important;
		overflow: visible !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		box-sizing: border-box !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 14px 3px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section {
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 0 7px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-header {
		margin: 0 0 2px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-title {
		margin: 0 !important;
		padding: 0 !important;
		font-size: 10px !important;
		font-weight: 650 !important;
		line-height: 1.1 !important;
		letter-spacing: 0.02em !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 34px !important;
		min-height: 34px !important;
		max-height: 34px !important;
		margin: 0 !important;
		padding: 3px 30px 3px 10px !important;
		border-radius: 6px !important;
		font-size: 11.5px !important;
		font-weight: 500 !important;
		line-height: 1.15 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select option {
		font-size: 11.5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-filter {
		width: 100% !important;
		margin: 1px 0 7px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-content,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		box-sizing: border-box !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-values {
		margin: 0 0 2px !important;
		font-size: 10px !important;
		line-height: 1.1 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"] {
		height: 22px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-rail,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-fill {
		top: 9px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		position: static !important;
		margin-top: 1px !important;
		padding: 0 !important;
		background: transparent !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-button {
		min-height: 36px !important;
		padding: 7px 10px !important;
		border-radius: 7px !important;
		font-size: 11.5px !important;
		line-height: 1.1 !important;
	}
}

@media (max-width: 767px) and (max-height: 520px) {
	/* Only very short screens use a slightly tighter fallback. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-close-container {
		min-height: 54px !important;
		padding-top: 8px !important;
		padding-bottom: 7px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-scroll-container {
		padding-top: 6px !important;
		padding-bottom: 8px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section {
		margin-bottom: 5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select {
		height: 32px !important;
		min-height: 32px !important;
		max-height: 32px !important;
		font-size: 11px !important;
	}
}

/* -------------------------------------------------------------------------
 * v1.8.25 Full-height mobile drawer with content-based vertical rhythm
 * ---------------------------------------------------------------------- */
@media (max-width: 767px) {
	/* The panel itself always covers the complete mobile viewport. Controls do
	 * not stretch; they keep their existing sizes and natural vertical rhythm. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-content {
		inset: 0 auto 0 0 !important;
		height: 100vh !important;
		height: 100dvh !important;
		min-height: 100vh !important;
		min-height: 100dvh !important;
		max-height: 100vh !important;
		max-height: 100dvh !important;
		border-radius: 0 14px 14px 0 !important;
		overflow: hidden !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-containers-wrapper {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-scroll-container {
		display: flex !important;
		flex: 1 1 auto !important;
		box-sizing: border-box !important;
		height: auto !important;
		min-height: 0 !important;
		padding: clamp(9px, 1.4dvh, 13px) 0 clamp(10px, 1.6dvh, 15px) !important;
		overflow-x: hidden !important;
		overflow-y: hidden !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 14px !important;
	}

	/* Keep each label/select group compact and consistent. The spacing adapts
	 * slightly to viewport height without changing the control dimensions. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section:not(.cws-rcw-price-filter) {
		flex: 0 0 auto !important;
		margin: 0 0 clamp(5px, 0.95dvh, 9px) !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-filter {
		flex: 0 0 auto !important;
		margin: 0 !important;
	}

	/* Use only the remaining free height before the action, rather than
	 * stretching the filter fields themselves. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		flex: 0 0 auto !important;
		margin-top: auto !important;
		padding-top: clamp(8px, 1.4dvh, 14px) !important;
		padding-bottom: max(0px, env(safe-area-inset-bottom)) !important;
	}
}

@media (max-width: 767px) and (max-height: 500px) {
	/* Safety only for unusually short landscape/small-height viewports. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-scroll-container {
		display: block !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		display: flex !important;
		height: auto !important;
		min-height: 100% !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		margin-top: 6px !important;
	}
}


/* -------------------------------------------------------------------------
 * v1.8.26 Reference-proportion filter typography and control rhythm
 * ---------------------------------------------------------------------- */

/* Desktop: match the visual proportions of the supplied reference sidebar
 * while retaining the RC Warrior palette, existing filter fields, sticky
 * behavior, staged Apply flow, and current 20% archive column. */
@media (min-width: 1025px) {
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-main-wrap::before {
		box-sizing: border-box !important;
		padding: 16px 8% 10px !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		line-height: 1.25 !important;
		text-align: left !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 8% 18px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section {
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 0 13px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-header {
		min-height: 0 !important;
		margin: 0 0 5px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-title {
		margin: 0 !important;
		padding: 0 !important;
		font-size: 11.5px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
		letter-spacing: 0.075em !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f .wpc-filters-widget-select {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 42px !important;
		min-height: 42px !important;
		max-height: 42px !important;
		margin: 0 !important;
		padding: 0 34px 0 14px !important;
		border-radius: 10px !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		line-height: 1.25 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c4fdb8f .wpc-filters-widget-select option {
		font-size: 13px !important;
		line-height: 1.25 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-filter {
		margin: 1px 0 11px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-content {
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-values {
		margin: 0 0 5px !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"] {
		height: 28px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-rail,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-fill {
		top: 12px !important;
		height: 4px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"]::-webkit-slider-thumb {
		width: 16px !important;
		height: 16px !important;
		margin-top: -6px !important;
		border-width: 1.5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"]::-moz-range-thumb {
		width: 16px !important;
		height: 16px !important;
		border-width: 1.5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 4px 0 0 !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-button {
		min-height: 42px !important;
		padding: 9px 12px !important;
		border-radius: 9px !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
	}
}

/* Mobile: keep the full-height off-canvas requirement. The field block uses
 * the reference's compact label/control proportions and is vertically centered
 * as one content group instead of stretching individual controls or leaving the
 * Apply button detached from the rest of the form. */
@media (max-width: 767px) {
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-content {
		inset: 0 auto 0 0 !important;
		box-sizing: border-box !important;
		width: min(88vw, 340px) !important;
		max-width: 340px !important;
		min-width: 280px !important;
		height: 100vh !important;
		height: 100dvh !important;
		min-height: 100vh !important;
		min-height: 100dvh !important;
		max-height: 100vh !important;
		max-height: 100dvh !important;
		border-radius: 0 14px 14px 0 !important;
		overflow: hidden !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-close-container {
		box-sizing: border-box !important;
		min-height: 64px !important;
		margin: 0 !important;
		padding: 13px 52px 11px 16px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-popup-title {
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 1.15 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-popup-title::after {
		margin-top: 3px !important;
		font-size: 10px !important;
		font-weight: 500 !important;
		line-height: 1.25 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close {
		top: 12px !important;
		right: 12px !important;
		width: 30px !important;
		height: 30px !important;
		min-width: 30px !important;
		min-height: 30px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-containers-wrapper {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-top-container {
		display: none !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-scroll-container {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		display: flex !important;
		flex: 0 0 auto !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: auto 0 !important;
		padding: 14px 16px max(14px, env(safe-area-inset-bottom)) !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section:not(.cws-rcw-price-filter) {
		flex: 0 0 auto !important;
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 0 12px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-header {
		min-height: 0 !important;
		margin: 0 0 5px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-title {
		margin: 0 !important;
		padding: 0 !important;
		font-size: 10.5px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
		letter-spacing: 0.075em !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		margin: 0 !important;
		padding: 0 32px 0 12px !important;
		border-radius: 9px !important;
		font-size: 12.5px !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select option {
		font-size: 12.5px !important;
		line-height: 1.2 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-filter {
		flex: 0 0 auto !important;
		width: 100% !important;
		margin: 0 0 11px !important;
		padding: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-content,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		box-sizing: border-box !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-values {
		margin: 0 0 4px !important;
		font-size: 10.5px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-slider input[type="range"] {
		height: 26px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-rail,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-price-fill {
		top: 11px !important;
		height: 4px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-wrap {
		position: static !important;
		flex: 0 0 auto !important;
		margin-top: 2px !important;
		padding: 0 !important;
		background: transparent !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-button {
		min-height: 40px !important;
		padding: 8px 12px !important;
		border-radius: 9px !important;
		font-size: 12.5px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
	}
}

@media (max-width: 767px) and (max-height: 560px) {
	/* Compact fallback only when the viewport is genuinely short. The drawer
	 * remains full-height and scrollable, but normal phones keep the reference
	 * proportions above. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-close-container {
		min-height: 56px !important;
		padding-top: 10px !important;
		padding-bottom: 9px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		margin: 0 !important;
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section:not(.cws-rcw-price-filter) {
		margin-bottom: 8px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-header {
		margin-bottom: 3px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-title {
		font-size: 10px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-select {
		height: 36px !important;
		min-height: 36px !important;
		max-height: 36px !important;
		font-size: 11.5px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .cws-rcw-filter-apply-button {
		min-height: 38px !important;
		font-size: 12px !important;
	}
}

/* v1.8.34 Site-wide header search: 20% shorter than the previous 46px control. */
body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group {
	min-height: 37px !important;
}

body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .search-btn {
	flex-basis: 37px !important;
	width: 37px !important;
	min-width: 37px !important;
	height: 37px !important;
}

body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .shopengine-advanced-search-input,
body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .shopengine-ele-nav-search-select {
	height: 37px !important;
}

/* v1.8.39 iPad/tablet header search: keep the same compact structure as desktop. */
@media (min-width: 768px) and (max-width: 1024px) {
	body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .shopengine-category-select-wraper {
		display: none !important;
	}

	body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .shopengine-advanced-search-input {
		order: 1 !important;
		flex: 1 1 auto !important;
		width: auto !important;
		min-width: 0 !important;
		height: 37px !important;
		padding: 0 14px !important;
		font-size: 13px !important;
	}

	body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .search-btn {
		order: 2 !important;
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		flex: 0 0 37px !important;
		width: 37px !important;
		min-width: 37px !important;
		height: 37px !important;
	}

	body.cws-rcw-search-ui .elementor-element-34be6af .search-input-group .search-btn i {
		display: inline-block !important;
		visibility: visible !important;
		opacity: 1 !important;
		font-size: 15px !important;
	}
}

/* -------------------------------------------------------------------------
 * v1.8.40 Header cart + v1.8.41 Shop-identical related cards
 * ---------------------------------------------------------------------- */

/* Elementor's Menu Cart link inherits button chrome from the header theme.
 * Keep the native side-cart click target and quantity bubble, but remove only
 * the visible square border/background around the cart icon on both desktop
 * and the alternate tablet/mobile header widget. */
body.cws-rcw-search-ui .elementor-element-96635d9 .elementor-menu-cart__toggle #elementor-menu-cart__toggle_button,
body.cws-rcw-search-ui .elementor-element-67e8ac8 .elementor-menu-cart__toggle #elementor-menu-cart__toggle_button {
	border: 0 !important;
	border-color: transparent !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

body.cws-rcw-search-ui .elementor-element-96635d9 .elementor-menu-cart__toggle #elementor-menu-cart__toggle_button:hover,
body.cws-rcw-search-ui .elementor-element-96635d9 .elementor-menu-cart__toggle #elementor-menu-cart__toggle_button:focus,
body.cws-rcw-search-ui .elementor-element-67e8ac8 .elementor-menu-cart__toggle #elementor-menu-cart__toggle_button:hover,
body.cws-rcw-search-ui .elementor-element-67e8ac8 .elementor-menu-cart__toggle #elementor-menu-cart__toggle_button:focus {
	border: 0 !important;
	border-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.cws-rcw-search-ui .elementor-element-96635d9 .elementor-menu-cart__toggle .elementor-button-icon,
body.cws-rcw-search-ui .elementor-element-67e8ac8 .elementor-menu-cart__toggle .elementor-button-icon {
	border: 0 !important;
	border-color: transparent !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* -------------------------------------------------------------------------
 * Single-product “You May also Like This” = Shop WooLentor Modern cards
 *
 * v1.8.41: the browser now converts Elementor Related Product <li> markup to
 * the same grid-view class/DOM hierarchy used by Shop widget c27dfdf. Keep
 * only layout resets here; the card/image/title/price/sale/action styling is
 * intentionally supplied by WooLentor's own Modern stylesheet so this block
 * cannot visually drift away from Shop again.
 * ---------------------------------------------------------------------- */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 section.related.products > h2 {
	display: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 section.related.products {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .cws-rcw-related-woolentor-wrapper {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 ul.products.cws-rcw-related-woolentor-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	gap: 30px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 ul.products.cws-rcw-related-woolentor-grid > li.product.woolentor-product-item {
	float: none !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: transparent !important;
}

/* Match the CWS Shop override exactly: clean card normally, orange border on
 * hover. Everything else remains WooLentor Modern native styling. */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-product-card {
	border: 1px solid transparent !important;
	transition: border-color 0.2s ease !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-product-card:hover {
	border-color: #ff641f !important;
}

/* Give Related-card WishSuite the exact heart treatment used by Shop's
 * WooLentor quick-action heart. */
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0 !important;
	line-height: 1 !important;
	transform: none !important;
	rotate: none !important;
	animation: none !important;
	transition: background-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > .wishsuite-btn-text,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > .wishsuite-loader {
	display: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	overflow: visible !important;
	transform: none !important;
	animation: none !important;
	pointer-events: none !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .heart {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	fill: #0d203b !important;
	stroke: none !important;
	stroke-width: 0 !important;
	transition: fill 0.14s ease !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button:not(.wishsuite-btn-exist):not(.added):not([aria-pressed="true"]):hover > svg .heart {
	fill: #ff641f !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button.wishsuite-btn-exist > svg .heart,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button.added > svg .heart,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button[aria-pressed="true"] > svg .heart {
	fill: #e52b2f !important;
}

body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .loading,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .check,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button::before,
body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button::after {
	content: none !important;
	display: none !important;
}

@media (max-width: 1024px) {
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 ul.products.cws-rcw-related-woolentor-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 25px !important;
	}
}

@media (max-width: 767px) {
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 ul.products.cws-rcw-related-woolentor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 20px !important;
	}

	/* Same mobile cart-row treatment already used by Shop c5359e4. */
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-product-actions .woolentor-cart-btn {
		display: inline-flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 5px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 42px !important;
		margin: 0 !important;
		padding: 9px 5px !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		line-height: 1 !important;
		white-space: nowrap !important;
		text-align: center !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-3f0ef38 .woolentor-product-actions .woolentor-cart-btn .cart-icon {
		display: block !important;
		flex: 0 0 14px !important;
		width: 14px !important;
		height: 14px !important;
		min-width: 14px !important;
		margin: 0 !important;
	}
}


/* -------------------------------------------------------------------------
 * v1.8.43 Product-detail Related Products = visible Shop card styling
 *
 * The WooLentor Modern classes alone are not enough on the single-product
 * template because Shop widget c27dfdf also receives Elementor widget-specific
 * visual CSS from archive template 225. Reproduce the visible Shop card values
 * here, after all vendor styles, so the recommendation card cannot fall back to
 * Elementor's centered white card / blue button skin. A direct WooCommerce
 * markup fallback is included in case Elementor renders the related widget
 * after our first JavaScript pass.
 * ---------------------------------------------------------------------- */

/* Hide only controls/badges that are absent from the Shop grid card. */
body.single-product .elementor-location-single .elementor-element-3f0ef38 section.related.products > h2,
body.single-product .elementor-location-single .elementor-element-3f0ef38 .shopengine-quickview-trigger,
body.single-product .elementor-location-single .elementor-element-3f0ef38 .shopengine_comparison_add_to_list_action,
body.single-product .elementor-location-single .elementor-element-3f0ef38 .onsale {
	display: none !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 section.related.products,
body.single-product .elementor-location-single .elementor-element-3f0ef38 .cws-rcw-related-woolentor-wrapper {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Both the converted WooLentor grid and the original WooCommerce fallback use
 * the Shop widget's 4 / 3 / 2 column rhythm and 30 / 25 / 20px gaps. */
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products.cws-rcw-related-woolentor-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	gap: 30px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product {
	position: relative !important;
	float: none !important;
	display: block !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
	background: transparent !important;
}

/* The visible Shop card sampled from the reference is #f4f4f4 with brand navy
 * #0f4761 and the Add-to-Cart orange #ff7c24. */
body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-card,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid transparent !important;
	border-radius: 14px !important;
	background: #f4f4f4 !important;
	box-shadow: 0 3px 12px rgba(15, 71, 97, 0.06) !important;
	overflow: hidden !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-card:hover,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item):hover {
	border-color: #ff641f !important;
	box-shadow: 0 5px 16px rgba(15, 71, 97, 0.08) !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-grid-view-content {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	min-width: 0 !important;
	height: 100% !important;
	background: #f4f4f4 !important;
}

/* Shop square image tile. */
body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-image,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .woolentor-product-badge-main-area,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .tp-image-wrapper {
	position: relative !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 13px !important;
	background: #ffffff !important;
	overflow: hidden !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-image > a,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .tp-image-wrapper {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-image img,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .tp-image-wrapper img {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 13px !important;
	object-fit: cover !important;
	object-position: center !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-secondary-img {
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	transition: opacity 0.22s ease !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-card:hover .woolentor-product-secondary-img {
	opacity: 1 !important;
}

/* Converted WooLentor content: same left aligned Shop typography / spacing. */
body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-content {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 36px 22px 22px !important;
	background: #f4f4f4 !important;
	text-align: left !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-title,
body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-title a,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .woocommerce-loop-product__title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #0f4761 !important;
	font-family: "Figtree", Arial, sans-serif !important;
	font-size: 16px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
	text-align: left !important;
	text-decoration: none !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-title {
	margin-bottom: 12px !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-price,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .price {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 6px !important;
	box-sizing: border-box !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	color: #0f4761 !important;
	font-family: "Figtree", Arial, sans-serif !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	text-align: left !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-price del,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .price del {
	color: #ff7c24 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	opacity: 1 !important;
	text-decoration-thickness: 1px !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-price ins,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .price ins {
	color: #0f4761 !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-actions {
	display: flex !important;
	align-items: stretch !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: auto 0 0 !important;
	padding: 0 !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-actions .woolentor-cart-btn,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.add_to_cart_button {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 49px !important;
	margin: 0 !important;
	padding: 12px 16px !important;
	border: 1px solid #ff7c24 !important;
	border-radius: 8px !important;
	background: #ff7c24 !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font-family: "Figtree", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-actions .woolentor-cart-btn:hover,
body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-actions .woolentor-cart-btn:focus,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.add_to_cart_button:hover,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.add_to_cart_button:focus {
	border-color: #ff641f !important;
	background: #ff641f !important;
	color: #ffffff !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-actions .woolentor-cart-btn .cart-icon {
	display: block !important;
	flex: 0 0 16px !important;
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	margin: 0 !important;
	stroke: currentColor !important;
}

/* Original WooCommerce Related Products fallback: match the same Shop card
 * without waiting for JavaScript to rebuild the DOM. */
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.woocommerce-LoopProduct-link {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	text-decoration: none !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .woocommerce-loop-product__title {
	margin: 36px 22px 0 !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .price {
	margin: 12px 22px 20px !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.add_to_cart_button {
	width: calc(100% - 44px) !important;
	margin: 0 22px 22px !important;
}

/* Same quick-action heart position/shape as the Shop Modern card. */
body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-quick-actions,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.wishsuite-button {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	z-index: 5 !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-quick-actions {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.wishsuite-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 36px !important;
	height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	box-shadow: 0 2px 8px rgba(15, 71, 97, 0.12) !important;
	color: #0f4761 !important;
	font-size: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > .wishsuite-btn-text,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.wishsuite-button > .wishsuite-btn-text,
body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > .wishsuite-loader,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.wishsuite-button > .wishsuite-loader {
	display: none !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.wishsuite-button > svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	overflow: visible !important;
	pointer-events: none !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button > svg .heart,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.wishsuite-button > svg .heart {
	fill: #0d203b !important;
	stroke: none !important;
}

body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button.wishsuite-btn-exist > svg .heart,
body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-quick-actions .woolentor-wishlist-btn > a.wishsuite-button.added > svg .heart,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.wishsuite-button.wishsuite-btn-exist > svg .heart,
body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.wishsuite-button.added > svg .heart {
	fill: #e52b2f !important;
}

@media (max-width: 1024px) {
	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products,
	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products.cws-rcw-related-woolentor-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 25px !important;
	}
}

@media (max-width: 767px) {
	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products,
	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products.cws-rcw-related-woolentor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 20px !important;
	}

	body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-content {
		padding: 20px 12px 14px !important;
	}

	body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-title,
	body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-title a,
	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .woocommerce-loop-product__title {
		font-size: 13px !important;
		line-height: 1.35 !important;
	}

	body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-price,
	body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-price ins,
	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .price,
	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .price ins {
		font-size: 16px !important;
	}

	body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-price del,
	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .price del {
		font-size: 11px !important;
	}

	body.single-product .elementor-location-single .elementor-element-3f0ef38 .woolentor-product-actions .woolentor-cart-btn,
	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.add_to_cart_button {
		min-height: 42px !important;
		padding: 9px 5px !important;
		font-size: 12px !important;
		gap: 5px !important;
	}

	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .woocommerce-loop-product__title {
		margin: 20px 12px 0 !important;
	}

	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) .price {
		margin: 8px 12px 14px !important;
	}

	body.single-product .elementor-location-single .elementor-element-3f0ef38 ul.products > li.product:not(.woolentor-product-item) > a.add_to_cart_button {
		width: calc(100% - 24px) !important;
		margin: 0 12px 14px !important;
	}
}


/* -------------------------------------------------------------------------
 * v1.8.44 Mobile filter discoverability + drawer sequence alignment
 * ---------------------------------------------------------------------- */
@media (max-width: 767px) {
	/* Give the two mobile controls a clear toolbar surface so they no longer
	 * disappear as white-on-white controls above the product grid. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woolentor-product-filters {
		box-sizing: border-box !important;
		margin: 0 0 16px !important;
		padding: 8px !important;
		border: 1px solid #e2e7ee !important;
		border-radius: 12px !important;
		background: #f6f8fb !important;
		box-shadow: 0 4px 14px rgba(13, 32, 59, 0.07) !important;
	}

	body.cws-rcw-shop-layout-fix .cws-rcw-mobile-filter-button {
		min-height: 46px !important;
		border: 1px solid #e95414 !important;
		border-radius: 9px !important;
		background: linear-gradient(135deg, #ff7a2f 0%, #ff5f1f 100%) !important;
		box-shadow: 0 5px 12px rgba(255, 100, 31, 0.24) !important;
		color: #ffffff !important;
		font-size: 13.5px !important;
		font-weight: 700 !important;
	}

	body.cws-rcw-shop-layout-fix .cws-rcw-mobile-filter-button svg {
		color: #ffffff !important;
		stroke: currentColor !important;
	}

	body.cws-rcw-shop-layout-fix .cws-rcw-mobile-filter-button:hover,
	body.cws-rcw-shop-layout-fix .cws-rcw-mobile-filter-button:focus-visible,
	body.cws-rcw-shop-layout-fix .cws-rcw-mobile-filter-button[aria-expanded="true"] {
		border-color: #cf4510 !important;
		background: linear-gradient(135deg, #f46925 0%, #ea4f16 100%) !important;
		box-shadow: 0 6px 14px rgba(255, 100, 31, 0.30) !important;
	}

	body.cws-rcw-shop-layout-fix .cws-rcw-mobile-filter-button:focus-visible {
		outline: 2px solid rgba(255, 100, 31, 0.28) !important;
		outline-offset: 2px !important;
	}

	/* WooLentor renders Default sorting as a native select. Make it read as the
	 * second highlighted action in the same toolbar, with an explicit white
	 * chevron so the affordance remains clear on the navy surface. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woocommerce-ordering .orderby {
		-webkit-appearance: none !important;
		appearance: none !important;
		height: 46px !important;
		min-height: 46px !important;
		padding: 0 38px 0 13px !important;
		border: 1px solid #0d203b !important;
		border-radius: 9px !important;
		background-color: #0d203b !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
		background-repeat: no-repeat !important;
		background-position: right 12px center !important;
		background-size: 15px 15px !important;
		box-shadow: 0 5px 12px rgba(13, 32, 59, 0.18) !important;
		color: #ffffff !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		cursor: pointer !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woocommerce-ordering .orderby:hover,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woocommerce-ordering .orderby:focus-visible {
		border-color: #ff641f !important;
		background-color: #132b4d !important;
		box-shadow: 0 6px 14px rgba(13, 32, 59, 0.24) !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woocommerce-ordering .orderby:focus-visible {
		outline: 2px solid rgba(255, 100, 31, 0.28) !important;
		outline-offset: 2px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-c5359e4 .woocommerce-ordering .orderby option {
		background: #ffffff !important;
		color: #0d203b !important;
		font-weight: 600 !important;
	}

	/* Keep the drawer heading and the first Type field in one visual sequence.
	 * Filter Everything supplies the Filters title inside the close container;
	 * reset vendor positioning and use the exact same 16px left content edge as
	 * the filter fields below. */
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-close-container {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 68px !important;
		margin: 0 !important;
		padding: 13px 52px 12px 16px !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-widget-popup-title {
		position: static !important;
		inset: auto !important;
		float: none !important;
		transform: none !important;
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .cws-rcw-mobile-drawer-close {
		top: 50% !important;
		right: 14px !important;
		transform: translateY(-50%) !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-scroll-container {
		justify-content: flex-start !important;
		align-items: stretch !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-widget-wrapper {
		margin: 0 !important;
		padding: 14px 16px max(14px, env(safe-area-inset-bottom)) !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-header,
	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filter-title {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		text-align: left !important;
	}

	body.cws-rcw-shop-layout-fix .elementor-location-archive.elementor-225 .elementor-element-71a2d57 .wpc-filters-section:first-of-type {
		margin-top: 0 !important;
	}
}

/* -------------------------------------------------------------------------
 * v1.8.45 Single-product mobile gallery flow fix
 *
 * Elementor template 338 marks the left media container (2bdf7e1) sticky on
 * mobile. On narrow screens the gallery and detail column stack vertically,
 * so a sticky/fixed media column stays behind the following content and shows
 * through empty spaces. Disable sticky only on phones; desktop/tablet remain
 * exactly as configured in Elementor.
 * ---------------------------------------------------------------------- */
@media (max-width: 767px) {
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-2bdf7e1,
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-2bdf7e1.elementor-sticky--active,
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-2bdf7e1.elementor-sticky--effects {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		inset: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
	}

	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-2bdf7e1 + .elementor-sticky__spacer,
	body.single-product.cws-rcw-share-enabled .elementor-location-single.elementor-338 .elementor-element-2bdf7e1 .elementor-sticky__spacer {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}
}

/* -------------------------------------------------------------------------
 * v1.8.51 Home Add-to-Cart pending feedback
 *
 * cart-guard.js already applies `.loading` + `aria-busy="true"` while the
 * controlled WAPF-safe request is running. Shop/archive vendor CSS exposes a
 * loader for its button skin, but the Home Featured/New Arrivals WooLentor
 * cards do not provide a visible pending state. Keep the cart logic untouched
 * and surface the existing state only on those two Home product grids.
 * ---------------------------------------------------------------------- */
@keyframes cws-rcw-home-cart-spin {
	to {
		transform: translateY(-50%) rotate(360deg);
	}
}

body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 a.cws-rcw-managed-add-to-cart.loading,
body.cws-rcw-home-featured-share .elementor-element-12786ff a.cws-rcw-managed-add-to-cart.loading {
	position: relative !important;
	pointer-events: none !important;
	cursor: wait !important;
	padding-right: 34px !important;
	opacity: 0.78 !important;
}

body.cws-rcw-home-featured-share .elementor-element-cc8c5c0 a.cws-rcw-managed-add-to-cart.loading::after,
body.cws-rcw-home-featured-share .elementor-element-12786ff a.cws-rcw-managed-add-to-cart.loading::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: 50% !important;
	right: 11px !important;
	box-sizing: border-box !important;
	width: 14px !important;
	height: 14px !important;
	margin: 0 !important;
	border: 2px solid currentColor !important;
	border-right-color: transparent !important;
	border-radius: 50% !important;
	transform: translateY(-50%) rotate(0deg);
	transform-origin: center !important;
	animation: cws-rcw-home-cart-spin 0.65s linear infinite !important;
	pointer-events: none !important;
}


/* -------------------------------------------------------------------------
 * v1.8.53: listing Share consistency + mobile tap polish
 * ---------------------------------------------------------------------- */
body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-quick-action {
	position: relative !important;
	z-index: 8 !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-listing-button {
	-webkit-tap-highlight-color: transparent !important;
	touch-action: manipulation;
	user-select: none;
	-webkit-user-select: none;
	outline: none !important;
	pointer-events: auto !important;
}

body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-listing-button:focus,
body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-listing-button:active {
	outline: none !important;
}

/* Keep keyboard focus accessible without the rectangular browser outline. */
body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-listing-button:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(255, 100, 31, 0.28), 0 5px 16px rgba(13, 32, 59, 0.16) !important;
}

@media (hover: none) and (pointer: coarse) {
	body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-listing-button:focus,
	body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-listing-button:focus-visible,
	body.cws-rcw-share-enabled .woolentor-quick-actions .cws-rcw-share-listing-button:active {
		outline: none !important;
		box-shadow: 0 5px 16px rgba(13, 32, 59, 0.16) !important;
	}
}

/* -------------------------------------------------------------------------
 * v1.8.57 My Account password visibility icon alignment
 *
 * WooCommerce adds the password visibility control at runtime. Depending on
 * whether WooCommerce/Elementor wraps the input before or after its scripts
 * run, the eye control can be a direct child of `.password-input` or inherit
 * positioning from the form row. Anchor both structures safely and keep the
 * control at the right-centre of the actual password field.
 * ---------------------------------------------------------------------- */
body.woocommerce-account .elementor-widget-woocommerce-my-account form.woocommerce-form .password-input,
body.woocommerce-account .elementor-widget-woocommerce-my-account form.woocommerce-form .woocommerce-form-row:has(input[type="password"]) {
	position: relative !important;
}

body.woocommerce-account .elementor-widget-woocommerce-my-account form.woocommerce-form .password-input {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.woocommerce-account .elementor-widget-woocommerce-my-account form.woocommerce-form input[type="password"].woocommerce-Input {
	width: 100% !important;
	max-width: 100% !important;
	padding-right: 52px !important;
}

body.woocommerce-account .elementor-widget-woocommerce-my-account form.woocommerce-form .show-password-input,
body.woocommerce-account .elementor-widget-woocommerce-my-account form.woocommerce-form span.show-password-input,
body.woocommerce-account .elementor-widget-woocommerce-my-account form.woocommerce-form .password-input .show-password-input {
	position: absolute !important;
	top: auto !important;
	right: 14px !important;
	inset-inline-end: 14px !important;
	bottom: 17px !important;
	left: auto !important;
	inset-inline-start: auto !important;
	transform: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 24px !important;
	height: 24px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	z-index: 20 !important;
	cursor: pointer !important;
}

body.woocommerce-account .elementor-widget-woocommerce-my-account form.woocommerce-form .show-password-input::after,
body.woocommerce-account .elementor-widget-woocommerce-my-account form.woocommerce-form span.show-password-input::after {
	margin: 0 !important;
	line-height: 1 !important;
}


/* -------------------------------------------------------------------------
 * v1.8.59 My Account password toggle - deterministic right-centre control
 *
 * Do not depend on WooCommerce/Elementor's runtime eye positioning. Hide only
 * their native visual toggle on #customer_login and use the account-only CWS
 * control created by account-password-toggle.js.
 * ---------------------------------------------------------------------- */
body.woocommerce-account #customer_login .show-password-input {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.woocommerce-account #customer_login .cws-rcw-password-wrap {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-account #customer_login .cws-rcw-password-wrap > input[type="password"],
body.woocommerce-account #customer_login .cws-rcw-password-wrap > input[type="text"] {
	width: 100% !important;
	max-width: 100% !important;
	padding-right: 54px !important;
}

body.woocommerce-account #customer_login button.cws-rcw-password-toggle {
	position: absolute !important;
	top: 50% !important;
	right: 12px !important;
	bottom: auto !important;
	left: auto !important;
	/* Keep the shorthand consistent with top:50%. In v1.8.58,
	 * `inset:auto 12px auto auto` came later and reset top back to auto,
	 * which placed the eye below the input. */
	inset: 50% 12px auto auto !important;
	transform: translateY(-50%) !important;
	float: none !important;
	clear: none !important;
	width: 36px !important;
	min-width: 36px !important;
	max-width: 36px !important;
	height: 36px !important;
	min-height: 36px !important;
	max-height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	outline: 0 !important;
	color: #111 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	font-size: 0 !important;
	text-indent: 0 !important;
	z-index: 50 !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

body.woocommerce-account #customer_login button.cws-rcw-password-toggle:hover,
body.woocommerce-account #customer_login button.cws-rcw-password-toggle:focus,
body.woocommerce-account #customer_login button.cws-rcw-password-toggle:active {
	background: transparent !important;
	box-shadow: none !important;
	transform: translateY(-50%) !important;
}

body.woocommerce-account #customer_login button.cws-rcw-password-toggle:focus-visible {
	outline: 2px solid #0d5673 !important;
	outline-offset: 1px !important;
}

body.woocommerce-account #customer_login button.cws-rcw-password-toggle svg {
	display: block !important;
	width: 21px !important;
	height: 21px !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
}


/* -------------------------------------------------------------------------
 * Product-card stock action
 * Keep WooLentor's existing action-button footprint, but make an out-of-stock
 * product read as status rather than an Add to Cart action. Product image/title
 * links remain untouched and continue to open the product page.
 * ---------------------------------------------------------------------- */
.cws-rcw-out-of-stock-action {
	cursor: not-allowed !important;
	opacity: 0.72 !important;
	pointer-events: none !important;
	text-decoration: none !important;
}
