/* doc-project | public/assets/css/register.css | met en forme parcours, alerte compte existant, formules, créneaux, paiements et validation */
.register-hero { padding:3rem 0 4rem;background:linear-gradient(160deg,#f8fcfd,var(--aqua-100)); }
.register-hero .container>div { max-width:780px; }
.register-layout { display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:1.5rem;align-items:start; }
.register-form { overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm); }
.stepper { display:grid;grid-template-columns:repeat(4,1fr);padding:.7rem;background:var(--surface-soft);border-bottom:1px solid var(--line); }
.stepper button { display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.65rem .45rem;color:var(--ink-soft);background:transparent;border:0;border-radius:.7rem;font-size:.8rem;font-weight:700; }
.stepper button>span { display:grid;width:1.55rem;height:1.55rem;place-items:center;background:#fff;border:1px solid var(--line);border-radius:50%; }
.stepper button.is-active { color:var(--ocean-900);background:#fff;box-shadow:var(--shadow-sm); }
.stepper button.is-complete>span { color:#fff;background:var(--success);border-color:var(--success); }
.form-step { margin:0;padding:clamp(1.2rem,4vw,2.2rem);border:0; }
.form-step[hidden] { display:none; }
.form-step legend { display:flex;align-items:center;gap:.8rem;width:100%;margin-bottom:1.5rem; }
.form-step legend>span { display:grid;width:2.5rem;height:2.5rem;place-items:center;color:#fff;background:var(--ocean-700);border-radius:.75rem;font-weight:800; }
.form-step legend>div { display:grid; }
.form-step legend small { color:var(--ink-soft); }
.password-feedback { display:flex;align-items:center;min-height:1.35rem;margin-top:.35rem;font-size:.82rem;font-weight:700;line-height:1.35; }
.password-feedback[hidden] { display:none; }
.password-feedback.is-invalid { color:var(--danger); }
.password-feedback.is-valid { color:var(--success); }
.field input[aria-invalid="true"] { border-color:var(--danger);box-shadow:0 0 0 3px rgba(181,38,58,.1); }
.field input[aria-invalid="false"]:not(:placeholder-shown) { border-color:var(--success); }
.field input[aria-invalid="true"]:focus { border-color:var(--danger);box-shadow:0 0 0 3px rgba(181,38,58,.16); }
.field input[aria-invalid="false"]:focus { border-color:var(--success);box-shadow:0 0 0 3px rgba(26,133,93,.14); }
.form-divider { margin-top:.6rem;padding-top:1rem;border-top:1px solid var(--line); }
.existing-account-notice { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:#fff8e9;border:1px solid #efd59b;border-radius:var(--radius); }
.existing-account-notice[hidden] { display:none; }
.existing-account-notice p { margin:.25rem 0 0;color:var(--ink-soft); }
.existing-account-notice__actions { display:flex;flex:0 0 auto;flex-wrap:wrap;gap:.55rem; }
.offer-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem; }
.offer-card { position:relative;display:grid;gap:.35rem;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer; }
.offer-card:has(input:checked) { border-color:var(--ocean-600);box-shadow:0 0 0 3px rgba(7,149,184,.14); }
.offer-card input { position:absolute;top:1rem;right:1rem;width:1rem;height:1rem;accent-color:var(--ocean-700); }
.offer-card__type { width:max-content;padding:.2rem .45rem;color:var(--ocean-800);background:var(--aqua-100);border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em; }
.offer-card__price { color:var(--ocean-900);font-size:1.35rem;font-weight:850; }
.offer-card small { color:var(--ink-soft); }
.registration-slots { margin:1rem 0 1.5rem; }
.registration-slots[hidden] { display:none; }
.registration-slots__heading { display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.75rem; }
.registration-slots__heading h2,.registration-slots__heading p { margin:0; }
.registration-slots__heading p { color:var(--ink-soft); }
.slot-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem; }
.slot-card { position:relative;display:grid;gap:.25rem;padding:.9rem 2.4rem .9rem .9rem;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer; }
.slot-card:has(input:checked) { background:#f2fbfd;border-color:var(--ocean-600); }
.slot-card input { position:absolute;top:1rem;right:1rem;width:1rem;height:1rem;accent-color:var(--ocean-700); }
.slot-card span,.slot-card small { color:var(--ink-soft); }
.slot-card.is-full { opacity:.6;cursor:not-allowed; }
.price-summary { display:grid;grid-template-columns:1fr auto;align-items:center;gap:.2rem;margin-bottom:1.5rem;padding:1.1rem;color:#fff;background:linear-gradient(135deg,var(--ocean-800),var(--ocean-600));border-radius:var(--radius); }
.price-summary strong { grid-row:1/3;grid-column:2;font-size:2rem; }
.price-summary small { color:#d8edf2; }
.choice-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-bottom:1.5rem; }
.choice-grid--plans { grid-template-columns:repeat(4,1fr); }
.choice-card { position:relative;display:grid;grid-template-columns:minmax(0,1fr) 1.25rem;align-content:start;column-gap:.75rem;row-gap:.3rem;min-height:145px;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer; }
.choice-card:has(input:checked) { border-color:var(--ocean-600);box-shadow:0 0 0 3px rgba(7,149,184,.14); }
.choice-card input { grid-column:2;grid-row:1;align-self:start;justify-self:end;width:1rem;height:1rem;margin:.05rem 0 0;min-height:auto;accent-color:var(--ocean-700); }
.choice-card>strong,.choice-card>small,.choice-card__icon { grid-column:1;min-width:0; }
.choice-card>strong { line-height:1.35;overflow-wrap:anywhere; }
.choice-card__icon { color:var(--ocean-700); }
.choice-card small { color:var(--ink-soft); }
.payment-info,.final-notice { display:flex;gap:.7rem;padding:1rem;background:var(--aqua-100);border:1px solid #bee5e7;border-radius:var(--radius); }
.payment-info p,.final-notice p { margin:0;color:var(--ink-soft); }
.consent-list { display:grid;gap:1rem; }
.register-aside__sticky { position:sticky;top:6.5rem;padding:1.4rem;color:#d8edf2;background:#06384e;border-radius:var(--radius-lg);box-shadow:var(--shadow); }
.register-aside ul { display:grid;gap:.8rem;padding:0;list-style:none; }
.register-aside li { display:flex;gap:.5rem; }
.register-help { display:flex;gap:.7rem;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.18); }
.register-help div { display:grid; }
.register-help a { color:#fff; }
@media(max-width:1000px){.register-layout{grid-template-columns:1fr}.register-aside__sticky{position:static}.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid--plans{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.existing-account-notice{align-items:stretch;flex-direction:column}.existing-account-notice__actions{display:grid;grid-template-columns:1fr}.existing-account-notice__actions .button{width:100%}.stepper button{font-size:0}.stepper button>span{font-size:.8rem}.offer-grid,.slot-grid,.choice-grid,.choice-grid--plans{grid-template-columns:1fr}.registration-slots__heading{align-items:flex-start;flex-direction:column}.choice-card{min-height:110px}}