/**
 * Gravity Forms (thème Orbital) — formulaire de la page Contact.
 *
 * Chargé uniquement sur /contact/ (functions.php), après
 * gravity-forms-inscription.css dont il reprend les variables (--stl-form-*),
 * les champs texte à libellé flottant, les erreurs et le bouton d'envoi.
 * Ce fichier ajoute ce que l'inscription n'a pas : listes déroulantes,
 * zone de texte, case de consentement, descriptions et téléphone.
 *
 * Maquette Figma « Socialter — site web 2026 » : formulaire de contact (2047:1388).
 * - Liste déroulante : même boîte que le champ (bordure 1px accent clair,
 *   rayon 6px, padding 12px), texte 17px gris foncé, chevron 24px à droite.
 * - Zone de texte : 224px de haut au minimum, texte 16px.
 * - Consentement : pastille ronde de 21px, texte 16px à 12px de la pastille.
 * - Description : Note 13px au-dessus du champ.
 *
 * Dimensions en rem (base 16px). Mêmes sélecteurs que l'inscription
 * (.gform-theme.gform_wrapper) pour passer devant ceux d'Orbital.
 */

.gform-theme.gform_wrapper {
	--stl-form-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2300264d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	--stl-form-textarea-min: 14rem; /* 224px */
	--stl-form-check-size: 1.3125rem; /* 21px */
}

/* --------------------------------------------------------------------------
   Descriptions (au-dessus du champ) : Note 13px
   -------------------------------------------------------------------------- */

.gform-theme.gform_wrapper .gfield .gfield_description:not(.validation_message) {
	margin: 0 0 var(--stl-form-inner-gap);
	padding: 0;
	color: var(--stl-form-dark);
	font-family: var(--stl-form-font);
	font-size: var(--wp--preset--font-size--note, 0.8125rem);
	line-height: var(--wp--custom--line-height--tight, 1.1);
	letter-spacing: 0;
}

/* --------------------------------------------------------------------------
   Libellés des listes sans JavaScript (la liste améliorée a son libellé
   flottant, voir plus bas) : au-dessus du champ (Note 13px), comme les autres
   libellés hors champ (règle de l'inscription), avec un espace plus serré.
   -------------------------------------------------------------------------- */

.gform-theme.gform_wrapper .gfield > .gfield_label:has(~ .ginput_container_select) {
	margin-block-end: var(--stl-form-inner-gap);
}

/* --------------------------------------------------------------------------
   Liste déroulante
   -------------------------------------------------------------------------- */

.gform-theme.gform_wrapper .gfield select {
	box-sizing: border-box;
	inline-size: 100%;
	block-size: auto;
	min-block-size: 0;
	margin: 0;
	/* À droite : 12px + chevron 24px + 12px (moins la bordure). */
	padding:
		calc(var(--stl-form-pad) - var(--stl-form-border))
		calc(var(--stl-form-pad) * 2 + 1.5rem - var(--stl-form-border))
		calc(var(--stl-form-pad) - var(--stl-form-border))
		calc(var(--stl-form-pad) - var(--stl-form-border));
	border: var(--stl-form-border) solid var(--stl-form-light);
	border-radius: var(--stl-form-radius);
	outline: 0.125rem solid transparent; /* visible en mode contraste élevé */
	outline-offset: 0;
	background-color: var(--stl-form-white);
	background-image: var(--stl-form-chevron);
	background-position: right var(--stl-form-pad) center;
	background-repeat: no-repeat;
	background-size: 1.5rem 1.5rem;
	box-shadow: none;
	color: var(--stl-form-dark);
	font-family: var(--stl-form-font);
	font-size: var(--wp--preset--font-size--chapo-petit, 1.0625rem);
	font-weight: 400;
	line-height: var(--wp--custom--line-height--body, 1.4);
	letter-spacing: var(--wp--custom--letter-spacing--wide, 0.01em);
	text-overflow: ellipsis;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition:
		border-color var(--stl-form-transition),
		box-shadow var(--stl-form-transition);
}

/* Option d'invite (valeur vide, « Service* ») : gris foncé comme un placeholder. */
.gform-theme.gform_wrapper .gfield select:has(option[value=""]:checked) {
	color: var(--wp--preset--color--secondary, #565656);
}

.gform-theme.gform_wrapper .gfield select option {
	color: var(--stl-form-dark);
}

.gform-theme.gform_wrapper .gfield select:focus,
.gform-theme.gform_wrapper .gfield select:focus-visible {
	border-color: var(--stl-form-accent);
	box-shadow: inset 0 0 0 var(--stl-form-border) var(--stl-form-accent);
}

.gform-theme.gform_wrapper .gfield select[aria-invalid="true"] {
	border-color: var(--stl-form-error);
	box-shadow: none;
	color: var(--stl-form-error);
}

.gform-theme.gform_wrapper .gfield select[aria-invalid="true"]:focus {
	box-shadow: inset 0 0 0 var(--stl-form-border) var(--stl-form-error);
}

/* --------------------------------------------------------------------------
   Zone de texte
   -------------------------------------------------------------------------- */

.gform-theme.gform_wrapper .gfield textarea {
	box-sizing: border-box;
	inline-size: 100%;
	min-block-size: var(--stl-form-textarea-min);
	margin: 0;
	/* Rempli : le haut s'agrandit pour le libellé (--stl-form-pad-top, plus bas). */
	padding:
		var(--stl-form-pad-top, calc(var(--stl-form-pad) - var(--stl-form-border)))
		calc(var(--stl-form-pad) - var(--stl-form-border))
		calc(var(--stl-form-pad) - var(--stl-form-border));
	border: var(--stl-form-border) solid var(--stl-form-light);
	border-radius: var(--stl-form-radius);
	outline: 0.125rem solid transparent;
	outline-offset: 0;
	background-color: var(--stl-form-white);
	box-shadow: none;
	color: var(--stl-form-dark);
	font-family: var(--stl-form-font);
	font-size: var(--wp--preset--font-size--small, 1rem);
	font-weight: 400;
	line-height: var(--wp--custom--line-height--body, 1.4);
	letter-spacing: var(--wp--custom--letter-spacing--wide, 0.01em);
	resize: vertical;
	transition:
		border-color var(--stl-form-transition),
		box-shadow var(--stl-form-transition),
		padding var(--stl-form-transition);
}

/* Le libellé fait office de placeholder (voir « Zone de texte à libellé flottant »). */
.gform-theme.gform_wrapper .gfield textarea::placeholder {
	color: transparent;
	opacity: 0;
}

.gform-theme.gform_wrapper .gfield textarea:focus,
.gform-theme.gform_wrapper .gfield textarea:focus-visible {
	border-color: var(--stl-form-accent);
	box-shadow: inset 0 0 0 var(--stl-form-border) var(--stl-form-accent);
}

.gform-theme.gform_wrapper .gfield textarea[aria-invalid="true"] {
	border-color: var(--stl-form-error);
	box-shadow: none;
	color: var(--stl-form-error);
}

.gform-theme.gform_wrapper .gfield textarea[aria-invalid="true"]:focus {
	box-shadow: inset 0 0 0 var(--stl-form-border) var(--stl-form-error);
}

/* Rempli (ou focus, bordure 2px) : comme les champs texte de l'inscription. */
.gform-theme.gform_wrapper .gfield textarea:not(:placeholder-shown) {
	border-color: var(--stl-form-accent);
	box-shadow: inset 0 0 0 var(--stl-form-border) var(--stl-form-accent);
}

.gform-theme.gform_wrapper .gfield textarea[aria-invalid="true"]:not(:placeholder-shown) {
	border-color: var(--stl-form-error);
	box-shadow: none;
}

/* --------------------------------------------------------------------------
   Zone de texte à libellé flottant (« Message »)
   Même mécanique que les champs texte de l'inscription : vide, le libellé
   est à la place de la saisie (16px) ; dès qu'on écrit, il monte (Note 13px)
   et la bordure passe à 2px. Repose sur le placeholder=" " ajouté par
   functions.php. Le libellé peut être masqué dans Gravity Forms (« Libellé
   masqué ») : on annule ce masquage, et on cache la description qui
   répétait le libellé en guise de placeholder.
   -------------------------------------------------------------------------- */

.gform-theme.gform_wrapper .gfield:has(> .gfield_label ~ .ginput_container > textarea) {
	position: relative;
}

.gform-theme.gform_wrapper .gfield:has(> .gfield_label ~ .ginput_container > textarea:not(:placeholder-shown)) {
	--stl-form-pad-top: calc(var(--stl-form-pad) - var(--stl-form-border) + 0.8125rem * 0.7 + var(--stl-form-inner-gap));
}

.gform-theme.gform_wrapper .gfield:has(> .gfield_label ~ .ginput_container > textarea) > .gfield_label {
	position: absolute;
	z-index: 1;
	inset-block-start: var(--stl-form-pad);
	inset-inline: var(--stl-form-pad);
	display: block;
	margin: -0.25em 0;
	padding: 0.25em 0;
	overflow: hidden;
	/* Annule le masquage visuel de Gravity Forms (classe hidden_label). */
	clip: auto;
	clip-path: none;
	block-size: auto;
	inline-size: auto;
	color: var(--wp--preset--color--secondary, #565656);
	font-family: var(--stl-form-font);
	font-size: var(--wp--preset--font-size--small, 1rem);
	font-weight: 400;
	line-height: var(--wp--custom--line-height--body, 1.4);
	letter-spacing: var(--wp--custom--letter-spacing--wide, 0.01em);
	white-space: nowrap;
	text-overflow: ellipsis;
	pointer-events: none;
	transition:
		inset-block-start var(--stl-form-transition),
		font-size var(--stl-form-transition),
		line-height var(--stl-form-transition),
		letter-spacing var(--stl-form-transition),
		color var(--stl-form-transition);
}

/* Libellé masqué + description qui le répète : la description disparaît,
   le libellé (flottant) la remplace. */
.gform-theme.gform_wrapper .gfield--type-textarea.hidden_label > .gfield_description:not(.validation_message),
.gform-theme.gform_wrapper .gfield--type-select.hidden_label > .gfield_description:not(.validation_message) {
	display: none;
}

.gform-theme.gform_wrapper .gfield:has(> .gfield_label ~ .ginput_container > textarea:not(:placeholder-shown)) > .gfield_label {
	inset-block-start: calc(var(--stl-form-pad) - 0.191em);
	color: var(--stl-form-label);
	font-size: var(--wp--preset--font-size--note, 0.8125rem);
	line-height: var(--wp--custom--line-height--tight, 1.1);
	letter-spacing: 0;
}

.gform-theme.gform_wrapper .gfield:has(> .gfield_label ~ .ginput_container > textarea[aria-invalid="true"]) > .gfield_label {
	color: var(--stl-form-error);
}

/* Message d'erreur affiché au-dessus de la zone : le libellé, positionné depuis le haut
   du champ, descend de la hauteur du message pour rester dans la zone de texte. */
.gform-theme.gform_wrapper .gfield:has(> .gfield_label ~ .ginput_container > textarea):has(> .gfield_validation_message:not([hidden])) {
	--stl-form-msg-h: calc(var(--wp--preset--font-size--note, 0.8125rem) * var(--wp--custom--line-height--tight, 1.1) + var(--stl-form-inner-gap));
}

.gform-theme.gform_wrapper .gfield:has(> .gfield_label ~ .ginput_container > textarea):has(> .gfield_validation_message:not([hidden])) > .gfield_label {
	inset-block-start: calc(var(--stl-form-pad) + var(--stl-form-msg-h));
}

.gform-theme.gform_wrapper .gfield:has(> .gfield_label ~ .ginput_container > textarea:not(:placeholder-shown)):has(> .gfield_validation_message:not([hidden])) > .gfield_label {
	inset-block-start: calc(var(--stl-form-pad) - 0.191em + var(--stl-form-msg-h));
}

@media (prefers-reduced-motion: reduce) {
	.gform-theme.gform_wrapper .gfield select,
	.gform-theme.gform_wrapper .gfield textarea,
	.gform-theme.gform_wrapper .gfield:has(> .gfield_label ~ .ginput_container > textarea) > .gfield_label {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Consentement (conditions générales) : pastille ronde de 21px
   -------------------------------------------------------------------------- */

.gform-theme.gform_wrapper .ginput_container_consent {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--x-small, 0.75rem); /* 12px */
}

.gform-theme.gform_wrapper .ginput_container_consent input[type="checkbox"] {
	flex: none;
	box-sizing: border-box;
	inline-size: var(--stl-form-check-size);
	block-size: var(--stl-form-check-size);
	min-inline-size: var(--stl-form-check-size);
	margin: 0;
	padding: 0;
	border: 0.125rem solid var(--stl-form-dark);
	border-radius: 50%;
	background-color: var(--stl-form-white);
	box-shadow: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition:
		background-color var(--stl-form-transition),
		box-shadow var(--stl-form-transition);
}

/* Coché : disque foncé séparé de la bordure par un anneau blanc. */
.gform-theme.gform_wrapper .ginput_container_consent input[type="checkbox"]:checked {
	background-color: var(--stl-form-dark);
	box-shadow: inset 0 0 0 0.1875rem var(--stl-form-white);
}

.gform-theme.gform_wrapper .ginput_container_consent input[type="checkbox"]:focus-visible {
	outline: 0.125rem solid var(--stl-form-dark);
	outline-offset: 0.125rem;
}

.gform-theme.gform_wrapper .ginput_container_consent input[type="checkbox"][aria-invalid="true"] {
	border-color: var(--stl-form-error);
}

.gform-theme.gform_wrapper .ginput_container_consent .gform-field-label {
	margin: 0;
	padding: 0;
	color: var(--stl-form-dark);
	font-family: var(--stl-form-font);
	font-size: var(--wp--preset--font-size--small, 1rem);
	font-weight: 400;
	line-height: var(--wp--custom--line-height--body, 1.4);
	letter-spacing: var(--wp--custom--letter-spacing--wide, 0.01em);
	cursor: pointer;
}

/* Le titre du champ de consentement est dans la case : pas de libellé en double. */
.gform-theme.gform_wrapper .gfield--type-consent > .gfield_label {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.gform-theme.gform_wrapper .ginput_container_consent input[type="checkbox"] {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Téléphone : le sélecteur de pays de Gravity Forms est replié dans le champ
   (drapeau seul, sans bordure), le numéro garde le style des autres champs.
   Le libellé « Numéro de téléphone » reste réservé aux lecteurs d'écran.
   -------------------------------------------------------------------------- */

.gform-theme.gform_wrapper .gform-phone__input-wrapper {
	display: flex;
	align-items: stretch;
	gap: var(--stl-form-inner-gap);
}

.gform-theme.gform_wrapper .ginput_country-selector_container,
.gform-theme.gform_wrapper .ginput_phone_container {
	position: relative;
	display: block;
}

.gform-theme.gform_wrapper .ginput_phone_container {
	flex: 1 1 auto;
	min-inline-size: 0;
}

.gform-theme.gform_wrapper .gform-phone .gform-field-label--type-sub {
	position: absolute;
	inline-size: 0.0625rem;
	block-size: 0.0625rem;
	margin: -0.0625rem;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.gform-theme.gform_wrapper .gform-phone__country-selector {
	box-sizing: border-box;
	block-size: 100%;
	padding: 0 var(--stl-form-pad);
	border: var(--stl-form-border) solid var(--stl-form-light);
	border-radius: var(--stl-form-radius);
	background-color: var(--stl-form-white);
	box-shadow: none;
	color: var(--stl-form-dark);
	font-family: var(--stl-form-font);
	font-size: var(--wp--preset--font-size--small, 1rem);
	cursor: pointer;
}

.gform-theme.gform_wrapper .gform-phone__country-selector:focus-visible {
	border-color: var(--stl-form-accent);
	outline: 0.125rem solid var(--stl-form-dark);
	outline-offset: 0.125rem;
}

/* Liste des pays : mêmes bordure et rayon que les champs. */
.gform-theme.gform_wrapper .gform-phone__dropdown {
	border: var(--stl-form-border) solid var(--stl-form-light);
	border-radius: var(--stl-form-radius);
	font-family: var(--stl-form-font);
	color: var(--stl-form-dark);
}

/* --------------------------------------------------------------------------
   Liste déroulante améliorée (gravity-forms-select.js)
   Le libellé est le placeholder, dans le bouton ; choisi, il monte au-dessus
   de la valeur comme sur les champs texte. Le <select> d'origine est masqué
   mais reste dans la page (envoi, validation). Le menu est une liste aux
   couleurs du site à la place du menu natif de l'OS.
   -------------------------------------------------------------------------- */

.gform-theme.gform_wrapper .stl-select {
	position: relative;
}

.gform-theme.gform_wrapper .stl-select > select {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
}

.gform-theme.gform_wrapper .stl-select__button {
	display: block;
	box-sizing: border-box;
	inline-size: 100%;
	margin: 0;
	/* Rempli : place pour le libellé au-dessus de la valeur (cf. champs texte). */
	padding:
		var(--stl-form-pad-top, calc(var(--stl-form-pad) - var(--stl-form-border)))
		calc(var(--stl-form-pad) * 2 + 1.5rem - var(--stl-form-border))
		calc(var(--stl-form-pad) - var(--stl-form-border))
		calc(var(--stl-form-pad) - var(--stl-form-border));
	border: var(--stl-form-border) solid var(--stl-form-light);
	border-radius: var(--stl-form-radius);
	outline: 0.125rem solid transparent;
	outline-offset: 0;
	background-color: var(--stl-form-white);
	background-image: var(--stl-form-chevron);
	background-position: right var(--stl-form-pad) center;
	background-repeat: no-repeat;
	background-size: 1.5rem 1.5rem;
	box-shadow: none;
	color: var(--stl-form-dark);
	font-family: var(--stl-form-font);
	font-size: var(--wp--preset--font-size--chapo-petit, 1.0625rem);
	font-weight: 400;
	line-height: var(--wp--custom--line-height--body, 1.4);
	letter-spacing: var(--wp--custom--letter-spacing--wide, 0.01em);
	text-align: start;
	cursor: pointer;
	transition:
		border-color var(--stl-form-transition),
		box-shadow var(--stl-form-transition),
		padding var(--stl-form-transition);
}

/* Vide : même hauteur de ligne que le libellé pour que le bouton ne s'écrase pas. */
.gform-theme.gform_wrapper .stl-select__value {
	display: block;
	min-block-size: 1lh;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gform-theme.gform_wrapper .stl-select--filled {
	--stl-form-pad-top: calc(var(--stl-form-pad) - var(--stl-form-border) + 0.8125rem * 0.7 + var(--stl-form-inner-gap));
}

/* Libellé = placeholder (17px gris foncé), puis Note 13px une fois rempli. */
.gform-theme.gform_wrapper .stl-select > .gfield_label {
	position: absolute;
	z-index: 1;
	inset-block-start: var(--stl-form-pad);
	inset-inline: var(--stl-form-pad) calc(var(--stl-form-pad) * 2 + 1.5rem);
	display: block;
	margin: -0.25em 0;
	padding: 0.25em 0;
	overflow: hidden;
	/* Annule la classe hidden_label de Gravity Forms (libellé masqué). */
	clip: auto;
	clip-path: none;
	block-size: auto;
	inline-size: auto;
	color: var(--wp--preset--color--secondary, #565656);
	font-family: var(--stl-form-font);
	font-size: var(--wp--preset--font-size--chapo-petit, 1.0625rem);
	font-weight: 400;
	line-height: var(--wp--custom--line-height--body, 1.4);
	letter-spacing: var(--wp--custom--letter-spacing--wide, 0.01em);
	white-space: nowrap;
	text-overflow: ellipsis;
	pointer-events: none;
	transition:
		inset-block-start var(--stl-form-transition),
		font-size var(--stl-form-transition),
		line-height var(--stl-form-transition),
		letter-spacing var(--stl-form-transition),
		color var(--stl-form-transition);
}

.gform-theme.gform_wrapper .stl-select--filled > .gfield_label {
	inset-block-start: calc(var(--stl-form-pad) - 0.191em);
	color: var(--stl-form-label);
	font-size: var(--wp--preset--font-size--note, 0.8125rem);
	line-height: var(--wp--custom--line-height--tight, 1.1);
	letter-spacing: 0;
}

/* Rempli, ouvert ou focus : bordure 2px sans décaler la mise en page. */
.gform-theme.gform_wrapper .stl-select--filled > .stl-select__button,
.gform-theme.gform_wrapper .stl-select__button:focus-visible,
.gform-theme.gform_wrapper .stl-select__button[aria-expanded="true"] {
	border-color: var(--stl-form-accent);
	box-shadow: inset 0 0 0 var(--stl-form-border) var(--stl-form-accent);
}

.gform-theme.gform_wrapper .stl-select__button[aria-expanded="true"] {
	background-image: var(--stl-form-chevron);
}

/* « Sujet » avant le choix d'un service : aucun sujet à proposer. */
.gform-theme.gform_wrapper .stl-select__button:disabled {
	cursor: not-allowed;
	opacity: 0.5;
}

/* Erreur : le <select> d'origine porte aria-invalid, on le répercute. */
.gform-theme.gform_wrapper .stl-select:has(> select[aria-invalid="true"]) > .stl-select__button {
	border-color: var(--stl-form-error);
	box-shadow: none;
	color: var(--stl-form-error);
}

.gform-theme.gform_wrapper .stl-select:has(> select[aria-invalid="true"]) > .gfield_label {
	color: var(--stl-form-error);
}

/* Menu d'options : carte blanche, bordure et rayon des champs. */
.gform-theme.gform_wrapper .stl-select__list {
	position: absolute;
	z-index: 20;
	inset-inline: 0;
	inset-block-start: calc(100% + var(--stl-form-inner-gap));
	box-sizing: border-box;
	max-block-size: 15rem;
	margin: 0;
	padding: var(--stl-form-inner-gap) 0;
	overflow-y: auto;
	border: var(--stl-form-border) solid var(--stl-form-light);
	border-radius: var(--stl-form-radius);
	background-color: var(--stl-form-white);
	box-shadow: 0 0.5rem 1.5rem rgb(0 38 77 / 0.12);
	list-style: none;
}

.gform-theme.gform_wrapper .stl-select__list[hidden] {
	display: none;
}

.gform-theme.gform_wrapper .stl-select--up .stl-select__list {
	inset-block-start: auto;
	inset-block-end: calc(100% + var(--stl-form-inner-gap));
}

.gform-theme.gform_wrapper .stl-select__option {
	margin: 0;
	padding: var(--stl-form-pad);
	color: var(--stl-form-dark);
	font-family: var(--stl-form-font);
	font-size: var(--wp--preset--font-size--chapo-petit, 1.0625rem);
	line-height: var(--wp--custom--line-height--tight, 1.1);
	letter-spacing: var(--wp--custom--letter-spacing--wide, 0.01em);
	cursor: pointer;
}

.gform-theme.gform_wrapper .stl-select__option.is-active {
	background-color: var(--stl-form-light);
}

.gform-theme.gform_wrapper .stl-select__option[aria-selected="true"] {
	font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
	.gform-theme.gform_wrapper .stl-select__button,
	.gform-theme.gform_wrapper .stl-select > .gfield_label {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Champs obligatoires : un astérisque collé au libellé, pas « (Nécessaire) »
   Gravity Forms écrit « (Nécessaire) » dans un span imbriqué : on le masque
   et on pose l'astérisque sur le span parent, qui hérite de la taille et de
   la couleur du libellé (donc monte et passe au rouge avec lui). Avec
   l'indicateur « Astérisque » des réglages du formulaire, le « * » est déjà
   là : il suffit alors de le coller (règle du début).
   -------------------------------------------------------------------------- */

.gform-theme.gform_wrapper .gform-field-label > .gfield_required {
	margin: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
}

.gform-theme.gform_wrapper .gform-field-label > .gfield_required > .gfield_required_text {
	display: none;
}

.gform-theme.gform_wrapper .gform-field-label > .gfield_required:has(> .gfield_required_text)::after {
	content: "*";
}

/* Sous-libellés (Prénom, Nom…) : Gravity Forms n'y met pas d'indicateur ;
   on le déduit de la saisie obligatoire. */
.gform-theme.gform_wrapper .ginput_complex > .gform-grid-col:has(> input[aria-required="true"]) > .gform-field-label--type-sub::after {
	content: "*";
}

/* Consentement : « (Nécessaire) » directement dans le libellé (l'astérisque
   est déjà dans le texte du consentement). */
.gform-theme.gform_wrapper .gfield_consent_label > .gfield_required_text {
	display: none;
}

/* Orbital espace le libellé et son indicateur (gap) : l'astérisque se colle. */
.gform-theme.gform_wrapper .gform-field-label:has(> .gfield_required) {
	gap: 0;
	column-gap: 0;
}

/* Compteur de caractères (« 0 of 600 max characters ») : masqué. La limite
   reste appliquée par Gravity Forms (maxlength de la zone de texte). */
.gform-theme.gform_wrapper .ginput_counter {
	display: none;
}
