.search-input:focus,
.extend-window-toggle:focus,
.board-arrow-button:focus,
.geo-locate-button:focus,
.stop-result-button:focus,
.line-stop-button:focus,
.departure-cell-button:focus,
.departure-card-button:focus {
  outline: none;
  box-shadow: var(--focus-ring);
}

.extend-window-toggle:hover {
  color: var(--color-text-highlight);
}

.board-arrow-button:hover .board-arrow {
  filter: drop-shadow(0 0 10px rgba(255, 230, 0, 0.6));
}

.extend-window-toggle[disabled] {
  cursor: not-allowed;
  opacity: 0.45;
}

.geo-locate-button:hover {
  color: #ffe100;
  filter: drop-shadow(0 0 3px rgba(255, 230, 0, 0.45));
}

.geo-locate-button:active {
  transform: translateY(1px);
}

.geo-locate-button[disabled],
.geo-locate-button.is-loading {
  cursor: wait;
  opacity: 0.7;
}

.stop-result-button:hover,
.line-stop-button:hover {
  background: #1237a3;
  border-color: #89a5ff;
}

.departure-row:focus-within,
.departure-row:hover {
  background: var(--color-bg-row-active);
}

.departure-row.is-active {
  background: #1f4cff;
  box-shadow: inset 0 0 0 2px #9fb5ff;
}

.departure-cell-button:hover,
.departure-card-button:hover {
  color: var(--color-text-highlight);
}

.stop-result-button.is-primary {
  border-color: var(--color-border-strong);
  background: #0d2f9c;
}

.stop-result-button:active,
.line-stop-button:active {
  transform: translateY(1px);
}

.line-stop-item.is-passed .line-stop-button {
  font-style: italic;
  opacity: 0.72;
}

.departure-card:hover,
.departure-card:focus-within {
  border-color: #89a5ff;
}

.line-detail-panel.is-collapsed {
  display: none;
}

@media (max-width: 768px) {
  body.trip-open .board-shell .table-wrap,
  body.trip-open .board-shell .departures-cards,
  body.trip-open .board-shell .board-controls {
    display: none;
  }

  .line-detail-panel {
    display: block;
    position: static;
    max-height: none;
    overflow: visible;
    transform: none;
    transition: none;
    opacity: 1;
  }

  .line-detail-panel.is-collapsed {
    display: none;
  }
}
