/* ALFA Demandes — formulaire public. Reprend les variables du thème ALFA Base. */
.alfa-dem { --dem-primary: var(--wp--preset--color--primary, #2a4bff); --dem-border: var(--wp--preset--color--border, #e2e6f0); --dem-muted: var(--wp--preset--color--muted, #55607a); --dem-base: var(--wp--preset--color--base, #fff); scroll-margin-top: 2rem; }
.alfa-dem-form { display: flex; flex-direction: column; gap: 1rem; }
.alfa-dem-form p { margin: 0; }
.alfa-dem-form label, .alfa-dem-form legend { display: block; font-weight: 600; margin-bottom: .35rem; padding: 0; }
.alfa-dem-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.alfa-dem-form input[type="text"], .alfa-dem-form input:not([type]), .alfa-dem-form input[type="email"], .alfa-dem-form input[type="tel"], .alfa-dem-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; padding: .75rem .9rem; border: 1.5px solid var(--dem-border); border-radius: var(--wp--custom--radius--small, 8px); background: var(--dem-base); color: inherit;
}
.alfa-dem-form input:focus-visible, .alfa-dem-form textarea:focus-visible { outline: 3px solid color-mix(in srgb, var(--dem-primary) 35%, transparent); border-color: var(--dem-primary); }
.alfa-dem-form [aria-invalid="true"] { border-color: #c62828; }
.alfa-dem-form input[type="file"] { font: inherit; }
.alfa-dem-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.alfa-dem-grid3 { display: grid; grid-template-columns: 2fr 1fr 1.4fr; gap: 1rem; }
.alfa-dem-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: .6rem; }
.alfa-dem-cards label { position: relative; display: flex; align-items: center; gap: .6rem; margin: 0; padding: .85rem 1rem; border: 1.5px solid var(--dem-border); border-radius: var(--wp--custom--radius--small, 8px); background: var(--dem-base); cursor: pointer; font-weight: 600; }
.alfa-dem-cards label:hover { border-color: var(--dem-primary); }
.alfa-dem-cards label:has(input:checked) { border-color: var(--dem-primary); background: color-mix(in srgb, var(--dem-primary) 9%, var(--dem-base)); box-shadow: inset 0 0 0 1px var(--dem-primary); }
.alfa-dem-cards label:has(input:focus-visible) { outline: 3px solid color-mix(in srgb, var(--dem-primary) 40%, transparent); outline-offset: 2px; }
.alfa-dem-cards input { accent-color: var(--dem-primary); margin: 0; }
.alfa-dem-req { color: #c62828; }
.alfa-dem-hint { font-weight: 400; color: var(--dem-muted); font-size: .88rem; }
.alfa-dem-err { display: block; margin-top: .35rem; color: #c62828; font-weight: 600; font-size: .9rem; }
.alfa-dem-alert { margin: 0 0 1rem; padding: .85rem 1rem; border-radius: var(--wp--custom--radius--small, 8px); border-left: 4px solid #c62828; background: color-mix(in srgb, #c62828 7%, var(--dem-base)); font-weight: 600; }
.alfa-dem-check-line label { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; }
.alfa-dem-check-line input { margin-top: .3rem; flex: none; }
.alfa-dem-foot { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.alfa-dem-done { text-align: center; padding: 2rem 1rem; border-radius: var(--wp--custom--radius--medium, 16px); background: var(--wp--custom--card--background, #fff); border: var(--wp--custom--card--border, 1px solid #e2e6f0); }
.alfa-dem-done:focus { outline: none; }
.alfa-dem-check { display: inline-grid; place-items: center; width: 3.5rem; height: 3.5rem; margin: 0 auto .75rem; border-radius: 50%; background: color-mix(in srgb, #1f8a4c 14%, transparent); color: #1f8a4c; font-size: 1.8rem; font-weight: 800; }
.alfa-dem-done-title { font-size: 1.2rem; font-weight: 700; }
.alfa-ec-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 640px) { .alfa-dem-grid, .alfa-dem-grid3 { grid-template-columns: 1fr; } }
