/**
 * Betton & Dragons — page d'accueil
 *
 * Zone tactile des libellés d'encart (« icon box ») sur mobile.
 *
 * Elementor rend le titre lié en `<a>` inline : la cible ne fait alors que la
 * hauteur du texte (19 px mesurés sur la section « nos activités »), sous les
 * 24 px minimum du critère WCAG 2.5.8 et loin des 44 px recommandés par Apple.
 * On repasse le lien en inline-block avec un rembourrage, et on annule ce
 * rembourrage par une marge négative de même valeur : la cible grandit, le
 * rendu visuel ne bouge pas d'un pixel.
 *
 * La règle ne vise que le mobile (breakpoint mobile d'Elementor, 767 px) :
 * au-delà, le pointeur est précis et la marge négative n'a plus d'utilité.
 *
 * Portée volontairement large — tous les encarts de l'accueil, pas seulement
 * les quatre de « nos activités ». Cibler la section par son identifiant
 * Elementor (`.elementor-element-xaiwjzn`) casserait à la première
 * recréation du widget dans l'éditeur, et l'encart « DISCORD » du pied de page
 * a le même défaut de cible.
 */

@media ( max-width: 767px ) {

	body.home .elementor-icon-box-title a {
		display: inline-block;
		padding: 13px 16px;
		margin: -13px -16px;
	}
}

/* ---------------------------------------------------------------------------
 * Formulaire de contact « GARDONS LE CONTACT ! » (WPForms 708)
 *
 * État constaté le 2026-09-09 : la carte du formulaire (colonne Elementor
 * `jvblhtq`) est blanche — `#FFFFFF`, rayon 20 px, ombre — et **les champs
 * l'étaient aussi**, sans autre limite qu'un filet `#EDEDED` à 1,2:1 du blanc.
 * Le placeholder, lui, sortait en `#FFFFFFB3` : blanc translucide sur blanc,
 * donc invisible. Comme les libellés WPForms sont masqués
 * (`wpforms-label-hide`, masquage accessible par `clip`), ces placeholders sont
 * la seule étiquette visible des champs : le formulaire paraissait vide.
 *
 * Deux sources se superposent, et il faut battre les deux :
 *
 * 1. Les variables `--wpforms-*` du widget, posées par un `<style>` en ligne sur
 *    `.elementor-widget-wpforms.elementor-element-62fe426` (0,2,0). Elles sont
 *    redéclarées ici sur le **conteneur du formulaire**, qui est un descendant :
 *    pas de bataille de spécificité, la déclaration la plus proche gagne pour
 *    tout le sous-arbre. C'est aussi ce qui répare le placeholder, que
 *    `wpforms-full.min.css` tire de `--wpforms-field-text-color`.
 * 2. La personnalisation OceanWP, imprimée en ligne dans le `<head>` en
 *    **(0,2,3)** (`body div.wpforms-container-full .wpforms-form input[type=text]`),
 *    qui pose le fond blanc, le texte, la bordure et le rayon des champs — et
 *    l'emporte donc sur les variables. On ancre sur `html body.home` pour passer
 *    en (0,3,4), quel que soit l'ordre d'impression des feuilles.
 *
 * Contraste retenu : champs **crème `#F6F7E9`** sur carte blanche, bordés d'un
 * filet vert profond. Le crème seul ne fait que 1,06:1 contre le blanc — c'est
 * la bordure qui délimite le champ (≥ 3:1, WCAG 1.4.11), pas l'aplat.
 * ------------------------------------------------------------------------ */

body.home .wpforms-container-full {
	--wpforms-field-background-color: #F6F7E9;
	--wpforms-field-text-color: #282828;
	--wpforms-field-border-color: #08403F;
	--wpforms-field-border-size: 1px;
	--wpforms-field-border-style: solid;
	--wpforms-field-border-radius: 15px;
	/* Le rembourrage d'usine (10 px) fait démarrer le texte dans la courbure du
	 * rayon de 15 px. WPForms le lit dans cette variable pour les champs comme
	 * pour la zone de texte : rien d'autre à surcharger. */
	--wpforms-field-size-padding-h: 18px;
	--wpforms-label-color: #08403F;
	--wpforms-label-sublabel-color: rgba( 40, 40, 40, 0.7 );
	--wpforms-button-background-color: #C0623E;
	--wpforms-button-text-color: #FFFFFF;
	--wpforms-button-border-radius: 15px;
}

html body.home div.wpforms-container-full .wpforms-form input[type="text"],
html body.home div.wpforms-container-full .wpforms-form input[type="email"],
html body.home div.wpforms-container-full .wpforms-form input[type="tel"],
html body.home div.wpforms-container-full .wpforms-form input[type="url"],
html body.home div.wpforms-container-full .wpforms-form input[type="number"],
html body.home div.wpforms-container-full .wpforms-form input[type="search"],
html body.home div.wpforms-container-full .wpforms-form select,
html body.home div.wpforms-container-full .wpforms-form textarea {
	background-color: #F6F7E9;
	color: #282828;
	border: 1px solid #08403F;
	border-radius: 15px;
	font-family: "Roboto", sans-serif;
	font-size: 16px;
}

/* Le placeholder est la seule étiquette visible : il ne peut pas rester à
 * l'`opacity: 0.5` de WPForms, qui le ramènerait à 3,2:1. Posé à pleine
 * opacité dans le noir de la marque à 72 % — 5,6:1 sur le crème, au-delà des
 * 4,5:1 du critère 1.4.3, tout en restant distinct du texte saisi. */
html body.home div.wpforms-container-full .wpforms-form input::placeholder,
html body.home div.wpforms-container-full .wpforms-form textarea::placeholder {
	color: rgba( 40, 40, 40, 0.72 );
	opacity: 1;
}

/* Le thème ne pose au focus qu'un changement de couleur de bordure, invisible
 * ici puisque la bordure est déjà verte. On ajoute un anneau terracotta et un
 * fond blanc : le champ actif se distingue des autres au premier regard. */
html body.home div.wpforms-container-full .wpforms-form input[type="text"]:focus,
html body.home div.wpforms-container-full .wpforms-form input[type="email"]:focus,
html body.home div.wpforms-container-full .wpforms-form input[type="tel"]:focus,
html body.home div.wpforms-container-full .wpforms-form input[type="url"]:focus,
html body.home div.wpforms-container-full .wpforms-form input[type="number"]:focus,
html body.home div.wpforms-container-full .wpforms-form input[type="search"]:focus,
html body.home div.wpforms-container-full .wpforms-form select:focus,
html body.home div.wpforms-container-full .wpforms-form textarea:focus {
	background-color: #FFFFFF;
	border-color: #C0623E;
	outline: 2px solid #C0623E;
	outline-offset: 2px;
}

/* Bouton d'envoi à la charte §3 : rayon 15 px et rembourrage du bouton de la
 * home. La police, la casse et l'interlettrage viennent déjà du thème, le fond
 * terracotta du widget. */
html body.home div.wpforms-container-full .wpforms-form button[type="submit"],
html body.home div.wpforms-container-full .wpforms-form input[type="submit"] {
	border-radius: 15px;
	padding: 12px 40px;
	height: auto;
}

/* Message d'erreur de champ : WPForms le sort sous le champ. Aligné sur le
 * rembourrage du champ pour ne pas flotter contre le bord de la carte. */
html body.home div.wpforms-container-full .wpforms-form label.wpforms-error {
	font-family: "Roboto", sans-serif;
	font-size: 14px;
	margin-top: 6px;
}
