/* ============================================================
   Formulaires du hameau (contact, visite).
   Couleurs du thème (--wp--preset--*), avec repli.
   ============================================================ */

.hameau-formulaire,
.hameau-formulaire__succes {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	background: var(--wp--preset--color--blanc, #fff);
	border: 1px solid var(--wp--preset--color--lin, #e4e2dd);
	border-radius: 18px;
	box-shadow: var(--wp--preset--shadow--sm, 0 2px 6px rgb(31 42 36 / 0.07));
}

/* Largeur mesurée sur le formulaire, pas sur l'écran : il vit aussi bien
   dans une colonne que sur toute la largeur. */
.hameau-formulaire {
	container-type: inline-size;
}

/* Champs courts deux par ligne dès que la place le permet. */
.hameau-formulaire__champs {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem 1rem;
}

@container (min-width: 30rem) {

	.hameau-formulaire__champs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hameau-champ:not(.hameau-champ--demi) {
		grid-column: 1 / -1;
	}
}

.hameau-formulaire p {
	margin: 0;
}

.hameau-formulaire__obligatoire,
.hameau-formulaire__mention,
.hameau-champ__aide {
	font-size: var(--wp--preset--font-size--sm, 0.875rem);
	line-height: 1.5;
	color: var(--wp--preset--color--texte-attenue, #6b6557);
}

.hameau-formulaire__mention {
	padding-top: 1.25rem;
	border-top: 1px solid var(--wp--preset--color--lin, #e4e2dd);
}

.hameau-champ {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	min-width: 0;
}

.hameau-champ label {
	font-size: var(--wp--preset--font-size--sm, 0.875rem);
	font-weight: 500;
	color: var(--wp--preset--color--encre, #1f2a24);
}

.hameau-champ__requis {
	color: var(--wp--preset--color--argile, #a8462f);
}

.hameau-champ input,
.hameau-champ textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 0.75rem 1rem;
	font: inherit;
	line-height: 1.5;
	color: var(--wp--preset--color--encre, #1f2a24);
	background: var(--wp--preset--color--papier, #faf9f6);
	border: 1.5px solid var(--wp--preset--color--bordure, #d2cfc6);
	border-radius: 12px;
	transition:
		border-color var(--wp--custom--motion--duration-fast, 140ms) ease,
		background-color var(--wp--custom--motion--duration-fast, 140ms) ease,
		box-shadow var(--wp--custom--motion--duration-fast, 140ms) ease;
}

.hameau-champ textarea {
	min-height: 7.5rem;
	resize: vertical;
}

.hameau-champ input:hover,
.hameau-champ textarea:hover {
	border-color: var(--wp--preset--color--texte-attenue, #6b6557);
}

.hameau-champ input:focus-visible,
.hameau-champ textarea:focus-visible {
	background: var(--wp--preset--color--blanc, #fff);
	border-color: var(--wp--preset--color--pin, #1f7354);
	outline: none;
	box-shadow: var(--wp--custom--focus-ring, 0 0 0 3px rgb(31 115 84 / 0.45));
}

.hameau-champ [aria-invalid="true"] {
	background: var(--wp--preset--color--blanc, #fff);
	border-color: var(--wp--preset--color--argile, #a8462f);
}

.hameau-champ__erreur,
.hameau-formulaire__statut {
	font-size: var(--wp--preset--font-size--sm, 0.875rem);
	color: var(--wp--preset--color--argile, #a8462f);
}

.hameau-formulaire__statut {
	padding: 0.75rem 1rem;
	background: #f1ddd6;
	border-radius: 12px;
}

.hameau-champ__erreur[hidden],
.hameau-formulaire__statut[hidden] {
	display: none;
}

/* Vérification anti-robot (ALTCHA) : discrète, aux couleurs du site. */
.hameau-formulaire__verification altcha-widget {
	--altcha-max-width: 100%;
	--altcha-border-radius: 12px;
	--altcha-border-color: var(--wp--preset--color--bordure, #d2cfc6);
	--altcha-color-base: var(--wp--preset--color--papier, #faf9f6);
	--altcha-color-base-content: var(--wp--preset--color--encre, #1f2a24);
	--altcha-color-primary: var(--wp--preset--color--pin, #1f7354);
	--altcha-color-success: var(--wp--preset--color--pin, #1f7354);
	--altcha-color-error: var(--wp--preset--color--argile, #a8462f);
	display: block;
}

.hameau-formulaire__sans-js {
	padding: 0.75rem 1rem;
	font-size: var(--wp--preset--font-size--sm, 0.875rem);
	background: var(--wp--preset--color--papier, #faf9f6);
	border: 1px solid var(--wp--preset--color--bordure, #d2cfc6);
	border-radius: 12px;
}

/* Champ piège : hors de l'écran, jamais atteint au clavier. */
.hameau-formulaire__piege {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.hameau-formulaire__envoi .wp-block-button__link {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	cursor: pointer;
}

.hameau-formulaire__envoi .wp-block-button__link:disabled {
	opacity: 0.6;
	cursor: progress;
}

.hameau-formulaire__succes {
	align-items: center;
	text-align: center;
}

.hameau-formulaire__succes::before {
	content: "";
	width: 60px;
	height: 60px;
	background: var(--wp--preset--color--foret-50, #eef3f0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f7354' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 28px no-repeat;
	border-radius: 50%;
}

.hameau-formulaire__succes h3,
.hameau-formulaire__succes p {
	margin: 0;
}

.hameau-formulaire__succes:focus {
	outline: none;
}

/* Case à cocher : case puis libellé, sur une ligne. */
.hameau-champ--case {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	column-gap: 0.625rem;
}

.hameau-champ--case input {
	width: 1.25rem;
	height: 1.25rem;
	margin: 0.125rem 0 0;
	accent-color: var(--wp--preset--color--pin, #1f7354);
}

.hameau-champ--case > :not(input, label) {
	grid-column: 2;
}

.hameau-champ select {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 0.75rem 1rem;
	font: inherit;
	color: var(--wp--preset--color--encre, #1f2a24);
	background: var(--wp--preset--color--papier, #faf9f6);
	border: 1.5px solid var(--wp--preset--color--bordure, #d2cfc6);
	border-radius: 12px;
}

.hameau-champ select:focus-visible {
	background: var(--wp--preset--color--blanc, #fff);
	border-color: var(--wp--preset--color--pin, #1f7354);
	outline: none;
	box-shadow: var(--wp--custom--focus-ring, 0 0 0 3px rgb(31 115 84 / 0.45));
}

/* Boutons du panneau « Champs » dans l'éditeur. */
.hameau-formulaire-editeur__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

/* Aperçu dans l'éditeur : non interactif (un clic sélectionne le bloc). */
.hameau-formulaire-apercu .hameau-formulaire {
	pointer-events: none;
}
