/* ===== Palette ===== */
:root{
  --tc-bg:#0f1b24;
  --tc-card:#162432;
  --tc-card-alt:#1a2a3a;
  --tc-border:#223245;
  --tc-text:#e9f0f6;
  --tc-muted:#9fb3c8;
  --tc-accent:#ffd400;
  --tc-green:#36d399;
  --tc-blue:#2ea8ff;
  --tc-chip:#0c1924;
}

/* ===== Wrapper pagina ===== */
.tc-results{ background:var(--tc-bg); color:var(--tc-text); }

/* ===== Pulsante & Drawer filtri ===== */
.filters-toggle-wrap{ position: sticky; top:64px; z-index:6; background:var(--tc-bg); padding:.5rem .75rem 0; }
.filters-toggle{
  display:inline-flex; align-items:center; gap:.5rem;
  border:1px solid var(--tc-border); background:#0d1822; color:var(--tc-text);
  border-radius:10px; padding:.45rem .7rem; font-weight:700; cursor:pointer;
}
.filters-toggle .icon{ margin-right:.1rem; }
.filters-toggle .caret{ display:inline-block; width:14px; height:14px; }
.filters-toggle .caret::before{
  content:""; display:inline-block; width:8px; height:8px;
  border-right:2px solid var(--tc-text); border-bottom:2px solid var(--tc-text);
  transform: rotate(45deg); transition: transform .18s ease;
}
.filters-toggle.is-open .caret::before{ transform: rotate(-135deg); }

.tc-results .filters{
  position:sticky; top:64px; z-index:5;
  background:linear-gradient(180deg,var(--tc-bg),rgba(15,27,36,.9));
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--tc-border);
  padding:.75rem .75rem 1rem;
}
.tc-results .filters[hidden]{ display:none !important; }

.tc-results .section-title{ margin:.25rem 0 .75rem; font-size:1.25rem; }
.tc-results .filters-row{
  display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin-bottom:.5rem;
}
.tc-results .filter-select,
.tc-results .filter-search{
  background:#0d1822; color:var(--tc-text);
  border:1px solid var(--tc-border);
  border-radius:10px; padding:.55rem .7rem; min-width:180px;
}
.tc-results .filter-search{ flex:1 1 260px; min-width:220px; }
.tc-results .btn{
  border:none; border-radius:10px; padding:.55rem .9rem; font-weight:700;
  cursor:pointer; transition:transform .08s ease, opacity .08s ease;
}
.tc-results .btn:active{ transform:translateY(1px); }
.tc-results .btn-apply{ background:var(--tc-accent); color:#13202b; }
.tc-results .btn-reset{ background:transparent; color:var(--tc-muted); border:1px solid var(--tc-border); }
.tc-results .btn-load{ background:#102131; color:var(--tc-text); border:1px solid var(--tc-border); }

/* ===== FEED / GRUPPI DATA ===== */
.results-feed{ padding:.5rem 0 1rem; }

/* header giornata */
.tres-day-head{ position:sticky; top:128px; z-index:3; background:var(--tc-bg); padding:.4rem .75rem .25rem; }
.tres-day-head h3{ font-size:.9rem; letter-spacing:.02em; text-transform:uppercase; color:var(--tc-muted); margin:0; }

/* ===== CARD ===== */
.tres-card{
  background:var(--tc-card);
  border:1px solid var(--tc-border);
  border-radius:14px;
  padding:.85rem .9rem;
  margin:.75rem .85rem;
  box-shadow:0 10px 20px rgba(0,0,0,.25);
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
  overflow:hidden;
}
.tres-card:hover{ transform:translateY(-1px); box-shadow:0 14px 28px rgba(0,0,0,.32); background:var(--tc-card-alt); }

/* meta */
.tres-card .meta{
  display:flex; gap:.6rem; align-items:center; flex-wrap:wrap;
  color:var(--tc-muted); font-size:.85rem; margin-bottom:.55rem;
}
.tc-results .tag{
  background: var(--tc-chip); border: 1px solid var(--tc-border); color: var(--tc-muted);
  padding:.15rem .5rem; border-radius: 999px; font-size:.75rem;
}
.tres-badge{ display:inline-block; padding:.15rem .5rem; border-radius:999px; font-size:.75rem; background:var(--tc-chip); border:1px solid var(--tc-border); color:var(--tc-muted); }
.tres-badge-t{ border-color:var(--tc-blue); color:#cfe8ff; }
.tres-badge-f{ border-color:#2a3b4f; }

/* ===== Layout alla ATP: righe giocatore con punteggi solo su riga 1 di ciascuna squadra ===== */
.match-table{ display:flex; flex-direction:column; gap:.35rem; }

/* Riga: [avatar + nome (+✓)] | [punteggi set …]  */
.match-table .row{
  display:grid; grid-template-columns: 1fr auto; align-items:center; gap:.55rem;
}

/* cella nomi */
.cell.name{ display:flex; align-items:center; gap:.6rem; min-width:0; }
a.player-link{ display:flex; align-items:center; gap:.6rem; min-width:0; text-decoration:none; color:inherit; }
a.player-link:focus-visible{ outline:2px solid var(--tc-accent); outline-offset:2px; border-radius:10px; }
a.player-link:hover .name{ text-decoration:underline; }

.avatar{
  width:28px; height:28px; border-radius:50%;
  background:#1f3347; border:1px solid var(--tc-border); background-size:cover; background-position:center;
}
.tc-results .avatar{ width:32px; height:32px; }

.name{ font-weight:600; color:var(--tc-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.name.short{ display:none; }
@media (max-width:420px){ .name.full{ display:none; } .name.short{ display:inline; } }

/* ✓ vincitore vicino al nome */
.winner{ margin-left:.25rem; color:var(--tc-green); font-weight:800; }

/* cella punteggi */
.cell.scores{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(28px,36px); gap:.35rem; }
.cell.scores .set{
  display:grid; place-items:center;
  min-width:28px; padding:.22rem .3rem; line-height:1;
  border-radius:8px; background:#0c1822; border:1px solid var(--tc-border);
  font-weight:800; color:var(--tc-text);
}

/* Mobile tweaks */
@media (max-width:480px){
  .tres-card{ margin:.5rem .5rem; padding:.7rem .7rem; }
  .cell.scores{ grid-auto-columns:minmax(24px,30px); gap:.25rem; }
  .cell.scores .set{ min-width:24px; padding:.18rem .26rem; }
}

/* vuoto + load more */
.tc-results .empty{ color:var(--tc-muted); text-align:center; padding:2rem .75rem; }
.load-more{ display:flex; justify-content:center; padding:1rem 0 2rem; }


.filters-toggle { position: relative; }
.filters-toggle .caret{
  display:inline-block; width:.6em; height:.6em; margin-left:.4rem;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform: rotate(45deg); transition: transform .18s ease;
}
.filters-toggle.is-open .caret{ transform: rotate(-135deg); }
