/* =========================================================
   GENESIS — Landing immersif (style jeu)
   ========================================================= */

:root {
	--gx-accent: #c8f000;
	--gx-accent-2: #e8ff4a;
	--gx-ink: #0d0d12;
	--gx-glass: rgba(8, 8, 14, 0.55);
	--gx-glass-strong: rgba(8, 8, 14, 0.82);
	--gx-text: #f4f4f6;
	--gx-muted: rgba(255,255,255,0.72);
}

body.has-hero-slider {
	background: #0b0b10;
	overflow-x: hidden;
}

body.has-hero-slider #main-container {
	background: transparent;
	overflow-x: hidden;
	width: 100%;
	max-width: 100%;
}

/* ---- Landing full viewport ---- */
body.has-hero-slider .gx-landing,
body.landing-home .gx-landing {
	position: relative;
	width: 100vw;
	max-width: 100%;
	height: 100vh;
	height: 100dvh;
	min-height: 100vh;
	min-height: 100dvh;
	overflow: hidden;
	color: var(--gx-text);
	font-family: "Manrope", sans-serif;
	margin: 0;
	padding: 0;
	left: 0;
	right: 0;
}

body.has-hero-slider .gx-slides,
body.has-hero-slider .gx-slides .featured-img-box,
body.has-hero-slider #slider-imgs,
body.has-hero-slider #slider-imgs .featured-img-box,
body.has-hero-slider #slider-imgs .featured-img,
body.has-hero-slider .gx-slides .featured-img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	inset: 0 !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
}

body.has-hero-slider .gx-slides .featured-img,
body.has-hero-slider #slider-imgs .featured-img {
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	opacity: 1;
	z-index: 1;
	transition: opacity 1.1s ease;
	transform: scale(1.04);
	animation: gxKen 18s ease-in-out infinite alternate;
}

body.has-hero-slider .gx-slides .featured-img.invisible,
body.has-hero-slider #slider-imgs .featured-img.invisible {
	opacity: 0 !important;
	z-index: 0 !important;
	animation: none;
}

@keyframes gxKen {
	from { transform: scale(1.03) translate3d(0,0,0); }
	to { transform: scale(1.1) translate3d(-1.5%, -1%, 0); }
}

/* Fumée noire pour lisibilité du texte */
.gx-landing-shade {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background:
		radial-gradient(ellipse 70% 55% at 50% 48%, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.25) 45%, transparent 72%),
		linear-gradient(180deg,
			rgba(0,0,0,0.72) 0%,
			rgba(0,0,0,0.35) 22%,
			rgba(0,0,0,0.45) 48%,
			rgba(0,0,0,0.55) 68%,
			rgba(0,0,0,0.88) 100%
		),
		radial-gradient(ellipse at center, transparent 15%, rgba(0,0,0,0.5) 100%);
}
.gx-landing-shade:after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 90% 40% at 50% 100%, rgba(0,0,0,0.75) 0%, transparent 70%),
		radial-gradient(ellipse 80% 30% at 50% 0%, rgba(0,0,0,0.55) 0%, transparent 65%);
	pointer-events: none;
}

/* ---- Top nav overlay (style KAYA) ---- */
.gx-topnav {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 16px 28px;
	background: linear-gradient(180deg, rgba(0,0,0,0.55), rgba(0,0,0,0));
	font-family: "Manrope", sans-serif;
}

.gx-topnav-solid {
	position: relative;
	background: rgba(18, 12, 18, 0.92);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(255,255,255,0.06);
}

.gx-brand {
	font-family: "Bebas Neue", sans-serif;
	font-size: 36px;
	letter-spacing: 0.04em;
	color: #fff !important;
	text-decoration: none !important;
	line-height: 1;
	text-shadow: 0 2px 18px rgba(0,0,0,0.45);
	flex-shrink: 0;
}

.gx-brand img {
	display: block;
	width: auto;
	height: auto;
	max-width: 150px;
	max-height: 46px;
	object-fit: contain;
}

.gx-nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 2px 18px;
	flex: 1;
}

.gx-nav-links a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff !important;
	text-decoration: none !important;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding: 6px 2px;
	transition: opacity .2s, color .2s;
	white-space: nowrap;
	opacity: 0.95;
}

.gx-nav-links a:hover,
.gx-nav-links a.is-active {
	color: #fff !important;
	opacity: 1;
}

.gx-nav-links a.is-active .gx-dot,
.gx-nav-links a:hover .gx-dot {
	background: #c8f000;
}

.gx-dot {
	width: 9px;
	height: 12px;
	border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
	background: #8ea028;
	box-shadow: none;
	flex-shrink: 0;
	transform: rotate(-18deg);
}

.gx-top-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.gx-server-check {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 6px 10px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 999px;
	background: rgba(4,5,7,.48);
	color: #d7b95a;
	font-family: "Manrope", sans-serif;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}
.gx-server-check__icon { font-size: 14px; }
.gx-server-check.is-online { border-color: rgba(109,211,112,.38); color: #78dc7b; }
.gx-server-check.is-starting,
.gx-server-check.is-pending { border-color: rgba(215,185,90,.34); color: #d7b95a; }
.gx-server-check.is-offline { border-color: rgba(220,83,75,.38); color: #ec716a; }

.gx-lang-selector {
	position: relative;
	font-family: "Manrope", sans-serif;
}
.gx-lang-selector summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 48px;
	height: 36px;
	padding: 5px 8px;
	color: #fff;
	background: rgba(0,0,0,.32);
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 8px;
	cursor: pointer;
	font-size: 11px;
	font-weight: 800;
	list-style: none;
}
.gx-lang-selector summary::-webkit-details-marker { display: none; }
.gx-lang-selector summary img,
.gx-lang-menu img { width: 20px; height: 14px; object-fit: cover; border-radius: 2px; }
.gx-lang-menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 80;
	display: grid;
	grid-template-columns: repeat(2, minmax(52px, 1fr));
	gap: 4px;
	width: 142px;
	padding: 7px;
	background: rgba(10,10,16,.98);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 10px;
	box-shadow: 0 12px 30px rgba(0,0,0,.35);
}
.gx-lang-menu a {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 6px;
	color: rgba(255,255,255,.82) !important;
	border-radius: 6px;
	font-size: 10px;
	font-weight: 800;
	text-decoration: none !important;
}
.gx-lang-menu a:hover,
.gx-lang-menu a.is-active { color: #fff !important; background: rgba(200,240,0,.18); }

.gx-icon-btn,
.gx-discord-btn {
	width: 36px;
	height: 36px;
	border-radius: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	font-size: 20px;
	line-height: 1;
	padding: 0;
	opacity: 1;
	transition: color .2s, opacity .2s;
}
.gx-icon-btn i {
	font-size: 20px;
	line-height: 1;
	color: #fff !important;
}
.gx-discord-btn svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: currentColor;
}
.gx-icon-btn:hover,
.gx-discord-btn:hover {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	transform: none;
	color: #fff !important;
	opacity: 0.8;
}
.gx-icon-btn:hover i {
	color: #fff !important;
}

.gx-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 18px;
	border-radius: 10px;
	background: #fff;
	color: #2a2a2a !important;
	font-weight: 700;
	font-size: 14px;
	text-transform: none;
	letter-spacing: 0;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(0,0,0,0.25);
	transition: transform .15s, background .15s, color .15s;
}
.gx-pill:hover {
	background: #f2f2f2;
	color: #111 !important;
	transform: translateY(-1px);
}

.gx-burger {
	display: none;
	width: 40px;
	height: 36px;
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 8px;
	background: rgba(0,0,0,0.35);
	padding: 8px 9px;
	cursor: pointer;
}
.gx-burger span {
	display: block;
	height: 2px;
	background: #fff;
	margin: 4px 0;
	border-radius: 2px;
}

/* ---- Hero copy (centré milieu de page) ---- */
.gx-hero-copy {
	position: absolute;
	left: 50%;
	top: 50%;
	bottom: auto;
	transform: translate(-50%, -50%);
	z-index: 5;
	width: min(920px, 90vw);
	text-align: center;
	animation: gxRise 0.9s ease-out both;
	pointer-events: none;
}

@keyframes gxRise {
	from { opacity: 0; transform: translate(-50%, calc(-50% + 18px)); }
	to { opacity: 1; transform: translate(-50%, -50%); }
}

.gx-logo-hero {
	margin: 0;
	font-family: "Bebas Neue", sans-serif;
	font-size: clamp(64px, 12vw, 120px);
	letter-spacing: 0.08em;
	line-height: 0.9;
	color: #fff;
	text-shadow:
		0 2px 4px rgba(0,0,0,0.9),
		0 8px 40px rgba(0,0,0,0.75),
		0 0 80px rgba(0,0,0,0.45);
}

.gx-kicker {
	margin: 0 0 6px;
	text-transform: uppercase;
	letter-spacing: 0.28em;
	font-size: 12px;
	font-weight: 600;
	color: rgba(255,255,255,0.82);
	text-shadow: 0 2px 12px rgba(0,0,0,0.85);
}

.gx-rule {
	width: 120px;
	height: 2px;
	margin: 18px auto 16px;
	background: linear-gradient(90deg, transparent, var(--gx-accent), transparent);
	box-shadow: 0 0 12px rgba(200, 240, 0, 0.55);
	animation: gxPulse 2.4s ease-in-out infinite;
}

@keyframes gxPulse {
	0%, 100% { opacity: 0.7; width: 100px; }
	50% { opacity: 1; width: 150px; }
}

.gx-tagline {
	margin: 0 auto;
	max-width: 760px;
	font-size: clamp(14px, 1.7vw, 18px);
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.45;
	color: var(--gx-accent-2);
	text-shadow:
		0 2px 4px rgba(0,0,0,0.95),
		0 4px 24px rgba(0,0,0,0.8);
}

/* ---- Thumbs (anciens sliders) ---- */
.gx-thumbs {
	position: absolute;
	right: 28px;
	bottom: 120px;
	z-index: 8;
	display: flex;
	gap: 0;
	box-shadow: 0 10px 30px rgba(0,0,0,0.45);
	animation: gxRise 1.1s 0.15s ease-out both;
}

.gx-thumbs a.featured-select {
	display: block;
	float: none;
	width: 78px;
	height: 48px;
	position: relative;
	background: rgba(20, 12, 18, 0.9);
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.12);
}

.gx-thumbs a.featured-select span { display: none; }
.gx-thumbs a.featured-select.this-is-next span.w-coin {
	display: block;
	position: absolute;
	z-index: 6;
	font-weight: bold;
	padding: 2px 6px;
	background: #fff;
	font-size: 11px;
	color: #797979;
	top: 15px;
	left: 29px;
	border-radius: 8px;
}
.gx-thumbs a.featured-select.this-is-next span.w-bar {
	display: block;
	position: absolute;
	z-index: 6;
	top: 0;
	left: 0;
	height: 3px;
	color: transparent;
	background: var(--gx-accent);
	width: 0;
}
.gx-thumbs a.featured-select img {
	display: block;
	position: absolute;
	width: 78px;
	height: 48px;
	object-fit: cover;
	opacity: 0.45;
	transition: opacity 0.2s;
}
.gx-thumbs a.featured-select.this-active img,
.gx-thumbs a.featured-select:hover img { opacity: 1; }
.gx-thumbs a.featured-select.this-active {
	border-color: var(--gx-accent);
	box-shadow: 0 0 0 1px var(--gx-accent);
}

/* ---- Bottom bar (hero only: scroll) ---- */
.gx-bottombar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 70px;
	z-index: 10;
	display: flex;
	align-items: center;
	padding: 18px 28px 22px;
	background: transparent;
	pointer-events: none;
}
.gx-bottombar a { pointer-events: auto; }

.gx-scrollcue {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	color: rgba(255,255,255,0.85) !important;
	text-decoration: none !important;
	text-transform: uppercase;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin-left: 12%;
}

.gx-mouse {
	width: 18px;
	height: 28px;
	border: 2px solid rgba(255,255,255,0.85);
	border-radius: 10px;
	position: relative;
}
.gx-mouse:after {
	content: "";
	position: absolute;
	top: 5px;
	left: 50%;
	width: 3px;
	height: 6px;
	margin-left: -1.5px;
	border-radius: 2px;
	background: var(--gx-accent);
	animation: gxWheel 1.4s ease-in-out infinite;
}
@keyframes gxWheel {
	0% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(8px); }
}

/* Hide old stompnitwook header leftovers if any */
body.has-hero-slider #me-header { display: none !important; }

/* Content after landing */
body.has-hero-slider #me-page-header {
	margin: 0;
	padding: 0;
	min-height: 0;
	background: transparent;
	border: 0;
}
body.has-hero-slider #me-page-header .row,
body.has-hero-slider #me-page-header .column {
	padding: 0;
	margin: 0;
	min-height: 0;
}

body.landing-home,
body.landing-home #main-container {
	background: #12101a !important;
}

body.landing-home .site-content-wrap {
	background: transparent;
	max-width: 1180px;
	padding-bottom: 40px;
	width: 100%;
	float: none;
	clear: both;
}
body.landing-home .site-main-content {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 30px 10px 20px !important;
	overflow: hidden;
}
body.landing-home .row,
body.landing-home .column {
	float: none !important;
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
body.landing-home .site-content-wrap.container {
	max-width: 1180px;
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
}

/* ========== News grid (style KAYA) ========== */
.gx-news-layout {
	display: grid;
	grid-template-columns: 1.55fr 0.85fr;
	gap: 36px;
	align-items: start;
	color: #fff;
	font-family: "Manrope", sans-serif;
}

.gx-news-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.gx-news-main h2,
.gx-news-aside h2 {
	margin: 0;
	font-family: "Bebas Neue", sans-serif;
	font-size: clamp(28px, 3.2vw, 40px);
	letter-spacing: 0.04em;
	color: #fff;
	text-transform: uppercase;
	font-weight: 400;
}

.gx-tout-afficher {
	color: var(--gx-accent) !important;
	text-decoration: none !important;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	white-space: nowrap;
}
.gx-tout-afficher:hover { color: #fff !important; }

.gx-news-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.gx-news-card {
	position: relative;
	display: block;
	min-height: 190px;
	background-size: cover;
	background-position: center;
	border: 1px solid rgba(255,255,255,0.08);
	overflow: hidden;
	text-decoration: none !important;
	box-shadow: 0 10px 28px rgba(0,0,0,0.35);
	transition: transform .2s, box-shadow .2s;
}
.gx-news-card:before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,0.85) 100%);
}
.gx-news-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(0,0,0,0.45);
}
.gx-news-tag {
	position: absolute;
	left: 0;
	bottom: 42px;
	z-index: 2;
	background: #5a3a22;
	color: #f0d9a8;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 10px 4px 8px;
	clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%);
}
.gx-news-title {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	color: var(--gx-accent-2);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.3;
	text-shadow: 0 2px 8px rgba(0,0,0,0.7);
}
.gx-news-empty { color: rgba(255,255,255,0.7); }

.gx-news-aside {
	padding-top: 4px;
}
.gx-news-aside h2 { margin-bottom: 18px; }
.gx-featured-card {
	border: 1px solid rgba(255,255,255,0.1);
	overflow: hidden;
	margin-bottom: 14px;
	box-shadow: 0 10px 28px rgba(0,0,0,0.35);
}
.gx-featured-card img {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
}
.gx-featured-text {
	margin: 0 0 16px;
	color: rgba(255,255,255,0.9);
	font-size: 14px;
	line-height: 1.45;
}
.gx-featured-btn {
	display: block;
	text-align: center;
	background: #e07020;
	color: #fff !important;
	text-decoration: none !important;
	text-transform: uppercase;
	font-weight: 800;
	letter-spacing: 0.06em;
	padding: 14px 18px;
	border: 2px solid #b85810;
	transition: filter .15s, transform .15s;
}
.gx-featured-btn:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

/* ========== Footer ========== */
.gx-clearfix {
	clear: both;
	display: block;
	width: 100%;
	height: 0;
	overflow: hidden;
}

.gx-footer {
	clear: both !important;
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	position: relative;
	z-index: 5;
	box-sizing: border-box;
	margin: 40px 0 0;
	padding: 48px 28px 40px;
	font-family: "Manrope", sans-serif;
}

.gx-footer-dark {
	background: #1a1d24;
	color: #aeb3bd;
}
body.landing-home .gx-footer-dark { padding-bottom: 90px; }

.gx-footer-light {
	background: #1a1d24;
	color: #aeb3bd;
}

.gx-footer-inner {
	max-width: 1100px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 40px;
	align-items: start;
}
.gx-footer-logo {
	display: inline-block;
	font-family: "Bebas Neue", sans-serif;
	font-size: 52px;
	letter-spacing: 0.06em;
	color: #fff !important;
	text-decoration: none !important;
	line-height: 1;
	margin-bottom: 14px;
}
.gx-footer-logo img { display:block;width:auto;height:auto;max-width:190px;max-height:70px;object-fit:contain; }
.gx-footer-brand p {
	margin: 0;
	max-width: 460px;
	font-size: 13px;
	line-height: 1.65;
	color: #8b919c;
}

.gx-discord-card {
	display: block;
	background: #2b2d31;
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none !important;
	box-shadow: 0 10px 28px rgba(0,0,0,0.3);
	transition: transform .15s;
}
.gx-discord-card:hover { transform: translateY(-2px); }
.gx-discord-head {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #5865f2;
	color: #fff;
	padding: 12px 14px;
	font-weight: 800;
}
.gx-discord-head em {
	margin-left: auto;
	font-style: normal;
	font-weight: 600;
	font-size: 12px;
	opacity: 0.9;
}
.gx-discord-body {
	padding: 16px 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: #dbdee1;
}
.gx-discord-body strong { color: #fff; font-size: 15px; }
.gx-discord-body span { font-size: 12px; color: #b5bac1; }
.gx-discord-counts {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px 14px;
	margin-top: 3px;
}
.gx-discord-counts span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
}
.gx-discord-online-dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #23a559;
	box-shadow: 0 0 0 2px rgba(35,165,89,.15);
}
.gx-discord-members {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 12px;
	margin-top: 8px;
}
.gx-discord-member {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
}
.gx-discord-member > span:last-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.gx-discord-avatar {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 27px;
	width: 27px;
	height: 27px;
	border-radius: 50%;
	background: #5865f2;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 800;
}
.gx-discord-avatar img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: cover;
}
.gx-discord-avatar i {
	position: absolute;
	right: -1px;
	bottom: -1px;
	width: 9px;
	height: 9px;
	border: 2px solid #2b2d31;
	border-radius: 50%;
	background: #23a559;
}
.gx-discord-avatar i.is-idle { background: #f0b232; }
.gx-discord-avatar i.is-dnd { background: #f23f43; }
.gx-discord-caption { margin-top: 3px; }
.gx-discord-join {
	display: table;
	margin: 0 14px 14px auto;
	background: #248046;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 8px 12px;
	border-radius: 4px;
	text-decoration: none !important;
	transition: background .15s, transform .15s;
}
.gx-discord-join:hover { background: #1a6334; color: #fff !important; transform: translateY(-1px); }

.gx-footer-bottom-line {
	max-width: 1100px;
	margin: 28px auto 0;
	padding-top: 18px;
	border-top: 1px solid rgba(255,255,255,0.08);
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-size: 12px;
	color: #6b7280;
}
.gx-footer-bottom-line a {
	color: #6b7280 !important;
	text-decoration: none !important;
	margin-left: 14px;
}
.gx-footer-bottom-line a:hover { color: #bbb !important; }

/* ========== Fixed download bar (accueil only) ========== */
.gx-fixed-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	height: 58px;
	background: #000;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	padding: 0 22px;
	font-family: "Manrope", sans-serif;
	box-shadow: 0 -8px 24px rgba(0,0,0,0.35);
}
.gx-fixed-copy {
	color: #555;
	font-size: 12px;
}
.gx-fixed-links {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 16px;
}
.gx-fixed-links a {
	color: #555 !important;
	text-decoration: none !important;
	font-size: 12px;
}
.gx-fixed-links a:hover { color: #aaa !important; }

.gx-fixed-download {
	position: relative;
	top: -14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 240px;
	padding: 14px 36px;
	background: linear-gradient(180deg, #d8ff2e 0%, #9fc700 100%);
	color: #111 !important;
	font-family: "Bebas Neue", sans-serif;
	font-size: 26px;
	letter-spacing: 0.08em;
	text-decoration: none !important;
	text-transform: uppercase;
	clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 12px 100%, 0 50%);
	box-shadow:
		0 0 0 4px #3a3a3a,
		0 0 0 7px #6e6e6e,
		0 10px 24px rgba(0,0,0,0.55),
		0 0 30px rgba(200, 240, 0, 0.25);
	transition: transform .15s, filter .15s;
}
.gx-fixed-download:hover {
	transform: translateY(-2px) scale(1.02);
	filter: brightness(1.06);
}

.gx-totop {
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 4px;
	background: #5a3d28;
	color: #fff;
	cursor: pointer;
}
.gx-totop:hover { background: #7a5236; }

/* Rouleau dans le bandeau Télécharger */
.gx-fixed-bar .gx-scrollcue-bar {
	margin-left: 0;
	justify-self: start;
	flex-direction: row;
	gap: 10px;
	color: rgba(255,255,255,0.75) !important;
	font-size: 11px;
}
.gx-fixed-bar .gx-scrollcue-bar .gx-mouse {
	width: 16px;
	height: 24px;
	border-width: 2px;
}
.gx-fixed-bar .gx-scrollcue-bar:hover {
	color: var(--gx-accent) !important;
}

/* Accueil = padding pour barre fixe / Autres pages = fond blanc */
body.landing-home {
	padding-bottom: 58px;
	background: #12101a !important;
}
body.no-slider {
	padding-bottom: 0 !important;
	background: #ffffff !important;
	color: #444;
}
body.no-slider #main-container {
	background: #ffffff !important;
}
body.no-slider .site-content-wrap {
	background: #ffffff;
}
body.no-slider .site-main-content {
	background: #ffffff !important;
	border: 1px solid #ebebeb !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}
body.no-slider #me-page-header {
	background: #f7f7f7;
	padding-top: 18px;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
body.no-slider .page-title,
body.no-slider .page-title span {
	color: #222 !important;
}
body.no-slider .me-breadcrumb a,
body.no-slider .me-breadcrumb li {
	color: #666 !important;
}

/* Pages de jeu : même univers visuel que l'accueil, sans modifier le panel. */
body.no-slider.landing-game-dark {
	background-color: #12101a !important;
	background-image: linear-gradient(rgba(12,10,17,.74), rgba(18,16,26,.9)), var(--rb-hero-background-image) !important;
	background-position: center top !important;
	background-size: cover !important;
	background-attachment: fixed !important;
	color: #d8d4de;
}
body.no-slider.landing-game-dark #main-container {
	background: rgba(18,16,26,.78) !important;
}
body.no-slider.landing-game-dark .site-content-wrap {
	background: transparent !important;
}
body.no-slider.landing-game-dark .site-main-content {
	background: rgba(11,10,15,.9) !important;
	border: 1px solid rgba(200,240,0,.16) !important;
	box-shadow: 0 18px 44px rgba(0,0,0,.32) !important;
}
body.no-slider.landing-game-dark #me-page-header {
	background: rgba(13,12,18,.82) !important;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
body.no-slider.landing-game-dark .page-title,
body.no-slider.landing-game-dark .page-title span,
body.no-slider.landing-game-dark .me-breadcrumb a,
body.no-slider.landing-game-dark .me-breadcrumb li,
body.no-slider.landing-game-dark .vote-page h2,
body.no-slider.landing-game-dark .vote-page h3,
body.no-slider.landing-game-dark .vote-page p {
	color: #f3f0f6 !important;
}
body.no-slider.landing-game-dark .vote-statistics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}
body.no-slider.landing-game-dark .vote-stat,
body.no-slider.landing-game-dark .vote-main-panel {
	border: 1px solid #303030;
	background: #111;
}
body.no-slider.landing-game-dark .vote-stat-content,
body.no-slider.landing-game-dark .vote-main-content { padding: 18px; }
body.no-slider.landing-game-dark .vote-stat-label {
	display: block;
	margin-bottom: 6px;
	color: #a8a3ad;
	font-size: 11px;
	text-transform: uppercase;
}
body.no-slider.landing-game-dark .vote-stat strong { color: #c8f000; }

#me-footer { display: none !important; }

/* News layout must stay full width of content, never pull footer */
.gx-news-layout {
	display: grid;
	grid-template-columns: 1.55fr 0.85fr;
	gap: 36px;
	align-items: start;
	width: 100%;
	clear: both;
}

/* ---- Mobile ---- */
@media (max-width: 980px) {
	body.no-slider.landing-game-dark { background-attachment: scroll !important; }
	.gx-nav-links {
		display: none;
		position: absolute;
		top: 64px;
		left: 12px;
		right: 12px;
		flex-direction: column;
		align-items: stretch;
		background: rgba(10,10,16,0.96);
		padding: 14px;
		border-radius: 12px;
		border: 1px solid rgba(255,255,255,0.08);
		gap: 4px;
	}
	.gx-topnav.is-open .gx-nav-links { display: flex; }
	.gx-burger { display: inline-block; }
	.gx-hero-copy { top: 50%; bottom: auto; width: min(920px, 92vw); }
	.gx-thumbs { right: 12px; bottom: 100px; }
	.gx-thumbs a.featured-select { width: 60px; height: 40px; }
	.gx-thumbs a.featured-select img { width: 60px; height: 40px; }
	.gx-scrollcue { margin-left: 0; }
	.gx-bottombar { padding: 14px; }
	.gx-news-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}
	.gx-footer-inner { grid-template-columns: 1fr; }
	.gx-fixed-copy,
	.gx-fixed-links a { display: none; }
	.gx-fixed-bar { grid-template-columns: auto 1fr auto; gap: 10px; }
	.gx-fixed-download { min-width: 180px; font-size: 22px; padding: 12px 26px; }
	.gx-fixed-bar .gx-scrollcue-bar span:last-child { display: none; }
	body.no-slider.landing-game-dark .vote-statistics { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	.gx-topnav { padding-right: 14px; padding-left: 14px; }
	.gx-top-actions { gap: 6px; }
	.gx-server-check { width: 34px; min-width: 34px; padding: 0; justify-content: center; }
	.gx-server-check [data-rb-status-label] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.gx-pill { display: none; }
}

@media (max-width: 560px) {
	.gx-topnav { padding: 12px 14px; }
	.gx-brand { font-size: 28px; }
	.gx-brand img { max-width: 108px; max-height: 36px; }
	.gx-top-actions { gap: 6px; }
	.gx-lang-menu { position: fixed; top: 62px; right: 12px; }
	.gx-thumbs { display: none; }
	.gx-hero-copy { top: 50%; bottom: auto; width: 92vw; }
	.gx-news-grid { grid-template-columns: 1fr; }
	.gx-news-card { min-height: 170px; }
}

@media (prefers-reduced-motion: reduce) {
	.gx-server-check .fa-spin { animation: none !important; }
}

/* ========== Page détail news (style KAYA) ========== */
body.landing-news,
body.landing-news #main-container {
	background: #0b0b10 !important;
	color: #f4f4f6;
}

body.landing-news .site-content-wrap,
body.landing-news .site-content-wrap.container {
	float: none !important;
	display: block !important;
	background: transparent !important;
	max-width: 860px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 28px 20px 80px !important;
	clear: both;
}

body.landing-news .site-main-content {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 auto !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.landing-news .row,
body.landing-news .column,
body.landing-news .large-12 {
	float: none !important;
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.gx-article {
	font-family: "Manrope", sans-serif;
	color: rgba(255,255,255,0.88);
	padding-top: 12px;
	max-width: 860px;
	margin: 0 auto;
	width: 100%;
}

.gx-article-crumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 22px;
	font-size: 13px;
	color: rgba(255,255,255,0.45);
}

.gx-article-crumb a {
	color: rgba(255,255,255,0.55) !important;
	text-decoration: none !important;
}

.gx-article-crumb a:hover {
	color: var(--gx-accent) !important;
}

.gx-article-crumb span:last-child {
	color: rgba(255,255,255,0.85);
}

.gx-article-hero {
	margin: 0 0 28px;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.08);
	box-shadow: 0 18px 40px rgba(0,0,0,0.45);
}

.gx-article-hero img {
	display: block;
	width: 100%;
	max-height: 380px;
	object-fit: cover;
}

.gx-article-head {
	text-align: center;
	margin-bottom: 28px;
}

.gx-article-head h1 {
	margin: 0 0 18px;
	font-family: "Bebas Neue", sans-serif;
	font-size: clamp(32px, 4.5vw, 48px);
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.1;
	color: #fff;
	text-transform: none;
}

.gx-article-meta {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	padding: 14px 0;
	border-top: 1px solid rgba(255,255,255,0.12);
	border-bottom: 1px solid rgba(255,255,255,0.12);
	color: rgba(255,255,255,0.65);
	font-size: 13px;
}

.gx-article-date i {
	margin-right: 4px;
	color: var(--gx-accent);
}

.gx-article-body {
	font-size: 15px;
	line-height: 1.75;
	color: rgba(255,255,255,0.86);
}

.gx-article-body p {
	margin: 0 0 1em;
}

.gx-article-body strong,
.gx-article-body b {
	color: #fff;
	font-weight: 700;
}

.gx-article-body a {
	color: var(--gx-accent) !important;
}

.gx-article-body ul,
.gx-article-body ol {
	margin: 0 0 1.2em 1.2em;
	padding: 0;
}

.gx-article-body li {
	margin: 0.35em 0;
}

.gx-article-body img.imageforum,
.gx-article-body img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
}

.gx-article-body .quote {
	margin: 12px 0;
	padding: 12px 16px;
	border-left: 3px solid var(--gx-accent);
	background: rgba(255,255,255,0.04);
	color: rgba(255,255,255,0.75);
}

.gx-article-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 36px;
	padding-top: 22px;
	border-top: 1px solid rgba(255,255,255,0.1);
}

.gx-article-forum {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: var(--gx-accent);
	color: #121212 !important;
	font-weight: 800;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none !important;
	border-radius: 4px;
}

.gx-article-forum:hover {
	background: #fff;
	color: #121212 !important;
}

.gx-article-back {
	color: rgba(255,255,255,0.65) !important;
	text-decoration: none !important;
	font-size: 14px;
}

.gx-article-back:hover {
	color: var(--gx-accent) !important;
}

.gx-article-missing {
	text-align: center;
	padding: 60px 16px;
}

.gx-article-missing p {
	margin-bottom: 20px;
	color: rgba(255,255,255,0.75);
	font-size: 16px;
}

@media (max-width: 560px) {
	.gx-article-hero img { max-height: 220px; }
	.gx-article-foot { flex-direction: column; align-items: flex-start; }
}

/* ========== Page Posts (liste style KAYA) ========== */
body.landing-posts .site-content-wrap,
body.landing-posts .site-content-wrap.container {
	max-width: 1180px !important;
	padding-top: 28px !important;
}

.gx-posts {
	font-family: "Manrope", sans-serif;
	color: rgba(255,255,255,0.88);
}

.gx-posts-featured {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 28px;
	align-items: center;
	margin-bottom: 42px;
	text-decoration: none !important;
	color: inherit !important;
}

.gx-posts-featured-img {
	min-height: 280px;
	border-radius: 14px;
	background-size: cover;
	background-position: center;
	border: 1px solid rgba(255,255,255,0.08);
	box-shadow: 0 16px 40px rgba(0,0,0,0.4);
}

.gx-posts-featured-body h1 {
	margin: 10px 0 12px;
	font-family: "Bebas Neue", sans-serif;
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.05;
	color: #fff;
}

.gx-posts-meta {
	margin: 0;
	font-size: 13px;
	color: rgba(255,255,255,0.5);
}

.gx-posts-excerpt {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: rgba(255,255,255,0.7);
}

.gx-posts-layout {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 36px;
	align-items: start;
}

.gx-posts-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}

.gx-post-card {
	display: block;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.07);
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none !important;
	color: inherit !important;
	transition: transform .18s, border-color .18s, box-shadow .18s;
}

.gx-post-card:hover {
	transform: translateY(-3px);
	border-color: rgba(200,240,0,0.35);
	box-shadow: 0 14px 32px rgba(0,0,0,0.35);
}

.gx-post-card-img {
	height: 170px;
	background-size: cover;
	background-position: center;
}

.gx-post-card-body {
	padding: 16px 16px 14px;
}

.gx-post-card-row {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 12px;
	align-items: start;
}

.gx-post-card-date {
	font-size: 12px;
	font-weight: 700;
	color: rgba(255,255,255,0.45);
	line-height: 1.3;
	padding-top: 4px;
}

.gx-post-card-text h2 {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	color: #fff;
}

.gx-post-card-text p {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: rgba(255,255,255,0.55);
}

.gx-post-card-foot {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	font-size: 12px;
	color: rgba(255,255,255,0.45);
}

.gx-post-card-avatar {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.1);
	font-size: 11px;
}

.gx-posts-aside {
	position: sticky;
	top: 88px;
}

.gx-posts-widget {
	margin-bottom: 28px;
}

.gx-posts-widget h3 {
	margin: 0 0 14px;
	font-family: "Bebas Neue", sans-serif;
	font-size: 22px;
	letter-spacing: 0.04em;
	color: #fff;
	font-weight: 400;
}

.gx-posts-cats {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gx-posts-cats li { margin: 0 0 8px; }

.gx-posts-cats a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: rgba(255,255,255,0.75) !important;
	text-decoration: none !important;
	font-size: 14px;
}

.gx-posts-cats a:hover { color: var(--gx-accent) !important; }

.gx-posts-recent {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gx-posts-recent li { margin: 0 0 14px; }

.gx-posts-recent a {
	display: flex;
	gap: 12px;
	align-items: center;
	text-decoration: none !important;
	color: inherit !important;
}

.gx-posts-recent-thumb {
	width: 54px;
	height: 54px;
	border-radius: 8px;
	flex-shrink: 0;
	background-size: cover;
	background-position: center;
	border: 1px solid rgba(255,255,255,0.08);
}

.gx-posts-recent-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.gx-posts-recent-info strong {
	font-size: 13px;
	color: #fff;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gx-posts-recent-info em {
	font-style: normal;
	font-size: 11px;
	color: rgba(255,255,255,0.45);
}

.gx-posts-pager {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin: 34px 0 10px;
}

.gx-posts-pager a,
.gx-posts-pager span {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: rgba(255,255,255,0.7) !important;
	text-decoration: none !important;
	font-size: 14px;
	font-weight: 700;
}

.gx-posts-pager a:hover { color: var(--gx-accent) !important; }

.gx-posts-pager .is-current {
	background: var(--gx-accent);
	color: #111 !important;
}

.gx-posts-pager .is-disabled {
	opacity: 0.3;
}

.gx-posts-empty {
	color: rgba(255,255,255,0.65);
	padding: 40px 0;
}

@media (max-width: 980px) {
	.gx-posts-featured { grid-template-columns: 1fr; }
	.gx-posts-featured-img { min-height: 200px; }
	.gx-posts-layout { grid-template-columns: 1fr; }
	.gx-posts-aside { position: static; }
}

@media (max-width: 640px) {
	.gx-posts-grid { grid-template-columns: 1fr; }
}

/* ========== Page Auth / Login (style KAYA) ========== */
body.landing-auth,
body.landing-auth #main-container {
	background: #1a1218 !important;
	overflow: hidden;
	height: 100vh;
	height: 100dvh;
}

body.landing-auth .site-content-wrap,
body.landing-auth .site-content-wrap.container,
body.landing-auth .site-main-content,
body.landing-auth .row,
body.landing-auth .column {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
}

body.landing-auth .gx-clearfix { display: none !important; }

.gx-auth {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	grid-template-columns: minmax(320px, 420px) 1fr;
	font-family: "Manrope", sans-serif;
	color: #fff;
}

.gx-auth-signup {
	position: absolute;
	top: 18px;
	right: 22px;
	z-index: 30;
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	border-radius: 8px;
	background: #fff;
	color: #111 !important;
	font-weight: 800;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none !important;
	box-shadow: 0 8px 24px rgba(0,0,0,0.35);
	transition: transform .15s, background .15s;
}
.gx-auth-signup:hover {
	background: var(--gx-accent);
	transform: translateY(-1px);
}

.gx-auth-panel {
	position: relative;
	z-index: 5;
	background: #22171e;
	padding: 28px 36px 40px;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}

.gx-auth-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff !important;
	text-decoration: none !important;
	font-family: "Bebas Neue", sans-serif;
	font-size: 28px;
	letter-spacing: 0.06em;
	margin-bottom: 48px;
}
.gx-auth-back {
	font-family: "Manrope", sans-serif;
	font-size: 20px;
	opacity: 0.85;
}

.gx-auth-form-wrap {
	max-width: 340px;
	width: 100%;
	margin: auto 0;
}

.gx-auth-form-wrap h1 {
	margin: 0 0 10px;
	font-size: clamp(32px, 4vw, 42px);
	font-weight: 800;
	color: #fff;
	line-height: 1.1;
}

.gx-auth-switch {
	margin: 0 0 28px;
	font-size: 14px;
	color: rgba(255,255,255,0.78);
}
.gx-auth-switch a {
	color: var(--gx-accent) !important;
	font-weight: 800;
	text-decoration: none !important;
}
.gx-auth-switch a:hover { text-decoration: underline !important; }

.gx-auth-or {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 24px;
	color: rgba(255,255,255,0.45);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
}
.gx-auth-or:before,
.gx-auth-or:after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(255,255,255,0.18);
}

.gx-auth-error {
	margin: 0 0 16px;
	padding: 10px 12px;
	border-radius: 8px;
	background: rgba(220, 60, 60, 0.18);
	border: 1px solid rgba(220, 60, 60, 0.35);
	color: #ffb4b4;
	font-size: 13px;
}

.gx-auth-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gx-auth-field {
	position: relative;
	display: block;
	background: #3d2835;
	border-radius: 10px;
	padding: 10px 14px 12px;
	margin: 0;
	border: 0;
	box-shadow: none;
}
.gx-auth-field span {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #b5a09a;
	margin-bottom: 4px;
}
.gx-auth-field input {
	width: 100%;
	border: 0 !important;
	outline: none !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #e8ddd8 !important;
	font-size: 15px !important;
	font-family: "Manrope", sans-serif !important;
	padding: 0 28px 0 0 !important;
	margin: 0 !important;
	height: auto !important;
	line-height: 1.4 !important;
}
.gx-auth-field input::placeholder {
	color: #9a8580 !important;
	opacity: 1;
}
.gx-auth-field input:-webkit-autofill,
.gx-auth-field input:-webkit-autofill:hover,
.gx-auth-field input:-webkit-autofill:focus {
	-webkit-text-fill-color: #e8ddd8 !important;
	-webkit-box-shadow: 0 0 0 1000px #3d2835 inset !important;
	transition: background-color 9999s ease-in-out 0s;
	caret-color: #e8ddd8 !important;
}
.gx-auth-field:focus-within {
	background: #4a3340;
}

.gx-auth-eye {
	position: absolute;
	right: 12px;
	bottom: 12px;
	border: 0;
	background: transparent;
	color: #b5a09a;
	cursor: pointer;
	padding: 0;
	font-size: 16px;
}
.gx-auth-eye:hover { color: #e8ddd8; }

.gx-auth-forgot {
	text-align: right;
	margin-top: -4px;
}
.gx-auth-forgot a {
	color: #b5a09a !important;
	font-size: 13px;
	text-decoration: underline !important;
}
.gx-auth-forgot a:hover { color: #e8ddd8 !important; }

.gx-auth-submit {
	margin-top: 8px;
	width: 100%;
	border: 0;
	border-radius: 10px;
	padding: 14px 18px;
	background: #fff;
	color: #111;
	font-family: "Manrope", sans-serif;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	transition: background .15s, transform .15s;
}
.gx-auth-submit:hover {
	background: var(--gx-accent);
	transform: translateY(-1px);
}

.gx-auth-media {
	position: relative;
	overflow: hidden;
	background: #0b0b10;
}

.gx-auth-video,
.gx-auth-fallback {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gx-auth-video { z-index: 2; }
.gx-auth-fallback { z-index: 1; }

.gx-auth-pause {
	position: absolute;
	left: 18px;
	bottom: 18px;
	z-index: 5;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 8px;
	background: rgba(0,0,0,0.45);
	color: #fff;
	cursor: pointer;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	transition: background .15s;
}
.gx-auth-pause:hover { background: rgba(0,0,0,0.7); }

@media (max-width: 900px) {
	body.landing-auth,
	body.landing-auth #main-container {
		overflow: auto;
		height: auto;
		min-height: 100vh;
	}
	.gx-auth {
		position: relative;
		min-height: 100vh;
		grid-template-columns: 1fr;
	}
	.gx-auth-media {
		min-height: 42vh;
		order: -1;
	}
	.gx-auth-panel {
		padding: 24px 22px 36px;
	}
	.gx-auth-form-wrap {
		max-width: none;
		margin: 0;
	}
	.gx-auth-brand { margin-bottom: 28px; }
}

/* ========== Galerie coverflow (sous les news) ========== */
.gx-gallery {
	margin: 48px 0 30px;
	padding: 36px 0 28px;
	background:
		radial-gradient(ellipse at center, rgba(40, 70, 30, 0.35) 0%, transparent 70%),
		linear-gradient(180deg, rgba(12, 18, 14, 0.2), rgba(8, 12, 10, 0.85));
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,0.06);
	font-family: "Manrope", sans-serif;
	overflow: hidden;
}

.gx-gallery-head {
	text-align: center;
	margin-bottom: 22px;
	padding: 0 16px;
}

.gx-gallery-head h2 {
	margin: 0 0 6px;
	font-family: "Bebas Neue", sans-serif;
	font-size: clamp(28px, 3.2vw, 40px);
	letter-spacing: 0.04em;
	color: #fff;
	font-weight: 400;
	text-transform: uppercase;
}

.gx-gallery-head p {
	margin: 0;
	color: rgba(255,255,255,0.55);
	font-size: 13px;
}

.gx-gallery-stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 0 8px;
	min-height: 320px;
}

.gx-gallery-viewport {
	position: relative;
	width: min(920px, 78vw);
	height: 340px;
	perspective: 1200px;
	overflow: visible;
}

.gx-gallery-track {
	position: relative;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
}

.gx-gallery-slide {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(560px, 70vw);
	height: 300px;
	margin: 0;
	transform: translate(-50%, -50%) scale(0.7);
	opacity: 0;
	pointer-events: none;
	transition: transform .45s ease, opacity .35s ease, filter .35s ease;
	filter: brightness(0.55);
}

.gx-gallery-slide.is-active {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
	pointer-events: auto;
	filter: brightness(1);
	z-index: 5 !important;
}

.gx-gallery-slide.is-prev {
	transform: translate(calc(-50% - 42%), -50%) scale(0.78) rotateY(28deg);
	opacity: 0.75;
	pointer-events: auto;
	cursor: pointer;
}

.gx-gallery-slide.is-next {
	transform: translate(calc(-50% + 42%), -50%) scale(0.78) rotateY(-28deg);
	opacity: 0.75;
	pointer-events: auto;
	cursor: pointer;
}

.gx-gallery-slide.is-far {
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.55);
}

.gx-gallery-frame {
	width: 100%;
	height: 100%;
	border-radius: 10px;
	overflow: hidden;
	border: 3px solid #2a2f28;
	box-shadow:
		0 0 0 2px #1a1c18,
		0 18px 40px rgba(0,0,0,0.55),
		inset 0 0 0 1px rgba(200, 240, 0, 0.12);
	background: #0b0d0a;
	position: relative;
}

.gx-gallery-frame:before {
	content: "";
	position: absolute;
	top: -2px;
	left: 50%;
	transform: translateX(-50%);
	width: 28px;
	height: 10px;
	background: linear-gradient(180deg, #d8ff2e, #8ea028);
	clip-path: polygon(15% 0, 85% 0, 100% 100%, 0 100%);
	z-index: 2;
	opacity: 0.9;
}

.gx-gallery-frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gx-gallery-arrow {
	position: relative;
	z-index: 8;
	flex-shrink: 0;
	width: 46px;
	height: 78px;
	border: 0;
	cursor: pointer;
	color: #c8f000;
	font-size: 42px;
	line-height: 1;
	font-weight: 700;
	background: rgba(10, 14, 10, 0.85);
	clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 88%);
	box-shadow: 0 8px 20px rgba(0,0,0,0.4);
	transition: background .15s, color .15s, transform .15s;
}

.gx-gallery-prev { clip-path: polygon(0 0, 100% 12%, 100% 88%, 0 100%); }
.gx-gallery-next { clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 88%); }

.gx-gallery-arrow:hover {
	background: rgba(20, 28, 16, 0.95);
	color: #e8ff4a;
	transform: scale(1.04);
}

.gx-gallery-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px auto 0;
	padding: 10px 18px;
	width: fit-content;
	max-width: 90%;
	background: rgba(8, 10, 8, 0.75);
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.08);
}

.gx-gallery-dot {
	width: 16px;
	height: 20px;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
	background: #4a5340;
	box-shadow: inset 0 0 0 2px #2a3024;
	cursor: pointer;
	transform: rotate(-16deg);
	transition: border-color .15s, background .15s, transform .15s;
}

.gx-gallery-dot.is-active {
	background: #6d7a45;
	border-color: #c8f000;
	box-shadow: 0 0 10px rgba(200, 240, 0, 0.45);
	transform: rotate(-16deg) scale(1.12);
}

.gx-gallery-dot:hover {
	background: #5c6648;
}

@media (max-width: 900px) {
	.gx-gallery-viewport { height: 260px; width: 92vw; }
	.gx-gallery-slide { width: min(420px, 78vw); height: 230px; }
	.gx-gallery-slide.is-prev { transform: translate(calc(-50% - 28%), -50%) scale(0.72) rotateY(22deg); }
	.gx-gallery-slide.is-next { transform: translate(calc(-50% + 28%), -50%) scale(0.72) rotateY(-22deg); }
	.gx-gallery-arrow { width: 36px; height: 64px; font-size: 32px; }
}

@media (max-width: 560px) {
	.gx-gallery { margin: 28px 0 18px; padding: 22px 0 18px; }
	.gx-gallery-stage { min-height: 220px; }
	.gx-gallery-viewport { height: 210px; }
	.gx-gallery-slide { width: 86vw; height: 190px; }
	.gx-gallery-slide.is-prev,
	.gx-gallery-slide.is-next { opacity: 0; pointer-events: none; }
	.gx-gallery-arrow { width: 32px; height: 56px; font-size: 28px; }
}

