/* Critical above-the-fold layout — prevents CLS before full CSS loads */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Titillium Web", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background: #f2f2f2;
}

/* Header */
.header.fixed-top {
  position: sticky !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  min-height: 60px;
  z-index: 1000 !important;
  background: #f2f2f2 !important;
  background-image: none !important;
}

.header .container {
  min-height: 60px;
  background: #f2f2f2;
}

/* Sport tabs under header */
.new-middle-menus {
  position: sticky !important;
  top: 60px !important;
  z-index: 995 !important;
  width: 100%;
  min-height: 44px;
  background: #ffffff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

.new-middle-menus ul {
  background: #ffffff;
}

@media (max-width: 1199px) {
  .new-middle-menus.new-top {
    top: 97px !important;
  }
}

/* Sidebar shell */
.sidebar {
  width: 250px;
  min-height: 280px;
  background-color: #fff;
}

@media (max-width: 1199px) {
  .sidebar {
    width: 55%;
    min-height: 200px;
  }
}

/* Sidebar carousel (480×800 banners) */
#carouselExampleIndicators .carousel-inner {
  min-height: 200px;
  aspect-ratio: 480 / 800;
}

#carouselExampleIndicators .carousel-item img.d-block.w-100,
#carouselExampleIndicators img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 480 / 800;
  object-fit: cover;
}

/* Mobile hero swiper */
.top-baner.mySwiper,
.top-baner .swiper.mySwiper {
  min-height: 270px;
  aspect-ratio: 270 / 360;
}

.slider_banner__item,
.slider_banner__item_img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 270 / 360;
  object-fit: cover;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

/* Lazy home embed slot */
.rb-dashboard-home-embed-slot {
  min-height: 1px;
}

/* Landing page chrome (when embed loads) */
body.landing-page {
  background: #eeeeee;
}

.landing-header {
  min-height: 64px;
}

.home-hero,
.page-hero {
  min-height: min(72vh, 640px);
}
