/**
 * Desktop lobby: clip carousels before Swiper JS runs so SSR rows
 * do not expand the page and then collapse (visible flicker).
 * Also lock text to system Arial so late Rubik/CM622 cannot FOUC labels.
 */

html body .slot-page-root--cm622,
html body .bgaming-page-root--cm622,
html body .slot-page-root--cm622 .providers-drawer-wrapper {
  font-family: Arial, Helvetica, sans-serif !important;
  --font-family: Arial, Helvetica, sans-serif !important;
}

/* Beat CM622 Rubik !important text rules without touching icon glyphs */
html body .slot-page-root--cm622 *:not([class^="bc-i-"]):not([class*=" bc-i-"]),
html body .bgaming-page-root--cm622 *:not([class^="bc-i-"]):not([class*=" bc-i-"]) {
  font-family: Arial, Helvetica, sans-serif !important;
}

.slot-page-root--cm622 .casino-container--desktop-lobby .carouselWrapper,
.slot-page-root--cm622 .carouselWrapper[data-lobby-carousel-el],
.bgaming-page-root--cm622 .casino-container--desktop-lobby .carouselWrapper,
.bgaming-page-root--cm622 .carouselWrapper[data-lobby-carousel-el] {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.slot-page-root--cm622 .carouselWrapper[data-lobby-carousel-el] .swiper,
.bgaming-page-root--cm622 .carouselWrapper[data-lobby-carousel-el] .swiper {
  width: 100%;
  overflow: hidden;
}

.slot-page-root--cm622 .carouselWrapper[data-lobby-carousel-el] .swiper-wrapper,
.bgaming-page-root--cm622 .carouselWrapper[data-lobby-carousel-el] .swiper-wrapper {
  display: flex;
  box-sizing: border-box;
}

.slot-page-root--cm622 .lobby-games-swiper .swiper-slide,
.bgaming-page-root--cm622 .lobby-games-swiper .swiper-slide {
  width: 168px;
  height: auto;
  flex-shrink: 0;
  box-sizing: border-box;
  margin-right: 16px;
}

.slot-page-root--cm622 .lobby-providers-swiper .swiper-slide,
.bgaming-page-root--cm622 .lobby-providers-swiper .swiper-slide {
  width: 140px;
  height: auto;
  flex-shrink: 0;
  box-sizing: border-box;
  margin-right: 16px;
}

.slot-page-root--cm622 .lobby-games-swiper .casinoGameItemContent,
.bgaming-page-root--cm622 .lobby-games-swiper .casinoGameItemContent {
  width: 100%;
}

.slot-page-root--cm622 .lobby-games-swiper .casinoGameItem,
.slot-page-root--cm622 .lobby-games-swiper .casinoGameItemImage,
.bgaming-page-root--cm622 .lobby-games-swiper .casinoGameItem,
.bgaming-page-root--cm622 .lobby-games-swiper .casinoGameItemImage {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
}

/* Category rail: no transform animation on first paint */
.slot-page-root--cm622 .casinoCategories .horizontal-scroll__inner:not([data-rail-ready="1"]),
.bgaming-page-root--cm622 .casinoCategories .horizontal-scroll__inner:not([data-rail-ready="1"]) {
  transition: none !important;
}

@media (max-width: 1100px) {
  .slot-page-root--cm622 .lobby-games-swiper .swiper-slide,
  .bgaming-page-root--cm622 .lobby-games-swiper .swiper-slide {
    width: 132px;
  }
}


/* =============================================================================
   Desktop lobby alignment (slot / livecasino / bgaming)
   - BC token --padding-page-aside:7px pulls content too tight on desktop
   - CM622 .carousel .swiper-button-* { top:50%; transform:translateY(-50%) }
     bleeds onto hero "1/N" counter arrows and shifts them vertically
   ============================================================================= */
@media (min-width: 1025px) {
  html body .slot-page-root--cm622,
  html body .bgaming-page-root--cm622 {
    --padding-page-aside: 16px;
    width: 100%;
    max-width: var(--layout-width, 1670px);
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--padding-page-aside, 16px) !important;
    padding-right: var(--padding-page-aside, 16px) !important;
    box-sizing: border-box;
  }
}

html body .slot-page-root--cm622 .carousel-count-arrow-container.with-count,
html body .bgaming-page-root--cm622 .carousel-count-arrow-container.with-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
}

html body .slot-page-root--cm622 .carousel-count-arrow-container.with-count .swiper-button-prev,
html body .slot-page-root--cm622 .carousel-count-arrow-container.with-count .swiper-button-next,
html body .bgaming-page-root--cm622 .carousel-count-arrow-container.with-count .swiper-button-prev,
html body .bgaming-page-root--cm622 .carousel-count-arrow-container.with-count .swiper-button-next,
html body .home-hero-slider-counter-prev,
html body .home-hero-slider-counter-next {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin: 0 !important;
  pointer-events: auto !important;
}

html body .slot-page-root--cm622 .carousel-count-arrow-container.with-count .swiper-pagination,
html body .slot-page-root--cm622 .home-hero-slider-counter-text,
html body .bgaming-page-root--cm622 .carousel-count-arrow-container.with-count .swiper-pagination,
html body .bgaming-page-root--cm622 .home-hero-slider-counter-text,
html body .home-hero-slider-counter-text {
  position: static !important;
  top: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 22px !important;
  line-height: 22px !important;
  margin: 0 !important;
}

/* Section +N count stays vertically centered with carousel arrows */
html body .slot-page-root--cm622 .sectionTitle,
html body .bgaming-page-root--cm622 .sectionTitle {
  align-items: center !important;
}
html body .slot-page-root--cm622 .sectionTitle .ds-link,
html body .bgaming-page-root--cm622 .sectionTitle .ds-link {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  top: auto !important;
  transform: none !important;
}
