/* =====================================================================
   LHSM - Thème personnalisé
   Fichier chargé automatiquement par STHS (Header.php) s'il existe.
   STHS ne crée ni n'écrase jamais ce fichier.
   Pour revenir au look STHS d'origine : supprimer ou renommer ce fichier.
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Barlow:wght@400;500;600;700&display=swap');

:root {
  --lhsm-navy: #0B1422;
  --lhsm-navy-2: #14223A;
  --lhsm-navy-3: #22324B;
  --lhsm-red: #C8102E;
  --lhsm-red-dark: #9E0C24;
  --lhsm-bg: #EEF2F6;
  --lhsm-card: #FFFFFF;
  --lhsm-line: #A3AFBF;   /* contour des cartes et lignes de séparation (plus foncé = plus visible) */
  --lhsm-line-soft: #EEF2F6;
  --lhsm-text: #0B1422;
  --lhsm-muted: #5B6B80;
  --lhsm-menu-text: #C9D4E3;

  /* Variables utilisées par STHS : on les remplace par nos couleurs */
  /* Couleurs "menu" : STHS les utilise aussi pour les cases des pages d'équipe (meneurs, stats) */
  --main-menu-background-color: #FFFFFF;
  --main-menu-background-color-hover: #FFFFFF;
  --main-background-menu-color-hover: #FFFFFF;
  --main-menu-text-color: var(--lhsm-text);
  --main-menu-text-color-hover: var(--lhsm-red);
  --main-submenu-background-color: #FFFFFF;
  --main-submenu-background-color-hover: #F2F5F9;
  --main-submenu-text-color: var(--lhsm-text);
  --main-submenu-text-color-hover: var(--lhsm-red);
  --main-table-background-head: var(--lhsm-navy);
  --main-table-background-head-text: #FFFFFF;
  --main-table-odd: #FFFFFF;
  --main-table-even: #F5F7FA;
  --main-table-text-color: var(--lhsm-text);
  --main-table-background-color-hover: #E6ECF3;
  --main-table-text-color-hover: var(--lhsm-text);
  --main-sort-background-color: var(--lhsm-navy-2);
  --main-sort-text-color: #FFFFFF;
  --main-button-background: var(--lhsm-red);
  --main-button-text: #FFFFFF;
  --main-button-hover: var(--lhsm-red-dark);
  --STHS-HyperLink: #1C4FA0;
  --STHS-body-background: #FFFFFF;
  --STHS-body-color: var(--lhsm-text);
  --STHS-Index-Table-background: #FFFFFF;
  --STHS-Index-Table-color: var(--lhsm-text);
  --STHS-Index-Table-border: var(--lhsm-line);
}

/* ---------- Page ---------- */
body {
  background: #FFFFFF;
  color: var(--lhsm-text);
  font-family: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
a { color: var(--STHS-HyperLink); }
a:hover { color: var(--lhsm-red); }

/* ---------- Bande des logos d'équipes ---------- */
/* Bande des logos masquée (les équipes restent dans le menu Équipes).
   Pour la remettre : supprimer la ligne suivante. */
.STHSPHPMenuDiv { display: none !important; }
.STHSPHPMenuDiv {
  background: #FFFFFF;
  border-bottom: 1px solid var(--lhsm-line);
  padding: 8px 12px;
  text-align: center;
}
.STHSPHPMenuDiv a { display: inline-block; border-radius: 8px; transition: background .15s ease; }
.STHSPHPMenuDiv a:hover { background: var(--lhsm-bg); }
.STHSPHPMenuDivTeamImage { padding: 4px; }

/* ---------- Menu principal (barre blanche, accent rouge) ---------- */
#cssmenu {
  --main-menu-background-color: #FFFFFF;
  --main-menu-background-color-hover: #FFFFFF;
  --main-background-menu-color-hover: #FFFFFF;
  --main-menu-text-color: var(--lhsm-text);
  --main-menu-text-color-hover: var(--lhsm-red);
  background: #FFFFFF;
  border-bottom: 3px solid var(--lhsm-red);
  box-shadow: 0 2px 10px rgba(11,20,34,.06);
  /* Le menu et ses panneaux passent par-dessus le reste de la page (ex. carrousel des matchs) */
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1000;
}
#cssmenu, #cssmenu > ul { font-family: 'Barlow Condensed', 'Barlow', sans-serif; }
#cssmenu > ul > li > a {
  font-weight: 700;
  font-size: 17px;
  letter-spacing: .6px;
  color: var(--lhsm-text);
  background: #FFFFFF;
}
#cssmenu > ul > li:hover > a,
#cssmenu > ul > li.has-sub:hover > a { color: var(--lhsm-red); background: #FFFFFF !important; background-image: none !important; box-shadow: none !important; border-radius: 0 !important; }
/* Au survol : seulement le texte en rouge (pas de ligne ni de coins arrondis sous l'onglet) */
#cssmenu > ul > li > a { border-radius: 0 !important; box-shadow: none !important; }
#cssmenu #MenuHomeID > a { color: #FFFFFF; background: var(--lhsm-red); font-weight: 800; font-size: 20px; letter-spacing: 1px; }
#cssmenu #MenuHomeID:hover > a { color: #FFFFFF; background: var(--lhsm-red-dark) !important; box-shadow: none; }

@media only screen and (min-width: 769px) {
  /* Enlève les petits « + » / « − » à côté des onglets du menu */
  #cssmenu > ul > li.has-sub > a::before,
  #cssmenu > ul > li.has-sub > a::after { display: none !important; }
  #cssmenu > ul > li.has-sub > a { padding-right: 17px; }

  /* Sous-menus ordinaires : panneau blanc avec ombre */
  #cssmenu ul ul {
    background: #FFFFFF;
    box-shadow: 0 16px 36px rgba(11,20,34,.22);
    border-top: 3px solid var(--lhsm-red);
  }
  #cssmenu ul ul li a {
    font-family: 'Barlow', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: var(--lhsm-text);
  }
  #cssmenu ul ul li:hover > a,
  #cssmenu ul ul li a:hover { color: var(--lhsm-red); background: #FFF1F3; }
  #cssmenu ul ul li a:active { color: #FFFFFF; background: var(--lhsm-red); }

  /* Grands panneaux sur toute la largeur (classe ajoutée par STHSMenuEnd.php) */
  #cssmenu > ul > li.lhsm-mega { position: static; }
  #cssmenu > ul > li.lhsm-mega > ul {
    box-sizing: border-box;
    width: auto;
    padding: 22px max(28px, calc(50% - 620px)) 26px;
    display: grid;
    grid-template-columns: repeat(var(--lhsm-cols, 3), minmax(0, 1fr));
    column-gap: 40px;
    align-items: start;
  }
  #cssmenu > ul > li.lhsm-mega:hover > ul { left: 0; right: 0; }
  #cssmenu > ul > li.lhsm-mega > ul li { float: none; transition: none; }
  #cssmenu > ul > li.lhsm-mega ul li a { width: auto !important; padding: 8px 4px; border-radius: 6px; }
  #cssmenu > ul > li.lhsm-mega ul li a:hover { background: #FFF1F3; color: var(--lhsm-red); }
  #cssmenu > ul > li.lhsm-mega ul li a:active { background: var(--lhsm-red); color: #FFFFFF; }
  /* Groupes (ex. Équipes Pro - Gretzky) : titre de colonne + liste ouverte */
  #cssmenu > ul > li.lhsm-mega > ul > li.has-sub { height: auto; margin-bottom: 14px; }
  #cssmenu > ul > li.lhsm-mega > ul > li.has-sub > a {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--lhsm-red-dark);
    border-bottom: 1px solid var(--lhsm-line);
    border-radius: 0;
    pointer-events: none;
    margin-bottom: 4px;
  }
  #cssmenu > ul > li.lhsm-mega > ul > li.has-sub > a::before,
  #cssmenu > ul > li.lhsm-mega > ul > li.has-sub > a::after { display: none; }
  #cssmenu > ul > li.lhsm-mega > ul ul {
    position: static;
    left: auto;
    margin: 0;
    box-shadow: none;
    border: 0;
    background: none;
  }
  #cssmenu > ul > li.lhsm-mega:hover > ul ul li { height: auto; }
  #cssmenu > ul > li.lhsm-mega > ul ul li a { padding: 6px 4px; }
  #cssmenu > ul > li.lhsm-mega > ul ul li a img { width: 24px; height: 24px; vertical-align: middle; margin-right: 8px; }
}

/* ---------- Recherche rapide dans le menu (ajoutée par STHSMenuEnd.php) ---------- */
#cssmenu > ul > li.lhsm-search-li { position: relative; padding: 6px 12px; box-sizing: border-box; }
@media only screen and (min-width: 769px) and (max-width: 1150px) { .lhsm-search-input { width: 150px; } }
.lhsm-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lhsm-search-input {
  width: 210px;
  height: 38px;
  box-sizing: border-box;
  border: 1px solid #C7D1DD;
  border-radius: 8px;
  padding: 0 12px;
  font-family: 'Barlow', sans-serif;
  font-size: 15px;
  color: var(--lhsm-text);
  background: #F7F9FB;
}
.lhsm-search-input:focus { outline: none; border-color: var(--lhsm-red); background: #FFFFFF; box-shadow: 0 0 0 3px rgba(200,16,46,.15); }
.lhsm-search-box {
  position: absolute;
  top: 100%;
  right: 12px;
  width: 300px;
  background: #FFFFFF;
  border: 1px solid var(--lhsm-line);
  border-top: 3px solid var(--lhsm-red);
  border-radius: 0 0 10px 10px;
  box-shadow: 0 16px 36px rgba(11,20,34,.22);
  z-index: 1001;
  font-family: 'Barlow', sans-serif;
  overflow: hidden;
}
.lhsm-search-box[hidden] { display: none; }
.lhsm-search-results { max-height: 360px; overflow-y: auto; }
#cssmenu .lhsm-search-box a { display: flex; width: auto; padding: 10px 14px; font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--lhsm-text); background: #FFFFFF; text-decoration: none; box-shadow: none; }
#cssmenu .lhsm-search-box a.lhsm-search-item { justify-content: space-between; border-bottom: 1px solid var(--lhsm-line-soft); }
#cssmenu .lhsm-search-box a:hover, #cssmenu .lhsm-search-box a:focus { background: #FFF1F3; color: var(--lhsm-red); }
#cssmenu .lhsm-search-box a.lhsm-search-adv { justify-content: space-between; font-weight: 700; color: var(--lhsm-red); background: #F7F9FB; }
.lhsm-search-tag { font-size: 11px; font-weight: 700; color: var(--lhsm-muted); border: 1px solid var(--lhsm-line); border-radius: 4px; padding: 1px 6px; }
.lhsm-search-msg { padding: 12px 14px; font-size: 14px; color: var(--lhsm-muted); line-height: 1.4; }
@media all and (max-width: 768px) {
  #cssmenu > ul > li.lhsm-search-li { padding: 10px 16px; }
  .lhsm-search-input { width: 100%; }
  .lhsm-search-box { position: static; width: auto; margin-top: 8px; box-shadow: none; }
}

/* Mobile : bouton Menu */
@media all and (max-width: 768px) {
  #cssmenu #menu-button { font-family: 'Barlow Condensed', sans-serif; font-size: 18px; }
  .STHSPHPMenuDivMobile select { font-family: 'Barlow', sans-serif; }
}

/* ---------- Bouton Connexion ---------- */
.STHSPHPLoginButton {
  display: inline-block;
  background: var(--lhsm-red);
  color: #FFFFFF !important;
  border-radius: 8px;
  padding: 10px 18px;
  font-weight: 700;
  text-decoration: none;
}
.STHSPHPLoginButton:hover { background: var(--lhsm-red-dark); }

/* ---------- Tableaux du site ---------- */
table.tablesorter thead th, table.STHSPHPTable thead th { font-family: 'Barlow Condensed', sans-serif; letter-spacing: .3px; }

/* ---------- Page d'accueil : matchs (carrousel) ---------- */
.swiper-container { max-width: 1280px; margin: 24px auto 8px; padding: 0 16px; box-sizing: border-box; }
.STHSIndex_GamesResult {
  background: #FFFFFF;
  border: 1px solid var(--lhsm-line);
  border-radius: 12px;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
}
.STHSIndex_GamesResult th {
  background: #FFFFFF;
  color: var(--lhsm-red-dark);
  border-bottom: 2px solid var(--lhsm-red);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  font-size: 13.5px;
  letter-spacing: .6px;
  text-transform: uppercase;
  padding: 7px 10px 5px;
}
table.STHSIndex_GamesResult { padding: 0; transition: border-color .15s, box-shadow .15s; }
.STHSIndex_GamesResult tr:last-child td { padding-bottom: 9px; }
.swiper-link:hover .STHSIndex_GamesResult { border-color: var(--lhsm-red); box-shadow: 0 3px 10px rgba(11, 20, 34, .10); }
.STHSIndex_GamesResult td { padding: 6px 10px; font-size: 15px; }
.STHSIndex_GamesResult td:last-child { font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 700; text-align: right; }
.STHSIndex_GamesResult-Winning-Team td { font-weight: 700; }
.STHSIndex_GamesResult-LosingTeam td { color: var(--lhsm-muted); }
.swiper-button-prev, .swiper-button-next { color: var(--lhsm-red) !important; }

/* ---------- Page d'accueil : nouvelle disposition (créée par STHSMenuEnd.php) ---------- */
.lhsm-index #STHSPortraitOverlay { display: none !important; }
.lhsm-home {
  max-width: 1280px;
  margin: 16px auto 40px;
  padding: 0 16px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.lhsm-section-title {
  margin: 8px 0 -8px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  font-size: 28px;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--lhsm-text);
}
.lhsm-grid-stars, .lhsm-grid-leaders {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  align-items: start;
}
.lhsm-grid-stars { align-items: stretch; }
.lhsm-grid-leaders { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
/* 10 cartes de meneurs : 2 rangées de 5 sur grand écran */
@media (min-width: 1200px) { .lhsm-grid-leaders { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.lhsm-card {
  background: var(--lhsm-card);
  border: 1px solid var(--lhsm-line);
  border-radius: 14px;
  padding: 18px 20px;
  box-sizing: border-box;
  min-width: 0;
}
.lhsm-card-title {
  margin: 0 0 12px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 19px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--lhsm-muted);
}

/* Les tableaux déplacés dans les cartes perdent leurs bordures STHS */
.lhsm-card table { border: 0; background: none; box-shadow: none; }
.lhsm-card td, .lhsm-card th { border-left: 0; border-right: 0; }

/* Dernière mise à jour (au-dessus des manchettes) */
.lhsm-updated { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: -12px; font-size: 14px; color: var(--lhsm-muted); }
.lhsm-updated strong { color: var(--lhsm-text); font-weight: 700; }
.lhsm-updated-dot { width: 8px; height: 8px; border-radius: 50%; background: #1F9D55; box-shadow: 0 0 0 3px rgba(31,157,85,.18); margin-right: 4px; }

/* Manchettes : bande pleine largeur, en colonnes */
.lhsm-headlines { background: #FFF4F5; border-color: #F3C9CF; }
.lhsm-headlines .lhsm-card-title { color: var(--lhsm-red-dark); }
.lhsm-hl-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); column-gap: 32px; }
.lhsm-hl-date { grid-column: 1 / -1; font-size: 13px; font-weight: 700; color: var(--lhsm-red-dark); padding: 4px 0 6px; }
.lhsm-hl-item { padding: 8px 0; font-size: 15px; line-height: 1.4; border-top: 1px solid #F3D9DD; }
.lhsm-hl-list [hidden] { display: none; }
/* Titre et date sur la même ligne */
.lhsm-hl-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; margin-bottom: 6px; }
.lhsm-hl-head .lhsm-card-title { margin: 0; }
.lhsm-hl-head .lhsm-hl-date { padding: 0; font-size: 15px; }
.lhsm-headlines { padding-top: 14px; padding-bottom: 12px; }

/* Étoiles */
.lhsm-star { display: flex; align-items: center; gap: 12px; padding: 7px 0; font-size: 15px; font-weight: 600; line-height: 1.3; }
.lhsm-star + .lhsm-star { border-top: 1px solid var(--lhsm-line-soft); }
.lhsm-star .STHSIndex_3StarImage { width: 34px; height: 34px; object-fit: contain; flex: 0 0 34px; }
/* Étoiles du jour : stats du match (ajoutées par STHSMenuEnd.php) */
.lhsm-star-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
/* Même hauteur pour chaque étoile, pour que jour, semaine et mois s'alignent */
.lhsm-grid-stars .lhsm-star { min-height: 58px; box-sizing: border-box; }
.lhsm-star-line { font-size: 13px; font-weight: 700; color: var(--lhsm-red); }
.lhsm-star-game { font-size: 12px; font-weight: 500; color: var(--lhsm-muted); text-decoration: none; }
.lhsm-star-game:hover { color: var(--lhsm-red); text-decoration: underline; }

/* Meneurs */
.lhsm-leaders { padding: 0; overflow: hidden; }
.lhsm-leaders .lhsm-card-title { padding: 16px 18px 10px; margin: 0; color: var(--lhsm-text); border-bottom: 1px solid var(--lhsm-line); }
.lhsm-leaders table { width: 100% !important; border-collapse: collapse; table-layout: auto !important; }
.lhsm-leaders td { padding: 9px 18px; font-size: 14px; border-bottom: 1px solid var(--lhsm-line-soft); background: #FFFFFF; vertical-align: middle; }
.lhsm-leaders tr:last-child td { border-bottom: 0; }
/* La colonne du nom prend la place qui reste (coupée avec « … » si trop long) ; la colonne du chiffre garde sa largeur */
.lhsm-leaders td:first-child, .lhsm-leaders .STHSIndex_Top5PointNameHeader { width: 100% !important; max-width: 0 !important; min-width: 0 !important; overflow: hidden; padding-right: 6px; }
.lhsm-leaders .STHSIndex_Top5PointNameHeader { white-space: nowrap; text-overflow: ellipsis; }
/* Logo + nom côte à côte ; un nom long passe sur 2 lignes au lieu d'être coupé */
.lhsm-leader { display: flex; align-items: center; gap: 10px; }
.lhsm-leader .STHSPHPIndividualLeadersTeamImage { flex: 0 0 24px; margin-right: 0; }
.lhsm-leader a { line-height: 1.2; white-space: normal; overflow-wrap: anywhere; }
.lhsm-leaders td + td, .lhsm-leaders .STHSIndex_Top5PointResultHeader { width: auto !important; min-width: 0 !important; padding-left: 4px; padding-right: 12px; text-align: right; white-space: nowrap; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 16px; }
.lhsm-leaders .STHSIndex_Top5PointNameHeader,
.lhsm-leaders .STHSIndex_Top5PointResultHeader { font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--lhsm-muted); background: #F7F9FB; font-family: 'Barlow', sans-serif; }
.lhsm-leaders a { font-weight: 600; color: var(--lhsm-text); text-decoration: none; }
.lhsm-leaders a:hover { color: var(--lhsm-red); }
.lhsm-leaders .STHSPHPIndividualLeadersTeamImage { width: 24px; height: 24px; vertical-align: middle; margin-right: 8px; }
.lhsm-leaders .Headshot { display: none; }
/* Chiffre de la catégorie en gros, détail en petit (ajouté par STHSMenuEnd.php) */
.lhsm-stat-main { display: block; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 22px; line-height: 1; color: var(--lhsm-text); }
.lhsm-stat-sub { display: block; white-space: nowrap; margin-top: 3px; font-family: 'Barlow', sans-serif; font-weight: 500; font-size: 12px; line-height: 1.2; color: var(--lhsm-muted); }
.lhsm-leaders tbody tr:nth-child(2) .lhsm-stat-main { color: var(--lhsm-red); }

/* Actualité */
.lhsm-news { padding: 20px 24px; }
.lhsm-news .lhsm-card-title { color: var(--lhsm-text); font-size: 26px; font-weight: 800; }
.lhsm-news .STHSIndex_NewsDiv { width: auto; max-width: none; border: 0; background: none; padding: 0; margin: 0; }
.lhsm-news h2 { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 24px; margin: 18px 0 6px; }
.lhsm-news hr { border: 0; border-top: 1px solid var(--lhsm-line); margin: 22px 0; }
.lhsm-news img { max-width: 100%; height: auto; border-radius: 10px; }
.lhsm-news .ck-content .image { max-width: 900px; }
.lhsm-toggle {
  display: block;
  margin: 8px auto 0;
  min-height: 44px;
  padding: 0 22px;
  border: 1px solid var(--lhsm-line);
  border-radius: 8px;
  background: #FFFFFF;
  color: var(--lhsm-text);
  font-family: 'Barlow', sans-serif;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
}
.lhsm-toggle:hover { border-color: var(--lhsm-red); color: var(--lhsm-red); }
.lhsm-headlines .lhsm-toggle { margin: 12px 0 0; background: #FFFFFF; }

/* Actualité : grand bulletin + vignettes cliquables */
.lhsm-news-featured { scroll-margin-top: 90px; }
.lhsm-news-item { position: relative; }
.lhsm-news-item[hidden] { display: none; }
.lhsm-news-open { display: none; }
.lhsm-news-featured .lhsm-news-item h2 { margin-top: 4px; }
/* Taille du grand bulletin : changer 720px pour l'agrandir ou le réduire */
.lhsm-news-featured .ck-content .image { max-width: 720px; margin-left: auto !important; margin-right: auto !important; }
.lhsm-news-featured .lhsm-news-item { max-width: 720px; margin: 0 auto; }
/* Vignettes alignées sur la largeur du grand bulletin : 3 par rangée (2 sur téléphone) */
.lhsm-news .lhsm-news-thumbs { max-width: 720px; margin-left: auto; margin-right: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 600px) { .lhsm-news .lhsm-news-thumbs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lhsm-news-item.is-thumb img { height: 130px; }
.lhsm-news-item.is-thumb > .ck-content { max-height: 130px; }
.lhsm-news-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--lhsm-line);
}
.lhsm-news-item.is-thumb {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--lhsm-line);
  border-radius: 12px;
  overflow: hidden;
  background: #FFFFFF;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.lhsm-news-item.is-thumb > * { display: none; }
.lhsm-news-item.is-thumb > h2,
.lhsm-news-item.is-thumb > .ck-content { display: block; }
.lhsm-news-item.is-thumb > .ck-content { order: -1; max-height: 150px; overflow: hidden; margin: 0; }
.lhsm-news-item.is-thumb .ck-content .image { margin: 0 !important; max-width: none; width: 100%; }
.lhsm-news-item.is-thumb img { width: 100%; height: 150px; object-fit: cover; border-radius: 0; }
.lhsm-news-item.is-thumb > h2 { font-size: 18px; margin: 0; padding: 10px 14px 12px; }
.lhsm-news-item.is-thumb > .lhsm-news-open {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.lhsm-news-item.is-thumb:hover { border-color: var(--lhsm-red); box-shadow: 0 8px 22px rgba(11,20,34,.12); transform: translateY(-2px); }
.lhsm-news-item.is-thumb:hover > h2 { color: var(--lhsm-red); }
.lhsm-news-open:focus-visible { outline: 3px solid var(--lhsm-red); outline-offset: -3px; border-radius: 12px; }
.lhsm-news > .STHSIndex_NewsDiv > .lhsm-toggle { margin-top: 16px; }
/* Une seule rangée de vignettes : les rangées suivantes sont repliées */
.lhsm-news-thumbs.lhsm-one-row { grid-template-rows: auto; grid-auto-rows: 0; row-gap: 0; overflow: hidden; }
.lhsm-news-thumbs.lhsm-one-row > .lhsm-news-item:hover { transform: none; }
.lhsm-news-thumbs.lhsm-one-row > .lhsm-news-item { margin-bottom: 0; }


/* ---------- Bas de page (sans bande de couleur) ---------- */
.footer {
  box-sizing: border-box;
  background: #FFFFFF;
  color: var(--lhsm-muted);
  border-top: 1px solid var(--lhsm-line);
  padding: 18px 16px 22px;
  font-size: 13px;
  text-align: center;
}
.footer a { color: var(--lhsm-muted); text-decoration: underline; }
.footer a:hover { color: var(--lhsm-red); }
.scrollup { font-family: 'Barlow', sans-serif; }

/* ---------- Contour des cartes un peu plus épais ---------- */
.lhsm-card, .STHSIndex_GamesResult, .lhsm-news-item.is-thumb { border-width: 1.5px; border-style: solid; border-color: var(--lhsm-line); }
.lhsm-headlines { border-color: #E8A9B3; }

/* ---------- Pages du dossier /Lien/ affichées dans le site (index.php?lhsm=...) ---------- */
.lhsm-viewer .swiper-container, .lhsm-viewer .STHSIndex_Main, .lhsm-viewer .lhsm-home, .lhsm-viewer .STHSPHP_Login, .lhsm-viewer .scrollup { display: none !important; }
.lhsm-viewer #STHSPortraitOverlay { display: none !important; }
.lhsm-frame-wrap { max-width: 1600px; margin: 20px auto 24px; padding: 0 16px; box-sizing: border-box; }
.lhsm-frame-head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 12px; }
.lhsm-frame-head h1 { margin: 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 30px; text-transform: uppercase; letter-spacing: .5px; color: var(--lhsm-text); }
.lhsm-frame-head a { font-weight: 600; font-size: 14px; color: var(--lhsm-red); }
.lhsm-frame-head a.lhsm-frame-back { order: -1; flex-basis: 100%; text-decoration: none; }
.lhsm-frame { display: block; width: 100%; min-height: 480px; border: 1.5px solid var(--lhsm-line); border-radius: 12px; background: #FFFFFF; box-sizing: border-box; }

/* ---------- Pages d'équipe : bannière d'en-tête (créée par STHSMenuEnd.php) ---------- */
.lhsm-team-hero { max-width: 1280px; margin: 20px auto 8px; padding: 0 16px; box-sizing: border-box; font-family: 'Barlow', sans-serif; }
.lhsm-th-card { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; background: #FFFFFF; border: 1.5px solid var(--lhsm-line); border-radius: 16px; padding: 24px 26px 22px; overflow: hidden; }
.lhsm-th-card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--lhsm-red); }
.lhsm-th-logo { flex: 0 0 112px; width: 112px; height: 112px; border-radius: 50%; background: #F3F6F9; border: 1.5px solid #DCE3EC; display: flex; align-items: center; justify-content: center; }
.lhsm-th-logo img { width: 88px; height: 88px; object-fit: contain; padding: 0; margin: 0; box-sizing: border-box; flex: none; }
.lhsm-th-logo.lhsm-th-logo-round { padding: 0; overflow: hidden; background: transparent; }
.lhsm-th-logo.lhsm-th-logo-round img { width: 100%; height: 100%; max-width: none; padding: 0; margin: 0; box-sizing: border-box; flex: none; border-radius: 50%; transform: scale(1.04); }
.lhsm-th-id { flex: 1 1 180px; min-width: 0; }
.lhsm-th-kicker { font-size: 13px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; color: var(--lhsm-red-dark); }
.lhsm-th-name { margin: 2px 0 6px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 52px; line-height: 1; text-transform: uppercase; color: var(--lhsm-text); }
.lhsm-th-meta { font-size: 15px; color: var(--lhsm-muted); }
.lhsm-th-meta strong { color: var(--lhsm-text); }
.lhsm-th-stats { flex: 3 1 600px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
/* Nom d'équipe jamais caché sous les tuiles : la colonne du nom garde au moins la largeur du nom */
.lhsm-team-hero:not(.lhsm-pr-hero) .lhsm-th-id { min-width: min-content; }
.lhsm-team-hero:not(.lhsm-pr-hero) .lhsm-th-stats { flex-basis: 480px; }
.lhsm-th-name.lhsm-th-name-long { font-size: 44px; }
.lhsm-th-name.lhsm-th-name-xlong { font-size: 38px; }
@media (max-width: 900px) { .lhsm-th-name.lhsm-th-name-long { font-size: 36px; } .lhsm-th-name.lhsm-th-name-xlong { font-size: 32px; } }
.lhsm-th-stat { background: #F7F9FB; border: 1px solid #DCE3EC; border-radius: 10px; padding: 10px 12px; min-width: 0; }
.lhsm-th-stat b { display: block; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 26px; line-height: 1.05; color: var(--lhsm-text); white-space: nowrap; }
.lhsm-th-stat span { display: block; font-size: 11.5px; font-weight: 600; letter-spacing: .3px; line-height: 1.3; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-th-stat.big b { color: var(--lhsm-red); }
.lhsm-th-next { flex: 0 0 190px; border-left: 1px solid #DCE3EC; padding-left: 24px; display: flex; flex-direction: column; gap: 6px; }
.lhsm-th-next .k { font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-th-next a { display: flex; align-items: center; gap: 10px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 24px; color: var(--lhsm-text); text-decoration: none; }
.lhsm-th-next a:hover { color: var(--lhsm-red); }
.lhsm-th-next a img { width: 40px; height: 40px; object-fit: contain; }
.lhsm-th-next small { font-size: 13px; color: var(--lhsm-muted); }
.lhsm-th-next small.lhsm-th-when { font-size: 15px; font-weight: 700; color: var(--lhsm-text); }
.lhsm-th-meta + .lhsm-th-meta { margin-top: 2px; }
.lhsm-th-meta:empty { display: none; }
@media (max-width: 900px) {
  .lhsm-th-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); flex-basis: 100%; }
  .lhsm-th-next { border-left: 0; padding-left: 0; flex-basis: 100%; }
  .lhsm-th-name { font-size: 40px; }
}

/* ---------- Pages d'équipe : onglets, centre de jeu, panneaux, tableaux ----------
   Tout est limité à .STHSPHPTeamStat_Main (le bloc des pages d'équipe STHS). */

/* Largeur alignée sur la bannière */
.STHSPHPTeamStat_Main { max-width: 1280px; margin: 0 auto; padding: 0 16px; box-sizing: border-box; font-family: 'Barlow', sans-serif; }

/* Onglets : barre soulignée */
.STHSPHPTeamStat_Main .tabsmain ul.tabmain-links { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-end; gap: 2px 4px; padding: 0; margin: 10px 0 20px; border-bottom: 2px solid #DCE3EC; border-radius: 0; }
.STHSPHPTeamStat_Main .tabmain-links li, .STHSPHPTeamStat_Main .tabmain-links li.activemain { margin: 0; font-size: 100%; }
.STHSPHPTeamStat_Main .tabmain-links a,
.STHSPHPTeamStat_Main .tabmain-links li.activemain a { min-height: 0; padding: 10px 12px 9px; margin-bottom: -2px; border-radius: 0; border-bottom: 3px solid transparent; background: transparent; font-family: 'Barlow Condensed', sans-serif; font-size: 16px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-muted); }
/* STHS met la couleur de l'équipe sur l'onglet actif avec !important : on la remplace */
.STHSPHPTeamStat_Main .tabmain-links a:hover { background: #FFF1F3 !important; color: var(--lhsm-red) !important; border-bottom: 3px solid transparent; }
.STHSPHPTeamStat_Main .tabmain-links li.activemain a,
.STHSPHPTeamStat_Main .tabmain-links li.activemain a:hover { background: transparent !important; color: var(--lhsm-red) !important; border-bottom: 3px solid var(--lhsm-red); }
/* Cadre de couleur d'équipe autour des onglets : retiré */
.STHSPHPTeamStat_Main .STHSPHPTeam_HomeDiv { border: 0; }
/* Lien vers le club-école : bouton à droite */
.STHSPHPTeamStat_Main .tabmain-links li:has(> a:not([href^="#"])) { order: 99; margin-left: auto; align-self: center; }
.STHSPHPTeamStat_Main .tabmain-links li > a:not([href^="#"]) { margin: 0 0 6px; padding: 6px 14px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; color: var(--lhsm-text); }
.STHSPHPTeamStat_Main .tabmain-links li > a:not([href^="#"])::after { content: ' \2192'; }
.STHSPHPTeamStat_Main .tabmain-links li > a:not([href^="#"]):hover { border-color: var(--lhsm-red); }

/* Titres de section (créés par STHSMenuEnd.php à partir des titres STHS) */
.STHSPHPTeamStat_Main h2.lhsm-tt { margin: 0 0 10px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 22px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-text); text-align: left; }
.STHSPHPTeamStat_Main .STHSPHPTeamStat_TableTitle br { display: none; }
.STHSPHPPlayerStat_HomeMainTD, .STHSPHPPlayerStat_HomeLeftTD { vertical-align: top; padding: 0 10px; }

/* Centre de jeu : une carte par match */
.STHSPHPTeamStat_Main table.STHSPHPTeam_HomePrimaryTable { width: 100%; margin: 0 0 10px; padding: 4px 8px; border: 1.5px solid var(--lhsm-line); border-radius: 12px; border-collapse: separate; background: #FFFFFF; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTable tr[onclick] { cursor: pointer; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTable:has(tr[onclick]:hover) { border-color: var(--lhsm-red); }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamImageSpec { width: 56px; height: 56px; object-fit: contain; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamInfo { padding: 10px 14px; font-size: 13px; color: var(--lhsm-muted); }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamName { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 24px; line-height: 1.1; text-transform: uppercase; color: var(--lhsm-text); }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamScore { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 36px; color: var(--lhsm-text); }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamMiddlePlay,
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamMiddleNotPlay { font-size: 13px; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamInfoBeforeTriangle { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #F3F6F9; border: 1px solid #DCE3EC; font-weight: 700; letter-spacing: .5px; color: var(--lhsm-muted); white-space: nowrap; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamInfoBeforeTriangle a { color: var(--lhsm-red); text-decoration: none; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamInfoTriangle { display: none; }

/* Statistiques d'équipe (accueil) */
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamStatTD { height: auto; padding: 12px; background: #F7F9FB; color: var(--lhsm-muted); border: 1px solid #DCE3EC; border-radius: 10px; font-size: 13px; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamStatStrongText { padding: 0 0 2px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 26px; color: var(--lhsm-text); }

/* Meneurs d'équipe */
.STHSPHPTeamStat_Main #STHSPHPTeam_HomePrimaryTableLeaders { width: 100% !important; margin: 0 0 10px; padding: 12px; border: 1.5px solid var(--lhsm-line); border-radius: 12px; border-collapse: separate !important; background: #FFFFFF; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableLeadersHeadshotTD,
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableLeadersTextTD { background: #FFFFFF; color: var(--lhsm-text); border: 0; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableLeadersHeadshotTD { width: 96px; padding: 0 8px; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableLeadersHeadshot { width: 88px; min-width: 0; max-width: 88px; background: #F3F6F9; border: 1.5px solid #DCE3EC; box-shadow: none; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableLeadersTextStat { padding-left: 4px; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--lhsm-muted); }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableLeadersTextPlayer { padding-left: 4px; font-size: 18px; font-weight: 600; color: var(--lhsm-text); text-decoration: none; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableLeadersTextPlayer:hover { color: var(--lhsm-red); }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableLeadersTextResult { padding-left: 4px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 44px; line-height: 1.2; color: var(--lhsm-red); }

/* Panneau de droite : informations de l'équipe, aréna, formation... */
.STHSPHPTeamStat_Main table.STHSPHPTeam_HomeSecondaryTable { width: 100%; padding: 6px 16px 14px; border: 1.5px solid var(--lhsm-line); border-radius: 12px; border-collapse: separate; border-spacing: 0; background: #FFFFFF; font-family: 'Barlow', sans-serif; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomeSecondaryTable td { padding: 5px 4px; border-bottom: 1px solid #EEF2F6; font-size: 13.5px; color: var(--lhsm-muted); }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomeSecondaryTable td[rowspan] { width: 60px; padding-right: 10px; border-bottom: 0; vertical-align: top; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomeSecondaryTable td.STHSPHPTeam_HomeSecondaryTableTDStrongText { font-size: 14px; font-weight: 700; color: var(--lhsm-text); text-align: right; }
.STHSPHPTeamStat_Main .STHSPHPTeam_HomeSecondaryTable td.STHSPHPTeamStat_TableTitle { padding: 18px 0 6px; border-bottom: 2px solid var(--lhsm-red); font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-red-dark); text-align: left; }
.STHSPHPTeamStat_Main .STHSPHPTeamStatImage, .STHSPHPTeamStat_Main .STHSPHPTeam_HomeSecondaryTableImage { width: 52px; height: auto; margin-top: 6px; }

/* Tableaux (formation, stats, calendrier, finances...) */
.STHSPHPTeamStat_Main table.tablesorter { font-family: 'Barlow', sans-serif; font-size: 13px; border-color: #DCE3EC; }
.STHSPHPTeamStat_Main .tablesorter th, .STHSPHPTeamStat_Main .tablesorter td { border-color: #E3E8EF; }
.STHSPHPTeamStat_Main .tablesorter thead th, .STHSPHPTeamStat_Main .tablesorter thead td { padding: 8px 18px 8px 6px; font-size: 12px; font-weight: 700; letter-spacing: .3px; text-shadow: none; }
.STHSPHPTeamStat_Main .tablesorter tbody td { padding: 6px; font-size: 13px; vertical-align: middle; }
.STHSPHPTeamStat_Main .tablesorter tbody tr:nth-child(odd) { background: #FFFFFF; }
.STHSPHPTeamStat_Main .tablesorter tbody tr:nth-child(even) { background: #F7F9FB; }
.STHSPHPTeamStat_Main .tablesorter tbody > tr:hover > td, .STHSPHPTeamStat_Main .tablesorter tbody > tr:hover > td a { background: #FFF1F3; color: var(--lhsm-text); }
.STHSPHPTeamStat_Main .tablesorter tbody td a { color: var(--lhsm-text); font-weight: 600; text-decoration: none; }
.STHSPHPTeamStat_Main .tablesorter tbody td a:hover { color: var(--lhsm-red) !important; }
.STHSPHPTeamStat_Main .tablesorter input.tablesorter-filter, .STHSPHPTeamStat_Main .tablesorter select.tablesorter-filter { border: 1px solid #C7D1DD; border-radius: 6px; background: #FFFFFF; font-family: 'Barlow', sans-serif; }
.STHSPHPTeamStat_Main .tablesorter .tablesorter-filter-row td { background: #F3F6F9; }
.STHSPHPTeamStat_Main .tablesorter_ColumnSelectorButton, .STHSPHPTeamStat_Main .tablesorter_Reset, .STHSPHPTeamStat_Main .tablesorter_Output { padding: 6px 12px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; background: #FFFFFF; color: var(--lhsm-text); font-family: 'Barlow', sans-serif; font-size: 13px; font-weight: 600; cursor: pointer; }
.STHSPHPTeamStat_Main .tablesorter_ColumnSelectorButton:hover, .STHSPHPTeamStat_Main .tablesorter_Reset:hover, .STHSPHPTeamStat_Main .tablesorter_Output:hover { border-color: var(--lhsm-red); color: var(--lhsm-red); }
.STHSPHPTeamStat_Main table.STHSPHPTeamStat_Table { font-family: 'Barlow', sans-serif; font-size: 13px; }
.STHSPHPTeamStat_Main table.STHSPHPTeamStat_Table th { padding: 7px 6px; font-size: 12px; text-shadow: none; }
.STHSPHPTeamStat_Main table.STHSPHPTeamStat_Table td { padding: 6px; }
.STHSPHPTeamStat_Main h1, .STHSPHPTeamStat_Main h2:not(.lhsm-tt), .STHSPHPTeamStat_Main h3 { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; text-transform: uppercase; color: var(--lhsm-text); }

@media (max-width: 900px) {
  .STHSPHPTeamStat_Main { padding: 0 8px; }
  .STHSPHPTeamStat_Main .tabsmain ul.tabmain-links { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .STHSPHPTeamStat_Main .tabmain-links a { white-space: nowrap; }
  .STHSPHPTeamStat_Main .tabmain-links li:has(> a:not([href^="#"])) { order: 0; margin-left: 0; }
  .STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamName { font-size: 18px; }
  .STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamScore { font-size: 28px; }
  .STHSPHPTeamStat_Main .STHSPHPTeam_HomePrimaryTableTeamImageSpec { width: 40px; height: 40px; }
}

/* ---------- Accueil d'équipe : disposition en grille (créée par STHSMenuEnd.php) ---------- */
.lhsm-thh { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px; align-items: start; margin: 4px 0 24px; font-family: 'Barlow', sans-serif; }
.lhsm-thh-stats, .lhsm-thh-info { grid-column: 1 / -1; }
.lhsm-thh-box > h2.lhsm-tt { margin: 0 0 10px; }
.lhsm-thh .STHSPHPTeam_HomePrimaryTable { width: 100%; }
/* Meneurs */
.lhsm-tl-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
a.lhsm-tl { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 8px 14px; background: #FFFFFF; border: 1.5px solid var(--lhsm-line); border-radius: 12px; text-decoration: none; color: var(--lhsm-text); }
a.lhsm-tl:hover { border-color: var(--lhsm-red); }
.lhsm-tl-photo { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; overflow: hidden; background: #F3F6F9; border: 1.5px solid #DCE3EC; }
.lhsm-tl-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lhsm-tl-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.lhsm-tl-cat { font-size: 11px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--lhsm-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-tl-name { font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.lhsm-tl:hover .lhsm-tl-name { color: var(--lhsm-red); }
.lhsm-tl-val { flex: 0 0 auto; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 30px; color: var(--lhsm-red); }
/* Statistiques d'équipe */
.lhsm-ts-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.lhsm-ts { padding: 12px 14px; background: #FFFFFF; border: 1.5px solid var(--lhsm-line); border-radius: 12px; min-width: 0; }
.lhsm-ts-lab { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-muted); line-height: 1.3; }
.lhsm-ts b { display: block; margin: 2px 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 30px; line-height: 1.1; color: var(--lhsm-text); }
.lhsm-ts-sub { display: block; font-size: 13px; color: var(--lhsm-muted); }
/* Informations */
.lhsm-ti-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lhsm-ti { padding: 10px 12px 6px; background: #FFFFFF; border: 1.5px solid var(--lhsm-line); border-radius: 12px; min-width: 0; }
.lhsm-ti-title { margin: 0 0 4px; padding-bottom: 4px; border-bottom: 2px solid var(--lhsm-red); font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-red-dark); }
.STHSPHPTeamStat_Main table.lhsm-ti-table { width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; }
.STHSPHPTeamStat_Main table.lhsm-ti-table tr:last-child td { border-bottom: 0; }
@media (max-width: 1100px) { .lhsm-ti-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1000px) {
  .lhsm-thh { grid-template-columns: minmax(0, 1fr); }
  .lhsm-ts-grid, .lhsm-tl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) { .lhsm-ti-grid, .lhsm-tl-grid { grid-template-columns: minmax(0, 1fr); } }
/* Centre de jeu : mêmes largeurs de colonnes pour les matchs joués et à venir (logos alignés) */
.lhsm-thh .STHSPHPTeam_HomePrimaryTable { table-layout: fixed; }
.lhsm-thh .STHSPHPTeam_HomePrimaryTableTeamImag { width: 11%; text-align: center; }
.lhsm-thh .STHSPHPTeam_HomePrimaryTableTeamInfo { width: 23%; padding: 10px 8px; overflow: hidden; }
.lhsm-thh .STHSPHPTeam_HomePrimaryTableTeamScore { width: 7%; }
.lhsm-thh .STHSPHPTeam_HomePrimaryTableTeamMiddlePlay { width: 18%; }
.lhsm-thh .STHSPHPTeam_HomePrimaryTableTeamMiddleNotPlay { width: 32%; }
.lhsm-thh .STHSPHPTeam_HomePrimaryTableTeamInfoBeforeTriangle { white-space: normal; font-size: 12px; line-height: 1.25; }
/* Meneurs alignés sur le Centre de jeu (hauteurs posées par STHSMenuEnd.php) */
.lhsm-thh-sync .lhsm-tl-grid { gap: 10px; }
.lhsm-thh-sync a.lhsm-tl { box-sizing: border-box; }

/* ---------- Pages d'équipe : en-têtes de tableaux clairs (STHS y met la couleur de l'équipe avec !important) ---------- */
.STHSPHPTeamStat_Main .tablesorter thead tr.tablesorter-headerRow th,
.STHSPHPTeamStat_Main .tablesorter thead tr.tablesorter-headerRow td,
.STHSPHPTeamStat_Main .tablesorter thead th,
.STHSPHPTeamStat_Main table.STHSPHPTeamStat_Table th {
  background-color: #F3F6F9 !important;
  color: var(--lhsm-text) !important;
  border-color: #DCE3EC;
  border-bottom: 2px solid var(--lhsm-red);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
}
.STHSPHPTeamStat_Main .tablesorter thead .tablesorter-headerAsc,
.STHSPHPTeamStat_Main .tablesorter thead .tablesorter-headerDesc { background-color: #FFF1F3 !important; color: var(--lhsm-red) !important; }
.STHSPHPTeamStat_Main .tablesorter thead th:hover { color: var(--lhsm-red) !important; }
/* Rangée de recherche : la marge prévue pour les flèches de tri ne s'applique plus aux champs */
.STHSPHPTeamStat_Main .tablesorter thead tr.tablesorter-filter-row td { padding: 5px 3px !important; border-bottom: 1px solid #DCE3EC; }
.STHSPHPTeamStat_Main .tablesorter input.tablesorter-filter {
  width: 100%;
  min-width: 30px;
  height: 30px;
  padding: 2px 4px;
  font-size: 14px;
  text-align: center;
  color: var(--lhsm-text);
}
.STHSPHPTeamStat_Main .tablesorter input.tablesorter-filter:focus { outline: none; border-color: var(--lhsm-red); box-shadow: 0 0 0 2px rgba(200,16,46,.15); }
/* « Recherche » ne tient pas dans les petites colonnes : affiché seulement dans la colonne du nom */
.STHSPHPTeamStat_Main .tablesorter input.tablesorter-filter::placeholder { color: transparent; }
.STHSPHPTeamStat_Main .tablesorter input.tablesorter-filter[data-column="1"]::placeholder { color: #A3AFBF; font-size: 13px; }
.STHSPHPTeamStat_Main .tablesorter input.tablesorter-filter[data-column="1"] { text-align: left; }
/* Rangées de section dans les tableaux (Rayé, Équipe Mineure...) */
.STHSPHPTeamStat_Main .tablesorter tbody tr.hasSpan th,
.STHSPHPTeamStat_Main .tablesorter tbody th {
  background-color: #FFFFFF !important;
  color: var(--lhsm-red-dark) !important;
  padding: 14px 8px 6px;
  border-top: 2px solid var(--lhsm-red);
  border-bottom: 1px solid #DCE3EC;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
  text-align: left;
}
/* Fenêtre « Astuces sur les filtres » */
.FilterTip th, .FilterTip thead td { background-color: #F3F6F9 !important; color: var(--lhsm-text) !important; border-bottom: 2px solid var(--lhsm-red); }

/* ---------- Pages d'équipe : positions C / L / R / D (créées par STHSMenuEnd.php) ---------- */
/* Pastilles : le X reste dans la case (invisible) pour le tri et les filtres */
.STHSPHPTeamStat_Main .tablesorter tbody td.lhsm-pos { font-size: 0; color: transparent; text-align: center; padding: 4px 2px; }
.STHSPHPTeamStat_Main .tablesorter tbody td.lhsm-pos::after {
  content: attr(data-pos);
  display: inline-block;
  min-width: 26px;
  padding: 3px 5px;
  border-radius: 999px;
  background: #EAF0F6;
  color: var(--lhsm-text);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .3px;
  box-sizing: border-box;
}
/* Bouton à 3 états dans la rangée de filtres */
.STHSPHPTeamStat_Main .tablesorter input.lhsm-pf-input { display: none; }
.STHSPHPTeamStat_Main button.lhsm-pf {
  display: block;
  width: 30px;
  height: 30px;
  margin: 0 auto;
  padding: 0;
  border: 1.5px solid #C7D1DD;
  border-radius: 8px;
  background: #FFFFFF;
  color: var(--lhsm-text);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.STHSPHPTeamStat_Main button.lhsm-pf:hover { border-color: var(--lhsm-red); }
.STHSPHPTeamStat_Main button.lhsm-pf.on { background: #1E8E3E; border-color: #1E8E3E; color: #FFFFFF; }
.STHSPHPTeamStat_Main button.lhsm-pf.off { background: #E6EBF1; border-color: #A3AFBF; color: var(--lhsm-muted); }

/* ---------- Pages d'équipe : calendrier (liste créée par STHSMenuEnd.php) ---------- */
.lhsm-sched { max-width: 1000px; font-family: 'Barlow', sans-serif; }
.lhsm-sched-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 12px; }
.lhsm-sched-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.lhsm-sched-f { padding: 6px 14px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; background: #FFFFFF; color: var(--lhsm-text); font-family: 'Barlow', sans-serif; font-size: 14px; font-weight: 600; cursor: pointer; }
.lhsm-sched-f:hover { border-color: var(--lhsm-red); color: var(--lhsm-red); }
.lhsm-sched-f.on { background: var(--lhsm-red); border-color: var(--lhsm-red); color: #FFFFFF; }
.lhsm-sched-rec { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 20px; color: var(--lhsm-text); }
.lhsm-sched-list { border: 1.5px solid var(--lhsm-line); border-radius: 12px; overflow: hidden; background: #FFFFFF; }
.lhsm-sched-month { padding: 8px 14px 6px; background: #F3F6F9; border-bottom: 1px solid #DCE3EC; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 15px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-red-dark); }
.lhsm-sched-row { display: grid; grid-template-columns: 170px minmax(0, 1fr) 150px 90px; align-items: center; gap: 10px; padding: 4px 14px; border-bottom: 1px solid #EEF2F6; min-height: 34px; }
.lhsm-sched-row.is-upnext { background: #FFF6DB; box-shadow: inset 4px 0 0 #F2B705; }
.lhsm-sched-date { white-space: nowrap; }
.lhsm-sched-date b { font-size: 14px; font-weight: 700; color: var(--lhsm-text); }
.lhsm-sched-date span { margin-left: 6px; font-size: 11.5px; color: var(--lhsm-muted); }
a.lhsm-sched-opp { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--lhsm-text); text-decoration: none; }
a.lhsm-sched-opp:hover .lhsm-sched-name { color: var(--lhsm-red); }
.lhsm-sched-ha { flex: 0 0 22px; font-size: 12px; font-weight: 700; color: var(--lhsm-muted); text-align: center; }
a.lhsm-sched-opp img { width: 28px; height: 28px; object-fit: contain; }
.lhsm-sched-name { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 18px; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-sched-res { display: flex; align-items: center; gap: 8px; }
.lhsm-sched-pill { display: inline-block; min-width: 28px; padding: 2px 7px; border-radius: 999px; text-align: center; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 14px; color: #FFFFFF; }
.lhsm-sched-pill.win { background: #1E8E3E; }
.lhsm-sched-pill.loss { background: var(--lhsm-red); }
.lhsm-sched-pill.otl { background: #E07B00; }
.lhsm-sched-pill.nextg { background: #F2B705; color: var(--lhsm-text); padding: 2px 10px; }
.lhsm-sched-score { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 19px; color: var(--lhsm-text); }
.lhsm-sched-res small { font-size: 11.5px; font-weight: 700; color: var(--lhsm-muted); text-transform: uppercase; }
.lhsm-sched-link { text-align: right; }
.lhsm-sched-link a { font-size: 13px; font-weight: 600; color: var(--lhsm-red); text-decoration: none; }
.lhsm-sched-link a:hover { text-decoration: underline; }
/* filtres */
.lhsm-sched-list[data-f="played"] .lhsm-sched-row.is-next,
.lhsm-sched-list[data-f="next"] .lhsm-sched-row.is-played { display: none; }
.lhsm-sched-month[hidden] { display: none; }
@media (max-width: 640px) {
  .lhsm-sched-row { grid-template-columns: 84px minmax(0, 1fr) auto; }
  .lhsm-sched-date span { display: none; }
  .lhsm-sched-link { display: none; }
  .lhsm-sched-name { font-size: 16px; }
}

/* ---------- Montants à la française (STHSMenuEnd.php) ---------- */
.STHSPHPTeamStat_Main .tablesorter tbody td.lhsm-money { font-size: 0; color: transparent; white-space: nowrap; }
.STHSPHPTeamStat_Main .tablesorter tbody td.lhsm-money::after { content: attr(data-money); font-size: 13px; color: var(--lhsm-text); }
.STHSPHPTeamStat_Main td.lhsm-neg, .STHSPHPTeamStat_Main .tablesorter tbody td.lhsm-neg::after { color: var(--lhsm-red) !important; }

/* ---------- Pages d'équipe : flèches de tri discrètes ---------- */
.STHSPHPTeamStat_Main .tablesorter thead .tablesorter-header {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath d='M4 0l4 5H0zM4 12l4-5H0z' fill='%23A3AFBF'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 5px center !important;
  background-size: 7px 11px !important;
}
.STHSPHPTeamStat_Main .tablesorter thead .tablesorter-headerAsc {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath d='M4 0l4 5H0z' fill='%23C8102E'/%3E%3Cpath d='M4 12l4-5H0z' fill='%23DCE3EC'/%3E%3C/svg%3E") !important;
}
.STHSPHPTeamStat_Main .tablesorter thead .tablesorter-headerDesc {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath d='M4 0l4 5H0z' fill='%23DCE3EC'/%3E%3Cpath d='M4 12l4-5H0z' fill='%23C8102E'/%3E%3C/svg%3E") !important;
}
.STHSPHPTeamStat_Main .tablesorter thead .sorter-false { background-image: none !important; }

/* ---------- Pages d'équipe : Lignes en cartes (grille 2 colonnes : attaque | défense) ---------- */
.lhsm-lines { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; align-items: start; }
.STHSPHPTeamStat_Main table.lhsm-line-card { width: 100%; margin: 0; border: 1.5px solid var(--lhsm-line); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #FFFFFF; }
.STHSPHPTeamStat_Main table.lhsm-line-card.lhsm-line-wide { grid-column: 1 / -1; }
.STHSPHPTeamStat_Main table.lhsm-line-card tr.lhsm-line-title th {
  background: #FFFFFF !important; color: var(--lhsm-red-dark) !important; padding: 8px 12px 6px; text-align: left;
  border: 0; border-bottom: 2px solid var(--lhsm-red); font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase;
}
.STHSPHPTeamStat_Main table.lhsm-line-card th { padding: 7px 8px; border-bottom: 1px solid #DCE3EC; font-size: 12px; }
.STHSPHPTeamStat_Main table.lhsm-line-card td { padding: 6px 8px; border-bottom: 1px solid #EEF2F6; font-size: 14px; text-align: center; }
.STHSPHPTeamStat_Main table.lhsm-line-card tr:last-child td { border-bottom: 0; }
.STHSPHPTeamStat_Main table.lhsm-line-card td a { color: var(--lhsm-text); font-weight: 600; text-decoration: none; }
.STHSPHPTeamStat_Main table.lhsm-line-card td a:hover { color: var(--lhsm-red); }
.STHSPHPTeamStat_Main table.lhsm-line-card.lhsm-line-num td:first-child { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 18px; color: var(--lhsm-red); }
.STHSPHPTeamStat_Main .lhsm-line-empty { color: #A3AFBF !important; font-weight: 400 !important; }
.lhsm-chips { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; }
.STHSPHPTeamStat_Main .lhsm-chips a.lhsm-chip { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #F3F6F9; border: 1px solid #DCE3EC; font-size: 13.5px; }
.STHSPHPTeamStat_Main .lhsm-chips a.lhsm-chip:hover { border-color: var(--lhsm-red); }
.lhsm-chip-lab { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 15px; color: var(--lhsm-red); margin-left: 6px; }
@media (max-width: 900px) { .lhsm-lines { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Pages d'équipe : Finance en cases ---------- */
.lhsm-fin { display: flex; flex-direction: column; gap: 14px; margin: 4px 0 20px; }
.lhsm-fin-title { margin: 0 0 6px; padding-bottom: 4px; border-bottom: 2px solid var(--lhsm-red); font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 16px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-red-dark); }
.lhsm-fin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 6px; }
.lhsm-fin-tile { padding: 6px 10px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 8px; min-width: 0; }
.lhsm-fin-lab { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .2px; text-transform: uppercase; color: var(--lhsm-muted); line-height: 1.25; }
.lhsm-fin-tile b { display: block; margin-top: 1px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 19px; line-height: 1.1; color: var(--lhsm-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-fin-tile.neg b { color: var(--lhsm-red); }
.STHSPHPTeamStat_Main table.lhsm-fin-table { width: 100%; margin: 0 0 10px; border: 1.5px solid var(--lhsm-line); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.STHSPHPTeamStat_Main table.lhsm-fin-table td, .STHSPHPTeamStat_Main table.lhsm-fin-table th { padding: 8px 10px; border-bottom: 1px solid #EEF2F6; }
.STHSPHPTeamStat_Main table.lhsm-fin-table tbody th:first-child { text-align: left; }

/* ---------- Pages d'équipe : Historique, Blessures, Actualité ---------- */
.STHSPHPTeamStat_Main .tabmain.lhsm-tabcard { max-width: 1000px; }
.STHSPHPTeamStat_Main .tabmain.lhsm-tabcard > h2 { margin: 6px 0 14px; }
.STHSPHPTeamStat_Main .tabmain.lhsm-tabcard > h2 a.SubmitButton { display: inline-block; padding: 8px 16px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; background: #FFFFFF; color: var(--lhsm-text); font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.STHSPHPTeamStat_Main .tabmain.lhsm-tabcard > h2 a.SubmitButton:hover { border-color: var(--lhsm-red); color: var(--lhsm-red); }
.lhsm-hist { list-style: none; margin: 0; padding: 0; background: #FFFFFF; border: 1.5px solid var(--lhsm-line); border-radius: 12px; overflow: hidden; }
.lhsm-hist-item { display: flex; gap: 16px; padding: 10px 16px; border-bottom: 1px solid #EEF2F6; font-size: 14px; line-height: 1.4; color: var(--lhsm-text); }
.lhsm-hist-item:last-child { border-bottom: 0; }
.lhsm-hist-item:nth-child(even) { background: #F7F9FB; }
.lhsm-hist-item time { flex: 0 0 104px; font-weight: 700; color: var(--lhsm-muted); white-space: nowrap; }
.lhsm-hist-trade { font-weight: 600; }
.lhsm-hist-trade::before { content: '\21C4'; color: var(--lhsm-red); margin-right: 6px; }
.lhsm-hist + .lhsm-more { margin-top: 12px; }
.lhsm-inj { display: flex; flex-direction: column; gap: 10px; }
.lhsm-inj-item { position: relative; padding: 12px 16px 12px 46px; background: #FFFFFF; border: 1.5px solid var(--lhsm-line); border-left: 5px solid var(--lhsm-red); border-radius: 12px; font-size: 15px; color: var(--lhsm-text); }
.lhsm-inj-item::before { content: '+'; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; border-radius: 50%; background: var(--lhsm-red); color: #FFFFFF; font-weight: 800; font-size: 17px; line-height: 22px; text-align: center; }
.STHSPHPTeamStat_Main .tabmain.lhsm-tabnews { padding: 16px 20px; background: #FFFFFF; border: 1.5px solid var(--lhsm-line); border-radius: 12px; box-sizing: border-box; font-size: 15px; line-height: 1.5; }
@media (max-width: 640px) { .lhsm-hist-item { flex-direction: column; gap: 2px; } .lhsm-hist-item time { flex-basis: auto; } }

/* ---------- Meneurs d'équipe : initiales quand il n'y a pas de photo ---------- */
.lhsm-tl-photo.lhsm-tl-init { display: flex; align-items: center; justify-content: center; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 20px; color: var(--lhsm-muted); }

/* ---------- Pages d'équipe : onglet Statistiques d'équipe (mêmes cases que Finance) ---------- */
.lhsm-tstab { margin-bottom: 28px; }
.STHSPHPTeamStat_Main table.lhsm-ts-compare th, .STHSPHPTeamStat_Main table.lhsm-ts-compare td { text-align: center; font-size: 14px; }
.STHSPHPTeamStat_Main table.lhsm-ts-compare tbody tr > th:first-child { text-align: left; background: #FFFFFF !important; color: var(--lhsm-text) !important; border-bottom: 1px solid #EEF2F6; font-family: 'Barlow', sans-serif; font-size: 14px; text-transform: none; font-weight: 700; }
.STHSPHPTeamStat_Main table.lhsm-ts-compare td { font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 700; color: var(--lhsm-text); }
.lhsm-ts-vs { margin-top: 8px; }

/* ---------- Pages d'équipe : Informations joueurs ---------- */
.lhsm-pinfo { margin: 4px 0 16px; }
.STHSPHPTeamStat_Main .tablesorter tbody td.lhsm-yn { font-size: 0; color: transparent; text-align: center; }
.STHSPHPTeamStat_Main .tablesorter tbody td.lhsm-yn::after { content: attr(data-yn); font-size: 13px; color: var(--lhsm-muted); }
.STHSPHPTeamStat_Main .tablesorter tbody td.lhsm-yn.yes::after { color: #1E8E3E; font-weight: 700; }

/* ---------- Sommaires de match (LHSM-##.html) ----------
   Le sommaire charge aussi ce fichier : ces règles s'appliquent qu'il soit ouvert seul ou dans le site.
   Les éléments « lhsm-bs-... » sont créés par STHSMenuEnd.php quand le sommaire est ouvert dans le site. */
body:has(.STHSBoxScore_GoalsTable) { background: #FFFFFF; color: var(--lhsm-text); font-family: 'Barlow', sans-serif; margin: 0; padding: 16px; box-sizing: border-box; }
.STHSBoxScore_Result { text-align: center; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 34px; text-transform: uppercase; color: var(--lhsm-text); }
.STHSBoxScore_NowTime { text-align: center; font-weight: 500; font-size: 13px; color: var(--lhsm-muted); }
html.lhsm-bs .STHSBoxScore_Result, html.lhsm-bs .STHSBoxScore_NowTime { display: none; }
/* Tableau de score */
.lhsm-bs-top { margin: 4px auto 14px; text-align: center; }
.lhsm-bs-score { display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap; }
.lhsm-bs-team { display: flex; align-items: center; gap: 12px; }
.lhsm-bs-team.right { flex-direction: row-reverse; }
.lhsm-bs-team img { width: 64px; height: 64px; object-fit: contain; }
.lhsm-bs-name { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 28px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-bs-goals { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 56px; line-height: 1; color: var(--lhsm-muted); min-width: 40px; }
.lhsm-bs-team.win .lhsm-bs-name { color: var(--lhsm-text); }
.lhsm-bs-team.win .lhsm-bs-goals { color: var(--lhsm-red); }
.lhsm-bs-dash { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 40px; color: #A3AFBF; }
.lhsm-bs-sub { margin-top: 4px; font-size: 13px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-muted); }
/* Buts et tirs par période */
.STHSBoxScore_GoalsShotsMainTable { width: auto !important; margin: 0 auto 16px; border-collapse: separate; border-spacing: 12px 0; }
.STHSBoxScore_GoalsShotsMainTable > tbody > tr > td { vertical-align: top; }
.STHSBoxScore_GoalsTable, .STHSBoxScore_ShotsTable { border: 1px solid var(--lhsm-line); border-radius: 10px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #FFFFFF; font-family: 'Barlow', sans-serif; font-size: 14px; }
.STHSBoxScore_GoalsTable th, .STHSBoxScore_ShotsTable th { padding: 6px 10px; background: #F3F6F9 !important; color: var(--lhsm-red-dark) !important; font-family: 'Barlow Condensed', sans-serif; font-size: 15px; font-weight: 800; text-transform: uppercase; text-align: left; border-bottom: 2px solid var(--lhsm-red); }
.STHSBoxScore_GoalsTable td, .STHSBoxScore_ShotsTable td { padding: 5px 10px; border-bottom: 1px solid #EEF2F6; text-align: center; }
.STHSBoxScore_GoalsTable td:first-child, .STHSBoxScore_ShotsTable td:first-child { text-align: left; font-weight: 700; white-space: nowrap; }
.STHSBoxScore_GoalsTable img, .STHSBoxScore_ShotsTable img { width: 22px; height: 22px; object-fit: contain; vertical-align: middle; margin-right: 6px; }
.STHSBoxScore_GoalsTotal, .STHSBoxScore_ShotsTotal { font-weight: 800; }
/* Onglets du sommaire */
.tabsmain:has(.STHSBoxScore_MainDiv) .tabmain-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; padding: 0; margin: 0 0 16px; border-bottom: 2px solid #DCE3EC; }
.tabsmain:has(.STHSBoxScore_MainDiv) .tabmain-links li { margin: 0; font-size: 100%; }
.tabsmain:has(.STHSBoxScore_MainDiv) .tabmain-links a,
.tabsmain:has(.STHSBoxScore_MainDiv) .tabmain-links li.activemain a { min-height: 0; padding: 9px 14px 8px; margin-bottom: -2px; border-radius: 0; border-bottom: 3px solid transparent; background: transparent !important; font-family: 'Barlow Condensed', sans-serif; font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--lhsm-muted) !important; }
.tabsmain:has(.STHSBoxScore_MainDiv) .tabmain-links li.activemain a { color: var(--lhsm-red) !important; border-bottom-color: var(--lhsm-red); }
.tabsmain:has(.STHSBoxScore_MainDiv) .tabmain-links a:hover { background: #FFF1F3 !important; color: var(--lhsm-red) !important; }
.STHSBoxScore_MainDiv { max-width: 1100px; margin: 0 auto; }
/* Onglet Sommaire en cartes */
.lhsm-bs-sum { display: flex; flex-direction: column; gap: 12px; }
.lhsm-bs-card { padding: 10px 14px 12px; background: #FFFFFF; border: 1.5px solid var(--lhsm-line); border-radius: 12px; }
.lhsm-bs-h { margin: 0 0 8px; padding-bottom: 4px; border-bottom: 2px solid var(--lhsm-red); font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-red-dark); }
.lhsm-bs-cols { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 16px; }
.lhsm-bs-cols h4 { margin: 0 0 4px; font-size: 11.5px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-bs-goal, .lhsm-bs-pen, .lhsm-bs-goalie, .lhsm-bs-star { display: flex; align-items: center; gap: 8px; padding: 4px 0; border-bottom: 1px solid #EEF2F6; font-size: 14px; line-height: 1.35; }
.lhsm-bs-goal:last-child, .lhsm-bs-pen:last-child, .lhsm-bs-goalie:last-child, .lhsm-bs-star:last-child { border-bottom: 0; }
.lhsm-bs-pen { font-size: 13px; color: var(--lhsm-muted); }
.lhsm-bs-time { flex: 0 0 42px; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 15px; color: var(--lhsm-muted); }
img.lhsm-bs-logo { width: 22px; height: 22px; object-fit: contain; flex: 0 0 22px; }
.lhsm-bs-tag { margin-left: auto; padding: 1px 7px; border-radius: 999px; background: var(--lhsm-red); color: #FFFFFF; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 12px; }
.lhsm-bs-none { font-size: 13px; color: #A3AFBF; padding: 4px 0; }
.lhsm-bs-goalie b, .lhsm-bs-star b { font-weight: 700; }
.lhsm-bs-goalie small { margin-left: auto; color: var(--lhsm-muted); }
.lhsm-bs-res { padding: 1px 7px; border-radius: 999px; color: #FFFFFF; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 13px; }
.lhsm-bs-res.win { background: #1E8E3E; }
.lhsm-bs-res.loss { background: var(--lhsm-red); }
.lhsm-bs-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.lhsm-bs-starn { flex: 0 0 48px; color: #F2B705; letter-spacing: 1px; }
.lhsm-bs-off div, .lhsm-bs-note div { padding: 3px 0; font-size: 14px; }
details.lhsm-bs-fin summary { cursor: pointer; margin-bottom: 0; }
details.lhsm-bs-fin[open] summary { margin-bottom: 8px; }
details.lhsm-bs-fin div { padding: 3px 0; font-size: 13.5px; color: var(--lhsm-text); }
.lhsm-bs-strong { font-weight: 700; }
/* Tableaux du sommaire (stats, trios) */
.STHSBoxScore_MainDiv table.tablesorter { font-family: 'Barlow', sans-serif; font-size: 13px; border-color: #DCE3EC; }
.STHSBoxScore_MainDiv table.tablesorter thead th { background-color: #F3F6F9 !important; color: var(--lhsm-text) !important; border-bottom: 2px solid var(--lhsm-red); font-family: 'Barlow Condensed', sans-serif; font-size: 13px; text-transform: uppercase; text-shadow: none; padding: 6px 16px 6px 6px; }
.STHSBoxScore_MainDiv table.tablesorter tbody td { padding: 5px 6px; border-color: #E3E8EF; }
.STHSBoxScore_MainDiv table.tablesorter tbody tr:nth-child(even) { background: #F7F9FB; }
.STHSBoxScore_MainDiv table.tablesorter tbody td a { color: var(--lhsm-text); font-weight: 600; text-decoration: none; }
.STHSBoxScore_PlayerStatTitle, .STHSBoxScore_TeamLine { margin: 16px 0 6px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 20px; text-transform: uppercase; color: var(--lhsm-text); }
.STHSBoxScore_PlayerStatTitle img, .STHSBoxScore_TeamLine img { width: 28px; height: 28px; object-fit: contain; vertical-align: middle; margin-right: 8px; }
.STHSBoxScore_Lines_Table { width: 100%; border: 1.5px solid var(--lhsm-line); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #FFFFFF; font-family: 'Barlow', sans-serif; font-size: 13.5px; }
.STHSBoxScore_Lines_Table th { padding: 6px 8px; background: #F3F6F9 !important; color: var(--lhsm-text) !important; font-family: 'Barlow Condensed', sans-serif; font-size: 12px; text-transform: uppercase; border-bottom: 1px solid #DCE3EC; }
.STHSBoxScore_Lines_Table tr:first-child th[colspan], .STHSBoxScore_Lines_Table tr.lhsm-line-title th { background: #FFFFFF !important; color: var(--lhsm-red-dark) !important; text-align: left; font-size: 16px; font-weight: 800; border-bottom: 2px solid var(--lhsm-red); padding: 8px 12px 6px; }
.STHSBoxScore_Lines_Table td { padding: 6px 8px; border-bottom: 1px solid #EEF2F6; text-align: center; }
.STHSBoxScore_Lines_Table tr:last-child td { border-bottom: 0; }
.lhsm-bs-lines { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; align-items: start; margin-bottom: 10px; }
.lhsm-bs-lines .lhsm-bs-wide { grid-column: 1 / -1; }
/* Jeu par jeu */
.STHSBoxScore_PlayByPlayTitle { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 22px; text-transform: uppercase; }
.lhsm-bs-pbp h3 { margin-top: 14px; }
.lhsm-bs-pbp-list { list-style: none; margin: 0; padding: 0; border: 1.5px solid var(--lhsm-line); border-radius: 12px; overflow: hidden; }
.lhsm-bs-pbp-list li { display: flex; gap: 12px; padding: 4px 12px; border-bottom: 1px solid #EEF2F6; font-size: 13.5px; line-height: 1.4; }
.lhsm-bs-pbp-list li:nth-child(even) { background: #F7F9FB; }
.lhsm-bs-pbp-list li.goal { background: #FFF1F3; font-weight: 700; color: var(--lhsm-red-dark); }
.lhsm-bs-pbp-list li.recap { background: #F3F6F9; font-weight: 600; }
@media (max-width: 700px) {
  .lhsm-bs-cols, .lhsm-bs-two, .lhsm-bs-lines { grid-template-columns: minmax(0, 1fr); }
  .lhsm-bs-team img { width: 44px; height: 44px; }
  .lhsm-bs-goals { font-size: 40px; }
  .lhsm-bs-name { font-size: 20px; }
}
/* Sommaire : duel des stats d'équipe */
.lhsm-bs-duel { max-width: 760px; margin: 0 auto 18px; }
.lhsm-bs-duel-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 8px; margin-bottom: 4px; border-bottom: 2px solid var(--lhsm-red); }
.lhsm-bs-duel-team { display: flex; align-items: center; gap: 10px; font-family: 'Barlow Condensed', sans-serif; font-size: 22px; font-weight: 800; text-transform: uppercase; color: var(--lhsm-text); }
.lhsm-bs-duel-team.right { flex-direction: row-reverse; }
.lhsm-bs-duel-team img { width: 40px; height: 40px; object-fit: contain; }
.lhsm-bs-duel-vs { font-size: 13px; font-weight: 700; color: var(--lhsm-muted); text-transform: uppercase; }
.lhsm-bs-duel-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) 110px; align-items: center; gap: 12px; padding: 6px 0; border-bottom: 1px solid #EEF2F6; }
.lhsm-bs-duel-row:last-child { border-bottom: 0; }
.lhsm-bs-duel-val { font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 700; color: var(--lhsm-muted); white-space: nowrap; }
.lhsm-bs-duel-val.right { text-align: right; }
.lhsm-bs-duel-val.best { color: var(--lhsm-text); font-weight: 800; }
.lhsm-bs-duel-mid { text-align: center; }
.lhsm-bs-duel-lab { display: block; font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-bs-duel-bar { display: flex; gap: 3px; height: 6px; margin-top: 4px; }
.lhsm-bs-duel-bar i { display: block; height: 100%; border-radius: 3px; background: #DCE3EC; }
.lhsm-bs-duel-bar i.best { background: var(--lhsm-red); }
/* Sommaire : tableaux des joueurs */
.STHSBoxScore_MainDiv table.STHSPHPBoxScoreTeamStat_Table tbody td.lhsm-bs-zero { color: #B8C2CF; }
.STHSBoxScore_MainDiv table.STHSPHPBoxScoreTeamStat_Table tbody tr.lhsm-bs-scorer td { font-weight: 700; }
.STHSBoxScore_MainDiv table.STHSPHPBoxScoreTeamStat_Table tbody td { text-align: center; white-space: nowrap; }
.STHSBoxScore_MainDiv table.STHSPHPBoxScoreTeamStat_Table tbody td:first-child { text-align: left; }
@media (max-width: 700px) { .lhsm-bs-duel-row { grid-template-columns: 80px minmax(0, 1fr) 80px; } }
/* Sommaire : cadre gris autour des onglets retiré */
.STHSBoxScore_MainDiv { box-shadow: none !important; border: 0 !important; background: transparent !important; }
/* Sommaire : trios avec le même look que l'onglet Lignes des pages d'équipe */
html.lhsm-bs .lhsm-bs-lines { gap: 14px 16px; }
/* STHS centre ces tableaux (margin: auto) : dans la grille, ça les décalait verticalement */
html.lhsm-bs table.lhsm-line-card, .lhsm-bs-lines > table { width: 100%; margin: 0 !important; align-self: start; }
.STHSBoxScore_MainDiv:has(.lhsm-bs-lines) { max-width: 1280px; }
html.lhsm-bs table.lhsm-line-card tr.lhsm-line-title th { padding: 8px 12px 6px; text-align: left; font-size: 18px; letter-spacing: .5px; }
html.lhsm-bs table.lhsm-line-card td { padding: 6px 8px; font-size: 14px; font-weight: 600; color: var(--lhsm-text); }
html.lhsm-bs table.lhsm-line-card.lhsm-line-num td:first-child { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 18px; color: var(--lhsm-red); }
.lhsm-chips .lhsm-chip { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #F3F6F9; border: 1px solid #DCE3EC; font-size: 13.5px; font-weight: 600; color: var(--lhsm-text); }
.lhsm-chips .lhsm-chip small { font-weight: 500; color: var(--lhsm-muted); }
/* Sommaire : trios alignés — mêmes hauteurs de cartes et de rangées dans chaque paire */
html.lhsm-bs .lhsm-bs-lines { align-items: stretch; }
html.lhsm-bs .lhsm-bs-lines > table { height: 100%; }
html.lhsm-bs .lhsm-bs-lines table.lhsm-line-card td, html.lhsm-bs .lhsm-bs-lines table.lhsm-line-card th { white-space: nowrap; }
html.lhsm-bs .lhsm-bs-lines table.lhsm-line-card td { padding: 6px 7px; }
html.lhsm-bs .lhsm-bs-lines table.lhsm-line-card th { padding: 6px 5px; }
html.lhsm-bs .lhsm-bs-lines .lhsm-chips, html.lhsm-bs .lhsm-bs-lines tr.lhsm-line-title th { white-space: normal; }
@media (max-width: 1250px) { html.lhsm-bs .lhsm-bs-lines table.lhsm-line-card td { white-space: normal; } }
/* Finance : aréna, une carte par niveau */
.lhsm-lv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; margin-bottom: 4px; }
.lhsm-lv { padding: 8px 12px 10px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 8px; }
.lhsm-lv.total { background: #F7F9FB; }
.lhsm-lv h4 { margin: 0 0 4px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; text-transform: uppercase; color: var(--lhsm-text); }
.lhsm-lv-row { display: flex; justify-content: space-between; gap: 8px; padding: 2px 0; font-size: 12.5px; color: var(--lhsm-muted); }
.lhsm-lv-row b { font-size: 14px; color: var(--lhsm-text); white-space: nowrap; }
.lhsm-lv-pct { margin-top: 6px; font-size: 12px; font-weight: 600; color: var(--lhsm-muted); }
.lhsm-lv-bar { height: 6px; margin-top: 3px; border-radius: 3px; background: #E6EBF1; overflow: hidden; }
.lhsm-lv-bar i { display: block; height: 100%; background: #E07B00; border-radius: 3px; }
.lhsm-lv-bar i.full { background: #1E8E3E; }
.lhsm-lv-bar i.low { background: var(--lhsm-red); }

/* ---------- Pages d'équipe : Profondeur ---------- */
.lhsm-subtabs { margin: 4px 0 14px; }
.lhsm-subsec[hidden] { display: none; }
.lhsm-depth { display: flex; flex-direction: column; gap: 16px; }
.lhsm-dp-two { display: flex; flex-direction: column; gap: 16px; }
.lhsm-dp-card { min-width: 0; }
table.lhsm-dp-table { width: 100%; border: 1.5px solid var(--lhsm-line); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #FFFFFF; font-family: 'Barlow', sans-serif; }
table.lhsm-dp-table th { padding: 7px 8px; background: #F3F6F9; color: var(--lhsm-text); font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; text-transform: uppercase; border-bottom: 2px solid var(--lhsm-red); text-align: left; }
table.lhsm-dp-table td { padding: 4px 6px; border-bottom: 1px solid #EEF2F6; vertical-align: middle; }
table.lhsm-dp-table tr:last-child td { border-bottom: 0; }
td.lhsm-dp-n { width: 54px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 14px; color: var(--lhsm-red); white-space: nowrap; text-transform: uppercase; }
.lhsm-dp { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 8px; padding: 3px 4px; }
.lhsm-dp.empty { display: block; color: #C7D1DD; text-align: center; }
.lhsm-dp-name { grid-column: 1; font-size: 14px; font-weight: 700; color: var(--lhsm-text); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-dp-name:hover { color: var(--lhsm-red); }
.lhsm-dp-meta { grid-column: 1; font-size: 11.5px; color: var(--lhsm-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-dp-ov { grid-column: 2; grid-row: 1 / span 2; align-self: center; min-width: 30px; padding: 3px 6px; border-radius: 8px; background: #F3F6F9; border: 1px solid #DCE3EC; text-align: center; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 16px; color: var(--lhsm-text); }
.lhsm-dp-note { margin: 0; font-size: 12.5px; color: var(--lhsm-muted); }
.STHSPHPTeamStat_Main table.lhsm-draft { width: 100%; border: 1.5px solid var(--lhsm-line); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.STHSPHPTeamStat_Main table.lhsm-draft td { padding: 6px 8px; border-bottom: 1px solid #EEF2F6; }
.STHSPHPTeamStat_Main table.lhsm-draft td:first-child { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; color: var(--lhsm-red); }
.STHSPHPTeamStat_Main table.lhsm-draft img { width: 26px; height: 26px; object-fit: contain; margin: 1px; }
@media (max-width: 900px) { .lhsm-dp-two { grid-template-columns: minmax(0, 1fr); } }
/* Profondeur : espoirs en cartes */
.lhsm-pros { display: flex; flex-direction: column; gap: 6px; }
.lhsm-pros .lhsm-fin-title { margin-top: 8px; }
.lhsm-pros-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 6px; }
.lhsm-pro { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 8px; align-items: center; padding: 6px 10px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 8px; }
.lhsm-pro-name { font-size: 14px; font-weight: 700; color: var(--lhsm-text); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.lhsm-pro-name:hover { color: var(--lhsm-red); }
.lhsm-pro-pick { grid-column: 2; grid-row: 1 / span 2; min-width: 30px; padding: 3px 6px; border-radius: 8px; background: #FFF1F3; color: var(--lhsm-red); text-align: center; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 16px; }
.lhsm-pro-sub { grid-column: 1; font-size: 11.5px; color: var(--lhsm-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-pro-link { grid-column: 1; font-size: 12px; color: var(--lhsm-red); }
details.lhsm-pros-table { margin-top: 14px; }
details.lhsm-pros-table summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--lhsm-red); }
/* Profondeur : gardiens en grille sous les défenseurs */
.lhsm-dp-goalies { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(var(--lhsm-grows, 4), auto); grid-auto-flow: column; gap: 6px; }
@media (max-width: 900px) { .lhsm-dp-goalies { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; } }
.lhsm-dp-gitem { display: flex; align-items: center; gap: 6px; padding: 2px 8px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 8px; }
.lhsm-dp-gitem .lhsm-dp-n { flex: 0 0 28px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 15px; color: var(--lhsm-red); }
.lhsm-dp-gitem .lhsm-dp { flex: 1 1 auto; min-width: 0; }
/* Espoirs : tableau complet allégé */
.STHSPHPTeamStat_Main table.lhsm-pros-full .lhsm-hidecol, .STHSPHPTeamStat_Main .lhsm-hidecol { display: none !important; }
.STHSPHPTeamStat_Main table.lhsm-pros-full { width: 100%; max-width: 760px; }
.STHSPHPTeamStat_Main table.lhsm-pros-full thead th { white-space: nowrap; }
.STHSPHPTeamStat_Main table.lhsm-pros-full tbody td { padding: 7px 10px; }
.STHSPHPTeamStat_Main table.lhsm-pros-full tbody td { text-align: center; }
.STHSPHPTeamStat_Main table.lhsm-pros-full tbody td:first-child { text-align: left; font-weight: 700; }
/* Cadres gris STHS (ombre + bordure) retirés partout */
.tabmain-content, .tabmenu-content, .STHSPHPTeam_HomeDiv, .STHSPHPPlayerStat_Tabmain-content, .STHSBoxScore_MainDiv { box-shadow: none !important; border: 0 !important; }
.STHSPHPPlayerStat_Tabmain-content { background: transparent !important; }

/* ---------- Pages d'équipe : Choix au repêchage en cartes ---------- */
.lhsm-dpk .lhsm-fin-grid { max-width: 480px; }
.lhsm-dpk-years { display: flex; flex-direction: column; gap: 14px; }
.lhsm-dpk-rounds { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.lhsm-dpk-rd { display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding: 6px 7px 8px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 8px; min-width: 0; }
.lhsm-dpk-n { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 20px; line-height: 1; color: var(--lhsm-red); }
.lhsm-dpk-chip { display: flex; align-items: center; gap: 5px; padding: 3px 8px 3px 4px; border-radius: 999px; background: #F3F6F9; border: 1px solid #DCE3EC; font-size: 12.5px; font-weight: 600; color: var(--lhsm-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.lhsm-dpk-chip > span { overflow: hidden; text-overflow: ellipsis; }
.lhsm-dpk-chip img { width: 20px !important; height: 20px !important; object-fit: contain; flex: none; margin: 0 !important; }
.lhsm-dpk-chip.own { align-self: flex-start; padding: 3px; background: transparent; border-color: transparent; }
.lhsm-dpk-chip.own img { width: 24px !important; height: 24px !important; }
.lhsm-dpk-chip.acq { background: #FDECEF; border-color: #F0B3BE; color: var(--lhsm-red-dark); font-weight: 700; }
.lhsm-dpk-cond { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.lhsm-dpk-cond .lhsm-dpk-chip { flex: none; }
.lhsm-dpk-note { font-size: 13px; color: var(--lhsm-muted); }
.lhsm-dpk-chip.ced { justify-content: center; padding: 3px 8px; background: transparent; border-style: dashed; color: #9AA6B5; text-decoration: line-through; font-weight: 500; }
@media (max-width: 900px) { .lhsm-dpk-rounds { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 520px) { .lhsm-dpk-rounds { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Matchs du jour (TodayGames.php) ---------- */
html.lhsm-today-page #STHSPortraitOverlay { display: none !important; }
.STHSTodayGame_MainDiv { width: auto !important; max-width: 1200px; margin: 0 auto !important; padding: 0 16px; box-sizing: border-box; }
.lhsm-today { display: flex; flex-direction: column; gap: 22px; margin: 18px 0 30px; font-family: 'Barlow', sans-serif; }
.lhsm-today-head { display: flex; flex-direction: column; gap: 6px; }
.lhsm-today-head h1 { margin: 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 32px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-text); }
.lhsm-today-head .lhsm-updated { margin-bottom: 0; }
.lhsm-today-sec .lhsm-fin-title small { font-size: 14px; font-weight: 700; color: var(--lhsm-muted); text-transform: none; letter-spacing: 0; }
.lhsm-tg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.lhsm-tg-card { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 10px; min-width: 0; }
.lhsm-tg-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 6px; margin-bottom: 2px; border-bottom: 1px solid #EEF2F6; }
.lhsm-tg-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 15px; letter-spacing: .4px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-tg-status { font-size: 11px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-muted); padding: 2px 8px; border-radius: 999px; background: #F3F6F9; }
.lhsm-tg-status.final { background: var(--lhsm-text); color: #FFFFFF; }
.lhsm-tg-team { display: flex; align-items: center; gap: 10px; padding: 5px 0; min-width: 0; }
.lhsm-tg-team img { width: 34px; height: 34px; object-fit: contain; flex: none; }
.lhsm-tg-who { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.15; }
.lhsm-tg-name { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 19px; text-transform: uppercase; color: var(--lhsm-text) !important; text-decoration: none !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.lhsm-tg-name:hover { color: var(--lhsm-red) !important; }
.lhsm-tg-who small { font-size: 12px; font-weight: 600; color: var(--lhsm-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-tg-score { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 28px; line-height: 1; color: var(--lhsm-text); min-width: 28px; text-align: right; }
.lhsm-tg-team.loss .lhsm-tg-name, .lhsm-tg-team.loss .lhsm-tg-score { color: #8C99AA !important; font-weight: 600; }
.lhsm-tg-team.win .lhsm-tg-score { color: var(--lhsm-red); }
.lhsm-tg-team .lhsm-sched-pill { flex: none; }
.lhsm-tg-link { align-self: flex-start; margin-top: 6px; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--lhsm-red); color: var(--lhsm-red) !important; font-size: 13px; font-weight: 700; text-decoration: none !important; }
.lhsm-tg-link:hover { background: var(--lhsm-red); color: #FFFFFF !important; }
@media (max-width: 520px) { .lhsm-tg-grid { grid-template-columns: minmax(0, 1fr); } .STHSTodayGame_MainDiv { padding: 0 10px; } }

/* ---------- Transactions (Transaction.php) ---------- */
.STHSTransaction_MainDiv { width: auto !important; max-width: 1000px; margin: 0 auto !important; padding: 0 16px; box-sizing: border-box; }
.lhsm-tx { display: flex; flex-direction: column; gap: 14px; margin: 18px 0 30px; font-family: 'Barlow', sans-serif; }
.lhsm-tx .lhsm-today-head { gap: 10px; }
.lhsm-tx .lhsm-today-head h1 { margin: 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 32px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-text); }
.lhsm-tx a.lhsm-sched-f { text-decoration: none !important; display: inline-block; }
.lhsm-tx button.lhsm-sched-f#ReQuery { margin: 0; box-shadow: none; height: auto; line-height: normal; }
.lhsm-tx-filters .lhsm-sched-f small { margin-left: 2px; font-size: 12px; font-weight: 700; opacity: .7; }
.lhsm-tx-search { padding: 12px 14px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 10px; }
.lhsm-tx-search table { width: auto !important; border: 0 !important; }
.lhsm-tx-search td { padding: 4px 10px 4px 0 !important; border: 0 !important; background: transparent !important; font-size: 14px; font-weight: 600; color: var(--lhsm-text); }
.lhsm-tx-search select { padding: 5px 8px; border: 1.5px solid var(--lhsm-line); border-radius: 8px; font-family: 'Barlow', sans-serif; font-size: 14px; }
.lhsm-tx-search .SubmitButton { padding: 6px 18px; border: 0; border-radius: 999px; background: var(--lhsm-red); color: #FFFFFF; font-family: 'Barlow', sans-serif; font-weight: 700; cursor: pointer; }
.lhsm-tx-days { display: flex; flex-direction: column; gap: 6px; }
.lhsm-tx-days .lhsm-fin-title { margin-top: 10px; }
.lhsm-tx-days .lhsm-fin-title small { font-size: 14px; font-weight: 700; color: var(--lhsm-muted); letter-spacing: 0; }
.lhsm-tx-list { list-style: none; margin: 0; padding: 0; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 10px; overflow: hidden; }
.lhsm-tx-item { display: flex; align-items: flex-start; gap: 12px; padding: 10px 14px; border-bottom: 1px solid #EEF2F6; border-left: 4px solid transparent; }
.lhsm-tx-item:last-child { border-bottom: 0; }
.lhsm-tx-ic { flex: none; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #F3F6F9; }
.lhsm-tx-ic.glyph { font-size: 16px; font-weight: 800; color: var(--lhsm-muted); }
.lhsm-tx-ic img { width: 30px; height: 30px; object-fit: contain; }
.lhsm-tx-body { min-width: 0; flex: 1; }
.lhsm-tx-meta { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }
.lhsm-tx-meta time { font-size: 12.5px; font-weight: 700; color: var(--lhsm-muted); }
.lhsm-tx-cat { font-size: 10.5px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; padding: 1px 7px; border-radius: 999px; background: #F3F6F9; color: var(--lhsm-muted); }
.lhsm-tx-text { font-size: 14.5px; line-height: 1.4; color: var(--lhsm-text); overflow-wrap: anywhere; }
.lhsm-tx-item.cat-trade { border-left-color: var(--lhsm-red); }
.lhsm-tx-item.cat-trade .lhsm-tx-text { font-weight: 700; }
.lhsm-tx-item.cat-trade .lhsm-tx-cat { background: var(--lhsm-red); color: #FFFFFF; }
.lhsm-tx-item.cat-move .lhsm-tx-cat { background: #E6F0FB; color: #1F5FA8; }
.lhsm-tx-item.cat-injury .lhsm-tx-cat { background: #FDECEF; color: var(--lhsm-red-dark); }
.lhsm-tx-item.cat-lines .lhsm-tx-cat { background: #FFF4DB; color: #8A5A00; }
.lhsm-tx-item.cat-feat .lhsm-tx-cat { background: #E7F5EC; color: #1E7A3A; }
.lhsm-tx-details summary { margin-top: 3px; cursor: pointer; font-size: 13px; font-weight: 700; color: var(--lhsm-red); }
.lhsm-tx-details ul { margin: 6px 0 0; padding-left: 18px; columns: 2 220px; column-gap: 24px; font-size: 13px; color: var(--lhsm-muted); }
.lhsm-tx-details li { break-inside: avoid; margin-bottom: 2px; }
.lhsm-tx-empty { padding: 16px; background: #FFFFFF; border: 1px dashed var(--lhsm-line); border-radius: 10px; color: var(--lhsm-muted); }
.lhsm-tx > .lhsm-more { align-self: flex-start; }
@media (max-width: 520px) { .STHSTransaction_MainDiv { padding: 0 10px; } .lhsm-tx-item { padding: 9px 10px; gap: 10px; } }

/* ---------- Recherche (Search.php) ---------- */
.STHSSearch_MainDiv { width: auto !important; max-width: 1100px; margin: 0 auto !important; padding: 0 16px; box-sizing: border-box; }
.lhsm-srch { display: flex; flex-direction: column; gap: 14px; margin: 18px 0 30px; font-family: 'Barlow', sans-serif; }
.lhsm-srch .lhsm-today-head h1 { margin: 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 32px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-text); }
.lhsm-srch-feat { padding: 12px 16px 14px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 12px; }
.lhsm-srch-feat .lhsm-srch-field { max-width: 520px; }
.lhsm-srch-feat .lhsm-srch-field > span { display: none; }
.lhsm-srch-feat input[type=text] { font-size: 16px !important; padding: 9px 14px !important; border-radius: 999px !important; }
#PlayersLiveSearch { margin-top: 6px; font-size: 14px; }
#PlayersLiveSearch a { color: var(--lhsm-text); font-weight: 600; }
.lhsm-srch-grid[hidden], .lhsm-tg-grid[hidden], .lhsm-dpk-rounds[hidden] { display: none !important; }
.lhsm-srch-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 8px; align-items: start; }
.lhsm-srch-grp { grid-column: 1 / -1; margin: 10px 0 0; }
.lhsm-srch-grid > .lhsm-srch-grp:first-child { margin-top: 0; }
.lhsm-srch-card { background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 10px; overflow: hidden; }
.lhsm-srch-card[open] { grid-column: 1 / -1; border-color: var(--lhsm-red); }
.lhsm-srch-card summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 14px; cursor: pointer; list-style: none; }
.lhsm-srch-card summary::-webkit-details-marker { display: none; }
.lhsm-srch-card summary::after { content: '\203A'; font-size: 22px; line-height: 1; color: var(--lhsm-muted); transition: transform .15s; }
.lhsm-srch-card[open] summary::after { transform: rotate(90deg); color: var(--lhsm-red); }
.lhsm-srch-card summary:hover .lhsm-srch-t { color: var(--lhsm-red); }
.lhsm-srch-t { flex: 1; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 17px; text-transform: uppercase; letter-spacing: .3px; color: var(--lhsm-text); }
.lhsm-srch-card summary small { font-size: 12px; font-weight: 600; color: var(--lhsm-muted); white-space: nowrap; }
.lhsm-srch-body { padding: 4px 14px 14px; border-top: 1px solid #EEF2F6; }
.lhsm-srch-fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px 14px; margin-top: 10px; }
.lhsm-srch-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lhsm-srch-field > span { font-size: 11.5px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-srch select, .lhsm-srch input[type=text] { width: 100% !important; box-sizing: border-box; padding: 7px 10px; border: 1.5px solid var(--lhsm-line); border-radius: 8px; background: #FFFFFF; font-family: 'Barlow', sans-serif; font-size: 14px; color: var(--lhsm-text); }
.lhsm-srch select:focus, .lhsm-srch input[type=text]:focus { outline: none; border-color: var(--lhsm-red); }
.lhsm-srch-opts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.lhsm-srch-chk { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px 5px 9px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; background: #FFFFFF; font-size: 13.5px; font-weight: 600; color: var(--lhsm-text); cursor: pointer; user-select: none; }
.lhsm-srch-chk input { margin: 0; accent-color: var(--lhsm-red); }
.lhsm-srch-chk:has(input:checked) { border-color: var(--lhsm-red); background: #FDECEF; color: var(--lhsm-red-dark); }
.lhsm-srch-act { margin-top: 14px; }
.lhsm-srch-go { padding: 8px 22px; border: 0; border-radius: 999px; background: var(--lhsm-red); color: #FFFFFF; font-family: 'Barlow', sans-serif; font-size: 14px; font-weight: 700; cursor: pointer; }
.lhsm-srch-go:hover { background: var(--lhsm-red-dark); }
@media (max-width: 520px) { .STHSSearch_MainDiv { padding: 0 10px; } .lhsm-srch-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Fiche joueur / gardien (PlayerReport.php, GoalieReport.php) ---------- */
html.lhsm-pr-page .STHSPHPPlayerStat_Main { max-width: 1280px; }
.lhsm-pr-shot { position: relative; overflow: visible; }
.lhsm-pr-shot > img:first-child { width: 104px; height: 104px; border-radius: 50%; object-fit: cover; object-position: top; }
.lhsm-pr-shot.initials { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 40px; color: var(--lhsm-muted); }
.lhsm-pr-badge { position: absolute; right: -6px; bottom: -6px; width: 44px !important; height: 44px !important; padding: 3px; border-radius: 50%; background: #FFFFFF; border: 1.5px solid #DCE3EC; object-fit: contain; box-sizing: border-box; }
.lhsm-pr-hero .lhsm-th-kicker a { color: var(--lhsm-red-dark); text-decoration: none; }
.lhsm-pr-hero .lhsm-th-kicker a:hover { text-decoration: underline; }
.lhsm-pr-hero .lhsm-th-name { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; }
.lhsm-pr-select { max-width: 260px; padding: 5px 30px 5px 12px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; background: #FFFFFF; font-family: 'Barlow', sans-serif; font-size: 13px; font-weight: 600; color: var(--lhsm-text); cursor: pointer; }
.lhsm-pr-select:hover { border-color: var(--lhsm-red); }
.lhsm-pr-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.lhsm-pr-pill { display: inline-block; padding: 5px 12px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--lhsm-text) !important; text-decoration: none !important; }
.lhsm-pr-pill:hover { border-color: var(--lhsm-red); color: var(--lhsm-red) !important; }
.lhsm-pr-hero .lhsm-th-stats { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); flex-basis: 480px; }
.lhsm-pr-ratings { margin: 18px 0 6px; }
.lhsm-pr-rgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 8px; }
.lhsm-pr-rate { padding: 8px 10px 7px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 8px; min-width: 0; }
.lhsm-pr-rtop { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.lhsm-pr-rtop span { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .2px; color: var(--lhsm-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-pr-rtop b { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 22px; line-height: 1; color: var(--lhsm-text); }
.lhsm-pr-bar { display: block; height: 5px; margin: 5px 0 3px; border-radius: 3px; background: #E6EBF1; overflow: hidden; }
.lhsm-pr-bar > i { display: block; height: 100%; border-radius: 3px; background: #8C99AA; }
.lhsm-pr-rate.hi .lhsm-pr-bar > i { background: var(--lhsm-red); }
.lhsm-pr-rate.hi .lhsm-pr-rtop b { color: var(--lhsm-red); }
.lhsm-pr-rate.lo .lhsm-pr-rtop b { color: #8C99AA; }
.lhsm-pr-rate small { font-size: 11px; font-weight: 600; color: var(--lhsm-muted); }
.lhsm-pr .STHSPHPPlayerStat_TabHeader { display: none; }
.lhsm-pr .lhsm-pr-tab { margin-top: 4px; }
.lhsm-pr .lhsm-fin-tile.yes b { color: #1E8E3E; }
.lhsm-pr .lhsm-fin-tile b { white-space: normal; overflow: visible; }
.lhsm-pr .tabmain { padding-top: 6px; }
@media (max-width: 640px) { .lhsm-pr-shot > img:first-child { width: 84px; height: 84px; } .lhsm-pr-rgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* ---------- Fiche joueur : stats compactes (sections côte à côte, petites cases) ---------- */
.lhsm-pr .lhsm-pr-tab { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 14px 18px; align-items: start; }
.lhsm-pr .lhsm-pr-tab .lhsm-fin-title { margin-bottom: 6px; font-size: 15px; }
.lhsm-pr .lhsm-pr-tab .lhsm-fin-grid { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 5px; }
.lhsm-pr .lhsm-pr-tab .lhsm-fin-tile { padding: 5px 8px; }
.lhsm-pr .lhsm-pr-tab .lhsm-fin-lab { font-size: 10px; }
.lhsm-pr .lhsm-pr-tab .lhsm-fin-tile b { font-size: 17px; }
@media (max-width: 640px) { .lhsm-pr .lhsm-pr-tab { grid-template-columns: minmax(0, 1fr); } }
/* ---------- Historique des échanges ---------- */
.lhsm-tl .lhsm-tl-player { font-weight: 700; color: var(--lhsm-red-dark) !important; text-decoration: none; }
.lhsm-tl-list { display: flex; flex-direction: column; gap: 10px; }
.lhsm-tl-card { background: #FFFFFF; border: 1px solid var(--lhsm-line); border-left: 4px solid var(--lhsm-red); border-radius: 10px; padding: 10px 14px 12px; }
.lhsm-tl-date { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.lhsm-tl-date .lhsm-tx-cat { background: var(--lhsm-red); color: #FFFFFF; }
.lhsm-tl-date time { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; text-transform: uppercase; color: var(--lhsm-text); }
.lhsm-tl-body { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px; align-items: start; }
.lhsm-tl-arrow { align-self: center; font-size: 24px; font-weight: 800; color: var(--lhsm-red); }
.lhsm-tl-team { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.lhsm-tl-team img { width: 34px; height: 34px; object-fit: contain; }
.lhsm-tl-team a, .lhsm-tl-team span { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 19px; text-transform: uppercase; color: var(--lhsm-text) !important; text-decoration: none; }
.lhsm-tl-team a:hover { color: var(--lhsm-red) !important; }
.lhsm-tl-team small { font-size: 11px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-tl-items { display: flex; flex-wrap: wrap; gap: 5px; }
.lhsm-tl-chip { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #F3F6F9; border: 1px solid #DCE3EC; font-size: 13.5px; font-weight: 600; color: var(--lhsm-text); }
.lhsm-tl-chip small { font-weight: 600; color: var(--lhsm-muted); }
.lhsm-tl-chip.me { background: #FDECEF; border-color: #F0B3BE; color: var(--lhsm-red-dark); font-weight: 800; }
.lhsm-tl-chip.pick { background: #FFF8E6; border-color: #F2DCA0; }
.lhsm-tl-chip.money { background: #E7F5EC; border-color: #BFE3CB; }
.lhsm-tl-who { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 700; color: var(--lhsm-text); }
.lhsm-tl-who a { color: var(--lhsm-red-dark) !important; text-decoration: none; }
.lhsm-tl-who a:hover { text-decoration: underline; }
.lhsm-tl-chip.pick { border-radius: 12px; }
.lhsm-tl-none { font-size: 13px; color: var(--lhsm-muted); font-style: italic; }
@media (max-width: 640px) { .lhsm-tl-body { grid-template-columns: minmax(0, 1fr); } .lhsm-tl-arrow { transform: rotate(90deg); justify-self: start; } }
/* ---------- Ligue pro / mineure : tableau des meneurs, meneurs individuels, classement, contrats ---------- */
.lhsm-lb { display: flex; flex-direction: column; gap: 8px; margin: 10px 0 24px; }
.lhsm-lb .lhsm-fin-title { margin-top: 10px; }
.lhsm-lb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.lhsm-lb-card { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 12px; min-width: 0; }
.lhsm-lb-shot { flex: none; width: 58px; height: 58px; border-radius: 50%; background: #F3F6F9; border: 1.5px solid #DCE3EC; overflow: hidden; }
.lhsm-lb-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.lhsm-lb-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lhsm-lb-stat { font-size: 11.5px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-lb-player { font-size: 15px; font-weight: 700; color: var(--lhsm-text) !important; text-decoration: none !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-lb-player:hover { color: var(--lhsm-red) !important; }
.lhsm-lb-res { flex: none; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 34px; line-height: 1; color: var(--lhsm-red); }
.lhsm-list .LeaderDiv.lhsm-il { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; align-items: stretch; margin: 8px 0 22px; }
.lhsm-list .lhsm-il > .DivSection { width: auto !important; height: auto !important; margin: 0 !important; float: none !important; display: flex; }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table { width: 100% !important; margin: 0; table-layout: fixed; border: 1px solid var(--lhsm-line); border-radius: 10px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #FFFFFF; align-self: stretch; }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table thead tr:first-child th { background: #FFFFFF !important; border-bottom: 2px solid var(--lhsm-red); padding: 8px 10px; text-align: left !important; }
.lhsm-list .lhsm-il .STHSIndividualLeadersTitle { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-red-dark); }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table thead tr:nth-child(2) th { font-size: 12px; padding: 5px 4px; background-image: none !important; }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table thead tr:nth-child(2) th:first-child { width: 26px; }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table thead tr:nth-child(2) th:nth-child(3) { width: 34px; }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table thead tr:nth-child(2) th:last-child { width: 62px; }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table tbody td { height: 30px; padding: 3px 4px; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table tbody td img { width: 20px; height: 20px; margin-right: 5px; }
.lhsm-list .lhsm-il .lhsm-il-pos { font-size: 11px; font-weight: 600; color: var(--lhsm-muted); }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table tbody td:last-child,
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table tbody td.lhsm-money:last-child::after { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 16px; color: var(--lhsm-text); text-align: center; }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table tbody td.lhsm-money:last-child { font-size: 0; }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table tbody tr:first-child td:last-child,
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table tbody tr:first-child td.lhsm-money:last-child::after { color: var(--lhsm-red); }
.lhsm-list .lhsm-il table.STHSIndividualLeader_Table tbody td:first-child { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; color: var(--lhsm-muted); text-align: center; }
.lhsm-list .lhsm-il .tablesorter-filter-row { display: none !important; }
/* calendrier de la ligue */
.lhsm-lsched { max-width: 900px; }
.lhsm-lsched .lhsm-sched-bar { justify-content: flex-start; }
.lhsm-ls-row { grid-template-columns: 44px minmax(0, 1fr) 96px minmax(0, 1fr) 76px; }
.lhsm-ls-row[hidden] { display: none; }
.lhsm-ls-num { font-size: 11.5px; font-weight: 700; color: var(--lhsm-muted); }
a.lhsm-ls-team { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--lhsm-muted); text-decoration: none; }
a.lhsm-ls-team.right { flex-direction: row-reverse; text-align: right; }
a.lhsm-ls-team img { width: 26px; height: 26px; object-fit: contain; }
a.lhsm-ls-team .lhsm-sched-name { color: var(--lhsm-text); font-size: 17px; }
.lhsm-ls-row.is-played a.lhsm-ls-team:not(.win) .lhsm-sched-name { color: #8C99AA; }
a.lhsm-ls-team:hover .lhsm-sched-name { color: var(--lhsm-red) !important; }
.lhsm-ls-score { display: flex; align-items: center; justify-content: center; gap: 6px; font-family: 'Barlow Condensed', sans-serif; font-size: 19px; color: #8C99AA; }
.lhsm-ls-score b { font-weight: 800; }
.lhsm-ls-score b.w { color: var(--lhsm-text); }
.lhsm-ls-score small { font-family: 'Barlow', sans-serif; font-size: 10.5px; font-weight: 700; text-transform: uppercase; color: #E07B00; }
.lhsm-ls-at { font-size: 13px; font-weight: 700; color: var(--lhsm-muted); }
.lhsm-sched-month.is-nextday { background: #FFF6DB; box-shadow: inset 4px 0 0 #F2B705; }
@media (max-width: 640px) { .lhsm-ls-row { grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1fr) !important; } .lhsm-ls-num, .lhsm-lsched .lhsm-sched-link { display: none; } a.lhsm-ls-team .lhsm-sched-name { font-size: 15px; } }
.lhsm-list h1.STHSProIndividualLeader_Players, .lhsm-list h1.STHSFarmIndividualLeader_Players { margin: 22px 0 6px; padding-bottom: 4px; border-bottom: 2px solid var(--lhsm-red); font-size: 20px; color: var(--lhsm-red-dark); text-align: left !important; }
.lhsm-list table.STHSTableFullW { width: 100%; border: 0; }
.lhsm-list .HeadshotHide { display: none !important; }
.lhsm-list .tabmain { overflow-x: auto; }
.lhsm-list table.STHSTableFullW > tbody > tr > td { vertical-align: top; padding: 0 8px; border: 0; }
.lhsm-list .lhsm-cap-teams { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 12px; font-weight: 700; color: var(--lhsm-muted); }
.lhsm-list .lhsm-cap-teams a { display: inline-block; padding: 4px 12px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--lhsm-text); text-decoration: none; }
.lhsm-list .lhsm-cap-teams a:hover { border-color: var(--lhsm-red); color: var(--lhsm-red); }
/* ---------- Information sur la Ligue ---------- */
.STHSLeagueInformation_MainDiv.lhsm-li { max-width: 1000px; margin: 0 auto; padding: 0 16px; box-sizing: border-box; font-family: 'Barlow', sans-serif; }
.lhsm-li > div { width: auto !important; }
.lhsm-li h1.lhsm-li-title { margin: 18px 0 10px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 32px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-text); text-align: left; }
.lhsm-li h1.lhsm-li-sec { margin: 18px 0 8px !important; font-size: 18px !important; text-align: left; }
.lhsm-li-nav { margin: 4px 0 10px; }
.lhsm-li-nav a { text-decoration: none !important; font-size: 13px; padding: 4px 12px; }
.lhsm-li .lhsm-li-box { padding: 18px 22px; background: #FFFFFF; border: 1px solid var(--lhsm-line) !important; border-radius: 12px; box-shadow: none !important; overflow-x: auto; }
.lhsm-li .lhsm-li-box, .lhsm-li .lhsm-li-box * { font-family: 'Barlow', sans-serif !important; color: var(--lhsm-text) !important; background-color: transparent !important; }
.lhsm-li .lhsm-li-box p, .lhsm-li .lhsm-li-box li, .lhsm-li .lhsm-li-box td, .lhsm-li .lhsm-li-box span { font-size: 15px !important; line-height: 1.55 !important; }
.lhsm-li .lhsm-li-box p { margin: 0 0 6px !important; text-align: left !important; }
.lhsm-li .lhsm-li-box ol, .lhsm-li .lhsm-li-box ul { margin: 4px 0 10px !important; padding-left: 24px !important; }
.lhsm-li .lhsm-li-box li { margin: 2px 0 !important; }
.lhsm-li .lhsm-li-box p.lhsm-li-h, .lhsm-li .lhsm-li-box p.lhsm-li-h * { margin: 18px 0 8px !important; font-family: 'Barlow Condensed', sans-serif !important; font-weight: 800 !important; font-size: 19px !important; letter-spacing: .4px; text-transform: uppercase; text-decoration: none !important; color: var(--lhsm-red-dark) !important; }
.lhsm-li .lhsm-li-box p.lhsm-li-h { padding-bottom: 4px; border-bottom: 2px solid var(--lhsm-red); scroll-margin-top: 90px; }
.lhsm-li .lhsm-li-box p.lhsm-li-h:first-child, .lhsm-li .lhsm-li-box p.lhsm-li-h:first-child * { margin-top: 0 !important; font-size: 26px !important; color: var(--lhsm-text) !important; border: 0; text-align: center !important; }
.lhsm-li .lhsm-li-box table { width: 100% !important; float: none !important; margin: 8px 0 !important; border: 1px solid #DCE3EC !important; border-collapse: collapse !important; }
.lhsm-li .lhsm-li-box td, .lhsm-li .lhsm-li-box th { border: 1px solid #DCE3EC !important; padding: 6px 8px !important; height: auto !important; vertical-align: top; }
/* ---------- Projection du repêchage : une colonne par ronde ---------- */
.lhsm-dpj { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; align-items: start; max-width: 1400px; margin: 10px 0 24px; }
.lhsm-dpj-col { background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 10px; overflow: hidden; }
.lhsm-dpj-h { margin: 0 !important; padding: 7px 12px 5px; border-bottom: 2px solid var(--lhsm-red); font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 16px !important; letter-spacing: .4px; text-transform: uppercase; color: var(--lhsm-red-dark) !important; }
.lhsm-dpj-list { list-style: none; margin: 0; padding: 0; }
.lhsm-dpj-row { display: grid; grid-template-columns: 22px 20px minmax(0, 1fr); grid-template-rows: 1fr auto; align-content: center; align-items: center; gap: 0 6px; height: 40px; padding: 0 10px; box-sizing: border-box; border-bottom: 1px solid #EEF2F6; overflow: hidden; }
.lhsm-dpj-row > .lhsm-dpj-n, .lhsm-dpj-row > img { grid-row: 1 / span 2; }
.lhsm-dpj-h { height: 34px; box-sizing: border-box; white-space: nowrap; }
.lhsm-dpj-row:last-child { border-bottom: 0; }
.lhsm-dpj-row:not(.acq) .lhsm-dpj-team { grid-row: 1 / span 2; }
.lhsm-dpj-row.acq { background: #FFF8E6; }
.lhsm-dpj-n { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 15px; color: var(--lhsm-red); text-align: right; }
.lhsm-dpj-row > img { width: 20px; height: 20px; object-fit: contain; }
.lhsm-dpj-team { font-size: 13.5px; font-weight: 700; color: var(--lhsm-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-dpj-from { grid-column: 3; display: flex; overflow: hidden; align-items: center; gap: 3px; font-size: 11px; font-weight: 700; color: #8A5A00; white-space: nowrap; }
.lhsm-dpj-from img { width: 14px; height: 14px; object-fit: contain; }
/* ---------- Comparateur de joueurs / gardiens ---------- */
.lhsm-cmp-page h1.lhsm-list-title { line-height: 1.2; }
.lhsm-cmp-page .STHSPHPPlayerStat_Search { max-width: 1000px; }
.lhsm-cmp-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.lhsm-cmp-pick { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 10px; }
.lhsm-cmp-pick .lhsm-fin-lab { color: var(--lhsm-red-dark); }
.lhsm-cmp-pick .lhsm-srch-field { display: flex; flex-direction: column; gap: 3px; }
.lhsm-cmp-pick .lhsm-srch-field > span { font-size: 11px; font-weight: 800; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-cmp-sel { width: 100% !important; height: auto !important; padding: 7px 10px; border: 1.5px solid var(--lhsm-line); border-radius: 8px; background: #FFFFFF; font-family: 'Barlow', sans-serif; font-size: 14px; color: var(--lhsm-text); }
.lhsm-cmp-page .lhsm-srch-act { margin: 12px 0 20px; }
.lhsm-cmp-page .lhsm-srch-go { padding: 8px 22px; border: 0; border-radius: 999px; background: var(--lhsm-red); color: #FFFFFF; font-family: 'Barlow', sans-serif; font-size: 14px; font-weight: 700; cursor: pointer; }
.lhsm-cmp-wrap { max-width: 900px; margin: 0 0 18px; overflow-x: auto; }
table.lhsm-cmp { width: 100%; border: 1px solid var(--lhsm-line); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #FFFFFF; font-family: 'Barlow', sans-serif; }
table.lhsm-cmp thead th { padding: 10px 12px; background: #F3F6F9; border-bottom: 2px solid var(--lhsm-red); text-align: center; vertical-align: bottom; }
table.lhsm-cmp thead th a, table.lhsm-cmp thead th span { display: block; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 19px; text-transform: uppercase; color: var(--lhsm-text) !important; text-decoration: none; }
table.lhsm-cmp thead th small { display: block; font-size: 12px; font-weight: 600; color: var(--lhsm-muted); }
table.lhsm-cmp tbody th { padding: 6px 12px; text-align: left; font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--lhsm-muted); white-space: nowrap; border-bottom: 1px solid #EEF2F6; background: #FFFFFF; }
table.lhsm-cmp tbody td { padding: 6px 12px; text-align: center; font-size: 14px; font-weight: 600; color: var(--lhsm-text); border-bottom: 1px solid #EEF2F6; white-space: nowrap; }
table.lhsm-cmp tbody tr:nth-child(even) td, table.lhsm-cmp tbody tr:nth-child(even) th { background: #F9FBFC; }
table.lhsm-cmp tbody td.best { color: #1E8E3E; font-weight: 800; background: #E7F5EC !important; }
table.lhsm-cmp tbody tr.lhsm-cmp-sep th, table.lhsm-cmp tbody tr.lhsm-cmp-sep td { border-top: 2px solid #DCE3EC; }
table.lhsm-cmp thead th.diff span { font-size: 14px; color: var(--lhsm-muted) !important; }
table.lhsm-cmp tbody td.diff { font-size: 12.5px; font-weight: 700; color: var(--lhsm-muted); border-left: 2px solid #DCE3EC; }
table.lhsm-cmp tbody td.diff.pos { color: #1E8E3E; }
table.lhsm-cmp tbody td.diff.neg { color: var(--lhsm-red); }
table.lhsm-cmp tbody td a { color: var(--lhsm-red); font-weight: 600; text-decoration: none; }
/* ---------- Historique : records, coupe, trophées ---------- */
.lhsm-rec { margin-bottom: 30px; }
.lhsm-rec h1.lhsm-list-sec { display: flex; align-items: center; gap: 10px; scroll-margin-top: 90px; }
.lhsm-rec h1.lhsm-list-sec img { width: 36px; height: 36px; object-fit: contain; }
.lhsm-rec-nav { margin: 6px 0 4px; }
.lhsm-rec-nav a { text-decoration: none !important; font-size: 13px; padding: 4px 12px; }
.lhsm-rec-teamlink { margin: 2px 0 8px; }
.lhsm-rec-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 12px; align-items: start; margin: 6px 0 14px; }
table.lhsm-rec-card { width: 100%; border: 1px solid var(--lhsm-line); border-radius: 10px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #FFFFFF; font-family: 'Barlow', sans-serif; }
table.lhsm-rec-card caption { caption-side: top; padding: 8px 12px 6px; text-align: left; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 16px; letter-spacing: .4px; text-transform: uppercase; color: var(--lhsm-red-dark); background: #FFFFFF; border: 1px solid var(--lhsm-line); border-bottom: 2px solid var(--lhsm-red); border-radius: 10px 10px 0 0; }
table.lhsm-rec-card caption + tbody tr:first-child th { border-top: 0; }
table.lhsm-rec-card { border-top: 0; border-radius: 0 0 10px 10px; }
table.lhsm-rec-card th { padding: 5px 8px; background: #F3F6F9; font-size: 11px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; color: var(--lhsm-muted); text-align: left; border-bottom: 1px solid #DCE3EC; }
table.lhsm-rec-card td { padding: 5px 8px; font-size: 13px; color: var(--lhsm-text); border-bottom: 1px solid #EEF2F6; white-space: nowrap; }
table.lhsm-rec-card tr:last-child td { border-bottom: 0; }
table.lhsm-rec-card td img { width: 20px; height: 20px; object-fit: contain; vertical-align: middle; margin-right: 6px; }
table.lhsm-rec-card td .lhsm-rec-nologo { display: inline-block; width: 20px; margin-right: 6px; }
table.lhsm-rec-card td.lhsm-rec-rank { width: 22px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; color: var(--lhsm-muted); text-align: center; }
table.lhsm-rec-card td.lhsm-rec-val { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 16px; text-align: right; }
table.lhsm-rec-card tr:nth-child(2) td { font-weight: 700; background: #FFF8F9; }
table.lhsm-rec-card tr:nth-child(2) td.lhsm-rec-val { color: var(--lhsm-red); }
table.lhsm-rec-card td a { color: var(--lhsm-text); font-weight: 600; text-decoration: none; }
table.lhsm-rec-card td.lhsm-rec-link a { color: var(--lhsm-red); font-size: 12px; }
table.lhsm-rec-card.nolink .lhsm-rec-link { display: none; }
.lhsm-cup-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin: 10px 0 24px; }
.lhsm-cup-card { display: flex; flex-direction: column; gap: 8px; padding: 10px 14px 12px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 12px; }
.lhsm-cup-year { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 24px; line-height: 1; color: var(--lhsm-red); }
.lhsm-cup-win { display: flex; align-items: center; gap: 10px; }
.lhsm-cup-win img { width: 32px; height: 32px; object-fit: contain; }
.lhsm-cup-win.pro img { width: 44px; height: 44px; }
.lhsm-cup-win small { display: block; font-size: 10.5px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-cup-win span { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-cup-win.pro span { font-size: 22px; color: var(--lhsm-text); }
.lhsm-aw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 12px; align-items: start; margin: 10px 0 24px; }
.lhsm-aw-card { background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 12px; overflow: hidden; }
.lhsm-aw-head { padding: 10px 14px 8px; border-bottom: 2px solid var(--lhsm-red); }
.lhsm-aw-head b { display: block; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 18px; letter-spacing: .4px; text-transform: uppercase; color: var(--lhsm-red-dark); }
.lhsm-aw-head small { font-size: 12.5px; color: var(--lhsm-muted); }
.lhsm-aw-list { max-height: 380px; overflow-y: auto; }
.lhsm-aw-row { display: grid; grid-template-columns: 44px 30px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 5px 14px; border-bottom: 1px solid #EEF2F6; }
.lhsm-aw-row:first-child { background: #FFF8F9; }
.lhsm-aw-y { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 16px; color: var(--lhsm-red); }
.lhsm-aw-shot { width: 28px; height: 28px; border-radius: 50%; overflow: hidden; background: #F3F6F9; border: 1px solid #DCE3EC; }
.lhsm-aw-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.lhsm-aw-name { font-size: 14px; font-weight: 700; color: var(--lhsm-text) !important; text-decoration: none !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-aw-team { font-size: 12.5px; font-weight: 600; color: var(--lhsm-muted) !important; text-decoration: none !important; }
a.lhsm-aw-name:hover, a.lhsm-aw-team:hover { color: var(--lhsm-red) !important; }
/* ---------- Ballottage, édition des joueurs, équipes et DG ---------- */
.lhsm-list table.STHSWaiver_Table { width: 100%; max-width: 1000px; border: 1px solid var(--lhsm-line); border-radius: 10px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #FFFFFF; font-size: 14px; }
.lhsm-list table.STHSWaiver_Table th { padding: 8px 10px; background: #F3F6F9 !important; color: var(--lhsm-text) !important; border: 0 !important; border-bottom: 2px solid var(--lhsm-red) !important; font-family: 'Barlow Condensed', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; text-align: left; }
.lhsm-list table.STHSWaiver_Table td { padding: 7px 10px; border: 0 !important; border-bottom: 1px solid #EEF2F6 !important; }
.lhsm-list table.STHSWaiver_Table td a { color: var(--lhsm-text); font-weight: 600; text-decoration: none; }
.lhsm-list table.STHSWaiver_Table2 { width: 100%; max-width: 1000px; border: 0 !important; background: transparent; }
.lhsm-list table.STHSWaiver_Table2 td { padding: 0; border: 0 !important; background: transparent !important; }
.lhsm-list .lhsm-empty { max-width: 1000px; }
.lhsm-list .tablesorter tbody td input[type=text], .lhsm-list .tablesorter tbody td input[type=number], .lhsm-list .tablesorter tbody td select { padding: 4px 8px; border: 1.5px solid var(--lhsm-line); border-radius: 6px; font-family: 'Barlow', sans-serif; font-size: 13px; }
.lhsm-list .tablesorter tbody td input[type=submit], .lhsm-list .tablesorter tbody td button, .lhsm-list .SubmitButton { padding: 5px 14px; border: 0; border-radius: 999px; background: var(--lhsm-red); color: #FFFFFF; font-family: 'Barlow', sans-serif; font-weight: 700; cursor: pointer; }
/* ---------- Listes de la ligue (pages ouvertes par la Recherche : formation, statistiques, informations, équipes,
   espoirs, repêchage, classement, calendrier, entraîneurs, finances, carrière) :
   même apparence que les tableaux des pages d'équipe (règles dupliquées de .STHSPHPTeamStat_Main) ---------- */
.lhsm-list { width: auto !important; max-width: 1400px; margin: 0 auto !important; padding: 0 16px; box-sizing: border-box; font-family: 'Barlow', sans-serif; }
.lhsm-list h1.lhsm-list-title { margin: 18px 0 6px; font-size: 26px; letter-spacing: .5px; line-height: 1.15; text-align: left; }
.lhsm-list h1.lhsm-list-sec { margin: 22px 0 6px; padding-bottom: 4px; border-bottom: 2px solid var(--lhsm-red); font-size: 19px; letter-spacing: .5px; color: var(--lhsm-red-dark); text-align: left; }
.lhsm-list .tablesorter_ColumnSelectorWrapper { margin: 6px 0 10px; }
.lhsm-list #ReQueryDiv { margin: 8px 0 12px; padding: 12px 14px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 10px; }
.lhsm-list #ReQueryDiv table { width: auto !important; border: 0 !important; }
.lhsm-list #ReQueryDiv td { padding: 4px 10px 4px 0 !important; border: 0 !important; background: transparent !important; font-size: 14px; font-weight: 600; color: var(--lhsm-text); }
.lhsm-list #ReQueryDiv select { padding: 5px 8px; border: 1.5px solid var(--lhsm-line); border-radius: 8px; font-family: 'Barlow', sans-serif; font-size: 14px; }
.lhsm-list #ReQueryDiv .SubmitButton { padding: 6px 18px; border: 0; border-radius: 999px; background: var(--lhsm-red); color: #FFFFFF; font-family: 'Barlow', sans-serif; font-weight: 700; cursor: pointer; }
.lhsm-list .tablesorter tbody td img { width: 22px; height: 22px; object-fit: contain; vertical-align: middle; margin-right: 6px; }
.lhsm-list .tablesorter tbody td:first-child a { white-space: nowrap; }
.lhsm-list .tablesorter input.tablesorter-filter[data-column="0"]::placeholder,
.lhsm-list .tablesorter input.tablesorter-filter[data-column="1"]::placeholder,
.lhsm-list .tablesorter input.tablesorter-filter[data-column="2"]::placeholder { color: #A3AFBF; font-size: 13px; }
.lhsm-list td.lhsm-rank { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 15px; color: var(--lhsm-muted); text-align: center; }
.lhsm-list .STHSDivInformationMessage { margin: 10px 0; padding: 10px 14px; background: #F7F9FB; border: 1px solid var(--lhsm-line); border-radius: 10px; font-size: 14px; color: var(--lhsm-muted); }
/* Repêchage amateur (tableau simple, sans tri) */
.lhsm-list table.STHSEntryDraft_MainTable { width: 100%; max-width: 760px; border: 1px solid var(--lhsm-line); border-radius: 10px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #FFFFFF; font-size: 14px; }
.lhsm-list table.STHSEntryDraft_MainTable th { padding: 8px 10px; background: #F3F6F9 !important; color: var(--lhsm-text) !important; border-bottom: 2px solid var(--lhsm-red); font-family: 'Barlow Condensed', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; text-align: left; }
.lhsm-list table.STHSEntryDraft_MainTable td { padding: 7px 10px; border-bottom: 1px solid #EEF2F6; }
.lhsm-list table.STHSEntryDraft_MainTable tbody tr:nth-child(even) { background: #F7F9FB; }
.lhsm-list table.STHSEntryDraft_MainTable tbody tr:hover td { background: #FFF1F3; }
.lhsm-list table.STHSEntryDraft_MainTable td:nth-child(2) { font-weight: 600; }
.lhsm-list table.STHSEntryDraft_MainTable th, .lhsm-list table.STHSEntryDraft_MainTable td { border-top: 0 !important; border-left: 0 !important; border-right: 0 !important; }
.lhsm-list h2, .lhsm-list h3 { margin: 18px 0 8px; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 19px; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-red-dark); text-align: left; }
@media (max-width: 640px) { .lhsm-list { padding: 0 8px; } .lhsm-list h1.lhsm-list-title { font-size: 21px; } }
.lhsm-list .tabsmain ul.tabmain-links { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-end; gap: 2px 4px; padding: 0; margin: 10px 0 20px; border-bottom: 2px solid #DCE3EC; border-radius: 0; }
.lhsm-list .tabmain-links li,
.lhsm-list .tabmain-links li.activemain { margin: 0; font-size: 100%; }
.lhsm-list .tabmain-links a,
.lhsm-list .tabmain-links li.activemain a { min-height: 0; padding: 10px 12px 9px; margin-bottom: -2px; border-radius: 0; border-bottom: 3px solid transparent; background: transparent; font-family: 'Barlow Condensed', sans-serif; font-size: 16px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-list .tabmain-links a:hover { background: #FFF1F3 !important; color: var(--lhsm-red) !important; border-bottom: 3px solid transparent; }
.lhsm-list .tabmain-links li.activemain a,
.lhsm-list .tabmain-links li.activemain a:hover { background: transparent !important; color: var(--lhsm-red) !important; border-bottom: 3px solid var(--lhsm-red); }
.lhsm-list .tabmain-links li:has(> a:not([href^="#"])) { order: 99; margin-left: auto; align-self: center; }
.lhsm-list .tabmain-links li > a:not([href^="#"]) { margin: 0 0 6px; padding: 6px 14px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; color: var(--lhsm-text); }
.lhsm-list .tabmain-links li > a:not([href^="#"])::after { content: ' \2192'; }
.lhsm-list .tabmain-links li > a:not([href^="#"]):hover { border-color: var(--lhsm-red); }
.lhsm-list table.tablesorter { font-family: 'Barlow', sans-serif; font-size: 13px; border-color: #DCE3EC; }
.lhsm-list .tablesorter th,
.lhsm-list .tablesorter td { border-color: #E3E8EF; }
.lhsm-list .tablesorter thead th,
.lhsm-list .tablesorter thead td { padding: 8px 18px 8px 6px; font-size: 12px; font-weight: 700; letter-spacing: .3px; text-shadow: none; }
.lhsm-list .tablesorter tbody td { padding: 6px; font-size: 13px; vertical-align: middle; }
.lhsm-list .tablesorter tbody tr:nth-child(odd) { background: #FFFFFF; }
.lhsm-list .tablesorter tbody tr:nth-child(even) { background: #F7F9FB; }
.lhsm-list .tablesorter tbody > tr:hover > td,
.lhsm-list .tablesorter tbody > tr:hover > td a { background: #FFF1F3; color: var(--lhsm-text); }
.lhsm-list .tablesorter tbody td a { color: var(--lhsm-text); font-weight: 600; text-decoration: none; }
.lhsm-list .tablesorter tbody td a:hover { color: var(--lhsm-red) !important; }
.lhsm-list .tablesorter input.tablesorter-filter,
.lhsm-list .tablesorter select.tablesorter-filter { border: 1px solid #C7D1DD; border-radius: 6px; background: #FFFFFF; font-family: 'Barlow', sans-serif; }
.lhsm-list .tablesorter .tablesorter-filter-row td { background: #F3F6F9; }
.lhsm-list .tablesorter_ColumnSelectorButton,
.lhsm-list .tablesorter_Reset,
.lhsm-list .tablesorter_Output { padding: 6px 12px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; background: #FFFFFF; color: var(--lhsm-text); font-family: 'Barlow', sans-serif; font-size: 13px; font-weight: 600; cursor: pointer; }
.lhsm-list .tablesorter_ColumnSelectorButton:hover,
.lhsm-list .tablesorter_Reset:hover,
.lhsm-list .tablesorter_Output:hover { border-color: var(--lhsm-red); color: var(--lhsm-red); }
.lhsm-list h1 { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; text-transform: uppercase; color: var(--lhsm-text); }
.lhsm-list .tablesorter thead tr.tablesorter-headerRow th,
.lhsm-list .tablesorter thead tr.tablesorter-headerRow td,
.lhsm-list .tablesorter thead th {
  background-color: #F3F6F9 !important;
  color: var(--lhsm-text) !important;
  border-color: #DCE3EC;
  border-bottom: 2px solid var(--lhsm-red);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
}
.lhsm-list .tablesorter thead .tablesorter-headerAsc,
.lhsm-list .tablesorter thead .tablesorter-headerDesc { background-color: #FFF1F3 !important; color: var(--lhsm-red) !important; }
.lhsm-list .tablesorter thead th:hover { color: var(--lhsm-red) !important; }
.lhsm-list .tablesorter thead tr.tablesorter-filter-row td { padding: 5px 3px !important; border-bottom: 1px solid #DCE3EC; }
.lhsm-list .tablesorter input.tablesorter-filter {
  width: 100%;
  min-width: 30px;
  height: 30px;
  padding: 2px 4px;
  font-size: 14px;
  text-align: center;
  color: var(--lhsm-text);
}
.lhsm-list .tablesorter input.tablesorter-filter:focus { outline: none; border-color: var(--lhsm-red); box-shadow: 0 0 0 2px rgba(200,16,46,.15); }
.lhsm-list .tablesorter input.tablesorter-filter::placeholder { color: transparent; }
.lhsm-list .tablesorter input.tablesorter-filter[data-column="1"]::placeholder { color: #A3AFBF; font-size: 13px; }
.lhsm-list .tablesorter input.tablesorter-filter[data-column="1"] { text-align: left; }
.lhsm-list .tablesorter tbody tr.hasSpan th,
.lhsm-list .tablesorter tbody th {
  background-color: #FFFFFF !important;
  color: var(--lhsm-red-dark) !important;
  padding: 14px 8px 6px;
  border-top: 2px solid var(--lhsm-red);
  border-bottom: 1px solid #DCE3EC;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
  text-align: left;
}
.lhsm-list .tablesorter tbody td.lhsm-pos { font-size: 0; color: transparent; text-align: center; padding: 4px 2px; }
.lhsm-list .tablesorter tbody td.lhsm-pos::after {
  content: attr(data-pos);
  display: inline-block;
  min-width: 26px;
  padding: 3px 5px;
  border-radius: 999px;
  background: #EAF0F6;
  color: var(--lhsm-text);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .3px;
  box-sizing: border-box;
}
.lhsm-list .tablesorter input.lhsm-pf-input { display: none; }
.lhsm-list button.lhsm-pf {
  display: block;
  width: 30px;
  height: 30px;
  margin: 0 auto;
  padding: 0;
  border: 1.5px solid #C7D1DD;
  border-radius: 8px;
  background: #FFFFFF;
  color: var(--lhsm-text);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.lhsm-list button.lhsm-pf:hover { border-color: var(--lhsm-red); }
.lhsm-list button.lhsm-pf.on { background: #1E8E3E; border-color: #1E8E3E; color: #FFFFFF; }
.lhsm-list button.lhsm-pf.off { background: #E6EBF1; border-color: #A3AFBF; color: var(--lhsm-muted); }
.lhsm-list .tablesorter tbody td.lhsm-money { font-size: 0; color: transparent; white-space: nowrap; }
.lhsm-list .tablesorter tbody td.lhsm-money::after { content: attr(data-money); font-size: 13px; color: var(--lhsm-text); }
.lhsm-list td.lhsm-neg,
.lhsm-list .tablesorter tbody td.lhsm-neg::after { color: var(--lhsm-red) !important; }
.lhsm-list .tablesorter thead .tablesorter-header {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath d='M4 0l4 5H0zM4 12l4-5H0z' fill='%23A3AFBF'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 5px center !important;
  background-size: 7px 11px !important;
}
.lhsm-list .tablesorter thead .tablesorter-headerAsc {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath d='M4 0l4 5H0z' fill='%23C8102E'/%3E%3Cpath d='M4 12l4-5H0z' fill='%23DCE3EC'/%3E%3C/svg%3E") !important;
}
.lhsm-list .tablesorter thead .tablesorter-headerDesc {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath d='M4 0l4 5H0z' fill='%23DCE3EC'/%3E%3Cpath d='M4 12l4-5H0z' fill='%23C8102E'/%3E%3C/svg%3E") !important;
}
.lhsm-list .tablesorter thead .sorter-false { background-image: none !important; }
.lhsm-list .tablesorter tbody td.lhsm-yn { font-size: 0; color: transparent; text-align: center; }
.lhsm-list .tablesorter tbody td.lhsm-yn::after { content: attr(data-yn); font-size: 13px; color: var(--lhsm-muted); }
.lhsm-list .tablesorter tbody td.lhsm-yn.yes::after { color: #1E8E3E; font-weight: 700; }
/* Valeurs reformatées (montants, décimales, Oui/Non) : le texte d'origine reste pour le tri mais doit être invisible,
   même quand STHS impose une taille de police avec !important (ex. meneurs individuels) */
.lhsm-list .tablesorter tbody td.lhsm-money, .lhsm-list .tablesorter tbody td.lhsm-yn,
.STHSPHPTeamStat_Main .tablesorter tbody td.lhsm-money, .STHSPHPTeamStat_Main .tablesorter tbody td.lhsm-yn { font-size: 0 !important; color: transparent !important; }

/* ---------- Connexion requise (gestion des nouvelles, client web) ---------- */
.lhsm-list .STHSDivInformationMessage.lhsm-login-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; max-width: 760px; padding: 14px 16px; border-left: 4px solid var(--lhsm-red); background: #FFFFFF; color: var(--lhsm-text); font-size: 15px; font-weight: 600; text-align: left; }
.lhsm-login-btn { padding: 7px 18px; border-radius: 999px; background: var(--lhsm-red); color: #FFFFFF !important; font-weight: 700; font-size: 14px; text-decoration: none !important; white-space: nowrap; }
.lhsm-login-btn:hover { background: var(--lhsm-red-dark); }

/* ---------- Gestion des nouvelles ---------- */
.lhsm-nm #MainDIV { width: auto; max-width: 1000px; margin: 0; }
.lhsm-nm-bar { display: flex; justify-content: flex-start; margin: 6px 0 14px; }
.lhsm-nm-create { display: inline-block; padding: 9px 20px; border-radius: 999px; background: var(--lhsm-red); color: #FFFFFF !important; font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; text-decoration: none !important; box-shadow: 0 2px 6px rgba(200, 16, 46, .25); }
.lhsm-nm-create:hover { background: var(--lhsm-red-dark); }
.lhsm-nm-list { display: flex; flex-direction: column; gap: 10px; margin: 6px 0 22px; }
.lhsm-nm-item { padding: 12px 16px; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-left: 4px solid var(--lhsm-red); border-radius: 10px; }
.lhsm-nm-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; font-size: 12.5px; color: var(--lhsm-muted); }
.lhsm-nm-date { font-weight: 700; text-transform: uppercase; letter-spacing: .3px; }
.lhsm-nm-who { display: inline-flex; align-items: center; gap: 5px; }
.lhsm-nm-who img { width: 18px; height: 18px; object-fit: contain; }
.lhsm-nm-who b { color: var(--lhsm-text); font-weight: 700; }
.lhsm-nm-who small { font-size: 12px; color: var(--lhsm-muted); }
.lhsm-nm h3.lhsm-nm-title { margin: 4px 0 8px !important; padding: 0 !important; border: 0 !important; background: none !important; font-family: 'Barlow Condensed', sans-serif; font-size: 21px !important; font-weight: 800; line-height: 1.2; text-transform: none; color: var(--lhsm-text) !important; text-align: left; }
.lhsm-nm-acts { display: flex; flex-wrap: wrap; gap: 6px; }
.lhsm-nm-act { display: inline-block; padding: 4px 13px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; background: #FFFFFF; color: var(--lhsm-text) !important; font-size: 13px; font-weight: 700; text-decoration: none !important; }
.lhsm-nm-act:hover { border-color: var(--lhsm-red); color: var(--lhsm-red) !important; }
.lhsm-nm-act.edit { border-color: var(--lhsm-red); color: var(--lhsm-red) !important; }
.lhsm-nm-act.edit:hover { background: var(--lhsm-red); color: #FFFFFF !important; }
.lhsm-nm-coms { margin: 10px 0 0; padding: 4px 0 0 14px; border-top: 1px solid #EEF2F6; border-left: 2px solid #EEF2F6; }
.lhsm-nm-ccount { margin: 4px 0 2px; font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; color: var(--lhsm-muted); }
.lhsm-nm-com { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 6px 0; border-bottom: 1px dashed #E2E8F0; }
.lhsm-nm-com:last-child { border-bottom: 0; }
.lhsm-nm-ctag { font-size: 12px; font-weight: 700; color: var(--lhsm-red-dark); }
.lhsm-nm-com .lhsm-nm-acts { margin-left: auto; }
.lhsm-nm-com .lhsm-nm-act { padding: 2px 10px; font-size: 12px; }
.lhsm-nm .lhsm-nm-danger { max-width: 1000px; margin: 8px 0 24px; padding: 12px 16px; background: #FFF5F6; border: 1px solid #F1C5CC; border-radius: 10px; text-align: left; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.lhsm-nm h3.lhsm-nm-dh { flex-basis: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-family: 'Barlow Condensed', sans-serif; font-size: 17px !important; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; color: var(--lhsm-red-dark) !important; text-align: left; }
.lhsm-nm-dlab { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--lhsm-text); }
.lhsm-nm-dlab input { width: 80px; padding: 5px 8px; border: 1px solid var(--lhsm-line); border-radius: 6px; font: inherit; }
.lhsm-nm-warn { flex-basis: 100%; font-size: 12.5px; font-weight: 600; color: var(--lhsm-red-dark); }
.lhsm-nm-danger div[style] { display: contents; }
.lhsm-nm .lhsm-nm-danger input[type=submit] { padding: 6px 16px !important; font-size: 14px !important; line-height: 1.2; border-radius: 999px; }
@media (max-width: 640px) { .lhsm-nm-item { padding: 10px 12px; } .lhsm-nm h3.lhsm-nm-title { font-size: 18px !important; } .lhsm-nm-com .lhsm-nm-acts { margin-left: 0; } }

/* ---------- Client web : une carte par équipe ---------- */
.lhsm-wc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; max-width: 1400px; margin: 8px 0 26px; }
.lhsm-wc-grid.one { grid-template-columns: minmax(0, 560px); }
.lhsm-wc-card { background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 12px; overflow: hidden; }
.lhsm-wc-head { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--lhsm-navy); border-bottom: 3px solid var(--lhsm-red); color: #FFFFFF !important; text-decoration: none !important; }
.lhsm-wc-head b { font-family: 'Barlow Condensed', sans-serif; font-size: 21px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }
.lhsm-wc-logo { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex: none; background: #FFFFFF; border-radius: 50%; }
.lhsm-wc-logo img { width: 30px; height: 30px; object-fit: contain; }
.lhsm-wc-btns { display: flex; flex-direction: column; }
.lhsm-wc-btn { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid #EEF2F6; color: var(--lhsm-text) !important; text-decoration: none !important; }
.lhsm-wc-btn:last-child { border-bottom: 0; }
.lhsm-wc-btn:hover { background: #FFF5F6; }
.lhsm-wc-ic { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; background: #EEF2F6; font-size: 17px; }
.lhsm-wc-tx { display: flex; flex-direction: column; min-width: 0; }
.lhsm-wc-tx b { font-size: 15px; font-weight: 700; }
.lhsm-wc-tx small { font-size: 12px; color: var(--lhsm-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lhsm-wc-go { padding: 4px 12px; border: 1.5px solid var(--lhsm-red); border-radius: 999px; color: var(--lhsm-red); font-size: 13px; font-weight: 700; white-space: nowrap; }
.lhsm-wc-btn:hover .lhsm-wc-go { background: var(--lhsm-red); color: #FFFFFF; }
@media (max-width: 640px) { .lhsm-wc-grid { grid-template-columns: minmax(0, 1fr); } .lhsm-wc-go { display: none; } .lhsm-wc-btn { grid-template-columns: 34px minmax(0, 1fr); } }

/* ---------- Client web : éditeurs de lignes et d'effectif (apparence seulement, aucun changement de fonctionnement) ---------- */
#lineeditor .pagewrapper, #rostereditor .pagewrapper { max-width: 1400px; margin: 0 auto; padding: 0 16px 24px; box-sizing: border-box; font-family: 'Barlow', system-ui, sans-serif; color: var(--lhsm-text); }
#lineeditor .STHSWebClient_Form, #rostereditor .STHSWebClient_Form { margin: 0; padding: 0; }
#lineeditor h1, #rostereditor h1 { margin: 18px 0 10px; font-family: 'Barlow Condensed', sans-serif; font-size: 26px; font-weight: 800; letter-spacing: .4px; line-height: 1.25; text-transform: uppercase; text-align: left; color: var(--lhsm-text); }
#lineeditor h1 a, #rostereditor h1 a { display: inline-block; margin: 2px 0; padding: 3px 12px; border: 1.5px solid var(--lhsm-line); border-radius: 999px; background: #FFFFFF; color: var(--lhsm-text); font-family: 'Barlow', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none; text-decoration: none; vertical-align: middle; }
#lineeditor h1 a:hover, #rostereditor h1 a:hover { border-color: var(--lhsm-red); color: var(--lhsm-red); }
#lineeditor .Save, #rostereditor .Save { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-start; margin: 0 0 8px; padding: 0; border: 0; background: none; text-align: left; }
#lineeditor .Save input, #rostereditor .Save input { width: auto; margin: 0 !important; padding: 8px 20px; border: 1.5px solid var(--lhsm-red); border-radius: 999px; background: #FFFFFF; color: var(--lhsm-red); font-family: 'Barlow', sans-serif; font-size: 15px; font-weight: 700; letter-spacing: 0; box-shadow: none; cursor: pointer; }
#lineeditor .Save input[type=submit], #rostereditor .Save input[type=submit] { background: var(--lhsm-red); color: #FFFFFF; }
#lineeditor .Save input:hover:not(:disabled), #rostereditor .Save input:hover:not(:disabled) { background: var(--lhsm-red-dark); border-color: var(--lhsm-red-dark); color: #FFFFFF; }
#lineeditor .Save input:disabled, #rostereditor .Save input:disabled { border-color: #C9D2DD; background: #EEF2F6; color: #8A97A8; cursor: not-allowed; }
#lineeditor h3.withsave, #rostereditor h3.withsave { margin: 6px 0 8px; padding: 0; border: 0; background: none; font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 700; letter-spacing: .3px; text-transform: uppercase; color: var(--lhsm-muted); }
/* messages de validation */
#lineeditor .errorwrapper, #rostereditor .errorwrapper { margin: 0 0 10px; padding: 10px 14px; border-left: 4px solid var(--lhsm-red); border-radius: 8px; background: #FFF5F6; color: var(--lhsm-red-dark); font-size: 14px; }
#lineeditor .errorwrapper #errorheader, #rostereditor .errorwrapper #errorheader { font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 800; text-transform: uppercase; letter-spacing: .3px; }
#lineeditor .errorwrapper.linescomplete, #rostereditor .rostercomplete, #rostereditor .errorwrapper.linescomplete, #lineeditor .confirm, #rostereditor .confirm { margin: 0 0 10px; padding: 10px 14px; border-left: 4px solid #2E7D32; border-radius: 8px; background: #EAF6EC; color: #1E5E24; font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 800; text-transform: uppercase; letter-spacing: .3px; }
#lineeditor .erroritem, #rostereditor .erroritem { font-size: 13.5px; }
#rostereditor .rostererror .waivernotice { border-radius: 8px; font-size: 15px; }
/* filtre par position */
#lineeditor .positionlist, #rostereditor .positionlist { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: center; margin: 0 0 8px; padding: 7px 10px; border: 0; border-bottom: 1px solid #E2E8F0; background: #F7F9FB; color: var(--lhsm-text); font-size: 13.5px; font-weight: 700; }
#lineeditor .positionlist label, #rostereditor .positionlist label { display: inline-flex; align-items: center; gap: 4px; margin: 0; font-size: 13.5px; cursor: pointer; }
#lineeditor .positionlist input[type=checkbox], #rostereditor .positionlist input[type=checkbox] { width: auto; margin: 0; accent-color: var(--lhsm-red); }
#rostereditor .positionlist { border: 1px solid #E2E8F0; border-radius: 8px; }

/* éditeur de lignes : liste des joueurs à gauche */
#lineeditor .playerlist { width: calc(25% - 14px); margin: 2px 14px 0 0; padding: 0; border: 1px solid var(--lhsm-line); border-radius: 10px; background: #FFFFFF; box-sizing: border-box; }
#lineeditor .playerlist .positionlist { border-radius: 0; }
#lineeditor .playerlist .playerselect { padding: 0 0 4px; font-size: 13.5px; }
#lineeditor .playerlist .playerselect li { position: relative; font-size: 13.5px; }
#lineeditor .playerlist .playerselect li + li { border-top: 1px solid #EEF2F6; }
#lineeditor .playerlist .playerselect input[type=radio] { position: absolute; left: 0; top: 0; margin: 0; padding: 0; opacity: 0; }
#lineeditor .playerlist .playerselect label { display: block; margin: 0; padding: 6px 10px; font-size: 13.5px; font-weight: 600; cursor: pointer; }
#lineeditor .playerlist .playerselect label:hover { background: #FFF5F6; color: var(--lhsm-red); }
#lineeditor .playerlist .playerselect input[type=radio]:checked + label, #lineeditor .playerlist .Checked + label { background: var(--lhsm-red); color: #FFFFFF; font-size: 13.5px; }
#lineeditor .smalllist { padding-left: 4px; font-size: 11.5px; font-weight: 600; opacity: .75; }
#lineeditor .linetabs { width: 75%; }

/* éditeur de lignes : onglets en pastilles */
#lineeditor #tabs.ui-tabs { padding: 0; border: 0; background: none; font-family: 'Barlow', sans-serif; }
#lineeditor ul.positiontabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 4px; padding: 0 !important; border: 0; background: none; line-height: 1; }
#lineeditor ul.positiontabs li, #lineeditor ul.positiontabs li + li { float: none; margin: 0 !important; padding: 0; border: 0; background: none; top: 0; }
#lineeditor ul.positiontabs li a { display: block; float: none; padding: 7px 14px !important; border: 1.5px solid var(--lhsm-line); border-radius: 999px; background: #FFFFFF none !important; color: var(--lhsm-text); font-size: 14px; font-weight: 600; cursor: pointer; }
#lineeditor ul.positiontabs li a:hover { border-color: var(--lhsm-red); color: var(--lhsm-red); }
#lineeditor ul.positiontabs li.ui-tabs-active a { border-color: var(--lhsm-red); background: var(--lhsm-red) none !important; color: #FFFFFF; font-weight: 700; }
#lineeditor #tabs .ui-tabs-panel { padding: 10px 0 0; border: 0; background: none; }
#lineeditor .linetabs #tabs li { font-size: 14px; }

/* éditeur de lignes : chaque trio / paire en carte */
#lineeditor #tabs .linesection { float: left; width: calc(50% - 10px); min-height: 0; height: auto; margin: 0 10px 10px 0; padding: 0 0 10px; border: 1px solid var(--lhsm-line); border-radius: 10px; background: #FFFFFF; box-shadow: none; box-sizing: border-box; }
#lineeditor #tabs .linesection + .linesection { margin-left: 0; }
#lineeditor #tabs .linesection.strategieswrapper { width: calc(100% - 10px); padding: 10px 14px; }
#lineeditor .linetabs h4, #lineeditor #tabs .linesection h4 { margin: 0 0 8px !important; padding: 8px 12px 6px; border: 0; border-bottom: 2px solid var(--lhsm-red); border-radius: 10px 10px 0 0; background: none; font-family: 'Barlow Condensed', sans-serif; font-size: 16px !important; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: var(--lhsm-red-dark); }
#lineeditor .linetabs .blockcontainer { padding: 0 12px; }
#lineeditor .linetabs .positionwrapper { font-size: 14px; }
#lineeditor .linetabs .positionline { display: flex; align-items: center; gap: 6px; }
#lineeditor .linetabs .positionline + .positionline { margin-top: 4px; padding-top: 4px; border-top: 1px solid #EEF2F6; }
#lineeditor .linetabs .positionlabel { flex: none; width: 34px; float: none; font-size: 13px; font-weight: 800; color: var(--lhsm-muted); }
#lineeditor .linetabs .positionname { flex: 1; float: none; width: auto; min-width: 0; }
#lineeditor #tabs .linesection input.textname { width: 100%; box-sizing: border-box; padding: 5px 9px; border: 1px solid #D5DCE5; border-radius: 6px; background: #F7F9FB; color: var(--lhsm-text); font-family: 'Barlow', sans-serif; font-size: 14px; font-weight: 600; cursor: pointer; }
#lineeditor #tabs .linesection input.textname:hover { border-color: var(--lhsm-red); background: #FFFFFF; }
#lineeditor .linetabs .sliders { margin-top: 8px; padding: 6px 10px; border-radius: 8px; background: #F7F9FB; font-size: 13.5px; }
#lineeditor .linetabs .strategywrapper { border-bottom-color: #E2E8F0; }
#lineeditor .linetabs .stratlabel, #lineeditor .linetabs .timelabel { font-weight: 700; color: var(--lhsm-muted); }
#lineeditor .stratval, #lineeditor .linetabs .sliders input[type=text], #lineeditor .strategieswrapper input[type=text] { width: 34px; height: 22px; padding: 0; box-sizing: border-box; border: 1px solid #D5DCE5; border-radius: 5px; background: #FFFFFF; font-family: 'Barlow', sans-serif; font-size: 13.5px; font-weight: 700; text-align: center; }
#lineeditor .updown { width: 20px; height: 20px; border: 1px solid #D5DCE5; border-radius: 5px; background-color: #FFFFFF; cursor: pointer; vertical-align: middle; }
#lineeditor .updown:hover { border-color: var(--lhsm-red); background-color: #FFF5F6; }
#lineeditor .strategieswrapper { font-size: 14px; }
#lineeditor .strategystrategies { border-radius: 8px; background: #F7F9FB; }
/* la liste des joueurs reste visible pendant qu'on fait défiler les trios */
#lineeditor .pagewrapper { overflow: visible; display: flow-root; }
#lineeditor .playerlist { position: sticky; top: 66px; max-height: calc(100vh - 76px); overflow-y: auto; }
@media (max-width: 900px) {
  #lineeditor .playerlist { width: calc(36% - 8px); margin-right: 8px; }
  #lineeditor .linetabs { width: 64%; }
  #lineeditor #tabs .linesection { width: 100%; margin-right: 0; }
  #lineeditor .playerlist .playerselect label { padding: 5px 7px; font-size: 12.5px; }
}

/* éditeur d'effectif : 4 colonnes (Pro habillés, Pro retirés, Mineure habillés, Mineure retirés) */
#rostereditor .columnwrapper { margin: 0 -5px; }
#rostereditor .col4 { padding-bottom: 12px; }
#rostereditor ol { margin: 0 5px; padding: 0 0 8px; min-height: 120px; border: 1px solid var(--lhsm-line); border-radius: 10px; background: #FFFFFF; box-shadow: none; }
#rostereditor h4.columnheader { margin: 0 0 8px; padding: 8px 10px 6px; border-bottom: 2px solid var(--lhsm-red); font-family: 'Barlow Condensed', sans-serif; font-size: 16px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; text-align: left; color: var(--lhsm-red-dark); }
#rostereditor #sortProScratch h4.columnheader, #rostereditor #sortFarmScratch h4.columnheader { border-bottom-color: #8A97A8; color: var(--lhsm-muted); }
#rostereditor #sortFarmDress h4.columnheader { border-bottom-color: #2F5D9E; color: #2F5D9E; }
#rostereditor li { margin: 0 6px; padding: 6px 8px 6px 8px; border: 1px solid #D5DCE5; border-left: 4px solid var(--lhsm-red); border-radius: 6px; background: #FFFFFF; color: var(--lhsm-text); box-shadow: none; font-size: 12px; font-weight: 700; }
#rostereditor li + li { margin-top: 4px; }
#rostereditor #sortProDress li { border-left-color: var(--lhsm-red); background-color: #FFFFFF; }
#rostereditor #sortProScratch li { border-left-color: #8A97A8; background-color: #F3F5F8; }
#rostereditor #sortFarmDress li { border-left-color: #2F5D9E; background-color: #F1F5FC; }
#rostereditor #sortFarmScratch li { border-left-color: #A9B6CC; background-color: #F5F7FA; }
#rostereditor li:hover { border-color: var(--lhsm-red); }
#rostereditor li.sticky { cursor: not-allowed; }
#rostereditor .rowname { font-size: 13.5px; font-weight: 700; }
#rostereditor .rowinfoline { font-size: 12px; font-weight: 600; color: var(--lhsm-muted); }
#rostereditor .rowcondition, #rostereditor .rowsuspension, #rostereditor .rowsuspension99, #rostereditor .rowwaiver { padding: 1px 7px; border-radius: 999px; box-shadow: none; font-size: 11px; font-weight: 700; }
#rostereditor .ui-sortable-helper { box-shadow: 0 6px 16px rgba(11, 20, 34, .18); }
@media (max-width: 900px) { #rostereditor .col4 { width: 50%; } }

/* Matchs du jour : buteurs, gardiens et 3 étoiles (après la simulation) */
.lhsm-tg-note { display: flex; flex-direction: column; gap: 2px; margin: -2px 0 4px 44px; font-size: 12.5px; line-height: 1.3; color: var(--lhsm-muted); }
.lhsm-tg-goals { color: var(--lhsm-text); }
.lhsm-tg-goalie { font-size: 12px; }
.lhsm-tg-stars { display: flex; flex-direction: column; gap: 1px; margin-top: 4px; padding-top: 6px; border-top: 1px solid #EEF2F6; font-size: 12.5px; font-weight: 600; color: var(--lhsm-text); }
.lhsm-tg-stars span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- Bilan de santé (index.php?lhsm=bilan) ---------- */
.lhsm-bilan { max-width: 1000px; }
.lhsm-bilan .lhsm-today-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.lhsm-bilan-intro { margin: 6px 0 12px; font-size: 14px; color: var(--lhsm-muted); line-height: 1.45; }
.lhsm-bilan-sum { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; }
.lhsm-bilan-pill { padding: 5px 12px; border-radius: 999px; font-size: 14px; font-weight: 700; border: 1.5px solid; }
.lhsm-bilan-pill.ok { color: #1E5E24; border-color: #7CB987; background: #EAF6EC; }
.lhsm-bilan-pill.warn { color: #8A5A00; border-color: #E6C27A; background: #FFF8E6; }
.lhsm-bilan-pill.bad { color: var(--lhsm-red-dark); border-color: #F1A9B4; background: #FFF5F6; }
.lhsm-bilan-prog { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--lhsm-muted); }
.lhsm-bilan-list { list-style: none; margin: 0; padding: 0; background: #FFFFFF; border: 1px solid var(--lhsm-line); border-radius: 10px; overflow: hidden; }
.lhsm-bilan-row { display: flex; align-items: flex-start; gap: 12px; padding: 9px 14px; border-bottom: 1px solid #EEF2F6; }
.lhsm-bilan-row:last-child { border-bottom: 0; }
.lhsm-bilan-ic { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: #EEF2F6; color: var(--lhsm-muted); font-weight: 800; font-size: 14px; }
.lhsm-bilan-row.ok .lhsm-bilan-ic { background: #2E7D32; color: #FFFFFF; }
.lhsm-bilan-row.warn .lhsm-bilan-ic { background: #E0A100; color: #FFFFFF; }
.lhsm-bilan-row.bad .lhsm-bilan-ic { background: var(--lhsm-red); color: #FFFFFF; }
.lhsm-bilan-row.bad { background: #FFF8F9; }
.lhsm-bilan-tx { display: flex; flex-direction: column; min-width: 0; }
.lhsm-bilan-tx a { font-weight: 700; font-size: 15px; color: var(--lhsm-text) !important; text-decoration: none !important; }
.lhsm-bilan-tx a:hover { color: var(--lhsm-red) !important; }
.lhsm-bilan-tx small { font-size: 13px; color: var(--lhsm-muted); line-height: 1.35; overflow-wrap: anywhere; }
.lhsm-bilan-frames { position: fixed; left: -5000px; top: 0; width: 1300px; height: 900px; overflow: hidden; visibility: hidden; pointer-events: none; }
.lhsm-bilan-frames iframe { width: 1300px; height: 900px; border: 0; }
.lhsm-bilan-page .footer, .lhsm-bilan-page .STHSFooter { display: none; }

/* ---------- Téléphone : la bande STHS « Veuillez faire pivoter… » est remplacée par une petite note (Habillage-LHSM.js) ---------- */
#STHSPortraitOverlay, .STHSPortraitOverlay { display: none !important; }
.lhsm-rotate-note { position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 9999; display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 14px; border-radius: 10px; background: rgba(11, 20, 34, .92); color: #FFFFFF; font-family: 'Barlow', sans-serif; font-size: 13.5px; font-weight: 600; line-height: 1.3; box-shadow: 0 4px 14px rgba(0, 0, 0, .25); }
.lhsm-rotate-note[hidden] { display: none !important; }
.lhsm-rotate-note span { flex: 1; }
.lhsm-rotate-x { flex: none; width: 30px; height: 30px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .15); color: #FFFFFF; font-size: 15px; cursor: pointer; }
.lhsm-rotate-x:hover { background: var(--lhsm-red); }

/* ---------- Mon équipe (accueil, DG connecté) et alerte d'alignement (page d'équipe) ---------- */
.lhsm-mine { max-width: 1280px; margin: 14px auto 6px; padding: 0; box-sizing: border-box; background: #FFFFFF; border: 1.5px solid var(--lhsm-line); border-radius: 12px; overflow: hidden; font-family: 'Barlow', sans-serif; }
@media (max-width: 1312px) { .lhsm-mine { margin-left: 16px; margin-right: 16px; } }
.lhsm-mine-hd { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--lhsm-navy); border-bottom: 3px solid var(--lhsm-red); color: #FFFFFF !important; text-decoration: none !important; }
.lhsm-mine-hd b { font-family: 'Barlow Condensed', sans-serif; font-size: 21px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }
.lhsm-mine-hd small { margin-left: auto; font-size: 12px; opacity: .7; }
.lhsm-mine-logo { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 38px; height: 38px; border-radius: 50%; background: #FFFFFF; }
.lhsm-mine-logo img { width: 30px; height: 30px; object-fit: contain; }
.lhsm-mine-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.lhsm-mine-t { padding: 10px 14px; border-right: 1px solid #EEF2F6; border-bottom: 1px solid #EEF2F6; min-width: 0; }
.lhsm-mine-lab { margin-bottom: 4px; font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--lhsm-muted); }
.lhsm-mine-v { font-size: 14.5px; font-weight: 700; color: var(--lhsm-text); line-height: 1.35; }
.lhsm-mine-v.ok { color: #1E5E24; }
.lhsm-mine-game { display: flex; align-items: center; gap: 8px; }
.lhsm-mine-game img { width: 30px; height: 30px; object-fit: contain; flex: none; }
.lhsm-mine-game span { display: flex; flex-direction: column; }
.lhsm-mine-v small, .lhsm-mine-hurt small { display: block; font-size: 12.5px; font-weight: 600; color: var(--lhsm-muted); }
.lhsm-mine-hurt, .lhsm-mine-errs { list-style: none; margin: 0; padding: 0; font-size: 14px; }
.lhsm-mine-hurt li + li, .lhsm-mine-errs li + li { margin-top: 5px; }
.lhsm-mine-hurt a { font-weight: 700; color: var(--lhsm-text) !important; text-decoration: none !important; }
.lhsm-mine-hurt a:hover, .lhsm-mine-errs a:hover { color: var(--lhsm-red) !important; }
.lhsm-mine-errs { font-weight: 600; font-size: 13.5px; }
.lhsm-mine-errs a { font-weight: 800; color: var(--lhsm-red-dark) !important; }
.lhsm-mine-t.wait .lhsm-mine-v { color: var(--lhsm-muted); font-weight: 600; }
.lhsm-mine-t.good .lhsm-mine-v { color: #1E5E24; }
.lhsm-mine-t.err { background: #FFF5F6; }
.lhsm-mine-t.err .lhsm-mine-lab { color: var(--lhsm-red-dark); }
.lhsm-mine-t.warnt { background: #FFF8E6; }
.lhsm-mine-t.warnt .lhsm-mine-lab { color: #8A5A00; }
.lhsm-mine-acts { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 14px; }
.lhsm-mine-acts a { text-decoration: none !important; }
.lhsm-alert { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; max-width: 1280px; margin: 10px auto; padding: 10px 14px; box-sizing: border-box; border: 1px solid #F1C5CC; border-left: 5px solid var(--lhsm-red); border-radius: 10px; background: #FFF5F6; font-family: 'Barlow', sans-serif; }
.lhsm-alert.warnt { border-color: #E6C27A; border-left-color: #E0A100; background: #FFF8E6; }
.lhsm-alert > b { font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; color: var(--lhsm-red-dark); }
.lhsm-alert.warnt > b { color: #8A5A00; }
.lhsm-alert-acts { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.lhsm-alert-acts a { text-decoration: none !important; }
.lhsm-alert ul { flex-basis: 100%; margin: 0; padding-left: 18px; font-size: 14px; color: var(--lhsm-text); }
.lhsm-alert small { flex-basis: 100%; font-size: 12px; color: var(--lhsm-muted); }

/* Bannière d'équipe : série contre le prochain adversaire */
.lhsm-th-next .lhsm-th-series { display: inline-block; align-self: flex-start; width: auto; margin-top: 4px; padding: 2px 10px; border-radius: 999px; background: #F3F6F9; color: var(--lhsm-text); font-weight: 700; font-size: 12.5px; }

/* Bannière d'équipe : boutons pour écrire au DG */
.lhsm-th-contact { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-left: 10px; vertical-align: middle; }
.lhsm-th-ct { display: inline-flex; align-items: center; gap: 5px; padding: 3px 11px 3px 9px; border-radius: 999px; font-size: 12.5px; font-weight: 700; line-height: 1.3; text-decoration: none !important; }
.lhsm-th-ct.msgr { background: #0866FF; color: #FFFFFF !important; }
.lhsm-th-ct.msgr::before { content: ''; width: 14px; height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 2C6.4 2 2 6.1 2 11.6c0 2.9 1.2 5.4 3.1 7.1V22l2.9-1.6c1.2.3 2.5.5 3.9.5 5.6 0 10-4.1 10-9.6S17.6 2 12 2zm1 12.9-2.5-2.7-5 2.7 5.5-5.8 2.6 2.7 4.9-2.7-5.5 5.8z'/%3E%3C/svg%3E") center / contain no-repeat; }
.lhsm-th-ct.msgr:hover { background: #0652CC; }
.lhsm-th-ct.mail { background: #FFFFFF; border: 1.5px solid var(--lhsm-line); color: var(--lhsm-text) !important; }
.lhsm-th-ct.mail::before { content: '✉'; font-size: 13px; }
.lhsm-th-ct.mail:hover { border-color: var(--lhsm-red); color: var(--lhsm-red) !important; }

/* ---------- Grand écran : on cache les images STHS de la barre du haut (logo STHS, écussons Pro / Farm / League) ---------- */
#cssmenu > ul > li.MenuImage { display: none !important; }
/* Grand écran : les onglets du menu s'alignent sur le contenu centré (1280 px) ; la barre et les panneaux restent pleine largeur */
@media (min-width: 901px) { #cssmenu > ul { padding-left: max(0px, calc(50% - 640px)) !important; box-sizing: border-box; } }
/* Bloc « Commissaire / DG · Déconnexion » de STHS : ramené dans la colonne centrale, sur une ligne, juste sous la barre du menu (ordinateur seulement, quand on est connecté) */
@media (min-width: 901px) {
  html:not(.lhsm-viewer) .STHSPHP_Login:has(.STHSPHPLogoutButton) { display: block !important; top: 58px !important; right: max(32px, calc(50% - 624px)) !important; left: auto !important; width: auto !important; margin: 0 !important; line-height: 18px; z-index: 5; font-family: 'Barlow', sans-serif; }
  .STHSPHP_Login:has(.STHSPHPLogoutButton) > div { font-size: 13px !important; font-weight: 600; color: var(--lhsm-muted); display: flex; align-items: center; gap: 8px; }
  .STHSPHP_Login:has(.STHSPHPLogoutButton) br { display: none; }
  .STHSPHP_Login a.STHSPHPLogoutButton { font-weight: 700; color: var(--lhsm-red) !important; text-decoration: none !important; }
  .STHSPHP_Login a.STHSPHPLogoutButton:hover { text-decoration: underline !important; }
  .STHSPHP_Login a.STHSPHPLogoutButton::before { content: '·'; color: var(--lhsm-muted); margin-right: 8px; font-weight: 600; }
}
