.board-day {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}

.board-date {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  text-align: right;
  color: #81909a;
  font-size: 10px;
  font-style: normal;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.board-day-status {
  display: flex;
  align-items: center;
  color: #dbe2e6;
  font-family: "Courier New", monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.board-day-status .signal {
  animation: board-signal 1.7s ease-in-out infinite;
}

.board-date strong {
  color: var(--yellow);
  font-family: "Courier New", monospace;
  font-size: clamp(17px, 2vw, 25px);
  letter-spacing: .04em;
  text-transform: none;
}

.board-departure {
  color: #dbe2e6;
  font-size: 16px;
}

.board-row {
  grid-template-columns: .72fr .9fr 1.45fr .85fr;
}

.board-duration {
  color: #b8c3c9;
  font-weight: 700;
}

.board-departure > span:first-child {
  color: #fff;
  font-size: 28px;
  font-weight: 700;
}

@keyframes board-signal {
  0%, 100% { opacity: 1; }
  50% { opacity: .42; }
}

@media (max-width: 620px) {
  .board-day {
    align-items: flex-start;
    margin-top: 18px;
  }

  .board-date {
    text-align: left;
  }

  .board-labels {
    display: none;
  }

  .board-row {
    grid-template-columns: clamp(64px, 18vw, 76px) minmax(0, 1fr);
    gap: 7px 10px;
  }

  .board-row > span:nth-child(1) {
    align-self: center;
    grid-column: 1;
    grid-row: 1 / span 3;
  }

  .board-row > span:nth-child(2) {
    display: block;
    grid-column: 2;
    grid-row: 2;
    color: #8d9aa3;
  }

  .board-row > span:nth-child(2)::before {
    content: "Gutschein ";
    font-size: 9px;
    letter-spacing: .08em;
  }

  .board-row > span:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
  }

  .board-row > span:nth-child(4) {
    display: block;
    grid-column: 2;
    grid-row: 3;
    color: #8d9aa3;
  }

  .board-row > span:nth-child(4)::before {
    content: "Flugzeit ";
    font-size: 9px;
    font-weight: 400;
    letter-spacing: .08em;
  }

  .board-departure,
  .board-empty {
    font-size: 12px;
  }

  .board-departure > span:first-child,
  .board-empty > span:first-child {
    font-size: 20px;
  }
}

@media (max-width: 360px) {
  .board-row {
    padding-right: 14px;
    padding-left: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .board-day-status .signal {
    animation: none;
  }
}
