/* Ticker des scores, SEULE source (fusion 08/11) : chargé sur la home comme dépendance de itsrugby-home.css
   (its-rugby-templates.php) et ailleurs par its-tpl-home-d.php. Couleurs par variante (&ticker=) dans itsrugby-home-ride.css. */
/* ── Scores ticker (press-style) ─────────────────────────────── */
.its-v2 nav.scores-ticker,
nav.scores-ticker{background:#1A1A1A;color:var(--vanilla);padding:0;overflow:hidden;border-bottom:2px solid #8ED968;display:flex;align-items:stretch;min-height:56px;width:100%;max-width:100%;}
/* App WebView Android — FIX RACINE de l'ICB=1706 (testé device 20/07) :
   `contain:content` (= layout+paint+style, PAS size) isole le layout du scroller
   → la rangée de matchs (~4900px) ne compte plus dans le scrollWidth de la page,
   donc le WebView ne gonfle plus le layout viewport : innerWidth revient à 426.
   Corrige d'un coup tabbar/bandeaux/Didomi (qui lisaient innerWidth=1706).
   ⚠️ `content` et NON `size` : `size` aplatirait la hauteur du ticker (inner seul
   sur sa ligne flex en mobile) ; `content` garde la hauteur (~59px). overflow-x
   scroll = conteneur de défilement explicite. */
html.is-app .scores-ticker-inner{overflow-x:scroll;contain:content;}

/* Bandeau "base de données" INSÉRÉ dans le ticker (même ligne), design ticker :
   chiffres vert fluo, libellés vanilla. display:contents → compteurs + slider
   deviennent frères flex de .scores-ticker-inner (scores) → partage de largeur. */
.db-band{display:contents;}
/* Séparateur entre le bloc base-de-données et les scores (inner ajouté par JS) */
.scores-ticker .scores-ticker-inner{border-left:1px solid rgba(255,255,255,.12);flex:1 1 0;}
/* Item commun (compteur + carte du slider) — hauteur calée sur le ticker (56px) */
.db-band a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  height:56px;padding:4px 20px;text-decoration:none;color:var(--vanilla);white-space:nowrap;
  border-left:1px solid rgba(255,255,255,.08);
}
.db-band strong{font-size:17px;font-weight:900;line-height:1;letter-spacing:-.4px;font-variant-numeric:tabular-nums;color:var(--g-bright);}
.db-band span{font-size:9px;font-weight:800;line-height:1.2;text-transform:none;letter-spacing:0;color:var(--vanilla);}
.db-band a:hover,.db-band a:focus-visible{background:rgba(255,255,255,.06);}
.db-band a:hover strong,.db-band a:focus-visible strong{color:#fff;}
/* Compteurs fixes à gauche */
.db-band-counts{display:flex;flex:0 0 auto;list-style:none;margin:0;padding:0;}
.db-band-counts>li{display:flex;}
.db-band-counts a{flex:1;}   /* le <a> remplit sa colonne → contenu bien centré */
.db-band-counts>li:first-child a{border-left:none;}
/* Slider façon ticker : défile en boucle, pause au survol */
/* Zone stats compacte (≈2 cartes visibles, défile en boucle) → le gros de la
   largeur va aux scores. */
.db-slider{flex:0 1 clamp(190px,20vw,330px);min-width:0;overflow:hidden;position:relative;border-left:1px solid rgba(255,255,255,.08);}
/* ⚠️ Ne PAS élargir le slider quand .scores-ticker-inner est absent (tenté puis
   retiré le 06/08) : ce conteneur est injecté par le JS, lui-même différé par
   WP Rocket jusqu'à la première interaction. Une règle `:not(:has(...))` prend
   donc effet à l'affichage puis se retourne dès que le visiteur bouge la
   souris → saut de mise en page à chaque visite. Le vide à droite du bandeau
   signale un manque de DONNÉES (aucun match dans la fenêtre du ticker), pas un
   défaut de style : c'est là qu'il faut chercher. */
.db-slider-track{display:flex;width:max-content;list-style:none;margin:0;padding:0;animation:db-slide 50s linear infinite;}
.db-slider:hover .db-slider-track,.db-slider:focus-within .db-slider-track{animation-play-state:paused;}
.db-slider-track>li{display:flex;}
.db-slider a strong{font-size:16px;letter-spacing:-.3px;}
@keyframes db-slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
/* Accessibilité : pas d'auto-défilement si l'utilisateur le demande → scroll manuel */
@media(prefers-reduced-motion:reduce){
  .db-slider{overflow-x:auto;}
  .db-slider-track{animation:none;}
}
@media(max-width:760px){
  /* Mobile : on empile — ligne 1 = compteurs (3 colonnes), ligne 2 = scores
     (scroll horizontal, pleine largeur). Slider de stats + flèches masqués. */
  .scores-ticker{flex-wrap:wrap;}
  .db-band-counts{flex:1 1 100%;}
  .db-band-counts>li{flex:1 1 0;min-width:0;}
  .db-slider{display:none;}
  .db-band a{height:46px;padding:4px 6px;}
  .db-band strong{font-size:15px;}
  .db-band span{font-size:8px;letter-spacing:.3px;}
  .scores-ticker .scores-ticker-inner{flex:1 1 100%;border-left:none;border-top:1px solid rgba(255,255,255,.1);}
  .ticker-nav{display:none;}
}
.scores-ticker-inner{
  flex:1;min-width:0;max-width:100%;
  display:flex;align-items:stretch;overflow-x:auto;
  -webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;
  gap:0;
}
.scores-ticker-inner::-webkit-scrollbar{height:0;display:none;}
.ticker-match{
  flex:0 0 auto;scroll-snap-align:start;
  display:flex;align-items:center;gap:10px;padding:10px 20px;
  border-right:1px solid rgba(255,255,255,.08);
  text-decoration:none;color:var(--vanilla);transition:background .15s;white-space:nowrap;
}
.ticker-match:last-child{border-right:none;}
.ticker-match:hover{background:rgba(255,255,255,.06);}
.ticker-match--live{position:relative;}
.ticker-live-dot{width:6px;height:6px;background:#e74c3c;display:inline-block;animation:livePulse 1.5s infinite;flex-shrink:0;}
@keyframes livePulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.ticker-comp{font-size:9px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--g-bright);flex-shrink:0;}
.ticker-teams{display:flex;flex-direction:column;gap:2px;}
.ticker-team-row{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;}
.ticker-team-name{min-width:80px;}
/* Spécificité élevée pour neutraliser les styles globaux */
.its-v2 a.ticker-match{color:var(--vanilla);}
.its-v2 a.ticker-match .ticker-team-name{color:var(--vanilla);}
.its-v2 a.ticker-match .ticker-team-score{color:var(--vanilla);}
.its-v2 a.ticker-match .ticker-team-score--winner{color:#8ED968;}
.its-v2 a.ticker-match .ticker-comp{color:#8ED968;}
.its-v2 a.ticker-match .ticker-status{color:rgba(242, 229, 210, .75);}
.ticker-team-score{font-size:13px;font-weight:900;min-width:20px;text-align:center;}
.ticker-team-score--winner{color:var(--g-bright);}
.ticker-status{font-size:9px;font-weight:700;color:rgba(242, 229, 210, .75);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;}
.its-v2 .scores-ticker .ticker-nav{display:flex;align-items:stretch;gap:0;flex-shrink:0;background:transparent;border-left:1px solid rgba(255,255,255,.12);}
.its-v2 .scores-ticker button.ticker-nav-btn,
.its-v2 .scores-ticker button.ticker-nav-btn:hover,
.its-v2 .scores-ticker button.ticker-nav-btn:focus{
  background:transparent;border:none;border-right:1px solid rgba(255,255,255,.12);color:rgba(242, 229, 210, .75);
  cursor:pointer;width:44px;height:auto;align-self:stretch;display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:400;line-height:1;font-family:var(--sans);
  transition:all .15s;box-shadow:none;outline:none;padding:0;margin:0;
}
.its-v2 .scores-ticker button.ticker-nav-btn:last-child{border-right:none;}
.its-v2 .scores-ticker button.ticker-nav-btn:hover{color:var(--vanilla);background:rgba(255,255,255,.08);}
/* Mobile : masquer les flèches (scroll tactile) — placé APRÈS la règle de base
   pour la battre à spécificité égale. Touch swipe suffit. */
@media(max-width:760px){
  .its-v2 .scores-ticker .ticker-nav{display:none;}
}
