.cfr-wrapper {
	--cfr-maroon: #8C1D40;
	max-width: 800px;
	margin: 0 auto;
	font-family: inherit;
}

.cfr-tabs {
	display: flex;
	border-bottom: 2px solid #e0e0e0;
	margin-bottom: 20px;
}

.cfr-tab-btn,
.cfr-tab-btn:hover,
.cfr-tab-btn:focus,
.cfr-tab-btn:focus-visible,
.cfr-tab-btn:active,
.cfr-tab-btn:visited {
	flex: 1;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 3px solid transparent !important;
	padding: 14px 10px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	cursor: pointer;
	color: #666 !important;
	box-shadow: none !important;
	outline: none !important;
	text-decoration: none !important;
	-webkit-tap-highlight-color: transparent;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.cfr-tab-btn::before,
.cfr-tab-btn::after {
	display: none !important;
	content: none !important;
	background: none !important;
}

.cfr-tab-btn.active,
.cfr-tab-btn.active:hover,
.cfr-tab-btn.active:focus,
.cfr-tab-btn.active:focus-visible,
.cfr-tab-btn.active:active,
.cfr-tab-btn.active:visited {
	color: var(--cfr-maroon) !important;
	border-bottom: 3px solid var(--cfr-maroon) !important;
}

.cfr-tab-panel {
	display: none;
}

.cfr-tab-panel.active {
	display: block;
}

/* Match card */

.cfr-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	padding: 22px 20px;
	margin-bottom: 16px;
}

.cfr-card-header {
	text-align: center;
	margin-bottom: 18px;
}

.cfr-card-date {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #1a1a2e;
}

.cfr-card-competition {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #999;
	margin-top: 3px;
}

.cfr-card-body {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}

.cfr-team {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1 1 0;
	min-width: 140px;
}

.cfr-team-left {
	justify-content: flex-end;
}

.cfr-team-right {
	justify-content: flex-start;
}

.cfr-team-name {
	font-weight: 700;
	font-size: 18px;
	color: var(--cfr-maroon);
	white-space: nowrap;
}

.cfr-badge {
	width: 44px;
	height: 44px;
	object-fit: contain;
	flex-shrink: 0;
}

.cfr-badge-placeholder {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #f0f0f0;
	border: 1px dashed #ccc;
	flex-shrink: 0;
}

.cfr-center-box {
	min-width: 90px;
	text-align: center;
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 10px 18px;
	font-weight: 700;
	font-size: 20px;
	color: var(--cfr-maroon);
	background: #fafafa;
	flex-shrink: 0;
}

.cfr-card-footer {
	text-align: center;
	margin-top: 16px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #999;
}

.cfr-empty {
	padding: 20px 12px;
	color: #888;
	font-style: italic;
	text-align: center;
}

@media (max-width: 560px) {
	.cfr-card-body {
		gap: 12px;
	}
	.cfr-team {
		min-width: 0;
	}
	.cfr-team-name {
		font-size: 15px;
		white-space: normal;
	}
	.cfr-badge,
	.cfr-badge-placeholder {
		width: 34px;
		height: 34px;
	}
	.cfr-center-box {
		min-width: 70px;
		padding: 8px 10px;
		font-size: 16px;
	}
}
