.casino-session-dialog{width:calc(100vw - 32px);top:16px;bottom:16px;height:auto;max-width:1440px;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid var(--border,#d5ba75);border-radius:16px;background:#101216;color:#fff}
/* Modal (showModal, position:fixed): the sheet spans the viewport through top/bottom, not 100dvh, which WebView 83 drops (device C8). */
.casino-session-dialog[open]{display:flex;flex-direction:column}
.casino-session-dialog::backdrop{background:rgba(0,0,0,.78)}
.casino-session-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;min-height:60px;padding:8px 16px;background:var(--surface-2,#1b1e24);color:var(--text,#fff)}
.casino-session-dialog h2{font-size:16px;line-height:1.25;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.casino-session-dialog>header button{min-height:44px;flex-shrink:0;padding:10px 16px;color:var(--text,#fff)}
.casino-session-dialog iframe{display:block;width:100%;flex:1;min-height:0;border:0;background:#101216}
.casino-session-status{margin:0;padding:20px;font-size:14px;color:#fff}
@media(max-width:760px){.casino-session-dialog{width:100vw;top:0;bottom:0;height:auto;border:0;border-radius:0}.casino-session-dialog>header{padding:calc(6px + env(safe-area-inset-top)) 12px 6px;min-height:56px}.casino-session-dialog iframe{padding-bottom:env(safe-area-inset-bottom)}}

/* Keep the complete provider cover and its title, regardless of source ratio. */
.game-card .game-art img[data-provider-art],.game-detail-art img[data-provider-art],.search-result img[data-provider-art]{object-fit:contain;background:var(--surface-2,#1b1e24)}
.provider-art-unavailable{display:flex;align-items:center;justify-content:center;min-height:100%;padding:12px;text-align:center;color:var(--text,#fff);background:var(--surface-2,#1b1e24);font-weight:700}
@media(max-width:760px){
 .casino-provider-nav{display:flex;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;gap:7px;padding-bottom:10px}
 .casino-provider-nav .provider-choice{flex:0 0 auto;min-width:90px;flex-direction:row;gap:8px;padding:9px 12px;font-size:11px}
 .casino-provider-nav .provider-choice>span{white-space:nowrap;min-height:0;line-height:1.2}
}

/* UX-10 mobile type floor (360-760px): restates each sub-10px selector exactly as set, so this later block wins by order. Polish P04 floor (2026-10-23): 11px, not 10px. */
@media (min-width:360px) and (max-width:760px){
 .header-wallet>strong{font-size:12px}
 .tenant-news-label,.sport-chip,.sport-chip .count{font-size:11px}
 .badge,.live-label,.age-mark,.spotlight-eyebrow,.spotlight-eyebrow .live-label,.photo-caption,.spotlight-eyebrow.light,.casino-stamp,.decimal-label,.collection-label,.league,.event-meta,
 .event-meta .badge,.event-meta .live-label,.market-heading,.team-mark,.team-mark.draw,.odds>span,.event-bottom,.game-live,.game-caption span,.table-finder .eyebrow,.table-finder p,
 .play-note p,.play-note a,.footer,.footer .age-mark,.casino-intro .eyebrow,.catalogue-games .game-caption span,.sports-crosslink .eyebrow,.scoreboard-status .badge,
 .scoreboard-teams .team-mark,.scoreboard-bottom,.price-depth .odds>span,.market-foot,.more-markets .eyebrow,.bet-placeholder .muted-text,.aside-games .eyebrow,
 .game-detail-info>.eyebrow,.game-facts span,.related-grid .game-caption span,.bets-aside .eyebrow,.ticket-top,.ticket-top .badge,.ticket-values span,.wallet-breakdown span,
 .activity-row>div>span,.wallet-aside>.eyebrow,.payment-method small,.payment-summary .eyebrow,.account-panel .panel-heading .badge,.auth-story-copy>.eyebrow,
 .auth-story-tags>span,.auth-form-heading .eyebrow,.label-row>.text-link,.password-toggle,.auth-notice p,.auth-trust,.support-card .eyebrow,.dialog-content>.eyebrow,
 .search-result-label,.search-result small,.slip-heading .badge,.slip-selection .muted-text,.slip-selection-bottom,.slip-selection-bottom .text-link,
 .betslip-dialog .field-help,.betslip-dialog .form-error,.slip-note p,.receipt-ticket>div:first-child,.receipt-values span,.receipt-dialog .form-footnote,
 .table-preview-top>.badge,.table-preview-title>.eyebrow,.table-preview-bottom>div>span,.chat-bubble small,.chat-dialog .form-footnote,.feature-odd,.intro-types button,
 .rail nav>a,.sample-note,.page-heading .eyebrow,.feature-score>span,.casino-spotlight p,.casino-spotlight .button,.event-bottom>span,.casino-intro>.eyebrow,
 .casino-catalogue .section-title .muted-text,.scoreboard-top,.more-markets .button,.account-panel .panel-heading .eyebrow,.setting-row p,.runner .team-mark,.mobile-nav>a,
 .footer>div:first-child>span:last-child,.breadcrumb,.page-heading>.button,.casino-feature-grid .casino-spotlight .button,.casino-feature-grid .spotlight-eyebrow.light,
 .category-chip .count,.casino-catalogue .section-title .eyebrow,.casino-catalogue .section-title>.muted-text,.catalogue-games .game-live,.sports-crosslink p,
 .sports-crosslink .button,.exchange-panel .panel-heading>.text-link,.exchange-head,.aside-games .game-caption span,.score-panel .panel-heading .badge,.stat-grid span,
 .related-games .section-title .eyebrow,.related-games .section-title>.text-link,.saved-layout .section-title .eyebrow,.saved-games .game-caption span,
 .wallet-history .muted-text,.wallet-info-note p,.payment-main>.eyebrow,.summary-balance-label,.payment-protection,.account-sidebar .signout,
 .account-panel form>.field-help,.setting-row .text-link,.security-preview p,.prose-panel>.eyebrow,.safer-play>.eyebrow,.safer-options small,.safer-play>.field-help,
 .floating-slip b,.table-preview-info p,.route-sports .page-heading .eyebrow,.route-live .page-heading .eyebrow,
 .feature-empty .eyebrow,.feature-football .feature-odd>span,.sports-spotlight .spotlight-eyebrow>.badge,.feature-tennis .feature-odd>span,
 .secondary-market .panel-heading .badge,.fancy-heading,.fancy-runner>div>span,.fancy-price>span,.ticket-main .ticket-market,.feed-status,.event-top .live-label,
 .event-start,.market-paused,.event-bottom a,.more-matches-button>span,.more-games-button>span,.casino-column .provider-tile>span:nth-child(2),.casino-page-bar .eyebrow,
 .footer>div:last-child,.compact-teams .team-mark,.real-market .panel-heading p,.market-state,.odds small,.event-casino .text-link,.slip-prompt>span,.board-title>div>span,
 .provider-tile>span:nth-child(2),.board-title .text-link,.event-bottom>a,.casino-page-bar .button,.inventory-count,.provider-tile>b,.catalogue-title>span,
 .compact-scoreboard .scoreboard-top,.compact-scoreboard .scoreboard-bottom,.market-kind-filters>button:not(.icon-button),.price-depth .odds small,
 .game-detail-info .eyebrow,.game-facts>div>span,.related-games .eyebrow,.odds.with-depth small,.market-tag,.inline-betslip>.eyebrow,.inline-betslip .slip-note p,
 .inline-betslip .field-help,.access-art-top,.access-kicker,.access-products,.access-art-caption,.access-heading .eyebrow,.access-field .field-help,.access-preview,
 .access-form-foot,.auth-footer,.auth-footer>span,.auth-footer .age-mark,.auth-back,.access-field .label-row .text-link,.access-consent>span,.score-table-section thead,
 .stream-bar>[data-stream-status],.score-stat-row>span,.score-stats-teams,.score-panel>.panel-heading>.feed-status,.catalogue-connection-note,
 .catalogue-connection-note>.text-link,.auth-login .access-products,.auth-login .access-preview,.auth-login .auth-footer,.auth-login .auth-footer .age-mark,
 .inline-slip-heading .badge,.inline-slip-market,.inline-slip-market .badge,.inline-slip-price>span,.inline-betslip :is(.quote-row,.quote-total)>span,.inline-slip-note,
 .casino-type-filters .category-chip>b,.casino-column .casino-provider-nav .provider-choice>b,.casino-provider-nav .provider-choice>b,.game-preview-badge,.match-meta,
 .outcome-label,.outcome-label>span:last-child,.outcome-prices .odds small,.match-board .event-top .league,.market-section-title>span,
 .event-layout .real-market .panel-heading p,.event-layout .real-market .market-foot,.session-heading .eyebrow,.session-name small,.session-row .odds>small,
 .meeting-heading>a>span,.race-schedule-link>b,.race-meeting-header .eyebrow,.race-runner-name small,.match-meta .market-tag,.mobile-casino-insert .board-title>div>span,
 .mobile-casino-insert .catalogue-connection-note,.race-picker>button>span,.compact-scoreboard .compact-teams .team-mark,.compact-scoreboard .compact-teams .versus,
 .market-kind-filters>button>span,.market-halt .halt-caption,.match-team .team-mark,.selection-name .team-mark,.auth-shell .auth-back,.auth-shell .auth-footer,
 .auth-shell .auth-footer .age-mark,.auth-shell .is-register .access-consent>span,.account-quick-links small,.account-entry-main time,.account-entry-main small,
 .account-result .eyebrow,.account-result time,.account-status,.account-reference>span,.account-payment-identity>time,.account-payment-identity>small,
 .account-title .eyebrow,.account-list-caption,.account-ledger-row .mobile-label,.account-pnl-summary .account-metric>span,.tx-day,.tx-meta,.tx-meta .account-status,
 .pnl-axis,.sp-move{font-size:11px}
}
@media (min-width:360px) and (max-width:370px){.game-caption h3,.section-title>.text-link,.page-heading>.badge{font-size:10px}}
/* The floor's two side effects on phones (no-clip gate, 2026-10-17): the 10 px price-move arrow sits in the corner so it clears the
   price in a 51-55 px cell, and a wallet row's reference line wraps instead of ending in an ellipsis next to the wider meta column. */
@media (max-width:760px){
 .kx-odds>.sp-move,.odds>.sp-move{top:2px;right:2px;line-height:1}
 .tx-main>small:not(.tx-note){white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
}
