.fixtures-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.fixture{
  display:grid;align-items:center;
  grid-template-columns: 72px 140px 1fr auto 1fr minmax(120px, 220px);
  gap:12px;padding:10px 12px;border:1px solid rgba(0,0,0,.06);
  border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.02);
}
.fixture:hover{box-shadow:0 6px 18px rgba(0,0,0,.06)}
.fixture__round{
  font:700 14px/1 var(--font-ui, system-ui); color:#111;
  background:#f3f4f6;border-radius:999px;display:inline-grid;place-items:center;padding:6px 10px
}
.fixture__date{color:#6b7280;font-weight:600;white-space:nowrap}
.fixture__team{font-weight:700;text-decoration:none;color:#111}
.fixture__team--home{text-align:right}
.fixture__score{
  font-family:var(--font-display, Impact, "Arial Black", system-ui, sans-serif);
  font-weight:800;text-decoration:none;color:#111;font-size:22px;line-height:1;min-width:54px;text-align:center
}
.fixture__ref{color:#111;text-decoration:none;border-bottom:1px solid currentColor;text-underline-offset:2px}
.fixture--empty{grid-template-columns:1fr;justify-items:center;color:#6b7280}
@media (max-width:960px){
  .fixture{grid-template-columns: 60px 1fr auto 1fr;grid-template-areas:
    "round date date date"
    "home score away ref";}
  .fixture__round{grid-area:round}
  .fixture__date{grid-area:date}
  .fixture__team--home{grid-area:home;text-align:left}
  .fixture__score{grid-area:score}
  .fixture__team--away{grid-area:away}
  .fixture__ref{grid-area:ref;justify-self:end}
}
@media (max-width:560px){
  .fixture{grid-template-columns:1fr auto;grid-template-areas:
    "date score"
    "home home"
    "away away"
    "ref  ref";}
  .fixture__team--home,.fixture__team--away{font-weight:700}
  .fixture__ref{justify-self:start}
}
.players{margin:0;padding:0;list-style:none;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.player-card{
  border:1px solid rgba(0,0,0,.06);background:#fff;border-radius:12px;padding:12px 14px;
  box-shadow:0 1px 2px rgba(0,0,0,.02)
}
.player-card__name a{text-decoration:none;color:#111;font-weight:800}
.player-card__meta{margin-top:6px;color:#374151;font-weight:600;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.player-card .sep{opacity:.5}
.player-card--empty{grid-column:1/-1;text-align:center;color:#6b7280}
/* Link squadra = badge + nome affiancati */
.fixture__team{
  display:flex; align-items:center; gap:10px;
  text-decoration:none; color:#111; font-weight:700;
}

/* Badge logo */
.fixture__badge{
  inline-size:28px; block-size:28px;
  border-radius:8px; background:#fff;
  display:grid; place-items:center; overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.08);
  flex:0 0 28px;
}
.fixture__badge.no-logo{ background:#f3f4f6; color:#444; font-weight:800; }
.fixture__badge.no-logo::after{ content: attr(data-initial); font-size:12px; }

/* Immagine logo */
.logo-img{ width:100%; height:100%; display:block; }
.logo-img--square{ object-fit:cover; padding:3px; }
.logo-img--rect{ object-fit:contain; padding:2px; }

/* Nome */
.fixture__name{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* (opzionale) niente allineamento a destra per l’home */
.fixture__team--home{ text-align:left; }
/* Tabella incontri: colonne e allineamenti */
.table-modern.fixture-table{
  table-layout: fixed; /* fa rispettare le larghezze del colgroup */
  width: 100%;
}
.table-modern.fixture-table th,
.table-modern.fixture-table td{
  vertical-align: middle;
}

/* Larghezze colonne (puoi ritoccarle a piacere) */
.fixture-table col.col-round  { width: 90px; }
.fixture-table col.col-date   { width: 130px; }
.fixture-table col.col-score  { width: 92px; }       /* centrato */
.fixture-table col.col-ref    { width: 220px; }
.fixture-table col.col-home,
.fixture-table col.col-away   { width: auto; }       /* prendono lo spazio restante */

/* Score centrato (th e td della 4ª colonna) */
.fixture-table th:nth-child(4),
.fixture-table td:nth-child(4){
  text-align: center;
  white-space: nowrap;
}

/* Celle data compatte (2ª colonna) */
.fixture-table td:nth-child(2),
.fixture-table th:nth-child(2){
  white-space: nowrap;
}

/* Link squadra: badge + nome allineati */
.fixture__team{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  font-weight: 700;
  min-width: 0; /* per ellissi */
}
.fixture__badge{
  inline-size: 28px; block-size: 28px;
  border-radius: 8px; background: #fff;
  display: grid; place-items: center;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,.08);
  flex: 0 0 28px;
}
.fixture__badge.no-logo{
  background: #f3f4f6; color:#444; font-weight:800;
}
.fixture__badge.no-logo::after{ content: attr(data-initial); font-size: 12px; }
.logo-img{ width:100%; height:100%; display:block; }
.logo-img--square{ object-fit: cover; padding: 3px; }
.logo-img--rect{   object-fit: contain; padding: 2px; }

/* Nome squadra con ellissi se lungo */
.fixture__name{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* (Opzionale) su schermi stretti nascondi l’arbitro per fare spazio */
@media (max-width: 640px){
  .fixture-table th:nth-child(6),
  .fixture-table td:nth-child(6){ display: none; }
  .fixture-table col.col-ref { width: 0; }
}
/* facile da regolare senza toccare la griglia ogni volta */
:root{
  --col-round: 56px;
  --col-date:  clamp(96px, 12ch, 130px); /* in base alla lunghezza della data */
}
.fixture{
  grid-template-columns:
    var(--col-round)
    var(--col-date)
    minmax(200px, 1fr)
    max-content
    minmax(200px, 1fr)
    minmax(120px, 200px);
  column-gap: 12px;
}
/* colonna foto compatta */
.table-modern th.col-photo,
.table-modern td.col-photo{
  width: 56px;
  padding-right: 10px;
}

/* avatar tondo */
.avatar{
  inline-size: 42px;
  block-size: 42px;
  border-radius: 50%;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #f2f3f5;
  box-shadow: 0 1px 2px rgba(0,0,0,.06) inset;
}
.avatar__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* fallback con iniziali */
.avatar.no-photo{
  background: linear-gradient(135deg,#e5e7eb,#f6f7f9);
  color: #374151;
  font-weight: 800;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial;
  font-size: 0.9rem;
}
.avatar.no-photo::after{
  content: attr(data-initials);
}
/* HERO: rendi il container posizionato */
.season-hero{ position:relative; }

/* Caption super leggibile e d'impatto */
.season-hero__caption{
  position:absolute; inset:auto 0 0 0;           /* attacca in basso */
  display:flex; align-items:center; gap:10px;
  padding:14px 18px;
  color:#fff;
  font-family: "Anton", Impact, "Arial Black", system-ui, sans-serif;
  font-size: clamp(18px, 2vw, 26px);
  line-height:1.1; letter-spacing:.02em; text-transform:uppercase;

  /* sfondo + blur per staccare dall'immagine */
  background:
    linear-gradient(to top, rgba(17,24,39,.82), rgba(17,24,39,.45), rgba(17,24,39,0));
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  border-top: 1px solid rgba(255,255,255,.08);

  /* leggibilità sullo scuro */
  text-shadow: 0 2px 10px rgba(0,0,0,.55);
}

/* puntino di accento rosso-azzurro */
.season-hero__accent{
  inline-size:12px; block-size:12px; border-radius:999px;
  background: linear-gradient(90deg,#d72638 0%, #1286C5 100%);
  box-shadow: 0 0 0 2px rgba(255,255,255,.25);
}
