/* Miss Horlogerie — fixed bar + full-screen overlay menu. */

/* ---- Top bar ---- */
.mh-bar {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 1000;
	transition: transform .4s cubic-bezier( .16, 1, .3, 1 ), background-color .3s ease;
}
.mh-bar--hidden { transform: translateY( -100% ); }
.mh-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: clamp( 16px, 2.4vw, 30px ) clamp( 18px, 4vw, 56px );
}
.mh-bar__title {
	font-family: var( --mh-font-logo );
	font-size: clamp( 1.5rem, 2.8vw, 2.2rem );
	color: var( --mh-primary );
	text-decoration: none;
	letter-spacing: .06em;
}
.mh-bar .custom-logo-link { display: inline-block; max-width: 300px; }
.mh-bar .custom-logo { height: auto; max-height: 64px; width: auto; display: block; }

/* Hamburger */
.mh-burger {
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	background: none;
	padding: 8px;
	cursor: pointer;
	color: var( --mh-dark );
	line-height: 0;
}
.mh-burger__box { display: inline-flex; flex-direction: column; gap: 6px; width: 30px; }
.mh-burger__line {
	display: block;
	height: 2px;
	width: 100%;
	background: currentColor;
	border-radius: 2px;
	transition: transform .3s ease, opacity .2s ease;
}
.mh-burger:hover .mh-burger__line:nth-child(2) { transform: scaleX( .7 ); transform-origin: right; }

/* ---- Overlay menu ---- */
.mh-menu {
	position: fixed;
	inset: 0;
	z-index: 1100;
	background: var( --mh-dark );
	color: #fff;
	display: flex;
	flex-direction: column;
	opacity: 0;
	visibility: hidden;
	transition: opacity .42s cubic-bezier( .16, 1, .3, 1 ), visibility .42s;
}
.mh-menu.is-open { opacity: 1; visibility: visible; }
.mh-menu[hidden] { display: none; }

.mh-menu__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: clamp( 16px, 2.4vw, 30px ) clamp( 18px, 4vw, 56px );
}
.mh-menu__brand .mh-bar__title,
.mh-menu__brand .custom-logo-link { filter: brightness( 1.6 ); }
.mh-menu__close {
	-webkit-appearance: none; appearance: none; border: 0; background: none;
	color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; padding: 6px 10px;
	transition: transform .3s ease;
}
.mh-menu__close:hover { transform: rotate( 90deg ); }

.mh-menu__nav {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mh-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}
.mh-menu__list li { overflow: hidden; }
.mh-menu__list a {
	display: inline-block;
	font-family: var( --mh-font-heading );
	font-size: clamp( 1.9rem, 5.5vw, 3.4rem );
	font-weight: 500;
	letter-spacing: .01em;
	color: rgba( 255, 255, 255, .9 );
	text-decoration: none;
	padding: .22em 0;
	transition: color .3s ease, letter-spacing .3s ease;
}
.mh-menu__list a:hover { letter-spacing: .05em; }
.mh-menu__list a:hover,
.mh-menu__list .current-menu-item > a { color: var( --mh-primary ); }

/* Staggered reveal of items when opening. */
.mh-menu__list li {
	opacity: 0;
	transform: translateY( 18px );
}
.mh-menu.is-open .mh-menu__list li {
	opacity: 1;
	transform: none;
	transition: opacity .5s ease, transform .5s cubic-bezier( .16, 1, .3, 1 );
}
.mh-menu.is-open .mh-menu__list li:nth-child(1) { transition-delay: .08s; }
.mh-menu.is-open .mh-menu__list li:nth-child(2) { transition-delay: .14s; }
.mh-menu.is-open .mh-menu__list li:nth-child(3) { transition-delay: .20s; }
.mh-menu.is-open .mh-menu__list li:nth-child(4) { transition-delay: .26s; }
.mh-menu.is-open .mh-menu__list li:nth-child(5) { transition-delay: .32s; }
.mh-menu.is-open .mh-menu__list li:nth-child(6) { transition-delay: .38s; }

.mh-menu__foot {
	text-align: center;
	padding: 0 0 clamp( 22px, 4vh, 44px );
	font-size: .72rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba( 255, 255, 255, .4 );
}

/* Lock background scroll while menu is open. */
body.mh-menu-open { overflow: hidden; }

@media ( prefers-reduced-motion: reduce ) {
	.mh-menu, .mh-menu__list li { transition: none !important; }
	.mh-menu__list li { opacity: 1; transform: none; }
}
