/* Formulaires temporaires : surfaces isolées, styles des cartes conservés. */
.lead-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:36px;border:1px solid var(--rule);border-radius:20px;background:var(--ivory);color:var(--ink);box-shadow:0 24px 90px rgba(11,29,51,.25);overflow:auto}
.lead-dialog::backdrop{background:rgba(11,29,51,.7);backdrop-filter:blur(5px)}
.lead-dialog__close{position:absolute;right:14px;top:12px;width:36px;height:36px;font-size:27px;line-height:1;border-radius:50%;color:var(--steel)}
.lead-dialog__close:hover{background:rgba(11,29,51,.06)}
.lead-dialog__eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin-bottom:10px}
.lead-dialog h2{font:400 36px/1.07 var(--serif);letter-spacing:-.015em;margin:0 22px 12px 0}
.lead-dialog__intro{font-size:14px;line-height:1.6;color:var(--ink-2);margin-bottom:24px}
.lead-form__fields{display:grid;gap:16px}
.lead-form label{display:grid;gap:7px;font-size:13px;font-weight:500}
.lead-form input,.lead-form select{box-sizing:border-box;width:100%;min-height:46px;border:1px solid rgba(11,29,51,.24);border-radius:9px;padding:11px 13px;font:400 16px/1.3 var(--sans);background:var(--off);color:var(--ink)}
.lead-form input:focus-visible,.lead-form select:focus-visible{outline:2px solid var(--steel);outline-offset:2px}
.lead-form__hint,.lead-form__privacy{font-size:12px;line-height:1.55;color:var(--ink-2);font-weight:400}
.lead-form__privacy{margin-top:18px}
.lead-form__privacy a{text-decoration:underline;text-underline-offset:3px}
.lead-form .btn{width:100%;margin-top:6px;min-height:46px;white-space:normal}
.lead-form .btn:disabled{cursor:wait;opacity:.65;transform:none}
.lead-form__status{font-size:14px;line-height:1.6;margin:16px 0 0;padding:12px 14px;border-radius:9px;background:rgba(167,183,174,.24)}
.lead-form__status:empty{display:none}
.lead-form__status[data-state="error"]{color:#863929;background:rgba(173,71,48,.09)}
.lead-form__trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body.lead-dialog-open{overflow:hidden}
@media(max-width:480px){.lead-dialog{padding:30px 23px 24px;border-radius:16px}.lead-dialog h2{font-size:32px}.lead-dialog__intro{margin-bottom:20px}}

/* Transformation : une question à la fois, surface isolée de la homepage. */
.lead-dialog--application{width:min(660px,calc(100% - 32px));padding:0;scroll-padding-top:185px}
.application__header{position:sticky;top:0;z-index:2;padding:27px 34px 22px;background:var(--ivory);border-bottom:1px solid var(--rule)}
.application__header h2{font-size:32px;margin-right:18px}
.application__header .lead-dialog__intro{margin-bottom:22px;font-size:13px}
.application__progress{display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:1.5;color:var(--ink-2)}
.application__progress span:first-child{font-weight:500;color:var(--steel)}
.application__header progress{appearance:none;display:block;width:100%;height:3px;margin-top:9px;border:0;border-radius:3px;overflow:hidden;background:var(--rule);accent-color:var(--steel)}
.application__header progress::-webkit-progress-bar{background:var(--rule)}
.application__header progress::-webkit-progress-value{background:var(--steel);transition:width .16s ease}
.application__header progress::-moz-progress-bar{background:var(--steel)}
.application-form{padding:28px 34px}
.application-form .lead-form__fields{gap:28px}
.application__question{border:0;padding:0;margin:0;min-width:0;animation:application-enter .15s ease-out}
.application__question legend{float:left;width:100%;padding:0;margin:0 0 22px;font:400 28px/1.2 var(--serif);letter-spacing:-.01em;text-wrap:pretty}
.application__question legend+*{clear:both}
.application__question legend:focus{outline:none}
.application__hint{margin:-8px 0 20px;font-size:13px;line-height:1.6;color:var(--ink-2)}
.application__choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.application__choices--wide{grid-template-columns:1fr}
.application-form .application__choice{display:flex;align-items:center;gap:12px;padding:15px;min-height:55px;border:1px solid var(--rule);border-radius:10px;background:var(--off);cursor:pointer;font-size:14px;font-weight:400;line-height:1.5;transition:background .12s,border-color .12s}
.application__choice:hover{border-color:var(--steel)}
.application__choice:has(input:checked){background:rgba(167,183,174,.18);border-color:var(--steel)}
.application__choice:has(input:focus-visible){outline:2px solid var(--steel);outline-offset:3px}
.application-form .application__choice input{flex:0 0 17px;width:17px;height:17px;min-height:17px;margin:0;padding:0;accent-color:var(--navy);outline:none}
.application__choice span{min-width:0}
.application-form textarea{box-sizing:border-box;display:block;width:100%;min-height:150px;resize:vertical;padding:14px;border:1px solid rgba(11,29,51,.24);border-radius:10px;background:var(--off);color:var(--ink);font:400 16px/1.6 var(--sans)}
.application-form textarea:focus-visible{outline:2px solid var(--steel);outline-offset:3px}
.application__actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
.application__back{font:400 13px/1.5 var(--sans);min-height:46px;padding:8px 5px;color:var(--ink-2);text-decoration:underline;text-underline-offset:4px}
.application__back:disabled{visibility:hidden}
.application__actions .btn{width:auto;min-width:170px;margin:0;font-size:13px;padding:13px 20px}
.application__back:focus-visible,.lead-dialog--application .lead-dialog__close:focus-visible{outline:2px solid var(--steel);outline-offset:3px}
.application-form .lead-form__privacy{margin-top:22px;font-size:11px}
.application-form [aria-invalid="true"]{border-color:#a74b3c}
.application__choice:has([aria-invalid="true"]){border-color:#a74b3c}
.lead-form__error{clear:both;font-size:12px;line-height:1.5;color:#923e2e;margin:12px 0 0}
.application__contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
.application__contacts>div{min-width:0}
.application__contacts label{line-height:1.4}
.application__contacts .lead-form__error{margin-top:7px}
.application__phone{display:grid;align-content:start;gap:7px}
.application__phone .lead-form__error{margin-top:0}
#transformation-form .application-phone-widget{width:100%;font:400 14px/1.4 var(--sans);--iti-border-color:var(--rule);--iti-hover-color:rgba(167,183,174,.18)}
#transformation-form .iti__selected-country{border-radius:8px 0 0 8px;overflow:hidden}
#transformation-form .iti__selected-country:focus-visible{outline:2px solid var(--steel);outline-offset:2px}
#transformation-form .iti__selected-dial-code{font-size:13px;color:var(--ink)}
#transformation-form .application-phone-picker{font:400 14px/1.4 var(--sans);color:var(--ink);--iti-country-selector-bg:var(--ivory);--iti-border-color:var(--rule);--iti-hover-color:rgba(167,183,174,.25)}
#transformation-form .application-phone-picker .iti__country-selector{border-radius:12px;overflow:hidden;box-shadow:0 12px 36px rgba(11,29,51,.18);max-width:calc(100vw - 40px)}
#transformation-form .application-phone-picker .iti__search-input{font:400 16px/1.3 var(--sans);background:var(--off);color:var(--ink);min-height:46px;border:0;border-bottom:1px solid var(--rule);border-radius:0;outline-offset:-3px}
#transformation-form .application-phone-picker .iti__country-list{max-height:min(240px,35dvh);overscroll-behavior:contain}
#transformation-form .application-phone-picker .iti__country{min-height:42px;padding-block:10px;white-space:normal}
@keyframes application-enter{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.application__question{animation:none}.application__header progress::-webkit-progress-value{transition:none}}
@media(max-width:600px){
  .lead-dialog--application{scroll-padding-top:185px}
  .application__header{padding:25px 21px 17px}
  .application__header h2{font-size:27px;margin-right:8px}
  .application__header .lead-dialog__intro{margin-bottom:17px}
  .application__progress{font-size:10px;gap:8px;flex-wrap:wrap}
  .application-form{padding:23px 21px}
  .application__question legend{font-size:25px;margin-bottom:20px}
  .application-form .application__choice{padding:12px;font-size:13px;gap:9px}
  .application__choices{gap:9px}
  .application__actions{gap:12px}
  .application__actions .btn{min-width:0;padding:13px 15px}
  .application__contacts{grid-template-columns:minmax(0,1fr);gap:12px}
  .application__contacts label{font-size:12px;gap:5px}
  .application__contacts input{min-height:44px;padding:10px 12px}
  .application__phone{gap:5px}
  .application-form--contacts .lead-form__fields{gap:22px}
}
