/**
 * partida.css
 * Marcação da pelada do dia e lista de confirmação de presença (RSVP).
 */
.match-setup { margin-bottom: 20px; }
.match-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; }
.game-form { display: grid; grid-template-columns: 1fr 1fr 1.3fr 0.8fr auto; gap: 12px; align-items: end; }
.game-form input[type="number"] { width: 100%; }

/* grupos Próximos / Anteriores */
.games-group-title {
  font-family: 'Bebas Neue', sans-serif; font-size: 1.15rem; letter-spacing: 0.04em;
  margin: 24px 0 10px; color: var(--giz);
}
.games-group-empty { font-size: 0.85rem; color: rgba(245, 242, 231, 0.4); margin: 0 0 8px; }

.games-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.game-item { background: var(--giz); color: var(--preto); border-radius: 10px; box-shadow: var(--sombra); overflow: hidden; }
.game-item.is-past { opacity: 0.8; }
.game-item-head {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 14px 16px; cursor: pointer;
}
.game-item-head:hover { background: rgba(23, 21, 18, 0.03); }
.game-date { font-weight: 700; }
.game-local {
  font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.04em;
  background: rgba(23, 21, 18, 0.08); border-radius: 6px; padding: 3px 8px;
}
.game-count { margin-left: auto; font-size: 0.82rem; color: rgba(23, 21, 18, 0.6); }
.game-count b { color: var(--terra); }
.game-caret { font-size: 0.7rem; color: rgba(23, 21, 18, 0.4); }

.game-body { padding: 4px 16px 16px; border-top: 1px dashed rgba(23, 21, 18, 0.15); }
.game-body-actions { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }

/* escolha de convidados (form de novo jogo e painel do jogo) */
.invite-picker { margin-top: 16px; padding-top: 14px; border-top: 1px dashed rgba(23, 21, 18, 0.15); }
.game-invites { margin: 8px 0 14px; }
.invite-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.inv-chip {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.8rem; font-weight: 600; color: rgba(23, 21, 18, 0.7);
  background: rgba(23, 21, 18, 0.05); border: 1px solid rgba(23, 21, 18, 0.15);
  border-radius: 16px; padding: 5px 10px; cursor: pointer;
}
.inv-chip input { accent-color: var(--campo); }
.inv-chip:has(input:checked) { background: rgba(35, 77, 53, 0.12); border-color: rgba(35, 77, 53, 0.35); color: var(--campo); }
.match-banner {
  margin-top: 16px;
  background: rgba(35, 77, 53, 0.08);
  border: 1px solid rgba(35, 77, 53, 0.25);
  color: var(--campo);
  border-radius: 8px;
  padding: 10px 14px;
  font-weight: 700;
  font-size: 0.92rem;
}

.rsvp-card { }
.rsvp-summary {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.82rem;
  color: rgba(23, 21, 18, 0.7);
  margin-bottom: 16px;
}
.rsvp-summary b { color: var(--terra); }

.rsvp-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rsvp-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  background: rgba(23, 21, 18, 0.04);
  border: 1px solid rgba(23, 21, 18, 0.08);
  border-radius: 10px;
  padding: 10px 12px;
}
.rsvp-row .player-name { font-weight: 700; }

.rsvp-buttons { display: flex; gap: 6px; flex-wrap: wrap; }
.rsvp-btn {
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem; font-weight: 600;
  background: transparent;
  border: 1px solid rgba(23, 21, 18, 0.2);
  color: rgba(23, 21, 18, 0.6);
  border-radius: 20px;
  padding: 6px 12px;
  cursor: pointer;
  transition: filter .1s ease, transform .1s ease;
}
.rsvp-btn:hover { transform: translateY(-1px); }
.rsvp-btn.on.rsvp-vou { background: var(--campo); color: var(--branco); border-color: var(--campo); }
.rsvp-btn.on.rsvp-talvez { background: var(--amarelo); color: var(--preto); border-color: var(--amarelo); }
.rsvp-btn.on.rsvp-nao { background: var(--vermelho); color: var(--branco); border-color: var(--vermelho); }

.game-recurring { font-size: 1rem; }

/* --- jogos recorrentes --- */
.series-card { margin-bottom: 20px; }
.series-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.series-head h3 { font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; letter-spacing: 0.03em; margin: 0; }
.series-list { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.series-row {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  background: rgba(23, 21, 18, 0.04); border: 1px solid rgba(23, 21, 18, 0.1);
  border-radius: 10px; padding: 8px 12px;
}
.series-row.is-off { opacity: 0.55; }
.series-info { font-size: 0.88rem; font-weight: 600; margin-right: auto; }
.series-form { display: grid; grid-template-columns: 1fr 1fr 1.3fr 0.8fr; gap: 12px; margin-top: 12px; align-items: end; }
.series-form .hint { grid-column: 1 / -1; margin: 0; }
.series-form .btn { grid-column: 1 / -1; }

@media (max-width: 720px) {
  .match-form { grid-template-columns: 1fr 1fr; }
  .match-form .btn { grid-column: 1 / -1; }
  .game-form { grid-template-columns: 1fr 1fr; }
  .game-form .btn { grid-column: 1 / -1; }
  .game-count { margin-left: 0; }
  .series-form { grid-template-columns: 1fr 1fr; }
}
