@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ============================================
   SPORTSBOOK PAGE
   ============================================ */

#sportsbookPage
{
	font-family:'Inter', 'Jost', sans-serif;
	letter-spacing:0.01em;
	padding:0px 50px 50px;
	position:relative;
}

/* ---- Loader ---- */

#sportsbookPage #divLoader
{
	left:50%;
	position:absolute;
	top:250px;
}

#sportsbookPage.loaded #divLoader
{
	display:none;
}

#sportsbookPage #imgLoaderLogo
{
	animation:sbRotateLoader 2.5s linear infinite;
	left:calc(50% - 60px);
	height:120px;
	position:absolute;
	top:0px;
	width:120px;
}

#sportsbookPage .divLoading
{
	color:#cffdff;
	font-size:20px;
	left:50%;
	position:absolute;
	text-shadow:0px 0px 5px #01eff9;
	top:125px;
	transform:translateX(-50%);
	white-space:nowrap;
}

@keyframes sbRotateLoader
{
	from { transform:rotate(0deg); }
	to   { transform:rotate(360deg); }
}

/* ---- Game Type Toggle (Prematch / Live) ---- */

#sportsbookPage #divGameTypeToggle
{
	/*display:inline-block;*/
	display:none;
	margin-bottom:20px;
}

/* ---- Sport Selector Carousel ---- */

#sportsbookPage #divSportSelector
{
	display:flex;
	gap:10px;
	margin-bottom:20px;
	overflow-x:auto;
	padding-bottom:8px;
	scrollbar-width:thin;
	scrollbar-color:#3f4656 transparent;
}

#sportsbookPage #divSportSelector::-webkit-scrollbar
{
	height:4px;
}

#sportsbookPage #divSportSelector::-webkit-scrollbar-track
{
	background:transparent;
}

#sportsbookPage #divSportSelector::-webkit-scrollbar-thumb
{
	background:#3f4656;
	border-radius:2px;
}

#sportsbookPage .sportItem
{
	align-items:center;
	background:#292a2f;
	border:2px solid transparent;
	border-radius:10px;
	cursor:pointer;
	display:flex;
	flex-direction:column;
	flex-shrink:0;
	gap:6px;
	min-width:100px;
	padding:14px 18px;
	transition:background 0.2s, border-color 0.2s;
}

#sportsbookPage .sportItem:hover
{
	border-color:#3f4656;
}

#sportsbookPage .sportItem.selected
{
	border-color:#966dff;
}

#sportsbookPage .sportItem .sportIcon
{
	font-size:22px;
}

#sportsbookPage .sportItem .sportName
{
	color:#888b90;
	font-size:12px;
	text-align:center;
	white-space:nowrap;
}

#sportsbookPage .sportItem.selected .sportName
{
	color:#cffdff;
	text-shadow:0px 0px 5px rgba(1, 239, 249, 0.5);
}

#sportsbookPage .sportItem .sportCount
{
	background:rgba(255, 255, 255, 0.08);
	border-radius:10px;
	color:#888b90;
	font-size:10px;
	padding:2px 8px;
}

#sportsbookPage .sportItem.selected .sportCount
{
	background:rgba(1, 239, 249, 0.15);
	color:#cffdff;
}

/* --- Image-based sportItem card --- */
#sportsbookPage .sportItem.hasImage
{
	border:2px solid rgba(255, 255, 255, 0.08);
	border-radius:10px;
	gap:0;
	height:135px;
	justify-content:flex-end;
	min-width:130px;
	overflow:hidden;
	padding:0;
	position:relative;
	width:130px;
}

#sportsbookPage .sportItem.hasImage:hover
{
	border-color:rgba(255, 255, 255, 0.2);
}

#sportsbookPage .sportItem.hasImage.selected
{
	border-color:#7c4dff;
	box-shadow:0px 0px 12px rgba(124, 77, 255, 0.4), inset 0px 0px 8px rgba(124, 77, 255, 0.15);
}

#sportsbookPage .sportItem.hasImage .sportImage
{
	height:100%;
	image-rendering:-webkit-optimize-contrast;
	left:0;
	object-fit:cover;
	position:absolute;
	top:0;
	transform:translateZ(0);
	width:100%;
}

#sportsbookPage .sportItem.hasImage .sportOverlay
{
	background:linear-gradient(0deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, transparent 100%);
	bottom:0;
	left:0;
	position:absolute;
	right:0;
	top:0;
}

#sportsbookPage .sportItem.hasImage .sportName
{
	color:#ffffff;
	font-size:11px;
	font-weight:600;
	padding:0 6px 4px;
	position:relative;
	text-shadow:0px 1px 3px rgba(0, 0, 0, 0.8);
	white-space:nowrap;
	z-index:1;
}

#sportsbookPage .sportItem.hasImage .sportCount
{
	background:rgba(0, 0, 0, 0.5);
	border-radius:8px;
	color:#cccccc;
	font-size:10px;
	padding:1px 6px 4px;
	position:relative;
	z-index:1;
}

#sportsbookPage .sportItem.hasImage.selected .sportName
{
	color:#cffdff;
	text-shadow:0px 0px 5px rgba(1, 239, 249, 0.5);
}

#sportsbookPage .sportItem.hasImage .sportVideo
{
	object-fit:cover;
}

/* ---- Three Column Layout ---- */

#sportsbookPage #divMainContent
{
	display:grid;
	gap:20px;
	grid-template-columns:1fr 300px;
}

#sportsbookPage #divSportContent
{
	display:grid;
	gap:20px;
	grid-column:1;
	grid-template-columns:260px 1fr;
}

/* ---- Sidebar ---- */

#sportsbookPage #divSportSidebar
{
	background:#292a2f;
	border-radius:10px;
	max-height:calc(100vh - 250px);
	overflow-y:auto;
	padding:10px 0px;
	scrollbar-width:thin;
	scrollbar-color:#3f4656 transparent;
}

#sportsbookPage #divSportSidebar::-webkit-scrollbar
{
	width:4px;
}

#sportsbookPage #divSportSidebar::-webkit-scrollbar-thumb
{
	background:#3f4656;
	border-radius:2px;
}

#sportsbookPage .sidebarMenuItem
{
	align-items:center;
	border-bottom:1px solid #37383d;
	color:#cccccc;
	cursor:pointer;
	display:flex;
	font-size:15px;
	font-weight:600;
	gap:10px;
	padding:12px 15px;
	transition:color 0.25s;
}

#sportsbookPage .sidebarMenuItem:hover
{
	color:#cffdff;
}

#sportsbookPage .sidebarMenuItem .sidebarMenuIcon
{
	flex-shrink:0;
}

#sportsbookPage .sidebarRegion.topLeagues .regionHeader
{
	color:#cffdff;
}

#sportsbookPage .sidebarRegion
{
	border-bottom:1px solid #37383d;
}

#sportsbookPage .sidebarRegion:last-child
{
	border-bottom:none;
}

#sportsbookPage .regionHeader
{
	align-items:center;
	color:#ffffff;
	cursor:pointer;
	display:flex;
	font-size:14px;
	font-weight:600;
	justify-content:space-between;
	padding:10px 15px;
	transition:color 0.25s;
}

#sportsbookPage .regionHeader:hover
{
	color:#cffdff;
}

#sportsbookPage .regionHeader .regionArrow
{
	color:#888b90;
	font-size:10px;
	transition:transform 0.25s;
}

#sportsbookPage .sidebarRegion.expanded .regionHeader .regionArrow
{
	transform:rotate(90deg);
}

#sportsbookPage .regionCompetitions
{
	display:none;
	padding:0px 0px 5px;
}

#sportsbookPage .sidebarRegion.expanded .regionCompetitions
{
	display:block;
}

#sportsbookPage .competitionItem
{
	align-items:center;
	color:#888b90;
	cursor:pointer;
	display:flex;
	font-size:13px;
	justify-content:space-between;
	padding:6px 15px 6px 25px;
	transition:color 0.25s, background 0.25s;
}

#sportsbookPage .competitionItem:hover
{
	background:rgba(255, 255, 255, 0.03);
	color:#ffffff;
}

#sportsbookPage .competitionItem.selected
{
	color:#cffdff;
}

#sportsbookPage .competitionItem .competitionCount
{
	background:#37383d;
	border-radius:8px;
	font-size:11px;
	min-width:24px;
	padding:1px 6px;
	text-align:center;
}

#sportsbookPage .competitionItem.selected .competitionCount
{
	background:rgba(1, 239, 249, 0.15);
	color:#cffdff;
}

/* ---- Game List ---- */

#sportsbookPage #divGameList
{
	min-height:400px;
}

/* Sport group — "All Sports" mode */
#sportsbookPage .sportGroup
{
	margin-bottom:4px;
}

#sportsbookPage .sportGroupHeader
{
	align-items:center;
	background:#1a1c20;
	border-bottom:2px solid #2c6bed;
	color:#ffffff;
	cursor:pointer;
	display:flex;
	font-size:15px;
	gap:8px;
	padding:12px 15px;
	transition:background 0.2s;
	user-select:none;
}

#sportsbookPage .sportGroupHeader:hover
{
	background:#222430;
}

#sportsbookPage .sportGroupHeader .sportGroupIcon
{
	font-size:18px;
}

#sportsbookPage .sportGroupHeader .sportGroupName
{
	flex:1;
}

#sportsbookPage .sportGroupHeader .sportGameCount
{
	background:rgba(44, 107, 237, 0.25);
	border-radius:10px;
	color:#7aafff;
	font-size:12px;
	min-width:22px;
	padding:2px 8px;
	text-align:center;
}

#sportsbookPage .sportGroupHeader .sportToggle
{
	border-style:solid;
	border-width:6px 6px 0 6px;
	border-color:#888b90 transparent transparent transparent;
	flex-shrink:0;
	height:0;
	transition:transform 0.2s;
	width:0;
}

#sportsbookPage .sportGroup.expanded .sportToggle
{
	transform:rotate(180deg);
}

#sportsbookPage .sportGroupBody
{
	display:none;
	overflow:hidden;
}

#sportsbookPage .sportGroup.expanded .sportGroupBody
{
	display:block;
}

#sportsbookPage .competitionGroup
{
	margin-bottom:2px;
}

#sportsbookPage .competitionHeader
{
	align-items:center;
	background:#1e2024;
	border-bottom:1px solid #37383d;
	color:#888b90;
	cursor:pointer;
	display:flex;
	font-size:12px;
	font-weight:500;
	gap:8px;
	letter-spacing:0.025em;
	padding:10px 12px 10px 15px;
	transition:background 0.2s;
	user-select:none;
}

#sportsbookPage .competitionHeader:hover
{
	background:#262830;
}

#sportsbookPage .competitionHeader .competitionHeaderName
{
	color:#ffffff;
	flex:1;
	font-weight:500;
	letter-spacing:0.02em;
}

#sportsbookPage .competitionHeader .compGameCount
{
	background:#37383d;
	border-radius:10px;
	color:#888b90;
	font-size:11px;
	min-width:20px;
	padding:2px 6px;
	text-align:center;
}

#sportsbookPage .competitionHeader .compToggle
{
	border-style:solid;
	border-width:5px 5px 0 5px;
	border-color:#888b90 transparent transparent transparent;
	flex-shrink:0;
	height:0;
	transition:transform 0.2s;
	width:0;
}

#sportsbookPage .competitionGroup.expanded .compToggle
{
	transform:rotate(180deg);
}

/* Collapsible body */
#sportsbookPage .competitionBody
{
	display:none;
	overflow:hidden;
}

#sportsbookPage .competitionGroup.expanded .competitionBody
{
	display:block;
}

/* Market column header row */
#sportsbookPage .marketHeaders
{
	display:grid;
	gap:0px;
	grid-template-columns:1fr 260px 180px 180px 44px;
	padding:6px 15px 6px 15px;
}

#sportsbookPage .marketHeaders .mktLabel
{
	color:#888b90;
	font-size:11px;
	font-weight:600;
	letter-spacing:0.06em;
	text-transform:uppercase;
	text-align:center;
	text-transform:uppercase;
}

#sportsbookPage .marketHeaders .mktLabel:first-child
{
	text-align:left;
}

/* Game row — multi-market grid */
#sportsbookPage .gameRow
{
	align-items:center;
	border-bottom:1px solid rgba(55, 56, 61, 0.5);
	cursor:pointer;
	display:grid;
	gap:0px;
	grid-template-columns:1fr 260px 180px 180px 44px;
	padding:0px;
	transition:background 0.2s;
}

#sportsbookPage .gameRow:hover
{
	background:rgba(255, 255, 255, 0.02);
}

#sportsbookPage .gameRow:last-child
{
	border-bottom:none;
}

/* Compact game row (lightweight / All Sports mode) */
#sportsbookPage .gameRowCompact
{
	align-items:center;
	border-bottom:1px solid rgba(55, 56, 61, 0.5);
	cursor:pointer;
	display:flex;
	gap:12px;
	justify-content:space-between;
	padding:10px 15px;
	transition:background 0.2s;
}

#sportsbookPage .gameRowCompact:hover
{
	background:rgba(255, 255, 255, 0.03);
}

#sportsbookPage .gameRowCompact:last-child
{
	border-bottom:none;
}

#sportsbookPage .gameRowCompact.live
{
	border-left:2px solid rgb(77, 244, 58);
}

#sportsbookPage .compactTeams
{
	color:#ffffff;
	display:flex;
	flex:1;
	font-size:13px;
	font-weight:500;
	gap:6px;
	letter-spacing:0.01em;
	min-width:0;
}

#sportsbookPage .compactTeams span
{
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

#sportsbookPage .compactVs
{
	color:#888b90;
	flex-shrink:0;
	font-size:11px;
}

#sportsbookPage .compactMeta
{
	align-items:center;
	display:flex;
	flex-shrink:0;
	gap:12px;
}

#sportsbookPage .compactTime
{
	color:#888b90;
	font-size:12px;
}

#sportsbookPage .compactLive
{
	align-items:center;
	color:rgb(77, 244, 58);
	display:flex;
	font-size:11px;
	font-weight:700;
	gap:4px;
}

#sportsbookPage .compactMarkets
{
	background:#37383d;
	border-radius:4px;
	color:#888b90;
	font-size:11px;
	padding:3px 8px;
}

/* Event info cell (teams + time + score) */
#sportsbookPage .eventInfo
{
	display:flex;
	align-items:center;
	gap:12px;
	padding:10px 15px;
	min-width:0;
}

#sportsbookPage .gameTime
{
	color:#888b90;
	flex-shrink:0;
	font-size:11px;
	line-height:1.4;
	min-width:44px;
	text-align:center;
}

#sportsbookPage .gameTime .liveIndicator
{
	align-items:center;
	color:rgb(77, 244, 58);
	display:flex;
	font-size:10px;
	font-weight:700;
	gap:4px;
	text-transform:uppercase;
}

#sportsbookPage .liveDot
{
	animation:sbPulseLive 1.5s ease-in-out infinite;
	background:rgb(77, 244, 58);
	border-radius:50%;
	display:inline-block;
	height:6px;
	width:6px;
}

#sportsbookPage .liveMinute
{
	color:#cffdff;
	font-size:11px;
	font-weight:600;
}

#sportsbookPage .livePeriod
{
	color:#888b90;
	font-size:9px;
	text-transform:uppercase;
}

@keyframes sbPulseLive
{
	0%, 100% { opacity:1; }
	50%      { opacity:0.3; }
}

#sportsbookPage .gameRow.live
{
	border-left:2px solid rgb(77, 244, 58);
}

#sportsbookPage .gameRow.blocked
{
	opacity:0.5;
}

#sportsbookPage .gameTeams
{
	display:flex;
	flex-direction:column;
	gap:2px;
	min-width:0;
}

#sportsbookPage .teamHome,
#sportsbookPage .teamAway
{
	color:#ffffff;
	font-size:13px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

#sportsbookPage .gameScores
{
	display:flex;
	flex-direction:column;
	flex-shrink:0;
	gap:2px;
	margin-left:auto;
	text-align:right;
}

#sportsbookPage .gameScores .score
{
	color:#cffdff;
	font-size:13px;
	font-weight:600;
	text-shadow:0px 0px 5px rgba(1, 239, 249, 0.5);
}

/* Market column cell */
#sportsbookPage .marketCell
{
	display:flex;
	gap:6px;
	justify-content:center;
	padding:6px 4px;
}

/* Odds button */
#sportsbookPage .oddsBtn
{
	align-items:center;
	background:#37383d;
	border:1px solid transparent;
	border-radius:8px;
	color:#ffffff;
	cursor:pointer;
	display:flex;
	flex:1;
	flex-direction:column;
	font-size:13px;
	gap:2px;
	justify-content:center;
	min-height:50px;
	min-width:80px;
	padding:8px 10px;
	text-align:center;
	transition:background 0.15s, border-color 0.15s;
}

#sportsbookPage .oddsBtn:hover
{
	border-color:#966dff;
	box-shadow:0 0 10px 2px rgba(150, 109, 255, 0.28), inset 0 0 14px rgba(150, 109, 255, 0.07);
}

#sportsbookPage .oddsBtn.selected
{
	background:linear-gradient(to right, #1b0840 11%, #512aaa 51%, #1a0840 88%);
	border-color:#966dff;
	box-shadow:0 0 18px 6px rgba(150, 109, 255, 0.60);
	color:#e8ccff;
}

#sportsbookPage .oddsBtn .oddsLabel
{
	color:#888b90;
	font-size:11px;
	font-weight:500;
	letter-spacing:0.03em;
	line-height:1.3;
}

#sportsbookPage .oddsBtn.selected .oddsLabel
{
	color:rgba(232, 204, 255, 0.75);
}

#sportsbookPage .oddsBtn .oddsValue
{
	font-feature-settings:'tnum';
	font-size:14px;
	font-weight:600;
	letter-spacing:0.01em;
	line-height:1.3;
}

/* Empty market placeholder */
#sportsbookPage .oddsBtn.locked
{
	background:rgba(55, 56, 61, 0.4);
	cursor:default;
	opacity:0.4;
}

#sportsbookPage .oddsBtn.locked:hover
{
	border-color:transparent;
}

#sportsbookPage .oddsBtn.suspended
{
	background:rgba(55, 56, 61, 0.4);
	cursor:default;
	opacity:0.5;
}

#sportsbookPage .oddsBtn.suspended .oddsValue
{
	font-size:10px;
}

#sportsbookPage .marketRow.suspended
{
	opacity:0.6;
}

#sportsbookPage .marketSuspended
{
	color:#888b90;
	font-size:12px;
	padding:8px 12px;
}

/* Odds change animations */
#sportsbookPage .oddsBtn.odds-up .oddsValue
{
	color:#4caf50;
	text-shadow:0px 0px 5px rgba(76, 175, 80, 0.5);
}

#sportsbookPage .oddsBtn.odds-down .oddsValue
{
	color:#f44336;
	text-shadow:0px 0px 5px rgba(244, 67, 54, 0.5);
}

/* Clip overflowing team/market labels in main game list cells */
#sportsbookPage .gameRow .marketCell .oddsBtn
{
	min-width:0;
}

#sportsbookPage .gameRow .marketCell .oddsLabel
{
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	width:100%;
}

/* More markets link */
#sportsbookPage .gameMore
{
	align-items:center;
	color:#888b90;
	display:flex;
	font-size:12px;
	font-weight:600;
	justify-content:center;
	padding:6px 0px;
}

#sportsbookPage .gameMore:hover
{
	color:#cffdff;
}

/* ---- Match Detail View ---- */

#sportsbookPage #divMatchDetail
{
	grid-column:1;
	min-width:0;
}

/* Back button */
/* ---- Compact Match Header ---- */

#sportsbookPage #divMatchHeader
{
	background:#292a2f;
	border-radius:10px;
	margin-bottom:12px;
	padding:12px 16px;
}

#sportsbookPage .matchHeaderTop
{
	align-items:center;
	display:flex;
	gap:10px;
	margin-bottom:10px;
}

#sportsbookPage .matchBack
{
	align-items:center;
	background:#37383d;
	border-radius:6px;
	color:#cffdff;
	cursor:pointer;
	display:inline-flex;
	flex-shrink:0;
	font-size:18px;
	height:32px;
	justify-content:center;
	transition:background 0.2s;
	width:32px;
}

#sportsbookPage .matchBack:hover
{
	background:#4a4b50;
}

#sportsbookPage .matchBreadcrumb
{
	color:#888b90;
	font-size:11px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

#sportsbookPage .matchHeaderBody {}

#sportsbookPage .matchInfo
{
	align-items:center;
	display:flex;
	gap:16px;
	justify-content:center;
}

#sportsbookPage .matchTeam
{
	flex:1;
	min-width:0;
	text-align:center;
}

#sportsbookPage .matchTeam .teamName
{
	color:#ffffff;
	font-size:15px;
	font-weight:600;
	letter-spacing:0.01em;
	line-height:1.35;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

#sportsbookPage .matchCenter
{
	align-items:center;
	display:flex;
	flex-direction:column;
	flex-shrink:0;
	gap:3px;
	min-width:70px;
}

#sportsbookPage .matchScoreLine
{
	color:#cffdff;
	font-size:22px;
	font-weight:700;
	text-shadow:0px 0px 8px rgba(1, 239, 249, 0.5);
}

#sportsbookPage .matchStatus
{
	color:#888b90;
	font-size:11px;
}

#sportsbookPage .matchStatus.live
{
	align-items:center;
	color:rgb(77, 244, 58);
	display:flex;
	font-weight:700;
	gap:5px;
	justify-content:center;
}

#sportsbookPage .matchStatus.live .liveDot
{
	animation:sbPulseLive 1.5s ease-in-out infinite;
	background:rgb(77, 244, 58);
	border-radius:50%;
	display:inline-block;
	height:7px;
	width:7px;
}

#sportsbookPage .matchPeriod
{
	color:#888b90;
	font-size:10px;
	text-transform:uppercase;
}

#sportsbookPage .matchDateTime
{
	color:#888b90;
	font-size:12px;
	margin-top:6px;
	text-align:center;
}

/* Outright match header (no team2) */
#sportsbookPage .matchInfoOutright
{
	align-items:center;
	display:flex;
	flex-direction:column;
	gap:8px;
	text-align:center;
}

#sportsbookPage .matchInfoOutright .outrightTitle
{
	color:#ffffff;
	font-size:16px;
	font-weight:600;
}

/* ---- Event Timeline Strip ---- */

#sportsbookPage .matchTimeline
{
	margin-top:8px;
}

#sportsbookPage .tlTrack
{
	height:24px;
	position:relative;
}

#sportsbookPage .tlBar
{
	background:#37383d;
	height:2px;
	left:0;
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%);
}

#sportsbookPage .tlMarker
{
	position:absolute;
	transform:translateX(-50%);
}

#sportsbookPage .tlMarker.top
{
	top:0;
}

#sportsbookPage .tlMarker.bottom
{
	bottom:0;
}

#sportsbookPage .tlIcon
{
	font-size:10px;
}

#sportsbookPage .tlLabels
{
	color:#888b90;
	display:flex;
	font-size:9px;
	justify-content:space-between;
}

/* ---- Inline Stat (possession preview in header) ---- */

#sportsbookPage .matchInlineStat
{
	align-items:center;
	display:flex;
	font-size:11px;
	gap:6px;
	margin-top:8px;
}

#sportsbookPage .inlineStatVal
{
	color:#cffdff;
	flex-shrink:0;
	font-weight:600;
	min-width:28px;
	text-align:center;
}

#sportsbookPage .inlineStatBar
{
	background:#37383d;
	border-radius:2px;
	flex:1;
	height:4px;
	overflow:hidden;
}

#sportsbookPage .inlineStatFill
{
	background:#01eff9;
	border-radius:2px;
	height:100%;
}

#sportsbookPage .inlineStatLabel
{
	color:#888b90;
	flex-shrink:0;
	font-size:10px;
}

/* ---- Live Tracker Panel ---- */

#sportsbookPage #divLiveTrackerDesktop
{
	border-bottom:1px solid #37383d;
}

#sportsbookPage #divLiveTrackerDesktop:empty
{
	border-bottom:none;
}

#sportsbookPage #divLiveTrackerMobile
{
	display:none;
	margin-bottom:12px;
}

#sportsbookPage #divLiveTrackerMobile.active
{
	display:none;
}

#sportsbookPage .ltWrapper
{
	background:#292a2f;
	border-radius:8px;
}

#sportsbookPage .ltHeader
{
	align-items:center;
	color:#01eff9;
	cursor:pointer;
	display:flex;
	font-size:13px;
	font-weight:600;
	gap:8px;
	padding:10px 14px;
	user-select:none;
}

#sportsbookPage .ltLiveDot
{
	animation:sbPulseLive 1.5s ease-in-out infinite;
	background:rgb(77, 244, 58);
	border-radius:50%;
	display:inline-block;
	height:8px;
	width:8px;
}

#sportsbookPage .ltToggle
{
	color:#888b90;
	font-size:10px;
	margin-left:auto;
}

#sportsbookPage .ltBody
{
	padding:0 14px 14px;
}

/* Soccer Pitch */
#sportsbookPage .ltPitch
{
	margin-bottom:12px;
}

#sportsbookPage .pitchSvg
{
	border-radius:4px;
	display:block;
	overflow:visible;
	width:100%;
}

/* Event label below pitch */
#sportsbookPage .ltEventLabel
{
	align-items:center;
	animation:ltEventFadeIn 0.4s ease-out;
	background:#1e1f23;
	border-radius:4px;
	display:flex;
	font-size:12px;
	gap:6px;
	margin-top:6px;
	padding:6px 10px;
}

#sportsbookPage .ltEventLabel.ltEventFlash
{
	animation:ltEventFlash 1.5s ease-out;
}

#sportsbookPage .ltEventIcon
{
	flex-shrink:0;
	font-size:14px;
}

#sportsbookPage .ltEventText
{
	color:#c8c9cc;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

@keyframes ltEventFadeIn
{
	from { opacity:0; transform:translateY(-4px); }
	to   { opacity:1; transform:translateY(0); }
}

@keyframes ltEventFlash
{
	0%   { background:#3a4a2a; }
	30%  { background:#1e1f23; }
	100% { background:#1e1f23; }
}

/* Score Tables (Basketball quarters, Tennis sets) */
#sportsbookPage .ltScoreTable
{
	border-collapse:collapse;
	color:#c8c9cc;
	font-size:11px;
	margin-bottom:12px;
	width:100%;
}

#sportsbookPage .ltScoreTable th
{
	color:#888b90;
	font-weight:400;
	padding:4px 6px;
	text-align:center;
}

#sportsbookPage .ltScoreTable td
{
	border-top:1px solid #37383d;
	padding:5px 6px;
	text-align:center;
}

#sportsbookPage .ltScoreTable .ltTeamCell
{
	font-weight:600;
	max-width:100px;
	overflow:hidden;
	text-align:left;
	text-overflow:ellipsis;
	white-space:nowrap;
}

#sportsbookPage .ltScoreTable .ltTotalCell
{
	color:#cffdff;
	font-weight:700;
}

/* Cricket/Rugby Summary */
#sportsbookPage .ltSummary
{
	margin-bottom:12px;
}

#sportsbookPage .ltSummaryRow
{
	align-items:center;
	display:flex;
	justify-content:space-between;
	padding:4px 0;
}

#sportsbookPage .ltSummaryTeam
{
	color:#c8c9cc;
	font-size:12px;
	font-weight:600;
}

#sportsbookPage .ltSummaryScore
{
	color:#cffdff;
	font-size:16px;
	font-weight:700;
}

/* Stats Bars */
#sportsbookPage .ltStats
{
	display:flex;
	flex-direction:column;
	gap:6px;
}

#sportsbookPage .ltStatRow
{
	align-items:center;
	display:flex;
	gap:8px;
}

#sportsbookPage .ltStatVal
{
	color:#c8c9cc;
	flex-shrink:0;
	font-size:11px;
	min-width:24px;
	text-align:center;
}

#sportsbookPage .ltStatCenter
{
	flex:1;
	min-width:0;
}

#sportsbookPage .ltStatLabel
{
	color:#888b90;
	font-size:10px;
	margin-bottom:2px;
	text-align:center;
}

#sportsbookPage .ltStatBar
{
	border-radius:2px;
	display:flex;
	height:4px;
	overflow:hidden;
}

#sportsbookPage .ltStatFill1
{
	background:#01eff9;
	height:100%;
}

#sportsbookPage .ltStatFill2
{
	background:#37383d;
	height:100%;
}

/* Market filter tabs */
#sportsbookPage .marketTabsWrap
{
	align-items:center;
	display:flex;
	gap:6px;
	margin-bottom:16px;
}

#sportsbookPage .marketTabArrow
{
	align-items:center;
	background:#292a2f;
	border:1px solid #37383d;
	border-radius:6px;
	color:#888b90;
	cursor:pointer;
	display:flex;
	flex-shrink:0;
	font-size:10px;
	height:36px;
	justify-content:center;
	transition:all 0.2s;
	width:28px;
}

#sportsbookPage .marketTabArrow:hover
{
	background:#37383d;
	color:#cffdff;
}

#sportsbookPage #divMatchMarketTabs
{
	border:1px solid #37383d;
	border-radius:8px;
	display:flex;
	flex:1;
	gap:0;
	min-width:0;
	overflow-x:auto;
	overflow-y:hidden;
	scrollbar-width:thin;
	scrollbar-color:#37383d transparent;
}

#sportsbookPage #divMatchMarketTabs::-webkit-scrollbar
{
	height:4px;
}

#sportsbookPage #divMatchMarketTabs::-webkit-scrollbar-track
{
	background:transparent;
}

#sportsbookPage #divMatchMarketTabs::-webkit-scrollbar-thumb
{
	background:#37383d;
	border-radius:2px;
}

#sportsbookPage .matchMarketTab
{
	align-items:center;
	background:#292a2f;
	border-right:1px solid #37383d;
	color:#888b90;
	cursor:pointer;
	display:flex;
	flex-shrink:0;
	font-size:12px;
	font-weight:500;
	height:36px;
	padding:0 12px;
	transition:all 0.2s;
	white-space:nowrap;
}

#sportsbookPage .matchMarketTab:hover
{
	color:#cffdff;
}

#sportsbookPage .matchMarketTab.active
{
	background:#6636ab;
	color:#fff;
	font-weight:600;
}

/* Market search */
#sportsbookPage .marketSearchBtn
{
	align-items:center;
	background:#6636ab;
	border:1px solid #6636ab;
	border-radius:8px;
	color:#fff;
	cursor:pointer;
	display:flex;
	flex-shrink:0;
	font-size:12px;
	font-weight:600;
	gap:6px;
	height:36px;
	justify-content:center;
	padding:0 14px;
	transition:all 0.2s;
}

#sportsbookPage .marketSearchBtn:hover
{
	background:#7a47c9;
	border-color:#7a47c9;
}

#sportsbookPage .marketSearchWrap
{
	align-items:center;
	background:#292a2f;
	border:1px solid #37383d;
	border-radius:8px;
	display:flex;
	gap:8px;
	margin-bottom:16px;
	padding:0 12px;
}

#sportsbookPage .marketSearchInput
{
	background:transparent;
	border:none;
	color:#cffdff;
	flex:1;
	font-size:14px;
	height:36px;
	outline:none;
}

#sportsbookPage .marketSearchInput::placeholder
{
	color:#888b90;
}

#sportsbookPage .marketSearchClose
{
	color:#888b90;
	cursor:pointer;
	font-size:14px;
	transition:color 0.2s;
}

#sportsbookPage .marketSearchClose:hover
{
	color:#cffdff;
}

/* Market groups */
#sportsbookPage .marketGroup
{
	background:#292a2f;
	border-radius:10px;
	margin-bottom:12px;
	overflow:hidden;
}

#sportsbookPage .marketGroupHeader
{
	align-items:center;
	color:#ffffff;
	cursor:pointer;
	display:flex;
	font-size:14px;
	font-weight:600;
	justify-content:space-between;
	padding:12px 16px;
	transition:background 0.2s;
}

#sportsbookPage .marketGroupHeader:hover
{
	background:rgba(255, 255, 255, 0.03);
}

#sportsbookPage .marketGroupHeader .mgArrow
{
	color:#888b90;
	font-size:10px;
	transition:transform 0.25s;
}

#sportsbookPage .marketGroup.expanded .marketGroupHeader .mgArrow
{
	transform:rotate(90deg);
}

#sportsbookPage .marketGroupBody
{
	display:none;
	padding:0px 12px 12px;
}

#sportsbookPage .marketGroup.expanded .marketGroupBody
{
	display:block;
}

/* Individual market inside a group */
#sportsbookPage .marketRow
{
	margin-bottom:8px;
}

#sportsbookPage .marketRow:last-child
{
	margin-bottom:0px;
}

#sportsbookPage .marketRowLabel
{
	color:#888b90;
	font-size:15px;
	margin-bottom:4px;
	padding-left:4px;
}

#sportsbookPage .marketRowOdds
{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
}

#sportsbookPage .marketRowOdds .oddsBtn
{
	flex:1 1 0;
	max-width:160px;
	min-height:48px;
	min-width:70px;
	padding:6px 10px;
}

/* Handicap / Over-Under row layout */
#sportsbookPage .marketRowOdds.handicapRow .oddsBtn
{
	flex:1 1 0;
	flex-direction:row;
	justify-content:space-between;
	max-width:none;
	min-height:40px;
}

#sportsbookPage .marketRowOdds.handicapRow .oddsBtn .oddsLabel
{
	color:#cffdff;
	font-size:12px;
	font-weight:600;
}

/* Outright markets (many selections) */
#sportsbookPage .marketRowOdds.outright
{
	display:grid;
	grid-template-columns:1fr 1fr 1fr 1fr;
}

#sportsbookPage .marketRowOdds.outright .oddsBtn
{
	flex-direction:row;
	justify-content:space-between;
	max-width:none;
	min-height:40px;
}

/* ---- Popular Competition Chips ---- */

#sportsbookPage .popularChips
{
	display:none;
	flex-wrap:wrap;
	gap:6px;
	margin-bottom:12px;
	padding:0px 2px;
}

#sportsbookPage .popularChip
{
	align-items:center;
	background:#292a2f;
	border:1px solid #37383d;
	border-radius:16px;
	color:#888b90;
	cursor:pointer;
	display:inline-flex;
	font-size:11px;
	font-weight:500;
	line-height:1;
	padding:5px 12px;
	transition:all 0.2s;
	white-space:nowrap;
}

#sportsbookPage .popularChip:hover
{
	border-color:#555;
	color:#ffffff;
}

#sportsbookPage .popularChip.active
{
	background:linear-gradient(135deg, rgba(1, 239, 249, 0.1), rgba(78, 205, 196, 0.1));
	border-color:#01eff9;
	color:#cffdff;
	font-weight:600;
}

/* ---- Live Toggle Button ---- */

#sportsbookPage .liveToggleBtn
{
	align-items:center;
	background:#292a2f;
	border:1px solid #37383d;
	border-radius:8px;
	color:#888b90;
	cursor:pointer;
	display:inline-flex;
	font-size:13px;
	font-weight:600;
	gap:8px;
	margin-bottom:12px;
	padding:8px 16px;
	transition:all 0.2s;
}

#sportsbookPage .liveToggleBtn:hover:not(.disabled)
{
	border-color:rgb(77, 244, 58);
	color:#ffffff;
}

#sportsbookPage .liveToggleBtn.active
{
	/*background:rgba(244,67,54,0.1);*/
	/*border-color:#f44336;*/
	color:rgb(77, 244, 58);
}

#sportsbookPage .liveToggleBtn.active .liveDot
{
	animation:sbPulseLive 1.5s ease-in-out infinite;
}

#sportsbookPage .liveToggleBtn.disabled
{
	cursor:default;
	opacity:0.4;
}

#sportsbookPage .liveToggleBtn .liveDot
{
	background:rgb(77, 244, 58);
	border-radius:50%;
	height:8px;
	width:8px;
}

#sportsbookPage .liveToggleBtn.disabled .liveDot
{
	background:#888b90;
}

#sportsbookPage .liveToggleSwitchTrack
{
	background:#37383d;
	border-radius:12px;
	flex-shrink:0;
	height:22px;
	margin-left:4px;
	position:relative;
	width:48px;
}

#sportsbookPage .liveToggleBtn.active .liveToggleSwitchTrack
{
	background:rgba(77,244,58,0.15);
}

#sportsbookPage .liveToggleCount
{
	background:#555;
	border-radius:11px;
	color:#888b90;
	font-size:11px;
	height:18px;
	left:2px;
	line-height:18px;
	min-width:18px;
	padding:0px 6px;
	position:absolute;
	text-align:center;
	top:2px;
	transition:left 0.3s ease, background 0.3s, color 0.3s;
}

#sportsbookPage .liveToggleBtn.active .liveToggleCount
{
	background:rgb(77, 244, 58);
	color:#ffffff;
	left:24px;
}

/* ---- Live Games Section ---- */

#sportsbookPage .liveGamesSection
{
	background:#1a1c20;
	/*border:1px solid rgba(244,67,54,0.3);*/
	border:1px solid #37383d;
	border-radius:10px;
	margin-bottom:16px;
	overflow:hidden;
}

#sportsbookPage .liveGamesHeader
{
	align-items:center;
	/*background:rgba(244,67,54,0.08);*/
	/*border-bottom:1px solid rgba(244,67,54,0.2);*/
    border:1px solid #37383d;
	/*color:#f44336;*/
	color:#fff;
	display:flex;
	font-size:13px;
	font-weight:700;
	gap:8px;
	padding:10px 15px;
	text-transform:uppercase;
}

#sportsbookPage .liveGamesHeader .liveDot
{
	animation:sbPulseLive 1.5s ease-in-out infinite;
}

#sportsbookPage .liveGamesCount
{
	background:rgba(77,244,58,0.2);
	border-radius:10px;
	font-size:11px;
	min-width:20px;
	padding:2px 8px;
	text-align:center;
}

/* ---- Empty/Loading States ---- */

#sportsbookPage .emptyState
{
	align-items:center;
	color:#888b90;
	display:flex;
	flex-direction:column;
	gap:10px;
	justify-content:center;
	min-height:200px;
	text-align:center;
}

#sportsbookPage .emptyState .emptyIcon
{
	font-size:40px;
	opacity:0.4;
}

#sportsbookPage .gameListLoader
{
	align-items:center;
	color:rgba(255,255,255,0.5);
	display:flex;
	flex-direction:column;
	font-size:14px;
	gap:12px;
	justify-content:center;
	padding:60px 20px;
}

#sportsbookPage .loaderSpinner
{
	animation:sbSpin 0.8s linear infinite;
	border:3px solid rgba(255,255,255,0.1);
	border-radius:50%;
	border-top-color:#f5a623;
	height:32px;
	width:32px;
}

@keyframes sbSpin
{
	to { transform:rotate(360deg); }
}

/* ---- Bet Slip Panel ---- */

#sportsbookPage #divBetSlipPanel
{
	background:#292a2f;
	border-radius:10px;
	display:flex;
	flex-direction:column;
	grid-column:2;
	grid-row:1;
	max-height:calc(100vh - 250px);
	overflow:hidden;
	padding:0px;
	position:sticky;
	scrollbar-width:thin;
	scrollbar-color:#3f4656 transparent;
	top:120px;
}

/* Panel-level tabs: Bet Slip | Open Bets */
#sportsbookPage .bsPanelTabs
{
	border-bottom:1px solid #37383d;
	display:flex;
}

#sportsbookPage .bsPanelTab
{
	color:#888b90;
	cursor:pointer;
	flex:1;
	font-size:13px;
	font-weight:500;
	padding:12px 8px;
	text-align:center;
	transition:all 0.2s;
}

#sportsbookPage .bsPanelTab:hover
{
	color:#cffdff;
}

#sportsbookPage .bsPanelTab.active
{
	border-bottom:2px solid #cffdff;
	color:#cffdff;
	font-weight:600;
}

#sportsbookPage .bsCollapseBtn
{
	align-items:center;
	color:#888b90;
	cursor:pointer;
	display:flex;
	font-size:10px;
	padding:0px 12px;
	transition:color 0.2s;
}

#sportsbookPage .bsCollapseBtn:hover
{
	color:#cffdff;
}

#sportsbookPage #divBetSlipPanel.collapsed
{
	display:none;
}

#sportsbookPage .bsCollapsedBar
{
	background:#292a2f;
	border-radius:10px 10px 0px 0px;
	bottom:0;
	display:flex;
	position:fixed;
	right:20px;
	z-index:100;
}

#sportsbookPage .bsCollapsedBar .bsPanelTab
{
	color:#888b90;
	cursor:pointer;
	font-size:13px;
	font-weight:500;
	padding:10px 14px;
	transition:color 0.2s;
}

#sportsbookPage .bsCollapsedBar .bsPanelTab.active
{
	color:#cffdff;
	font-weight:600;
}

#sportsbookPage .bsCollapsedBar .bsCollapseBtn
{
	align-items:center;
	color:#888b90;
	cursor:pointer;
	display:flex;
	font-size:10px;
	padding:0px 12px;
	transition:color 0.2s;
}

#sportsbookPage .bsCollapsedBar .bsCollapseBtn:hover
{
	color:#cffdff;
}

#sportsbookPage .bsTabCount
{
	background:#cffdff;
	border-radius:10px;
	color:#1a1b1f;
	display:inline-block;
	font-size:10px;
	font-weight:700;
	line-height:1;
	margin-left:4px;
	min-width:16px;
	padding:2px 5px;
	text-align:center;
}

#sportsbookPage .bsHeader
{
	align-items:center;
	display:flex;
	justify-content:flex-end;
	padding:8px 15px;
}

#sportsbookPage .bsHeader .bsTitle
{
	color:#ffffff;
	font-size:15px;
	font-weight:600;
}

#sportsbookPage .bsHeader .bsCount
{
	background:rgba(1, 239, 249, 0.15);
	border-radius:10px;
	color:#cffdff;
	font-size:11px;
	font-weight:600;
	min-width:20px;
	padding:2px 8px;
	text-align:center;
}

#sportsbookPage .bsHeader .bsClear
{
	color:#888b90;
	cursor:pointer;
	font-size:12px;
	transition:color 0.2s;
}

#sportsbookPage .bsHeader .bsClear:hover
{
	color:#f44336;
}

#sportsbookPage .bsEmpty
{
	color:#888b90;
	font-size:13px;
	padding:40px 15px;
	text-align:center;
}

/* Bet type tabs (Single / Accumulator) */
#sportsbookPage .bsTypeTabs
{
	display:flex;
	gap:0px;
	padding:8px 12px;
}

#sportsbookPage .bsTypeTab
{
	align-items:center;
	background:transparent;
	border:1px solid #3f4656;
	color:#888b90;
	cursor:pointer;
	display:flex;
	flex:1;
	font-size:13px;
	font-weight:600;
	gap:6px;
	justify-content:center;
	padding:8px 0px;
	text-align:center;
	transition:background 0.2s, color 0.2s, border-color 0.2s;
}

#sportsbookPage .bsTypeTab:first-child
{
	border-radius:6px 0px 0px 6px;
}

#sportsbookPage .bsTypeTab:last-child
{
	border-radius:0px 6px 6px 0px;
}

#sportsbookPage .bsTypeTab:hover
{
	color:#cffdff;
}

#sportsbookPage .bsTypeTab.active
{
	/*background:rgba(1, 239, 249, 0.08);*/
	border-color:#966dff;
	color:#cffdff;
}

#sportsbookPage .bsTypeTab.disabled
{
	color:#555;
	cursor:not-allowed;
	opacity:0.5;
}

#sportsbookPage .bsTypeCount
{
	align-items:center;
	background:#220656;
	border-radius:10px;
	display:inline-flex;
	font-size:11px;
	height:18px;
	justify-content:center;
	min-width:18px;
	padding:0px 5px;
}

#sportsbookPage .bsTypeTab.active .bsTypeCount
{
	background:#220656;
}

/* Selection items */
#sportsbookPage .bsSelections
{
	max-height:400px;
	overflow-y:auto;
	padding:0px 12px;
}

#sportsbookPage .bsSelection
{
	background:#1a1c20;
	border-bottom:1px solid rgba(55, 56, 61, 0.5);
	border-radius:6px;
	margin-bottom:6px;
	padding:10px;
}

#sportsbookPage .bsSelection:last-child
{
	margin-bottom:0;
}

#sportsbookPage .bsSelTop
{
	align-items:flex-start;
	display:flex;
	justify-content:space-between;
}

#sportsbookPage .bsSelInfo
{
	flex:1;
	min-width:0;
}

#sportsbookPage .bsSelMatch
{
	color:#ffffff;
	font-size:12px;
	font-weight:600;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

#sportsbookPage .bsSelMarket
{
	color:#888b90;
	font-size:11px;
	margin-top:2px;
}

#sportsbookPage .bsSelBottom
{
	align-items:center;
	display:flex;
	justify-content:space-between;
	margin-top:6px;
}

#sportsbookPage .bsSelEvent
{
	color:#cffdff;
	font-size:13px;
	font-weight:600;
}

#sportsbookPage .bsSelOdds
{
	color:#ffffff;
	flex-shrink:0;
	font-size:14px;
	font-weight:700;
}

#sportsbookPage .bsSelOdds.changed
{
	color:#ffa657;
}

#sportsbookPage .bsSelRemove
{
	color:#888b90;
	cursor:pointer;
	flex-shrink:0;
	font-size:14px;
	margin-left:8px;
	transition:color 0.2s;
}

#sportsbookPage .bsSelRemove:hover
{
	color:#f44336;
}

/* Stake input row */
#sportsbookPage .bsStakeRow
{
	margin-top:8px;
}

#sportsbookPage .bsStakeInputWrap
{
	align-items:center;
	background:#37383d;
	border:1px solid #3f4656;
	border-radius:6px;
	display:flex;
	padding:0px 10px;
	transition:border-color 0.2s;
}

#sportsbookPage .bsStakeInputWrap:focus-within
{
	border-color:#cffdff;
}

#sportsbookPage .bsStakeLabel
{
	color:#888b90;
	flex-shrink:0;
	font-size:13px;
	font-weight:600;
}

#sportsbookPage .bsStakeInput
{
	-moz-appearance:textfield;
	background:transparent;
	border:none;
	color:#ffffff;
	font-size:13px;
	outline:none;
	padding:8px 6px;
	text-align:right;
	width:100%;
}

#sportsbookPage .bsStakeInput::-webkit-outer-spin-button,
#sportsbookPage .bsStakeInput::-webkit-inner-spin-button
{
	-webkit-appearance:none;
	margin:0;
}

#sportsbookPage .bsSelPotWin
{
	color:#888b90;
	font-size:11px;
	margin-top:4px;
	text-align:right;
}

#sportsbookPage .bsSelPotWin strong
{
	color:#cffdff;
}

/* Footer: total + place bet */
#sportsbookPage .bsFooter
{
	border-top:1px solid #37383d;
	padding:12px;
}

#sportsbookPage .bsSummaryRow
{
	align-items:center;
	display:flex;
	font-size:13px;
	justify-content:space-between;
	margin-bottom:6px;
}

#sportsbookPage .bsSummaryRow .bsLabel
{
	color:#888b90;
}

#sportsbookPage .bsSummaryRow .bsValue
{
	color:#ffffff;
	font-weight:600;
}

#sportsbookPage .bsSummaryRow .bsValue.highlight
{
	color:#cffdff;
	text-shadow:0px 0px 5px rgba(1, 239, 249, 0.5);
}

/* Odds acceptance selector */

#sportsbookPage .bsAcceptOdds
{
	align-items:center;
	display:flex;
	justify-content:space-between;
	margin-bottom:10px;
	margin-top:4px;
}

#sportsbookPage .bsAcceptLabel
{
	color:#888b90;
	font-size:12px;
}

#sportsbookPage .bsAcceptOptions
{
	display:flex;
	gap:4px;
}

#sportsbookPage .bsAcceptOpt
{
	background:#1e2128;
	border:1px solid #37383d;
	border-radius:4px;
	color:#888b90;
	cursor:pointer;
	font-size:11px;
	padding:4px 10px;
	transition:all 0.15s;
}

#sportsbookPage .bsAcceptOpt:hover
{
	border-color:#555;
	color:#ccc;
}

#sportsbookPage .bsAcceptOpt.active
{
	/*background:rgba(1, 239, 249, 0.12);*/
	border-color:#966dff;
	color:#fff;
}

#sportsbookPage .bsPlaceBtn
{
	align-items:center;
	background:#7a47c9;
	border:none;
	border-radius:8px;
	color:#fff;
	cursor:pointer;
	display:flex;
	font-size:14px;
	font-weight:700;
	height:44px;
	justify-content:center;
	margin-top:8px;
	transition:opacity 0.2s, box-shadow 0.2s;
	width:100%;
}

#sportsbookPage .bsPlaceBtn:hover
{
	box-shadow:0px 0px 15px #966dff;
}

#sportsbookPage .bsPlaceBtn:disabled
{
	cursor:not-allowed;
	opacity:0.4;
}

#sportsbookPage .bsPlaceBtn.placing
{
	opacity:0.6;
	pointer-events:none;
}

/* Bet result message */
#sportsbookPage .bsMessage
{
	border-radius:6px;
	font-size:13px;
	margin-top:8px;
	padding:10px 12px;
	text-align:center;
}

#sportsbookPage .bsMessage.success
{
	background:rgba(76, 175, 80, 0.15);
	color:#4caf50;
}

#sportsbookPage .bsMessage.error
{
	background:rgba(244, 67, 54, 0.15);
	color:#f44336;
}

/* ---- Open Bets ---- */

#sportsbookPage .obList
{
	max-height:calc(100vh - 370px);
	overflow-y:auto;
	padding:8px 12px;
	scrollbar-width:thin;
	scrollbar-color:#3f4656 transparent;
}

#sportsbookPage .obBet
{
	background:#1f2024;
	border:1px solid #37383d;
	border-radius:8px;
	margin-bottom:10px;
	overflow:hidden;
}

#sportsbookPage .obBetHeader
{
	align-items:center;
	border-bottom:1px solid #37383d;
	display:flex;
	justify-content:space-between;
	padding:10px 12px;
}

#sportsbookPage .obBetType
{
	color:#cffdff;
	font-size:12px;
	font-weight:600;
	text-transform:uppercase;
}

#sportsbookPage .obBetStake
{
	color:#ffffff;
	font-size:13px;
	font-weight:600;
}

#sportsbookPage .obEvent
{
	align-items:center;
	border-bottom:1px solid rgba(55, 56, 61, 0.5);
	display:flex;
	gap:8px;
	justify-content:space-between;
	padding:8px 12px;
}

#sportsbookPage .obEvent:last-child
{
	border-bottom:none;
}

#sportsbookPage .obEvent.won .obEventName
{
	color:#4caf50;
}

#sportsbookPage .obEvent.lost .obEventName
{
	color:#f44336;
	text-decoration:line-through;
}

#sportsbookPage .obEventInfo
{
	min-width:0;
}

#sportsbookPage .obEventName
{
	color:#ffffff;
	font-size:12px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

#sportsbookPage .obGameName
{
	color:#888b90;
	font-size:11px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

#sportsbookPage .obEventOdds
{
	color:#cffdff;
	flex-shrink:0;
	font-size:13px;
	font-weight:600;
}

#sportsbookPage .obBetFooter
{
	align-items:center;
	border-top:1px solid #37383d;
	display:flex;
	gap:8px;
	justify-content:space-between;
	padding:10px 12px;
}

#sportsbookPage .obPossibleWin
{
	color:#888b90;
	font-size:12px;
}

#sportsbookPage .obPossibleWin strong
{
	color:#ffffff;
}

#sportsbookPage .obCashoutBtn
{
	background:linear-gradient(135deg, #cffdff 0%, #a8e6cf 100%);
	border:none;
	border-radius:6px;
	color:#1a1b1f;
	cursor:pointer;
	flex-shrink:0;
	font-size:12px;
	font-weight:700;
	padding:8px 14px;
	transition:all 0.2s;
}

#sportsbookPage .obCashoutBtn:hover
{
	box-shadow:0px 0px 10px rgba(207, 253, 255, 0.3);
	transform:scale(1.02);
}

#sportsbookPage .obCashoutBtn:disabled
{
	cursor:not-allowed;
	opacity:0.6;
	transform:none;
}

#sportsbookPage .obCashoutBtn.success
{
	background:#4caf50;
	color:#ffffff;
}

/* ---- Mobile Sidebar Drawer (hidden on desktop) ---- */

#sportsbookPage #divSidebarBackdrop
{
	display:none;
}

#sportsbookPage #btnMobileSidebar
{
	display:none;
}

/* ============================================
   MEDIA QUERIES
   ============================================ */

/* Hide handicap + O/U columns when menu is visible (1200px-1900px) */
@media (min-width: 1201px) and (max-width: 1900px)
{
	#sportsbookPage .marketHeaders
	{
		grid-template-columns:1fr 260px 44px;
	}

	#sportsbookPage .gameRow
	{
		grid-template-columns:1fr 260px 44px;
	}

	#sportsbookPage .marketHeaders .mktLabel:nth-child(3),
	#sportsbookPage .marketHeaders .mktLabel:nth-child(4),
	#sportsbookPage .gameRow .marketCell:nth-child(3),
	#sportsbookPage .gameRow .marketCell:nth-child(4)
	{
		display:none;
	}
}

/* Hide sidebar + betslip, show competitions button when space is tight */
@media (min-width: 1201px) and (max-width: 1500px)
{
	#sportsbookPage #divMainContent
	{
		grid-template-columns:1fr;
	}

	#sportsbookPage #divSportContent
	{
		grid-template-columns:1fr;
	}

	#sportsbookPage #divSportSidebar
	{
		background:#1a1b1f;
		border-radius:0;
		border-right:1px solid #37383d;
		height:100%;
		left:0;
		max-height:100%;
		overflow-y:auto;
		padding:60px 0px 20px;
		position:fixed;
		top:0;
		transform:translateX(-100%);
		transition:transform 0.3s ease;
		width:280px;
		z-index:1001;
	}

	#sportsbookPage #divSportSidebar.drawerOpen
	{
		transform:translateX(0);
	}

	#sportsbookPage #divSidebarBackdrop
	{
		background:rgba(0,0,0,0.6);
		display:none;
		height:100%;
		left:0;
		position:fixed;
		top:0;
		width:100%;
		z-index:1000;
	}

	#sportsbookPage #divSidebarBackdrop.active
	{
		display:block;
	}

	#sportsbookPage #divBetSlipPanel
	{
		display:none;
	}

	#sportsbookPage #divBetSlipPanel.mobileOpen
	{
		bottom:90px;
		display:flex;
		left:0;
		max-height:calc(100vh - 140px);
		overflow-y:auto;
		position:fixed;
		right:0;
		top:50px;
		z-index:9;
		border-radius:0;
		background:#1e1f23;
	}

	#sportsbookPage .bsCollapseBtn
	{
		font-size:16px;
	}

	#sportsbookPage .bsCollapsedBar
	{
		display:none;
	}

	#sportsbookPage #btnMobileSidebar
	{
		align-items:center;
		background:#292a2f;
		border:1px solid #37383d;
		border-radius:8px;
		color:#cffdff;
		cursor:pointer;
		display:flex;
		font-size:14px;
		gap:6px;
		margin-bottom:12px;
		padding:10px 16px;
		width:fit-content;
	}
}

@media (max-width: 1200px)
{
	#sportsbookPage
	{
		padding:0px 30px 50px;
	}

	#sportsbookPage #divMainContent
	{
		grid-template-columns:1fr;
	}

	#sportsbookPage #divSportContent
	{
		grid-template-columns:220px 1fr;
	}

	#sportsbookPage #divBetSlipPanel
	{
		display:none;
	}

	#sportsbookPage #divBetSlipPanel.mobileOpen
	{
		bottom:90px;
		display:flex;
		left:0;
		max-height:calc(100vh - 140px);
		overflow-y:auto;
		position:fixed;
		right:0;
		top:50px;
		z-index:9;
		border-radius:0;
		background:#1e1f23;
	}

	#sportsbookPage .bsCollapseBtn
	{
		font-size:16px;
	}

	#sportsbookPage .bsCollapsedBar
	{
		display:none;
	}

	#sportsbookPage .marketTabArrow
	{
		display:none;
	}

	#sportsbookPage #divMatchMarketTabs
	{
		scrollbar-width:none;
	}

	#sportsbookPage #divMatchMarketTabs::-webkit-scrollbar
	{
		display:none;
	}

	/* Hide handicap + O/U columns */
	#sportsbookPage .marketHeaders
	{
		grid-template-columns:1fr 260px 44px;
	}

	#sportsbookPage .gameRow
	{
		grid-template-columns:1fr 260px 44px;
	}

	#sportsbookPage .marketHeaders .mktLabel:nth-child(3),
	#sportsbookPage .marketHeaders .mktLabel:nth-child(4),
	#sportsbookPage .gameRow .marketCell:nth-child(3),
	#sportsbookPage .gameRow .marketCell:nth-child(4)
	{
		display:none;
	}

	#sportsbookPage .marketRowOdds.outright
	{
		grid-template-columns:1fr 1fr 1fr;
	}
}

/* ============================================
   SEARCH MODAL
   ============================================ */

#divSearchModal
{
	animation:searchModalFadeIn 0.25s;
	height:100%;
	left:0;
	position:fixed;
	top:0;
	width:100%;
	z-index:200;
}

#divSearchModal .searchModalOverlay
{
	background:rgba(0,0,0,0.75);
	height:100%;
	left:0;
	position:absolute;
	top:0;
	width:100%;
}

#divSearchModal .searchModalPopup
{
	background:#1b1c20;
	border-radius:10px;
	box-shadow:0px 0px 50px rgba(0,0,0,0.5);
	display:flex;
	flex-direction:column;
	left:50%;
	max-height:80vh;
	max-width:600px;
	overflow:hidden;
	position:absolute;
	top:50%;
	transform:translate(-50%,-50%);
	width:90%;
}

#divSearchModal .searchModalHeader
{
	align-items:center;
	border-bottom:1px solid #37383d;
	display:flex;
	justify-content:space-between;
	padding:16px 20px;
}

#divSearchModal .searchModalTitle
{
	color:#ffffff;
	font-size:18px;
	font-weight:600;
}

#divSearchModal .searchModalClose
{
	color:#888b90;
	cursor:pointer;
	font-size:24px;
	line-height:1;
	transition:color 0.2s;
}

#divSearchModal .searchModalClose:hover
{
	color:#ffffff;
}

#divSearchModal .searchModalInputWrap
{
	align-items:center;
	background:#292a2f;
	border:1px solid #3f4656;
	border-radius:8px;
	color:#888b90;
	display:flex;
	gap:8px;
	margin:16px 20px 0px;
	padding:10px 12px;
	transition:border-color 0.2s;
}

#divSearchModal .searchModalInputWrap:focus-within
{
	border-color:#4ecdc4;
}

#divSearchModal .searchModalInputIcon
{
	flex-shrink:0;
}

#divSearchModal .searchModalInput
{
	background:none;
	border:none;
	color:#ffffff;
	flex:1;
	font-size:14px;
	outline:none;
	width:100%;
}

#divSearchModal .searchModalInput::placeholder
{
	color:#888b90;
}

#divSearchModal .searchModalBody
{
	flex:1;
	overflow-y:auto;
	padding:12px 0px;
	scrollbar-width:thin;
	scrollbar-color:#3f4656 transparent;
}

#divSearchModal .searchModalBody::-webkit-scrollbar
{
	width:4px;
}

#divSearchModal .searchModalBody::-webkit-scrollbar-thumb
{
	background:#3f4656;
	border-radius:2px;
}

#divSearchModal .searchModalEmpty
{
	color:#888b90;
	font-size:14px;
	padding:20px;
	text-align:center;
}

#divSearchModal .searchModalLoading
{
	color:#888b90;
	font-size:14px;
	padding:20px;
	text-align:center;
}

/* Recent searches */
#divSearchModal .recentSearchHeader
{
	align-items:center;
	color:#888b90;
	display:flex;
	font-size:12px;
	font-weight:600;
	justify-content:space-between;
	letter-spacing:0.5px;
	padding:4px 20px 8px;
	text-transform:uppercase;
}

#divSearchModal .recentSearchClear
{
	color:#4ecdc4;
	cursor:pointer;
	font-weight:400;
	text-transform:none;
	transition:color 0.2s;
}

#divSearchModal .recentSearchClear:hover
{
	color:#ffffff;
}

#divSearchModal .recentSearchItem
{
	color:#cccccc;
	cursor:pointer;
	font-size:14px;
	padding:10px 20px;
	transition:background 0.15s, color 0.15s;
}

#divSearchModal .recentSearchItem:hover
{
	background:#292a2f;
	color:#ffffff;
}

/* Search results */
#divSearchModal .searchCompHeader
{
	align-items:center;
	color:#888b90;
	display:flex;
	font-size:12px;
	font-weight:600;
	gap:6px;
	letter-spacing:0.5px;
	padding:12px 20px 6px;
	text-transform:uppercase;
}

#divSearchModal .searchCompIcon
{
	font-size:14px;
}

#divSearchModal .searchGameRow
{
	display:flex;
	align-items:center;
	gap:8px;
	padding:8px 20px;
	transition:background 0.15s;
}

#divSearchModal .searchGameRow:hover
{
	background:#292a2f;
}

#divSearchModal .searchEventInfo
{
	flex:1;
	min-width:0;
}

#divSearchModal .searchMarketCell
{
	display:flex;
	gap:4px;
	flex-shrink:0;
}

@keyframes searchModalFadeIn
{
	0%   { opacity:0; }
	100% { opacity:1; }
}

@media (max-width: 800px)
{
	#divAppContent
	{
		height:calc(100% - 70px);
		margin-bottom:30px;
		min-height:auto;
		overflow-y:auto;
	}

	#sportsbookPage
	{
		padding:0px 10px 50px;
	}

	#sportsbookPage #divGameTypeToggle
	{
		display:none;
	}

	#sportsbookPage .popularChips
	{
		display:flex;
		flex-wrap:wrap;
	}

	#sportsbookPage #divMainContent
	{
		grid-template-columns:1fr;
	}

	#sportsbookPage #divSportContent
	{
		grid-template-columns:1fr;
	}

	#sportsbookPage #divSportSidebar
	{
		background:#1a1b1f;
		border-radius:0;
		border-right:1px solid #37383d;
		height:100%;
		left:0;
		max-height:100%;
		overflow-y:auto;
		padding:60px 0px 20px;
		position:fixed;
		top:0;
		transform:translateX(-100%);
		transition:transform 0.3s ease;
		width:280px;
		z-index:1001;
	}

	#sportsbookPage #divSportSidebar.drawerOpen
	{
		transform:translateX(0);
	}

	#sportsbookPage #divSidebarBackdrop
	{
		background:rgba(0,0,0,0.6);
		display:none;
		height:100%;
		left:0;
		position:fixed;
		top:0;
		width:100%;
		z-index:1000;
	}

	#sportsbookPage #divSidebarBackdrop.active
	{
		display:block;
	}

	#sportsbookPage #btnMobileSidebar
	{
		align-items:center;
		background:#292a2f;
		border:1px solid #37383d;
		border-radius:8px;
		color:#cffdff;
		cursor:pointer;
		display:flex;
		font-size:13px;
		font-weight:600;
		gap:6px;
		margin-bottom:12px;
		padding:10px 16px;
		transition:all 0.2s;
	}

	#sportsbookPage #btnMobileSidebar:hover
	{
		border-color:#cffdff;
		box-shadow:0px 0px 5px rgba(1,239,249,0.3);
	}

	/* Show only 1X2 on mobile */
	#sportsbookPage .marketHeaders
	{
		grid-template-columns:1fr 180px 36px;
	}

	#sportsbookPage .gameRow
	{
		grid-template-columns:1fr 180px 36px;
	}

	#sportsbookPage .marketHeaders .mktLabel:nth-child(3),
	#sportsbookPage .marketHeaders .mktLabel:nth-child(4),
	#sportsbookPage .gameRow .marketCell:nth-child(3),
	#sportsbookPage .gameRow .marketCell:nth-child(4)
	{
		display:none;
	}

	#sportsbookPage .eventInfo
	{
		padding:8px 10px;
		gap:8px;
	}

	#sportsbookPage .oddsBtn
	{
		font-size:11px;
		min-height:36px;
		min-width:0;
		padding:6px 6px;
	}

	/* Match detail mobile */
	#sportsbookPage .matchTeam .teamName
	{
		font-size:13px;
	}

	#sportsbookPage .matchScoreLine
	{
		font-size:18px;
	}

	#sportsbookPage .matchInfo
	{
		gap:10px;
	}

	/* Show mobile tracker; desktop tracker hidden via bet slip panel display:none */
	#sportsbookPage #divLiveTrackerMobile.active
	{
		display:block;
	}

	#sportsbookPage .marketRowOdds .oddsBtn
	{
		min-width:60px;
		max-width:none;
	}

	#sportsbookPage .marketRowOdds.outright
	{
		grid-template-columns:1fr 1fr;
	}

	/* Search modal mobile */
	#divSearchModal .searchModalPopup
	{
		border-radius:0;
		height:100%;
		left:0;
		max-height:100vh;
		max-width:100%;
		top:0;
		transform:none;
		width:100%;
	}
}

@media (max-width: 600px)
{
	#sportsbookPage .sportItem
	{
		min-width:78px;
		padding:11px 13px;
	}

	#sportsbookPage .sportItem.hasImage
	{
		height:114px;
		min-width:108px;
		padding:0;
		width:108px;
	}

	#sportsbookPage .sportItem.hasImage .sportName
	{
		font-size:10px;
	}

	#sportsbookPage .teamHome,
	#sportsbookPage .teamAway
	{
		font-size:12px;
	}

	#sportsbookPage .gameTime
	{
		font-size:10px;
		min-width:36px;
	}

	#sportsbookPage .marketRowOdds.outright
	{
		grid-template-columns:1fr;
	}
}
