/* ==========================================================================
   Menu mobile/tablet a tutto schermo — spazioso, editoriale
   ========================================================================== */

.asm-mmenu {
	position: fixed;
	inset: var(--asm-admin-bar) 0 0 0;
	z-index: 300;
	display: flex;
	flex-direction: column;
	background: var(--asm-nero);
	color: var(--asm-avorio);
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 380ms var(--asm-ease), transform 380ms var(--asm-ease);
}
.asm-mmenu[hidden] { display: none; }
.asm-mmenu.is-open { opacity: 1; transform: none; }

.asm-mmenu__head {
	display: grid;
	grid-template-columns: 38px 1fr 38px;
	align-items: center;
	justify-items: center;
	flex: 0 0 auto;
	height: var(--asm-header-h);
	padding-inline: var(--asm-gutter);
	border-bottom: 1px solid var(--asm-header-line);
}
.asm-mmenu__head > :first-child { justify-self: start; margin-left: -9px; }
.asm-mmenu__head > :last-child { justify-self: end; margin-right: -9px; }
.asm-mmenu .asm-icon { width: 19px; height: 19px; stroke-width: 1; }
.asm-mmenu .asm-logo__main { font-size: 18px; }
.asm-mmenu .asm-logo__top { font-size: 8px; margin-bottom: 5px; }

.asm-mmenu__body {
	flex: 1 1 auto;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: clamp(40px, 8vh, 72px) var(--asm-gutter) 48px;
}

.asm-mnav { margin: 0; padding: 0; list-style: none; }
.asm-mnav > .asm-nav__item { display: block; }
.asm-mnav > .asm-nav__item + .asm-nav__item { margin-top: clamp(18px, 3.2vh, 28px); }
.asm-mnav .asm-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	height: auto;
	padding: 0;
	font-family: var(--asm-font-display);
	font-size: clamp(26px, 7vw, 36px);
	letter-spacing: 0.06em;
	line-height: 1.2;
}
.asm-mnav .asm-nav__label::after { bottom: -4px; }
.asm-mnav .asm-nav__link .asm-icon { width: 16px; height: 16px; stroke-width: 1; transition: transform 300ms var(--asm-ease); }
.asm-mnav .asm-nav__link[aria-expanded="true"] .asm-icon { transform: rotate(180deg); }

/* Secondo livello: fragranze */
.asm-mnav__sub {
	margin: 20px 0 6px;
	padding: 0 0 0 2px;
	list-style: none;
	animation: asm-mmenu-sub 320ms var(--asm-ease);
}
.asm-mnav__sub[hidden] { display: none; }
.asm-mnav__sub li + li { margin-top: 14px; }
.asm-mnav__sub a {
	font-family: var(--asm-font-sans);
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--asm-on-dark-soft);
}
.asm-mnav__sub a:hover { color: var(--asm-oro); }
@keyframes asm-mmenu-sub { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Voci secondarie: ricerca, account, lingua */
.asm-mmenu__secondary {
	margin: clamp(48px, 9vh, 80px) 0 0;
	padding: 28px 0 0;
	list-style: none;
	border-top: 1px solid var(--asm-line-dark);
}
.asm-mmenu__secondary > li + li { margin-top: 20px; }
.asm-mmenu__sec-link,
.asm-mmenu__sec-label {
	display: inline-block;
	padding: 0;
	border: 0;
	background: none;
	color: var(--asm-on-dark-soft);
	font-family: var(--asm-font-sans);
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	transition: color 260ms var(--asm-ease);
}
.asm-mmenu__sec-link:hover, .asm-mmenu__sec-link[aria-expanded="true"] { color: var(--asm-oro); }
.asm-mmenu__lang { display: flex; align-items: flex-start; gap: 20px; }
.asm-mmenu__search { display: flex; align-items: center; margin-top: 14px; border-bottom: 1px solid rgba(241, 237, 227, 0.35); }
.asm-mmenu__search[hidden] { display: none; }
.asm-mmenu__search input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 48px;
	border: 0;
	background: transparent;
	color: var(--asm-avorio);
	font-family: var(--asm-font-display);
	font-size: 20px;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

/* Pagina bloccata mentre il menu è aperto */
html.asm-locked, html.asm-locked body { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
	.asm-mmenu, .asm-mnav__sub { transition: none; animation: none; }
}
