/*
 * Styles Gravity Forms — thème enfant apbef-bf.org
 * ------------------------------------------------
 * Adapte le thème d'API de Gravity Forms (« gform-theme--api » /
 * « gform-theme--framework ») à la charte du site.
 *
 * Contrairement à une feuille figée sur une couleur en dur, les teintes
 * sont mappées sur les *variables globales Elementor standard* du kit
 * (--e-global-color-primary, --e-global-color-text…). Le formulaire hérite
 * donc automatiquement de la charte définie dans Elementor (identité
 * bancaire APBEF-B), sans qu'il faille connaître les codes couleur ici.
 *
 * Correspondances (rôle → source) :
 *   - fond des contrôles ................. blanc (#ffffff)
 *   - bordure des contrôles .............. #e6e6e6 (gris neutre)
 *   - libellés / texte / texte saisi ..... --e-global-color-text
 *   - accent principal (boutons, focus) .. --e-global-color-primary
 *   - accent principal foncé (survol) .... color-mix() sur la primaire
 *   - erreur / danger .................... #c0392b (pas de rouge en charte)
 *
 * Les états « survol / foncé » sont dérivés de la couleur primaire via
 * color-mix() : le kit n'expose pas nécessairement une nuance « foncée »
 * dédiée, on assombrit donc la primaire de manière portable.
 *
 * Angles droits : conformément à la maquette, aucun arrondi. Contrôles,
 * boutons et sélecteur de pays sont à coins carrés (border-radius: 0).
 *
 * Pensé pour un formulaire posé sur une section au fond clair.
 */

/* global */
.gform-theme--api,
.gform-theme--framework {
	--gf-ctrl-label-font-size-primary: var( --e-global-typography-text-font-size ) !important;
	--gf-ctrl-label-font-size-secondary: var( --e-global-typography-text-font-size ) !important;
	/*
	 * Bouton d'envoi & accents : suivent la couleur « Primary » du kit
	 * Elementor (source de vérité de la charte : brun APBEF-B). Le formulaire
	 * adopte donc automatiquement la couleur d'action définie dans Elementor.
	 *
	 * Pour un bouton doré façon CTA de la maquette (utile si le formulaire est
	 * posé sur une section au fond clair), basculer sur l'accent et adapter le
	 * contraste du texte :
	 *   --gf-color-primary: var( --e-global-color-accent ) !important;
	 *   --gf-color-primary-contrast: var( --e-global-color-text ) !important;
	 */
	--gf-color-primary: var( --e-global-color-primary ) !important;
	--gf-color-primary-darker: color-mix( in srgb, var( --e-global-color-primary ) 82%, #000 ) !important;
	--gf-ctrl-size-md: 46px !important;
	/* Halo de focus : teinte neutre foncée, valable quelle que soit la
	   primaire du kit. À remplacer par le RGB de la primaire pour un halo
	   teinté. */
	--gf-color-primary-rgb: 248, 187, 18 !important;
	--gf-local-bg-color: #ffffff !important;
	--gf-color-in-ctrl: #ffffff !important;
	--gf-local-color: var( --e-global-color-text ) !important;
	--gf-color-danger: #c0392b !important;
	--gf-ctrl-label-color-primary: var( --e-global-color-text ) !important;
	--gf-ctrl-label-color-secondary: var( --e-global-color-text ) !important;
	--gf-color-out-ctrl-dark: color-mix( in srgb, var( --e-global-color-primary ) 82%, #000 ) !important;
	--gf-radius: 0 !important;
	--gf-color-in-ctrl-contrast: var( --e-global-color-text ) !important;
	--gf-ctrl-border-width: 2px !important;
	--gf-color-in-ctrl-primary: var( --e-global-color-primary ) !important;
	--gf-color-in-ctrl-contrast-rgb: 34, 34, 34 !important;
	--gf-color-in-ctrl-primary-darker: color-mix( in srgb, var( --e-global-color-primary ) 82%, #000 ) !important;
	--gf-form-gap-y: 24px !important;
	--gf-color-primary-contrast: #ffffff !important;
	--gf-ctrl-btn-radius: 0 !important;
	--gf-ctrl-btn-font-size: var( --e-global-typography-accent-font-size ) !important;
	--gf-ctrl-btn-font-weight: var( --e-global-typography-accent-font-weight ) !important;
	--gf-ctrl-btn-font-family: var( --e-global-typography-accent-font-family ), Sans-serif !important;
	--gf-ctrl-btn-text-transform: var( --e-global-typography-accent-text-transform ) !important;
	--gf-ctrl-radio-check-size: 10px !important;
	--gf-ctrl-choice-check-color: var( --e-global-color-primary ) !important;
	--gf-form-validation-outline-focus: none !important;
	--gf-form-validation-radius: 0 !important;
	--gf-ctrl-border-color: #e6e6e6 !important;
	--gf-ctrl-border-color-hover: var( --e-global-color-primary ) !important;
}
.gform_button_select_files {
	font-size: var( --gf-ctrl-label-font-size-primary ) !important;
	font-weight: var( --gf-ctrl-label-font-weight-primary ) !important;
	font-family: var( --gf-ctrl-label-font-family-primary ) !important;
	text-transform: inherit !important;
	padding: 8px 10px !important;
	background: transparent !important;
	border: solid 1px var( --e-global-color-primary ) !important;
	border-radius: 0 !important;
	color: var( --e-global-color-primary ) !important;
	min-height: auto !important;
}
.gform_button_select_files:hover {
	background: var( --e-global-color-primary ) !important;
	color: #ffffff !important;
}
.gform_fileupload_rules {
	display: none !important;
}
.gform_required_legend {
	color: var( --e-global-color-text );
}
.gform_validation_error .gform_button[type="submit"] {
	background-color: var( --gf-color-danger, #c0392b ) !important;
}
.gform_wrapper .gfield_error input {
	border-color: var( --gf-color-danger, #c0392b ) !important;
}
.gform_button.gform_button_svg {
	outline: none !important;
}
/* FIN global */

/* select */
.gform_wrapper select:focus {
	border-color: var( --e-global-color-primary ) !important;
}
/* FIN select */

/* sélecteur pays */
.iti__selected-country {
	padding: 0 !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	border-color: transparent !important;
}
.iti__arrow {
	border-top-color: var( --e-global-color-primary ) !important;
}
.iti__selected-country .iti__arrow--up {
	border-bottom-color: var( --e-global-color-primary ) !important;
}
/* FIN sélecteur pays */

.gchoice_other_control[disabled] {
	display: none !important;
}
