/* inscription-form.css — Formulaire d'inscription Coeur de Tuteur */

.if-step-bar-wrap { margin-bottom: 24px; }
.if-step-bar { display:flex; align-items:center; margin-bottom:8px; }
.if-dot {
  width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font); font-size:13px; font-weight:700;
  flex-shrink:0; transition:background .3s, color .3s;
}
.if-dot.if-active  { background:var(--o); color:white; }
.if-dot.if-done    { background:var(--teal); color:white; }
.if-dot.if-inactive{ background:white; border:1.5px solid rgba(31,53,77,0.15); color:var(--muted); }
.if-line { flex:1; height:2px; background:rgba(31,53,77,0.1); margin:0 8px; transition:background .4s; }
.if-line.if-done   { background:var(--teal); }
.if-step-labels {
  display:flex; justify-content:space-between;
  font-family:var(--font); font-size:12px; font-weight:500; color:var(--muted);
}

.if-hidden { display:none !important; }

.if-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:480px) { .if-row-2 { grid-template-columns:1fr; } }

.if-field { margin-bottom:16px; }
.if-field label {
  display:block; font-family:var(--font); font-size:14px; font-weight:600;
  color:var(--navy); margin-bottom:6px;
}
.if-field input {
  width:100%; height:44px;
  border:1.5px solid rgba(31,53,77,0.15); border-radius:8px;
  padding:0 14px; font-family:var(--font); font-size:16px; color:var(--navy);
  background:white; transition:border-color .2s; box-sizing:border-box;
}
.if-field input:focus { outline:none; border-color:var(--o); }
.if-field input.if-error { border-color:#dc2626; }
.if-field .if-hint { font-family:var(--font); font-size:12px; color:var(--muted); margin-top:4px; }
.if-field .if-err-msg {
  font-family:var(--font); font-size:12px; color:#dc2626;
  margin-top:4px; display:none;
}
.if-field.if-has-error .if-err-msg { display:block; }

/* Student block */
.if-student {
  background:rgba(31,53,77,0.03); border:1px solid rgba(31,53,77,0.1);
  border-radius:10px; padding:16px; margin-bottom:12px;
}
.if-student-hdr {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;
}
.if-student-lbl {
  font-family:var(--font); font-size:13px; font-weight:700;
  text-transform:uppercase; letter-spacing:1.5px; color:var(--muted); margin:0;
}
.if-remove-btn {
  background:none; border:none; cursor:pointer;
  font-family:var(--font); font-size:13px; color:var(--muted);
  display:flex; align-items:center; gap:4px;
  padding:4px 8px; border-radius:6px; transition:color .2s, background .2s;
}
.if-remove-btn:hover { color:#dc2626; background:rgba(220,38,38,0.06); }
.if-remove-btn .material-symbols-outlined { font-size:16px; }

/* Sequence chips */
.if-seq-label {
  font-family:var(--font); font-size:13px; font-weight:600;
  color:var(--navy); margin:0 0 8px; display:block;
}
.if-seq-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:4px; }
.if-seq-chip {
  padding:6px 16px; border-radius:50px;
  font-family:var(--font); font-size:14px; font-weight:500;
  border:1.5px solid rgba(31,53,77,0.15); background:white; color:var(--navy);
  cursor:pointer; transition:border-color .15s, background .15s, color .15s;
}
.if-seq-chip:hover { border-color:var(--o); }
.if-seq-chip.if-sel { border-color:var(--o); background:rgba(255,140,66,0.08); color:#7a3d10; }
.if-seq-err { font-family:var(--font); font-size:12px; color:#dc2626; margin:4px 0 0; display:none; }
.if-seq-has-error .if-seq-err { display:block; }

/* Add student button */
.if-add-btn {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font); font-size:14px; font-weight:600; color:var(--teal);
  background:none; border:none; cursor:pointer; padding:4px 0; margin-bottom:22px;
}
.if-add-btn .material-symbols-outlined { font-size:18px; }
.if-add-btn:hover { opacity:.75; }

/* Forfait */
.if-forfait-label {
  font-family:var(--font); font-size:14px; font-weight:600;
  color:var(--navy); margin:0 0 10px;
}
.if-forfait-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:22px;
}
@media (max-width:480px) { .if-forfait-grid { grid-template-columns:1fr; } }
.if-fcard {
  border:1.5px solid rgba(31,53,77,0.15); border-radius:12px;
  padding:16px; cursor:pointer; position:relative;
  transition:border-color .2s, background .2s;
}
.if-fcard:hover { border-color:rgba(31,53,77,0.35); }
.if-fcard.if-sel { border-color:var(--navy); background:rgba(31,53,77,0.03); }
.if-fcard-best {
  position:absolute; top:-11px; left:50%; transform:translateX(-50%);
  background:var(--navy); color:white;
  font-family:var(--font); font-size:10px; font-weight:700;
  text-transform:uppercase; letter-spacing:1px;
  padding:3px 12px; border-radius:50px; white-space:nowrap;
}
.if-fcard-badge {
  font-family:var(--font); font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:1px; color:var(--teal); margin:0 0 6px;
}
.if-fcard-title {
  font-family:var(--font); font-size:15px; font-weight:600;
  color:var(--navy); margin:0 0 6px; line-height:1.2;
}
.if-fcard-price {
  font-family:var(--font); font-size:22px; font-weight:700; color:var(--navy); margin:0 0 4px;
}
.if-fcard-sub { font-family:var(--font); font-size:12px; color:var(--muted); margin:0; }

/* Buttons */
.if-btn-next, .if-btn-submit {
  width:100%; height:52px; background:var(--o); color:white; border:none;
  border-radius:10px; font-family:var(--font); font-size:18px; font-weight:700;
  cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px;
  transition:transform .2s, box-shadow .2s; margin-top:4px;
}
.if-btn-next:hover, .if-btn-submit:hover {
  transform:translateY(-2px); box-shadow:0 8px 28px rgba(255,140,66,0.4);
}
.if-btn-next:active, .if-btn-submit:active { transform:translateY(0); }
.if-btn-next .material-symbols-outlined,
.if-btn-submit .material-symbols-outlined { font-size:20px; }
.if-btn-submit.if-loading { opacity:.7; cursor:not-allowed; pointer-events:none; }

.if-btn-back {
  width:100%; height:42px; background:transparent; color:var(--muted);
  border:1px solid rgba(31,53,77,0.15); border-radius:8px;
  font-family:var(--font); font-size:15px; cursor:pointer; margin-bottom:10px;
  transition:background .2s;
}
.if-btn-back:hover { background:rgba(31,53,77,0.04); }

/* Reassurance */
.if-reassurance {
  display:flex; align-items:flex-start; gap:8px; margin-top:14px;
  padding:10px 14px; background:rgba(3,152,158,0.07); border-radius:8px;
  font-family:var(--font); font-size:13px; color:var(--muted); line-height:1.5;
}
.if-reassurance .material-symbols-outlined { font-size:18px; color:var(--teal); flex-shrink:0; margin-top:1px; }

/* Success */
.if-success { text-align:center; padding:32px 0; }
.if-success-ico { font-size:56px; color:var(--teal); display:block; margin-bottom:16px; }
.if-success-title {
  font-family:var(--font); font-size:26px; font-weight:700; color:var(--navy); margin:0 0 10px;
}
.if-success-msg { font-family:var(--font); font-size:17px; color:var(--muted); margin:0; line-height:1.6; }
