/* Formulaires d'inscription en ligne : enfants (inscription.php) et adultes (inscription-adultes.php) */
/* ── Progression ─────────────────────────────────────────── */
.step-bar{display:flex;align-items:center;margin-bottom:28px;gap:0}
.sb-item{flex:1;text-align:center;position:relative}
.sb-item:not(:last-child)::after{content:'';position:absolute;top:13px;left:50%;right:-50%;height:2px;background:#e0e7ef;z-index:0}
.sb-item.done::after{background:#b3bb02}
.sb-dot{width:28px;height:28px;border-radius:50%;background:#e0e7ef;color:#999;font-size:12px;font-weight:700;line-height:28px;text-align:center;margin:0 auto 5px;position:relative;z-index:1;transition:.2s}
.sb-label{font-size:10px;color:#999;transition:.2s;white-space:nowrap}
.sb-item.active .sb-dot{background:#003865;color:#fff}
.sb-item.active .sb-label{color:#003865;font-weight:600}
.sb-item.done .sb-dot{background:#b3bb02;color:#fff}
.sb-item.done .sb-label{color:#6b6f01}
/* ── Steps ───────────────────────────────────────────────── */
.form-step{display:none}
.form-step.step-active{display:block}
/* ── Sections ────────────────────────────────────────────── */
.form-section{margin-bottom:20px;padding:22px;background:#fff;border:1px solid #e8e8e8;border-radius:8px}
.form-section h3{font-size:15px;font-weight:600;color:#003865;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid #f0f5ff;display:flex;align-items:center;justify-content:space-between}
.section-badge{display:inline-block;background:#003865;color:#fff;border-radius:50%;width:22px;height:22px;line-height:22px;text-align:center;font-size:11px;margin-right:8px;flex-shrink:0}
/* ── Forms ───────────────────────────────────────────────── */
.form-group label.control-label{font-weight:600;font-size:13px;color:#555;margin-bottom:4px;display:block}
.form-group input,.form-group select,.form-group textarea{border-radius:4px;border:1px solid #ccc;width:100%;padding:9px 12px;font-size:14px;color:#333;background:#fff;font-family:inherit}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#003865;outline:none;box-shadow:0 0 0 2px rgba(0,56,101,.1)}
/* ── Niveaux ─────────────────────────────────────────────── */
.niveau-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.niveau-card{border:2px solid #e0e0e0;border-radius:8px;padding:12px 14px;cursor:pointer;transition:.2s}
.niveau-card:hover{border-color:#003865}
.niveau-card.selected{border-color:#003865;background:#f0f7ff}
.niveau-card input[type=radio]{display:none}
.nc-nom{font-weight:700;font-size:14px;color:#003865}
.nc-age{font-size:11px;color:#888;margin:2px 0 5px}
.nc-desc{font-size:11px;color:#555;line-height:1.4}
/* ── Prestation ──────────────────────────────────────────── */
.prestation-info-box{background:#f0f7ff;border-left:4px solid #003865;border-radius:0 6px 6px 0;padding:10px 14px;margin-top:10px}
.tarif-amount{font-size:20px;font-weight:700;color:#003865}
/* ── Paiement ────────────────────────────────────────────── */
.paiement-option{border:2px solid #e0e0e0;border-radius:6px;padding:12px 16px;margin-bottom:10px;cursor:pointer;transition:.2s}
.paiement-option:hover{border-color:#003865}
.paiement-option.selected{border-color:#003865;background:#f0f7ff}
.paiement-option label{cursor:pointer;margin:0;display:flex;align-items:flex-start;gap:12px}
.paiement-option input[type=radio]{margin-top:3px;flex-shrink:0}
.pmt-amount{font-weight:700;color:#003865;font-size:14px;display:block}
.pmt-detail{font-size:12px;color:#777;margin-top:2px}
/* ── CGV ─────────────────────────────────────────────────── */
.cgv-block{background:#fff8e1;border:1px solid #ffe082;border-radius:6px;padding:14px 18px;margin-bottom:12px}
.cgv-block label{cursor:pointer;display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5}
.cgv-block input[type=checkbox]{margin-top:3px;width:18px;height:18px;flex-shrink:0}
#btn-cgv{color:#003865;font-weight:600;text-decoration:underline;border:none;background:none;padding:0;cursor:pointer;font-size:13px}
/* ── Navigation ──────────────────────────────────────────── */
.step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px}
.btn-prev{background:#f0f2f5;border:1px solid #ccc;color:#555;padding:11px 22px;border-radius:5px;font-size:14px;cursor:pointer;font-weight:600}
.btn-prev:hover{background:#e0e2e5}
.btn-next,.btn-submit{background:#003865;border:none;color:#fff;padding:11px 26px;border-radius:5px;font-size:14px;cursor:pointer;font-weight:600}
.btn-next:hover,.btn-submit:hover{background:#002a4d}
.btn-next:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed}
/* ── Optionals ───────────────────────────────────────────── */
.add-opt-btn{display:inline-flex;align-items:center;gap:7px;background:#f5f8d4;border:1px dashed #b3bb02;color:#6b6f01;padding:9px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;margin-top:6px}
.add-opt-btn:hover{background:#edf2c0}
.remove-opt-btn{background:none;border:none;color:#c00;font-size:12px;cursor:pointer;padding:0;font-weight:600}
.optional-block{background:#f9fbff;border:1px solid #d0e4ff;border-radius:6px;padding:18px;margin-top:12px}
/* ── Code promo ──────────────────────────────────────────── */
.btn-promo{padding:9px 14px;background:#003865;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;white-space:nowrap}
.btn-promo:hover{background:#002a4d}
.btn-promo-clear{padding:9px 11px;background:#f0f2f5;color:#c00;border:1px solid #ccc;border-radius:4px;font-size:13px;cursor:pointer}
/* ── Misc ────────────────────────────────────────────────── */
.alert-danger{background:#fdf0f0;border:1px solid #e57373;color:#c62828;border-radius:6px;padding:14px 18px;margin-bottom:20px}
.alert-info{background:#e8f4fd;border:1px solid #90caf9;color:#0d47a1;border-radius:6px;padding:12px 16px;margin-bottom:16px;font-size:13px}
.section-sub{font-size:12px;color:#888;font-weight:400}
@media(max-width:600px){.niveau-cards{grid-template-columns:1fr}.step-nav{flex-direction:column-reverse;gap:8px}.btn-prev,.btn-next,.btn-submit{width:100%}}
