/* ============================================================
   ZHOMES header — v2.1 hard-override build.
   Metrics copied line-for-line from the approved preview
   (design-preview/src/part1_head.html): 78px row, 46px logo,
   14.5px search + nav, terracotta hover + underline, amber badge.
   No :has(), no CSS nesting — plain CSS 2.1-compatible syntax so
   editor linters report zero errors. Everything is scoped to
   .elementor-location-header and forced with !important so the
   render no longer depends on Elementor widget settings.
   ============================================================ */

/* ---------- 0. Brand fonts (self-hosted, variable, swap) ---------- */
@font-face {
	font-family: 'Public Sans';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('fonts/publicsans.woff2') format('woff2');
}
@font-face {
	font-family: 'Fraunces';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('fonts/fraunces.woff2') format('woff2');
}
@font-face {
	font-family: 'Fraunces';
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url('fonts/fraunces-italic.woff2') format('woff2');
}

/* ---------- 1. Aurora Living (dawn) tokens ---------- */
:root {
	--zh-linen: #F7F1E6;
	--zh-card: #FDFAF3;
	--zh-ink: #3E2F21;
	--zh-espresso: #33261A;
	--zh-dawn: #B4572F;
	--zh-dawn-deep: #93401D;
	--zh-tint: #F5E6D4;
	--zh-amber: #C98A2E;
	--zh-taupe: #97836C;
	--zh-line: #E8DDC9;
	--zh-gold: #C9A24B;
	/* semantic tokens (preview src part1_head.html :53-54, :560) — defined
	   here so every page gets them, not only the product page */
	--zh-gold-soft: rgba(201, 162, 75, .45);
	--zh-success: #2E7D4F;
	--zh-success-tint: #EDF2E9;
	--zh-warning: #9A6A10;
	--zh-error: #B23B27;
	--zh-error-tint: #F9E7E1;
	--zh-shadow: 0 2px 6px rgba(51, 38, 26, .07), 0 12px 28px rgba(51, 38, 26, .12);
	--zh-font-sans: 'Public Sans', -apple-system, 'Segoe UI', Arial, sans-serif;
	--zh-font-disp: 'Fraunces', Georgia, 'Times New Roman', serif;
}

/* ---------- 2. Base typography for the whole header ---------- */
.elementor-location-header,
.elementor-location-header input,
.elementor-location-header button,
.elementor-location-header a {
	font-family: var(--zh-font-sans) !important;
}

/* ---------- 3. Trust bar (first container) ---------- */
.elementor-location-header > .e-con:first-child {
	background: var(--zh-espresso) !important;
}
/* one centred line on mobile — Elementor's hidden-tablet class stops at
   767px, so below that we keep only the first trust item */
@media (max-width: 767px) {
	.elementor-location-header > .e-con:first-child .e-con-inner > .elementor-widget-text-editor:not(:first-child) {
		display: none !important;
	}
	.elementor-location-header > .e-con:first-child .e-con-inner {
		justify-content: center !important;
	}
}
.elementor-location-header > .e-con:first-child,
.elementor-location-header > .e-con:first-child p,
.elementor-location-header > .e-con:first-child span,
.elementor-location-header > .e-con:first-child b {
	color: #EDE8DB !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}
.elementor-location-header > .e-con:first-child .elementor-widget-container p { margin: 0; }
.zh-uitem { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; letter-spacing: .02em; }
.zh-uitem svg { width: 16px; height: 16px; color: #E5B878; flex: none; }
.zh-tpstars { color: #EFBE6E !important; letter-spacing: 1px; }

/* ---------- 4. Main bar: background, bottom rule, row height ---------- */
.elementor-location-header > .e-con:nth-child(2) {
	background: var(--zh-card) !important;
	border-bottom: 1px solid var(--zh-line) !important;
}
/* row 1 (logo / search / actions) = first child of the sticky wrapper */
.elementor-location-header > .e-con:nth-child(2) > .e-con:first-child {
	min-height: 78px;
}
@media (max-width: 900px) {
	.elementor-location-header > .e-con:nth-child(2) > .e-con:first-child {
		min-height: 64px;
	}
}

/* ---------- 5. Logo: 46px tall like the preview (36px on mobile) ---------- */
.elementor-location-header .elementor-widget-theme-site-logo,
.elementor-location-header .elementor-widget-image {
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
}
.elementor-location-header .elementor-widget-theme-site-logo img,
.elementor-location-header .elementor-widget-image img {
	height: 46px !important;
	width: auto !important;
	max-width: none !important;
	display: block;
}
@media (max-width: 900px) {
	.elementor-location-header .elementor-widget-theme-site-logo img,
	.elementor-location-header .elementor-widget-image img {
		height: 36px !important;
	}
}
@media (max-width: 767px) {
	.elementor-location-header .elementor-widget-theme-site-logo img,
	.elementor-location-header .elementor-widget-image img {
		height: 30px !important;
	}
}

/* ---------- 6. Row-1 layout — classes live on the WIDGETS, no wrapper
   containers. The search widget's auto side-margins absorb the free
   space, so the logo sits left, the pill centres and the action icons
   sit hard right without any extra grouping container. ---------- */
.elementor-location-header .zh-search-w {
	position: relative;
	width: auto !important;
	flex: 1 1 320px !important;
	max-width: 600px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	/* Elementor's --z-index on the sticky wrapper is an inherited custom
	   property; keep the live-search dropdown above later siblings. */
	z-index: 96;
}
.elementor-location-header .zh-burger-w,
.elementor-location-header .zh-searchtoggle-w,
.elementor-location-header .zh-acct-w,
.elementor-location-header .zh-wish-w,
.elementor-location-header .zh-cart-w {
	width: auto !important;
	flex: 0 0 auto !important;
}
.elementor-location-header .zh-burger-w { margin-right: 6px; }
.elementor-location-header .zh-iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px;
	background: none;
	border: 0;
	border-radius: 2px;
	color: var(--zh-ink);
	cursor: pointer;
	transition: color .15s, background-color .15s;
}
.elementor-location-header .zh-iconbtn svg { width: 22px; height: 22px; }
.elementor-location-header .zh-iconbtn:hover { color: var(--zh-dawn); background: var(--zh-tint); }
.elementor-location-header .zh-searchtoggle { background: var(--zh-tint); color: var(--zh-dawn); }
.elementor-location-header .zh-searchtoggle svg { width: 19px; height: 19px; }
@media (min-width: 1025px) {
	.elementor-location-header .zh-burger-w,
	.elementor-location-header .zh-searchtoggle-w { display: none !important; }
}
/* Below 1025px the design shows a search ICON, not the pill; the burger
   sits in row 1 and the pill slides open full-width on demand. */
@media (max-width: 1024px) {
	.elementor-location-header .zh-search-w { display: none !important; }
	/* the search pill opens as an overlay PANEL below the header bar —
	   absolutely positioned, so the header keeps its height and nothing
	   on the page jumps */
	.elementor-location-header > .e-con:nth-child(2) > .e-con:first-child { position: relative; }
	.elementor-location-header.zh-search-open .zh-search-w {
		display: block !important;
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 10px 16px 12px;
		background: var(--zh-card);
		border-bottom: 1px solid var(--zh-line);
		box-shadow: 0 12px 28px rgba(51, 38, 26, .12);
		z-index: 98;
	}
	/* one line: burger + logo left, icon cluster (search icon first)
	   pushed hard right */
	.elementor-location-header .zh-searchtoggle-w { margin-left: auto !important; }
}
@media (max-width: 767px) {
	.elementor-location-header .zh-iconbtn { padding: 7px; }
	.elementor-location-header .zh-act { padding: 3px !important; }
	.elementor-location-header .elementor-menu-cart__toggle .elementor-button { padding: 7px !important; }
	.elementor-location-header .zh-burger-w { margin-right: 2px; }
}

/* ---------- 7. Search form: linen pill, terracotta focus ---------- */
.elementor-location-header .elementor-widget-search-form {
	position: relative;
}
.elementor-location-header .elementor-search-form__container {
	background: var(--zh-linen) !important;
	border: 1px solid var(--zh-line) !important;
	border-radius: 999px !important;
	min-height: 46px !important;
	overflow: hidden;
	box-shadow: none !important;
	transition: border-color .15s, background-color .15s;
	/* magnifier sits INSIDE-LEFT of the pill, like the approved design */
	flex-direction: row-reverse;
}
.elementor-location-header .elementor-search-form__container:hover {
	border-color: var(--zh-taupe) !important;
}
.elementor-location-header .elementor-search-form__container:focus-within {
	background: var(--zh-card) !important;
	border-color: var(--zh-dawn) !important;
	box-shadow: 0 0 0 1px var(--zh-dawn) !important;
}
.elementor-location-header .elementor-search-form__input {
	background: transparent !important;
	border: 0 !important;
	color: var(--zh-ink) !important;
	font-size: 14.5px !important;
	padding: 0 22px 0 2px !important;
}
.elementor-location-header .elementor-search-form__input::placeholder {
	color: var(--zh-taupe) !important;
	opacity: 1;
}
.elementor-location-header .elementor-search-form__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}
.elementor-location-header .elementor-search-form__submit {
	background: transparent !important;
	color: var(--zh-taupe) !important;
	min-width: 42px !important;
	padding-left: 6px !important;
	font-size: 17px !important;
	transition: color .15s;
}
.elementor-location-header .elementor-search-form__submit:hover { color: var(--zh-dawn) !important; }

/* ---------- 8. Action icons: account / wishlist ---------- */
.zh-act {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	min-width: 60px;
	padding: 8px 12px;
	color: var(--zh-ink) !important;
	text-decoration: none !important;
	border-radius: 2px;
	transition: color .15s, background-color .15s;
}
.zh-act svg { width: 21px; height: 21px; }
.zh-act:hover { color: var(--zh-dawn) !important; background: var(--zh-tint); }
.zh-act-label {
	font-size: 10.5px !important;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--zh-taupe);
	line-height: 1;
}
.zh-act:hover .zh-act-label { color: var(--zh-dawn); }
.zh-badge {
	position: absolute;
	top: 0px;
	right: calc(50% - 20px) !important;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	background: var(--zh-amber);
	color: var(--zh-card) !important;
	font-size: 11px !important;
	font-weight: 600;
	line-height: 17px;
	text-align: center;
	border-radius: 999px;
}
.zh-badge[hidden] { display: none !important; }
@media (max-width: 1080px) {
	.zh-act { min-width: 0; padding: 9px; }
	.zh-act-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.zh-badge { right: 0; }
}

/* ---------- 9. Menu Cart: quiet toggle, subtotal, amber bubble ---------- */
.elementor-location-header .elementor-widget-woocommerce-menu-cart {
	width: auto !important;
	flex: 0 0 auto !important;
}

.elementor-location-header .elementor-menu-cart__toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
}

.elementor-location-header .elementor-menu-cart__toggle .elementor-button,
.elementor-location-header .elementor-menu-cart__toggle .elementor-button:focus {
	/* column icon-over-label, identical to the Account / Wishlist actions */
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 3px !important;
	min-width: 60px !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
	border-radius: 2px !important;
	padding: 8px 12px !important;
	margin: 0 !important;
	color: var(--zh-ink) !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
	transition: color .15s, background-color .15s;
}

.elementor-location-header .elementor-menu-cart__toggle .elementor-button:hover {
	color: var(--zh-dawn) !important;
	background: var(--zh-tint) !important;
	box-shadow: none !important;
	outline: 0 !important;
	width: auto !important;
	height: auto !important;
}

/* the design shows a BASKET label, not the subtotal */
.elementor-location-header .elementor-menu-cart__toggle .elementor-button-text { display: none !important; }
.elementor-location-header .elementor-menu-cart__toggle .elementor-button::after {
	content: "Basket";
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--zh-taupe);
	line-height: 1;
}

.elementor-location-header .elementor-menu-cart__toggle .elementor-button:hover::after { color: var(--zh-dawn); }
.elementor-location-header .elementor-menu-cart__toggle .elementor-button-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 21px !important;
	color: inherit !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.elementor-location-header .elementor-menu-cart__toggle svg {
	width: 21px !important;
	height: 21px !important;
	fill: currentColor;
	display: block !important;
	flex: 0 0 auto !important;
}
.elementor-location-header .elementor-button-icon-qty {
	background: var(--zh-amber) !important;
	color: var(--zh-card) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	border-radius: 999px !important;
	box-sizing: border-box !important;
}

.elementor-location-header .elementor-button-icon-qty[data-counter="0"] { display: none !important; }
@media (max-width: 1080px) {
	.elementor-location-header .elementor-menu-cart__toggle .elementor-button {
		min-width: 0 !important;
		padding: 9px !important;
	}
	.elementor-location-header .elementor-menu-cart__toggle .elementor-button::after { display: none !important; }
}

/* Mobile cart fix: keep the hover tint compact so it cannot push the basket icon down. */
@media (max-width: 767px) {
	.elementor-location-header .elementor-menu-cart__toggle,
	.elementor-location-header .elementor-menu-cart__toggle:hover,
	.elementor-location-header .elementor-menu-cart__toggle:focus {
		width: 34px !important;
		min-width: 34px !important;
		max-width: 34px !important;
		height: 34px !important;
		min-height: 34px !important;
		max-height: 34px !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		line-height: 1 !important;
		overflow: visible !important;
	}

	.elementor-location-header .elementor-menu-cart__toggle .elementor-button,
	.elementor-location-header .elementor-menu-cart__toggle .elementor-button:hover,
	.elementor-location-header .elementor-menu-cart__toggle .elementor-button:focus {
		width: 34px !important;
		min-width: 34px !important;
		max-width: 34px !important;
		height: 34px !important;
		min-height: 34px !important;
		max-height: 34px !important;
		padding: 0 !important;
		margin: 0 !important;
		display: inline-flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0 !important;
		box-sizing: border-box !important;
		line-height: 1 !important;
		overflow: visible !important;
		background-clip: padding-box !important;
	}

	.elementor-location-header .elementor-menu-cart__toggle .elementor-button:hover {
		color: var(--zh-dawn) !important;
		background: var(--zh-tint) !important;
	}

	.elementor-location-header .elementor-menu-cart__toggle .elementor-button::after {
		display: none !important;
		content: none !important;
	}

	.elementor-location-header .elementor-menu-cart__toggle .elementor-button-icon {
		width: 21px !important;
		height: 21px !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		line-height: 1 !important;
		margin: 0 !important;
		padding: 0 !important;
		position: relative !important;
	}

	.elementor-location-header .elementor-menu-cart__toggle svg {
		width: 21px !important;
		height: 21px !important;
		display: block !important;
	}

	.elementor-location-header .elementor-button-icon-qty {
		position: absolute !important;
		top: -5px !important;
		right: -7px !important;
		min-width: 16px !important;
		height: 16px !important;
		padding: 0 4px !important;
		font-size: 10px !important;
		line-height: 16px !important;
	}
}

/* ---------- 10. Nav row: the nav-menu WIDGET is the row (no container).
   Full width with a top rule; the menu itself centres inside it. ---------- */
.elementor-location-header .elementor-widget-nav-menu.zh-nav-row {
	width: 100% !important;
	margin: 0 !important;
	border-top: 1px solid var(--zh-line) !important;
}
.elementor-location-header .zh-nav-row .elementor-nav-menu--main {
	width: auto;
	margin-left: auto;
	margin-right: auto;
}
/* the nav row is desktop-only; below 1025px the burger drawer replaces it */
@media (max-width: 1024px) {
	.elementor-location-header .zh-nav-row { display: none !important; }
}
.elementor-location-header .elementor-widget-nav-menu:not(.zh-nav-row) {
	width: auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.elementor-location-header .elementor-nav-menu--main .elementor-item {
	position: relative;
	font-family: var(--zh-font-sans) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	letter-spacing: .01em !important;
	color: var(--zh-ink) !important;
	padding: 13px 15px !important;
	text-transform: none !important;
}
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: var(--zh-dawn) !important;
}
/* 2px terracotta hairline under hovered / active items (matches preview).
   When the widget's own "pointer: underline" is on, restyle Elementor's
   pseudo-elements instead of adding a second underline on top of them. */
.elementor-location-header .e--pointer-underline .elementor-item:before,
.elementor-location-header .e--pointer-underline .elementor-item:after {
	background-color: var(--zh-dawn) !important;
	height: 2px !important;
	bottom: 8px !important;
	left: 15px !important;
	width: calc(100% - 30px) !important;
}
/* fallback when the pointer setting is off or was lost on import */
.elementor-location-header .elementor-nav-menu--main:not(.e--pointer-underline) .elementor-item::after {
	content: "";
	position: absolute;
	left: 15px;
	right: 15px;
	bottom: 8px;
	height: 2px;
	background: var(--zh-dawn);
	opacity: 0;
	transition: opacity .15s;
}
.elementor-location-header .elementor-nav-menu--main:not(.e--pointer-underline) .elementor-item:hover::after,
.elementor-location-header .elementor-nav-menu--main:not(.e--pointer-underline) .elementor-item.elementor-item-active::after { opacity: 1; }

/* dropdown panel */
.elementor-location-header .elementor-nav-menu--dropdown {
	background: var(--zh-card) !important;
	border: 1px solid var(--zh-line) !important;
	box-shadow: 0 12px 28px rgba(51, 38, 26, .12) !important;
}
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item {
	font-family: var(--zh-font-sans) !important;
	font-size: 15px !important;
	color: var(--zh-ink) !important;
	background: var(--zh-card) !important;
}
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item:hover {
	color: var(--zh-dawn) !important;
	background: var(--zh-tint) !important;
}
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item::after { display: none; }
/* Elementor's own burger/dropdown is unused (the widget runs with
   dropdown:none); the drawer below replaces it. Hide it defensively in
   case the imported template still carries the old setting. */
.elementor-location-header .elementor-menu-toggle,
.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container { display: none !important; }

/* ---------- 10b. Mobile drawer (left slide-in, matches the design) ---------- */
html.zh-lock { overflow: hidden; }
.zh-scrim {
	position: fixed;
	inset: 0;
	background: rgba(30, 20, 10, .5);
	z-index: 1100;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s;
}
.zh-scrim.open { opacity: 1; pointer-events: auto; }
.zh-drawer {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	width: min(400px, 92vw);
	background: var(--zh-card);
	z-index: 1110;
	display: flex;
	flex-direction: column;
	transform: translateX(-102%);
	transition: transform .28s cubic-bezier(.32, .72, .35, 1);
	box-shadow: 0 2px 6px rgba(51, 38, 26, .07), 0 12px 28px rgba(51, 38, 26, .12);
	font-family: var(--zh-font-sans);
}
.zh-drawer.open { transform: translateX(0); }
.zh-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 22px;
	border-bottom: 1px solid var(--zh-line);
}
.zh-drawer-head img { height: 34px; width: auto; }
.zh-drawer-brand { font-weight: 600; font-size: 21px; letter-spacing: .06em; color: var(--zh-espresso); }
.zh-drawer-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	background: none;
	border: 0;
	border-radius: 2px;
	color: var(--zh-ink);
	cursor: pointer;
}
.zh-drawer-close svg { width: 21px; height: 21px; }
.zh-drawer-close:hover { color: var(--zh-dawn); background: var(--zh-tint); }
.zh-drawer-body { flex: 1; overflow-y: auto; padding: 22px; }
.zh-mnav { display: flex; flex-direction: column; gap: 2px; }
.zh-mnav a {
	font-size: 17px;
	font-weight: 600;
	color: var(--zh-ink);
	text-decoration: none;
	padding: 13px 8px;
	border-bottom: 1px solid var(--zh-line);
}
.zh-mnav a:hover { color: var(--zh-dawn); }
.zh-mnav a.sub { font-size: 15px; font-weight: 400; padding-left: 22px; }
.zh-musp {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 22px;
	padding: 16px;
	background: var(--zh-tint);
	border-radius: 2px;
	font-size: 13.5px;
	color: var(--zh-dawn-deep);
}
.zh-drawer-foot {
	border-top: 1px solid var(--zh-line);
	padding: 18px 22px;
	font-family: var(--zh-font-disp);
	font-style: italic;
	font-size: 15px;
	color: var(--zh-taupe);
}
@media (min-width: 1025px) {
	.zh-drawer, .zh-scrim { display: none; }
}

/* ---------- 11. Live-search dropdown (rendered by zhomes-header.js) ---------- */
.zh-sr {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 96;
	max-height: 70vh;
	overflow-y: auto;
	padding: 8px;
	background: var(--zh-card);
	border: 1px solid var(--zh-line);
	border-radius: 2px;
	box-shadow: 0 2px 6px rgba(51, 38, 26, .07), 0 12px 28px rgba(51, 38, 26, .12);
	font-family: var(--zh-font-sans);
	text-align: left;
	border-radius: 20px;
}
.zh-sr[hidden] { display: none !important; }
.zh-sr-hint { margin: 6px 2px; font-size: 13px; color: var(--zh-taupe); }
.zh-sr-hint button { margin-left: 8px; font-size: 12px; font-weight: 600; color: var(--zh-dawn); background: none; border: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.zh-sr-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 8px;
	color: var(--zh-ink) !important;
	text-decoration: none !important;
	border-radius: 2px;
}
.zh-sr-item:hover, .zh-sr-item.on { background: var(--zh-tint); outline: 1px solid rgba(201, 162, 75, .45); }
.zh-sr-item img { width: 56px; height: 56px; object-fit: cover; border-radius: 2px; flex: none; }
.zh-sr-item .t { font-weight: 600; line-height: 1.35; }
.zh-sr-item .m { font-size: 12.5px; color: var(--zh-taupe); }
.zh-sr-item mark { background: rgba(201, 162, 75, .28); color: inherit; border-radius: 2px; padding: 0 1px; }
.zh-sr-empty { padding: 22px; text-align: center; color: var(--zh-taupe); font-size: 14px; }
.zh-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 2px 2px 12px; }
.zh-chip {
	padding: 7px 14px;
	font-size: 13px;
	font-weight: 600;
	color: var(--zh-ink);
	background: var(--zh-linen);
	border: 1px solid var(--zh-line);
	border-radius: 999px;
	cursor: pointer;
	transition: color .15s, border-color .15s;
}
.zh-chip:hover { color: var(--zh-dawn); border-color: var(--zh-dawn); }
.zh-oos { display: inline-block; margin-left: 8px; padding: 2px 8px; font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #B23B27; background: #F9E7E1; border-radius: 999px; }

/* ---------- 12. Sticky shadow once the page scrolls ---------- */
.zh-stuck { box-shadow: 0 6px 24px rgba(51, 38, 26, .08); }

/* ---------- 13. Accessibility ---------- */
.zh-act:focus-visible, .zh-chip:focus-visible, .zh-sr-item:focus-visible {
	outline: 2px solid var(--zh-dawn) !important;
	outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
	.zh-act, .zh-chip, .zh-sr-item, .zh-drawer, .zh-scrim,
	.elementor-location-header .zh-iconbtn,
	.elementor-location-header .elementor-search-form__container,
	.elementor-location-header .elementor-nav-menu--main .elementor-item::after { transition: none; }
}
.zh-drawer-close:focus-visible, .zh-mnav a:focus-visible,
.elementor-location-header .zh-iconbtn:focus-visible {
	outline: 2px solid var(--zh-dawn);
	outline-offset: 2px;
}

/* ---------- 14. Toast notifications — site-wide (preview src :118-127) ---------- */
.zh-toast-zone {
	position: fixed;
	bottom: 22px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 130;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: min(420px, 92vw);
}
.zh-toast {
	background: var(--zh-espresso);
	color: #EDE8DB;
	border-radius: 2px;
	padding: 14px 18px;
	font-size: 14.5px;
	font-family: var(--zh-font-sans);
	box-shadow: var(--zh-shadow);
	animation: zh-toastin .3s cubic-bezier(.3, .7, .35, 1);
}
.zh-toast .t-msg { display: block; line-height: 1.55; overflow-wrap: anywhere; }
.zh-toast .t-msg a { white-space: nowrap; margin-left: 2px; }
.zh-toast.success { border-left: 4px solid var(--zh-success); }
.zh-toast.error { border-left: 4px solid var(--zh-error); }
.zh-toast a { color: #E5B878; font-weight: 600; text-decoration: none; }
.zh-toast a:hover { text-decoration: underline; }
@keyframes zh-toastin {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: translateY(0); }
}
/* WooCommerce's own post-add feedback (tick in the button + injected
   "View basket" link) is replaced by our toast — keep the buy row clean */
.zh-buy-w a.added_to_cart { display: none !important; }
.zh-buy-w .single_add_to_cart_button.added::after { display: none !important; }
