/* Formulaire [connectic_demande] — s'appuie sur les couleurs du thème quand elles existent. */
.csd-form {
	--csd-nuit: var(--wp--preset--color--nuit, #0A2D49);
	--csd-bleu: var(--wp--preset--color--bleu, #0F4B66);
	--csd-bordure: var(--wp--preset--color--bordure, #DCE3EA);
	--csd-gris: var(--wp--preset--color--gris, #54595F);
	--csd-erreur: #B42318;
}
.csd-form fieldset {
	border: 1px solid var(--csd-bordure); border-radius: 14px;
	padding: 1.25rem 1.5rem .5rem; margin: 0 0 1.5rem;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem;
}
.csd-form legend { font-weight: 700; color: var(--csd-nuit); padding: 0 .5rem; font-size: 1.05rem; }
.csd-champ { margin: 0 0 1rem; display: flex; flex-direction: column; gap: .3rem; }
.csd-champ--large { grid-column: 1 / -1; }
.csd-form label, .csd-label { font-weight: 600; font-size: .92rem; color: var(--csd-nuit); }
.csd-form input[type=text], .csd-form input[type=email], .csd-form input[type=tel],
.csd-form input[type=number], .csd-form select, .csd-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem;
	padding: .65rem .8rem; border: 1px solid #B9C5D1; border-radius: 8px; background: #fff; color: inherit;
}
.csd-form input:focus, .csd-form select:focus, .csd-form textarea:focus {
	outline: 3px solid rgba(110, 193, 228, .5); outline-offset: 0; border-color: var(--csd-bleu);
}
.csd-form [aria-invalid=true] { border-color: var(--csd-erreur); }
.csd-radios { display: flex; flex-wrap: wrap; gap: .5rem; }
.csd-radio {
	display: inline-flex; align-items: center; gap: .45rem; font-weight: 500 !important;
	border: 1px solid #B9C5D1; border-radius: 8px; padding: .55rem .8rem; cursor: pointer;
}
.csd-radio:has(input:checked) { border-color: var(--csd-bleu); background: rgba(110, 193, 228, .12); }
.csd-requis { color: var(--csd-erreur); }
.csd-aide { font-size: .85rem; color: var(--csd-gris); font-weight: 400; }
.csd-erreur { color: var(--csd-erreur); font-size: .88rem; font-weight: 500; }
.csd-alerte {
	border: 1px solid var(--csd-erreur); background: #FEF3F2; color: var(--csd-erreur);
	border-radius: 10px; padding: .8rem 1rem; margin-bottom: 1.25rem; font-weight: 500;
}
.csd-consentement label { font-weight: 400; display: flex; gap: .6rem; align-items: flex-start; }
.csd-consentement input { margin-top: .3rem; }
.csd-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.csd-bouton { cursor: pointer; border: 0; }
.csd-piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.csd-merci {
	border: 1px solid #A6E3C0; background: #ECFDF3; border-radius: 14px; padding: 1.5rem;
}
.csd-merci__titre { font-weight: 700; font-size: 1.15rem; margin-top: 0; color: #05603A; }
@media (max-width: 640px) {
	.csd-form fieldset { grid-template-columns: 1fr; padding: 1rem 1rem .25rem; }
}
