/**
 * Calculateur DGI — styles
 * Scopé sous .dgi-calc pour ne pas affecter le reste de la page WordPress.
 * Couleurs UdeM identiques au composant d'origine.
 */
.dgi-calc{
  --bleu:#0057ac;
  --bleu-fonce:#0b113a;
  --bleu-pale:#e5f0f8;
  --vert-pale:#52b782;
  --vert-fonce:#024244;
  --jaune:#ffca40;
  --rouge-orange:#f04e24;
  --gris-bord:#d7dde6;
  --gris-texte:#3a4250;
  --rayon:14px;
  --ombre:0 1px 2px rgba(11,17,58,.06), 0 8px 24px rgba(11,17,58,.06);

  font-family:"Figtree","Arial",sans-serif;
  color:var(--bleu-fonce);
  background:transparent;            /* blanc : se fond avec le contenu de la page */
  line-height:1.5;
  -webkit-font-smoothing:antialiased;

  /* WordPress contraint les enfants du groupe à ~740px (layout "constrained").
     Le groupe parent étant en pleine largeur, on relève cette limite pour l'outil.
     margin auto (posé par WP) garde le centrage. */
  max-width:1180px !important;
}
.dgi-calc *{box-sizing:border-box;}
.dgi-calc .wrap{max-width:100%;margin:0 auto;padding:8px 18px 40px;}

/* Barre d'outils (langue) */
.dgi-calc .toolbar{display:flex;justify-content:flex-end;margin-bottom:6px;}

/* Sélecteur de langue */
.dgi-calc .lang{display:inline-flex;background:#fff;border:1px solid var(--gris-bord);border-radius:999px;padding:3px;gap:2px;}
.dgi-calc .lang button{
  border:0;background:transparent;color:var(--bleu);font-family:inherit;font-size:13px;font-weight:600;
  padding:6px 14px;border-radius:999px;cursor:pointer;transition:.15s;
}
.dgi-calc .lang button[aria-pressed="true"]{background:var(--bleu);color:#fff;}

/* Réglages */
.dgi-calc .settings{
  background:#f1f3f6;border-radius:var(--rayon);
  padding:18px 20px;margin:18px 0;
  display:flex;gap:18px;flex-wrap:nowrap;align-items:flex-end;
}
.dgi-calc .field{display:flex;flex-direction:column;gap:5px;flex:1 1 auto;min-width:0;}
.dgi-calc .field label{font-size:14px;font-weight:400;color:var(--gris-texte);white-space:nowrap;}
.dgi-calc .field select,.dgi-calc .field input{
  font-family:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--gris-bord);
  border-radius:9px;background:#fff;color:var(--bleu-fonce);min-width:0;width:100%;
}
.dgi-calc .field select:focus,.dgi-calc .field input:focus{outline:2px solid var(--bleu);outline-offset:1px;border-color:var(--bleu);}

/* Items */
.dgi-calc .item{
  background:var(--bleu-pale);border-radius:var(--rayon);
  margin:14px 0;overflow:hidden;
}
.dgi-calc .item-head{
  width:100%;display:flex;align-items:center;gap:14px;padding:15px 18px;
  background:none;border:0;font-family:inherit;text-align:left;cursor:pointer;color:inherit;
}
.dgi-calc .item-head:focus-visible{outline:2px solid var(--bleu);outline-offset:-2px;border-radius:var(--rayon);}
.dgi-calc .num{
  flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#fff;
  color:var(--bleu);font-weight:700;font-size:15px;display:grid;place-items:center;
}
.dgi-calc .item.done .num{background:var(--bleu);color:#fff;}
.dgi-calc .item-title{font-size:17px;font-weight:600;}
.dgi-calc .head-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0;}
.dgi-calc .head-badge{font-size:13px;font-weight:600;color:var(--bleu);background:#fff;border-radius:7px;padding:3px 10px;white-space:nowrap;}
.dgi-calc .item.open .head-badge{display:none;}
.dgi-calc .chev{color:var(--bleu);transition:transform .2s;}
.dgi-calc .item:not(.open) .chev{transform:rotate(-90deg);}
.dgi-calc .options{display:none;padding:0 18px 16px;gap:8px;}
.dgi-calc .item.open .options{display:grid;}
.dgi-calc .opt{
  display:flex;gap:11px;align-items:flex-start;border:1px solid var(--gris-bord);
  border-radius:10px;padding:11px 13px;cursor:pointer;transition:.12s;background:#fff;
}
.dgi-calc .opt:hover{border-color:var(--bleu);background:var(--bleu);}
.dgi-calc .opt:hover .otxt{color:#fff;}
.dgi-calc .opt:hover .obadge{background:#fff;color:var(--bleu);}
.dgi-calc .opt input{margin-top:3px;accent-color:var(--bleu);width:17px;height:17px;flex-shrink:0;cursor:pointer;}
.dgi-calc .opt .otxt{font-size:15px;color:var(--gris-texte);}
.dgi-calc .opt .obadge{
  margin-left:auto;flex-shrink:0;font-weight:700;font-size:13px;color:var(--bleu);
  background:var(--bleu-pale);border-radius:7px;padding:2px 9px;height:fit-content;
}
.dgi-calc .opt input:checked ~ .otxt{color:var(--bleu-fonce);font-weight:500;}
.dgi-calc .opt:has(input:checked){border-color:var(--bleu);background:#eef5fc;box-shadow:inset 0 0 0 1px var(--bleu);}

/* Panneau de score collant */
.dgi-calc .score-bar{
  position:sticky;bottom:14px;margin-top:22px;background:var(--bleu-fonce);color:#fff;
  border-radius:var(--rayon);padding:18px 22px;box-shadow:0 10px 30px rgba(11,17,58,.25);
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
}
.dgi-calc .score-num{font-size:34px;font-weight:700;line-height:1;}
.dgi-calc .score-num small{font-size:17px;font-weight:500;opacity:.7;}
.dgi-calc .score-meta{flex:1;min-width:200px;}
.dgi-calc .score-meta .progress{font-size:13px;opacity:.8;margin-bottom:6px;}
.dgi-calc .bar{height:7px;background:rgba(255,255,255,.18);border-radius:99px;overflow:hidden;}
.dgi-calc .bar > i{display:block;height:100%;width:0;background:var(--vert-pale);border-radius:99px;transition:width .3s,background .3s;}
.dgi-calc .interp{
  font-weight:600;font-size:14px;padding:8px 14px;border-radius:9px;background:rgba(255,255,255,.12);
}
.dgi-calc .interp.ok{background:var(--vert-pale);color:#04331f;}
.dgi-calc .interp.risk{background:var(--jaune);color:#3d2c00;}
.dgi-calc .interp.high{background:var(--rouge-orange);color:#fff;}

/* Boutons */
.dgi-calc .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.dgi-calc button.btn{
  font-family:inherit;font-size:14px;font-weight:600;padding:11px 20px;border-radius:10px;
  cursor:pointer;border:1px solid var(--bleu);transition:.15s;
}
.dgi-calc .btn.primary{background:var(--bleu);color:#fff;}
.dgi-calc .btn.primary:hover{background:#01448a;}
.dgi-calc .btn.ghost{background:#fff;color:var(--bleu);}
.dgi-calc .btn.ghost:hover{background:var(--bleu-pale);}

/* Avertissement + source */
.dgi-calc .note{
  font-size:13px;color:var(--gris-texte);background:#f1f3f6;
  border:1px solid #e2e6ec;border-radius:10px;padding:15px 17px;margin:22px 0 0;
}
.dgi-calc .note strong{color:var(--bleu);}
.dgi-calc .source{font-family:"Lora",serif;font-style:italic;font-size:12.5px;color:var(--gris-texte);margin-top:14px;}
.dgi-calc .source a{color:var(--bleu);}

/* Feuille d'impression (cachée à l'écran, même déplacée en <body> pour le print) */
#dgi-printsheet{display:none;}

@media print{
  /* N'imprimer que la feuille de résultats : elle est déplacée en enfant direct
     de <body> par le JS, et tout le reste passe en display:none (pas de page blanche). */
  body.dgi-printing > *:not(#dgi-printsheet){display:none !important;}
  body.dgi-printing #dgi-printsheet{display:block !important;color:#000;font-size:12pt;}
  #dgi-printsheet h2{font-size:18pt;color:#0057ac;margin:0 0 4px;}
  #dgi-printsheet .ps-sub{font-size:10pt;color:#444;margin:0 0 16px;}
  #dgi-printsheet table{width:100%;border-collapse:collapse;margin:12px 0;}
  #dgi-printsheet th,#dgi-printsheet td{border:1px solid #999;padding:6px 8px;text-align:left;font-size:10.5pt;vertical-align:top;}
  #dgi-printsheet th{background:#e5f0f8;}
  #dgi-printsheet .ps-total{font-size:14pt;font-weight:bold;margin-top:10px;}
  #dgi-printsheet .ps-interp{margin-top:6px;font-weight:bold;}
  #dgi-printsheet .ps-note{font-size:8.5pt;color:#555;margin-top:24px;border-top:1px solid #ccc;padding-top:8px;}
  @page{margin:1.5cm;}
}

@media (max-width:560px){
  .dgi-calc .score-num{font-size:28px;}
  .dgi-calc .opt .obadge{display:none;}
  .dgi-calc .settings{flex-wrap:wrap;}
  .dgi-calc .field{flex:1 1 100%;}
}
