:root {
	--chv-sw-bg: #ffffff;
	--chv-sw-bg-hover: #f8fbf9;
	--chv-sw-text: #355b49;
	--chv-sw-text-soft: #5f7c6f;
	--chv-sw-border: rgba(53, 91, 73, 0.16);
	--chv-sw-border-hover: rgba(53, 91, 73, 0.28);
	--chv-sw-shadow: 0 8px 24px rgba(41, 73, 58, 0.08);
	--chv-sw-shadow-hover: 0 12px 28px rgba(41, 73, 58, 0.12);
	--chv-sw-dropdown-shadow: 0 18px 44px rgba(41, 73, 58, 0.16);
	--chv-sw-radius: 999px;
	--chv-sw-card-radius: 18px;
}

.chv-country-switcher,
.chv-country-switcher * {
	box-sizing: border-box;
}

.chv-country-switcher {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	width: 150px !important;
	min-width: 150px !important;
	max-width: 150px !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: middle !important;
	font-family: inherit !important;
	line-height: 1 !important;
	z-index: 80 !important;
	transform: none !important;
	translate: none !important;
	inset: auto !important;
	flex: 0 0 150px !important;
}

.chv-country-switcher-native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.chv-country-switcher-ui {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	width: 150px !important;
	min-width: 150px !important;
	max-width: 150px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	transform: none !important;
	translate: none !important;
	flex: 0 0 150px !important;
}

.chv-country-trigger,
.chv-country-switcher.is-open .chv-country-trigger,
.chv-country-trigger:hover,
.chv-country-trigger:focus,
.chv-country-trigger:active {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
	width: 150px !important;
	min-width: 150px !important;
	max-width: 150px !important;
	height: 38px !important;
	min-height: 38px !important;
	max-height: 38px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	border: 1px solid var(--chv-sw-border) !important;
	border-radius: var(--chv-sw-radius) !important;
	background: var(--chv-sw-bg) !important;
	background-image: none !important;
	box-shadow: var(--chv-sw-shadow) !important;
	color: var(--chv-sw-text) !important;
	font-family: inherit !important;
	line-height: 1 !important;
	text-transform: none !important;
	cursor: pointer !important;
	outline: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	inset: auto !important;
	transform: none !important;
	translate: none !important;
	transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
	flex: 0 0 150px !important;
	will-change: auto !important;
}

.chv-country-trigger:hover,
.chv-country-switcher.is-open .chv-country-trigger {
	background: var(--chv-sw-bg-hover) !important;
	border-color: var(--chv-sw-border-hover) !important;
	box-shadow: var(--chv-sw-shadow-hover) !important;
}

.chv-country-trigger-loading {
	cursor: default !important;
	pointer-events: none !important;
	opacity: 0.96 !important;
}

.chv-country-trigger-main {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	min-width: 0 !important;
	flex: 1 1 auto !important;
}

.chv-country-flag {
	display: block !important;
	width: 22px !important;
	min-width: 22px !important;
	height: 16px !important;
	object-fit: cover !important;
	border-radius: 6px !important;
	background: #f3f3f3 !important;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08) !important;
	flex: 0 0 auto !important;
}

.chv-country-flag-placeholder {
	background: linear-gradient(90deg, #eef4f0, #f7faf8, #eef4f0) !important;
	background-size: 200% 100% !important;
	animation: chvFlagPulse 1.1s ease-in-out infinite !important;
}

@keyframes chvFlagPulse {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

.chv-country-title-wrap {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 2px !important;
	min-width: 0 !important;
	text-align: start !important;
}

.chv-country-caption {
	display: block !important;
	max-width: 100% !important;
	overflow: hidden !important;
	color: var(--chv-sw-text-soft) !important;
	font-size: 9px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
	opacity: 0.9 !important;
}

.chv-country-name {
	display: block !important;
	max-width: 100% !important;
	overflow: hidden !important;
	color: var(--chv-sw-text) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
}

.chv-country-caret {
	display: block !important;
	width: 9px !important;
	min-width: 9px !important;
	height: 9px !important;
	margin-top: -3px !important;
	border-right: 2px solid var(--chv-sw-text) !important;
	border-bottom: 2px solid var(--chv-sw-text) !important;
	opacity: 0.75 !important;
	transform: rotate(45deg) !important;
	transition: transform 0.18s ease, opacity 0.18s ease !important;
}

.chv-country-switcher.is-open {
	z-index: 1000004 !important;
}

.chv-country-switcher.is-open .chv-country-caret {
	margin-top: 2px !important;
	transform: rotate(225deg) !important;
}

.chv-country-dropdown {
	position: fixed !important;
	top: var(--chv-dropdown-top, 64px) !important;
	left: var(--chv-dropdown-left, 12px) !important;
	right: auto !important;
	width: var(--chv-dropdown-width, 245px) !important;
	min-width: var(--chv-dropdown-width, 245px) !important;
	max-width: calc(100vw - 24px) !important;
	max-height: var(--chv-dropdown-max-height, calc(100vh - 90px)) !important;
	margin: 0 !important;
	padding: 8px !important;
	border: 1px solid rgba(53, 91, 73, 0.14) !important;
	border-radius: var(--chv-sw-card-radius) !important;
	background: #ffffff !important;
	box-shadow: var(--chv-sw-dropdown-shadow) !important;
	list-style: none !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	overscroll-behavior: contain !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: translate3d(0, 8px, 0) !important;
	transition: opacity 0.16s ease, visibility 0.16s ease, transform 0.16s ease !important;
	z-index: 1000005 !important;
}

.chv-country-switcher.is-open .chv-country-dropdown {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: translate3d(0, 0, 0) !important;
}

.chv-country-dropdown,
.chv-country-dropdown * {
	max-width: 100% !important;
}

.chv-country-dropdown > li {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	list-style: none !important;
}

.chv-country-dropdown > li + li {
	margin-top: 7px !important;
}

.chv-country-dropdown .chv-country-item,
.chv-country-dropdown button.chv-country-item {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 10px 12px !important;
	border: 1px solid rgba(53, 91, 73, 0.16) !important;
	border-radius: var(--chv-sw-card-radius) !important;
	background: #f8fbf9 !important;
	background-image: none !important;
	box-shadow: none !important;
	color: var(--chv-sw-text) !important;
	font-family: inherit !important;
	text-transform: none !important;
	cursor: pointer !important;
	outline: none !important;
	overflow: hidden !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	transition: background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease !important;
}

.chv-country-dropdown .chv-country-item::before,
.chv-country-dropdown .chv-country-item::after {
	display: none !important;
	content: none !important;
}

.chv-country-dropdown .chv-country-item:hover,
.chv-country-dropdown .chv-country-item:focus-visible {
	border-color: rgba(53, 91, 73, 0.30) !important;
	background: #f0f6f2 !important;
	box-shadow: 0 5px 13px rgba(41, 73, 58, 0.08) !important;
}

.chv-country-dropdown .chv-country-item.is-active,
.chv-country-dropdown .chv-country-item[aria-selected="true"] {
	border-color: rgba(53, 91, 73, 0.32) !important;
	background: #eaf3ed !important;
	box-shadow: inset 0 0 0 1px rgba(53, 91, 73, 0.04) !important;
}

.chv-country-dropdown .chv-country-item .chv-country-flag {
	width: 26px !important;
	min-width: 26px !important;
	height: 19px !important;
	border-radius: 6px !important;
}

.chv-country-item-text {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	gap: 3px !important;
	min-width: 0 !important;
}

.chv-country-item-name,
.chv-country-item-code {
	display: block !important;
	max-width: 100% !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
}

.chv-country-item-name {
	color: var(--chv-sw-text) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
}

.chv-country-item-code {
	color: var(--chv-sw-text-soft) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	opacity: 0.86 !important;
}

.chv-country-check {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 18px !important;
	width: 18px !important;
	min-width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	background: #e7f0ea !important;
	color: var(--chv-sw-text) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	opacity: 0 !important;
	transform: scale(0.8) !important;
	transition: opacity 0.16s ease, transform 0.16s ease !important;
}

.chv-country-item.is-active .chv-country-check,
.chv-country-item[aria-selected="true"] .chv-country-check {
	opacity: 1 !important;
	transform: scale(1) !important;
}

body.chv-country-dropdown-open .whb-header,
body.chv-country-dropdown-open .whb-main-header,
body.chv-country-dropdown-open .whb-sticky-header,
body.chv-country-dropdown-open .whb-row,
body.chv-country-dropdown-open .whb-header .container,
body.chv-country-dropdown-open .whb-header .whb-flex-row,
body.chv-country-dropdown-open .whb-header .whb-column,
body.chv-country-dropdown-open .whb-top-bar,
body.chv-country-dropdown-open .whb-top-bar .container,
body.chv-country-dropdown-open .whb-top-bar .whb-flex-row,
body.chv-country-dropdown-open .whb-top-bar .whb-column {
	overflow: visible !important;
}

@media (max-width: 767px) {
	.chv-country-switcher,
	.chv-country-switcher-ui,
	.chv-country-trigger,
	.chv-country-switcher.is-open .chv-country-trigger,
	.chv-country-trigger:hover,
	.chv-country-trigger:focus,
	.chv-country-trigger:active {
		width: 136px !important;
		min-width: 136px !important;
		max-width: 136px !important;
		flex-basis: 136px !important;
	}

	.chv-country-trigger,
	.chv-country-switcher.is-open .chv-country-trigger {
		height: 36px !important;
		min-height: 36px !important;
		max-height: 36px !important;
		padding: 0 10px !important;
	}

	.chv-country-trigger-main {
		gap: 7px !important;
	}

	.chv-country-flag {
		width: 20px !important;
		min-width: 20px !important;
		height: 15px !important;
	}

	.chv-country-caption {
		font-size: 8.5px !important;
	}

	.chv-country-name {
		font-size: 11.5px !important;
	}

	.chv-country-dropdown {
		width: var(--chv-dropdown-width, 225px) !important;
		min-width: var(--chv-dropdown-width, 225px) !important;
		padding: 7px !important;
	}

	.chv-country-dropdown .chv-country-item,
	.chv-country-dropdown button.chv-country-item {
		min-height: 44px !important;
		padding: 9px 10px !important;
	}
}

/* =========================================================
   FINAL FIX 2026-06-02: stable country button/header spacing
   ========================================================= */
.chv-country-switcher,
.chv-country-switcher-ui {
	width: 195px !important;
	min-width: 195px !important;
	max-width: 195px !important;
	flex: 0 0 195px !important;
	margin-right: 15px !important;
	margin-left: 0 !important;
	justify-content: flex-end !important;
	transform: none !important;
}

.chv-country-trigger,
.chv-country-switcher.is-open .chv-country-trigger,
.chv-country-trigger:hover,
.chv-country-trigger:focus,
.chv-country-trigger:active {
	width: 195px !important;
	min-width: 195px !important;
	max-width: 195px !important;
	transform: none !important;
	margin: 0 !important;
}

.chv-country-trigger-main {
	min-width: 0 !important;
	flex: 1 1 auto !important;
}

.chv-country-title-wrap {
	min-width: 0 !important;
	flex: 1 1 auto !important;
}

.chv-country-name,
.chv-country-caption {
	max-width: none !important;
	width: auto !important;
	white-space: nowrap !important;
	overflow: visible !important;
	text-overflow: clip !important;
}

.chv-country-name {
	font-size: 12px !important;
	letter-spacing: -0.01em !important;
}

.chv-country-caption {
	font-size: 10px !important;
}

.chv-country-dropdown {
	width: var(--chv-dropdown-width, 260px) !important;
	min-width: var(--chv-dropdown-width, 260px) !important;
}

/* The whole bar that contains the country switcher must disappear when Woodmart switches to sticky mode. */
.whb-sticked .whb-top-bar,
.whb-sticked .whb-top-bar-inner,
.whb-sticky-header .whb-top-bar,
.whb-sticky-header .whb-top-bar-inner,
.whb-scroll-stick .whb-top-bar,
.whb-scroll-stick .whb-top-bar-inner,
.whb-header.whb-sticked .whb-top-bar,
.whb-header.whb-sticked .whb-top-bar-inner,
body .whb-clone .whb-top-bar,
body .whb-clone .whb-top-bar-inner {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

@media (max-width: 767px) {
	.chv-country-switcher,
	.chv-country-switcher-ui,
	.chv-country-trigger,
	.chv-country-switcher.is-open .chv-country-trigger,
	.chv-country-trigger:hover,
	.chv-country-trigger:focus,
	.chv-country-trigger:active {
		width: 178px !important;
		min-width: 178px !important;
		max-width: 178px !important;
		flex-basis: 178px !important;
	}

	.chv-country-name {
		font-size: 11px !important;
	}
}

/* =========================================================
   EXPERT FINAL 2026-06-02
   PBC-compatible custom country switcher: dynamic width, stable button,
   dropdown 15px to the physical left, and no sticky fragment on scroll.
   ========================================================= */
.chv-country-switcher,
.chv-country-switcher-ui {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	flex: 0 0 auto !important;
	margin: 0 15px 0 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	transform: none !important;
	translate: none !important;
	contain: none !important;
}

.rtl .chv-country-switcher,
.rtl .chv-country-switcher-ui,
body.rtl .chv-country-switcher,
body.rtl .chv-country-switcher-ui {
	margin-right: 15px !important;
	margin-left: 0 !important;
}

.chv-country-switcher-native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.chv-country-trigger,
.chv-country-switcher.is-open .chv-country-trigger,
.chv-country-trigger:hover,
.chv-country-trigger:focus,
.chv-country-trigger:active {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: auto !important;
	min-width: 142px !important;
	max-width: 230px !important;
	height: 40px !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	gap: 10px !important;
	border-radius: 999px !important;
	transform: none !important;
	translate: none !important;
	white-space: nowrap !important;
}

.chv-country-trigger-main {
	display: inline-flex !important;
	align-items: center !important;
	gap: 9px !important;
	min-width: 0 !important;
	width: auto !important;
	flex: 0 1 auto !important;
}

.chv-country-title-wrap {
	display: inline-flex !important;
	flex-direction: column !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: 160px !important;
	flex: 0 1 auto !important;
}

.chv-country-name,
.chv-country-caption {
	display: block !important;
	width: auto !important;
	max-width: 160px !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
}

.chv-country-name {
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.08 !important;
}

.chv-country-caption {
	font-size: 9.5px !important;
	font-weight: 700 !important;
	line-height: 1.05 !important;
}

.chv-country-caret {
	flex: 0 0 auto !important;
}

.chv-country-dropdown {
	position: fixed !important;
	top: var(--chv-dropdown-top, 64px) !important;
	left: var(--chv-dropdown-left, 12px) !important;
	right: auto !important;
	width: var(--chv-dropdown-width, 250px) !important;
	min-width: var(--chv-dropdown-width, 250px) !important;
	max-width: calc(100vw - 24px) !important;
	margin: 0 !important;
	z-index: 1000005 !important;
}

/* Do not leave any visible top-bar/country-switcher fragment inside Woodmart sticky clones. */
.whb-clone .chv-country-switcher,
.whb-sticked .chv-country-switcher,
.whb-scroll-stick .chv-country-switcher,
.whb-sticky-header .chv-country-switcher,
body.chv-page-scrolled .whb-clone .chv-country-switcher,
body.chv-page-scrolled .whb-sticky-header .chv-country-switcher {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
}

body.chv-page-scrolled .whb-clone .whb-top-bar,
body.chv-page-scrolled .whb-sticked .whb-top-bar,
body.chv-page-scrolled .whb-sticky-header .whb-top-bar,
body.chv-page-scrolled .whb-scroll-stick .whb-top-bar {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
}

@media (max-width: 767px) {
	.chv-country-trigger,
	.chv-country-switcher.is-open .chv-country-trigger,
	.chv-country-trigger:hover,
	.chv-country-trigger:focus,
	.chv-country-trigger:active {
		min-width: 132px !important;
		max-width: 205px !important;
		height: 36px !important;
		min-height: 36px !important;
		padding: 0 10px !important;
		gap: 8px !important;
	}

	.chv-country-title-wrap,
	.chv-country-name,
	.chv-country-caption {
		max-width: 132px !important;
	}

	.chv-country-name {
		font-size: 11px !important;
	}

	.chv-country-caption {
		font-size: 8.5px !important;
	}
}

/* =========================================================
   CHV FINAL PASS - PBC switcher dynamic width + compact height
   ========================================================= */
.chv-country-switcher,
.chv-country-switcher-ui {
	width: var(--chv-country-trigger-width, auto) !important;
	min-width: 126px !important;
	max-width: 202px !important;
	flex: 0 0 auto !important;
	margin-inline-start: 0 !important;
	margin-inline-end: 15px !important;
	padding: 0 !important;
	align-self: center !important;
}

.chv-country-trigger,
.chv-country-switcher.is-open .chv-country-trigger,
.chv-country-trigger:hover,
.chv-country-trigger:focus,
.chv-country-trigger:active {
	width: var(--chv-country-trigger-width, auto) !important;
	min-width: 126px !important;
	max-width: 202px !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	padding: 0 10px !important;
	gap: 6px !important;
}

.chv-country-trigger-main {
	gap: 6px !important;
	min-width: 0 !important;
	flex: 0 1 auto !important;
}

.chv-country-flag {
	width: 20px !important;
	min-width: 20px !important;
	height: 15px !important;
	border-radius: 5px !important;
}

.chv-country-caption {
	font-size: 8px !important;
	line-height: 1 !important;
}

.chv-country-name {
	font-size: 10.4px !important;
	font-weight: 800 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.03em !important;
	white-space: nowrap !important;
	overflow: visible !important;
	text-overflow: clip !important;
}

.chv-country-caret {
	width: 8px !important;
	min-width: 8px !important;
	height: 8px !important;
}

.chv-country-dropdown {
	left: calc(var(--chv-dropdown-left, 12px) - 15px) !important;
	width: var(--chv-dropdown-width, 260px) !important;
	min-width: var(--chv-dropdown-width, 260px) !important;
}

@media (max-width: 767px) {
	.chv-country-switcher,
	.chv-country-switcher-ui,
	.chv-country-trigger,
	.chv-country-switcher.is-open .chv-country-trigger,
	.chv-country-trigger:hover,
	.chv-country-trigger:focus,
	.chv-country-trigger:active {
		width: var(--chv-country-trigger-width, auto) !important;
		min-width: 118px !important;
		max-width: 190px !important;
	}

	.chv-country-trigger,
	.chv-country-switcher.is-open .chv-country-trigger {
		height: 32px !important;
		min-height: 32px !important;
		max-height: 32px !important;
		padding: 0 9px !important;
	}

	.chv-country-name {
		font-size: 9.8px !important;
	}
}
