/* Formulaires (02/11/2026) : adresse rapide, erreurs de saisie, bouton d'appel. Charte ISODECO. */
.isodeco-form .isodeco-field--large { grid-column: 1 / -1; }
.isodeco-form .isodeco-field { position: relative; }
.isodeco-form .isodeco-field input, .isodeco-form .isodeco-field textarea { width: 100%; }
.isodeco-form .isodeco-field textarea::placeholder, .isodeco-form .isodeco-field input::placeholder { color: #8a84a8; opacity: 1; font-style: normal; }
form[data-isodeco-static] .is-invalid input, form[data-isodeco-static] .is-invalid textarea { border-color: #c62828 !important; background: #fff6f5 !important; }
form[data-isodeco-static] .is-valid input { border-color: #37967a !important; }
form[data-isodeco-static] .isodeco-erreur { display: flex; gap: .4rem; align-items: flex-start; margin: .1rem 0 0; color: #b3261e; font: 500 .88rem/1.35 "Outfit", sans-serif; }
form[data-isodeco-static] .isodeco-erreur::before { content: "!"; flex: none; display: grid; place-items: center; width: 1.1rem; height: 1.1rem; margin-top: .05rem; border-radius: 50%; background: #b3261e; color: #fff; font-weight: 700; font-size: .75rem; }
form[data-isodeco-static] .isodeco-form__projets.is-invalid .isodeco-chips { outline: 2px solid #c62828; outline-offset: 6px; border-radius: 12px; }
.isodeco-form .isodeco-aide { margin: .1rem 0 0; color: #6b6590; font-size: .82rem; }

/* Suggestions d'adresse */
.isodeco-adr { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% - .2rem); margin: 0; padding: .35rem; list-style: none; background: #fff; border-radius: 14px; box-shadow: 0 18px 40px -12px rgba(44, 33, 96, .35), 0 0 0 1px #e6e3f3; }
.isodeco-adr[hidden] { display: none; }
.isodeco-adr li { display: flex; flex-direction: column; padding: .6rem .8rem; border-radius: 10px; cursor: pointer; color: #2c2160; font: 600 .98rem/1.25 "Outfit", sans-serif; }
.isodeco-adr li small { color: #6b6590; font-weight: 400; font-size: .85rem; }
.isodeco-adr li[aria-selected="true"], .isodeco-adr li:hover { background: #f3f2f9; }
.isodeco-adr__src { padding: .35rem .8rem .1rem; color: #8a84a8; font-size: .75rem; }

/* Bouton d'appel sous le bouton d'envoi */
form[data-isodeco-static] .isodeco-appel { display: flex; align-items: center; justify-content: center; gap: .6rem; width: 100%; min-height: 52px; margin-top: .7rem; padding: .6rem 1rem; border-radius: 999px; box-shadow: inset 0 0 0 2px #2c2160; color: #2c2160 !important; background: #fff; font: 600 1rem/1.2 "Outfit", sans-serif; text-decoration: none !important; transition: background .2s, color .2s; }
form[data-isodeco-static] .isodeco-appel:hover { background: #2c2160; color: #fff !important; }
form[data-isodeco-static] .isodeco-appel svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.isodeco-form .isodeco-form__notice.is-error ul { margin: .4rem 0 0; padding-left: 1.2rem; font-weight: 500; }
.isodeco-form .isodeco-form__notice.is-error a { color: inherit; }
.isodeco-form__notice { padding: 1rem 1.2rem; border-radius: 14px; font: 600 1rem/1.4 "Outfit", sans-serif; margin-bottom: 1rem; }
.isodeco-form__notice.is-error { background: #fde3e0; color: #8a1f12; }
.isodeco-form__notice.is-success { background: rgba(109, 195, 78, .16); color: #2f5a00; }
.isodeco-form__notice.is-error ul { margin: .4rem 0 0; padding-left: 1.2rem; font-weight: 500; }
