/* CNS Site Header — CoachNutriSport */

.cns-site-header {
	--cns-lime: #c8f000;
	--cns-green: #0c1c14;
	--cns-green-bar: #0a1610;
	--cns-panel: #12281c;
	--cns-muted: #a8b3ad;
	--cns-ink: #111;
	--cns-font: "Poppins", system-ui, sans-serif;
	--cns-bar-h: 80px;
	position: sticky;
	top: 0;
	z-index: 1200 !important;
	font-family: var(--cns-font);
	color: #fff;
}

.cns-site-header__bar {
	position: relative;
	z-index: 2;
	background: var(--cns-green-bar);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.cns-site-header__inner {
	max-width: 1240px;
	margin: 0 auto;
	min-height: var(--cns-bar-h);
	padding: 0 clamp(0.85rem, 2.5vw, 1.5rem);
	display: flex;
	align-items: center;
	gap: 1rem;
	box-sizing: border-box;
}

.cns-site-header__brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	max-width: 260px;
	text-decoration: none !important;
	line-height: 0;
	overflow: hidden;
}

.cns-site-header__brand-img {
	display: block;
	height: 54px !important;
	width: auto !important;
	max-width: 240px !important;
	max-height: 54px !important;
	object-fit: contain !important;
}

.cns-site-header__nav {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	justify-content: center;
}

.cns-site-header__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 0.15rem;
	flex-wrap: wrap;
	justify-content: center;
}

.cns-site-header__item {
	position: relative;
	margin: 0;
}

.cns-site-header__link,
.cns-site-header__trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	min-height: 44px;
	padding: 0.45rem 0.7rem;
	border: 0;
	background: transparent;
	color: #fff !important;
	font-family: inherit;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	border-radius: 0.4rem;
	white-space: nowrap;
}

.cns-site-header__link:hover,
.cns-site-header__link:focus,
.cns-site-header__trigger:hover,
.cns-site-header__trigger:focus,
.cns-site-header__item.is-open > .cns-site-header__trigger {
	color: var(--cns-lime) !important;
	outline: none;
}

.cns-site-header__item.is-open > .cns-site-header__trigger {
	box-shadow: inset 0 -2px 0 var(--cns-lime);
}

.cns-site-header__chevron {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff !important;
	line-height: 0;
	transition: transform 0.18s ease;
}

.cns-site-header__chevron svg {
	display: block;
	width: 16px;
	height: 16px;
	fill: none !important;
	stroke: currentColor !important;
	color: #fff !important;
}

.cns-site-header__link:hover .cns-site-header__chevron,
.cns-site-header__trigger:hover .cns-site-header__chevron,
.cns-site-header__item.is-open > .cns-site-header__trigger .cns-site-header__chevron {
	color: var(--cns-lime) !important;
}

.cns-site-header__link:hover .cns-site-header__chevron svg,
.cns-site-header__trigger:hover .cns-site-header__chevron svg,
.cns-site-header__item.is-open > .cns-site-header__trigger .cns-site-header__chevron svg {
	color: var(--cns-lime) !important;
	stroke: currentColor !important;
}

.cns-site-header__item.is-open .cns-site-header__chevron {
	transform: rotate(180deg);
}

.cns-site-header__actions {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	flex: 0 0 auto;
	margin-left: auto;
}

.cns-site-header__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-height: 44px;
	padding: 0.55rem 1rem;
	border-radius: 999px;
	background: var(--cns-lime);
	color: #111 !important;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
}

.cns-site-header__cta:hover,
.cns-site-header__cta:focus {
	filter: brightness(0.97);
	color: #111 !important;
	text-decoration: none !important;
}

.cns-site-header__cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #111 !important;
	line-height: 0;
}

.cns-site-header__cta-icon svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: none !important;
	stroke: currentColor !important;
	color: #111 !important;
}

.cns-site-header__burger {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 0.5rem;
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	cursor: pointer;
}

.cns-site-header__burger[aria-expanded="true"] .cns-site-header__burger-open,
.cns-site-header__burger:not([aria-expanded="true"]) .cns-site-header__burger-close {
	display: none;
}

/* Panels */
.cns-site-header__panel {
	position: absolute;
	top: calc(100% + 0.55rem);
	left: 50%;
	transform: translateX(-50%);
	min-width: 280px;
	padding: 0.85rem;
	border-radius: 0.9rem;
	background: var(--cns-panel);
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
	z-index: 5;
}

.cns-site-header__panel[hidden] {
	display: none !important;
}

.cns-site-header__panel--mega {
	left: 50%;
	width: min(920px, calc(100vw - 2rem));
	padding: 1.15rem 1.25rem 1.25rem;
}

.cns-site-header__item--mega .cns-site-header__panel--mega {
	left: 50%;
}

.cns-site-header__panel-eyebrow {
	margin: 0 0 0.85rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cns-muted) !important;
}

.cns-site-header__mega-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
}

.cns-site-header__mega-card {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	min-height: 100%;
	padding: 1rem 0.95rem;
	border-radius: 0.75rem;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.06);
	text-decoration: none !important;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.cns-site-header__mega-card:hover,
.cns-site-header__mega-card:focus {
	background: rgba(200, 240, 0, 0.06);
	border-color: rgba(200, 240, 0, 0.28);
	text-decoration: none !important;
}

.cns-site-header__mega-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: var(--cns-lime);
	color: #111 !important;
	margin-bottom: 0.25rem;
}

/* Stroke Lucide — neutralize Elementor `.elementor-element svg { fill: currentcolor }` */
.cns-site-header__mega-icon svg,
.cns-site-header__simple-icon svg {
	display: block;
	width: 22px !important;
	height: 22px !important;
	color: #111 !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.cns-site-header__mega-icon svg *,
.cns-site-header__simple-icon svg * {
	fill: none !important;
	stroke: currentColor !important;
	color: #111 !important;
}

.cns-site-header__mega-title,
.cns-site-header__simple-title {
	display: block;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.3;
	color: #fff !important;
}

.cns-site-header__mega-text,
.cns-site-header__simple-text {
	display: block;
	font-size: 0.84rem;
	font-weight: 400;
	line-height: 1.4;
	color: var(--cns-muted) !important;
}

.cns-site-header__simple-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.cns-site-header__simple-link {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.7rem 0.65rem;
	border-radius: 0.65rem;
	text-decoration: none !important;
}

.cns-site-header__simple-link:hover,
.cns-site-header__simple-link:focus {
	background: rgba(255, 255, 255, 0.05);
	text-decoration: none !important;
}

.cns-site-header__simple-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	background: var(--cns-lime);
	color: #111 !important;
	flex: 0 0 auto;
}

.cns-site-header__simple-icon svg {
	width: 20px !important;
	height: 20px !important;
}

.cns-site-header__simple-copy {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

/* Mobile drawer */
.cns-site-header__drawer,
.cns-site-header__backdrop {
	display: none;
}

.cns-site-header__drawer[hidden],
.cns-site-header__backdrop[hidden] {
	display: none !important;
}

/* Anti-tokens + anti-Elementor img */
.wpcursor-component.wpcursor-cns-site-header,
.wpcursor-component.wpcursor-cns-site-header a,
.wpcursor-component.wpcursor-cns-site-header button,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__trigger-label,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__link,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__mega-title,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__simple-title,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__drawer-link,
.wpcursor-component.wpcursor-cns-site-header summary {
	color: #fff !important;
	text-decoration: none !important;
}

.wpcursor-component.wpcursor-cns-site-header .cns-site-header__brand-img,
.elementor-location-header .cns-site-header__brand-img {
	height: 54px !important;
	width: auto !important;
	max-width: 240px !important;
	max-height: 54px !important;
	object-fit: contain !important;
}

/* Force chevrons blancs / lime (anti-fill Elementor / thème) */
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__chevron,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__chevron svg {
	color: #fff !important;
	fill: none !important;
	stroke: currentColor !important;
}

.wpcursor-component.wpcursor-cns-site-header .cns-site-header__trigger:hover .cns-site-header__chevron,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__trigger:hover .cns-site-header__chevron svg,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__item.is-open > .cns-site-header__trigger .cns-site-header__chevron,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__item.is-open > .cns-site-header__trigger .cns-site-header__chevron svg {
	color: #c8f000 !important;
	stroke: currentColor !important;
	fill: none !important;
}

.wpcursor-component.wpcursor-cns-site-header .cns-site-header__cta-icon,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__cta-icon svg,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__drawer-cta svg {
	color: #111 !important;
	fill: none !important;
	stroke: currentColor !important;
}

/* Panel icons: kill Elementor fill on svg/path/circle/rect */
.elementor-location-header .cns-site-header__mega-icon svg,
.elementor-location-header .cns-site-header__simple-icon svg,
.elementor-element .cns-site-header__mega-icon svg,
.elementor-element .cns-site-header__simple-icon svg,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__mega-icon svg,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__simple-icon svg,
.elementor-location-header .cns-site-header__mega-icon svg *,
.elementor-location-header .cns-site-header__simple-icon svg *,
.elementor-element .cns-site-header__mega-icon svg *,
.elementor-element .cns-site-header__simple-icon svg *,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__mega-icon svg *,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__simple-icon svg * {
	fill: none !important;
	stroke: currentColor !important;
	color: #111 !important;
}

.wpcursor-component.wpcursor-cns-site-header .cns-site-header__bar,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__inner {
	min-height: var(--cns-bar-h);
	max-height: none;
}

.wpcursor-component.wpcursor-cns-site-header .cns-site-header__cta,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__cta *,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__drawer-cta,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__drawer-cta * {
	color: #111 !important;
}

.wpcursor-component.wpcursor-cns-site-header .cns-site-header__item.is-open > .cns-site-header__trigger,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__trigger:hover,
.wpcursor-component.wpcursor-cns-site-header .cns-site-header__link:hover {
	color: #c8f000 !important;
}

/* Neutralize Elementor header chrome when wrapping shortcode */
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-column,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-header .elementor-widget-shortcode {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	min-height: 0 !important;
}

.elementor-location-header .elementor-element {
	--widgets-spacing: 0px;
}

.elementor-location-header,
.elementor-location-header.elementor-sticky--active,
.elementor-location-header.elementor-sticky--effects {
	z-index: 1200 !important;
}

/* Sticky UbriS header is in-flow — kill legacy 110px offset for old fixed Elementor header */
html body[class*="page-id-"] main#content.site-main,
html body[class*="page-id-"] #content.site-main,
html body.elementor-page main#content.site-main,
html body.elementor-page #content.site-main,
html body main#content.site-main,
html body #content.site-main {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

@media (max-width: 1100px) {
	.cns-site-header__nav {
		display: none;
	}

	.cns-site-header__burger {
		display: inline-flex;
		position: relative;
		z-index: 100060;
		pointer-events: auto;
	}

	.cns-site-header__cta-label {
		display: none;
	}

	.cns-site-header__cta {
		padding: 0.55rem;
		width: 44px;
		height: 44px;
		border-radius: 999px;
		position: relative;
		z-index: 100060;
	}

	/* Backdrop under drawer — was covering all taps when z-index tied */
	.cns-site-header__backdrop {
		display: block;
		position: fixed;
		inset: 0;
		top: var(--cns-bar-h);
		z-index: 100020 !important;
		background: rgba(0, 0, 0, 0.45);
		pointer-events: auto;
	}

	.cns-site-header__drawer {
		display: block;
		position: fixed;
		inset: var(--cns-bar-h) 0 0 0;
		z-index: 100030 !important;
		background: var(--cns-green-bar);
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		pointer-events: auto !important;
	}

	.cns-site-header__drawer-inner {
		position: relative;
		z-index: 1;
		padding: 1rem 1.1rem 2.5rem;
		display: flex;
		flex-direction: column;
		gap: 0.15rem;
		pointer-events: auto !important;
	}

	.cns-site-header__drawer a,
	.cns-site-header__drawer summary,
	.cns-site-header__drawer details,
	.cns-site-header__drawer button {
		pointer-events: auto !important;
		position: relative;
		z-index: 2;
	}

	.cns-site-header__drawer-cta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		min-height: 48px;
		margin-bottom: 0.65rem;
		padding: 0.75rem 1rem;
		border-radius: 999px;
		background: var(--cns-lime) !important;
		color: #111 !important;
		font-weight: 700;
		text-decoration: none !important;
	}

	.cns-site-header__drawer-link,
	.cns-site-header__acc summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		width: 100%;
		min-height: 48px;
		padding: 0.7rem 0.35rem;
		font-size: 1.02rem;
		font-weight: 700;
		color: #fff !important;
		text-decoration: none !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		cursor: pointer;
		list-style: none;
		box-sizing: border-box;
		background: transparent;
	}

	.cns-site-header__acc summary::-webkit-details-marker {
		display: none;
	}

	.cns-site-header__acc-label {
		flex: 1 1 auto;
		text-align: left;
		color: #fff !important;
	}

	.cns-site-header__acc-chevron {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		color: #fff !important;
		transition: transform 0.18s ease;
		line-height: 0;
	}

	.cns-site-header__acc-chevron svg {
		display: block;
		width: 18px;
		height: 18px;
		fill: none !important;
		stroke: currentColor !important;
		color: #fff !important;
	}

	.cns-site-header__acc[open] > summary .cns-site-header__acc-chevron {
		transform: rotate(180deg);
		color: #c8f000 !important;
	}

	.cns-site-header__acc[open] > summary .cns-site-header__acc-chevron svg {
		color: #c8f000 !important;
	}

	.cns-site-header__acc[open] > summary {
		color: #c8f000 !important;
		border-bottom-color: rgba(200, 240, 0, 0.28);
	}

	.cns-site-header__acc ul {
		list-style: none;
		margin: 0 0 0.35rem;
		padding: 0.15rem 0 0.5rem 0.85rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.cns-site-header__acc a {
		display: flex;
		align-items: center;
		padding: 0.65rem 0.25rem;
		min-height: 44px;
		color: rgba(255, 255, 255, 0.88) !important;
		text-decoration: none !important;
		font-size: 0.95rem;
		font-weight: 500;
	}

	.cns-site-header__acc a:hover,
	.cns-site-header__acc a:focus {
		color: #c8f000 !important;
	}

	body.cns-header-drawer-open {
		overflow: hidden;
	}

	/* Keep float / cookie widgets from eating taps over the open drawer */
	body.cns-header-drawer-open .cns-site-float,
	body.cns-header-drawer-open .cns-float {
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

@media (min-width: 1101px) {
	.cns-site-header__item--mega {
		position: static;
	}

	.cns-site-header__panel--mega {
		left: 50%;
		transform: translateX(-50%);
		top: calc(100% + 0.35rem);
		position: absolute;
	}
}