/* ============================================================
   Tournoi des Bêtes (PvE à paris) — skin parchemin.
   S'appuie sur le hub skin (.hub-page/.hub-hero, qui neutralise .parchemin
   du layout via `.parchemin:has(.hub-page)`). Préfixe de classes .tpve-.
   ============================================================ */

/* --- Teaser (configuration) --- */
.tpve-teaser{ max-width:560px; margin:0 auto; }

/* --- Cagnotte (paris ouverts) --- */
.tpve-cagnotte{ display:flex; flex-direction:column; align-items:center; gap:2px;
  background:linear-gradient(180deg,#fbeec6,#f3dfa0); border:1px solid #d8b25e; border-radius:14px;
  padding:16px 22px; margin:0 auto 22px; max-width:480px; text-align:center;
  box-shadow:0 4px 14px rgba(120,90,30,.16); }
.tpve-cag-lbl{ font-size:12px; letter-spacing:1px; text-transform:uppercase; color:#8a6d2f; }
.tpve-cag-val{ font-family:var(--serif); font-size:30px; font-weight:700; color:#7a5310; line-height:1.1; }
.tpve-cag-note{ font-size:12.5px; color:#6b5836; font-style:italic; }

.tpve-monpari{ text-align:center; color:#5a4620; margin:0 0 18px; }
.tpve-monpari strong{ color:var(--encre); }

/* --- Grille des concurrentes --- */
.tpve-grille{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.tpve-carte{ display:flex; flex-direction:column; gap:10px;
  background:#fbf3dc; border:1px solid #e7d5a6; border-radius:14px; padding:16px 18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5); }
.tpve-seed{ font-size:11.5px; text-transform:uppercase; letter-spacing:.6px; color:#a08442; font-weight:700; }
.tpve-nom{ font-family:var(--serif); font-size:19px; font-weight:700; color:var(--encre); line-height:1.15; }
.tpve-stats{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.tpve-stats li{ display:flex; justify-content:space-between; gap:10px; font-size:13.5px; }
.tpve-axe{ color:#8a6d2f; }
.tpve-mot{ color:var(--encre); font-weight:600; }
.tpve-cote{ display:flex; align-items:baseline; justify-content:space-between; gap:8px;
  margin-top:2px; padding-top:8px; border-top:1px solid #ecdcb2; }
.tpve-cote-lbl{ font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:#8a6d2f; }
.tpve-cote-val{ font-family:var(--serif); font-size:20px; font-weight:700; color:#7a5310; }
.tpve-pari-form{ display:flex; gap:8px; margin:2px 0 0; }
.tpve-mise{ flex:1; min-width:0; border:1px solid #cdb583; border-radius:8px; padding:9px 11px;
  font-family:var(--sans); font-size:14px; background:#fffdf6; color:var(--encre); }
.tpve-carte .hub-btn-gold{ flex:none; }

/* --- Écran de résultat (terminé) --- */
.tpve-resultat{ background:#fbf3dc; border:1px solid #e7d5a6; border-radius:16px;
  padding:22px 24px; margin:0 auto 26px; max-width:620px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5); }
.tpve-resultat-tete{ display:flex; align-items:center; gap:14px; }
.tpve-trophee{ font-size:40px; line-height:1; }
.tpve-resultat-lbl{ font-size:12px; text-transform:uppercase; letter-spacing:1px; color:#8a6d2f; }
.tpve-resultat-nom{ font-family:var(--serif); font-size:26px; font-weight:700; color:#7a5310; line-height:1.1; }
.tpve-resultat-chiffres{ display:flex; flex-wrap:wrap; gap:14px; margin:18px 0 6px; }
.tpve-chiffre{ display:flex; flex-direction:column; gap:2px; background:#fffdf6; border:1px solid #e7d5a6;
  border-radius:12px; padding:10px 16px; flex:1 1 auto; min-width:150px; }
.tpve-chiffre .v{ font-family:var(--serif); font-size:22px; font-weight:700; color:var(--encre); }
.tpve-chiffre .l{ font-size:12px; color:#8a6d2f; }
.tpve-resultat .hub-seclbl{ margin:20px 0 10px; }

.tpve-palmares{ width:100%; border-collapse:collapse; }
.tpve-palmares th{ text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.5px;
  color:#8a6d2f; font-weight:700; padding:6px 10px; border-bottom:1px solid #e0cf9f; }
.tpve-palmares td{ padding:8px 10px; font-size:14px; color:var(--encre); border-bottom:1px solid #ecdcb2; }
.tpve-palmares tr:last-child td{ border-bottom:0; }
.tpve-palmares .num{ text-align:right; font-variant-numeric:tabular-nums; }
.tpve-palmares tbody tr:first-child td{ font-weight:700; }
.tpve-nul{ color:#6b5836; font-style:italic; margin:14px 0 0; }

/* --- Plateau du bracket (en cours | terminé) --- */
.tpve-champion{ text-align:center; font-family:var(--serif); font-size:18px; color:#8a5a12; margin:0 0 16px; }
.tpve-plateau{ display:flex; gap:32px; align-items:flex-start; overflow-x:auto; padding-bottom:8px; }
.tpve-colonne{ flex:1 1 0; min-width:200px; display:flex; flex-direction:column; gap:14px; }
.tpve-match{ background:#fbf3dc; border:1px solid #e0cf9f; border-radius:12px; padding:12px 14px;
  box-shadow:0 2px 8px rgba(120,90,30,.10); }
.tpve-match.resolu{ opacity:1; }
.tpve-match-jour{ font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:#a08442; margin-bottom:6px; }
.tpve-cote-line{ font-size:14.5px; color:var(--encre); padding:3px 0; }
.tpve-cote-line.gagnant{ font-weight:700; color:#7a5310; }
.tpve-vs{ font-size:12px; color:#8a6d2f; font-style:italic; margin:1px 0; }
.tpve-tbd{ color:#8a6d2f; font-style:italic; }
.tpve-lien-inerte{ display:inline-block; margin-top:8px; font-size:12.5px; color:#a08442;
  font-style:italic; cursor:default; }
/* Lien « Regarder » actif (match résolu → rejouage cinématique). */
.tpve-lien-rejouage{ display:inline-block; margin-top:8px; font-size:12.5px; color:#7a5310;
  font-weight:600; text-decoration:none; }
.tpve-lien-rejouage:hover{ text-decoration:underline; }

/* --- Rejouage (scène cinématique / repli texte) --- */
.tpve-rej-pied{ text-align:center; margin-top:18px; }
.tpve-rej-texte{ max-width:680px; margin:0 auto; background:#fbf3dc; border:1px solid #e7d5a6;
  border-radius:14px; padding:18px 22px; }
.tpve-rej-log{ margin:0; padding-left:18px; display:flex; flex-direction:column; gap:6px;
  color:var(--encre); font-size:14.5px; }
.tpve-rej-tour{ display:inline-block; min-width:30px; font-weight:700; color:#8a6d2f; }

@media (max-width:620px){
  .tpve-plateau{ flex-direction:column; gap:18px; }
  .tpve-colonne{ min-width:0; }
}
