/* =========================================================
   AVELOR — Mobile slide-in nav drawer.
   Faithful build of the Claude Design "mobile burger menu":
   left slide-in panel + dimmed scrim, «МЕНЮ» eyebrow head with a
   close ✕, big display primary links, flat grouped sub-lists with a
   → that nudges on hover, and a quiet promo footer. NO accordion.

   Opened by the existing header hamburger (.ct-header-trigger) on
   mobile; see inc/mobile-nav.php. Class names mirror the design
   prototype's Header.jsx / styles.css. Tokens come from
   avelor-global.css (same values as the design's colors_and_type.css).
   ========================================================= */

.av-mnav {
	position: fixed;
	inset: 0;
	z-index: 100000;
	visibility: hidden;
	pointer-events: none;
}
.av-mnav.is-open {
	visibility: visible;
	pointer-events: auto;
}

/* Dimmed backdrop */
.av-mnav-scrim {
	position: absolute;
	inset: 0;
	background: rgba(20, 20, 20, 0.32);
	opacity: 0;
	transition: opacity var(--dur-base, 220ms) var(--ease-out, ease);
}
.av-mnav.is-open .av-mnav-scrim {
	opacity: 1;
}

/* Sliding panel */
.av-mnav-panel {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(86vw, 360px);
	background: var(--avelor-white, #fff);
	border-right: 1px solid var(--avelor-line, #D8D2CA);
	display: flex;
	flex-direction: column;
	transform: translateX(-100%);
	transition: transform var(--dur-base, 220ms) var(--ease-out, ease);
	box-shadow: 0 0 60px -20px rgba(20, 20, 20, 0.3);
}
.av-mnav.is-open .av-mnav-panel {
	transform: translateX(0);
}

/* Head: «МЕНЮ» eyebrow + close */
.av-mnav-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 56px;
	padding: 0 12px 0 var(--container-pad, 24px);
	border-bottom: 1px solid var(--avelor-line, #D8D2CA);
	flex: none;
}
.av-mnav-title {
	font-family: var(--font-sans, sans-serif);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--fg-secondary, #5A695F);
}
.av-mnav-close {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: 999px;
	color: var(--fg-primary, #202322);
	cursor: pointer;
	transition: background-color var(--dur-fast, 150ms) var(--ease-out, ease);
}
.av-mnav-close:hover,
.av-mnav-close:focus-visible {
	background: rgba(32, 35, 34, 0.06);
	outline: 0;
}
.av-mnav-close svg {
	display: block;
}

/* Scrollable body */
.av-mnav-body {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 8px var(--container-pad, 24px) 24px;
	display: flex;
	flex-direction: column;
}

/* Primary links — large display */
.av-mnav-primary {
	list-style: none;
	margin: 0;
	padding: 12px 0;
}
.av-mnav-primary li {
	margin: 0;
}
.av-mnav-link {
	display: block;
	font-family: var(--font-display, sans-serif);
	font-size: 26px;
	line-height: 1.5;
	letter-spacing: -0.015em;
	font-weight: 500;
	color: var(--avelor-graphite, #202322);
	text-decoration: none;
	padding: 4px 0;
	transition: color var(--dur-fast, 150ms) var(--ease-out, ease);
}
.av-mnav-link:hover,
.av-mnav-link.is-active {
	color: var(--avelor-deep-green, #1F3D35);
}

/* Grouped sub-sections (Бренди / Більше) */
.av-mnav-group {
	padding: 18px 0;
	border-top: 1px solid var(--avelor-line, #D8D2CA);
}
.av-mnav-group-label {
	display: block;
	font-family: var(--font-sans, sans-serif);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--fg-muted, #6F6F6A);
	margin-bottom: 6px;
}
.av-mnav-sub {
	list-style: none;
	margin: 0;
	padding: 0;
}
.av-mnav-sub li {
	margin: 0;
}
.av-mnav-sublink {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 11px 0;
	font-family: var(--font-sans, sans-serif);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.005em;
	color: var(--avelor-graphite, #202322);
	text-decoration: none;
	transition: color var(--dur-fast, 150ms) var(--ease-out, ease);
}
.av-mnav-sublink .lbl {
	white-space: nowrap;
}
.av-mnav-sublink .arr {
	color: var(--avelor-line, #D8D2CA);
	transition: transform var(--dur-base, 220ms) var(--ease-out, ease),
		color var(--dur-base, 220ms) var(--ease-out, ease);
}
.av-mnav-sublink:hover {
	color: var(--avelor-deep-green, #1F3D35);
}
.av-mnav-sublink:hover .arr {
	color: var(--avelor-deep-green, #1F3D35);
	transform: translateX(3px);
}

/* Foot — quiet promo lines */
.av-mnav-foot {
	flex: none;
	padding: 16px var(--container-pad, 24px);
	border-top: 1px solid var(--avelor-line, #D8D2CA);
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 12px;
	line-height: 1.4;
	color: var(--fg-muted, #6F6F6A);
}

/* Desktop uses the normal top nav — never show the mobile drawer there.
   Matches the header's 901px breakpoint (see avelor-megamenu.css). */
@media (min-width: 901px) {
	.av-mnav {
		display: none;
	}
}
