.tcs-wt-inschrijfform,
.tcs-wt-dashboard { font-family: var(--tcs-font, inherit); }

.tcs-wt-inschrijfform fieldset.tcs-deelnemer { border: 1px solid #ddd; border-radius: 6px; padding: 16px; margin-bottom: 16px; }
.tcs-wt-inschrijfform .tcs-vroegboek-melding { background: #f4e9d0; color: #6b4f0a; padding: 10px 14px; border-radius: var(--tcs-kaart-radius, 6px); margin-bottom: 14px; font-weight: 600; }
.tcs-wt-inschrijfform fieldset.tcs-deelnemer legend { font-weight: 600; padding: 0 8px; }
.tcs-wt-inschrijfform label { display: block; margin-bottom: 10px; }
.tcs-wt-inschrijfform input[type="text"],
.tcs-wt-inschrijfform input[type="email"],
.tcs-wt-inschrijfform input[type="tel"],
.tcs-wt-inschrijfform select { width: 100%; max-width: 380px; padding: 8px; box-sizing: border-box; }
.tcs-wt-inschrijfform .tcs-melding { padding: 12px; border-radius: var(--tcs-kaart-radius, 6px); margin-bottom: 16px; }
.tcs-wt-inschrijfform .tcs-melding.tcs-fout { background: #fbe0e0; color: #7a1414; }
.tcs-wt-inschrijfform .tcs-melding.tcs-ok { background: #dcf5e0; color: #0d5c1f; }
#tcs-totaal { font-size: 1.2em; color: var(--tcs-primair, #0d5c1f); font-weight: 700; }

.tcs-wt-inschrijfform button[type="submit"],
.tcs-wt-inschrijfform .tcs-plus-deelnemer {
	background: var(--tcs-accent, #2a7a3b);
	color: var(--tcs-knop-tekst, #fff);
	border: none;
	border-radius: var(--tcs-knop-radius, 6px);
	padding: 10px 18px;
	font-size: 1em;
	cursor: pointer;
}
.tcs-wt-inschrijfform .tcs-plus-deelnemer { background: #fff; color: var(--tcs-accent, #2a7a3b); border: 1px solid var(--tcs-accent, #2a7a3b); }
.tcs-wt-inschrijfform button[type="submit"]:hover,
.tcs-wt-inschrijfform .tcs-plus-deelnemer:hover { opacity: 0.9; }

.tcs-wt-inschrijfform img,
.tcs-wt-dashboard img { max-width: 100%; }

.tcs-wt-dashboard h2 { color: var(--tcs-primair, #0d5c1f); }
.tcs-wt-dashboard .tcs-dash-weetje { font-size: 1.05em; color: #444; margin: 0 0 12px; }
.tcs-wt-dashboard .tcs-dash-weetje strong { color: var(--tcs-primair, #0d5c1f); }
.tcs-wt-dashboard .tcs-dash-cards { display: flex; gap: 16px; margin: 16px 0; flex-wrap: wrap; }
.tcs-wt-dashboard .tcs-dash-card { background: #f4f4f4; border-radius: var(--tcs-kaart-radius, 8px); padding: 16px 24px; text-align: center; min-width: 140px; flex: 1 1 160px; }
.tcs-wt-dashboard .tcs-dash-getal { display: block; font-size: 2.2em; font-weight: 700; color: var(--tcs-primair, #0d5c1f); }
.tcs-wt-dashboard .tcs-dash-label { font-size: 0.9em; color: #555; }
.tcs-wt-dashboard .tcs-dash-sub { display: block; font-size: 0.85em; color: #888; margin-top: 2px; }
.tcs-wt-dashboard .tcs-dash-card-onderweg .tcs-dash-getal { color: #b8860b; }
.tcs-wt-dashboard .tcs-dash-card-gefinisht .tcs-dash-getal { color: var(--tcs-accent, #2a7a3b); }
.tcs-wt-dashboard .tcs-afstand-blok { border: 1px solid #e2e2e2; border-radius: var(--tcs-kaart-radius, 8px); padding: 14px 18px; margin-bottom: 12px; }
.tcs-wt-dashboard .tcs-afstand-blok h3 { margin: 0 0 8px; }
.tcs-wt-dashboard .tcs-afstand-balk-wrap { height: 18px; margin-bottom: 10px; }
.tcs-wt-dashboard .tcs-post-balk-wrap { background: #eee; border-radius: 4px; overflow: hidden; height: 14px; margin: 4px 0; }
.tcs-wt-dashboard .tcs-post-balk { background: var(--tcs-accent, #2a7a3b); height: 100%; }
.tcs-wt-dashboard .tcs-post-regel { font-size: 0.9em; margin-bottom: 6px; }
.tcs-wt-dashboard .tcs-dash-update { font-size: 0.8em; color: #888; }
.tcs-wt-dashboard .tcs-afstand-blok .tcs-wt-sponsoren { margin: 12px 0 0; }
.tcs-wt-dashboard .tcs-afstand-blok .tcs-wt-sponsoren h2 { font-size: 0.85em; margin-bottom: 6px; color: #777; }
.tcs-wt-dashboard .tcs-afstand-blok .tcs-sponsor-logo { max-width: 80px; max-height: 50px; }
.tcs-wt-dashboard .tcs-dash-kolommen { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 20px 0; }
.tcs-wt-dashboard .tcs-dash-kolommen h3 { margin-bottom: 8px; }
.tcs-wt-dashboard .tcs-dash-posten-tabel { width: 100%; border-collapse: collapse; font-size: 0.9em; }
.tcs-wt-dashboard .tcs-dash-posten-tabel td { padding: 6px 4px; border-bottom: 1px solid #eee; }
.tcs-wt-dashboard .tcs-dash-finishers { list-style: none; margin: 0; padding: 0; font-size: 0.9em; }
.tcs-wt-dashboard .tcs-dash-finishers li { padding: 6px 0; border-bottom: 1px solid #eee; }
.tcs-wt-dashboard .tcs-dash-finishers-leeg { color: #888; font-style: italic; }
@media (max-width: 700px) {
	.tcs-wt-dashboard .tcs-dash-kolommen { grid-template-columns: 1fr; }
}

.tcs-wt-countdown { text-align: center; padding: 24px 0; }
.tcs-wt-countdown h2 { color: var(--tcs-primair, #0d5c1f); margin-bottom: 4px; }
.tcs-wt-countdown .tcs-countdown-intro { color: #555; margin-bottom: 16px; }
.tcs-wt-countdown .tcs-countdown-blokken { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.tcs-wt-countdown .tcs-countdown-blok { background: #f4f4f4; border-radius: var(--tcs-kaart-radius, 8px); padding: 16px 20px; min-width: 80px; }
.tcs-wt-countdown .tcs-countdown-blok span { display: block; font-size: 2.2em; font-weight: 700; color: var(--tcs-accent, #2a7a3b); }
.tcs-wt-countdown .tcs-countdown-blok label { display: block; font-size: 0.8em; color: #666; text-transform: uppercase; }
.tcs-wt-countdown .tcs-countdown-datum { margin-top: 18px; color: #888; font-size: 0.9em; }

.tcs-wt-startlocatie,
.tcs-wt-starttijden,
.tcs-wt-organisatoren { font-family: var(--tcs-font, inherit); margin: 24px 0; }
.tcs-wt-startlocatie h2,
.tcs-wt-starttijden h2,
.tcs-wt-organisatoren h2 { color: var(--tcs-primair, #0d5c1f); margin-bottom: 12px; }
.tcs-wt-startlocatie .tcs-startlocatie-inhoud { display: flex; gap: 20px; flex-wrap: wrap; align-items: flex-start; margin-bottom: 14px; }
.tcs-wt-startlocatie .tcs-startlocatie-foto { width: 220px; max-width: 100%; height: 160px; object-fit: cover; border-radius: var(--tcs-kaart-radius, 8px); }
.tcs-wt-startlocatie .tcs-startlocatie-naam { font-weight: 700; font-size: 1.1em; margin: 0 0 4px; }
.tcs-wt-startlocatie .tcs-startlocatie-adres { color: #555; margin: 0; }
.tcs-wt-startlocatie .tcs-startlocatie-kaart { width: 100%; max-width: 640px; height: 300px; border: 1px solid #ddd; border-radius: var(--tcs-kaart-radius, 8px); }

.tcs-wt-starttijden .tcs-starttijden-tabel { border-collapse: collapse; width: 100%; max-width: 420px; }
.tcs-wt-starttijden .tcs-starttijden-tabel tr { border-bottom: 1px solid #eee; }
.tcs-wt-starttijden .tcs-starttijden-tabel td { padding: 8px 4px; }
.tcs-wt-starttijden .tcs-starttijd-tijd { text-align: right; font-weight: 700; color: var(--tcs-accent, #2a7a3b); }

.tcs-wt-organisatoren .tcs-organisatoren-lijst { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; }
.tcs-wt-organisatoren .tcs-organisator { text-align: center; }
.tcs-wt-organisatoren .tcs-organisator-logo { max-width: 120px; max-height: 80px; object-fit: contain; display: block; margin: 0 auto 6px; }
.tcs-wt-organisatoren .tcs-organisator-naam { font-size: 0.9em; color: #444; text-decoration: none; }
.tcs-wt-organisatoren a.tcs-organisator-naam:hover { text-decoration: underline; }

.tcs-wt-evenement-info { font-family: var(--tcs-font, inherit); }
.tcs-wt-evenement-info h1 { color: var(--tcs-primair, #0d5c1f); }
.tcs-wt-evenement-info .tcs-evenement-beschrijving { margin: 12px 0 20px; color: #333; }

.tcs-wt-sponsoren { font-family: var(--tcs-font, inherit); margin: 24px 0; }
.tcs-wt-sponsoren h2 { color: var(--tcs-primair, #0d5c1f); font-size: 1.05em; margin-bottom: 10px; }
.tcs-wt-sponsoren .tcs-sponsoren-lijst { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.tcs-wt-sponsoren .tcs-sponsor { text-align: center; }
.tcs-wt-sponsoren .tcs-sponsor-link { text-decoration: none; }
.tcs-wt-sponsoren .tcs-sponsor-logo { max-width: 110px; max-height: 70px; object-fit: contain; display: block; }
.tcs-wt-sponsoren .tcs-sponsor-naam { font-size: 0.85em; color: #555; }

.tcs-wt-inschrijfform .tcs-wt-sponsoren { border-top: 1px solid #eee; padding-top: 16px; margin-top: 24px; }

.tcs-wt-routes { font-family: var(--tcs-font, inherit); margin: 24px 0; }
.tcs-wt-routes h2 { color: var(--tcs-primair, #0d5c1f); margin-bottom: 12px; }
.tcs-wt-routes .tcs-routes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tcs-wt-routes .tcs-route { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.tcs-wt-routes .tcs-route h3 { margin: 0 0 8px; font-size: 1.05em; }
.tcs-wt-routes .tcs-route-kaartje { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; height: auto; max-width: 100%; border-radius: var(--tcs-kaart-radius, 8px); display: block; margin-bottom: 8px; }
.tcs-wt-routes .tcs-route-links { margin: 0; }
.tcs-wt-routes .tcs-route-download { display: inline-block; margin: 0 8px 8px 0; padding: 6px 14px; background: var(--tcs-primair, #0d5c1f); color: #fff; border-radius: var(--tcs-knop-radius, 6px); text-decoration: none; font-size: 0.85em; }
.tcs-wt-routes .tcs-route-download:hover { opacity: 0.9; }
@media (max-width: 900px) {
	.tcs-wt-routes .tcs-routes-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.tcs-wt-routes .tcs-routes-grid { grid-template-columns: 1fr; }
}

.tcs-wt-deelknoppen { font-family: var(--tcs-font, inherit); margin: 24px 0; padding-top: 16px; border-top: 1px solid #eee; }
.tcs-wt-deelknoppen .tcs-deel-label { display: block; font-size: 0.9em; color: #666; margin-bottom: 8px; }
.tcs-wt-deelknoppen .tcs-deel-knop { display: inline-block; margin: 0 8px 8px 0; padding: 8px 16px; border-radius: var(--tcs-knop-radius, 6px); text-decoration: none; font-size: 0.9em; border: none; cursor: pointer; color: #fff; font-family: inherit; }
.tcs-wt-deelknoppen .tcs-deel-whatsapp { background: #25d366; }
.tcs-wt-deelknoppen .tcs-deel-facebook { background: #1877f2; }
.tcs-wt-deelknoppen .tcs-deel-x { background: #000; }
.tcs-wt-deelknoppen .tcs-deel-e-mail { background: #666; }
.tcs-wt-deelknoppen .tcs-deel-kopieer { background: var(--tcs-accent, #2a7a3b); }
.tcs-wt-deelknoppen .tcs-deel-knop:hover { opacity: 0.9; }
.tcs-wt-evenement-info .tcs-editie { font-size: 0.6em; font-weight: 400; color: #777; }
