/*
 * provider-drawer-correction.css
 * --------------------------------------------------------------
 * ITER 4 fix — Agent I'in provider-drawer-bs-exact.css'inde
 * BS drawer geometry yanlış yorumlandı:
 *   - Agent I assumption: BS drawer "top:0 entire viewport"
 *   - GERÇEK BS measurement: overlaySlidingWrapperBc top:49 height:545 width:400
 *
 * Yani BS'te mobileHeader + announcement bar (top 49px) drawer üzerinde
 * görünür kalır. Agent I bunları display:none yaptı — yanlış.
 *
 * Bu correction file Agent I rule'larını override eder:
 *   1. body.drawer-open + :has(.mobile-open) → header/footer GÖRÜNÜR (BS-paralel)
 *   2. drawer top:49, height:calc(100vh-49) (BS measurement match)
 *
 * Owner: bu dosya only (rule #30) — Agent I'in CSS'i değişmez (file ownership korunur).
 * Cascade: bu file head.php'de provider-drawer-bs-exact.css'ten SONRA include edilmeli.
 *
 * Hata kaynağı: ITER 3 audit (kullanıcı feedback K.12 'hemen completed yapma') —
 * MR drawer top:0 height:594 ölçüldü, BS top:49 height:545 — fark.
 * --------------------------------------------------------------
 */

/* ============================================================
 * ITER 24 — ITER 23 REVERT — BS gerçek state: header VISIBLE + bottom-tab VISIBLE
 * Tekrar yan yana karşılaştırma (2026-04-28 ss_6079ghxux):
 * BS drawer açıkken BS header GÖRÜNÜR (BAHİSSENDE logo + GİRİŞ/KAYIT + 3-dot @ y:0-49).
 * BS drawer y:80+ (header altında).
 * BS UYGULA y:680-720 (bottom-tab var ya da değiştir? bottom-tab BS'te küçük muhtemelen yok).
 *
 * ITER 23 hatalı varsayım (eski BS scroll-offset SS'i yanlış yorumladım).
 * Fix: header görünür, drawer top:49, bottom-tab visible, footer bottom:49.
 * ============================================================ */
html.mobile-root body.mobile-site.drawer-open header.mobileHeader,
html.mobile-root body.mobile-site.provider-sheet-open header.mobileHeader,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) header.mobileHeader,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) header.mobileHeader {
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1085 !important;
}

/* ITER 8 — drawer açık iken announce bar + sub-nav rows + ANA SAYFA tab strip HIDE
 * (BS'te drawer açıkken bu chrome kalmaz; mobileHeader kalır - drawer top:49 başlar)
 *
 * ITER 9 (2026-05-17, kullanıcı talimati): "slot sayfasında tüm sağlayıcılar
 * butonuna basınca canlı bahisler slot gibi butonlar da gözükmeye devam ediyor"
 * — ITER 418 (2026-05-13, commit a987ba5ce) nav element'i .bs-deposit-tabs +
 * .site-nav-tabs olarak yeniden adlandırıp .hdr-navigation-scrollable-bc-holder
 * wrapper'ına aldı. Bu file'ın hide listesi eskimişti — yeni class isimleri yoktu.
 * Sonuç: drawer açılınca 40px nav strip (CANLI BAHİSLER | SPOR BAHİSLERİ | SLOT |
 * CANLI CASINO | EGT DIGITAL ...) GERİ butonu altında görünür kalıyordu.
 * Fix: yeni 3 class'ı (.hdr-navigation-scrollable-bc-holder, .bs-deposit-tabs,
 * .site-nav-tabs) tüm 4 state selector'üne (.drawer-open, .provider-sheet-open,
 * :has(#providersSidebar.mobile-open), :has(.providers-sidebar.mobile-open)) ekle.
 */
html.mobile-root body.mobile-site.drawer-open .mobile-announcement-bar,
html.mobile-root body.mobile-site.drawer-open .mob-announce-bar,
html.mobile-root body.mobile-site.drawer-open [class*="announcement"],
html.mobile-root body.mobile-site.drawer-open .hdr-navigation-scrollable,
html.mobile-root body.mobile-site.drawer-open .hdr-navigation-scrollable-bc-holder,
html.mobile-root body.mobile-site.drawer-open .hdr-navigation-strip,
html.mobile-root body.mobile-site.drawer-open .horizontal-nav-strip,
html.mobile-root body.mobile-site.drawer-open .mainMenu-standalone,
html.mobile-root body.mobile-site.drawer-open .mainMenu,
html.mobile-root body.mobile-site.drawer-open .bs-deposit-tabs,
html.mobile-root body.mobile-site.drawer-open .site-nav-tabs,
html.mobile-root body.mobile-site.provider-sheet-open .mobile-announcement-bar,
html.mobile-root body.mobile-site.provider-sheet-open .mob-announce-bar,
html.mobile-root body.mobile-site.provider-sheet-open [class*="announcement"],
html.mobile-root body.mobile-site.provider-sheet-open .hdr-navigation-scrollable,
html.mobile-root body.mobile-site.provider-sheet-open .hdr-navigation-scrollable-bc-holder,
html.mobile-root body.mobile-site.provider-sheet-open .hdr-navigation-strip,
html.mobile-root body.mobile-site.provider-sheet-open .horizontal-nav-strip,
html.mobile-root body.mobile-site.provider-sheet-open .mainMenu-standalone,
html.mobile-root body.mobile-site.provider-sheet-open .mainMenu,
html.mobile-root body.mobile-site.provider-sheet-open .bs-deposit-tabs,
html.mobile-root body.mobile-site.provider-sheet-open .site-nav-tabs,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .mobile-announcement-bar,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) [class*="announcement"],
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .hdr-navigation-scrollable,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .hdr-navigation-scrollable-bc-holder,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .mainMenu-standalone,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .mainMenu,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .bs-deposit-tabs,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .site-nav-tabs,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) .mobile-announcement-bar,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) [class*="announcement"],
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) .hdr-navigation-scrollable,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) .hdr-navigation-scrollable-bc-holder,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) .mainMenu-standalone,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) .mainMenu,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) .bs-deposit-tabs,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) .site-nav-tabs {
  display: none !important;
}

/* ITER 26 — bottom-tab HIDE during drawer (BS measurement: drawer covers viewport,
 * no bottom-tab visible y:546-594 area, only UYGULA at y:546-578). */
html.mobile-root body.mobile-site.drawer-open .bottom-tab,
html.mobile-root body.mobile-site.drawer-open .mobileFooter,
html.mobile-root body.mobile-site.drawer-open .mobFooter,
html.mobile-root body.mobile-site.drawer-open .tab-navigation-w-bc,
html.mobile-root body.mobile-site.provider-sheet-open .bottom-tab,
html.mobile-root body.mobile-site.provider-sheet-open .mobileFooter,
html.mobile-root body.mobile-site.provider-sheet-open .mobFooter,
html.mobile-root body.mobile-site.provider-sheet-open .tab-navigation-w-bc,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .bottom-tab,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) .bottom-tab,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .mobileFooter,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) .mobileFooter,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .mobFooter,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) .mobFooter,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .tab-navigation-w-bc,
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) .tab-navigation-w-bc {
  display: none !important;
}

/* ITER 11 — Agent I's bs-exact CSS line 102-116 has selector
 *   `html.mobile-root body.mobile-site .slot-page-root #providersSidebar.providers-sidebar.mobile-open`
 * which contains an ID (#providersSidebar) -> specificity (1,5,2).
 * ITER 10 selector was (0,5,2) — LOST cascade silently.
 *
 * Fix: add #providersSidebar ID + duplicate it for additional class bumps so all
 * counter-selectors are (1,5+,2) ≥ Agent I's (1,5,2). Order: this file loads after
 * provider-drawer-bs-exact.css so equal specificity also resolves to mine.
 *
 * Note: theme-robinbet-mobile.css and slot.min.js inline rules might also touch
 * #providersSidebar — these typically (0,1,1) — easily overridden.
 *
 * CSS variable: `var(--mr-drawer-top, 49px)` reads inline style first; if absent
 * fallback 49px. Both slot.php + livecasino.php now have inline style attr.
 * --------------------------------------------------------------------- */
html.mobile-root body.mobile-site #providersSidebar.providers-sidebar.providers-sidebar.mobile-open,
html.mobile-root body.mobile-site #providersSidebar.slots-provider-filters.providers-sidebar.mobile-open,
html.mobile-root body.mobile-site .slot-page-root #providersSidebar.providers-sidebar.providers-sidebar.mobile-open,
html.mobile-root body.mobile-site .live-casino-page-root #providersSidebar.providers-sidebar.providers-sidebar.mobile-open {
  position: fixed !important;
  top: 49px !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  /* ITER 691 (2026-05-25) — svh KALDIRILDI → dvh. KÖK SEBEP: svh (small viewport
   * height) adres çubuğu GÖRÜNÜRken sabit; çubuk GİZLENİNCE viewport büyüyor ama
   * svh küçük kalıyor → max-height:svh sheet'i küçük viewport'a kilitliyor → sheet
   * kısa kalıp altında oyun grid'i görünüyordu, UYGULA ekran ortasında (kullanıcı
   * resmi 2026-05-25, BS'de UYGULA en altta sabit). dvh (dynamic viewport height)
   * anlık görünür viewport'u izler → çubuk açık/kapalı HER iki durumda da tam dolar,
   * UYGULA en alta sabitlenir (BS-paralel). Eski ITER 535 svh çubuk-AÇIK 100vh
   * taşmasını çözüyordu ama çubuk-KAPALI durumu bozuyordu; dvh ikisini de çözer. */
  height: calc(100vh - 49px) !important;
  height: calc(100dvh - 49px) !important;
  max-height: calc(100vh - 49px) !important;
  max-height: calc(100dvh - 49px) !important;
  width: 100% !important;
  background: rgba(0, 0, 0, 0.7) !important;
  transform: none !important;
  z-index: 1080 !important;
}

/* ITER 12 — GERİ button typography align with BS-recorded measurement
 * BS: font-size:14, font-weight:600, letter-spacing:0.3px, color:#fff (pure)
 *     padding:0 4px, height:40px, gap:8px (icon-text)
 * BS icon font-size:16, line-height:1, margin-right:4px
 *
 * ITER 8 mistake: weight:500 + alpha-color #fff/.95 + padding:12px 16px (broke 49px header height).
 * Fix: weight:600, color:#fff (no alpha), padding:0 4px (Agent I's measurement),
 *      icon size:16 (not 18). 14px font + 0.3px letter (not 0.4).
 *
 * Specificity: triple-class trick to win over Agent I + .pure id chain
 * Agent I: `.provider-sheet-back#providerSheetBackBtn` = (1,1,0)+type=(1,1,1)
 * Mine: `#providersSidebar .provider-sheet-back.provider-sheet-back.provider-sheet-back` = (1,3,1)
 * --------------------------------------------------------------------- */
/* ITER 32 — GERİ button BS exact h:19 (NOT 40):
 * BS: y:67 h:19 fs:16 fw:400 icon 12x12 at x:16, text starts x:28
 * MR ITER 29 had margin-top:18 but height:19 conflicting with parent — fix
 */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-back.provider-sheet-back.provider-sheet-back,
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-back#providerSheetBackBtn,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-back.provider-sheet-back.provider-sheet-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  height: 19px !important;
  min-height: 19px !important;
  max-height: 19px !important;
  width: auto !important;
  min-width: 0 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 16px !important;
  margin: 0 !important;
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 19px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  text-transform: capitalize !important;
  letter-spacing: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  cursor: pointer !important;
}

html.mobile-root body.mobile-site #providersSidebar .provider-sheet-back i.fas,
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-back i,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-back i {
  font-size: 0 !important;
  line-height: 1 !important;
  color: #ffffff !important;
  margin: 0 !important;
}

/* ITER 29 — GERİ icon BS exact: 12x12px arrow, no extra margin */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-back i::before,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-back i::before {
  content: "\2039" !important;
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  line-height: 12px !important;
  width: 12px !important;
  height: 12px !important;
  display: inline-block !important;
  margin-right: 0 !important;
  vertical-align: middle !important;
}

/* 3-dot view-mode toggle visible */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-grid-btn,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-grid-btn,
body.mobile-site .provider-sheet-grid-btn.provider-sheet-grid-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background: transparent !important;
  border: none !important;
  color: rgba(255, 255, 255, 0.85) !important;
  visibility: visible !important;
  opacity: 1 !important;
  cursor: pointer !important;
  font-size: 18px !important;
}

/* "TÜMÜ" / "Tüm Sağlayıcılar" reset card hide (BS'te yok) — ITER 39 specificity bump
   ITER 237: .bs-reset-row removed from this rule (now used by staging counter row, JS controls display) */
html.mobile-root body.mobile-site #providersSidebar .bs-prov-card.bs-prov-all,
html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list .bs-prov-card.bs-prov-all,
html.mobile-root body.mobile-site .providers-sidebar .bs-prov-card.bs-prov-all,
html.mobile-root body.mobile-site .bs-prov-all,
html.mobile-root body.mobile-site .all-providers-tile,
body.mobile-site .providers-sidebar .reset-row,
body.mobile-site .providers-sidebar .tumu-card {
  display: none !important;
}

/* ITER 40 — bs-logo font-size:0 REVERT (PG SOFT text-only logo gizleniyordu).
 * Text-based logo'lar bsuyordu (SVG only logo'lar OK ama PG SOFT/Onlyplay/etc text). */

/* ITER 28 — Tile default state BS exact (K.20 §11 measurement):
 * BS tile default: bg:transparent, radius:8px, border:0.8px rgba(255,255,255,0.1), padding:0
 * MR tile default vardı: bg:#1a1a1a, radius:4, border:0, padding:8 — fix.
 * (Active state ayrıca: ITER 13 satırları aşağıda — gold border korunur)
 * --------------------------------------------------------------------- */
/* ITER 38 — Tile display block (BS-paralel) + gap 0 + transition all 0s.
 * BS tile: display:block, no gap, no transition. MR vardı flex+gap:6+transition. */
html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list .bs-prov-card,
html.mobile-root body.mobile-site #providersSidebar .bs-providers-grid .bs-prov-card,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list .bs-prov-card {
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none !important;
  user-select: none !important;
  outline: none !important;
  background: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)) !important;
  background-color: transparent !important;
  border: 0.8px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 8px !important;
  box-shadow: rgba(255, 255, 255, 0.4) 0.5px 0.5px 0px 0px inset !important;
  padding: 0 !important;
  display: block !important;
  gap: normal !important;
  transition: all 0s ease !important;
}

html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list .bs-prov-card:active,
html.mobile-root body.mobile-site #providersSidebar .bs-providers-grid .bs-prov-card:active,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list .bs-prov-card:active {
  background: #2a2a2a !important;
  transform: scale(0.96) !important;
}

html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list .bs-prov-card:focus-visible,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list .bs-prov-card:focus-visible {
  outline: 2px solid #c1a04a !important;
  outline-offset: 1px !important;
}

/* ITER 34 — Logo SVG BS exact (K.22 element-level):
 * BS: y:204 x:21 w:78 h:62 (tile w:88 h:72, padding 5,5,5,5)
 * MR vardı: y:222 x:30 w:59 h:27 (çok küçük)
 * Fix: logo SVG w:78px h:62px max-w/h, tile içinde center hizalama
 */
html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list .bs-prov-card .bs-logo,
html.mobile-root body.mobile-site #providersSidebar .bs-providers-grid .bs-prov-card .bs-logo,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list .bs-prov-card .bs-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 86px !important;
  height: 70px !important;
  padding: 4px !important;
  box-sizing: border-box !important;
  color: rgba(255, 255, 255, 0.8) !important;
}

html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list .bs-prov-card .bs-logo svg,
html.mobile-root body.mobile-site #providersSidebar .bs-providers-grid .bs-prov-card .bs-logo svg,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list .bs-prov-card .bs-logo svg {
  color: rgba(255, 255, 255, 0.8) !important;
  fill: currentColor !important;
  width: 78px !important;
  height: 62px !important;
  max-width: 78px !important;
  max-height: 62px !important;
  object-fit: contain !important;
}

html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list .bs-prov-card .bs-logo svg path,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list .bs-prov-card .bs-logo svg path {
  fill: currentColor !important;
}

/* ITER 452 (2026-05-17) — Legacy badge rules (.bs-badge chain) NEUTRALIZED
 * REASON: Conflicted with BS-EXACT .providerBadgeBlock chain in
 *         provider-drawer-bs-top-exact.css. The legacy rules had top:-3px
 *         left:11px (BS=top:0 right:-5px), z-index:2 (BS=10), bg:#e32020
 *         (BS=rgb(227,32,32) — same value but legacy badge-new bg:#6b3eb8
 *         vs BS-EXACT badge-new bg:rgb(127,25,79) which is rgb hex #7f194f).
 *         Markup still has dual classes (.bs-badge + .providerBadgeBlock)
 *         for migration safety; CSS canonical source is BS-EXACT now.
 * Audit ref: bs-extract-providers-drawer-listview-2026-05-17.md sections B.8-B.10.
 * Rule ref: #160 EXACT KLONLA, K.9 self-correction loop.
 */

/* Tile relative position so badge absolute positioning works */
html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list .bs-prov-card,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list .bs-prov-card {
  position: relative !important;
  overflow: visible !important;
}

/* Active state polish: subtle gold accent + darker bg (Agent I had .active rules
 * but selectors lacked #providersSidebar -> overridden by theme defaults). */
/* ITER 237d: BS-paralel selected — white gradient bg, NO border, inner shadow.
 * BS measurement: bg-image linear-gradient(rgba(255,255,255,0.8), rgba(255,255,255,0.5)),
 * border 0px none, box-shadow rgba(255,255,255,0.9) 1px 1px 0px 0px inset.
 * MR uses solid #fff (close enough to gradient endpoints) with same border + shadow. */
html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list .bs-prov-card.active:not(.bs-prov-all),
html.mobile-root body.mobile-site #providersSidebar .bs-providers-grid .bs-prov-card.active:not(.bs-prov-all),
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list .bs-prov-card.active:not(.bs-prov-all) {
  background: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.5)) !important;
  background-color: transparent !important;
  border: 0 none transparent !important;
  border-width: 0 !important;
  box-shadow: rgba(255, 255, 255, 0.9) 1px 1px 0px 0px inset !important;
}

html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list .bs-prov-card.active:not(.bs-prov-all) .bs-logo,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list .bs-prov-card.active:not(.bs-prov-all) .bs-logo {
  color: #000000 !important;
}

html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list .bs-prov-card.active:not(.bs-prov-all) .bs-logo svg,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list .bs-prov-card.active:not(.bs-prov-all) .bs-logo svg {
  color: #000000 !important;
  fill: currentColor !important;
}

/* ITER 452 (2026-05-17) — Legacy UYGULA button rules NEUTRALIZED
 * REASON: Conflicted with BS-EXACT .saveFilterButtonBc .button.whiteBg.big.fullWidth
 *         chain in provider-drawer-bs-top-exact.css. Legacy rule had
 *         line-height:30px (BS=16px), letter-spacing:0.4px (BS=normal),
 *         margin/border defaults different from BS. Double-ID specificity
 *         (#providersSidebar + #providerSheetApplyBtn) of legacy rule
 *         (2,3,2) was beating BS-EXACT (1,6,3) on first column.
 *
 * Legacy footer-padding rule (safe-area-inset-bottom on .provider-sheet-footer)
 * also REMOVED — BS uses simple padding:16px on .saveFilterButtonBc with no
 * iOS notch compensation in this region.
 *
 * Markup still has dual classes (.provider-sheet-apply + button.whiteBg.big.fullWidth)
 * and dual wrappers (.provider-sheet-footer + .saveFilterButtonBc) for migration
 * safety; CSS canonical source is BS-EXACT now.
 * Audit ref: bs-extract-providers-drawer-listview-2026-05-17.md sections B.11-B.13.
 * Rule ref: #160 EXACT KLONLA, K.9 self-correction loop.
 */

html.mobile-root body.mobile-site .providers-sidebar.mobile-open .bs-back-btn,
html.mobile-root body.mobile-site #providersSidebar.mobile-open .bs-back-btn,
html.mobile-root body.mobile-site .providers-sidebar.mobile-open [class*=back-btn],
html.mobile-root body.mobile-site .providers-sidebar.mobile-open [class*=geri-btn] {
  display: flex !important;
  font-size: 14px !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ============================================================
 * ITER 15 — Drawer animation parity (BS slide-in 250ms ease-out)
 * Audit dim K.10 layer 6 (animation/transition).
 *
 * BS behavior: drawer slides in from right edge: translateX(100%) -> translateX(0)
 * over 250ms cubic-bezier(0.32, 0.72, 0, 1) (iOS-style ease).
 *
 * Issue: Agent I bs-exact line 115 sets `transform: none !important` only on
 * `.mobile-open` state, but base #providersSidebar (without .mobile-open)
 * also needs translateX(100%) initial state for slide animation.
 *
 * Strategy:
 * 1. base #providersSidebar (closed): transform:translateX(100%) hidden visually
 *    but kept in DOM for transition source state
 * 2. .mobile-open: transform:translateX(0) visible
 * 3. Both: transition: transform 250ms cubic-bezier(0.32, 0.72, 0, 1)
 * 4. prefers-reduced-motion: disable animation (a11y)
 *
 * Sidebar overlay (Agent I hides it line 461-464). Add re-enable for fade
 * with backdrop-blur(2px) — BS-paralel chrome dim during slide.
 * ============================================================ */

/* ITER 38 — Drawer transition all 0s (BS instant open, no animation).
 * BS measure: transition:all 0s ease, animation:none, transform:identity.
 * MR vardı: transform 250ms cubic-bezier (slide-in). */
html.mobile-root body.mobile-site #providersSidebar.providers-sidebar.providers-sidebar,
html.mobile-root body.mobile-site .providers-sidebar.providers-sidebar.providers-sidebar {
  transition: all 0s ease !important;
  will-change: auto !important;
}

/* Open state — slide in (selector specificity (1,5,2) > Agent I (1,5,2)
 * order-wins because this file loads after) */
html.mobile-root body.mobile-site #providersSidebar.providers-sidebar.providers-sidebar.mobile-open,
html.mobile-root body.mobile-site .providers-sidebar.providers-sidebar.providers-sidebar.mobile-open {
  transform: translateX(0) !important;
  transition: transform 250ms cubic-bezier(0.32, 0.72, 0, 1) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Reduced motion (a11y) — instant snap, no animation */
@media (prefers-reduced-motion: reduce) {
  html.mobile-root body.mobile-site #providersSidebar.providers-sidebar,
  html.mobile-root body.mobile-site .providers-sidebar.providers-sidebar {
    transition: none !important;
  }
}

/* Body scroll lock during drawer-open — prevent rubber-band scroll behind
 * Agent I sets `overflow:hidden` on body but iOS Safari needs `position:fixed`
 * + `top: -<scrollY>` for full lock. K.10 catalog item: overscroll-behavior. */
html.mobile-root body.mobile-site.drawer-open,
html.mobile-root body.mobile-site.provider-sheet-open,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open),
html.mobile-root body.mobile-site:has(.providers-sidebar.mobile-open) {
  overflow: hidden !important;
  overscroll-behavior: contain !important;
  touch-action: none !important;
}

/* Provider sheet itself: enable smooth scroll within drawer (the list area only) */
html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list {
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-behavior: smooth !important;
}

/* Drawer header + tools should NOT scroll — sticky pinned at top */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet > .provider-sheet-header,
html.mobile-root body.mobile-site #providersSidebar .provider-sheet > .provider-sheet-tools,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet > .provider-sheet-header,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet > .provider-sheet-tools {
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
  background: #000 !important;
}

html.mobile-root body.mobile-site #providersSidebar .provider-sheet > .provider-sheet-tools {
  top: 49px !important;
}

/* ============================================================
 * ITER 17 — GERİ duplicate fix + view-toggle visibility
 * Live measurement (2026-04-28 post-ITER-16):
 *   .provider-sheet-back::after content:"Geri" (aria-label fallback)
 *   → görsel "GERİ Geri" duplicate (fa-chevron icon + GERİ text + Geri pseudo)
 *   → screenshot'ta "GERİ GERI" gibi görünüyor (camera artifact, gerçek "Geri")
 *
 * BS reference: tek "GERİ" text (no aria-label content fallback CSS).
 *
 * Fix: pseudo ::after content:none ile kıl.
 * ============================================================ */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-back::after,
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-back::before,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-back::after,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-back::before {
  content: none !important;
  display: none !important;
}

/* ITER 17 — view-toggle (3-dot/grid switch) — Agent J ITER 12'de display:flex
 * verdi ama .provider-sheet-grid-btn y:157 hizada görünmüyor (kayboluyor).
 * BS reference: view-toggle search row'un SAĞ-ALT köşesinde standalone (y:215).
 * Çözüm: positioning + min-width + hizalama netleştir. */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-grid-btn,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-grid-btn,
body.mobile-site .provider-sheet-grid-btn.provider-sheet-grid-btn.provider-sheet-grid-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin-left: 8px !important;
  background: transparent !important;
  border: 0 !important;
  color: #ffffff !important;
  visibility: visible !important;
  opacity: 1 !important;
  cursor: pointer !important;
  font-size: 18px !important;
  position: relative !important;
  z-index: 2 !important;
}

html.mobile-root body.mobile-site #providersSidebar .provider-sheet-grid-btn i,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-grid-btn i {
  font-size: 18px !important;
  color: #ffffff !important;
  line-height: 1 !important;
}

/* Sticky header: provider-sheet-header üstüne yapışıyor ama drawer top:49 ise
 * sticky top:0 doğru (drawer'in iç koordinat sistemi). Tools row sticky top:49
 * yanlıştı (drawer içinde header height:50, tools 50'de başlamalı). Düzelt. */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet > .provider-sheet-tools {
  top: 50px !important;
}

/* ============================================================
 * ITER 18 — provider-sheet-tools layout fix
 * Live measurement (post-ITER-17): parent .provider-sheet-tools h:56,
 *   children: .sidebar-search (full-width) + .provider-sheet-grid-btn
 *   → search takes 100% width, grid-btn wraps to next line (y:157, x:20).
 *
 * BS reference: search + grid side-by-side in single row, search ~85% w,
 *   grid 40px right.
 *
 * Fix:
 *   - .provider-sheet-tools: flex-direction:row, no-wrap, gap:8px, padding:8px 12px
 *   - .sidebar-search: flex:1 1 auto (fills remaining)
 *   - .provider-sheet-grid-btn: flex-shrink:0 (already), width 40px (already)
 * ============================================================ */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-tools,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-tools {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: #000 !important;
}

html.mobile-root body.mobile-site #providersSidebar .provider-sheet-tools .sidebar-search,
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-tools .provider-search-bar,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-tools .sidebar-search,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-tools .provider-search-bar {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
}

/* ============================================================
 * ITER 19 — view-toggle BS-paralel standalone row
 * BS reference: search row (y:99-155) + view-toggle alone in own row (y:160-215, right-aligned).
 * MR ITER 18: inline same row → fix → flex-direction:column, search full w, view-toggle align-self:flex-end.
 * ============================================================ */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-tools,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-tools {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  padding: 12px 16px !important;
}

html.mobile-root body.mobile-site #providersSidebar .provider-sheet-tools .sidebar-search,
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-tools .provider-search-bar,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-tools .sidebar-search,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-tools .provider-search-bar {
  width: 100% !important;
  flex: 0 0 auto !important;
}

/* ITER 32 — Grid btn BS exact h:18 w:20 (NOT 40x40), x:364 (sağa konum) */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-tools .provider-sheet-grid-btn,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-tools .provider-sheet-grid-btn {
  align-self: flex-end !important;
  margin: 0 !important;
  width: 20px !important;
  height: 18px !important;
  min-width: 20px !important;
  min-height: 18px !important;
  max-width: 20px !important;
  max-height: 18px !important;
  padding: 0 !important;
}

/* Tools row total height: 12 (top pad) + 40 (search) + 12 (gap) + 28 (toggle 28+ padding compress) + 12 (bot pad) = ~104 */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet > .provider-sheet-tools {
  top: 50px !important;
}

/* ============================================================
 * ITER 20 — Tools wrapper height + view-toggle final positioning + UYGULA visibility
 *
 * Live measure (post-ITER-19): tools.h:56 (only search included) + grid-btn at y:163 OUTSIDE tools.
 * Bug: flex-direction:column rule didn't make tools contain grid-btn (specificity? sticky? cascade?).
 *
 * Fix:
 *   1. Tools force flex-direction:column with min-height calc + overflow:visible
 *   2. Grid-btn position:relative (in flow) + flex layout from parent
 *   3. UYGULA z-index 100 (ensure above tile grid)
 *   4. Hide SLOT OYNA floating button when drawer-open (BS doesn't have floating during drawer)
 * ============================================================ */
/* ITER 30 — Tools BS exact: searchInputContent (y:106-146 h:40) + providerSearchAndReset (y:146-196 h:50)
 * Total tools section: y:106-196 = 90px. Header above takes y:49-86, gap y:86-106 = 20px.
 * MR tools start y:106 (after header end y:86 + 20px gap). h:90. */
/* ITER 33 — Tools üst padding 20→0: header'ın 20 bot padding'i zaten gap sağlıyor.
 * Search y: BS 106 = tools y 106 + padding-top 0. */
html.mobile-root body.mobile-site #providersSidebar div.provider-sheet-tools.provider-sheet-tools,
html.mobile-root body.mobile-site .providers-sidebar div.provider-sheet-tools.provider-sheet-tools,
html.mobile-root body.mobile-site #providersSidebar .provider-sheet > .provider-sheet-tools.provider-sheet-tools {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 0 16px !important;
  width: 100% !important;
  min-height: 90px !important;
  height: 90px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Search row in tools wrapper */
/* ITER 26 — Search wrapper BS exact: h:40, radius:8 (NOT 24!), bg:black */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-tools > .sidebar-search,
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-tools > .provider-search-bar,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-tools > .sidebar-search {
  flex: 0 0 40px !important;
  width: 100% !important;
  height: 40px !important;
  border-radius: 8px !important;
  align-self: stretch !important;
  order: 1 !important;
  /* ITER 461 — BS swatch (user crop) read = #2b2b2b (rgb 43,43,43).
   * Was rgba(255,255,255,0.11) ~rgb(28,28,28); bumped to direct #2b2b2b. */
  background: #2b2b2b !important;
  /* ITER 458 — BS-exact: alpha 0.08 -> 0.2 to match BS visible outline */
  border: 0.8px solid rgba(255,255,255,0.2) !important;
}

/* ITER 26 — Search input inside wrapper BS exact: radius matches wrapper (8), input transparent */
html.mobile-root body.mobile-site #providersSidebar .sidebar-search input,
html.mobile-root body.mobile-site #providersSidebar .provider-search-bar input,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-search input {
  border-radius: 8px !important;
  height: 38px !important;
  padding: 0 12px !important;
  background: transparent !important;
  border: 0 !important;
  color: #ffffff !important;
  font-size: 14px !important;
}

/* Grid-btn ABSOLUTELY in flow as 2nd row, right-aligned */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-tools > .provider-sheet-grid-btn,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-tools > .provider-sheet-grid-btn {
  flex: 0 0 32px !important;
  width: 32px !important;
  height: 32px !important;
  align-self: flex-end !important;
  order: 2 !important;
  margin: 0 !important;
}

/* ITER 31 — Footer position:fixed REVERT (sticky parent overflow yok MR markup'ında).
 * BS sticky çalışıyor çünkü parent .providerItemsContainer h:398 fixed + child overflow.
 * MR'da scrollable parent olmadığı için sticky çalışmıyor — fixed bottom:0 dön.
 * (Visual sonuç aynı: footer bottom:0 görünür) */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-footer,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-footer {
  z-index: 1090 !important;
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 64px !important;
  background: #000 !important;
  padding: 16px !important;
  border-top: 0 !important;
  box-sizing: border-box !important;
}

/* ITER 452 (2026-05-17) — Residual z-index rule on .provider-sheet-apply REMOVED.
 * BS button has no explicit z-index (defaults to auto); parent .saveFilterButtonBc
 * is z:10 sticky which is sufficient. Setting button z-index:101 was unnecessary
 * and created a stacking context divergence from BS.
 */

/* Provider list bottom padding so last tile row not covered by UYGULA footer */
html.mobile-root body.mobile-site #providersSidebar .sidebar-providers-list,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list {
  padding-bottom: 130px !important;
}

/* ITER 22 — view-toggle icon BS-paralel: fa-th (3x3 grid) → fa-th-list (lines stacked).
 * BS uses list-view glyph (Unicode \f00b = fa-th-list / fa-bars).
 * MR has FA fa-th class (Unicode \f00a = grid). CSS pseudo-content swap:
 *   1. Hide actual <i> glyph (font: 0)
 *   2. ::before pseudo with content "\f00b" + FA font-family
 * Specificity: triple-class trick + #providersSidebar prefix. */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-grid-btn i.fa-th,
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-grid-btn i.fas,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-grid-btn i {
  font-size: 0 !important;
}

html.mobile-root body.mobile-site #providersSidebar .provider-sheet-grid-btn::before,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-grid-btn::before {
  content: "\f00b" !important;
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome !important;
  font-weight: 900 !important;
  font-size: 18px !important;
  color: #ffffff !important;
  display: inline-block !important;
  line-height: 1 !important;
}

/* ITER 32 — Header BS exact: total height 57 (18 top gap + 19 backNav + 20 bottom gap)
 * Back y:67 = drawer y:49 + 18 padding-top. Back h:19. Tools should start at y:106 = 49+57.
 * Header padding 18 0 20 0, height 57. */
html.mobile-root body.mobile-site #providersSidebar .provider-sheet-header,
html.mobile-root body.mobile-site .providers-sidebar .provider-sheet-header {
  padding: 18px 0 20px 0 !important;
  min-height: 57px !important;
  height: 57px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
}

/* Hide SLOT OYNA floating button when drawer open (BS-paralel: no floating during drawer) */
html.mobile-root body.mobile-site.drawer-open .slot-oyna-floating,
html.mobile-root body.mobile-site.provider-sheet-open .slot-oyna-floating,
html.mobile-root body.mobile-site.drawer-open [class*="floating-slot"],
html.mobile-root body.mobile-site.provider-sheet-open [class*="floating-slot"],
html.mobile-root body.mobile-site.drawer-open .bottom-tab .floating-action,
html.mobile-root body.mobile-site.provider-sheet-open .bottom-tab .floating-action,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) .slot-oyna-floating,
html.mobile-root body.mobile-site:has(#providersSidebar.mobile-open) [class*="floating-slot"] {
  display: none !important;
}

/* ITER 463 — Hide 16 logo-less ghost provider rows injected by BUG-20 fallback
 * (`populateProviderSidebarFromDOM` in slot.min.js). Modern Astro SSR renders
 * `.bs-prov-card` tiles directly; legacy `.sidebar-provider-item` text-only
 * buttons (100HP, BETSOFT-A, BIGPOT, HABANERO, HACKSAW, KAGAMING, ONETOUCH,
 * PASCALGA, POPIPLAY, POPOK, PRAGMATIC, SIMPLEPLAY, SPINLOGIC, TADA, YORIGINAL)
 * race with SSR mount and leak through. CSS hide is defense-in-depth; the
 * slot.js no-op stub is also in place. */
html.mobile-root body.mobile-site #sidebarProvidersList > .sidebar-provider-item:not(.bs-prov-card),
html.mobile-root body.mobile-site #sidebarProvidersList > button.sidebar-provider-item,
html.mobile-root body.mobile-site .providers-sidebar .sidebar-providers-list > .sidebar-provider-item:not(.bs-prov-card) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}
