@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
@import url('https://fonts.googleapis.com/css?family=Montserrat&display=swap');  

body {
  background-color : #080e14;
  color : white;
  font-family: 'Montserrat', sans-serif;
  font-size : 11px;
  margin-bottom : 0px;
  margin-left : 0px;
  margin-right : 0px;
  margin-top : 0px;
  text-align : center;
  min-width: 300px;
}

/* HEADER (ex menu_logo) */
#header_page {
  background: #080e14;
  width: 100%;
  min-width: 300px;
  max-width: 599px;   
  padding: 0 10px;
  height: 45px;
  margin: 0 auto;
  position: static;
  z-index: 500;
  box-sizing: border-box;
}
#header_page .rightside img {
  margin-left: 8px;
}
#header_page ul {
  list-style: none;
  margin: 0;
  padding: 10px 0 0 0;  /* come nell’originale mobile */
}
#header_page li {
  float: left;
  margin-left: 10px;
  list-style: none;
  background: #080e14;
}
#header_page li.menu {
  float: left;
  margin-right: 50px;
  text-align: left;
}
#header_page li.rightside {
  float: right;
  margin-right: 10px;
  text-align: right;
}
#header_page li.rightsidemenu {
  float: right;
  margin-right: 0;
  margin-left: 40px;
  text-align: right;
}

/* MAIN SHORTCUTS (duplica header_page) */
#main_shortcuts {
  background: #080e14;
  width: 100%;
  min-width: 300px;
  max-width: 599px;   
  padding: 0 10px;
  height: 40px;
  margin: 0 auto;
  position: static;
  z-index: 500;
  box-sizing: border-box;
}
#main_shortcuts ul {
  list-style: none;
  margin: 0;
  padding: 10px 0 0 0;
}
#main_shortcuts li {
  float: left;
  margin-left: 10px;
  list-style: none;
  background: #080e14;
}
#main_shortcuts li.menu {
  float: left;
  margin-right: 50px;
  text-align: left;
}
#main_shortcuts li.rightside {
  float: right;
  margin-right: 10px;
  text-align: right;
}
#main_shortcuts li.rightsidemenu {
  float: right;
  margin-right: 0;
  margin-left: 40px;
  text-align: right;
}

/* MENU USER (ex menu_login) */
#menu_user {
  background: #080e14;
  width: 100%;
  min-width: 300px;
  max-width: 599px;   
  padding: 0 10px;
  height: 30px;
  margin: 0 auto;
  position: static;
  z-index: 500;
  box-sizing: border-box;
}
#menu_user ul {
  list-style: none;
  margin: 0;
  padding: 3px 0 0 0;
}
#menu_user li {
  float: left;
  list-style: none;
  background: #080e14;
}
#menu_user li.menu {
  float: left;
  margin-right: 50px;
  text-align: left;
}
#menu_user li.rightside {
  float: right;
  margin-right: 10px;
  text-align: right;
}
#menu_user li.leftside {
  float: left;
  margin-left: 0;
  text-align: left;
}
#menu_user li.rightsidemenu {
  float: right;
  margin-right: 0;
  margin-left: 40px;
  text-align: right;
}
/* =========================
   MENU USER/LANGUAGE – mobile first
   ========================= */

/* Contenitore */
#menu_user_language{
  background-color:#080e14;
  margin:0 auto;
  padding:8px 10px;
  min-width:300px;
  max-width:599px;
  width:100%;
  box-sizing:border-box;

  /* FIX layering sopra a menu_sfondo (z-index:500) */
  position:relative;     /* era static → lo z-index non aveva effetto */
  z-index:1000;          /* > 500, regola se necessario */

  /* evita che la dropdown venga “tagliata” */
  overflow:visible;
}

/* Lista principale */
#menu_user_language ul{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  list-style:none;
  margin:0;
  padding:0;
}

/* Spazio elastico al centro */
#menu_user_language li.spacer{ flex:1; }

/* Lati */
#menu_user_language li.rightside{ margin-left:10px; margin-right:0; }
#menu_user_language li.leftsideside{ margin-right:20px; }

/* Testi base */
#menu_user_language .text_12_b{
  font-size:12px;
  font-weight:bold;
  margin:0;
}

/* Trigger link: supporta white_11_b e 11_b */
#menu_user_language .white_11_b,
#menu_user_language .\31 1_b{
  color:#fff;
  text-decoration:none;
  display:inline-block;
  cursor:pointer;
  padding:4px 8px;
  white-space:nowrap;
}

/* Dropdown anchor */
#menu_user_language li.dropdown{ position:relative; }

/* Caret */
#menu_user_language li.dropdown .caret{
  font-size:.7em;
  margin-left:4px;
  color:#fff;
  transition:transform .2s ease;
}
#menu_user_language li.dropdown.open .caret{ transform:rotate(180deg); }

/* Menu a tendina */
#menu_user_language li.dropdown .dropdown_menu{
  display:none;
  position:absolute;
  top:calc(100% + 4px);   /* piccolo distacco dal trigger */
  right:0;                /* ancorato al bordo destro del <li> */
  list-style:none;
  margin-right: 8px;
  padding:4px 0;

  background:#0D1B27;
  border-radius: 0 0 8px 8px;
  box-shadow:0 10px 24px rgba(0,0,0,.35);
  width: auto;
  z-index:2000;           /* sopra icone/elementi vicini */
}

/* Apertura */
#menu_user_language li.dropdown.open > .dropdown_menu{ display:block; }

/* Voci del menu */
#menu_user_language li.dropdown .dropdown_menu li{ padding:0; }
#menu_user_language li.dropdown .dropdown_menu li a{
  display:block;
  padding:8px 12px;
  color:#fff;
  font-size:.95em;
  text-decoration:none;
  white-space:nowrap;
}
#menu_user_language li.dropdown .dropdown_menu li a:hover{
  background:rgba(255,255,255,.06);
}


/* SEPARATORE (menu_linea) */
#header_linea {
  background: #393e43;
  width: 100%;
  min-width: 300px;
  max-width: 599px;   
  padding: 0 10px;
  height: 1.5px;
  margin: 0 auto;
  position: static;
  z-index: 500;
  box-sizing: border-box;
}

/* FOOTER */
#footer_page {
  justify-content: center;
  background: #080e14;
  min-width: 300px;
  max-width: 599px;   
  padding: 0 10px;
  height: 70px;
  margin: 0 auto;
  position: static;
  text-align: center;
  z-index: 500;
  box-sizing: border-box;
}

#footer_page img.social {
  margin: 1px 12px 1px 12px;
}

#footer_page p.testo_11_y {
  font-size: 11px;
  font-weight: bold;
  color: #ffc932;
}

#footer_page a.giallo_11_y:link,
#footer_page a.giallo_11_y:visited {
  font-family: 'Montserrat', sans-serif;
  color: #ffc932;
  font-size: 11px;
  font-weight: bold;
  text-decoration: none;
}

#footer_page a.giallo_11_y:hover {
  font-family: 'Montserrat', sans-serif;
  color: white;
  font-size: 11px;
  font-weight: bold;
  text-decoration: none;
}

#footer_page a.giallo_11_y:active {
  font-family: 'Montserrat', sans-serif;
  color: #ffc932;
  font-size: 11px;
  font-weight: bold;
  text-decoration: none;
}
/*ELEMENTI CONTAINER*/
  #main_box {
    width: 100%;
    min-width: 300px;
    max-width: 599px;   
  padding: 0 10px;
    margin: 0 auto;
    text-align: center;
    display: flex;
  flex-direction: column;
  align-items: center;
    box-sizing: border-box;
  }
  
  #menu_sfondo {
    background: transparent;
    margin: 0 auto;
    position:static;
    background-image: url('../img/imgMobile/bg-image4.png');
    width: 350px; 
    border-radius: 16px; 
    background-repeat: no-repeat;
    z-index: 500;
}   
  #box_iubenda {
    background: #080e14;
    color: #ffc932;
    font-size : 12px;            
    position: static; 
    width: 100%;
      min-width: 300px;
      max-width: 599px;               
    display: inline-block;            
    vertical-align: top;                            
    margin: 0 0; /* y x */
    text-align: center;
    z-index: 500;  
  } 
 /* 1 colonna su mobile */
 #layout_blocks{
  column-count: 1;
  
}
  
/* “Card”/blocchi dentro alle colonne */
.block_box{
  break-inside: avoid;   /* evita spezzamenti tra colonne */
  margin: 0 0 10px;      /* spazio verticale tra card */
  width: auto;
  max-width: none;
  display: block;        /* evita layout strani se avevi flex */
  box-sizing: border-box;
 
  text-align: center;    /* riprende il tuo text-align */
}
  
  table.generica_black {
    font-family: 'Montserrat', sans-serif;
    font-size : 11px;
    color: #ffc932; /* giallo di default*/
    padding: 0px 0px 0px 0px;
    border: 0;
    background: #101820; /* grigio medio */
  }
  table.generica_black td.vuota1 {
    margin: 0 0 0 0;
    padding: 0 0 0 0;        
    background-color: transparent;
    height: 1px;        
}  
table.generica_black td.vuota5 {
  margin: 0 0 0 0;
  padding: 0 0 0 0;        
  background-color: transparent;
  height: 5px;        
}  
table.generica_black td.vuota10 {
  margin: 0 0 0 0;
  padding: 0 0 0 0;        
  background-color: transparent;
  height: 10px;        
}  
  table.generica_black td.text_white {
    background-color: #101820;/* sfondo pagina scuro */    
    color: white;
    font-size : 12px;
    font-weight: bold;
    height: 30px;   
}    
  table.generica_black td.riga_grigia {
    background-color: #40464d;
    height: 1px;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
  }
  table.generica_black td.riga_intestazione {
    background-color: #1a2836;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    height: 30px;
  }
  table.generica_black td.riga_intestazione_y {
    background-color: #1a2836;
    color: #ffc932;
    font-size: 11px;
    font-weight: bold;
    height: 30px;
  }
  table.generica_black td.intestazione_y {
    background-color: #ffc932;
    color: #101820;
    font-size: 11px;
    font-weight: bold;
    height: 30px;
  }
  table.generica_black td.intestazione_r {
    background-color: #ff2e26;
    color: #101820;
    font-size: 11px;
    font-weight: bold;
    height: 30px;
  }
 table.generica_black td.riga_player {
    background-color: #101820;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    max-height: 35px;
    
  }
  /* ====== BASE COMUNE: SCURA ====== */
table.generica_black td.riga_scura,
table.generica_black td.riga_scura_border,
table.generica_black td.riga_scura_border_y,
table.generica_black td.riga_scura_border_left,
table.generica_black td.riga_scura_border_right,
table.generica_black td.riga_scura_border_left_y,
table.generica_black td.riga_scura_border_right_y{
  background-color:#101820;
  font-size:11px;
  font-weight:bold;
  height:35px;
  width:auto;
  max-width:100%;
  box-sizing:border-box;
  padding:4px;
  vertical-align:middle;
}

/* Colore testo SCURA (normale) */
table.generica_black td.riga_scura,
table.generica_black td.riga_scura_border,
table.generica_black td.riga_scura_border_left,
table.generica_black td.riga_scura_border_right{
  color:#fff;
}

/* Colore testo SCURA (giallo _y) */
table.generica_black td.riga_scura_border_y,
table.generica_black td.riga_scura_border_left_y,
table.generica_black td.riga_scura_border_right_y{
  color:#ffc932;
}

/* Raggi SCURA */
table.generica_black td.riga_scura_border{ border-radius:6px !important; }
table.generica_black td.riga_scura_border_y{ border-radius:6px !important; }
table.generica_black td.riga_scura_border_left{  border-radius:6px 0 0 6px !important; }
table.generica_black td.riga_scura_border_right{ border-radius:0 6px 6px 0 !important; }
table.generica_black td.riga_scura_border_left_y{  border-radius:6px 0 0 6px !important; }
table.generica_black td.riga_scura_border_right_y{ border-radius:0 6px 6px 0 !important; }


/* ====== BASE COMUNE: CHIARA ====== */
table.generica_black td.riga_chiara,
table.generica_black td.riga_chiara_border,
table.generica_black td.riga_chiara_border_y,
table.generica_black td.riga_chiara_border_left,
table.generica_black td.riga_chiara_border_right,
table.generica_black td.riga_chiara_border_left_y,
table.generica_black td.riga_chiara_border_right_y{
  background-color:#1a2836;
  font-size:11px;
  font-weight:bold;
  height:35px;
  width:auto;
  min-width:60px;
  max-width:100%;
  box-sizing:border-box;
  padding:4px;
  vertical-align:middle;
}

/* Colore testo CHIARA (normale) */
table.generica_black td.riga_chiara,
table.generica_black td.riga_chiara_border,
table.generica_black td.riga_chiara_border_left,
table.generica_black td.riga_chiara_border_right{
  color:#fff;
}

/* Colore testo CHIARA (giallo _y) */
table.generica_black td.riga_chiara_border_y,
table.generica_black td.riga_chiara_border_left_y,
table.generica_black td.riga_chiara_border_right_y{
  color:#ffc932;
}

/* Raggi CHIARA */
table.generica_black td.riga_chiara_border{ border-radius:6px !important; }
table.generica_black td.riga_chiara_border_y{ border-radius:6px !important; }
table.generica_black td.riga_chiara_border_left{  border-radius:6px 0 0 6px !important; }
table.generica_black td.riga_chiara_border_right{ border-radius:0 6px 6px 0 !important; }
table.generica_black td.riga_chiara_border_left_y{  border-radius:6px 0 0 6px !important; }
table.generica_black td.riga_chiara_border_right_y{ border-radius:0 6px 6px 0 !important; }


/* ====== Allineamenti via data-attribute ====== */
table.generica_black td[data-align="left"]   { text-align:left   !important; }
table.generica_black td[data-align="center"] { text-align:center !important; }
table.generica_black td[data-align="right"]  { text-align:right  !important; }


  table.generica_black td.por_low {
    background-color: #101820; /* grigio medio */
    color: #d54051;
    font-size: 11px;
    font-weight: bold;
    height: 20px;
}

table.generica_black td.dif_low {
    background-color: #101820; /* grigio medio */
    color: #fcd67c;
    font-size: 11px;
    font-weight: bold;
    height: 20px;
}

table.generica_black td.med_low {
    background-color: #101820; /* grigio medio */
    color: #8bfa8b;
    font-size: 11px;
    font-weight: bold;
    height: 20px;
}

table.generica_black td.cen_low {
    background-color: #101820; /* grigio medio */
    color: #12af6c;
    font-size: 11px;
    font-weight: bold;
    height: 20px;
}

table.generica_black td.tre_low {
    background-color: #101820; /* grigio medio */
    color: #7be0ff;
    font-size: 11px;
    font-weight: bold;
    height: 20px;
}

table.generica_black td.att_low {
    background-color: #101820; /* grigio medio */
    color: #9481ff;
    font-size: 11px;
    font-weight: bold;
    height: 20px;
}
table.formazioni-precedenti {
  table-layout: auto;
  width: 100%;
}
table.formazioni-precedenti td.riga_intestazione_y {
  background-color: #1a2836;
  color: #ffc932;
  font-size: 11px;
  font-weight: bold;
  height: 30px;
  width:100%;
}
table.formazioni-precedenti > tbody > tr > td.black * {
  font-size: 10px !important;
}

.solo_mobile,
.solo_desktop {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  min-width: 200px; /* anche qui */
}
table.formazioni-precedenti td.riga_scura {
  font-size: 10px;
  text-align: center;
  padding: 1px;
  white-space: nowrap; /* CONSENTE il wrap */
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 15px;
  max-width: 80px;
  box-sizing: border-box;
  word-break: break-word; /* spezza parole lunghe */
}
/* celle chiare che NON devono andare a capo */
table.formazioni-precedenti td.riga_chiara {
  background-color: #1a2836;
  color: #fff;
  font-size: 10px;
  text-align: center;
  padding: 1px;
  white-space: nowrap; /* vieta il wrap */
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 15px;
  max-width: 80px;
  box-sizing: border-box;
}
  #box_spacer_10 {
    background: transparent;
    margin: 0 auto;        
    position:static;
    min-width: 300px;
    max-width: 599px;   
  padding: 0 10px;    
    height:10px;        
}
  #box_spacer_20 {
    background: transparent;
    margin: 0 auto;        
    position:static;
    min-width: 300px;
    max-width: 599px;   
  padding: 0 10px;   
    height:20px;        
}
  #box_spacer_30 {
    background: transparent;
    margin: 0 auto;        
    position:static;
    min-width: 300px;
    max-width: 599px;   
  padding: 0 10px;    
    height:30px;        
}

.solo_mobile {
  display: inline;
}
.solo_tablet {
  display: none;
}
.solo_desktop {
  display: none;
}

/*STILI ELEMENTI E TESTI*/
.hidden {
  display: none;
}
/* Disegna solo il perimetro esterno della riga evidenziata */
/* Bordo esterno unico */
.highlight td {
  /* azzera eventuali bordi laterali interni messi altrove */
  border-left: 0 !important;
  border-right: 0 !important;

  /* bordo alto/basso su TUTTE le celle */
  border-top: 2px solid #fcd67c;
  border-bottom: 2px solid #fcd67c;

  /* glow continuo anche sulle celle centrali */
  
  transition: filter .3s ease;
}

/* bordo sinistro solo alla prima cella */
.highlight td:first-child {
  border-left: 1px solid #fcd67c !important;
}

/* bordo destro solo all’ultima cella */
.highlight td:last-child {
  border-right: 1px solid #fcd67c !important;
}

/* Wrapper per centratura (sostituisce lo style inline) */
.btn-wrap { text-align: center; margin-top: auto; }

/* Variabili per ritocchi rapidi */
:root{
  --btn-bg-1: #ffd866;   /* luce */
  --btn-bg-2: #f6a21f;   /* ombra */
  --btn-border: #7a4a00; /* bordo scuro */
  --btn-text: #1a1a1a;
  --btn-shadow: rgba(0,0,0,.25);
}

/* Bottone */
.btn-custom{
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid var(--btn-border);
  background: linear-gradient(to bottom, var(--btn-bg-1) 0%, var(--btn-bg-2) 100%);
  color: var(--btn-text);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 6px 8px;          /* desktop default */
  border-radius: 24px;       /* pill */
  box-shadow:
    0 2px 0 var(--btn-border),           /* bordo “3D” */
    0 6px 12px var(--btn-shadow),        /* ombra esterna */
    inset 0 2px 0 rgba(255,255,255,.35); /* riflesso interno */
  cursor: pointer;
  outline: none;
  transition: transform .06s ease, box-shadow .12s ease, filter .12s ease;
  font-size: 11px;
}

/* Hover / focus */
.btn-custom:hover,
.btn-custom:focus-visible{
  filter: brightness(1.02);
  transform: translateY(-1px);
  box-shadow:
    0 3px 0 var(--btn-border),
    0 10px 16px var(--btn-shadow),
    inset 0 2px 0 rgba(255,255,255,.4);
}

/* Active (pressione) */
.btn-custom:active{
  transform: translateY(0);
  box-shadow:
    0 1px 0 var(--btn-border),
    0 4px 8px var(--btn-shadow),
    inset 0 2px 0 rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.25);
}

/* Accessibilità focus tastiera */
.btn-custom:focus-visible{
  box-shadow:
    0 0 0 3px rgba(0,0,0,.5),
    0 0 0 6px rgba(255,210,80,.55),
    inset 0 2px 0 rgba(255,255,255,.4);
}



/* Righe che contengono il pulsante “Show more” */
.show-more-row {
  background-color: transparent;
}

/* Cella che contiene il pulsante “Show more” */
.show-more-cell {
  text-align: center;
  padding: 8px 0;  /* spazio verticale */
}

/* Stile per il pulsante “Show more” */
.show-more-button {
  background-color: #ffc932;  /* giallo */
  color: #101820;             /* testo scuro */
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 11px;            /* 11px su mobile */
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.show-more-button:hover {
  background-color: #e6b828;  /* leggermente più scuro al passaggio */
}


img.m {
  display: inline;
}
img.d {
  display: none;
} 

input.m { display: inline; }
input.d { display: none; }

input.black_low { /* <input> */
  background-color: #1a2836;
  opacity:1.0;
  border: 0;
  font-size: 11px;
  height: 30px;
  color: white;
}        

input.black { /* <input> */
  background-color: #1a2836;
  opacity:1.0;
  border: 0;
  height: 30px;
  color: white;
  width: 200px;
}    

input.black_mini { /* <input> */
  background-color: #1a2836;
  opacity:1.0;
  border: 0;
  height: 30px;
  color: white;
  width: 80px;
}        

input.black_h { /* <input> */
  background-color: #1a2836;
  opacity:1.0;
  border: 0;
  padding: 0px 2px 0px 3px;
  height: 35px;
  color: white;
} 

input.black_v_h { /* <input> */
  background-color: #1a2836;
  opacity:1.0;
  border: 0;
  height: 35px;
  font-size : 13px;        
  color: white;
  padding: 0px 2px 0px 3px;
}            

.centered-checkbox {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px; /* opzionale: spazio tra testo e checkbox */
}

/* === RUOLI COLORATI in modalità responsive === */
label.dif_low    { color: #fcd67c; }
label.med_low    { color: #8bfa8b; }
label.cen_low    { color: #12af6c; }
label.tre_low    { color: #7be0ff; }
label.att_low    { color: #9481ff; }
label.por_low    { color: #d54051; }

td.por {
  color: #d54051;
}
td.dif {
  color: #fcd67c;
}
td.med {
  color: #8bfa8b;
}
td.cen {
  color: #12af6c;
}
td.tre {
  color: #7be0ff;
}
td.att {
  color: #9481ff;
}
p.text_16_b {
  font-size : 16px;
  font-weight: bold;  
}
p.text_12_b {
  font-size : 12px;
  font-weight: bold;
}   
p.text_12_y {
  font-size : 12px;
  font-weight: bold;
  color: #ffc932; 
}  
p.text_22_y {
  font-size : 22px;
  font-weight: bold; 
  color: #ffc932;  
}
p.text_22_b {
  font-size : 22px;
  font-weight: bold;  
}
p.text_normal {
  font-size : 12px;
  font-weight: bold;
  color : white;  
}    
p.text_red {
  font-size : 11px;
  font-weight: bold;      
  color: #ff2e26; /*rosso */
}       
/* Bianco */
a.white_11_b:link,
a.white_11_b:visited,
a.white_11_b:hover ,
a.white_11_b:active {
    font-family: 'Montserrat', sans-serif;
    color: white;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none;
} 
  a.white_11_b:hover {
    color: #ffc932;
}
/* Bianco */
a.white_12_b:link,
a.white_12_b:visited,
a.white_12_b:hover ,
a.white_12_b:active {
    font-family: 'Montserrat', sans-serif;
    color: white;
    font-size: 12px;
    font-weight: bold;
    text-decoration: none;
} 
  a.white_12_b:hover {
    color: #ffc932;
}
  a.nero_13_b:link,
a.nero_13_b:visited,
a.nero_13_b:hover,
a.nero_13_b:active {
    font-family: 'Montserrat', sans-serif;
    color: #101820;
    font-size: 11px; /* base */
    font-weight: bold;
    text-decoration: none;
}
    .intestazione_y a,
.intestazione_y a:visited,
.intestazione_y a:hover,
.intestazione_y a:active {
    color: inherit;         /* usa il colore del td */
    text-decoration: none;  /* rimuove la sottolineatura */
} 
  p.yellow_11 {
    font-size : 11px;
    font-weight: bold;      
    color: #ffc932; /* giallo sito  */
}
a.yellow_11_b:link,
a.yellow_11_b:visited,
a.yellow_11_b:hover,
a.yellow_11_b:active {
    font-family: 'Montserrat', sans-serif;
    color: #ffc932;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none;
}
a.yellow_11_b:hover {
  color: white;
}
a.por_13_b:link {
  font-family: 'Montserrat', sans-serif;
  color : #d54051;    
  font-size : 11px;
  font-weight: bold;    
  text-decoration : none;
}
  a.por_13_b:visited {
    font-family: 'Montserrat', sans-serif;
    color : #d54051;    
    font-size : 11px;
    font-weight: bold;          
    text-decoration : none;
  }
  a.por_13_b:hover {
    font-family: 'Montserrat', sans-serif;
    color : white;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }
  a.por_13_b:active {
    font-family: 'Montserrat', sans-serif;
    color : #d54051;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }        
a.dif_13_b:link {
  font-family: 'Montserrat', sans-serif;
  color : #fcd67c;    
  font-size : 11px;
  font-weight: bold;    
  text-decoration : none;
}
  a.dif_13_b:visited {
    font-family: 'Montserrat', sans-serif;
    color : #fcd67c;    
    font-size : 11px;
    font-weight: bold;          
    text-decoration : none;
  }
  a.dif_13_b:hover {
    font-family: 'Montserrat', sans-serif;
    color : white;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }
  a.dif_13_b:active {
    font-family: 'Montserrat', sans-serif;
    color : #fcd67c;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }            
a.med_13_b:link {
  font-family: 'Montserrat', sans-serif;
  color : #8bfa8b;    
  font-size : 11px;
  font-weight: bold;    
  text-decoration : none;
}
  a.med_13_b:visited {
    font-family: 'Montserrat', sans-serif;
    color : #8bfa8b;    
    font-size : 11px;
    font-weight: bold;          
    text-decoration : none;
  }
  a.med_13_b:hover {
    font-family: 'Montserrat', sans-serif;
    color : white;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }
  a.med_13_b:active {
    font-family: 'Montserrat', sans-serif;
    color : #8bfa8b;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }                
a.cen_13_b:link {
  font-family: 'Montserrat', sans-serif;
  color : #12af6c;    
  font-size : 11px;
  font-weight: bold;    
  text-decoration : none;
}
  a.cen_13_b:visited {
    font-family: 'Montserrat', sans-serif;
    color : #12af6c;    
    font-size : 11px;
    font-weight: bold;          
    text-decoration : none;
  }
  a.cen_13_b:hover {
    font-family: 'Montserrat', sans-serif;
    color : white;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }
  a.cen_13_b:active {
    font-family: 'Montserrat', sans-serif;
    color : #12af6c;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }                    
a.tre_13_b:link {
  font-family: 'Montserrat', sans-serif;
  color : #7be0ff;    
  font-size : 11px;
  font-weight: bold;    
  text-decoration : none;
}
  a.tre_13_b:visited {
    font-family: 'Montserrat', sans-serif;
    color : #7be0ff;    
    font-size : 11px;
    font-weight: bold;          
    text-decoration : none;
  }
  a.tre_13_b:hover {
    font-family: 'Montserrat', sans-serif;
    color : white;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }
  a.tre_13_b:active {
    font-family: 'Montserrat', sans-serif;
    color : #7be0ff;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }                        
a.att_13_b:link {
  font-family: 'Montserrat', sans-serif;
  color : #9481ff;    
  font-size : 11px;
  font-weight: bold;    
  text-decoration : none;
}
  a.att_13_b:visited {
    font-family: 'Montserrat', sans-serif;
    color : #9481ff;    
    font-size : 11px;
    font-weight: bold;          
    text-decoration : none;
  }
  a.att_13_b:hover {
    font-family: 'Montserrat', sans-serif;
    color : white;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }
  a.att_13_b:active {
    font-family: 'Montserrat', sans-serif;
    color : #9481ff;    
    font-size : 11px;
    font-weight: bold;                
    text-decoration : none;
  }    
  a.bianco_13_b:link {
    font-family: 'Montserrat', sans-serif;
    color : white;    
    font-size : 11px;
    font-weight: bold;    
    text-decoration : none;
  }
    a.bianco_13_b:visited {
      font-family: 'Montserrat', sans-serif;
      color : white;    
      font-size : 11px;
      font-weight: bold;          
      text-decoration : none;
    }
    a.bianco_13_b:hover {
      font-family: 'Montserrat', sans-serif;
      color : #ffc932;    
      font-size : 11px;
      font-weight: bold;                
      text-decoration : none;
    }
    a.bianco_13_b:active {
      font-family: 'Montserrat', sans-serif;
      color : white;    
      font-size : 11px;
      font-weight: bold;                
      text-decoration : none;
    }
.j_rigori_selez {
  background-color: #101820; /* grigio medio */
  color: white;
  font-size : 11px;
  font-weight: bold;                        
  max-height: 30px;        
  cursor: pointer;                
}   
.btn-move {
  background: transparent;
  border: none;
  padding: 2px;
  margin: 0 2px;
  cursor: pointer;
}

/* PERSONALIZZAZIONE PAGINE*/
/* Base = MOBILE */
.search-overlay[hidden]{ display:none !important; }
.search-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.55); backdrop-filter: blur(1px);
  display:flex; align-items:flex-start; justify-content:center; padding:6vh 12px; z-index:9999;
}
.search-panel{
  width:min(860px, 100%); background:#101820; border:1px solid #2a2a2a; border-radius:16px;
  box-shadow:0 30px 80px rgba(0,0,0,.6); overflow:hidden; color:#eaeaea;
}

/* Head: mobile = elementi a colonna */
.search-head{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px 16px; 
  border-bottom:1px solid #FFC932; }

.search-input{
  order: 2;
  flex: 1 1 100%;
  min-width: 0;           /* lascia prendere tutta la riga su mobile */
  height:44px; background:#1a2836; border:1px solid #FFC932; border-radius:10px; color:#FFC932;
  padding:0 12px; font-size:16px; outline:none; transition:border .15s ease, box-shadow .15s ease;
}
.search-input:focus{ border-color:#FFC932; box-shadow:0 0 0 3px rgba(255,201,50,.35); }

.chips{
  order: 3;
  width: 100%;
  margin-top: 8px;
  display:flex; gap:8px; flex-wrap:wrap;
  justify-content: flex-end;   /* chips allineate a destra su mobile */
}
.chip{
  height:30px; padding:0 10px; border-radius:9999px; flex:0 0 auto;
  border:1px solid #2a2a2a; background:#101820; color:#FFF;
  display:inline-flex; align-items:center; cursor:pointer; font-weight:600; font-size:13px;
}
.chip[data-active="true"]{ background:#1a2836; border-color:#FFC932; color:#FFC932; }

.closebtn{
  order: 1;
  margin-left: auto;      /* pulsante chiudi allineato a destra in alto */
  background:transparent; border:0; color:#FFC932; cursor:pointer; padding:4px 10px;
}

.search-body{ max-height:50vh; overflow:auto; }
.search-footer{ display:flex; align-items:center; justify-content:space-between; padding:10px 16px;
   border-top:1px solid #242424; color:#FFC932; font-size:12px; }

/* ENHANCEMENT = DESKTOP/TABLET IN SU */
@media (min-width: 601px){
  .search-input{
    order: 1;
    flex: 1 1 240px;
    min-width: 240px;     /* mantiene una larghezza minima comoda */
  }
  .chips{
    order: 2;
    width: auto;
    margin-top: 0;
    justify-content: flex-start; /* tornano accanto all’input */
  }
  .closebtn{
    order: 3;
    margin-left: 0;
  }
}


  /* ===== Messaggi: Header + Tabs ===== */
  .messaggi {
    width: 100%;
    max-width: 380px;   /* limite mobile */
    margin: 0 auto;     /* lo centro dentro #box_centrale */
    box-sizing: border-box;
    
  }

  .messaggi__header {
    max-width: 380px;
    padding: 0 4px;
  }
  
  /* Tab wrapper */
  .messaggi__header #message_tabs {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 3px;
    overflow: visible;
    height: 40px;
  }
  
  /* Singola tab */
  .messaggi__header .message-tab {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    padding: 6px 2px;
    border: none;
    border-radius: 8px 8px 0 0;
    background-color: #101820;
    color: #fff;
    cursor: pointer;
    text-align: center;
    transition: background-color .2s ease;
    margin-top: 8px;
    overflow: visible;
  }
  
  /* Tab attiva */
  .messaggi__header .message-tab.active {
    background-color: #ffc932;
    color: #000;
    border-radius: 10px 10px 0 0;
  }
  .messaggi__header .filter-info {
    max-width: 380px;
    margin-bottom: 8px;
  }
  /* Badge */
  .messaggi__header .tab-badge {
    background: red;
    color: white;
    border-radius: 50%;
    width: 12px; height: 12px;
    font-size: 9px;
    line-height: 12px;
    padding: 1px 1px;
    position: absolute;
    top: -4px; right: -4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  
  /* ===== Messaggi: Contenuto tabella ===== */
  .messaggi__content {
    width: 100%;
  }
  
  .messaggi__content #messaggi_box_inline {
    display: block;
    max-width: 380px;
    margin: 0 auto;
    overflow-x: auto;
    box-sizing: border-box;
  }
  
  .messaggi__content table.generica_black {
    width: 100%;
    
  }
  
  .messaggi__content table.generica_black td.riga_data {
    background-color: #101820;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    height: 35px;
    max-width: 85px;
  }
  
  .messaggi__content table.generica_black td.riga_grigia {
    background-color: #40464d;
    height: 1px;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
  }
  .messaggi__content table.generica_black td.riga_intestazione {
    background-color: #1a2836;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    height: 30px;
  }
  .messaggi__content table.generica_black td.riga_messaggi {
    background-color: #101820;
    
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    height: 30px;
  }

 
  /* message-popup-cloud.css */
.popup-cloud{
  position:absolute;                   /* sarà figlio di <body> */
  background:#1a2836;
  color:#f5f5f5;
  border:2px solid #ffc932;
  border-radius:8px;
  padding:12px;
  box-shadow:0 4px 16px rgb(0 0 0 / .5);
  box-sizing:border-box;
  z-index:1000;

  min-width:200px;                     /* usabilità */
  max-width:450px;                     /* su desktop */
}

.popup-cloud::before{
  content:"";
  position:absolute;
  top:-12px;
  left:var(--arrow-left,50%);
  transform:translateX(-50%);
  border:0 solid transparent;
  border-width:0 12px 12px 12px;
  border-bottom-color:#ffc932;
}

/* header, list, footer stile invariato… */

.popup-cloud .card-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}
.popup-cloud .card-header h3 {
  margin: 0;
  color: #ffc932;
  font-size: 1rem;
}
.popup-cloud .card-header .card-date {
  color: #ccc;
  font-size: 0.85rem;
}

.popup-cloud .message-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 260px;
  overflow-y: auto;
}
.popup-cloud .message-list li {
  padding: 6px 0;
  border-bottom: 1px solid #101820;
  font-size: 0.7rem;
}

.popup-cloud .empty {
  text-align: center;
  color: #888;
  padding: 16px 0;
}

.popup-cloud .card-footer {
  text-align: center;
  margin-top: 8px;
}
.popup-cloud .see-all {
  text-decoration: none;
  color: #ffc932;
  font-weight: bold;
}
.popup-cloud .see-all:hover {
  opacity: 0.9;
}
.popup-cloud .message-list::-webkit-scrollbar {
  width: 8px;
}
.popup-cloud .message-list::-webkit-scrollbar-track {
  background: #101820;    /* track scuro */
  border-radius: 4px;
}
.popup-cloud .message-list::-webkit-scrollbar-thumb {
  background-color: #ffc932; /* thumb giallo */
  border-radius: 4px;
  border: 2px solid #1a2836; /* padding interno scuro */
}
.popup-cloud .message-list::-webkit-scrollbar-thumb:hover {
  background-color: #ffda5a;
}

/* Scrollbar “brandizzato” per Firefox */
.popup-cloud .message-list {
  scrollbar-width: thin;
  scrollbar-color: #ffc932 #101820;
}

.tattica-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
}

.tattica-col {
  flex: 1 1 48%;
  min-width: 130px;
  background: #101820;
  border-radius: 6px;
  padding: 6px;
  box-sizing: border-box;
}

.tattica-col:nth-child(3n) {
  flex: 1 1 100%;
}

.tattica-entry {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.tattica-entry label {
  flex: 1;
  font-weight: bold;
  font-size: 11px;
  color: #fff;
  text-align: left;
  padding-right: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* VALORE SPAN / SELECT STILIZZATI */
.tattica-entry span,
.tattica-entry select {
  line-height: 30px !important;
  flex: 1 !important;
  text-align: center !important;
  color: #ffc932 !important;
  font-size: 11px;
  font-weight: bold !important;
  padding: 6px 10px !important;
  background-color: #1a2836 !important;
  border-radius: 4px !important;
  height: 30px !important;
  line-height: 1.2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

/* SELECT specifico */
.tattica-entry select {
  appearance: none !important;
  border: 1px solid #1a2836 !important;
  background-image: url("data:image/svg+xml;utf8,<svg fill='%23ffc932' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5z'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 2px center !important;
  background-size: 16px !important;
}

/* Illuminazione al focus */
.tattica-entry select:focus {
  border-color: #ffc932;
  outline: 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075),
              0 0 8px rgba(255, 201, 50, 0.6);
}
/* Compatibilità con browser Microsoft */
.tattica-entry select::-ms-expand {
  display: none;
  background-color: transparent;
  border: 0;
}

/* Placeholder (non usato ma incluso per sicurezza compatibilità) */
.tattica-entry select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.tattica-entry select:-ms-input-placeholder {
  color: #999;
}
.tattica-entry select::-webkit-input-placeholder {
  color: #999;
}
span.tattica-valore {
  font-size: 11px;
}
select.tattica-valore{
  font-size: 11px;
}
/* Stile per il filtro competizione */
/* Container per label + select “Competition” */
.filter-competition-container {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

/* Styling specifico per la select “Competition” */
select.filter-competition-select {
  appearance: none;
  border: 1px solid #1a2836;
  background-color: #1a2836;
  color: #ffc932;
  font-size: 12px;
  font-weight: bold;
  line-height: 30px;
  padding: 0px 36px 2px 10px;           /* padding-top/right/bottom/left */
  background-position: right 12px center;
  border-radius: 4px;
  height: 30px;
  background-image: url("data:image/svg+xml;utf8,<svg fill='%23ffc932' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5z'/></svg>");
  background-repeat: no-repeat;
  
  background-size: 16px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

select.filter-competition-select:focus {
  outline: none;
  border-color: #ffc932;
  box-shadow:
    inset 0 1px 1px rgba(0,0,0,0.075),
    0 0 8px rgba(255,201,50,0.6);
}

select.filter-competition-select::-ms-expand {
  display: none;
}

/* === Select generica riutilizzabile === */
.select_rounded {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  display: inline-block;
  width: auto;           /* prende tutta la larghezza del contenitore */
  min-width: 120px;            /* evita che diventi troppo stretta */
  max-width: 100%;             /* non esce dal parent */

  border: 1px solid #1a2836;
  background-color: #1a2836;
  color: #ffc932;

  font-size: 11px;
  font-weight: bold;
  line-height: 1.3;
  height: 32px;

  padding: 0 32px 0 10px;      /* spazio per l’icona a destra */
  border-radius: 6px;
  box-sizing: border-box;
  cursor: pointer;

  background-image: url("data:image/svg+xml;utf8,<svg fill='%23ffc932' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 14px;
  text-align-last: center;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.select_rounded option {
  text-align: center;
}

/* Focus */
.select_rounded:focus {
  outline: none;
  border-color: #ffc932;
  box-shadow:
    inset 0 1px 1px rgba(0,0,0,0.075),
    0 0 6px rgba(255,201,50,0.6);
}

/* Compatibilità MS */
.select_rounded::-ms-expand {
  display: none;
}

/* Testo lungo: ellissi */
.select_rounded option {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ======== Premium: header rigori =================================== */
#headerContainer         {display:flex;gap:8px;flex-direction:column;align-items: center; justify-content:center;text-align: center;
  width:100%;max-width:1240px; margin: 0 auto; }
@media (min-width:1110px){
           #headerContainer{flex-direction:row-reverse;
  justify-content:space-evenly;align-items:center; }
  #simRow {
    align-self: flex-start;
  }
  #ordinaRow {
    align-self: flex-start;
  }
  #topRow {
    align-self: flex-start;
  }
  #guidaBlock{
    align-self: center;
  }
}

  #box_rigoristi {
    width: 100%;
    min-width: 300px;
    max-width: 599px;   
  
    margin: 0 auto;
    text-align: center;
    display: flex;
  flex-direction: column;
  align-items: center;
    box-sizing: border-box;
  }
  #box_rigoristi > form {
    width: 100%;          /* occuperà il 100 % di #box_rigoristi           */
    max-width: 100%;      /* evita che il form si restringa                 */
    align-self: stretch;  /* in caso di altri item flex, si estende davvero */
  }

#topRow                  {display:flex;justify-content:center;gap:8px;margin-bottom:8px}
#guidaBlock              {display:flex;flex-direction:column;align-items:center;min-width: 200px;max-width:250px;position: relative;flex: 0 0 300px;}
#guidaBtn                {font-size:12px;background:#ffc932;border:none;padding:6px 10px;white-space:nowrap; 
  border-radius:6px;font-weight:bold;cursor:pointer}
#guidaBox                {display:none;background:#ffe98c;padding:6px 8px;font-size:11px;
                          border-radius:6px;margin-top:6px;color:#000;text-align:left;width: 100%; max-width: 100%;box-sizing: border-box; }
                          #guidaBox > div {
                            display: flex !important;      /* confermiamo il flex */
                            flex-wrap: wrap !important;    /* permettiamo ai figli di andare a capo */
                            gap: 16px !important;          /* spazio tra le due colonne */
                          }
#ordinaRow               {display:flex;justify-content:center;align-items:center;gap:6px;margin-bottom:8px;min-width: 295px;max-width:350px;
  width:100%}
#ordinaBtn               {background:#ffc932;color:#000;padding:6px 10px;border-radius:6px;
  border:none;font-weight:bold;cursor:pointer}
#ordinaControls          {display:flex;flex-wrap:wrap;gap:6px;align-items:center}

.skill-toggle            {padding:6px 10px;font-size:12px;border-radius:6px;border:none;
  font-weight:bold;background:#eee;cursor:pointer}
.skill-toggle.active     {background:#ffc932;color:#000}

#simRow                  {display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;min-width: 295px;max-width:335px;}
#simControls             {display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%;margin-bottom:8px}
#startModeBtn            {background:#9E9E9E;color:#fff;padding:6px 12px;border-radius:6px;
  border:none;font-weight:bold;cursor:pointer}
#btnAvvia,#btnReset      {background:#9E9E9E;color:#fff;padding:6px 10px;border-radius:6px;
  border:none;font-weight:bold;cursor:pointer}

#locationButtons         {display:none;flex-wrap:wrap;gap:10px;justify-content:center;width:100%}
.loc-btn                 {color:#fff;border:none;padding:6px 10px;border-radius:6px;
  font-weight:bold;background:#9E9E9E;cursor:pointer}
/* attiva con JS → .selected */
.loc-btn.selected[data-mode="home"]    {background:#4CAF50}
.loc-btn.selected[data-mode="neutral"] {background:#607D8B}
.loc-btn.selected[data-mode="away"]    {background:#D32F2F}

/* riepilogo */
#boxRiepilogoRigori      {background:#1a2836;color:#fff;font-size:11px;line-height:1.2;
  margin:10px auto;padding:10px;border-radius:6px;width:330px;display:none}

/* badge nomi selezionati (erano inline) */
.rigorista-nome-selezionato  {background:#2196F3!important;color:#fff!important;border-radius:4px;padding:2px 4px}
.portiere-nome-selezionato   {background:#FF9800!important;color:#fff!important;border-radius:4px;padding:2px 4px}

/* piccola animazione già nel JS */
@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:translateY(0)}}
@keyframes float {from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(2px)}}
.fadeIn{animation:fadeIn .5s ease-out}
 /* Intro gialla “speaker” */
 .intro-text{
  font: 14px/1.3 'Bebas Neue',sans-serif;
  color:#ffc932;
  text-align:center;
  margin:4px 0 2px;
}

/* Esito grande, con animazione punch */
.esito-text{
  font-family:'Bebas Neue',sans-serif;
  font-size:26px;
  letter-spacing:1px;
  text-align:center;
  margin-bottom:4px;
  text-shadow:0 0 6px rgba(0,0,0,.25);
  animation:punch .5s ease-out;
}
.esito-text.goal   { color:#4caf50; }
.esito-text.parata { color:#d32f2f; }
.esito-text.palo   { color:#ffa000; }

@keyframes punch{
  0%  {transform:scale(.8) rotate(-2deg);opacity:0}
  60% {transform:scale(1.15) rotate(3deg)}
  100%{transform:scale(1) rotate(0);opacity:1}
}

/* Commento telecronaca corsivo/grigio */
.comment-text{
  font: italic 15px/1.4 'Bebas Neue',sans-serif;
  color:#c7c7c7;
  text-align:center;
  margin-bottom:10px;
}

/* FadeIn leggermente più marcato */
@keyframes fadeIn{
  from{opacity:0;transform:translateY(-6px)}
  to  {opacity:1;transform:translateY(0)}
}


/* === HOME: base mobile-first (≤599) === */
/* =============== ROOT & TOKENS =============== */
:root{
  --gap:24px;
  --radius:16px;
  --c-bg:#101820;
  --c-surface:rgba(255,255,255,0.03);
  --c-surface-strong:rgba(255,255,255,0.06);
  --c-border:rgba(255,255,255,0.18);
  --c-border-soft:rgba(255,255,255,0.10);
  --c-text:#eaeaea;
  --c-accent:#FFC932;
  --shadow-soft:0 2px 10px rgba(0,0,0,0.10);
  --shadow-hover:0 6px 16px rgba(0,0,0,0.16);
}

/* =============== GENERALI / RESET LEGGERO =============== */
.card{ box-sizing:border-box; overflow:hidden; }

/* =============== CTA BUTTON =============== */
.btn{
  display:inline-block;
  padding:12px 18px;
  border-radius:12px;
  font-weight:700;
  background:linear-gradient(180deg, #FFD76A, #FFB100);
  color:#1a1a1a;
  text-decoration:none;
  box-shadow:0 6px 16px rgba(255,177,0,0.35);
  transition:transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}
@media (hover:hover) and (pointer:fine){
  .btn:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(255,177,0,0.45); }
}

/* =============== CARD (mobile-first) =============== */
.card{
  background: var(--c-surface);
  border:1px solid var(--c-border-soft);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:var(--shadow-soft);
  backdrop-filter:none;
  transition:transform 300ms ease, box-shadow 160ms ease, border-color 160ms ease, opacity 700ms ease;
  will-change:transform;
}
.card.center{ text-align:center; }
.card img{ max-width:100%; height:auto; margin:0 auto; }

@media (hover:hover) and (pointer:fine){
  .card:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-hover);
    border-color:rgba(255,255,255,0.16);
  }
}

/* =============== CARD VARIANTI =============== */
.card--framed{
  background:var(--c-surface);
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  box-shadow:0 1px 6px rgba(0,0,0,0.12);
  overflow:hidden; /* taglia gli angoli dei contenuti interni */
}

.card-inner{
  background:var(--c-bg);
  border:1px solid var(--c-border);
  border-radius:12px;
  padding:8px;
  overflow:hidden; /* evita “scalini” con il table */
}
.card-inner .generica_black{ background:transparent !important; }
.card-inner table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  background:transparent;
}

/* Righe compatte dentro le card */
.card tr.row-compact td{
  background:transparent !important;
  border:0 !important;
  padding:4px 0;
}
.card tr.row-compact + tr.row-compact td{
  border-top:1px solid rgba(255,255,255,.06) !important;
}

/* =============== GRID CARDS =============== */
.cards-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr)); /* 2 colonne su mobile */
  gap:10px;
  align-items:stretch;
}
.cards-grid > .card{ display:block; }
.cards-grid .card{ margin:0; padding:8px; height:100%; }
.cards-grid.cards-grid--single{
  grid-template-columns: minmax(260px, 420px);
  justify-content: center;          /* centra la colonna nel contenitore */
  width: 100%;
}
/* =============== ELEMENTI UTILI =============== */
.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:25px; /* porta a 28px se vuoi più respiro */
  height:18px;
  padding:0 2px;
  border-radius:10px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  line-height:1;
  text-align:center;
}
.pill.plus{  background:rgba(35,195,120,.12); border:1px solid rgba(35,195,120,.35); }
.pill.minus{ background:rgba(235,80,80,.12);  border:1px solid rgba(235,80,80,.35); }
.card .pill.plus{  background:#1e8f4d; color:#fff; }
.card .pill.minus{ background:#b04141; color:#fff; }

.cell-end{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  width:100%;
}

/* =============== HEADER “PILL” CON RADIO =============== */
.table-header-pill{
  display:grid;
  grid-template-columns:1fr auto; /* titolo flessibile + radio a destra */
  align-items:center;
  gap:8px;
  height:55px;
  padding:8px 10px;
  margin-bottom:12px;
  color:var(--c-accent);
  background:var(--c-surface-strong);
  border:1px solid var(--c-border);
  border-radius:12px;
  overflow:hidden;
}

.table-header-pill .title{
  min-width:0;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:3; /* max 2 righe */
  -webkit-box-orient:vertical;
  line-clamp: 3;  
  white-space:normal;
  line-height:1.1;
  font-weight:700;
  letter-spacing:.2px;
}

.table-header-pill .classradio{
  align-self:center;
  justify-self:end;
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  position:relative;
  margin:0;
}
.table-header-pill .classradio input{
  position:absolute;
  inset:0;
  opacity:0;
  width:100%;
  height:100%;
  margin:0;
  cursor:pointer;
}
.table-header-pill .classradio .checkmark{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border-radius:50%;
  border:1px solid var(--c-border);
}
.table-header-pill .classradio .checkmark::after{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-40%, -56%) rotate(45deg);
  transform-origin:center;
  content:"";
  /* qui puoi disegnare la spunta con border se serve */
}

/* =============== REVEAL ON SCROLL =============== */
.reveal{ opacity:0; transform:translateY(24px) scale(0.98); }
.reveal.in-view{ opacity:1; transform:translateY(0) scale(1); }

/* =============== ACCESSIBILITÀ =============== */
@media (prefers-reduced-motion:reduce){
  .card, .reveal, .reveal.in-view{
    transition:none !important;
    transform:none !important;
  }
}
/* arrotonda SOLO gli angoli esterni della tabella “contenitore di card” */
table.generica_black:has(.cards-grid){
  border-radius: var(--radius);
  border-collapse: separate; /* serve per far applicare il raggio */
  border-spacing: 0;
  overflow: hidden; /* best effort */
}

/* angoli esterni arrotondati */
table.generica_black:has(.cards-grid) > tbody > tr:first-child > td:first-child{  border-top-left-radius: var(--radius); }
table.generica_black:has(.cards-grid) > tbody > tr:first-child > td:last-child{   border-top-right-radius: var(--radius); }
table.generica_black:has(.cards-grid) > tbody > tr:last-child  > td:first-child{  border-bottom-left-radius: var(--radius); }
table.generica_black:has(.cards-grid) > tbody > tr:last-child  > td:last-child{   border-bottom-right-radius: var(--radius); }