/* GE-SitePilot : page de connexion de la racine du site (version 1.9.2), thème client noir.
 *
 * Mise en page reprise de la connexion de l'outil interne de l'agence : deux colonnes, présentation à gauche dans une carte arrondie,
 * formulaire centré à droite, bouton en forme de pilule. Fond noir : les variables viennent de ge-ui-noir.css, les composants de base
 * (logo, bouton, lien d'évitement) de portal.css et ge-ui-portal.css. Cette feuille ne règle que la mise en page de la connexion.
 * Titres en Montserrat (déclarée par portal.css, hébergée dans le plugin), jamais en majuscules, sur deux lignes. Mobile d'abord (375 px) : une colonne, la carte de présentation se réduit au logo et au titre ; deux colonnes dès 56rem.
 * Ni police ni ressource externe ; le logo (version négative officielle, assets/img/logo-groupe-echo-negatif.webp) vient de --ge-ui-logo.
 */
/* Palette du site vitrine de l'agence (relevée sur groupe-echo.fr) : noir chaud, ivoire, or. Valable pour cette page seulement. */
.ge-ui.ge-ui--portal.ge-gate {
	--ge-ui-canvas: #0b0a09;
	--ge-ui-surface: #151311;
	--ge-ui-text: #f3f1ec;
	--ge-ui-text-muted: #a39c90;
	--ge-ui-border: #2b2722;
	--ge-ui-brand: #a8884a;
	--ge-ui-brand-strong: #c9a965;
	--ge-ui-brand-soft: #151311;
	--ge-ui-focus: #c9a965;
	--ge-ui-logo: url("../img/logo-groupe-echo-negatif.webp");
	--ge-gate-font-head: "Montserrat", var(--ge-ui-font);
	--ge-gate-font-body: var(--ge-ui-font);
	margin: 0;
	background: var(--ge-ui-canvas);
	color: var(--ge-ui-text);
	font-family: var(--ge-gate-font-body);
}

.ge-ui.ge-ui--portal.ge-gate h1,
.ge-ui.ge-ui--portal.ge-gate h2,
.ge-ui.ge-ui--portal.ge-gate .ge-gate-submit { font-family: var(--ge-gate-font-head); }

.ge-ui.ge-ui--portal.ge-gate .ge-gate-grid { display: grid; grid-template-columns: 1fr; min-height: 100vh; }

/* ── Présentation (gauche) ──────────────────────────────────────────────────────────────────────────────────────── */
.ge-ui.ge-ui--portal.ge-gate .ge-gate-hero { padding: 1rem 1rem 0; }

.ge-ui.ge-ui--portal.ge-gate .ge-gate-hero-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	height: 100%;
	padding: 1.5rem;
	background: var(--ge-ui-surface);
	border: 1px solid var(--ge-ui-border);
	border-radius: 1.25rem;
}

.ge-ui.ge-ui--portal.ge-gate .ge-portal-brand { margin: 0; }
.ge-ui.ge-ui--portal.ge-gate .ge-portal-brand-logo { width: 200px; height: 56px; background-position: left center; }

.ge-ui.ge-ui--portal.ge-gate .ge-gate-hero-text { display: flex; flex-direction: column; gap: 1rem; }
.ge-ui.ge-ui--portal.ge-gate h1 { margin: 0; color: var(--ge-ui-text); font-size: 1.5rem; line-height: 1.2; font-weight: 600; letter-spacing: -0.03em; text-transform: none; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-line { display: block; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-lead { margin: 0; color: var(--ge-ui-text-muted); }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-lead,
.ge-ui.ge-ui--portal.ge-gate .ge-gate-points,
.ge-ui.ge-ui--portal.ge-gate .ge-gate-hero .ge-gate-foot { display: none; }

.ge-ui.ge-ui--portal.ge-gate .ge-gate-points { margin: 0; padding: 0; list-style: none; color: var(--ge-ui-text); }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-points li { position: relative; margin: 0 0 0.75rem; padding-left: 1.75rem; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-points li::before { content: "\2713"; position: absolute; left: 0; color: var(--ge-ui-brand-strong); font-weight: 600; }

.ge-ui.ge-ui--portal.ge-gate .ge-gate-foot { margin: auto 0 0; color: var(--ge-ui-text-muted); font-size: 0.875rem; }

/* ── Formulaire (droite) ────────────────────────────────────────────────────────────────────────────────────────── */
.ge-ui.ge-ui--portal.ge-gate .ge-gate-main { display: flex; align-items: center; justify-content: center; padding: 2rem 1rem 2.5rem; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-panel { box-sizing: border-box; width: 100%; max-width: 26.25rem; }

.ge-ui.ge-ui--portal.ge-gate h2 { margin: 0 0 0.35rem; color: var(--ge-ui-text); font-size: 2rem; line-height: 1.2; font-weight: 600; letter-spacing: -0.025em; text-transform: none; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-intro { margin: 0 0 1.5rem; color: var(--ge-ui-text-muted); }

.ge-ui.ge-ui--portal.ge-gate .ge-gate-notice { margin: 0 0 1.25rem; padding: 0.75rem 1rem; border: 1px solid var(--ge-ui-border-control); border-radius: 0.5rem; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-notice-error { color: var(--ge-ui-bad); background: var(--ge-ui-bad-bg); border-color: var(--ge-ui-bad); }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-notice-ok { color: var(--ge-ui-ok); background: var(--ge-ui-ok-bg); border-color: var(--ge-ui-ok); }

.ge-ui.ge-ui--portal.ge-gate .ge-gate-form { margin: 0; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-field { margin: 0 0 1.1rem; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-field label { display: block; margin: 0 0 0.35rem; font-weight: 600; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0 0 0.35rem; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-label-row label { margin: 0; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-label-row a { color: var(--ge-ui-brand-strong); font-size: 0.875rem; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-label-row a:focus-visible { outline: 2px solid var(--ge-ui-focus); outline-offset: 2px; }

.ge-ui.ge-ui--portal.ge-gate .ge-gate-field input {
	box-sizing: border-box;
	width: 100%;
	min-height: 2.9rem;
	padding: 0.5rem 0.85rem;
	color: var(--ge-ui-text);
	background: var(--ge-ui-surface);
	border: 1px solid var(--ge-ui-border-control);
	border-radius: 0.5rem;
	font: inherit;
}

.ge-ui.ge-ui--portal.ge-gate .ge-gate-field input:focus { outline: 2px solid var(--ge-ui-focus); outline-offset: 2px; border-color: var(--ge-ui-brand-strong); }

.ge-ui.ge-ui--portal.ge-gate .ge-gate-remember { display: flex; align-items: center; gap: 0.6rem; margin: 0 0 1.5rem; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-remember input { width: 1.25rem; height: 1.25rem; accent-color: var(--ge-ui-brand-strong); }

.ge-ui.ge-ui--portal.ge-gate .ge-gate-actions { margin: 0 0 1.25rem; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-submit { width: 100%; min-height: 3.1rem; border-radius: 99px; font-family: var(--ge-gate-font-head); font-size: 1rem; font-weight: 600; cursor: pointer; }
.ge-ui.ge-ui--portal.ge-gate .ge-gate-submit:focus-visible { outline: 2px solid var(--ge-ui-focus); outline-offset: 2px; }

.ge-ui.ge-ui--portal.ge-gate .ge-gate-note { margin: 0 0 0.75rem; color: var(--ge-ui-text-muted); font-size: 0.875rem; line-height: 1.5; }

/* ── Deux colonnes ──────────────────────────────────────────────────────────────────────────────────────────────── */
@media (min-width: 56rem) {
	.ge-ui.ge-ui--portal.ge-gate .ge-gate-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }
	.ge-ui.ge-ui--portal.ge-gate .ge-gate-hero { padding: 1.4rem; }
	.ge-ui.ge-ui--portal.ge-gate .ge-gate-hero-card { gap: 2rem; padding: 3rem; border-radius: 1.5rem; }
	.ge-ui.ge-ui--portal.ge-gate .ge-portal-brand-logo { width: 240px; height: 67px; }
	.ge-ui.ge-ui--portal.ge-gate .ge-gate-hero-text { margin-top: auto; }
	.ge-ui.ge-ui--portal.ge-gate h1 { font-size: clamp(1.5rem, 2.6vw, 2.875rem); }
	.ge-ui.ge-ui--portal.ge-gate .ge-gate-lead { display: block; max-width: 30rem; font-size: 1.0625rem; line-height: 1.55; }
	.ge-ui.ge-ui--portal.ge-gate .ge-gate-points { display: block; }
	.ge-ui.ge-ui--portal.ge-gate .ge-gate-hero .ge-gate-foot { display: block; }
	.ge-ui.ge-ui--portal.ge-gate .ge-gate-main { padding: 3rem 2rem; }
}
