/* Inscription au service */
.ins-hero { position: relative; overflow: hidden; padding: var(--sp-12) 0 var(--sp-16); }
.ins-hero-inner { position: relative; }
.ins-hero-copy { max-width: 720px; }
.ins-title { margin: var(--sp-2) 0 var(--sp-4); font-size: var(--fs-display); line-height: var(--lh-tight); letter-spacing: var(--tracking-tight); }
.ins-lead { margin: 0 0 var(--sp-6); color: var(--text-muted); font-size: var(--fs-md); max-width: 60ch; }
.ins-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: var(--sp-3); margin: 0; padding: 0; list-style: none; }
.ins-benefits li { display: flex; align-items: flex-start; gap: var(--sp-3); padding: var(--sp-4); border: 1px solid var(--border); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface) 85%, transparent); backdrop-filter: blur(6px); font-size: var(--fs-sm); }
.ins-benefit-icon { display: inline-grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: var(--radius-md); background: var(--primary-soft); color: var(--primary); }
.ins-body { position: relative; margin-top: calc(-1 * var(--sp-8)); padding-bottom: var(--sp-16); scroll-margin-top: calc(var(--header-h) + var(--sp-4)); }
.ins-form { box-shadow: var(--shadow-lg); border-radius: var(--radius-xl); }
.ins-form > .card-body { padding: var(--sp-8); }
.ins-required-note { margin: 0 0 var(--sp-4); color: var(--text-muted); font-size: var(--fs-sm); }
.ins-optional { margin-left: var(--sp-1); padding: 1px var(--sp-2); border-radius: var(--radius-pill); background: var(--surface-3); color: var(--text-muted); font-size: var(--fs-xs); font-weight: var(--fw-medium); vertical-align: middle; }
.field-full { grid-column: 1 / -1; }
.ins-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ins-check { display: flex; align-items: flex-start; gap: var(--sp-3); cursor: pointer; line-height: var(--lh-normal); }
.ins-check input { width: 20px; height: 20px; min-height: 0; flex: none; margin-top: 2px; accent-color: var(--primary); }
.ins-guardian { padding: var(--sp-4); border-radius: var(--radius-md); background: var(--warning-soft); color: var(--warning-text); }
.ins-health-toggle { align-items: flex-start; }
.ins-health-toggle .switch-label { line-height: var(--lh-normal); }
.ins-health { margin-top: var(--sp-4); padding: var(--sp-4); border: 1px solid var(--primary); border-radius: var(--radius-lg); background: var(--primary-soft); animation: tad-fade-up var(--dur-slow) var(--ease-out) both; }
.ins-needs { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.ins-privacy { display: flex; gap: var(--sp-4); margin-top: var(--sp-6); padding: var(--sp-5); border-radius: var(--radius-lg); background: var(--surface-2); border: 1px solid var(--border); font-size: var(--fs-sm); color: var(--text-muted); }
.ins-privacy p { margin: 0 0 var(--sp-2); }
.ins-privacy p:last-child { margin: 0; }
.ins-privacy strong { color: var(--text); }
.ins-privacy-icon { display: inline-grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 50%; background: var(--success-soft); color: var(--success-text); }
.ins-submit { margin-top: var(--sp-6); }
.ins-submit .btn { width: 100%; }
.ins-aside { align-self: start; }
.ins-steps { display: grid; gap: var(--sp-4); margin: 0; padding: 0; list-style: none; }
.ins-steps li { display: flex; gap: var(--sp-3); }
.ins-steps li > span { display: inline-grid; place-items: center; width: 28px; height: 28px; flex: none; border-radius: 50%; background: var(--primary); color: var(--on-primary); font-weight: var(--fw-bold); font-size: var(--fs-sm); }
.ins-steps p { margin: 2px 0 0; color: var(--text-muted); font-size: var(--fs-sm); }
.ins-success { max-width: 720px; margin-inline: auto; text-align: center; box-shadow: var(--shadow-lg); border-radius: var(--radius-xl); }
.ins-success .card-body { display: grid; justify-items: center; gap: var(--sp-3); padding: var(--sp-10) var(--sp-6); }
.ins-success-title { margin: var(--sp-4) 0 0; }
.ins-ref { font-size: var(--fs-xl); }
.ins-success-actions { justify-content: center; margin-top: var(--sp-4); }
@media (max-width: 640px) {
  .ins-form > .card-body { padding: var(--sp-5) var(--sp-4); }
  .ins-privacy { flex-direction: column; }
}
/* Notice de confidentialité */
.privacy-content h2 { font-size: var(--fs-lg); margin: 0 0 var(--sp-2); }
.privacy-content p, .privacy-content ul { margin: 0 0 var(--sp-2); line-height: var(--lh-normal); }
.privacy-content ul { padding-left: var(--sp-5); display: grid; gap: var(--sp-2); }
.privacy-contact { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin: var(--sp-3) 0; }
/* Pièce justificative */
.ins-doc-types { border: 0; margin: 0; padding: 0; min-width: 0; }
.ins-doc-grid { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.ins-dropzone { min-height: 150px; }
.ins-doc-info { display: grid; gap: var(--sp-2); margin-top: var(--sp-4); padding: var(--sp-4); border-radius: var(--radius-md); background: var(--surface-2); border: 1px solid var(--border); font-size: var(--fs-sm); color: var(--text-muted); }
.ins-doc-info-item { display: flex; gap: var(--sp-3); align-items: flex-start; }
.ins-doc-info-item .icon { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--primary); }
.ins-doc-info-item strong { color: var(--text); }
.ins-next { display: inline-flex; gap: var(--sp-2); align-items: center; margin-top: var(--sp-2); padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-md); background: var(--info-soft); color: var(--info-text); font-size: var(--fs-sm); text-align: left; }
