/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author: UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*
 * Metronomi – Header / Navbar / Overlay
 * Design system (couleurs, typo, variables) : metronomi-design-system.css
 *
 * Structure :
 *   1. Base header
 *   2. Navbar – barre
 *   3. Navbar – logo
 *   4. Navbar – liens
 *   5. Navbar – icône / toggle
 *   6. Navbar – lignes sous la barre
 *   7. Desktop (media query)
 *   8. Overlay menu
 */

/* ==========================================================================
   1. Base header
   ========================================================================== */

.header-style-metronomi .l-header,
#metronomi-navbar {
	background: transparent !important;
	display: block !important;
	visibility: visible !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Navbar fixe en haut au scroll */
#metronomi-navbar {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 9999;
	pointer-events: none;
}
#metronomi-navbar .metronomi-navbar-wrap {
	pointer-events: auto;
}

/* Fond body par défaut #0B1315 (INK BLACK) */
body.header-style-metronomi {
	background: #0B1315;
	padding-top: 72px;
}

.header-style-metronomi .l-subheader.at_middle {
	display: block !important;
	visibility: visible !important;
	overflow: visible !important;
	min-height: var(--metronomi-navbar-min-height) !important;
	line-height: 1.2 !important;
}

/* Layout Figma 85:2585 : logo à gauche, nav au centre, icône à droite (space-between) */
.header-style-metronomi .l-subheader.at_middle .l-subheader-h {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	min-height: var(--metronomi-navbar-min-height) !important;
	gap: var(--metronomi-navbar-padding-x);
}
.header-style-metronomi .l-subheader-cell.at_center {
	flex: 1;
	min-width: 0;
}

/* ==========================================================================
   2. Navbar – barre (pilule)
   ========================================================================== */

/* Barre header – Figma Inspect : fond semi-transparent, blur, radius 10px, padding 20px 26px */
.header-style-metronomi .l-subheader.at_middle {
	position: relative;
	overflow: hidden;
	padding-left: 0;
	padding-right: 0;
	background: var(--metronomi-navbar-bg) !important;
	backdrop-filter: blur(var(--metronomi-navbar-bg-blur, 10px));
	-webkit-backdrop-filter: blur(var(--metronomi-navbar-bg-blur, 10px));
	isolation: isolate; /* pour que le flou s’applique correctement */
	border-radius: var(--metronomi-navbar-radius);
	width: 100%;
	max-width: 100%;
	margin: 0;
	box-shadow: none;
	box-sizing: border-box;
}

/* Remplissage au scroll – toute la barre (toute la pilule) */
.header-style-metronomi .l-subheader.at_middle::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: calc(var(--metronomi-fill, 0) * 1%);
	max-width: 100%;
	background: var(--metronomi-navbar-fill);
	border-radius: var(--metronomi-navbar-radius) 0 0 var(--metronomi-navbar-radius);
	pointer-events: none;
	transition: width 0.25s ease-out;
	z-index: 0;
}

.header-style-metronomi .l-subheader.at_middle .l-subheader-h {
	position: relative;
	z-index: 1;
	max-width: none;
	padding: var(--metronomi-navbar-padding-y) var(--metronomi-navbar-padding-x);
	min-height: var(--metronomi-navbar-min-height);
}

.header-style-metronomi .l-subheader-cell.at_left {
	padding-left: var(--metronomi-navbar-padding-left-cell);
}

/* ==========================================================================
   3. Navbar – logo
   ========================================================================== */

.header-style-metronomi .l-subheader .w-image-h,
.header-style-metronomi .l-subheader .w-text-h,
.header-style-metronomi .l-subheader .w-image a,
.header-style-metronomi .l-subheader .w-text a {
	color: var(--metronomi-navbar-text) !important;
	font-weight: var(--metronomi-navbar-logo-weight);
	letter-spacing: var(--metronomi-navbar-logo-spacing);
	text-decoration: none;
}

.header-style-metronomi .l-subheader .w-image img {
	opacity: 1;
}

.header-style-metronomi .l-subheader .w-text-value {
	color: var(--metronomi-navbar-text) !important;
	text-transform: lowercase;
	font-family: var(--metronomi-font-body);
	font-size: var(--metronomi-navbar-logo-size);
	line-height: var(--metronomi-navbar-logo-line-height);
	letter-spacing: var(--metronomi-navbar-logo-spacing);
	font-weight: var(--metronomi-navbar-logo-weight);
}

/* ==========================================================================
   4. Navbar – liens de navigation
   ========================================================================== */

.header-style-metronomi .l-subheader .w-nav-list.level_1 > .menu-item > .w-nav-anchor,
.header-style-metronomi .l-subheader .w-nav-title {
	color: var(--metronomi-navbar-text-muted) !important;
	text-transform: uppercase;
	letter-spacing: var(--metronomi-navbar-nav-spacing);
	font-size: var(--metronomi-navbar-nav-size);
	line-height: 1.2;
	font-weight: var(--metronomi-navbar-nav-weight);
	font-family: var(--metronomi-font-body);
	text-decoration: none !important;
	border: none !important;
	box-shadow: none !important;
}

.header-style-metronomi .l-subheader .w-nav-anchor::before,
.header-style-metronomi .l-subheader .w-nav-anchor::after,
.header-style-metronomi .l-subheader .w-nav-title::before,
.header-style-metronomi .l-subheader .w-nav-title::after {
	display: none !important;
	content: none !important;
}

.header-style-metronomi .l-subheader .w-nav-list.level_1 > .menu-item > .w-nav-anchor:hover,
.header-style-metronomi .l-subheader .w-nav-title:hover,
.header-style-metronomi .l-subheader .w-nav-list.level_1 > .menu-item.current-menu-item > .w-nav-anchor {
	color: var(--metronomi-navbar-text) !important;
}

body.header-style-metronomi #metronomi-navbar .l-subheader.at_middle,
body.header-style-metronomi #metronomi-navbar .w-nav-anchor::before,
body.header-style-metronomi #metronomi-navbar .w-nav-anchor::after {
	box-shadow: none;
}

#metronomi-navbar .w-nav-anchor::before,
#metronomi-navbar .w-nav-anchor::after {
	display: none !important;
}

.header-style-metronomi .l-subheader-cell.at_right .w-nav-list {
	gap: var(--metronomi-space-lg);
}
/* Pas de lien "Accueil" sur la maquette : si le menu est vide, on n’affiche que logo + icône */
.header-style-metronomi .metronomi-bar-nav .w-nav-list:empty {
	display: none;
}

/* ==========================================================================
   5. Navbar – icône menu (triangle jaune) + toggle
   ========================================================================== */

.header-style-metronomi .l-subheader-cell.at_right {
	position: relative;
	padding-right: 44px;
}

.header-style-metronomi .l-subheader-cell.at_right::after {
	display: none;
}

.metronomi-menu-toggle {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 1;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.metronomi-navbar-icon {
	display: block;
	flex-shrink: 0;
}

/* Icône métronome (maquette – img/metronomi-metronome.svg) : couleur via currentColor */
.header-style-metronomi .metronomi-navbar-icon {
	color: var(--metronomi-navbar-icon);
	display: block;
	flex-shrink: 0;
}
.header-style-metronomi .metronomi-navbar-icon--fallback {
	font-size: 1.25rem;
	line-height: 1;
}

/* Bouton menu : n’afficher que notre icône métronome (pas d’icône thème / fallback navigateur) */
.header-style-metronomi .metronomi-menu-toggle {
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
	line-height: 0;
}
.header-style-metronomi .metronomi-menu-toggle .metronomi-navbar-icon {
	color: var(--metronomi-navbar-icon);
}
.header-style-metronomi .l-subheader-cell.at_right .w-nav-control {
	margin-left: var(--metronomi-space-sm);
}

/* ==========================================================================
   6. Navbar – wrapper + lignes sous la barre
   ========================================================================== */

.metronomi-navbar-wrap {
	width: 100%;
	max-width: 100%;
	margin: 0;
	box-sizing: border-box;
}

/* Lignes sous la barre – masquées (non prévues dans la maquette Figma) */
.metronomi-navbar-lines {
	display: none;
}
.metronomi-navbar-lines[aria-hidden="true"] {
	display: none;
}

.metronomi-navbar-line {
	display: block;
	height: 1px;
	background: var(--metronomi-navbar-line);
	width: 100%;
}

/* ==========================================================================
   6b. Menu au survol (mêmes dimensions que la navbar – Figma)
   ========================================================================== */

.metronomi-hover-menu {
	display: none;
}

@media (min-width: 1024px) {
	.metronomi-navbar-wrap {
		position: relative;
	}
	.metronomi-hover-menu {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		margin-top: 0;
		background: var(--metronomi-hover-menu-bg, var(--metronomi-navbar-bg));
		backdrop-filter: blur(var(--metronomi-hover-menu-blur, 10px));
		-webkit-backdrop-filter: blur(var(--metronomi-hover-menu-blur, 10px));
		border-radius: var(--metronomi-navbar-radius);
		box-sizing: border-box;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.25s ease, visibility 0.25s ease;
		z-index: 10;
		overflow: hidden;
	}
	.metronomi-navbar-wrap:hover .metronomi-hover-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.metronomi-hover-menu-inner {
		padding: var(--metronomi-hover-menu-padding, var(--metronomi-navbar-padding-x));
		padding-bottom: var(--metronomi-hover-menu-padding, 26px);
	}
	.metronomi-hover-menu-nav {
		display: flex;
		flex-direction: column;
		gap: var(--metronomi-space-md, 16px);
	}
	.metronomi-hover-menu-item {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		text-decoration: none;
		color: var(--metronomi-navbar-text);
		transition: color 0.2s ease, opacity 0.2s ease;
	}
	.metronomi-hover-menu-item:hover {
		opacity: 0.9;
	}
	.metronomi-hover-menu-title {
		font-family: var(--metronomi-font-body);
		font-size: var(--metronomi-hover-menu-title-size, 32px);
		font-weight: var(--metronomi-hover-menu-title-weight, 600);
		line-height: 1.2;
		letter-spacing: var(--metronomi-navbar-logo-spacing);
		color: inherit;
	}
	.metronomi-hover-menu-subtitle {
		font-family: var(--metronomi-font-body);
		font-size: var(--metronomi-hover-menu-subtitle-size, 12px);
		font-weight: 400;
		letter-spacing: var(--metronomi-navbar-nav-spacing);
		color: var(--metronomi-hover-menu-subtitle-color);
		margin-top: 2px;
	}
	.metronomi-hover-menu-footer {
		margin-top: var(--metronomi-space-2xl, 48px);
		padding-top: var(--metronomi-space-lg, 24px);
		position: relative;
	}
	.metronomi-hover-menu-contact {
		display: block;
		font-family: var(--metronomi-font-body);
		font-size: var(--metronomi-hover-menu-subtitle-size, 12px);
		letter-spacing: var(--metronomi-navbar-nav-spacing);
		color: var(--metronomi-hover-menu-subtitle-color);
		margin-bottom: var(--metronomi-space-sm, 8px);
	}
	.metronomi-hover-menu-cta {
		display: inline-block;
		font-family: var(--metronomi-font-body);
		font-size: var(--metronomi-hover-menu-title-size, 32px);
		font-weight: var(--metronomi-hover-menu-title-weight, 600);
		color: var(--metronomi-hover-menu-cta-color);
		text-decoration: none;
		letter-spacing: var(--metronomi-navbar-logo-spacing);
		transition: opacity 0.2s ease;
	}
	.metronomi-hover-menu-cta:hover {
		opacity: 0.9;
	}
	.metronomi-hover-menu-cta-line {
		display: block;
		width: 100%;
		max-width: 280px;
		height: 2px;
		background: var(--metronomi-hover-menu-cta-color);
		margin-top: 4px;
		margin-bottom: var(--metronomi-space-lg, 24px);
	}
	.metronomi-hover-menu-play {
		position: absolute;
		bottom: 0;
		right: 0;
		width: var(--metronomi-hover-menu-play-size, 48px);
		height: var(--metronomi-hover-menu-play-size, 48px);
		border-radius: 50%;
		background: var(--metronomi-hover-menu-cta-color);
		display: flex;
		align-items: center;
		justify-content: center;
		text-decoration: none;
		transition: opacity 0.2s ease, transform 0.2s ease;
	}
	.metronomi-hover-menu-play:hover {
		opacity: 0.95;
		transform: scale(1.05);
	}
	.metronomi-hover-menu-play-icon {
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 8px 0 8px 14px;
		border-color: transparent transparent transparent #0B1315;
		margin-left: 4px;
	}
}

/* ==========================================================================
   7. Desktop (≥ 1024px) – 1/3 écran, marges Figma
   ========================================================================== */

@media (min-width: 1024px) {
	.header-style-metronomi #metronomi-navbar .l-subheader.at_middle {
		width: var(--metronomi-navbar-desktop-width);
		min-width: var(--metronomi-navbar-desktop-min-width);
		max-width: var(--metronomi-navbar-desktop-width);
		min-height: var(--metronomi-navbar-min-height);
	}

	.header-style-metronomi #metronomi-navbar .l-subheader-h {
		padding-left: var(--metronomi-navbar-padding-x);
		padding-right: var(--metronomi-navbar-padding-x);
	}

	.metronomi-navbar-wrap {
		width: var(--metronomi-navbar-desktop-width);
		min-width: var(--metronomi-navbar-desktop-min-width);
		max-width: var(--metronomi-navbar-desktop-width);
		align-self: flex-start;
		margin-top: var(--metronomi-navbar-desktop-margin-top);
		margin-left: var(--metronomi-navbar-desktop-margin-left);
	}

	.metronomi-navbar-lines {
		width: var(--metronomi-navbar-desktop-width);
		min-width: var(--metronomi-navbar-desktop-min-width);
		max-width: var(--metronomi-navbar-desktop-width);
	}

	/* Espace réservé desktop : marges + hauteur barre + lignes */
	body.header-style-metronomi {
		padding-top: 98px;
	}
}

/* ==========================================================================
   8. Overlay menu
   ========================================================================== */

.metronomi-overlay {
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: var(--metronomi-overlay-bg);
	backdrop-filter: blur(8px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity var(--metronomi-overlay-transition), visibility var(--metronomi-overlay-transition);
}

.metronomi-overlay.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

body.metronomi-overlay-open {
	overflow: hidden;
}

.metronomi-overlay-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 100%;
	padding: var(--metronomi-space-3xl) var(--metronomi-space-xl);
	position: relative;
	width: 100%;
	max-width: var(--metronomi-overlay-max-width);
	box-sizing: border-box;
}

.metronomi-overlay-logo {
	color: var(--metronomi-overlay-text);
	font-family: var(--metronomi-font-body);
	font-weight: var(--metronomi-navbar-logo-weight);
	text-decoration: none;
	text-transform: lowercase;
	letter-spacing: var(--metronomi-navbar-logo-spacing);
	margin-bottom: var(--metronomi-space-2xl);
	font-size: var(--metronomi-font-size-h4);
	line-height: var(--metronomi-line-height-h4);
}

.metronomi-overlay-nav {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--metronomi-space-md);
}

.metronomi-overlay-link {
	color: var(--metronomi-overlay-text-muted);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: var(--metronomi-navbar-nav-spacing);
	font-size: var(--metronomi-font-size-body);
	font-weight: var(--metronomi-navbar-nav-weight);
	font-family: var(--metronomi-font-body);
	transition: color 0.2s ease;
}

.metronomi-overlay-link:hover,
.metronomi-overlay-link.active {
	color: var(--metronomi-overlay-text);
}

.metronomi-overlay-close {
	position: absolute;
	top: var(--metronomi-space-xl);
	right: var(--metronomi-space-xl);
	width: var(--metronomi-overlay-close-size);
	height: var(--metronomi-overlay-close-size);
	border: none;
	background: transparent;
	color: var(--metronomi-overlay-text);
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
	opacity: 0.8;
	transition: opacity 0.2s ease;
}

.metronomi-overlay-close:hover {
	opacity: 1;
}

/* ==========================================================================
   Fondation Arboretum – masquer les boutons
   ========================================================================== */

[class*="arboretum"] .elementor-button,
[class*="arboretum"] .elementor-element .e-con-inner > a[class*="button"],
[id*="arboretum"] .elementor-button,
[id*="arboretum"] .elementor-element .e-con-inner > a[class*="button"],
[class*="fondation-arboretum"] button,
[class*="fondation-arboretum"] .wp-block-button__link,
[class*="fondation-arboretum"] .elementor-button,
[id*="fondation-arboretum"] button,
[id*="fondation-arboretum"] .elementor-button {
	display: none !important;
}
