/* Palmarès : la semaine sur Skyloria, podiums mensuels, tournois, îles de la semaine, records. */

.palmares-head {
  justify-content: space-between;
}

.recap {
  display: grid;
  gap: var(--space-6);
  transition: opacity var(--dur-2) var(--ease-out);
}

.recap.is-loading {
  opacity: 0.55;
}

.recap-stats .stat__value {
  font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2.1rem);
}

.recap-stats .stat__sub {
  text-wrap: balance;
}

.recap-quiet {
  margin: 0;
  text-align: center;
}

/* Podiums de la semaine : une carte par classement */
.recap-boards {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
}

.recap-board {
  display: grid;
  align-content: start;
  gap: var(--space-3);
}

.recap-board__title {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  font-size: var(--fs-md, 1.05rem);
}

.recap-board__list {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.recap-board__empty {
  margin: 0;
  color: var(--text-3);
  font-size: var(--fs-sm);
}

.recap-events {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.recap-event {
  display: grid;
  align-content: start;
  gap: var(--space-2);
}

.recap-event p {
  margin: 0;
}

.recap-sale {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}

.recap-fish {
  display: grid;
  gap: var(--space-1);
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Podiums (mois, tournois) : médaille, pseudo, valeur */
.hof-podium {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hof-podium li {
  display: grid;
  grid-template-columns: 1.6rem 1fr auto;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}

.hof-podium a {
  overflow: hidden;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hof-podium__medal {
  font-size: 1.1rem;
  line-height: 1;
}

.hof-podium__value {
  color: var(--text-2);
  font-size: var(--fs-sm);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Saisons : une carte par mois, une colonne par classement */
.hof-months {
  display: grid;
  gap: var(--space-5);
}

.hof-month {
  display: grid;
  gap: var(--space-4);
}

.hof-month__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 1rem + 0.8vw, 1.5rem);
  letter-spacing: 0.02em;
  color: var(--gold-300);
}

.hof-month__boards {
  display: grid;
  gap: var(--space-5);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
}

.hof-month__board {
  display: grid;
  align-content: start;
  gap: var(--space-2);
}

.hof-month__board-title {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  color: var(--text-2);
  font-size: var(--fs-sm);
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

/* Tournois et îles de la semaine, côte à côte sur grand écran */
.palmares-split {
  align-items: start;
}

.hof-list {
  display: grid;
  gap: var(--space-3);
}

.hof-item {
  display: grid;
  gap: var(--space-2);
}

.hof-item__date {
  margin: 0;
  font-weight: 700;
}

.hof-item__date::first-letter {
  text-transform: uppercase;
}

.hof-item__meta {
  margin: 0;
  font-size: var(--fs-sm);
}

.hof-islands {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.hof-islands .mini-row {
  grid-template-columns: auto 32px 1fr auto;
}

.hof-islands__date {
  color: var(--text-3);
  font-size: var(--fs-sm);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Records de pêche */
.hof-fish {
  margin-top: var(--space-5);
  padding: 0;
}

.hof-fish .data-table td:first-child {
  white-space: nowrap;
}

.hof-rarity {
  margin-left: 0.25rem;
  vertical-align: 0.1em;
}

.hof-rarity--rare {
  color: var(--sky-200);
}

.hof-rarity--epique {
  border-color: rgba(177, 140, 255, 0.4);
  background: rgba(177, 140, 255, 0.12);
  color: var(--amethyst-400);
}

.hof-rarity--legendaire {
  border-color: rgba(255, 212, 71, 0.4);
  background: rgba(255, 212, 71, 0.12);
  color: var(--gold-300);
}
