@media screen and (width < 1280px) {
  .station-list {
    --col-width: 400px;

    & .station {
      grid-template-columns: 1fr;
      & .station-image {
        display: none;
      }
    }
  }
}

@media screen and (width < 860px) {
  #mobile-view-toggle {
    display: flex;
    z-index: 2;
  }

  #drostemap-module {
    display: block;
  }

  #drostemap-container {
    width: 100vw;
    height: 100%;
  }

  .station-list {
    position: absolute;
    z-index: 1;
    translate: 0 100%;
    inset: 0;
    --col-width: 100vw;
    padding: 76px 0 0 0;
    grid-template-rows: 1fr auto;
    transition: translate 0.3s;

    &.active {
      translate: 0 0;
    }

    & .station-controls {
      order: 1;
    }

    & .station {
      min-height: 44px;
      & .station-image {
        display: none;
      }
      & .station-heading {
        font-size: 1rem;
      }
    }
  }

  #stationOverlay {
    position: absolute;
    inset: 0;
    width: 100%;
    translate: 0 100%;
    border: none;
    border-top: 1px solid var(--primary-color);
    display: grid;
    grid-template-rows: repeat(2, 1fr);

    & #stationOverlay-close {
      position: absolute;
      display: grid;
      place-items: center;
      left: 50%;
      top: 0;
      border-radius: 0 6px 6px 0;
      translate: -50% -25%;
      rotate: 90deg;
    }

    & .stationOverlay-image {
      grid-row: 1/2;
      contain: size;
      aspect-ratio: auto;
      height: 100%;
      width: 100%;
      margin-inline: auto;

      & img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

    & .stationOverlay-content {
      grid-row: 2/3;
    }
  }
}
