/* G6M_BUNDLE_28 — 5 feuilles, ordre du document preserve */
/* ==== g6m-register-cta-tos-fix-v448.css ==== */
/* G6M_REGISTER_CTA_TOS_FIX_V448
   Fixes 3 circled register bugs:
   1) TOS check — single clean square (no circular badge look)
   2–3) S'INSCRIRE — pink/cyan ghost caps from .formSubmitRow-controls
      inheriting the CTA gradient + horizontal padding.
*/

/* —— Parent must NOT look like the button —— */
html#XF[data-template="register_form"] form.g6m-register-form .formSubmitRow-controls,
html#XF.template-register_form form.g6m-register-form .formSubmitRow-controls,
html body[data-template="register_form"] form.g6m-register-form .formSubmitRow-controls {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-image: none !important;
	background-size: auto !important;
	box-shadow: none !important;
	filter: none !important;
	overflow: visible !important;
	transform: none !important;
	cursor: default !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: inherit !important;
	line-height: inherit !important;
}

/* —— Single flat CTA surface —— */
html#XF[data-template="register_form"] form.g6m-register-form .formSubmitRow .button.button--primary,
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-actions .button.button--primary,
html#XF[data-template="register_form"] form.g6m-register-form button[type="submit"].button--primary,
html#XF[data-template="register_form"] form.g6m-register-form #js-signUpButton,
html#XF.template-register_form form.g6m-register-form #js-signUpButton,
html body[data-template="register_form"] form.g6m-register-form #js-signUpButton {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 48px !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: 14px !important;
	background-color: #ff2fae !important;
	background-image: linear-gradient(105deg, #ff2fae 0%, #7a3cff 52%, #00d8ff 100%) !important;
	background-size: 100% 100% !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	overflow: hidden !important;
	isolation: isolate !important;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.3) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-size: 0.86rem !important;
	font-weight: 750 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	position: relative !important;
}

/* Kill decorative / icon ::before layers that can misalign edges */
html#XF[data-template="register_form"] form.g6m-register-form #js-signUpButton::before,
html#XF[data-template="register_form"] form.g6m-register-form #js-signUpButton::after,
html#XF[data-template="register_form"] form.g6m-register-form .formSubmitRow .button.button--primary::before,
html#XF[data-template="register_form"] form.g6m-register-form .formSubmitRow .button.button--primary::after,
html#XF.template-register_form form.g6m-register-form #js-signUpButton::before,
html#XF.template-register_form form.g6m-register-form #js-signUpButton::after {
	content: none !important;
	display: none !important;
	background: none !important;
	box-shadow: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

html#XF[data-template="register_form"] form.g6m-register-form #js-signUpButton .button-text,
html#XF[data-template="register_form"] form.g6m-register-form .formSubmitRow .button.button--primary .button-text {
	background: none !important;
	background-image: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

/* —— TOS: one square control, no circular badge —— */
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic {
	display: inline-grid !important;
	grid-template-columns: 20px minmax(0, 1fr) !important;
	align-items: start !important;
	column-gap: 12px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative !important;
}

html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > input[type="checkbox"],
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > input[type="checkbox"] {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	pointer-events: auto !important;
}

html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > i,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > i {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	grid-column: 1 !important;
	position: relative !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	min-height: 20px !important;
	margin: 2px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	overflow: hidden !important;
	flex: 0 0 20px !important;
}

/* Empty square */
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > i::before,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > i::before {
	content: "" !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 20px !important;
	height: 20px !important;
	border-radius: 4px !important;
	border-style: solid !important;
	border-width: 1.5px !important;
	border-color: rgba(255, 255, 255, 0.55) !important;
	background-color: rgba(255, 255, 255, 0.08) !important;
	background-image: none !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
	box-sizing: border-box !important;
}

/* No FA / no stray after when unchecked */
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > i::after,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > i::after {
	content: none !important;
	display: none !important;
}

html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic:hover > i::before,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic:hover > i::before {
	border-color: rgba(255, 47, 174, 0.75) !important;
}

/* Checked fill — square, not circle */
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > input:checked + i::before,
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic:has(> input:checked) > i::before,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > input:checked + i::before,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic:has(> input:checked) > i::before {
	border-width: 0 !important;
	border-color: transparent !important;
	background-color: #ff2fae !important;
	background-image: linear-gradient(135deg, #ff2fae, #7a3cff) !important;
	box-shadow: 0 0 0 2px rgba(255, 47, 174, 0.16) !important;
	border-radius: 4px !important;
}

/* CSS tick only when checked */
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > input:checked + i::after,
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic:has(> input:checked) > i::after,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > input:checked + i::after,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic:has(> input:checked) > i::after {
	content: "" !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: absolute !important;
	left: 7px !important;
	top: 3px !important;
	width: 5px !important;
	height: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-style: solid !important;
	border-color: #ffffff !important;
	border-width: 0 2.5px 2.5px 0 !important;
	background: transparent !important;
	background-image: none !important;
	border-radius: 0 !important;
	transform: rotate(45deg) !important;
	box-sizing: border-box !important;
	pointer-events: none !important;
	z-index: 2 !important;
	box-shadow: none !important;
}

/* END G6M_REGISTER_CTA_TOS_FIX_V448 */

/* ==== g6m-inline-75-v700.css ==== */
/* Externalise depuis la modification #56, bloc inline #75 — position et ordre de cascade inchanges */

/* G6M_REGISTER_CTA_TOS_FIX_V448
   Fixes 3 circled register bugs:
   1) TOS check — single clean square (no circular badge look)
   2–3) S'INSCRIRE — pink/cyan ghost caps from .formSubmitRow-controls
      inheriting the CTA gradient + horizontal padding.
*/

/* —— Parent must NOT look like the button —— */
html#XF[data-template="register_form"] form.g6m-register-form .formSubmitRow-controls,
html#XF.template-register_form form.g6m-register-form .formSubmitRow-controls,
html body[data-template="register_form"] form.g6m-register-form .formSubmitRow-controls {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-image: none !important;
	background-size: auto !important;
	box-shadow: none !important;
	filter: none !important;
	overflow: visible !important;
	transform: none !important;
	cursor: default !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: inherit !important;
	line-height: inherit !important;
}

/* —— Single flat CTA surface —— */
html#XF[data-template="register_form"] form.g6m-register-form .formSubmitRow .button.button--primary,
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-actions .button.button--primary,
html#XF[data-template="register_form"] form.g6m-register-form button[type="submit"].button--primary,
html#XF[data-template="register_form"] form.g6m-register-form #js-signUpButton,
html#XF.template-register_form form.g6m-register-form #js-signUpButton,
html body[data-template="register_form"] form.g6m-register-form #js-signUpButton {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 48px !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: 14px !important;
	background-color: #ff2fae !important;
	background-image: linear-gradient(105deg, #ff2fae 0%, #7a3cff 52%, #00d8ff 100%) !important;
	background-size: 100% 100% !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	overflow: hidden !important;
	isolation: isolate !important;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.3) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-size: 0.86rem !important;
	font-weight: 750 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	position: relative !important;
}

/* Kill decorative / icon ::before layers that can misalign edges */
html#XF[data-template="register_form"] form.g6m-register-form #js-signUpButton::before,
html#XF[data-template="register_form"] form.g6m-register-form #js-signUpButton::after,
html#XF[data-template="register_form"] form.g6m-register-form .formSubmitRow .button.button--primary::before,
html#XF[data-template="register_form"] form.g6m-register-form .formSubmitRow .button.button--primary::after,
html#XF.template-register_form form.g6m-register-form #js-signUpButton::before,
html#XF.template-register_form form.g6m-register-form #js-signUpButton::after {
	content: none !important;
	display: none !important;
	background: none !important;
	box-shadow: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

html#XF[data-template="register_form"] form.g6m-register-form #js-signUpButton .button-text,
html#XF[data-template="register_form"] form.g6m-register-form .formSubmitRow .button.button--primary .button-text {
	background: none !important;
	background-image: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

/* —— TOS: one square control, no circular badge —— */
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic {
	display: inline-grid !important;
	grid-template-columns: 20px minmax(0, 1fr) !important;
	align-items: start !important;
	column-gap: 12px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative !important;
}

html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > input[type="checkbox"],
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > input[type="checkbox"] {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	pointer-events: auto !important;
}

html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > i,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > i {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	grid-column: 1 !important;
	position: relative !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	min-height: 20px !important;
	margin: 2px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	overflow: hidden !important;
	flex: 0 0 20px !important;
}

/* Empty square */
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > i::before,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > i::before {
	content: "" !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 20px !important;
	height: 20px !important;
	border-radius: 4px !important;
	border-style: solid !important;
	border-width: 1.5px !important;
	border-color: rgba(255, 255, 255, 0.55) !important;
	background-color: rgba(255, 255, 255, 0.08) !important;
	background-image: none !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
	box-sizing: border-box !important;
}

/* No FA / no stray after when unchecked */
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > i::after,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > i::after {
	content: none !important;
	display: none !important;
}

html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic:hover > i::before,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic:hover > i::before {
	border-color: rgba(255, 47, 174, 0.75) !important;
}

/* Checked fill — square, not circle */
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > input:checked + i::before,
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic:has(> input:checked) > i::before,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > input:checked + i::before,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic:has(> input:checked) > i::before {
	border-width: 0 !important;
	border-color: transparent !important;
	background-color: #ff2fae !important;
	background-image: linear-gradient(135deg, #ff2fae, #7a3cff) !important;
	box-shadow: 0 0 0 2px rgba(255, 47, 174, 0.16) !important;
	border-radius: 4px !important;
}

/* CSS tick only when checked */
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic > input:checked + i::after,
html#XF[data-template="register_form"] form.g6m-register-form .g6m-register-tos label.iconic:has(> input:checked) > i::after,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic > input:checked + i::after,
html#XF.template-register_form form.g6m-register-form .g6m-register-tos label.iconic:has(> input:checked) > i::after {
	content: "" !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: absolute !important;
	left: 7px !important;
	top: 3px !important;
	width: 5px !important;
	height: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-style: solid !important;
	border-color: #ffffff !important;
	border-width: 0 2.5px 2.5px 0 !important;
	background: transparent !important;
	background-image: none !important;
	border-radius: 0 !important;
	transform: rotate(45deg) !important;
	box-sizing: border-box !important;
	pointer-events: none !important;
	z-index: 2 !important;
	box-shadow: none !important;
}

/* END G6M_REGISTER_CTA_TOS_FIX_V448 */

/* ==== g6m-auth-hero-title-v449.css ==== */
/* G6M_AUTH_HERO_TITLE_V449
   Register + Login full pages:
   - Hide in-form hero logo (header logo untouched)
   - Enlarge page title
   - Animate "GTA6Modding" like admin/staff username (g6mAdminShift)
*/

@keyframes g6mAdminShift {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

/* —— Hide hero logo (not site header) —— */
html#XF[data-template="register_form"] .g6m-login-hero__logo,
html#XF[data-template="register_form"] .g6m-register-hero .g6m-login-hero__logo,
html#XF[data-template="login"] .g6m-login-hero__logo,
html#XF[data-template="login"] .g6m397-col--form .g6m-login-hero__logo,
html#XF.template-register_form .g6m-login-hero__logo,
html#XF.template-login .g6m-login-hero__logo,
html body[data-template="register_form"] .g6m-login-hero__logo,
html body[data-template="login"] .g6m-login-hero__logo {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	max-width: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* —— Hero stack spacing after logo removal —— */
html#XF[data-template="register_form"] .g6m-login-hero,
html#XF[data-template="register_form"] .g6m-register-hero,
html#XF[data-template="login"] .g6m-login-hero,
html#XF[data-template="login"] .g6m397-col--form .g6m-login-hero {
	gap: 10px !important;
	margin-bottom: 18px !important;
}

/* —— Large title —— */
html#XF[data-template="register_form"] .g6m-login-hero__title,
html#XF[data-template="register_form"] .g6m-register-hero .g6m-login-hero__title,
html#XF[data-template="login"] .g6m-login-hero__title,
html#XF[data-template="login"] .g6m397-col--form .g6m-login-hero__title,
html#XF.template-register_form .g6m-login-hero__title,
html#XF.template-login .g6m-login-hero__title,
html body[data-template="register_form"] .g6m-login-hero__title,
html body[data-template="login"] .g6m-login-hero__title {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: Rajdhani, Orbitron, Inter, sans-serif !important;
	font-size: clamp(1.85rem, 3.6vw, 2.55rem) !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: none !important;
	background-image: none !important;
	text-wrap: balance !important;
}

/* —— GTA6Modding = same shifting gradient as staff pseudo —— */
html#XF[data-template="register_form"] .g6m-login-hero__brand,
html#XF[data-template="register_form"] .g6m-register-hero .g6m-login-hero__brand,
html#XF[data-template="login"] .g6m-login-hero__brand,
html#XF[data-template="login"] .g6m397-col--form .g6m-login-hero__brand,
html#XF.template-register_form .g6m-login-hero__brand,
html#XF.template-login .g6m-login-hero__brand,
html body[data-template="register_form"] .g6m-login-hero__brand,
html body[data-template="login"] .g6m-login-hero__brand {
	font-family: Rajdhani, Inter, sans-serif !important;
	font-weight: 800 !important;
	background-image: linear-gradient(90deg, #ff0b8b, #ff6a00, #ffd84d, #00d7ff, #8d38ff, #ff0b8b) !important;
	background-size: 320% 100% !important;
	background-position: 0% 50% !important;
	background-repeat: no-repeat !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
	animation: g6mAdminShift 7s linear infinite !important;
	filter: none !important;
}

@media (max-width: 720px) {
	html#XF[data-template="register_form"] .g6m-login-hero__title,
	html#XF[data-template="login"] .g6m-login-hero__title,
	html body[data-template="register_form"] .g6m-login-hero__title,
	html body[data-template="login"] .g6m-login-hero__title {
		font-size: clamp(1.55rem, 7vw, 2rem) !important;
	}
}

/* END G6M_AUTH_HERO_TITLE_V449 */

/* ==== g6m-inline-p2-49-v701.css ==== */
/* Externalise (passe 2) — bloc inline #49 — position inchangee */

/* G6M_AUTH_HERO_TITLE_V449
   Register + Login full pages:
   - Hide in-form hero logo (header logo untouched)
   - Enlarge page title
   - Animate "GTA6Modding" like admin/staff username (g6mAdminShift)
*/

@keyframes g6mAdminShift {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

/* —— Hide hero logo (not site header) —— */
html#XF[data-template="register_form"] .g6m-login-hero__logo,
html#XF[data-template="register_form"] .g6m-register-hero .g6m-login-hero__logo,
html#XF[data-template="login"] .g6m-login-hero__logo,
html#XF[data-template="login"] .g6m397-col--form .g6m-login-hero__logo,
html#XF.template-register_form .g6m-login-hero__logo,
html#XF.template-login .g6m-login-hero__logo,
html body[data-template="register_form"] .g6m-login-hero__logo,
html body[data-template="login"] .g6m-login-hero__logo {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	max-width: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* —— Hero stack spacing after logo removal —— */
html#XF[data-template="register_form"] .g6m-login-hero,
html#XF[data-template="register_form"] .g6m-register-hero,
html#XF[data-template="login"] .g6m-login-hero,
html#XF[data-template="login"] .g6m397-col--form .g6m-login-hero {
	gap: 10px !important;
	margin-bottom: 18px !important;
}

/* —— Large title —— */
html#XF[data-template="register_form"] .g6m-login-hero__title,
html#XF[data-template="register_form"] .g6m-register-hero .g6m-login-hero__title,
html#XF[data-template="login"] .g6m-login-hero__title,
html#XF[data-template="login"] .g6m397-col--form .g6m-login-hero__title,
html#XF.template-register_form .g6m-login-hero__title,
html#XF.template-login .g6m-login-hero__title,
html body[data-template="register_form"] .g6m-login-hero__title,
html body[data-template="login"] .g6m-login-hero__title {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: Rajdhani, Orbitron, Inter, sans-serif !important;
	font-size: clamp(1.85rem, 3.6vw, 2.55rem) !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: none !important;
	background-image: none !important;
	text-wrap: balance !important;
}

/* —— GTA6Modding = same shifting gradient as staff pseudo —— */
html#XF[data-template="register_form"] .g6m-login-hero__brand,
html#XF[data-template="register_form"] .g6m-register-hero .g6m-login-hero__brand,
html#XF[data-template="login"] .g6m-login-hero__brand,
html#XF[data-template="login"] .g6m397-col--form .g6m-login-hero__brand,
html#XF.template-register_form .g6m-login-hero__brand,
html#XF.template-login .g6m-login-hero__brand,
html body[data-template="register_form"] .g6m-login-hero__brand,
html body[data-template="login"] .g6m-login-hero__brand {
	font-family: Rajdhani, Inter, sans-serif !important;
	font-weight: 800 !important;
	background-image: linear-gradient(90deg, #ff0b8b, #ff6a00, #ffd84d, #00d7ff, #8d38ff, #ff0b8b) !important;
	background-size: 320% 100% !important;
	background-position: 0% 50% !important;
	background-repeat: no-repeat !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
	animation: g6mAdminShift 7s linear infinite !important;
	filter: none !important;
}

@media (max-width: 720px) {
	html#XF[data-template="register_form"] .g6m-login-hero__title,
	html#XF[data-template="login"] .g6m-login-hero__title,
	html body[data-template="register_form"] .g6m-login-hero__title,
	html body[data-template="login"] .g6m-login-hero__title {
		font-size: clamp(1.55rem, 7vw, 2rem) !important;
	}
}

/* END G6M_AUTH_HERO_TITLE_V449 */

/* ==== g6m-inline-p2-50-v701.css ==== */
/* Externalise (passe 2) — bloc inline #50 — position inchangee */

/* G6M_SHOP_PREMIUM_V450
   Production shop UI — only 2 categories (VIP + Améliorations).
   Scope: data-template*="dbtech_shop" only. Neon Miami / Vice City.
*/

:root {
	--g6m-shop-pink: #ff2d95;
	--g6m-shop-violet: #9b4dff;
	--g6m-shop-cyan: #00e5ff;
	--g6m-shop-gold: #ffc85a;
	--g6m-shop-card: rgba(14, 12, 22, 0.88);
	--g6m-shop-border: rgba(155, 77, 255, 0.38);
	--g6m-shop-radius: 18px;
	--g6m-shop-ease: 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

html body[data-template*="dbtech_shop"] .p-body-inner {
	max-width: 1280px !important;
}

html body[data-template*="dbtech_shop"] .p-body-header .p-title-value {
	font-family: Rajdhani, Orbitron, sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em !important;
}

/* Glass panels */
html body[data-template*="dbtech_shop"] .p-body-content .block,
html body[data-template*="dbtech_shop"] .p-body-main .block,
html body[data-template*="dbtech_shop"] .p-body-sidebar .block,
html body[data-template*="dbtech_shop"] .p-body-sideNav .block {
	border-radius: var(--g6m-shop-radius) !important;
	border: 1px solid var(--g6m-shop-border) !important;
	background:
		linear-gradient(165deg, rgba(36, 22, 52, 0.72), rgba(10, 8, 18, 0.92)) !important;
	backdrop-filter: blur(14px) saturate(1.15) !important;
	-webkit-backdrop-filter: blur(14px) saturate(1.15) !important;
	box-shadow:
		0 12px 36px rgba(0, 0, 0, 0.42),
		0 0 28px rgba(155, 77, 255, 0.12) !important;
	overflow: visible !important;
}

html body[data-template*="dbtech_shop"] .block-header {
	background: linear-gradient(90deg, rgba(255, 45, 149, 0.2), rgba(155, 77, 255, 0.12)) !important;
	border-bottom: 1px solid rgba(255, 45, 149, 0.28) !important;
	font-weight: 800 !important;
	letter-spacing: 0.07em !important;
	text-transform: uppercase !important;
	font-size: 0.8rem !important;
}

/* Card grid */
html body[data-template*="dbtech_shop"] .structItemContainer,
html body[data-template*="dbtech_shop"] .dbtechShopItemList,
html body[data-template*="dbtech_shop"] .itemList,
html body[data-template*="dbtech_shop"] .dbtech-shop-items,
html body[data-template*="dbtech_shop"] .dbtechShopCategoryList {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)) !important;
	gap: 1.15rem !important;
	padding: 1rem !important;
	align-items: stretch !important;
}

html body[data-template*="dbtech_shop"] .structItemContainer .structItem,
html body[data-template*="dbtech_shop"] .dbtechShopItem,
html body[data-template*="dbtech_shop"] .itemList-item,
html body[data-template*="dbtech_shop"] .structItem--item {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 1rem !important;
	border-radius: 16px !important;
	border: 1px solid rgba(255, 45, 149, 0.22) !important;
	background:
		linear-gradient(160deg, rgba(24, 16, 36, 0.95), rgba(12, 10, 20, 0.98)) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
	transition:
		transform var(--g6m-shop-ease),
		box-shadow var(--g6m-shop-ease),
		border-color var(--g6m-shop-ease) !important;
	overflow: hidden !important;
}

html body[data-template*="dbtech_shop"] .structItemContainer .structItem:hover,
html body[data-template*="dbtech_shop"] .dbtechShopItem:hover,
html body[data-template*="dbtech_shop"] .structItem--item:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(0, 229, 255, 0.45) !important;
	box-shadow:
		0 16px 36px rgba(0, 0, 0, 0.45),
		0 0 28px rgba(255, 45, 149, 0.22) !important;
}

html body[data-template*="dbtech_shop"] .structItem-cell,
html body[data-template*="dbtech_shop"] .structItem-cell--main,
html body[data-template*="dbtech_shop"] .structItem-cell--icon {
	display: block !important;
	width: 100% !important;
	float: none !important;
	padding: 0.35rem 0 !important;
}

html body[data-template*="dbtech_shop"] .structItem-iconContainer img,
html body[data-template*="dbtech_shop"] .avatar img,
html body[data-template*="dbtech_shop"] .dbtechShopItem-icon img {
	width: 100% !important;
	max-width: 100% !important;
	height: 148px !important;
	object-fit: cover !important;
	border-radius: 12px !important;
	border: 1px solid rgba(155, 77, 255, 0.35) !important;
}

html body[data-template*="dbtech_shop"] .structItem-title,
html body[data-template*="dbtech_shop"] .dbtechShopItem-title {
	font-family: Rajdhani, Inter, sans-serif !important;
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: #fff !important;
	line-height: 1.25 !important;
}

html body[data-template*="dbtech_shop"] .structItem-title a {
	color: #fff !important;
	text-decoration: none !important;
}

/* Price / CTA */
html body[data-template*="dbtech_shop"] .button--primary,
html body[data-template*="dbtech_shop"] .button.button--cta,
html body[data-template*="dbtech_shop"] a.button--link.button--primary {
	border: 0 !important;
	border-radius: 12px !important;
	background: linear-gradient(105deg, #ff2d95 0%, #9b4dff 52%, #00e5ff 100%) !important;
	background-size: 100% 100% !important;
	color: #fff !important;
	font-weight: 800 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	box-shadow: 0 8px 22px rgba(255, 45, 149, 0.28) !important;
	transition: filter var(--g6m-shop-ease), transform var(--g6m-shop-ease) !important;
}

html body[data-template*="dbtech_shop"] .button--primary:hover {
	filter: brightness(1.08) !important;
	transform: translateY(-1px) !important;
}

/* Category chips */
html body[data-template*="dbtech_shop"] .categoryList-item,
html body[data-template*="dbtech_shop"] .dbtechShopCategoryList .structItem {
	min-height: 120px !important;
}

html body[data-template*="dbtech_shop"] .block-minorHeader,
html body[data-template*="dbtech_shop"] .block-filterBar {
	border-radius: 12px !important;
	background: rgba(20, 14, 30, 0.85) !important;
	border: 1px solid rgba(155, 77, 255, 0.25) !important;
}

html body[data-template*="dbtech_shop"] .input,
html body[data-template*="dbtech_shop"] input.input,
html body[data-template*="dbtech_shop"] select.input {
	border-radius: 10px !important;
	border: 1px solid rgba(255, 45, 149, 0.28) !important;
	background: rgba(10, 8, 16, 0.9) !important;
	color: #f5f5f7 !important;
}

/* Hide empty placeholder icons / broken demo leftovers */
html body[data-template*="dbtech_shop"] img[src*="placeholder"],
html body[data-template*="dbtech_shop"] img[src*="no-image"],
html body[data-template*="dbtech_shop"] img[src*="demo"] {
	display: none !important;
}

/* VIP banner accents (shop + global user banners for new tiers) */
.userBanner--g6mVipBronze { background: linear-gradient(90deg, #8a5520, #c98a3e) !important; color: #fff !important; }
.userBanner--g6mVipSilver { background: linear-gradient(90deg, #7a8494, #c5ced8) !important; color: #111 !important; }
.userBanner--g6mVipGold { background: linear-gradient(90deg, #b8860b, #ffd24a) !important; color: #1a1200 !important; }
.userBanner--g6mVipPlatinum { background: linear-gradient(90deg, #6f8fa3, #d7e8f2) !important; color: #0b1520 !important; }
.userBanner--g6mVipDiamond { background: linear-gradient(90deg, #1aa6d8, #7cf0ff) !important; color: #041018 !important; }
.userBanner--g6mVipUltimate {
	background: linear-gradient(90deg, #ff2d95, #9b4dff, #00e5ff) !important;
	color: #fff !important;
	box-shadow: 0 0 12px rgba(255, 45, 149, 0.45) !important;
}

@media (max-width: 720px) {
	html body[data-template*="dbtech_shop"] .structItemContainer,
	html body[data-template*="dbtech_shop"] .dbtechShopItemList,
	html body[data-template*="dbtech_shop"] .dbtechShopCategoryList {
		grid-template-columns: 1fr !important;
		padding: 0.75rem !important;
		gap: 0.85rem !important;
	}
}

/* END G6M_SHOP_PREMIUM_V450 */
