/* ============================================================
 * AS Theme — portail membre (inscription, connexion, mot de passe).
 *
 * Chargée par `AS_Theme_Auth::assets()` sur les trois pages wpForo
 * `/sign-up/`, `/sign-in/` et `/change-password/`, jamais ailleurs.
 *
 * BLINDAGE HÔTE — exception documentée à la §9 du AGENTS.md du thème :
 * ces pages vivent dans le DOM de wpForo, dont la feuille cible les
 * éléments nus (`p`, `h1`, `ul`, `label`, `input`, `a`) par des
 * sélecteurs à DEUX identifiants — `#wpforo #wpforo-wrap p`. Aucune
 * classe ne peut les battre : toutes les règles de ce fichier portent
 * donc le même préfixe `#wpforo #wpforo-wrap`, et `!important` n'est
 * employé que là où wpForo l'emploie lui-même (couleurs `.wpfcl-*`,
 * `display` de la barre du forum, boutons `input[type=submit]`).
 *
 * DEUXIÈME PIÈGE, celui des champs : wpForo GÉNÈRE depuis ses réglages un
 * `wp-content/uploads/wpforo/assets/colors.css`, enfilé APRÈS la feuille du
 * thème. Ses règles de champs — `#wpforo #wpforo-wrap .wpf-field input[type=…]`,
 * fond `#E8E8E8` — ont exactement notre spécificité : à égalité, le dernier
 * chargé gagne, et c'est lui. La classe est donc DOUBLÉE (`.as-auth.as-auth`)
 * sur toute la famille input / select / textarea : un point de spécificité de
 * plus, aucune incidence sur le HTML. Ne pas la « simplifier » — les champs
 * redeviendraient gris clair sur fond sombre.
 *
 * Les tokens `--as-*` viennent d'AS Core ; chacun est lu avec son repli
 * littéral pour que la page reste présentable si le socle est absent.
 * ============================================================ */

/* ---------- Décrochage : le portail n'est pas le forum ---------- */
#wpforo #wpforo-wrap.as-auth-page #wpforo-menu,
#wpforo #wpforo-wrap.as-auth-page .wpforo-subtop,
#wpforo #wpforo-wrap.as-auth-page #wpforo-footer,
#wpforo #wpforo-wrap.as-auth-page .wpforo-right-sidebar { display: none !important; }
#wpforo #wpforo-wrap.as-auth-page .wpforo-content { width: 100% !important; float: none !important; padding: 0 !important; }

/* Le forum peint son conteneur en clair — `#wpforo #wpforo-wrap{background:#E8E8E8}`,
   servi par le `colors.css` généré depuis les réglages de wpForo. Sur des pages de
   compte ce fond n'a pas lieu d'être : on rend le conteneur au fond sombre du site.
   Deux identifiants ET notre classe : on passe devant sans `!important`. */
#wpforo #wpforo-wrap.as-auth-page { background: transparent; color: var(--as-ink-2, #c4cbd1); }

/* ---------- Cadre ---------- */
#wpforo #wpforo-wrap .as-auth {
	max-width: 1180px;
	margin: 0 auto;
	padding: 6px 0 44px;
	color: var(--as-ink-2, #c4cbd1);
	font-family: var(--as-font-body, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
	font-size: 14px;
	line-height: 1.6;
	text-align: left;
}
#wpforo #wpforo-wrap .as-auth *,
#wpforo #wpforo-wrap .as-auth *::before,
#wpforo #wpforo-wrap .as-auth *::after { box-sizing: border-box; }
#wpforo #wpforo-wrap .as-auth p { font-size: inherit; line-height: inherit; margin: 0; }
#wpforo #wpforo-wrap .as-auth strong { color: var(--as-ink, #f5f7f9); font-weight: 700; }
#wpforo #wpforo-wrap .as-auth a { color: var(--as-accent, #f4b91f); text-decoration: none; }
#wpforo #wpforo-wrap .as-auth a:hover,
#wpforo #wpforo-wrap .as-auth a:focus-visible { color: var(--as-accent-2, #ffd35c); text-decoration: underline; }
#wpforo #wpforo-wrap .as-auth :focus-visible { outline: 2px solid var(--as-accent, #f4b91f); outline-offset: 2px; }

/* Colonne unique : connexion et mot de passe restent des formulaires courts. */
#wpforo #wpforo-wrap .as-auth-colonne { max-width: 480px; margin: 0 auto; }

/* ---------- Titraille ---------- */
#wpforo #wpforo-wrap .as-auth-entete { margin: 0 0 22px; text-align: center; }
#wpforo #wpforo-wrap .as-auth-kicker {
	margin: 0 0 8px;
	color: var(--as-accent, #f4b91f);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.3;
	text-transform: uppercase;
}
#wpforo #wpforo-wrap .as-auth-titre {
	margin: 0 0 12px;
	padding: 0;
	color: var(--as-ink, #f5f7f9);
	font-family: var(--as-font-head, inherit);
	font-size: clamp(25px, 3.2vw, 34px);
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.15;
	text-transform: none;
}
#wpforo #wpforo-wrap .as-auth-titre--hero { font-size: clamp(28px, 4vw, 42px); }
#wpforo #wpforo-wrap .as-auth-chapo { color: var(--as-ink-2, #c4cbd1); font-size: 15px; }
#wpforo #wpforo-wrap .as-auth-chapo--hero { max-width: 760px; margin: 0 auto; font-size: clamp(15px, 1.7vw, 17px); }
#wpforo #wpforo-wrap .as-auth-h2 {
	margin: 0 0 14px;
	padding: 0;
	color: var(--as-ink, #f5f7f9);
	font-family: var(--as-font-head, inherit);
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -.01em;
	line-height: 1.25;
	text-transform: none;
}
#wpforo #wpforo-wrap .as-auth-h2--carte { font-size: 18px; text-align: center; }
#wpforo #wpforo-wrap .as-auth h3 {
	margin: 0 0 6px;
	padding: 0;
	color: var(--as-ink, #f5f7f9);
	font-family: var(--as-font-body, inherit);
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: none;
}

/* ---------- Hero de l'inscription ---------- */
#wpforo #wpforo-wrap .as-auth-hero {
	margin: 0 0 26px;
	padding: 26px 22px 24px;
	border: 1px solid rgba(244, 185, 31, .3);
	border-radius: var(--as-radius, 18px);
	background:
		linear-gradient(105deg, rgba(244, 185, 31, .14), rgba(244, 185, 31, .03) 55%, rgba(126, 166, 140, .09)),
		var(--as-card, #0e1216);
	text-align: center;
}
#wpforo #wpforo-wrap .as-auth-preuves {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(124px, 1fr));
	margin: 22px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
}
#wpforo #wpforo-wrap .as-auth-preuves div { min-width: 0; }
#wpforo #wpforo-wrap .as-auth-preuves dt {
	color: var(--as-ink, #f5f7f9);
	font-size: 21px;
	font-weight: 900;
	line-height: 1.1;
}
#wpforo #wpforo-wrap .as-auth-preuves dd {
	margin: 5px 0 0;
	color: var(--as-muted, #98a3ae);
	font-size: 11.5px;
	line-height: 1.3;
}
/* ---------- Deux colonnes : arguments à gauche, formulaire à droite ---------- */
#wpforo #wpforo-wrap .as-auth-duo {
	display: grid;
	gap: 26px;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
	align-items: start;
}
#wpforo #wpforo-wrap .as-auth-bloc { margin: 0 0 26px; }
#wpforo #wpforo-wrap .as-auth-bloc:last-child { margin-bottom: 0; }
#wpforo #wpforo-wrap .as-auth-panneau { position: sticky; top: calc(var(--as-sticky-top, 8px) + 12px); }

/* ---------- Cartes d'arguments ---------- */
#wpforo #wpforo-wrap .as-auth-cartes,
#wpforo #wpforo-wrap .as-auth-etapes,
#wpforo #wpforo-wrap .as-auth-liste { margin: 0; padding: 0; list-style: none; }
#wpforo #wpforo-wrap .as-auth-cartes {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
#wpforo #wpforo-wrap .as-auth-cartes li {
	padding: 15px 16px;
	border: 1px solid var(--as-line, #252d35);
	border-radius: var(--as-radius-sm, 12px);
	background: var(--as-card, #0e1216);
	line-height: 1.55;
}
#wpforo #wpforo-wrap .as-auth-cartes li p { color: var(--as-ink-2, #c4cbd1); font-size: 13.5px; }

/* ---------- Étapes numérotées ---------- */
#wpforo #wpforo-wrap .as-auth-etapes { counter-reset: as-auth-etape; }
#wpforo #wpforo-wrap .as-auth-etapes li {
	position: relative;
	margin: 0 0 12px;
	padding: 14px 16px 14px 54px;
	border: 1px solid var(--as-line, #252d35);
	border-radius: var(--as-radius-sm, 12px);
	background: var(--as-bg-2, #0a0d10);
	line-height: 1.55;
}
#wpforo #wpforo-wrap .as-auth-etapes li:last-child { margin-bottom: 0; }
#wpforo #wpforo-wrap .as-auth-etapes li::before {
	counter-increment: as-auth-etape;
	content: counter(as-auth-etape);
	position: absolute;
	top: 14px;
	left: 16px;
	display: flex;
	width: 26px;
	height: 26px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(244, 185, 31, .38);
	border-radius: 999px;
	background: rgba(244, 185, 31, .12);
	color: var(--as-accent, #f4b91f);
	font-size: 13px;
	font-weight: 800;
}
#wpforo #wpforo-wrap .as-auth-etapes li p { color: var(--as-ink-2, #c4cbd1); font-size: 13.5px; }

/* ---------- Listes de réassurance ---------- */
#wpforo #wpforo-wrap .as-auth-liste li {
	position: relative;
	margin: 0 0 9px;
	padding: 0 0 0 22px;
	color: var(--as-ink-2, #c4cbd1);
	font-size: 13.5px;
	line-height: 1.55;
}
#wpforo #wpforo-wrap .as-auth-liste li:last-child { margin-bottom: 0; }
#wpforo #wpforo-wrap .as-auth-liste li::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 4px;
	width: 7px;
	height: 7px;
	border-radius: 2px;
	background: var(--as-accent, #f4b91f);
}

/* ---------- Carte de formulaire ---------- */
#wpforo #wpforo-wrap .as-auth-carte {
	padding: 22px 20px;
	border: 1px solid var(--as-line, #252d35);
	border-radius: var(--as-radius, 18px);
	background: var(--as-card, #0e1216);
	box-shadow: 0 24px 60px -40px rgba(0, 0, 0, .9);
}
#wpforo #wpforo-wrap .as-auth-carte--statique { text-align: left; }
#wpforo #wpforo-wrap .as-auth-champ { margin: 0 0 16px; }
#wpforo #wpforo-wrap .as-auth-label {
	display: block;
	margin: 0 0 6px;
	color: var(--as-ink, #f5f7f9);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}
#wpforo #wpforo-wrap .as-auth-controle { position: relative; display: block; width: 100%; }
#wpforo #wpforo-wrap .as-auth-aide { margin: 8px 0 0; color: var(--as-muted, #98a3ae); font-size: 12.5px; line-height: 1.5; }
#wpforo #wpforo-wrap .as-auth-aide--centre { margin-top: 14px; text-align: center; }

/* Champs : la feuille de wpForo les cible à deux identifiants, on repasse
   derrière elle pour toute la famille (nos champs ET ceux de `wpforo_fields()`). */
#wpforo #wpforo-wrap .as-auth.as-auth input[type="text"],
#wpforo #wpforo-wrap .as-auth.as-auth input[type="email"],
#wpforo #wpforo-wrap .as-auth.as-auth input[type="password"],
#wpforo #wpforo-wrap .as-auth.as-auth input[type="url"],
#wpforo #wpforo-wrap .as-auth.as-auth input[type="tel"],
#wpforo #wpforo-wrap .as-auth.as-auth input[type="number"],
#wpforo #wpforo-wrap .as-auth.as-auth input[type="date"],
#wpforo #wpforo-wrap .as-auth.as-auth select,
#wpforo #wpforo-wrap .as-auth.as-auth textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 11px 14px;
	border: 1px solid var(--as-line-2, #333d47);
	border-radius: 10px;
	background: var(--as-bg-2, #0a0d10);
	box-shadow: none;
	color: var(--as-ink, #f5f7f9);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.4;
}
#wpforo #wpforo-wrap .as-auth.as-auth textarea { min-height: 110px; }

/* ÉTAT ACTIF — même piège de spécificité que le fond du conteneur, un cran
   plus bas. `colors.css` peint aussi l'état sélectionné :
   `#wpforo #wpforo-wrap .wpf-field input[type=text]:focus` vaut
   (2 identifiants, 3 classes/attributs/pseudo-classes, 1 élément) — EXACTEMENT
   le poids qu'avait ici `.as-auth.as-auth input:focus`. À égalité, la feuille
   chargée en dernier gagne, et c'est celle de wpForo : le champ repassait en
   clair au clic, sous notre texte clair. Résultat : blanc sur blanc, le
   visiteur ne voyait plus ce qu'il tapait dans « identifiant » et « mot de
   passe ».
   On ajoute donc l'attribut de type à chaque sélecteur (un cran de plus, aucune
   incidence sur le HTML) et on redéclare fond ET couleur : l'état actif ne doit
   rien laisser à l'héritage. Ne pas « simplifier » en `input:focus`. */
#wpforo #wpforo-wrap .as-auth.as-auth input[type="text"]:focus,
#wpforo #wpforo-wrap .as-auth.as-auth input[type="email"]:focus,
#wpforo #wpforo-wrap .as-auth.as-auth input[type="password"]:focus,
#wpforo #wpforo-wrap .as-auth.as-auth input[type="url"]:focus,
#wpforo #wpforo-wrap .as-auth.as-auth input[type="tel"]:focus,
#wpforo #wpforo-wrap .as-auth.as-auth input[type="number"]:focus,
#wpforo #wpforo-wrap .as-auth.as-auth input[type="date"]:focus,
#wpforo #wpforo-wrap .as-auth.as-auth select:focus,
#wpforo #wpforo-wrap .as-auth.as-auth textarea:focus {
	border-color: var(--as-accent, #f4b91f);
	background: var(--as-bg-2, #0a0d10);
	box-shadow: 0 0 0 3px rgba(244, 185, 31, .18);
	color: var(--as-ink, #f5f7f9);
	outline: none;
}

/* REMPLISSAGE AUTOMATIQUE — l'autre moitié du « blanc sur blanc ». Le champ
   pré-rempli par le gestionnaire de mots de passe n'est peint qu'au premier
   geste du visiteur : le clic sur « identifiant » repeint donc les deux champs
   d'un coup, avec la couleur interne du navigateur, posée en `!important` dans
   sa propre feuille — `background` ne peut pas la battre. La parade normalisée
   est une ombre interne pleine (elle recouvre le fond) et
   `-webkit-text-fill-color` (`color` est ignoré de la même façon). */
#wpforo #wpforo-wrap .as-auth.as-auth input:-webkit-autofill {
	-webkit-text-fill-color: var(--as-ink, #f5f7f9);
	-webkit-box-shadow: 0 0 0 100px var(--as-bg-2, #0a0d10) inset;
	box-shadow: 0 0 0 100px var(--as-bg-2, #0a0d10) inset;
	caret-color: var(--as-ink, #f5f7f9);
}
/* Champ auto-rempli ET sélectionné : l'ombre interne remplacerait l'anneau de
   focus, on réunit donc les deux dans une seule déclaration. */
#wpforo #wpforo-wrap .as-auth.as-auth input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 100px var(--as-bg-2, #0a0d10) inset, 0 0 0 3px rgba(244, 185, 31, .18);
	box-shadow: 0 0 0 100px var(--as-bg-2, #0a0d10) inset, 0 0 0 3px rgba(244, 185, 31, .18);
}
#wpforo #wpforo-wrap .as-auth.as-auth input::placeholder,
#wpforo #wpforo-wrap .as-auth.as-auth textarea::placeholder { color: var(--as-muted, #98a3ae); opacity: 1; }
/* Cases légales, opt-in newsletter, « rester connecté » : le navigateur les
   peint d'après le `color-scheme` hérité (`dark`, cf. `base.css`), qui rend une
   case VIDE en carré plein sombre — impossible à distinguer d'une case cochée.
   On force le schéma clair sur ces deux contrôles, comme le socle. */
#wpforo #wpforo-wrap .as-auth.as-auth input[type="checkbox"],
#wpforo #wpforo-wrap .as-auth.as-auth input[type="radio"] {
	width: 16px;
	height: 16px;
	margin: 1px 0 0;
	flex: 0 0 16px;
	color-scheme: light;
	accent-color: var(--as-accent, #f4b91f);
	cursor: pointer;
}

/* Œil « afficher le mot de passe » : le JS du forum écoute `.wpf-show-password`
   dans `.wpf-field-wrap`, la structure doit rester celle-là. */
#wpforo #wpforo-wrap .as-auth .as-auth-controle--oeil input { padding-right: 42px; }
#wpforo #wpforo-wrap .as-auth .wpf-show-password {
	position: absolute;
	top: 50%;
	right: 13px;
	color: var(--as-muted, #98a3ae);
	cursor: pointer;
	font-size: 14px;
	transform: translateY(-50%);
}
#wpforo #wpforo-wrap .as-auth .wpf-show-password:hover { color: var(--as-accent, #f4b91f); }

/* ---------- Ligne « rester connecté » / mot de passe oublié ---------- */
#wpforo #wpforo-wrap .as-auth-ligne {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 18px;
	font-size: 13px;
}
#wpforo #wpforo-wrap .as-auth-case {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin: 0;
	color: var(--as-ink-2, #c4cbd1);
	cursor: pointer;
	font-weight: 400;
	line-height: 1.3;
}

/* ---------- Bouton principal ---------- */
#wpforo #wpforo-wrap .as-auth .as-auth-submit {
	display: flex;
	width: 100%;
	min-height: 46px;
	gap: 9px;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 12px 20px !important;
	border: 0;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--as-accent, #f4b91f), var(--as-accent-2, #ffd35c));
	box-shadow: 0 16px 34px -22px rgba(244, 185, 31, .95);
	color: #161108 !important;
	cursor: pointer;
	font-family: inherit;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
#wpforo #wpforo-wrap .as-auth .as-auth-submit:hover,
#wpforo #wpforo-wrap .as-auth .as-auth-submit:focus-visible {
	color: #161108 !important;
	filter: brightness(1.06);
	text-decoration: none;
	transform: translateY(-1px);
}
#wpforo #wpforo-wrap .as-auth .as-auth-fleche {
	display: inline-flex;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(22, 17, 8, .16);
	font-size: 12px;
	line-height: 1;
}
#wpforo #wpforo-wrap .as-auth .as-auth-submit--lien { width: auto; }

/* Rappel du CTA sous le pli : inutile en deux colonnes, le formulaire est déjà
   à l'écran ; il ne réapparaît qu'une fois la page repliée sur une colonne. */
#wpforo #wpforo-wrap .as-auth .as-auth-ancre { display: none; }

#wpforo #wpforo-wrap .as-auth .as-auth-lien { color: var(--as-accent, #f4b91f); font-size: 13px; }
#wpforo #wpforo-wrap .as-auth-actions { display: grid; gap: 12px; justify-items: center; margin: 20px 0 0; }
#wpforo #wpforo-wrap .as-auth-bascule {
	margin: 18px 0 0;
	color: var(--as-muted, #98a3ae);
	font-size: 13.5px;
	text-align: center;
}

/* ---------- Champs générés par wpForo (`wpforo_fields()`) ----------
 * wpForo étale ses champs en tableau flottant 38 % / 62 %, avec une bordure
 * blanche entre chaque ligne : on remet une pile classique, label au-dessus.
 * Les champs personnalisés ajoutés dans les réglages du forum héritent donc
 * automatiquement de cette présentation. */
#wpforo #wpforo-wrap .as-auth .wpf-tr,
#wpforo #wpforo-wrap .as-auth .wpf-td {
	display: block;
	width: 100%;
	float: none;
	padding: 0;
	margin: 0;
	background: none;
}
#wpforo #wpforo-wrap .as-auth .wpf-field {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	background: none;
}
#wpforo #wpforo-wrap .as-auth .wpf-field-cl { clear: both; }
#wpforo #wpforo-wrap .as-auth .wpf-field .wpf-label-wrap {
	display: block;
	width: 100%;
	float: none;
	margin: 0 0 6px;
	padding: 0;
}
#wpforo #wpforo-wrap .as-auth .wpf-field .wpf-label {
	margin: 0;
	padding: 0;
	color: var(--as-ink, #f5f7f9) !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	white-space: normal;
}
#wpforo #wpforo-wrap .as-auth.as-auth .wpf-field .wpf-field-required-icon { color: var(--as-accent, #f4b91f); }
#wpforo #wpforo-wrap .as-auth .wpf-field .wpf-desc {
	margin: 4px 0 0;
	padding: 0;
	color: var(--as-muted, #98a3ae) !important;
	font-size: 12.5px;
	font-style: normal;
	line-height: 1.5;
}
#wpforo #wpforo-wrap .as-auth .wpf-field .wpf-field-wrap {
	position: relative;
	display: block;
	width: 100%;
	float: none;
	padding: 0;
}
#wpforo #wpforo-wrap .as-auth .wpf-field .wpf-field-wrap .wpf-field-icon {
	position: absolute;
	top: 50%;
	left: 14px;
	color: var(--as-muted, #98a3ae);
	font-size: 14px;
	transform: translateY(-50%);
}
#wpforo #wpforo-wrap .as-auth .wpf-field .wpf-field-wrap .wpf-field-icon ~ input { padding-left: 40px; }

/* ---------- Cases greffées sur `register_form` / `login_form` ----------
 * Newsletter MailPoet, cases légales du forum, reCAPTCHA : le HTML appartient
 * à ces greffons, on ne le reproduit pas — on lui donne seulement la charte. */
#wpforo #wpforo-wrap .as-auth-hook { margin: 0 0 16px; }
#wpforo #wpforo-wrap .as-auth-hook:empty { display: none; }
#wpforo #wpforo-wrap .as-auth-hook { color: var(--as-ink-2, #c4cbd1); font-size: 13px; }
#wpforo #wpforo-wrap .as-auth-hook p { margin: 0 0 10px; }
#wpforo #wpforo-wrap .as-auth-hook > input[type="checkbox"] { margin-right: 8px; }
#wpforo #wpforo-wrap .as-auth-hook p:last-child { margin-bottom: 0; }
#wpforo #wpforo-wrap .as-auth-hook label,
#wpforo #wpforo-wrap .as-auth-hook .wpforo-legal-checkbox {
	display: flex;
	gap: 9px;
	align-items: flex-start;
	margin: 0 0 10px;
	padding: 0;
	color: var(--as-ink-2, #c4cbd1);
	cursor: pointer;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.45;
}
#wpforo #wpforo-wrap .as-auth-hook label:last-child,
#wpforo #wpforo-wrap .as-auth-hook .wpforo-legal-checkbox:last-child { margin-bottom: 0; }
#wpforo #wpforo-wrap .as-auth-hook .wpflink {
	color: var(--as-accent, #f4b91f);
	cursor: pointer;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 3px;
}
#wpforo #wpforo-wrap .as-auth-hook .wpforo-legal-privacy,
#wpforo #wpforo-wrap .as-auth-hook .wpforo-legal-rules {
	max-height: 220px;
	margin: 10px 0;
	padding: 12px 14px;
	overflow-y: auto;
	border: 1px solid var(--as-line, #252d35);
	border-radius: var(--as-radius-sm, 12px);
	background: var(--as-bg-2, #0a0d10);
	color: var(--as-ink-2, #c4cbd1);
	font-size: 12.5px;
}
#wpforo #wpforo-wrap .as-auth-hook .wpflegal-privacy-button {
	display: inline-block;
	margin: 8px 8px 0 0;
	padding: 7px 14px;
	border: 1px solid var(--as-line-2, #333d47);
	border-radius: 999px;
	color: var(--as-ink, #f5f7f9);
	cursor: pointer;
	font-size: 12.5px;
	font-weight: 700;
}
#wpforo #wpforo-wrap .as-auth-hook .wpforo_recaptcha_widget { display: flex; justify-content: center; margin: 12px 0 0; }
#wpforo #wpforo-wrap .as-auth-hook .g-recaptcha { margin: 0 auto; }

/* ---------- Adaptatif ---------- */
@media (max-width: 980px) {
	#wpforo #wpforo-wrap .as-auth-duo { grid-template-columns: 1fr; gap: 22px; }
	#wpforo #wpforo-wrap .as-auth-panneau { position: static; }
	#wpforo #wpforo-wrap .as-auth .as-auth-ancre { display: inline-flex; width: auto; margin: 20px auto 0; }
}
@media (max-width: 600px) {
	#wpforo #wpforo-wrap .as-auth { padding-bottom: 32px; }
	#wpforo #wpforo-wrap .as-auth-hero { padding: 22px 16px; }
	#wpforo #wpforo-wrap .as-auth-carte { padding: 18px 15px; }
	#wpforo #wpforo-wrap .as-auth-preuves { grid-template-columns: repeat(2, 1fr); }
	#wpforo #wpforo-wrap .as-auth-cartes { grid-template-columns: 1fr; }
}

/* ---------- Mouvement réduit ---------- */
@media (prefers-reduced-motion: reduce) {
	#wpforo #wpforo-wrap .as-auth .as-auth-submit { transition: none; }
	#wpforo #wpforo-wrap .as-auth .as-auth-submit:hover,
	#wpforo #wpforo-wrap .as-auth .as-auth-submit:focus-visible { transform: none; }
}
