/* Externalise depuis la modification #56, bloc inline #60 — position et ordre de cascade inchanges */

/* G6M_HEADER_CTA_V423
   Shared header CTA component for guest Connexion + S'inscrire.
   Same chrome (height, pad, radius, gradient, hover, typography).
   Only text + icon differ.

   V427: kill guest .p-nav-opposite glass plate from nav-user-cluster-v204
   (backdrop-filter / border / gradient shell around the CTA).
*/

:root {
	--g6m-header-cta: V423;
	--g6m-header-cta-h: 34px;
	--g6m-header-cta-pad-x: 18px;
	--g6m-header-cta-icon-gap: 9px;
	--g6m-header-cta-pair-gap: 16px;
	--g6m-header-cta-radius: 15px;
	--g6m-header-cta-ease: 250ms cubic-bezier(0.22, 1, 0.36, 1);
	--g6m-header-cta-grad: linear-gradient(115deg, #ff0b8b 0%, #8b3dff 48%, #00d7ff 100%);
	--g6m-header-cta-grad-hot: linear-gradient(115deg, #ff3da3 0%, #a855f7 45%, #3de0ff 100%);
}

/*
  Guest only: remove the frosted rectangle behind Connexion / S'inscrire.
  Cause: g6m-nav-user-cluster-v204 glass shell on .p-nav-opposite
  (backdrop-filter + padding + z-index stacking over sticky blur).
  Do not touch the CTA button itself.
  Use html#XF to beat g6m-header-slim-v354 padding on .p-nav-opposite.
*/
html#XF body .p-nav > .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite,
html#XF body .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite,
html body .p-nav > .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite,
html body .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite,
html body .p-nav-inner:has(.p-navgroup--guest) .p-nav-opposite {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	width: fit-content !important;
	min-width: 0 !important;
	max-width: none !important;
	z-index: auto !important;
	isolation: auto !important;
	position: relative !important;
	overflow: visible !important;
	transform: none !important;
	filter: none !important;
	/* gap on opposite invents ghost flex slots (display:contents leftovers) → plate wider than CTA */
	gap: 0 !important;
	column-gap: 0 !important;
	row-gap: 0 !important;
}

html#XF body .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite > .p-navgroup,
html#XF body .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite > .p-navgroup.p-account,
html#XF body .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite > .p-navgroup.p-discovery,
html body .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite > .p-navgroup,
html body .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite > .p-navgroup.p-account,
html body .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite > .p-navgroup.p-discovery,
html body .p-nav-inner:has(.p-navgroup--guest) .p-navgroup.p-account.p-navgroup--guest,
html body .p-nav-inner:has(.p-navgroup--guest) .p-navgroup.p-discovery {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	gap: 0 !important;
}

/* Guest: force-hide Quoi de neuf (v327 restyles it as flex and beats v363) */
html#XF body .p-nav-inner:has(.p-navgroup--guest) a.p-navgroup-link--whatsnew,
html#XF body .p-nav .p-nav-opposite:has(.p-navgroup--guest) a.p-navgroup-link--whatsnew,
html body .p-nav-inner:has(.p-navgroup--guest) a.p-navgroup-link--whatsnew,
html body .p-nav .p-nav-opposite:has(.p-navgroup--guest) a.p-navgroup-link--whatsnew,
html body .p-nav-inner:has(.p-navgroup--guest) .p-navgroup.p-discovery a.p-navgroup-link--whatsnew {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	position: absolute !important;
	left: -9999px !important;
}

/* Space between Connexion + S'inscrire via sibling margin (not opposite gap) */
html body .p-nav-inner:has(.p-navgroup--guest) a.p-navgroup-link--logIn + a.p-navgroup-link--register,
html body .p-navgroup--guest a.p-navgroup-link--logIn + a.p-navgroup-link--register,
html body a.g6m-header-cta.p-navgroup-link--logIn + a.g6m-header-cta.p-navgroup-link--register {
	margin-left: var(--g6m-header-cta-pair-gap) !important;
}

/* Guest account cluster: align Connexion / S'inscrire (spacing via sibling margin) */
html body .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite,
html body .p-nav-inner:has(.p-navgroup--guest) .p-nav-opposite,
html body .p-nav-inner:has(.p-navgroup--guest) .p-navgroup.p-account.p-navgroup--guest {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
}

html body .p-nav-inner:has(.p-navgroup--guest) .p-navgroup.p-account.p-navgroup--guest {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0 !important;
}

/* —— Shared component —— */
html body a.g6m-header-cta,
html body .p-nav-inner:has(.p-navgroup--guest) a:is(.p-navgroup-link--logIn, .p-navgroup-link--register),
html body .p-nav .p-nav-opposite a:is(.p-navgroup-link--logIn, .p-navgroup-link--register),
html body .p-nav .p-nav-opposite .p-navgroup.p-account.p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register),
html body .p-nav-inner:has(.p-navgroup--guest) > .p-nav-opposite .p-navgroup.p-account.p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register),
html body .p-nav-inner > .p-nav-opposite .p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register),
html body .p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register) {
	display: inline-flex !important;
	flex-direction: row !important;
	flex: 0 0 auto !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	gap: var(--g6m-header-cta-icon-gap) !important;
	box-sizing: border-box !important;

	width: fit-content !important;
	max-width: none !important;
	min-width: auto !important;
	height: var(--g6m-header-cta-h) !important;
	min-height: var(--g6m-header-cta-h) !important;
	max-height: var(--g6m-header-cta-h) !important;

	padding: 0 var(--g6m-header-cta-pad-x) !important;
	margin: 0 !important;

	border: 0 !important;
	border-radius: var(--g6m-header-cta-radius) !important;

	background-image: var(--g6m-header-cta-grad) !important;
	background-size: 140% 140% !important;
	background-position: 0% 50% !important;
	background-repeat: no-repeat !important;
	background-color: transparent !important;

	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	transform: none !important;
	filter: none !important;
	box-shadow: none !important;
	overflow: visible !important;

	transition:
		transform var(--g6m-header-cta-ease),
		box-shadow var(--g6m-header-cta-ease),
		filter var(--g6m-header-cta-ease),
		background-position var(--g6m-header-cta-ease) !important;
}

html body a.g6m-header-cta:hover,
html body a.g6m-header-cta:focus-visible,
html body .p-nav-inner:has(.p-navgroup--guest) a:is(.p-navgroup-link--logIn, .p-navgroup-link--register):hover,
html body .p-nav-inner:has(.p-navgroup--guest) a:is(.p-navgroup-link--logIn, .p-navgroup-link--register):focus-visible,
html body .p-nav .p-nav-opposite a:is(.p-navgroup-link--logIn, .p-navgroup-link--register):hover,
html body .p-nav .p-nav-opposite a:is(.p-navgroup-link--logIn, .p-navgroup-link--register):focus-visible,
html body .p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register):hover,
html body .p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register):focus-visible {
	background-image: var(--g6m-header-cta-grad-hot) !important;
	background-position: 100% 50% !important;
	transform: translateY(-1px) !important;
	filter: brightness(1.05) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-decoration: none !important;
	box-shadow:
		0 8px 20px rgba(255, 11, 139, 0.28),
		0 0 14px rgba(0, 215, 255, 0.18) !important;
}

html body a.g6m-header-cta:active,
html body .p-nav-inner:has(.p-navgroup--guest) a:is(.p-navgroup-link--logIn, .p-navgroup-link--register):active,
html body .p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register):active {
	transform: scale(0.98) !important;
	filter: brightness(0.98) !important;
	box-shadow: none !important;
}

/* Shared icon chrome */
html body a.g6m-header-cta > i,
html body .p-nav-inner:has(.p-navgroup--guest) a:is(.p-navgroup-link--logIn, .p-navgroup-link--register) > i,
html body .p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register) > i {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	width: 1rem !important;
	height: 1rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background-color: transparent !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	-webkit-text-fill-color: transparent !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
}

html body a.g6m-header-cta > i::before,
html body a.g6m-header-cta > i::after,
html body .p-nav-inner:has(.p-navgroup--guest) a:is(.p-navgroup-link--logIn, .p-navgroup-link--register) > i::before,
html body .p-nav-inner:has(.p-navgroup--guest) a:is(.p-navgroup-link--logIn, .p-navgroup-link--register) > i::after,
html body .p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register) > i::before,
html body .p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register) > i::after {
	content: none !important;
	display: none !important;
}

html body a.g6m-header-cta > i svg,
html body .p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register) > i svg {
	display: none !important;
}

/* Register: user-plus */
html body a.g6m-header-cta.p-navgroup-link--register > i,
html body .p-nav-inner:has(.p-navgroup--guest) a.p-navgroup-link--register > i,
html body .p-navgroup--guest a.p-navgroup-link--register > i {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cline x1='19' y1='8' x2='19' y2='14'/%3E%3Cline x1='22' y1='11' x2='16' y2='11'/%3E%3C/svg%3E") !important;
}

/* Connexion: key */
html body a.g6m-header-cta.p-navgroup-link--logIn > i,
html body .p-nav-inner:has(.p-navgroup--guest) a.p-navgroup-link--logIn > i,
html body .p-navgroup--guest a.p-navgroup-link--logIn > i {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='15.5' r='5.5'/%3E%3Cpath d='m21 2-1.5 1.5'/%3E%3Cpath d='M11.5 11.5 21 2'/%3E%3Cpath d='m15.5 7.5 3 3L22 7l-3-3'/%3E%3C/svg%3E") !important;
}

/* Shared label typography */
html body a.g6m-header-cta .p-navgroup-linkText,
html body .p-nav-inner:has(.p-navgroup--guest) a:is(.p-navgroup-link--logIn, .p-navgroup-link--register) .p-navgroup-linkText,
html body .p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register) .p-navgroup-linkText {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	font-family: Rajdhani, Inter, "Segoe UI", sans-serif !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	white-space: nowrap !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: none !important;
	background-image: none !important;
	text-align: center !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
}

@media (max-width: 1100px) {
	:root {
		--g6m-header-cta-h: 32px;
		--g6m-header-cta-pad-x: 14px;
		--g6m-header-cta-icon-gap: 8px;
		--g6m-header-cta-pair-gap: 12px;
		--g6m-header-cta-radius: 14px;
	}

	html body a.g6m-header-cta .p-navgroup-linkText,
	html body .p-navgroup--guest a:is(.p-navgroup-link--logIn, .p-navgroup-link--register) .p-navgroup-linkText {
		font-size: 0.84rem !important;
	}
}

@media (max-width: 720px) {
	:root {
		--g6m-header-cta-h: 32px;
		--g6m-header-cta-pad-x: 14px;
		--g6m-header-cta-pair-gap: 10px;
	}
}

/* END G6M_HEADER_CTA_V423 */

