@charset "UTF-8";
/* =========================================================
   GREEN SPORT - OTTIMIZZAZIONE MOBILE "APP STYLE"
   Caricato DOPO as_green_sport.css e sportpress_08.css.
   Contiene solo override dentro media query: il desktop non cambia.
   Palette: verde #4fad33 · lime #8bd300 · nero #202020 · grigi #f4f4f4/#e0e0e0
   ========================================================= */

:root {
  --gs-green: #4fad33;
  --gs-lime: #8bd300;
  --gs-dark: #202020;
  --gs-black: #000000;
  --gs-bg: #f4f4f4;
  --gs-line: #e0e0e0;
  --gs-card: #ffffff;
  --gs-muted: #6b6b6b;
  --gs-yellow: #f2c200;
  --gs-red: #d6363a;
  --gs-radius: 12px;
  --gs-shadow: 0 1px 2px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.05);
}

/* =========================================================
   1. BASE MOBILE
   ========================================================= */
@media screen and (max-width: 761px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { font-size: 16px; -webkit-tap-highlight-color: rgba(79,173,51,.18); }
  p { line-height: 1.55; }
.faq {
  border-bottom: none!important;
}
  /* Più spazio utile ai dati */
  .post.calendar { padding: 20px 12px; }
  #tabella .post, #calendario .post { padding-left: 12px; padding-right: 12px; }

  /* Numeri allineati come nelle app */
  table, .teca, .classifica-marcatori, .provvedimenti { font-variant-numeric: tabular-nums; }

  /* Intestazioni sezione dati: barra scura con accento verde */
  h4.sp-table-caption, .classifica-corta h4.sp-table-caption, .classifica-marcatori h4.sp-table-caption {
    font-size: 15px !important;
    letter-spacing: .02em;
    text-transform: uppercase;
    border-top: 0 !important;
    border-left: 4px solid var(--gs-green);
    border-radius: var(--gs-radius) var(--gs-radius) 0 0;
    padding: 12px 14px;
    margin: 0;
  }

  /* Link competizione / fasi nell'header: pulsanti a tutta larghezza */
  ul.link_competizioni { width: auto; max-width: 100%; }
  ul.link_competizioni li a:link, ul.link_competizioni li a:visited {
    min-height: 44px;
    padding: 12px 16px;
    margin-bottom: 6px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.08);
    font-size: 15px;
    box-sizing: border-box;
  }
  .versus h3 { width: auto; font-size: 18px; margin-top: 24px; height: auto; }

  /* Legenda: chip compatte su due colonne */
  ul.legenda { columns: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  ul.legenda li, ul.legenda li:nth-child(3n) {
    border: 0;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 13px;
    line-height: 1.3;
  }
  ul.legenda li strong { color: var(--gs-green); }
}

/* =========================================================
   2. CLASSIFICA COMPLETA (sportspress/single-table.php)
      Tabella vera con scorrimento orizzontale e
      colonne Pos + Squadra bloccate a sinistra.
   ========================================================= */
@media screen and (max-width: 761px) {
  /* il wrapper scorre in orizzontale, il titolo resta fermo */
  #tabella .sp-table-wrapper {
    background: var(--gs-card);
    border-radius: var(--gs-radius);
    box-shadow: var(--gs-shadow);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    margin-bottom: 20px;
  }
  #tabella .sp-table-wrapper h4.sp-table-caption { position: sticky; left: 0; }
  #tabella .sp-table-wrapper table.sp-league-table {
    display: table;
    width: 100%;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
    background: var(--gs-card);
  }
  #tabella .sp-league-table thead { display: table-header-group; }
  #tabella .sp-league-table tbody { display: table-row-group; }
  #tabella .sp-league-table tr { display: table-row; }
  #tabella .sp-league-table th,
  #tabella .sp-league-table td {
    display: table-cell !important;
    visibility: visible;
    float: none;
    clear: none;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0 6px;
    min-width: 30px;
    height: 44px;
    border: 0;
    border-bottom: 1px solid #ededed;
    background-color: var(--gs-card);
    font-size: 13px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
  }
  #tabella .sp-league-table td::before,
  #tabella .sp-league-table th::before { content: none !important; }
  #tabella .sp-league-table th {
    height: 34px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gs-muted);
    background-color: #fafafa;
    border-bottom: 1px solid var(--gs-line);
  }

  /* colonne bloccate */
  #tabella table.sp-league-table .data-rank {
    position: sticky; left: 0; z-index: 2;
    box-sizing: border-box;
    width: 42px; min-width: 42px; max-width: 42px; padding: 0 2px;
  }
  #tabella table.sp-league-table .data-name {
    position: sticky; left: 42px; z-index: 2;
    min-width: 132px; max-width: 150px;
    text-align: left;
    white-space: normal;
    line-height: 1.2;
    padding-left: 4px;
    box-shadow: 6px 0 6px -6px rgba(0,0,0,.18);
  }
  #tabella table.sp-league-table td.data-name a {
    display: flex; align-items: center; gap: 8px;
    padding: 4px 0;
    color: var(--gs-dark);
    font-weight: 600;
    text-decoration: none;
  }
  #tabella .sp-league-table .team-logo { flex: 0 0 22px; display: inline-flex; }
  #tabella .sp-league-table .team-logo img {
    width: 22px !important; height: 22px !important; object-fit: contain; transform: none;
  }

  /* posizione come badge */
  #tabella table.sp-league-table td.data-rank {
    font-weight: 700;
    color: var(--gs-dark);
  }
  #tabella .sp-league-table tbody tr:first-child td.data-rank {
    color: #fff;
    background-image: radial-gradient(circle at center, var(--gs-green) 11px, transparent 12px);
  }
  #tabella .sp-league-table tbody tr td:first-child { border-left: 3px solid transparent; }
  #tabella .sp-league-table tbody tr:first-child td:first-child { border-left-color: var(--gs-green); }

  /* punti in evidenza */
  #tabella table.sp-league-table td.data-pts {
    font-weight: 800;
    font-size: 15px;
    color: var(--gs-dark);
    background-color: #f1f9ec;
    min-width: 40px;
  }
  #tabella table.sp-league-table th.data-pts { color: var(--gs-green); }
  #tabella table.sp-league-table td.data-gd { color: var(--gs-muted); }

  #tabella .sp-league-table tbody tr:active td { background-color: #f1f9ec; }
}

/* =========================================================
   3. CLASSIFICA CORTA (sidebar del calendario)
   ========================================================= */
@media screen and (max-width: 761px) {
  #calendario .classifica-corta {
    background: var(--gs-card);
    border-radius: var(--gs-radius);
    box-shadow: var(--gs-shadow);
    overflow: hidden;
    margin-bottom: 20px;
  }
  #calendario .classifica-corta table {
    display: table;
    width: 100%;
    margin: 0;
    border: 0;
    background: var(--gs-card);
  }
  #calendario .classifica-corta thead { display: table-header-group; }
  #calendario .classifica-corta tr { display: table-row; }
  #calendario .classifica-corta table.sp-data-table th,
  #calendario .classifica-corta table.sp-data-table td {
    display: table-cell !important;
    visibility: visible;
    float: none;
    width: auto;
    height: 42px;
    padding: 0 10px;
    border: 0;
    border-bottom: 1px solid #ededed;
    background: var(--gs-card);
    font-size: 14px;
    vertical-align: middle;
  }
  #calendario .classifica-corta table.sp-data-table th {
    height: 32px;
    font-size: 11px;
    text-transform: uppercase;
    color: var(--gs-muted);
    background: #fafafa;
  }
  #calendario .classifica-corta table.sp-data-table td.data-rank,
  #calendario .classifica-corta table.sp-data-table th.data-rank { width: 36px; padding: 0 4px; text-align: center; font-weight: 700; }
  #calendario .classifica-corta table.sp-data-table td.data-name,
  #calendario .classifica-corta table.sp-data-table th.data-name { text-align: left; }
  #calendario .classifica-corta td.data-name a { color: var(--gs-dark); font-weight: 600; }
  #calendario .classifica-corta table.sp-data-table td.data-pts,
  #calendario .classifica-corta table.sp-data-table th.data-pts { width: 48px; text-align: center; font-weight: 800; }
  #calendario .classifica-corta table.sp-data-table td.data-pts { background: #f1f9ec; }
  #calendario .classifica-corta table.sp-data-table tbody tr:first-child td.data-rank {
    color: #fff;
    background-image: radial-gradient(circle at center, var(--gs-green) 11px, transparent 12px);
  }
  #calendario .classifica-corta .link-classifica-completa { margin: 0; text-align: center; }
  #calendario .classifica-corta .link-classifica-completa a {
    display: block;
    padding: 13px;
    font-weight: 700;
    font-size: 14px;
    color: var(--gs-green);
    text-decoration: none;
  }
}

/* =========================================================
   4. CALENDARIO: GIORNATE COME CARD PARTITA
      (tabella_giornata.php - sp-event-list homeaway)
      Riga 1: data · orario   |   Riga 2: Casa  [score]  Ospite
   ========================================================= */
@media screen and (max-width: 761px) {
  .sp-template-event-list { margin-bottom: 8px; }
  .sp-template-event-list h4.sp-table-caption { padding-bottom: 40px; }

  table.sp-event-list.sp-event-list-format-homeaway {
    display: block;
    border: 0;
    margin: 0;
    background: transparent;
  }
  table.sp-event-list.sp-event-list-format-homeaway thead { display: none; }
  table.sp-event-list.sp-event-list-format-homeaway tbody { display: block; padding-top: 8px; }

  table.sp-event-list.sp-event-list-format-homeaway tr {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    grid-template-areas:
      "date  date  time"
      "home  score away";
    align-items: center;
    column-gap: 8px;
    row-gap: 6px;
    position: relative;
    margin: 0 0 8px;
    padding: 10px 12px 12px;
    background: var(--gs-card);
    border-radius: var(--gs-radius);
    box-shadow: var(--gs-shadow);
    border: 0;
  }

  table.sp-event-list.sp-event-list-format-homeaway td {
    display: block !important;
    visibility: visible;
    position: static;
    float: none;
    clear: none;
    width: auto !important;
    height: auto;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    background: transparent;
    transform: none !important;
    font-size: 14px;
    line-height: 1.25;
  }
  /* eventuali colonne extra di SportsPress su una riga intera */
  table.sp-event-list.sp-event-list-format-homeaway td { grid-column: 1 / -1; }

  table.sp-event-list.sp-event-list-format-homeaway td.data-date {
    grid-area: date;
    text-align: left;
    font-size: 12px;
    color: var(--gs-muted);
    text-transform: capitalize;
    padding-bottom: 6px !important;
    border-bottom: 1px solid #f0f0f0 !important;
  }
  table.sp-event-list.sp-event-list-format-homeaway td.data-date a { color: var(--gs-muted); text-decoration: none; }
  table.sp-event-list.sp-event-list-format-homeaway td.data-orario {
    grid-area: time;
    text-align: right;
    font-size: 12px;
    font-weight: 700;
    color: var(--gs-dark);
    padding-bottom: 6px !important;
    border-bottom: 1px solid #f0f0f0 !important;
  }
  table.sp-event-list.sp-event-list-format-homeaway .orario_match::before { content: none; }

  /* squadre */
  table.sp-event-list.sp-event-list-format-homeaway td.data-home { grid-area: home; text-align: right; }
  table.sp-event-list.sp-event-list-format-homeaway td.data-away { grid-area: away; text-align: left; }
  table.sp-event-list.sp-event-list-format-homeaway td.data-home a,
  table.sp-event-list.sp-event-list-format-homeaway td.data-away a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 0 !important;
    color: var(--gs-dark);
    font-weight: 600;
    font-size: 13px;
    text-align: center;
    text-decoration: none;
    word-break: break-word;
  }
  /* logo sopra il nome in entrambe le squadre */
  table.sp-event-list.sp-event-list-format-homeaway td span.team-logo {
    order: -1;
    position: static !important;
    transform: none !important;
    display: flex;
    justify-content: center;
    width: auto;
    max-width: none;
    max-height: none;
    margin: 0;
  }
  table.sp-event-list.sp-event-list-format-homeaway td span.team-logo img {
    width: 32px !important;
    height: 32px !important;
    object-fit: contain;
  }

  /* risultato */
  table.sp-event-list.sp-event-list-format-homeaway td.data-time {
    grid-area: score;
    text-align: center;
    min-width: 72px;
  }
  table.sp-event-list.sp-event-list-format-homeaway td.data-time > a {
    display: inline-block;
    min-width: 64px;
    padding: 7px 10px;
    border-radius: 8px;
    background: var(--gs-bg);
    color: var(--gs-muted);
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
  }
  table.sp-event-list.sp-event-list-format-homeaway td.data-time.ok > a {
    background: var(--gs-dark);
    color: #fff;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: .04em;
  }
  table.sp-event-list.sp-event-list-format-homeaway td.data-time span.goal-no { margin: 0 3px; }
  table.sp-event-list.sp-event-list-format-homeaway td.data-time .campo,
  table.sp-event-list.sp-event-list-format-homeaway td.data-time .esito {
    display: block;
    margin-top: 5px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--gs-muted);
  }
  table.sp-event-list.sp-event-list-format-homeaway td.data-time .campo.iolo {
    display: table;
    margin: 5px auto 0;
    padding: 2px 6px;
    border-radius: 4px;
    color: #1d5a0e;
  }
  table.sp-event-list.sp-event-list-format-homeaway td.data-time .esito {
    margin: 0 0 5px;
    color: var(--gs-red);
  }

  /* venue nascosto di SportsPress non deve rompere la griglia */
  table.sp-event-list.sp-event-list-format-homeaway td.data-venue { display: none !important; }

  /* Andata/Ritorno e scorciatoie classifica/marcatori sopra le card */
  .relative .tipo_giornata {
    top: 40px;
    left: 18px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--gs-lime);
  }
  .relative ul.statistiche { top: 6px; right: 8px; }
  ul.statistiche li { margin-right: 6px; width: 40px; height: 40px; border-radius: 50%; }
  ul.statistiche li a:link, ul.statistiche li a:visited,
  ul.statistiche li a:hover, ul.statistiche li a:active {
    width: 40px; height: 40px; padding-left: 40px;
    border-radius: 50%;
    background-size: auto 41px;
  }
  li.classifica a:hover, li.classifica a:active,
  li.marcatori a:hover, li.marcatori a:active { background-position: -41px top; }
}

/* =========================================================
   5. NAVIGAZIONE GIORNATE: chip scorrevoli tipo "matchday picker"
   ========================================================= */
@media screen and (max-width: 761px) {
  #calendario .navigazione-turni {
    padding: 8px 0 8px 12px;
    font-size: 14px;
    background: var(--gs-dark);
    border-radius: var(--gs-radius);
    border: 0;
    transform: none;
  }
  #calendario .navigazione-turni:not(.fixed) { position: relative; }
  #calendario .navigazione-turni.fixed { border-radius: 0; padding-top: 8px; transform: translateY(0); }
  #calendario .lista-turni { margin: 0; overflow: hidden; }
  #calendario .lista-turni > li {
    display: flex;
    align-items: center;
    width: 100%;
    float: none;
    margin: 0;
  }
  #calendario .lista-turni.andata > li { margin-bottom: 6px; }
  /* etichetta fissa a sinistra */
  #calendario .lista-turni > li > a {
    flex: 0 0 62px;
    padding: 0;
    margin: 0;
    background: transparent;
    font-size: 0;
    pointer-events: none;
  }
  #calendario .lista-turni > li > a::after { content: none; }
  #calendario .lista-turni.andata > li > a::before,
  #calendario .lista-turni.ritorno > li > a::before {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--gs-lime);
  }
  #calendario .lista-turni.andata > li > a::before { content: "Andata"; }
  #calendario .lista-turni.ritorno > li > a::before { content: "Ritorno"; }

  /* sottomenu sempre visibile come riga orizzontale scorrevole */
  #calendario .lista-turni ul,
  #calendario .lista-turni > li:hover ul {
    display: flex !important;
    position: static;
    flex: 1 1 auto;
    gap: 6px;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    opacity: 1;
    transform: none;
    box-shadow: none;
    background: transparent;
    padding-right: 12px;
  }
  #calendario .lista-turni ul::-webkit-scrollbar { display: none; }
  #calendario .post .lista-turni ul li,
  #calendario .lista-turni ul li { flex: 0 0 auto; scroll-snap-align: start; }
  #calendario .lista-turni ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    box-sizing: border-box;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 18px;
    background: transparent;
    color: #f4f4f4;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
  }
  #calendario .lista-turni ul li a:hover,
  #calendario .lista-turni ul li a.is-active {
    background: var(--gs-green);
    border-color: var(--gs-green);
    color: #fff;
  }
  /* "Giornata 3 - turno 21" diventa semplicemente "3" */
  #calendario .lista-turni .nt-pre,
  #calendario .lista-turni .nt-post { display: none; }
}

/* =========================================================
   6. CLASSIFICA MARCATORI
   ========================================================= */
@media screen and (max-width: 761px) {
  .classifica-marcatori {
    background: var(--gs-card);
    border-radius: var(--gs-radius);
    box-shadow: var(--gs-shadow);
    overflow: hidden;
    margin-bottom: 20px;
  }
  .classifica-marcatori table.tabella_greensport {
    display: block;
    border: 0;
    background: var(--gs-card);
  }
  .classifica-marcatori table.tabella_greensport tbody { display: block; }
  .classifica-marcatori table.tabella_greensport tr.int_marcatori,
  .classifica-marcatori table.tabella_greensport tr.cella_marcatori {
    display: grid !important;
    visibility: visible;
    grid-template-columns: 36px minmax(0,1fr) 44px;
    grid-template-areas:
      "pos name goals"
      "pos team goals";
    align-items: center;
    column-gap: 10px;
    margin: 0;
    padding: 9px 12px;
    border: 0;
    border-bottom: 1px solid #ededed;
  }
  .classifica-marcatori table.tabella_greensport tr.int_marcatori {
    grid-template-areas: "pos name goals";
    padding: 8px 12px;
    background: #fafafa;
  }
  .classifica-marcatori table.tabella_greensport tr.int_marcatori th.cella_squadra { display: none !important; }
  .classifica-marcatori table.tabella_greensport tr td,
  .classifica-marcatori table.tabella_greensport tr th,
  table.tabella_greensport tr td.position_goleador, table.tabella_greensport tr th.position_goleador,
  table.tabella_greensport tr td.giocatore_marcatori, .tabella_greensport td.cella_squadra,
  .tabella_greensport th.giocatore_marcatori, .tabella_greensport td.goal_marcatori, .tabella_greensport th.goal_marcatori {
    display: block;
    float: none;
    width: auto !important;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    transform: none;
    text-align: left;
  }
  .classifica-marcatori table.tabella_greensport tr th {
    font-size: 11px;
    text-transform: uppercase;
    color: var(--gs-muted);
    font-weight: 700;
  }
  .classifica-marcatori table.tabella_greensport tr .position_goleador { grid-area: pos; text-align: center !important; }
  .classifica-marcatori table.tabella_greensport tr .giocatore_marcatori { grid-area: name; font-size: 15px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .classifica-marcatori table.tabella_greensport tr td.giocatore_marcatori a { color: var(--gs-dark); text-decoration: none; }
  .classifica-marcatori table.tabella_greensport tr .cella_squadra { grid-area: team; font-size: 12px; color: var(--gs-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .classifica-marcatori table.tabella_greensport tr .goal_marcatori { grid-area: goals; text-align: right !important; }
  .classifica-marcatori table.tabella_greensport tr td.goal_marcatori { font-size: 20px; font-weight: 800; color: var(--gs-dark); }

  .classifica-marcatori table.tabella_greensport tr td.position_goleador {
    justify-self: center;
    width: 28px !important;
    height: 28px;
    padding: 0;
    text-align: center !important;
    line-height: 28px;
    border-radius: 50%;
    background: var(--gs-bg);
    font-size: 13px;
    font-weight: 700;
  }
  .classifica-marcatori table.tabella_greensport tr.cella_marcatori:nth-child(2) td.position_goleador { background: var(--gs-green); color: #fff; }
  .classifica-marcatori table.tabella_greensport tr.cella_marcatori:nth-child(3) td.position_goleador,
  .classifica-marcatori table.tabella_greensport tr.cella_marcatori:nth-child(4) td.position_goleador { background: var(--gs-dark); color: #fff; }
}

/* =========================================================
   7. PROVVEDIMENTI DISCIPLINARI (ammoniti / espulsi / sospesi / comunicazioni)
      Ogni riga diventa una card con barra colorata a sinistra.
   ========================================================= */
@media screen and (max-width: 761px) {
  .provvedimenti { background: transparent; margin-bottom: 20px; }
  .provvedimenti h4 {
    font-size: 15px;
    padding: 10px 12px;
    border-radius: 10px;
    margin-bottom: 8px;
  }
  .provvedimenti table.tabella_greensport { display: block; border: 0; background: transparent; }
  .provvedimenti table.tabella_greensport tbody { display: block; }
  .provvedimenti table.tabella_greensport tr.int_ammonizioni,
  .provvedimenti table.tabella_greensport tr.int_esp { display: none !important; }

  .provvedimenti table.tabella_greensport tr {
    display: block;
    margin: 0 0 8px;
    padding: 10px 12px;
    background: var(--gs-card);
    border-radius: 10px;
    border-left: 4px solid var(--gs-line);
    box-shadow: var(--gs-shadow);
  }
  .provvedimenti table.tabella_greensport tr.riga_ammonito { border-left-color: var(--gs-yellow); }
  .provvedimenti table.tabella_greensport tr.riga_espulso { border-left-color: var(--gs-red); }
  .provvedimenti table.tabella_greensport tr.riga_sospeso { border-left-color: var(--gs-dark); }

  .provvedimenti table.tabella_greensport tr td,
  .provvedimenti table.tabella_greensport tr.riga_ammonito td,
  .provvedimenti table.tabella_greensport tr.riga_espulso td,
  .provvedimenti table.tabella_greensport tr.riga_sospeso td,
  .provvedimenti table.tabella_greensport tr.riga_ammonito td.Diffidato,
  .provvedimenti table.tabella_greensport tr.riga_ammonito td.Squalificato {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    float: none;
    width: auto !important;
    padding: 3px 0;
    border: 0;
    background-color: transparent;
    color: var(--gs-dark);
    font-size: 14px;
    font-weight: 700;
    text-align: right !important;
  }
  .provvedimenti table.tabella_greensport tr td::before {
    font-weight: 400;
    color: var(--gs-muted);
    padding-left: 0 !important;
    text-align: left;
  }
  .provvedimenti table.tabella_greensport tr td:empty { display: none; }

  /* prima cella = nome giocatore, con icona cartellino */
  .provvedimenti table.tabella_greensport tr td:first-child {
    display: block;
    text-align: left !important;
    font-size: 15px;
    padding: 0 0 6px 24px;
    margin-bottom: 4px;
    border-bottom: 1px solid #f0f0f0;
    background-position: left 2px;
    background-size: 14px auto;
    background-repeat: no-repeat;
  }
  .provvedimenti table.tabella_greensport tr td:first-child::before { content: none !important; }
  .provvedimenti table.tabella_greensport tr td:first-child a { color: var(--gs-dark); }
  .provvedimenti table.tabella_greensport tr td[colspan] { padding-left: 0; font-weight: 400; border: 0; }
  .provvedimenti table.tabella_greensport tr.riga_sospeso td:first-child { padding-left: 0; }

  /* etichette */
  .provvedimenti td.team_ammonito::before, .provvedimenti td.esp_squadra::before { content: "Squadra"; }
  .provvedimenti td.ammonizioni_totale::before { content: "Ammonizione"; }
  .provvedimenti td.diffida::before { content: "Stato"; }
  .provvedimenti td.toto_ammonizioni::before { content: "Totale in competizione"; }
  .provvedimenti td.esp_giornate::before { content: "Squalifica"; }
  .provvedimenti td.esp_motivo::before { content: "Motivo"; }
  .provvedimenti tr.riga_sospeso td:nth-child(2)::before { content: "Squadra"; }
  .provvedimenti tr.riga_sospeso td:nth-child(3)::before { content: "Motivo"; }
  .provvedimenti tr.riga_sospeso td:nth-child(4)::before { content: "Turni scontati"; }
  .provvedimenti tr.riga_sospeso td:nth-child(5)::before { content: "Turni di squalifica"; }
  .comunicazioni.provvedimenti tr td:nth-child(2)::before { content: "Squadra"; }
  .comunicazioni.provvedimenti tr td:nth-child(3) { display: block; text-align: left !important; font-weight: 400; }

  /* stato diffida/squalifica come pill */
  .provvedimenti td.diffida.Diffidato, .provvedimenti td.diffida.Squalificato { align-items: center; }
  .provvedimenti tr.riga_ammonito td.diffida.Diffidato { color: #b26a00; }
  .provvedimenti tr.riga_ammonito td.diffida.Squalificato { color: var(--gs-red); }
}

/* Tendina "Provvedimenti disciplinari del turno" (single-calendar.php .faq details)
   card arrotondata come le card partita, freccia che ruota all'apertura */
@media screen and (max-width: 761px) {
  #calendario .faq { margin: 4px 0 24px; }
  #calendario .faq details {
    margin: 0;
    background: var(--gs-card);
    border: 0 !important;
    border-radius: var(--gs-radius);
    box-shadow: var(--gs-shadow);
    overflow: hidden;
  }
  #calendario .faq summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    margin: 0;
    padding: 10px 14px;
    box-sizing: border-box;
    border: 0 !important;
    background: transparent !important;
    list-style: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--gs-dark);
  }
  #calendario .faq summary::-webkit-details-marker { display: none; }
  #calendario .faq summary::marker { content: ""; }
  #calendario .faq summary svg {
    flex: 0 0 auto;
    position: static;
    float: none;
    margin: 0;
  }
  #calendario .faq summary svg.freccetta {
    width: 18px;
    height: 18px;
    padding: 5px;
    border-radius: 50%;
    background: var(--gs-bg);
    transition: transform .2s ease;
  }
  #calendario .faq summary svg.freccetta .arrow { fill: var(--gs-green); }
  /* il "+" è ridondante con la freccia */
  #calendario .faq summary svg:not(.freccetta) { display: none; }
  #calendario .faq details[open] summary { border-bottom: 1px solid #f0f0f0 !important; }
  #calendario .faq details[open] summary svg.freccetta { transform: rotate(180deg); }
  #calendario .faq .risposta {
    margin: 0;
    padding: 12px 10px 4px;
    border: 0;
    background: var(--gs-bg);
  }
}

/* Elenco ammoniti/diffidati (elenco-ammoniti.php) */
@media screen and (max-width: 761px) {
  .gruppo-ammonizioni h2 { font-size: 17px; line-height: 1.3; }
  .gruppo-ammonizioni table { display: block; min-width: 0; border: 0; background: transparent; }
  .gruppo-ammonizioni tbody { display: block; }
  .gruppo-ammonizioni tr {
    display: block;
    margin: 0 0 8px;
    padding: 10px 12px;
    background: var(--gs-card);
    border-radius: 10px;
    border-left: 4px solid var(--gs-yellow);
    box-shadow: var(--gs-shadow);
  }
  .gruppo-ammonizioni tr.riga_diffidato { border-left-color: #ff9a2e; }
  .gruppo-ammonizioni.squalificati tr { border-left-color: var(--gs-red); }
  .gruppo-ammonizioni td {
    display: flex;
    justify-content: space-between;
    padding: 3px 0;
    border: 0;
    font-size: 14px;
    color: var(--gs-muted);
  }
  .gruppo-ammonizioni td span { float: none; display: inline; font-weight: 700; color: var(--gs-dark); }
  .gruppo-ammonizioni td.ea_giocatore { font-size: 15px; font-weight: 700; padding-bottom: 6px; border-bottom: 1px solid #f0f0f0; }
  .gruppo-ammonizioni td.ea_giocatore a { color: var(--gs-dark); }
  .gruppo-ammonizioni td.ea_team { font-size: 12px; }
  td.ea_limite { border-bottom: 0; color: var(--gs-muted); }
}

/* =========================================================
   8. HOME: MATCH DEL GIORNO / PASSATI / FUTURI  (.teca .partite)
      Card verticali stile SofaScore: data in alto, due righe squadra
      con risultato allineato a destra, competizione in basso.
   ========================================================= */
@media screen and (max-width: 761px) {
  .teca { font-size: 14px; }
  .teca h2.titolo_elenco { font-size: 20px; margin-bottom: 12px; }

  .teca .partite,
  .teca .partite:nth-child(odd) {
    display: block;
    position: relative;
    margin: 0 0 10px;
    padding: 0;
    background: var(--gs-card);
    border: 0;
    border-radius: var(--gs-radius);
    box-shadow: var(--gs-shadow);
    overflow: hidden;
  }
  .teca .partite hr { display: none; }

  .teca .partite .match_data {
    float: none;
    width: auto;
    padding: 10px 12px 8px;
    border: 0;
    border-bottom: 1px solid #f0f0f0;
    text-align: left;
    font-size: 12px;
    color: var(--gs-muted);
  }
  .teca .partite .match_data a:link, .teca .partite .match_data a:visited { color: var(--gs-muted); font-weight: 600; }
  .teca .a_iolo {
    position: static;
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 10px;
    text-transform: uppercase;
    color: #1d5a0e;
  }
  .teca .esito { display: inline-block; margin-right: 6px; color: var(--gs-red); font-weight: 700; text-transform: uppercase; font-size: 10px; }

  .teca .partite .scontri {
    display: flex;
    flex-direction: column;
    float: none;
    width: auto;
    padding: 6px 12px;
    border: 0;
    text-align: left;
  }
  .teca .partite .team-1,
  .teca .partite .team-2 {
    display: flex !important;
    align-items: center;
    float: none;
    width: auto !important;
    height: auto !important;
    min-height: 40px;
    gap: 10px;
    padding: 0 !important;
    border: 0 !important;
    text-align: left;
  }
  .teca .partite .team-1 > a,
  .teca .partite .team-2 > a {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
    order: 1;
  }
  .teca .partite .team-1 img,
  .teca .partite .team-2 img,
  .teca .partite .scontri img {
    order: -1;
    float: none !important;
    width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
    transform: none !important;
    object-fit: contain;
  }
  .teca .partite .nome_team_1,
  .teca .partite .nome_team_2 {
    display: block !important;
    padding: 0 !important;
    flex: 1 1 auto;
    min-width: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--gs-dark);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .teca .partite .goal_team_1,
  .teca .partite .goal_team_2 {
    order: 2;
    float: none;
    width: 34px;
    flex: 0 0 34px;
    padding: 0;
    margin-left: 8px;
    border: 0;
    background: transparent;
    text-align: right;
    font-size: 18px;
    font-weight: 800;
    color: var(--gs-dark);
  }
  /* orario delle prossime gare: badge a destra sopra le squadre */
  .teca .partite .scontri .match_time {
    order: -1;
    float: none;
    width: auto;
    align-self: flex-start;
    margin: 2px 0 2px;
    padding: 3px 8px;
    border: 0;
    border-radius: 6px;
    background: var(--gs-dark);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
  }
  .teca .partite .scontri .team-1 { order: 0; }
  .teca .partite .scontri .team-2 { order: 1; }

  .teca .partite .competizione,
  .teca .partite > .league {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    float: none;
    width: auto;
    padding: 8px 12px 10px;
    border: 0;
    border-top: 1px solid #f0f0f0;
    background: #fafafa;
    font-size: 12px;
    text-align: left;
  }
  .teca .partite .competizione .fase,
  .teca .partite .competizione .league {
    float: none;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left;
  }
  .teca .partite .competizione .fase {
    padding: 2px 7px !important;
    border-radius: 4px;
    background: var(--gs-green);
    color: #fff;
    font-weight: 700;
    font-size: 11px;
  }
  .teca .partite .league a:link, .teca .partite .league a:visited { color: var(--gs-green); font-weight: 600; }
}

/* =========================================================
   9. SCHEDA GIOCATORE: statistiche come tile
      Le altezze fisse del desktop facevano sovrapporre le tile
      al resoconto disciplinare e al footer: qui tutto torna in flusso.
   ========================================================= */
@media screen and (max-width: 761px) {
  ul.statistiche_giocaotre, ul.statistiche_giocaotre.tot {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    position: static;
    float: none;
    clear: both;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible;
    margin: 12px 0 20px;
    padding: 0;
    background: transparent;
    list-style: none;
  }
  ul.statistiche_giocaotre li, ul.statistiche_giocaotre.tot li {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    gap: 4px;
    position: static !important;
    float: none;
    width: auto !important;
    height: auto !important;
    min-height: 84px;
    margin: 0;
    padding: 12px 10px;
    box-sizing: border-box;
    border: 0;
    border-radius: var(--gs-radius);
    background-color: var(--gs-card);
    box-shadow: var(--gs-shadow);
    transform: none;
    text-align: center;
  }
  ul.statistiche_giocaotre li .cella {
    display: block;
    float: none;
    width: auto;
    padding: 0;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--gs-muted);
  }
  ul.statistiche_giocaotre li .cella + .cella {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    color: var(--gs-dark);
    line-height: 1.1;
  }

  /* squadra: riga intera tipo chip */
  ul.statistiche_giocaotre li.statistiche_squadra {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: flex-start;
    gap: 6px;
    min-height: 0;
    padding: 12px 14px;
    text-align: left;
    border-left: 4px solid var(--gs-green);
  }
  ul.statistiche_giocaotre li.statistiche_squadra .cella + .cella {
    font-size: 15px;
    font-weight: 700;
    text-transform: none;
  }

  ul.statistiche_giocaotre li.cartellino_giallo_1 { border-top: 3px solid var(--gs-yellow); }
  ul.statistiche_giocaotre li.cartellino_rosso { border-top: 3px solid var(--gs-red); }

  /* resoconto disciplinare: il blocco che segue le statistiche stagionali */
  ul.statistiche_giocaotre:not(.tot) + div {
    position: static;
    float: none;
    clear: both;
    height: auto !important;
    margin: 0 0 24px;
    padding: 14px;
    box-sizing: border-box;
    background: var(--gs-card);
    border-radius: var(--gs-radius);
    box-shadow: var(--gs-shadow);
    overflow: hidden;
  }
  ul.statistiche_giocaotre:not(.tot) + div > * { margin-left: 0; margin-right: 0; }
  ul.statistiche_giocaotre:not(.tot) + div > :first-child {
    margin-top: 0;
    font-size: 13px;
    line-height: 1.3;
  }
  ul.statistiche_giocaotre:not(.tot) + div div,
  ul.statistiche_giocaotre:not(.tot) + div p { border-radius: 8px; }
}

/* =========================================================
   10. TELEFONI PICCOLI (≤ 400px)
   ========================================================= */
@media screen and (max-width: 400px) {
  table.sp-event-list.sp-event-list-format-homeaway tr { padding: 10px 8px 12px; column-gap: 6px; }
  table.sp-event-list.sp-event-list-format-homeaway td.data-home a,
  table.sp-event-list.sp-event-list-format-homeaway td.data-away a { font-size: 12px; }
  table.sp-event-list.sp-event-list-format-homeaway td.data-time { min-width: 62px; }
  table.sp-event-list.sp-event-list-format-homeaway td.data-time.ok > a { font-size: 17px; min-width: 56px; padding: 6px 8px; }
  #tabella table.sp-league-table .data-name { min-width: 116px; max-width: 128px; }
  ul.legenda { grid-template-columns: 1fr; }
}

/* Rispetto delle preferenze di accessibilità */
@media (prefers-reduced-motion: reduce) {
  .navigazione-turni.fixed { animation: none !important; }
  #calendario .faq summary svg.freccetta { transition: none; }
}
