.njgt-sl {
	max-width: 1180px;
	margin: 0 auto;
}
.njgt-sl__kiezer {
	margin-bottom: 1.25em;
}
.njgt-sl__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 16px;
	margin-bottom: 1.75em;
	padding-bottom: 0.85em;
	border-bottom: 2px solid #1b5e20;
}
.njgt-sl__titel {
	margin: 0;
	font-family: "Fraunces", Georgia, serif;
}
.njgt-sl__datum {
	margin: 0;
	color: #5b6a60;
	text-transform: capitalize;
	font-family: "Manrope", sans-serif;
}
.njgt-sl__acties {
	margin-left: auto;
	display: flex;
	gap: 8px;
}
.njgt-sl__knop {
	display: inline-block;
	padding: 0.55rem 1.2rem;
	background: #1b5e20;
	color: #fff;
	text-decoration: none;
	border-radius: 999px;
	font-family: "Manrope", sans-serif;
	font-weight: 700;
	font-size: 0.88rem;
	transition: background 0.15s ease, transform 0.15s ease;
}
.njgt-sl__knop:hover {
	background: #14471a;
	color: #fff;
	transform: translateY(-1px);
}
.njgt-sl__knop--pdf {
	background: #e2231a;
}
.njgt-sl__knop--pdf:hover {
	background: #b81b14;
}
.njgt-sl__knop--excel {
	background: #1d6f42;
}
.njgt-sl__flight {
	margin-bottom: 1.4em;
	break-inside: avoid;
	background: #ffffff;
	border: 1px solid #e7ece6;
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(20, 36, 26, 0.04), 0 12px 30px -22px rgba(20, 36, 26, 0.28);
	padding: 1.1rem 1.3rem 1.25rem;
}
.njgt-sl__flight-head {
	display: flex;
	align-items: baseline;
	gap: 12px;
}
.njgt-sl__flight-head h3 {
	margin: 0;
	font-family: "Fraunces", Georgia, serif;
	font-size: 1.2rem;
}
.njgt-sl__start {
	color: #1b5e20;
	font-weight: 700;
	font-family: "Manrope", sans-serif;
}
.njgt-sl__baan {
	margin: 2px 0 10px;
	color: #5b6a60;
	font-size: 0.88rem;
	font-family: "Manrope", sans-serif;
}
.njgt-sl__tabel {
	width: 100%;
	border-collapse: collapse;
	font-family: "Manrope", sans-serif;
	font-size: 0.95rem;
}
.njgt-sl__tabel th,
.njgt-sl__tabel td {
	text-align: left;
	padding: 0.6rem 0.7rem;
	border-bottom: 1px solid #edf1ea;
}
.njgt-sl__tabel tbody tr:last-child td {
	border-bottom: none;
}
.njgt-sl__tabel tbody tr:nth-child(even) td {
	background: #f7faf5;
}
.njgt-sl__tabel thead th {
	background: #eef4ec;
	border-bottom: 2px solid #d6e2d2;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #2c5733;
}
.njgt-sl__tabel thead th:first-child {
	border-top-left-radius: 8px;
}
.njgt-sl__tabel thead th:last-child {
	border-top-right-radius: 8px;
}
.njgt-sl__leeg {
	color: #777;
	font-style: italic;
}

/* Schone printpagina. */
body.njgt-print {
	font-family: -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
	color: #111;
	margin: 24px;
}
@media print {
	.njgt-sl__acties,
	.njgt-sl__kiezer {
		display: none;
	}
}

/* ---------- Kalender ---------- */
.njgt-kal {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin-top: 1.5rem;
}
.njgt-kal__item {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	padding: 1rem 1.25rem;
	background: #FFFFFF;
	border: 1px solid #E3E9DF;
	border-left: 4px solid #C7D2C0;
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(20, 40, 25, 0.04);
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.njgt-kal__item:hover {
	box-shadow: 0 6px 18px rgba(20, 40, 25, 0.08);
}
.njgt-kal__item.is-gespeeld {
	border-left-color: #1B5E20;
}
.njgt-kal__item.is-next {
	border-left-color: #E2231A;
	background: #FBFCFA;
}
.njgt-kal__date {
	flex: 0 0 auto;
	width: 3.4rem;
	text-align: center;
	line-height: 1;
}
.njgt-kal__dag {
	display: block;
	font-size: 1.7rem;
	font-weight: 800;
	color: #1B5E20;
}
.njgt-kal__maand {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #5B6A60;
}
.njgt-kal__body {
	flex: 1 1 auto;
	min-width: 0;
}
.njgt-kal__titel {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.25;
	color: #17271D;
}
.njgt-kal__meta {
	margin: 0.2rem 0 0;
	font-size: 0.92rem;
	color: #5B6A60;
}
.njgt-kal__status {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.35rem;
	text-align: right;
}
.njgt-kal__badge {
	display: inline-block;
	padding: 0.2rem 0.6rem;
	font-size: 0.74rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 999px;
}
.njgt-kal__badge--done { background: #E8F0E6; color: #1B5E20; }
.njgt-kal__badge--next { background: #FCE6E4; color: #E2231A; }
.njgt-kal__badge--plan { background: #EEF1EC; color: #5B6A60; }
.njgt-kal__link {
	font-size: 0.9rem;
	font-weight: 700;
	color: #1B5E20;
	text-decoration: none;
}
.njgt-kal__link:hover { text-decoration: underline; }

@media (max-width: 600px) {
	.njgt-kal__item {
		flex-wrap: wrap;
		gap: 0.75rem 1rem;
	}
	.njgt-kal__status {
		flex-direction: row;
		align-items: center;
		width: 100%;
		justify-content: space-between;
		text-align: left;
		border-top: 1px solid #EEF1EC;
		padding-top: 0.6rem;
	}
}

/* ---------- Jaar-/seizoenselector ---------- */
.njgt-jaar {
	display: inline-flex;
	gap: 0.4rem;
	padding: 0.3rem;
	margin: 0 0 1.4rem;
	background: #EEF1EC;
	border-radius: 999px;
}
.njgt-jaar__btn {
	display: inline-block;
	padding: 0.45rem 1.1rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: #3A4A40;
	text-decoration: none;
	border-radius: 999px;
	transition: background 0.15s ease, color 0.15s ease;
}
.njgt-jaar__btn:hover { color: #1B5E20; }
.njgt-jaar__btn.is-active {
	background: #1B5E20;
	color: #FFFFFF;
}

/* Tabellen blijven altijd binnen beeld. Zijwaarts scrollen is bewust NIET
   mogelijk: dat maakt het lezen op een telefoon onrustig omdat het beeld
   verschuift. Op smalle schermen worden de rijen daarom gestapeld tot kaartjes,
   met het kolomkopje (data-label) als label voor de waarde. */
.njgt-sl__flight { max-width: 100%; }
.njgt-sl__tabel { width: 100%; }
/* break-word breekt alleen als het echt moet en verkleint — anders dan
   'anywhere' — de natuurlijke kolombreedte niet. */
.njgt-sl__tabel th,
.njgt-sl__tabel td { overflow-wrap: break-word; }
/* Namen op één regel houden: daar is ruimte genoeg voor. */
.njgt-sl__tabel td[data-label="Naam"] { white-space: nowrap; }
/* Korte waarden mogen nooit afbreken. Zonder dit knijpt de brede clubkolom ze
   zo smal dat "Cat 3" over twee regels valt. Door ze onbreekbaar te maken
   krijgen ze hun minimale breedte en slikt de clubkolom de rest. */
.njgt-sl__tabel th,
.njgt-sl__tabel td[data-label="Cat."],
.njgt-sl__tabel td[data-label="HCP"],
.njgt-sl__tabel td[data-label="Tee"],
.njgt-sl__tabel td[data-label="Positie"],
.njgt-sl__tabel td[data-label="Punten"],
.njgt-sl__tabel td[data-label="Wedstr."],
.njgt-sl__tabel td[data-label="#"] { white-space: nowrap; }
/* De club onder de naam is alleen voor smalle schermen. */
.njgt-sl__sub { display: none; }

/* Op een telefoon blijft het een gewone tabel — dat leest rustiger dan losse
   kaartjes — maar de clubkolom is te breed. Die vervalt en de clubnaam komt
   onder de naam te staan. Zo past alles en hoeft er nooit zijwaarts te worden
   gescrold. */
@media (max-width: 720px) {
	.njgt-sl,
	.njgt-sl__flight { overflow-x: clip; }
	.njgt-sl__tabel { font-size: 0.82rem; }
	.njgt-sl__tabel th,
	.njgt-sl__tabel td { padding: 0.5rem 0.35rem; }
	.njgt-sl__tabel th:first-child,
	.njgt-sl__tabel td:first-child { padding-left: 0; }
	.njgt-sl__tabel th:last-child,
	.njgt-sl__tabel td:last-child { padding-right: 0; }
	/* Clubkolom weg; de club staat onder de naam. */
	.njgt-sl__tabel .njgt-col-club { display: none; }
	.njgt-sl__tabel td[data-label="Naam"] {
		white-space: normal;
		overflow-wrap: anywhere;
		line-height: 1.25;
	}
	.njgt-sl__sub {
		display: block;
		margin-top: 0.1rem;
		font-size: 0.78em;
		font-weight: 400;
		color: #6B7D70;
	}
	.njgt-sl__flight { padding: 1rem 0.9rem 1.1rem; }
}

/* Marker(s) per flight op de startlijst */
.njgt-sl__marker {
	margin: 0.6rem 0 0;
	padding-top: 0.6rem;
	border-top: 1px dashed #edf1ea;
	font-family: "Manrope", sans-serif;
	font-size: 0.9rem;
	color: #3a4a40;
}
.njgt-sl__marker-label {
	font-weight: 700;
	color: #1b5e20;
}
