.onboarding-page{overflow-x:hidden;background:radial-gradient(circle at 18% 5%,rgba(47,143,99,.1),transparent 28rem),var(--bg)}
.onboarding-main{padding:48px 0 76px}
.onboarding-wrap{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,760px);align-items:start;gap:42px}
.onboarding-side{position:sticky;top:118px;padding:10px 8px}
.onboarding-side h1{margin:12px 0 18px;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.08}
.onboarding-offer{display:inline-flex;gap:7px;margin:0 0 28px;padding:9px 13px;border:1px solid rgba(91,200,139,.35);border-radius:999px;background:rgba(91,200,139,.08);color:var(--muted-strong)}
.onboarding-offer strong{color:var(--green)}
.progress-track{height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.09)}
.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-strong),#84e0a9);transition:width .25s ease}
.progress-copy{display:grid;gap:3px;margin-top:12px;color:var(--muted);font-size:.92rem}
.progress-copy strong{color:var(--ink)}
.save-note{margin-top:26px;padding-left:27px;color:var(--muted);font-size:.86rem;position:relative}
.save-note:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
section.onboarding-card{width:100%;min-width:0;min-height:590px;padding:clamp(24px,5vw,52px);overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff!important;box-shadow:var(--shadow)}
.step-heading{padding-bottom:26px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.step-heading h2{margin:6px 0 16px;font-size:clamp(1.55rem,3vw,2.15rem)}
.step-heading p{margin:8px 0;color:var(--muted-strong)}
.step-heading p,.onboarding-field legend,.field-help{overflow-wrap:anywhere}
.step-count,.required-copy{color:var(--green)!important;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.required-copy{margin-top:18px!important}
.onboarding-fields{display:grid;gap:26px}
.onboarding-field{min-width:0;padding:0;border:0}
.onboarding-field legend{display:block;width:100%;margin-bottom:10px;color:var(--ink);font-weight:750;line-height:1.4}
.required-mark{color:#ff9d89;margin-left:3px}
.field-help{margin:-3px 0 11px;color:var(--muted);font-size:.87rem}
.onboarding-field input[type="text"],.onboarding-field input[type="email"],.onboarding-field input[type="tel"],.onboarding-field input[type="number"],.onboarding-field input[type="time"],.onboarding-field textarea{width:100%;padding:13px 15px;border:1px solid var(--line-green);border-radius:10px;outline:0;background:#fbfdfb;color:var(--ink);font:inherit;transition:border-color .18s ease,box-shadow .18s ease}
.onboarding-field textarea{resize:vertical;min-height:105px}
.onboarding-field input:focus,.onboarding-field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(91,200,139,.13)}
.option-list{display:grid;gap:12px}
.option-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.38fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfdfb}
.option-row label{display:grid;gap:7px;color:var(--muted-strong);font-size:.82rem;font-weight:750}
.option-add,.option-remove{border-radius:9px;font:inherit;font-weight:750;cursor:pointer}
.option-add{margin-top:12px;padding:11px 14px;border:1px solid var(--green);background:var(--green-soft);color:var(--green-strong)}
.option-remove{padding:12px;border:1px solid rgba(255,115,96,.35);background:rgba(255,115,96,.08);color:#a94336}
.option-add:hover{background:rgba(91,200,139,.18)}
.option-remove:hover{background:rgba(255,115,96,.14)}
.choice-list{display:grid;gap:9px}
.choice{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfdfb;color:var(--muted-strong);cursor:pointer;transition:border-color .18s ease,background .18s ease}
.choice:hover{border-color:rgba(91,200,139,.45);background:rgba(91,200,139,.06)}
.choice:has(input:checked){border-color:var(--green);background:var(--green-soft);color:var(--ink)}
.choice input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:var(--green)}
.onboarding-actions{display:flex;justify-content:space-between;gap:16px;margin-top:38px;padding-top:25px;border-top:1px solid var(--line)}
.onboarding-actions .btn:last-child{margin-left:auto}
.form-error-summary{margin-top:24px;padding:13px 15px;border:1px solid rgba(255,115,96,.48);border-radius:10px;background:rgba(255,115,96,.08);color:#ffd4cc}
.onboarding-success{min-height:460px;display:grid;align-content:center;justify-items:center;text-align:center}
.onboarding-success .success-icon{display:grid;place-items:center;width:70px;height:70px;margin-bottom:22px;border-radius:50%;background:var(--green);color:var(--bg);font-size:2rem;font-weight:900}
.onboarding-success p{color:var(--muted-strong)}
.onboarding-success .btn{margin-top:20px}
.onboarding-side.is-complete .progress-track span{width:100%!important}

@media(max-width:860px){
  .onboarding-wrap{grid-template-columns:minmax(0,1fr);gap:24px}
  .onboarding-side{position:static;padding:0}
  .onboarding-side h1{font-size:2rem}
  .save-note{margin:16px 0 0}
  .onboarding-main{padding-top:28px}
}
@media(max-width:560px){
  .onboarding-card{padding:22px 18px;border-radius:16px}
  .onboarding-page .nav-in{gap:8px}
  .onboarding-page .brand{min-width:0}
  .onboarding-page .brand-txt{font-size:.92rem}
  .onboarding-exit{min-width:74px;padding:10px 12px;font-size:0}
  .onboarding-exit:after{content:"Tarifs";font-size:.82rem}
  .onboarding-actions{display:grid;grid-template-columns:1fr 1fr}
  .onboarding-actions .btn{width:100%;padding-inline:10px}
  .option-row{grid-template-columns:1fr}
  .option-remove{justify-self:start}
}
