.tcdb-playoff-bracket-wrap {
	display: flow-root;
	width: 100%;
	padding: 10px 12px 22px;
	margin: 0 0 24px;
	clear: both;
	font-family: Arial, Helvetica, sans-serif;
	background: linear-gradient(180deg, #f4f8fb 0%, #ffffff 65%);
	border-radius: 18px;
}

.tcdb-playoff-empty {
	margin: 0;
	padding: 12px;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 10px;
	color: #50575e;
}

.tcdb-playoff-centered {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(84px, 0.44fr) minmax(0, 1fr);
	gap: 7px;
	align-items: start;
	width: 100%;
	position: relative;
	z-index: 1;
	padding: 6px;
}

.tcdb-playoff-half {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.84fr) minmax(0, 0.9fr);
	gap: 6px;
	align-items: start;
}

.tcdb-playoff-half-right {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 0.84fr) minmax(0, 1fr);
}

.tcdb-playoff-center-column {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.tcdb-playoff-third-place-wrap {
	margin-top: 10px;
}

.tcdb-playoff-lane {
	min-width: 0;
}

.tcdb-playoff-column-title {
	margin: 0 0 5px;
	color: #06324d;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: center;
	text-shadow: 0 1px 0 rgba(255,255,255,.8);
}

.tcdb-playoff-lane-grid {
	display: grid;
	grid-template-rows: repeat(7, 58px);
	gap: 0;
	min-height: 406px;
}

.tcdb-playoff-lane-slot {
	min-width: 0;
}

.tcdb-playoff-lane-slot.row-1 {
	grid-row: 1;
}

.tcdb-playoff-lane-slot.row-2 {
	grid-row: 2;
	align-self: center;
}

.tcdb-playoff-lane-slot.row-3 {
	grid-row: 3;
}

.tcdb-playoff-lane-slot.row-4 {
	grid-row: 4 / span 2;
	align-self: center;
}

.tcdb-playoff-lane-slot.row-5 {
	grid-row: 5;
}

.tcdb-playoff-lane-slot.row-6 {
	grid-row: 6;
	align-self: center;
}

.tcdb-playoff-lane-slot.row-7 {
	grid-row: 7;
}

.tcdb-playoff-match {
	background: linear-gradient(180deg, #ffffff 0%, #f4fbff 100%);
	border: 1px solid #c9dce8;
	border-radius: 9px;
	padding: 3px 4px 4px;
	box-shadow: 0 5px 14px rgba(6, 40, 61, 0.12);
	min-width: 0;
	width: 100%;
	overflow: hidden;
}

.tcdb-playoff-match-link-card {
	display: block;
	color: inherit;
	text-decoration: none;
}

.tcdb-playoff-match-link-card:hover .tcdb-playoff-match,
.tcdb-playoff-match-link-card:focus .tcdb-playoff-match,
.tcdb-playoff-match-link-card:focus-visible .tcdb-playoff-match {
	border-color: #00a887;
	box-shadow: 0 0 0 1px rgba(0, 168, 135, 0.18), 0 6px 16px rgba(6, 40, 61, 0.16);
}

.tcdb-playoff-match-head {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 1px;
	font-size: 8px;
	color: #fff;
	text-transform: uppercase;
	background: linear-gradient(90deg, #052846, #0b5c7a);
	margin: -3px -4px 2px;
	padding: 2px 5px;
}

.tcdb-playoff-match-code {
	font-weight: 800;
	color: #fff;
}

.tcdb-playoff-team {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 2px;
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 3px;
	padding: 3px 4px;
	color: #102a42;
	min-height: 21px;
}

.tcdb-playoff-team + .tcdb-playoff-team {
	margin-top: 1px;
	border-top: 1px solid #e5edf3;
	padding-top: 4px;
}

.tcdb-playoff-team.is-empty {
	min-height: 21px;
	opacity: 0.38;
}

.tcdb-playoff-team.is-winner {
	background: #e2f8ef;
	box-shadow: inset 3px 0 0 #00a887;
}

.tcdb-playoff-team-name {
	font-size: 8.5px;
	font-weight: 700;
	line-height: 1.05;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-transform: uppercase;
}

.tcdb-playoff-team-score {
	background: #052846;
	border-radius: 999px;
	color: #fff;
	font-size: 9px;
	font-weight: 800;
	line-height: 1.2;
	min-width: 16px;
	padding: 1px 4px;
	text-align: right;
}

.tcdb-playoff-team.is-winner .tcdb-playoff-team-score {
	background: #00a887;
	color: #052846;
}

.tcdb-playoff-team-penalties {
	color: #5c6670;
	font-size: 7.5px;
	font-weight: 700;
}

.tcdb-playoff-bracket-generic {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	width: 100%;
}

.tcdb-playoff-column {
	min-width: 118px;
	flex: 1 1 0;
}

.tcdb-playoff-column-body-generic {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.tcdb-playoff-match-slot-generic {
	width: 100%;
}

.tcdb-playoff-podium {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid #dcdcde;
	clear: both;
}

.tcdb-playoff-podium-title {
	margin: 0 0 10px;
	color: #1d2327;
	font-size: 18px;
}

.tcdb-playoff-podium-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(140px, 1fr));
	gap: 10px;
}

.tcdb-playoff-podium-card {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 10px;
	padding: 12px;
}

.tcdb-playoff-podium-card.is-champion {
	border-color: #dba617;
	background: #fff8e5;
}

.tcdb-playoff-podium-card.is-runner-up {
	border-color: #b0b7c3;
	background: #f6f7f7;
}

.tcdb-playoff-podium-card.is-third-place {
	border-color: #b07a55;
	background: #fbf5f2;
}

.tcdb-playoff-podium-label {
	display: block;
	margin-bottom: 5px;
	color: #646970;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.tcdb-playoff-podium-team {
	display: block;
	color: #1d2327;
	font-size: 18px;
	line-height: 1.2;
}

.tcdb-playoff-grid-wrap {
	display: block;
	width: 100%;
	max-width: 760px;
	margin: 0 auto 24px;
	font-size: 12px;
	line-height: 1.25;
}

.tcdb-playoff-grid-stage {
	margin: 0 0 14px;
	border: 1px solid #111;
	background: #fff;
}

.tcdb-playoff-grid-title {
	margin: 0;
	padding: 2px 6px;
	border-bottom: 1px solid #111;
	background: #f5c6a4;
	color: #003a70;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	text-decoration: underline;
	text-transform: uppercase;
}

.tcdb-playoff-grid-scroll {
	overflow-x: auto;
}

.tcdb-playoff-grid-table {
	display: table !important;
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	table-layout: fixed;
}

.tcdb-playoff-grid-table tbody {
	display: table-row-group !important;
}

.tcdb-playoff-grid-table tr {
	display: table-row !important;
}

.tcdb-playoff-grid-table td {
	display: table-cell !important;
	padding: 2px 5px;
	border-right: 1px solid #111;
	border-bottom: 1px solid #111;
	color: #111;
	font-size: 11px;
	vertical-align: middle;
	white-space: nowrap;
}

.tcdb-playoff-grid-table tr:last-child td {
	border-bottom: 0;
}

.tcdb-playoff-grid-table td:last-child {
	border-right: 0;
}

.tcdb-playoff-grid-team {
	width: 24%;
	font-weight: 500;
}

.tcdb-playoff-grid-table td:nth-child(3) {
	width: 14%;
	text-align: center;
}

.tcdb-playoff-grid-table td:nth-child(4) {
	width: 10%;
	text-align: center;
}

.tcdb-playoff-grid-table td:nth-child(5) {
	width: 19%;
	text-align: center;
}

.tcdb-playoff-grid-code {
	width: 9%;
	text-align: center;
}

.tcdb-playoff-grid-note {
	margin: 0;
	padding: 2px 6px;
	border-top: 1px solid #111;
	color: #f00;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
}

.post-type-sp_event #tcdb-playoff-event .description,
.post-type-tcdb_playoff .description {
	display: block;
	margin-top: 4px;
	color: #646970;
}

@media (max-width: 1100px) {
	.tcdb-playoff-centered {
		grid-template-columns: minmax(0, 1fr) minmax(96px, 0.58fr) minmax(0, 1fr);
		gap: 10px;
	}

	.tcdb-playoff-half {
		gap: 8px;
	}

	.tcdb-playoff-team-name {
		font-size: 10px;
	}
}

@media (max-width: 900px) {
	.tcdb-playoff-centered {
		grid-template-columns: 1fr;
	}

	.tcdb-playoff-half,
	.tcdb-playoff-half-right {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tcdb-playoff-center-column {
		order: -1;
	}

	.tcdb-playoff-team-name,
	.tcdb-playoff-match-link {
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}
}

@media (max-width: 640px) {
	.tcdb-playoff-centered,
	.tcdb-playoff-half,
	.tcdb-playoff-half-right {
		gap: 6px;
	}

	.tcdb-playoff-lane-grid {
		grid-template-rows: repeat(7, 64px);
		min-height: 448px;
	}

	.tcdb-playoff-match-head {
		font-size: 8px;
	}

	.tcdb-playoff-team-name {
		font-size: 9px;
	}

	.tcdb-playoff-team-score {
		font-size: 12px;
	}

	.tcdb-playoff-podium-grid {
		grid-template-columns: 1fr;
	}

	.tcdb-playoff-grid-wrap {
		font-size: 11px;
	}

	.tcdb-playoff-grid-table {
		min-width: 560px;
	}
}
