/**
 * Site-next skeleton placeholders — 1win `skeleton_root-ADZg6` shimmer + layout helpers.
 */
:root {
  --sn-skeleton-base: var(--color-background-base-alfa-neutral-12, rgba(255, 255, 255, 0.06));
  --sn-skeleton-highlight: var(--color-background-base-alfa-neutral-32, rgba(255, 255, 255, 0.14));
  --sn-skeleton-shimmer-duration: 1.35s;
  --sn-skeleton-radius-sm: var(--rounding-container-xs, 8px);
  --sn-skeleton-radius-md: var(--rounding-container-m, 12px);
  --sn-skeleton-radius-card-m: var(--game-card-rounding-mobile, 12px);
  --sn-skeleton-radius-card-d: var(--game-card-rounding-desktop, 16px);
}

/* Legacy alias — same shimmer as 1win skeleton component */
.sn-skeleton,
.skeleton_root-ADZg6 {
  position: relative;
  overflow: hidden;
  border: none;
  pointer-events: none;
  background: var(--skeleton-content);
  background-size: 200% 100%;
  animation: 1.8s linear infinite skeleton_shine-ADZg6;
}

.sn-skeleton::after {
  content: none;
  display: none;
}

@keyframes skeleton_shine-ADZg6 {
  0% {
    background-position-x: 100%;
  }

  56%,
  to {
    background-position-x: -100%;
  }
}
.sn-skeleton--pulse.sn-skeleton::after {
  animation: none;
  opacity: 0.85;
}
.sn-skeleton--pulse.sn-skeleton {
  animation: sn-skeleton-pulse 1.1s ease-in-out infinite;
}
@keyframes sn-skeleton-pulse {
50% {
    opacity: 0.72;
  }
}
.sn-skeleton--text {
  display: block;
  height: 1em;
  width: 100%;
  max-width: 12rem;
  border-radius: var(--sn-skeleton-radius-sm);
}
.sn-skeleton--text-short {
  max-width: 6rem;
}
.sn-skeleton--chip {
  height: 36px;
  min-width: 72px;
  border-radius: var(--rounding-pill-m, 999px);
}
.sn-skeleton--circle {
  border-radius: 50%;
  flex-shrink: 0;
}
.sn-skeleton--avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
/* Oyun kartı iskeleti — gerçek game-card_root ile aynı oran */
.sn-skeleton-card {
  pointer-events: none;
  user-select: none;
}
.sn-skeleton-card .game-card_body-al9vQ {
  background-color: transparent;
}
.sn-skeleton--game-card-fill {
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.sn-skeleton-card .sn-skeleton--game-card-fill {
  border-radius: var(--game-card__border-radius, var(--sn-skeleton-radius-card-m));
}
@media (min-width: 1024px) {
  .sn-skeleton-card .sn-skeleton--game-card-fill {
    border-radius: var(--game-card__border-radius, var(--sn-skeleton-radius-card-d));
  }
}
/* Eski sarmalayıcı (geriye dönük) */
.sn-skeleton--game-card {
  width: 100%;
  padding-bottom: 133.33%;
  height: 0;
  border-radius: var(--sn-skeleton-radius-card-m);
}
@media (min-width: 1024px) {
  .sn-skeleton--game-card {
    border-radius: var(--sn-skeleton-radius-card-d);
  }
}
/* Banner alanı (840×320 ≈ 2.625) */
.sn-skeleton--banner {
  width: 100%;
  aspect-ratio: 21 / 8;
  border-radius: var(--rounding-container-l, 16px);
  min-height: 140px;
}
.sn-skeleton--banner-compact {
  min-height: 120px;
}
.sn-banner-skeleton-host .sn-banner-skeleton-inner {
  width: 100%;
  height: 100%;
  min-height: 0;
}
.sn-banner-skeleton-host .banners-carousel_scaler-pijlK {
  height: 100%;
  /* index.css: scaler opacity 0 until .banners-carousel_loaded-pijlK — iskelette shimmer görünsün */
  opacity: 1;
}
.sn-banner-skeleton-host .sn-skeleton--banner {
  height: 100%;
  min-height: 100%;
  aspect-ratio: unset;
}

/* Casino / home hero GOTW API iskeleti */
.sn-gotw-skeleton-host {
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 164px;
}
.sn-gotw-skeleton-host .sn-skeleton--gotw-lobby {
  width: 100%;
  height: 100%;
  min-height: inherit;
  aspect-ratio: unset;
  border-radius: var(--rounding-container-l, 16px);
}
@media (min-width: 1024px) {
  .sn-gotw-skeleton-host {
    min-height: 0;
  }
  .sn-gotw-skeleton-host .sn-skeleton--gotw-lobby {
    border-radius: var(--rounding-container-xl, 20px);
  }
}
@media (max-width: 1023.98px) {
  .sn-gotw-skeleton-host {
    min-height: clamp(120px, 38vw, 200px);
  }
}

.sn-banner-img-shell .sn-skeleton--banner-inline {
  aspect-ratio: unset;
  min-height: 0;
}
/* Casino “Tüm oyunlar” üst üste binen katman */
.sn-all-games-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
}
.sn-all-games-stack > .games-grid_list-iixhO {
  grid-row: 1;
  grid-column: 1;
  align-self: start;
}
#site-next-all-games-list {
  position: relative;
  z-index: 1;
}
#site-next-all-games-skeleton {
  position: relative;
  z-index: 2;
  grid-row: 1;
  grid-column: 1;
  align-self: start;
  transition: opacity 0.22s ease;
}
#site-next-all-games-skeleton.sn-skeleton-layer--exit {
  opacity: 0;
}
.sn-skeleton--game-card-wrap {
  min-width: 0;
}
/* Tek oyun kartı görseli — placeholder shimmer + fade-in */
.sn-game-img-shell {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: var(--game-card__border-radius, var(--game-card-rounding-mobile, 12px));
  background-color: transparent;
}

.sn-game-img-shell .game-card_picture-al9vQ {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: inherit;
}

.sn-game-img-shell .game-card_placeholder-al9vQ.sn-skeleton--game-media {
  z-index: 1;
  width: 100%;
  height: 100%;
  inset: 0;
  border-radius: inherit;
  border: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}

.game-card_bordered-al9vQ .sn-game-img-shell .game-card_placeholder-al9vQ.sn-skeleton--game-media::after,
.sn-game-img-shell .game-card_placeholder-al9vQ.sn-skeleton--game-media::after {
  content: none;
  display: none;
}

.sn-game-img-shell .game-card_image-al9vQ {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: none;
  transition: opacity 0.32s ease;
  object-fit: cover;
  object-position: center top;
  border-radius: inherit;
}

.sn-game-img-shell.is-loading .game-card_placeholder-al9vQ.sn-skeleton--game-media,
.sn-game-img-shell:not(.is-loaded):not(.is-empty) .game-card_placeholder-al9vQ.sn-skeleton--game-media {
  opacity: 1;
  visibility: visible;
}

.sn-game-img-shell.is-loading .game-card_placeholder-al9vQ.skeleton_root-ADZg6.sn-skeleton--game-media,
.sn-game-img-shell:not(.is-loaded):not(.is-empty) .game-card_placeholder-al9vQ.skeleton_root-ADZg6.sn-skeleton--game-media {
  background-color: transparent;
}

.sn-game-img-shell.is-empty .game-card_placeholder-al9vQ.sn-skeleton--game-media {
  opacity: 0.35;
  visibility: visible;
}

.sn-game-img-shell.is-loaded .game-card_image-al9vQ {
  opacity: 1;
}

.sn-game-img-shell.is-loaded .game-card_placeholder-al9vQ.sn-skeleton--game-media {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  animation: none;
}

/* Banner / hero görselleri */
.sn-banner-img-shell,
.sn-media-shell {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.sn-banner-img-shell .sn-skeleton--banner-inline,
.sn-media-shell .sn-skeleton--inline-media {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}

.sn-banner-img-shell img,
.sn-media-shell:not(.sn-media-shell--hero) img {
  position: relative;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.32s ease;
}

/* Ana sayfa hero: absolute kapak + hemen görünür (sn-media-shell kullanılmıyor) */
.sn-home-hero-grid .sn-media-shell--hero img,
.sn-home-hero-grid .freemoney-main-banner_backgroundPicture-LweGB,
.sn-home-hero-grid .bonus-banner_backgroundPicture-QklNF {
  opacity: 1;
}

.sn-banner-img-shell.is-loaded img,
.sn-media-shell.is-loaded img {
  opacity: 1;
}

.sn-banner-img-shell.is-loaded .sn-skeleton--banner-inline,
.sn-media-shell.is-loaded .sn-skeleton--inline-media {
  opacity: 0;
  visibility: hidden;
}

.sn-media-shell--hero {
  display: block;
  width: 100%;
  height: 100%;
}

.sn-skeleton--hero-media {
  width: 100%;
  height: 100%;
  min-height: 80px;
  border-radius: inherit;
}

.sn-skeleton-game-grid {
  width: 100%;
}

/* Ana sayfa lazy lobby şerit iskeleti — aralık üst kapsayıcı gap ile (sn-sliders-fix.css) */
.sn-home-lobby-skeleton-row {
  margin-bottom: 0;
}
.sn-lobby-slider-skeleton {
  margin-bottom: var(--spacing-16, 16px);
}
.sn-home-lobby-skeleton-track,
.sn-lobby-slider-skeleton .games-grid_carousel-iixhO {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--spacing-8, 8px);
  overflow: hidden;
}
.sn-home-lobby-skeleton-track .sn-skeleton-card,
.sn-lobby-slider-skeleton .games-grid_carousel-iixhO .sn-skeleton-card {
  flex: 0 0 auto;
  width: var(--sn-lobby-carousel-card-width);
  min-width: var(--sn-lobby-carousel-card-width);
  max-width: var(--sn-lobby-carousel-card-width);
}
@media (max-width: 1023.98px) {
  html.sn-platform-ios .sn-home-lobby-skeleton-track .sn-skeleton-card,
  html.sn-platform-ios .sn-lobby-slider-skeleton .games-grid_carousel-iixhO .sn-skeleton-card {
    width: 124px;
    min-width: 124px;
    max-width: 124px;
  }
}
#sn-home-lobby-sliders.sn-lobby-fragment--loading {
  min-height: min(58vh, 520px);
  content-visibility: auto;
  contain-intrinsic-size: auto 520px;
}
.sn-lobby-fragment--loading .sn-lobby-fragment__status,
.sn-home-lobby-sliders--loading .sn-home-lobby-sliders__status {
  display: none;
}
.sn-lobby-fragment__status,
.sn-home-lobby-sliders__status {
  margin: 12px 16px;
  font-size: 12px;
  color: rgba(var(--b-sc, 255 255 255), 0.55);
  text-align: center;
}

/* Bonus / promosyon sayfaları — API yanıtına kadar SSR iskelet */
[data-sn-bonuses-mount][aria-busy="true"] {
  min-height: 360px;
}
[data-sn-bonuses-faq-mount][aria-busy="true"] {
  min-height: 280px;
}
[data-sn-promotions-mount][aria-busy="true"] {
  min-height: 420px;
}

/* sn-page-bootstrap slot placeholder'ları — JS verisi gelene kadar görünür.
   data-sn-slot-ready="1" işaretlendiği an gerçek içerik basılır; ekstra animasyon yok. */
#sn-header-auth-slot,
#sn-sidebar-profile-slot {
  min-height: 48px;
  flex-shrink: 0;
}

#sn-header-auth-slot[data-sn-slot-ready="1"],
#sn-sidebar-profile-slot[data-sn-slot-ready="1"] {
  min-height: 48px;
}

#sn-header-auth-slot .sn-page-bootstrap-skeleton,
#sn-sidebar-profile-slot .sn-page-bootstrap-skeleton {
  display: inline-block;
  vertical-align: middle;
}

/* Bootstrap HTML gelene kadar slot içeriğini gizle (stilsiz cüzdan flaşı önlenir) */
#sn-header-auth-slot:not([data-sn-slot-ready="1"]) .sn-header-user,
#sn-header-auth-slot:not([data-sn-slot-ready="1"]) > .base_root-8pMNn {
  display: none !important;
}
.sn-page-bootstrap-skeleton-host {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
.sn-skeleton,
.skeleton_root-ADZg6 {
    animation: none;
  }
.sn-skeleton--pulse.sn-skeleton {
    animation: none;
  }
#site-next-all-games-skeleton {
    transition: none;
  }
.sn-game-img-shell .game-card_image-al9vQ,
.sn-banner-img-shell img,
.sn-media-shell img {
    transition: none;
  }
}