/* player/app_mobile.css */
/* ═══════════════════════════════════════════════════════════════════════════
   TIMERBET PLAYER — IL LAYER MOBILE COMUNE
   Autore: D (design). Ordine GC 19/07: su telefono il player deve sembrare
   un'APP, non un sito rimpicciolito, e deve valere su TUTTI i temi.

   PERCHÉ UN FILE SOLO. I temi sono quattro sistemi diversi (base classico,
   layout-libreria, temi importati «fedeli», temi sanificati) e ognuno porta il
   CSS del suo grafico. Aggiustarli uno per uno significa rifarlo quattro volte
   e vederlo rompersi al quinto tema. Qui invece: un foglio, caricato in coda a
   `<head>` così vince per cascata, che parla ai GANCI DI CLASSE che i temi già
   espongono.

   COME SI RITINGE. Niente colori sparsi nelle regole: tutto passa dalle
   variabili qui sotto. Un tema che vuole la sua tinta ridefinisce quelle, in
   `<head>` o nel proprio foglio, e il resto si adegua:

       :root { --tbm-bg:#101820; --tbm-accent:#00d4a0 }

   REGOLA DELLA CASA rispettata: l'ORO è il denaro. Nella barra in basso l'unica
   cosa dorata è la schedina — l'unico posto dove ci sono i tuoi soldi.

   Il markup della barra sta in `player/_bottom_nav.html` (frammento a sé).
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  /* la soglia: sotto questa larghezza il player diventa un'app */
  --tbm-bar-h: 56px;
  /* LA BARRA È VETRO SCURO, NON IL BLU DI UN TEMA.
     Verificata sui 4 temi importati: il n.1 è blu, il n.2 verde/nero, il n.4 chiaro con
     oro. Una barra blu fissa, su quelli, sembrava incollata sopra da un'altra app. Non si
     rincorrono quattro tavolozze: la barra è cromo persistente e si comporta come tale —
     un velo scuro traslucido che sfoca ciò che ci scorre sotto e sta bene su qualunque
     fondo. Un tema che voglia la sua tinta ridefinisce queste variabili e vince. */
  --tbm-bg: rgba(12,20,30,.90);
  --tbm-bg-2: rgba(8,14,22,.94);
  --tbm-ring: #101a26;            /* tinta PIENA: anelli e contorni, dove il velo non va */
  --tbm-ink: #ffffff;
  --tbm-dim: rgba(255,255,255,.60);
  --tbm-accent: #F5B301;          /* oro TimerBet = il denaro */
  --tbm-accent-ink: #1a1205;
  --tbm-live: #ff3b3b;
  --tbm-line: rgba(255,255,255,.12);
  --tbm-r: 14px;
  /* la tacca dei telefoni recenti: si somma, non si indovina */
  --tbm-safe: env(safe-area-inset-bottom, 0px);
}

/* ═══ 1. LA REGOLA CHE VIENE PRIMA DI TUTTE ═══
   Niente scorrimento orizzontale. Non è una preferenza estetica: se il
   documento è più largo del telefono, il browser rimpicciolisce l'intera
   pagina per farcela stare e il testo diventa illeggibile — che è esattamente
   il difetto segnalato (il player si allargava a 473px su uno schermo da 390).
   Le cause vere erano due elementi a larghezza fissa nell'intestazione. */
@media (max-width: 900px){
  html, body{max-width:100%; overflow-x:hidden}
  /* media e tabelle non sfondano mai il contenitore */
  img, video, iframe, canvas, svg{max-width:100%; height:auto}
  table{max-width:100%}
  /* il velo di caricamento seguiva la larghezza sfondata invece dello schermo */
  #loaderCtm, .loader-ctm{width:100% !important; max-width:100vw}
}

/* ═══ 2. INTESTAZIONE COMPATTA ═══
   Sul telefono l'intestazione deve dire tre cose e basta: chi sei, quanto hai,
   e come si ricarica. La barra dei menu del desktop sparisce — le sue voci
   vivono nella barra in basso, dove ci arriva il pollice. */
@media (max-width: 900px){
  .hd-ctm{position:sticky; top:0; z-index:900}
  .hd-top-header{padding:6px 10px !important; gap:8px}
  .hd-ctm--logo img, .nav-logo--img{max-height:26px; width:auto}

  /* ERA IL COLPEVOLE DELL'ALLARGAMENTO: 433px fissi, in position:fixed.
     Sul telefono non serve: è la nav desktop, sostituita dalla barra in basso. */
  .hd-ctm--menu{display:none !important}
  /* i cartellini «promo/agente/deposita» dell'intestazione: via, sono desktop */
  .hd-menu--top{display:none !important}

  /* saldo e deposita restano, ma stretti e leggibili */
  .hd-top-header--right{gap:6px; flex-wrap:nowrap; min-width:0}
  .hd-ctm--auth{gap:6px; min-width:0}
  .hd-ctm--auth .btn-ctm{
    min-height:36px; padding:6px 10px; font-size:12.5px; white-space:nowrap}
  .hd-ctm--auth .btn-text{font-variant-numeric:tabular-nums}
  .text-separator{display:none}
  /* L'orologio dell'intestazione sfondava lo schermo (arrivava a 447px su 390) ed e'
     l'unica cosa li' dentro che il telefono ha gia' nella sua barra di stato. */
  #tbClock{display:none}
}

/* ═══ 3. IL CORPO: CARD, NON TABELLE STRETTE ═══ */
@media (max-width: 900px){
  .page-container, .main-wrapper, .main-container{
    display:block !important; width:100% !important; max-width:100% !important;
    margin:0 !important; padding-left:0 !important; padding-right:0 !important}

  /* lo spazio che la barra in basso occupa: il contenuto non ci finisce sotto */
  body{padding-bottom:calc(var(--tbm-bar-h) + var(--tbm-safe) + 8px) !important}

  /* i pannelli diventano card a tutta larghezza con un filo d'aria */
  .box-main, .ctm-panel, .box-sidebar{border-radius:12px; margin:8px 8px 10px}

  /* La riga «filtri + tab sport» è un flex che sul telefono si schiaccia: il testo
     del selettore va a capo su tre righe e le tab si tagliano a metà parola.
     Si impila invece di comprimere. */
  .box-main--wrapper{flex-wrap:wrap}
  .box-main--left, .box-main--middle, .box-main--right{
    min-width:0; max-width:100%; flex-basis:100%}
  .box-main--left{display:flex; align-items:center; gap:8px; white-space:nowrap}

  /* IL BERSAGLIO DEL POLLICE. 44px è la misura sotto la quale si sbaglia tasto —
     e qui sbagliare tasto significa piazzare la quota sbagliata. Non si applica ai
     bottoni dell'intestazione: là lo spazio verticale è prezioso e non si scommette. */
  .qt-btn, .menu-button, .tabs-ctm--item, .menu-item > a, .tab-item--btn{
    min-height:44px; display:flex; align-items:center; justify-content:center}
  .qt-btn{font-size:15px; font-weight:800}

  /* le quote: tre colonne uguali, non una fila che deborda */
  .tb-btns, .odds-select, .odds-row{
    display:grid !important; grid-template-columns:repeat(3,1fr); gap:6px}
  .tb-btns > *, .odds-select > *{min-width:0}

  /* Le liste orizzontali scorrono col dito invece di tagliarsi a metà parola.
     ⚠ NON si tocca il `display` dei contenitori `owl-carousel`: quel carosello è
     gestito da uno script del tema che si costruisce la sua riga scorrevole da sé —
     forzarlo a flex gliela svuota (provato: le tab degli sport sparivano). Si dà solo
     il permesso di scorrere a chi non è un carosello. */
  .top-menu--horizontal, .top-menu--wrapper, .coupon-tabs, .tabs-ctm{
    overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none}
  .top-menu--horizontal::-webkit-scrollbar, .tabs-ctm::-webkit-scrollbar{display:none}
  .tab-items--ctm:not(.owl-carousel){
    display:flex; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none}
  .tab-items--ctm:not(.owl-carousel) .tab-item--ctm{flex:none}
}

/* ═══ 4. IL MENU SPORT COME CASSETTO ═══
   Il tema ha già l'aside e il suo velo cliccabile: non serve markup nuovo,
   basta ridefinire cosa vuol dire «aperto» sotto la soglia. */
@media (max-width: 900px){
  #leftSidebarSport.left-sidebar{
    position:fixed; inset:0 auto 0 0; z-index:1000; width:min(84vw, 340px);
    max-width:340px; transform:translateX(-102%);
    transition:transform .26s cubic-bezier(.22,.61,.36,1);
    overflow-y:auto; overscroll-behavior:contain;
    box-shadow:2px 0 24px rgba(0,0,0,.4)}
  #leftSidebarSport.left-sidebar.active{transform:translateX(0)}
  .sidebar--overlay{
    position:fixed; inset:0; z-index:999; background:rgba(4,14,24,.55);
    opacity:0; pointer-events:none; transition:opacity .22s}
  .left-sidebar.active .sidebar--overlay,
  .right-sidebar.active .sidebar--overlay{opacity:1; pointer-events:auto}
  /* i bottoni «richiudi» del desktop non hanno senso in un cassetto */
  .button-collapse{display:none}
}

/* ═══ 5. LA SCHEDINA COME PANNELLO DAL BASSO ═══
   Su telefono una colonna laterale schiacciata è illeggibile proprio quando
   conta di più: al momento di giocare. Diventa un foglio che sale dal basso,
   con la maniglia, che si chiude trascinando o toccando fuori.

   ⚠ Lo stato sta su #rightSidebarSport, MAI su .box-sidebar--coupon: quel nodo
   viene rimpiazzato per intero a ogni gamba aggiunta o tolta, e con lui
   sparirebbe la classe di apertura. */
@media (max-width: 900px){
  #rightSidebarSport.right-sidebar{
    position:fixed; inset:auto 0 0 0; z-index:1000; width:100%; max-width:100%;
    height:auto; max-height:84vh; transform:translateY(102%);
    transition:transform .28s cubic-bezier(.22,.61,.36,1);
    border-radius:var(--tbm-r) var(--tbm-r) 0 0;
    background:var(--tbm-bg); box-shadow:0 -8px 30px rgba(4,14,24,.45);
    display:flex; flex-direction:column; overflow:hidden}
  #rightSidebarSport.right-sidebar.active{transform:translateY(0)}

  /* la maniglia: dice «questo si trascina» senza scriverlo */
  #rightSidebarSport.right-sidebar:before{
    content:""; flex:none; width:38px; height:4px; border-radius:99px;
    margin:8px auto 4px; background:var(--tbm-dim)}

  #rightSidebarSport .right-sidebar--wrapper{
    overflow-y:auto; overscroll-behavior:contain; padding-bottom:12px;
    padding-bottom:calc(12px + var(--tbm-safe))}
  /* il gancio desktop per aprire la colonna: sul telefono ci pensa la barra */
  #rightSidebarSport .right-sidebar--openmenu{display:none}
  .box-sidebar.box-sidebar--coupon{margin:0 8px 8px; border-radius:12px}
}

/* ═══ 6. LA BARRA IN BASSO ═══
   Cinque voci, il pollice ci arriva tutto. La schedina sta in mezzo e sporge:
   è l'azione che vale soldi, e l'unica dorata. */
.tbm-nav{display:none}

@media (max-width: 900px){
  .tbm-nav{
    display:grid; grid-template-columns:repeat(5,1fr); align-items:end;
    position:fixed; inset:auto 0 0 0; z-index:1100;
    height:calc(var(--tbm-bar-h) + var(--tbm-safe));
    padding-bottom:var(--tbm-safe);
    background:linear-gradient(180deg,var(--tbm-bg),var(--tbm-bg-2));
    -webkit-backdrop-filter:blur(14px) saturate(1.3);
    backdrop-filter:blur(14px) saturate(1.3);
    border-top:1px solid var(--tbm-line);
    box-shadow:0 -2px 14px rgba(4,14,24,.35)}
  /* dove la sfocatura non c'è, il velo si fa quasi pieno: se no si legge il testo sotto */
  @supports not (backdrop-filter: blur(1px)){
    .tbm-nav{background:linear-gradient(180deg,#0d1520,#080e16)}
  }

  .tbm-nav a{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:3px; height:var(--tbm-bar-h); min-width:0; padding:0 2px;
    color:var(--tbm-dim); text-decoration:none; font-weight:700;
    -webkit-tap-highlight-color:transparent}
  .tbm-nav a svg{width:22px; height:22px; flex:none; display:block}
  /* Le ETICHETTE si troncano se non ci stanno. `:not(.tbm-slip-btn)` non è pignoleria:
     anche il tondo della schedina è uno <span>, e con `overflow:hidden` addosso ritagliava
     via il contatore delle selezioni, che sporge apposta dal bordo. */
  .tbm-nav a > span:not(.tbm-slip-btn){
    font-size:10px; line-height:1; letter-spacing:.01em;
    max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
  .tbm-nav a.is-on{color:var(--tbm-ink)}
  /* il filo sopra la voce attiva: dice dove sei senza rubare spazio */
  .tbm-nav a.is-on:before{
    content:""; position:absolute; top:0; width:26px; height:3px;
    border-radius:0 0 3px 3px; background:var(--tbm-accent)}
  .tbm-nav a{position:relative}
  .tbm-nav a:focus-visible{outline:2px solid var(--tbm-accent); outline-offset:-3px}

  /* il pallino rosso del live: pulsa piano, come il minuto che scorre */
  .tbm-nav .tbm-live-dot{
    position:absolute; top:9px; margin-left:17px; width:7px; height:7px;
    border-radius:50%; background:var(--tbm-live);
    box-shadow:0 0 0 2px var(--tbm-bg); animation:tbm-pulse 2s ease-in-out infinite}
  @keyframes tbm-pulse{50%{opacity:.35}}

  /* ── la schedina: il tasto rialzato ── */
  .tbm-nav .tbm-slip{justify-content:flex-end; padding-bottom:5px}
  .tbm-nav .tbm-slip .tbm-slip-btn{
    position:absolute; bottom:calc(var(--tbm-bar-h) - 28px); left:50%;
    transform:translateX(-50%);
    width:52px; height:52px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(180deg,#ffcb3d,var(--tbm-accent));
    color:var(--tbm-accent-ink);
    /* l'anello della barra stacca il tondo; l'ombra sotto è corta, non un alone —
       una sfocatura larga di colore su fondo scuro sembra un difetto di stampa */
    box-shadow:0 0 0 4px var(--tbm-ring), 0 3px 8px rgba(4,14,24,.45)}
  /* il contatore sporge dal bordo del tondo APPOSTA: qui niente ritaglio, mai */
  .tbm-nav .tbm-slip-btn{overflow:visible !important}
  .tbm-nav .tbm-slip .tbm-slip-btn svg{width:24px; height:24px}
  /* l'etichetta della schedina sta sotto il tondo: va tenuta leggibile, non in ombra */
  .tbm-nav .tbm-slip > span{margin-top:auto; color:var(--tbm-ink)}

  /* il contatore delle selezioni: compare solo se c'è davvero qualcosa dentro */
  .tbm-nav .tbm-count{
    /* sporge in alto a destra del tondo e sta SOPRA a tutto: se finisce sotto il bordo
       il numero si perde a metà, ed è il numero che dice quante giocate hai in mano */
    position:absolute; top:-5px; right:-7px; z-index:3;
    min-width:19px; height:19px;
    padding:0 5px; border-radius:99px;
    background:var(--tbm-live); color:#fff;
    font-size:11px; font-weight:900; line-height:19px; text-align:center;
    box-shadow:0 0 0 2px var(--tbm-ring); display:none}
  .tbm-nav.has-slip .tbm-count{display:block}

  /* ── i pulsanti flottanti che c'erano già finirebbero SOTTO la barra ── */
  .pa-fab, .tbtour-fab{
    bottom:calc(var(--tbm-bar-h) + var(--tbm-safe) + 12px) !important}

  @media (prefers-reduced-motion: reduce){
    .tbm-nav .tbm-live-dot{animation:none}
    #leftSidebarSport.left-sidebar, #rightSidebarSport.right-sidebar,
    .sidebar--overlay{transition:none}
  }
}

/* ═══ 7. TABLET ═══
   A 768px non serve la barra da telefono: ci sta ancora una colonna in più.
   Si toglie solo ciò che deborda e si allarga il tocco. */
@media (min-width: 901px) and (max-width: 1024px){
  .hd-menu--list{flex-wrap:wrap}
  .qt-btn{min-height:40px}
  .left-sidebar{width:240px; min-width:0}
}

/* ── LA BANDA SPORT DEL TEMA SCORRE NEL SUO CONTENITORE (bug GC 20/07) ─────────────────
   `.tab-items--c` (markup del tema, vive nel DB) è un flex NOWRAP largo quanto la somma
   degli sport (1086px con l'offerta di oggi): senza questo, o un antenato la clippa (gli
   sport oltre il bordo diventano IRRAGGIUNGIBILI) o — dove il clip non c'è — trascina la
   pagina in overflow-x. Vale a ogni larghezza: anche la colonna desktop è più stretta
   della banda. La pagina non scrolla MAI di lato: già garantito dal guard html/body. */
.box-main--sports-tab .tab-items--ctm,
.box-main--sports-tab .box-main--typemarket-container{
  overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none}
.box-main--sports-tab .tab-items--ctm::-webkit-scrollbar{display:none}

/* ── IL CAMPO RICERCA DELLA NAVBAR SPORT VA A CAPO SU MOBILE (bug GC 20/07) ────────────
   `.box-main--top` è flex NOWRAP e largo ~1307px: la strip sport scorre nel suo box (fix
   precedente), ma il `.search-box--ctm` — fratello FUORI dallo scroll, largo fisso 443px —
   restava tagliato/fuori dal viewport a 390/360. Qui, sotto i 900px, la riga va a capo: la
   strip tiene la prima riga (e scorre), il search scende sotto a piena larghezza e si
   comprime nel contenitore. Il body non scrolla mai di lato (guard html/body sopra). */
@media (max-width: 900px){
  /* prima: il contenitore della navbar sport NON deve essere più largo del viewport, se no
     le % dei figli si calcolano su 1307px (il search diventava 1117px). */
  .box-main--sports-tab,
  .box-main--sports-tab .box-main--wrapper,
  .box-main--sports-tab .box-main--top{max-width:100%;min-width:0;box-sizing:border-box}
  .box-main--sports-tab .box-main--top{flex-wrap:wrap;width:100%}
  /* la strip tiene la prima riga e scorre nel suo box; il search scende sotto a piena
     larghezza del VIEWPORT (ora che il contenitore è vincolato) e si comprime. */
  .box-main--sports-tab .box-main--center{flex:1 1 100%;min-width:0;max-width:100%;overflow-x:auto}
  .box-main--sports-tab .box-main--left{flex:0 0 auto;min-width:0}
  .box-main--sports-tab .box-main--right{flex:1 1 100%;width:100%;max-width:100%;min-width:0;margin-top:6px}
  .box-main--sports-tab .search-box--ctm{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
  .box-main--sports-tab .search-box--ctm input{width:100%;min-width:0;box-sizing:border-box}
}

/* ============================================================================
   MENU SINISTRO COLLASSATO — «live» diventa solo un pallino (richiesta Dav 22/07)
   «quando é collapsed/minimizzato togli la scritta live e lascia solo il pallino
   rosso (font size 0, border-radius 50%) così non fa sballare il layout».

   Stato: il tema mette `.active` sulla sidebar ESPANSA → il collassato è
   `.left-sidebar:not(.active)`. Da espanso resta tutto com'è (testo + pallino).

   ⚠️ Perché questa regola sta QUI e non in tb.css: sulle pagine a tema importato
   `tb.css` NON è caricato — i fogli sono quelli del tema (`/player/theme-asset/…`)
   più questo `app_mobile.css`, iniettato con <link> nell'head dalla middleware.
   Questo è l'unico nostro foglio che arriva a quelle pagine. (Regola di casa
   rispettata: file .css collegato, nessun inline.) Se un domani la middleware
   inietterà più fogli, questa sezione può traslocare in `tb_components.css`.
   Design D.
   ========================================================================== */

.left-sidebar:not(.active) .ms-tag.live,
.left-sidebar:not(.active) .ms-live{
  /* la scritta sparisce senza togliere il nodo (niente salti di layout) */
  font-size:0;
  line-height:0;
  /* … e l'indicatore diventa un pallino tondo */
  display:inline-block;
  width:9px;
  height:9px;
  min-width:0;
  padding:0;
  border-radius:50%;
  flex:none;
  vertical-align:middle;
  /* il rosso resta quello del tema: se il badge aveva già il suo fondo lo tiene,
     altrimenti questo fallback lo rende comunque visibile */
  background:#ff3b3b;
  color:transparent;
  border:0;
  box-shadow:0 0 0 2px rgba(255,59,59,.22);
}
/* il pallino non deve allargare la riga né spingere il chevron */
.left-sidebar:not(.active) .btn-menu--group,
.left-sidebar:not(.active) .menu-group > a{ gap:6px; }

/* ============================================================================
   FIX header submenu — hover-gap (BUG Dav 22/07) + spazio voci
   Il tema (template_c_header.css, servito dal DB) apre il submenu con
   `position:absolute; top:100px → 36px; transition:all .5s`: tra la voce e il
   pannello resta un VUOTO e lo slide di mezzo secondo fa perdere l'hover → il
   submenu si chiude prima di poterci cliccare. Questo foglio è iniettato DOPO il
   CSS del tema, quindi vince a parità di selettore (stessa specificità, regola
   più recente). Niente JS. Design D.
   ========================================================================== */

/* il <li> è il contenitore dell'hover: assicuriamoci che il submenu si posizioni
   rispetto a lui e stia ATTACCATO alla voce (niente più top:100px/36px). */
.hd-ctm.hd-ctm--c .hd-ctm--menu ul.hd-menu--list > li{ position:relative; }

.hd-ctm.hd-ctm--c .hd-ctm--menu .hd-submenu--container{
  top:100%;                       /* flush sotto la voce: nessun gap verticale */
  z-index:15;
  /* niente slide di posizione: solo un fade rapido, così non "scappa" */
  transition:opacity .12s ease, visibility .12s ease;
  opacity:0; visibility:hidden;   /* nascosto ma pronto (no display:none: serve l'hover) */
}
.hd-ctm.hd-ctm--c .hd-ctm--menu ul.hd-menu--list > li:hover .hd-submenu--container{
  top:100%;                       /* resta attaccato, non salta */
  opacity:1; visibility:visible;
  transition:opacity .12s ease;
}

/* PONTE invisibile che copre l'eventuale micro-gap tra la voce e il pannello:
   così spostando il cursore verso il basso non si esce mai dall'area in hover. */
.hd-ctm.hd-ctm--c .hd-ctm--menu .hd-submenu--container::before{
  content:""; position:absolute; inset-inline:0; top:-10px; height:12px;
  background:transparent;
}
/* mentre il submenu è aperto, tieni la freccia/voce in stato attivo (feedback) */
.hd-ctm.hd-ctm--c .hd-ctm--menu ul.hd-menu--list > li:hover > a .mdi-chevron-down{
  transform:rotate(180deg);
}

/* --- SPAZIO VOCI: righe COMPATTE (Angelo Repoli 24/07): meno padding verticale, più dense, così
   ne entrano di più senza scroll — coerente con la tendina LIVE qui sotto. --- */
.hd-ctm.hd-ctm--c .hd-ctm--menu .hd-submenu--container ul > li{
  text-align:left; font-size:12.5px; padding:0; border-radius:0;
}
.hd-ctm.hd-ctm--c .hd-ctm--menu .hd-submenu--container ul > li + li{
  border-top:1px solid rgba(255,255,255,.06);   /* separatore leggibile */
}
.hd-ctm.hd-ctm--c .hd-ctm--menu .hd-submenu--container ul > li a{
  display:flex; align-items:center;
  padding:.28rem .8rem;           /* righe più strette/dense (prima .5rem) */
  font-size:12.5px; line-height:1.2; font-weight:400;
  border-left:0;                  /* il filetto a sinistra affollava: via */
  white-space:nowrap;
}
.hd-ctm.hd-ctm--c .hd-ctm--menu .hd-submenu--container ul > li a:hover{
  background:rgba(47,127,209,.10);   /* hover BLU come la tendina LIVE: uniforme su tutte e 5 le voci
                                        e leggibile sul fondo bianco/blu dei submenu (Angelo 24/07) */
}
.hd-ctm.hd-ctm--c .hd-ctm--menu .hd-submenu--container{
  min-width:210px; padding:4px 0; border-radius:6px;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
}

@media (prefers-reduced-motion:reduce){
  .hd-ctm.hd-ctm--c .hd-ctm--menu .hd-submenu--container{transition:none}
}

/* ============================================================================
   ICONA CALENDARIO chiara sui campi data SCURI (Dav 22/07)
   Nei filtri con campo navy (`.tb-filtri`, e `.bl--scuro`), l'indicatore nativo
   del date input è scuro su fondo scuro → invisibile. Lo schiariamo. NON tocchiamo
   i filtri a campo bianco (`.bl` chiaro di «Le mie scommesse»): lì l'icona scura si
   vede già, e invertirla la renderebbe bianco-su-bianco. CSS via <link>. Design D.
   ========================================================================== */
.tb-filtri input[type=date]::-webkit-calendar-picker-indicator,
.bl--scuro .bl-campo input[type=date]::-webkit-calendar-picker-indicator{
  filter:invert(1) opacity(.7);   /* bianco/grigio chiaro come il testo del campo */
  cursor:pointer;
}
.tb-filtri input[type=date]:hover::-webkit-calendar-picker-indicator,
.bl--scuro .bl-campo input[type=date]:hover::-webkit-calendar-picker-indicator{
  filter:invert(1) opacity(1);
}

/* ============================================================================
   A32 — INTESTAZIONE LOGGATA COMPATTA E RESPONSIVE (22/07)
   Segnalazione: su telefono i pulsanti dell'header (CONTO, DEPOSITA, PREMI,
   saldo, ESCI, ingranaggio) sono troppo grandi, sbordano e si TAGLIANO — l'ESCI
   a sinistra e il saldo a destra.

   CAUSA. Il tema importato veste il mobile solo per `.hd-ctm--a`; per la skin
   servita `.hd-ctm--c` lo stato LOGGATO non ha regole per telefono. Lì il
   contenitore ha `justify-content:center` e gli item misure fisse (btn
   `min-width:100px`, account-menu 40px, account-info `margin:0 1rem`): a ~390px
   la fila è più larga dello schermo e, essendo CENTRATA, viene tagliata da
   ENTRAMBI i lati.

   RIMEDIO. Fila ancorata a destra, item compatti, SALDO sempre per intero e
   leggibile. Sotto i 430px le icone secondarie (conto/premi/messaggi) — già
   raggiungibili dal menu account — si ritirano e l'ESCI resta come sola icona,
   così saldo + deposita + menu + esci ci stanno tutti senza clipping. Niente
   scroll-container: aprirebbe il taglio sui menu a tendina (account/lingua) che
   ricadono verso il basso. CSS via <link> (regola di casa), non inline. Design D.
   ========================================================================== */
@media (max-width:768px){
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged{overflow:visible; min-width:0}
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged .hd-ctm--auth-wrapper{
    padding:0 4px; gap:6px; flex-wrap:nowrap; min-width:0;
    justify-content:flex-end;   /* la fila abbraccia il bordo destro, non è più centrata */
  }
  /* SALDO: intero, in grassetto, non va mai a capo */
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged .account-info{
    margin:0 4px 0 0; min-width:0; flex:0 0 auto;
  }
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged .account-info span.info-amount{
    font-size:13px; font-weight:800; white-space:nowrap;
  }
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged .account-info span.info-user{
    font-size:10.5px; max-width:22vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  /* icone (conto/deposita/messaggi) e ingranaggio: compatte, misura fissa piccola */
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged .account-icon{
    height:30px; min-width:30px; padding:0 7px; font-size:18px; flex:0 0 auto; border-radius:8px;
  }
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged .account-menu{
    width:30px; min-width:30px; height:30px; font-size:19px; flex:0 0 auto;
  }
  /* ESCI/logout: via i 100px fissi */
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged .btn-ctm,
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged ~ .hd-ctm--auth .btn-ctm{
    min-width:auto; padding:6px 9px; flex:0 0 auto;
  }
}

/* fascia stretta dei telefoni: si libera lo spazio che serve al saldo */
@media (max-width:430px){
  /* l'username si legge nel menu account: sul saldo pesa e basta */
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged .account-info span.info-user{display:none}
  /* conto / premi / messaggi restano nel menu account, non nella barra */
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged .account-icon:not(.account-deposit){display:none}
  /* ESCI diventa sola icona (il testo starebbe stretto); ACCEDI/REGISTRATI da sloggato NON è toccato */
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged .btn-ctm .btn-text,
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged ~ .hd-ctm--auth .btn-ctm .btn-text{display:none}
  .hd-ctm.hd-ctm--c .hd-ctm--auth.hd-ctm--auth-logged .hd-ctm--auth-wrapper{gap:4px}
}

/* ════════════════════════════════════════════════════════════════════════════
   DROPDOWN «LIVE» dell'header UNIFORMATO agli altri submenu del nav (Dav 24/07).
   Il menu live (`.tb-livedd-menu`, «Tutti gli sport/…») era SCURO mentre SPORT/CASINO
   (`.hd-submenu--container`) sono BIANCO/BLU. Qui gli stessi colori/sfondo, in FILE
   (regola Dav: niente inline). Struttura (fixed, coordinate dal JS) invariata.
   ──────────────────────────────────────────────────────────────────────────── */
.tb-livedd{position:relative;display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.tb-livedd-car{font-size:.62em;opacity:.8;transition:transform .15s}
.tb-livedd.is-open .tb-livedd-car{transform:rotate(180deg)}
.tb-livedd-menu{position:fixed;z-index:5000;display:none;min-width:240px;max-height:70vh;overflow:auto;
  background:#fff;color:#2f7fd1;border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.25);
  padding:4px 0;font-size:12.5px;font-weight:600;text-align:left}   /* font come i submenu tema (12.5px) — 5 voci uniformi */
.tb-livedd.is-open .tb-livedd-menu{display:block}
/* RIGHE COMPATTE (Angelo Repoli 24/07): meno padding verticale, righe più dense → ne entrano di più
   prima di dover scrollare. */
.tb-livedd-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:4px 14px;margin:0 8px;line-height:1.2;font-size:12.5px !important;color:#2f7fd1;text-decoration:none;white-space:nowrap;font-weight:600;
  border-left:2px solid rgba(29,59,90,.15)}   /* !important: batte la regola nav del tema (14px), 5 voci uniformi */
.tb-livedd-menu a:hover{background:rgba(47,127,209,.08);border-left-color:#2f7fd1}
.tb-livedd-menu a.on{color:#12456f;background:rgba(47,127,209,.10);border-left-color:#2f7fd1}
.tb-livedd-menu a b{font-weight:800;color:#1a5da6;font-size:.86em}   /* il contatore, leggibile su bianco */
.tb-livedd-menu .tb-livedd-vuoto{padding:12px 14px;opacity:.7;font-weight:500;color:#5b7793}
.tb-livedd-menu .tb-livedd-sep{height:1px;background:rgba(29,59,90,.12);margin:5px 0}

/* player/coupon.css */
/* ============================================================================
   IL COUPON (schedina) — foglio unico, servito su ogni pagina del giocatore
   dal middleware `AppMobileShell` (quindi DOPO il CSS del tema: vince di cascata).

   Nasce da due `<style>` che stavano dentro i template (`schedina.html` e
   `_gambe_coupon.html`): stessi selettori, portati fuori come vuole la regola di
   Dav — CSS in un `.css` col `<link>`, mai inline.

   ⚠️ E con la DENSITÀ ridotta che Dav chiede da giorni. Il compatto era finito solo
   in `tb.css`, che veste il NOSTRO tema scuro: il coupon vivo gira sul tema
   IMPORTATO e quelle regole non lo toccavano nemmeno. Da qui invece sì.
   Cosa cala (nient'altro: colori, disegno e comportamento restano identici):
     · card della selezione:  76px → ~56px di altezza
     · testata, riga «accetta riproposte», righe importi/quote: padding e corpo
     · bottoni e zona prenotatore: un filo più bassi
   D, 22-07-2026.
   ========================================================================== */

/* la radice del tema è FLEX e il wrapper figlio ha min-width:auto: un nome partita
   lungo gonfiava la larghezza minima e il pannello sbordava dal rail. */
.box-sidebar--coupon>.box-sidebar--wrapper{width:100%;max-width:100%;min-width:0}
.box-sidebar--coupon{--tb-blu:var(--primary-color,#1d3b5a);--tb-oro:#e6d2a8;
  font-variant-numeric:tabular-nums;padding:6px}
.box-sidebar--coupon .tb-head{display:flex;justify-content:space-between;align-items:center;
  padding:6px 10px 3px;font-weight:800;letter-spacing:.02em;font-size:.94em}
.box-sidebar--coupon .tb-head small{font-weight:600;opacity:.75}
.box-sidebar--coupon .tb-accetta{display:flex;gap:6px;align-items:flex-start;margin:1px 10px 6px;
  font-size:.78em;line-height:1.2;opacity:.9;cursor:pointer}
.box-sidebar--coupon .tb-accetta input{margin-top:2px}

/* card evento (scheda "tb-", usata dai temi che non montano le .cpn-) */
.tb-ev{margin:0 8px 5px;border:1px solid rgba(0,0,0,.09);border-radius:8px;overflow:hidden;
  background:var(--box-background-b,#fff);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.tb-ev-h{display:flex;align-items:center;gap:6px;background:var(--tb-oro);
  color:#3a2f14;padding:4px 8px;font-weight:700;font-size:.84em}
.tb-ev-name{flex:1;min-width:0;overflow:hidden;white-space:normal;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tb-live{flex:none;background:#e33;color:#fff;font-size:.72em;font-weight:800;
  text-transform:uppercase;padding:1px 5px;border-radius:4px;letter-spacing:.04em}
.tb-banker{flex:none;width:20px;height:20px;border-radius:5px;display:flex;align-items:center;
  justify-content:center;font-weight:900;font-size:.82em;cursor:pointer;
  background:rgba(29,59,90,.25);color:#fff;transition:background .15s}
.tb-banker:hover{background:rgba(29,59,90,.5)}
.tb-banker.on{background:#f60;box-shadow:0 0 0 2px rgba(255,102,0,.25)}
.tb-leg{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 12px;font-size:.84em}
.tb-leg+.tb-leg{border-top:1px dashed rgba(0,0,0,.08)}
.tb-leg-chiusa{opacity:.5}
.tb-leg-name{flex:1;min-width:0;overflow:hidden;white-space:normal;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tb-leg-odds{flex:none;background:rgba(29,59,90,.09);color:var(--tb-blu);
  padding:2px 6px;border-radius:5px;font-size:.95em}
.tb-x{all:unset;cursor:pointer;color:#d33;line-height:1;padding:2px;border-radius:4px}
.tb-x:hover{background:rgba(221,51,51,.12)}

/* schede */
.box-sidebar--coupon .coupon-tabs{margin:2px 8px 0}
/* pannello campi */
.tb-panel{margin:5px 8px;border:1px solid rgba(0,0,0,.09);border-radius:8px;
  background:var(--box-background-b,#fff);padding:3px 0;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.tb-cp-row{display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:3px 10px;min-width:0;font-size:.86em}
.tb-cp-row>:first-child{flex:1;min-width:0;opacity:.85;white-space:normal;line-height:1.25}
.tb-cp-row>:last-child{font-weight:700;color:var(--tb-blu);white-space:nowrap}
.tb-cp-row.tot{border-top:1px solid rgba(0,0,0,.09);margin-top:2px;padding-top:6px;
  font-size:.94em}
.tb-cp-row.tot>:first-child{opacity:1;font-weight:800}
.tb-amount{width:82px;flex:none;text-align:right;border:1px solid rgba(29,59,90,.35);
  border-radius:6px;padding:3px 7px;font-weight:700;background:#fff;color:#123}
.tb-amount:focus{outline:2px solid rgba(255,102,0,.4);border-color:#f60}

/* righe del sistema */
.tb-sys-row{display:grid;grid-template-columns:minmax(0,1fr) 32px 66px;gap:6px;
  align-items:center;padding:3px 10px;font-size:.86em}
.tb-sys-row.hd{font-weight:800;font-size:.74em;letter-spacing:.05em;opacity:.7;
  padding-bottom:1px;text-transform:uppercase}
.tb-sys-row label{display:flex;gap:6px;align-items:center;cursor:pointer;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-sys-row .n{justify-self:center;background:rgba(29,59,90,.09);color:var(--tb-blu);
  font-weight:700;min-width:22px;text-align:center;border-radius:5px;padding:1px 5px;font-size:.9em}
.tb-sys-row .tb-amount{width:100%;padding:2px 5px}
.tb-cp-sub{display:flex;justify-content:space-between;gap:8px;padding:0 10px 4px 30px;
  opacity:.62;font-size:.75em}
.box-sidebar--coupon input[type=checkbox]{accent-color:#f60}

/* bottoni */
.box-sidebar--coupon #placeForm{width:100%}
.box-sidebar--coupon .tb-btns{display:flex;gap:6px;margin:8px 7px 6px}
.box-sidebar--coupon .tb-btns button{flex:1;min-width:0;border:0;cursor:pointer;
  padding:7px 0;font-weight:800;font-size:.72em;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;letter-spacing:.02em;border-radius:999px;
  color:#fff;transition:filter .15s}
.box-sidebar--coupon .tb-btns button:hover{filter:brightness(1.08)}
.box-sidebar--coupon .tb-btns .tb-annulla{background:linear-gradient(180deg,#f0503a,#dd3322)}
.box-sidebar--coupon .tb-btns .tb-scommetti{background:linear-gradient(180deg,#ff8a1e,#f56a00)}
.box-sidebar--coupon .tb-btns button:disabled{opacity:.45;cursor:default;filter:none}

/* PRENOTATORE (classi .pb-/.rd-): il Prenota è SECONDARIO (l'oro resta sul bottone
   che muove soldi), il codice è una card tratteggiata oro, il riscatto un input
   mono maiuscolo. */
.pb-zone{margin:0 8px 8px}
.pb-btn{width:100%;border:1.5px solid var(--tb-blu);background:var(--box-background-b,#fff);
  color:var(--tb-blu);border-radius:999px;padding:7px 0;font-weight:800;font-size:.76em;
  letter-spacing:.03em;cursor:pointer;display:inline-flex;align-items:center;
  justify-content:center;gap:7px}
.pb-btn svg{width:14px;height:14px}
.pb-btn:hover{background:rgba(28,66,103,.06)}
.pb-note{font-size:.68em;opacity:.65;margin:5px 2px 0;text-align:center;line-height:1.3}
.pb-done{border:1.5px dashed #F5B301;border-radius:9px;background:#FFFBEE;color:#23303F;
  padding:10px;text-align:center}
.pb-done h4{margin:0 0 2px;font-size:.82em}
.pb-code{font:800 1.45em/1.2 ui-monospace,'SF Mono',Menlo,monospace;
  letter-spacing:.1em;color:#1c4267;margin:5px 0 2px}
.pb-exp{font-size:.72em;color:#6B7A8C;margin:0 0 7px;line-height:1.3}
.pb-exp b{color:#b3651e}
.pb-copy{border:0;cursor:pointer;background:#1c4267;color:#fff;border-radius:999px;
  padding:6px 20px;font-weight:800;font-size:.76em}
.rd-in{display:grid;grid-template-columns:1fr auto;gap:6px;margin:7px 0 0}
.rd-in input{border:1.5px solid rgba(28,66,103,.25);border-radius:7px;padding:8px 9px;
  font:700 .92em/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;
  text-transform:uppercase;min-width:0;background:var(--box-background-b,#fff);color:#123}
.rd-in input:focus{outline:2px solid #F5B301;border-color:#F5B301}
.rd-in button{border:0;cursor:pointer;background:#F5B301;color:#23303F;border-radius:7px;
  padding:0 14px;font-weight:800;font-size:.78em}
.tb-msg{margin:0 8px 6px;padding:8px 10px;font-size:.8em;border-radius:0 7px 7px 0;line-height:1.3}
.tb-msg.ok{border-left:3px solid #1f7a3f;background:#F0F9F3;color:#14532d}
.tb-msg.err{border-left:3px solid #d23c3c;background:#FBF1F1;color:#7f1d1d}
[data-tip]{cursor:help}
.tb-cp-row [data-tip], .tb-accetta [data-tip]{border-bottom:1px dotted rgba(0,0,0,.3)}
.tb-vuoto{padding:12px 10px;text-align:center;opacity:.8;font-size:.88em}
.tb-vuoto .input-box{margin-top:8px}

/* ── LE CARD DELLE SELEZIONI (.cpn-, quelle che si vedono dal vivo) ──────────
   Erano il pezzo più arioso del coupon: qui perdono ~20px per selezione senza
   perdere una virgola d'informazione. */
.cpn-card{background:var(--box-background-b,#fff);border:1px solid rgba(0,0,0,.10);
  border-radius:8px;margin:0 8px 4px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.07)}
.cpn-card.is-live{border-left:3px solid #2f9e44}
.cpn-card.cpn-dead{opacity:.55}
.cpn-top{display:flex;align-items:center;gap:6px;padding:2px 8px 0;min-width:0;line-height:1.1}
.cpn-live{flex:none;background:#2f9e44;color:#fff;font-size:.55em;font-weight:900;
  letter-spacing:.05em;text-transform:uppercase;padding:1px 4px;border-radius:3px}
.cpn-comp{flex:1;min-width:0;font-size:.62em;color:#8a97a6;font-weight:600;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpn-banker{flex:none;width:16px;height:16px;border-radius:5px;display:flex;
  align-items:center;justify-content:center;font-weight:900;font-size:.72em;cursor:pointer;
  background:rgba(29,59,90,.22);color:#123;transition:background .15s}
.cpn-banker.on{background:#f60;color:#fff;box-shadow:0 0 0 2px rgba(255,102,0,.25)}
.cpn-match{padding:0 8px 2px;font-weight:700;font-size:.78em;color:#12314f;
  display:flex;align-items:baseline;gap:5px;flex-wrap:nowrap;line-height:1.15}
/* il nome sta su UNA riga: andando a capo si portava dietro 14px per selezione, ed è
   la ragione per cui il coupon restava alto anche coi padding ridotti. Tagliato con
   i puntini — il nome intero resta nel `title` e nella pagina dell'evento. */
.cpn-match>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.cpn-match .cpn-score{color:#d98a15;font-weight:800;font-size:.92em;font-variant-numeric:tabular-nums}
.cpn-leg{display:flex;align-items:center;gap:7px;padding:1px 8px 2px;
  border-top:1px dashed rgba(0,0,0,.08)}
.cpn-odds{flex:none;min-width:40px;text-align:center;background:rgba(29,59,90,.08);
  color:#12314f;font-weight:800;font-size:.8em;padding:1px 6px;border-radius:5px;
  font-variant-numeric:tabular-nums}
.cpn-leg-txt{flex:1;min-width:0;font-size:.7em;line-height:1.2;color:#5b6b7c;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpn-leg-txt b{color:#12314f}
.cpn-leg-txt .cpn-closed{color:#d33;font-weight:700}
.cpn-x{all:unset;flex:none;cursor:pointer;color:#c2ccd6;line-height:1;padding:2px;
  border-radius:5px;font-size:.9em}
.cpn-x:hover{background:rgba(221,51,51,.12);color:#d33}

/* ── STATI DELLO SLIP VELOCE (li mette e li toglie il JS in schedina.html) ────
   La selezione che togli sparisce SUBITO (non aspetta il giro sul server) e i
   NUMERI del pannello si velano finché non arrivano quelli veri dal motore:
   il coupon non mostra mai una cifra inventata, e non resta mai fermo a mentire. */
.cpn-card.cpn-va{opacity:0;transform:translateX(14px);height:0;margin:0 8px;
  transition:opacity .12s ease,transform .12s ease,height .12s ease}
.box-sidebar--coupon.tb-aggiorna .tb-panel,
.box-sidebar--coupon.tb-aggiorna .tb-cp-row>:last-child{opacity:.45;
  transition:opacity .12s ease}
.box-sidebar--coupon.tb-aggiorna .tb-btns button{pointer-events:none;opacity:.6}
/* filo di avanzamento sotto la testata: dice «sto aggiornando» senza rubare spazio */
.box-sidebar--coupon.tb-aggiorna .tb-head{position:relative}
.box-sidebar--coupon.tb-aggiorna .tb-head::after{
  content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#f60,transparent);
  animation:tb-filo 900ms linear infinite}
@keyframes tb-filo{0%{transform:translateX(-40%)}100%{transform:translateX(40%)}}
@media (prefers-reduced-motion:reduce){
  .cpn-card.cpn-va{transition:none}
  .box-sidebar--coupon.tb-aggiorna .tb-head::after{animation:none}
}

/* ════════════════════════════════════════════════════════════════════════════
   COUPON VUOTO — layout del mock Dav (23/07): messaggio + «Codice evento» con
   Salva / Carica. «Carica» = riscatto attuale; «Salva» crea il codice dal coupon
   (disabilitato a coupon vuoto). CSS in file (regola Dav). Colori dalle var del tema.
   ──────────────────────────────────────────────────────────────────────────── */
.cpn-save-form{display:contents}
.cpn-code{padding:0 10px 12px}
.cpn-code-h{font-size:.72em;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#5b7793;margin:2px 0 6px}
.cpn-code-in{width:100%;border:1.5px solid rgba(28,66,103,.25);border-radius:8px;
  padding:9px 10px;font:700 .92em/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;
  text-transform:uppercase;background:var(--box-background-b,#fff);color:#123;min-width:0}
.cpn-code-in::placeholder{text-transform:none;letter-spacing:0;color:#9fb0c2;font-weight:600}
.cpn-code-in:focus{outline:2px solid #F5B301;border-color:#F5B301}
.cpn-code-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.cpn-code-btns button{border:0;cursor:pointer;border-radius:8px;padding:10px 8px;
  font-weight:800;font-size:.82em}
/* Salva = azione verde (crea codice); Carica = riscatta (grigio-navy, come il mock) */
.cpn-save{background:#7dac2e;color:#fff}
.cpn-save:hover{filter:brightness(1.05)}
.cpn-save:disabled{background:#cdd9e6;color:#8aa0b4;cursor:not-allowed}
.cpn-load{background:#dfe9f4;color:#1c4267}
.cpn-load:hover{background:#cfe0f0}

/* NIENTE LIVE NELLA PRENOTAZIONE (Angelo 29/07): il perché, accanto al bottone spento. Non è un
   errore rosso da allarme — è un'istruzione: dice quale evento togliere, e si legge in un colpo. */
.cpn-live-blocco{margin:8px 0 0;padding:8px 10px;border-radius:8px;font-size:.78em;
  line-height:1.45;font-weight:700;background:#fff4d6;color:#7a4a00;border:1px solid #f0c86a}

/* player/footer_tb.css */
/* Footer TimerBet (partial _footer_tb.html)
   Estratto dal partial (regola di casa Dav 22/07: il CSS sta in un .css
   collegato con <link> nell'head, mai in <style> nel template).
   Design D. */

.tbf { background: linear-gradient(180deg, #0b1826, #0a1220); color: #C7D3E2;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    border-top: 2px solid #F5B301; margin-top: 32px; }
  .tbf * { box-sizing: border-box; }
  .tbf a { color: #C7D3E2; text-decoration: none; }
  .tbf a:hover { color: #F5B301; }
  .tbf :focus-visible { outline: 2px solid #F5B301; outline-offset: 2px; border-radius: 4px; }
  .tbf-in { max-width: 1200px; margin: 0 auto; padding: 30px 20px 18px; }

  .tbf-brand { margin-bottom: 22px; }
  .tbf-logo { display: inline-flex; align-items: center; gap: 10px;
    font-size: 22px; font-weight: 800; letter-spacing: 0.02em; color: #fff; }
  .tbf-logo b { color: #F5B301; font-weight: 800; }
  .tbf-min { display: inline-grid; place-items: center; min-width: 34px; height: 34px;
    padding: 0 4px; border: 2px solid #F5B301; border-radius: 50%;
    font: 700 13px/1 ui-monospace, "SF Mono", Menlo, monospace; color: #F5B301; }
  .tbf-tag { margin: 8px 0 0; font-size: 12.5px; color: #7E8CA0; }

  .tbf-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
    padding: 18px 0 22px; border-top: 1px solid #16283C; }
  .tbf-col { display: flex; flex-direction: column; gap: 9px; }
  .tbf-col h3 { margin: 0 0 3px; font-size: 11px; font-weight: 700;
    letter-spacing: 0.12em; text-transform: uppercase; color: #F5B301; }
  .tbf-col a { font-size: 13.5px; line-height: 1.4; }
  .tbf-col a[href="#"] { color: #7E8CA0; cursor: default; }

  .tbf-legal { display: flex; align-items: center; gap: 14px;
    padding: 16px 0; border-top: 1px solid #16283C; }
  .tbf-18 { flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 42px;
    border: 2.5px solid #F5B301; border-radius: 50%;
    font: 800 15px/1 system-ui, sans-serif; color: #F5B301; }
  .tbf-legal p { margin: 0; font-size: 12.5px; line-height: 1.5; color: #93A2B5; }

  .tbf-fine { padding-top: 12px; border-top: 1px solid #16283C;
    font-size: 11.5px; color: #5D6B80; }

  @media (max-width: 760px) {
    .tbf-cols { grid-template-columns: 1fr 1fr; }
    .tbf-in { padding-bottom: 84px; } /* aria per la bottom-nav mobile */
  }

/* player/tooltip.css */
/* Tooltip del player (partial _tooltip.html)
   Estratto dal partial (regola di casa Dav 22/07: il CSS sta in un .css
   collegato con <link> nell'head, mai in <style> nel template).
   Design D. */

/* la bolla vive su un pseudo-elemento: zero nodi in più nel DOM di B */
  .tb-tip { position: relative; }
  .tb-tip[data-tb-tip]::after,
  .tb-tip[data-tb-tip]::before {
    position: absolute; left: 50%; bottom: 100%;
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .12s ease, transform .12s ease;
    transform: translate(-50%, 4px); z-index: 60;
  }
  /* la bolla.
     ⚠️ CONTRASTO: la bolla è CROMO, colori FISSI (non var di tema). Il tema chiaro
     del prematch definisce `--ink:#1c2733` (scuro): usarlo qui dava testo scuro su
     bolla scura = illeggibile (segnalazione Angelo). Qui fondo scuro + testo chiaro,
     garantiti su ogni skin. */
  .tb-tip[data-tb-tip]::after {
    content: attr(data-tb-tip);
    margin-bottom: 9px;
    max-width: min(240px, 86vw); width: max-content;   /* mai più largo dello schermo */
    padding: 7px 10px; border-radius: 8px;
    background: #0c2740;
    color: #f2f8ff;
    border: 1px solid #1c4f78;
    border-top: 2px solid #ff7900;   /* filo del brand */
    box-shadow: 0 8px 22px rgba(2, 12, 22, .55);
    font: 600 12px/1.35 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    letter-spacing: .01em;
    text-align: center; white-space: normal; overflow-wrap: anywhere;
  }
  /* la freccina — un rombo ruotato, stesso fondo e bordo della bolla */
  .tb-tip[data-tb-tip]::before {
    content: ""; margin-bottom: 4px;
    width: 9px; height: 9px; transform: translate(-50%, 4px) rotate(45deg);
    background: #0c2740;
    border-right: 1px solid #1c4f78;
    border-bottom: 1px solid #1c4f78;
  }
  /* comparsa su hover E focus (tastiera / tap mobile) */
  .tb-tip[data-tb-tip]:hover::after,
  .tb-tip[data-tb-tip]:hover::before,
  .tb-tip[data-tb-tip]:focus-visible::after,
  .tb-tip[data-tb-tip]:focus-visible::before,
  .tb-tip[data-tb-tip].is-tip-open::after,
  .tb-tip[data-tb-tip].is-tip-open::before {
    opacity: 1; visibility: visible; transform: translate(-50%, 0);
  }
  .tb-tip[data-tb-tip]:hover::before,
  .tb-tip[data-tb-tip]:focus-visible::before,
  .tb-tip[data-tb-tip].is-tip-open::before {
    transform: translate(-50%, 0) rotate(45deg);
  }

  /* variante che scende (header colonne mercato, in cima alla pagina) */
  .tb-tip[data-tb-tip-pos="down"]::after,
  .tb-tip[data-tb-tip-pos="down"]::before { bottom: auto; top: 100%; }
  .tb-tip[data-tb-tip-pos="down"]::after { margin: 9px 0 0; }
  .tb-tip[data-tb-tip-pos="down"]::before {
    margin: 4px 0 0; border: 0;
    border-left: 1px solid var(--line, #16496b);
    border-top: 1px solid var(--line, #16496b);
  }

  /* nome troncato: l'ellissi vive sull'inner .tb-trunc (che PUÒ clippare, non porta la
     bolla); il wrapper .tb-tip resta senza overflow, così la bolla non viene ritagliata. */
  .tb-trunc { overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    display: block; max-width: 100%; min-width: 0; }
  .tb-tip:has(> .tb-trunc) { display: block; min-width: 0; }
  .tb-tip[data-tb-tip] .tb-trunc { cursor: help; }

  /* ANCORAGGIO ORIZZONTALE per le celle a filo schermo: la bolla si aggancia al
     bordo sinistro (start) o destro (end) dell'elemento invece di centrarsi, così
     non esce dallo schermo e non viene tagliata. La FRECCIA resta centrata sulla
     cella (punta sempre al numero). Lo mette chi conosce la colonna (prematch:
     prima colonna=start, ultima=end; vedi prematch.css). */
  .tb-tip[data-tb-tip][data-tb-tip-align="start"]::after { left: 0; right: auto; transform: translate(0, 4px); }
  .tb-tip[data-tb-tip][data-tb-tip-align="end"]::after   { left: auto; right: 0; transform: translate(0, 4px); }
  .tb-tip[data-tb-tip][data-tb-tip-align="start"]:hover::after,
  .tb-tip[data-tb-tip][data-tb-tip-align="start"]:focus-visible::after,
  .tb-tip[data-tb-tip][data-tb-tip-align="start"].is-tip-open::after,
  .tb-tip[data-tb-tip][data-tb-tip-align="end"]:hover::after,
  .tb-tip[data-tb-tip][data-tb-tip-align="end"]:focus-visible::after,
  .tb-tip[data-tb-tip][data-tb-tip-align="end"].is-tip-open::after { transform: translate(0, 0); }

  @media (prefers-reduced-motion: reduce) {
    .tb-tip[data-tb-tip]::after, .tb-tip[data-tb-tip]::before { transition: none; }
  }

/* player/bottom_nav.css */
/* Barra in basso (partial _bottom_nav.html)
   Estratto dal partial (regola di casa Dav 22/07: il CSS sta in un .css
   collegato con <link> nell'head, mai in <style> nel template).
   Design D. */

@media (hover: none){
  .hd-ctm--menu ul.hd-menu--list > li:hover > .hd-submenu--container{display:none}
  .hd-ctm--menu ul.hd-menu--list > li.tbm-open > .hd-submenu--container{display:block}
}

/* player/home_tabs.css */
/* ============================================================================
   HOME — PIECE 1: riga RAGGRUPPAMENTI + riga SPORT
   Richiesta Dav (rif. Dav_modifica_non_fatta.png). Tema scuro nostro.
   Solo struttura vestita: il comportamento (click raggruppamento → sport,
   click sport → contenuto) lo wira B col partial-load.
   Design D, 22-07-2026.

   ⚠️ Due varianti di colore, si sceglie con UNA classe sul contenitore:
     .hm            → tema scuro nostro (accento arancio)   ← default
     .hm.hm--vivid  → lettura letterale del riferimento: raggruppamenti ROSSI
                      e sport VERDE fluo
   (Nel riferimento i rettangoli rosso/verde sono le ANNOTAZIONI di Dav sopra
   lo screenshot, non i colori del sito: lì i tab sono bianchi su blu. Lascio
   entrambe pronte, sceglie Dav/GC.)
   ========================================================================== */

.hm{
  --hm-bg:#0a3350;          /* fondo delle due righe */
  --hm-bg2:#052033;         /* riga sport, un gradino più scura */
  --hm-line:#16496b;
  --hm-ink:#eaf2f8;
  --hm-dim:#9fbdd2;
  --hm-acc:#ff7900;         /* accento: attivo */
  --hm-acc-ink:#2b1400;     /* testo sopra l'accento */
  --hm-live:#ff3b3b;
  background:var(--hm-bg);
  border:1px solid var(--hm-line);
  border-radius:10px;
  overflow:visible;   /* i dropdown (cascata) devono poter uscire */
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--hm-ink);
}
.hm *{box-sizing:border-box}

/* variante "come le annotazioni": rosso + verde fluo */
.hm.hm--vivid{ --hm-acc:#e0322b; --hm-acc-ink:#fff; }
.hm.hm--vivid .hm-sports{ --hm-acc:#3ef07a; --hm-acc-ink:#042312; }

/* ───────────────────────── riga 1 · RAGGRUPPAMENTI ───────────────────────── */
.hm-groups{
  display:flex; align-items:stretch; gap:2px;
  padding:0 8px; border-radius:10px 10px 0 0;
  border-block-end:1px solid var(--hm-line);
  overflow-x:auto; scrollbar-width:none;
}
.hm-groups::-webkit-scrollbar{display:none}

/* le briciole a sinistra (casa › sport › torneo) come nel riferimento */
.hm-crumbs{
  display:flex; align-items:center; gap:7px; flex:none;
  padding-inline-end:10px; margin-inline-end:4px;
  border-inline-end:1px solid var(--hm-line);
  color:var(--hm-dim);
}
.hm-crumbs span{display:grid;place-items:center;width:22px;height:22px;cursor:pointer}
.hm-crumbs span:hover{color:var(--hm-ink)}

.hm-g{
  flex:none; position:relative; cursor:pointer;
  padding:12px 14px 11px;
  font-size:13.5px; font-weight:700; white-space:nowrap;
  color:var(--hm-dim); background:transparent; border:0;
  transition:color .12s;
}
.hm-g:hover{color:var(--hm-ink)}
/* attivo: testo pieno + filo d'accento sotto (non un pill: la riga resta pulita) */
.hm-g.on{color:var(--hm-ink)}
.hm-g.on::after{
  content:""; position:absolute; inset-inline:10px; inset-block-end:0;
  height:3px; border-radius:3px 3px 0 0; background:var(--hm-acc);
}
.hm-g:focus-visible{outline:2px solid var(--hm-acc);outline-offset:-3px;border-radius:6px}

/* nella variante vivid l'attivo è una pastiglia piena, come i tab del riferimento */
.hm--vivid .hm-g.on{
  background:var(--hm-acc); color:var(--hm-acc-ink); border-radius:6px;
  margin-block:6px; padding-block:6px;
}
.hm--vivid .hm-g.on::after{display:none}

/* ───────────────────────────── riga 2 · SPORT ───────────────────────────── */
.hm-sports{
  display:flex; align-items:center; gap:6px;
  padding:0 8px; background:var(--hm-bg2); border-radius:0 0 10px 10px;
}
/* SOLO gli sport scorrono; interruttore a sx e controlli a dx restano FISSI */
.hm-s-scroll{
  flex:1 1 auto; min-width:0;
  display:flex; align-items:center; gap:2px;
  overflow-x:auto; scrollbar-width:none;
}
.hm-s-scroll::-webkit-scrollbar{display:none}

/* interruttore «Con live streaming», a sinistra come nel riferimento */
.hm-stream{
  display:flex; align-items:center; gap:8px; flex:none;
  padding-inline-end:12px; margin-inline-end:6px;
  border-inline-end:1px solid var(--hm-line);
  color:var(--hm-dim); font-size:12.5px; font-weight:600; white-space:nowrap;
  cursor:pointer;
}
.hm-stream i{
  width:32px; height:18px; border-radius:999px; background:#123c5c;
  border:1px solid var(--hm-line); position:relative; flex:none; transition:background .15s;
}
.hm-stream i::after{
  content:""; position:absolute; inset-block-start:2px; inset-inline-start:2px;
  width:12px; height:12px; border-radius:50%; background:var(--hm-dim); transition:.15s;
}
.hm-stream.on i{background:var(--hm-acc);border-color:var(--hm-acc)}
.hm-stream.on i::after{inset-inline-start:16px;background:#fff}
.hm-stream.on{color:var(--hm-ink)}

.hm-s{
  flex:none; display:inline-flex; align-items:center; gap:7px; cursor:pointer;
  padding:9px 12px; border:0; background:transparent;
  font-size:13px; font-weight:700; white-space:nowrap; color:var(--hm-dim);
  border-radius:7px; transition:color .12s,background .12s;
}
.hm-s img,.hm-s svg{width:18px;height:18px;flex:none;opacity:.85}
.hm-s:hover{color:var(--hm-ink);background:rgba(255,255,255,.06)}
.hm-s:hover img,.hm-s:hover svg{opacity:1}
.hm-s.on{color:var(--hm-acc)}
.hm-s.on img,.hm-s.on svg{opacity:1}
.hm-s.on::after{
  content:""; position:absolute; inset-inline:8px; inset-block-end:2px; height:2px;
  border-radius:2px; background:var(--hm-acc);
}
.hm-s{position:relative}
.hm-s:focus-visible{outline:2px solid var(--hm-acc);outline-offset:-2px}
/* pallino LIVE sullo sport che ha eventi in corso */
.hm-s .hm-dot{
  width:7px;height:7px;border-radius:50%;background:var(--hm-live);flex:none;
  box-shadow:0 0 0 2px rgba(255,59,59,.22);
}
/* nella variante vivid lo sport attivo è pieno di verde fluo */
.hm--vivid .hm-s.on{background:var(--hm-acc);color:var(--hm-acc-ink)}
.hm--vivid .hm-s.on::after{display:none}

/* le due icone a destra (altri sport / e-sport) — FISSE, non scorrono */
.hm-more{display:flex;align-items:center;gap:4px;flex:none;
  padding-inline-start:10px;border-inline-start:1px solid var(--hm-line)}
.hm-more button{
  display:inline-flex;align-items:center;gap:4px;cursor:pointer;
  background:transparent;border:0;color:var(--hm-dim);padding:7px 9px;border-radius:7px;
  font-size:13px;
}
.hm-more button:hover{color:var(--hm-ink);background:rgba(255,255,255,.06)}

/* ─────────────────────────────── responsive ─────────────────────────────── */
@media (max-width:760px){
  .hm-crumbs{display:none}                 /* le briciole non servono sul telefono */
  .hm-g{padding:10px 11px;font-size:12.5px}
  .hm-s{padding:8px 10px;font-size:12.5px}
  .hm-stream span{display:none}            /* resta solo l'interruttore */
}
@media (prefers-reduced-motion:reduce){
  .hm-g,.hm-s,.hm-stream i,.hm-stream i::after{transition:none}
}

/* ============================================================================
   PREMATCH — lato DESTRO della barra sport: SELECT vestita + toolbar icone
   (dalla prematch.html di Dav: select `.select-input` in alto a destra + icone
   print/view/sorting/largeView…). Usa l'icon-pack (`iconpack.css`, classi .ic-ui--*).
   Va DENTRO `.hm-sports`, dopo `.hm-more` (o al posto suo). Design D, 22-07-2026.
   ========================================================================== */

/* la select vestita del tema, portata sul nostro scuro */
.hm-select{position:relative;flex:none;margin-inline-start:8px}
.hm-select select{
  appearance:none;-webkit-appearance:none;
  background:var(--navy-2,#0f3f61);color:var(--hm-ink,#eaf2f8);
  border:1px solid var(--hm-line,#16496b);border-radius:7px;
  padding:7px 30px 7px 11px;font:inherit;font-size:12.5px;font-weight:600;
  cursor:pointer;outline:none;
}
.hm-select select:hover{border-color:var(--hm-dim,#9fbdd2)}
.hm-select select:focus{border-color:var(--hm-acc,#ff7900)}
.hm-select .ic{position:absolute;inset-block-start:50%;inset-inline-end:9px;
  transform:translateY(-50%);pointer-events:none;color:var(--hm-dim,#9fbdd2);font-size:16px}

/* la barra di icone (view/print/sorting…) */
.hm-tools{display:flex;align-items:center;gap:2px;flex:none;margin-inline-start:6px}
.hm-tool{
  width:32px;height:32px;flex:none;cursor:pointer;border:0;border-radius:7px;
  background:transparent;color:var(--hm-dim,#9fbdd2);
  display:grid;place-items:center;transition:background .12s,color .12s;
}
.hm-tool .ic{font-size:18px}
.hm-tool:hover{background:rgba(255,255,255,.06);color:var(--hm-ink,#eaf2f8)}
.hm-tool.on{color:var(--hm-acc,#ff7900)}          /* vista attiva (es. largeView) */
.hm-tool.on{background:rgba(255,121,0,.12)}
.hm-tool:focus-visible{outline:2px solid var(--hm-acc,#ff7900);outline-offset:-2px}
.hm-tools .sep{width:1px;height:20px;background:var(--hm-line,#16496b);margin:0 4px;flex:none}

@media (max-width:760px){
  .hm-select select{padding-block:6px;font-size:12px}
  .hm-tool{width:30px;height:30px}
}

/* ============================================================================
   HOME — PIECE 2: «Cerca» in alto a destra (riga raggruppamenti) + PIECE 3: box
   con le 2 icone a CASCATA (altri sport / e-sport) sulla riga sport.
   Estende home_tabs.css. Design D, 22-07-2026. Comportamento (apri/filtra) = B.
   ========================================================================== */

/* --- riga raggruppamenti: i gruppi scorrono, il CERCA resta FISSO a destra --- */
.hm-groups{gap:6px}
.hm-g-scroll{
  flex:1 1 auto;min-width:0;display:flex;align-items:stretch;gap:2px;
  overflow-x:auto;scrollbar-width:none;
}
.hm-g-scroll::-webkit-scrollbar{display:none}
.hm-search{
  flex:none;margin-inline-start:8px;align-self:center;position:relative;
}
.hm-search input{
  width:200px;max-width:38vw;
  background:var(--navy-2,#0f3f61);border:1px solid var(--hm-line,#16496b);border-radius:999px;
  color:var(--hm-ink,#eaf2f8);font:inherit;font-size:12.5px;
  padding:8px 34px 8px 14px;outline:none;
}
.hm-search input::placeholder{color:var(--hm-dim,#9fbdd2)}
.hm-search input:focus{border-color:var(--hm-acc,#ff7900)}
.hm-search .ic{
  position:absolute;inset-block-start:50%;inset-inline-end:12px;transform:translateY(-50%);
  color:var(--hm-dim,#9fbdd2);pointer-events:none;font-size:15px;
}

/* --- le 2 icone a destra della riga sport: ognuna apre un menu a CASCATA --- */
.hm-more button{position:relative}
.hm-menu{
  position:absolute;inset-block-start:100%;inset-inline-end:0;z-index:40;margin-block-start:6px;
  min-width:214px;max-height:60vh;overflow-y:auto;
  background:var(--hm-bg,#0a3350);border:1px solid var(--hm-line,#16496b);border-radius:10px;
  box-shadow:0 14px 34px rgba(2,12,22,.55);padding:5px;
  opacity:0;visibility:hidden;transform:translateY(4px);
  transition:opacity .12s ease,transform .12s ease;
}
/* B: apri col hover del contenitore o con .is-open sul button (tap mobile) */
.hm-more button:hover > .hm-menu,
.hm-more button.is-open > .hm-menu{opacity:1;visibility:visible;transform:translateY(0)}
/* ponte anti-gap (stessa lezione dell'header submenu) */
.hm-menu::before{content:"";position:absolute;inset-inline:0;top:-8px;height:10px}

.hm-menu-it{
  display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;cursor:pointer;
  color:var(--hm-ink,#eaf2f8);font-size:12.5px;font-weight:600;position:relative;
}
.hm-menu-it:hover{background:rgba(255,255,255,.07)}
.hm-menu-it .ic,.hm-menu-it img{width:18px;height:18px;flex:none;opacity:.9}
.hm-menu-it .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-menu-it .cnt{font-size:11px;color:var(--hm-dim,#9fbdd2);font-weight:700}
/* la freccina "ha un sottomenu" */
.hm-menu-it.has-sub > .car{color:var(--hm-dim,#9fbdd2);font-size:11px}

/* il SOTTOMENU (competizioni dello sport): si apre a fianco */
.hm-menu-sub{
  position:absolute;inset-block-start:-5px;inset-inline-end:100%;margin-inline-end:4px;
  min-width:200px;max-height:56vh;overflow-y:auto;
  background:var(--hm-bg,#0a3350);border:1px solid var(--hm-line,#16496b);border-radius:10px;
  box-shadow:0 14px 34px rgba(2,12,22,.55);padding:5px;
  opacity:0;visibility:hidden;transform:translateX(4px);
  transition:opacity .12s ease,transform .12s ease;
}
.hm-menu-it.has-sub:hover > .hm-menu-sub,
.hm-menu-it.has-sub.is-open > .hm-menu-sub{opacity:1;visibility:visible;transform:translateX(0)}
.hm-menu-sub::before{content:"";position:absolute;inset-block:0;inset-inline-end:-6px;width:8px}
/* gruppo "Leghe popolari" nel sottomenu */
.hm-menu-grp{padding:8px 10px 4px;font:800 9.5px/1 ui-monospace,Menlo,monospace;
  letter-spacing:.1em;text-transform:uppercase;color:var(--hm-dim,#9fbdd2)}

@media (max-width:760px){
  .hm-search input{width:150px}
  /* su mobile il sottomenu si apre SOTTO invece che a fianco (spazio) */
  .hm-menu-sub{position:static;inset:auto;margin:2px 0 2px 10px;box-shadow:none;
    border:0;border-left:2px solid var(--hm-line,#16496b);border-radius:0;
    opacity:1;visibility:visible;transform:none;display:none}
  .hm-menu-it.has-sub.is-open > .hm-menu-sub{display:block}
}
@media (prefers-reduced-motion:reduce){.hm-menu,.hm-menu-sub{transition:none}}

/* ── Widget LOGO (Dav 24/07): logo skin cliccabile → home, posizionabile ── */
.wg-logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0}
.wg-logo-img{max-height:44px;max-width:200px;width:auto;height:auto;object-fit:contain}
.wg-logo-word{font:800 22px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  letter-spacing:.02em;color:var(--header-color-menu,#f5b301);line-height:1}

/* player/betlist.css */
/* ============================================================================
   CRONOLOGIA SCOMMESSE (Account Betlist) — vestito completo
   Richiesta Dav 22/07, rif. `inbox/new/Dav_lista_scommesse_ref.png`:
   «deve essere così, ma lascia il menu account a sinistra come adesso».
   Quindi: la RICCHEZZA del template (filtri, toggle area, tabella larga,
   pallini d'esito con legenda, totali, paginazione) DENTRO la nostra pagina,
   con la sidebar account a sinistra invariata.

   Design D, 22-07-2026. Solo struttura vestita: i filtri, il caricamento e la
   paginazione li wira B (form GET, come `_filtri_data.html`).

   ⚠️ DUE PELLI, si sceglie con UNA classe sul contenitore `.bl`:
     .bl              → chiara, come il template di Dav (pagine a tema importato,
                        dove la card `.pg-card` è bianca)     ← default
     .bl.bl--scuro    → il nostro tema scuro (player/base.html, tb.css)
   Nessun colore è scritto due volte: tutto passa dalle variabili qui sotto.
   ========================================================================== */

.bl{
  /* — pelle chiara (default), i toni del template — */
  --bl-ink:#1c4267;          /* testo forte */
  --bl-dim:#5b7793;          /* testo debole (etichette, legenda) */
  --bl-line:rgba(28,66,103,.14);
  --bl-line-2:rgba(28,66,103,.28);
  --bl-head:#276aa6;         /* fondo intestazione tabella */
  --bl-head-ink:#fff;
  --bl-zebra:rgba(28,66,103,.035);
  --bl-hover:rgba(39,106,166,.08);
  --bl-field:#fff;           /* fondo dei campi */
  --bl-field-ink:#12314e;
  --bl-bar:rgba(39,106,166,.06);   /* fondo barra filtri e riga totali */
  --bl-acc:#276aa6;          /* azione principale (Cerca) */
  --bl-acc-ink:#fff;
  --bl-link:#1a5da6;
  --bl-money:#1c4267;

  /* — i sei esiti: gli stessi colori del template — */
  --bl-lose:#e8402a;
  --bl-win:#1f8a2f;
  --bl-pending:#f08c00;
  --bl-payed:#7ec93f;
  --bl-running:#f2d024;
  --bl-rejected:#2b4fd6;

  color:var(--bl-ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* il nostro tema scuro: cambiano SOLO le variabili */
.bl.bl--scuro{
  --bl-ink:#eaf0f7;
  --bl-dim:#9fbdd2;
  --bl-line:rgba(255,255,255,.10);
  --bl-line-2:rgba(255,255,255,.20);
  --bl-head:#0e2140;
  --bl-head-ink:#eaf0f7;
  --bl-zebra:rgba(255,255,255,.035);
  --bl-hover:rgba(255,255,255,.07);
  --bl-field:#0e2140;
  --bl-field-ink:#eaf0f7;
  --bl-bar:rgba(255,255,255,.05);
  --bl-acc:#f5c451;
  --bl-acc-ink:#0e2140;
  --bl-link:#7fb7ff;
  --bl-money:#f5c451;        /* l'oro è il denaro */
}

/* ── intestazione della pagina ───────────────────────────────────────────── */
.bl-intro{margin:0 0 12px;color:var(--bl-dim);font-size:.92rem}

/* ── barra FILTRI ────────────────────────────────────────────────────────────
   Stato scommessa · Dal giorno · Al giorno · Da · A (importo) · Esito · Cerca
   È un <form method="get">: i filtri restano nell'URL (ricaricabile, linkabile,
   il tasto «indietro» fa quel che uno si aspetta). Stessa regola di `_filtri_data`. */
.bl-filtri{
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;
  padding:12px 14px;margin:0 0 10px;
  background:var(--bl-bar);border:1px solid var(--bl-line);border-radius:10px;
}
.bl-campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.bl-campo label{
  font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;
  font-weight:700;color:var(--bl-dim);
}
.bl-campo input,.bl-campo select{
  padding:8px 10px;border-radius:7px;border:1px solid var(--bl-line-2);
  background:var(--bl-field);color:var(--bl-field-ink);
  font:inherit;font-size:.9rem;min-width:150px;
}
.bl-campo input:focus-visible,.bl-campo select:focus-visible,
.bl-cerca:focus-visible,.bl-reset:focus-visible,
.bl-area input:focus-visible+.bl-sw{outline:2px solid var(--bl-acc);outline-offset:2px}
/* i due importi sono corti: non meritano la larghezza di una data */
.bl-campo--num input{min-width:92px;max-width:110px}

.bl-azioni{display:flex;gap:8px;margin-left:auto}
.bl-cerca,.bl-reset{
  padding:9px 18px;border-radius:7px;border:0;line-height:1.2;
  font:inherit;font-weight:800;font-size:.88rem;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;gap:6px;
}
.bl-cerca{background:var(--bl-acc);color:var(--bl-acc-ink)}
.bl-cerca:hover{filter:brightness(1.06)}
.bl-reset{background:transparent;color:var(--bl-dim);border:1px solid var(--bl-line-2)}
.bl-reset:hover{color:var(--bl-ink);border-color:var(--bl-acc)}

/* ── riga TOGGLE d'area: Sport / Live / Casino ───────────────────────────────
   Interruttori veri (checkbox nascosta + <span class="bl-sw">): funzionano da
   tastiera e si leggono con lo screen reader. B li manda nel GET. */
.bl-aree{
  display:flex;flex-wrap:wrap;gap:18px;align-items:center;
  padding:10px 14px;margin:0 0 12px;
  background:var(--bl-bar);border:1px solid var(--bl-line);border-radius:10px;
}
.bl-area{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-size:.9rem;font-weight:700;color:var(--bl-ink)}
.bl-area input{position:absolute;opacity:0;width:0;height:0}
.bl-sw{
  width:38px;height:20px;border-radius:999px;flex:none;position:relative;
  background:var(--bl-line-2);transition:background .15s ease;
}
.bl-sw::after{
  content:"";position:absolute;inset:2px auto 2px 2px;width:16px;border-radius:50%;
  background:#fff;transition:transform .15s ease;
}
.bl-area input:checked+.bl-sw{background:var(--bl-acc)}
.bl-area input:checked+.bl-sw::after{transform:translateX(18px)}

/* ── TABELLA ─────────────────────────────────────────────────────────────── */
.bl-wrap{overflow-x:auto;border:1px solid var(--bl-line);border-radius:10px}
.bl-tab{width:100%;border-collapse:collapse;font-size:.88rem}
.bl-tab th{
  text-align:left;padding:9px 12px;white-space:nowrap;
  font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;font-weight:800;
  background:var(--bl-head);color:var(--bl-head-ink);
  border-right:1px solid rgba(255,255,255,.14);
}
.bl-tab th:last-child{border-right:0}
.bl-tab td{
  padding:10px 12px;white-space:nowrap;vertical-align:middle;
  border-bottom:1px solid var(--bl-line);
}
.bl-tab tbody tr:nth-child(even) td{background:var(--bl-zebra)}
.bl-tab tbody tr:hover td{background:var(--bl-hover)}
.bl-tab tbody tr:last-child td{border-bottom:0}
.bl-id{font-weight:800;color:var(--bl-link);text-decoration:none}
.bl-id:hover{text-decoration:underline}
.bl-num{text-align:right;font-variant-numeric:tabular-nums}
.bl-money{text-align:right;font-weight:800;color:var(--bl-money);
  font-variant-numeric:tabular-nums}
.bl-ctx{color:var(--bl-dim)}
.bl-live{background:var(--bl-lose);color:#fff;font-size:.7em;font-weight:800;
  padding:1px 6px;border-radius:4px;letter-spacing:.04em;vertical-align:1px}

/* ── il PALLINO d'esito + la LEGENDA ─────────────────────────────────────────
   Il colore da solo non è un'informazione (daltonismo, stampa): ogni pallino
   porta il suo `title`/`aria-label` in parole, e la legenda sta sempre sotto. */
.bl-dot{
  display:inline-block;width:14px;height:14px;border-radius:50%;
  background:var(--bl-dim);box-shadow:0 0 0 1px rgba(0,0,0,.18) inset;
}
.bl-dot.lose{background:var(--bl-lose)}
.bl-dot.win{background:var(--bl-win)}
.bl-dot.pending{background:var(--bl-pending)}
.bl-dot.payed{background:var(--bl-payed)}
.bl-dot.running{background:var(--bl-running)}
.bl-dot.rejected{background:var(--bl-rejected)}
.bl-tab td.bl-esito{text-align:center}

/* riga finale: legenda a sinistra, TOTALI a destra (come nel template) */
.bl-piede{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;
  padding:11px 14px;margin-top:-1px;
  background:var(--bl-bar);border:1px solid var(--bl-line);
  border-radius:0 0 10px 10px;
}
.bl-legenda{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;
  font-size:.8rem;color:var(--bl-dim);font-weight:600}
.bl-legenda span{display:inline-flex;align-items:center;gap:6px}
.bl-totali{display:flex;flex-wrap:wrap;gap:6px 22px;margin-left:auto;
  font-size:.85rem;color:var(--bl-dim);font-weight:700}
.bl-totali b{color:var(--bl-money);font-weight:900;font-variant-numeric:tabular-nums}
/* quando c'è il piede, la tabella non arrotonda in basso */
.bl-wrap:has(+.bl-piede){border-radius:10px 10px 0 0;border-bottom:0}

/* ── PAGINAZIONE ─────────────────────────────────────────────────────────── */
.bl-pag{display:flex;justify-content:center;gap:6px;margin:14px 0 4px;flex-wrap:wrap}
.bl-pag a,.bl-pag span{
  min-width:34px;height:34px;padding:0 9px;border-radius:7px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--bl-line-2);background:var(--bl-field);color:var(--bl-ink);
  font-size:.86rem;font-weight:700;text-decoration:none;
}
.bl-pag a:hover{border-color:var(--bl-acc);color:var(--bl-acc)}
.bl-pag .on{background:var(--bl-acc);color:var(--bl-acc-ink);border-color:var(--bl-acc)}
.bl-pag .off{opacity:.4;pointer-events:none}

/* ── vuoto ───────────────────────────────────────────────────────────────── */
.bl-vuoto{padding:28px 14px;text-align:center;color:var(--bl-dim)}

/* ── piccolo: la tabella diventa schede, stessa informazione ─────────────── */
.bl-cards{display:none}
@media (max-width:820px){
  .bl-wrap{display:none}
  .bl-cards{display:block;border:1px solid var(--bl-line);border-radius:10px 10px 0 0;
    border-bottom:0;overflow:hidden}
  .bl-card{display:block;padding:11px 13px;text-decoration:none;color:inherit;
    border-bottom:1px solid var(--bl-line)}
  .bl-card:nth-child(even){background:var(--bl-zebra)}
  .bl-card-t{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .bl-card-t b{color:var(--bl-link)}
  .bl-card small{display:block;margin-top:4px;color:var(--bl-dim)}
  .bl-card small b{color:var(--bl-money)}
  .bl-campo input,.bl-campo select{min-width:0;width:100%}
  .bl-campo{flex:1 1 45%}
  .bl-azioni{margin-left:0;width:100%}
  .bl-totali{margin-left:0;width:100%}
}

/* ============================================================================
   FILTRI DENTRO LA CARD (Dav 22/07) — Cronologia scommesse
   La barra `_filtri_data` (`.tb-filtri`) nasce per la fascia BLU dell'header conto:
   testo chiaro, fondo translucido. Dav l'ha voluta DENTRO la card bianca, sopra la
   tabella (`.pg-card-flt`). Qui la rivesto per il fondo chiaro — più specifico di
   `.tb-filtri`, quindi vince senza toccare il partial condiviso.
   ========================================================================== */
.pg-card-flt{padding:12px 14px 0}
.pg-card .pg-card-flt .tb-filtri{
  background:transparent;border:0;border-bottom:1px solid rgba(28,66,103,.12);
  border-radius:0;margin:0 0 4px;padding:0 0 12px;
}
/* etichette leggibili sul bianco (erano bianche su blu → invisibili) */
.pg-card .pg-card-flt .tb-filtri label{color:#5b7793;opacity:1}
/* CAMPI BIANCHI, identici a «Le mie scommesse» (target `.bl` chiaro: --bl-field:#fff /
   --bl-field-ink:#12314e). Erano navy (#0e2140): la parità che D aveva segnalato. Ora i filtri
   transazioni e quelli delle scommesse hanno lo STESSO campo, come chiedeva Angelo. */
.pg-card .pg-card-flt .tb-filtri input,
.pg-card .pg-card-flt .tb-filtri select{
  border-color:rgba(28,66,103,.28);background:#fff;color:#12314e;
}
/* icona calendario: ora che il campo è BIANCO, l'indicatore nativo (scuro) si vede già; annullo
   l'invert che `app_mobile.css` applica ai `.tb-filtri` scuri (più specifico → vince), sennò
   sarebbe bianco-su-bianco. */
.pg-card .pg-card-flt .tb-filtri input[type=date]::-webkit-calendar-picker-indicator{
  filter:none;
}
/* Filtra resta oro; Pulisci diventa un contorno scuro sul bianco */
.pg-card .pg-card-flt .tb-filtri button{background:#f5c451;color:#0e2140}
.pg-card .pg-card-flt .tb-filtri .tbf-pulisci{
  background:transparent;color:#5b7793;border:1px solid rgba(28,66,103,.28);
}
.pg-card .pg-card-flt .tb-filtri .tbf-pulisci:hover{color:#1c4267;border-color:#276aa6}

/* player/header_user.css */
/* ============================================================================
   HEADER PLAYER — area utente in alto a DESTRA
   Richiesta Angelo (21/07 23:40), rif. `inbox/new/header_player_angelo.png`:
     · username e ESCI vanno SPOSTATI su, nella barra dell'header (oggi stanno in
       una strisciolina al centro, sotto il menu: i tre segni rossi di Angelo sono
       proprio lo spazio vuoto della barra dove devono andare);
     · SALDO visibile nell'header, con l'occhio per NASCONDERLO;
     · BANDIERE (lingua) e ROTELLINA (impostazioni) allineate e della stessa taglia
       degli altri bottoncini (le due frecce rosse indicano quelle due).

   Design D, 22-07-2026. Vestito + stati; il wiring (menu, POST logout, cambio
   lingua, memoria dell'occhio) è di B — vedi `design_reference/header_user/markup.html`.

   Convive col tema importato: tutto è dentro `.hu`, nessun selettore globale,
   niente `!important`. Sulle pagine a tema importato va servito col `<link>`
   iniettato da `AppMobileShell` (come gli altri fogli in B-css-esterno-partial-D.md).
   ========================================================================== */

.hu{
  --hu-ink:#ffffff;
  --hu-dim:rgba(255,255,255,.72);
  --hu-line:rgba(255,255,255,.22);
  --hu-soft:rgba(255,255,255,.10);   /* fondo dei bottoncini */
  --hu-soft-h:rgba(255,255,255,.20); /* … al passaggio del mouse */
  --hu-acc:#f5c451;                  /* oro = denaro e azione principale */
  --hu-acc-ink:#0e2140;
  --hu-live:#e8402a;
  --hu-menu:#0e2140;                 /* fondo delle tendine */

  display:flex;align-items:center;gap:8px;flex-wrap:nowrap;
  margin-left:auto;                  /* sta SEMPRE a destra nella barra */
  color:var(--hu-ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:.86rem;line-height:1;
}

/* ── SALDO + occhio ──────────────────────────────────────────────────────────
   Un pezzo solo: cliccando la cifra si va al portafoglio, l'occhio nasconde.
   L'oro è il denaro, come in tutto il resto del prodotto. */
.hu-saldo{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 8px 6px 10px;border-radius:999px;
  background:var(--hu-soft);border:1px solid var(--hu-line);
}
.hu-saldo a{
  color:var(--hu-acc);font-weight:900;text-decoration:none;letter-spacing:.2px;
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.hu-saldo a:hover{filter:brightness(1.1)}
.hu-eye{
  width:24px;height:24px;flex:none;border:0;border-radius:50%;cursor:pointer;
  background:transparent;color:var(--hu-dim);font-size:14px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
}
.hu-eye:hover{background:var(--hu-soft-h);color:var(--hu-ink)}
/* saldo nascosto: la cifra diventa pallini, la larghezza NON balla
   (`.hu--celato` la mette e la toglie B, ricordandola per il giocatore) */
.hu-saldo.hu--celato .hu-cifra{visibility:hidden}
.hu-saldo.hu--celato .hu-cifra::after{
  content:"••••";visibility:visible;position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;letter-spacing:1px;
}
.hu-cifra{position:relative;display:inline-flex;align-items:center;min-width:64px;
  justify-content:flex-end}

/* ── UTENTE (username) + tendina del conto ──────────────────────────────────
   Era la pillola al centro sotto il menu: qui sale nella barra, accanto al saldo. */
.hu-user{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 12px;border-radius:999px;cursor:pointer;
  background:var(--hu-soft);border:1px solid var(--hu-line);
  color:var(--hu-ink);text-decoration:none;font-weight:700;
  max-width:220px;
}
.hu-user:hover{background:var(--hu-soft-h)}
.hu-user .hu-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hu-user .hu-caret{opacity:.7;font-size:.7em}

/* ── bottoni parlanti (Deposita, Premi, Esci) ───────────────────────────── */
.hu-btn{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  padding:7px 13px;border-radius:999px;border:1px solid var(--hu-line);
  background:var(--hu-soft);color:var(--hu-ink);text-decoration:none;
  font:inherit;font-weight:800;cursor:pointer;
}
.hu-btn:hover{background:var(--hu-soft-h)}
.hu-btn--acc{background:var(--hu-acc);border-color:var(--hu-acc);color:var(--hu-acc-ink)}
.hu-btn--acc:hover{filter:brightness(1.06);background:var(--hu-acc)}
/* Esci: si legge come uscita, senza urlare */
.hu-btn--esci{color:#ffd9d4;border-color:rgba(232,64,42,.55)}
.hu-btn--esci:hover{background:rgba(232,64,42,.22);color:#fff}

/* ── bottoncini tondi: regali, messaggi, valuta, ROTELLINA, BANDIERA ─────────
   Tutti della STESSA taglia e sulla STESSA linea (era il disallineamento che
   Angelo segnava con le frecce). */
.hu-ic{
  width:32px;height:32px;flex:none;border-radius:50%;border:1px solid var(--hu-line);
  background:var(--hu-soft);color:var(--hu-ink);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:15px;line-height:1;position:relative;text-decoration:none;padding:0;
}
.hu-ic:hover{background:var(--hu-soft-h)}
.hu-ic .hu-badge{
  position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;
  border-radius:999px;background:var(--hu-live);color:#fff;
  font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;
}
/* la bandiera riempie il tondo e non si deforma mai */
.hu-ic--flag{overflow:hidden;padding:0}
.hu-ic--flag img{width:100%;height:100%;object-fit:cover;display:block}
.hu-ic--flag .hu-lingua{
  position:absolute;inset:auto 0 -1px 0;font-size:8px;font-weight:900;
  background:rgba(0,0,0,.45);text-align:center;letter-spacing:.4px;
}

/* focus da tastiera: visibile su tutto, non solo sui link */
.hu a:focus-visible,.hu button:focus-visible{outline:2px solid var(--hu-acc);outline-offset:2px}

/* ── tendine (conto, lingua, impostazioni) ──────────────────────────────────
   Aperte da B con la classe `.on` sul contenitore `.hu-wrap`. */
.hu-wrap{position:relative;display:inline-flex}
/* 🔴 IL TAGLIO CHE UCCIDEVA LE TENDINE (video di Angelo, 26/07 — riaperta 27/07).
   Il contenitore del TEMA che ci ospita (`.hd-ctm--auth`) è alto quanto la riga della
   testata (52px) e ha `overflow:hidden`. Le tendine si aprono SOTTO quella riga: il
   browser le apriva davvero (classe `.on`, `display:block`, nessun errore in console) ma
   non se ne vedeva un pixel. Da loggato erano morte TUTTE E TRE — conto, ingranaggio e
   lingua — a OGNI larghezza: «li premi e non fanno nulla». Da sloggato non si vedeva
   perché lì `.hu` non c'è e i pannelli sono quelli della pillola, che sta fuori da quel box.
   Il taglio si toglie SOLO nel contenitore che ospita la nostra testata (`-hu`), non su
   tutte le testate del tema. `!important` non per abitudine ma PROVATO necessario: la stessa
   regola senza, iniettata sulla produzione viva, lascia `overflow` calcolato a `hidden` —
   quella del grafico vince comunque. È l'unico `!important` di questo foglio. */
.hd-ctm--auth.hd-ctm--auth-hu{overflow:visible !important}
.hu-drop{
  position:absolute;top:calc(100% + 8px);right:0;z-index:60;display:none;
  min-width:210px;padding:6px;border-radius:10px;white-space:nowrap;
  background:var(--hu-menu);border:1px solid var(--hu-line);
  box-shadow:0 12px 28px rgba(0,0,0,.38);
}
.hu-wrap.on .hu-drop{display:block}
/* VOCI A RIQUADRO, TUTTE DELLA STESSA ALTEZZA (modello di Dav, 27/07 07:09). Erano righe
   trasparenti di altezza variabile: una voce su due righe (es. «Limiti e gioco responsabile»)
   era più alta delle sorelle e la tendina sembrava sfilacciata. Ora ogni voce è un riquadro
   arrotondato con la sua icona, e `min-height` uguale per tutte — anche per quelle che vanno
   a capo. Il testo NON si tronca: una voce accorciata con i puntini è una voce che non si
   legge; il riquadro cresce, restando allineato alle altre. */
.hu-drop a,.hu-drop button{
  display:flex;align-items:center;gap:10px;width:100%;
  min-height:40px;padding:8px 11px;border:0;border-radius:9px;
  background:var(--hu-soft);
  color:var(--hu-ink);text-decoration:none;font:inherit;font-weight:600;
  cursor:pointer;text-align:left;
}
.hu-drop a + a,.hu-drop form,.hu-drop button{margin-top:5px}
.hu-drop a:hover,.hu-drop button:hover{background:var(--hu-soft-h)}
/* La colonna dell'icona è FISSA: così le etichette partono tutte dallo stesso punto e la
   tendina si legge in colonna, come nel modello. */
/* `display` dichiarato invece che lasciato al caso: l'icona è un elemento di flex e va
   centrata nella sua colonna. (Sul banco sembrava servire un `!important`: era un falso
   allarme — lì il foglio delle icone rispondeva 404, quindi `.mdi` non aveva nessuna regola.
   Con le icone servite davvero la cascata basta, e questo foglio resta senza `!important`
   dove non serve.) */
.hu-drop .mdi{
  display:inline-flex;align-items:center;justify-content:center;
  flex:none;width:20px;text-align:center;font-size:17px;line-height:1;
  color:var(--hu-dim);
}
.hu-drop a:hover .mdi,.hu-drop button:hover .mdi{color:var(--hu-ink)}
/* L'USCITA si vede che è l'uscita, come in tutto il resto del prodotto. */
.hu-drop form button{background:rgba(232,64,42,.16);color:#ffd9d4}
.hu-drop form button:hover{background:rgba(232,64,42,.28);color:#fff}
.hu-drop form button .mdi{color:#ffb3aa}
/* Il modello di Dav è più largo della tendina di prima: le etichette lunghe ci stanno. */
.hu-drop--conto{min-width:248px}
.hu-drop hr{border:0;border-top:1px solid var(--hu-line);margin:5px 4px}
.hu-drop img{width:18px;height:13px;object-fit:cover;border-radius:2px;flex:none}
.hu-drop .on{color:var(--hu-acc);font-weight:800}

/* ── responsive: si spoglia per gradi, il denaro resta per ultimo ──────────── */
@media (max-width:1180px){
  .hu-btn .hu-txt{display:none}          /* i bottoni restano, solo icona */
  .hu-btn{padding:7px 10px}
}
@media (max-width:900px){
  .hu-user{max-width:130px}
  .hu-ic--gift,.hu-ic--cur{display:none} /* i secondari se ne vanno */
}
@media (max-width:640px){
  .hu{gap:6px}
  .hu-user .hu-nome{display:none}        /* resta l'omino: apre il conto */
  /* restano SALDO · Deposita · omino · bandiera. Esci, messaggi e rotellina non
     spariscono: vivono nella tendina dell'omino (vedi markup). */
  .hu-btn--premi,.hu-btn--esci,.hu-ic--msg,.hu-ic--set{display:none}
}

/* ════════════════════════════════════════════════════════════════════════════
   TEMA IMPORTATO — HEADER LOGGATO (rifiniture Dav 23/07). Il tema (`.hd-ctm--c`)
   rende la barra utente; qui la RIVESTIAMO via CSS (regola Dav: niente inline):
   1) sul SALDO l'icona diventa un OCCHIO (mostra/nascondi) al posto della freccia ↻;
   2) il MENU account uniformato agli altri: SFONDO BIANCO, testi BLU, pillole azzurre.
   Scoped a `.hd-ctm--c`, nessun !important non necessario. Il COMPORTAMENTO (toggle
   nascondi-saldo con memoria) è di B — vedi COORDINATION.
   ──────────────────────────────────────────────────────────────────────────── */

/* 1) SALDO: la freccia/reload → OCCHIO (mdi). Stesso glifo-font del tema. */
.hd-ctm.hd-ctm--c .account-info .info-amount .mdi-reload::before{content:"\F0208"}   /* mdi-eye */
.hd-ctm.hd-ctm--c .account-info .info-amount .mdi-reload{cursor:pointer;opacity:.85}
.hd-ctm.hd-ctm--c .account-info .info-amount .mdi-reload:hover{opacity:1}
/* saldo nascosto: B mette `.saldo-hidden` sul wrapper → la cifra si oscura, l'occhio si barra */
.hd-ctm.hd-ctm--c .account-info.saldo-hidden .info-amount{color:transparent;text-shadow:0 0 9px rgba(0,0,0,.55)}
.hd-ctm.hd-ctm--c .account-info.saldo-hidden .info-amount .mdi-reload{color:inherit;-webkit-text-fill-color:currentColor}
.hd-ctm.hd-ctm--c .account-info.saldo-hidden .info-amount .mdi-reload::before{content:"\F06D1"}   /* mdi-eye-off */

/* 2) MENU account (submenu) come gli altri: BIANCO + testi BLU + pillole azzurre */
.hd-ctm.hd-ctm--c .account-menu .menu-list--submenu{
  background:#fff;border:1px solid rgba(28,66,103,.14);border-radius:12px;
  box-shadow:0 14px 34px rgba(18,40,66,.20);padding:8px}
.hd-ctm.hd-ctm--c .account-menu .menu-list--submenu ul{list-style:none;margin:0;padding:0}
.hd-ctm.hd-ctm--c .account-menu .menu-list--submenu ul>li{margin:0 0 6px}
.hd-ctm.hd-ctm--c .account-menu .menu-list--submenu ul>li:last-child{margin-bottom:0}
.hd-ctm.hd-ctm--c .account-menu .menu-list--submenu ul>li>a{
  display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:999px;
  background:#eaf2fb;color:#1c4267;font-weight:700;font-size:.9rem;text-decoration:none}
.hd-ctm.hd-ctm--c .account-menu .menu-list--submenu ul>li>a .mdi{color:#2a6bb0}
.hd-ctm.hd-ctm--c .account-menu .menu-list--submenu ul>li>a:hover{background:#d9e8f8;color:#12456f}

/* player/auth_modal.css */
/* ============================================================================
   AUTH — avviso «accedi per scommettere» nel coupon + MODALE login/registrazione
   Vestito sul tema del player (navy + oro). Design D per il task di B
   (Angelo_scommetti_nonauth). Testi ITALIANI; NIENTE testi/immagini della reference.
   CSS via <link> (regola di casa). B: trigger sul click Scommetti da sloggato + wiring
   del form (riusa il login/registrazione esistente). Design D, 22-07-2026.
   ========================================================================== */

:root{
  --am-navy:#0b1826; --am-navy2:#0a1220; --am-card:#10233a; --am-raise:#16304d;
  --am-line:#1d3a58; --am-ink:#eef4fb; --am-dim:#93aec7;
  --am-gold:#F5B301; --am-gold-d:#d99e00; --am-on-gold:#231400;
  --am-field:#1f7a3f; --am-warn:#ff9d1e; --am-warn-bg:#3a2a12;
}

/* ── 1) AVVISO nel coupon ──────────────────────────────────────────────── */
.tb-authwarn{
  display:flex;align-items:center;gap:9px;
  margin:8px 10px;padding:9px 11px;border-radius:8px;
  background:var(--am-warn-bg);border:1px solid rgba(255,157,30,.5);
  color:#ffd9a6;font-size:12.5px;font-weight:700;line-height:1.3;
}
.tb-authwarn .ic{flex:none;width:20px;height:20px;border-radius:50%;
  display:grid;place-items:center;background:var(--am-warn);color:#2a1600;
  font-weight:900;font-size:13px}
.tb-authwarn a{color:#ffe6c2;text-decoration:underline;font-weight:800}

/* ── 2) MODALE ─────────────────────────────────────────────────────────── */
.tb-authov{
  position:fixed;inset:0;z-index:120;display:none;place-items:center;padding:18px;
  background:rgba(4,10,18,.72);backdrop-filter:blur(3px);
}
.tb-authov.on{display:grid}   /* B: apre/chiude con la classe .on */
.tb-authm{
  width:100%;max-width:390px;max-height:calc(100vh - 36px);overflow:auto;
  background:var(--am-card);border:1px solid var(--am-line);border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.6);color:var(--am-ink);position:relative;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.tb-authm *{box-sizing:border-box}

/* HERO del BRAND (non una foto della reference): navy + oro + il minuto «78'» */
.tb-authm .hero{
  position:relative;height:118px;border-radius:16px 16px 0 0;overflow:hidden;
  background:
    radial-gradient(120% 140% at 80% -10%, rgba(245,179,1,.22), transparent 55%),
    linear-gradient(135deg,#0d2136,#0a1220);
  display:flex;align-items:center;justify-content:center;gap:12px;
}
.tb-authm .hero::before{         /* riga campo verde, firma sportiva */
  content:"";position:absolute;inset-block-end:0;inset-inline:0;height:3px;
  background:linear-gradient(90deg,var(--am-gold),var(--am-field),transparent)
}
.tb-authm .hero .min{            /* il badge del minuto live: firma del brand */
  min-width:44px;height:44px;padding:0 6px;border:2.5px solid var(--am-gold);
  border-radius:50%;display:grid;place-items:center;color:var(--am-gold);
  font:800 15px/1 ui-monospace,"SF Mono",Menlo,monospace;
}
.tb-authm .hero .word{font:800 24px/1 system-ui;letter-spacing:.02em;color:#fff}
.tb-authm .hero .word b{color:var(--am-gold)}

.tb-authm .x{
  position:absolute;inset-block-start:10px;inset-inline-end:10px;z-index:2;
  width:32px;height:32px;border:0;border-radius:50%;cursor:pointer;
  background:rgba(0,0,0,.35);color:#fff;font-size:16px;display:grid;place-items:center;
}
.tb-authm .x:hover{background:rgba(0,0,0,.55)}

.tb-authm .body{padding:16px 18px 18px}
.tb-authm h2{margin:2px 0 3px;font-size:19px;font-weight:800;text-align:center}
.tb-authm .sub{margin:0 0 16px;text-align:center;color:var(--am-dim);font-size:12.5px}

/* campi */
.tb-authm .field{position:relative;margin-bottom:11px}
.tb-authm .field .ic{
  position:absolute;inset-block-start:50%;inset-inline-start:12px;transform:translateY(-50%);
  color:var(--am-dim);pointer-events:none;font-size:16px
}
.tb-authm .field input{
  width:100%;background:var(--am-navy2);border:1px solid var(--am-line);border-radius:10px;
  color:var(--am-ink);font:inherit;font-size:14px;padding:13px 40px 13px 40px;outline:none;
  transition:border-color .12s,box-shadow .12s;
}
.tb-authm .field input::placeholder{color:var(--am-dim)}
.tb-authm .field input:focus{border-color:var(--am-gold);box-shadow:0 0 0 3px rgba(245,179,1,.16)}
.tb-authm .field .eye{
  position:absolute;inset-block-start:50%;inset-inline-end:8px;transform:translateY(-50%);
  width:30px;height:30px;border:0;background:transparent;color:var(--am-dim);cursor:pointer;
  border-radius:7px;display:grid;place-items:center;font-size:15px
}
.tb-authm .eye:hover{color:var(--am-ink)}

.tb-authm .forgot{display:block;text-align:end;margin:2px 2px 14px;
  color:var(--am-dim);font-size:12px;text-decoration:none}
.tb-authm .forgot:hover{color:var(--am-gold)}

/* bottone ACCEDI: oro = l'azione che vale (regola della casa, l'oro è il denaro) */
.tb-authm .cta{
  width:100%;border:0;border-radius:11px;cursor:pointer;
  padding:14px;font:800 14px/1 inherit;letter-spacing:.04em;
  background:linear-gradient(180deg,var(--am-gold),var(--am-gold-d));color:var(--am-on-gold);
  box-shadow:0 6px 18px rgba(245,179,1,.28);transition:filter .12s;
}
.tb-authm .cta:hover{filter:brightness(1.05)}

.tb-authm .sep{display:flex;align-items:center;gap:12px;margin:16px 0 12px;
  color:var(--am-dim);font-size:12px}
.tb-authm .sep::before,.tb-authm .sep::after{content:"";flex:1;height:1px;background:var(--am-line)}

/* registrati: SECONDARIO (bordo oro, fondo navy) — non compete con Accedi */
.tb-authm .cta2{
  width:100%;border:1.5px solid var(--am-gold);border-radius:11px;cursor:pointer;
  padding:13px;font:800 13px/1 inherit;letter-spacing:.04em;
  background:transparent;color:var(--am-gold);transition:background .12s;
}
.tb-authm .cta2:hover{background:rgba(245,179,1,.10)}

.tb-authm .fine{margin:14px 0 0;text-align:center;color:var(--am-dim);font-size:11px;line-height:1.5}

@media (prefers-reduced-motion:reduce){.tb-authm .cta,.tb-authm input{transition:none}}

/* player/iconpack.css */
/* ============================================================================
   ICON-PACK del player — integrato da D (asset di Dav, 22-07-2026).
   Struttura + CLASSI condivise; il CSS è per-skin: una skin nuova = solo cambio
   del <link>, il markup non cambia (direttiva Dav). CSS via <link>, zero inline.

   COME SI USA (markup di B):
     <i class="ic ic-sport--soccer"></i>      icona sport monocroma → prende il
                                               COLORE del testo (currentColor), quindi
                                               si tinge da sola nel tema scuro. Aggiungi
                                               .is-solid per la variante piena.
     <i class="ic ic-sport--soccer is-colour"></i>  variante a colori (non tingibile)
     <i class="ic ic-campo--soccer-filed"></i> il "campo" dello sport (grande)
     <i class="ic ic-ui--print"></i>          icona d'interfaccia (print/view/sorting…)
     <i class="ic ic-flag--it"></i>           bandiera (PNG, a colori)
     <i class="ic ic-prov--light"></i>        loghi provider casinò
   Dimensione: default 20px; cambia con font-size sul contenitore o .ic--lg / .ic--sm.
   ========================================================================== */

.ic{display:inline-block;width:1.25em;height:1.25em;flex:none;vertical-align:-.25em;
  background-repeat:no-repeat;background-position:center;background-size:contain}
.ic--sm{font-size:14px}.ic--lg{font-size:28px}.ic--xl{font-size:44px}

/* --- monocrome (sport outline/solid, campi, ui): MASK → seguono currentColor --- */
.ic-sport,.ic-campo,.ic-ui,[class*="ic-sport--"],[class*="ic-campo--"],[class*="ic-ui--"]{
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}

/* ---- SPORT (outline = default, tingibile) ---- */
.ic-sport--american-football{-webkit-mask-image:url("/static/player/iconpack/sport/outline/american-football.9bdacf2d4213.svg");mask-image:url("/static/player/iconpack/sport/outline/american-football.9bdacf2d4213.svg")}
.ic-sport--athletics{-webkit-mask-image:url("/static/player/iconpack/sport/outline/athletics.5715cc3b8d1e.svg");mask-image:url("/static/player/iconpack/sport/outline/athletics.5715cc3b8d1e.svg")}
.ic-sport--badminton{-webkit-mask-image:url("/static/player/iconpack/sport/outline/badminton.138525e0b969.svg");mask-image:url("/static/player/iconpack/sport/outline/badminton.138525e0b969.svg")}
.ic-sport--bandy{-webkit-mask-image:url("/static/player/iconpack/sport/outline/bandy.8d7da3186571.svg");mask-image:url("/static/player/iconpack/sport/outline/bandy.8d7da3186571.svg")}
.ic-sport--baseball{-webkit-mask-image:url("/static/player/iconpack/sport/outline/baseball.46cb78e9e3b9.svg");mask-image:url("/static/player/iconpack/sport/outline/baseball.46cb78e9e3b9.svg")}
.ic-sport--basketball{-webkit-mask-image:url("/static/player/iconpack/sport/outline/basketball.11326a9f5532.svg");mask-image:url("/static/player/iconpack/sport/outline/basketball.11326a9f5532.svg")}
.ic-sport--beachvolley{-webkit-mask-image:url("/static/player/iconpack/sport/outline/beachvolley.446af7a64b20.svg");mask-image:url("/static/player/iconpack/sport/outline/beachvolley.446af7a64b20.svg")}
.ic-sport--biathlon{-webkit-mask-image:url("/static/player/iconpack/sport/outline/biathlon.123f464b7af5.svg");mask-image:url("/static/player/iconpack/sport/outline/biathlon.123f464b7af5.svg")}
.ic-sport--billiards{-webkit-mask-image:url("/static/player/iconpack/sport/outline/billiards.b065485141e1.svg");mask-image:url("/static/player/iconpack/sport/outline/billiards.b065485141e1.svg")}
.ic-sport--bowling{-webkit-mask-image:url("/static/player/iconpack/sport/outline/bowling.c22e20aae351.svg");mask-image:url("/static/player/iconpack/sport/outline/bowling.c22e20aae351.svg")}
.ic-sport--boxing{-webkit-mask-image:url("/static/player/iconpack/sport/outline/boxing.716bb475261e.svg");mask-image:url("/static/player/iconpack/sport/outline/boxing.716bb475261e.svg")}
.ic-sport--calendar{-webkit-mask-image:url("/static/player/iconpack/sport/outline/calendar.7bf629d40229.svg");mask-image:url("/static/player/iconpack/sport/outline/calendar.7bf629d40229.svg")}
.ic-sport--casino-play{-webkit-mask-image:url("/static/player/iconpack/sport/outline/casino-play.6a6d78273ebb.svg");mask-image:url("/static/player/iconpack/sport/outline/casino-play.6a6d78273ebb.svg")}
.ic-sport--chart{-webkit-mask-image:url("/static/player/iconpack/sport/outline/chart.99fc3cebe123.svg");mask-image:url("/static/player/iconpack/sport/outline/chart.99fc3cebe123.svg")}
.ic-sport--chart-2{-webkit-mask-image:url("/static/player/iconpack/sport/outline/chart-2.d432d27fd3ba.svg");mask-image:url("/static/player/iconpack/sport/outline/chart-2.d432d27fd3ba.svg")}
.ic-sport--chess{-webkit-mask-image:url("/static/player/iconpack/sport/outline/chess.7412aa268eb3.svg");mask-image:url("/static/player/iconpack/sport/outline/chess.7412aa268eb3.svg")}
.ic-sport--cricket{-webkit-mask-image:url("/static/player/iconpack/sport/outline/cricket.2b09d1a1a79e.svg");mask-image:url("/static/player/iconpack/sport/outline/cricket.2b09d1a1a79e.svg")}
.ic-sport--cup{-webkit-mask-image:url("/static/player/iconpack/sport/outline/cup.62e23f8c823b.svg");mask-image:url("/static/player/iconpack/sport/outline/cup.62e23f8c823b.svg")}
.ic-sport--cycling{-webkit-mask-image:url("/static/player/iconpack/sport/outline/cycling.23d4c4048938.svg");mask-image:url("/static/player/iconpack/sport/outline/cycling.23d4c4048938.svg")}
.ic-sport--darts{-webkit-mask-image:url("/static/player/iconpack/sport/outline/darts.c8eb6be18ffb.svg");mask-image:url("/static/player/iconpack/sport/outline/darts.c8eb6be18ffb.svg")}
.ic-sport--e-sports{-webkit-mask-image:url("/static/player/iconpack/sport/outline/e-sports.56ca489c597e.svg");mask-image:url("/static/player/iconpack/sport/outline/e-sports.56ca489c597e.svg")}
.ic-sport--f-e{-webkit-mask-image:url("/static/player/iconpack/sport/outline/f-e.dd4cad9ea919.svg");mask-image:url("/static/player/iconpack/sport/outline/f-e.dd4cad9ea919.svg")}
.ic-sport--f1{-webkit-mask-image:url("/static/player/iconpack/sport/outline/f1.a77e6a67b982.svg");mask-image:url("/static/player/iconpack/sport/outline/f1.a77e6a67b982.svg")}
.ic-sport--floorball{-webkit-mask-image:url("/static/player/iconpack/sport/outline/floorball.d6352c69ac20.svg");mask-image:url("/static/player/iconpack/sport/outline/floorball.d6352c69ac20.svg")}
.ic-sport--floorball-2{-webkit-mask-image:url("/static/player/iconpack/sport/outline/floorball-2.8c9cb5462f67.svg");mask-image:url("/static/player/iconpack/sport/outline/floorball-2.8c9cb5462f67.svg")}
.ic-sport--formula-e{-webkit-mask-image:url("/static/player/iconpack/sport/outline/formula-e.dd4cad9ea919.svg");mask-image:url("/static/player/iconpack/sport/outline/formula-e.dd4cad9ea919.svg")}
.ic-sport--gaelic-football{-webkit-mask-image:url("/static/player/iconpack/sport/outline/gaelic-football.9f817139c21a.svg");mask-image:url("/static/player/iconpack/sport/outline/gaelic-football.9f817139c21a.svg")}
.ic-sport--gaelic-hurling{-webkit-mask-image:url("/static/player/iconpack/sport/outline/gaelic-hurling.2d54bac62d74.svg");mask-image:url("/static/player/iconpack/sport/outline/gaelic-hurling.2d54bac62d74.svg")}
.ic-sport--golf{-webkit-mask-image:url("/static/player/iconpack/sport/outline/golf.44c122306059.svg");mask-image:url("/static/player/iconpack/sport/outline/golf.44c122306059.svg")}
.ic-sport--graph{-webkit-mask-image:url("/static/player/iconpack/sport/outline/graph.d3e598f1a0aa.svg");mask-image:url("/static/player/iconpack/sport/outline/graph.d3e598f1a0aa.svg")}
.ic-sport--handball{-webkit-mask-image:url("/static/player/iconpack/sport/outline/handball.38e3b327a825.svg");mask-image:url("/static/player/iconpack/sport/outline/handball.38e3b327a825.svg")}
.ic-sport--helmet{-webkit-mask-image:url("/static/player/iconpack/sport/outline/helmet.f9e25dbf352a.svg");mask-image:url("/static/player/iconpack/sport/outline/helmet.f9e25dbf352a.svg")}
.ic-sport--helmet-2{-webkit-mask-image:url("/static/player/iconpack/sport/outline/helmet-2.0d4ae3ce007c.svg");mask-image:url("/static/player/iconpack/sport/outline/helmet-2.0d4ae3ce007c.svg")}
.ic-sport--hockey{-webkit-mask-image:url("/static/player/iconpack/sport/outline/hockey.09bf76c89d45.svg");mask-image:url("/static/player/iconpack/sport/outline/hockey.09bf76c89d45.svg")}
.ic-sport--horse{-webkit-mask-image:url("/static/player/iconpack/sport/outline/horse.2052564c2802.svg");mask-image:url("/static/player/iconpack/sport/outline/horse.2052564c2802.svg")}
.ic-sport--horse-racing{-webkit-mask-image:url("/static/player/iconpack/sport/outline/horse-racing.2052564c2802.svg");mask-image:url("/static/player/iconpack/sport/outline/horse-racing.2052564c2802.svg")}
.ic-sport--hound{-webkit-mask-image:url("/static/player/iconpack/sport/outline/hound.b03ce40de1e9.svg");mask-image:url("/static/player/iconpack/sport/outline/hound.b03ce40de1e9.svg")}
.ic-sport--mma{-webkit-mask-image:url("/static/player/iconpack/sport/outline/mma.2767c90a8d49.svg");mask-image:url("/static/player/iconpack/sport/outline/mma.2767c90a8d49.svg")}
.ic-sport--mma-1{-webkit-mask-image:url("/static/player/iconpack/sport/outline/mma-1.69f6bd879e4a.svg");mask-image:url("/static/player/iconpack/sport/outline/mma-1.69f6bd879e4a.svg")}
.ic-sport--mma-2{-webkit-mask-image:url("/static/player/iconpack/sport/outline/mma-2.e276a0ea2424.svg");mask-image:url("/static/player/iconpack/sport/outline/mma-2.e276a0ea2424.svg")}
.ic-sport--most-played{-webkit-mask-image:url("/static/player/iconpack/sport/outline/most-played.82ad4ee57f2f.svg");mask-image:url("/static/player/iconpack/sport/outline/most-played.82ad4ee57f2f.svg")}
.ic-sport--moto{-webkit-mask-image:url("/static/player/iconpack/sport/outline/moto.b6b8b6e70d1a.svg");mask-image:url("/static/player/iconpack/sport/outline/moto.b6b8b6e70d1a.svg")}
.ic-sport--nordi-combined{-webkit-mask-image:url("/static/player/iconpack/sport/outline/nordi-combined.af027fb5ea8b.svg");mask-image:url("/static/player/iconpack/sport/outline/nordi-combined.af027fb5ea8b.svg")}
.ic-sport--piu{-webkit-mask-image:url("/static/player/iconpack/sport/outline/piu.57518dee5e32.svg");mask-image:url("/static/player/iconpack/sport/outline/piu.57518dee5e32.svg")}
.ic-sport--regulation-rugby{-webkit-mask-image:url("/static/player/iconpack/sport/outline/regulation-rugby.1008340fc4f7.svg");mask-image:url("/static/player/iconpack/sport/outline/regulation-rugby.1008340fc4f7.svg")}
.ic-sport--rugby{-webkit-mask-image:url("/static/player/iconpack/sport/outline/rugby.321800811b0a.svg");mask-image:url("/static/player/iconpack/sport/outline/rugby.321800811b0a.svg")}
.ic-sport--sailing{-webkit-mask-image:url("/static/player/iconpack/sport/outline/sailing.bfeee4c32a1f.svg");mask-image:url("/static/player/iconpack/sport/outline/sailing.bfeee4c32a1f.svg")}
.ic-sport--simulated-reality{-webkit-mask-image:url("/static/player/iconpack/sport/outline/simulated-reality.e6f342ae465a.svg");mask-image:url("/static/player/iconpack/sport/outline/simulated-reality.e6f342ae465a.svg")}
.ic-sport--ski{-webkit-mask-image:url("/static/player/iconpack/sport/outline/ski.878731c8495b.svg");mask-image:url("/static/player/iconpack/sport/outline/ski.878731c8495b.svg")}
.ic-sport--skiing{-webkit-mask-image:url("/static/player/iconpack/sport/outline/skiing.878731c8495b.svg");mask-image:url("/static/player/iconpack/sport/outline/skiing.878731c8495b.svg")}
.ic-sport--snooker{-webkit-mask-image:url("/static/player/iconpack/sport/outline/snooker.b065485141e1.svg");mask-image:url("/static/player/iconpack/sport/outline/snooker.b065485141e1.svg")}
.ic-sport--soccer{-webkit-mask-image:url("/static/player/iconpack/sport/outline/soccer.3db76821cc98.svg");mask-image:url("/static/player/iconpack/sport/outline/soccer.3db76821cc98.svg")}
.ic-sport--special{-webkit-mask-image:url("/static/player/iconpack/sport/outline/special.a152e11f4e58.svg");mask-image:url("/static/player/iconpack/sport/outline/special.a152e11f4e58.svg")}
.ic-sport--squash{-webkit-mask-image:url("/static/player/iconpack/sport/outline/squash.1e71f464b573.svg");mask-image:url("/static/player/iconpack/sport/outline/squash.1e71f464b573.svg")}
.ic-sport--star{-webkit-mask-image:url("/static/player/iconpack/sport/outline/star.5b113ac6a528.svg");mask-image:url("/static/player/iconpack/sport/outline/star.5b113ac6a528.svg")}
.ic-sport--swimming{-webkit-mask-image:url("/static/player/iconpack/sport/outline/swimming.e618db3ec23f.svg");mask-image:url("/static/player/iconpack/sport/outline/swimming.e618db3ec23f.svg")}
.ic-sport--table-tennis{-webkit-mask-image:url("/static/player/iconpack/sport/outline/table-tennis.8a8e91226882.svg");mask-image:url("/static/player/iconpack/sport/outline/table-tennis.8a8e91226882.svg")}
.ic-sport--tennis{-webkit-mask-image:url("/static/player/iconpack/sport/outline/tennis.fecac32329b0.svg");mask-image:url("/static/player/iconpack/sport/outline/tennis.fecac32329b0.svg")}
.ic-sport--timer{-webkit-mask-image:url("/static/player/iconpack/sport/outline/timer.b19207b70204.svg");mask-image:url("/static/player/iconpack/sport/outline/timer.b19207b70204.svg")}
.ic-sport--ultimo-minuto{-webkit-mask-image:url("/static/player/iconpack/sport/outline/ultimo-minuto.1c2f4990f2eb.svg");mask-image:url("/static/player/iconpack/sport/outline/ultimo-minuto.1c2f4990f2eb.svg")}
.ic-sport--volley{-webkit-mask-image:url("/static/player/iconpack/sport/outline/volley.b53710d23e1d.svg");mask-image:url("/static/player/iconpack/sport/outline/volley.b53710d23e1d.svg")}
.ic-sport--volleyball{-webkit-mask-image:url("/static/player/iconpack/sport/outline/volleyball.bd2eef3d59dd.svg");mask-image:url("/static/player/iconpack/sport/outline/volleyball.bd2eef3d59dd.svg")}
.ic-sport--vr{-webkit-mask-image:url("/static/player/iconpack/sport/outline/vr.e6f342ae465a.svg");mask-image:url("/static/player/iconpack/sport/outline/vr.e6f342ae465a.svg")}
.ic-sport--waterpolo{-webkit-mask-image:url("/static/player/iconpack/sport/outline/waterpolo.54e8153b3196.svg");mask-image:url("/static/player/iconpack/sport/outline/waterpolo.54e8153b3196.svg")}
.ic-sport--weather{-webkit-mask-image:url("/static/player/iconpack/sport/outline/weather.a8aa7f4097d9.svg");mask-image:url("/static/player/iconpack/sport/outline/weather.a8aa7f4097d9.svg")}
.ic-sport--winter{-webkit-mask-image:url("/static/player/iconpack/sport/outline/winter.958d98cfc5d0.svg");mask-image:url("/static/player/iconpack/sport/outline/winter.958d98cfc5d0.svg")}
.ic-sport--wrestling{-webkit-mask-image:url("/static/player/iconpack/sport/outline/wrestling.94979fd01cfe.svg");mask-image:url("/static/player/iconpack/sport/outline/wrestling.94979fd01cfe.svg")}
/* variante piena: .ic-sport--X.is-solid */
.ic-sport--alarm.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/alarm.0ae3c3f48e34.svg");mask-image:url("/static/player/iconpack/sport/solid/alarm.0ae3c3f48e34.svg")}
.ic-sport--american-football.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/american-football.a4445d4792f4.svg");mask-image:url("/static/player/iconpack/sport/solid/american-football.a4445d4792f4.svg")}
.ic-sport--arrow-1.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/arrow-1.37dfbd1a1da8.svg");mask-image:url("/static/player/iconpack/sport/solid/arrow-1.37dfbd1a1da8.svg")}
.ic-sport--badminton.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/badminton.25c9ced3ca6c.svg");mask-image:url("/static/player/iconpack/sport/solid/badminton.25c9ced3ca6c.svg")}
.ic-sport--bandy.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/bandy.9c2c9ccf601f.svg");mask-image:url("/static/player/iconpack/sport/solid/bandy.9c2c9ccf601f.svg")}
.ic-sport--baseball.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/baseball.9257136fadb4.svg");mask-image:url("/static/player/iconpack/sport/solid/baseball.9257136fadb4.svg")}
.ic-sport--basketball.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/basketball.d42831f6fe86.svg");mask-image:url("/static/player/iconpack/sport/solid/basketball.d42831f6fe86.svg")}
.ic-sport--bowling.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/bowling.04c1aed097a9.svg");mask-image:url("/static/player/iconpack/sport/solid/bowling.04c1aed097a9.svg")}
.ic-sport--boxing.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/boxing.f9a250711511.svg");mask-image:url("/static/player/iconpack/sport/solid/boxing.f9a250711511.svg")}
.ic-sport--calendar.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/calendar.5f27816a33e9.svg");mask-image:url("/static/player/iconpack/sport/solid/calendar.5f27816a33e9.svg")}
.ic-sport--chess.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/chess.d47093e5dd56.svg");mask-image:url("/static/player/iconpack/sport/solid/chess.d47093e5dd56.svg")}
.ic-sport--cricket.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/cricket.32840e9ee40b.svg");mask-image:url("/static/player/iconpack/sport/solid/cricket.32840e9ee40b.svg")}
.ic-sport--cup.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/cup.338f8ec16e1d.svg");mask-image:url("/static/player/iconpack/sport/solid/cup.338f8ec16e1d.svg")}
.ic-sport--cycling.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/cycling.fca1803ddba4.svg");mask-image:url("/static/player/iconpack/sport/solid/cycling.fca1803ddba4.svg")}
.ic-sport--darts.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/darts.ee074fc51d8d.svg");mask-image:url("/static/player/iconpack/sport/solid/darts.ee074fc51d8d.svg")}
.ic-sport--f-e.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/f-e.7d0874f2f7a2.svg");mask-image:url("/static/player/iconpack/sport/solid/f-e.7d0874f2f7a2.svg")}
.ic-sport--f1.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/f1.ef42022cb428.svg");mask-image:url("/static/player/iconpack/sport/solid/f1.ef42022cb428.svg")}
.ic-sport--floorball.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/floorball.b0216a96b693.svg");mask-image:url("/static/player/iconpack/sport/solid/floorball.b0216a96b693.svg")}
.ic-sport--gaelic-football.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/gaelic-football.cd7b7de794d2.svg");mask-image:url("/static/player/iconpack/sport/solid/gaelic-football.cd7b7de794d2.svg")}
.ic-sport--gaelic-hurling.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/gaelic-hurling.640a4480404b.svg");mask-image:url("/static/player/iconpack/sport/solid/gaelic-hurling.640a4480404b.svg")}
.ic-sport--golf.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/golf.10cab70006fb.svg");mask-image:url("/static/player/iconpack/sport/solid/golf.10cab70006fb.svg")}
.ic-sport--handball.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/handball.41b7f3d0b203.svg");mask-image:url("/static/player/iconpack/sport/solid/handball.41b7f3d0b203.svg")}
.ic-sport--hockey.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/hockey.327688dbe557.svg");mask-image:url("/static/player/iconpack/sport/solid/hockey.327688dbe557.svg")}
.ic-sport--horse.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/horse.072790b0054c.svg");mask-image:url("/static/player/iconpack/sport/solid/horse.072790b0054c.svg")}
.ic-sport--live-betting.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/live-betting.03000d1736ec.svg");mask-image:url("/static/player/iconpack/sport/solid/live-betting.03000d1736ec.svg")}
.ic-sport--market-movers.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/market-movers.25ac966e450a.svg");mask-image:url("/static/player/iconpack/sport/solid/market-movers.25ac966e450a.svg")}
.ic-sport--mma.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/mma.5abc14277bc0.svg");mask-image:url("/static/player/iconpack/sport/solid/mma.5abc14277bc0.svg")}
.ic-sport--most-played.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/most-played.e188c394d64d.svg");mask-image:url("/static/player/iconpack/sport/solid/most-played.e188c394d64d.svg")}
.ic-sport--moto.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/moto.07ae7ad41c5d.svg");mask-image:url("/static/player/iconpack/sport/solid/moto.07ae7ad41c5d.svg")}
.ic-sport--regulation-rugby.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/regulation-rugby.f30ac6d0090f.svg");mask-image:url("/static/player/iconpack/sport/solid/regulation-rugby.f30ac6d0090f.svg")}
.ic-sport--rugby.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/rugby.62831296b102.svg");mask-image:url("/static/player/iconpack/sport/solid/rugby.62831296b102.svg")}
.ic-sport--sailing.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/sailing.f564df4705cb.svg");mask-image:url("/static/player/iconpack/sport/solid/sailing.f564df4705cb.svg")}
.ic-sport--skiing.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/skiing.874b169da71d.svg");mask-image:url("/static/player/iconpack/sport/solid/skiing.874b169da71d.svg")}
.ic-sport--snooker.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/snooker.1340ac958cc2.svg");mask-image:url("/static/player/iconpack/sport/solid/snooker.1340ac958cc2.svg")}
.ic-sport--soccer.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/soccer.85c491dfebe5.svg");mask-image:url("/static/player/iconpack/sport/solid/soccer.85c491dfebe5.svg")}
.ic-sport--special.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/special.d8fdb87298d6.svg");mask-image:url("/static/player/iconpack/sport/solid/special.d8fdb87298d6.svg")}
.ic-sport--sport.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/sport.a2085fbd84b3.svg");mask-image:url("/static/player/iconpack/sport/solid/sport.a2085fbd84b3.svg")}
.ic-sport--squash.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/squash.9f8663401a40.svg");mask-image:url("/static/player/iconpack/sport/solid/squash.9f8663401a40.svg")}
.ic-sport--star.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/star.cf114ac61203.svg");mask-image:url("/static/player/iconpack/sport/solid/star.cf114ac61203.svg")}
.ic-sport--swimming.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/swimming.4c1b25deed7e.svg");mask-image:url("/static/player/iconpack/sport/solid/swimming.4c1b25deed7e.svg")}
.ic-sport--table-tennis.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/table-tennis.03f912d190d0.svg");mask-image:url("/static/player/iconpack/sport/solid/table-tennis.03f912d190d0.svg")}
.ic-sport--tennis.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/tennis.4c921a490807.svg");mask-image:url("/static/player/iconpack/sport/solid/tennis.4c921a490807.svg")}
.ic-sport--timer.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/timer.6307b83f200f.svg");mask-image:url("/static/player/iconpack/sport/solid/timer.6307b83f200f.svg")}
.ic-sport--top-league.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/top-league.1a58426cd1ae.svg");mask-image:url("/static/player/iconpack/sport/solid/top-league.1a58426cd1ae.svg")}
.ic-sport--ultimo-minuto.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/ultimo-minuto.1c2f4990f2eb.svg");mask-image:url("/static/player/iconpack/sport/solid/ultimo-minuto.1c2f4990f2eb.svg")}
.ic-sport--volleyball.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/volleyball.1812f4273a38.svg");mask-image:url("/static/player/iconpack/sport/solid/volleyball.1812f4273a38.svg")}
.ic-sport--vr.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/vr.e9163a19c8a2.svg");mask-image:url("/static/player/iconpack/sport/solid/vr.e9163a19c8a2.svg")}
.ic-sport--waterpolo.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/waterpolo.15bee1f57382.svg");mask-image:url("/static/player/iconpack/sport/solid/waterpolo.15bee1f57382.svg")}
.ic-sport--weather.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/weather.c5546fd86fe0.svg");mask-image:url("/static/player/iconpack/sport/solid/weather.c5546fd86fe0.svg")}
.ic-sport--winter.is-solid{-webkit-mask-image:url("/static/player/iconpack/sport/solid/winter.4360d8756fc8.svg");mask-image:url("/static/player/iconpack/sport/solid/winter.4360d8756fc8.svg")}
/* variante a COLORI: .ic-sport--X.is-colour (background, non tingibile) */
.ic-sport.is-colour,[class*="ic-sport--"].is-colour{background-color:transparent;-webkit-mask-image:none;mask-image:none}
.ic-sport--alarm.is-colour{background-image:url("/static/player/iconpack/sport/colour/alarm.c83df7913b9b.svg")}
.ic-sport--american-football.is-colour{background-image:url("/static/player/iconpack/sport/colour/american-football.a72f2ca8b995.svg")}
.ic-sport--american-football-helmet.is-colour{background-image:url("/static/player/iconpack/sport/colour/american-football-helmet.b748479d9054.svg")}
.ic-sport--athletics.is-colour{background-image:url("/static/player/iconpack/sport/colour/athletics.a2d3cd2283e0.svg")}
.ic-sport--badminton.is-colour{background-image:url("/static/player/iconpack/sport/colour/badminton.e1574b88e47d.svg")}
.ic-sport--baseball.is-colour{background-image:url("/static/player/iconpack/sport/colour/baseball.e735eb2fb9ba.svg")}
.ic-sport--basketball.is-colour{background-image:url("/static/player/iconpack/sport/colour/basketball.4adf70d4b34f.svg")}
.ic-sport--beachvolley.is-colour{background-image:url("/static/player/iconpack/sport/colour/beachvolley.446af7a64b20.svg")}
.ic-sport--biathlon.is-colour{background-image:url("/static/player/iconpack/sport/colour/biathlon.123f464b7af5.svg")}
.ic-sport--bowling.is-colour{background-image:url("/static/player/iconpack/sport/colour/bowling.4189c9f6be22.svg")}
.ic-sport--boxing.is-colour{background-image:url("/static/player/iconpack/sport/colour/boxing.ee40bce89bef.svg")}
.ic-sport--calendar.is-colour{background-image:url("/static/player/iconpack/sport/colour/calendar.535056324eee.svg")}
.ic-sport--chess.is-colour{background-image:url("/static/player/iconpack/sport/colour/chess.f7a3b7629838.svg")}
.ic-sport--cricket.is-colour{background-image:url("/static/player/iconpack/sport/colour/cricket.57c098bafa6c.svg")}
.ic-sport--cup.is-colour{background-image:url("/static/player/iconpack/sport/colour/cup.1da8bbcfb861.svg")}
.ic-sport--cycling.is-colour{background-image:url("/static/player/iconpack/sport/colour/cycling.c43cd82d7e2f.svg")}
.ic-sport--darts.is-colour{background-image:url("/static/player/iconpack/sport/colour/darts.cded53214caf.svg")}
.ic-sport--e-sports.is-colour{background-image:url("/static/player/iconpack/sport/colour/e-sports.56ca489c597e.svg")}
.ic-sport--floorball.is-colour{background-image:url("/static/player/iconpack/sport/colour/floorball.a5df677b7a44.svg")}
.ic-sport--floorball-2.is-colour{background-image:url("/static/player/iconpack/sport/colour/floorball-2.8c9cb5462f67.svg")}
.ic-sport--formula-e.is-colour{background-image:url("/static/player/iconpack/sport/colour/formula-e.82c3adff2c07.svg")}
.ic-sport--gaelic-football.is-colour{background-image:url("/static/player/iconpack/sport/colour/gaelic-football.5bc55111a609.svg")}
.ic-sport--gaelic-hurling.is-colour{background-image:url("/static/player/iconpack/sport/colour/gaelic-hurling.365b0e504c29.svg")}
.ic-sport--golf.is-colour{background-image:url("/static/player/iconpack/sport/colour/golf.77897dc0d13c.svg")}
.ic-sport--handball.is-colour{background-image:url("/static/player/iconpack/sport/colour/handball.4385a0a8d644.svg")}
.ic-sport--helmet.is-colour{background-image:url("/static/player/iconpack/sport/colour/helmet.f9e25dbf352a.svg")}
.ic-sport--helmet-2.is-colour{background-image:url("/static/player/iconpack/sport/colour/helmet-2.0d4ae3ce007c.svg")}
.ic-sport--hockey.is-colour{background-image:url("/static/player/iconpack/sport/colour/hockey.b7776126531e.svg")}
.ic-sport--horse-racing.is-colour{background-image:url("/static/player/iconpack/sport/colour/horse-racing.7a259de66e7f.svg")}
.ic-sport--hound.is-colour{background-image:url("/static/player/iconpack/sport/colour/hound.bc66b65c89b9.svg")}
.ic-sport--mma-1.is-colour{background-image:url("/static/player/iconpack/sport/colour/mma-1.69f6bd879e4a.svg")}
.ic-sport--mma-2.is-colour{background-image:url("/static/player/iconpack/sport/colour/mma-2.e276a0ea2424.svg")}
.ic-sport--moto.is-colour{background-image:url("/static/player/iconpack/sport/colour/moto.439c709c2f92.svg")}
.ic-sport--nordi-combined.is-colour{background-image:url("/static/player/iconpack/sport/colour/nordi-combined.fbd877bb3ee2.svg")}
.ic-sport--rugby.is-colour{background-image:url("/static/player/iconpack/sport/colour/rugby.2421e2b499dd.svg")}
.ic-sport--sailing.is-colour{background-image:url("/static/player/iconpack/sport/colour/sailing.6d36ca0a076d.svg")}
.ic-sport--simulated-reality.is-colour{background-image:url("/static/player/iconpack/sport/colour/simulated-reality.f5d2753a75bf.svg")}
.ic-sport--ski.is-colour{background-image:url("/static/player/iconpack/sport/colour/ski.9e8efd1721b0.svg")}
.ic-sport--snooker.is-colour{background-image:url("/static/player/iconpack/sport/colour/snooker.15c169c04359.svg")}
.ic-sport--soccer.is-colour{background-image:url("/static/player/iconpack/sport/colour/soccer.fc4eb1655104.svg")}
.ic-sport--special.is-colour{background-image:url("/static/player/iconpack/sport/colour/special.fe7870e3c4f7.svg")}
.ic-sport--squash.is-colour{background-image:url("/static/player/iconpack/sport/colour/squash.eadf49212451.svg")}
.ic-sport--star.is-colour{background-image:url("/static/player/iconpack/sport/colour/star.ad56e68994bc.svg")}
.ic-sport--swimming.is-colour{background-image:url("/static/player/iconpack/sport/colour/swimming.a114b314a129.svg")}
.ic-sport--table-tennis.is-colour{background-image:url("/static/player/iconpack/sport/colour/table-tennis.77cf75d8bec9.svg")}
.ic-sport--tennis.is-colour{background-image:url("/static/player/iconpack/sport/colour/tennis.5bbe84098b75.svg")}
.ic-sport--timer.is-colour{background-image:url("/static/player/iconpack/sport/colour/timer.26662b926388.svg")}
.ic-sport--volley.is-colour{background-image:url("/static/player/iconpack/sport/colour/volley.b50b1c14b33b.svg")}
.ic-sport--waterpolo.is-colour{background-image:url("/static/player/iconpack/sport/colour/waterpolo.196ece8cc23d.svg")}
.ic-sport--weather.is-colour{background-image:url("/static/player/iconpack/sport/colour/weather.4093dd6c356f.svg")}
.ic-sport--winter.is-colour{background-image:url("/static/player/iconpack/sport/colour/winter.453efc0166a7.svg")}
.ic-sport--wrestling.is-colour{background-image:url("/static/player/iconpack/sport/colour/wrestling.585ab6911e5c.svg")}
/* ---- CAMPI (il terreno di gioco per sport, grandi) ---- */
.ic-campo--baseball-field{-webkit-mask-image:url("/static/player/iconpack/sport/campi/baseball-field.82ab8336a375.svg");mask-image:url("/static/player/iconpack/sport/campi/baseball-field.82ab8336a375.svg")}
.ic-campo--basketball-court{-webkit-mask-image:url("/static/player/iconpack/sport/campi/basketball-court.9910fc379fdb.svg");mask-image:url("/static/player/iconpack/sport/campi/basketball-court.9910fc379fdb.svg")}
.ic-campo--cricket-field{-webkit-mask-image:url("/static/player/iconpack/sport/campi/cricket-field.fbe0128bd10c.svg");mask-image:url("/static/player/iconpack/sport/campi/cricket-field.fbe0128bd10c.svg")}
.ic-campo--darts-board{-webkit-mask-image:url("/static/player/iconpack/sport/campi/darts-board.f5ddab39b364.svg");mask-image:url("/static/player/iconpack/sport/campi/darts-board.f5ddab39b364.svg")}
.ic-campo--futsal-court{-webkit-mask-image:url("/static/player/iconpack/sport/campi/futsal-court.ab0bf3e7edc2.svg");mask-image:url("/static/player/iconpack/sport/campi/futsal-court.ab0bf3e7edc2.svg")}
.ic-campo--handball-court{-webkit-mask-image:url("/static/player/iconpack/sport/campi/handball-court.196f9a6146af.svg");mask-image:url("/static/player/iconpack/sport/campi/handball-court.196f9a6146af.svg")}
.ic-campo--ice-hockey-rink{-webkit-mask-image:url("/static/player/iconpack/sport/campi/ice-hockey-rink.4644b342076a.svg");mask-image:url("/static/player/iconpack/sport/campi/ice-hockey-rink.4644b342076a.svg")}
.ic-campo--rugby-field{-webkit-mask-image:url("/static/player/iconpack/sport/campi/rugby-field.69a0e7eea769.svg");mask-image:url("/static/player/iconpack/sport/campi/rugby-field.69a0e7eea769.svg")}
.ic-campo--snooker-table{-webkit-mask-image:url("/static/player/iconpack/sport/campi/snooker-table.9eed05539d52.svg");mask-image:url("/static/player/iconpack/sport/campi/snooker-table.9eed05539d52.svg")}
.ic-campo--soccer-filed{-webkit-mask-image:url("/static/player/iconpack/sport/campi/soccer-filed.b66e0c5dc026.svg");mask-image:url("/static/player/iconpack/sport/campi/soccer-filed.b66e0c5dc026.svg")}
.ic-campo--table-tennis{-webkit-mask-image:url("/static/player/iconpack/sport/campi/table-tennis.7457407a0565.svg");mask-image:url("/static/player/iconpack/sport/campi/table-tennis.7457407a0565.svg")}
.ic-campo--tennis-court{-webkit-mask-image:url("/static/player/iconpack/sport/campi/tennis-court.be476d22ebd7.svg");mask-image:url("/static/player/iconpack/sport/campi/tennis-court.be476d22ebd7.svg")}
.ic-campo--volleyball-court{-webkit-mask-image:url("/static/player/iconpack/sport/campi/volleyball-court.0ec28d38a8be.svg");mask-image:url("/static/player/iconpack/sport/campi/volleyball-court.0ec28d38a8be.svg")}
/* ---- UI (print, view, sorting, menu, calendar…) ---- */
.ic-ui--calendar-outline{-webkit-mask-image:url("/static/player/iconpack/ui/calendar-outline.7bf629d40229.svg");mask-image:url("/static/player/iconpack/ui/calendar-outline.7bf629d40229.svg")}
.ic-ui--casino-outline{-webkit-mask-image:url("/static/player/iconpack/ui/casino-outline.c6cd7f5d23d4.svg");mask-image:url("/static/player/iconpack/ui/casino-outline.c6cd7f5d23d4.svg")}
.ic-ui--casinolive-outline{-webkit-mask-image:url("/static/player/iconpack/ui/casinolive-outline.svg");mask-image:url("/static/player/iconpack/ui/casinolive-outline.svg")}
.ic-ui--event-outline{-webkit-mask-image:url("/static/player/iconpack/ui/event-outline.219a263a6c7f.svg");mask-image:url("/static/player/iconpack/ui/event-outline.219a263a6c7f.svg")}
.ic-ui--exchange{-webkit-mask-image:url("/static/player/iconpack/ui/exchange.e2a8dd36298b.svg");mask-image:url("/static/player/iconpack/ui/exchange.e2a8dd36298b.svg")}
.ic-ui--home-outline{-webkit-mask-image:url("/static/player/iconpack/ui/home-outline.425154e69d14.svg");mask-image:url("/static/player/iconpack/ui/home-outline.425154e69d14.svg")}
.ic-ui--horses-outline{-webkit-mask-image:url("/static/player/iconpack/ui/horses-outline.c8938dd100df.svg");mask-image:url("/static/player/iconpack/ui/horses-outline.c8938dd100df.svg")}
.ic-ui--largeview-outline{-webkit-mask-image:url("/static/player/iconpack/ui/largeview-outline.svg");mask-image:url("/static/player/iconpack/ui/largeview-outline.svg")}
.ic-ui--leftmenu-outline{-webkit-mask-image:url("/static/player/iconpack/ui/leftmenu-outline.svg");mask-image:url("/static/player/iconpack/ui/leftmenu-outline.svg")}
.ic-ui--liveplay-outline{-webkit-mask-image:url("/static/player/iconpack/ui/liveplay-outline.917db93a62e7.svg");mask-image:url("/static/player/iconpack/ui/liveplay-outline.917db93a62e7.svg")}
.ic-ui--overview-outline{-webkit-mask-image:url("/static/player/iconpack/ui/overview-outline.4608600d8961.svg");mask-image:url("/static/player/iconpack/ui/overview-outline.4608600d8961.svg")}
.ic-ui--poker-outline{-webkit-mask-image:url("/static/player/iconpack/ui/poker-outline.1781157d3401.svg");mask-image:url("/static/player/iconpack/ui/poker-outline.1781157d3401.svg")}
.ic-ui--resetview-outline{-webkit-mask-image:url("/static/player/iconpack/ui/resetview-outline.svg");mask-image:url("/static/player/iconpack/ui/resetview-outline.svg")}
.ic-ui--smallview-outline{-webkit-mask-image:url("/static/player/iconpack/ui/smallview-outline.svg");mask-image:url("/static/player/iconpack/ui/smallview-outline.svg")}
.ic-ui--sorrtingview-outline{-webkit-mask-image:url("/static/player/iconpack/ui/sorrtingview-outline.svg");mask-image:url("/static/player/iconpack/ui/sorrtingview-outline.svg")}
.ic-ui--sport-outline{-webkit-mask-image:url("/static/player/iconpack/ui/sport-outline.72930ccb1e0d.svg");mask-image:url("/static/player/iconpack/ui/sport-outline.72930ccb1e0d.svg")}
.ic-ui--virtual-outline{-webkit-mask-image:url("/static/player/iconpack/ui/virtual-outline.61e4733c638a.svg");mask-image:url("/static/player/iconpack/ui/virtual-outline.61e4733c638a.svg")}
/* ---- BANDIERE (PNG a colori) ---- */
.ic-flag--2021tokyoolympics{background-image:url("/static/player/iconpack/flags/2021tokyoolympics.83c538ce8acd.png")}
.ic-flag--23creativevn{background-image:url("/static/player/iconpack/flags/23creativevn.f433ddeed546.png")}
.ic-flag--529donne{background-image:url("/static/player/iconpack/flags/529donne.fefceef40377.png")}
.ic-flag--abkhazia{background-image:url("/static/player/iconpack/flags/abkhazia.c5163b431a0f.png")}
.ic-flag--abudhabigp{background-image:url("/static/player/iconpack/flags/abudhabigp.3649e9465f32.png")}
.ic-flag--afghanistan{background-image:url("/static/player/iconpack/flags/afghanistan.468bea6b25c5.png")}
.ic-flag--afreecalol{background-image:url("/static/player/iconpack/flags/afreecalol.f3fae5666905.png")}
.ic-flag--africa{background-image:url("/static/player/iconpack/flags/africa.a210a635dbb2.png")}
.ic-flag--albania{background-image:url("/static/player/iconpack/flags/albania.1b17a0e6ceaf.png")}
.ic-flag--albany{background-image:url("/static/player/iconpack/flags/albany.43788947e1c5.png")}
.ic-flag--albionpark{background-image:url("/static/player/iconpack/flags/albionpark.dc9ea2bcf1bc.png")}
.ic-flag--algeria{background-image:url("/static/player/iconpack/flags/algeria.50fa7946eb20.png")}
.ic-flag--american-samoa{background-image:url("/static/player/iconpack/flags/american-samoa.289fbd081e0f.png")}
.ic-flag--andorra{background-image:url("/static/player/iconpack/flags/andorra.d9fd2886b2c6.png")}
.ic-flag--anglepark{background-image:url("/static/player/iconpack/flags/anglepark.95a4003d57d9.png")}
.ic-flag--angola{background-image:url("/static/player/iconpack/flags/angola.2d8fc0cb6052.png")}
.ic-flag--anguilla{background-image:url("/static/player/iconpack/flags/anguilla.4ab0295cc9f8.png")}
.ic-flag--antigua-e-barbuda{background-image:url("/static/player/iconpack/flags/antigua-e-barbuda.427b8dea5e0a.png")}
.ic-flag--antiguaebarbuda{background-image:url("/static/player/iconpack/flags/antiguaebarbuda.714f57975ff1.png")}
.ic-flag--arabiasaudita{background-image:url("/static/player/iconpack/flags/arabiasaudita.8e91668f9dfd.png")}
.ic-flag--aragongp{background-image:url("/static/player/iconpack/flags/aragongp.860fa687d4d0.png")}
.ic-flag--argentina{background-image:url("/static/player/iconpack/flags/argentina.28869d94b952.png")}
.ic-flag--argentinagp{background-image:url("/static/player/iconpack/flags/argentinagp.28869d94b952.png")}
.ic-flag--armenia{background-image:url("/static/player/iconpack/flags/armenia.70682685b9a3.png")}
.ic-flag--aruba{background-image:url("/static/player/iconpack/flags/aruba.92fd6d7eb8e4.png")}
.ic-flag--ascot{background-image:url("/static/player/iconpack/flags/ascot.43788947e1c5.png")}
.ic-flag--asia{background-image:url("/static/player/iconpack/flags/asia.a9d9893578d5.png")}
.ic-flag--asia-oceania{background-image:url("/static/player/iconpack/flags/asia-oceania.0dd4653a4bdd.png")}
.ic-flag--assemblycsgo{background-image:url("/static/player/iconpack/flags/assemblycsgo.708eb1363558.png")}
.ic-flag--atp{background-image:url("/static/player/iconpack/flags/atp.ef03968ae468.png")}
.ic-flag--australia{background-image:url("/static/player/iconpack/flags/australia.ef4c31ec9fee.png")}
.ic-flag--australiangp{background-image:url("/static/player/iconpack/flags/australiangp.ef4c31ec9fee.png")}
.ic-flag--austria{background-image:url("/static/player/iconpack/flags/austria.c2f510a54e44.png")}
.ic-flag--austriaamatori{background-image:url("/static/player/iconpack/flags/austriaamatori.c2f510a54e44.png")}
.ic-flag--austriangp{background-image:url("/static/player/iconpack/flags/austriangp.c2f510a54e44.png")}
.ic-flag--awards{background-image:url("/static/player/iconpack/flags/awards.6b5dee13845f.png")}
.ic-flag--azerbaigian{background-image:url("/static/player/iconpack/flags/azerbaigian.0c5434d268dc.png")}
.ic-flag--azerbaijangp{background-image:url("/static/player/iconpack/flags/azerbaijangp.0c5434d268dc.png")}
.ic-flag--bahamas{background-image:url("/static/player/iconpack/flags/bahamas.9cf8656a3278.png")}
.ic-flag--bahrain{background-image:url("/static/player/iconpack/flags/bahrain.1bb2533937c0.png")}
.ic-flag--bahrein{background-image:url("/static/player/iconpack/flags/bahrein.1bb2533937c0.png")}
.ic-flag--balearic-islands{background-image:url("/static/player/iconpack/flags/balearic-islands.7054940531f2.png")}
.ic-flag--ballarat{background-image:url("/static/player/iconpack/flags/ballarat.dc9ea2bcf1bc.png")}
.ic-flag--bangladesh{background-image:url("/static/player/iconpack/flags/bangladesh.42cbdd181dec.png")}
.ic-flag--barbados{background-image:url("/static/player/iconpack/flags/barbados.3f802d85d47b.png")}
.ic-flag--barcelonagp{background-image:url("/static/player/iconpack/flags/barcelonagp.860fa687d4d0.png")}
.ic-flag--baseball{background-image:url("/static/player/iconpack/flags/baseball.568f62646291.png")}
.ic-flag--basketball{background-image:url("/static/player/iconpack/flags/basketball.d9eafdd1e9ac.png")}
.ic-flag--basque-country{background-image:url("/static/player/iconpack/flags/basque-country.13b5d746ecdd.png")}
.ic-flag--belarus{background-image:url("/static/player/iconpack/flags/belarus.638bd0953e7c.png")}
.ic-flag--belgiangp{background-image:url("/static/player/iconpack/flags/belgiangp.a79e239303a8.png")}
.ic-flag--belgio{background-image:url("/static/player/iconpack/flags/belgio.a79e239303a8.png")}
.ic-flag--belgium{background-image:url("/static/player/iconpack/flags/belgium.a79e239303a8.png")}
.ic-flag--belize{background-image:url("/static/player/iconpack/flags/belize.4870f3c9645c.png")}
.ic-flag--bellator{background-image:url("/static/player/iconpack/flags/bellator.19a32f83119b.png")}
.ic-flag--bendigo{background-image:url("/static/player/iconpack/flags/bendigo.95a4003d57d9.png")}
.ic-flag--benin{background-image:url("/static/player/iconpack/flags/benin.4af2bd880345.png")}
.ic-flag--bermuda{background-image:url("/static/player/iconpack/flags/bermuda.6460a4a4a65d.png")}
.ic-flag--beyondthesummitdota2{background-image:url("/static/player/iconpack/flags/beyondthesummitdota2.2dc66547c483.png")}
.ic-flag--bfs{background-image:url("/static/player/iconpack/flags/bfs.2dc458189a77.png")}
.ic-flag--bhutan{background-image:url("/static/player/iconpack/flags/bhutan.320febc7fd10.png")}
.ic-flag--biathlon{background-image:url("/static/player/iconpack/flags/biathlon.b90d436cc82a.png")}
.ic-flag--biathlonfemminile{background-image:url("/static/player/iconpack/flags/biathlonfemminile.459ff3a6de4e.png")}
.ic-flag--biathlonmaschile{background-image:url("/static/player/iconpack/flags/biathlonmaschile.a118e9d8f731.png")}
.ic-flag--bielorussia{background-image:url("/static/player/iconpack/flags/bielorussia.f15180256f55.png")}
.ic-flag--bikes{background-image:url("/static/player/iconpack/flags/bikes.b1749433b9b6.png")}
.ic-flag--birmania{background-image:url("/static/player/iconpack/flags/birmania.34f1f3e17056.png")}
.ic-flag--bolivia{background-image:url("/static/player/iconpack/flags/bolivia.709780bb40aa.png")}
.ic-flag--bonaire{background-image:url("/static/player/iconpack/flags/bonaire.df6eadc8c902.png")}
.ic-flag--bosnia-erzegovina{background-image:url("/static/player/iconpack/flags/bosnia-erzegovina.ad5e0f4e35bd.png")}
.ic-flag--bosniaandherzegovina{background-image:url("/static/player/iconpack/flags/bosniaandherzegovina.ad5e0f4e35bd.png")}
.ic-flag--bosniaederzegovina{background-image:url("/static/player/iconpack/flags/bosniaederzegovina.ad5e0f4e35bd.png")}
.ic-flag--bosniaerzegovina{background-image:url("/static/player/iconpack/flags/bosniaerzegovina.ad5e0f4e35bd.png")}
.ic-flag--botswana{background-image:url("/static/player/iconpack/flags/botswana.07df00f7ee5e.png")}
.ic-flag--brasile{background-image:url("/static/player/iconpack/flags/brasile.4ef2c23c1315.png")}
.ic-flag--brazil{background-image:url("/static/player/iconpack/flags/brazil.4ef2c23c1315.png")}
.ic-flag--british-columbia{background-image:url("/static/player/iconpack/flags/british-columbia.dfcda42a7a67.png")}
.ic-flag--british-indian-ocean-territory{background-image:url("/static/player/iconpack/flags/british-indian-ocean-territory.7c2ee808048b.png")}
.ic-flag--british-virgin-islands{background-image:url("/static/player/iconpack/flags/british-virgin-islands.f9bd43fc944a.png")}
.ic-flag--britishgp{background-image:url("/static/player/iconpack/flags/britishgp.9f25405f3377.png")}
.ic-flag--brunei{background-image:url("/static/player/iconpack/flags/brunei.83d44cc48d31.png")}
.ic-flag--bruneidarussalam{background-image:url("/static/player/iconpack/flags/bruneidarussalam.1dfb256a13a6.png")}
.ic-flag--bulgaria{background-image:url("/static/player/iconpack/flags/bulgaria.fa7658da6c1b.png")}
.ic-flag--bunbury{background-image:url("/static/player/iconpack/flags/bunbury.43788947e1c5.png")}
.ic-flag--burkina-faso{background-image:url("/static/player/iconpack/flags/burkina-faso.7873ba78d1e5.png")}
.ic-flag--burkinafaso{background-image:url("/static/player/iconpack/flags/burkinafaso.ae764bb87bfd.png")}
.ic-flag--burundi{background-image:url("/static/player/iconpack/flags/burundi.07d70c6dad97.png")}
.ic-flag--calciomercato{background-image:url("/static/player/iconpack/flags/calciomercato.d8a43b5e7de5.png")}
.ic-flag--cambodia{background-image:url("/static/player/iconpack/flags/cambodia.03739e516878.png")}
.ic-flag--cambogia{background-image:url("/static/player/iconpack/flags/cambogia.03739e516878.png")}
.ic-flag--camerun{background-image:url("/static/player/iconpack/flags/camerun.279c47acce5f.png")}
.ic-flag--campionatomondiale{background-image:url("/static/player/iconpack/flags/campionatomondiale.95bf41e4284c.png")}
.ic-flag--canada{background-image:url("/static/player/iconpack/flags/canada.a2ab6f1f0fcf.png")}
.ic-flag--cannington{background-image:url("/static/player/iconpack/flags/cannington.0ebbde0e4609.png")}
.ic-flag--capo-verde{background-image:url("/static/player/iconpack/flags/capo-verde.70afde32c0cf.png")}
.ic-flag--capoverde{background-image:url("/static/player/iconpack/flags/capoverde.391fe603e938.png")}
.ic-flag--cayman-islands{background-image:url("/static/player/iconpack/flags/cayman-islands.84f59241210a.png")}
.ic-flag--central-african-republic{background-image:url("/static/player/iconpack/flags/central-african-republic.9b06683b0808.png")}
.ic-flag--centro-america{background-image:url("/static/player/iconpack/flags/centro-america.b7a4249d0cc6.png")}
.ic-flag--ceuta{background-image:url("/static/player/iconpack/flags/ceuta.54d84dfbdf47.png")}
.ic-flag--chad{background-image:url("/static/player/iconpack/flags/chad.1701abf6e44e.png")}
.ic-flag--challenge{background-image:url("/static/player/iconpack/flags/challenge.7b0c95ba91c7.png")}
.ic-flag--challengefemminile{background-image:url("/static/player/iconpack/flags/challengefemminile.eaa2d1cd1655.png")}
.ic-flag--challenger{background-image:url("/static/player/iconpack/flags/challenger.fe07e32527b7.png")}
.ic-flag--championship2024{background-image:url("/static/player/iconpack/flags/championship2024.01da2f5c1607.png")}
.ic-flag--championship2025{background-image:url("/static/player/iconpack/flags/championship2025.01da2f5c1607.png")}
.ic-flag--championsleague{background-image:url("/static/player/iconpack/flags/championsleague.39a95452eb4f.png")}
.ic-flag--china{background-image:url("/static/player/iconpack/flags/china.ec3241696f3b.png")}
.ic-flag--chinadota2{background-image:url("/static/player/iconpack/flags/chinadota2.6ac60cc8f8a8.png")}
.ic-flag--christmas-island{background-image:url("/static/player/iconpack/flags/christmas-island.1452df763a1a.png")}
.ic-flag--church{background-image:url("/static/player/iconpack/flags/church.90d9bdc879ae.png")}
.ic-flag--ciad{background-image:url("/static/player/iconpack/flags/ciad.ea6012f80c34.png")}
.ic-flag--cile{background-image:url("/static/player/iconpack/flags/cile.7068b7298306.png")}
.ic-flag--cina{background-image:url("/static/player/iconpack/flags/cina.ec3241696f3b.png")}
.ic-flag--cinataipei{background-image:url("/static/player/iconpack/flags/cinataipei.a3f13181c8f3.png")}
.ic-flag--cipro{background-image:url("/static/player/iconpack/flags/cipro.d3542cb53471.png")}
.ic-flag--clubinternazionali{background-image:url("/static/player/iconpack/flags/clubinternazionali.01da2f5c1607.png")}
.ic-flag--clubsinternazionali{background-image:url("/static/player/iconpack/flags/clubsinternazionali.01da2f5c1607.png")}
.ic-flag--coffsharbour{background-image:url("/static/player/iconpack/flags/coffsharbour.43788947e1c5.png")}
.ic-flag--colombia{background-image:url("/static/player/iconpack/flags/colombia.eaadc22a83d0.png")}
.ic-flag--combatsports{background-image:url("/static/player/iconpack/flags/combatsports.1d6d317a78df.png")}
.ic-flag--comoros{background-image:url("/static/player/iconpack/flags/comoros.3b376b72cbe9.png")}
.ic-flag--congo{background-image:url("/static/player/iconpack/flags/congo.6b6b19bd1682.png")}
.ic-flag--coppadavis{background-image:url("/static/player/iconpack/flags/coppadavis.9d882fa35ac1.png")}
.ic-flag--corea-del-nord{background-image:url("/static/player/iconpack/flags/corea-del-nord.a80aae2705db.png")}
.ic-flag--coreadelsud{background-image:url("/static/player/iconpack/flags/coreadelsud.61b6acbe89c7.png")}
.ic-flag--corsa1shepparton{background-image:url("/static/player/iconpack/flags/corsa1shepparton.23838068d445.png")}
.ic-flag--corsica{background-image:url("/static/player/iconpack/flags/corsica.00215ce59063.png")}
.ic-flag--costadavorio{background-image:url("/static/player/iconpack/flags/costadavorio.3ebf84c7e9b8.png")}
.ic-flag--costad´avorio{background-image:url("/static/player/iconpack/flags/costad´avorio.3ebf84c7e9b8.png")}
.ic-flag--costarica{background-image:url("/static/player/iconpack/flags/costarica.b2e11dd93cb8.png")}
.ic-flag--croazia{background-image:url("/static/player/iconpack/flags/croazia.8f411c4f825a.png")}
.ic-flag--cuba{background-image:url("/static/player/iconpack/flags/cuba.3a6d3c8ce497.png")}
.ic-flag--curacao{background-image:url("/static/player/iconpack/flags/curacao.558de0230b8b.png")}
.ic-flag--danimarca{background-image:url("/static/player/iconpack/flags/danimarca.6ace6b211902.png")}
.ic-flag--danimarcaamatori{background-image:url("/static/player/iconpack/flags/danimarcaamatori.6ace6b211902.png")}
.ic-flag--dapto{background-image:url("/static/player/iconpack/flags/dapto.95a4003d57d9.png")}
.ic-flag--darwin{background-image:url("/static/player/iconpack/flags/darwin.43788947e1c5.png")}
.ic-flag--default{background-image:url("/static/player/iconpack/flags/default.c19a96795438.png")}
.ic-flag--democratic-republic-of-congo{background-image:url("/static/player/iconpack/flags/democratic-republic-of-congo.fb433aaead30.png")}
.ic-flag--denmark{background-image:url("/static/player/iconpack/flags/denmark.6ace6b211902.png")}
.ic-flag--dominica{background-image:url("/static/player/iconpack/flags/dominica.8f404b2bf7f8.png")}
.ic-flag--dominican-republic{background-image:url("/static/player/iconpack/flags/dominican-republic.eeda734eab62.png")}
.ic-flag--dominicanrepublic{background-image:url("/static/player/iconpack/flags/dominicanrepublic.3e9b1f79c730.png")}
.ic-flag--donne{background-image:url("/static/player/iconpack/flags/donne.5f1764ebb3c5.png")}
.ic-flag--dotapitdota2{background-image:url("/static/player/iconpack/flags/dotapitdota2.29742ad597f0.png")}
.ic-flag--dreamhackcsgo{background-image:url("/static/player/iconpack/flags/dreamhackcsgo.96179a87c4c7.png")}
.ic-flag--dutchgp{background-image:url("/static/player/iconpack/flags/dutchgp.b0765f84a393.png")}
.ic-flag--e2techcsgo{background-image:url("/static/player/iconpack/flags/e2techcsgo.36a9269b7e16.png")}
.ic-flag--ecricket{background-image:url("/static/player/iconpack/flags/ecricket.0492a28f1b20.png")}
.ic-flag--ecuador{background-image:url("/static/player/iconpack/flags/ecuador.6e7f571941aa.png")}
.ic-flag--efirecsgo{background-image:url("/static/player/iconpack/flags/efirecsgo.9c80ce93b196.png")}
.ic-flag--egitto{background-image:url("/static/player/iconpack/flags/egitto.6cdd2a129980.png")}
.ic-flag--egypt{background-image:url("/static/player/iconpack/flags/egypt.6cdd2a129980.png")}
.ic-flag--eicehockey{background-image:url("/static/player/iconpack/flags/eicehockey.7a1942c41976.png")}
.ic-flag--el-salvador{background-image:url("/static/player/iconpack/flags/el-salvador.4af3c7bcbc2d.png")}
.ic-flag--electronicleagues{background-image:url("/static/player/iconpack/flags/electronicleagues.a833fd04cfb3.png")}
.ic-flag--elsalvador{background-image:url("/static/player/iconpack/flags/elsalvador.a7e59dae42a9.png")}
.ic-flag--emiliaromagnagp{background-image:url("/static/player/iconpack/flags/emiliaromagnagp.644b70f39c0e.png")}
.ic-flag--emiratiarabi{background-image:url("/static/player/iconpack/flags/emiratiarabi.0da95c45d2fc.png")}
.ic-flag--emiratiarabiuniti{background-image:url("/static/player/iconpack/flags/emiratiarabiuniti.0da95c45d2fc.png")}
.ic-flag--england{background-image:url("/static/player/iconpack/flags/england.84a3a5f40627.png")}
.ic-flag--entertainment{background-image:url("/static/player/iconpack/flags/entertainment.4a24fa90d9f6.png")}
.ic-flag--epicdota2{background-image:url("/static/player/iconpack/flags/epicdota2.f36ab28721f1.png")}
.ic-flag--eritrea{background-image:url("/static/player/iconpack/flags/eritrea.cf17b7b2f6c7.png")}
.ic-flag--eseacsgo{background-image:url("/static/player/iconpack/flags/eseacsgo.a4d25bc4af56.png")}
.ic-flag--esibizione{background-image:url("/static/player/iconpack/flags/esibizione.32418f3e8d7a.png")}
.ic-flag--eslcsgo{background-image:url("/static/player/iconpack/flags/eslcsgo.62ded5e43f1a.png")}
.ic-flag--esldota2{background-image:url("/static/player/iconpack/flags/esldota2.34069e987d64.png")}
.ic-flag--estonia{background-image:url("/static/player/iconpack/flags/estonia.22e86f928b01.png")}
.ic-flag--ethiopia{background-image:url("/static/player/iconpack/flags/ethiopia.336481a9902a.png")}
.ic-flag--etiopia{background-image:url("/static/player/iconpack/flags/etiopia.336481a9902a.png")}
.ic-flag--eurocupmen{background-image:url("/static/player/iconpack/flags/eurocupmen.fe3590a80723.png")}
.ic-flag--euroleague{background-image:url("/static/player/iconpack/flags/euroleague.b4e5488117b7.png")}
.ic-flag--euroleagueplayoffsseriescorrectscore{background-image:url("/static/player/iconpack/flags/euroleagueplayoffsseriescorrectscore.56fa1620c786.png")}
.ic-flag--eurolega{background-image:url("/static/player/iconpack/flags/eurolega.a06737fe51e0.png")}
.ic-flag--europa{background-image:url("/static/player/iconpack/flags/europa.faaf485f6ebb.png")}
.ic-flag--europe{background-image:url("/static/player/iconpack/flags/europe.faaf485f6ebb.png")}
.ic-flag--fantasyexpocsgo{background-image:url("/static/player/iconpack/flags/fantasyexpocsgo.8fc9a0352ab3.png")}
.ic-flag--federationcup{background-image:url("/static/player/iconpack/flags/federationcup.fc4de6cf1ad2.png")}
.ic-flag--fiji{background-image:url("/static/player/iconpack/flags/fiji.82bd60ec7cae.png")}
.ic-flag--filippine{background-image:url("/static/player/iconpack/flags/filippine.33531695cbf4.png")}
.ic-flag--filppine{background-image:url("/static/player/iconpack/flags/filppine.7b58f36107cf.png")}
.ic-flag--finlandia{background-image:url("/static/player/iconpack/flags/finlandia.33eda274610a.png")}
.ic-flag--formula1{background-image:url("/static/player/iconpack/flags/formula1.37deec94ad83.png")}
.ic-flag--formulae{background-image:url("/static/player/iconpack/flags/formulae.6b2daeb179e6.png")}
.ic-flag--france{background-image:url("/static/player/iconpack/flags/france.79ba04a6e32d.png")}
.ic-flag--franceproa{background-image:url("/static/player/iconpack/flags/franceproa.fbe1ec14df29.png")}
.ic-flag--francia{background-image:url("/static/player/iconpack/flags/francia.79ba04a6e32d.png")}
.ic-flag--frania{background-image:url("/static/player/iconpack/flags/frania.79ba04a6e32d.png")}
.ic-flag--french-polynesia{background-image:url("/static/player/iconpack/flags/french-polynesia.b5775d880ec0.png")}
.ic-flag--frenchgp{background-image:url("/static/player/iconpack/flags/frenchgp.79ba04a6e32d.png")}
.ic-flag--gabon{background-image:url("/static/player/iconpack/flags/gabon.6c7c5678e641.png")}
.ic-flag--galapagos-islands{background-image:url("/static/player/iconpack/flags/galapagos-islands.33daaf91a176.png")}
.ic-flag--galles{background-image:url("/static/player/iconpack/flags/galles.87864c5735b2.png")}
.ic-flag--gambia{background-image:url("/static/player/iconpack/flags/gambia.3247be721949.png")}
.ic-flag--gana{background-image:url("/static/player/iconpack/flags/gana.a822e0eb94a8.png")}
.ic-flag--georgia{background-image:url("/static/player/iconpack/flags/georgia.3f238bae6a10.png")}
.ic-flag--geraldton{background-image:url("/static/player/iconpack/flags/geraldton.43788947e1c5.png")}
.ic-flag--germania{background-image:url("/static/player/iconpack/flags/germania.3613e5ecea45.png")}
.ic-flag--germaniaamatori{background-image:url("/static/player/iconpack/flags/germaniaamatori.fe8828333b33.png")}
.ic-flag--germany{background-image:url("/static/player/iconpack/flags/germany.3613e5ecea45.png")}
.ic-flag--ghana{background-image:url("/static/player/iconpack/flags/ghana.a822e0eb94a8.png")}
.ic-flag--giamaica{background-image:url("/static/player/iconpack/flags/giamaica.1e5921a3dad9.png")}
.ic-flag--giappone{background-image:url("/static/player/iconpack/flags/giappone.a48ab46ed768.png")}
.ic-flag--gibilterra{background-image:url("/static/player/iconpack/flags/gibilterra.6a24a1d83337.png")}
.ic-flag--gibuti{background-image:url("/static/player/iconpack/flags/gibuti.cc6165605934.png")}
.ic-flag--giordania{background-image:url("/static/player/iconpack/flags/giordania.8b060eb055f4.png")}
.ic-flag--giovaniliinternazionali{background-image:url("/static/player/iconpack/flags/giovaniliinternazionali.01da2f5c1607.png")}
.ic-flag--globederby{background-image:url("/static/player/iconpack/flags/globederby.dc9ea2bcf1bc.png")}
.ic-flag--gloucesterpark{background-image:url("/static/player/iconpack/flags/gloucesterpark.b164f569a745.png")}
.ic-flag--goldmedalinpechino2022{background-image:url("/static/player/iconpack/flags/goldmedalinpechino2022.2bbd76f54df9.png")}
.ic-flag--gosford(aus){background-image:url("/static/player/iconpack/flags/gosford(aus").png)}
.ic-flag--gpestoril{background-image:url("/static/player/iconpack/flags/gpestoril.1787430007b7.png")}
.ic-flag--granbretagna{background-image:url("/static/player/iconpack/flags/granbretagna.d7703b6f6c11.png")}
.ic-flag--grecia{background-image:url("/static/player/iconpack/flags/grecia.ff19cfa3c456.png")}
.ic-flag--grenada{background-image:url("/static/player/iconpack/flags/grenada.8b07e6a7efe5.png")}
.ic-flag--groenlandia{background-image:url("/static/player/iconpack/flags/groenlandia.e2bcff3cef0e.png")}
.ic-flag--guam{background-image:url("/static/player/iconpack/flags/guam.f1b9bb74d54f.png")}
.ic-flag--guatemala{background-image:url("/static/player/iconpack/flags/guatemala.6381fb93f0a9.png")}
.ic-flag--guernsey{background-image:url("/static/player/iconpack/flags/guernsey.355800a8ea07.png")}
.ic-flag--guinea{background-image:url("/static/player/iconpack/flags/guinea.0515d592dbbe.png")}
.ic-flag--guinea-bissau{background-image:url("/static/player/iconpack/flags/guinea-bissau.300fa58255ec.png")}
.ic-flag--guinea-equitoriale{background-image:url("/static/player/iconpack/flags/guinea-equitoriale.4f4dd350aca2.png")}
.ic-flag--guineabissau{background-image:url("/static/player/iconpack/flags/guineabissau.e03d91c55c40.png")}
.ic-flag--guineauquatoriale{background-image:url("/static/player/iconpack/flags/guineauquatoriale.bb43139ad47f.png")}
.ic-flag--gunnedah{background-image:url("/static/player/iconpack/flags/gunnedah.95a4003d57d9.png")}
.ic-flag--haiti{background-image:url("/static/player/iconpack/flags/haiti.7eb66ef5d015.png")}
.ic-flag--hawaii{background-image:url("/static/player/iconpack/flags/hawaii.6cb33df369af.png")}
.ic-flag--honduras{background-image:url("/static/player/iconpack/flags/honduras.2fb7239eced9.png")}
.ic-flag--hong-kong{background-image:url("/static/player/iconpack/flags/hong-kong.143d6bfab58a.png")}
.ic-flag--hongkong{background-image:url("/static/player/iconpack/flags/hongkong.c5465fa5c048.png")}
.ic-flag--hongkong,cina{background-image:url("/static/player/iconpack/flags/hongkong,cina.c5465fa5c048.png")}
.ic-flag--hungariangp{background-image:url("/static/player/iconpack/flags/hungariangp.3afacd0c1089.png")}
.ic-flag--hungarygp{background-image:url("/static/player/iconpack/flags/hungarygp.3afacd0c1089.png")}
.ic-flag--india{background-image:url("/static/player/iconpack/flags/india.935b6b32dbf5.png")}
.ic-flag--indieoccidentali{background-image:url("/static/player/iconpack/flags/indieoccidentali.a744c2972527.png")}
.ic-flag--indonesia{background-image:url("/static/player/iconpack/flags/indonesia.8327fcd64d50.png")}
.ic-flag--indonesiagp{background-image:url("/static/player/iconpack/flags/indonesiagp.8327fcd64d50.png")}
.ic-flag--inghilterra{background-image:url("/static/player/iconpack/flags/inghilterra.84a3a5f40627.png")}
.ic-flag--inghilterraamatori{background-image:url("/static/player/iconpack/flags/inghilterraamatori.84a3a5f40627.png")}
.ic-flag--international{background-image:url("/static/player/iconpack/flags/international.01da2f5c1607.png")}
.ic-flag--internationalclubs{background-image:url("/static/player/iconpack/flags/internationalclubs.01da2f5c1607.png")}
.ic-flag--internazional{background-image:url("/static/player/iconpack/flags/internazional.01da2f5c1607.png")}
.ic-flag--internazionale{background-image:url("/static/player/iconpack/flags/internazionale.01da2f5c1607.png")}
.ic-flag--internazionalefemminile{background-image:url("/static/player/iconpack/flags/internazionalefemminile.01da2f5c1607.png")}
.ic-flag--internazionali{background-image:url("/static/player/iconpack/flags/internazionali.01da2f5c1607.png")}
.ic-flag--intrattenimento{background-image:url("/static/player/iconpack/flags/intrattenimento.d0c13ee7fd9d.png")}
.ic-flag--ipswich{background-image:url("/static/player/iconpack/flags/ipswich.d68412602100.png")}
.ic-flag--iran{background-image:url("/static/player/iconpack/flags/iran.d5bd10b72ba0.png")}
.ic-flag--iraq{background-image:url("/static/player/iconpack/flags/iraq.fc098822adc7.png")}
.ic-flag--ireland{background-image:url("/static/player/iconpack/flags/ireland.f58370cf796e.png")}
.ic-flag--irlanda{background-image:url("/static/player/iconpack/flags/irlanda.f58370cf796e.png")}
.ic-flag--irlandadelnord{background-image:url("/static/player/iconpack/flags/irlandadelnord.a2e79504d40b.png")}
.ic-flag--islanda{background-image:url("/static/player/iconpack/flags/islanda.971c67391755.png")}
.ic-flag--isola-di-man{background-image:url("/static/player/iconpack/flags/isola-di-man.6356452fbefb.png")}
.ic-flag--isola-di-natale{background-image:url("/static/player/iconpack/flags/isola-di-natale.3528e75689e7.png")}
.ic-flag--isoladiman{background-image:url("/static/player/iconpack/flags/isoladiman.5fe6d6d9eda6.png")}
.ic-flag--isolanorfolk{background-image:url("/static/player/iconpack/flags/isolanorfolk.6afcdc9e34e1.png")}
.ic-flag--isolasaba{background-image:url("/static/player/iconpack/flags/isolasaba.81978b501198.png")}
.ic-flag--isole-aland{background-image:url("/static/player/iconpack/flags/isole-aland.ba8b0f43c5cc.png")}
.ic-flag--isole-azores{background-image:url("/static/player/iconpack/flags/isole-azores.0b55fa23c53e.png")}
.ic-flag--isole-canarie{background-image:url("/static/player/iconpack/flags/isole-canarie.4bbd30d1a75b.png")}
.ic-flag--isole-cayman{background-image:url("/static/player/iconpack/flags/isole-cayman.f23397e96cf7.png")}
.ic-flag--isole-cocos{background-image:url("/static/player/iconpack/flags/isole-cocos.b15d61dafa52.png")}
.ic-flag--isole-cook{background-image:url("/static/player/iconpack/flags/isole-cook.e61e9c674af2.png")}
.ic-flag--isole-falkland{background-image:url("/static/player/iconpack/flags/isole-falkland.b3eb86fa93fc.png")}
.ic-flag--isole-faroe{background-image:url("/static/player/iconpack/flags/isole-faroe.837670230ad4.png")}
.ic-flag--isole-fiji{background-image:url("/static/player/iconpack/flags/isole-fiji.85014aa4b3db.png")}
.ic-flag--isole-marianne-settentrionali{background-image:url("/static/player/iconpack/flags/isole-marianne-settentrionali.fd1c089dac73.png")}
.ic-flag--isole-marshall{background-image:url("/static/player/iconpack/flags/isole-marshall.18c48108f483.png")}
.ic-flag--isole-norfolk{background-image:url("/static/player/iconpack/flags/isole-norfolk.ca4d8ff713bf.png")}
.ic-flag--isole-pitcairn{background-image:url("/static/player/iconpack/flags/isole-pitcairn.616f2cfe3996.png")}
.ic-flag--isole-solomon{background-image:url("/static/player/iconpack/flags/isole-solomon.af05d54324bb.png")}
.ic-flag--isole-vergini{background-image:url("/static/player/iconpack/flags/isole-vergini.983e8fa5bbbc.png")}
.ic-flag--isolealand{background-image:url("/static/player/iconpack/flags/isolealand.1b29ae48b2cf.png")}
.ic-flag--isoleazores{background-image:url("/static/player/iconpack/flags/isoleazores.3fde3c9ca6dd.png")}
.ic-flag--isolecanarie{background-image:url("/static/player/iconpack/flags/isolecanarie.10f1488734a4.png")}
.ic-flag--isolecocos{background-image:url("/static/player/iconpack/flags/isolecocos.4b73d4c5ee49.png")}
.ic-flag--isolecook{background-image:url("/static/player/iconpack/flags/isolecook.47be8a96b26e.png")}
.ic-flag--isolefalkland{background-image:url("/static/player/iconpack/flags/isolefalkland.c62a6b2aef24.png")}
.ic-flag--isolefaroe{background-image:url("/static/player/iconpack/flags/isolefaroe.ae4cf930a2e6.png")}
.ic-flag--isolefaroer{background-image:url("/static/player/iconpack/flags/isolefaroer.ae4cf930a2e6.png")}
.ic-flag--isolegalapagos{background-image:url("/static/player/iconpack/flags/isolegalapagos.0dc93e697130.png")}
.ic-flag--isolemarshall{background-image:url("/static/player/iconpack/flags/isolemarshall.b99056a3010c.png")}
.ic-flag--isolepitcairn{background-image:url("/static/player/iconpack/flags/isolepitcairn.adbd88cd4161.png")}
.ic-flag--isolesalomone{background-image:url("/static/player/iconpack/flags/isolesalomone.65392088404b.png")}
.ic-flag--isolevergini{background-image:url("/static/player/iconpack/flags/isolevergini.4919d7b1dca6.png")}
.ic-flag--israele{background-image:url("/static/player/iconpack/flags/israele.cbdc928ffdf8.png")}
.ic-flag--italia{background-image:url("/static/player/iconpack/flags/italia.644b70f39c0e.png")}
.ic-flag--italiangp{background-image:url("/static/player/iconpack/flags/italiangp.644b70f39c0e.png")}
.ic-flag--italy{background-image:url("/static/player/iconpack/flags/italy.644b70f39c0e.png")}
.ic-flag--italygp{background-image:url("/static/player/iconpack/flags/italygp.644b70f39c0e.png")}
.ic-flag--italylegabasket{background-image:url("/static/player/iconpack/flags/italylegabasket.a0259acdf6d4.png")}
.ic-flag--itffemminile{background-image:url("/static/player/iconpack/flags/itffemminile.d49fd4ab6178.png")}
.ic-flag--itfmaschile{background-image:url("/static/player/iconpack/flags/itfmaschile.d49fd4ab6178.png")}
.ic-flag--japan{background-image:url("/static/player/iconpack/flags/japan.a48ab46ed768.png")}
.ic-flag--japanesegp{background-image:url("/static/player/iconpack/flags/japanesegp.a48ab46ed768.png")}
.ic-flag--jersey{background-image:url("/static/player/iconpack/flags/jersey.8f34ab08414f.png")}
.ic-flag--jordan{background-image:url("/static/player/iconpack/flags/jordan.8b060eb055f4.png")}
.ic-flag--kayzrcsgo{background-image:url("/static/player/iconpack/flags/kayzrcsgo.9a4ad2193623.png")}
.ic-flag--kazakhstan{background-image:url("/static/player/iconpack/flags/kazakhstan.67cf189a39bb.png")}
.ic-flag--kazakistan{background-image:url("/static/player/iconpack/flags/kazakistan.67cf189a39bb.png")}
.ic-flag--kenya{background-image:url("/static/player/iconpack/flags/kenya.06520c233e4c.png")}
.ic-flag--kingofwarriors{background-image:url("/static/player/iconpack/flags/kingofwarriors.32f0de4c330a.png")}
.ic-flag--kirghizistan{background-image:url("/static/player/iconpack/flags/kirghizistan.6674831149cf.png")}
.ic-flag--kirgizistan{background-image:url("/static/player/iconpack/flags/kirgizistan.54a02d9f7d22.png")}
.ic-flag--kiribati{background-image:url("/static/player/iconpack/flags/kiribati.2d40310ac55b.png")}
.ic-flag--kosovo{background-image:url("/static/player/iconpack/flags/kosovo.58ad2e1cd2d1.png")}
.ic-flag--ksw{background-image:url("/static/player/iconpack/flags/ksw.8d7d321c2129.png")}
.ic-flag--kuwait{background-image:url("/static/player/iconpack/flags/kuwait.e0e30f91a4c4.png")}
.ic-flag--laos{background-image:url("/static/player/iconpack/flags/laos.839befd80b44.png")}
.ic-flag--lasvegasgp{background-image:url("/static/player/iconpack/flags/lasvegasgp.bf05320a1216.png")}
.ic-flag--launceston{background-image:url("/static/player/iconpack/flags/launceston.c46b49e49a73.png")}
.ic-flag--leaguetotals{background-image:url("/static/player/iconpack/flags/leaguetotals.79432bfa7a00.png")}
.ic-flag--lebanon{background-image:url("/static/player/iconpack/flags/lebanon.185986eb154e.png")}
.ic-flag--legarugby{background-image:url("/static/player/iconpack/flags/legarugby.a1b153f13495.png")}
.ic-flag--lesotho{background-image:url("/static/player/iconpack/flags/lesotho.b106171aa743.png")}
.ic-flag--lettonia{background-image:url("/static/player/iconpack/flags/lettonia.20821b31d21e.png")}
.ic-flag--libano{background-image:url("/static/player/iconpack/flags/libano.185986eb154e.png")}
.ic-flag--liberia{background-image:url("/static/player/iconpack/flags/liberia.db8f2bc58b0c.png")}
.ic-flag--libia{background-image:url("/static/player/iconpack/flags/libia.9d56df0cc8ca.png")}
.ic-flag--libya{background-image:url("/static/player/iconpack/flags/libya.a30aaaeeb058.png")}
.ic-flag--liechtenstein{background-image:url("/static/player/iconpack/flags/liechtenstein.91806982c432.png")}
.ic-flag--lithuania{background-image:url("/static/player/iconpack/flags/lithuania.67d38c4b85f4.png")}
.ic-flag--lituania{background-image:url("/static/player/iconpack/flags/lituania.67d38c4b85f4.png")}
.ic-flag--lussemburgo{background-image:url("/static/player/iconpack/flags/lussemburgo.e416f0040bb8.png")}
.ic-flag--luxembourg{background-image:url("/static/player/iconpack/flags/luxembourg.666db3bae840.png")}
.ic-flag--lvpcsgo{background-image:url("/static/player/iconpack/flags/lvpcsgo.43aab60d9104.png")}
.ic-flag--m1global{background-image:url("/static/player/iconpack/flags/m1global.be7b86de01c8.png")}
.ic-flag--macao{background-image:url("/static/player/iconpack/flags/macao.394c5ee8c97e.png")}
.ic-flag--macedonia{background-image:url("/static/player/iconpack/flags/macedonia.2dfea9e7ab79.png")}
.ic-flag--macedoniadelnord{background-image:url("/static/player/iconpack/flags/macedoniadelnord.2dfea9e7ab79.png")}
.ic-flag--madagascar{background-image:url("/static/player/iconpack/flags/madagascar.09aeee256f17.png")}
.ic-flag--madeira{background-image:url("/static/player/iconpack/flags/madeira.e4fbba78596c.png")}
.ic-flag--maitland{background-image:url("/static/player/iconpack/flags/maitland.95a4003d57d9.png")}
.ic-flag--malawi{background-image:url("/static/player/iconpack/flags/malawi.f861e2674dfe.png")}
.ic-flag--malaysia{background-image:url("/static/player/iconpack/flags/malaysia.57677e5a282b.png")}
.ic-flag--malaysiangp{background-image:url("/static/player/iconpack/flags/malaysiangp.57677e5a282b.png")}
.ic-flag--maldive{background-image:url("/static/player/iconpack/flags/maldive.267dd2a9bffb.png")}
.ic-flag--maldives{background-image:url("/static/player/iconpack/flags/maldives.3f30484b3e8e.png")}
.ic-flag--malesia{background-image:url("/static/player/iconpack/flags/malesia.57677e5a282b.png")}
.ic-flag--mali{background-image:url("/static/player/iconpack/flags/mali.3bfb1255044b.png")}
.ic-flag--malta{background-image:url("/static/player/iconpack/flags/malta.c0ee17186c90.png")}
.ic-flag--mandurah{background-image:url("/static/player/iconpack/flags/mandurah.0ebbde0e4609.png")}
.ic-flag--manifestazionidispettacolo{background-image:url("/static/player/iconpack/flags/manifestazionidispettacolo.e6a82b693f3b.png")}
.ic-flag--marocco{background-image:url("/static/player/iconpack/flags/marocco.d5a847ef17c2.png")}
.ic-flag--marstv{background-image:url("/static/player/iconpack/flags/marstv.29ed8f281bad.png")}
.ic-flag--martinica{background-image:url("/static/player/iconpack/flags/martinica.a1fc23bf336d.png")}
.ic-flag--maschile{background-image:url("/static/player/iconpack/flags/maschile.be97190133df.png")}
.ic-flag--mauritania{background-image:url("/static/player/iconpack/flags/mauritania.58408c0b9d19.png")}
.ic-flag--mauritius{background-image:url("/static/player/iconpack/flags/mauritius.88e22ada207a.png")}
.ic-flag--melilla{background-image:url("/static/player/iconpack/flags/melilla.dbe4541879dd.png")}
.ic-flag--melton{background-image:url("/static/player/iconpack/flags/melton.43788947e1c5.png")}
.ic-flag--menangle(aus){background-image:url("/static/player/iconpack/flags/menangle(aus").png)}
.ic-flag--messico{background-image:url("/static/player/iconpack/flags/messico.28cfdcd7d12f.png")}
.ic-flag--mexico{background-image:url("/static/player/iconpack/flags/mexico.28cfdcd7d12f.png")}
.ic-flag--mexicogp{background-image:url("/static/player/iconpack/flags/mexicogp.28cfdcd7d12f.png")}
.ic-flag--miamigp{background-image:url("/static/player/iconpack/flags/miamigp.55d7d6ca4d88.png")}
.ic-flag--micronesia{background-image:url("/static/player/iconpack/flags/micronesia.43fae92d772a.png")}
.ic-flag--moldova{background-image:url("/static/player/iconpack/flags/moldova.42d7b6ab0407.png")}
.ic-flag--monaco{background-image:url("/static/player/iconpack/flags/monaco.9ecb155089a6.png")}
.ic-flag--monacogp{background-image:url("/static/player/iconpack/flags/monacogp.9ecb155089a6.png")}
.ic-flag--mondialecandidati{background-image:url("/static/player/iconpack/flags/mondialecandidati.01da2f5c1607.png")}
.ic-flag--mondo{background-image:url("/static/player/iconpack/flags/mondo.01da2f5c1607.png")}
.ic-flag--mongolia{background-image:url("/static/player/iconpack/flags/mongolia.ea7b09544d43.png")}
.ic-flag--montenegro{background-image:url("/static/player/iconpack/flags/montenegro.47b080a91020.png")}
.ic-flag--montserrat{background-image:url("/static/player/iconpack/flags/montserrat.ceb1238c20c9.png")}
.ic-flag--moonstudiodota2{background-image:url("/static/player/iconpack/flags/moonstudiodota2.41dba9f010e0.png")}
.ic-flag--moto2{background-image:url("/static/player/iconpack/flags/moto2.539960e1f7cc.png")}
.ic-flag--moto3{background-image:url("/static/player/iconpack/flags/moto3.4b76616455a5.png")}
.ic-flag--motociclismo{background-image:url("/static/player/iconpack/flags/motociclismo.f00aea55f332.png")}
.ic-flag--motogp{background-image:url("/static/player/iconpack/flags/motogp.8bce8a8b1ebe.png")}
.ic-flag--mozambico{background-image:url("/static/player/iconpack/flags/mozambico.82508c7e1447.png")}
.ic-flag--musica{background-image:url("/static/player/iconpack/flags/musica.29f81228330b.png")}
.ic-flag--myanmar{background-image:url("/static/player/iconpack/flags/myanmar.1def7af263ab.png")}
.ic-flag--namibia{background-image:url("/static/player/iconpack/flags/namibia.ddcec82a89ba.png")}
.ic-flag--nascar{background-image:url("/static/player/iconpack/flags/nascar.2e4e2ca24c92.png")}
.ic-flag--nato{background-image:url("/static/player/iconpack/flags/nato.fde4f68425cd.png")}
.ic-flag--nauru{background-image:url("/static/player/iconpack/flags/nauru.4fee64e698b8.png")}
.ic-flag--nazioni-unite{background-image:url("/static/player/iconpack/flags/nazioni-unite.bf9ad6e2f76b.png")}
.ic-flag--nazioniunite{background-image:url("/static/player/iconpack/flags/nazioniunite.b79c5a22eaa4.png")}
.ic-flag--nbaplayoffseriescorrectscore{background-image:url("/static/player/iconpack/flags/nbaplayoffseriescorrectscore.7df1f907bbba.png")}
.ic-flag--nepal{background-image:url("/static/player/iconpack/flags/nepal.6530b9187a3c.png")}
.ic-flag--netherlands{background-image:url("/static/player/iconpack/flags/netherlands.b0765f84a393.png")}
.ic-flag--newzealand{background-image:url("/static/player/iconpack/flags/newzealand.a2ca544d3c25.png")}
.ic-flag--nicaragua{background-image:url("/static/player/iconpack/flags/nicaragua.cf34400c386a.png")}
.ic-flag--niger{background-image:url("/static/player/iconpack/flags/niger.558c784f1241.png")}
.ic-flag--nigeria{background-image:url("/static/player/iconpack/flags/nigeria.844c7404cc17.png")}
.ic-flag--niue{background-image:url("/static/player/iconpack/flags/niue.c357ee696211.png")}
.ic-flag--nordcorea{background-image:url("/static/player/iconpack/flags/nordcorea.4c007ee1c706.png")}
.ic-flag--northern-cyprus{background-image:url("/static/player/iconpack/flags/northern-cyprus.b30c1e5c9a24.png")}
.ic-flag--northern-marianas-islands{background-image:url("/static/player/iconpack/flags/northern-marianas-islands.82140c5fdf84.png")}
.ic-flag--norvegia{background-image:url("/static/player/iconpack/flags/norvegia.0c981d1b17ca.png")}
.ic-flag--novelty{background-image:url("/static/player/iconpack/flags/novelty.9d8b96a35077.png")}
.ic-flag--nuova-zelanda{background-image:url("/static/player/iconpack/flags/nuova-zelanda.74e23dde30dd.png")}
.ic-flag--nuovazelanda{background-image:url("/static/player/iconpack/flags/nuovazelanda.a2ca544d3c25.png")}
.ic-flag--oddsandmorefantasy{background-image:url("/static/player/iconpack/flags/oddsandmorefantasy.a676596f67c3.png")}
.ic-flag--olanda{background-image:url("/static/player/iconpack/flags/olanda.b0765f84a393.png")}
.ic-flag--oman{background-image:url("/static/player/iconpack/flags/oman.db5a129ddaf8.png")}
.ic-flag--ossetia{background-image:url("/static/player/iconpack/flags/ossetia.1b8c596ce505.png")}
.ic-flag--other{background-image:url("/static/player/iconpack/flags/other.e458ec9905e4.png")}
.ic-flag--paesibassi{background-image:url("/static/player/iconpack/flags/paesibassi.b0765f84a393.png")}
.ic-flag--pakenham{background-image:url("/static/player/iconpack/flags/pakenham.43788947e1c5.png")}
.ic-flag--pakistan{background-image:url("/static/player/iconpack/flags/pakistan.48ee0d0f59e6.png")}
.ic-flag--palau{background-image:url("/static/player/iconpack/flags/palau.7d2b6dd9668c.png")}
.ic-flag--palestiae{background-image:url("/static/player/iconpack/flags/palestiae.263586080148.png")}
.ic-flag--palestina{background-image:url("/static/player/iconpack/flags/palestina.297e2ebb9596.png")}
.ic-flag--palestine{background-image:url("/static/player/iconpack/flags/palestine.297e2ebb9596.png")}
.ic-flag--pallonedoro{background-image:url("/static/player/iconpack/flags/pallonedoro.c83c3c44ad82.png")}
.ic-flag--panama{background-image:url("/static/player/iconpack/flags/panama.edd6b0e42295.png")}
.ic-flag--papua-nuova-guinea{background-image:url("/static/player/iconpack/flags/papua-nuova-guinea.c2af93249f0c.png")}
.ic-flag--papuanuovaguinea{background-image:url("/static/player/iconpack/flags/papuanuovaguinea.e4651da4d651.png")}
.ic-flag--paraguay{background-image:url("/static/player/iconpack/flags/paraguay.32bd19d17a3e.png")}
.ic-flag--peru{background-image:url("/static/player/iconpack/flags/peru.a2f9d608b65c.png")}
.ic-flag--perù{background-image:url("/static/player/iconpack/flags/perù.a2f9d608b65c.png")}
.ic-flag--philippines{background-image:url("/static/player/iconpack/flags/philippines.33531695cbf4.png")}
.ic-flag--pinjarra{background-image:url("/static/player/iconpack/flags/pinjarra.3909a47e0489.png")}
.ic-flag--polinesia-francese{background-image:url("/static/player/iconpack/flags/polinesia-francese.df03d5b49053.png")}
.ic-flag--politica{background-image:url("/static/player/iconpack/flags/politica.4ca41e4fbc6e.png")}
.ic-flag--polonia{background-image:url("/static/player/iconpack/flags/polonia.374c11f334ad.png")}
.ic-flag--portimaogp{background-image:url("/static/player/iconpack/flags/portimaogp.ed780373bd97.png")}
.ic-flag--porto-rico{background-image:url("/static/player/iconpack/flags/porto-rico.9c7dedc5a4b3.png")}
.ic-flag--portogallo{background-image:url("/static/player/iconpack/flags/portogallo.1787430007b7.png")}
.ic-flag--portorico{background-image:url("/static/player/iconpack/flags/portorico.f60d1539b2e7.png")}
.ic-flag--portugal{background-image:url("/static/player/iconpack/flags/portugal.1787430007b7.png")}
.ic-flag--portugalgp{background-image:url("/static/player/iconpack/flags/portugalgp.1787430007b7.png")}
.ic-flag--qatar{background-image:url("/static/player/iconpack/flags/qatar.6620c3bffd3e.png")}
.ic-flag--qatargp{background-image:url("/static/player/iconpack/flags/qatargp.6620c3bffd3e.png")}
.ic-flag--rapa-nui{background-image:url("/static/player/iconpack/flags/rapa-nui.f4b479dbbad6.png")}
.ic-flag--redcliffe{background-image:url("/static/player/iconpack/flags/redcliffe.a8a1b0eb5336.png")}
.ic-flag--redstarcupdota2{background-image:url("/static/player/iconpack/flags/redstarcupdota2.284b8109023b.png")}
.ic-flag--regno-unito{background-image:url("/static/player/iconpack/flags/regno-unito.3ce5b23a03c3.png")}
.ic-flag--regnounito{background-image:url("/static/player/iconpack/flags/regnounito.4fe142a782c0.png")}
.ic-flag--repubblica-cemocratica-del-congo{background-image:url("/static/player/iconpack/flags/repubblica-cemocratica-del-congo.4a0c67dd9f0a.png")}
.ic-flag--repubblicaceca{background-image:url("/static/player/iconpack/flags/repubblicaceca.e9a6390adc51.png")}
.ic-flag--repubblicad'irlanda{background-image:url("/static/player/iconpack/flags/repubblicad'irlanda.f58370cf796e.png")}
.ic-flag--repubblicadicorea{background-image:url("/static/player/iconpack/flags/repubblicadicorea.61b6acbe89c7.png")}
.ic-flag--repubblicadomenicana{background-image:url("/static/player/iconpack/flags/repubblicadomenicana.3e9b1f79c730.png")}
.ic-flag--repubblicadominicana{background-image:url("/static/player/iconpack/flags/repubblicadominicana.eeda734eab62.png")}
.ic-flag--repubblicaunitadellatanzania{background-image:url("/static/player/iconpack/flags/repubblicaunitadellatanzania.1a981a0f73bb.png")}
.ic-flag--republic-of-macedonia{background-image:url("/static/player/iconpack/flags/republic-of-macedonia.dccaa4f93290.png")}
.ic-flag--republic-of-the-congo{background-image:url("/static/player/iconpack/flags/republic-of-the-congo.d006fbc75947.png")}
.ic-flag--richmond{background-image:url("/static/player/iconpack/flags/richmond.95a4003d57d9.png")}
.ic-flag--riot{background-image:url("/static/player/iconpack/flags/riot.5f2bf05b22cf.png")}
.ic-flag--rizinff{background-image:url("/static/player/iconpack/flags/rizinff.9e13e85a97a5.png")}
.ic-flag--romania{background-image:url("/static/player/iconpack/flags/romania.83f1796b71f3.png")}
.ic-flag--rosehill{background-image:url("/static/player/iconpack/flags/rosehill.36947fb272d1.png")}
.ic-flag--ruanda{background-image:url("/static/player/iconpack/flags/ruanda.a9f1775aea02.png")}
.ic-flag--rugbya15{background-image:url("/static/player/iconpack/flags/rugbya15.3318e50c753d.png")}
.ic-flag--rugbya7{background-image:url("/static/player/iconpack/flags/rugbya7.3318e50c753d.png")}
.ic-flag--rugbyleague{background-image:url("/static/player/iconpack/flags/rugbyleague.52711bd04abc.png")}
.ic-flag--rugbyunion{background-image:url("/static/player/iconpack/flags/rugbyunion.7266ad3199a3.png")}
.ic-flag--rugbyunionsevens{background-image:url("/static/player/iconpack/flags/rugbyunionsevens.7266ad3199a3.png")}
.ic-flag--russia{background-image:url("/static/player/iconpack/flags/russia.b87e7ee13a9e.png")}
.ic-flag--rwanda{background-image:url("/static/player/iconpack/flags/rwanda.a9f1775aea02.png")}
.ic-flag--saba-island{background-image:url("/static/player/iconpack/flags/saba-island.2635f7b078d1.png")}
.ic-flag--sahrawi-arab-democratic-republic{background-image:url("/static/player/iconpack/flags/sahrawi-arab-democratic-republic.db3286ec4288.png")}
.ic-flag--saint-kitts-and-nevis{background-image:url("/static/player/iconpack/flags/saint-kitts-and-nevis.acd4aa58dbf8.png")}
.ic-flag--saintkittsenevis{background-image:url("/static/player/iconpack/flags/saintkittsenevis.68323f237959.png")}
.ic-flag--sale{background-image:url("/static/player/iconpack/flags/sale.43788947e1c5.png")}
.ic-flag--saltoconglisci{background-image:url("/static/player/iconpack/flags/saltoconglisci.2e2f42d95fb4.png")}
.ic-flag--samoa{background-image:url("/static/player/iconpack/flags/samoa.e4e8d1e6916c.png")}
.ic-flag--samoaamericane{background-image:url("/static/player/iconpack/flags/samoaamericane.96ca442d31c2.png")}
.ic-flag--san-marino{background-image:url("/static/player/iconpack/flags/san-marino.374eecf4212b.png")}
.ic-flag--sandown{background-image:url("/static/player/iconpack/flags/sandown.43788947e1c5.png")}
.ic-flag--sanmarino{background-image:url("/static/player/iconpack/flags/sanmarino.2d2c3c002ba0.png")}
.ic-flag--sanmarinogp{background-image:url("/static/player/iconpack/flags/sanmarinogp.2d2c3c002ba0.png")}
.ic-flag--sanmarinogp-{background-image:url("/static/player/iconpack/flags/sanmarinogp-.374eecf4212b.png")}
.ic-flag--sao-tome-e-principe{background-image:url("/static/player/iconpack/flags/sao-tome-e-principe.ff4586b62ef7.png")}
.ic-flag--saopaulogp{background-image:url("/static/player/iconpack/flags/saopaulogp.4ef2c23c1315.png")}
.ic-flag--saotomeprincipe{background-image:url("/static/player/iconpack/flags/saotomeprincipe.2d4e30c10d0c.png")}
.ic-flag--sardenia{background-image:url("/static/player/iconpack/flags/sardenia.760f420b70ab.png")}
.ic-flag--sardinia{background-image:url("/static/player/iconpack/flags/sardinia.f12d08f6f856.png")}
.ic-flag--saudiarabia{background-image:url("/static/player/iconpack/flags/saudiarabia.8e91668f9dfd.png")}
.ic-flag--sbk{background-image:url("/static/player/iconpack/flags/sbk.b87b4e4c74c7.png")}
.ic-flag--sbl{background-image:url("/static/player/iconpack/flags/sbl.ce4868fd1fc8.png")}
.ic-flag--scozia{background-image:url("/static/player/iconpack/flags/scozia.6347ff7c9a4f.png")}
.ic-flag--sectordota2{background-image:url("/static/player/iconpack/flags/sectordota2.c40b61b1a571.png")}
.ic-flag--senegal{background-image:url("/static/player/iconpack/flags/senegal.99753acb0212.png")}
.ic-flag--serbia{background-image:url("/static/player/iconpack/flags/serbia.50d760ec99cf.png")}
.ic-flag--seychelles{background-image:url("/static/player/iconpack/flags/seychelles.1be1c6830e46.png")}
.ic-flag--shepparton{background-image:url("/static/player/iconpack/flags/shepparton.bb9aff1b0ebe.png")}
.ic-flag--sicilia{background-image:url("/static/player/iconpack/flags/sicilia.3232ebed86fe.png")}
.ic-flag--siclia{background-image:url("/static/player/iconpack/flags/siclia.abccf76fa2db.png")}
.ic-flag--sierra-leone{background-image:url("/static/player/iconpack/flags/sierra-leone.4e7cfb9c605d.png")}
.ic-flag--sierraleone{background-image:url("/static/player/iconpack/flags/sierraleone.cbff90872bdd.png")}
.ic-flag--sigul{background-image:url("/static/player/iconpack/flags/sigul.3415e5c13fa6.png")}
.ic-flag--simulatedreality{background-image:url("/static/player/iconpack/flags/simulatedreality.51b9e4215b9d.png")}
.ic-flag--simulatedrealityleague{background-image:url("/static/player/iconpack/flags/simulatedrealityleague.51b9e4215b9d.png")}
.ic-flag--simulatedrealitywomen{background-image:url("/static/player/iconpack/flags/simulatedrealitywomen.51b9e4215b9d.png")}
.ic-flag--singapore{background-image:url("/static/player/iconpack/flags/singapore.5b78cc74c2e1.png")}
.ic-flag--singaporegp{background-image:url("/static/player/iconpack/flags/singaporegp.5b78cc74c2e1.png")}
.ic-flag--sint-eustatius{background-image:url("/static/player/iconpack/flags/sint-eustatius.4ca66b78f1fe.png")}
.ic-flag--sint-maarten{background-image:url("/static/player/iconpack/flags/sint-maarten.81d8880c37a4.png")}
.ic-flag--siria{background-image:url("/static/player/iconpack/flags/siria.d5077c8e1849.png")}
.ic-flag--slovacchia{background-image:url("/static/player/iconpack/flags/slovacchia.a5548baa6276.png")}
.ic-flag--slovenia{background-image:url("/static/player/iconpack/flags/slovenia.8544a1475223.png")}
.ic-flag--soccer{background-image:url("/static/player/iconpack/flags/soccer.37a6257755bc.png")}
.ic-flag--solvalla{background-image:url("/static/player/iconpack/flags/solvalla.034f80d796e6.png")}
.ic-flag--somalia{background-image:url("/static/player/iconpack/flags/somalia.57446ce90316.png")}
.ic-flag--somaliland{background-image:url("/static/player/iconpack/flags/somaliland.fdb9fa7b61f9.png")}
.ic-flag--south-sudan{background-image:url("/static/player/iconpack/flags/south-sudan.3f6955367680.png")}
.ic-flag--southkorea{background-image:url("/static/player/iconpack/flags/southkorea.61b6acbe89c7.png")}
.ic-flag--spagna{background-image:url("/static/player/iconpack/flags/spagna.860fa687d4d0.png")}
.ic-flag--spagnaamateure{background-image:url("/static/player/iconpack/flags/spagnaamateure.860fa687d4d0.png")}
.ic-flag--spagnaamatori{background-image:url("/static/player/iconpack/flags/spagnaamatori.860fa687d4d0.png")}
.ic-flag--spain{background-image:url("/static/player/iconpack/flags/spain.860fa687d4d0.png")}
.ic-flag--spaingp{background-image:url("/static/player/iconpack/flags/spaingp.860fa687d4d0.png")}
.ic-flag--spanishgp{background-image:url("/static/player/iconpack/flags/spanishgp.860fa687d4d0.png")}
.ic-flag--specialbets{background-image:url("/static/player/iconpack/flags/specialbets.adaf12b9c6d4.png")}
.ic-flag--specialesquadra{background-image:url("/static/player/iconpack/flags/specialesquadra.6538330f38cc.png")}
.ic-flag--specialicampionati{background-image:url("/static/player/iconpack/flags/specialicampionati.4f37e14c2f82.png")}
.ic-flag--specialinazionali{background-image:url("/static/player/iconpack/flags/specialinazionali.01da2f5c1607.png")}
.ic-flag--specialplayers{background-image:url("/static/player/iconpack/flags/specialplayers.6538330f38cc.png")}
.ic-flag--sport{background-image:url("/static/player/iconpack/flags/sport.a28ad67d658a.png")}
.ic-flag--sports{background-image:url("/static/player/iconpack/flags/sports.3615543ba6ea.png")}
.ic-flag--sportsasia{background-image:url("/static/player/iconpack/flags/sportsasia.3615543ba6ea.png")}
.ic-flag--squadreinternazionali{background-image:url("/static/player/iconpack/flags/squadreinternazionali.01da2f5c1607.png")}
.ic-flag--sri-lanka{background-image:url("/static/player/iconpack/flags/sri-lanka.8dd08e217b52.png")}
.ic-flag--srilanka{background-image:url("/static/player/iconpack/flags/srilanka.b04b08aa31a3.png")}
.ic-flag--st-barts{background-image:url("/static/player/iconpack/flags/st-barts.37ec57c506fc.png")}
.ic-flag--st-lucia{background-image:url("/static/player/iconpack/flags/st-lucia.3644f9eab756.png")}
.ic-flag--st-vincent-and-the-grenadines{background-image:url("/static/player/iconpack/flags/st-vincent-and-the-grenadines.91b1d97a6798.png")}
.ic-flag--statiuniti{background-image:url("/static/player/iconpack/flags/statiuniti.bf05320a1216.png")}
.ic-flag--sudafrica{background-image:url("/static/player/iconpack/flags/sudafrica.e019be8c1c4f.png")}
.ic-flag--sudamerica{background-image:url("/static/player/iconpack/flags/sudamerica.f7f92d531b28.png")}
.ic-flag--sudan{background-image:url("/static/player/iconpack/flags/sudan.7d38a1ddd881.png")}
.ic-flag--sug{background-image:url("/static/player/iconpack/flags/sug.d0fe2e921be1.png")}
.ic-flag--supercars{background-image:url("/static/player/iconpack/flags/supercars.f2c68ed8f10c.png")}
.ic-flag--suriname{background-image:url("/static/player/iconpack/flags/suriname.e0cbd4d1abf2.png")}
.ic-flag--svenskaelitcsgo{background-image:url("/static/player/iconpack/flags/svenskaelitcsgo.9cc94c851a88.png")}
.ic-flag--svezia{background-image:url("/static/player/iconpack/flags/svezia.a1d3d42fe407.png")}
.ic-flag--sveziaamatori{background-image:url("/static/player/iconpack/flags/sveziaamatori.a1d3d42fe407.png")}
.ic-flag--svizzera{background-image:url("/static/player/iconpack/flags/svizzera.88b1f33cffa2.png")}
.ic-flag--swaziland{background-image:url("/static/player/iconpack/flags/swaziland.935846e6b1e5.png")}
.ic-flag--sweden{background-image:url("/static/player/iconpack/flags/sweden.a1d3d42fe407.png")}
.ic-flag--tagikistan{background-image:url("/static/player/iconpack/flags/tagikistan.a3e7c92b7795.png")}
.ic-flag--taipeicinese{background-image:url("/static/player/iconpack/flags/taipeicinese.a3f13181c8f3.png")}
.ic-flag--taiwan{background-image:url("/static/player/iconpack/flags/taiwan.a3f13181c8f3.png")}
.ic-flag--tajikistan{background-image:url("/static/player/iconpack/flags/tajikistan.a3e7c92b7795.png")}
.ic-flag--tanzania{background-image:url("/static/player/iconpack/flags/tanzania.1a981a0f73bb.png")}
.ic-flag--temperatureitalia{background-image:url("/static/player/iconpack/flags/temperatureitalia.939492ed768e.png")}
.ic-flag--tencent{background-image:url("/static/player/iconpack/flags/tencent.af9915230761.png")}
.ic-flag--thailandgp{background-image:url("/static/player/iconpack/flags/thailandgp.9588ff41af56.png")}
.ic-flag--thailandia{background-image:url("/static/player/iconpack/flags/thailandia.9588ff41af56.png")}
.ic-flag--thegardens{background-image:url("/static/player/iconpack/flags/thegardens.95a4003d57d9.png")}
.ic-flag--tibet{background-image:url("/static/player/iconpack/flags/tibet.f0aa2d5933d1.png")}
.ic-flag--time{background-image:url("/static/player/iconpack/flags/time.444e6b263cd4.png")}
.ic-flag--timor-est{background-image:url("/static/player/iconpack/flags/timor-est.0eb46f8492c5.png")}
.ic-flag--timorest{background-image:url("/static/player/iconpack/flags/timorest.9e1f075ede36.png")}
.ic-flag--togo{background-image:url("/static/player/iconpack/flags/togo.d99a13ab85ef.png")}
.ic-flag--tokelau{background-image:url("/static/player/iconpack/flags/tokelau.8a20ef0b572b.png")}
.ic-flag--tonga{background-image:url("/static/player/iconpack/flags/tonga.790a8f921dad.png")}
.ic-flag--torneodeiquattrotrampolini{background-image:url("/static/player/iconpack/flags/torneodeiquattrotrampolini.53d4ea33e2b0.png")}
.ic-flag--transnistria{background-image:url("/static/player/iconpack/flags/transnistria.68841b210db3.png")}
.ic-flag--trinidad-e-tobago{background-image:url("/static/player/iconpack/flags/trinidad-e-tobago.c49e9e4f24fb.png")}
.ic-flag--trinidadetobago{background-image:url("/static/player/iconpack/flags/trinidadetobago.0a7cca8f8bcb.png")}
.ic-flag--tunisia{background-image:url("/static/player/iconpack/flags/tunisia.774ae6d7bfdd.png")}
.ic-flag--turchia{background-image:url("/static/player/iconpack/flags/turchia.dc5b608dfafb.png")}
.ic-flag--turchiaamatori{background-image:url("/static/player/iconpack/flags/turchiaamatori.dc5b608dfafb.png")}
.ic-flag--turchiaamatoriale{background-image:url("/static/player/iconpack/flags/turchiaamatoriale.dc5b608dfafb.png")}
.ic-flag--turkey{background-image:url("/static/player/iconpack/flags/turkey.dc5b608dfafb.png")}
.ic-flag--turkeytbsl{background-image:url("/static/player/iconpack/flags/turkeytbsl.49bfeb5ac5a9.png")}
.ic-flag--turkiye{background-image:url("/static/player/iconpack/flags/turkiye.dc5b608dfafb.png")}
.ic-flag--turkmenistan{background-image:url("/static/player/iconpack/flags/turkmenistan.d5a3afe0c9bb.png")}
.ic-flag--turks-and-caicos{background-image:url("/static/player/iconpack/flags/turks-and-caicos.37bafbc4a6bb.png")}
.ic-flag--tuvalu{background-image:url("/static/player/iconpack/flags/tuvalu.b74aee2c486f.png")}
.ic-flag--tuvalu-1{background-image:url("/static/player/iconpack/flags/tuvalu-1.22099aa18be5.png")}
.ic-flag--tvevents{background-image:url("/static/player/iconpack/flags/tvevents.d6b47c958d2c.png")}
.ic-flag--ucccsgo{background-image:url("/static/player/iconpack/flags/ucccsgo.03172bc994c7.png")}
.ic-flag--uccdota2{background-image:url("/static/player/iconpack/flags/uccdota2.80057973293a.png")}
.ic-flag--ucraina{background-image:url("/static/player/iconpack/flags/ucraina.ce5e70765e14.png")}
.ic-flag--ufc{background-image:url("/static/player/iconpack/flags/ufc.f9806515ed8f.png")}
.ic-flag--uganda{background-image:url("/static/player/iconpack/flags/uganda.46e039a32e9e.png")}
.ic-flag--ungheria{background-image:url("/static/player/iconpack/flags/ungheria.3afacd0c1089.png")}
.ic-flag--unione-europea{background-image:url("/static/player/iconpack/flags/unione-europea.223cbecbb55d.png")}
.ic-flag--unioneeuropea{background-image:url("/static/player/iconpack/flags/unioneeuropea.9638ee613eb2.png")}
.ic-flag--unionerugby{background-image:url("/static/player/iconpack/flags/unionerugby.6c042a3ddbcf.png")}
.ic-flag--unitedarabemirates{background-image:url("/static/player/iconpack/flags/unitedarabemirates.3649e9465f32.png")}
.ic-flag--unitedstatesgp{background-image:url("/static/player/iconpack/flags/unitedstatesgp.55d7d6ca4d88.png")}
.ic-flag--uruguay{background-image:url("/static/player/iconpack/flags/uruguay.a6963e44d480.png")}
.ic-flag--usa{background-image:url("/static/player/iconpack/flags/usa.bf05320a1216.png")}
.ic-flag--usagp{background-image:url("/static/player/iconpack/flags/usagp.bf05320a1216.png")}
.ic-flag--utrmen{background-image:url("/static/player/iconpack/flags/utrmen.7318e1e2b88d.png")}
.ic-flag--utrwomen{background-image:url("/static/player/iconpack/flags/utrwomen.7318e1e2b88d.png")}
.ic-flag--uzbekistan{background-image:url("/static/player/iconpack/flags/uzbekistan.08497f5031e1.png")}
.ic-flag--vanuatu{background-image:url("/static/player/iconpack/flags/vanuatu.da37e2ab105b.png")}
.ic-flag--variousleague{background-image:url("/static/player/iconpack/flags/variousleague.bf42240bcfc9.png")}
.ic-flag--vatican-city{background-image:url("/static/player/iconpack/flags/vatican-city.ae966e99436b.png")}
.ic-flag--venezuela{background-image:url("/static/player/iconpack/flags/venezuela.47003326f18c.png")}
.ic-flag--vietnam{background-image:url("/static/player/iconpack/flags/vietnam.6ce6706d7823.png")}
.ic-flag--visionesports{background-image:url("/static/player/iconpack/flags/visionesports.37f6ca8ba756.png")}
.ic-flag--wagga{background-image:url("/static/player/iconpack/flags/wagga.292abcebb73b.png")}
.ic-flag--warnambool{background-image:url("/static/player/iconpack/flags/warnambool.5162a661048d.png")}
.ic-flag--warragul{background-image:url("/static/player/iconpack/flags/warragul.95a4003d57d9.png")}
.ic-flag--weplay{background-image:url("/static/player/iconpack/flags/weplay.4851bd7439ab.png")}
.ic-flag--westindies{background-image:url("/static/player/iconpack/flags/westindies.225100fcb836.png")}
.ic-flag--wsof{background-image:url("/static/player/iconpack/flags/wsof.063cddf1e8fc.png")}
.ic-flag--wta{background-image:url("/static/player/iconpack/flags/wta.eaa2d1cd1655.png")}
.ic-flag--wta125k{background-image:url("/static/player/iconpack/flags/wta125k.eaa2d1cd1655.png")}
.ic-flag--yemen{background-image:url("/static/player/iconpack/flags/yemen.54df88d85a89.png")}
.ic-flag--zambia{background-image:url("/static/player/iconpack/flags/zambia.ea0609554690.png")}
.ic-flag--zanzibar{background-image:url("/static/player/iconpack/flags/zanzibar.7f39f492a373.png")}
.ic-flag--zimbabwe{background-image:url("/static/player/iconpack/flags/zimbabwe.bbed3e97df41.png")}
/* ---- PROVIDER casinò ---- */
.ic-prov--dark{background-image:url("/static/player/iconpack/provider/providers-dark-.c9a8dcfb4db0.png")}
.ic-prov--dark{background-image:url("/static/player/iconpack/provider/providers-dark.b1c6d3bac22f.png")}
.ic-prov--light{background-image:url("/static/player/iconpack/provider/providers-light-.dbaf84603361.png")}
.ic-prov--light{background-image:url("/static/player/iconpack/provider/providers-light.ca38db9a318f.png")}

/* player/loader.css */
/* ============================================================================
   LOADER col LOGO della skin in trasparenza (richiesta Dav/Angelo, urgente test).
   Overlay dei caricamenti parziali: mostra il logo della skin corrente in filigrana
   con un pulse discreto. Tema-agnostico: fondo = token della skin. CSS via <link>.
   Il LOGO per-skin arriva dal branding (`logoUrl`) → messo come var --tb-logo dal
   markup/JS di B/M; se manca, fallback al wordmark testuale (`brand`) o allo spinner.
   Design D, 22-07-2026.
   ========================================================================== */

.tb-loader{
  position:absolute;inset:0;z-index:40;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  background:var(--tb-loader-bg, var(--navy-0, #052033));   /* il fondo della skin */
  color:var(--tb-loader-ink, var(--mute, #9fbdd2));
}
/* overlay a schermo: quando copre l'app/pagina intera invece della sola colonna.
   z-index alto: al PRIMO caricamento deve coprire TUTTO (header, menu, contenuto) —
   così si vede prima il loader e il sito appare solo a pronto (Dav 23/07). Il markup
   iniziale (`<div class="tb-loader is-fixed">` subito dentro <body>) + la rimozione al
   `load`/pronto li mette B nella shell; qui il velo che copre. */
.tb-loader.is-fixed{position:fixed;z-index:99999}
/* si dissolve quando B/M lo tolgono: aggiungi .is-hiding e rimuovi a transizione finita */
.tb-loader{transition:opacity .25s ease}
.tb-loader.is-hiding{opacity:0;pointer-events:none}

/* IL LOGO in trasparenza. B/M passano l'immagine con:
     style="--tb-logo:url("/static/player/<logoUrl della skin>")"
   Se --tb-logo non è impostata, resta il fallback (wordmark) qui sotto. */
.tb-loader__logo{
  width:min(46%, 180px);aspect-ratio:2/1;max-height:96px;
  background:var(--tb-logo) center/contain no-repeat;
  opacity:.14;                         /* filigrana */
  animation:tb-logo-pulse 1.8s ease-in-out infinite;
}
@keyframes tb-logo-pulse{
  0%,100%{opacity:.10;transform:scale(.985)}
  50%    {opacity:.22;transform:scale(1)}
}

/* fallback WORDMARK quando la skin non ha logoUrl: mettere .no-logo sul .tb-loader
   e il testo del brand dentro .tb-loader__word (lo riempie B col `brand`). */
.tb-loader.no-logo .tb-loader__logo{display:none}
.tb-loader__word{
  display:none;font:800 26px/1 system-ui;letter-spacing:.03em;
  color:var(--tb-loader-ink, #9fbdd2);opacity:.16;
  animation:tb-logo-pulse 1.8s ease-in-out infinite;
}
.tb-loader.no-logo .tb-loader__word{display:block}

/* piccolo indicatore di attività sotto il logo (arco che gira, accento della skin) */
.tb-loader__spin{
  width:26px;height:26px;border-radius:50%;
  border:2.5px solid var(--tb-loader-line, rgba(255,255,255,.12));
  border-top-color:var(--tb-loader-accent, var(--or, #F5B301));
  animation:tb-spin .8s linear infinite;
}
@keyframes tb-spin{to{transform:rotate(360deg)}}

.tb-loader__msg{font-size:12px;opacity:.7}

@media (prefers-reduced-motion:reduce){
  .tb-loader__logo,.tb-loader__word,.tb-loader__spin{animation:none}
  .tb-loader__logo{opacity:.16}
}

/* player/prematch.css */
/* ============================================================================
   PREMATCH — restyle «look di Dav» (v0.0.1) sulla nostra lista
   Scelta operatore (22/07): l'ASPETTO di Dav (heading sport/lega, celle quota pulite,
   riga squadre+bandiere+«+N») SOPRA la nostra lista già viva raggruppata per lega —
   NIENTE checkbox-leghe (domanda ancora aperta a Dav) né menu «Today +» (spec a parte).

   Rif. `A32_prematch_2` + `dav-prematch/prematch/css/styles.css` (`.qt-box`/`.qt-btn`).
   Tutto scoped a `.lc--pm` (solo momento=prematch): la LIVE non si tocca. CSS in file,
   servito dal middleware dopo lo style del tema (regola Dav). Design D, 22-07-2026.
   ========================================================================== */

/* ── heading di lega: più netto, come le testate del design di Dav ─────────── */
/* NB: overflow VISIBILE (era hidden): l'hidden ritagliava i tooltip delle
   intestazioni mercato che sporgono dalla card (segnalazione Angelo). Gli angoli
   si arrotondano dall'header in cima; le righe sotto sono trasparenti e non
   sbordano dai bordi tondi. */
.lc.lc--pm .lc-group{margin-bottom:10px;border:1px solid rgba(28,66,103,.10);
  border-radius:10px;overflow:visible;background:#fff;box-shadow:0 1px 3px rgba(18,40,66,.06)}
.lc.lc--pm .lc-group-h{background:linear-gradient(180deg,#f4f8fc,#eaf1f8);
  border-bottom:1px solid rgba(28,66,103,.12);border-radius:10px 10px 0 0}
.lc.lc--pm .lc-group-name{font-weight:800;color:#12314f;letter-spacing:.01em}
.lc.lc--pm .lc-group-name .item-img{filter:saturate(1.05)}
/* le etichette colonna (1 · X · 2 / Over · Under) in maiuscoletto tenue come nel design */
.lc.lc--pm .lc-cols span{font-size:.72em;letter-spacing:.03em;color:#5b7793;font-weight:700}
/* i tooltip delle intestazioni mercato di BORDO non escano dallo schermo:
   la prima colonna àncora la bolla a sinistra, l'ultima a destra (freccia al centro).
   Riusa le regole align di tooltip.css senza dover mettere l'attributo nel markup. */
.lc.lc--pm .lc-cols [data-tb-tip]:first-of-type::after{left:0;right:auto;transform:translate(0,4px)}
.lc.lc--pm .lc-cols [data-tb-tip]:last-of-type::after{left:auto;right:0;transform:translate(0,4px)}
.lc.lc--pm .lc-cols [data-tb-tip]:first-of-type:hover::after,
.lc.lc--pm .lc-cols [data-tb-tip]:first-of-type:focus-visible::after,
.lc.lc--pm .lc-cols [data-tb-tip]:last-of-type:hover::after,
.lc.lc--pm .lc-cols [data-tb-tip]:last-of-type:focus-visible::after{transform:translate(0,0)}

/* ── celle quota: valori di Dav (min-width ~80, angoli 6, bold navy su azzurro) ── */
.lc.lc--pm .lc-q{min-height:38px;border-radius:6px;background:#eef3f9;
  color:#12314f;font-weight:800;font-size:13px;
  box-shadow:inset 0 0 0 1px rgba(28,66,103,.06)}
.lc.lc--pm .lc-q:hover{background:#e0e9f4}
/* la selezione: SFONDO ORO pieno (Dav 23/07: la cella selezionata è evidenziata) */
.lc.lc--pm .lc-q.qt-btn--active{background:var(--tb-quota-sel);color:var(--tb-quota-sel-ink);
  box-shadow:inset 0 0 0 1px var(--tb-quota-sel-line)}
.lc.lc--pm .lc-odds{gap:7px;padding:9px 6px}

/* ── riga evento: un filo più d'aria, come nel riferimento ─────────────────── */
.lc.lc--pm .lc-ev{padding-top:2px;padding-bottom:2px}
.lc.lc--pm .lc-team-name{font-weight:700;color:#17324d}
.lc.lc--pm .lc-extra{color:#5b7793}

/* ── «+N» altri mercati: pill col chevron, come il «+220» di Dav ──────────── */
.lc.lc--pm .lc-plus{display:inline-flex;align-items:center;gap:3px;
  padding:3px 9px;border-radius:999px;background:#eef3f9;color:#1a5da6;
  font-weight:800;font-size:.82em;text-decoration:none;
  box-shadow:inset 0 0 0 1px rgba(28,66,103,.08)}
.lc.lc--pm .lc-plus:hover{background:#e0e9f4;color:#12456f}

/* ── la barra di ricerca evento sopra la lista, coerente col fondo chiaro ──── */
.lc--pm ~ * .tb-evsearch--in,
.tb-evsearch--in{border-radius:8px}

@media (max-width:680px){
  .lc.lc--pm .lc-group{border-radius:8px}
  .lc.lc--pm .lc-q{min-height:34px}
}

/* ════════════════════════════════════════════════════════════════════════════
   PREMATCH — menu «Oggi +» (spec Dav 21/07 15:36): filtro FINESTRA TEMPORALE in
   alto a DESTRA della lista prematch. Design D, 22/07.
   COSA FA D (qui): il controllo + la tendina delle opzioni, nel look chiaro del
   prematch (bianco/navy, oro sull'attivo come le celle quota).
   COSA FA B (wiring): apre/chiude la tendina (classe `.is-open` sul `.pm-today`),
   al click di un'opzione aggiorna l'etichetta e FILTRA gli eventi per orario di
   inizio (`starts_at`) nella finestra scelta (`data-tb-win`: all/today/1h/3h/6h/
   tomorrow, o una data da `data-tb-win-date`). Nessun handler nel CSS: solo classi.
   Markup pronto in `design_reference/prematch_today/markup.html`.
   ──────────────────────────────────────────────────────────────────────────── */

/* la toolbar (barra ricerca) diventa una riga: ricerca a sinistra, «Oggi +» a destra */
.tb-evsearch:has(.pm-today){display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tb-evsearch:has(.pm-today) .tb-evsearch--in{flex:1 1 180px;min-width:0}
.tb-evsearch:has(.pm-today) .tb-evsearch--none{flex:1 0 100%}

.pm-today{position:relative;display:inline-flex;flex:0 0 auto}
.pm-today-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 10px;
  border-radius:8px;border:1px solid rgba(28,66,103,.14);background:#fff;color:#12314f;
  font-weight:800;font-size:13px;cursor:pointer;box-shadow:0 1px 2px rgba(18,40,66,.06);
  transition:background .12s,border-color .12s}
.pm-today-btn:hover{background:#f4f8fc;border-color:rgba(28,66,103,.24)}
.pm-today-cal{font-size:14px;line-height:1}
.pm-today-lbl{white-space:nowrap}
/* il «+»: tondo azzurro; a menu aperto ruota in «×» */
.pm-today-plus{display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:50%;background:#eef3f9;color:#1a5da6;
  font-weight:900;font-size:13px;line-height:1;transition:transform .18s}
.pm-today.is-open .pm-today-plus{transform:rotate(45deg)}

/* la tendina */
.pm-today-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:214px;
  background:#fff;border:1px solid rgba(28,66,103,.14);border-radius:10px;
  box-shadow:0 14px 34px rgba(18,40,66,.20);padding:6px}
.pm-today-menu[hidden]{display:none}
.pm-today-grp{font-size:11px;font-weight:800;color:#5b7793;text-transform:uppercase;
  letter-spacing:.04em;padding:6px 8px 4px}
.pm-today-opt{display:flex;align-items:center;width:100%;gap:8px;padding:8px;border:0;
  background:none;border-radius:7px;color:#17324d;font-weight:700;font-size:13px;
  text-align:left;cursor:pointer}
.pm-today-opt:hover{background:#f4f8fc}
/* check a destra sempre presente (trasparente) → l'allineamento non salta */
.pm-today-opt::after{content:"✓";margin-left:auto;font-weight:900;color:#f5a623;opacity:0}
.pm-today-opt.is-sel{background:#fff7e9;color:#b3651e;box-shadow:inset 0 0 0 1px #f5a623}
.pm-today-opt.is-sel::after{opacity:1}
.pm-today-sep{height:1px;background:rgba(28,66,103,.10);margin:5px 4px}
.pm-today-date{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:6px 8px;font-weight:700;color:#17324d;font-size:13px}
.pm-today-date input[type=date]{border:1px solid rgba(28,66,103,.18);border-radius:7px;
  padding:5px 7px;color:#12314f;background:#fff;font:inherit;cursor:pointer}

@media (max-width:680px){
  .pm-today-menu{right:auto;left:0;min-width:200px}
}

/* ════════════════════════════════════════════════════════════════════════════
   PREMATCH — HEADER DI SEZIONE SPORT sopra i gruppi-lega (Dav `.box-match--heading`).
   Step «resto pagina» n.2, design D 22/07 (ordine Angelo). Sport + chevron a sinistra,
   conteggio, e a destra le azioni del design di Dav (stampa quote, seleziona-tutte,
   espandi tutto). Look coerente con la banda sport della directory leghe (navy).
   Scoped `.pm-sporthead`; classi di Dav riusate 1:1. Markup:
   `design_reference/prematch_sporthead/markup.html`. WIRING B: chevron→cambia sport,
   `.btn-icon--print-odds`→stampa, `.btn-icon--select-all`→seleziona, `.btn-icon--go-over`
   →espandi/collassa i gruppi. Nel CSS solo classi.
   ──────────────────────────────────────────────────────────────────────────── */
.pm-sporthead{display:flex;align-items:center;gap:10px;padding:.5rem .75rem;margin:12px 0 8px;
  background:linear-gradient(180deg,#12314f,#0f2a45);color:#fff;border-radius:10px;
  box-shadow:0 1px 3px rgba(18,40,66,.10)}
.pm-sporthead .box-match--left{display:flex;align-items:center;min-width:0}
.pm-sporthead .menu-list--sport{display:inline-flex;align-items:center;gap:8px;border:0;
  background:none;color:#fff;font-weight:800;font-size:14px;cursor:pointer;padding:0;line-height:1}
.pm-sporthead .menu-list--sport .ic{width:18px;height:18px;color:#cfe3ff;flex:0 0 auto}
.pm-sporthead .menu-list--sport .chev{font-size:11px;opacity:.85}
.pm-sporthead .pml-sport-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-sporthead .cnt{font-size:12px;font-weight:800;color:#0f2a45;background:#f5b301;
  border-radius:999px;padding:1px 9px;line-height:1.5;flex:0 0 auto}
.pm-sporthead .box-match--center{flex:1 1 auto}
.pm-sporthead .box-match--right{display:flex;align-items:center;gap:.4rem;margin-left:auto}
.pm-sporthead .icon-box{width:28px;height:28px;border-radius:7px;border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);color:#dfeaf6;cursor:pointer;display:flex;align-items:center;
  justify-content:center;font-size:15px;text-decoration:none;transition:background .12s,border-color .12s}
.pm-sporthead .icon-box:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.3)}
@media (max-width:560px){
  .pm-sporthead{gap:7px;padding:.45rem .6rem}
  .pm-sporthead .icon-box{width:26px;height:26px}
}

/* ════════════════════════════════════════════════════════════════════════════
   PREMATCH — GRID TABELLARE per-lega (design Dav, rif Angelo_prematch_riferimento).
   Integrazione 23/07 (ordine Angelo/GC): la pagina VERA /player/?momento=prematch
   mostra la tabella per lega coi dati veri. Look chiaro navy/oro. Scoped `.pmg`.
   ──────────────────────────────────────────────────────────────────────────── */
.pmg{background:#fff;color:#12314f;font-size:13px}
.pmg-league{border:1px solid rgba(28,66,103,.12);border-radius:10px;margin:0 0 14px;
  overflow:hidden;box-shadow:0 1px 3px rgba(18,40,66,.06)}
/* banda sport (⚽ Calcio) — navy come il riferimento */
.pmg-sport{display:flex;align-items:center;gap:8px;padding:.5rem .75rem;
  background:linear-gradient(180deg,#12314f,#0f2a45);color:#fff;font-weight:800;font-size:13px}
.pmg-sport-ic{font-size:15px;line-height:1}
/* testata lega: bandiera + nome + scheda «Principale» */
.pmg-lg{display:flex;align-items:center;gap:10px;padding:.5rem .75rem;
  background:linear-gradient(180deg,#f4f8fc,#eaf1f8);border-bottom:1px solid rgba(28,66,103,.12)}
.pmg-lg-name{display:flex;align-items:center;gap:8px;font-size:13.5px}
.pmg-lg-name b{color:#12314f;font-weight:800}
.pmg-lg-flag{font-size:11px;font-weight:800;color:#5b7793;background:#e6eef7;
  border-radius:4px;padding:1px 6px;letter-spacing:.02em}
.pmg-tabs{display:flex;gap:6px;margin-left:auto}
.pmg-tab{font-weight:800;font-size:12.5px;color:#5b7793;padding:4px 12px;border-radius:999px}
.pmg-tab.is-on{color:#0f2a45;background:#fff;box-shadow:inset 0 0 0 1px rgba(28,66,103,.16)}
/* etichetta giorno */
.pmg-day{padding:7px 12px;font-weight:800;font-size:12.5px;color:#12314f;
  background:#eef3f9;border-bottom:1px solid rgba(28,66,103,.08)}
/* la tabella scrolla in orizzontale su schermi stretti senza sfondare la pagina */
.pmg-scroll{overflow-x:auto}
.pmg-tab-t{width:100%;border-collapse:collapse;min-width:820px}
.pmg-tab-t thead th{font-weight:700;color:#5b7793;font-size:11px;text-align:center;
  padding:5px 3px;border-bottom:1px solid rgba(28,66,103,.10);white-space:nowrap}
.pmg-tab-t .pmg-grp th{font-size:11.5px;color:#12456f;font-weight:800;
  border-left:1px solid rgba(28,66,103,.08);background:#f7fafd}
.pmg-tab-t .pmg-sub th{background:#fbfdff}
.pmg-c-id{width:52px;text-align:left !important;padding-left:10px !important}
.pmg-c-time{width:48px}
.pmg-c-name{min-width:180px;text-align:left !important}
.pmg-c-chart{width:30px}
.pmg-c-oth{width:34px}
.pmg-row{border-bottom:1px solid #eef2f7}
.pmg-row:hover{background:#fbfcfe}
.pmg-row>td{padding:5px 3px;text-align:center;font-size:12.5px;vertical-align:middle}
.pmg-c-id{color:#5b7793;font-variant-numeric:tabular-nums}
.pmg-c-time{color:#5b7793;font-variant-numeric:tabular-nums}
.pmg-c-name a{color:#17324d;font-weight:700;text-decoration:none}
.pmg-c-name a:hover{color:#1a5da6}
.pmg-chart,.pmg-more{color:#1a5da6;text-decoration:none;font-weight:800}
/* celle-quota: il form non deve occupare spazio; il bottone riempie la cella */
.pmg-q{padding:3px 4px !important}
.pmg-q form{margin:0;display:block}
.pmg-q .qt-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:30px;
  border:0;border-radius:6px;background:#eef3f9;color:#12314f;font-weight:800;font-size:12.5px;
  cursor:pointer;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px rgba(28,66,103,.06)}
.pmg-q .qt-btn:hover{background:#e0e9f4}
.pmg-q .qt-btn.qt-btn--active{background:var(--tb-quota-sel);color:var(--tb-quota-sel-ink);
  box-shadow:inset 0 0 0 1px var(--tb-quota-sel-line)}
/* posto vuoto onesto / quota bloccata / linea HND: niente bottone, solo il segno */
.pmg-q.is-void,.pmg-q.is-locked,.pmg-q.pm-hnd{color:#9fb0c2;font-weight:700}
.pmg-q.pm-hnd{color:#5b7793;font-weight:800}
@media (max-width:680px){
  .pmg-tabs{display:none}
  .pmg-q .qt-btn{min-height:28px;font-size:12px}
}

/* avviso «categoria in arrivo» delle tab-mercato non ancora popolate (grid WIDE .lcw) */
.lcw-soon{font-size:12px;font-weight:700;color:#b3651e;background:#fff7e9;
  border:1px solid #f5a623;border-radius:6px;padding:3px 10px;align-self:center;margin-left:4px}

/* ════════════════════════════════════════════════════════════════════════════
   PREMATCH GRID — RIFINITURA colonne fisse (D 23/07, assegnata da B in COORDINATION).
   Rende i GRUPPI-mercato più leggibili come nel riferimento: un filo verticale a
   separare 1X2 · Doppia chance · Over/Under · O/U 2.5 · GG/NG, e una zebra tenue
   sulle righe. Ordine celle: 1=ID 2=Orario 3=Evento 4=chart, poi i gruppi.
   ──────────────────────────────────────────────────────────────────────────── */
.pmg-tab-t tbody td:nth-child(5),   /* 1  → inizio 1X2 */
.pmg-tab-t tbody td:nth-child(8),   /* 1X → inizio Doppia chance */
.pmg-tab-t tbody td:nth-child(11),  /* Over → inizio Over/Under */
.pmg-tab-t tbody td:nth-child(14),  /* Over → inizio Over/Under 2.5 */
.pmg-tab-t tbody td:nth-child(17){  /* GG → inizio GG/NG */
  box-shadow:inset 1px 0 0 rgba(28,66,103,.10);
}
.pmg-row:nth-child(even){background:#f7fafd}
.pmg-tab-t .pmg-grp th{border-left:1px solid rgba(28,66,103,.12)}

/* ════════════════════════════════════════════════════════════════════════════
   QUOTA SELEZIONATA — un SOLO colore, OVUNQUE (Dav 23/07, ritinta 27/07).
   Quando una quota è nel coupon la cella ha lo sfondo pieno dello stato
   «selezionato»: prematch/live LISTA (.lc-q.qt-btn--active), GRIGLIA
   (.pmg-q .qt-btn--active, già sopra) e DETTAGLIO evento (.chip.on).
   `!important` per battere il contorno VERDE inline della lista base (palinsesto)
   e il `.chip.on` bianco del tema importato (tb.css non veste skin 11).
   ⚠️ 27/07, Dav: «le quote selezionate mettile con il blu, non mischiamo colori».
   Il colore NON si scrive qui: è `--tb-quota-sel`, dichiarata una volta sola in
   `skin_fixes.css`, dove c'è anche il perché e come una skin la ridipinge.
   TOGGLE della classe = B: il server la mette già da `chosen`; per il feedback
   IMMEDIATO al click, B aggiunge/toglie `qt-btn--active`/`on` via JS all'inserimento
   nel coupon (e la toglie alla rimozione). Nel CSS solo lo stato.
   ──────────────────────────────────────────────────────────────────────────── */
.lc .lc-q.qt-btn--active,
.chip.on{
  background:var(--tb-quota-sel) !important;
  color:var(--tb-quota-sel-ink) !important;
  border-color:var(--tb-quota-sel-line) !important;
  outline:none !important;
  box-shadow:inset 0 0 0 1px var(--tb-quota-sel-line) !important;
  font-weight:800 !important;
}
.chip.on .lbl,.chip.on .px{color:var(--tb-quota-sel-ink) !important}

/* player/prematch_wide.css */
/* ════════════════════════════════════════════════════════════════════════════
   PREMATCH — TABELLA LARGA MULTI-MERCATO per lega (come Angelo_prematch_riferimento).
   Design D 23/07. Guscio VISIVO self-contained `.lcw` (non tocca la lista `.lc--pm`
   attuale finché B non commuta). Colonne fisse del riferimento:
     ID · ORARIO · EVENTO · 1X2(1/X/2) · DC(1X/12/X2) · Over-Under(O/U/HND) ·
     Over-Under 2.5(O/U/HND) · GG-NG(GG/NG) · Oth(+)
   Intestazioni-gruppo allineate ESATTAMENTE sopra le celle (stessa griglia).

   ⚠️ RICHIEDE DATI DA B (vista): per allineare le colonne servono COLONNE-BANDA
   ordinate per market_ref, uguali per tutti gli eventi della lega, con le celle
   di ogni evento allineate (mancante = `is-locked`). Vedi la spec in
   `design_reference/prematch_wide/markup.html`. Foglio da mettere in FOGLI.
   ──────────────────────────────────────────────────────────────────────────── */
.lcw{--lcw-line:rgba(28,66,103,.10);--lcw-ink:#12314f;--lcw-dim:#5b7793;
  --lcw-cell:#eef3f9;--lcw-accent:#f5a623;
  /* 4 colonne fisse (icona/id/ora/evento) + i blocchi mercato + Oth */
  --lcw-grid:24px 42px 56px minmax(150px,1.3fr)
             repeat(3,minmax(44px,1fr)) repeat(3,minmax(44px,1fr))
             repeat(3,minmax(44px,1fr)) repeat(3,minmax(44px,1fr))
             repeat(2,minmax(44px,1fr)) 38px;
  color:var(--lcw-ink);font-size:12.5px}

/* la banda-lega è una card; su schermo stretto scorre in orizzontale */
.lcw-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.lcw-group{min-width:940px;background:#fff;border:1px solid var(--lcw-line);
  border-radius:10px;margin-bottom:12px;box-shadow:0 1px 3px rgba(18,40,66,.06)}

/* header lega: bandiera + nome + «+ Principale» */
.lcw-lh{display:flex;align-items:center;gap:8px;padding:.5rem .7rem;
  background:#dfe9f4;border-radius:10px 10px 0 0;font-weight:800}
.lcw-lh .fl{width:18px;height:13px;border-radius:2px;background:#26456b;flex:0 0 auto}
.lcw-lh .lcw-add{margin-left:auto;display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;color:#1a5da6;background:#fff;border:1px solid var(--lcw-line);
  border-radius:999px;padding:2px 10px;cursor:pointer}
.lcw-lh .lcw-x{color:#c0392b;cursor:pointer;font-weight:800}

/* sotto-tab mercati (Principali/Primo tempo) + pill (Principale/Over-Under/…) */
.lcw-subtabs{display:flex;gap:14px;padding:8px 10px 0}
.lcw-subtab{border:0;background:none;font-weight:800;font-size:13px;color:var(--lcw-dim);
  padding:0 0 8px;border-bottom:2px solid transparent;cursor:pointer}
.lcw-subtab.is-on{color:var(--lcw-ink);border-bottom-color:#1a5da6}
.lcw-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:8px 10px}
.lcw-tab{border:1px solid var(--lcw-line);background:#f4f8fc;border-radius:999px;
  padding:6px 14px;font-weight:700;font-size:12.5px;color:#26557f;cursor:pointer;white-space:nowrap}
.lcw-tab.is-on{background:#12314f;color:#fff;border-color:#12314f}

/* intestazione «Principale» */
.lcw-sech{padding:8px 10px 2px;font-weight:800;color:var(--lcw-ink)}

/* ── righe (griglia condivisa header↔celle) ──────────────────────────────── */
.lcw-thead,.lcw-day,.lcw-row{display:grid;grid-template-columns:var(--lcw-grid);align-items:center}
/* riga1 intestazioni-GRUPPO (nomi mercato, span sulle loro colonne) */
.lcw-gh{display:grid;grid-template-columns:var(--lcw-grid);background:#f4f8fc;
  border-top:1px solid var(--lcw-line);font-size:11px;font-weight:800;color:var(--lcw-dim);text-transform:uppercase}
.lcw-gh>span{padding:5px 0;text-align:center;border-left:1px solid var(--lcw-line)}
.lcw-gh .g-id{grid-column:1/5;border-left:0}         /* copre icona+id+ora+evento */
.lcw-gh .g-1x2{grid-column:5/8}
.lcw-gh .g-dc{grid-column:8/11}
.lcw-gh .g-ou{grid-column:11/14}
.lcw-gh .g-ou2{grid-column:14/17}
.lcw-gh .g-gg{grid-column:17/19}
.lcw-gh .g-oth{grid-column:19/20}
/* riga2 sotto-etichette colonna */
.lcw-thead{background:#eef3f9;font-size:10.5px;font-weight:800;color:var(--lcw-dim);
  border-top:1px solid var(--lcw-line)}
.lcw-thead>span{padding:5px 2px;text-align:center}
.lcw-thead .t-ev{text-align:left;padding-left:8px}

/* separatore GIORNO */
.lcw-day{background:#e7eef6;font-weight:800;color:#28527d;font-size:12px}
.lcw-day>span{grid-column:1/-1;padding:6px 10px}

/* riga EVENTO */
.lcw-row{border-top:1px solid var(--lcw-line);min-height:40px}
.lcw-row:hover{background:#f7fafd}
.lcw-row .c-ico{display:flex;justify-content:center;color:#8aa3bd;cursor:pointer}
.lcw-row .c-id{color:var(--lcw-dim);font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.lcw-row .c-time{color:var(--lcw-ink);text-align:center;font-variant-numeric:tabular-nums}
.lcw-row .c-ev{padding:4px 8px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lcw-row .c-ev a{color:inherit;text-decoration:none}
.lcw-row .c-ev:hover a{color:#1a5da6}

/* cella quota */
.lcw-q{margin:3px 2px;min-height:30px;display:flex;align-items:center;justify-content:center;
  background:var(--lcw-cell);border:1px solid rgba(28,66,103,.06);border-radius:6px;
  font-weight:800;color:var(--lcw-ink);font-variant-numeric:tabular-nums;cursor:pointer;
  transition:border-color .12s,background .12s,color .12s}
.lcw-q:hover{border-color:var(--tb-quota-sel);background:#e3ecf6}
/* selezionata nel coupon = SFONDO PIENO, come lista/dettaglio (Dav 23/07; dal 27/07 il
   colore è quello unico dello stato «selezionato», `--tb-quota-sel` in skin_fixes.css) */
.lcw-q.on{background:var(--tb-quota-sel);border-color:var(--tb-quota-sel-line);
  color:var(--tb-quota-sel-ink);box-shadow:inset 0 0 0 1px var(--tb-quota-sel-line)}
.lcw-q.is-locked{color:#b6c2d1;cursor:not-allowed;background:#f1f4f8}
.lcw-q.is-hnd{background:transparent;border-color:transparent;color:var(--lcw-dim);font-weight:700;cursor:default}
.lcw-oth{display:flex;justify-content:center}
.lcw-oth a{color:#1a5da6;font-weight:900;text-decoration:none;font-size:15px}

@media (max-width:900px){
  .lcw{font-size:12px}
  .lcw-group{min-width:900px}   /* sotto questa larghezza scorre in orizzontale */
}

/* player/prematch_leagues.css */
/* ════════════════════════════════════════════════════════════════════════════
   PREMATCH — DIRECTORY LEGHE (sport → nazione → leghe con checkbox) come da
   design Dav v0.0.1. Guscio VISIVO, design D 22/07 (ordine Angelo: integrare il
   resto della pagina prematch).

   Riproduce il blocco di Dav (`.qt-box--heading` nazione + `.ev-list` leghe con
   checkbox) nel LOOK CHIARO del prematch (bianco/navy, selezione in oro come le
   celle quota). Classi di Dav RIUSATE (1:1 per B), ma tutto SCOPED sotto
   `.pm-leagues` così non collide con lo style del tema importato.

   ⚠️ SEMANTICA non decisa (domanda ancora aperta a Dav, deferred n.1): questo
   pannello va bene SIA come FILTRO (spunta = mostra quella lega nella lista quote)
   SIA come INDICE (spunta/clic = vai alla lega). Il markup è neutro: B collega
   l'uno o l'altro. Nel CSS nessun handler: solo classi/stati
   (`.is-collapsed` sul blocco nazione, `:checked` sulla checkbox lega).
   Markup: `design_reference/prematch_leagues/markup.html`. Foglio da mettere in FOGLI.
   ──────────────────────────────────────────────────────────────────────────── */

.pm-leagues{background:#fff;border:1px solid rgba(28,66,103,.12);border-radius:10px;
  overflow:hidden;box-shadow:0 1px 3px rgba(18,40,66,.06);color:#12314f;
  font-family:inherit}

/* ── banda SPORT ─────────────────────────────────────────────────────────── */
.pm-leagues .pml-sport{display:flex;align-items:center;gap:9px;padding:.55rem .75rem;
  background:linear-gradient(180deg,#12314f,#0f2a45);color:#fff;font-weight:800;font-size:14px}
.pm-leagues .pml-sport .ic{width:18px;height:18px;color:#cfe3ff;flex:0 0 auto}
.pm-leagues .pml-sport .pml-sport-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-leagues .pml-sport .cnt{margin-left:auto;font-size:12px;font-weight:800;color:#0f2a45;
  background:#f5b301;border-radius:999px;padding:1px 9px;line-height:1.5}

/* ── heading NAZIONE (= .qt-box--heading di Dav) ─────────────────────────── */
.pm-leagues .qt-box--heading{display:flex;align-items:center;justify-content:space-between;
  padding:.42rem .75rem;font-size:14px;font-weight:800;color:#12314f;
  background:linear-gradient(180deg,#f4f8fc,#eaf1f8);border-top:1px solid rgba(28,66,103,.10)}
.pm-leagues .qt-heading--left{display:flex;align-items:center;gap:8px;line-height:1}
.pm-leagues .qt-heading--left .fl{width:18px;height:13px;border-radius:2px;background:#26456b;flex:0 0 auto}
.pm-leagues .qt-heading--right{display:flex;align-items:center;gap:.4rem}
.pm-leagues .qt-heading--right button,
.pm-leagues .btn-icon--select-all{width:26px;height:26px;border-radius:7px;
  border:1px solid rgba(28,66,103,.14);background:#fff;color:#3a5a7d;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;padding:0}
.pm-leagues .qt-heading--right button:hover,
.pm-leagues .btn-icon--select-all:hover{background:#f4f8fc;border-color:rgba(28,66,103,.26);color:#12456f}
/* il «−» del toggle diventa «+» quando la nazione è collassata (B mette .is-collapsed) */
.pm-leagues .pml-country.is-collapsed .btn-menu--group .lbl-min{display:none}
.pm-leagues .btn-menu--group .lbl-plus{display:none}
.pm-leagues .pml-country.is-collapsed .btn-menu--group .lbl-plus{display:inline}

/* ── lista LEGHE con checkbox (= .ev-list di Dav) ────────────────────────── */
.pm-leagues .ev-list{list-style:none;margin:0;padding:6px;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:2px}
.pm-leagues .ev-list li{margin:0}
.pm-leagues .input-box--container{display:flex;align-items:center;gap:9px;padding:7px 9px;
  border-radius:7px;cursor:pointer}
.pm-leagues .input-box--container:hover{background:#f4f8fc}
.pm-leagues .input-checkbox{width:17px;height:17px;flex:0 0 auto;accent-color:#f5a623;cursor:pointer;margin:0}
.pm-leagues .subgroup-text{flex:1 1 auto;min-width:0;font-weight:700;font-size:13px;color:#17324d;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-leagues .subgroup-count{flex:0 0 auto;font-size:12px;font-weight:700;color:#5b7793;
  background:#eef3f9;border-radius:999px;padding:0 8px;line-height:18px}
/* lega selezionata: filo d'oro come le celle quota attive */
.pm-leagues .input-box--container:has(.input-checkbox:checked){background:#fff7e9;
  box-shadow:inset 0 0 0 1px #f5a623}
.pm-leagues .input-box--container:has(.input-checkbox:checked) .subgroup-text{color:#b3651e}

/* nazione collassata: la lista sparisce */
.pm-leagues .pml-country.is-collapsed .ev-list{display:none}

@media (max-width:560px){
  .pm-leagues .ev-list{grid-template-columns:1fr}
}

/* selezione campionati sotto Prematch: bandiera come <img> (niente inline) + il divisore sport */
.pm-leagues .qt-heading--left .pml-flag{width:18px;height:13px;border-radius:2px;flex:0 0 auto;object-fit:cover}
.pm-leagues .pml-country + .pml-sport{margin-top:2px}

/* player/live_frame.css */
/* ============================================================================
   FRAME LIVE dell'evento — come il template (richiesta Dav, priorità).
   Hero con "stadio" (glow campo + fari), competizione centrata, minuto/fase,
   squadre con LOGO ai lati e PUNTEGGIO grande al centro, riga azioni, tabellina
   tempi. Tema scuro nostro (navy + oro), geometria del template.
   ⚠️ Il frame oggi vive di 24 stili INLINE in `intestazione_evento.html`: B li
   toglie (lista nel task) così queste classi prendono il comando. CSS via <link>.
   Design D, 22-07-2026.
   ========================================================================== */

.match-list--single-wrapper{ margin:0 0 10px; }

/* ── HERO: lo "stadio" senza foto pesante — glow del campo + navy + fari ── */
.match-list--event{
  position:relative; overflow:hidden; isolation:isolate;
  padding:12px 16px 14px; border-radius:12px;
  color:#eaf4ff;
  background:
    radial-gradient(120% 80% at 50% 118%, rgba(31,122,63,.42), transparent 60%),
    radial-gradient(90% 60% at 50% -20%, rgba(63,140,255,.16), transparent 60%),
    linear-gradient(180deg,#0e2a45,#0a1c30);
  border:1px solid #163a5c;
}
/* la "linea di centrocampo" appena accennata, sotto il punteggio */
.match-list--event::after{
  content:""; position:absolute; z-index:-1; inset-inline:12%; inset-block-start:52%;
  height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
}
/* i fari già nel markup (.stadium-lights .light): tenui bagliori in alto */
.stadium-lights{position:absolute;inset-block-start:0;inset-inline:0;height:60%;z-index:-1;
  display:flex;justify-content:space-around;pointer-events:none;opacity:.5}
.stadium-lights .light{width:2px;height:100%;
  background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 70%);
  filter:blur(2px);animation:lf-flash 3.5s ease-in-out infinite}
.stadium-lights .flash2{animation-delay:.5s}.stadium-lights .flash3{animation-delay:1s}
.stadium-lights .flash4{animation-delay:1.5s}.stadium-lights .flash5{animation-delay:2s}
@keyframes lf-flash{0%,100%{opacity:.25}50%{opacity:.7}}

/* riga INFO in cima all'hero: sport/nazione/stat a sx, stadio a dx */
.match-list--info-top{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  font-size:11.5px;color:#a8c6e0;
}
.match-list--info-top a{color:inherit;text-decoration:none}
.match-list--info-top a:hover{color:#fff}
.match-list--left-bar{display:flex;align-items:center;gap:6px;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-list--right-bar{white-space:nowrap;display:flex;align-items:center;gap:6px}

/* competizione (con icona sport) — centrata sopra le squadre */
.match-list--single-top{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:8px;font-size:12.5px;font-weight:700;color:#cfe0f2;
}
.match-list--single-top .btn-icon--sport img{width:16px;height:16px;opacity:.85}

/* minuto/fase — in oro, centrato, sopra il punteggio */
.tb-ev-clock{
  text-align:center;margin-top:3px;
  font:800 12.5px/1 ui-monospace,"SF Mono",Menlo,monospace;
  color:var(--money,#F5B301);letter-spacing:.03em;
}

/* ── la riga SQUADRE + PUNTEGGIO: griglia 1fr · auto · 1fr, centrata ── */
.match-list--single-bottom{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;
  margin-top:6px;
}
.match-list--single-left,.match-list--single-right{
  display:flex;align-items:center;gap:10px;min-width:0;
}
.match-list--single-left{justify-content:flex-end;text-align:end}
.match-list--single-right{justify-content:flex-start;text-align:start}
.match-list--single-left .match-text,.match-list--single-right .match-text{
  font-weight:800;font-size:15px;color:#fff;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
/* i LOGO/bandiere ai lati del punteggio (grandi come nel template) */
.match-list--single-bottom .icon-sport img{
  width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;
  background:#0a1c30;border:1px solid #1f4a72;padding:2px;
}
/* PUNTEGGIO grande e bicolore al centro */
.match-list--single-center{display:flex;flex-direction:column;align-items:center;gap:2px}
.match-list--single-center .date-time{
  font-size:34px !important;font-weight:900;line-height:1;letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
}
.match-list--single-center .date-time > span:first-child{color:#4aa3ff}   /* casa */
.match-list--single-center .date-time > span:last-child{color:#4fd47a}    /* ospite */

/* tabellina tempi: compatta, attaccata sotto lo score */
.tb-ev-sets{border-collapse:collapse;margin-top:2px;font-size:11px;color:#a8c6e0}
.tb-ev-sets td{padding:1px 7px;text-align:center;font-variant-numeric:tabular-nums}
.tb-ev-sets td.h{color:#7fa8cc;font-weight:700}

/* ── riga AZIONI sotto l'hero (Formazioni / Statistiche / Classifica) ── */
.ev-actions{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 14px;background:#0c2740;border:1px solid #163a5c;border-top:0;
}
.ev-actions button,.ev-actions a{
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  background:transparent;border:0;color:#a8c6e0;font:inherit;font-size:12.5px;font-weight:600;
  padding:5px 8px;border-radius:7px;text-decoration:none;
}
.ev-actions button:hover,.ev-actions a:hover{background:rgba(255,255,255,.06);color:#fff}

/* ── barra TAB MERCATI, pulita — sulle CLASSI REALI del template
   (`.box-match--heading > .box-match--center > .match-list--tabs > .tabs-list > .tab-item`).
   B: basta togliere il <style> inline in evento.html; qui c'è il vestito. ── */
.box-match--heading{
  background:#0a1c30;border:1px solid #163a5c;border-top:0;border-radius:0 0 10px 10px;
  padding:0 8px;
}
.match-list--tabs .tabs-list{
  display:flex;align-items:center;gap:2px;flex-wrap:nowrap;
  overflow-x:auto;scrollbar-width:none;
}
.match-list--tabs .tabs-list::-webkit-scrollbar{display:none}
.match-list--tabs .tab-item{
  flex:none;cursor:pointer;position:relative;
  padding:11px 12px;color:#a8c6e0;font-weight:700;font-size:12.5px;white-space:nowrap;
  border-bottom:0;opacity:1;background:transparent;
}
.match-list--tabs .tab-item:hover{color:#fff;background:rgba(255,255,255,.05)}
.match-list--tabs .tab-item.active{color:#fff;font-weight:800}
/* Dav 25/07: QUI c'era un ::after giallo (var(--money)) sotto il tab attivo — si sommava
   alla sottolineatura VERDE del template base. Via il giallo: resta solo il verde. */
/* icone strumenti + ricerca mercato (se presenti nella heading) */
.tb-mkt-ico{
  width:30px;height:30px;display:inline-grid;place-items:center;cursor:pointer;
  color:#a8c6e0;border-radius:7px
}
.tb-mkt-ico:hover{background:rgba(255,255,255,.06);color:#fff}
.box-match--heading .input-box{
  background:#0e2a45;border:1px solid #163a5c;border-radius:7px;color:#eaf4ff;
  font-size:12px;padding:6px 10px;outline:none
}
.box-match--heading .input-box:focus{border-color:var(--money,#F5B301)}

/* riga AZIONI (Formazioni/Statistiche/Classifica) — OPZIONALE: solo se il widget la
   fornisce. B: avvolgila in `.ev-actions` per vestirla, altrimenti si salta. */
.ev-actions{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 14px;background:#0c2740;border:1px solid #163a5c;border-top:0;
}
.ev-actions button,.ev-actions a{
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  background:transparent;border:0;color:#a8c6e0;font:inherit;font-size:12.5px;font-weight:600;
  padding:5px 8px;border-radius:7px;text-decoration:none
}
.ev-actions button:hover,.ev-actions a:hover{background:rgba(255,255,255,.06);color:#fff}

@media (max-width:640px){
  .match-list--single-bottom{gap:8px}
  .match-list--single-left .match-text,.match-list--single-right .match-text{font-size:12.5px}
  .match-list--single-bottom .icon-sport img{width:26px;height:26px}
  .match-list--single-center .date-time{font-size:26px !important}
}
@media (prefers-reduced-motion:reduce){.stadium-lights .light{animation:none}}

/* ============================================================================
   DROPDOWN Formazioni / Statistiche / Posizioni — resa coerente col frame scuro
   (BUG Dav: "si vedono male in alcuni punti"). I pannelli `.tb-ev-pan` erano
   BIANCHI (background:#fff) e si aprivano sotto l'hero navy → stonavano; l'empty
   state era slavato. Qui li rendo scuri come il frame. Specificità `.tb-ev-pan[id]`
   così vince anche PRIMA che B tolga lo <style> inline in intestazione_evento.html
   (quello va tolto: regola casa). Design D.
   ========================================================================== */

/* riga azioni: i tre raccolti al centro, cliccabili, con stato aperto */
.match-list--event .match-list--info-bottom{
  display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;
  margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.10);
}
.match-list--info-bottom > span{
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  padding:6px 12px;border-radius:8px;
  color:#cfe0f2 !important;font-weight:700;font-size:12.5px;
  transition:background .12s,color .12s;
}
.match-list--info-bottom > span:hover{background:rgba(255,255,255,.08);color:#fff !important}
.match-list--info-bottom > span.on{background:rgba(63,140,255,.18);color:#fff !important}
.match-list--info-bottom .mdi-chevron-down{transition:transform .15s}
.match-list--info-bottom > span.on .mdi-chevron-down{transform:rotate(180deg)}

/* IL PANNELLO: da bianco a NAVY come il frame */
.tb-ev-pan[id]{
  background:#0c2740 !important;color:#dbe8f6 !important;
  border:1px solid #163a5c;border-top:0;
  border-radius:0 0 12px 12px;
  padding:14px 16px;margin:0 0 10px;
  box-shadow:0 10px 26px rgba(2,10,24,.5);
}
.tb-ev-pan[id] h4{color:#fff !important;margin:0 0 10px;font-weight:800;font-size:14px}
.tb-ev-pan[id] h4 + *{margin-top:0}

/* stato "in attivazione": leggibile, non slavato */
.tb-ev-pan[id] .tb-ev-vuoto{
  opacity:1 !important;color:#a8c6e0;
  background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.14);
  border-radius:8px;padding:16px;text-align:center;font-size:12.5px;line-height:1.5;
}

/* formazioni: due colonne leggibili su scuro */
.tb-ev-pan[id] .tb-lineup .col b{color:#fff !important}
.tb-ev-pan[id] .tb-lineup .g{color:#dbe8f6;border-bottom:1px solid rgba(255,255,255,.06)}
.tb-ev-pan[id] .tb-lineup .g em{color:#8fb2d4 !important;opacity:1}

/* statistiche: righe leggibili */
.tb-ev-pan[id] .tb-stat-row{color:#dbe8f6}

/* posizioni: la tabella classifica su scuro */
.tb-ev-pan[id] .pg-table th{background:#123a5c !important;color:#cfe0f2 !important;
  border-color:#1d466f !important}
.tb-ev-pan[id] .pg-table td{color:#dbe8f6 !important;border-color:rgba(255,255,255,.08) !important}
.tb-ev-pan[id] .pg-table tr:nth-child(even) td{background:rgba(255,255,255,.03) !important}
.tb-ev-pan[id] .pg-table td b{color:var(--money,#F5B301) !important}

/* ── VIA la barra bianca VUOTA in alto (Dav 22/07) — ma solo se è VUOTA davvero ──
   Nata così: sulla scheda evento il tema rendeva `.top-menu--sports` (il menu sport
   orizzontale delle liste) SENZA NIENTE DENTRO — una striscia chiara inutile sopra il
   breadcrumb. Si toglieva, e faceva bene.

   🔴 Da allora quella striscia non è più vuota: `_event.html` porta `{{ tb.sport_tabs }}`
   e il frammento `sport_tabs.html` ci mette gli sport VERI della skin, coi nostri nomi
   tradotti e le icone del tema. Misurato il 28/07 sulla scheda evento di produzione:
   **26 bottoni**, con i link giusti (`/player/?sport=sr:sport:21` → Cricket), già dentro
   il carosello owl del tema (`owl-loaded owl-drag`) — e tutto questo `display:none`.
   Cioè la giostra degli sport che Dav chiedeva (card 27/07 11:18) **c'era già e la
   stavamo spegnendo noi**.

   Quindi la regola diventa quella che Dav voleva davvero: si nasconde la striscia
   **senza sport dentro**, non la striscia in quanto tale. `:not(:has(.menu-button))` è
   la differenza fra «togli il vuoto» e «togli il menu». */
.main-container:has(.match-list--single-wrapper)
  .top-menu--sports:not(:has(.menu-button)){display:none !important}

/* ════════════════════════════════════════════════════════════════════════════
   EVENTO LIVE — hero + pannelli F/S/P (Dav 23/07). Stili SPOSTATI dall'inline
   `<style>` di intestazione_evento.html (regola casa: niente inline nella pagina).
   • I pannelli Formazioni/Statistiche/Posizioni sono OVERLAY `position:absolute`
     ancorati SOTTO l'hero (`.tb-ev-live{position:relative}` + `top:100%`): si aprono
     nello spazio sotto il box live e NON spingono i mercati (task 1+2 Dav).
   • Colori del brand dalle VARIABILI `:root` del tema (task 3): il navy dei pannelli
     usa `--header-background-color` (fallback #1c4267), niente hardcoded sparsi.
   ──────────────────────────────────────────────────────────────────────────── */
.tb-ev-live{position:relative}
/* «LIVE» IN-FLOW nell'header evento (A32 23/07): il tema stila `.btn-live--ctm` come badge
   ASSOLUTO (top/left dentro `.tb-ev-live`) e finiva ad ACCAVALLARE la tabellina dei parziali sotto
   il punteggio (bug «spazio storto»). Qui, SOLO nell'header evento, torna una pillola normale nel
   flusso — nella barra info a destra accanto allo stadio — senza sovrapporsi a niente. */
.tb-ev-live .btn-live--ctm{position:static;top:auto;left:auto;right:auto;bottom:auto;
  display:inline-block;vertical-align:middle;margin-left:6px}

/* colori testo dell'hero sul fondo scuro (valgono anche nel caricamento parziale) */
.match-list--event,
.match-list--event .match-text,
.match-list--info-top,.match-list--info-top a,
.match-list--info-bottom{color:#e8f1fb}
.match-list--info-top{opacity:1}
.match-list--event .match-list--single-top{color:#b9d0e8;font-weight:700}
.match-list--event .match-text{font-weight:800;text-shadow:0 1px 2px rgba(3,14,30,.45)}
.match-list--event .tb-ev-clock{color:#ffd25a;opacity:1;font-weight:800}
.match-list--single-top .btn-icon--sport img{max-width:20px;max-height:20px}

/* barra azioni Formazioni | Statistiche | Posizioni (era inline) */
.match-list--info-bottom{display:flex;justify-content:space-between;gap:8px;
  font-size:.86em;margin-top:8px}
.tb-ev-act{cursor:pointer;color:#dbe8f6}
.tb-ev-act:hover{color:#fff}

/* parziali dei tempi, compatti sotto lo score */
.tb-ev-sets{border-collapse:collapse;background:rgba(6,22,45,.66);border-radius:8px;
  border:1px solid rgba(255,255,255,.16);box-shadow:0 4px 14px rgba(2,10,24,.30);
  overflow:hidden;font-size:.74em;line-height:1.15;color:#e8f1fb}
.tb-ev-sets td{padding:3px 9px}
.tb-ev-sets td.h{font-weight:800;opacity:1;color:#a8c4e2;text-align:center}
.tb-ev-sets td.nm{opacity:1;color:#dce9f7;font-weight:600;max-width:96px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.tb-ev-sets td.hm{text-align:center;color:#3aa0ff;font-weight:800}
.tb-ev-sets td.aw{text-align:center;color:#7dda58;font-weight:800}

/* ── PANNELLI F/S/P: OVERLAY assoluto sotto l'hero (non spinge i mercati) ── */
.tb-ev-pan{display:none;position:absolute;left:0;right:0;top:100%;z-index:40;
  background:#fff;color:var(--header-background-color,#1c4267);
  border-radius:0 0 12px 12px;padding:14px 16px;
  box-shadow:0 12px 30px rgba(10,25,45,.30)}
.tb-ev-pan.on{display:block}
.tb-ev-pan h4{margin:0 0 10px;font-weight:900}
.tb-stat-row{display:grid;grid-template-columns:44px 1fr 110px 1fr 44px;gap:8px;
  align-items:center;padding:5px 0;font-weight:700}
.tb-stat-row .lbl{text-align:center;font-size:.82em;opacity:.65;font-weight:700}
.tb-stat-row .bar{height:8px;border-radius:99px;background:rgba(28,66,103,.10);overflow:hidden;display:flex}
.tb-stat-row .bar.sx{justify-content:flex-end}
.tb-stat-row .bar i{display:block;height:100%}
.tb-ev-vuoto{text-align:center;padding:18px;opacity:.65}
.tb-lineup{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tb-lineup .col b{display:block;margin-bottom:6px;color:var(--header-background-color,#1c4267)}
.tb-lineup .g{display:flex;gap:8px;padding:3px 0;font-weight:600}
.tb-lineup .g em{font-style:normal;opacity:.5;min-width:22px;text-align:right}

/* player/register.css */
/* ============================================================================
   REGISTRAZIONE — selettore modalità (Angelo 22/07)
   La pagina mostra solo le modalità abilitate per la skin; con più di una, il player
   sceglie con le linguette. Vestito minimale e neutro (si posa sul form del tema).
   CSS in file (regola Dav). Design D, 22-07-2026.
   ========================================================================== */

.reg-tabs{
  display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 14px;
}
.reg-tab{
  flex:1 1 auto;min-width:90px;cursor:pointer;
  padding:9px 12px;border-radius:9px;
  border:1px solid rgba(28,66,103,.28);background:transparent;
  color:#26456b;font:inherit;font-weight:800;font-size:.9rem;
  transition:background .12s,border-color .12s,color .12s;
}
.reg-tab:hover{background:rgba(28,66,103,.06)}
.reg-tab.on{background:#276aa6;border-color:#276aa6;color:#fff}
.reg-tab:focus-visible{outline:2px solid #f5a623;outline-offset:2px}

.reg-hint{
  margin:2px 0 8px;font-size:.82rem;line-height:1.35;opacity:.75;
}

/* ── modalità NON ancora pronte (telefono/social): «in arrivo», niente bottone finto ── */
.reg-soon{color:#a06a08;font-weight:700}
.reg-social{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 4px}
.reg-soc{flex:1 1 auto;min-width:130px;display:inline-flex;align-items:center;justify-content:center;
  gap:8px;padding:11px 14px;border-radius:10px;border:1px solid rgba(28,66,103,.28);
  background:#fff;color:#26456b;font:inherit;font-weight:800;cursor:not-allowed;opacity:.6}
.reg-panel .btn-continue:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}

/* player/cashout.css */
/* ============================================================================
   INCASSO PARZIALE (cashout con slider) — Angelo 22/07. Lo slider sceglie quanta
   parte incassare adesso; sotto, la stima di quanto si incassa e quanto resta in
   gioco. Look coerente con le card del conto (navy/oro, l'oro è l'azione). CSS in
   file servito da FOGLI (regola Dav), scoped `.pcash`. Design 23-07-2026.
   ========================================================================== */
.pcash .pcash-range{width:100%;margin:6px 0 10px;accent-color:#f5a623;cursor:pointer}
.pcash-read{display:flex;align-items:center;justify-content:space-between;gap:10px;
  flex-wrap:wrap;font-size:.92em;color:#1c4267;margin-bottom:10px}
.pcash-read b{color:#12314f;font-weight:800;font-variant-numeric:tabular-nums}
.pcash-pct{font-weight:900;color:#b3651e;background:#fff7e9;border-radius:999px;
  padding:2px 12px;box-shadow:inset 0 0 0 1px #f5a623}
.pcash-go{width:100%}
@media (max-width:520px){
  .pcash-read{font-size:.86em;gap:6px}
  .pcash-pct{order:-1;flex:1 0 100%;text-align:center}
}

/* player/esito_riserva.css */
/* ════════════════════════════════════════════════════════════════════════════
   L'ESITO DELLA RISERVA, quando l'operatore decide — A32, 27/07:
   «altra cosa lato player quando accetto si deve aggiornare automaticamente».

   Il giocatore che ha una schedina in riserva sta aspettando di sapere se la sua
   scommessa è valida: è il momento in cui il silenzio costa di più. Quando la
   risposta arriva non deve SCOPRIRLA — deve VEDERLA. Quindi due segnali:
   · la riga della giocata cambia colore e parola, sul posto;
   · una fascia in alto lo dice a chiare lettere.

   Il RIFIUTO non si chiude da solo: quello è denaro tornato indietro e una
   scommessa che non c'è più — resta finché non lo si è letto. L'accettazione, che
   è la buona notizia, si ritira dopo qualche secondo.
   Regola Dav: il CSS sta in un file, mai dentro il template.
   ──────────────────────────────────────────────────────────────────────────── */

/* ── la fascia ─────────────────────────────────────────────────────────────── */
.tb-avviso{
  position:fixed; left:50%; transform:translateX(-50%);
  top:14px; z-index:4100;
  max-width:min(92vw,560px); padding:13px 44px 13px 18px;
  border-radius:12px; border:1px solid transparent;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:.94rem; font-weight:700; line-height:1.35;
  box-shadow:0 14px 38px rgba(2,10,24,.42);
  animation:tb-avviso-in .22s ease;
}
@keyframes tb-avviso-in{from{transform:translate(-50%,-10px);opacity:0}
                        to{transform:translateX(-50%);opacity:1}}
.tb-avviso--accettata{background:#0f5132;border-color:#1c7a4d;color:#d7f5e6}
.tb-avviso--rifiutata{background:#5c1a17;border-color:#8f2c26;color:#ffdcd8}
.tb-avviso-x{
  position:absolute; top:6px; right:8px;
  background:none; border:0; cursor:pointer; padding:4px 8px;
  color:inherit; opacity:.7; font-size:1.15rem; line-height:1;
}
.tb-avviso-x:hover{opacity:1}

/* La fascia non deve mai coprire il coupon su cui si sta lavorando: sugli schermi
   stretti si appoggia in alto a tutta larghezza e lascia libero il resto. */
@media (max-width:640px){
  .tb-avviso{left:8px; right:8px; max-width:none; transform:none; padding-right:40px}
  @keyframes tb-avviso-in{from{transform:translateY(-10px);opacity:0}
                          to{transform:none;opacity:1}}
}

/* ── la riga della giocata, sul posto ──────────────────────────────────────── */
/* Il dettaglio coupon: la scritta «In revisione» diventa l'esito, con il suo colore. */
[data-tb-esito="accettata"]{color:#1c7a4d; font-weight:800}
[data-tb-esito="rifiutata"]{color:#c0392b; font-weight:800}

/* Il pannello «Schedine in gioco»: la riga si accende senza cambiare struttura —
   il pallino dice lo stato, che è il posto dove il giocatore lo cerca. */
a.us-row.tb-esito{position:relative}
a.us-row.tb-esito--accettata .us-dot{background:#1c7a4d}
a.us-row.tb-esito--rifiutata .us-dot{background:#c0392b}
a.us-row.tb-esito--rifiutata{opacity:.72; text-decoration:line-through}

/* player/header_prefs.css */
/* ════════════════════════════════════════════════════════════════════════════
   HEADER — INGRANAGGIO (preferenze) e BANDIERINA (lingua/fuso), popover del
   player. Era un <style> inline dentro theme_family/lingua.html: spostato qui
   (regola Dav: CSS in file, mai inline) quando l'ingranaggio ha preso il blocco
   «Orologio e fuso» e la lista lingue i codici-bandiera (Angelo 24/07).
   Servito su ogni pagina /player via FOGLI (dopo il CSS del tema: vince).
   ──────────────────────────────────────────────────────────────────────────── */

/* DA LOGGATO l'header è quello del TEMA (icone .hu-ic) e la nostra pill lingua è nascosta
   (il tema ha già la sua bandiera): resta la nostra ⚙ rotellina, vestita come icona-pillola
   del tema, centrata, col pannello sempre sopra tutto. Scoped a .hd-top-header--right →
   non tocca la resa da sloggato. */
.hd-top-header--right .menu-list{display:inline-flex;align-items:center;flex:0 0 auto}
.hd-top-header--right .menu-list .menu-activator{display:inline-flex;align-items:center;gap:3px;
  padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.12);cursor:pointer;
  transition:background .15s;line-height:1}
.hd-top-header--right .menu-list .menu-activator:hover{background:rgba(255,255,255,.22)}
.hd-top-header--right .menu-list .menu-activator .mdi{font-size:17px;line-height:1}
#menuPrefsHeader.tb-hd-pop{z-index:200 !important}

/* trigger nell'header: pillole coerenti, non icone nude */
.tb-hd-trig{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;
  background:rgba(255,255,255,.12);cursor:pointer;font-weight:700;transition:background .15s;
  white-space:nowrap}
.tb-hd-trig:hover{background:rgba(255,255,255,.22)}
.tb-hd-pop{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:14px;
  box-shadow:0 14px 40px rgba(10,25,45,.30);width:288px;z-index:70;color:#1c4267;
  overflow:hidden}

/* i pannelli header si ancorano al loro trigger e si aprono verso SINISTRA: così non escono
   mai dal bordo destro (era quello a tagliare «Americane», «Completo»). `!important` +
   `left:auto` battono la regola del tema (.menu-list--submenu); `max-width` li tiene dentro
   il viewport. Sempre fuori-flusso (absolute): un pannello chiuso non allarga la riga
   dell'header — era quello a far scrollare la pagina di lato (~82px a 1280). */
.menu-list--language .tb-hd-pop, #menuPrefsHeader{position:absolute !important;right:0 !important;
  left:auto !important;top:calc(100% + 8px);max-width:calc(100vw - 24px)}
/* il tema clampa i submenu a ~350px e la lista lingue usciva TAGLIATA a 5 righe: il pannello
   può crescere fino al viewport, e a scrollare — se serve — è la lista, non il pannello. */
#menuLanguageHeader{max-height:calc(100vh - 90px) !important;overflow:visible}
#menuLanguageHeader ul{max-height:calc(100vh - 240px) !important}
/* i contenitori del selettore non devono mai sforare: se lo spazio è poco, si stringono. */
.menu-list--language, .menu-list--language .tb-hd-trig{max-width:100%;min-width:0}
/* B54: overflow orizzontale @1280 (QA di D). Sotto i 1360 si sacrifica la SIGLA lingua
   (bandiera e orologio restano): l'ORA DEL SITO è sempre visibile (Angelo 25/07 —
   prima qui si nascondeva #tbClock). `overflow-x:clip` toglie definitivamente lo
   scroll orizzontale senza toccare quello verticale. */
@media (max-width:1360px){ .menu-list--language .tb-lang-abbr{display:none} }
html, body{ overflow-x:clip }

.tb-hd-pop *{color:#1c4267}
.tb-hd-pop .ttl{font-size:.7em;font-weight:800;letter-spacing:.07em;opacity:.6;
  text-transform:uppercase;margin:14px 16px 6px}
.tb-hd-pop select{width:calc(100% - 32px);margin:0 16px;border:1px solid rgba(28,66,103,.3);
  border-radius:9px;padding:8px 10px;background:#fff;font-weight:600}
/* le tendine che seggono ACCANTO a una scritta (Vista mercati, Fuso orario) non prendono
   tutta la riga: si stringono sul contenuto e vivono nella stessa riga dell'etichetta. */
.tb-hd-pop label.sel{display:flex;gap:8px;align-items:center;margin:4px 16px;font-weight:600}
.tb-hd-pop label.sel select{flex:1;width:auto;margin:0;min-width:0}

/* il FORMATO QUOTE: bottoni segmentati, non una tendina */
.tb-seg{display:flex;gap:5px;margin:0 16px;flex-wrap:wrap}
.tb-seg label{flex:1 1 30%;text-align:center;border:1px solid rgba(28,66,103,.28);border-radius:9px;
  padding:8px 4px;font-weight:800;cursor:pointer;font-size:.85em;transition:all .12s}
.tb-seg label small{display:block;font-weight:600;opacity:.55;font-size:.82em}
.tb-seg input{display:none}
.tb-seg input:checked+span, .tb-seg label:has(input:checked){background:linear-gradient(135deg,#1c4267,#276aa6);color:#fff;border-color:transparent}
.tb-seg label:has(input:checked) small{opacity:.8;color:#fff}
.tb-hd-pop label.rad{display:inline-flex;gap:6px;align-items:center;margin:4px 0 4px 16px;
  cursor:pointer;font-weight:600}
.tb-hd-pop .salva{display:block;width:calc(100% - 32px);margin:14px 16px 16px;border:0;
  cursor:pointer;background:linear-gradient(180deg,#8cc63e,#7ab829);color:#fff !important;
  font-weight:900;border-radius:10px;padding:10px 0;letter-spacing:.04em}
.tb-hd-pop .salva:hover{filter:brightness(1.06)}

/* lingua: tab pieni, ricerca col bordo, righe con hover */
.tb-lang-tabs{display:flex;background:rgba(28,66,103,.07)}
.tb-lang-tabs span{flex:1;text-align:center;padding:11px 4px;font-weight:800;cursor:pointer;
  border-bottom:3px solid transparent;transition:all .12s}
.tb-lang-tabs span.on{background:#fff;border-bottom-color:#f60}
.tb-hd-pop input[type=text]{width:calc(100% - 32px);margin:10px 16px 4px;
  border:1px solid rgba(28,66,103,.3);border-radius:9px;padding:8px 12px;font-weight:600}
.tb-hd-pop ul{margin:4px 0 8px;padding:0;list-style:none;max-height:70vh;overflow-y:auto}
/* il nome sta ATTACCATO al codice (il tema mette justify space-between e lo spingeva
   al bordo destro: «IT ......... Italiano» non si legge come una riga sola) */
.tb-hd-pop li a{display:flex;align-items:center;justify-content:flex-start !important;
  gap:10px;padding:9px 16px;font-weight:600}
.tb-hd-pop li a:hover{background:rgba(39,106,166,.08)}
.tb-flag-r{width:22px;height:22px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 2px rgba(28,66,103,.15)}
.tb-lang-code{min-width:28px;font-weight:900;border-right:1px solid rgba(28,66,103,.2);
  padding-right:9px;font-size:.85em}

/* player/evsearch.css */
/* ════════════════════════════════════════════════════════════════════════════
   CERCA EVENTO (tb-evsearch) — Dav 25/07, ri-segnalato: il campo era rimasto
   ORFANO sotto la navbar sport dopo la rimozione della topbar blu coi tab (dove
   il cerca viveva, a destra). Ora un piccolo JS nei palinsesti lo RICOLLOCA
   dentro `.box-main--middle` (la barra che ha sostituito la topbar) e queste
   regole lo vestono nei due assetti. Stili PRIMA inline nei template: spostati
   qui per la regola Dav (mai style dentro le pagine: sovrascrivono il CSS del
   template della skin e si rompono col multi-skin).
   ──────────────────────────────────────────────────────────────────────────── */

/* fallback: dove la barra del tema non c'è, il campo resta in colonna, com'era */
.tb-evsearch{padding:8px 10px 6px}
.tb-evsearch--in{width:100%;box-sizing:border-box;padding:9px 12px;border-radius:8px;
  border:1px solid rgba(0,0,0,.15);font-size:.95em}
.tb-evsearch--none{padding:12px;opacity:.6;font-size:.9em}

/* DENTRO la barra sport (come il riferimento: tab a sinistra, cerca a destra):
   pillola compatta, allineata a destra, alta quanto la riga */
.box-main--middle .tb-evsearch{margin-left:auto;flex:0 1 240px;min-width:120px;
  padding:0;display:flex;align-items:center}
.box-main--middle .tb-evsearch--in{padding:4px 10px;border-radius:999px;font-size:.82em;
  border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.92)}
.box-main--middle .tb-evsearch--in:focus{outline:none;background:#fff}

/* su mobile la barra va a capo (regola già esistente per la strip): il cerca
   scende sotto a piena larghezza invece di schiacciarsi */
@media (max-width:900px){
  .box-main--middle .tb-evsearch{flex:1 1 100%;margin:4px 0 2px}
}

/* player/eventi_giorno.css */
/* ════════════════════════════════════════════════════════════════════════════
   EVENTI DEL GIORNO (.eg) — stili PRIMA inline in _eventi_giorno_body.html e
   eventi_giorno.html, spostati qui per la regola Dav 25/07 («niente style inline
   o nelle pagine: sovrascrive il CSS del template della skin e con più skin si
   rischiano problemi»). Una skin può ridefinire tutto da qui in giù.

   FULL-WIDTH (Dav 25/07): il box centrale occupa TUTTA la larghezza disponibile.
   Prima: max-width:1240px + margin auto inline → fasce vuote ai lati. Il padding
   della cornice resta solo VERTICALE, così di lato non c'è nessuna fascia.
   ──────────────────────────────────────────────────────────────────────────── */
.eg{width:100%}
.eg-page{padding:14px 0}

.eg-head{background:linear-gradient(90deg,#e8952b 0%,#8a5a1c 32%,#12314f 70%);
  color:#fff;font-weight:800;letter-spacing:.03em;padding:11px 16px;border-radius:8px 8px 0 0;
  font-size:.98em}
.eg-chips{display:flex;flex-wrap:wrap;gap:9px;padding:14px 16px;background:#12314f}
.eg-chip{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 18px;
  text-decoration:none;color:#cfe0f2;font-weight:700;font-size:.86em;letter-spacing:.02em;
  background:#173a5c;transition:background .12s,border-color .12s}
.eg-chip:hover{border-color:#e8952b}
.eg-chip.on{background:#cfe0f2;color:#12314f;border-color:#cfe0f2}
.eg-empty{padding:26px 16px;text-align:center;color:#9fb4cc;background:#12314f}

/* player/asiatica.css */
/* ════════════════════════════════════════════════════════════════════════════
   VISTA ASIATICA (.as-*) — stili PRIMA nel <style> inline di asiatica.html,
   spostati qui per la regola Dav 25/07 (niente CSS dentro le pagine).
   FIX Dav 25/07 (.pg rompe il layout): la pagina NON usa più la classe .pg —
   senza .pg-side la sua griglia a 2 colonne (248px + contenuto) lasciava una
   colonna VUOTA a sinistra. Scelta l'opzione «rimuovi la classe» (il flex nella
   media query globale avrebbe messo in riga le card delle pagine conto).
   .as-page riporta il solo guscio che serviva di .pg (padding e testo).
   ──────────────────────────────────────────────────────────────────────────── */
.as-page{padding:14px 12px 44px;color:#22303f;font-variant-numeric:tabular-nums}
.as-page a{color:#276aa6}
.as-card-b{padding:12px 14px}
.as-wrap{--gold:#f5b301;--dim:#93a6bd;--line:rgba(128,128,128,.16);max-width:1080px;margin:0 auto}
  .as-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
  .as-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
  .as-toggle a{padding:7px 16px;text-decoration:none;color:inherit;font-weight:800;font-size:.85rem}
  .as-toggle a.on{background:#8DC63F;color:#0b2038}
  .as-hint{font-size:.78rem;opacity:.7}
  .as-scr{overflow-x:auto}
  /* GRIGLIA coerente (Angelo 24/07): stesse colonne su header e righe; le 3 colonne mercato hanno
     larghezza uguale, l'evento è la colonna elastica. `align-items:stretch` + min-height uniforme
     tengono celle piene e «—» della stessa altezza, senza collassi. */
  .as-head,.as-row{display:grid;grid-template-columns:minmax(150px,1.7fr) 1.15fr 1.15fr 1.15fr;
    gap:8px;min-width:680px}
  .as-head{padding:4px 10px;color:var(--dim);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;align-items:center}
  .as-head .c{text-align:center}
  .as-row{padding:7px 10px;margin-bottom:5px;border:1px solid var(--line);border-radius:10px;
    background:rgba(128,128,128,.05);align-items:stretch}
  .as-teams{min-width:0;display:flex;flex-direction:column;gap:1px;justify-content:center}
  .as-teams b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .as-teams .t2{opacity:.7}
  .as-when{font-size:.7rem;opacity:.55;margin-top:1px}
  .as-when .lv{color:#e0261a;font-weight:800}
  /* ogni colonna-mercato è SEMPRE una griglia interna a larghezze uguali: 3 celle (1X2) o 2 (AH/OU);
     un «—» a mercato assente OCCUPA l'intera colonna (grid-column:1/-1), stesso spazio della piena. */
  .as-pair{display:grid;gap:4px}
  .as-pair.p3{grid-template-columns:1fr 1fr 1fr}.as-pair.p2{grid-template-columns:1fr 1fr}
  .as-cell{display:flex}
  .as-cell form{display:flex;width:100%}
  /* Dav 26/07 («fallo come gli altri, non con sfondo nero»): fondo, testo, bordo, hover e
     stato attivo li dà la classe del TEMA `qt-btn` (la stessa della vista classica) — qui
     restano SOLO le misure di layout della griglia asiatica. Niente copie di grafica. */
  .as-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:1px;min-width:0;min-height:40px}
  .as-btn .lab{font-size:.64rem;opacity:.6;white-space:nowrap}
  /* il numero BLU della vista classica è il token del tema (--qt-color-b, lo stesso che
     template_c dà ai .qt-btn della lista): si riusa la VARIABILE, mai il valore copiato */
  .as-btn .od{font-variant-numeric:tabular-nums;color:var(--qt-color-b,inherit)}
  .as-btn[disabled]{opacity:.45;cursor:not-allowed}   /* sospeso: velo, come le celle bloccate */
  .as-mt{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;min-height:40px;
    opacity:.3;border:1px dashed var(--line);border-radius:8px}
  .as-lg{margin:14px 0 6px;font-weight:800;color:var(--gold);font-size:.88rem}
  .as-none{padding:26px 10px;text-align:center;opacity:.7}

/* player/skin_fixes.css */
/* ════════════════════════════════════════════════════════════════════════════
   SKIN FIXES — il file UNICO dei fix CSS di Dav (creato 25/07 su sua istruzione:
   «non inserirlo nella pagina ma crea un css separato con tutti i fix css così
   poi li integriamo nel css globale che useremo per tutte le skin»).

   REGOLE DELLA CASA per questo file:
   - ogni fix nuovo di Dav va QUI, non sparso in altri fogli né inline nelle pagine;
   - niente stili di pagina/feature (quelli hanno i loro fogli): solo i FIX che
     domani confluiranno nel css globale multi-skin;
   - ogni blocco porta data e richiesta, così la fusione nel globale è tracciabile.
   Caricato per ultimo in FOGLI: vince sulla cascata di tema e fogli app.
   ──────────────────────────────────────────────────────────────────────────── */

/* Dav 25/07 08:40 — breadcrumb pagina evento (.box-main--left): font più piccolo,
   una riga con ellissi, come lo screen di riferimento. CSS DETTATO DA DAV, valori
   suoi alla lettera. */
.box-main--left span:not(.mdi) {
  font-size: 11px;
  line-height: 1;
  max-width: 160px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

/* Dav 25/07 08:42 — tab pagina evento: il bordo GIALLO in basso era un nostro
   ::after in live_frame.css (var(--money,#F5B301)) sovrapposto al verde del
   template base. RIMOSSO alla fonte (live_frame.css), non coperto da qui:
   resta solo il verde del template. Questo blocco è solo memoria del fix. */

/* ────────────────────────────────────────────────────────────────────────────
   Dav 25/07 08:20/08:26 (ri-segnalato) — COUPON come il mockup del template:
   font/padding/colori del mockup originale (BET SLIP). Il mockup è una GUIDA:
   qui si riallinea ciò che ESISTE (niente Accumulator/steppers/promo inventati).
   Palette del mockup: etichette blu #1E63A4, valori navy #12314f, chip quota
   azzurra #d9e8f6, CTA verde #8DC63F (come REGISTRATION), ✕ rossa.
   ──────────────────────────────────────────────────────────────────────────── */
/* testata: «COUPON» blu come YOUR BET, contatore blu */
.box-sidebar--coupon .tb-head span{color:#1E63A4;font-size:13px;font-weight:800;letter-spacing:.02em}
.box-sidebar--coupon .tb-head small{color:#1E63A4;opacity:1;font-weight:700;font-size:11.5px}
/* card evento: nome match BLU in evidenza (12.5px), lega piccola, punteggio oro invariato */
.box-sidebar--coupon .cpn-match{font-size:12.5px;color:#1E63A4}
.box-sidebar--coupon .cpn-comp{font-size:10px}
/* riga segno: chip quota AZZURRA con testo blu bold, testo mercato navy, ✕ ROSSA */
.box-sidebar--coupon .cpn-odds{background:#d9e8f6;color:#1E63A4;font-weight:800;font-size:12.5px;
  border-radius:6px;padding:3px 7px}
.box-sidebar--coupon .cpn-leg-txt{font-size:12px;color:#22303f}
.box-sidebar--coupon .cpn-x{color:#e03a2f}
.box-sidebar--coupon .cpn-x:hover{background:rgba(224,58,47,.12);color:#c22315}
.box-sidebar--coupon .cpn-leg form{display:flex}
/* righe quota/importo/vincita: SUL FONDO come il mockup (niente pannello bordato),
   etichetta blu, valore navy bold a destra */
.box-sidebar--coupon .tb-panel{background:transparent;border:0;margin:2px 10px;padding:0}
.box-sidebar--coupon .tb-cp-row{font-size:12.5px;padding:5px 0}
.box-sidebar--coupon .tb-cp-row>:first-child{color:#1E63A4;opacity:1}
.box-sidebar--coupon .tb-cp-row>:last-child{color:#12314f;font-weight:800}
.box-sidebar--coupon .tb-cp-row.tot>:first-child{color:#12314f}
.box-sidebar--coupon .tb-cp-row.tot>:last-child{font-size:13.5px}
/* input importo: bianco, bordo azzurro, testo navy (come Stake Amount) */
.box-sidebar--coupon .tb-amount{background:#fff;border:1px solid #bcd4ea;border-radius:6px;
  color:#12314f;font-weight:700;font-size:13px;padding:5px 8px}
/* CTA: SCOMMETTI VERDE pieno come «Place Bet»/«REGISTRATION»; ANNULLA neutro
   azzurrino (nel mockup non esiste un bottone rosso) */
.box-sidebar--coupon .tb-btns .tb-scommetti{background:#8DC63F;color:#fff}
.box-sidebar--coupon .tb-btns .tb-scommetti:hover{background:#7ab829}
.box-sidebar--coupon .tb-btns .tb-annulla{background:#d9e8f6;color:#1E63A4}
.box-sidebar--coupon .tb-btns .tb-annulla:hover{background:#c7dcf0}
/* STATO VUOTO come il mockup: messaggio in CARD BIANCA centrata */
.box-sidebar--coupon .tb-vuoto{background:#fff;border-radius:8px;margin:10px;padding:20px 12px;
  color:#6b86a3;font-size:12.5px;opacity:1}
.box-sidebar--coupon .tb-blocco{background:transparent;margin:0}
/* zona «Save/load events»: titolo-link blu centrato sopra divisore tratteggiato,
   input bianco, Salva VERDE (grigio solo da disabilitato), Carica azzurro */
.box-sidebar--coupon .cpn-code{border-top:1px dashed #b7c9db;margin-top:4px;padding-top:8px}
.box-sidebar--coupon .cpn-code-h{text-align:center;color:#1E63A4;font-weight:700;font-size:12px;
  text-decoration:underline;text-underline-offset:2px;text-transform:none;letter-spacing:0}
.box-sidebar--coupon .cpn-code-in{background:#fff;border:1px solid #bcd4ea;border-radius:6px;
  color:#12314f;font-size:12.5px}
.box-sidebar--coupon .cpn-save{background:#8DC63F;color:#fff;font-weight:800}
.box-sidebar--coupon .cpn-save:hover{background:#7ab829}
.box-sidebar--coupon .cpn-save:disabled{background:#dbe4ee;color:#93a6bd}
.box-sidebar--coupon .cpn-load{background:#d9e8f6;color:#1E63A4;font-weight:800}
.box-sidebar--coupon .cpn-load:hover{background:#c7dcf0}
/* micro-classi nate spostando gli style= inline di schedina.html (regola Dav) */
.box-sidebar--coupon .tb-dim{opacity:.6}
.box-sidebar--coupon .tb-val-in{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end}
.box-sidebar--coupon .tb-val-in .tb-amount{max-width:88px}
.box-sidebar--coupon .tb-sys-row.una{grid-template-columns:1fr}
.box-sidebar--coupon .tb-note-pad{padding:0 12px 8px;margin:0}
.box-sidebar--coupon .tb-ta-r{text-align:right}

/* ────────────────────────────────────────────────────────────────────────────
   Dav 25/07 09:05 (ri-segnalato) — HEADER DA LOGGATO come lo screen 2 del mockup.
   Blocco ACCOUNT a due righe (nome utente sopra, saldo+occhio sotto), click sul
   blocco = submenu (Esci sta lì dentro); Deposita = icona «$» del tema; Premi =
   sola icona regalo del tema (ritargata a /player/premios dal wiring). L'EMAIL
   non compare mai nell'header (riservatezza): senza username → «Il mio conto».
   ──────────────────────────────────────────────────────────────────────────── */
/* ⚠️ IL TETTO DEVE COMPRENDERE L'IMBOTTITURA (Dav 27/07, trappola misurata dal vivo: con un
   nome lungo il chip passava da 171px a 212px e spingeva sul resto della testata). Il tetto era
   `max-width:200px` ma `.hu-user` ha `padding:6px 12px`: senza `border-box` i 24px si sommavano
   al tetto invece di starci dentro. E il nome non ha più una misura PROPRIA (erano 150px fissi,
   che con avatar e freccina sfondavano comunque i 200): si stringe fino a quanto gli lascia la
   colonna, e i puntini fanno il resto. Il nome intero resta nel `title` (vedi barra_utility). */
.hu .hu-user{display:flex;align-items:center;gap:7px;box-sizing:border-box;max-width:200px;min-width:0}
.hu .hu-user > .mdi,
.hu .hu-user > .hu-caret{flex:none}     /* avatar e freccina non si schiacciano mai */
.hu .hu-acc-col{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15}
.hu .hu-acc-col .hu-nome{font-weight:800;font-size:12.5px;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* il saldo sotto il nome: cifra piccola + occhio mini, niente sfondo proprio */
.hu .hu-acc-col .hu-saldo{display:inline-flex;align-items:center;gap:4px;background:none;
  border:0;padding:0;margin:0;font-size:11px;opacity:.85}
.hu .hu-acc-col .hu-cifra{font-weight:700;font-variant-numeric:tabular-nums}
.hu .hu-acc-col .hu-eye{padding:0 2px;font-size:11px;line-height:1}
/* l'icona portafoglio accanto all'account (il 💳 del mockup) */
.hu .hu-ic--wallet .mdi{font-size:15px;line-height:1}
/* Angelo 25/07 — ORA DEL SITO nell'header loggato («IT / 02:39» dello screen 2):
   dentro il bottone lingua, cifre tabellari, separata dalla sigla con un filo */
.hu .hu-clock{font-variant-numeric:tabular-nums;font-weight:700;font-size:11.5px;opacity:.9;
  border-left:1px solid rgba(255,255,255,.25);padding-left:6px;margin-left:2px}
/* i vecchi elementi rimossi non esistono più nel markup; qui nessuna regola-zombie. */

/* (spostati da _header_fixes.html — regola «niente <style> nelle pagine») */
/* ⚠️ RICORRENTE (Dav): in HOME niente barra sport-tipo sopra il contenuto. Scoped a
   body--index così non tocca sport/evento dove il carosello serve. */
body.body--index .box-main--typemarket-container{display:none !important}
body.body--index .box-main--top:has(> .box-main--center.box-main--typemarket-container){display:none !important}
/* CASINO: banner tornei/promo demo importati NASCOSTI per ora (Angelo 24/07). REVERSIBILE.
   Dav 25/07: la pagina Promozioni VERA usa il wrapper del tema per farsi vestire — il
   marcatore .tb-promo-vera la salva dallo spegni-demo. */
.casino-promo--carousel{display:none !important}
.casino-promo:not(.tb-promo-vera){display:none !important}

/* ────────────────────────────────────────────────────────────────────────────
   Dav 25/07 09:30 — la strip sport della barra: lo sport ATTIVO porta il bordo
   verde sotto, STESSO effetto dell'hover. Il tema ha GIÀ hover+active nella
   stessa regola, ma poi ANNULLA l'active proprio qui con
   «.tab-item--active:not(:hover){border-color:var(--trasp)}».
   Qui si neutralizza quella riga RIUSANDO la variabile dell'hover del tema:
   misurato dal vivo, su questa strip l'hover rende var(--tertiary-border)
   (#7dac2e, il verde) — NON --secondary-border, che in questo tema è navy.
   Stesso verde per costruzione, nessun secondo verde inventato. */
.box-main--type-c .box-main--wrapper .box-main--middle .tab-items--ctm .tab-item--ctm.tab-item--active:not(:hover){
  border-color:var(--tertiary-border)}

/* Angelo 25/07 — tabellina parziali della testata evento: il wrapper era uno style inline;
   ora è la classe-gancio che lo swap 60s rimpiazza per la colonna del nuovo set. */
.tb-ev-sets-wrap{display:flex;justify-content:center;margin:2px 0 0}

/* ────────────────────────────────────────────────────────────────────────────
   Dav 25/07 10:50 — QUOTA AUMENTATA col design dello screen 2 (mockup LOCALE
   a/live-betting.html): la card è ora `carousel-item` + carousel-item--topinfo/
   match/odds + qt-btn — CLASSI DELLA FAMIGLIA, vestite dal CSS del tema di ogni
   skin. Qui SOLO la colla: striscia scrollabile, frecce, larghezza card, prezzo
   vecchio barrato. (Era il <style> scoped del widget quota_boost: spostato qui,
   regola «niente CSS nelle pagine».) La barra-progresso «1st Half» del mockup
   NON si applica ai boost (nessun dato periodo) — non inventata.
   ──────────────────────────────────────────────────────────────────────────── */
.qbrow{margin:10px auto;max-width:100%;min-width:0;position:relative}
.qbrow-h{display:flex;align-items:center;gap:8px;padding:0 4px 8px;font-weight:900;
  color:#e7edf5;font-size:.95em;letter-spacing:.02em}
.qbrow-h .fire{color:#ff5a3c}
.qbrow-scroll{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;
  padding:2px 2px 6px;min-width:0;scrollbar-width:thin;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain}
.qbrow-scroll::-webkit-scrollbar{height:6px}
.qbrow-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:6px}
.qbrow:not(.qb-atend)::after{content:"";position:absolute;top:26px;right:0;bottom:8px;width:38px;
  pointer-events:none;background:linear-gradient(90deg,rgba(11,22,38,0),rgba(11,22,38,.55));z-index:2}
/* la card: GUSCIO BIANCO dello screen 2 (fuori dal carosello del tema le classi
   carousel-item non prendono il fondo: qui la si veste come nel mockup) */
.qbrow .qbcard{flex:0 0 300px;max-width:300px;cursor:pointer;background:#fff;color:#12314f;
  border:1px solid rgba(28,66,103,.14);border-radius:10px;padding:9px 11px 10px;
  box-shadow:0 4px 14px rgba(6,16,30,.25);transition:transform .12s,box-shadow .12s;
  display:flex;flex-direction:column;gap:6px}
.qbrow .qbcard:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(6,16,30,.4)}
.qbrow .qbcard .carousel-item--topinfo{display:flex;align-items:center;gap:7px;
  font-size:11px;font-weight:700;color:#5b7793;text-transform:uppercase;letter-spacing:.03em}
.qbrow .qbcard .carousel-item--topinfo .btn-live--ctm{margin-left:auto}
.qbrow .qbcard .carousel-item--match{display:flex;flex-direction:column;gap:3px;min-height:44px}
.qbrow .qbcard .match-home b{color:#1E63A4;font-size:13px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;display:block}
.qbrow .qb-leg{display:flex;align-items:baseline;gap:5px;font-size:12px;color:#22303f;min-width:0}
.qbrow .qb-leg .mdi{color:#5b7793;font-size:12px}
.qbrow .qb-leg .qb-ev{opacity:.55;font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qbrow .qb-fire{font-size:14px;line-height:1}
.qbrow .qb-orig{opacity:.5;font-weight:600;margin-right:4px}
.qbrow .qb-go{width:100%}
.qbrow-arrow{position:absolute;top:50%;transform:translateY(-6px);z-index:3;width:34px;height:34px;
  border-radius:50%;border:0;background:rgba(11,22,38,.9);color:#fff;font-size:18px;cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center}
.qbrow-arrow--l{left:4px}.qbrow-arrow--r{right:4px}
.qbrow-arrow[hidden]{display:none}

/* ────────────────────────────────────────────────────────────────────────────
   Dav 27/07 11:15 — PREMATCH IN EVIDENZA **con lo stesso design di Quota
   Aumentata**: *«puoi farli con lo stesso design del box sotto»*.
   Prima erano riquadri SCURI squadrati appoggiati sul fondo blu: sembravano un
   pezzo della pagina, non degli oggetti. Ora vestono come `.qbcard` — guscio
   BIANCO, angoli arrotondati, ombra, stacco dal fondo.

   🔴 IL PUNTO DELLA CARD è che le due sezioni SI SOMIGLINO: quindi i valori qui
   sotto NON sono scelti da capo, sono gli stessi di `.qbrow .qbcard` (fondo
   #fff, bordo rgba(28,66,103,.14), raggio 10px, ombra 0 4px 14px, il sollevarsi
   di 2px al passaggio). Ogni scostamento sarebbe un errore, non una variante.

   ⚠️ IL FONDO CHIARO CAMBIA IL CONTRASTO: il testo di queste card era scritto
   per fondo scuro (#e7edf5 e opacità basse). Riletto TUTTO, non solo il titolo —
   lega, orario, nomi squadra, nome mercato e i numeri delle quote — sulla stessa
   scala di grigi/blu della card modello (#12314f testo, #5b7793 etichette,
   #1E63A4 il nome squadra come `.match-home b`).

   ⚠️ LE PASTIGLIE DELLE QUOTE restano quelle: stessa struttura, stesso clic,
   stesso stato «selezionato» — che resta `var(--tb-quota-sel)` e NON un blu
   scritto a mano (Dav 27/07: un colore solo per il selezionato). Cambia solo
   ciò che serve per vedersi su bianco: bordo e fondo passano dal bianco
   trasparente al blu trasparente.
   ──────────────────────────────────────────────────────────────────────────── */
.pmrow{margin:10px auto;max-width:100%;min-width:0;position:relative}
.pmrow-h{display:flex;align-items:center;gap:8px;padding:0 4px 8px;font-weight:900;
  color:#e7edf5;font-size:.95em;letter-spacing:.02em}
.pmrow-h .ball{filter:saturate(1.2)}
/* 📌 lo scorrimento resta (Dav: si vede la sesta card tagliata col chevron). Il padding
   verticale è più largo del vecchio: con l'ombra serve spazio, o le ombre si tagliano. */
.pmrow-scroll{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;
  padding:6px 2px 12px;min-width:0;scrollbar-width:thin;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain}
.pmrow-scroll::-webkit-scrollbar{height:6px}
.pmrow-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:6px}
.pmrow:not(.pm-atend)::after{content:"";position:absolute;top:26px;right:0;bottom:8px;width:38px;
  pointer-events:none;background:linear-gradient(90deg,rgba(11,22,38,0),rgba(11,22,38,.55));z-index:2}

/* la card: lo stesso guscio bianco di `.qbrow .qbcard` */
.pmcard{flex:0 0 280px;max-width:280px;cursor:pointer;background:#fff;color:#12314f;
  border:1px solid rgba(28,66,103,.14);border-radius:10px;overflow:hidden;
  box-shadow:0 4px 14px rgba(6,16,30,.25);transition:transform .12s,box-shadow .12s}
.pmcard:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(6,16,30,.4)}
/* l'intestazione a pastiglia con l'icona: le stesse misure di `.carousel-item--topinfo` */
.pmcard-h{display:flex;align-items:center;gap:7px;padding:8px 11px;font-size:11px;font-weight:700;
  letter-spacing:.03em;text-transform:uppercase;color:#5b7793;background:rgba(28,66,103,.06);
  border-bottom:1px solid rgba(28,66,103,.10);white-space:nowrap;overflow:hidden}
.pmcard-h img{width:16px;height:12px;object-fit:cover;border-radius:2px;flex:0 0 auto}
.pmcard-h .lg{overflow:hidden;text-overflow:ellipsis}
.pmcard-h .dt{margin-left:auto;flex:0 0 auto;color:#7d93aa;font-variant-numeric:tabular-nums}
.pmcard-b{padding:10px 11px 11px}
.pmcard-team{display:flex;align-items:center;gap:7px;font-weight:800;font-size:13px;
  color:#1E63A4;margin-bottom:4px;min-width:0}
.pmcard-team img{width:16px;height:12px;object-fit:cover;border-radius:2px;flex:0 0 auto}
.pmcard-team .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmcard-mkt{font-size:11px;color:#5b7793;font-weight:700;margin:7px 0 5px;letter-spacing:.04em;
  text-transform:uppercase}
.pmcard-odds{display:flex;gap:6px}
.pmcard-odd{flex:1 1 0;border:1px solid rgba(28,66,103,.18);border-radius:8px;
  background:rgba(28,66,103,.05);color:#12314f;cursor:pointer;padding:7px 4px 6px;
  text-align:center;transition:background .12s,border-color .12s}
.pmcard-odd:hover{background:color-mix(in srgb, var(--tb-quota-sel) 16%, transparent);
  border-color:color-mix(in srgb, var(--tb-quota-sel) 60%, transparent)}
/* lo stato «selezionato» viene dalla variabile del tema, mai un blu scritto a mano */
.pmcard-odd.on{background:var(--tb-quota-sel);border-color:var(--tb-quota-sel-line);
  color:var(--tb-quota-sel-ink)}
.pmcard-odd .lbl{display:block;font-size:10px;font-weight:700;color:#7d93aa;margin-bottom:2px}
.pmcard-odd.on .lbl{color:inherit;opacity:.85}
.pmcard-odd .val{display:block;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums}
.pmrow-arrow{position:absolute;top:50%;transform:translateY(-6px);z-index:3;width:34px;height:34px;
  border-radius:50%;border:0;background:rgba(11,22,38,.9);color:#fff;font-size:18px;cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center}
.pmrow-arrow--l{left:4px}.pmrow-arrow--r{right:4px}
.pmrow-arrow[hidden]{display:none}

/* ═══ CASINÒ a caricamento progressivo (Dav 25/07) — griglia, card, filtri, segnaposto ═══ */
.tb-cas{padding:2px 2px 40px}
.tb-cas-bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:10px 4px 14px}
.tb-cas-search{position:relative;flex:1 1 220px;min-width:180px}
.tb-cas-search .mdi{position:absolute;left:11px;top:50%;transform:translateY(-50%);opacity:.55;font-size:15px}
.tb-cas-search input{width:100%;box-sizing:border-box;padding:9px 12px 9px 34px;border-radius:999px;
  border:1px solid rgba(128,150,180,.28);background:rgba(255,255,255,.04);color:inherit;font-size:.95em}
.tb-cas-tabs{display:flex;flex-wrap:wrap;gap:6px}
.tb-cas-tab{border:1px solid rgba(128,150,180,.28);background:transparent;color:inherit;cursor:pointer;
  border-radius:999px;padding:6px 14px;font-weight:700;font-size:.85em;transition:all .12s;white-space:nowrap}
.tb-cas-tab:hover{background:rgba(128,150,180,.12)}
.tb-cas-tab.on{background:linear-gradient(135deg,#1c4267,#276aa6);color:#fff;border-color:transparent}
.tb-cas-tab small{opacity:.65;font-weight:600;margin-left:3px}
.tb-cas-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-items:start}
@media(max-width:560px){.tb-cas-grid{grid-template-columns:repeat(3,1fr);gap:8px}}
.tb-cg{position:relative;display:block;aspect-ratio:3/4;border-radius:12px;overflow:hidden;
  background:linear-gradient(150deg,#16283e,#0d1826);border:1px solid rgba(255,255,255,.06);
  text-decoration:none;color:#eaf2f8;box-shadow:0 6px 16px rgba(2,10,20,.35);transition:transform .12s,box-shadow .12s}
.tb-cg:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(2,10,20,.55)}
/* SEGNAPOSTO: iniziale del nome su fondo tema — visibile finché l'immagine non c'è/carica */
.tb-cg-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:2.4em;font-weight:900;color:rgba(255,255,255,.14);letter-spacing:.02em;
  background:radial-gradient(120% 90% at 50% 0,rgba(39,106,166,.30),transparent 70%)}
.tb-cg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1;background:transparent}
.tb-cg-foot{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px 8px 7px;
  background:linear-gradient(180deg,transparent,rgba(6,12,22,.86));display:flex;flex-direction:column;gap:5px}
.tb-cg-name{font-size:.8em;font-weight:700;line-height:1.15;overflow:hidden;text-overflow:ellipsis;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.3em}
.tb-cg-play{align-self:flex-start;font-size:.68em;font-weight:800;color:#0b1626;
  background:linear-gradient(180deg,#f5b301,#e79a00);border-radius:7px;padding:4px 10px;opacity:0;transition:opacity .12s}
.tb-cg:hover .tb-cg-play,.tb-cg:focus-visible .tb-cg-play{opacity:1}
.tb-cas-empty{padding:30px 12px;text-align:center;opacity:.6}
.tb-cas-more{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 0 6px}
.tb-cas-more[hidden]{display:none}
.tb-cas-more-btn,#tb-cas-more-btn{border:1px solid rgba(128,150,180,.35);background:rgba(255,255,255,.05);
  color:inherit;cursor:pointer;border-radius:999px;padding:9px 20px;font-weight:700;font-size:.9em}
.tb-cas-more-btn:hover,#tb-cas-more-btn:hover{background:rgba(128,150,180,.15)}
.tb-cas-spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(128,150,180,.35);
  border-top-color:#f5b301;animation:tbcasspin .7s linear infinite;display:none}
.tb-cas-more.busy .tb-cas-spin{display:inline-block}
.tb-cas-more.busy #tb-cas-more-btn{opacity:.5;pointer-events:none}
@keyframes tbcasspin{to{transform:rotate(360deg)}}

/* ═══ PAGINA PROMOZIONI come mockup (Dav 25/07) — tab, card, countdown, segnaposto ═══ */
.tb-promo{padding:2px 2px 40px}
.tb-promo-tabs{display:flex;gap:8px;justify-content:center;padding:6px 0 18px;border-bottom:1px solid rgba(128,150,180,.18);margin-bottom:18px}
.tb-promo-tab{border:0;background:transparent;color:inherit;cursor:pointer;font-weight:800;font-size:.95em;
  padding:8px 16px;border-radius:999px;opacity:.7;transition:all .12s}
.tb-promo-tab:hover{opacity:1;background:rgba(128,150,180,.10)}
.tb-promo-tab.on{opacity:1;color:#f5b301;box-shadow:inset 0 -2px 0 #f5b301;border-radius:0}
.tb-promo-tab small{opacity:.6;font-weight:600;margin-left:3px}
.tb-promo-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start}
.tb-promo-card{position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#16283e,#0d1826);
  border:1px solid rgba(255,255,255,.07);box-shadow:0 8px 22px rgba(2,10,20,.4)}
.tb-promo-ph{height:150px;display:flex;align-items:center;justify-content:center;position:relative;
  background:radial-gradient(120% 100% at 50% 0,rgba(39,106,166,.5),#0d1826 72%)}
.tb-promo-ph span{font-size:3.4em;font-weight:900;color:rgba(255,255,255,.22)}
.tb-promo-ph--cup span{font-size:3em;opacity:.85}
.tb-promo-badge{position:absolute;top:10px;right:10px;z-index:2;font-size:.66em;font-weight:900;letter-spacing:.06em;
  text-transform:uppercase;color:#0b1626;background:linear-gradient(180deg,#8ce06b,#4fb52b);border-radius:6px;padding:4px 9px}
.tb-promo-amt{position:absolute;top:130px;left:10px;z-index:2;font-weight:900;font-size:.9em;color:#0b1626;
  background:linear-gradient(180deg,#f5b301,#e79a00);border-radius:7px;padding:4px 11px}
.tb-promo-body{padding:16px 14px 14px}
.tb-promo-title{margin:0 0 6px;font-size:1.02em;font-weight:900;letter-spacing:.02em}
.tb-promo-desc{margin:0 0 12px;font-size:.86em;opacity:.75;line-height:1.45}
.tb-promo-count{margin:0 0 12px}
.tb-promo-count-lab{display:block;font-size:.66em;text-transform:uppercase;letter-spacing:.08em;opacity:.55;font-weight:800;margin-bottom:5px}
.tb-promo-count-v{display:flex;gap:8px;align-items:baseline;font-variant-numeric:tabular-nums}
.tb-promo-count-v b{font-size:1.25em;font-weight:900;background:rgba(255,255,255,.07);border-radius:7px;padding:3px 8px;min-width:34px;text-align:center;display:inline-block}
.tb-promo-count-v i{font-style:normal;font-size:.62em;opacity:.55;font-weight:700;margin-right:4px}
.tb-promo-acts{display:flex;flex-direction:column;gap:8px}
.tb-promo-btn{border:0;cursor:pointer;border-radius:8px;padding:9px 12px;font-weight:800;font-size:.82em;text-align:center}
.tb-promo-btn--more{background:linear-gradient(180deg,#8ce06b,#4fb52b);color:#0b1626}
.tb-promo-btn--more:hover{filter:brightness(1.05)}
.tb-promo-reg{margin-top:8px;font-size:.8em;opacity:.8;line-height:1.5;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.tb-promo-none{grid-column:1/-1;padding:34px 12px;text-align:center;opacity:.6}
/* copertina promo opzionale: se c'è copre il segnaposto; se manca/rompe resta il segnaposto */
.tb-promo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}

/* ────────────────────────────────────────────────────────────────────────────
   Dav 25/07 15:18-15:23 — quattro punti riaperti (card «non corrispondono»).
   1) PROMOZIONI: card riallineata alle CLASSI DEL TEMPLATE (casino-promo--item
   del mockup casino-promo.html): il vestito lo dà il CSS del tema; qui solo la
   colla della griglia e il segnaposto per le promo senza immagine. NB: la regola
   sopra che spegne i banner demo colpisce SOLO i wrapper .casino-promo/.--carousel,
   non le card sciolte. */
/* griglia = la variante --grid DEL TEMA (larghezze 25/33/50/100% responsive sue);
   qui solo il wrap di sicurezza se il tema non lo dichiara */
.tb-promo-vera .casino-promo--wrapper{display:flex;flex-wrap:wrap}
/* SEGNAPOSTO promo senza immagine: il tema mette position:absolute su OGNI span dentro
   --img (è pensato per i badge prize/status) e il segnaposto usciva dal flusso facendo
   collassare la card: qui torna in flusso, con la specificità per vincere. */
.tb-promo-vera .casino-promo--item .casino-promo--img .tb-promo-ph{position:static !important;
  display:flex !important;align-items:center;justify-content:center;width:100%;height:150px;
  background:radial-gradient(120% 90% at 50% 0,rgba(39,106,166,.35),rgba(12,26,44,.9));
  border-radius:5px}
.tb-promo-vera .casino-promo--img .tb-promo-ph i{font-style:normal;font-size:2.6em;
  font-weight:900;color:rgba(255,255,255,.35)}
.tb-promo-reg{padding:10px 14px;font-size:12.5px;opacity:.85}

/* 4a) BREADCRUMB EVENTO: la regola dettata da Dav copriva gli <span> — ma nel
   breadcrumb ci sono anche <a> (la lega, la partita) rimasti a 16px («il secondo
   span si vede ancora grande»). STESSI valori dettati, estesi agli anchor. */
.box-main--left a:not(.mdi) {
  font-size: 11px;
  line-height: 1;
  max-width: 160px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

/* 4b) TAB SPORT SULL'EVENTO: aprendo un evento dalla lista (swap parziale) la
   strip sport della home restava sopra il tabellone («le tabs sopra che non
   devono esserci»). Il body porta già tb-su-evento (lo mette _central_swap, anche
   al primo load): qui la strip si spegne — e ricompare tornando alla lista. */
body.tb-su-evento .box-main--sports-tab{display:none !important}

/* Countdown riserva nel dettaglio coupon (A32 26/07): i secondi che restano all'operatore
   per accettare la giocata live — indicazione, mai un esito. */
.tb-refuse-cd { margin-left: 8px; color: #b8860b; font-variant-numeric: tabular-nums; }

/* Countdown riserva nella riga Importo dello slip (A32 26/07): dentro l'etichetta, riga
   stretta — il campo dei soldi NON si comprime mai, semmai si tronca il contatore. */
.tb-cp-row .tb-cd-slot{margin-left:6px;color:#c79212;font-size:11px;font-weight:700;
  font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;max-width:64px;
  display:inline-block;vertical-align:baseline}
.tb-cp-row .tb-cd-slot:empty{display:none}
.tb-cp-row .tb-amount{flex-shrink:0}

/* ────────────────────────────────────────────────────────────────────────────
   26/07 (giro di controllo → card «la scheda sport e la lista non si parlano»):
   la STRIP SPORT DEMO del grafico (Soccer/Basket/Golf/MMA, tutti href="#",
   «Soccer» attivo DI FABBRICA nel markup) conviveva con la strip vera: chi
   guardava credeva il filtro calcio, con la lista mista sotto — e avrebbe
   potuto giocare un altro sport senza accorgersene. Bottoni finti = spenti.
   LA CLASSE, NON L'ESEMPIO: qualunque strip di tab senza NESSUN link vero ai
   filtri (/player/) è demo e sparisce; le strip vere (sport_tabs_box, menu
   sport) hanno sempre href reali e non vengono toccate. */
.tab-items--ctm:not(:has(a[href*="/player/"])){display:none !important}

/* ────────────────────────────────────────────────────────────────────────────
   26/07 URGENTE (card «promesse false al giocatore»): residui di MOCKUP che un
   giocatore CREDE veri. Via dalla vista — la testata regge, sotto c'è il casinò vero.
   Stessa filosofia della strip sport demo qui sopra: si nasconde ciò che è finto.

   1) BANNER-TESTATA del casinò (top-hero--casino): carosello di immagini mockup coi
      bottoni finti «Play Now! / Get Bonus! / Find out more» e la falsa promessa del
      «50% di bonus il martedì». Quel bonus NON esiste (ed è pure in inglese): un
      giocatore che deposita aspettandoselo è un reclamo certo. Nascosto finché non c'è
      lo slot promo VERO (le promozioni esistono nel backoffice).
   2) «SPINO LEAGUE» (casino-promo--carousel): 6 tornei INVENTATI col conto alla rovescia
      che scorre davvero — il pezzo più credibile di tutti. Nessun torneo esiste. Via;
      resta lo spazio per i tornei veri, semmai ci saranno. Nessuna funzione nostra lo usa. */
.top-hero--casino,
.casino-promo--carousel { display: none !important; }

/* ════════════════════════════════════════════════════════════════════════════
   27/07 — Dav, i due difetti della SCHEDA PARTITA.
   ════════════════════════════════════════════════════════════════════════════

   1 · LA QUOTA SELEZIONATA È BLU, E LO STESSO BLU DAPPERTUTTO
   ────────────────────────────────────────────────────────────────────────────
   «Le quote selezionate/attive mettile con il blu, non mischiamo colori». Non era
   un capriccio: misurato prima della modifica, lo stesso stato «questa quota è nel
   coupon» usciva di TRE colori diversi a seconda di dove lo guardavi — azzurro
   slavato con testo bianco nella scheda partita (illeggibile), grigino con testo
   VERDE nell'elenco partite, oro pieno in «Prematch in evidenza».

   IL COLORE NON È SCRITTO NELLE REGOLE: sta nelle variabili qui sotto, una volta.
   Una skin che vuole il suo blu dichiara `--qt-selected` (e la coppia) nel proprio
   foglio o nel <head>. Noi `--qt-selected` non la dichiariamo MAI: così la sua
   vince sempre e tutte le superfici si spostano insieme, che è esattamente ciò che
   scrivere un codice colore a mano impedirebbe. Il ripiego è il blu del prodotto,
   quello che la scheda partita già usa per il selettore delle linee Over/Under.

   ⚠️ L'ORO RESTA IL DENARO (regola della casa): qui cambia solo lo stato
   «selezionato», non gli importi.

   `!important` è necessario: il tema importato si dipinge da solo
   `.qt-box .qt-btn:not(.qt-btn--number).active` (specificità più alta della
   nostra) e arriva da un foglio caricato prima del nostro.

   NON sono quote e restano com'erano: i filtri di data (`.pm-today-opt`,
   `.eg-chip`) e il selettore di linea Over/Under — quelli scelgono cosa guardi,
   non cosa giochi. */
:root{
  --tb-quota-sel:      var(--qt-selected,      #276aa6);
  --tb-quota-sel-ink:  var(--qt-selected-ink,  #ffffff);
  --tb-quota-sel-line: var(--qt-selected-line, #1c4267);
}

/* scheda partita e liste del tema (.qt-btn), dettaglio base (.chip), griglia WIDE
   (.lcw-q), elenco home (.he-od), mercati evento (.evm-od), Prematch in evidenza
   (.pmcard-odd). La vista asiatica usa `.qt-btn` del tema: è già dentro. */
.qt-btn.qt-btn--active,
.qt-btn.active,
.chip.on,
.lcw-q.on,
.he-od.on,
.evm-od.on,
.pmcard-odd.on{
  background:var(--tb-quota-sel) !important;
  background-image:none !important;          /* spegne le vecchie tinte a gradiente */
  border-color:var(--tb-quota-sel-line) !important;
  color:var(--tb-quota-sel-ink) !important;
  box-shadow:inset 0 0 0 1px var(--tb-quota-sel-line) !important;
  outline:none !important;
  font-weight:800;
}
/* nome e valore dentro il bottone: il tema li colora a parte (`.qt-btn.active > span`,
   `> label`), quindi senza questo restavano della tinta di prima sopra il blu */
.qt-btn.qt-btn--active > *,
.qt-btn.active > *,
.chip.on .lbl, .chip.on .px,
.he-od.on *, .evm-od.on *, .pmcard-odd.on *{color:var(--tb-quota-sel-ink) !important}

/* Anche il PASSAGGIO DEL MOUSE su una quota segue lo stesso colore: un alone oro accanto
   a una selezione blu è di nuovo «mischiamo colori». Le altre superfici lo prendono dal
   proprio foglio; «Prematch in evidenza» ha il suo <style> dentro al template — che nel
   corpo della pagina viene DOPO questo foglio — quindi qui serve `!important`. */
.pmcard-odd:not(.on):hover{
  background:color-mix(in srgb, var(--tb-quota-sel) 22%, transparent) !important;
  border-color:color-mix(in srgb, var(--tb-quota-sel) 60%, transparent) !important;
}

/* 2 · IL CENTRO HA UNA PARTITA: VIA I RESTI DELLA VETRINA
   ────────────────────────────────────────────────────────────────────────────
   «Selezionando il menu Under/Over dentro una partita ricompare il menu sport
   bianco in alto» · «vale per QUALSIASI voce nei tabs».

   La causa non è nei tab. Aprendo una partita dalla lista si carica SOLO la colonna
   centrale (`_central_swap`): la scheda entra dentro `.match-list--main` e tutto ciò
   che nella vetrina le sta SOPRA — dentro `.main-container` ma fuori da quel
   riquadro — resta appeso lì. Sono tre blocchi: la barra sport col riquadro bianco
   («Con live streaming» + la strip demo del tema + la ricerca), «Quota aumentata»
   e «Prematch in evidenza». Aprendo la stessa partita per indirizzo diretto non c'è
   nessuno dei tre: la pagina intera non li rende proprio. Quindi qui non si
   inventa una regola nuova, si RIMETTE LA PARITÀ col caricamento pieno.

   Si NASCONDE, non si toglie dal DOM: tornando alla vetrina il caricamento parziale
   rimpiazza solo `.match-list--main`, e ciò che avessimo rimosso non tornerebbe più.
   La classe `tb-su-evento` la mette e la toglie `_central_swap` a ogni cambio di
   centro (anche al primo caricamento), quindi la vetrina resta intera.

   Niente `:has()` qui: verificato dal vivo su questa pagina che una regola
   `:not(:has(...))` presente in questo stesso foglio NON viene applicata dal
   browser (il selettore combacia in JS, ma il motore CSS non la fa vincere). */
body.tb-su-evento .box-main--sports-tab,
body.tb-su-evento .qbrow,
body.tb-su-evento .pmrow,
body.tb-su-evento .carousel-sliderhome,
body.tb-su-evento .carousel-slidermini{display:none !important}

/* ⚖️ IL TAGLIO DA CONFERMARE (A32, 28/07) — la vincita vera PRIMA di giocare.
   Deve saltare all'occhio senza sembrare un errore: è un'informazione, non un rifiuto. Il
   numero vecchio resta barrato accanto al nuovo, così si vede COSA cambia e non solo che
   qualcosa è cambiato. */
.tb-taglio{margin:8px 0;padding:10px 12px;border-radius:10px;
  background:rgba(245,179,1,.10);border:1px solid rgba(245,179,1,.45)}
.tb-taglio-h{font-weight:800;font-size:.86em;color:#F5B301;margin-bottom:6px}
.tb-taglio-riga{font-size:.9em;display:flex;gap:8px;align-items:baseline;margin:2px 0}
.tb-taglio-riga s{opacity:.55}
.tb-taglio-riga b{font-size:1.05em;font-variant-numeric:tabular-nums}
.tb-taglio-perche{font-size:.8em;opacity:.8;margin-top:4px}
.tb-taglio .tb-scommetti{width:100%;margin-top:9px}



/* ── LA COLONNA DEL COUPON, PIÙ LARGA (Stefano, 30/07 14:54: «a me sembra troppo stretto così il
   coupon e brutto da vedere… secondo me la colonna del coupon dovrebbe essere un po' più larga»).
   Ha scelto la B dopo che gli avevo chiesto A o B, quindi la larghezza si tocca — con tre paletti:

   1. NON si modifica il foglio del tema (`theme-asset/1/css/styles.css`, dove sta il `250px`):
      quello arriva dal fornitore del tema e al primo aggiornamento la nostra modifica sparisce
      senza che nessuno se ne accorga. Si scavalca da casa nostra, che viene caricata dopo.
   2. SOLO da 1280px in su. Sotto quella soglia il centro della pagina — dove stanno gli eventi —
      pagherebbe ogni pixel dato al coupon: su un portatile da 1366 la lista si stringe e il
      rimedio diventa peggio del male.
   3. 310px, non «il doppio»: sono i 60px che servono a far stare «Import totale ×2» e i nomi
      degli incontri su una riga sola. Una colonna che cresce oltre il contenuto è spazio tolto
      alla parte per cui la gente è lì.
   ── */
@media (min-width: 1280px){
  .page-3--columns .main-wrapper .right-sidebar,
  .page-container--sport .main-wrapper .right-sidebar{width:310px;flex:0 0 310px}
}

/* E dentro la scheda: i nomi non si tagliano più coi puntini nemmeno nelle carte «cpn-» (sono
   quelle del tema che Stefano usa: nella sua foto si leggeva «South Africa Emergi…» e «Winner
   (incl. super …». Due righe al massimo, poi sì il taglio: un coupon da otto eventi non deve
   diventare una pagina. */
.cpn-match>span:first-child{white-space:normal;line-height:1.15;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cpn-leg-txt{white-space:normal;line-height:1.2;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
