/* Mobile reference details, shared chrome dimensions and casino lobby. */
.xb-theme .mdc-modal { --mdc-panel: #292932; --mdc-panel-2: #30303a; --mdc-line: #45454f; --mdc-line-soft: #383842; --mdc-yellow: var(--accent-green); --mdc-yellow-dark: var(--accent-green); --mdc-yellow-soft: #ff790f14; }
.xb-theme .mdc-modal .modal-content { background: #23232b; border-color: #45454f; border-radius: 16px; }
.xb-theme .mdc-primary-button,.xb-theme .mwc-balance-icon { background: var(--xb-orange); box-shadow: none; color: var(--xb-button-text, #23232b); }
.xb-theme .mdc-modal input,.xb-theme .mdc-modal select,.xb-theme .mdc-modal textarea { min-width: 0; max-width: 100%; font-size: 16px; }
.xb-theme .mdc-security-note { color: #aaaab5; }
.xb-theme .mwc-balance-card { background: #30303a; border-color: #45454f; }
.xb-theme .mdc-notice,.xb-theme .mdc-details-row { background: #ff790f0a; border-color: #ff790f30; }
.xb-theme .mdc-details-row::before { background: var(--accent-green); box-shadow: none; }
.xb-theme .mdc-details-icon,.xb-theme .mdc-details-heading .mdc-payment-label { color: var(--accent-green); }
.xb-theme .mdc-brand-mark:not(:has(img)) { background: var(--xb-orange); }
.xb-theme .mdc-field label,.xb-theme .mdc-amount-chip,.xb-theme .mwc-limit-row strong,.xb-theme .mwc-summary-remaining strong { color: #c4c4ce; }
.xb-theme .mdc-input-wrap { background: #292932; border-color: #45454f; }
.xb-theme .mdc-input-wrap:focus-within { border-color: var(--accent-green); box-shadow: 0 0 0 2px #ff790f20; }
.xb-theme .mdc-input-wrap input::placeholder,.xb-theme .mwc-account-wrap textarea::placeholder { color: #9797a2; }
.xb-theme .mdc-amount-chip { background: #ffffff0a; border-color: #45454f; }
.xb-theme .mdc-amount-chip:is(:hover,.selected) { background: var(--accent-green); color: #fff; border-color: var(--accent-green); }
.xb-theme #mdcProofLabel { white-space: normal; }
.xb-theme:has(.modal.show) .xb-support { display: none; }
.xb-theme { --xb-safe-top: env(safe-area-inset-top,0px); --xb-safe-bottom: env(safe-area-inset-bottom,0px); --xb-header-height: calc(50px + var(--xb-safe-top)); --xb-announcement-height: 0px; --xb-bottom-space: calc(60px + var(--xb-safe-bottom)); padding-top: calc(var(--xb-header-height) + var(--xb-announcement-height)) !important; }
.xb-theme .xb-header { height: var(--xb-header-height); padding-top: var(--xb-safe-top); }
.xb-theme .xb-menu { top: calc(var(--xb-header-height) + var(--xb-announcement-height)); bottom: var(--xb-bottom-space); overscroll-behavior: contain; }
.xb-menu-group { border-radius: 12px; background: linear-gradient(180deg,#2c2c35,#3a3a43); overflow: hidden; }
.xb-menu-group[open] { background: #ffffff14; }
.xb-menu-group summary { display: flex; align-items: center; min-height: 44px; padding-right: 12px; gap: 8px; cursor: pointer; list-style: none; color: #c1c1c6; font-size: 14px; }
.xb-menu-group summary::-webkit-details-marker { display: none; }
.xb-menu-group summary>.xb-icon { font-size: 15px; transform: rotate(-90deg); }
.xb-menu-group[open] summary>.xb-icon { transform: none; }
.xb-menu-children { display: grid; gap: 8px; padding: 8px; }
.xb-menu-children a { display: flex; align-items: center; min-height: 32px; padding: 6px 24px; border-radius: 12px; background: #ffffff09; color: #d4d4da; font-size: 12px; }
.xb-menu-children a[aria-current=page] { background: #ffffff24; color: #fff; }
.xb-theme .xb-quick { overflow-y: auto; overscroll-behavior: contain; max-height: calc(100dvh - var(--xb-header-height) - var(--xb-announcement-height) - var(--xb-bottom-space) - 12px); }
.xb-announcements { position: fixed; inset: 0 0 auto; z-index: 1061; }
.xb-theme .xb-header { top: var(--xb-announcement-height); }
.xb-theme .xb-announcements .announcement-marquee { min-height: 32px; height: 32px; padding: 7px 0 !important; }
.xb-theme .xb-announcements .marquee-content-m { color: inherit !important; }
.xb-theme:has(dialog[open]) { overflow: hidden; }
.xb-theme .xb-announcements .announcement-banner { position: relative !important; }
.xb-theme .xb-support { width: 48px; height: 48px; right: 8px; bottom: calc(var(--xb-bottom-space) + 12px); z-index: 1051; }
.xb-theme:has(.xb-dock) .xb-support { bottom: calc(var(--xb-bottom-space) + 12px); }
.xb-theme:is(.xb-auth-page,.xb-account-page) .xb-support { bottom: calc(12px + env(safe-area-inset-bottom)); }
.xb-theme:has(#xb-menu:not([hidden])) .xb-support,.xb-theme:has(dialog[open]) .xb-support,.xb-theme.xb-page-sports .xb-support { display: none; }
.xb-quick::before { display: none; }
.xb-theme .xb-quick>a:focus-visible,.xb-theme .xb-quick>button:focus-visible { outline: 1px solid #fff9; outline-offset: -3px; color: #eee; background: #ffffff0a; }
.xb-theme .xb-quick>a:hover,.xb-theme .xb-quick>button:hover { color: #eee; }

/* Match the larger Xbahis300 mobile header mark while keeping the action row usable. */
@media (max-width:599px) {
  .xb-theme { --xb-header-height: calc(56px + var(--xb-safe-top)); }
  .xb-theme .xb-logo,
  .xb-auth-page .xb-logo {
    width: 144px;
    max-width: 144px;
    height: 56px;
    flex: 0 0 144px;
  }
  .xb-theme .xb-logo img,
  .xb-auth-page .xb-logo img {
    width: 144px;
    height: 56px;
    max-width: 144px;
    max-height: 56px;
    object-fit: contain;
  }
}
@media (max-width:374px) {
  .xb-theme .xb-logo,
  .xb-auth-page .xb-logo {
    width: 126px;
    max-width: 126px;
    flex-basis: 126px;
  }
  .xb-theme .xb-logo img,
  .xb-auth-page .xb-logo img {
    width: 126px;
    height: 48px;
    max-width: 126px;
    max-height: 48px;
  }
}
@media (max-width:340px) {
  .xb-theme .xb-logo,
  .xb-auth-page .xb-logo {
    width: 112px;
    max-width: 112px;
    flex-basis: 112px;
  }
  .xb-theme .xb-logo img,
  .xb-auth-page .xb-logo img {
    width: 112px;
    height: 44px;
    max-width: 112px;
    max-height: 44px;
  }
}
/* Keep this small animated strip rendered when scrolling out of / back into view.
   Touch focus and emulated hover must not leave the marquee permanently paused. */
.xb-theme .xb-winners .recent-winners { content-visibility: visible; contain: layout style; contain-intrinsic-size: none; }
.xb-theme .xb-winners .recent-winners__track { animation-play-state: running; }
.xb-theme .xb-winners .recent-winners__marquee:is(:hover,:focus-within) .recent-winners__track { animation-play-state: running; }
.xb-theme.xb-page-sports .mobile-sports-container { top: calc(var(--xb-header-height) + var(--xb-announcement-height)); bottom: var(--xb-bottom-space); z-index: 100; transition: none; }
.xb-page-sports .xb-loyalty-strip { display: none; }
.xb-page-sports .xb-page-content { padding: 0; }
.xb-catalog .xb-section-heading h1,.xb-catalog .xb-section-heading h2 { font-size: 14px; font-weight: 500; margin: 0; }
.xb-catalog .xb-section-heading { min-height: 24px; margin-bottom: 8px; }
.xb-catalog .xb-section-heading>button { display: flex; align-items: center; gap: 5px; color: #d1d1d5; background: none; border: 0; padding: 0; font-size: 14px; }
.xb-theme .xb-catalog-grid.is-lobby { display: flex; gap: 8px; overflow-x: auto; padding: 0; margin-bottom: 16px; scroll-snap-type: x proximity; scrollbar-width: none; }
.xb-theme .xb-catalog-grid.is-lobby>.xb-game-card { flex: 0 0 150px; }
.xb-theme .xb-game-rail { gap: 8px; }
.xb-theme .xb-game-rail>.xb-game-card { flex: 0 0 150px; }
.xb-lobby-providers { margin-bottom: 16px; }
.xb-lobby-providers>div:last-child { gap: 8px; padding-top: 6px; }
.xb-lobby-providers>div:last-child>button { position: relative; overflow: visible; }
.xb-provider-badge { position: absolute; right: 5px; top: -5px; color: #fff; background: #e32020; border-radius: 3px; padding: 1px 4px; font-size: 10px; line-height: 12px; font-weight: 500; }
.xb-lobby-extras .xb-winners { margin: 0 0 16px; }
.xb-lobby-extras .xb-winner-period { padding: 4px 9px; }
.xb-lobby-tournaments { margin-bottom: 16px; }
.xb-tournament-rail { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.xb-tournament-preview { display: block; flex: 0 0 90%; min-width: 0; scroll-snap-align: start; border-radius: 6px; overflow: hidden; background: #ffffff0e; }
.xb-tournament-preview-art { aspect-ratio: 2.15; display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 16px; background: #30303a; position: relative; }
.xb-tournament-preview-art img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.xb-tournament-preview-art strong { font-size: 24px; color: var(--accent-green); }
.xb-tournament-preview-body { padding: 10px 12px; min-height: 88px; }
.xb-tournament-preview-body h3 { font-size: 14px; margin: 0 0 6px; }
.xb-tournament-preview-body>div { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: #bcbcc4; }
.xb-tournament-preview-body time { font-variant-numeric: tabular-nums; }
.xb-lobby-empty { padding: 18px 12px; border-radius: 6px; background: #ffffff0a; color: #aaaab5; font-size: 12px; }
.xb-footer-links { padding: 24px 16px; text-align: center; border-block: 1px solid #ffffff14; margin: 12px 16px 20px; }
.xb-footer-group { margin-bottom: 24px; }
.xb-footer-group:last-child { margin-bottom: 0; }
.xb-theme .xb-footer-group h3 { font-size: 12px; line-height: 14px; color: #d0d0d4; font-weight: 700; margin: 0 0 8px; text-transform: uppercase; }
.xb-footer-group ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; padding: 0; margin: 0; gap: 4px 0; }
.xb-footer-group li { display: inline-flex; align-items: center; padding: 0 8px; border-right: 1px solid var(--accent-green); min-height: 16px; }
.xb-footer-group li:last-child { border-right: 0; }
.xb-theme .xb-footer-group a,.xb-theme .xb-footer-group button { display: inline; font-size: 12px; line-height: 16px; color: #9999a3; border: 0; background: none; padding: 0; text-decoration: none; }
.xb-footer-group a:hover,.xb-footer-group button:hover { color: #fff; }
.xb-theme .mfooter-gold { display: none; }
.xb-theme .mfooter { display: flex; flex-direction: column; }
.xb-footer-links { order: -2; }
.xb-footer-payments { order: -1; }
.xb-theme #footerPageModalMobile { background: #23232b !important; height: 100dvh !important; }
.xb-theme #footerPageModalMobile>div:first-child,.xb-theme #fpModalTabsM { background: #292932 !important; flex-shrink: 0; }
.xb-theme #fpModalIconM { color: var(--accent-green) !important; }
.xb-theme #fpModalTabsM { scrollbar-width: none; }
.xb-theme .fp-tab-link-m { flex: 0 0 auto; white-space: nowrap; padding: 14px 12px; border: 0; border-bottom: 2px solid transparent; background: none; color: #aaaab5; font-size: 12px; cursor: pointer; }
.xb-theme .fp-tab-link-m.active { color: var(--accent-green); border-bottom-color: var(--accent-green); }
.xb-theme #fpModalBodyM { min-height: 0; height: auto !important; font-size: 14px; line-height: 1.6; overscroll-behavior: contain; }
.xb-theme #fpModalBodyM h1,.xb-theme #fpModalBodyM h2 { font-size: 20px; }
.xb-random-dialog { width: calc(100% - 32px); max-width: 430px; border: 0; border-radius: 12px; padding: 0 16px 16px; background: #23232b; color: #fff; overflow: auto; max-height: calc(100dvh - 32px); }
.xb-random-dialog::backdrop { background: #0009; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.xb-random-header { height: 80px; display: flex; justify-content: flex-end; align-items: flex-start; padding-top: 16px; }
.xb-random-header button { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: #ffffff0a; color: #c7c7ce; }
.xb-random-header .xb-icon { font-size: 16px; }
.xb-random-window { height: 225px; overflow: hidden; border-radius: 12px; background: #33333d; }
.xb-random-reel { will-change: transform; }
.xb-random-slide { height: 225px; display: grid; place-items: center; background: #33333d; }
.xb-random-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.xb-random-dialog h2 { font-size: 18px; line-height: 22px; min-height: 22px; margin: 16px 0; text-align: center; }
.xb-random-dialog-actions { display: flex; gap: 16px; }
.xb-random-dialog-actions button { width: 50%; height: 40px; padding: 0 8px; border: 0; border-radius: 999px; font-size: 14px; background: #ffffff14; color: white; }
.xb-random-dialog-actions button:last-child { background: var(--accent-green); }
.xb-random-dialog-actions button:disabled { opacity: .4; cursor: default; }
@media (max-height:550px) { .xb-random-header { height: 50px; } .xb-random-window,.xb-random-slide { height: 160px; } }
@media (prefers-reduced-motion:reduce) { .xb-theme .xb-winners .recent-winners__track { animation: none !important; } }
