/* SAMS Nächste Spiele – Modern Table Styles */

.sams-nm-wrapper {
	--sams-primary: #991b1b;
	--sams-primary-soft: #fef2f2;
	--sams-border: #e5e7eb;
	--sams-text: #111827;
	--sams-muted: #6b7280;
	--sams-bg: #ffffff;
	--sams-row-hover: #f8fafc;
	--sams-radius: 12px;
	--sams-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.05);

	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	margin: 1.5rem 0;
	overflow-x: auto;
}

.sams-nm-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--sams-bg);
	border-radius: var(--sams-radius);
	box-shadow: var(--sams-shadow);
	overflow: hidden;
	font-size: 0.95rem;
	line-height: 1.45;
}

.sams-nm-table thead {
	background: linear-gradient(135deg, #7f1d1d 0%, #b91c1c 100%);
	color: #fff;
}

.sams-nm-table th {
	padding: 14px 16px;
	text-align: left;
	font-weight: 600;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.sams-nm-table tbody tr {
	transition: background-color 0.15s ease;
	border-bottom: 1px solid var(--sams-border);
}

.sams-nm-table tbody tr:last-child {
	border-bottom: none;
}

.sams-nm-table tbody tr:hover {
	background-color: var(--sams-row-hover);
}

.sams-nm-table td {
	padding: 14px 16px;
	vertical-align: middle;
	color: var(--sams-text);
}

/* Date column */
.sams-nm-date-main {
	font-weight: 600;
	color: var(--sams-text);
	white-space: nowrap;
}

/* Time */
.sams-nm-time {
	font-variant-numeric: tabular-nums;
	font-weight: 500;
	color: var(--sams-muted);
	white-space: nowrap;
}

/* Match / Teams */
.sams-nm-teams {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
}

.sams-nm-team {
	font-weight: 600;
}

.sams-nm-home {
	color: var(--sams-text);
}

.sams-nm-away {
	color: var(--sams-text);
}

.sams-nm-vs {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--sams-muted);
	background: #f3f4f6;
	padding: 2px 7px;
	border-radius: 999px;
	min-width: 28px;
}

/* Result */
.sams-nm-score {
	display: inline-block;
	background: var(--sams-primary-soft);
	color: var(--sams-primary);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 0.9rem;
}

.sams-nm-tbd {
	color: var(--sams-muted);
}

/* Location */
.sams-nm-location {
	color: var(--sams-muted);
	font-size: 0.9rem;
	max-width: 220px;
}

/* Status classes */
.sams-nm-played .sams-nm-team {
	opacity: 0.85;
}

/* Empty / Error states */
.sams-nm-empty,
.sams-nm-error {
	padding: 1.25rem 1.5rem;
	border-radius: var(--sams-radius);
	font-size: 0.95rem;
	line-height: 1.5;
}

.sams-nm-empty {
	background: #f0fdf4;
	color: #166534;
	border: 1px solid #bbf7d0;
}

.sams-nm-error {
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fecaca;
}

/* Responsive – stack on small screens */
@media (max-width: 720px) {
	.sams-nm-table thead {
		display: none;
	}

	.sams-nm-table,
	.sams-nm-table tbody,
	.sams-nm-table tr,
	.sams-nm-table td {
		display: block;
		width: 100%;
	}

	.sams-nm-table tr {
		padding: 16px;
		border-bottom: 1px solid var(--sams-border);
	}

	.sams-nm-table tr:last-child {
		border-bottom: none;
	}

	.sams-nm-table td {
		padding: 6px 0;
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 12px;
	}

	.sams-nm-table td::before {
		content: attr(data-label);
		font-size: 0.75rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.03em;
		color: var(--sams-muted);
		flex-shrink: 0;
	}

	.sams-nm-match {
		flex-direction: column;
		align-items: flex-start !important;
	}

	.sams-nm-match::before {
		margin-bottom: 4px;
	}

	.sams-nm-teams {
		width: 100%;
	}

	.sams-nm-location {
		max-width: none;
	}
}

/* Dark mode support (optional, respects system) */
@media (prefers-color-scheme: dark) {
	.sams-nm-wrapper {
		--sams-bg: #1f2937;
		--sams-text: #f3f4f6;
		--sams-muted: #9ca3af;
		--sams-border: #374151;
		--sams-row-hover: #111827;
		--sams-primary-soft: #7f1d1d;
		--sams-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.3);
	}

	.sams-nm-vs {
		background: #374151;
		color: #d1d5db;
	}

	.sams-nm-score {
		background: #7f1d1d;
		color: #fecaca;
	}
}

/* League badge */
.sams-nm-league-badge {
	display: inline-block;
	background: #f3f4f6;
	color: #374151;
	font-size: 0.8rem;
	font-weight: 600;
	padding: 3px 9px;
	border-radius: 6px;
	white-space: nowrap;
}

@media (prefers-color-scheme: dark) {
	.sams-nm-league-badge {
		background: #374151;
		color: #e5e7eb;
	}
}
