.library-rows {
  width: 100%;
  padding-top: 18px;
}

.continue-rows { padding-top: 24px; }
.continue-rows .library-shelf { margin-bottom: 12px; }
.movie-views { display: flex; flex-wrap: wrap; margin: 4px 0 12px; }
.movie-views button { min-height: 38px; margin: 0 10px 6px 0; padding: 7px 14px; border: 1px solid #484848; border-radius: 5px; background: #202020; color: #bbb; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.movie-views button:hover, .movie-views button:focus, .movie-views button[aria-pressed="true"] { outline: 0; border-color: #e50914; color: #fff; background: #301416; }
.tv-library .movie-views button { min-height: 44px; font-size: 18px; }
.movie-views[hidden], .continue-rows[hidden] { display: none !important; }

.library-shelf {
  width: 100%;
  min-width: 0;
  margin: 0 0 28px;
}

.shelf-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.shelf-header h2 {
  min-width: 0;
  margin: 0 16px 0 0;
  color: #f5f5f1;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 850;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.shelf-arrows {
  display: flex;
  flex: 0 0 auto;
}

.shelf-arrow {
  display: inline-block;
  width: 40px;
  min-width: 40px;
  height: 36px;
  padding: 5px;
  border: 1px solid #484848;
  border-radius: 5px;
  background: #191919;
  color: #f5f5f1;
  cursor: pointer;
}

.shelf-arrow + .shelf-arrow { margin-left: 8px; }
.shelf-arrow:disabled { opacity: 0.3; cursor: default; }
.shelf-arrow:not(:disabled):hover,
.shelf-arrow:focus { outline: 0; border-color: #e50914; background: #383838; }
.shelf-arrow svg {
  display: block;
  width: 24px;
  height: 24px;
  margin: 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.shelf-track {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  padding: 4px 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.shelf-track::-webkit-scrollbar { display: none; }
.shelf-track > .media-card { height: auto; }
.shelf-track > .media-card:focus-visible { outline: 0; }
.shelf-track > .tv-card { margin-bottom: 0; }
.tv-library .shelf-arrow { width: 46px; height: 42px; padding: 8px; }
.tv-library .shelf-header h2 { font-size: 26px; }

@media (max-width: 720px) {
  .library-rows { padding-top: 10px; }
  .shelf-header h2 { font-size: 18px; }
  .shelf-arrow { width: 36px; min-width: 36px; }
}
