.slide-medals {
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  background: linear-gradient(135deg, #1a0509 0%, #0a0a0a 60%, #051a1a 100%);
  padding: 0;
  overflow: hidden;
}

.slide-medals.has-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--md-bg);
  background-size: cover;
  background-position: center;
  z-index: 0;
}
.slide-medals.has-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 1;
}

.slide-medals .md-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1.6vh;
  padding: 6vh 6vw;
  color: #fff;
}

.slide-medals .md-eyebrow {
  font-size: 1.6vw;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--accent);
}

.slide-medals .md-title {
  font-size: 4.2vw;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.slide-medals .md-sub {
  font-size: 1.7vw;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 300;
  letter-spacing: 0.04em;
  margin-bottom: 2vh;
}

.slide-medals .md-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5vw;
  align-items: start;
}
.slide-medals .md-cols--2 { grid-template-columns: repeat(2, 1fr); }
.slide-medals .md-cols--1 { grid-template-columns: minmax(0, 40vw); }

.slide-medals .md-col {
  background: rgba(255, 255, 255, 0.07);
  border-top: 0.5vh solid var(--md-medal);
  border-radius: 0.6vw;
  padding: 1.6vh 1.6vw 1.8vh;
}
.slide-medals .md-col--gold   { --md-medal: #f2c14e; }
.slide-medals .md-col--silver { --md-medal: #c9ced6; }
.slide-medals .md-col--bronze { --md-medal: #c98a5a; }

.slide-medals .md-col-head {
  display: flex;
  align-items: center;
  gap: 0.8vw;
  font-size: 1.9vw;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--md-medal);
  margin-bottom: 1.2vh;
}
.slide-medals .md-disc {
  width: 1.8vw;
  height: 1.8vw;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff8 0%, transparent 45%), var(--md-medal);
  box-shadow: 0 0.2vh 0.6vh rgba(0, 0, 0, 0.5);
}
.slide-medals .md-col-n {
  margin-left: auto;
  font-size: 1.5vw;
  color: rgba(255, 255, 255, 0.7);
  font-variant-numeric: tabular-nums;
}

.slide-medals .md-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.1vh;
}
.slide-medals .md-list li {
  display: flex;
  flex-direction: column;
  gap: 0.2vh;
}
.slide-medals .md-name {
  font-size: 2vw;
  font-weight: 700;
  line-height: 1.15;
}
.slide-medals .md-cat {
  font-size: 1.25vw;
  color: rgba(255, 255, 255, 0.72);
}

/* Dense layouts for big medal hauls: one line per athlete, smaller type. */
.slide-medals .md-dense .md-title  { font-size: 3.4vw; }
.slide-medals .md-dense .md-sub    { margin-bottom: 1vh; }
.slide-medals .md-dense .md-list   { gap: 0.7vh; }
.slide-medals .md-dense .md-list li { flex-direction: row; align-items: baseline; gap: 0.7vw; flex-wrap: wrap; }
.slide-medals .md-dense .md-name   { font-size: 1.6vw; }
.slide-medals .md-dense .md-cat    { font-size: 1.05vw; }
.slide-medals .md-dense .md-col-head { font-size: 1.6vw; margin-bottom: 0.8vh; }

.slide-medals .md-xdense .md-title  { font-size: 3vw; }
.slide-medals .md-xdense .md-content { gap: 1vh; padding: 4vh 5vw; }
.slide-medals .md-xdense .md-list   { gap: 0.45vh; }
.slide-medals .md-xdense .md-list li { flex-direction: row; align-items: baseline; gap: 0.6vw; flex-wrap: wrap; }
.slide-medals .md-xdense .md-name   { font-size: 1.35vw; }
.slide-medals .md-xdense .md-cat    { font-size: 0.95vw; }
.slide-medals .md-xdense .md-col    { padding: 1.1vh 1.2vw 1.2vh; }
.slide-medals .md-xdense .md-col-head { font-size: 1.4vw; margin-bottom: 0.6vh; }
