.nyt-soi {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 1.5ch;
  align-items: start;
}

.kansipaikka {
  width: 64px;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid var(--reuna);
  background:
    linear-gradient(135deg, transparent 0 48%, var(--reuna) 49% 51%, transparent 52%),
    linear-gradient(45deg, #242424, #111111);
}

.levynkansi {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nyt-soi-teksti {
  min-width: 0;
}

.nyt-soi-teksti p {
  margin: 0;
}

.soi-artisti,
.soi-kappale,
.soi-albumi,
.soi-linkki,
.top-nimi {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  overflow-wrap: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.soi-artisti,
.soi-kappale {
  display: block;
  color: var(--teksti);
  font-weight: 700;
}

.soi-albumirivi {
  display: flex;
  align-items: baseline;
  gap: 1ch;
  min-width: 0;
}

.soi-albumi {
  flex: 1 1 auto;
  display: block;
}

.soi-albumirivi .hakaspainike {
  flex: 0 0 auto;
  margin-left: auto;
}

.soi-lisat .jakoviiva {
  margin-top: 0.9em;
}

.musiikkinavi {
  display: grid;
  gap: 0.05em;
  margin-bottom: 0.85em;
  font-weight: 700;
}

.musiikkinavi-rivi {
  display: grid;
  grid-template-columns: minmax(24ch, max-content) minmax(0, 1fr);
  column-gap: 3ch;
  align-items: baseline;
}

.musiikkinavi button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--teksti);
  font: inherit;
  line-height: inherit;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}

.musiikkinavi button:hover,
.musiikkinavi button[aria-pressed="true"] {
  color: var(--oranssi);
}

.musiikkinavi-jaksot {
  display: flex;
  gap: 0.65ch;
  min-width: 0;
  color: var(--teksti);
  white-space: nowrap;
}

.soi-lista {
  min-width: 0;
}

.soitot,
.toplista {
  display: grid;
  gap: 0.05em;
  margin: 0;
  padding: 0;
  list-style: none;
}

.soitto-rivi {
  display: grid;
  grid-template-columns: 18ch minmax(0, 1fr);
  gap: 1ch;
  min-width: 0;
  align-items: baseline;
}

.soitto-aika {
  color: var(--reuna);
  white-space: nowrap;
}

.soi-linkki {
  display: block;
  color: var(--oranssi);
}

.top-rivi {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  gap: 0.8ch;
  min-width: 0;
  align-items: baseline;
}

.top-keskiosa {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 0.9ch;
}

.top-nimi {
  display: block;
  flex: 0 1 auto;
  color: var(--oranssi);
}

.top-keskiosa .pisteviiva {
  flex: 1 1 2ch;
  min-width: 2ch;
}

.top-maara {
  color: var(--teksti);
  white-space: nowrap;
}

@media (max-width: 700px) {
  .nyt-soi {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 1.25ch;
  }

  .kansipaikka { width: 48px; }

  .musiikkinavi-rivi {
    grid-template-columns: minmax(22ch, max-content) minmax(0, 1fr);
    column-gap: 1.5ch;
  }

  .soitto-rivi {
    grid-template-columns: 17ch minmax(0, 1fr);
    gap: 0.8ch;
  }
}
