/* G6M_BUNDLE_12 — 4 feuilles, ordre du document preserve */
/* ==== g6m-auth-top-space-v349.css ==== */
/* G6M_AUTH_TOP_SPACE_V349 — pull register/login content up under the nav */
html#XF body[data-template="login"] .p-body,
html#XF body.template-login .p-body,
html#XF body[data-template="login_password"] .p-body,
html#XF body[data-template="login_two_step"] .p-body,
html#XF body[data-template="register_form"] .p-body,
html#XF body.template-register_form .p-body {
	justify-content: flex-start !important;
	align-items: stretch !important;
}

/* XF page title + off-canvas were leaving ~120–140px dead space above the auth hero */
html#XF body[data-template="login"] .p-body-header,
html#XF body.template-login .p-body-header,
html#XF body[data-template="login_password"] .p-body-header,
html#XF body[data-template="login_two_step"] .p-body-header,
html#XF body[data-template="register_form"] .p-body-header,
html#XF body.template-register_form .p-body-header,
html#XF body[data-template="login"] .p-title,
html#XF body[data-template="register_form"] .p-title,
html#XF body[data-template="login"] .p-description,
html#XF body[data-template="register_form"] .p-description {
	display: none !important;
	height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	visibility: hidden !important;
}

html#XF body[data-template="login"] .offCanvasMenu--nav,
html#XF body[data-template="register_form"] .offCanvasMenu--nav,
html#XF body.template-login .offCanvasMenu--nav,
html#XF body.template-register_form .offCanvasMenu--nav {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

html#XF body[data-template="login"] .p-body-inner,
html#XF body.template-login .p-body-inner,
html#XF body[data-template="register_form"] .p-body-inner,
html#XF body.template-register_form .p-body-inner {
	padding-top: clamp(0.45rem, 1.4vh, 0.9rem) !important;
	margin-top: 0.55rem !important;
	margin-bottom: 2rem !important;
}

html#XF body[data-template="register_form"] .p-body-pageContent,
html#XF body.template-register_form .p-body-pageContent,
html#XF body[data-template="login"] .p-body-pageContent,
html#XF body.template-login .p-body-pageContent {
	padding-top: clamp(0.35rem, 1vh, 0.75rem) !important;
}

html#XF body[data-template="register_form"] .g6m-register-hero,
html#XF body.template-register_form .g6m-register-hero,
html#XF body[data-template="login"] .g6m-login-hero,
html#XF body.template-login .g6m-login-hero {
	margin-top: 0 !important;
}

html#XF body[data-template="register_form"] .g6m-register-hero__eyebrow,
html#XF body.template-register_form .g6m-register-hero__eyebrow {
	margin-top: 0 !important;
}

/* ==== g6m-inline-p2-07-v701.css ==== */
/* Externalise (passe 2) — bloc inline #7 — position inchangee */

/* G6M_AUTH_TOP_SPACE_V349 â€” pull register/login content up under the nav */
html#XF body[data-template="login"] .p-body,
html#XF body.template-login .p-body,
html#XF body[data-template="login_password"] .p-body,
html#XF body[data-template="login_two_step"] .p-body,
html#XF body[data-template="register_form"] .p-body,
html#XF body.template-register_form .p-body {
	justify-content: flex-start !important;
	align-items: stretch !important;
}

/* XF page title + off-canvas were leaving ~120â€“140px dead space above the auth hero */
html#XF body[data-template="login"] .p-body-header,
html#XF body.template-login .p-body-header,
html#XF body[data-template="login_password"] .p-body-header,
html#XF body[data-template="login_two_step"] .p-body-header,
html#XF body[data-template="register_form"] .p-body-header,
html#XF body.template-register_form .p-body-header,
html#XF body[data-template="login"] .p-title,
html#XF body[data-template="register_form"] .p-title,
html#XF body[data-template="login"] .p-description,
html#XF body[data-template="register_form"] .p-description {
	display: none !important;
	height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	visibility: hidden !important;
}

html#XF body[data-template="login"] .offCanvasMenu--nav,
html#XF body[data-template="register_form"] .offCanvasMenu--nav,
html#XF body.template-login .offCanvasMenu--nav,
html#XF body.template-register_form .offCanvasMenu--nav {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

html#XF body[data-template="login"] .p-body-inner,
html#XF body.template-login .p-body-inner,
html#XF body[data-template="register_form"] .p-body-inner,
html#XF body.template-register_form .p-body-inner {
	padding-top: clamp(0.45rem, 1.4vh, 0.9rem) !important;
	margin-top: 0.55rem !important;
	margin-bottom: 2rem !important;
}

html#XF body[data-template="register_form"] .p-body-pageContent,
html#XF body.template-register_form .p-body-pageContent,
html#XF body[data-template="login"] .p-body-pageContent,
html#XF body.template-login .p-body-pageContent {
	padding-top: clamp(0.35rem, 1vh, 0.75rem) !important;
}

html#XF body[data-template="register_form"] .g6m-register-hero,
html#XF body.template-register_form .g6m-register-hero,
html#XF body[data-template="login"] .g6m-login-hero,
html#XF body.template-login .g6m-login-hero {
	margin-top: 0 !important;
}

html#XF body[data-template="register_form"] .g6m-register-hero__eyebrow,
html#XF body.template-register_form .g6m-register-hero__eyebrow {
	margin-top: 0 !important;
}

/* ==== g6m-register-contour-v350.css ==== */
/* G6M_REGISTER_CONTOUR_V350 — neon pink→violet→cyan ring on register card
   NOTE: XF 2.3 puts data-template on <html>, not <body>. */

html#XF[data-template="register_form"] .g6m-register-shell,
html#XF.template-register_form .g6m-register-shell,
html[data-template="register_form"] .g6m-register-shell,
html.template-register_form .g6m-register-shell {
	position: relative !important;
	isolation: isolate !important;
	width: min(700px, 100%) !important;
	max-width: 700px !important;
	margin: 0 auto !important;
	padding: 2rem 1.85rem 2.1rem !important;
	border-radius: 20px !important;
	border: 0 !important;
	outline: 0 !important;
	background:
		radial-gradient(120% 90% at 8% 0%, rgba(255, 11, 139, 0.1) 0%, transparent 42%),
		radial-gradient(110% 80% at 100% 100%, rgba(0, 215, 255, 0.08) 0%, transparent 48%),
		linear-gradient(165deg, rgba(16, 12, 26, 0.96) 0%, rgba(8, 8, 14, 0.97) 100%) !important;
	background-clip: padding-box !important;
	box-shadow:
		0 28px 70px rgba(0, 0, 0, 0.62),
		0 0 0 1px rgba(255, 255, 255, 0.045),
		0 0 36px rgba(255, 11, 139, 0.2),
		0 0 58px rgba(141, 56, 255, 0.16),
		0 0 40px rgba(0, 215, 255, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
	overflow: visible !important;
	box-sizing: border-box !important;
}

/* Primary neon contour (mask ring) */
html#XF[data-template="register_form"] .g6m-register-shell::before,
html#XF.template-register_form .g6m-register-shell::before,
html[data-template="register_form"] .g6m-register-shell::before,
html.template-register_form .g6m-register-shell::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	border-radius: inherit !important;
	padding: 2px !important;
	background: linear-gradient(
		125deg,
		#ff0b8b 0%,
		#ff4fc0 22%,
		#8d38ff 52%,
		#3ecbff 78%,
		#00d7ff 100%
	) !important;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0) !important;
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0) !important;
	-webkit-mask-composite: xor !important;
	mask-composite: exclude !important;
	pointer-events: none !important;
	z-index: 6 !important;
	opacity: 1 !important;
}

/* Soft outer halo */
html#XF[data-template="register_form"] .g6m-register-shell::after,
html#XF.template-register_form .g6m-register-shell::after,
html[data-template="register_form"] .g6m-register-shell::after,
html.template-register_form .g6m-register-shell::after {
	content: "" !important;
	position: absolute !important;
	inset: -3px !important;
	border-radius: 23px !important;
	padding: 3px !important;
	background: linear-gradient(
		125deg,
		rgba(255, 11, 139, 0.7) 0%,
		rgba(141, 56, 255, 0.45) 50%,
		rgba(0, 215, 255, 0.65) 100%
	) !important;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0) !important;
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0) !important;
	-webkit-mask-composite: xor !important;
	mask-composite: exclude !important;
	pointer-events: none !important;
	z-index: 5 !important;
	opacity: 0.55 !important;
	filter: blur(4px) !important;
}

html#XF[data-template="register_form"] .g6m-register-shell > *,
html#XF.template-register_form .g6m-register-shell > *,
html[data-template="register_form"] .g6m-register-shell > * {
	position: relative !important;
	z-index: 7 !important;
}

/* Kill plain purple XF/critical card border — shell owns the frame */
html#XF[data-template="register_form"] .g6m-register-shell .block-container,
html#XF[data-template="register_form"] .g6m-register-shell .g6m-register-card,
html#XF.template-register_form .g6m-register-card,
html[data-template="register_form"] .g6m-register-card,
html.template-register_form .block-container.g6m-register-card {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	background-image: none !important;
	outline: 0 !important;
}

/* Login card chrome moved to g6m-login-card-premium-v352.css
   (pageContent owns the premium shell — do not restyle nested block-container here). */

/* ==== g6m-back-to-top-v227.css ==== */
/* G6M_BACK_TO_TOP_V227 — same as site portal back-to-top */
/* --g6m-back-to-top: V227 */

html body .g6m-back-to-top,
html body button.g6m-back-to-top {
	position: fixed !important;
	bottom: 1.5rem !important;
	right: 1.5rem !important;
	z-index: 900 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 999px !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	background: rgba(18, 16, 28, 0.95) !important;
	backdrop-filter: blur(12px) saturate(1.1) !important;
	-webkit-backdrop-filter: blur(12px) saturate(1.1) !important;
	color: #00d7ff !important;
	box-shadow:
		0 0 24px rgba(255, 11, 139, 0.55),
		0 0 48px rgba(141, 56, 255, 0.32),
		inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: translateY(1rem) !important;
	transition:
		opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0.28s,
		transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		color 0.25s ease !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	outline: none !important;
}

html body .g6m-back-to-top.is-visible,
html body button.g6m-back-to-top.is-visible {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: translateY(0) !important;
}

html body .g6m-back-to-top:hover,
html body button.g6m-back-to-top:hover {
	border-color: rgba(0, 215, 255, 0.4) !important;
	color: #5cefff !important;
	box-shadow:
		0 0 22px rgba(0, 215, 255, 0.58),
		0 0 44px rgba(0, 215, 255, 0.24),
		0 0 28px rgba(255, 11, 139, 0.35),
		inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
	transform: translateY(-2px) !important;
}

html body .g6m-back-to-top:active,
html body button.g6m-back-to-top:active {
	transform: translateY(0) scale(0.96) !important;
}

html body .g6m-back-to-top:focus-visible,
html body button.g6m-back-to-top:focus-visible {
	outline: 2px solid #00d7ff !important;
	outline-offset: 3px !important;
}

html body .g6m-back-to-top svg {
	width: 20px !important;
	height: 20px !important;
	display: block !important;
	pointer-events: none !important;
	flex-shrink: 0 !important;
}

/* Avoid clash with XF / UI.X scroll helpers if present — hide duplicates */
html body .uix_scrollToTop:not(.g6m-back-to-top),
html body .scrollToTop:not(.g6m-back-to-top),
html body a.p-scrollToTop:not(.g6m-back-to-top) {
	display: none !important;
}

@media (max-width: 650px) {
	html body .g6m-back-to-top,
	html body button.g6m-back-to-top {
		bottom: 1rem !important;
		right: 1rem !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body .g6m-back-to-top,
	html body button.g6m-back-to-top {
		transition: opacity 0.15s ease, visibility 0.15s !important;
		transform: none !important;
	}

	html body .g6m-back-to-top:hover,
	html body button.g6m-back-to-top:hover {
		transform: none !important;
	}
}

/* END G6M_BACK_TO_TOP_V227 */
