/* vote_v2.css — pages « votes du collège », charte v2 */
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Public+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");

.vt { --bleu:#001C31; --vert:#09A38C; --vert-fonce:#067264; --ardoise:#516B8F;
  --bleu-clair:#869ECE; --jaune:#FFF59D; --filet:#E8E0DC; --aplat:#F7F6F3;
  max-width:1180px; margin:0 auto; padding:0 28px 48px;
  font-family:'Public Sans',system-ui,sans-serif; color:var(--bleu); }
.vt * { box-sizing:border-box; }
.vt p { margin:0; }
.vt a { color:var(--vert-fonce); text-decoration:none; }
.vt a:hover { color:var(--bleu); }

.vt-fil { font:500 12px/1 'JetBrains Mono',monospace; color:var(--ardoise); padding:16px 0; }
.vt-fil a { color:var(--vert-fonce); }
.vt-titre { font:500 11.5px/1 'JetBrains Mono',monospace; letter-spacing:.14em;
  text-transform:uppercase; color:var(--vert-fonce); margin:6px 0 18px; }
.vt-h1 { font:700 28px/1.2 'Space Grotesk',sans-serif; margin:0 0 6px; }

.vt-grille { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,300px); gap:28px; align-items:start; }
@media (max-width:900px){ .vt-grille { grid-template-columns:1fr; } }

.vt-carte { border:1px solid var(--filet); background:#fff; margin-bottom:20px; }
.vt-carte-tete { background:var(--bleu); padding:16px 22px; display:flex; flex-wrap:wrap;
  gap:12px; align-items:center; justify-content:space-between; }
.vt-carte-corps { padding:22px; }
.vt-meta { font:500 12px/1 'JetBrains Mono',monospace; color:var(--jaune); }

.vt-badge { font:500 11px/1 'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase;
  padding:6px 10px; background:var(--vert); color:#fff; }
.vt-badge.ferme { background:#fff; color:var(--bleu); }
.vt-badge.sondage { background:var(--jaune); color:var(--bleu); }
.vt-badge.attente { background:var(--jaune); color:var(--bleu); }

.vt-question { font:700 23px/1.28 'Space Grotesk',sans-serif; margin:0 0 10px; text-wrap:pretty; }
.vt-question.petite { font-size:18px; font-family:'Public Sans',sans-serif; font-weight:600; }
.vt-desc { font:400 15px/1.6 'Public Sans',sans-serif; color:var(--ardoise); margin:0 0 18px; max-width:44em; }

.vt-options { display:grid; gap:10px; margin:0 0 20px; }
.vt-options label { display:flex; gap:13px; align-items:center; padding:15px 17px;
  border:1px solid var(--filet); background:#fff; cursor:pointer; font:600 15px/1.35 'Public Sans',sans-serif; }
.vt-options label:hover { background:var(--aplat); }
.vt-options input { accent-color:var(--vert); width:18px; height:18px; flex:none; }
.vt-options input:checked ~ span { color:var(--vert-fonce); }
.vt-options label:has(input:checked) { border-color:var(--vert); background:var(--aplat); }

.vt-bouton { display:inline-block; background:var(--vert); color:#fff;
  font:600 14.5px/1 'Public Sans',sans-serif; padding:14px 24px; border-radius:4px; border:0; cursor:pointer; }
.vt-bouton:hover { background:var(--vert-fonce); color:#fff; }
.vt-bouton.ligne { background:#fff; border:1px solid var(--vert); color:var(--vert-fonce); }
.vt-bouton.ligne:hover { background:var(--aplat); color:var(--bleu); }
.vt-bouton.danger { background:#fff; border:1px solid #BF0C2B; color:#BF0C2B; }
.vt-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.vt-actions .note { font:500 12px/1.5 'JetBrains Mono',monospace; color:var(--ardoise); }

.vt-info { padding:16px 18px; background:var(--aplat); border-left:3px solid var(--vert); margin:0 0 20px;
  font:400 13.5px/1.55 'Public Sans',sans-serif; color:var(--ardoise); }

/* Résultats */
.vt-resultats { display:grid; gap:12px; max-width:560px; margin:6px 0 0; }
.vt-res-ligne > .l { display:flex; justify-content:space-between; font:500 13px/1.4 'Public Sans',sans-serif; margin-bottom:6px; }
.vt-res-ligne .v { font:500 12px/1 'JetBrains Mono',monospace; color:var(--ardoise); }
.vt-jauge { height:10px; background:var(--filet); }
.vt-jauge > i { display:block; height:100%; background:var(--vert); }
.vt-jauge > i.b { background:var(--ardoise); }
.vt-jauge > i.c { background:var(--bleu-clair); }

/* Déroulant par école */
.vt-ecoles { display:grid; gap:8px; margin-top:4px; }
.vt-ecole { border:1px solid var(--filet); border-left:3px solid var(--vert); background:#fff; }
.vt-ecole > summary { list-style:none; cursor:pointer; display:flex; flex-wrap:wrap;
  gap:10px; align-items:baseline; justify-content:space-between; padding:13px 16px; }
.vt-ecole > summary::-webkit-details-marker { display:none; }
.vt-ecole > summary .e { font:600 14.5px/1.3 'Public Sans',sans-serif; color:var(--bleu); }
.vt-ecole > summary .m { font:500 12px/1 'JetBrains Mono',monospace; color:var(--vert-fonce); }
.vt-ecole[open] > summary { border-bottom:1px solid var(--filet); }
.vt-ecole-corps { padding:12px 16px 16px; }

/* Tableaux (émargement, par école) */
.vt-tab { width:100%; border-collapse:collapse; margin:6px 0 0; }
.vt-tab th { text-align:left; font:500 10.5px/1 'JetBrains Mono',monospace; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ardoise); padding:10px 12px; border-bottom:1px solid var(--filet); }
.vt-tab td { padding:11px 12px; border-bottom:1px solid var(--filet); font:400 13.5px/1.4 'Public Sans',sans-serif; }

/* Liste des séances (PackageListe / PackageDetail) */
.vt-liste { display:grid; gap:12px; }
.vt-item { display:block; border:1px solid var(--filet); border-left:3px solid var(--vert);
  background:#fff; padding:16px 20px; }
.vt-item:hover { background:var(--aplat); }
.vt-item .t { font:600 16px/1.3 'Public Sans',sans-serif; color:var(--bleu); }
.vt-item .d { font:500 11.5px/1 'JetBrains Mono',monospace; color:var(--ardoise); margin-top:5px; }

/* Aside règles */
.vt-aside { display:grid; gap:14px; align-content:start; }
.vt-aside .bloc { background:#fff; border:1px solid var(--filet); padding:18px; }
.vt-aside .bloc.marine { background:var(--bleu); border:0; }
.vt-aside .surtitre { font:500 11px/1 'JetBrains Mono',monospace; letter-spacing:.1em;
  text-transform:uppercase; color:var(--vert); margin-bottom:12px; }
.vt-aside .bloc:not(.marine) .surtitre { color:var(--bleu-clair); }
.vt-aside .bloc.marine div:not(.surtitre) { font:400 13.5px/1.6 'Public Sans',sans-serif; color:#869ECE; }
.vt-aside .regle { display:grid; grid-template-columns:auto 1fr; gap:11px;
  font:400 13.5px/1.55 'Public Sans',sans-serif; color:var(--ardoise); margin-bottom:9px; }
.vt-aside .regle b { font:500 12px/1.5 'JetBrains Mono',monospace; color:var(--vert-fonce); font-weight:500; }
