/* 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;width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.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;width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.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:nowrap;overflow:hidden;text-overflow:ellipsis}
.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}

/* 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.svg);mask-image:url(/static/player/iconpack/sport/outline/american-football.svg)}
.ic-sport--athletics{-webkit-mask-image:url(/static/player/iconpack/sport/outline/athletics.svg);mask-image:url(/static/player/iconpack/sport/outline/athletics.svg)}
.ic-sport--badminton{-webkit-mask-image:url(/static/player/iconpack/sport/outline/badminton.svg);mask-image:url(/static/player/iconpack/sport/outline/badminton.svg)}
.ic-sport--bandy{-webkit-mask-image:url(/static/player/iconpack/sport/outline/bandy.svg);mask-image:url(/static/player/iconpack/sport/outline/bandy.svg)}
.ic-sport--baseball{-webkit-mask-image:url(/static/player/iconpack/sport/outline/baseball.svg);mask-image:url(/static/player/iconpack/sport/outline/baseball.svg)}
.ic-sport--basketball{-webkit-mask-image:url(/static/player/iconpack/sport/outline/basketball.svg);mask-image:url(/static/player/iconpack/sport/outline/basketball.svg)}
.ic-sport--beachvolley{-webkit-mask-image:url(/static/player/iconpack/sport/outline/beachvolley.svg);mask-image:url(/static/player/iconpack/sport/outline/beachvolley.svg)}
.ic-sport--biathlon{-webkit-mask-image:url(/static/player/iconpack/sport/outline/biathlon.svg);mask-image:url(/static/player/iconpack/sport/outline/biathlon.svg)}
.ic-sport--billiards{-webkit-mask-image:url(/static/player/iconpack/sport/outline/billiards.svg);mask-image:url(/static/player/iconpack/sport/outline/billiards.svg)}
.ic-sport--bowling{-webkit-mask-image:url(/static/player/iconpack/sport/outline/bowling.svg);mask-image:url(/static/player/iconpack/sport/outline/bowling.svg)}
.ic-sport--boxing{-webkit-mask-image:url(/static/player/iconpack/sport/outline/boxing.svg);mask-image:url(/static/player/iconpack/sport/outline/boxing.svg)}
.ic-sport--calendar{-webkit-mask-image:url(/static/player/iconpack/sport/outline/calendar.svg);mask-image:url(/static/player/iconpack/sport/outline/calendar.svg)}
.ic-sport--casino-play{-webkit-mask-image:url(/static/player/iconpack/sport/outline/casino-play.svg);mask-image:url(/static/player/iconpack/sport/outline/casino-play.svg)}
.ic-sport--chart{-webkit-mask-image:url(/static/player/iconpack/sport/outline/chart.svg);mask-image:url(/static/player/iconpack/sport/outline/chart.svg)}
.ic-sport--chart-2{-webkit-mask-image:url(/static/player/iconpack/sport/outline/chart-2.svg);mask-image:url(/static/player/iconpack/sport/outline/chart-2.svg)}
.ic-sport--chess{-webkit-mask-image:url(/static/player/iconpack/sport/outline/chess.svg);mask-image:url(/static/player/iconpack/sport/outline/chess.svg)}
.ic-sport--cricket{-webkit-mask-image:url(/static/player/iconpack/sport/outline/cricket.svg);mask-image:url(/static/player/iconpack/sport/outline/cricket.svg)}
.ic-sport--cup{-webkit-mask-image:url(/static/player/iconpack/sport/outline/cup.svg);mask-image:url(/static/player/iconpack/sport/outline/cup.svg)}
.ic-sport--cycling{-webkit-mask-image:url(/static/player/iconpack/sport/outline/cycling.svg);mask-image:url(/static/player/iconpack/sport/outline/cycling.svg)}
.ic-sport--darts{-webkit-mask-image:url(/static/player/iconpack/sport/outline/darts.svg);mask-image:url(/static/player/iconpack/sport/outline/darts.svg)}
.ic-sport--e-sports{-webkit-mask-image:url(/static/player/iconpack/sport/outline/e-sports.svg);mask-image:url(/static/player/iconpack/sport/outline/e-sports.svg)}
.ic-sport--f-e{-webkit-mask-image:url(/static/player/iconpack/sport/outline/f-e.svg);mask-image:url(/static/player/iconpack/sport/outline/f-e.svg)}
.ic-sport--f1{-webkit-mask-image:url(/static/player/iconpack/sport/outline/f1.svg);mask-image:url(/static/player/iconpack/sport/outline/f1.svg)}
.ic-sport--floorball{-webkit-mask-image:url(/static/player/iconpack/sport/outline/floorball.svg);mask-image:url(/static/player/iconpack/sport/outline/floorball.svg)}
.ic-sport--floorball-2{-webkit-mask-image:url(/static/player/iconpack/sport/outline/floorball-2.svg);mask-image:url(/static/player/iconpack/sport/outline/floorball-2.svg)}
.ic-sport--formula-e{-webkit-mask-image:url(/static/player/iconpack/sport/outline/formula-e.svg);mask-image:url(/static/player/iconpack/sport/outline/formula-e.svg)}
.ic-sport--gaelic-football{-webkit-mask-image:url(/static/player/iconpack/sport/outline/gaelic-football.svg);mask-image:url(/static/player/iconpack/sport/outline/gaelic-football.svg)}
.ic-sport--gaelic-hurling{-webkit-mask-image:url(/static/player/iconpack/sport/outline/gaelic-hurling.svg);mask-image:url(/static/player/iconpack/sport/outline/gaelic-hurling.svg)}
.ic-sport--golf{-webkit-mask-image:url(/static/player/iconpack/sport/outline/golf.svg);mask-image:url(/static/player/iconpack/sport/outline/golf.svg)}
.ic-sport--graph{-webkit-mask-image:url(/static/player/iconpack/sport/outline/graph.svg);mask-image:url(/static/player/iconpack/sport/outline/graph.svg)}
.ic-sport--handball{-webkit-mask-image:url(/static/player/iconpack/sport/outline/handball.svg);mask-image:url(/static/player/iconpack/sport/outline/handball.svg)}
.ic-sport--helmet{-webkit-mask-image:url(/static/player/iconpack/sport/outline/helmet.svg);mask-image:url(/static/player/iconpack/sport/outline/helmet.svg)}
.ic-sport--helmet-2{-webkit-mask-image:url(/static/player/iconpack/sport/outline/helmet-2.svg);mask-image:url(/static/player/iconpack/sport/outline/helmet-2.svg)}
.ic-sport--hockey{-webkit-mask-image:url(/static/player/iconpack/sport/outline/hockey.svg);mask-image:url(/static/player/iconpack/sport/outline/hockey.svg)}
.ic-sport--horse{-webkit-mask-image:url(/static/player/iconpack/sport/outline/horse.svg);mask-image:url(/static/player/iconpack/sport/outline/horse.svg)}
.ic-sport--horse-racing{-webkit-mask-image:url(/static/player/iconpack/sport/outline/horse-racing.svg);mask-image:url(/static/player/iconpack/sport/outline/horse-racing.svg)}
.ic-sport--hound{-webkit-mask-image:url(/static/player/iconpack/sport/outline/hound.svg);mask-image:url(/static/player/iconpack/sport/outline/hound.svg)}
.ic-sport--mma{-webkit-mask-image:url(/static/player/iconpack/sport/outline/mma.svg);mask-image:url(/static/player/iconpack/sport/outline/mma.svg)}
.ic-sport--mma-1{-webkit-mask-image:url(/static/player/iconpack/sport/outline/mma-1.svg);mask-image:url(/static/player/iconpack/sport/outline/mma-1.svg)}
.ic-sport--mma-2{-webkit-mask-image:url(/static/player/iconpack/sport/outline/mma-2.svg);mask-image:url(/static/player/iconpack/sport/outline/mma-2.svg)}
.ic-sport--most-played{-webkit-mask-image:url(/static/player/iconpack/sport/outline/most-played.svg);mask-image:url(/static/player/iconpack/sport/outline/most-played.svg)}
.ic-sport--moto{-webkit-mask-image:url(/static/player/iconpack/sport/outline/moto.svg);mask-image:url(/static/player/iconpack/sport/outline/moto.svg)}
.ic-sport--nordi-combined{-webkit-mask-image:url(/static/player/iconpack/sport/outline/nordi-combined.svg);mask-image:url(/static/player/iconpack/sport/outline/nordi-combined.svg)}
.ic-sport--piu{-webkit-mask-image:url(/static/player/iconpack/sport/outline/piu.svg);mask-image:url(/static/player/iconpack/sport/outline/piu.svg)}
.ic-sport--regulation-rugby{-webkit-mask-image:url(/static/player/iconpack/sport/outline/regulation-rugby.svg);mask-image:url(/static/player/iconpack/sport/outline/regulation-rugby.svg)}
.ic-sport--rugby{-webkit-mask-image:url(/static/player/iconpack/sport/outline/rugby.svg);mask-image:url(/static/player/iconpack/sport/outline/rugby.svg)}
.ic-sport--sailing{-webkit-mask-image:url(/static/player/iconpack/sport/outline/sailing.svg);mask-image:url(/static/player/iconpack/sport/outline/sailing.svg)}
.ic-sport--simulated-reality{-webkit-mask-image:url(/static/player/iconpack/sport/outline/simulated-reality.svg);mask-image:url(/static/player/iconpack/sport/outline/simulated-reality.svg)}
.ic-sport--ski{-webkit-mask-image:url(/static/player/iconpack/sport/outline/ski.svg);mask-image:url(/static/player/iconpack/sport/outline/ski.svg)}
.ic-sport--skiing{-webkit-mask-image:url(/static/player/iconpack/sport/outline/skiing.svg);mask-image:url(/static/player/iconpack/sport/outline/skiing.svg)}
.ic-sport--snooker{-webkit-mask-image:url(/static/player/iconpack/sport/outline/snooker.svg);mask-image:url(/static/player/iconpack/sport/outline/snooker.svg)}
.ic-sport--soccer{-webkit-mask-image:url(/static/player/iconpack/sport/outline/soccer.svg);mask-image:url(/static/player/iconpack/sport/outline/soccer.svg)}
.ic-sport--special{-webkit-mask-image:url(/static/player/iconpack/sport/outline/special.svg);mask-image:url(/static/player/iconpack/sport/outline/special.svg)}
.ic-sport--squash{-webkit-mask-image:url(/static/player/iconpack/sport/outline/squash.svg);mask-image:url(/static/player/iconpack/sport/outline/squash.svg)}
.ic-sport--star{-webkit-mask-image:url(/static/player/iconpack/sport/outline/star.svg);mask-image:url(/static/player/iconpack/sport/outline/star.svg)}
.ic-sport--swimming{-webkit-mask-image:url(/static/player/iconpack/sport/outline/swimming.svg);mask-image:url(/static/player/iconpack/sport/outline/swimming.svg)}
.ic-sport--table-tennis{-webkit-mask-image:url(/static/player/iconpack/sport/outline/table-tennis.svg);mask-image:url(/static/player/iconpack/sport/outline/table-tennis.svg)}
.ic-sport--tennis{-webkit-mask-image:url(/static/player/iconpack/sport/outline/tennis.svg);mask-image:url(/static/player/iconpack/sport/outline/tennis.svg)}
.ic-sport--timer{-webkit-mask-image:url(/static/player/iconpack/sport/outline/timer.svg);mask-image:url(/static/player/iconpack/sport/outline/timer.svg)}
.ic-sport--ultimo-minuto{-webkit-mask-image:url(/static/player/iconpack/sport/outline/ultimo-minuto.svg);mask-image:url(/static/player/iconpack/sport/outline/ultimo-minuto.svg)}
.ic-sport--volley{-webkit-mask-image:url(/static/player/iconpack/sport/outline/volley.svg);mask-image:url(/static/player/iconpack/sport/outline/volley.svg)}
.ic-sport--volleyball{-webkit-mask-image:url(/static/player/iconpack/sport/outline/volleyball.svg);mask-image:url(/static/player/iconpack/sport/outline/volleyball.svg)}
.ic-sport--vr{-webkit-mask-image:url(/static/player/iconpack/sport/outline/vr.svg);mask-image:url(/static/player/iconpack/sport/outline/vr.svg)}
.ic-sport--waterpolo{-webkit-mask-image:url(/static/player/iconpack/sport/outline/waterpolo.svg);mask-image:url(/static/player/iconpack/sport/outline/waterpolo.svg)}
.ic-sport--weather{-webkit-mask-image:url(/static/player/iconpack/sport/outline/weather.svg);mask-image:url(/static/player/iconpack/sport/outline/weather.svg)}
.ic-sport--winter{-webkit-mask-image:url(/static/player/iconpack/sport/outline/winter.svg);mask-image:url(/static/player/iconpack/sport/outline/winter.svg)}
.ic-sport--wrestling{-webkit-mask-image:url(/static/player/iconpack/sport/outline/wrestling.svg);mask-image:url(/static/player/iconpack/sport/outline/wrestling.svg)}
/* variante piena: .ic-sport--X.is-solid */
.ic-sport--alarm.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/alarm.svg);mask-image:url(/static/player/iconpack/sport/solid/alarm.svg)}
.ic-sport--american-football.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/american-football.svg);mask-image:url(/static/player/iconpack/sport/solid/american-football.svg)}
.ic-sport--arrow-1.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/arrow-1.svg);mask-image:url(/static/player/iconpack/sport/solid/arrow-1.svg)}
.ic-sport--badminton.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/badminton.svg);mask-image:url(/static/player/iconpack/sport/solid/badminton.svg)}
.ic-sport--bandy.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/bandy.svg);mask-image:url(/static/player/iconpack/sport/solid/bandy.svg)}
.ic-sport--baseball.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/baseball.svg);mask-image:url(/static/player/iconpack/sport/solid/baseball.svg)}
.ic-sport--basketball.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/basketball.svg);mask-image:url(/static/player/iconpack/sport/solid/basketball.svg)}
.ic-sport--bowling.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/bowling.svg);mask-image:url(/static/player/iconpack/sport/solid/bowling.svg)}
.ic-sport--boxing.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/boxing.svg);mask-image:url(/static/player/iconpack/sport/solid/boxing.svg)}
.ic-sport--calendar.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/calendar.svg);mask-image:url(/static/player/iconpack/sport/solid/calendar.svg)}
.ic-sport--chess.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/chess.svg);mask-image:url(/static/player/iconpack/sport/solid/chess.svg)}
.ic-sport--cricket.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/cricket.svg);mask-image:url(/static/player/iconpack/sport/solid/cricket.svg)}
.ic-sport--cup.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/cup.svg);mask-image:url(/static/player/iconpack/sport/solid/cup.svg)}
.ic-sport--cycling.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/cycling.svg);mask-image:url(/static/player/iconpack/sport/solid/cycling.svg)}
.ic-sport--darts.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/darts.svg);mask-image:url(/static/player/iconpack/sport/solid/darts.svg)}
.ic-sport--f-e.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/f-e.svg);mask-image:url(/static/player/iconpack/sport/solid/f-e.svg)}
.ic-sport--f1.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/f1.svg);mask-image:url(/static/player/iconpack/sport/solid/f1.svg)}
.ic-sport--floorball.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/floorball.svg);mask-image:url(/static/player/iconpack/sport/solid/floorball.svg)}
.ic-sport--gaelic-football.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/gaelic-football.svg);mask-image:url(/static/player/iconpack/sport/solid/gaelic-football.svg)}
.ic-sport--gaelic-hurling.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/gaelic-hurling.svg);mask-image:url(/static/player/iconpack/sport/solid/gaelic-hurling.svg)}
.ic-sport--golf.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/golf.svg);mask-image:url(/static/player/iconpack/sport/solid/golf.svg)}
.ic-sport--handball.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/handball.svg);mask-image:url(/static/player/iconpack/sport/solid/handball.svg)}
.ic-sport--hockey.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/hockey.svg);mask-image:url(/static/player/iconpack/sport/solid/hockey.svg)}
.ic-sport--horse.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/horse.svg);mask-image:url(/static/player/iconpack/sport/solid/horse.svg)}
.ic-sport--live-betting.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/live-betting.svg);mask-image:url(/static/player/iconpack/sport/solid/live-betting.svg)}
.ic-sport--market-movers.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/market-movers.svg);mask-image:url(/static/player/iconpack/sport/solid/market-movers.svg)}
.ic-sport--mma.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/mma.svg);mask-image:url(/static/player/iconpack/sport/solid/mma.svg)}
.ic-sport--most-played.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/most-played.svg);mask-image:url(/static/player/iconpack/sport/solid/most-played.svg)}
.ic-sport--moto.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/moto.svg);mask-image:url(/static/player/iconpack/sport/solid/moto.svg)}
.ic-sport--regulation-rugby.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/regulation-rugby.svg);mask-image:url(/static/player/iconpack/sport/solid/regulation-rugby.svg)}
.ic-sport--rugby.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/rugby.svg);mask-image:url(/static/player/iconpack/sport/solid/rugby.svg)}
.ic-sport--sailing.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/sailing.svg);mask-image:url(/static/player/iconpack/sport/solid/sailing.svg)}
.ic-sport--skiing.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/skiing.svg);mask-image:url(/static/player/iconpack/sport/solid/skiing.svg)}
.ic-sport--snooker.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/snooker.svg);mask-image:url(/static/player/iconpack/sport/solid/snooker.svg)}
.ic-sport--soccer.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/soccer.svg);mask-image:url(/static/player/iconpack/sport/solid/soccer.svg)}
.ic-sport--special.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/special.svg);mask-image:url(/static/player/iconpack/sport/solid/special.svg)}
.ic-sport--sport.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/sport.svg);mask-image:url(/static/player/iconpack/sport/solid/sport.svg)}
.ic-sport--squash.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/squash.svg);mask-image:url(/static/player/iconpack/sport/solid/squash.svg)}
.ic-sport--star.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/star.svg);mask-image:url(/static/player/iconpack/sport/solid/star.svg)}
.ic-sport--swimming.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/swimming.svg);mask-image:url(/static/player/iconpack/sport/solid/swimming.svg)}
.ic-sport--table-tennis.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/table-tennis.svg);mask-image:url(/static/player/iconpack/sport/solid/table-tennis.svg)}
.ic-sport--tennis.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/tennis.svg);mask-image:url(/static/player/iconpack/sport/solid/tennis.svg)}
.ic-sport--timer.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/timer.svg);mask-image:url(/static/player/iconpack/sport/solid/timer.svg)}
.ic-sport--top-league.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/top-league.svg);mask-image:url(/static/player/iconpack/sport/solid/top-league.svg)}
.ic-sport--ultimo-minuto.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/ultimo-minuto.svg);mask-image:url(/static/player/iconpack/sport/solid/ultimo-minuto.svg)}
.ic-sport--volleyball.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/volleyball.svg);mask-image:url(/static/player/iconpack/sport/solid/volleyball.svg)}
.ic-sport--vr.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/vr.svg);mask-image:url(/static/player/iconpack/sport/solid/vr.svg)}
.ic-sport--waterpolo.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/waterpolo.svg);mask-image:url(/static/player/iconpack/sport/solid/waterpolo.svg)}
.ic-sport--weather.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/weather.svg);mask-image:url(/static/player/iconpack/sport/solid/weather.svg)}
.ic-sport--winter.is-solid{-webkit-mask-image:url(/static/player/iconpack/sport/solid/winter.svg);mask-image:url(/static/player/iconpack/sport/solid/winter.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.svg)}
.ic-sport--american-football.is-colour{background-image:url(/static/player/iconpack/sport/colour/american-football.svg)}
.ic-sport--american-football-helmet.is-colour{background-image:url(/static/player/iconpack/sport/colour/american-football-helmet.svg)}
.ic-sport--athletics.is-colour{background-image:url(/static/player/iconpack/sport/colour/athletics.svg)}
.ic-sport--badminton.is-colour{background-image:url(/static/player/iconpack/sport/colour/badminton.svg)}
.ic-sport--baseball.is-colour{background-image:url(/static/player/iconpack/sport/colour/baseball.svg)}
.ic-sport--basketball.is-colour{background-image:url(/static/player/iconpack/sport/colour/basketball.svg)}
.ic-sport--beachvolley.is-colour{background-image:url(/static/player/iconpack/sport/colour/beachvolley.svg)}
.ic-sport--biathlon.is-colour{background-image:url(/static/player/iconpack/sport/colour/biathlon.svg)}
.ic-sport--bowling.is-colour{background-image:url(/static/player/iconpack/sport/colour/bowling.svg)}
.ic-sport--boxing.is-colour{background-image:url(/static/player/iconpack/sport/colour/boxing.svg)}
.ic-sport--calendar.is-colour{background-image:url(/static/player/iconpack/sport/colour/calendar.svg)}
.ic-sport--chess.is-colour{background-image:url(/static/player/iconpack/sport/colour/chess.svg)}
.ic-sport--cricket.is-colour{background-image:url(/static/player/iconpack/sport/colour/cricket.svg)}
.ic-sport--cup.is-colour{background-image:url(/static/player/iconpack/sport/colour/cup.svg)}
.ic-sport--cycling.is-colour{background-image:url(/static/player/iconpack/sport/colour/cycling.svg)}
.ic-sport--darts.is-colour{background-image:url(/static/player/iconpack/sport/colour/darts.svg)}
.ic-sport--e-sports.is-colour{background-image:url(/static/player/iconpack/sport/colour/e-sports.svg)}
.ic-sport--floorball.is-colour{background-image:url(/static/player/iconpack/sport/colour/floorball.svg)}
.ic-sport--floorball-2.is-colour{background-image:url(/static/player/iconpack/sport/colour/floorball-2.svg)}
.ic-sport--formula-e.is-colour{background-image:url(/static/player/iconpack/sport/colour/formula-e.svg)}
.ic-sport--gaelic-football.is-colour{background-image:url(/static/player/iconpack/sport/colour/gaelic-football.svg)}
.ic-sport--gaelic-hurling.is-colour{background-image:url(/static/player/iconpack/sport/colour/gaelic-hurling.svg)}
.ic-sport--golf.is-colour{background-image:url(/static/player/iconpack/sport/colour/golf.svg)}
.ic-sport--handball.is-colour{background-image:url(/static/player/iconpack/sport/colour/handball.svg)}
.ic-sport--helmet.is-colour{background-image:url(/static/player/iconpack/sport/colour/helmet.svg)}
.ic-sport--helmet-2.is-colour{background-image:url(/static/player/iconpack/sport/colour/helmet-2.svg)}
.ic-sport--hockey.is-colour{background-image:url(/static/player/iconpack/sport/colour/hockey.svg)}
.ic-sport--horse-racing.is-colour{background-image:url(/static/player/iconpack/sport/colour/horse-racing.svg)}
.ic-sport--hound.is-colour{background-image:url(/static/player/iconpack/sport/colour/hound.svg)}
.ic-sport--mma-1.is-colour{background-image:url(/static/player/iconpack/sport/colour/mma-1.svg)}
.ic-sport--mma-2.is-colour{background-image:url(/static/player/iconpack/sport/colour/mma-2.svg)}
.ic-sport--moto.is-colour{background-image:url(/static/player/iconpack/sport/colour/moto.svg)}
.ic-sport--nordi-combined.is-colour{background-image:url(/static/player/iconpack/sport/colour/nordi-combined.svg)}
.ic-sport--rugby.is-colour{background-image:url(/static/player/iconpack/sport/colour/rugby.svg)}
.ic-sport--sailing.is-colour{background-image:url(/static/player/iconpack/sport/colour/sailing.svg)}
.ic-sport--simulated-reality.is-colour{background-image:url(/static/player/iconpack/sport/colour/simulated-reality.svg)}
.ic-sport--ski.is-colour{background-image:url(/static/player/iconpack/sport/colour/ski.svg)}
.ic-sport--snooker.is-colour{background-image:url(/static/player/iconpack/sport/colour/snooker.svg)}
.ic-sport--soccer.is-colour{background-image:url(/static/player/iconpack/sport/colour/soccer.svg)}
.ic-sport--special.is-colour{background-image:url(/static/player/iconpack/sport/colour/special.svg)}
.ic-sport--squash.is-colour{background-image:url(/static/player/iconpack/sport/colour/squash.svg)}
.ic-sport--star.is-colour{background-image:url(/static/player/iconpack/sport/colour/star.svg)}
.ic-sport--swimming.is-colour{background-image:url(/static/player/iconpack/sport/colour/swimming.svg)}
.ic-sport--table-tennis.is-colour{background-image:url(/static/player/iconpack/sport/colour/table-tennis.svg)}
.ic-sport--tennis.is-colour{background-image:url(/static/player/iconpack/sport/colour/tennis.svg)}
.ic-sport--timer.is-colour{background-image:url(/static/player/iconpack/sport/colour/timer.svg)}
.ic-sport--volley.is-colour{background-image:url(/static/player/iconpack/sport/colour/volley.svg)}
.ic-sport--waterpolo.is-colour{background-image:url(/static/player/iconpack/sport/colour/waterpolo.svg)}
.ic-sport--weather.is-colour{background-image:url(/static/player/iconpack/sport/colour/weather.svg)}
.ic-sport--winter.is-colour{background-image:url(/static/player/iconpack/sport/colour/winter.svg)}
.ic-sport--wrestling.is-colour{background-image:url(/static/player/iconpack/sport/colour/wrestling.svg)}
/* ---- CAMPI (il terreno di gioco per sport, grandi) ---- */
.ic-campo--baseball-field{-webkit-mask-image:url(/static/player/iconpack/sport/campi/baseball-field.svg);mask-image:url(/static/player/iconpack/sport/campi/baseball-field.svg)}
.ic-campo--basketball-court{-webkit-mask-image:url(/static/player/iconpack/sport/campi/basketball-court.svg);mask-image:url(/static/player/iconpack/sport/campi/basketball-court.svg)}
.ic-campo--cricket-field{-webkit-mask-image:url(/static/player/iconpack/sport/campi/cricket-field.svg);mask-image:url(/static/player/iconpack/sport/campi/cricket-field.svg)}
.ic-campo--darts-board{-webkit-mask-image:url(/static/player/iconpack/sport/campi/darts-board.svg);mask-image:url(/static/player/iconpack/sport/campi/darts-board.svg)}
.ic-campo--futsal-court{-webkit-mask-image:url(/static/player/iconpack/sport/campi/futsal-court.svg);mask-image:url(/static/player/iconpack/sport/campi/futsal-court.svg)}
.ic-campo--handball-court{-webkit-mask-image:url(/static/player/iconpack/sport/campi/handball-court.svg);mask-image:url(/static/player/iconpack/sport/campi/handball-court.svg)}
.ic-campo--ice-hockey-rink{-webkit-mask-image:url(/static/player/iconpack/sport/campi/ice-hockey-rink.svg);mask-image:url(/static/player/iconpack/sport/campi/ice-hockey-rink.svg)}
.ic-campo--rugby-field{-webkit-mask-image:url(/static/player/iconpack/sport/campi/rugby-field.svg);mask-image:url(/static/player/iconpack/sport/campi/rugby-field.svg)}
.ic-campo--snooker-table{-webkit-mask-image:url(/static/player/iconpack/sport/campi/snooker-table.svg);mask-image:url(/static/player/iconpack/sport/campi/snooker-table.svg)}
.ic-campo--soccer-filed{-webkit-mask-image:url(/static/player/iconpack/sport/campi/soccer-filed.svg);mask-image:url(/static/player/iconpack/sport/campi/soccer-filed.svg)}
.ic-campo--table-tennis{-webkit-mask-image:url(/static/player/iconpack/sport/campi/table-tennis.svg);mask-image:url(/static/player/iconpack/sport/campi/table-tennis.svg)}
.ic-campo--tennis-court{-webkit-mask-image:url(/static/player/iconpack/sport/campi/tennis-court.svg);mask-image:url(/static/player/iconpack/sport/campi/tennis-court.svg)}
.ic-campo--volleyball-court{-webkit-mask-image:url(/static/player/iconpack/sport/campi/volleyball-court.svg);mask-image:url(/static/player/iconpack/sport/campi/volleyball-court.svg)}
/* ---- UI (print, view, sorting, menu, calendar…) ---- */
.ic-ui--calendar-outline{-webkit-mask-image:url(/static/player/iconpack/ui/calendar-outline.svg);mask-image:url(/static/player/iconpack/ui/calendar-outline.svg)}
.ic-ui--casino-outline{-webkit-mask-image:url(/static/player/iconpack/ui/casino-outline.svg);mask-image:url(/static/player/iconpack/ui/casino-outline.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.svg);mask-image:url(/static/player/iconpack/ui/event-outline.svg)}
.ic-ui--exchange{-webkit-mask-image:url(/static/player/iconpack/ui/exchange.svg);mask-image:url(/static/player/iconpack/ui/exchange.svg)}
.ic-ui--home-outline{-webkit-mask-image:url(/static/player/iconpack/ui/home-outline.svg);mask-image:url(/static/player/iconpack/ui/home-outline.svg)}
.ic-ui--horses-outline{-webkit-mask-image:url(/static/player/iconpack/ui/horses-outline.svg);mask-image:url(/static/player/iconpack/ui/horses-outline.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.svg);mask-image:url(/static/player/iconpack/ui/liveplay-outline.svg)}
.ic-ui--overview-outline{-webkit-mask-image:url(/static/player/iconpack/ui/overview-outline.svg);mask-image:url(/static/player/iconpack/ui/overview-outline.svg)}
.ic-ui--poker-outline{-webkit-mask-image:url(/static/player/iconpack/ui/poker-outline.svg);mask-image:url(/static/player/iconpack/ui/poker-outline.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.svg);mask-image:url(/static/player/iconpack/ui/sport-outline.svg)}
.ic-ui--virtual-outline{-webkit-mask-image:url(/static/player/iconpack/ui/virtual-outline.svg);mask-image:url(/static/player/iconpack/ui/virtual-outline.svg)}
/* ---- BANDIERE (PNG a colori) ---- */
.ic-flag--2021tokyoolympics{background-image:url(/static/player/iconpack/flags/2021tokyoolympics.png)}
.ic-flag--23creativevn{background-image:url(/static/player/iconpack/flags/23creativevn.png)}
.ic-flag--529donne{background-image:url(/static/player/iconpack/flags/529donne.png)}
.ic-flag--abkhazia{background-image:url(/static/player/iconpack/flags/abkhazia.png)}
.ic-flag--abudhabigp{background-image:url(/static/player/iconpack/flags/abudhabigp.png)}
.ic-flag--afghanistan{background-image:url(/static/player/iconpack/flags/afghanistan.png)}
.ic-flag--afreecalol{background-image:url(/static/player/iconpack/flags/afreecalol.png)}
.ic-flag--africa{background-image:url(/static/player/iconpack/flags/africa.png)}
.ic-flag--albania{background-image:url(/static/player/iconpack/flags/albania.png)}
.ic-flag--albany{background-image:url(/static/player/iconpack/flags/albany.png)}
.ic-flag--albionpark{background-image:url(/static/player/iconpack/flags/albionpark.png)}
.ic-flag--algeria{background-image:url(/static/player/iconpack/flags/algeria.png)}
.ic-flag--american-samoa{background-image:url(/static/player/iconpack/flags/american-samoa.png)}
.ic-flag--andorra{background-image:url(/static/player/iconpack/flags/andorra.png)}
.ic-flag--anglepark{background-image:url(/static/player/iconpack/flags/anglepark.png)}
.ic-flag--angola{background-image:url(/static/player/iconpack/flags/angola.png)}
.ic-flag--anguilla{background-image:url(/static/player/iconpack/flags/anguilla.png)}
.ic-flag--antigua-e-barbuda{background-image:url(/static/player/iconpack/flags/antigua-e-barbuda.png)}
.ic-flag--antiguaebarbuda{background-image:url(/static/player/iconpack/flags/antiguaebarbuda.png)}
.ic-flag--arabiasaudita{background-image:url(/static/player/iconpack/flags/arabiasaudita.png)}
.ic-flag--aragongp{background-image:url(/static/player/iconpack/flags/aragongp.png)}
.ic-flag--argentina{background-image:url(/static/player/iconpack/flags/argentina.png)}
.ic-flag--argentinagp{background-image:url(/static/player/iconpack/flags/argentinagp.png)}
.ic-flag--armenia{background-image:url(/static/player/iconpack/flags/armenia.png)}
.ic-flag--aruba{background-image:url(/static/player/iconpack/flags/aruba.png)}
.ic-flag--ascot{background-image:url(/static/player/iconpack/flags/ascot.png)}
.ic-flag--asia{background-image:url(/static/player/iconpack/flags/asia.png)}
.ic-flag--asia-oceania{background-image:url(/static/player/iconpack/flags/asia-oceania.png)}
.ic-flag--assemblycsgo{background-image:url(/static/player/iconpack/flags/assemblycsgo.png)}
.ic-flag--atp{background-image:url(/static/player/iconpack/flags/atp.png)}
.ic-flag--australia{background-image:url(/static/player/iconpack/flags/australia.png)}
.ic-flag--australiangp{background-image:url(/static/player/iconpack/flags/australiangp.png)}
.ic-flag--austria{background-image:url(/static/player/iconpack/flags/austria.png)}
.ic-flag--austriaamatori{background-image:url(/static/player/iconpack/flags/austriaamatori.png)}
.ic-flag--austriangp{background-image:url(/static/player/iconpack/flags/austriangp.png)}
.ic-flag--awards{background-image:url(/static/player/iconpack/flags/awards.png)}
.ic-flag--azerbaigian{background-image:url(/static/player/iconpack/flags/azerbaigian.png)}
.ic-flag--azerbaijangp{background-image:url(/static/player/iconpack/flags/azerbaijangp.png)}
.ic-flag--bahamas{background-image:url(/static/player/iconpack/flags/bahamas.png)}
.ic-flag--bahrain{background-image:url(/static/player/iconpack/flags/bahrain.png)}
.ic-flag--bahrein{background-image:url(/static/player/iconpack/flags/bahrein.png)}
.ic-flag--balearic-islands{background-image:url(/static/player/iconpack/flags/balearic-islands.png)}
.ic-flag--ballarat{background-image:url(/static/player/iconpack/flags/ballarat.png)}
.ic-flag--bangladesh{background-image:url(/static/player/iconpack/flags/bangladesh.png)}
.ic-flag--barbados{background-image:url(/static/player/iconpack/flags/barbados.png)}
.ic-flag--barcelonagp{background-image:url(/static/player/iconpack/flags/barcelonagp.png)}
.ic-flag--baseball{background-image:url(/static/player/iconpack/flags/baseball.png)}
.ic-flag--basketball{background-image:url(/static/player/iconpack/flags/basketball.png)}
.ic-flag--basque-country{background-image:url(/static/player/iconpack/flags/basque-country.png)}
.ic-flag--belarus{background-image:url(/static/player/iconpack/flags/belarus.png)}
.ic-flag--belgiangp{background-image:url(/static/player/iconpack/flags/belgiangp.png)}
.ic-flag--belgio{background-image:url(/static/player/iconpack/flags/belgio.png)}
.ic-flag--belgium{background-image:url(/static/player/iconpack/flags/belgium.png)}
.ic-flag--belize{background-image:url(/static/player/iconpack/flags/belize.png)}
.ic-flag--bellator{background-image:url(/static/player/iconpack/flags/bellator.png)}
.ic-flag--bendigo{background-image:url(/static/player/iconpack/flags/bendigo.png)}
.ic-flag--benin{background-image:url(/static/player/iconpack/flags/benin.png)}
.ic-flag--bermuda{background-image:url(/static/player/iconpack/flags/bermuda.png)}
.ic-flag--beyondthesummitdota2{background-image:url(/static/player/iconpack/flags/beyondthesummitdota2.png)}
.ic-flag--bfs{background-image:url(/static/player/iconpack/flags/bfs.png)}
.ic-flag--bhutan{background-image:url(/static/player/iconpack/flags/bhutan.png)}
.ic-flag--biathlon{background-image:url(/static/player/iconpack/flags/biathlon.png)}
.ic-flag--biathlonfemminile{background-image:url(/static/player/iconpack/flags/biathlonfemminile.png)}
.ic-flag--biathlonmaschile{background-image:url(/static/player/iconpack/flags/biathlonmaschile.png)}
.ic-flag--bielorussia{background-image:url(/static/player/iconpack/flags/bielorussia.png)}
.ic-flag--bikes{background-image:url(/static/player/iconpack/flags/bikes.png)}
.ic-flag--birmania{background-image:url(/static/player/iconpack/flags/birmania.png)}
.ic-flag--bolivia{background-image:url(/static/player/iconpack/flags/bolivia.png)}
.ic-flag--bonaire{background-image:url(/static/player/iconpack/flags/bonaire.png)}
.ic-flag--bosnia-erzegovina{background-image:url(/static/player/iconpack/flags/bosnia-erzegovina.png)}
.ic-flag--bosniaandherzegovina{background-image:url(/static/player/iconpack/flags/bosniaandherzegovina.png)}
.ic-flag--bosniaederzegovina{background-image:url(/static/player/iconpack/flags/bosniaederzegovina.png)}
.ic-flag--bosniaerzegovina{background-image:url(/static/player/iconpack/flags/bosniaerzegovina.png)}
.ic-flag--botswana{background-image:url(/static/player/iconpack/flags/botswana.png)}
.ic-flag--brasile{background-image:url(/static/player/iconpack/flags/brasile.png)}
.ic-flag--brazil{background-image:url(/static/player/iconpack/flags/brazil.png)}
.ic-flag--british-columbia{background-image:url(/static/player/iconpack/flags/british-columbia.png)}
.ic-flag--british-indian-ocean-territory{background-image:url(/static/player/iconpack/flags/british-indian-ocean-territory.png)}
.ic-flag--british-virgin-islands{background-image:url(/static/player/iconpack/flags/british-virgin-islands.png)}
.ic-flag--britishgp{background-image:url(/static/player/iconpack/flags/britishgp.png)}
.ic-flag--brunei{background-image:url(/static/player/iconpack/flags/brunei.png)}
.ic-flag--bruneidarussalam{background-image:url(/static/player/iconpack/flags/bruneidarussalam.png)}
.ic-flag--bulgaria{background-image:url(/static/player/iconpack/flags/bulgaria.png)}
.ic-flag--bunbury{background-image:url(/static/player/iconpack/flags/bunbury.png)}
.ic-flag--burkina-faso{background-image:url(/static/player/iconpack/flags/burkina-faso.png)}
.ic-flag--burkinafaso{background-image:url(/static/player/iconpack/flags/burkinafaso.png)}
.ic-flag--burundi{background-image:url(/static/player/iconpack/flags/burundi.png)}
.ic-flag--calciomercato{background-image:url(/static/player/iconpack/flags/calciomercato.png)}
.ic-flag--cambodia{background-image:url(/static/player/iconpack/flags/cambodia.png)}
.ic-flag--cambogia{background-image:url(/static/player/iconpack/flags/cambogia.png)}
.ic-flag--camerun{background-image:url(/static/player/iconpack/flags/camerun.png)}
.ic-flag--campionatomondiale{background-image:url(/static/player/iconpack/flags/campionatomondiale.png)}
.ic-flag--canada{background-image:url(/static/player/iconpack/flags/canada.png)}
.ic-flag--cannington{background-image:url(/static/player/iconpack/flags/cannington.png)}
.ic-flag--capo-verde{background-image:url(/static/player/iconpack/flags/capo-verde.png)}
.ic-flag--capoverde{background-image:url(/static/player/iconpack/flags/capoverde.png)}
.ic-flag--cayman-islands{background-image:url(/static/player/iconpack/flags/cayman-islands.png)}
.ic-flag--central-african-republic{background-image:url(/static/player/iconpack/flags/central-african-republic.png)}
.ic-flag--centro-america{background-image:url(/static/player/iconpack/flags/centro-america.png)}
.ic-flag--ceuta{background-image:url(/static/player/iconpack/flags/ceuta.png)}
.ic-flag--chad{background-image:url(/static/player/iconpack/flags/chad.png)}
.ic-flag--challenge{background-image:url(/static/player/iconpack/flags/challenge.png)}
.ic-flag--challengefemminile{background-image:url(/static/player/iconpack/flags/challengefemminile.png)}
.ic-flag--challenger{background-image:url(/static/player/iconpack/flags/challenger.png)}
.ic-flag--championship2024{background-image:url(/static/player/iconpack/flags/championship2024.png)}
.ic-flag--championship2025{background-image:url(/static/player/iconpack/flags/championship2025.png)}
.ic-flag--championsleague{background-image:url(/static/player/iconpack/flags/championsleague.png)}
.ic-flag--china{background-image:url(/static/player/iconpack/flags/china.png)}
.ic-flag--chinadota2{background-image:url(/static/player/iconpack/flags/chinadota2.png)}
.ic-flag--christmas-island{background-image:url(/static/player/iconpack/flags/christmas-island.png)}
.ic-flag--church{background-image:url(/static/player/iconpack/flags/church.png)}
.ic-flag--ciad{background-image:url(/static/player/iconpack/flags/ciad.png)}
.ic-flag--cile{background-image:url(/static/player/iconpack/flags/cile.png)}
.ic-flag--cina{background-image:url(/static/player/iconpack/flags/cina.png)}
.ic-flag--cinataipei{background-image:url(/static/player/iconpack/flags/cinataipei.png)}
.ic-flag--cipro{background-image:url(/static/player/iconpack/flags/cipro.png)}
.ic-flag--clubinternazionali{background-image:url(/static/player/iconpack/flags/clubinternazionali.png)}
.ic-flag--clubsinternazionali{background-image:url(/static/player/iconpack/flags/clubsinternazionali.png)}
.ic-flag--coffsharbour{background-image:url(/static/player/iconpack/flags/coffsharbour.png)}
.ic-flag--colombia{background-image:url(/static/player/iconpack/flags/colombia.png)}
.ic-flag--combatsports{background-image:url(/static/player/iconpack/flags/combatsports.png)}
.ic-flag--comoros{background-image:url(/static/player/iconpack/flags/comoros.png)}
.ic-flag--congo{background-image:url(/static/player/iconpack/flags/congo.png)}
.ic-flag--coppadavis{background-image:url(/static/player/iconpack/flags/coppadavis.png)}
.ic-flag--corea-del-nord{background-image:url(/static/player/iconpack/flags/corea-del-nord.png)}
.ic-flag--coreadelsud{background-image:url(/static/player/iconpack/flags/coreadelsud.png)}
.ic-flag--corsa1shepparton{background-image:url(/static/player/iconpack/flags/corsa1shepparton.png)}
.ic-flag--corsica{background-image:url(/static/player/iconpack/flags/corsica.png)}
.ic-flag--costadavorio{background-image:url(/static/player/iconpack/flags/costadavorio.png)}
.ic-flag--costad´avorio{background-image:url(/static/player/iconpack/flags/costad´avorio.png)}
.ic-flag--costarica{background-image:url(/static/player/iconpack/flags/costarica.png)}
.ic-flag--croazia{background-image:url(/static/player/iconpack/flags/croazia.png)}
.ic-flag--cuba{background-image:url(/static/player/iconpack/flags/cuba.png)}
.ic-flag--curacao{background-image:url(/static/player/iconpack/flags/curacao.png)}
.ic-flag--danimarca{background-image:url(/static/player/iconpack/flags/danimarca.png)}
.ic-flag--danimarcaamatori{background-image:url(/static/player/iconpack/flags/danimarcaamatori.png)}
.ic-flag--dapto{background-image:url(/static/player/iconpack/flags/dapto.png)}
.ic-flag--darwin{background-image:url(/static/player/iconpack/flags/darwin.png)}
.ic-flag--default{background-image:url(/static/player/iconpack/flags/default.png)}
.ic-flag--democratic-republic-of-congo{background-image:url(/static/player/iconpack/flags/democratic-republic-of-congo.png)}
.ic-flag--denmark{background-image:url(/static/player/iconpack/flags/denmark.png)}
.ic-flag--dominica{background-image:url(/static/player/iconpack/flags/dominica.png)}
.ic-flag--dominican-republic{background-image:url(/static/player/iconpack/flags/dominican-republic.png)}
.ic-flag--dominicanrepublic{background-image:url(/static/player/iconpack/flags/dominicanrepublic.png)}
.ic-flag--donne{background-image:url(/static/player/iconpack/flags/donne.png)}
.ic-flag--dotapitdota2{background-image:url(/static/player/iconpack/flags/dotapitdota2.png)}
.ic-flag--dreamhackcsgo{background-image:url(/static/player/iconpack/flags/dreamhackcsgo.png)}
.ic-flag--dutchgp{background-image:url(/static/player/iconpack/flags/dutchgp.png)}
.ic-flag--e2techcsgo{background-image:url(/static/player/iconpack/flags/e2techcsgo.png)}
.ic-flag--ecricket{background-image:url(/static/player/iconpack/flags/ecricket.png)}
.ic-flag--ecuador{background-image:url(/static/player/iconpack/flags/ecuador.png)}
.ic-flag--efirecsgo{background-image:url(/static/player/iconpack/flags/efirecsgo.png)}
.ic-flag--egitto{background-image:url(/static/player/iconpack/flags/egitto.png)}
.ic-flag--egypt{background-image:url(/static/player/iconpack/flags/egypt.png)}
.ic-flag--eicehockey{background-image:url(/static/player/iconpack/flags/eicehockey.png)}
.ic-flag--el-salvador{background-image:url(/static/player/iconpack/flags/el-salvador.png)}
.ic-flag--electronicleagues{background-image:url(/static/player/iconpack/flags/electronicleagues.png)}
.ic-flag--elsalvador{background-image:url(/static/player/iconpack/flags/elsalvador.png)}
.ic-flag--emiliaromagnagp{background-image:url(/static/player/iconpack/flags/emiliaromagnagp.png)}
.ic-flag--emiratiarabi{background-image:url(/static/player/iconpack/flags/emiratiarabi.png)}
.ic-flag--emiratiarabiuniti{background-image:url(/static/player/iconpack/flags/emiratiarabiuniti.png)}
.ic-flag--england{background-image:url(/static/player/iconpack/flags/england.png)}
.ic-flag--entertainment{background-image:url(/static/player/iconpack/flags/entertainment.png)}
.ic-flag--epicdota2{background-image:url(/static/player/iconpack/flags/epicdota2.png)}
.ic-flag--eritrea{background-image:url(/static/player/iconpack/flags/eritrea.png)}
.ic-flag--eseacsgo{background-image:url(/static/player/iconpack/flags/eseacsgo.png)}
.ic-flag--esibizione{background-image:url(/static/player/iconpack/flags/esibizione.png)}
.ic-flag--eslcsgo{background-image:url(/static/player/iconpack/flags/eslcsgo.png)}
.ic-flag--esldota2{background-image:url(/static/player/iconpack/flags/esldota2.png)}
.ic-flag--estonia{background-image:url(/static/player/iconpack/flags/estonia.png)}
.ic-flag--ethiopia{background-image:url(/static/player/iconpack/flags/ethiopia.png)}
.ic-flag--etiopia{background-image:url(/static/player/iconpack/flags/etiopia.png)}
.ic-flag--eurocupmen{background-image:url(/static/player/iconpack/flags/eurocupmen.png)}
.ic-flag--euroleague{background-image:url(/static/player/iconpack/flags/euroleague.png)}
.ic-flag--euroleagueplayoffsseriescorrectscore{background-image:url(/static/player/iconpack/flags/euroleagueplayoffsseriescorrectscore.png)}
.ic-flag--eurolega{background-image:url(/static/player/iconpack/flags/eurolega.png)}
.ic-flag--europa{background-image:url(/static/player/iconpack/flags/europa.png)}
.ic-flag--europe{background-image:url(/static/player/iconpack/flags/europe.png)}
.ic-flag--fantasyexpocsgo{background-image:url(/static/player/iconpack/flags/fantasyexpocsgo.png)}
.ic-flag--federationcup{background-image:url(/static/player/iconpack/flags/federationcup.png)}
.ic-flag--fiji{background-image:url(/static/player/iconpack/flags/fiji.png)}
.ic-flag--filippine{background-image:url(/static/player/iconpack/flags/filippine.png)}
.ic-flag--filppine{background-image:url(/static/player/iconpack/flags/filppine.png)}
.ic-flag--finlandia{background-image:url(/static/player/iconpack/flags/finlandia.png)}
.ic-flag--formula1{background-image:url(/static/player/iconpack/flags/formula1.png)}
.ic-flag--formulae{background-image:url(/static/player/iconpack/flags/formulae.png)}
.ic-flag--france{background-image:url(/static/player/iconpack/flags/france.png)}
.ic-flag--franceproa{background-image:url(/static/player/iconpack/flags/franceproa.png)}
.ic-flag--francia{background-image:url(/static/player/iconpack/flags/francia.png)}
.ic-flag--frania{background-image:url(/static/player/iconpack/flags/frania.png)}
.ic-flag--french-polynesia{background-image:url(/static/player/iconpack/flags/french-polynesia.png)}
.ic-flag--frenchgp{background-image:url(/static/player/iconpack/flags/frenchgp.png)}
.ic-flag--gabon{background-image:url(/static/player/iconpack/flags/gabon.png)}
.ic-flag--galapagos-islands{background-image:url(/static/player/iconpack/flags/galapagos-islands.png)}
.ic-flag--galles{background-image:url(/static/player/iconpack/flags/galles.png)}
.ic-flag--gambia{background-image:url(/static/player/iconpack/flags/gambia.png)}
.ic-flag--gana{background-image:url(/static/player/iconpack/flags/gana.png)}
.ic-flag--georgia{background-image:url(/static/player/iconpack/flags/georgia.png)}
.ic-flag--geraldton{background-image:url(/static/player/iconpack/flags/geraldton.png)}
.ic-flag--germania{background-image:url(/static/player/iconpack/flags/germania.png)}
.ic-flag--germaniaamatori{background-image:url(/static/player/iconpack/flags/germaniaamatori.png)}
.ic-flag--germany{background-image:url(/static/player/iconpack/flags/germany.png)}
.ic-flag--ghana{background-image:url(/static/player/iconpack/flags/ghana.png)}
.ic-flag--giamaica{background-image:url(/static/player/iconpack/flags/giamaica.png)}
.ic-flag--giappone{background-image:url(/static/player/iconpack/flags/giappone.png)}
.ic-flag--gibilterra{background-image:url(/static/player/iconpack/flags/gibilterra.png)}
.ic-flag--gibuti{background-image:url(/static/player/iconpack/flags/gibuti.png)}
.ic-flag--giordania{background-image:url(/static/player/iconpack/flags/giordania.png)}
.ic-flag--giovaniliinternazionali{background-image:url(/static/player/iconpack/flags/giovaniliinternazionali.png)}
.ic-flag--globederby{background-image:url(/static/player/iconpack/flags/globederby.png)}
.ic-flag--gloucesterpark{background-image:url(/static/player/iconpack/flags/gloucesterpark.png)}
.ic-flag--goldmedalinpechino2022{background-image:url(/static/player/iconpack/flags/goldmedalinpechino2022.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.png)}
.ic-flag--granbretagna{background-image:url(/static/player/iconpack/flags/granbretagna.png)}
.ic-flag--grecia{background-image:url(/static/player/iconpack/flags/grecia.png)}
.ic-flag--grenada{background-image:url(/static/player/iconpack/flags/grenada.png)}
.ic-flag--groenlandia{background-image:url(/static/player/iconpack/flags/groenlandia.png)}
.ic-flag--guam{background-image:url(/static/player/iconpack/flags/guam.png)}
.ic-flag--guatemala{background-image:url(/static/player/iconpack/flags/guatemala.png)}
.ic-flag--guernsey{background-image:url(/static/player/iconpack/flags/guernsey.png)}
.ic-flag--guinea{background-image:url(/static/player/iconpack/flags/guinea.png)}
.ic-flag--guinea-bissau{background-image:url(/static/player/iconpack/flags/guinea-bissau.png)}
.ic-flag--guinea-equitoriale{background-image:url(/static/player/iconpack/flags/guinea-equitoriale.png)}
.ic-flag--guineabissau{background-image:url(/static/player/iconpack/flags/guineabissau.png)}
.ic-flag--guineauquatoriale{background-image:url(/static/player/iconpack/flags/guineauquatoriale.png)}
.ic-flag--gunnedah{background-image:url(/static/player/iconpack/flags/gunnedah.png)}
.ic-flag--haiti{background-image:url(/static/player/iconpack/flags/haiti.png)}
.ic-flag--hawaii{background-image:url(/static/player/iconpack/flags/hawaii.png)}
.ic-flag--honduras{background-image:url(/static/player/iconpack/flags/honduras.png)}
.ic-flag--hong-kong{background-image:url(/static/player/iconpack/flags/hong-kong.png)}
.ic-flag--hongkong{background-image:url(/static/player/iconpack/flags/hongkong.png)}
.ic-flag--hongkong,cina{background-image:url(/static/player/iconpack/flags/hongkong,cina.png)}
.ic-flag--hungariangp{background-image:url(/static/player/iconpack/flags/hungariangp.png)}
.ic-flag--hungarygp{background-image:url(/static/player/iconpack/flags/hungarygp.png)}
.ic-flag--india{background-image:url(/static/player/iconpack/flags/india.png)}
.ic-flag--indieoccidentali{background-image:url(/static/player/iconpack/flags/indieoccidentali.png)}
.ic-flag--indonesia{background-image:url(/static/player/iconpack/flags/indonesia.png)}
.ic-flag--indonesiagp{background-image:url(/static/player/iconpack/flags/indonesiagp.png)}
.ic-flag--inghilterra{background-image:url(/static/player/iconpack/flags/inghilterra.png)}
.ic-flag--inghilterraamatori{background-image:url(/static/player/iconpack/flags/inghilterraamatori.png)}
.ic-flag--international{background-image:url(/static/player/iconpack/flags/international.png)}
.ic-flag--internationalclubs{background-image:url(/static/player/iconpack/flags/internationalclubs.png)}
.ic-flag--internazional{background-image:url(/static/player/iconpack/flags/internazional.png)}
.ic-flag--internazionale{background-image:url(/static/player/iconpack/flags/internazionale.png)}
.ic-flag--internazionalefemminile{background-image:url(/static/player/iconpack/flags/internazionalefemminile.png)}
.ic-flag--internazionali{background-image:url(/static/player/iconpack/flags/internazionali.png)}
.ic-flag--intrattenimento{background-image:url(/static/player/iconpack/flags/intrattenimento.png)}
.ic-flag--ipswich{background-image:url(/static/player/iconpack/flags/ipswich.png)}
.ic-flag--iran{background-image:url(/static/player/iconpack/flags/iran.png)}
.ic-flag--iraq{background-image:url(/static/player/iconpack/flags/iraq.png)}
.ic-flag--ireland{background-image:url(/static/player/iconpack/flags/ireland.png)}
.ic-flag--irlanda{background-image:url(/static/player/iconpack/flags/irlanda.png)}
.ic-flag--irlandadelnord{background-image:url(/static/player/iconpack/flags/irlandadelnord.png)}
.ic-flag--islanda{background-image:url(/static/player/iconpack/flags/islanda.png)}
.ic-flag--isola-di-man{background-image:url(/static/player/iconpack/flags/isola-di-man.png)}
.ic-flag--isola-di-natale{background-image:url(/static/player/iconpack/flags/isola-di-natale.png)}
.ic-flag--isoladiman{background-image:url(/static/player/iconpack/flags/isoladiman.png)}
.ic-flag--isolanorfolk{background-image:url(/static/player/iconpack/flags/isolanorfolk.png)}
.ic-flag--isolasaba{background-image:url(/static/player/iconpack/flags/isolasaba.png)}
.ic-flag--isole-aland{background-image:url(/static/player/iconpack/flags/isole-aland.png)}
.ic-flag--isole-azores{background-image:url(/static/player/iconpack/flags/isole-azores.png)}
.ic-flag--isole-canarie{background-image:url(/static/player/iconpack/flags/isole-canarie.png)}
.ic-flag--isole-cayman{background-image:url(/static/player/iconpack/flags/isole-cayman.png)}
.ic-flag--isole-cocos{background-image:url(/static/player/iconpack/flags/isole-cocos.png)}
.ic-flag--isole-cook{background-image:url(/static/player/iconpack/flags/isole-cook.png)}
.ic-flag--isole-falkland{background-image:url(/static/player/iconpack/flags/isole-falkland.png)}
.ic-flag--isole-faroe{background-image:url(/static/player/iconpack/flags/isole-faroe.png)}
.ic-flag--isole-fiji{background-image:url(/static/player/iconpack/flags/isole-fiji.png)}
.ic-flag--isole-marianne-settentrionali{background-image:url(/static/player/iconpack/flags/isole-marianne-settentrionali.png)}
.ic-flag--isole-marshall{background-image:url(/static/player/iconpack/flags/isole-marshall.png)}
.ic-flag--isole-norfolk{background-image:url(/static/player/iconpack/flags/isole-norfolk.png)}
.ic-flag--isole-pitcairn{background-image:url(/static/player/iconpack/flags/isole-pitcairn.png)}
.ic-flag--isole-solomon{background-image:url(/static/player/iconpack/flags/isole-solomon.png)}
.ic-flag--isole-vergini{background-image:url(/static/player/iconpack/flags/isole-vergini.png)}
.ic-flag--isolealand{background-image:url(/static/player/iconpack/flags/isolealand.png)}
.ic-flag--isoleazores{background-image:url(/static/player/iconpack/flags/isoleazores.png)}
.ic-flag--isolecanarie{background-image:url(/static/player/iconpack/flags/isolecanarie.png)}
.ic-flag--isolecocos{background-image:url(/static/player/iconpack/flags/isolecocos.png)}
.ic-flag--isolecook{background-image:url(/static/player/iconpack/flags/isolecook.png)}
.ic-flag--isolefalkland{background-image:url(/static/player/iconpack/flags/isolefalkland.png)}
.ic-flag--isolefaroe{background-image:url(/static/player/iconpack/flags/isolefaroe.png)}
.ic-flag--isolefaroer{background-image:url(/static/player/iconpack/flags/isolefaroer.png)}
.ic-flag--isolegalapagos{background-image:url(/static/player/iconpack/flags/isolegalapagos.png)}
.ic-flag--isolemarshall{background-image:url(/static/player/iconpack/flags/isolemarshall.png)}
.ic-flag--isolepitcairn{background-image:url(/static/player/iconpack/flags/isolepitcairn.png)}
.ic-flag--isolesalomone{background-image:url(/static/player/iconpack/flags/isolesalomone.png)}
.ic-flag--isolevergini{background-image:url(/static/player/iconpack/flags/isolevergini.png)}
.ic-flag--israele{background-image:url(/static/player/iconpack/flags/israele.png)}
.ic-flag--italia{background-image:url(/static/player/iconpack/flags/italia.png)}
.ic-flag--italiangp{background-image:url(/static/player/iconpack/flags/italiangp.png)}
.ic-flag--italy{background-image:url(/static/player/iconpack/flags/italy.png)}
.ic-flag--italygp{background-image:url(/static/player/iconpack/flags/italygp.png)}
.ic-flag--italylegabasket{background-image:url(/static/player/iconpack/flags/italylegabasket.png)}
.ic-flag--itffemminile{background-image:url(/static/player/iconpack/flags/itffemminile.png)}
.ic-flag--itfmaschile{background-image:url(/static/player/iconpack/flags/itfmaschile.png)}
.ic-flag--japan{background-image:url(/static/player/iconpack/flags/japan.png)}
.ic-flag--japanesegp{background-image:url(/static/player/iconpack/flags/japanesegp.png)}
.ic-flag--jersey{background-image:url(/static/player/iconpack/flags/jersey.png)}
.ic-flag--jordan{background-image:url(/static/player/iconpack/flags/jordan.png)}
.ic-flag--kayzrcsgo{background-image:url(/static/player/iconpack/flags/kayzrcsgo.png)}
.ic-flag--kazakhstan{background-image:url(/static/player/iconpack/flags/kazakhstan.png)}
.ic-flag--kazakistan{background-image:url(/static/player/iconpack/flags/kazakistan.png)}
.ic-flag--kenya{background-image:url(/static/player/iconpack/flags/kenya.png)}
.ic-flag--kingofwarriors{background-image:url(/static/player/iconpack/flags/kingofwarriors.png)}
.ic-flag--kirghizistan{background-image:url(/static/player/iconpack/flags/kirghizistan.png)}
.ic-flag--kirgizistan{background-image:url(/static/player/iconpack/flags/kirgizistan.png)}
.ic-flag--kiribati{background-image:url(/static/player/iconpack/flags/kiribati.png)}
.ic-flag--kosovo{background-image:url(/static/player/iconpack/flags/kosovo.png)}
.ic-flag--ksw{background-image:url(/static/player/iconpack/flags/ksw.png)}
.ic-flag--kuwait{background-image:url(/static/player/iconpack/flags/kuwait.png)}
.ic-flag--laos{background-image:url(/static/player/iconpack/flags/laos.png)}
.ic-flag--lasvegasgp{background-image:url(/static/player/iconpack/flags/lasvegasgp.png)}
.ic-flag--launceston{background-image:url(/static/player/iconpack/flags/launceston.png)}
.ic-flag--leaguetotals{background-image:url(/static/player/iconpack/flags/leaguetotals.png)}
.ic-flag--lebanon{background-image:url(/static/player/iconpack/flags/lebanon.png)}
.ic-flag--legarugby{background-image:url(/static/player/iconpack/flags/legarugby.png)}
.ic-flag--lesotho{background-image:url(/static/player/iconpack/flags/lesotho.png)}
.ic-flag--lettonia{background-image:url(/static/player/iconpack/flags/lettonia.png)}
.ic-flag--libano{background-image:url(/static/player/iconpack/flags/libano.png)}
.ic-flag--liberia{background-image:url(/static/player/iconpack/flags/liberia.png)}
.ic-flag--libia{background-image:url(/static/player/iconpack/flags/libia.png)}
.ic-flag--libya{background-image:url(/static/player/iconpack/flags/libya.png)}
.ic-flag--liechtenstein{background-image:url(/static/player/iconpack/flags/liechtenstein.png)}
.ic-flag--lithuania{background-image:url(/static/player/iconpack/flags/lithuania.png)}
.ic-flag--lituania{background-image:url(/static/player/iconpack/flags/lituania.png)}
.ic-flag--lussemburgo{background-image:url(/static/player/iconpack/flags/lussemburgo.png)}
.ic-flag--luxembourg{background-image:url(/static/player/iconpack/flags/luxembourg.png)}
.ic-flag--lvpcsgo{background-image:url(/static/player/iconpack/flags/lvpcsgo.png)}
.ic-flag--m1global{background-image:url(/static/player/iconpack/flags/m1global.png)}
.ic-flag--macao{background-image:url(/static/player/iconpack/flags/macao.png)}
.ic-flag--macedonia{background-image:url(/static/player/iconpack/flags/macedonia.png)}
.ic-flag--macedoniadelnord{background-image:url(/static/player/iconpack/flags/macedoniadelnord.png)}
.ic-flag--madagascar{background-image:url(/static/player/iconpack/flags/madagascar.png)}
.ic-flag--madeira{background-image:url(/static/player/iconpack/flags/madeira.png)}
.ic-flag--maitland{background-image:url(/static/player/iconpack/flags/maitland.png)}
.ic-flag--malawi{background-image:url(/static/player/iconpack/flags/malawi.png)}
.ic-flag--malaysia{background-image:url(/static/player/iconpack/flags/malaysia.png)}
.ic-flag--malaysiangp{background-image:url(/static/player/iconpack/flags/malaysiangp.png)}
.ic-flag--maldive{background-image:url(/static/player/iconpack/flags/maldive.png)}
.ic-flag--maldives{background-image:url(/static/player/iconpack/flags/maldives.png)}
.ic-flag--malesia{background-image:url(/static/player/iconpack/flags/malesia.png)}
.ic-flag--mali{background-image:url(/static/player/iconpack/flags/mali.png)}
.ic-flag--malta{background-image:url(/static/player/iconpack/flags/malta.png)}
.ic-flag--mandurah{background-image:url(/static/player/iconpack/flags/mandurah.png)}
.ic-flag--manifestazionidispettacolo{background-image:url(/static/player/iconpack/flags/manifestazionidispettacolo.png)}
.ic-flag--marocco{background-image:url(/static/player/iconpack/flags/marocco.png)}
.ic-flag--marstv{background-image:url(/static/player/iconpack/flags/marstv.png)}
.ic-flag--martinica{background-image:url(/static/player/iconpack/flags/martinica.png)}
.ic-flag--maschile{background-image:url(/static/player/iconpack/flags/maschile.png)}
.ic-flag--mauritania{background-image:url(/static/player/iconpack/flags/mauritania.png)}
.ic-flag--mauritius{background-image:url(/static/player/iconpack/flags/mauritius.png)}
.ic-flag--melilla{background-image:url(/static/player/iconpack/flags/melilla.png)}
.ic-flag--melton{background-image:url(/static/player/iconpack/flags/melton.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.png)}
.ic-flag--mexico{background-image:url(/static/player/iconpack/flags/mexico.png)}
.ic-flag--mexicogp{background-image:url(/static/player/iconpack/flags/mexicogp.png)}
.ic-flag--miamigp{background-image:url(/static/player/iconpack/flags/miamigp.png)}
.ic-flag--micronesia{background-image:url(/static/player/iconpack/flags/micronesia.png)}
.ic-flag--moldova{background-image:url(/static/player/iconpack/flags/moldova.png)}
.ic-flag--monaco{background-image:url(/static/player/iconpack/flags/monaco.png)}
.ic-flag--monacogp{background-image:url(/static/player/iconpack/flags/monacogp.png)}
.ic-flag--mondialecandidati{background-image:url(/static/player/iconpack/flags/mondialecandidati.png)}
.ic-flag--mondo{background-image:url(/static/player/iconpack/flags/mondo.png)}
.ic-flag--mongolia{background-image:url(/static/player/iconpack/flags/mongolia.png)}
.ic-flag--montenegro{background-image:url(/static/player/iconpack/flags/montenegro.png)}
.ic-flag--montserrat{background-image:url(/static/player/iconpack/flags/montserrat.png)}
.ic-flag--moonstudiodota2{background-image:url(/static/player/iconpack/flags/moonstudiodota2.png)}
.ic-flag--moto2{background-image:url(/static/player/iconpack/flags/moto2.png)}
.ic-flag--moto3{background-image:url(/static/player/iconpack/flags/moto3.png)}
.ic-flag--motociclismo{background-image:url(/static/player/iconpack/flags/motociclismo.png)}
.ic-flag--motogp{background-image:url(/static/player/iconpack/flags/motogp.png)}
.ic-flag--mozambico{background-image:url(/static/player/iconpack/flags/mozambico.png)}
.ic-flag--musica{background-image:url(/static/player/iconpack/flags/musica.png)}
.ic-flag--myanmar{background-image:url(/static/player/iconpack/flags/myanmar.png)}
.ic-flag--namibia{background-image:url(/static/player/iconpack/flags/namibia.png)}
.ic-flag--nascar{background-image:url(/static/player/iconpack/flags/nascar.png)}
.ic-flag--nato{background-image:url(/static/player/iconpack/flags/nato.png)}
.ic-flag--nauru{background-image:url(/static/player/iconpack/flags/nauru.png)}
.ic-flag--nazioni-unite{background-image:url(/static/player/iconpack/flags/nazioni-unite.png)}
.ic-flag--nazioniunite{background-image:url(/static/player/iconpack/flags/nazioniunite.png)}
.ic-flag--nbaplayoffseriescorrectscore{background-image:url(/static/player/iconpack/flags/nbaplayoffseriescorrectscore.png)}
.ic-flag--nepal{background-image:url(/static/player/iconpack/flags/nepal.png)}
.ic-flag--netherlands{background-image:url(/static/player/iconpack/flags/netherlands.png)}
.ic-flag--newzealand{background-image:url(/static/player/iconpack/flags/newzealand.png)}
.ic-flag--nicaragua{background-image:url(/static/player/iconpack/flags/nicaragua.png)}
.ic-flag--niger{background-image:url(/static/player/iconpack/flags/niger.png)}
.ic-flag--nigeria{background-image:url(/static/player/iconpack/flags/nigeria.png)}
.ic-flag--niue{background-image:url(/static/player/iconpack/flags/niue.png)}
.ic-flag--nordcorea{background-image:url(/static/player/iconpack/flags/nordcorea.png)}
.ic-flag--northern-cyprus{background-image:url(/static/player/iconpack/flags/northern-cyprus.png)}
.ic-flag--northern-marianas-islands{background-image:url(/static/player/iconpack/flags/northern-marianas-islands.png)}
.ic-flag--norvegia{background-image:url(/static/player/iconpack/flags/norvegia.png)}
.ic-flag--novelty{background-image:url(/static/player/iconpack/flags/novelty.png)}
.ic-flag--nuova-zelanda{background-image:url(/static/player/iconpack/flags/nuova-zelanda.png)}
.ic-flag--nuovazelanda{background-image:url(/static/player/iconpack/flags/nuovazelanda.png)}
.ic-flag--oddsandmorefantasy{background-image:url(/static/player/iconpack/flags/oddsandmorefantasy.png)}
.ic-flag--olanda{background-image:url(/static/player/iconpack/flags/olanda.png)}
.ic-flag--oman{background-image:url(/static/player/iconpack/flags/oman.png)}
.ic-flag--ossetia{background-image:url(/static/player/iconpack/flags/ossetia.png)}
.ic-flag--other{background-image:url(/static/player/iconpack/flags/other.png)}
.ic-flag--paesibassi{background-image:url(/static/player/iconpack/flags/paesibassi.png)}
.ic-flag--pakenham{background-image:url(/static/player/iconpack/flags/pakenham.png)}
.ic-flag--pakistan{background-image:url(/static/player/iconpack/flags/pakistan.png)}
.ic-flag--palau{background-image:url(/static/player/iconpack/flags/palau.png)}
.ic-flag--palestiae{background-image:url(/static/player/iconpack/flags/palestiae.png)}
.ic-flag--palestina{background-image:url(/static/player/iconpack/flags/palestina.png)}
.ic-flag--palestine{background-image:url(/static/player/iconpack/flags/palestine.png)}
.ic-flag--pallonedoro{background-image:url(/static/player/iconpack/flags/pallonedoro.png)}
.ic-flag--panama{background-image:url(/static/player/iconpack/flags/panama.png)}
.ic-flag--papua-nuova-guinea{background-image:url(/static/player/iconpack/flags/papua-nuova-guinea.png)}
.ic-flag--papuanuovaguinea{background-image:url(/static/player/iconpack/flags/papuanuovaguinea.png)}
.ic-flag--paraguay{background-image:url(/static/player/iconpack/flags/paraguay.png)}
.ic-flag--peru{background-image:url(/static/player/iconpack/flags/peru.png)}
.ic-flag--perù{background-image:url(/static/player/iconpack/flags/perù.png)}
.ic-flag--philippines{background-image:url(/static/player/iconpack/flags/philippines.png)}
.ic-flag--pinjarra{background-image:url(/static/player/iconpack/flags/pinjarra.png)}
.ic-flag--polinesia-francese{background-image:url(/static/player/iconpack/flags/polinesia-francese.png)}
.ic-flag--politica{background-image:url(/static/player/iconpack/flags/politica.png)}
.ic-flag--polonia{background-image:url(/static/player/iconpack/flags/polonia.png)}
.ic-flag--portimaogp{background-image:url(/static/player/iconpack/flags/portimaogp.png)}
.ic-flag--porto-rico{background-image:url(/static/player/iconpack/flags/porto-rico.png)}
.ic-flag--portogallo{background-image:url(/static/player/iconpack/flags/portogallo.png)}
.ic-flag--portorico{background-image:url(/static/player/iconpack/flags/portorico.png)}
.ic-flag--portugal{background-image:url(/static/player/iconpack/flags/portugal.png)}
.ic-flag--portugalgp{background-image:url(/static/player/iconpack/flags/portugalgp.png)}
.ic-flag--qatar{background-image:url(/static/player/iconpack/flags/qatar.png)}
.ic-flag--qatargp{background-image:url(/static/player/iconpack/flags/qatargp.png)}
.ic-flag--rapa-nui{background-image:url(/static/player/iconpack/flags/rapa-nui.png)}
.ic-flag--redcliffe{background-image:url(/static/player/iconpack/flags/redcliffe.png)}
.ic-flag--redstarcupdota2{background-image:url(/static/player/iconpack/flags/redstarcupdota2.png)}
.ic-flag--regno-unito{background-image:url(/static/player/iconpack/flags/regno-unito.png)}
.ic-flag--regnounito{background-image:url(/static/player/iconpack/flags/regnounito.png)}
.ic-flag--repubblica-cemocratica-del-congo{background-image:url(/static/player/iconpack/flags/repubblica-cemocratica-del-congo.png)}
.ic-flag--repubblicaceca{background-image:url(/static/player/iconpack/flags/repubblicaceca.png)}
.ic-flag--repubblicad'irlanda{background-image:url(/static/player/iconpack/flags/repubblicad'irlanda.png)}
.ic-flag--repubblicadicorea{background-image:url(/static/player/iconpack/flags/repubblicadicorea.png)}
.ic-flag--repubblicadomenicana{background-image:url(/static/player/iconpack/flags/repubblicadomenicana.png)}
.ic-flag--repubblicadominicana{background-image:url(/static/player/iconpack/flags/repubblicadominicana.png)}
.ic-flag--repubblicaunitadellatanzania{background-image:url(/static/player/iconpack/flags/repubblicaunitadellatanzania.png)}
.ic-flag--republic-of-macedonia{background-image:url(/static/player/iconpack/flags/republic-of-macedonia.png)}
.ic-flag--republic-of-the-congo{background-image:url(/static/player/iconpack/flags/republic-of-the-congo.png)}
.ic-flag--richmond{background-image:url(/static/player/iconpack/flags/richmond.png)}
.ic-flag--riot{background-image:url(/static/player/iconpack/flags/riot.png)}
.ic-flag--rizinff{background-image:url(/static/player/iconpack/flags/rizinff.png)}
.ic-flag--romania{background-image:url(/static/player/iconpack/flags/romania.png)}
.ic-flag--rosehill{background-image:url(/static/player/iconpack/flags/rosehill.png)}
.ic-flag--ruanda{background-image:url(/static/player/iconpack/flags/ruanda.png)}
.ic-flag--rugbya15{background-image:url(/static/player/iconpack/flags/rugbya15.png)}
.ic-flag--rugbya7{background-image:url(/static/player/iconpack/flags/rugbya7.png)}
.ic-flag--rugbyleague{background-image:url(/static/player/iconpack/flags/rugbyleague.png)}
.ic-flag--rugbyunion{background-image:url(/static/player/iconpack/flags/rugbyunion.png)}
.ic-flag--rugbyunionsevens{background-image:url(/static/player/iconpack/flags/rugbyunionsevens.png)}
.ic-flag--russia{background-image:url(/static/player/iconpack/flags/russia.png)}
.ic-flag--rwanda{background-image:url(/static/player/iconpack/flags/rwanda.png)}
.ic-flag--saba-island{background-image:url(/static/player/iconpack/flags/saba-island.png)}
.ic-flag--sahrawi-arab-democratic-republic{background-image:url(/static/player/iconpack/flags/sahrawi-arab-democratic-republic.png)}
.ic-flag--saint-kitts-and-nevis{background-image:url(/static/player/iconpack/flags/saint-kitts-and-nevis.png)}
.ic-flag--saintkittsenevis{background-image:url(/static/player/iconpack/flags/saintkittsenevis.png)}
.ic-flag--sale{background-image:url(/static/player/iconpack/flags/sale.png)}
.ic-flag--saltoconglisci{background-image:url(/static/player/iconpack/flags/saltoconglisci.png)}
.ic-flag--samoa{background-image:url(/static/player/iconpack/flags/samoa.png)}
.ic-flag--samoaamericane{background-image:url(/static/player/iconpack/flags/samoaamericane.png)}
.ic-flag--san-marino{background-image:url(/static/player/iconpack/flags/san-marino.png)}
.ic-flag--sandown{background-image:url(/static/player/iconpack/flags/sandown.png)}
.ic-flag--sanmarino{background-image:url(/static/player/iconpack/flags/sanmarino.png)}
.ic-flag--sanmarinogp{background-image:url(/static/player/iconpack/flags/sanmarinogp.png)}
.ic-flag--sanmarinogp-{background-image:url(/static/player/iconpack/flags/sanmarinogp-.png)}
.ic-flag--sao-tome-e-principe{background-image:url(/static/player/iconpack/flags/sao-tome-e-principe.png)}
.ic-flag--saopaulogp{background-image:url(/static/player/iconpack/flags/saopaulogp.png)}
.ic-flag--saotomeprincipe{background-image:url(/static/player/iconpack/flags/saotomeprincipe.png)}
.ic-flag--sardenia{background-image:url(/static/player/iconpack/flags/sardenia.png)}
.ic-flag--sardinia{background-image:url(/static/player/iconpack/flags/sardinia.png)}
.ic-flag--saudiarabia{background-image:url(/static/player/iconpack/flags/saudiarabia.png)}
.ic-flag--sbk{background-image:url(/static/player/iconpack/flags/sbk.png)}
.ic-flag--sbl{background-image:url(/static/player/iconpack/flags/sbl.png)}
.ic-flag--scozia{background-image:url(/static/player/iconpack/flags/scozia.png)}
.ic-flag--sectordota2{background-image:url(/static/player/iconpack/flags/sectordota2.png)}
.ic-flag--senegal{background-image:url(/static/player/iconpack/flags/senegal.png)}
.ic-flag--serbia{background-image:url(/static/player/iconpack/flags/serbia.png)}
.ic-flag--seychelles{background-image:url(/static/player/iconpack/flags/seychelles.png)}
.ic-flag--shepparton{background-image:url(/static/player/iconpack/flags/shepparton.png)}
.ic-flag--sicilia{background-image:url(/static/player/iconpack/flags/sicilia.png)}
.ic-flag--siclia{background-image:url(/static/player/iconpack/flags/siclia.png)}
.ic-flag--sierra-leone{background-image:url(/static/player/iconpack/flags/sierra-leone.png)}
.ic-flag--sierraleone{background-image:url(/static/player/iconpack/flags/sierraleone.png)}
.ic-flag--sigul{background-image:url(/static/player/iconpack/flags/sigul.png)}
.ic-flag--simulatedreality{background-image:url(/static/player/iconpack/flags/simulatedreality.png)}
.ic-flag--simulatedrealityleague{background-image:url(/static/player/iconpack/flags/simulatedrealityleague.png)}
.ic-flag--simulatedrealitywomen{background-image:url(/static/player/iconpack/flags/simulatedrealitywomen.png)}
.ic-flag--singapore{background-image:url(/static/player/iconpack/flags/singapore.png)}
.ic-flag--singaporegp{background-image:url(/static/player/iconpack/flags/singaporegp.png)}
.ic-flag--sint-eustatius{background-image:url(/static/player/iconpack/flags/sint-eustatius.png)}
.ic-flag--sint-maarten{background-image:url(/static/player/iconpack/flags/sint-maarten.png)}
.ic-flag--siria{background-image:url(/static/player/iconpack/flags/siria.png)}
.ic-flag--slovacchia{background-image:url(/static/player/iconpack/flags/slovacchia.png)}
.ic-flag--slovenia{background-image:url(/static/player/iconpack/flags/slovenia.png)}
.ic-flag--soccer{background-image:url(/static/player/iconpack/flags/soccer.png)}
.ic-flag--solvalla{background-image:url(/static/player/iconpack/flags/solvalla.png)}
.ic-flag--somalia{background-image:url(/static/player/iconpack/flags/somalia.png)}
.ic-flag--somaliland{background-image:url(/static/player/iconpack/flags/somaliland.png)}
.ic-flag--south-sudan{background-image:url(/static/player/iconpack/flags/south-sudan.png)}
.ic-flag--southkorea{background-image:url(/static/player/iconpack/flags/southkorea.png)}
.ic-flag--spagna{background-image:url(/static/player/iconpack/flags/spagna.png)}
.ic-flag--spagnaamateure{background-image:url(/static/player/iconpack/flags/spagnaamateure.png)}
.ic-flag--spagnaamatori{background-image:url(/static/player/iconpack/flags/spagnaamatori.png)}
.ic-flag--spain{background-image:url(/static/player/iconpack/flags/spain.png)}
.ic-flag--spaingp{background-image:url(/static/player/iconpack/flags/spaingp.png)}
.ic-flag--spanishgp{background-image:url(/static/player/iconpack/flags/spanishgp.png)}
.ic-flag--specialbets{background-image:url(/static/player/iconpack/flags/specialbets.png)}
.ic-flag--specialesquadra{background-image:url(/static/player/iconpack/flags/specialesquadra.png)}
.ic-flag--specialicampionati{background-image:url(/static/player/iconpack/flags/specialicampionati.png)}
.ic-flag--specialinazionali{background-image:url(/static/player/iconpack/flags/specialinazionali.png)}
.ic-flag--specialplayers{background-image:url(/static/player/iconpack/flags/specialplayers.png)}
.ic-flag--sport{background-image:url(/static/player/iconpack/flags/sport.png)}
.ic-flag--sports{background-image:url(/static/player/iconpack/flags/sports.png)}
.ic-flag--sportsasia{background-image:url(/static/player/iconpack/flags/sportsasia.png)}
.ic-flag--squadreinternazionali{background-image:url(/static/player/iconpack/flags/squadreinternazionali.png)}
.ic-flag--sri-lanka{background-image:url(/static/player/iconpack/flags/sri-lanka.png)}
.ic-flag--srilanka{background-image:url(/static/player/iconpack/flags/srilanka.png)}
.ic-flag--st-barts{background-image:url(/static/player/iconpack/flags/st-barts.png)}
.ic-flag--st-lucia{background-image:url(/static/player/iconpack/flags/st-lucia.png)}
.ic-flag--st-vincent-and-the-grenadines{background-image:url(/static/player/iconpack/flags/st-vincent-and-the-grenadines.png)}
.ic-flag--statiuniti{background-image:url(/static/player/iconpack/flags/statiuniti.png)}
.ic-flag--sudafrica{background-image:url(/static/player/iconpack/flags/sudafrica.png)}
.ic-flag--sudamerica{background-image:url(/static/player/iconpack/flags/sudamerica.png)}
.ic-flag--sudan{background-image:url(/static/player/iconpack/flags/sudan.png)}
.ic-flag--sug{background-image:url(/static/player/iconpack/flags/sug.png)}
.ic-flag--supercars{background-image:url(/static/player/iconpack/flags/supercars.png)}
.ic-flag--suriname{background-image:url(/static/player/iconpack/flags/suriname.png)}
.ic-flag--svenskaelitcsgo{background-image:url(/static/player/iconpack/flags/svenskaelitcsgo.png)}
.ic-flag--svezia{background-image:url(/static/player/iconpack/flags/svezia.png)}
.ic-flag--sveziaamatori{background-image:url(/static/player/iconpack/flags/sveziaamatori.png)}
.ic-flag--svizzera{background-image:url(/static/player/iconpack/flags/svizzera.png)}
.ic-flag--swaziland{background-image:url(/static/player/iconpack/flags/swaziland.png)}
.ic-flag--sweden{background-image:url(/static/player/iconpack/flags/sweden.png)}
.ic-flag--tagikistan{background-image:url(/static/player/iconpack/flags/tagikistan.png)}
.ic-flag--taipeicinese{background-image:url(/static/player/iconpack/flags/taipeicinese.png)}
.ic-flag--taiwan{background-image:url(/static/player/iconpack/flags/taiwan.png)}
.ic-flag--tajikistan{background-image:url(/static/player/iconpack/flags/tajikistan.png)}
.ic-flag--tanzania{background-image:url(/static/player/iconpack/flags/tanzania.png)}
.ic-flag--temperatureitalia{background-image:url(/static/player/iconpack/flags/temperatureitalia.png)}
.ic-flag--tencent{background-image:url(/static/player/iconpack/flags/tencent.png)}
.ic-flag--thailandgp{background-image:url(/static/player/iconpack/flags/thailandgp.png)}
.ic-flag--thailandia{background-image:url(/static/player/iconpack/flags/thailandia.png)}
.ic-flag--thegardens{background-image:url(/static/player/iconpack/flags/thegardens.png)}
.ic-flag--tibet{background-image:url(/static/player/iconpack/flags/tibet.png)}
.ic-flag--time{background-image:url(/static/player/iconpack/flags/time.png)}
.ic-flag--timor-est{background-image:url(/static/player/iconpack/flags/timor-est.png)}
.ic-flag--timorest{background-image:url(/static/player/iconpack/flags/timorest.png)}
.ic-flag--togo{background-image:url(/static/player/iconpack/flags/togo.png)}
.ic-flag--tokelau{background-image:url(/static/player/iconpack/flags/tokelau.png)}
.ic-flag--tonga{background-image:url(/static/player/iconpack/flags/tonga.png)}
.ic-flag--torneodeiquattrotrampolini{background-image:url(/static/player/iconpack/flags/torneodeiquattrotrampolini.png)}
.ic-flag--transnistria{background-image:url(/static/player/iconpack/flags/transnistria.png)}
.ic-flag--trinidad-e-tobago{background-image:url(/static/player/iconpack/flags/trinidad-e-tobago.png)}
.ic-flag--trinidadetobago{background-image:url(/static/player/iconpack/flags/trinidadetobago.png)}
.ic-flag--tunisia{background-image:url(/static/player/iconpack/flags/tunisia.png)}
.ic-flag--turchia{background-image:url(/static/player/iconpack/flags/turchia.png)}
.ic-flag--turchiaamatori{background-image:url(/static/player/iconpack/flags/turchiaamatori.png)}
.ic-flag--turchiaamatoriale{background-image:url(/static/player/iconpack/flags/turchiaamatoriale.png)}
.ic-flag--turkey{background-image:url(/static/player/iconpack/flags/turkey.png)}
.ic-flag--turkeytbsl{background-image:url(/static/player/iconpack/flags/turkeytbsl.png)}
.ic-flag--turkiye{background-image:url(/static/player/iconpack/flags/turkiye.png)}
.ic-flag--turkmenistan{background-image:url(/static/player/iconpack/flags/turkmenistan.png)}
.ic-flag--turks-and-caicos{background-image:url(/static/player/iconpack/flags/turks-and-caicos.png)}
.ic-flag--tuvalu{background-image:url(/static/player/iconpack/flags/tuvalu.png)}
.ic-flag--tuvalu-1{background-image:url(/static/player/iconpack/flags/tuvalu-1.png)}
.ic-flag--tvevents{background-image:url(/static/player/iconpack/flags/tvevents.png)}
.ic-flag--ucccsgo{background-image:url(/static/player/iconpack/flags/ucccsgo.png)}
.ic-flag--uccdota2{background-image:url(/static/player/iconpack/flags/uccdota2.png)}
.ic-flag--ucraina{background-image:url(/static/player/iconpack/flags/ucraina.png)}
.ic-flag--ufc{background-image:url(/static/player/iconpack/flags/ufc.png)}
.ic-flag--uganda{background-image:url(/static/player/iconpack/flags/uganda.png)}
.ic-flag--ungheria{background-image:url(/static/player/iconpack/flags/ungheria.png)}
.ic-flag--unione-europea{background-image:url(/static/player/iconpack/flags/unione-europea.png)}
.ic-flag--unioneeuropea{background-image:url(/static/player/iconpack/flags/unioneeuropea.png)}
.ic-flag--unionerugby{background-image:url(/static/player/iconpack/flags/unionerugby.png)}
.ic-flag--unitedarabemirates{background-image:url(/static/player/iconpack/flags/unitedarabemirates.png)}
.ic-flag--unitedstatesgp{background-image:url(/static/player/iconpack/flags/unitedstatesgp.png)}
.ic-flag--uruguay{background-image:url(/static/player/iconpack/flags/uruguay.png)}
.ic-flag--usa{background-image:url(/static/player/iconpack/flags/usa.png)}
.ic-flag--usagp{background-image:url(/static/player/iconpack/flags/usagp.png)}
.ic-flag--utrmen{background-image:url(/static/player/iconpack/flags/utrmen.png)}
.ic-flag--utrwomen{background-image:url(/static/player/iconpack/flags/utrwomen.png)}
.ic-flag--uzbekistan{background-image:url(/static/player/iconpack/flags/uzbekistan.png)}
.ic-flag--vanuatu{background-image:url(/static/player/iconpack/flags/vanuatu.png)}
.ic-flag--variousleague{background-image:url(/static/player/iconpack/flags/variousleague.png)}
.ic-flag--vatican-city{background-image:url(/static/player/iconpack/flags/vatican-city.png)}
.ic-flag--venezuela{background-image:url(/static/player/iconpack/flags/venezuela.png)}
.ic-flag--vietnam{background-image:url(/static/player/iconpack/flags/vietnam.png)}
.ic-flag--visionesports{background-image:url(/static/player/iconpack/flags/visionesports.png)}
.ic-flag--wagga{background-image:url(/static/player/iconpack/flags/wagga.png)}
.ic-flag--warnambool{background-image:url(/static/player/iconpack/flags/warnambool.png)}
.ic-flag--warragul{background-image:url(/static/player/iconpack/flags/warragul.png)}
.ic-flag--weplay{background-image:url(/static/player/iconpack/flags/weplay.png)}
.ic-flag--westindies{background-image:url(/static/player/iconpack/flags/westindies.png)}
.ic-flag--wsof{background-image:url(/static/player/iconpack/flags/wsof.png)}
.ic-flag--wta{background-image:url(/static/player/iconpack/flags/wta.png)}
.ic-flag--wta125k{background-image:url(/static/player/iconpack/flags/wta125k.png)}
.ic-flag--yemen{background-image:url(/static/player/iconpack/flags/yemen.png)}
.ic-flag--zambia{background-image:url(/static/player/iconpack/flags/zambia.png)}
.ic-flag--zanzibar{background-image:url(/static/player/iconpack/flags/zanzibar.png)}
.ic-flag--zimbabwe{background-image:url(/static/player/iconpack/flags/zimbabwe.png)}
/* ---- PROVIDER casinò ---- */
.ic-prov--dark{background-image:url(/static/player/iconpack/provider/providers-dark-.png)}
.ic-prov--dark{background-image:url(/static/player/iconpack/provider/providers-dark.png)}
.ic-prov--light{background-image:url(/static/player/iconpack/provider/providers-light-.png)}
.ic-prov--light{background-image:url(/static/player/iconpack/provider/providers-light.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:#f5b301;color:#1a1205;box-shadow:inset 0 0 0 1px #d99400}
.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:#f5b301;color:#1a1205;box-shadow:inset 0 0 0 1px #d99400}
/* 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 — SFONDO ORO evidenziato, OVUNQUE (Dav 23/07).
   Quando una quota è nel coupon la cella deve avere lo sfondo oro del brand
   (non solo un contorno): 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).
   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:#f5b301 !important;
  color:#1a1205 !important;
  border-color:#e0a200 !important;
  outline:none !important;
  box-shadow:inset 0 0 0 1px #d99400, 0 2px 6px rgba(245,179,1,.38) !important;
  font-weight:800 !important;
}
.chip.on .lbl,.chip.on .px{color:#1a1205 !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(--lcw-accent);background:#e3ecf6}
/* selezionata nel coupon = SFONDO ORO pieno (Dav 23/07), come lista/dettaglio */
.lcw-q.on{background:#f5b301;border-color:#e0a200;color:#1a1205;box-shadow:inset 0 0 0 1px #d99400}
.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) ───────────────────────────
   Sulla scheda evento il tema rende comunque `.top-menu--sports` (il menu sport
   orizzontale delle liste), che qui è vuoto: una striscia chiara inutile sopra il
   breadcrumb. La si toglie SOLO sulla pagina evento (quella che ha il frame single),
   non sulle liste dove il menu serve davvero. */
.main-container:has(.match-list--single-wrapper) .top-menu--sports{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».
   ──────────────────────────────────────────────────────────────────────────── */
.hu .hu-user{display:flex;align-items:center;gap:7px;max-width:200px}
.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:150px;
  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}

/* ═══ 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; }

