/* Header sponsoring.reelxv.com - tout est préfixé .spons-* : aucun impact sur le site principal */

:root {
	--spons-navy: #2b2054;
	--spons-pink: #d87fa9;
	--spons-h: 96px;
	--spons-h-small: 64px;
	--spons-top: 0px;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body.sponsoring-minimal { padding-top: var(--spons-h); }
body.sponsoring-minimal.admin-bar { --spons-top: 32px; }
@media (max-width: 782px) { body.sponsoring-minimal.admin-bar { --spons-top: 46px; } }

/* Les ancres ne passent pas sous le header fixe */
body.sponsoring-minimal [id] { scroll-margin-top: calc(var(--spons-h-small) + var(--spons-top) + 12px); }

.spons-header {
	position: fixed;
	top: var(--spons-top);
	left: 0;
	right: 0;
	z-index: 9999;
	height: var(--spons-h);
	background: #fff;
	color: var(--spons-navy);
	box-shadow: 0 0 0 rgba(43, 32, 84, 0);
	transition: height .25s ease, box-shadow .25s ease;
}
.spons-header.is-scrolled {
	height: var(--spons-h-small);
	box-shadow: 0 2px 14px rgba(43, 32, 84, .14);
}

.spons-header__inner {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 32px;
}

/* Marque : logo + 30px + texte */
.spons-header .spons-brand {
	display: flex;
	align-items: center;
	gap: 30px;
	text-decoration: none;
	color: var(--spons-navy);
}
.spons-header .spons-brand__logo {
	display: block;
	width: auto;
	height: 68px;
	transition: height .25s ease;
}
.spons-header.is-scrolled .spons-brand__logo { height: 44px; }
.spons-header .spons-brand__name {
	font-family: 'Teko', 'Barlow Condensed', Impact, sans-serif;
	font-weight: 600;
	font-size: 42px;
	line-height: 1;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--spons-navy);
	transition: font-size .25s ease;
}
.spons-header.is-scrolled .spons-brand__name { font-size: 32px; }

/* Navigation à droite */
.spons-header .spons-nav {
	display: flex;
	align-items: center;
	gap: 36px;
	margin-left: auto;
}
.spons-header .spons-menu {
	display: flex;
	align-items: center;
	gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.spons-header .spons-menu__item { margin: 0; padding: 0; list-style: none; }
.spons-header .spons-menu__link {
	display: inline-block;
	padding: 6px 0;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--spons-navy);
	text-decoration: none;
	border-bottom: 3px solid transparent;
	transition: border-color .2s ease;
}
.spons-header .spons-menu__link:hover,
.spons-header .spons-menu__link:focus-visible { color: var(--spons-navy); border-bottom-color: rgba(216, 127, 169, .55); }
.spons-header .spons-menu__link.is-active { color: var(--spons-navy); border-bottom-color: var(--spons-pink); }

/* Bouton Devenir partenaire */
.spons-header .spons-cta {
	display: inline-block;
	padding: 13px 26px;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	color: var(--spons-navy);
	background: var(--spons-pink);
	border: 2px solid var(--spons-pink);
	border-radius: 8px;
	text-decoration: none;
	transition: background-color .2s ease, border-color .2s ease;
}
.spons-header .spons-cta:hover,
.spons-header .spons-cta:focus-visible {
	color: #fff;
	background: var(--spons-navy);
	border-color: var(--spons-navy);
}
.spons-header a:focus-visible,
.spons-header button:focus-visible { outline: 2px solid var(--spons-pink); outline-offset: 3px; }

/* Burger (mobile) */
.spons-header .spons-burger {
	display: none;
	width: 44px;
	height: 44px;
	padding: 0;
	margin-left: auto;
	cursor: pointer;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
}
/* Le thème colore tous les <button> en rose : on neutralise explicitement */
.spons-header .spons-burger,
.spons-header .spons-burger:hover,
.spons-header .spons-burger:focus,
.spons-header .spons-burger:active {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--spons-navy) !important;
}
.spons-header .spons-burger__bar {
	display: block;
	width: 26px;
	height: 3px;
	background: var(--spons-navy);
	border-radius: 2px;
	transition: transform .2s ease, opacity .2s ease;
}
.spons-header .spons-burger[aria-expanded="true"] .spons-burger__bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.spons-header .spons-burger[aria-expanded="true"] .spons-burger__bar:nth-child(2) { opacity: 0; }
.spons-header .spons-burger[aria-expanded="true"] .spons-burger__bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

@media (max-width: 1080px) {
	.spons-header__inner { padding: 0 20px; }
	.spons-header .spons-burger { display: flex; }
	.spons-header .spons-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
		margin: 0;
		padding: 20px 20px 24px;
		background: #fff;
		box-shadow: 0 10px 18px rgba(43, 32, 84, .14);
	}
	.spons-header .spons-nav.is-open { display: flex; }
	.spons-header .spons-menu { flex-direction: column; align-items: flex-start; gap: 14px; }
	.spons-header .spons-cta { text-align: center; }
}
@media (max-width: 560px) {
	:root { --spons-h: 76px; --spons-h-small: 60px; }
	.spons-header .spons-brand { gap: 14px; }
	.spons-header .spons-brand__logo { height: 50px; }
	.spons-header .spons-brand__name { font-size: 32px; }
	.spons-header.is-scrolled .spons-brand__logo { height: 40px; }
	.spons-header.is-scrolled .spons-brand__name { font-size: 28px; }
}

/* Pages sponsoring : pas de marges du thème autour du contenu (blocs pleine largeur) */
body.sponsoring-minimal .page_content_wrap,
body.sponsoring-minimal .content_wrap { margin-top: 0; margin-bottom: 0; }
