/* =========================================================
   PusluBet Desktop Home + Lobby
   Banner: pb-banner.css (doğal boy oranı)
   3 kare portal + 7’li oyun grid + turnuva hizası
   Sadece min-width:768px (mobil dokunulmaz) — oyun/turnuva hariç ortaklar ayrı
   ========================================================= */

@media (min-width: 768px) {
  html body.theme-puslu .pb-home {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 16px 24px 56px !important;
    box-sizing: border-box !important;
  }

  html body.theme-puslu .pb-home > .pb-sec[aria-label="Slot"] > .pb-pills,
  html body.theme-puslu .pb-home > .pb-sec[aria-label="Canlı Casino"] > .pb-pills,
  html body.theme-puslu .pb-home .pb-pills[aria-label="Casino kısayolları"],
  html body.theme-puslu .pb-home .pb-pills[aria-label="Canlı Casino kısayolları"] {
    display: none !important;
  }

  html body.theme-puslu .pb-portal.pb-portal--trio:not(.pb-portal--mosaic) {
    display: none !important;
  }
  html body.theme-puslu .pb-portal--mosaic[hidden],
  html body.theme-puslu .pb-portal--mosaic {
    display: block !important;
    width: 100% !important;
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
  }

  /* 3 eşit kare kart */
  html body.theme-puslu .pb-portal--mosaic .pb-portal__grid--mosaic {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    gap: 16px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #1a1c22 !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__media {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__media img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 22% !important;
    transform: none !important;
    transition: transform 0.4s ease !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__card:hover .pb-portal__media img {
    transform: scale(1.03) !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background: linear-gradient(
      180deg,
      rgba(10, 12, 16, 0.04) 0%,
      rgba(10, 12, 16, 0.08) 48%,
      rgba(10, 12, 16, 0.58) 80%,
      rgba(10, 12, 16, 0.8) 100%
    ) !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__meta {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    top: auto !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__title {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(1.05rem, 1.5vw, 1.4rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    line-height: 1.15 !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45) !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__sub {
    display: block !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  html body.theme-puslu .pb-home > .pb-sec {
    margin-top: 22px !important;
  }

  /* Anasayfa oyunları: tam 7 sütun */
  html body.theme-puslu .pb-home .pb-games {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  /* Slot / Casino lobby — ana kolon */
  html body.theme-puslu .pbx-page {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  html body.theme-puslu .pbx-page__inner {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 16px 24px 56px !important;
    box-sizing: border-box !important;
  }

  html body.theme-puslu .pbx-page .pbx-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  html body.theme-puslu .pbx-page .pbx-grid-wrap {
    width: 100% !important;
  }

  /* Turnuvalar: home ile aynı yatay hiza (24px) + eşit kart grid */
  html body.theme-puslu .pb-foot-wrap .pb-tnrail,
  html body.theme-puslu .pb-foot-wrap [data-pb-tnrail],
  html body.theme-puslu .pb-tnrail {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 24px 18px !important;
    box-sizing: border-box !important;
  }

  html body.theme-puslu .pb-tnrail .pb-sec__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
  }

  html body.theme-puslu .pb-tnrail .pb-tnrail__rail {
    width: 100% !important;
    overflow: visible !important;
  }

  html body.theme-puslu .pb-tnrail .pb-tnrail__track {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
  }

  html body.theme-puslu .pb-tnrail a.pb-game.pb-tnrail__card,
  html body.theme-puslu .pb-foot-wrap .pb-tnrail a.pb-game.pb-tnrail__card {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  html body.theme-puslu .pb-tnrail a.pb-game.pb-tnrail__card .pb-game__media,
  html body.theme-puslu .pb-foot-wrap .pb-tnrail a.pb-game.pb-tnrail__card .pb-game__media {
    aspect-ratio: 450 / 345 !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    border-radius: 10px !important;
  }

  /* Popüler sağlayıcılar da aynı hiza */
  html body.theme-puslu .pb-foot-wrap .pb-alt-providers,
  html body.theme-puslu .pb-alt-providers {
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }

  html body.theme-puslu .pb-alt-providers__inner {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
}

@media (min-width: 2000px) {
  html body.theme-puslu .pbx-page .pbx-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  }
}

/* Oyun oynatma: gerçek tam sayfa */
html.pb-game-play,
html.pb-game-play body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  background: #000 !important;
}

html.pb-game-play .game-player {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  height: 100dvh !important;
  z-index: 2147483000 !important;
  background: #000 !important;
}

html.pb-game-play .game-player__frame {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: #000 !important;
}


/* === rebrand-portal-fix 20261113 === */
@media (min-width: 768px) {
  /* Trio mobil kalsın; masaüstünde kesin gizle */
  html body.theme-puslu .pb-portal.pb-portal--trio:not(.pb-portal--mosaic) {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Mosaic HTML hidden attribute'unu ezip göster */
  html body.theme-puslu nav.pb-portal.pb-portal--mosaic[hidden],
  html body.theme-puslu .pb-portal.pb-portal--mosaic[hidden],
  html body.theme-puslu .pb-portal.pb-portal--mosaic {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
    height: auto !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__grid--mosaic {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__card,
  html body.theme-puslu .pb-portal--mosaic.pb-portal--photo .pb-portal__card,
  html body.theme-puslu .pb-portal--photo.pb-portal--mosaic .pb-portal__card--slot,
  html body.theme-puslu .pb-portal--photo.pb-portal--mosaic .pb-portal__card--livecasino,
  html body.theme-puslu .pb-portal--photo.pb-portal--mosaic .pb-portal__card--bonus {
    position: relative !important;
    display: block !important;
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    border-radius: 14px !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__media,
  html body.theme-puslu .pb-portal--mosaic .pb-portal__media img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__meta {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    top: auto !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__title,
  html body.theme-puslu .pb-portal--mosaic .pb-portal__sub {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: #fff !important;
    text-shadow: 0 1px 8px rgba(0,0,0,.55) !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__title {
    font-size: clamp(1.05rem, 1.5vw, 1.35rem) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    margin: 0 !important;
  }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__sub {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,.82) !important;
    margin: 0 !important;
  }

  /* Reveal animasyonu kartları görünmez bırakmasın */
  html body.theme-puslu .pb-home .pb-reveal,
  html body.theme-puslu .pb-portal.pb-reveal {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}


/* === portal-label-force 20261113b === */
.pb-portal--mobile-only { display: block; }
.pb-portal--desk-only { display: none; }
@media (min-width: 768px) {
  .pb-portal--mobile-only { display: none !important; }
  .pb-portal--desk-only { display: block !important; visibility: visible !important; opacity: 1 !important; }

  html body.theme-puslu .pb-portal--mosaic .pb-portal__media { z-index: 0 !important; }
  html body.theme-puslu .pb-portal--mosaic .pb-portal__card::after { z-index: 1 !important; }
  html body.theme-puslu .pb-portal--mosaic .pb-portal__meta {
    z-index: 6 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
  }
  html body.theme-puslu .pb-portal--mosaic .pb-portal__title,
  html body.theme-puslu .pb-portal--mosaic .pb-portal__sub {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    position: relative !important;
    z-index: 7 !important;
  }
  html body.theme-puslu .pb-portal--mosaic .pb-portal__sub {
    color: rgba(255,255,255,.85) !important;
    -webkit-text-fill-color: rgba(255,255,255,.85) !important;
  }
}
@media (max-width: 767.98px) {
  html body.theme-puslu .pb-portal--trio .pb-portal__media { z-index: 0 !important; }
  html body.theme-puslu .pb-portal--trio .pb-portal__meta { z-index: 6 !important; opacity: 1 !important; }
  html body.theme-puslu .pb-portal--trio .pb-portal__title {
    color:#fff !important; -webkit-text-fill-color:#fff !important; opacity:1 !important; display:block !important;
  }
}
