/* ==========================================================================
   Avhoron Header
   Proportions are measured from the Photoshop reference (1024 px wide) and
   expressed in vw so the desktop header scales exactly like the design,
   clamped to sensible pixel limits. Colours come from :root variables that
   the plugin prints from the Customizer (see includes/settings.php).
   ========================================================================== */

:root {
	--avh-font-serif: "Crimson Pro", "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--avh-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--avh-ease: 220ms cubic-bezier(.4, 0, .2, 1);
}

/* ---------- Resets against theme/WooCommerce defaults ---------- */
.avh-header,
.avh-search,
.avh-drawer {
	box-sizing: border-box;
	font-family: var(--avh-font-sans);
	-webkit-font-smoothing: antialiased;
}
.avh-header *,
.avh-search *,
.avh-drawer * { box-sizing: inherit; }

.avh-header ul,
.avh-drawer ul { list-style: none; margin: 0; padding: 0; }

.avh-header a,
.avh-drawer a,
.avh-search a { text-decoration: none; box-shadow: none; }

.avh-header button,
.avh-header button:hover,
.avh-header button:focus,
.avh-search button.avh-icon-btn,
.avh-search button.avh-icon-btn:hover,
.avh-search button.avh-icon-btn:focus,
.avh-drawer button,
.avh-drawer button:hover,
.avh-drawer button:focus {
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	margin: 0;
	color: inherit;
	font: inherit;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	min-height: 0;
}

.avh-header svg,
.avh-search svg,
.avh-drawer svg { display: block; flex-shrink: 0; }

.avh-header .screen-reader-text,
.avh-search .screen-reader-text,
.avh-drawer .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Visible keyboard focus everywhere in the header. */
.avh-header a:focus-visible,
.avh-header button:focus-visible,
.avh-search a:focus-visible,
.avh-search button:focus-visible,
.avh-search input:focus-visible,
.avh-drawer a:focus-visible,
.avh-drawer button:focus-visible {
	outline: 2px solid var(--avhoron-gold);
	outline-offset: 3px;
	border-radius: 2px;
}
.avh-topbar a:focus-visible { outline-color: var(--avhoron-burgundy); }

/* ==========================================================================
   1. Announcement bar
   ========================================================================== */
.avh-topbar {
	background: var(--avhoron-light-gold);
	color: var(--avhoron-announce-text);
	font-size: clamp(10.5px, .9vw, 13.5px);
	line-height: 1.2;
}
.avh-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: clamp(26px, 2.3vw, 38px);
	/* Reference: content runs from 16.4% to 89.8% of the width. */
	padding: 0 10.2vw 0 16.4vw;
	gap: 24px;
}
.avh-header .avh-topbar__msgs { display: flex; align-items: center; }
.avh-topbar__msg {
	display: flex;
	align-items: center;
	gap: clamp(8px, 1vw, 14px);
	white-space: nowrap;
}
.avh-topbar__msg + .avh-topbar__msg {
	margin-left: 2.6vw;
	padding-left: 2.6vw;
	border-left: 1px solid rgba(58, 20, 8, .22);
}
.avh-topbar__msg .avh-icon { width: clamp(15px, 1.5vw, 21px); height: auto; }
.avh-topbar__msg .avh-icon--shield { color: var(--avhoron-burgundy); }

.avh-topbar__social { display: flex; align-items: center; gap: clamp(10px, 1.45vw, 18px); }
.avh-topbar__follow { white-space: nowrap; }
.avh-social { display: flex; align-items: center; gap: clamp(9px, 1.2vw, 16px); }
.avh-social a {
	display: grid;
	place-items: center;
	color: var(--avhoron-burgundy);
	transition: opacity var(--avh-ease);
}
.avh-social a:hover { opacity: .75; }
.avh-social--placeholder a { opacity: .35; outline: 1px dashed currentColor; outline-offset: 2px; border-radius: 50%; }
.avh-social .avh-icon { width: clamp(14px, 1.2vw, 18px); height: auto; }
.avh-social .avh-s-bg { fill: currentColor; }
.avh-social .avh-s-fg { fill: var(--avhoron-light-gold); }

/* ==========================================================================
   2. Main header
   ========================================================================== */
.avh-main {
	position: relative;
	background-color: var(--avhoron-burgundy);
	/* Faint woven texture, as in the reference. */
	background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, .016) 0 1px, transparent 1px 4px);
	color: var(--avhoron-text);
}
.avh-main::after {
	/* Thin gold rule along the bottom edge. */
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--avhoron-border), var(--avhoron-gold) 50%, var(--avhoron-border));
}
.avh-main__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: clamp(76px, 8.5vw, var(--avh-header-h));
	padding: 0 calc(var(--avh-pad-x) * .7) 2px var(--avh-pad-x);
}

/* ---------- Logo ---------- */
.avh-logo { flex: 0 0 auto; line-height: 0; }
.avh-logo a { display: inline-block; line-height: 0; }
.avh-logo img,
.avh-drawer__logo img {
	display: block;
	width: min(var(--avh-logo-w), 16.2vw);
	max-width: none;
	height: auto; /* never stretch – keeps the original aspect ratio */
}
.avh-logo__text {
	font-family: var(--avh-font-serif);
	font-size: 26px;
	letter-spacing: .08em;
	color: var(--avhoron-gold);
	line-height: 1.1 !important;
}

/* ---------- Navigation ---------- */
.avh-nav__list {
	display: flex;
	align-items: center;
	gap: min(var(--avh-nav-gap), 2.5vw);
}
.avh-nav__list > li { position: relative; }
.avh-nav__list > li > a {
	position: relative;
	display: block;
	padding: 10px 0;
	font-family: var(--avh-font-serif);
	font-size: var(--avh-nav-fs, clamp(14px, 1.32vw, 20px));
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: .005em;
	white-space: nowrap;
	color: var(--avhoron-text);
	transition: color var(--avh-ease);
}
.avh-nav__list > li > a::after {
	content: "";
	position: absolute;
	left: 0; right: 0;
	bottom: calc(10px - clamp(9px, .95vw, 14px));
	height: 2px;
	border-radius: 2px;
	background: var(--avhoron-gold);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--avh-ease);
}
.avh-nav__list > li > a:hover { color: var(--avhoron-gold); }
.avh-nav__list > li > a:hover::after,
.avh-nav__list > li.current-menu-item > a::after,
.avh-nav__list > li.current-menu-ancestor > a::after,
.avh-nav__list > li > a[aria-current="page"]::after { transform: scaleX(1); }

/* Optional one-level dropdown (if a menu item has children). */
.avh-nav__list .sub-menu {
	position: absolute;
	top: 100%;
	left: -18px;
	z-index: 50;
	min-width: 210px;
	padding: 10px 0;
	background: var(--avhoron-burgundy);
	border-top: 2px solid var(--avhoron-gold);
	box-shadow: 0 14px 30px rgba(20, 0, 5, .35);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity var(--avh-ease), transform var(--avh-ease), visibility var(--avh-ease);
}
.avh-nav__list > li > .sub-menu { pointer-events: none; }
.avh-nav__list > li:hover > .sub-menu,
.avh-nav__list > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.avh-nav__list .sub-menu a {
	display: block;
	padding: 9px 18px;
	font-family: var(--avh-font-serif);
	font-size: 17px;
	color: var(--avhoron-text);
	transition: color var(--avh-ease);
}
.avh-nav__list .sub-menu a:hover,
.avh-nav__list .sub-menu .current-menu-item > a { color: var(--avhoron-gold); }

/* Non-clickable parent items (look like menu links, open the dropdown). */
.avh-nav__list > li > .avh-nav__parent {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 0;
	font-family: var(--avh-font-serif);
	font-size: var(--avh-nav-fs, clamp(14px, 1.32vw, 20px));
	line-height: 1.15;
	letter-spacing: .005em;
	white-space: nowrap;
	color: var(--avhoron-text);
	cursor: default;
	user-select: none;
	transition: color var(--avh-ease);
}
.avh-nav__list > li > .avh-nav__parent::after {
	content: "";
	position: absolute;
	left: 0; right: 0;
	bottom: calc(10px - clamp(9px, .95vw, 14px));
	height: 2px;
	border-radius: 2px;
	background: var(--avhoron-gold);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--avh-ease);
}
.avh-nav__list > li:hover > .avh-nav__parent,
.avh-nav__list > li:focus-within > .avh-nav__parent { color: var(--avhoron-gold); }
.avh-nav__list > li:hover > .avh-nav__parent::after,
.avh-nav__list > li.current-menu-ancestor > .avh-nav__parent::after,
.avh-nav__list > li.current-menu-parent > .avh-nav__parent::after { transform: scaleX(1); }
.avh-nav__parent:focus-visible { outline: 2px solid var(--avhoron-gold); outline-offset: 3px; border-radius: 2px; }
.avh-header .avh-caret { width: .75em; height: .75em; flex-shrink: 0; transition: transform var(--avh-ease); }
.avh-nav__list > li:hover > .avh-nav__parent .avh-caret,
.avh-nav__list > li:focus-within > .avh-nav__parent .avh-caret { transform: rotate(180deg); }

/* Invisible bridge so the dropdown doesn't close while moving the mouse down. */
.avh-nav__list > li.menu-item-has-children::before {
	content: "";
	position: absolute;
	left: -12px; right: -12px;
	top: 100%;
	height: 22px;
}
.avh-nav__list > li > .sub-menu { top: calc(100% + 14px); }

/* Long sub-menus become multi-column panels. */
.avh-header:not(.avh-mega-on) .avh-nav__list .sub-menu:has(> li:nth-child(9)) {
	display: grid;
	grid-template-columns: repeat(3, minmax(170px, 1fr));
	column-gap: 8px;
	min-width: 560px;
	padding: 14px 6px;
}
.avh-header:not(.avh-mega-on) .avh-nav__list .sub-menu:has(> li:nth-child(19)) {
	grid-template-columns: repeat(4, minmax(160px, 1fr));
	min-width: 700px;
}
.avh-header:not(.avh-mega-on) .avh-nav__list .sub-menu:has(> li:nth-child(9)) a { padding: 8px 14px; font-size: 16px; }
.avh-header .avh-nav__list .sub-menu { max-height: calc(100vh - 220px); overflow-y: auto; }

/* ---------- Divider + actions ---------- */
.avh-divider {
	flex: 0 0 1px;
	width: 1px;
	height: clamp(36px, 4.2vw, 60px);
	background: var(--avhoron-border);
	opacity: .75;
}
/* Auto margins on both sides centre the menu between logo and divider,
   giving the equal gaps seen in the reference. */
.avh-main__inner > .avh-nav { margin: 0 auto; padding: 0 16px; }

.avh-header .avh-actions {
	display: flex;
	align-items: center;
	gap: min(var(--avh-icon-gap), 2.35vw);
	margin-left: 2.6vw;
}
.avh-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(5px, .62vw, 9px);
	min-width: 44px;
	color: var(--avhoron-icon);
	transition: color var(--avh-ease);
}
.avh-header .avh-action:hover,
.avh-header .avh-action:focus-visible { color: var(--avhoron-gold); }
.avh-action__icon { position: relative; display: block; }
.avh-action__icon .avh-icon { width: clamp(22px, 2.05vw, 30px); height: auto; }
.avh-action__label {
	font-family: var(--avh-font-sans);
	font-size: clamp(11px, 1vw, 15px);
	line-height: 1;
	white-space: nowrap;
}

/* Gold count badges (cart + wishlist). */
.avh-badge {
	position: absolute;
	top: -38%;
	right: -48%;
	display: grid;
	place-items: center;
	min-width: clamp(16px, 1.6vw, 23px);
	height: clamp(16px, 1.6vw, 23px);
	padding: 0 4px;
	border-radius: 999px;
	background: var(--avhoron-gold);
	color: var(--avhoron-burgundy);
	font-family: var(--avh-font-sans);
	font-size: clamp(9.5px, .9vw, 13px);
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 0 0 2px var(--avhoron-burgundy);
}

/* Mobile-only controls are hidden on desktop. */
.avh-header .avh-burger,
.avh-header .avh-mobile-actions { display: none; }

.avh-icon-btn {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	color: var(--avhoron-icon);
	transition: color var(--avh-ease);
}
.avh-icon-btn:hover { color: var(--avhoron-gold); }
.avh-icon-btn .avh-icon { width: 24px; height: 24px; }

/* ==========================================================================
   3. Search overlay
   ========================================================================== */
.avh-search[hidden],
.avh-drawer[hidden] { display: none !important; }

/* No-JavaScript fallback: the ☰ link targets #avh-drawer. */
.avh-drawer.avh-drawer:target { display: block !important; }
.avh-drawer:target .avh-drawer__backdrop { opacity: 1; }
.avh-drawer:target .avh-drawer__panel { transform: none; }

/* Keep the ☰ button above anything that might overlap it and remove tap delay. */
.avh-header .avh-burger,
.avh-header .avh-mobile-actions { position: relative; z-index: 5; }
.avh-header .avh-icon-btn,
.avh-bottombar__item { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }

.avh-search {
	position: fixed;
	inset: 0;
	z-index: 100000;
}
.avh-search__backdrop,
.avh-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(24, 0, 6, .55);
	opacity: 0;
	transition: opacity var(--avh-ease);
}
.avh-search__panel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: clamp(22px, 3vw, 40px) var(--avh-pad-x);
	background: var(--avhoron-burgundy);
	border-bottom: 2px solid var(--avhoron-gold);
	transform: translateY(-100%);
	transition: transform var(--avh-ease);
}
.avh-search.is-open .avh-search__backdrop,
.avh-drawer.is-open .avh-drawer__backdrop { opacity: 1; }
.avh-search.is-open .avh-search__panel { transform: none; }

.avh-search__form {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 900px;
	margin: 0 auto;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--avhoron-border);
	color: var(--avhoron-gold);
}
.avh-search__form .avh-icon { width: 24px; height: 24px; }
.avh-search .avh-search__input,
.avh-search .avh-search__input:focus {
	flex: 1;
	min-width: 0;
	padding: 6px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline: none;
	font-family: var(--avh-font-serif);
	font-size: clamp(20px, 2vw, 28px);
	color: var(--avhoron-text);
}
.avh-search .avh-search__input::placeholder { color: var(--avhoron-text); opacity: .55; }
.avh-search .avh-search__submit,
.avh-search .avh-search__submit:hover,
.avh-search .avh-search__submit:focus {
	padding: 11px 22px;
	border: 0;
	border-radius: 0;
	background: var(--avhoron-gold);
	color: var(--avhoron-burgundy);
	font-family: var(--avh-font-sans);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}
.avh-search .avh-search__submit:hover { background: var(--avhoron-light-gold); }

/* ==========================================================================
   4. Mobile drawer
   ========================================================================== */
.avh-drawer { position: fixed; inset: 0; z-index: 100000; }
.avh-drawer__panel {
	position: absolute;
	top: 0; bottom: 0; left: 0;
	display: flex;
	flex-direction: column;
	width: min(86vw, 360px);
	padding: 18px 24px calc(28px + env(safe-area-inset-bottom, 0px));
	overflow-y: auto;
	overscroll-behavior: contain;
	background-color: var(--avhoron-burgundy);
	background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, .016) 0 1px, transparent 1px 4px);
	border-right: 2px solid var(--avhoron-gold);
	color: var(--avhoron-text);
	transform: translateX(-100%);
	transition: transform var(--avh-ease);
}
.avh-drawer.is-open .avh-drawer__panel { transform: none; }

.avh-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 18px;
	margin-bottom: 8px;
	border-bottom: 1px solid rgba(233, 196, 111, .35);
}
.avh-drawer__logo { line-height: 0; }
.avh-drawer__logo img { width: min(var(--avh-logo-w-mobile), 50vw); }
.avh-drawer__close { margin-right: -10px; }

.avh-drawer__list > li > a {
	display: block;
	padding: calc(var(--avh-drawer-fs, 15px) * .9) 0;
	border-bottom: 1px solid rgba(233, 196, 111, .18);
	font-family: var(--avh-font-serif);
	font-size: var(--avh-drawer-fs, 15px);
	letter-spacing: .1em;
	line-height: 1.2;
	color: var(--avhoron-text);
	transition: color var(--avh-ease);
}
.avh-drawer__list a:hover,
.avh-drawer__list .current-menu-item > a,
.avh-drawer__list a[aria-current="page"] { color: var(--avhoron-gold); }
.avh-drawer__list .sub-menu { padding: 4px 0 8px 16px; }

/* Drawer: parent items expand/collapse their sub-menu. */
.avh-drawer .avh-drawer__parent,
.avh-drawer .avh-drawer__parent:hover,
.avh-drawer .avh-drawer__parent:focus {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: calc(var(--avh-drawer-fs, 15px) * .9) 0;
	border-bottom: 1px solid rgba(233, 196, 111, .18);
	font-family: var(--avh-font-serif);
	font-size: var(--avh-drawer-fs, 15px);
	letter-spacing: .1em;
	line-height: 1.2;
	text-align: left;
	color: var(--avhoron-text);
}
.avh-drawer .avh-drawer__parent .avh-caret { width: 18px; height: 18px; color: var(--avhoron-gold); transition: transform var(--avh-ease); }
.avh-drawer .avh-drawer__parent[aria-expanded="true"] { color: var(--avhoron-gold); }
.avh-drawer .avh-drawer__parent[aria-expanded="true"] .avh-caret { transform: rotate(180deg); }
.avh-drawer__list > li.menu-item-has-children:has(> .avh-drawer__parent) > .sub-menu { display: none; }
.avh-drawer__list > li.menu-item-has-children.is-open > .sub-menu { display: grid; }
/* Sub-categories in two tidy columns. */
.avh-drawer .avh-drawer__list .sub-menu {
	grid-template-columns: 1fr 1fr;
	column-gap: 12px;
	padding: 8px 0 14px 4px;
	border-bottom: 1px solid rgba(233, 196, 111, .18);
}
.avh-drawer .avh-drawer__list .sub-menu a {
	padding: 8px 0;
	font-family: var(--avh-font-sans);
	font-size: calc(var(--avh-drawer-fs, 15px) * .9);
	letter-spacing: .02em;
	opacity: .92;
}
.avh-drawer__list .sub-menu a {
	display: block;
	padding: 9px 0;
	font-family: var(--avh-font-serif);
	font-size: 18px;
	color: var(--avhoron-text);
	opacity: .9;
}

.avh-drawer .avh-drawer__links { margin-top: 22px; display: grid; gap: 4px; }
.avh-drawer__links a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	font-size: calc(var(--avh-drawer-fs, 15px) * .95);
	color: var(--avhoron-text);
}
.avh-drawer__links a:hover { color: var(--avhoron-gold); }
.avh-drawer__links .avh-icon { width: 22px; height: 22px; }

.avh-drawer__social { margin-top: auto; padding-top: 28px; }
.avh-drawer__social .avh-social { gap: 18px; }
.avh-drawer__social .avh-social a { color: var(--avhoron-gold); }
.avh-drawer__social .avh-social .avh-s-fg { fill: var(--avhoron-burgundy); }
.avh-drawer__social .avh-icon { width: 22px; }

html.avh-lock,
html.avh-lock body { overflow: hidden; }

/* ==========================================================================
   5. Responsive
   ========================================================================== */

/* Tablet landscape / small laptop: keep the desktop layout, use the tablet logo width. */
@media (max-width: 1199px) {
	.avh-logo img { width: min(var(--avh-logo-w-tablet), 16.2vw); }
	.avh-topbar__inner { padding: 0 7vw 0 11vw; }
}

/* Tablet portrait and phones: dedicated mobile header. */
@media (max-width: 991px) {
	.avh-topbar__inner { justify-content: space-between; gap: 12px; min-height: 32px; padding: 0 14px; }
	.avh-topbar__msg + .avh-topbar__msg,
	.avh-topbar__follow { display: none; }
	.avh-topbar__msg span { overflow: hidden; text-overflow: ellipsis; }
	.avh-header .avh-topbar__msgs { min-width: 0; }
	.avh-topbar__msg { min-width: 0; }
	.avh-topbar__social { flex-shrink: 0; }
	.avh-social { gap: 12px; }
	.avh-social a { min-width: 24px; min-height: 28px; }
	.avh-social .avh-icon { width: 15px; }
	.avh-topbar { font-size: 12px; }
	.avh-topbar__msg .avh-icon { width: 17px; }

	.avh-main__inner {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		height: 72px;
		padding: 0 8px 2px;
	}
	.avh-header .avh-nav,
	.avh-header .avh-divider,
	.avh-header .avh-actions { display: none; }

	.avh-header .avh-burger { display: inline-grid; justify-self: start; }
	.avh-logo { justify-self: center; }
	.avh-logo img { width: var(--avh-logo-w-tablet); max-width: 52vw; }
	.avh-header .avh-mobile-actions { display: flex; justify-self: end; }

	.avh-mobile-actions .avh-badge {
		top: 3px;
		right: 1px;
		min-width: 18px;
		height: 18px;
		font-size: 10.5px;
	}
}

@media (max-width: 767px) {
	.avh-logo img { width: var(--avh-logo-w-mobile); }
	.avh-main__inner { height: 64px; padding: 0 4px 2px; }
}

@media (max-width: 480px) {
	.avh-topbar { font-size: 11px; }
	.avh-topbar__inner { padding: 0 10px; gap: 8px; }
	.avh-topbar__msg .avh-icon { display: none; }
	.avh-social { gap: 9px; }
	.avh-social .avh-icon { width: 14px; }
}

@media (max-width: 360px) {
	.avh-topbar { font-size: 10px; }
	.avh-icon-btn { width: 42px; }
}

/* ==========================================================================
   6. Mobile bottom bar
   ========================================================================== */
.avh-bottombar { display: none; }

@media (max-width: 991px) {
	.avh-bottombar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 99990;
		display: flex;
		align-items: stretch;
		justify-content: space-around;
		padding: 4px 4px calc(4px + env(safe-area-inset-bottom, 0px));
		background: #fff;
		border-top: 1px solid rgba(63, 1, 14, .12);
		box-shadow: 0 -4px 18px rgba(30, 0, 6, .08);
		font-family: var(--avh-font-sans);
		-webkit-font-smoothing: antialiased;
	}
	body.avh-has-bottombar { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)); }

	.avh-bottombar .avh-bottombar__item,
	.avh-bottombar .avh-bottombar__item:hover,
	.avh-bottombar .avh-bottombar__item:focus {
		position: relative;
		flex: 1 1 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		min-height: 52px;
		margin: 0;
		padding: 4px 2px;
		border: 0;
		border-radius: 0;
		background: none;
		box-shadow: none;
		color: var(--avhoron-burgundy);
		font: inherit;
		text-decoration: none;
		cursor: pointer;
	}
	.avh-bottombar__icon { position: relative; line-height: 0; }
	.avh-bottombar .avh-icon { display: block; width: 23px; height: 23px; }
	.avh-bottombar__label {
		font-size: 10.5px;
		font-weight: 600;
		letter-spacing: .06em;
		line-height: 1;
		text-transform: uppercase;
	}
	.avh-bottombar__item.is-active::before {
		content: "";
		position: absolute;
		top: -4px;
		left: 50%;
		width: 26px;
		height: 3px;
		border-radius: 0 0 3px 3px;
		background: var(--avhoron-gold);
		transform: translateX(-50%);
	}
	.avh-bottombar .avh-badge {
		top: -7px;
		right: -11px;
		min-width: 17px;
		height: 17px;
		padding: 0 4px;
		font-size: 10px;
		box-shadow: 0 0 0 2px #fff;
	}
	.avh-bottombar a:focus-visible,
	.avh-bottombar button:focus-visible {
		outline: 2px solid var(--avhoron-gold);
		outline-offset: -3px;
		border-radius: 6px;
	}

	/* Burgundy style */
	.avh-bottombar--dark {
		background: var(--avhoron-burgundy);
		border-top: 2px solid var(--avhoron-gold);
	}
	.avh-bottombar--dark .avh-bottombar__item,
	.avh-bottombar--dark .avh-bottombar__item:hover,
	.avh-bottombar--dark .avh-bottombar__item:focus { color: var(--avhoron-text); }
	.avh-bottombar--dark .avh-bottombar__item.is-active { color: var(--avhoron-gold); }
	.avh-bottombar--dark .avh-badge { box-shadow: 0 0 0 2px var(--avhoron-burgundy); }

	/* Lift Astra's scroll-to-top button above the bar */
	body.avh-has-bottombar #ast-scroll-top { bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important; }
}


/* ==========================================================================
   7. Mega menu (desktop)
   ========================================================================== */
@media (min-width: 992px) {
	/* Let the parent item fill the header height so moving the mouse into
	   the panel never closes it. */
	.avh-mega-on .avh-nav { align-self: stretch; display: flex; }
	.avh-mega-on .avh-nav__list { height: 100%; }
	.avh-mega-on .avh-nav__list > li.menu-item-has-children {
		position: static;
		display: flex;
		align-items: center;
		align-self: stretch;
	}
	.avh-mega-on .avh-nav__list > li.menu-item-has-children::before { display: none; }

	.avh-header .avh-mega {
		position: absolute;
		top: calc(100% - 2px);
		left: var(--avh-pad-x);
		right: calc(var(--avh-pad-x) * .7);
		z-index: 60;
		background: #fff;
		border-radius: 0 0 6px 6px;
		box-shadow: 0 18px 40px rgba(30, 0, 6, .14);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(6px);
		transition: opacity var(--avh-ease), transform var(--avh-ease), visibility 0s linear .2s;
		font-family: var(--avh-font-sans);
		cursor: auto;
	}
	.avh-header .avh-nav__list > li:hover > .avh-mega,
	.avh-header .avh-nav__list > li:focus-within > .avh-mega {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		transition: opacity var(--avh-ease), transform var(--avh-ease), visibility 0s;
	}
	.avh-header .avh-mega__inner {
		display: flex;
		gap: clamp(28px, 3.5vw, 60px);
		max-height: calc(100vh - 200px);
		padding: 28px 30px 30px;
		overflow-y: auto;
	}
	.avh-header .avh-mega__col--promo {
		display: flex;
		gap: 22px;
		margin-left: auto;
	}
	.avh-header .avh-mega__heading {
		margin: 0 0 14px;
		font-family: var(--avh-font-sans);
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .08em;
		line-height: 1.3;
		text-transform: uppercase;
		color: #1d1d1d;
	}
	/* Reset the generic dropdown styles inside the panel. */
	.avh-header .avh-mega .sub-menu,
	.avh-header .avh-mega .avh-mega__list {
		position: static;
		display: block;
		min-width: 0;
		max-height: none;
		margin: 0;
		padding: 0;
		background: none;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: inherit; /* stay hidden (and un-hoverable) while the panel is closed */
		pointer-events: inherit; /* clickable exactly when the panel is open */
		transform: none;
		overflow: visible;
	}
	.avh-header .avh-mega__col--cats .avh-mega__list { columns: 3 150px; column-gap: 36px; }
	.avh-header .avh-mega .avh-mega__list li { break-inside: avoid; }
	.avh-header .avh-mega .avh-mega__list a {
		display: block;
		padding: 5px 0;
		font-family: var(--avh-font-sans);
		font-size: 14px;
		font-weight: 400;
		line-height: 1.45;
		letter-spacing: .01em;
		text-transform: none;
		color: #4a4a4a;
		white-space: nowrap;
		transition: color var(--avh-ease), transform var(--avh-ease);
	}
	.avh-header .avh-mega .avh-mega__list a:hover,
	.avh-header .avh-mega .avh-mega__list .current-menu-item > a {
		color: var(--avhoron-burgundy);
		transform: translateX(2px);
	}
	.avh-header .avh-mega__promo {
		display: block;
		width: clamp(150px, 14vw, 220px);
		color: #1d1d1d;
	}
	.avh-header .avh-mega__promo img {
		display: block;
		width: 100%;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		border-radius: 4px;
		transition: opacity var(--avh-ease);
	}
	.avh-header .avh-mega__promo:hover img { opacity: .9; }
	.avh-header .avh-mega__promo-label {
		display: block;
		margin-top: 10px;
		font-size: 13px;
		line-height: 1.35;
		color: #2a2a2a;
	}
}
@media (max-width: 1199px) and (min-width: 992px) {
	.avh-header .avh-mega__col--promo .avh-mega__promo:nth-child(2) { display: none; }
}
@media (max-width: 991px) {
	.avh-header .avh-mega { display: none; }
}


/* ==========================================================================
   8. Auto-fit (desktop): applied by JS only when the header overflows.
   ========================================================================== */
@media (min-width: 992px) {
	/* Step 1: icons only (labels stay available to screen readers). */
	.avh-header.is-compact .avh-action__label {
		position: absolute !important;
		width: 1px; height: 1px;
		margin: -1px; padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
	.avh-header.is-compact .avh-actions { gap: 18px; margin-left: 1.8vw; }
	.avh-header.is-compact .avh-action { min-width: 40px; }
	/* Step 2: tighter menu. */
	.avh-header.is-tight .avh-nav__list { gap: 14px; }
	.avh-header.is-tight .avh-nav__list > li > a,
	.avh-header.is-tight .avh-nav__list > li > .avh-nav__parent { font-size: calc(var(--avh-nav-fs, 14px) * .92); }
	.avh-header.is-tight .avh-logo img { width: min(var(--avh-logo-w), 10vw); }
	.avh-header.is-tight .avh-main__inner { padding-left: 3vw; padding-right: 2vw; }
	/* Step 3: tightest. */
	.avh-header.is-tightest .avh-nav__list { gap: 10px; }
	.avh-header.is-tightest .avh-nav__list > li > a,
	.avh-header.is-tightest .avh-nav__list > li > .avh-nav__parent { font-size: calc(var(--avh-nav-fs, 14px) * .84); letter-spacing: 0; }
	.avh-header.is-tightest .avh-actions { gap: 12px; margin-left: 1vw; }
	.avh-header.is-tightest .avh-divider { margin: 0 4px; }
	.avh-header.is-tightest .avh-main__nav,
	.avh-header.is-tightest .avh-main__inner > .avh-nav { padding: 0 8px; }

	/* Step 4: still too wide → use the mobile-style header (☰ menu). */
	.avh-header.is-collapsed .avh-main__inner {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		height: 80px;
		padding: 0 16px 2px;
	}
	.avh-header.is-collapsed .avh-nav,
	.avh-header.is-collapsed .avh-divider,
	.avh-header.is-collapsed .avh-actions { display: none; }
	.avh-header.is-collapsed .avh-burger { display: inline-grid; justify-self: start; }
	.avh-header.is-collapsed .avh-logo { justify-self: center; }
	.avh-header.is-collapsed .avh-logo img { width: var(--avh-logo-w-tablet); }
	.avh-header.is-collapsed .avh-mobile-actions { display: flex; justify-self: end; }
}

@media (prefers-reduced-motion: reduce) {
	.avh-bottombar *,
	.avh-header *,
	.avh-search *,
	.avh-drawer * { transition: none !important; }
}
