/*
 * Le niveau déclaré et le bloc du test de nage.
 *
 * Le niveau obtenu la saison passée, demandé en tête de l'étape
 * « Activités », et le bloc du test de nage (rendez-vous, saisie du code,
 * sortie de secours, mode refus).
 *
 * Écrans : l'étape « Activités » du tunnel ([cnpr_inscriptions]).
 *
 * Sa place dans la cascade est fixée par cnpr_insc_feuilles_front()
 * (includes/front-tunnel-core.php) : toutes les feuilles du front se
 * chargent partout où l'extension s'affiche, dans cet ordre, avant le thème.
 */

/* Le niveau obtenu la saison passée, demandé EN TÊTE de l'étape activités,
   avant les créneaux. Séparé par un filet : c'est une autre question, pas une
   case de plus dans la grille des créneaux. Le label est scopé (0,2,0) pour
   battre le reset générique ".cnpr-insc-form label" (0,1,1) qui le remettrait
   en ligne. */
.cnpr-insc-niveau-declare { margin: 0 0 20px; padding-bottom: 16px; border-bottom: 1px solid var(--cnpr-fond-doux, #eaf7fd); }
.cnpr-insc-niveau-declare .cnpr-insc-niveau { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.cnpr-insc-niveau-declare .cnpr-insc-niveau > span:first-child { font-weight: 600; }
.cnpr-insc-niveau-declare select { max-width: 420px; }
.cnpr-insc-niveau-declare .cnpr-insc-desc { font-size: 13px; color: var(--cnpr-couleur-texte-doux, #4c5f80); }
/* LE BLOC DU TEST DE NAGE, en tête de l'étape des créneaux. Il porte le
   rendez-vous, la question du niveau, la saisie du code et la sortie de
   secours : chacun a son propre formulaire, tous mis en colonne pour que la
   phrase d'explication ne se colle pas au flanc de son bouton. Même scoping
   (0,2,0) que le niveau ci-dessus, et pour la même raison : battre le reset
   générique ".cnpr-insc-form label" (0,1,1) qui remettrait les labels en ligne.
   La classe --verrou ne s'ajoute que sur un refus vivant : c'est elle qui dit
   « votre dernier geste a été refusé », et le bloc informatif ne la porte pas. */
/* (0,2,1) : ".cnpr-insc .cnpr-insc-form" (0,2,0) remet tout formulaire en
   display:block / margin:0 et collerait le bouton à sa phrase. */
.cnpr-insc .cnpr-insc-test-nage-bloc form { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 14px 0 0; }
/* Le cadre déborde de la largeur de son padding : son TEXTE s'aligne sur le
   paragraphe d'intro, et c'est la couleur qui dépasse, pas le texte qui rentre. */
.cnpr-insc .cnpr-insc-test-nage-bloc { margin: 0 -14px 16px; }
/* La sortie de secours : séparée du code par un filet, sur sa propre rangée,
   la phrase sous le bouton. Elle n'est pas une seconde validation. */
.cnpr-insc .cnpr-insc-test-nage-bloc__compris { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(0, 0, 0, 0.12); width: 100%; }
.cnpr-insc-test-nage-bloc__compris-q { font-weight: 600; margin: 0; }
.cnpr-insc-test-nage-bloc__consigne { margin: 0; }
.cnpr-insc-test-nage-bloc .cnpr-insc-code-nage,
.cnpr-insc-test-nage-bloc .cnpr-insc-niveau { display: flex; flex-direction: column; gap: 6px; margin: 0; width: 100%; }
.cnpr-insc-test-nage-bloc .cnpr-insc-code-nage > label,
.cnpr-insc-test-nage-bloc .cnpr-insc-niveau > span:first-child { font-weight: 600; }
.cnpr-insc-code-nage__saisie { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cnpr-insc-test-nage-bloc .cnpr-insc-code-nage input { max-width: 320px; flex: 1 1 200px; }
.cnpr-insc-test-nage-bloc .cnpr-insc-niveau select { max-width: 420px; }
.cnpr-insc-test-nage-bloc .cnpr-insc-desc { font-size: 13px; color: var(--cnpr-couleur-texte-doux, #4c5f80); }
.cnpr-insc-test-nage-bloc__acquis { font-weight: 600; margin: 10px 0 0; }
.cnpr-insc-test-nage-bloc__liens { display: flex; flex-wrap: wrap; gap: 16px; margin: 10px 0 0; }
/* Le bloc en mode REFUS. `--warn` n'a pas de bordure là où `--info` en a une :
   sans cette ligne, le bloc changerait de silhouette en changeant d'état, et le
   passage au refus se lirait comme un autre encart plutôt que comme le même,
   devenu grave. */
.cnpr-insc-test-nage-verrou { border: 1px solid color-mix(in srgb, var(--cnpr-insc-erreur) 30%, transparent); }
