.translation-drill,
.response-drill {
  width: 100%;
  border-collapse: collapse;
}

.translation-drill tr,
.response-drill tr {
  vertical-align: top;
}

.translation-drill td,
.response-drill td {
  padding: 0.25rem 0.5rem 0.25rem 0;
}

.translation-drill-number,
.response-drill-number {
  width: 2rem;
  color: #555;
  white-space: nowrap;
}


.translation-drill tr:hover,
.response-drill tr:hover {
  background: #e3f2fd;
}

@media (max-width: 600px) {
  /* Convert tables to block so we can use grid on rows */
  .translation-drill,
  .response-drill {
    display: block;
  }

  .translation-drill tbody,
  .response-drill tbody {
    display: block;
  }

  /* Translation drill: number + EN + audio on row 1, DE on row 2 */
  .translation-drill tr {
    display: grid;
    grid-template-columns: 2rem 1fr auto;
    grid-template-areas:
      "num en audio"
      ".   de de";
    padding: 0.65rem 0;
    border-bottom: 1px solid #f3f4f6;
    background: transparent;
  }

  .translation-drill tr:hover {
    background: #e3f2fd;
  }

  .translation-drill td {
    display: block;
    padding: 0 0.25rem 0 0;
  }

  .translation-drill-number       { grid-area: num;   width: auto; }
  .translation-drill tr .text-en  { grid-area: en; }
  .translation-drill tr .text-de  { grid-area: de;   padding-top: 0.35rem; }
  .translation-drill tr td:last-child { grid-area: audio; }

  /* Response drill: number + question on row 1, answer on row 2 */
  .response-drill tr {
    display: grid;
    grid-template-columns: 2rem 1fr;
    grid-template-areas:
      "num question"
      ".   answer";
    padding: 0.65rem 0;
    border-bottom: 1px solid #f3f4f6;
    background: transparent;
  }

  .response-drill tr:hover {
    background: #e3f2fd;
  }

  .response-drill td {
    display: block;
    padding: 0 0.25rem 0 0;
  }

  .response-drill-number   { grid-area: num;      width: auto; }
  .response-drill-question { grid-area: question; }
  .response-drill-answer   { grid-area: answer;   padding-top: 0.35rem; }

}
