/* HSG Spradow Spielplan – Design an hsg-spradow.com angelehnt */

.hsg-sp{
	--hsg-blue:#0d6cbf;
	--hsg-blue-dark:#0a578f;
	--hsg-green:#81d742;
	--hsg-ink:#444;
	--hsg-head:#333;
	--hsg-line:#e2e2e2;
	--hsg-soft:#f5f5f5;
	font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size:16px;
	line-height:1.5;
	color:var(--hsg-ink);
}
.hsg-sp *,.hsg-sp *::before,.hsg-sp *::after{box-sizing:border-box}
/* Muss nach den display-Regeln greifen: sonst ueberschreibt display:grid das
   HTML-Attribut hidden und gefilterte Zeilen blieben sichtbar. */
.hsg-sp [hidden]{display:none!important}

.hsg-sp__title{
	font-family:inherit;
	font-size:32px;
	font-weight:400;
	color:var(--hsg-head);
	margin:0 0 4px;
	padding:0 0 12px;
	line-height:1.25;
	border-bottom:3px solid var(--hsg-blue);
}
.hsg-sp__sub{font-size:14px;color:#777;margin:0 0 20px}

/* ---- Filter ---- */
.hsg-sp__controls{
	display:flex;flex-wrap:wrap;gap:8px;align-items:center;
	padding:12px;background:var(--hsg-soft);
	border:1px solid var(--hsg-line);margin-bottom:22px;
}
.hsg-sp__chips{display:flex;flex-wrap:wrap;gap:4px}
.hsg-sp__chip{
	font-family:inherit;font-size:13px;font-weight:600;text-transform:uppercase;
	letter-spacing:.03em;cursor:pointer;padding:7px 14px;
	border:1px solid #d5d5d5;background:#fff;color:var(--hsg-ink);
	border-radius:3px;line-height:1.2;
}
.hsg-sp__chip:hover{border-color:var(--hsg-blue);color:var(--hsg-blue)}
.hsg-sp__chip[aria-pressed="true"]{background:var(--hsg-blue);border-color:var(--hsg-blue);color:#fff}
.hsg-sp__sel{
	font-family:inherit;font-size:14px;padding:6px 8px;
	border:1px solid #d5d5d5;border-radius:3px;background:#fff;
	color:var(--hsg-ink);max-width:100%;
}
.hsg-sp__toggle{
	display:inline-flex;align-items:center;gap:6px;font-size:13px;
	color:#777;cursor:pointer;margin-left:auto;
}
.hsg-sp__toggle input{accent-color:var(--hsg-blue);margin:0}

/* ---- Spieltag ---- */
.hsg-sp__group{margin-bottom:26px}
.hsg-sp__day{
	background:var(--hsg-blue);color:#fff;font-size:14px;font-weight:600;
	text-transform:uppercase;letter-spacing:.04em;padding:9px 14px;
	display:flex;flex-wrap:wrap;align-items:center;gap:10px;
}
.hsg-sp__next,.hsg-sp__last{
	font-size:11px;font-weight:600;text-transform:uppercase;
	letter-spacing:.03em;padding:3px 10px;border-radius:3px;
}
.hsg-sp__next{background:var(--hsg-green);color:#fff}
.hsg-sp__last{background:rgba(255,255,255,.22);color:#fff}

/* ---- Zeile ---- */
.hsg-sp__row{
	display:grid;grid-template-columns:82px 1fr auto;gap:2px 16px;
	align-items:baseline;padding:12px 14px;
	border-bottom:1px solid var(--hsg-line);background:#fff;
}
.hsg-sp__when{display:block}
.hsg-sp__time{
	display:block;font-size:17px;font-weight:700;color:var(--hsg-blue);
	font-variant-numeric:tabular-nums;
}
.hsg-sp__ort{
	display:inline-block;margin-top:4px;font-size:10px;font-weight:700;
	text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:3px;
}
.hsg-sp__ort--heim{background:var(--hsg-blue);color:#fff}
.hsg-sp__ort--aus{background:#fff;color:#8a8a8a;border:1px solid #d5d5d5}
.hsg-sp__time--open{font-size:12px;font-weight:600;color:#999;text-transform:uppercase}
.hsg-sp__match{min-width:0}
.hsg-sp__team{
	display:inline-block;background:var(--hsg-green);color:#fff;font-size:12px;
	padding:3px 10px;border-radius:3px;margin-right:8px;line-height:1.6;
}
.hsg-sp__wo{font-size:14px;color:#999;margin-right:5px}
.hsg-sp__opp{font-size:17px;color:var(--hsg-head)}
.hsg-sp__liga{display:block;font-size:13px;color:#888;margin-top:3px}
.hsg-sp__hall{text-align:right;font-size:13px;color:#888;white-space:nowrap}
.hsg-sp__hall a{color:var(--hsg-blue);text-decoration:none}
.hsg-sp__hall a:hover{text-decoration:underline}
.hsg-sp__city{display:block;color:#999}

.hsg-sp__empty{
	padding:30px;text-align:center;color:#888;
	border:1px dashed var(--hsg-line);background:#fff;
}
.hsg-sp__foot{
	margin-top:20px;padding-top:14px;border-top:1px solid var(--hsg-line);
	font-size:13px;color:#888;
}

/* ---- Ergebnis ---- */
.hsg-sp__res{
	display:inline-block;margin-left:9px;font-size:14px;font-weight:700;
	padding:2px 9px;border-radius:3px;font-variant-numeric:tabular-nums;
	background:#eef0f2;color:var(--hsg-head);
}
.hsg-sp__res--s{background:#e4f5d4;color:#3f6b16}
.hsg-sp__res--n{background:#f6e4e4;color:#8c2f2f}
.hsg-sp__res--u{background:#eef0f2;color:#555}

/* ---- Tabelle ---- */
.hsg-sp--tabelle{margin-bottom:34px}
.hsg-sp__hinweis{
	background:var(--hsg-soft);border-left:3px solid var(--hsg-green);
	padding:9px 12px;font-size:13px;color:#666;margin:0 0 14px;
}
.hsg-sp__tabwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.hsg-sp__tab{
	width:100%;border-collapse:collapse;font-size:14px;
	background:#fff;min-width:520px;
}
.hsg-sp__tab th{
	background:var(--hsg-blue);color:#fff;text-align:left;font-weight:600;
	font-size:12px;text-transform:uppercase;letter-spacing:.04em;
	padding:9px 8px;white-space:nowrap;
}
.hsg-sp__tab td{
	padding:8px;border-bottom:1px solid var(--hsg-line);
	color:var(--hsg-ink);white-space:nowrap;
}
.hsg-sp__tab tbody tr:nth-child(even) td{background:#fafbfc}
.hsg-sp__tc{text-align:center;font-variant-numeric:tabular-nums}
.hsg-sp__tp{font-weight:700;color:var(--hsg-head)}
.hsg-sp__tr--own td{background:#e9f3fb!important;font-weight:700}
.hsg-sp__tr--own td:first-child{box-shadow:inset 3px 0 0 var(--hsg-green)}

/* ---- Kompletter Ligaspielplan ---- */
.hsg-sp--liga .hsg-sp__row{grid-template-columns:70px 1fr auto}
.hsg-sp__paar{font-size:16px;color:var(--hsg-head);display:inline-block}
.hsg-sp__paar .hsg-sp__vs{color:#aaa;padding:0 8px}
.hsg-sp__paar .hsg-sp__res{margin:0 8px;font-size:14px}
.hsg-sp__mine{font-weight:700;color:var(--hsg-blue)}
.hsg-sp__row--own{background:#f4f9fd}
.hsg-sp__row--own .hsg-sp__when{box-shadow:inset 3px 0 0 var(--hsg-green);padding-left:8px;margin-left:-11px}

/* ---- Kompakte Variante (limit="5") ---- */
.hsg-sp--kompakt .hsg-sp__title{font-size:22px;padding-bottom:8px}
.hsg-sp--kompakt .hsg-sp__group{margin-bottom:14px}
.hsg-sp--kompakt .hsg-sp__day{font-size:12px;padding:6px 10px}
.hsg-sp--kompakt .hsg-sp__row{grid-template-columns:70px 1fr;padding:9px 10px}
.hsg-sp--kompakt .hsg-sp__time{font-size:15px}
.hsg-sp--kompakt .hsg-sp__opp{font-size:15px}
.hsg-sp--kompakt .hsg-sp__hall{grid-column:2;text-align:left;white-space:normal;font-size:12px}
.hsg-sp--kompakt .hsg-sp__city{display:inline}
.hsg-sp--kompakt .hsg-sp__city::before{content:", "}

@media (max-width:640px){
	.hsg-sp__title{font-size:26px}
	.hsg-sp__row{grid-template-columns:74px 1fr}
	.hsg-sp__hall{grid-column:2;text-align:left;white-space:normal;margin-top:4px}
	.hsg-sp__city{display:inline}
	.hsg-sp__city::before{content:", "}
	.hsg-sp__toggle{margin-left:0;width:100%}
	.hsg-sp__opp{font-size:16px}
	.hsg-sp__team{display:block;width:-moz-fit-content;width:fit-content;margin:0 0 5px}
	.hsg-sp__res{margin-left:0;display:inline-block;margin-top:4px}
	.hsg-sp__tab{font-size:13px;min-width:480px}
	.hsg-sp--liga .hsg-sp__row{grid-template-columns:62px 1fr}
	.hsg-sp__paar{font-size:15px}
}

@media print{
	.hsg-sp__controls{display:none}
	.hsg-sp__row{break-inside:avoid}
	.hsg-sp__day{background:#eee!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
	.hsg-sp__tab{min-width:0}
	.hsg-sp__tab th{background:#eee!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
