/* ---------- Header ---------- */
.khc-site-header {
	background: #fff;
	border-bottom: 1px solid var(--khc-parchment-dark);
}
.khc-site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
}
.khc-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.khc-logo__wordmark { color: var(--khc-ink); font-size: 1.35rem; }
.khc-primary-nav__list {
	list-style: none;
	display: flex;
	gap: 24px;
	margin: 0;
	padding: 0;
}
.khc-primary-nav__list a {
	color: var(--khc-ink);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
}
.khc-primary-nav__list a:hover { color: var(--khc-soil); }

/* ---------- Hero ---------- */
.khc-hero { padding: 64px 0 40px; max-width: 720px; }
.khc-hero h1 { font-size: 2.6rem; }
.khc-hero p { font-size: 1.15rem; color: #55483f; margin-bottom: 24px; }

/* ---------- Stats ---------- */
.khc-stats { margin: 32px 0 56px; }
.khc-stats .khc-card { text-align: center; }
.khc-stats strong { display: block; font-family: var(--khc-font-display); font-size: 2rem; color: var(--khc-soil); }
.khc-stats span { color: #6b5d51; font-size: 0.9rem; }

/* ---------- Cards / grids ---------- */
.khc-card { text-decoration: none; color: inherit; display: block; }
.khc-card h3 { margin-top: 8px; }
.khc-race-card canvas { margin: 12px 0; }
.khc-race-card__charts { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; }
.khc-race-card__charts .khc-race-chart { flex: 1 1 100%; }
.khc-race-card__charts .khc-race-pie { flex: 1 1 140px; max-width: 160px; margin-top: 0; }
.khc-race-card__pie-caption { flex-basis: 100%; font-size: 0.75rem; color: #6b5d51; margin: -8px 0 0; text-align: center; }
.khc-race-card__link { display: inline-block; margin-top: 8px; font-weight: 600; font-size: 0.9rem; }
.khc-race-card__location { color: #6b5d51; margin: 4px 0; }
.khc-unconfirmed-note { color: var(--khc-soil-dark); font-size: 0.85rem; }
.khc-empty-note { color: #6b5d51; font-style: italic; }

section { margin: 48px 0; }

/* ---------- Elective History: cycle landing cards ---------- */
.khc-cycle-cards { margin: 24px 0; }
.khc-cycle-card { text-align: center; padding: 28px 20px; transition: border-color 0.15s ease, transform 0.15s ease; }
.khc-cycle-card:hover { border-color: var(--khc-soil); transform: translateY(-2px); }
.khc-cycle-card__year { display: block; font-family: var(--khc-font-display); font-size: 2rem; font-weight: 600; color: var(--khc-soil); margin-bottom: 6px; }
.khc-cycle-card h3 { margin: 0 0 4px; font-size: 1.05rem; }
.khc-cycle-card p { margin: 0; font-size: 0.85rem; color: #6b5d51; }
.khc-cycle-card--special .khc-cycle-card__year { color: var(--khc-indigo); font-size: 1.6rem; }
.khc-back-link { display: inline-block; margin-bottom: 12px; font-weight: 600; font-size: 0.9rem; text-decoration: none; }

/* ---------- Homepage: hero secondary button spacing ---------- */
.khc-hero .khc-btn { margin-right: 10px; }

/* ---------- Homepage: Kitui facts ---------- */
.khc-fact-card h3 { color: var(--khc-soil); font-size: 1rem; }
.khc-fact-card p { font-size: 0.9rem; color: #55483f; margin: 0; }

/* ---------- Homepage: analytics strip ---------- */
.khc-home-analytics { margin: 48px 0; }
.khc-home-charts { margin: 20px 0 12px; }
.khc-chart-card h3 { font-size: 0.95rem; margin-bottom: 10px; }
.khc-see-more-link { font-weight: 600; font-size: 0.9rem; }

/* ---------- Homepage: poll snippet ---------- */
.khc-poll-snippet { margin: 48px 0; }
.khc-poll-snippet__bars { list-style: none; margin: 16px 0; padding: 0; }
.khc-poll-snippet__bars li { display: grid; grid-template-columns: 140px 1fr 40px; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 0.85rem; }
.khc-poll-snippet__track { background: var(--khc-parchment-dark); border-radius: 999px; height: 10px; overflow: hidden; }
.khc-poll-snippet__fill { display: block; height: 100%; background: var(--khc-soil); border-radius: 999px; }
.khc-poll-snippet__count { text-align: right; font-weight: 600; color: var(--khc-soil); }

/* ---------- Filters / forms ---------- */
.khc-filters { display: flex; gap: 16px; align-items: end; flex-wrap: wrap; margin: 24px 0; }
.khc-filters label, .khc-form label { display: flex; flex-direction: column; gap: 4px; font-weight: 600; font-size: 0.9rem; margin-bottom: 14px; }
.khc-filters select, .khc-form input, .khc-form textarea {
	font-family: var(--khc-font-body);
	padding: 10px;
	border: 1px solid var(--khc-parchment-dark);
	border-radius: 6px;
	background: #fff;
}
.khc-form { max-width: 480px; }
.khc-form__status { font-weight: 600; }

/* ---------- Poll ---------- */
.khc-poll__disclaimer { font-style: italic; color: #6b5d51; }
.khc-poll__options { list-style: none; padding: 0; margin: 16px 0; }
.khc-poll__option { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--khc-parchment-dark); }
.khc-poll__vote-btn {
	background: var(--khc-parchment);
	border: 1px solid var(--khc-parchment-dark);
	border-radius: 6px;
	padding: 8px 14px;
	cursor: pointer;
	font-weight: 600;
}
.khc-poll__vote-btn:hover:not(:disabled) { border-color: var(--khc-soil); }
.khc-poll__vote-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.khc-poll__count { font-weight: 700; color: var(--khc-soil); }

/* ---------- Premium ---------- */
.khc-premium-locked ul { padding-left: 20px; }
.khc-premium-locked a { color: var(--khc-gold); }

/* ---------- Footer ---------- */
.khc-site-footer { background: var(--khc-indigo); color: #F4EEE0; padding: 40px 0; margin-top: 64px; }
.khc-site-footer__inner { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.khc-site-footer a { color: #D89B3C; }
.khc-footer-nav__list { list-style: none; padding: 0; display: flex; gap: 16px; }
.khc-site-footer__legal { width: 100%; font-size: 0.8rem; opacity: 0.7; margin-top: 24px; }

@media (max-width: 640px) {
	.khc-site-header__inner { flex-direction: column; gap: 12px; }
	.khc-hero h1 { font-size: 2rem; }
}
