/* TTLive frontend styles. All selectors are scoped to avoid changing theme tables. */
.ttlive-output {
	box-sizing: border-box;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ttlive-output *,
.ttlive-output *::before,
.ttlive-output *::after {
	box-sizing: border-box;
}

.ttlive-output h4 {
	margin: 0 0 0.75rem;
	font-family: Lato, Arial, sans-serif;
	font-size: clamp(1rem, 1.3vw, 1.25rem);
	line-height: 1.25;
	text-align: center;
}

.ttlive-output h4 a {
	color: inherit;
	text-decoration: none;
}

.ttlive-output h4 a:hover,
.ttlive-output h4 a:focus-visible {
	text-decoration: underline;
}

.ttlive-output table {
	width: 100%;
	max-width: 100%;
	min-width: 20rem;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: auto;
	font-family: Lato, Arial, sans-serif;
	font-size: 12px;
	line-height: 1.4;
}

.ttlive-output .TTLiveTabelle,
.ttlive-output .TTLiveSpielplan,
.ttlive-output .TTLiveHallenplan,
.ttlive-output .TTLiveRangliste,
.ttlive-output .TTLive14Tage,
.ttlive-output .TTLiveTabelle1 {
	width: 100%;
}

.ttlive-output .TTLiveRangliste,
.ttlive-output .TTLiveHallenplan {
	font-size: 12px;
}

.ttlive-output .TTLiveTabelle1 {
	font-family: Teko, Lato, Arial, sans-serif;
	font-size: 11px;
}

.ttlive-output .TTLive14Tage {
	font-family: Teko, Lato, Arial, sans-serif;
	font-size: 10px;
}

.ttlive-output tablehead,
.ttlive-output th {
	padding: 0.3rem 0.45rem;
	border: 0;
	background: linear-gradient(to top, #990000 0%, #ee0000 50%);
	color: #fff;
	font-family: Lato, Arial, sans-serif;
	font-weight: 700;
	line-height: 1.3;
	text-align: left;
	vertical-align: middle;
}

.ttlive-output td {
	padding: 0.3rem 0.45rem;
	border: 0;
	border-bottom: 1px solid lightgray;
	background-clip: padding-box;
	font-family: Lato, Arial, sans-serif;
	vertical-align: middle;
	white-space: normal;
	word-break: normal;
	overflow-wrap: anywhere;
}

.ttlive-output tr.odd,
.ttlive-output .odd {
	background-color: #f4f4f4;
}

.ttlive-output tr.even,
.ttlive-output .even {
	background-color: #fff;
}

.ttlive-output tr.cAufstieg,
.ttlive-output .cAufstieg {
	background-image: linear-gradient(90deg, #5fb404 1.5%, transparent 1.5%);
}

.ttlive-output tr.cAbstieg,
.ttlive-output .cAbstieg {
	background-image: linear-gradient(90deg, #f00 1.5%, transparent 1.5%);
}

.ttlive-output tr.cRelegation,
.ttlive-output .cRelegation {
	background-image: linear-gradient(90deg, #ffbf00 1.5%, transparent 1.5%);
}

.ttlive-output tr.cOwnTeam > td,
.ttlive-output .cOwnTeam > td {
	color: #c00;
	font-weight: 700;
}

/* Keep compact result columns together, but allow team names to use remaining space. */
.ttlive-output th:first-child,
.ttlive-output td:first-child,
.ttlive-output th:nth-last-child(-n + 2),
.ttlive-output td:nth-last-child(-n + 2) {
	white-space: nowrap;
}

.ttlive-output th:nth-child(2),
.ttlive-output td:nth-child(2) {
	min-width: 8.5rem;
}

@media (max-width: 480px) {
	.ttlive-output table {
		min-width: 18rem;
		font-size: 11px;
	}

	.ttlive-output th,
	.ttlive-output td {
		padding: 0.25rem 0.35rem;
	}
}
