:root {
	--ebs-navy: #0d234d;
	--ebs-navy-2: #142f62;
	--ebs-orange: #eb6a2a;
	--ebs-orange-soft: #fff2eb;
	--ebs-blue-soft: #edf3ff;
	--ebs-red: #d95454;
	--ebs-red-soft: #fff0f0;
	--ebs-text: #13213d;
	--ebs-muted: #647089;
	--ebs-border: #e4e8ef;
	--ebs-surface: #ffffff;
}

.ebs-standings-page {
	background: #f5f6f8;
}

.ebs-site-main {
	width: 100%;
}

.ebs-page,
.ebs-page * {
	box-sizing: border-box;
}

.ebs-page {
	width: min(1180px, calc(100% - 40px));
	margin: 52px auto 72px;
	color: var(--ebs-text);
}

.ebs-hero {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	min-height: 250px;
	padding: 44px 48px;
	overflow: hidden;
	border-radius: 20px;
	background: linear-gradient(135deg, #081a3c 0%, var(--ebs-navy-2) 100%);
	box-shadow: 0 18px 50px rgba(13, 35, 77, 0.18);
	color: #fff;
}

.ebs-hero::after {
	position: absolute;
	right: -60px;
	top: -140px;
	width: 420px;
	height: 420px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	content: "";
}

.ebs-hero__ball {
	position: absolute;
	right: 95px;
	top: -38px;
	width: 190px;
	height: 190px;
	border: 3px solid rgba(235, 106, 42, 0.65);
	border-radius: 50%;
	opacity: 0.65;
	transform: rotate(-18deg);
}

.ebs-hero__ball::before,
.ebs-hero__ball::after {
	position: absolute;
	content: "";
	background: rgba(235, 106, 42, 0.65);
}

.ebs-hero__ball::before {
	left: 50%;
	top: -4px;
	width: 3px;
	height: calc(100% + 8px);
}

.ebs-hero__ball::after {
	left: -4px;
	top: 50%;
	width: calc(100% + 8px);
	height: 3px;
}

.ebs-hero__content,
.ebs-hero__meta {
	position: relative;
	z-index: 1;
}

.ebs-eyebrow,
.ebs-card__kicker,
.ebs-section-heading span {
	display: block;
	margin-bottom: 9px;
	color: var(--ebs-orange);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.ebs-hero h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(38px, 6vw, 66px);
	font-weight: 900;
	letter-spacing: -0.04em;
	line-height: 0.95;
}

.ebs-hero p {
	max-width: 630px;
	margin: 20px 0 0;
	color: rgba(255, 255, 255, 0.75);
	font-size: 16px;
}

.ebs-hero__meta {
	display: flex;
	flex-direction: column;
	gap: 9px;
	align-items: flex-end;
}

.ebs-hero__meta span {
	display: inline-flex;
	padding: 9px 14px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.ebs-league-picker {
	display: flex;
	flex-direction: column;
	margin: 24px 0;
	overflow: hidden;
	border: 1px solid var(--ebs-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 7px 24px rgba(16, 34, 67, 0.04);
}

.ebs-league-picker__row {
	display: flex;
	gap: 18px;
	align-items: center;
	padding: 12px 14px 12px 20px;
}

.ebs-league-picker__row + .ebs-league-picker__row {
	border-top: 1px solid var(--ebs-border);
}

.ebs-league-picker__label {
	flex: 0 0 205px;
	color: var(--ebs-muted);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ebs-league-picker__options {
	display: flex;
	flex: 1;
	gap: 7px;
	overflow-x: auto;
	scrollbar-width: thin;
}

.ebs-league-picker__options a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 14px;
	border: 1px solid #e5e8ee;
	border-radius: 9px;
	background: #f7f8fa;
	color: var(--ebs-navy);
	font-size: 11px;
	font-weight: 850;
	text-decoration: none;
	white-space: nowrap;
	transition: 150ms ease;
}

.ebs-league-picker__options a:hover {
	border-color: #c8d0de;
	background: #fff;
	color: var(--ebs-orange);
}

.ebs-league-picker__options a.is-active {
	border-color: var(--ebs-orange);
	background: var(--ebs-orange);
	box-shadow: 0 6px 16px rgba(235, 106, 42, 0.2);
	color: #fff;
}

.ebs-summary {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	margin: 0 0 24px;
	overflow: hidden;
	border: 1px solid var(--ebs-border);
	border-radius: 14px;
	background: var(--ebs-border);
}

.ebs-summary > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 18px 22px;
	background: #fff;
}

.ebs-summary strong {
	color: var(--ebs-navy);
	font-size: 24px;
	line-height: 1.2;
}

.ebs-summary span {
	color: var(--ebs-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ebs-card {
	overflow: hidden;
	border: 1px solid var(--ebs-border);
	border-radius: 16px;
	background: var(--ebs-surface);
	box-shadow: 0 14px 40px rgba(16, 34, 67, 0.07);
}

.ebs-card__header,
.ebs-section-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.ebs-card__header {
	padding: 24px 28px;
	border-bottom: 1px solid var(--ebs-border);
}

.ebs-card__header h2,
.ebs-section-heading h2 {
	margin: 0;
	color: var(--ebs-navy);
	font-size: 25px;
	font-weight: 850;
	letter-spacing: -0.025em;
}

.ebs-live {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	padding: 7px 10px;
	border-radius: 999px;
	background: #eefaf3;
	color: #268553;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.ebs-live i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #31ad6c;
	box-shadow: 0 0 0 4px rgba(49, 173, 108, 0.12);
}

.ebs-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ebs-table {
	width: 100%;
	min-width: 850px;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	font-variant-numeric: tabular-nums;
}

.ebs-table th,
.ebs-table td {
	padding: 15px 12px;
	border: 0;
	border-bottom: 1px solid #edf0f4;
	text-align: center;
}

.ebs-table thead th {
	background: #f7f8fa;
	color: #798298;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ebs-table tbody tr {
	position: relative;
	transition: background 150ms ease;
}

.ebs-table tbody tr:hover {
	background: #fafbfc;
}

/* Blocksy can collapse the inherited table-cell font size to zero. */
.ebs-table tbody td {
	color: var(--ebs-text);
	font-size: 13px;
	font-weight: 650;
}

.ebs-table tbody tr:last-child th,
.ebs-table tbody tr:last-child td {
	border-bottom: 0;
}

.ebs-table .ebs-col-position {
	width: 62px;
	padding-left: 18px;
}

.ebs-table tbody .ebs-col-position span {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 9px;
	background: #f0f2f6;
	color: var(--ebs-navy);
	font-size: 12px;
	font-weight: 900;
}

.ebs-table .ebs-col-team {
	min-width: 220px;
	text-align: left;
}

.ebs-table tbody .ebs-col-team {
	font-size: 13px;
	font-weight: 800;
}

.ebs-table .ebs-col-team a,
.ebs-table .ebs-col-team > span {
	color: var(--ebs-text);
	text-decoration: none;
}

.ebs-table .ebs-col-team a:hover {
	color: var(--ebs-orange);
}

.ebs-table .ebs-col-points {
	width: 70px;
	background: rgba(13, 35, 77, 0.025);
}

.ebs-table .ebs-col-points strong {
	color: var(--ebs-navy);
	font-size: 17px;
}

.ebs-table tr.is-leader .ebs-col-position span {
	background: var(--ebs-orange);
	color: #fff;
}

.ebs-table tr.is-top-four .ebs-col-position span {
	background: var(--ebs-navy);
	color: #fff;
}

.ebs-table tr.is-bottom .ebs-col-position span {
	background: var(--ebs-red-soft);
	color: var(--ebs-red);
}

.ebs-table tr.is-playoffs .ebs-col-position span {
	background: var(--ebs-navy);
	color: #fff;
}

.ebs-table tr.is-playoffs-secondary .ebs-col-position span {
	background: #4f78bd;
	color: #fff;
}

.ebs-table tr.is-playout .ebs-col-position span {
	background: var(--ebs-orange-soft);
	color: var(--ebs-orange);
}

.ebs-table tr.is-relegation .ebs-col-position span {
	background: var(--ebs-red-soft);
	color: var(--ebs-red);
}

.ebs-form {
	display: inline-flex;
	gap: 4px;
}

.ebs-form__dot {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #dfe3e9;
}

.ebs-form__dot.is-win { background: #31ad6c; }
.ebs-form__dot.is-loss { background: var(--ebs-red); }

.ebs-table-note {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
	padding: 17px 28px;
	border-top: 1px solid var(--ebs-border);
	background: #fbfcfd;
}

.ebs-table-note p {
	margin: 0;
	color: var(--ebs-muted);
	font-size: 11px;
}

.ebs-table-note__copy {
	display: flex;
	max-width: 510px;
	flex-direction: column;
	gap: 4px;
	text-align: right;
}

.ebs-table-note p.ebs-rules-note {
	color: var(--ebs-text);
	font-size: 11px;
	font-weight: 800;
}

.ebs-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.ebs-legend span {
	display: inline-flex;
	gap: 7px;
	align-items: center;
	color: var(--ebs-muted);
	font-size: 11px;
	font-weight: 700;
}

.ebs-legend i {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 2px;
}

.ebs-legend i.is-leader { background: var(--ebs-orange); }
.ebs-legend i.is-top-four { background: var(--ebs-navy); }
.ebs-legend i.is-bottom { background: var(--ebs-red); }
.ebs-legend i.is-playoffs { background: var(--ebs-navy); }
.ebs-legend i.is-playoffs-secondary { background: #4f78bd; }
.ebs-legend i.is-playout { background: var(--ebs-orange); }
.ebs-legend i.is-relegation { background: var(--ebs-red); }

.ebs-results {
	margin-top: 46px;
}

.ebs-section-heading {
	margin-bottom: 20px;
}

.ebs-results__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}

.ebs-result-card {
	padding: 18px;
	border: 1px solid var(--ebs-border);
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 7px 24px rgba(16, 34, 67, 0.04);
}

.ebs-result-card__meta,
.ebs-result-card__team {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.ebs-result-card__meta {
	margin-bottom: 13px;
	padding-bottom: 10px;
	border-bottom: 1px solid #edf0f4;
	color: var(--ebs-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.ebs-result-card__team {
	gap: 12px;
	padding: 4px 0;
	color: var(--ebs-text);
	font-size: 12px;
	font-weight: 750;
}

.ebs-result-card__team strong {
	font-size: 19px;
}

.ebs-empty {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 24px;
	padding: 22px 25px;
	border: 1px dashed #d8dde6;
	border-radius: 14px;
	background: #fff;
}

.ebs-empty strong { color: var(--ebs-navy); }
.ebs-empty span { color: var(--ebs-muted); font-size: 13px; }

@media (max-width: 860px) {
	.ebs-hero {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 36px 30px;
	}
	.ebs-hero__meta { align-items: flex-start; }
	.ebs-summary { grid-template-columns: repeat(2, 1fr); }
	.ebs-results__grid { grid-template-columns: repeat(2, 1fr); }
	.ebs-table-note { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 620px) {
	.ebs-page { width: min(100% - 22px, 1180px); margin-top: 24px; }
	.ebs-hero { min-height: 0; border-radius: 14px; padding: 30px 22px; }
	.ebs-hero__ball { right: -38px; top: -60px; }
	.ebs-hero p { font-size: 14px; }
	.ebs-league-picker { align-items: stretch; }
	.ebs-league-picker__row { align-items: stretch; flex-direction: column; gap: 9px; padding: 13px; }
	.ebs-league-picker__label { flex: 0 0 auto; padding-left: 2px; }
	.ebs-league-picker__options { width: 100%; padding-bottom: 3px; }
	.ebs-summary > div { padding: 15px; }
	.ebs-summary strong { font-size: 20px; }
	.ebs-card { border-radius: 13px; }
	.ebs-card__header { padding: 20px 18px; }
	.ebs-live { display: none; }
	.ebs-table { min-width: 610px; }
	.ebs-table th, .ebs-table td { padding: 13px 8px; }
	.ebs-table .ebs-col-position { position: sticky; left: 0; z-index: 2; width: 48px; padding-left: 8px; background: #fff; }
	.ebs-table .ebs-col-team { position: sticky; left: 48px; z-index: 2; min-width: 180px; background: #fff; }
	.ebs-table thead .ebs-col-position, .ebs-table thead .ebs-col-team { z-index: 3; background: #f7f8fa; }
	.ebs-table .ebs-col-pf, .ebs-table .ebs-col-pa, .ebs-table .ebs-col-diff { display: none; }
	.ebs-table-note { padding: 15px 18px; }
	.ebs-table-note__copy { max-width: none; text-align: left; }
	.ebs-results__grid { grid-template-columns: 1fr; }
}
