/* demande.css — Formulaire complet multi-step */

/* --- Hero --- */
.demande-hero{padding:100px 0 40px;background:var(--gradient-hero);color:#fff;text-align:center}
.demande-hero__title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;margin-bottom:12px;color:#fff}
.demande-hero__title strong{color:var(--color-accent)}
.demande-hero__subtitle{font-size:1.0625rem;color:rgba(255,255,255,.8);max-width:560px;margin:0 auto;line-height:1.6}

/* --- Container formulaire --- */
.demande-form{padding:60px 0 100px;background:var(--color-bg-alt)}
.demande-form__container{max-width:680px;margin:0 auto}
.demande-form__form{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:40px 36px;position:relative}
@media(max-width:640px){.demande-form__form{padding:28px 20px;border-radius:var(--radius-lg)}}

/* --- Erreur --- */
.demande-form__error{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#FEF2F2;border:1px solid #FECACA;border-radius:var(--radius-md);color:#991B1B;font-size:.9375rem;margin-bottom:24px}

/* --- Progress bar --- */
.demande-form__progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:36px;padding:0 12px}
.demande-form__progress-step{display:flex;flex-direction:column;align-items:center;position:relative;flex:0 0 auto;z-index:1}
.demande-form__progress-num{width:40px;height:40px;border-radius:50%;border:2px solid var(--color-border);background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:var(--color-text-muted);transition:all .3s ease}
.demande-form__progress-step--active .demande-form__progress-num,.demande-form__progress-step--done .demande-form__progress-num{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.demande-form__progress-label{font-size:.6875rem;color:var(--color-text-muted);margin-top:6px;white-space:nowrap}
.demande-form__progress-step--active .demande-form__progress-label{color:var(--color-primary);font-weight:600}
.demande-form__progress-bar{flex:1;height:2px;background:var(--color-border);margin:0 8px;margin-bottom:20px}
.demande-form__progress-bar--done{background:var(--color-primary)}

/* --- Fieldsets / Sections --- */
.demande-form__section{border:none;padding:0;margin:0;display:none}
.demande-form__section--active{display:block;animation:fadeStep .3s ease}
@keyframes fadeStep{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
.demande-form__legend{font-size:1.375rem;font-weight:700;color:var(--color-text);margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--color-primary-light)}

/* --- Champs --- */
.demande-form__field{margin-bottom:20px}
.demande-form__field--checkbox{margin-top:8px}
.demande-form__label{display:block;font-weight:600;font-size:.9375rem;color:var(--color-text);margin-bottom:6px}
.demande-form__required{color:var(--color-error);font-weight:700}
.demande-form__input,.demande-form__select,.demande-form__textarea{display:block;width:100%;padding:.8rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;color:var(--color-text);background:#fff;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit;appearance:none}
.demande-form__input:focus,.demande-form__select:focus,.demande-form__textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.demande-form__select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5l5 5 5-5' fill='none' stroke='%2364748B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}
.demande-form__textarea{resize:vertical;min-height:100px}
.demande-form__help{font-size:.8125rem;color:var(--color-text-muted);display:block;margin-top:4px}

/* --- File input --- */
.demande-form__file{display:block;width:100%;padding:.6rem 1rem;border:2px dashed var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;color:var(--color-text-muted);cursor:pointer;transition:border-color .2s ease}
.demande-form__file:hover{border-color:var(--color-primary)}

/* --- Radios énergie --- */
.demande-form__radios{display:flex;gap:12px;flex-wrap:wrap}
.demande-form__radio{flex:1;min-width:120px}
.demande-form__radio input{position:absolute;opacity:0;width:0;height:0}
.demande-form__radio-label{display:flex;align-items:center;justify-content:center;padding:12px 16px;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;color:var(--color-text);cursor:pointer;text-align:center;transition:all .2s ease}
.demande-form__radio input:checked+.demande-form__radio-label{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-dark);font-weight:600}
.demande-form__radio input:focus-visible+.demande-form__radio-label{outline:3px solid var(--color-primary);outline-offset:2px}

/* --- Checkbox RGPD --- */
.demande-form__checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.875rem;color:var(--color-text-muted);line-height:1.5}
.demande-form__checkbox input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--color-primary)}
.demande-form__checkbox a{color:var(--color-primary);text-decoration:underline}

/* --- Actions (boutons prev/next) --- */
.demande-form__actions{margin-top:28px;display:flex;justify-content:flex-end}
.demande-form__actions--split{justify-content:space-between}

/* --- Bouton outline (retour) --- */
.btn-motion--outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:12px;padding:12px 24px;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease}
.btn-motion--outline:hover{background:var(--color-primary-light);color:var(--color-primary-dark)}

/* --- Reassurance sous le formulaire --- */
.demande-form__reassurance{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border)}
.demande-form__reassurance-item,.demande-form__reassurance-badge{display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--color-text)}
.demande-form__reassurance-badge p{font-size:.75rem;color:var(--color-text-muted);margin:0}
.demande-form__reassurance-badge strong{font-size:.875rem;display:block}
