/* OrgContact — formulaire de contact. Autonome : var(--token, repli). */

.orgcontact { --oc-radius: var(--wp--custom--radius, 4px); max-width: 100%; }
/* Ne pas dépendre d'un reset de thème : les contrôles de formulaire sont en
   content-box par défaut dans les navigateurs → width:100% + padding + bordure
   débordait du conteneur sur mobile. */
.orgcontact *, .orgcontact *::before, .orgcontact *::after { box-sizing: border-box; }

/* Le formulaire épouse la largeur de son conteneur (colonne, encart, pleine
   largeur…). Repli --oc-form-max pour borner sur une mise en page très large ;
   par défaut aucune borne, à surcharger par le thème/site si besoin :
   .orgcontact { --oc-form-max: 34rem; }  */
.orgcontact__form {
	display: grid;
	gap: 1rem;
	width: 100%;
	min-width: 0;
	max-width: var(--oc-form-max, none);
}
.orgcontact__form p { margin: 0; }
.orgcontact__form label {
	display: block;
	font-size: var(--oc-label-size, 0.9rem);
	font-weight: 600;
	margin-bottom: 0.3rem;
	color: var(--wp--preset--color--encre, #1b1b1b);
}
.orgcontact__form input[type="text"],
.orgcontact__form input[type="email"],
.orgcontact__form input[type="tel"],
.orgcontact__form textarea,
.orgcontact__form select {
	width: 100%;
	max-width: 100%;
	font: inherit;
	padding: 0.6rem 0.75rem;
	background: var(--wp--preset--color--blanc, #fff);
	border: 1px solid var(--wp--preset--color--encre-60, #767676);
	border-radius: var(--oc-radius);
	color: var(--wp--preset--color--encre, #1b1b1b);
}
.orgcontact__form textarea { min-height: 8rem; resize: vertical; }
.orgcontact__form input:focus-visible,
.orgcontact__form textarea:focus-visible,
.orgcontact__form select:focus-visible {
	outline: none;
	border-color: var(--wp--preset--color--vert, #147a38);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--vert, #147a38) 25%, transparent);
}
.orgcontact__consent {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	font-size: 0.88rem;
}
.orgcontact__consent input { width: auto; margin-top: 0.2rem; flex: none; }
/* le texte de consentement garde sa taille (fine), il ne suit pas --oc-label-size */
.orgcontact__consent label { font-weight: 400; margin: 0; font-size: 0.88rem; }
.orgcontact__form button[type="submit"] {
	justify-self: start;
	background: var(--wp--preset--color--vert, #147a38);
	color: #fff;
	border: 0;
	font: inherit;
	font-weight: 600;
	padding: 0.7rem 1.5rem;
	border-radius: var(--oc-radius);
	cursor: pointer;
}
.orgcontact__form button[type="submit"]:hover { background: var(--wp--preset--color--encre, #1b1b1b); }
.orgcontact__form button[type="submit"][disabled] { opacity: 0.6; cursor: progress; }

/* pot de miel : hors écran, hors tabulation */
.orgcontact__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.orgcontact__feedback {
	padding: 0.9rem 1rem;
	border-radius: var(--oc-radius);
	font-size: var(--oc-feedback-size, 0.95rem);
	margin-bottom: 1.25rem;
}
.orgcontact__feedback p { margin: 0; }
.orgcontact__feedback.is-ok {
	background: color-mix(in srgb, var(--wp--preset--color--vert, #147a38) 10%, #fff);
	border: 1px solid var(--wp--preset--color--vert, #147a38);
}
.orgcontact__feedback.is-error {
	background: #fbeae7;
	border: 1px solid #c8503a;
	color: #7a2c1d;
}
