/* ==========================================================================
   TADAGBÉ — Dossiers de candidature (dossier.html)
   Prolonge inscription.css : seuls les composants absents y sont ajoutés
   (cases à cocher multiples, cartes de choix, pièces jointes, récapitulatif).
   ========================================================================== */

#do-form .field input.is-bad,#do-form .field select.is-bad,
#do-form .field textarea.is-bad{border-color:#C7362F;background:#FFF8F8}
#do-form .check input.is-bad,#do-form .is-bad>.do-checks{outline:2px solid #C7362F;outline-offset:3px;
  border-radius:var(--r)}

/* Un enfant de grille garde une largeur minimale « auto » qui vaut son
   contenu : sans ces min-width, une liste de cases à cocher élargit toute la
   colonne et fait déborder le formulaire. */
#do-champs,#do-form .insc-champs,#do-form .field{min-width:0}

/* ---------- Cases à cocher multiples -------------------------------------- */
.do-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));
  gap:7px;margin-bottom:12px;min-width:0}
.do-checks label{display:flex;align-items:flex-start;gap:9px;padding:9px 12px;border:1px solid var(--bord);
  border-radius:var(--r);font-size:12.6px;line-height:1.45;color:var(--texte-2);cursor:pointer;
  background:#fff;transition:border-color .18s,background .18s,color .18s}
.do-checks label:hover{border-color:#B9CDB6}
/* La case elle-même : sans largeur explicite, la règle globale « .field input »
   l'étire à 100 % de la ligne et rejette le libellé hors de son cadre. */
.do-checks input{flex:none;margin-top:1px;accent-color:var(--vert);
  width:15px;height:15px;min-width:15px;padding:0}
.do-checks input:checked+span{color:var(--texte);font-weight:600}
.do-checks label:has(input:checked){border-color:var(--vert);background:#F4F9F3}

/* ---------- Cartes de choix (formules, disciplines) ----------------------- */
.do-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(215px,100%),1fr));
  gap:10px;margin-bottom:12px;min-width:0}
.do-cartes label{position:relative;display:block;padding:14px 15px;border:1px solid var(--bord);
  border-radius:var(--r);cursor:pointer;background:#fff;transition:border-color .18s,box-shadow .18s}
.do-cartes label:hover{border-color:#B9CDB6}
.do-cartes label:has(input:checked){border-color:var(--vert);box-shadow:0 0 0 1px var(--vert) inset;
  background:#F4F9F3}
.do-cartes input{position:absolute;opacity:0;pointer-events:none}
.do-cartes b{display:block;font-family:'Archivo',Arial,sans-serif;font-size:13.5px;line-height:1.25;
  color:var(--texte)}
.do-cartes span{display:block;font-size:11.8px;line-height:1.55;color:var(--texte-2);margin-top:5px}
.do-cartes em{display:block;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--vert);margin-top:8px}

/* ---------- Montant qui suit le pack coché -------------------------------- */
.do-tarif{display:block;margin:-2px 0 12px;padding:11px 14px;border-radius:var(--r);
  background:#F4F9F3;border:1px solid #CFE2CC;font-size:12.6px;line-height:1.6;color:var(--texte-2)}
.do-tarif b{font-family:'Archivo',Arial,sans-serif;font-size:16px;color:var(--vert)}
.do-tarif.est-devis{background:#FDF7E8;border-color:#EEDCA9}
.do-tarif.est-devis b{color:#9A6E05;font-size:13.5px}
.do-tarif__prov{color:#9A6E05;font-weight:600}

/* ---------- Règlement annoncé sur l'écran de confirmation ----------------- */
.do-regl{margin-top:18px;padding:16px 18px;border-radius:var(--r);
  background:#F4F9F3;border:1px solid #CFE2CC;border-left:3px solid var(--vert)}
.do-regl>b{display:flex;align-items:center;gap:8px;font-family:'Archivo',Arial,sans-serif;
  font-size:13.5px;color:var(--vert)}
.do-regl>b svg{flex:none}
.do-regl p{font-size:12.4px;line-height:1.7;color:var(--texte-2);margin:8px 0 0}
.do-regl__m{font-family:'Archivo',Arial,sans-serif;font-size:26px;font-weight:800;
  color:var(--texte);margin:10px 0 0!important;letter-spacing:-.01em}
.do-regl--devis{background:#FDF7E8;border-color:#EEDCA9;border-left-color:var(--or)}
.do-regl--devis>b{color:#9A6E05}

/* ---------- Pièces jointes ------------------------------------------------ */
.do-fichiers{list-style:none;margin:-4px 0 12px;padding:0;display:grid;gap:5px}
.do-fichiers li{display:flex;align-items:center;gap:8px;font-size:11.6px;color:var(--texte-2);
  background:var(--gris-2);border-radius:8px;padding:6px 10px}
.do-fichiers li svg{flex:none;color:var(--vert)}
.do-fichiers li b{font-weight:600;color:var(--texte);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.do-fichiers li span{margin-left:auto;flex:none;color:var(--texte-3)}
.do-fichiers li.est-lourd{background:#FBEDEB;color:#8E2A24}
.do-fichiers li.est-lourd svg{color:#C7362F}

/* ---------- Bloc d'information dans le formulaire ------------------------- */
.do-info{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;margin-bottom:14px;
  border-radius:var(--r);background:linear-gradient(120deg,#F1F7F0,#F8F8F8);
  border:1px solid #DCE8DA;border-left:3px solid var(--vert)}
.do-info svg{flex:none;color:var(--vert);margin-top:2px}
.do-info p{font-size:12.4px;line-height:1.65;color:var(--texte-2);margin:0}
.do-info b{color:var(--texte)}

/* ---------- Récapitulatif de confirmation --------------------------------- */
.do-recap-lg{font-family:'Archivo',Arial,sans-serif;font-size:11px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:var(--texte-3);margin:20px 0 2px}
.insc-detail .do-multi{white-space:normal;line-height:1.55}

/* Le téléchargement immédiat (dossier de partenariat) */
.do-telech{display:flex;gap:13px;align-items:center;margin-top:18px;padding:15px 16px;
  border-radius:var(--r);background:#123F14;color:#fff}
.do-telech svg{flex:none;color:var(--or)}
.do-telech div{flex:1;min-width:0}
.do-telech b{display:block;font-family:'Archivo',Arial,sans-serif;font-size:14px}
.do-telech span{display:block;font-size:11.8px;line-height:1.55;color:#C9DCC7;margin-top:3px}
.do-telech button{flex:none}

@media(max-width:980px){
  .insc-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .insc-champs{grid-template-columns:1fr}
  .do-checks{grid-template-columns:1fr}
  .do-telech{flex-wrap:wrap}
}
