/* nuLiga Sync – Frontend-Styles
 * Farben lassen sich per CSS-Variablen im Theme überschreiben, z. B.:
 * .nuliga { --nuliga-accent: #c8102e; }
 */
.nuliga {
	--nuliga-accent: #1d4ed8;
	--nuliga-own-bg: rgba(29, 78, 216, 0.10);
	--nuliga-border: rgba(0, 0, 0, 0.10);
	--nuliga-muted: #6b7280;
	--nuliga-win: #15803d;
	--nuliga-loss: #b91c1c;
	--nuliga-draw: #a16207;
	--nuliga-radius: 8px;
	box-sizing: border-box;
	margin: 0 0 1.5em;
	font-size: 0.95em;
	line-height: 1.4;
}
.nuliga *, .nuliga *::before, .nuliga *::after { box-sizing: inherit; }

.nuliga-title {
	margin: 0 0 0.6em;
	font-size: 1.15em;
	font-weight: 700;
}
.nuliga-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ---- Tabelle ---- */
.nuliga-tbl {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
	font-size: inherit;
}
.nuliga-tbl th,
.nuliga-tbl td {
	padding: 0.5em 0.6em;
	border: 0;
	border-bottom: 1px solid var(--nuliga-border);
	text-align: left;
	white-space: nowrap;
	vertical-align: middle;
}
.nuliga-tbl thead th {
	font-weight: 600;
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--nuliga-muted);
	border-bottom: 2px solid var(--nuliga-border);
	background: transparent;
}
.nuliga-tbl tbody tr:last-child td { border-bottom: 0; }
.nuliga-tbl .nuliga-c { text-align: center; }
.nuliga-tbl .nuliga-col-team { width: 100%; white-space: normal; }
.nuliga-tbl .nuliga-col-rank { color: var(--nuliga-muted); }
.nuliga-tbl tr.is-own td {
	background: var(--nuliga-own-bg);
	font-weight: 700;
}
.nuliga-tbl tr.is-own td:first-child { box-shadow: inset 3px 0 0 var(--nuliga-accent); }

.nuliga-marker {
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 0.35em;
	vertical-align: middle;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
}
tr.is-up .nuliga-marker { border-bottom: 6px solid var(--nuliga-win); }
tr.is-down .nuliga-marker { border-top: 6px solid var(--nuliga-loss); }

.nuliga-table--compact .nuliga-tbl th,
.nuliga-table--compact .nuliga-tbl td { padding: 0.3em 0.45em; }

/* ---- Spielplan-Liste ---- */
.nuliga-tbl--matches .nuliga-col-time { color: var(--nuliga-muted); width: 1%; }
.nuliga-tbl--matches .nuliga-col-home { text-align: right; width: 40%; white-space: normal; }
.nuliga-tbl--matches .nuliga-col-away { text-align: left; width: 40%; white-space: normal; }
.nuliga-tbl--matches .nuliga-col-score { font-weight: 700; width: 1%; }
.nuliga-tbl--matches .nuliga-col-venue { color: var(--nuliga-muted); font-size: 0.85em; }
.nuliga-tbl--matches .is-own-team { font-weight: 700; }
.nuliga-date-group { margin-bottom: 1em; }
.nuliga-group-title {
	margin: 0 0 0.4em;
	font-size: 0.85em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--nuliga-muted);
}

/* ---- Spiel-Karten (eigenes Team) ---- */
.nuliga-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1em;
}
.nuliga-card {
	position: relative;
	padding: 0.9em 1em 0.9em 1.1em;
	border: 1px solid var(--nuliga-border);
	border-left: 4px solid var(--nuliga-accent);
	border-radius: var(--nuliga-radius);
	background: rgba(0, 0, 0, 0.02);
}
.nuliga-card + .nuliga-card { margin-top: 0.75em; }
.nuliga-card.is-win { border-left-color: var(--nuliga-win); }
.nuliga-card.is-loss { border-left-color: var(--nuliga-loss); }
.nuliga-card.is-draw { border-left-color: var(--nuliga-draw); }
.nuliga-card-meta {
	display: flex;
	gap: 0.75em;
	flex-wrap: wrap;
	font-size: 0.85em;
	color: var(--nuliga-muted);
	margin-bottom: 0.5em;
}
.nuliga-card-teams {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 0.6em;
	align-items: center;
}
.nuliga-card-home { text-align: right; }
.nuliga-card-away { text-align: left; }
.nuliga-card-team.is-own-team { font-weight: 700; }
.nuliga-card-score {
	font-size: 1.35em;
	font-weight: 800;
	line-height: 1;
	padding: 0.25em 0.5em;
	border-radius: 6px;
	background: rgba(0, 0, 0, 0.06);
	white-space: nowrap;
}
.nuliga-card.is-win .nuliga-card-score { color: var(--nuliga-win); }
.nuliga-card.is-loss .nuliga-card-score { color: var(--nuliga-loss); }
.nuliga-card.is-draw .nuliga-card-score { color: var(--nuliga-draw); }
.nuliga-card.is-upcoming .nuliga-card-score { color: var(--nuliga-muted); }
.nuliga-card-details {
	margin-top: 0.5em;
	font-size: 0.8em;
	color: var(--nuliga-muted);
}
.nuliga-empty { margin: 0; color: var(--nuliga-muted); font-style: italic; }

/* ---- Fußzeile / Hinweise ---- */
.nuliga-footer {
	margin: 0.5em 0 0;
	font-size: 0.75em;
	color: var(--nuliga-muted);
}
.nuliga-footer a { color: inherit; text-decoration: underline; }
.nuliga-stale { opacity: 0.8; }
.nuliga-notice {
	padding: 0.75em 1em;
	border: 1px dashed var(--nuliga-border);
	border-radius: var(--nuliga-radius);
	color: var(--nuliga-muted);
	font-size: 0.9em;
}

/* ---- Responsive ---- */
@media (max-width: 600px) {
	.nuliga-hide-sm { display: none !important; }
	.nuliga-tbl th, .nuliga-tbl td { padding: 0.45em 0.4em; }
	.nuliga-tbl--matches { font-size: 0.9em; }
	.nuliga-tbl--matches td { padding: 0.4em 0.3em; }
	.nuliga-cards { grid-template-columns: 1fr; }
}
