/* =========================================================
   SOSABET ARENA UI v1.0
   Theme Builder > Custom CSS
   ========================================================= */

:root {
  --sosa-canvas: #070b0a;
  --sosa-surface: #101715;
  --sosa-surface-2: #16201d;
  --sosa-surface-3: #1d2925;
  --sosa-emerald: #19d36b;
  --sosa-emerald-dark: #087a43;
  --sosa-lime: #b8f34a;
  --sosa-gold: #f2c14e;
  --sosa-text: #f5f8f6;
  --sosa-muted: #9aa8a1;
  --sosa-danger: #ff5c68;
  --sosa-line: rgba(255, 255, 255, 0.08);
  --sosa-header-h: 64px;
  --sosa-rail-w: 72px;
  --sosa-bottom-h: 72px;
  --sosa-radius-sm: 12px;
  --sosa-radius: 18px;
  --sosa-shadow: 0 22px 60px rgba(0, 0, 0, 0.46);
  --sosa-z-rail: 80;
  --sosa-z-drawer: 100;
  --sosa-z-bottom: 90;
  --sosa-z-chat: 95;
  --sosa-z-loader: 130;
}

html {
  color-scheme: dark;
  background: var(--sosa-canvas);
}

body.app-body {
  background:
    radial-gradient(circle at 18% 0%, rgba(25, 211, 107, 0.08), transparent 34%),
    var(--sosa-canvas) !important;
}

body.sosa-drawer-open {
  overscroll-behavior: none;
}

body.sosa-enhanced header.header-safe-top {
  border-bottom: 1px solid var(--sosa-line) !important;
  background: rgba(7, 11, 10, 0.88) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(18px) saturate(130%);
}

body.sosa-enhanced header.header-safe-top img[alt*="SosaBet" i],
body.sosa-enhanced header.header-safe-top a[href="/"] > img {
  filter: drop-shadow(0 0 14px rgba(25, 211, 107, 0.2));
}

body.sosa-enhanced header.header-safe-top nav.hidden.lg\:flex {
  display: none !important;
}

body.sosa-enhanced main {
  scrollbar-color: var(--sosa-emerald-dark) var(--sosa-canvas);
}

body.sosa-enhanced main img {
  transition: filter 180ms ease, transform 180ms ease;
}

body.sosa-enhanced main a:hover img {
  filter: brightness(1.05) saturate(1.08);
}

body.sosa-enhanced main h2[data-sosa-section-title] {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-block: clamp(18px, 2vw, 28px) 12px;
  color: var(--sosa-text);
  font-size: clamp(17px, 1.25vw, 23px);
  font-weight: 900;
  letter-spacing: -0.025em;
}

body.sosa-enhanced main h2[data-sosa-section-title]::before {
  content: "";
  width: 4px;
  height: 22px;
  border-radius: 99px;
  background: linear-gradient(180deg, var(--sosa-lime), var(--sosa-emerald));
  box-shadow: 0 0 14px rgba(25, 211, 107, 0.28);
}

/* ---------- Hero and content cards ---------- */

[data-sosa-hero] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(270px, 31vw, 480px);
  max-height: min(52vh, 500px);
  border: 1px solid rgba(25, 211, 107, 0.24) !important;
  border-radius: clamp(16px, 1.5vw, 24px) !important;
  background: var(--sosa-surface) !important;
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.33), 0 0 0 1px rgba(255, 255, 255, 0.02) inset;
}

[data-sosa-hero]::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  height: 30%;
  background: linear-gradient(transparent, rgba(4, 8, 6, 0.38));
  pointer-events: none;
}

[data-sosa-hero] img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

[data-sosa-content-card] {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.065);
  border-radius: 16px;
  background: var(--sosa-surface);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2);
  transform: translateZ(0);
  transition: transform 190ms ease, border-color 190ms ease, box-shadow 190ms ease !important;
}

[data-sosa-content-card]:hover,
[data-sosa-content-card]:focus-visible {
  border-color: rgba(25, 211, 107, 0.35);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.3), 0 0 22px rgba(25, 211, 107, 0.08);
  transform: translateY(-4px);
  outline: none;
}

[data-sosa-content-card] img {
  transition: transform 260ms ease, filter 190ms ease !important;
}

[data-sosa-content-card]:hover img { transform: scale(1.035); }

body.sosa-enhanced main button[aria-label="Previous slide"],
body.sosa-enhanced main button[aria-label="Next slide"] {
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 50% !important;
  color: var(--sosa-text) !important;
  background: rgba(7, 11, 10, 0.72) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: blur(12px);
}

body.sosa-enhanced main button[aria-label="Previous slide"]:hover,
body.sosa-enhanced main button[aria-label="Next slide"]:hover {
  border-color: rgba(25, 211, 107, 0.4) !important;
  color: var(--sosa-emerald) !important;
  background: rgba(7, 11, 10, 0.9) !important;
}

body.sosa-enhanced footer {
  border-top: 1px solid rgba(25, 211, 107, 0.18) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(25, 211, 107, 0.08), transparent 38%),
    linear-gradient(180deg, #0d1412, #050706) !important;
}

body.sosa-enhanced footer nav a {
  color: var(--sosa-muted) !important;
  transition: color 160ms ease, transform 160ms ease;
}

body.sosa-enhanced footer nav a:hover {
  color: var(--sosa-emerald) !important;
  transform: translateX(2px);
}

/* ---------- Preloader ---------- */

.sosa-loader {
  position: fixed;
  inset: 0;
  z-index: var(--sosa-z-loader);
  display: grid;
  place-items: center;
  color: var(--sosa-text);
  background:
    radial-gradient(circle at 50% 42%, rgba(25, 211, 107, 0.13), transparent 28%),
    var(--sosa-canvas);
  opacity: 1;
  visibility: visible;
  transition: opacity 280ms ease, visibility 280ms ease;
}

.sosa-loader.is-leaving {
  opacity: 0;
  visibility: hidden;
}

.sosa-loader__content {
  display: grid;
  justify-items: center;
  gap: 12px;
}

.sosa-loader__mark {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(260px, 24vw, 380px);
  height: clamp(132px, 12vw, 180px);
  border: 0;
  border-radius: 0;
  color: var(--sosa-emerald);
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.sosa-loader__mark img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  object-fit: contain;
  object-position: center center;
  filter: drop-shadow(0 0 18px rgba(25, 211, 107, 0.3));
  transform: scale(1.55);
  transform-origin: center center;
}

.sosa-loader__mark::after {
  display: none !important;
  content: none !important;
}

.sosa-loader__text {
  color: var(--sosa-muted);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* ---------- Desktop rail ---------- */

.sosa-rail {
  position: fixed;
  top: var(--sosa-header-h);
  bottom: 0;
  left: 0;
  z-index: var(--sosa-z-rail);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: var(--sosa-rail-w);
  padding: 14px 10px;
  border-right: 1px solid var(--sosa-line);
  background: rgba(9, 14, 12, 0.94);
  box-shadow: 14px 0 42px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(18px);
}

.sosa-rail__spacer { flex: 1; }

.sosa-icon-button,
.sosa-rail__link {
  position: relative;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid transparent;
  border-radius: 15px;
  color: var(--sosa-muted);
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  transition: 170ms ease;
}

.sosa-icon-button:hover,
.sosa-rail__link:hover,
.sosa-rail__link.is-active {
  border-color: rgba(25, 211, 107, 0.2);
  color: var(--sosa-emerald);
  background: rgba(25, 211, 107, 0.1);
  box-shadow: inset 3px 0 var(--sosa-emerald);
}

.sosa-icon-button svg,
.sosa-rail__link svg,
.sosa-bottom-nav svg,
.sosa-drawer svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sosa-tooltip {
  position: absolute;
  top: 50%;
  left: calc(100% + 12px);
  padding: 7px 10px;
  border: 1px solid var(--sosa-line);
  border-radius: 9px;
  color: var(--sosa-text);
  background: #050706;
  box-shadow: var(--sosa-shadow);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transform: translate(4px, -50%);
  transition: 150ms ease;
}

.sosa-rail__link:hover .sosa-tooltip,
.sosa-icon-button:hover .sosa-tooltip {
  opacity: 1;
  transform: translate(0, -50%);
}

/* ---------- Drawer ---------- */

.sosa-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: calc(var(--sosa-z-drawer) - 1);
  background: rgba(0, 0, 0, 0.66);
  opacity: 0;
  visibility: hidden;
  backdrop-filter: blur(4px);
  transition: opacity 220ms ease, visibility 220ms ease;
}

.sosa-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: var(--sosa-z-drawer);
  display: flex;
  flex-direction: column;
  width: min(340px, calc(100vw - 24px));
  border-right: 1px solid rgba(25, 211, 107, 0.18);
  color: var(--sosa-text);
  background:
    radial-gradient(circle at 0 0, rgba(25, 211, 107, 0.11), transparent 30%),
    var(--sosa-surface);
  box-shadow: var(--sosa-shadow);
  visibility: hidden;
  transform: translateX(-102%);
  transition: transform 240ms cubic-bezier(.2, .8, .2, 1), visibility 240ms ease;
}

.sosa-drawer.is-open,
.sosa-drawer-backdrop.is-open {
  visibility: visible;
}

.sosa-drawer.is-open { transform: translateX(0); }
.sosa-drawer-backdrop.is-open { opacity: 1; }

.sosa-drawer__head {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--sosa-line);
}

.sosa-drawer__brand {
  flex: 1;
  display: flex;
  align-items: center;
  min-width: 0;
}

.sosa-drawer__brand img {
  display: block;
  width: 146px;
  height: 42px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 0 12px rgba(25, 211, 107, 0.18));
}

/* Game launch pages: maximize the playable area. */
body.sosa-game-route header.header-safe-top,
body.sosa-game-route [data-sosa-mobile-nav] {
  display: none !important;
}

body.sosa-game-route {
  padding-bottom: 0 !important;
}

body.sosa-game-route .sosa-game-tools {
  display: flex;
}

.sosa-game-tools {
  position: fixed;
  top: max(12px, env(safe-area-inset-top));
  left: max(12px, env(safe-area-inset-left));
  z-index: 120;
  display: none;
  align-items: center;
  gap: 7px;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: rgba(5, 9, 7, 0.78);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.36);
  backdrop-filter: blur(14px);
}

.sosa-game-tools button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 40px;
  height: 38px;
  padding: 0 11px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #dce5e0;
  background: rgba(255, 255, 255, 0.045);
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}

.sosa-game-tools button:hover {
  border-color: rgba(25, 211, 107, 0.24);
  color: var(--sosa-emerald);
  background: rgba(25, 211, 107, 0.08);
}

.sosa-game-tools svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sosa-drawer__age {
  padding: 4px 7px;
  border: 1px solid rgba(242, 193, 78, 0.28);
  border-radius: 999px;
  color: var(--sosa-gold);
  font-size: 9px;
  font-weight: 900;
}

.sosa-drawer__scroll {
  flex: 1;
  overflow-y: auto;
  padding: 14px;
  scrollbar-width: thin;
  scrollbar-color: var(--sosa-emerald-dark) transparent;
}

.sosa-drawer__search {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px;
  padding: 11px 13px;
  border: 1px solid var(--sosa-line);
  border-radius: 13px;
  color: var(--sosa-muted);
  background: rgba(255, 255, 255, 0.035);
}

.sosa-drawer__search input {
  width: 100%;
  border: 0;
  outline: 0;
  color: var(--sosa-text);
  background: transparent;
  font-size: 16px;
}

.sosa-drawer__group { margin: 0 0 18px; }

.sosa-drawer__title {
  margin: 0 10px 7px;
  color: #718078;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.sosa-drawer__link {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  margin: 3px 0;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: #cad3ce;
  text-decoration: none;
  transition: 160ms ease;
}

.sosa-drawer__link:hover,
.sosa-drawer__link.is-active {
  border-color: rgba(25, 211, 107, 0.18);
  color: var(--sosa-text);
  background: rgba(25, 211, 107, 0.09);
}

.sosa-drawer__link.is-active svg { color: var(--sosa-emerald); }

.sosa-drawer__link span:nth-child(2) {
  flex: 1;
  font-size: 14px;
  font-weight: 750;
}

.sosa-drawer__badge {
  padding: 3px 6px;
  border-radius: 999px;
  color: #06130c;
  background: var(--sosa-lime);
  font-size: 8px;
  font-weight: 950;
  text-transform: uppercase;
}

.sosa-drawer__quick {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  padding: 13px;
  border-top: 1px solid var(--sosa-line);
}

.sosa-drawer__quick a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 12px;
  color: #06130c;
  background: linear-gradient(135deg, var(--sosa-emerald), #0da657);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.sosa-drawer__quick a:last-child {
  border: 1px solid rgba(242, 193, 78, 0.25);
  color: var(--sosa-gold);
  background: rgba(242, 193, 78, 0.08);
}

/* ---------- Header desktop hub ---------- */

.sosa-header-hub {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 100%;
}

.sosa-header-hub__menu,
.sosa-header-hub__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid var(--sosa-line);
  border-radius: 12px;
  color: #cbd5d0;
  background: rgba(255, 255, 255, 0.035);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.035em;
  text-decoration: none;
  cursor: pointer;
  transition: 160ms ease;
}

.sosa-header-hub__menu {
  border-color: rgba(25, 211, 107, 0.24);
  color: var(--sosa-text);
  background: rgba(25, 211, 107, 0.1);
}

.sosa-header-hub__menu:hover,
.sosa-header-hub__link:hover {
  border-color: rgba(25, 211, 107, 0.38);
  color: var(--sosa-emerald);
  background: rgba(25, 211, 107, 0.12);
  transform: translateY(-1px);
}

.sosa-header-hub svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sosa-header-hub__live::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sosa-emerald);
  box-shadow: 0 0 10px rgba(25, 211, 107, 0.8);
  animation: sosa-live-pulse 1.8s ease-in-out infinite;
}

@keyframes sosa-live-pulse {
  50% { opacity: 0.45; transform: scale(0.78); }
}

/* ---------- Native header authentication actions ---------- */

/* First-paint fallback: styles the native two-button auth group before the
   JavaScript data hooks are attached, preventing the old colors from flashing. */
header.header-safe-top .flex.items-center.gap-2:has(> button:nth-child(2):last-child) > button {
  min-width: 104px;
  width: auto !important;
  height: 38px !important;
  padding-inline: 17px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  transition: none !important;
}

header.header-safe-top .flex.items-center.gap-2:has(> button:nth-child(2):last-child) > button:first-child {
  border: 1px solid rgba(255, 255, 255, .13) !important;
  border-radius: 11px !important;
  color: #dce5e0 !important;
  background: rgba(255, 255, 255, .045) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .035) !important;
}

header.header-safe-top .flex.items-center.gap-2:has(> button:nth-child(2):last-child) > button:last-child {
  border: 1px solid rgba(25, 211, 107, .4) !important;
  border-radius: 11px !important;
  color: #06130c !important;
  background: linear-gradient(135deg, var(--sosa-lime), var(--sosa-emerald) 65%, #0da657) !important;
  box-shadow: 0 8px 20px rgba(25, 211, 107, .2) !important;
}

header.header-safe-top [data-sosa-login-button],
header.header-safe-top [data-sosa-register-button] {
  min-width: 104px;
  height: 38px !important;
  padding-inline: 17px !important;
  border-radius: 11px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease, transform 160ms ease, box-shadow 160ms ease !important;
}

header.header-safe-top [data-sosa-login-button] {
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  color: #dce5e0 !important;
  background: rgba(255, 255, 255, 0.045) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.035);
}

header.header-safe-top [data-sosa-login-button]:hover {
  border-color: rgba(25, 211, 107, 0.28) !important;
  color: var(--sosa-emerald) !important;
  background: rgba(25, 211, 107, 0.075) !important;
  transform: translateY(-1px);
}

header.header-safe-top [data-sosa-register-button] {
  border: 1px solid rgba(25, 211, 107, 0.4) !important;
  color: #06130c !important;
  background: linear-gradient(135deg, var(--sosa-lime), var(--sosa-emerald) 65%, #0da657) !important;
  box-shadow: 0 8px 20px rgba(25, 211, 107, 0.2) !important;
}

header.header-safe-top [data-sosa-register-button]:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(25, 211, 107, 0.27) !important;
}

/* ---------- Drawer discovery panels ---------- */

.sosa-drawer__spotlight {
  position: relative;
  overflow: hidden;
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid rgba(25, 211, 107, 0.2);
  border-radius: 17px;
  background:
    linear-gradient(120deg, rgba(25, 211, 107, 0.17), rgba(184, 243, 74, 0.035)),
    var(--sosa-surface-2);
  visibility: visible !important;
  opacity: 1 !important;
}

.sosa-drawer__spotlight::after {
  content: "S";
  position: absolute;
  right: -10px;
  bottom: -32px;
  color: rgba(25, 211, 107, 0.07);
  font-size: 120px;
  font-weight: 950;
  line-height: 1;
}

.sosa-drawer__spotlight small,
.sosa-drawer__spotlight strong,
.sosa-drawer__spotlight p { position: relative; z-index: 1; display: block; }

.sosa-drawer__spotlight small {
  margin-bottom: 5px;
  color: var(--sosa-lime);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.14em;
}

.sosa-drawer__spotlight strong { font-size: 17px; }

.sosa-drawer__spotlight p {
  margin: 5px 0 0;
  max-width: 250px;
  color: var(--sosa-muted);
  font-size: 11px;
  line-height: 1.45;
}

.sosa-drawer__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-bottom: 17px;
}

.sosa-drawer__stat {
  padding: 10px 8px;
  border: 1px solid var(--sosa-line);
  border-radius: 12px;
  text-align: center;
  background: rgba(255, 255, 255, 0.025);
}

.sosa-drawer__stat b,
.sosa-drawer__stat span { display: block; }

.sosa-drawer__stat b { color: var(--sosa-text); font-size: 11px; }
.sosa-drawer__stat span { margin-top: 2px; color: #718078; font-size: 8px; font-weight: 800; }

/* ---------- Native quick action bar ---------- */

@media (min-width: 1024px) {
  body.sosa-enhanced .w-full:has(button[aria-label="Para Yatırma"]):has(button[aria-label="Bonus Talep"]) {
    border-bottom-color: rgba(25, 211, 107, 0.1) !important;
    background: linear-gradient(90deg, rgba(7, 11, 10, 0.72), rgba(16, 23, 21, 0.9)) !important;
    backdrop-filter: blur(14px);
  }

  body.sosa-enhanced .max-w-\[1600px\]:has(button[aria-label="Para Yatırma"]):has(button[aria-label="Bonus Talep"]) {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 54px;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    padding-left: calc(var(--sosa-rail-w) + 24px) !important;
  }

  body.sosa-enhanced .max-w-\[1600px\]:has(button[aria-label="Para Yatırma"]):has(button[aria-label="Bonus Talep"])::before {
    content: "HIZLI İŞLEMLER";
    color: var(--sosa-text);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.13em;
  }

  body.sosa-enhanced .max-w-\[1600px\]:has(button[aria-label="Para Yatırma"]):has(button[aria-label="Bonus Talep"])::after {
    content: "7/24 güvenli para işlemleri";
    flex: 1;
    color: #718078;
    font-size: 10px;
    font-weight: 700;
  }
}

body.sosa-enhanced .grid.grid-cols-2:has(> button[aria-label="Para Yatırma"]):has(> button[aria-label="Bonus Talep"]) {
  width: min(100%, 430px);
  margin-left: auto;
  gap: 8px !important;
}

body.sosa-enhanced button[aria-label="Para Yatırma"],
body.sosa-enhanced button[aria-label="Bonus Talep"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 42px !important;
  height: 42px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  font-size: 11px !important;
  letter-spacing: 0.045em !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18) !important;
  transition: transform 170ms ease, filter 170ms ease, box-shadow 170ms ease !important;
}

body.sosa-enhanced button[aria-label="Para Yatırma"] {
  border-color: rgba(25, 211, 107, 0.34) !important;
  color: #f7fff9 !important;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.13), transparent 38%),
    linear-gradient(135deg, #19d36b, #07934c 72%, #065c34) !important;
  box-shadow: 0 12px 30px rgba(25, 211, 107, 0.2) !important;
}

body.sosa-enhanced button[aria-label="Bonus Talep"] {
  border-color: rgba(242, 193, 78, 0.34) !important;
  color: #211704 !important;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.3), transparent 38%),
    linear-gradient(135deg, #ffe08a, #f2c14e 60%, #c88c1c) !important;
  box-shadow: 0 12px 30px rgba(242, 193, 78, 0.17) !important;
}

body.sosa-enhanced button[aria-label="Para Yatırma"]::after,
body.sosa-enhanced button[aria-label="Bonus Talep"]::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -70%;
  left: -20%;
  width: 28%;
  height: 240%;
  background: rgba(255, 255, 255, 0.22);
  transform: rotate(24deg) translateX(-220%);
  transition: transform 500ms ease;
}

body.sosa-enhanced button[aria-label="Para Yatırma"]:hover::after,
body.sosa-enhanced button[aria-label="Bonus Talep"]:hover::after {
  transform: rotate(24deg) translateX(560%);
}

body.sosa-enhanced button[aria-label="Para Yatırma"] > span:first-child,
body.sosa-enhanced button[aria-label="Bonus Talep"] > span:first-child {
  width: 28px !important;
  height: 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.16) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.22);
}

/* ---------- Login / register panel ---------- */

[data-sosa-auth-panel] {
  isolation: isolate;
  border: 1px solid rgba(25, 211, 107, 0.2);
  border-radius: 24px !important;
  color: var(--sosa-text);
  background:
    radial-gradient(circle at 12% 16%, rgba(25, 211, 107, 0.16), transparent 33%),
    radial-gradient(circle at 88% 84%, rgba(242, 193, 78, 0.08), transparent 30%),
    #080d0b !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.58), 0 0 0 1px rgba(255, 255, 255, 0.025) inset;
}

[data-sosa-auth-panel] > .absolute.inset-0 {
  background: transparent !important;
}

[data-sosa-auth-panel] > .absolute.inset-0.opacity-80 {
  opacity: 1 !important;
  background:
    linear-gradient(125deg, rgba(25, 211, 107, 0.1), transparent 42%),
    radial-gradient(circle at 76% 82%, rgba(184, 243, 74, 0.045), transparent 36%) !important;
}

[data-sosa-auth-panel] > .absolute.rounded-full {
  background: var(--sosa-emerald) !important;
  opacity: 0.15 !important;
}

[data-sosa-auth-panel] > .absolute.-bottom-20 {
  background: var(--sosa-gold) !important;
  opacity: 0.1 !important;
}

[data-sosa-auth-panel] > .relative.hidden.md\:flex {
  border-color: rgba(25, 211, 107, 0.12) !important;
  background:
    linear-gradient(155deg, rgba(25, 211, 107, 0.065), transparent 60%),
    rgba(255, 255, 255, 0.012);
}

[data-sosa-auth-panel] h2 span {
  color: var(--sosa-emerald) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: 0 0 26px rgba(25, 211, 107, 0.16);
}

[data-sosa-auth-panel] > .relative.flex.flex-col {
  border-color: rgba(255, 255, 255, 0.065) !important;
  background: rgba(9, 15, 12, 0.82) !important;
  scrollbar-color: var(--sosa-emerald-dark) transparent;
}

[data-sosa-auth-panel] form input:not([type="checkbox"]) {
  height: 48px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 12px !important;
  color: var(--sosa-text) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
}

[data-sosa-auth-panel] form input:not([type="checkbox"]):hover {
  border-color: rgba(25, 211, 107, 0.22) !important;
}

[data-sosa-auth-panel] form input:not([type="checkbox"]):focus {
  border-color: var(--sosa-emerald) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(25, 211, 107, 0.12) !important;
}

[data-sosa-auth-panel] form input::placeholder { color: #748179 !important; }

[data-sosa-auth-panel] input[type="checkbox"] {
  accent-color: var(--sosa-emerald);
}

[data-sosa-auth-panel] form button[type="submit"] {
  border: 1px solid rgba(25, 211, 107, 0.34) !important;
  border-radius: 12px !important;
  color: #06130c !important;
  background: linear-gradient(135deg, var(--sosa-lime), var(--sosa-emerald) 60%, #0da657) !important;
  box-shadow: 0 14px 30px rgba(25, 211, 107, 0.18) !important;
}

[data-sosa-auth-panel] form button[type="submit"]:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

[data-sosa-auth-panel] .flex.p-1.rounded-xl {
  padding: 4px !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

[data-sosa-auth-panel] .flex.p-1.rounded-xl > button {
  border-radius: 10px !important;
}

[data-sosa-auth-panel] .flex.p-1.rounded-xl > button[style*="background"] {
  color: #06130c !important;
  background: linear-gradient(135deg, var(--sosa-lime), var(--sosa-emerald)) !important;
  box-shadow: 0 7px 18px rgba(25, 211, 107, 0.16) !important;
}

[data-sosa-auth-panel] .bg-white\/5.backdrop-blur-md {
  border-color: rgba(242, 193, 78, 0.16) !important;
  background: rgba(242, 193, 78, 0.055) !important;
}

[data-sosa-auth-panel] .lucide-sparkles { color: var(--sosa-gold) !important; }

[data-sosa-auth-panel] button:has(.lucide-x) {
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: var(--sosa-muted) !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

[data-sosa-auth-panel] button:has(.lucide-x):hover {
  border-color: rgba(255, 92, 104, 0.3) !important;
  color: var(--sosa-danger) !important;
  background: rgba(255, 92, 104, 0.08) !important;
}

body.sosa-enhanced button[aria-label="Bonus Talep"] > span:first-child {
  background: rgba(45, 31, 4, 0.12) !important;
}

/* ---------- Mobile bottom navigation ---------- */

.sosa-bottom-nav {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--sosa-z-bottom);
  display: none;
  align-items: center;
  height: calc(var(--sosa-bottom-h) + env(safe-area-inset-bottom));
  padding: 0 8px env(safe-area-inset-bottom);
  border-top: 1px solid rgba(25, 211, 107, 0.2);
  background: rgba(8, 13, 11, 0.95);
  box-shadow: 0 -16px 44px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(18px) saturate(140%);
}

.sosa-bottom-nav__link {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  height: 100%;
  border: 0;
  color: var(--sosa-muted);
  background: transparent;
  font: inherit;
  text-decoration: none;
}

.sosa-bottom-nav__link span {
  font-size: 10px;
  font-weight: 800;
}

.sosa-bottom-nav__link.is-active { color: var(--sosa-emerald); }

.sosa-bottom-nav__menu {
  flex: 0 0 68px;
  transform: translateY(-17px);
}

.sosa-bottom-nav__menu em {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 5px solid #080d0b;
  border-radius: 50%;
  color: #06130c;
  background: linear-gradient(145deg, var(--sosa-lime), var(--sosa-emerald));
  box-shadow: 0 8px 30px rgba(25, 211, 107, 0.36);
  font-style: normal;
}

/* ---------- Existing widgets ---------- */

body.sosa-enhanced .fixed.bottom-20.md\:bottom-6.right-4.md\:right-6.z-50 {
  z-index: var(--sosa-z-chat) !important;
}

[data-sosa-support-launcher] {
  position: relative !important;
  width: 68px !important;
  height: 68px !important;
  min-width: 68px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 1px solid rgba(112, 255, 142, .55) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(25, 211, 107, .26), rgba(4, 13, 8, .94) 68%) !important;
  box-shadow: 0 0 0 5px rgba(25, 211, 107, .08), 0 0 24px rgba(25, 211, 107, .58), 0 12px 32px rgba(0, 0, 0, .48) !important;
  isolation: isolate;
  animation: sosa-support-pulse 2.4s ease-in-out infinite;
}

[data-sosa-support-launcher]::before {
  content: "";
  position: absolute;
  inset: -7px;
  z-index: -1;
  border: 1px solid rgba(77, 245, 114, .3);
  border-radius: inherit;
  animation: sosa-support-ring 2.4s ease-out infinite;
}

[data-sosa-support-launcher]::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 10px;
  width: 21px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.68), transparent);
  filter: blur(1px);
  transform: rotate(22deg);
  opacity: .55;
  pointer-events: none;
  animation: sosa-support-shine 2.8s ease-in-out infinite;
}

.sosa-support-launcher__visual {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: inherit;
}

.sosa-support-launcher__visual img {
  width: 88% !important;
  height: 88% !important;
  display: block;
  object-fit: contain !important;
  filter: drop-shadow(0 0 8px rgba(112, 255, 142, .48));
}

[data-sosa-support-launcher]:hover {
  transform: translateY(-3px) scale(1.06);
  box-shadow: 0 0 0 6px rgba(25, 211, 107, .1), 0 0 34px rgba(25, 211, 107, .78), 0 15px 36px rgba(0,0,0,.5) !important;
}

@keyframes sosa-support-pulse {
  50% { box-shadow: 0 0 0 7px rgba(25,211,107,.1), 0 0 34px rgba(25,211,107,.75), 0 12px 32px rgba(0,0,0,.48); }
}

@keyframes sosa-support-ring {
  0% { opacity: .8; transform: scale(.88); }
  75%, 100% { opacity: 0; transform: scale(1.22); }
}

@keyframes sosa-support-shine {
  0%, 45% { opacity: 0; transform: translateX(-18px) rotate(22deg); }
  60% { opacity: .62; }
  78%, 100% { opacity: 0; transform: translateX(45px) rotate(22deg); }
}

@media (max-width: 767px) {
  [data-sosa-support-launcher] {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-sosa-support-launcher],
  [data-sosa-support-launcher]::before,
  [data-sosa-support-launcher]::after { animation: none !important; }
}

body.sosa-enhanced button[title="Bahis Öner"] {
  display: none !important;
}

body.sosa-enhanced .fixed.bottom-0.md\:bottom-6.right-0.md\:right-6.z-50 {
  overflow: hidden;
  border: 1px solid rgba(25, 211, 107, 0.2) !important;
  border-radius: 22px !important;
  color: var(--sosa-text) !important;
  background: var(--sosa-surface) !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.5) !important;
}

body.sosa-enhanced .fixed.bottom-0.md\:bottom-6.right-0.md\:right-6.z-50 > div:first-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
  background: linear-gradient(135deg, #0f2119, #087a43) !important;
}

body.sosa-enhanced .fixed.bottom-0.md\:bottom-6 .flex-1.p-6.flex.flex-col.justify-center.bg-white {
  color: var(--sosa-text) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(25, 211, 107, 0.08), transparent 35%),
    #090e0c !important;
}

/* Hide legacy injected navigation to avoid duplicates. */
body.sosa-enhanced > .mobile-bottom-nav,
body.sosa-enhanced > .mobile-sidebar-overlay {
  display: none !important;
}

@media (min-width: 1024px) {
  body.sosa-enhanced main {
    margin-left: var(--sosa-rail-w);
    margin-right: 0;
    width: min(calc(100% - var(--sosa-rail-w)), 1600px);
    max-width: 1600px !important;
  }

  body.sosa-enhanced footer {
    margin-left: var(--sosa-rail-w);
    width: calc(100% - var(--sosa-rail-w));
  }

  body.sosa-enhanced header.header-safe-top {
    padding-left: var(--sosa-rail-w);
  }

  .sosa-drawer { width: 404px; }

  .sosa-drawer__scroll {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-content: start;
    column-gap: 10px;
  }

  .sosa-drawer__search,
  .sosa-drawer__spotlight,
  .sosa-drawer__stats {
    grid-column: 1 / -1;
  }

  .sosa-drawer__spotlight {
    display: block !important;
    min-height: 106px;
  }

  .sosa-drawer__group { margin-bottom: 10px; }

  .sosa-drawer__group:last-child { grid-column: 1 / -1; }
}

@media (min-width: 1740px) {
  body.sosa-enhanced main {
    margin-left: calc(var(--sosa-rail-w) + (100vw - var(--sosa-rail-w) - 1600px) / 2);
  }
}

@media (min-width: 1024px) and (max-width: 1260px) {
  .sosa-header-hub__link {
    padding-inline: 9px;
    font-size: 10px;
  }

  header.header-safe-top [data-sosa-login-button],
  header.header-safe-top [data-sosa-register-button],
  header.header-safe-top .flex.items-center.gap-2:has(> button:nth-child(2):last-child) > button {
    min-width: 86px;
    padding-inline: 11px !important;
  }
}

@media (min-width: 2200px) {
  :root { --sosa-header-h: 72px; }

  body.sosa-enhanced main {
    padding-inline: 28px !important;
  }

  [data-sosa-content-card] { border-radius: 18px; }
}

@media (max-width: 1023px) {
  body.sosa-enhanced {
    padding-bottom: calc(var(--sosa-bottom-h) + env(safe-area-inset-bottom)) !important;
  }

  body.sosa-enhanced.sosa-game-route {
    padding-bottom: 0 !important;
  }

  [data-sosa-hero] {
    min-height: clamp(190px, 48vw, 310px);
    max-height: 42vh;
    border-radius: 16px !important;
  }

  [data-sosa-content-card] { border-radius: 14px; }

  [data-sosa-content-card]:hover { transform: none; }

  .sosa-game-tools button span { display: none; }

  .sosa-rail { display: none; }
  .sosa-bottom-nav { display: flex; }
  .sosa-header-hub { display: none; }

  .sosa-drawer__brand {
    display: flex !important;
    flex: 1 1 auto;
    min-width: 112px;
    min-height: 40px;
  }

  .sosa-drawer__brand img {
    display: block !important;
    width: 132px !important;
    height: 38px !important;
    max-width: 100%;
    opacity: 1 !important;
    visibility: visible !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.sosa-enhanced header.header-safe-top button.lg\:hidden,
  body.sosa-enhanced header.header-safe-top button[class*="lg:hidden"] {
    display: none !important;
  }

  .sosa-drawer {
    top: auto;
    right: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom));
    left: 8px;
    width: auto;
    height: min(85dvh, calc(var(--app-vh, 100dvh) - 16px));
    max-height: calc(100dvh - 16px);
    border: 1px solid rgba(25, 211, 107, 0.18);
    border-radius: 24px;
    visibility: hidden;
    transform: translateY(calc(100% + 16px));
  }

  .sosa-drawer::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    width: 38px;
    height: 4px;
    border-radius: 99px;
    background: rgba(255, 255, 255, 0.18);
    transform: translateX(-50%);
  }

  .sosa-drawer.is-open { transform: translateY(0); }

  .sosa-drawer:focus-within {
    height: min(85dvh, calc(var(--app-vh, 100dvh) - 16px));
    max-height: calc(100dvh - 16px);
    transform: translateY(0);
  }

  .sosa-drawer__search input {
    font-size: 16px !important;
    touch-action: manipulation;
  }

  body.sosa-enhanced .fixed.bottom-20.md\:bottom-6.right-4.md\:right-6.z-50 {
    bottom: calc(var(--sosa-bottom-h) + 14px + env(safe-area-inset-bottom)) !important;
  }

  body.sosa-enhanced button[title="Bahis Öner"] {
    display: none !important;
  }

  body.sosa-enhanced button[aria-label="Para Yatırma"],
  body.sosa-enhanced button[aria-label="Bonus Talep"] {
    min-height: 48px !important;
    height: 48px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    letter-spacing: 0.02em !important;
  }

  .sosa-loader__mark {
    width: clamp(230px, 72vw, 310px);
    height: 132px;
  }

  .sosa-loader__mark img {
    width: 100%;
    height: 100%;
    transform: scale(1.48);
  }

  body.sosa-enhanced button[aria-label="Para Yatırma"] > span:first-child,
  body.sosa-enhanced button[aria-label="Bonus Talep"] > span:first-child {
    width: 30px !important;
    height: 30px !important;
  }

  [data-sosa-auth-panel] {
    min-height: 0 !important;
    border-radius: 20px !important;
  }

  [data-sosa-auth-panel] > .relative.flex.flex-col {
    max-height: min(90dvh, calc(var(--app-vh, 100dvh) - var(--app-kbh, 0px) - 20px)) !important;
  }
}

@media (max-width: 420px) {
  .sosa-drawer__head { padding-inline: 14px; }
  .sosa-drawer__scroll { padding-inline: 10px; }
  .sosa-bottom-nav__link span { font-size: 9px; }

  body.sosa-enhanced button[aria-label="Para Yatırma"],
  body.sosa-enhanced button[aria-label="Bonus Talep"] {
    gap: 5px !important;
    padding-inline: 7px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 360px) {
  :root { --sosa-bottom-h: 66px; }

  .sosa-bottom-nav__menu { flex-basis: 58px; }
  .sosa-bottom-nav__menu em { width: 50px; height: 50px; }
  .sosa-drawer__age { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sosa-header-hub__live::before { animation: none; }
  .sosa-loader,
  .sosa-drawer,
  .sosa-drawer-backdrop,
  .sosa-icon-button,
  .sosa-rail__link,
  .sosa-drawer__link { transition: none !important; }
  [data-sosa-content-card],
  [data-sosa-content-card] img { transition: none !important; }
}

/* =========================================================
   v1.4 cleanup: native banner ratio, quiet loader, game mode
   ========================================================= */

.sosa-loader__mark {
  width: clamp(190px, 17vw, 260px);
  height: clamp(190px, 17vw, 260px);
  overflow: hidden;
  border: 1px solid rgba(25, 211, 107, 0.18);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(25, 211, 107, 0.1), rgba(16, 23, 21, 0.76) 68%, rgba(7, 11, 10, 0.92));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42), 0 0 42px rgba(25, 211, 107, 0.08);
}

.sosa-loader__mark img {
  width: 78%;
  height: 78%;
  margin: auto;
  object-fit: contain;
  object-position: center;
  transform: none;
  transform-origin: center;
}

.sosa-loader__mark::after {
  display: none !important;
  content: none !important;
  animation: none !important;
}

[data-sosa-hero] {
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
}

[data-sosa-hero]::after {
  display: none !important;
  content: none !important;
}

[data-sosa-hero] img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

body.sosa-enhanced main button[aria-label="Previous slide"],
body.sosa-enhanced main button[aria-label="Next slide"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 8 !important;
}

.sosa-game-tools { display: none !important; }

body.sosa-game-route .fixed.bottom-20.md\:bottom-6.right-4.md\:right-6.z-50,
body.sosa-game-route .fixed.bottom-0.md\:bottom-6.right-0.md\:right-6.z-50,
body.sosa-game-route div[style*="z-index: 2147483642"] {
  display: none !important;
}

@media (max-width: 1023px) {
  .sosa-loader__mark {
    width: clamp(172px, 52vw, 220px);
    height: clamp(172px, 52vw, 220px);
  }

  .sosa-loader__mark img {
    width: 76%;
    height: 76%;
    margin: auto;
    transform: none;
  }
}
/* =========================================================
   Featured 9-game showcase
   Mobile: 3 x 3 / Desktop: 9 columns
   ========================================================= */

section:has(> .row-auto > div[class*="gcol-"]) {
  width: 100%;
  margin-block: clamp(24px, 4vw, 48px) !important;
}

section > .row-auto:has(> div[class*="gcol-"]) {
  display: grid !important;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: clamp(7px, 0.8vw, 12px);
  margin-inline: 0 !important;
}

section > .row-auto:has(> div[class*="gcol-"]) > div[class*="gcol-"] {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

section > .row-auto:has(> div[class*="gcol-"]) > div[class*="gcol-"] > div,
section > .row-auto:has(> div[class*="gcol-"]) a[data-sosa-content-card],
section > .row-auto:has(> div[class*="gcol-"]) a[data-sosa-content-card] > div {
  display: block;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
}

section > .row-auto:has(> div[class*="gcol-"]) a[data-sosa-content-card] {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: clamp(10px, 0.9vw, 15px);
  background: radial-gradient(circle at 50% 38%, rgba(25, 211, 107, 0.07), transparent 62%), #0a100d;
}

section > .row-auto:has(> div[class*="gcol-"]) a[data-sosa-content-card] > div {
  height: 100% !important;
  border-radius: inherit !important;
}

section > .row-auto:has(> div[class*="gcol-"]) a[data-sosa-content-card] img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  padding: 0;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent;
}

@media (max-width: 767px) {
  section:has(> .row-auto > div[class*="gcol-"]) {
    padding-inline: 10px !important;
  }

  section > .row-auto:has(> div[class*="gcol-"]) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  section > .row-auto:has(> div[class*="gcol-"]) a[data-sosa-content-card] {
    aspect-ratio: 3 / 4;
    border-radius: 11px;
  }
}
/* =========================================================
   Native image navigation rows — no artificial frames
   ========================================================= */

.flex.flex-wrap:has(> a[class*="16.666"]) {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 16px) !important;
  width: 100%;
}

.flex.flex-wrap:has(> a[class*="16.666"]) > a {
  display: block;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  overflow: hidden;
  border: 0 !important;
  border-radius: 12px;
  background: transparent !important;
  box-shadow: none !important;
  transform: none;
}

.flex.flex-wrap:has(> a[class*="16.666"]) > a > img,
.flex.flex-wrap:has(> a[class*="50%-"]) > a > img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
  object-fit: contain !important;
  object-position: center !important;
  transform-origin: center;
}

.flex.flex-wrap:has(> a[class*="16.666"]) > a > .absolute.inset-0,
.flex.flex-wrap:has(> a[class*="50%-"]) > a > .absolute.inset-0 {
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  pointer-events: none;
}

.flex.flex-wrap:has(> a[class*="16.666"]) > a:hover {
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.flex.flex-wrap:has(> a[class*="50%-"]) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 1.2vw, 18px) !important;
  width: 100%;
}

.flex.flex-wrap:has(> a[class*="50%-"]) > a {
  display: block;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  overflow: hidden;
  border: 0 !important;
  border-radius: 14px;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .flex.flex-wrap:has(> a[class*="16.666"]) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
  }

  .flex.flex-wrap:has(> a[class*="16.666"]) > a { border-radius: 9px; }

  .flex.flex-wrap:has(> a[class*="50%-"]) {
    grid-template-columns: 1fr;
    gap: 10px !important;
  }

  .flex.flex-wrap:has(> a[class*="50%-"]) > a { border-radius: 10px; }
}
/* =========================================================
   Mobile keyboard stability
   Keep drawer/auth shells at their pre-keyboard dimensions.
   ========================================================= */

@media (max-width: 1023px) {
  .sosa-drawer {
    height: min(85vh, calc(var(--sosa-stable-vh, 100vh) - 16px)) !important;
    max-height: calc(var(--sosa-stable-vh, 100vh) - 16px) !important;
  }

  .sosa-drawer:focus-within {
    height: min(85vh, calc(var(--sosa-stable-vh, 100vh) - 16px)) !important;
    max-height: calc(var(--sosa-stable-vh, 100vh) - 16px) !important;
  }

  .sosa-drawer__scroll {
    min-height: 0;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .sosa-drawer__search input,
  [data-sosa-auth-panel] input,
  [data-sosa-auth-panel] select,
  [data-sosa-auth-panel] textarea {
    font-size: 16px !important;
    line-height: 1.35 !important;
    touch-action: manipulation;
  }

  [data-sosa-auth-panel] {
    height: auto !important;
    max-height: calc(var(--sosa-stable-vh, 100vh) - 20px) !important;
  }

  [data-sosa-auth-panel] > .relative.flex.flex-col {
    height: auto !important;
    max-height: calc(var(--sosa-stable-vh, 100vh) - 20px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  html.sosa-keyboard-open .sosa-drawer,
  html.sosa-keyboard-open [data-sosa-auth-panel] {
    transition: none !important;
  }
}
/* Hide mobile navigation while the native account/profile panel is open. */
body.sosa-account-open [data-sosa-mobile-nav] {
  display: none !important;
}

body.sosa-support-open [data-sosa-mobile-nav] {
  display: none !important;
}

@media (max-width: 1023px) {
  body.sosa-enhanced.sosa-account-open,
  body.sosa-enhanced.sosa-support-open {
    padding-bottom: 0 !important;
  }
}

/* Logged-out wallet/bonus actions open the authentication dialog instead of
   the account panel. Hide the mobile navigation for that dialog as well. */
@media (max-width: 767px) {
  body:has([role="dialog"][data-state="open"]) [data-sosa-mobile-nav] {
    display: none !important;
  }

  body.sosa-enhanced:has([role="dialog"][data-state="open"]) {
    padding-bottom: 0 !important;
  }

  body:has([role="dialog"][data-state="open"] [data-sosa-auth-panel]) [data-sosa-mobile-nav] {
    display: none !important;
  }

  body.sosa-enhanced:has([role="dialog"][data-state="open"] [data-sosa-auth-panel]) {
    padding-bottom: 0 !important;
  }
}
/* =========================================================
   Bonus detail dialog
   1400x899 artwork + mobile bottom-navigation safety
   ========================================================= */

[data-sosa-bonus-dialog] {
  z-index: 115 !important;
  width: min(1120px, calc(100vw - 32px)) !important;
  max-width: 1120px !important;
  max-height: min(90dvh, 860px) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

[data-sosa-bonus-dialog] > div.relative {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr) !important;
  width: 100%;
  max-height: min(90dvh, 860px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(25, 211, 107, .18) !important;
  border-radius: 22px !important;
  color: var(--sosa-text) !important;
  background: #0a100d !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .58) !important;
}

[data-sosa-bonus-dialog] > div.relative > div:has(> img) {
  display: grid;
  align-items: center;
  width: 100% !important;
  min-width: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 45%, rgba(25, 211, 107, .08), transparent 62%),
    #070b0a;
}

[data-sosa-bonus-dialog] > div.relative > div:has(> img) > img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: min(90dvh, 720px) !important;
  aspect-ratio: 1400 / 899;
  object-fit: contain !important;
  object-position: center center !important;
}

[data-sosa-bonus-dialog] > div.relative > div:has(h2) {
  width: 100% !important;
  min-width: 0;
  max-height: min(90dvh, 860px) !important;
  padding: clamp(24px, 3vw, 38px) !important;
  overflow-y: auto !important;
  color: var(--sosa-text) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(25, 211, 107, .08), transparent 34%),
    #0d1511 !important;
  scrollbar-width: thin;
  scrollbar-color: var(--sosa-emerald-dark) transparent;
  overscroll-behavior: contain;
}

[data-sosa-bonus-dialog] h2 {
  color: var(--sosa-emerald) !important;
  line-height: 1.12 !important;
}

[data-sosa-bonus-dialog] span[class*="uppercase"] {
  border: 1px solid rgba(25, 211, 107, .2);
  color: var(--sosa-lime) !important;
  background: rgba(25, 211, 107, .08) !important;
}

[data-sosa-bonus-dialog] .text-gray-300 {
  color: #bdc9c2 !important;
}

[data-sosa-bonus-dialog] button:has(.lucide-x) {
  border: 1px solid rgba(255, 255, 255, .12) !important;
  color: var(--sosa-text) !important;
  background: rgba(5, 9, 7, .78) !important;
  backdrop-filter: blur(12px);
}

[data-sosa-bonus-dialog] button:not(:has(.lucide-x)) {
  border: 1px solid rgba(25, 211, 107, .35) !important;
  color: #06130c !important;
  background: linear-gradient(135deg, var(--sosa-lime), var(--sosa-emerald) 62%, #0da657) !important;
  box-shadow: 0 14px 30px rgba(25, 211, 107, .2) !important;
}

body.sosa-bonus-dialog-open [data-sosa-mobile-nav] {
  display: none !important;
}

@media (max-width: 767px) {
  body.sosa-enhanced.sosa-bonus-dialog-open {
    padding-bottom: 0 !important;
  }

  [data-sosa-bonus-dialog] {
    top: max(8px, env(safe-area-inset-top)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    left: 8px !important;
    width: calc(100vw - 16px) !important;
    height: auto !important;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    transform: none !important;
  }

  [data-sosa-bonus-dialog] > div.relative {
    display: flex !important;
    flex-direction: column !important;
    width: 100%;
    height: auto;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    border-radius: 18px !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  [data-sosa-bonus-dialog] > div.relative > div:has(> img) {
    flex: 0 0 auto;
    width: 100% !important;
  }

  [data-sosa-bonus-dialog] > div.relative > div:has(> img) > img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 1400 / 899;
    object-fit: contain !important;
  }

  [data-sosa-bonus-dialog] > div.relative > div:has(h2) {
    flex: 0 0 auto;
    max-height: none !important;
    padding: 20px 16px calc(24px + env(safe-area-inset-bottom)) !important;
    overflow: visible !important;
  }

  [data-sosa-bonus-dialog] h2 {
    margin-bottom: 16px !important;
    font-size: 23px !important;
  }

  [data-sosa-bonus-dialog] button:not(:has(.lucide-x)) {
    position: sticky;
    bottom: 0;
    z-index: 3;
    min-height: 52px;
  }
}

/* Direct Radix detection fallback: does not depend on MutationObserver timing. */
@media (max-width: 767px) {
  body:has([role="dialog"][data-state="open"].max-w-5xl img[src^="/uploads/"]:not([alt*="SosaBet" i])) [data-sosa-mobile-nav],
  body:has([role="dialog"][data-state="open"].max-w-5xl img[src^="/uploads/"]:not([alt*="SosaBet" i])) > .mobile-bottom-nav,
  body:has([role="dialog"][data-state="open"].max-w-5xl img[src^="/uploads/"]:not([alt*="SosaBet" i])) > .mobile-sidebar-overlay {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.sosa-enhanced:has([role="dialog"][data-state="open"].max-w-5xl img[src^="/uploads/"]:not([alt*="SosaBet" i])) {
    padding-bottom: 0 !important;
  }
}

/* Final mobile behavior: bonus details use the full viewport and temporarily
   hide the bottom navigation. The menu returns when the dialog is removed. */
@media (max-width: 767px) {
  body.sosa-bonus-dialog-open [data-sosa-mobile-nav],
  body.sosa-enhanced.sosa-bonus-dialog-open [data-sosa-mobile-nav] {
    display: none !important;
  }

  body.sosa-enhanced.sosa-bonus-dialog-open {
    padding-bottom: 0 !important;
  }

  [data-sosa-bonus-dialog] {
    top: max(8px, env(safe-area-inset-top)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  [data-sosa-bonus-dialog] > div.relative {
    max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }
}

/* Bonus dialog opening stabilization.
   Radix initially mounts with its own zoom/slide classes; wait one DOM frame
   for the Arena hook instead of showing two layouts successively. */
[role="dialog"].max-w-5xl:has(img[src^="/uploads/"]:not([alt*="SosaBet" i])):not([data-sosa-bonus-dialog]) {
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
  transition: none !important;
}

[data-sosa-bonus-dialog],
[data-sosa-bonus-dialog][data-state="open"],
[data-sosa-bonus-dialog][data-state="closed"] {
  animation: none !important;
  transition: none !important;
  transform-origin: center center !important;
}

[data-sosa-bonus-dialog][data-state="open"] {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Auth dialog: keep the native palette out of the first paint, then reveal
   immediately after the Arena auth hook is attached. */
[role="dialog"].max-w-5xl:has(form):not(:has([data-sosa-auth-panel])) {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: none !important;
}

[role="dialog"].max-w-5xl:has([data-sosa-auth-panel]) {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transition: opacity .12s ease !important;
}

@media (max-width: 767px) {
  [data-sosa-auth-panel] {
    background: #080d0b !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .48) !important;
  }

  [data-sosa-auth-panel] > .absolute.rounded-full,
  [data-sosa-auth-panel] > .absolute.-bottom-20 {
    display: none !important;
  }

  [data-sosa-auth-panel] > .absolute.inset-0.opacity-80 {
    background: linear-gradient(145deg, rgba(25, 211, 107, .07), transparent 48%) !important;
  }

  [data-sosa-auth-panel] .backdrop-blur-md,
  [data-sosa-auth-panel] [class*="backdrop-blur"] {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  [data-sosa-auth-panel],
  [data-sosa-auth-panel] * {
    animation-duration: .12s !important;
  }
}

/* =========================================================
   Fluid page shell — use the available screen without stacked gutters
   ========================================================= */

body.sosa-enhanced header.header-safe-top > .container {
  width: 100% !important;
  max-width: none !important;
  padding-inline: clamp(10px, 1.15vw, 18px) !important;
}

body.sosa-enhanced:not(.sosa-game-route) main {
  max-width: none !important;
  padding-inline: clamp(10px, 1.15vw, 18px) !important;
}

body.sosa-enhanced:not(.sosa-game-route) main > * {
  width: 100%;
  max-width: none !important;
}

body.sosa-enhanced:not(.sosa-game-route) main section[class*="px-"] {
  padding-inline: 0 !important;
}

@media (min-width: 1024px) {
  body.sosa-enhanced:not(.sosa-game-route) main {
    width: calc(100% - var(--sosa-rail-w)) !important;
    margin-left: var(--sosa-rail-w) !important;
    margin-right: 0 !important;
  }

  body.sosa-enhanced .max-w-\[1600px\] {
    max-width: none !important;
  }

  body.sosa-enhanced main button[aria-label="Previous slide"],
  body.sosa-enhanced main button[aria-label="Next slide"] {
    width: 34px !important;
    height: 34px !important;
    padding: 7px !important;
    opacity: 0.58;
    background: rgba(4, 8, 6, 0.58) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22) !important;
  }

  body.sosa-enhanced main [data-sosa-hero]:hover button[aria-label="Previous slide"],
  body.sosa-enhanced main [data-sosa-hero]:hover button[aria-label="Next slide"] {
    opacity: 1;
  }
}

@media (max-width: 1023px) {
  body.sosa-enhanced:not(.sosa-game-route) main {
    width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 8px !important;
  }

  body.sosa-enhanced:not(.sosa-game-route) main section[class*="px-"] {
    padding-inline: 0 !important;
  }

  /* Mobile banners are swipeable; arrows covered titles and actions. */
  body.sosa-enhanced main button[aria-label="Previous slide"],
  body.sosa-enhanced main button[aria-label="Next slide"] {
    display: none !important;
  }
}

/* Sports pages use their own controls; remove the Arena bottom navigation. */
@media (max-width: 1023px) {
  body.sosa-sports-route [data-sosa-mobile-nav],
  body.sosa-sports-route .sosa-bottom-nav {
    display: none !important;
  }

  body.sosa-enhanced.sosa-sports-route {
    padding-bottom: 0 !important;
  }
}

/* Desktop home imagery: align every image row with the hero banner edges. */
@media (min-width: 1024px) {
  body.sosa-enhanced:not(.sosa-game-route) main
  .w-full.px-4.py-4.space-y-4:has(> .flex.flex-wrap.gap-4.justify-center) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.sosa-enhanced:not(.sosa-game-route) main
  .flex.flex-wrap.gap-4.justify-center > a.w-full.max-w-6xl {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Desktop browser scrollbar — Arena dark/emerald theme. */
@media (min-width: 1024px) and (pointer: fine) {
  html {
    scrollbar-width: thin;
    scrollbar-color: #168d50 #070b09;
  }

  html::-webkit-scrollbar {
    width: 11px;
    height: 11px;
  }

  html::-webkit-scrollbar-track {
    background: #070b09;
    border-left: 1px solid rgba(255, 255, 255, 0.045);
  }

  html::-webkit-scrollbar-thumb {
    min-height: 54px;
    border: 3px solid #070b09;
    border-radius: 999px;
    background: linear-gradient(180deg, #25df78 0%, #129554 52%, #087240 100%);
    box-shadow: 0 0 12px rgba(25, 211, 107, 0.22);
  }

  html::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #52f391 0%, #19bd68 55%, #0a854a 100%);
    box-shadow: 0 0 16px rgba(25, 211, 107, 0.42);
  }

  html::-webkit-scrollbar-thumb:active {
    background: #19d36b;
  }

  html::-webkit-scrollbar-corner {
    background: #070b09;
  }
}
