/* Mise en page neutre : l'aspect propre à un site se règle par les variables ci-dessous, dans son CSS additionnel. */
.odc-form {
    display: flex;
    flex-wrap: wrap;
    gap: var(--odc-gap-ligne, 20px) var(--odc-gap-colonne, 20px);
    margin: 0;
}
.odc-form__row { flex: 0 0 100%; max-width: 100%; margin: 0; }
.odc-form__row--demi { flex: 0 0 calc(50% - var(--odc-gap-colonne, 20px) / 2); max-width: calc(50% - var(--odc-gap-colonne, 20px) / 2); }
.odc-form input[type="text"],
.odc-form input[type="email"],
.odc-form input[type="tel"],
.odc-form textarea { width: 100%; box-sizing: border-box; font: inherit; }
.odc-form textarea { resize: vertical; }
.odc-form__row--rgpd { display: flex; align-items: flex-start; gap: 8px; }
.odc-form__row--rgpd input { margin-top: 4px; flex: none; }
.odc-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.odc-form__status { flex: 0 0 100%; margin: 0; min-height: 1.3em; }
.odc-form__status.is-error { color: #b32d2e; }
.odc-form__submit { cursor: pointer; }
.odc-form__submit[disabled] { opacity: .6; cursor: default; }
@media (max-width: 767px) {
    .odc-form__row--demi { flex: 0 0 100%; max-width: 100%; }
}
