/* Native horizontal scrolling; never combine scrollLeft with translated slides. */
.root .main_wrapper .cayegoryList,
.channelPage .newCategoriesSlider { min-width: 0; overflow: hidden; position: relative; }
.root .cayegoryList .swiper.swiper-horizontal,
.channelPage .newCategoriesSlider .swiper.swiper-horizontal {
  overflow-x: auto;
  overflow-y: hidden;
  max-width: 100%;
  width: 100%;
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-block: 10px;
  padding-inline: 0;
}
.root .cayegoryList .swiper::-webkit-scrollbar,
.channelPage .newCategoriesSlider .swiper::-webkit-scrollbar { display: none; }
.root .cayegoryList .swiper-wrapper,
.channelPage .newCategoriesSlider .swiper-wrapper,
.root .cayegoryList:has(#category-scroll:checked) .swiper-wrapper,
.channelPage .newCategoriesSlider:has(#channel-category-scroll:checked) .swiper-wrapper {
  transform: none !important;
  transition: none;
  width: max-content;
  max-width: none;
  height: auto;
  align-items: center;
  /* Reserve only the circle and a small gap; the gradient may overlap the edge. */
  padding-inline: 56px;
  box-sizing: border-box;
}
.root .cayegoryList .swiper-slide,
.channelPage .newCategoriesSlider .swiper-slide {
  flex: 0 0 auto; display: flex; align-items: center; height: auto;
}
.root .cayegoryList label[class*="swiper-button"],
.channelPage .newCategoriesSlider label[class*="swiper-button"] { display: none; }
.category-nav {
  position: absolute; inset-block: 0; z-index: 6;
  display: flex; align-items: center; width: 64px; height: 100%;
  min-height: 0; max-height: none; box-sizing: border-box;
  appearance: none; margin: 0; border: 0; border-radius: 0;
  padding: 0 15px; color: #fff;
  background-size: 100% 100%; background-repeat: no-repeat;
  cursor: pointer; pointer-events: none;
}
.category-nav--prev {
  left: 0; justify-content: flex-start;
  background: var(--profile-surface-edge-left-strong-gradient);
}
.category-nav--next {
  right: 0; justify-content: flex-end;
  background: var(--profile-surface-edge-right-strong-gradient);
}
.category-nav__icon {
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 35px; width: 35px; height: 35px; border-radius: 50%;
  background: #1c1c1c; pointer-events: auto;
}
.category-nav__icon svg { width: 15px; height: 15px; }
.channelPage .category-nav--prev svg,
.root .category-nav--next svg { transform: rotate(180deg); }
.root .category-nav--prev { background: var(--profile-surface-edge-left-gradient); }
.root .category-nav--next { background: var(--profile-dark-surface-edge-right-gradient); }
.root .category-nav__icon svg { width: 21px; height: 21px; }
.category-nav[hidden] { display: none; }
.category-nav:disabled { cursor: default; }
.category-nav:disabled .category-nav__icon { pointer-events: none; }
.category-nav:disabled .category-nav__icon svg { opacity: .35; }

/* Keep search compact and ensure the sticky header covers scrolling content. */
.header.transparent { background: #000; z-index: 1003; }
.root .searchWrapper { align-items: center; gap: 8px; }
.root .searchWrapper input.input { min-width: 0; height: 52px; font-size: 16px; }
.root .searchWrapper .demo-search-submit {
  flex: 0 0 auto; height: 44px; padding: 0 18px;
  border: 0; border-radius: 22px; background: #e41a4b; color: #fff;
  font: 500 14px/1 Inter, sans-serif; cursor: pointer;
}

/* On phones reserve a fixed player area and scroll the channel panel beneath it. */
.channelPage .leftPannel__content .channelItem { --progress-width: 100%; }
.channelPage .leftPannel__content .channelItem__icon { flex-shrink: 0; }
.channelPage .leftPannel__content .channelItem__content { min-width: 0; }
.channelPage .leftPannel__content .channelItem:before { max-width: 100%; }
.channelPage .leftPannel__content .channelItem:not(.channelItem--active) .channelItem__content_description { display: none; }
.channelPage .leftPannel__content .channelItem--active .channelItem__content_description { display: flex; opacity: 1; }
@media (max-width: 768px) {
  body:has(.channelPage) { overflow: hidden; }
  body:has(.channelPage) .footer { display: none; }
  .channelPage {
    position: fixed; inset: var(--header-height) 0 0;
    height: calc(100dvh - var(--header-height)); min-height: 0; overflow: hidden;
  }
  .channelPage .channelPage__container,
  .channelPage .channelPage__wrapper { height: 100%; min-height: 0; overflow: hidden; }
  .channelPage .channelPage__wrapper { display: flex; flex-direction: column; }
  .channelPage .channelPage__player {
    position: relative; flex: 0 0 auto; width: 100%;
    height: min(62.5vw, 40dvh); aspect-ratio: auto;
  }
  .channelPage .channelPage__leftPanel { flex: 1 1 0; min-height: 0; height: auto; overflow: hidden; }
  .channelPage .leftPannel,
  .channelPage .leftPannel__container { height: 100%; min-height: 0; overflow: hidden; }
  .channelPage .leftPannel__wrapper {
    height: 100%; overflow-x: hidden; overflow-y: auto;
    overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch;
  }
  .channelPage .leftPannel__head { position: sticky; top: 0; z-index: 5; }
  .channelPage .leftPannel__content .channelItem { padding: 12px 15px; }
  .channelPage .leftPannel__content .channelItem__icon { width: 88px; }
}

/* DLE service pages share the site's dark form treatment. */
.service-page { width: min(90%, 720px); margin: 32px auto 64px; min-height: 60vh; }
.category-nav:focus-visible { outline: 2px solid #ff4d77; outline-offset: 3px; }
@media (max-width: 380px) {
  .root .searchWrapper .demo-search-submit { padding: 0 12px; }
}
