/* Confirmed YOUNG GRANDPRIX roster. Order follows the supplied manuscript, not race numbers. */
.topYoungRoster {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  max-width: 1100px;
  margin: clamp(30px, 4vw, 50px) auto 0;
  padding: 1px;
  list-style: none;
  background: rgba(160, 197, 227, .32);
  border-top: 3px solid var(--players-gold);
}
.topYoungRoster > li {
  min-width: 0;
  padding: clamp(24px, 3vw, 36px);
  color: #fff;
  background: linear-gradient(125deg, #093d7b, #0b315f);
}
.topYoungRoster h4 {
  margin: 0 0 16px;
  font-family: var(--font-gothic, "ryo-gothic-plusn", sans-serif);
  font-size: clamp(24px, 2.4vw, 30px);
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .06em;
}
.topYoungRoster p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 0;
  color: #d4e5f5;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.7;
}
.topYoungRoster p span:first-child {
  padding: 2px 9px;
  color: #f3d88a;
  background: rgba(255, 255, 255, .07);
  font-size: 12px;
  white-space: nowrap;
}
@media (min-width: 601px) and (max-width: 900px) {
  .topYoungRoster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .topYoungRoster { grid-template-columns: minmax(0, 1fr); }
  .topYoungRoster > li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 22px 18px;
  }
  .topYoungRoster h4 { margin: 0; font-size: clamp(20px, 5.6vw, 26px); letter-spacing: .02em; white-space: nowrap; }
  .topYoungRoster p { flex-shrink: 0; flex-direction: column; align-items: flex-end; gap: 4px; font-size: 12px; }
}
