/* ==========================================================================
   TKCG brand layer — Teso Karamoja Corporate Games
   Crest-led: navy base, flame red, white, poster yellow highlights.
   Signature motifs: flame bar (red → yellow) on top of the header,
   diagonal navy/red band on the hero, red "flag" marker on section
   headings, scoreboard-style totals.
   ========================================================================== */

:root {
	/* Re-point Blocksy's Customizer palette (still Eritei's in the DB) at TKCG tokens. */
	--theme-palette-color-1: var(--tk-navy);
	--theme-palette-color-2: var(--tk-flame);
	--theme-palette-color-3: var(--tk-steel);
	--theme-palette-color-4: var(--tk-ink);
	--theme-palette-color-5: var(--tk-grey-300);
	--theme-palette-color-6: var(--tk-grey-200);
	--theme-palette-color-7: var(--tk-white);
	--theme-palette-color-8: var(--tk-off-white);
	--tk-flame-bar: linear-gradient(90deg, var(--tk-flame) 0%, var(--tk-flame) 55%, var(--tk-poster) 100%);
	--tk-diag: linear-gradient(115deg, var(--tk-navy) 0 62%, var(--tk-flame) 62% 70%, var(--tk-poster) 70% 72%, transparent 72%);
}

body { background: var(--tk-off-white); }

/* --- Header ---------------------------------------------------------------- */
#header.ct-header {
	background: var(--tk-navy);
	border-bottom: 0;
	position: relative;
}
#header.ct-header::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	background: var(--tk-flame-bar);
	z-index: 2;
}
#header [data-row],
#header [data-row] > div { background: transparent !important; border: 0 !important; }
.ct-header .site-title a,
.ct-header .site-title,
.ct-header .ct-menu-link,
.ct-header .menu > li > a,
.ct-header .ct-header-search,
.ct-header .ct-header-trigger,
.ct-header button { color: var(--tk-white); }
.ct-header .ct-header-trigger .ct-icon,
.ct-header svg { fill: currentColor; }
.ct-header .menu > li > a {
	font-family: var(--font-display);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	box-shadow: inset 0 -3px 0 transparent;
	transition: box-shadow var(--dur) var(--ease), color var(--dur) var(--ease);
}
.ct-header .menu > li > a:hover,
.ct-header .menu > li.current-menu-item > a,
.ct-header .menu > li > a[aria-current="page"] {
	color: var(--tk-poster);
	box-shadow: inset 0 -3px 0 var(--tk-flame);
}
.ct-header .site-logo-container img,
.ct-header .custom-logo { border-radius: 50%; background: var(--tk-white); }

/* Mobile off-canvas */
#offcanvas .ct-panel-inner { background: var(--tk-navy); }
#offcanvas .ct-menu-link, #offcanvas a { color: var(--tk-white); font-family: var(--font-display); text-transform: uppercase; letter-spacing: .04em; }

/* --- Headings & section markers ------------------------------------------- */
h1, h2, h3 { letter-spacing: .01em; }
.section-head h2,
.section-heading {
	position: relative;
	padding-left: 14px;
	text-transform: uppercase;
	border-bottom: 0;
}
.section-head h2::before,
.section-heading::before {
	content: "";
	position: absolute;
	left: 0; top: .12em; bottom: .12em;
	width: 6px;
	background: var(--tk-flame);
	clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%);
}
.section-heading__note {
	font-family: var(--font-body);
	font-size: var(--fs-sm);
	font-weight: 400;
	text-transform: none;
	color: var(--tk-steel);
	margin-left: 6px;
}
.section-head__all, .article-eyebrow { color: var(--tk-flame-deep); }

/* --- Hero: headline on a diagonal navy/red band --------------------------- */
.hero__link { overflow: hidden; border-radius: var(--radius-md); }
.hero__media { position: relative; }
.hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10,18,56,0) 45%, rgba(10,18,56,.55) 100%);
}
@media (min-width: 768px) {
	.hero__body {
		position: absolute;
		left: 0; bottom: 0;
		width: min(78%, 760px);
		padding: var(--space-6) 18% var(--space-5) var(--space-6);
		background: var(--tk-diag);
		color: var(--tk-white);
	}
	.hero__headline { color: var(--tk-white); text-transform: uppercase; font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.6rem); line-height: 1.05; }
	.hero__body .article-eyebrow { color: var(--tk-poster); }
	.hero__body .story-card__date { color: var(--tk-grey-200); }
}
@media (max-width: 767px) {
	.hero__body { background: var(--tk-navy); color: var(--tk-white); border-top: 4px solid var(--tk-flame); }
	.hero__headline { color: var(--tk-white); text-transform: uppercase; font-size: 1.6rem; line-height: 1.08; }
	.hero__media { height: clamp(200px, 56vw, 320px); }
	.hero__body .article-eyebrow { color: var(--tk-poster); }
	.hero__body .story-card__date { color: var(--tk-grey-200); }
}
.hero__dot::after { background: var(--tk-grey-300); }
.hero__dot[aria-current="true"]::after, .hero__dot.is-active::after { background: var(--tk-flame); }

/* --- Score strip / dark surfaces: navy, not black-green -------------------- */
.score-strip, .scope--dark, .page--match { --mc-bg-0: #0A1238; --mc-bg-1: var(--tk-navy); --mc-bg-2: #1A2A66; --mc-accent: var(--tk-poster); }

/* --- Page intro + division tabs ------------------------------------------- */
.page-intro { padding-top: var(--space-5); padding-bottom: var(--space-4); }
.page-intro__title { font-size: var(--fs-h1); text-transform: uppercase; margin: var(--space-1) 0 var(--space-3); }
.page-intro__meta { color: var(--tk-steel); margin: 0; }
.division-tabs { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.division-tabs__tab {
	display: inline-flex; align-items: center; min-height: 40px;
	padding: 0 var(--space-4);
	border-radius: var(--radius-pill);
	background: var(--tk-white);
	border: 1px solid var(--tk-grey-300);
	color: var(--tk-navy);
	font-family: var(--font-display); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; font-size: var(--fs-sm);
}
.division-tabs__tab:hover, .division-tabs__tab:focus-visible { background: var(--tk-navy); border-color: var(--tk-navy); color: var(--tk-white); }
.tables-main { display: flex; flex-direction: column; gap: var(--space-7); padding-bottom: var(--space-7); }
.tables-single { scroll-margin-top: 96px; }
.tables-single .section-heading { margin-bottom: var(--space-4); }

/* --- Combined-points league table ----------------------------------------- */
.league-table__table thead th { background: var(--tk-navy); color: var(--tk-white); font-family: var(--font-display); font-weight: 600; letter-spacing: .04em; }
.league-table__table thead th.u-sticky { background: var(--tk-navy); }
.league-table__table thead .league-table__sort { color: var(--tk-white); }
.league-table__pts-col { background: var(--tk-highlight); color: var(--tk-ink); font-family: var(--font-display); }
.league-table__table thead .league-table__pts-col { background: var(--tk-flame); }
.league-table__row:first-child th, .league-table__row:first-child td { box-shadow: inset 0 0 0 9999px rgba(245,197,24,.18); }
.league-table__row:first-child .league-table__pos { color: var(--tk-flame-deep); font-weight: 700; }
.league-table__footnote { margin: 0; font-size: var(--fs-sm); color: var(--tk-steel); }

/* --- Top scorers ------------------------------------------------------------ */
.scorers { overflow: hidden; background: var(--tk-white); }
.scorers__table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.scorers__table thead th { background: var(--tk-navy); color: var(--tk-white); font-family: var(--font-display); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; font-size: var(--fs-sm); text-align: left; padding: 10px 14px; }
.scorers__table td, .scorers__table tbody th { padding: 10px 14px; border-bottom: 1px solid var(--tk-grey-200); text-align: left; font-weight: 400; }
.scorers__rank { width: 3.5em; color: var(--tk-steel); }
.scorers__name { font-family: var(--font-display); font-weight: 600; font-size: 17px; color: var(--tk-ink); }
.scorers__club-sub { display: block; font-size: var(--fs-xs); color: var(--tk-steel); }
.scorers__goals { width: 5em; text-align: right !important; font-family: var(--font-display); font-weight: 700; font-size: 20px; color: var(--tk-navy); }
.scorers__table tbody tr:first-child { background: var(--tk-highlight); }
.scorers__table tbody tr:first-child .scorers__goals { color: var(--tk-flame-deep); }
.page--scorers main { padding-bottom: var(--space-7); }

/* --- Footer ------------------------------------------------------------------ */
.ct-footer { background: #0A1238; position: relative; }
.ct-footer::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--tk-flame-bar); }

/* --- Homepage standings ----------------------------------------------------- */
.home-standings { margin-top: var(--space-7); }
.home-standings__grid { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
@media (min-width: 1024px) { .home-standings__grid { grid-template-columns: repeat(3, 1fr); } }
.home-standings__title { font-size: var(--fs-h3); text-transform: uppercase; margin-bottom: var(--space-3); }
.home-standings__title a { color: var(--tk-navy); }
.home-standings__title a:hover { color: var(--tk-flame-deep); }
.home-standings .league-table__club-name { font-size: 15px; }

/* Sticky header state: Blocksy moves rows into a fixed [data-sticky] wrapper. */
#header [data-sticky] { background: var(--tk-navy) !important; box-shadow: 0 2px 12px rgba(10,18,56,.25); }
#header [data-sticky]::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--tk-flame-bar); }

@media (min-width: 1024px) { .home-standings__grid { grid-template-columns: 1.25fr 1.25fr 1fr; } }
.scorers--compact .scorers__name { font-size: 15px; }
.scorers--compact .scorers__rank { width: 2.6em; padding-right: 0; }
.scorers--compact .scorers__table td, .scorers--compact .scorers__table tbody th { padding: 8px 10px; }
.home-standings .league-table__table thead th:first-child { text-align: left; }
.league-table__table thead th.league-table__club-col { text-align: left; padding-left: 14px; }
.score-strip__title, .score-strip h2 { text-transform: uppercase; }
.hero__img { object-position: center 12%; }
@media (max-width: 767px) { .score-strip h2, .section-head h2 { font-size: 1.6rem; } }

/* Combined tables on phones: Pos/Club, P, GD, ToW, A, Total — the rest behind "More columns". */
@media (max-width: 479px) {
	.league-table--combined:not(.is-expanded) [data-key="w"],
	.league-table--combined:not(.is-expanded) [data-key="d"],
	.league-table--combined:not(.is-expanded) [data-key="l"],
	.league-table--combined:not(.is-expanded) [data-key="gf"],
	.league-table--combined:not(.is-expanded) [data-key="ga"],
	.league-table--combined:not(.is-expanded) [data-key="spts"] { display: none; }
	.league-table__table th, .league-table__table td { padding-left: 6px; padding-right: 6px; }
	.league-table__club-name { font-size: 15px; }
	.section-heading { font-size: 1.6rem; }
	.page-intro__title { font-size: 2.2rem; }
	.division-tabs__tab { min-height: 36px; padding: 0 12px; font-size: 13px; }
}
.league-table__more { align-self: flex-start; background: none; border: 1px solid var(--tk-grey-300); border-radius: var(--radius-pill); padding: 6px 14px; font-family: var(--font-display); text-transform: uppercase; letter-spacing: .04em; font-size: 13px; color: var(--tk-navy); cursor: pointer; }
@media (max-width: 419px) {
	.league-table--combined .league-table__crest { display: none; }
	.league-table--combined .league-table__club-col { min-width: 0; max-width: 46vw; }
	.league-table--combined .league-table__club-name { font-size: 14px; }
}

/* Follow-on-X band (Phase 0 stand-in for a live feed; X embeds need sign-in) */
.follow-x { margin-top: var(--space-7); }
.follow-x__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-5) var(--space-6); border-radius: var(--radius-md); background: var(--tk-diag), var(--tk-navy); background: linear-gradient(115deg, var(--tk-navy) 0 78%, var(--tk-flame) 78% 84%, var(--tk-poster) 84% 86%, var(--tk-navy) 86%); color: var(--tk-white); }
.follow-x__eyebrow { color: var(--tk-poster); }
.follow-x__title { margin: 4px 0 0; font-family: var(--font-display); font-weight: 700; font-size: var(--fs-h3); text-transform: uppercase; }
.follow-x__btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: var(--radius-pill); background: var(--tk-white); color: var(--tk-navy); font-family: var(--font-display); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.follow-x__btn:hover { background: var(--tk-poster); color: var(--tk-ink); }
.clubs-strip { margin-top: var(--space-7); }

/* ==========================================================================
   Phase 1 — Outings
   ========================================================================== */
.outing-banner { margin-top: var(--space-5); }
.outing-banner__link { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 4px var(--space-5); padding: var(--space-4) var(--space-5); border-radius: var(--radius-md); background: var(--tk-white); border: 1px solid var(--tk-grey-200); border-left: 6px solid var(--tk-flame); color: var(--tk-ink); }
.outing-banner__link:hover { border-color: var(--tk-grey-300); border-left-color: var(--tk-flame); box-shadow: var(--shadow-raise); }
.outing-banner__label { grid-row: span 2; font-family: var(--font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: var(--fs-sm); color: var(--tk-flame-deep); }
.outing-banner__title { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-h3); text-transform: uppercase; color: var(--tk-navy); }
.outing-banner__meta { grid-column: 2; color: var(--tk-steel); font-size: var(--fs-sm); }
.outing-banner__cta { grid-row: 1 / span 2; grid-column: 3; font-family: var(--font-display); font-weight: 600; text-transform: uppercase; color: var(--tk-navy); }
@media (max-width: 599px) {
	.outing-banner__link { grid-template-columns: 1fr; }
	.outing-banner__label, .outing-banner__cta, .outing-banner__meta { grid-row: auto; grid-column: auto; }
}

.outing-hero { background: var(--tk-navy); color: var(--tk-white); position: relative; overflow: hidden; padding: var(--space-5) 0 var(--space-6); }
.outing-hero::after { content: ""; position: absolute; right: -60px; top: 0; bottom: 0; width: 220px; background: linear-gradient(115deg, transparent 0 30%, var(--tk-flame) 30% 62%, var(--tk-poster) 62% 70%, transparent 70%); opacity: .9; pointer-events: none; }
.outing-hero__inner { position: relative; z-index: 1; }
.outing-hero .breadcrumbs, .outing-hero .breadcrumbs a { color: var(--tk-text-muted-on-dark); }
.outing-hero__title { color: var(--tk-white); font-size: var(--fs-display); text-transform: uppercase; margin: var(--space-2) 0 var(--space-4); }
.outing-hero__status { display: inline-block; margin-top: var(--space-4); padding: 3px 10px; border-radius: var(--radius-pill); background: var(--tk-poster); color: var(--tk-ink); font-family: var(--font-display); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; font-size: var(--fs-xs); }
.outing-hero__status--live { background: var(--tk-flame); color: var(--tk-white); }
.outing-hero__status--completed { background: var(--tk-grey-200); }
.outing-hero__facts { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-6); margin: 0 0 var(--space-4); }
.outing-hero__facts dt { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--tk-text-muted-on-dark); }
.outing-hero__facts dd { margin: 2px 0 0; font-family: var(--font-display); font-weight: 600; font-size: 1.15rem; }
.outing-hero__map { color: var(--tk-poster); text-decoration: underline; }
.outing-main { padding-top: var(--space-5); padding-bottom: var(--space-7); display: flex; flex-direction: column; gap: var(--space-6); }
.outing-division { scroll-margin-top: 96px; }
.outing-division .section-heading, .outing-tables .section-heading { margin-bottom: var(--space-3); }
.outing-tables__div { margin: var(--space-5) 0 var(--space-3); font-size: var(--fs-h3); text-transform: uppercase; color: var(--tk-navy); }

.fixture-list { list-style: none; margin: 0; padding: 0; background: var(--tk-white); border-radius: var(--radius-md); box-shadow: var(--shadow-card); overflow: hidden; }
.fixture-row { border-bottom: 1px solid var(--tk-grey-200); }
.fixture-row:last-child { border-bottom: 0; }
.fixture-row__link { display: grid; grid-template-columns: 5.5rem 1fr auto 1fr 5.5rem; align-items: center; gap: var(--space-3); padding: 10px var(--space-4); color: var(--tk-ink); }
.fixture-row__link:hover { background: var(--tk-surface-subtle); }
.fixture-row__when { display: flex; flex-direction: column; font-size: var(--fs-xs); color: var(--tk-steel); }
.fixture-row__time { font-family: var(--font-display); font-weight: 600; font-size: var(--fs-sm); color: var(--tk-ink); }
.fixture-row__team { font-family: var(--font-display); font-weight: 600; font-size: 1.05rem; }
.fixture-row__team--home { text-align: right; }
.fixture-row__team.is-winner { color: var(--tk-navy); }
.fixture-row__team:not(.is-winner) { font-weight: 500; }
.fixture-row__score { min-width: 4.5rem; text-align: center; padding: 4px 10px; border-radius: var(--radius-sm); background: var(--tk-navy); color: var(--tk-white); font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; }
.fixture-row--scheduled .fixture-row__score, .fixture-row--postponed .fixture-row__score, .fixture-row--void .fixture-row__score { background: var(--tk-surface-subtle); color: var(--tk-steel); }
.fixture-row__status { text-align: right; }
.fixture-row__note { margin: 0; padding: 0 var(--space-4) 10px calc(5.5rem + 2 * var(--space-3)); font-size: var(--fs-sm); color: var(--tk-steel); }
.tow-badge { display: inline-block; padding: 1px 6px; border-radius: var(--radius-sm); background: var(--tk-poster); color: var(--tk-ink); font-family: var(--font-body); font-weight: 600; font-size: 11px; vertical-align: middle; }
.status-badge { display: inline-block; padding: 2px 8px; border-radius: var(--radius-pill); font-family: var(--font-display); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; background: var(--tk-surface-subtle); color: var(--tk-ink); }
.status-badge--walkover { background: var(--tk-sky); color: var(--tk-navy); }
.status-badge--petition { background: #FDE7B0; color: #7A4B00; }
.status-badge--overturned { background: var(--tk-flame-deep); color: var(--tk-white); }
.status-badge--void, .status-badge--postponed { background: var(--tk-grey-200); color: var(--tk-steel); }
.status-badge--next { background: var(--tk-flame); color: var(--tk-white); }
.league-table__prov { margin-left: 2px; color: #B26B00; text-decoration: none; font-weight: 700; }
@media (max-width: 599px) {
	.fixture-row__link { grid-template-columns: 1fr auto 1fr; grid-template-areas: "when when status" "home score away"; row-gap: 4px; padding: 10px 12px; }
	.fixture-row__when { grid-area: when; flex-direction: row; gap: 8px; }
	.fixture-row__status { grid-area: status; }
	.fixture-row__team--home { grid-area: home; font-size: .95rem; }
	.fixture-row__score { grid-area: score; min-width: 3.6rem; }
	.fixture-row__team--away { grid-area: away; font-size: .95rem; }
	.fixture-row__note { padding-left: 12px; }
	.outing-hero::after { width: 120px; right: -50px; }
}

.outing-timeline { list-style: none; margin: 0 0 var(--space-7); padding: 0; display: grid; gap: var(--space-3); }
.outing-card__link { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-radius: var(--radius-md); background: var(--tk-white); box-shadow: var(--shadow-card); color: var(--tk-ink); }
.outing-card__link:hover { box-shadow: var(--shadow-raise); }
.outing-card--current .outing-card__link { outline: 2px solid var(--tk-flame); }
.outing-card__num { flex: 0 0 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: var(--tk-navy); color: var(--tk-white); font-family: var(--font-display); font-weight: 700; font-size: 1.6rem; }
.outing-card--current .outing-card__num { background: var(--tk-flame); }
.outing-card__body { display: flex; flex-direction: column; gap: 2px; }
.outing-card__title { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-h3); text-transform: uppercase; color: var(--tk-navy); }
.outing-card__meta, .outing-card__stats { font-size: var(--fs-sm); color: var(--tk-steel); }

/* ==========================================================================
   Phase 2 — organisations, petitions, gallery, forms, partners
   ========================================================================== */
.org-hero { background: var(--tk-navy); color: var(--tk-white); padding: var(--space-5) 0 var(--space-6); border-bottom: 4px solid var(--tk-flame); }
.org-hero .breadcrumbs, .org-hero .breadcrumbs a { color: var(--tk-text-muted-on-dark); }
.org-hero__id { display: flex; align-items: center; gap: var(--space-5); margin-top: var(--space-4); }
.org-hero__crest img, .org-hero__crest svg { width: 96px; height: 96px; border-radius: var(--radius-md); background: var(--tk-white); object-fit: contain; }
.org-hero__title { color: var(--tk-white); text-transform: uppercase; margin: 0; }
.org-hero__meta { margin: 4px 0 0; color: var(--tk-grey-200); }
.org-hero__overall a { color: var(--tk-poster); font-weight: 600; }
.org-main { padding-top: var(--space-5); padding-bottom: var(--space-7); }
.org-about { margin-bottom: var(--space-5); }
.org-teams { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin-top: var(--space-4); }
.org-team { display: flex; flex-direction: column; gap: 4px; padding: var(--space-4); border-radius: var(--radius-md); background: var(--tk-white); box-shadow: var(--shadow-card); border-top: 4px solid var(--tk-navy); color: var(--tk-ink); }
.org-team:hover { box-shadow: var(--shadow-raise); border-top-color: var(--tk-flame); }
.org-team__division { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--tk-flame-deep); font-weight: 600; }
.org-team__name { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-h3); text-transform: uppercase; color: var(--tk-navy); }
.org-team__stats { display: flex; flex-wrap: wrap; gap: var(--space-3); color: var(--tk-steel); font-size: var(--fs-sm); }
.org-team__stats strong { color: var(--tk-ink); }
.org-strip { background: var(--tk-sky); font-size: var(--fs-sm); padding: 8px 0; color: var(--tk-steel); }
.org-strip a { color: var(--tk-navy); font-weight: 600; }

.overall__teams { font-size: var(--fs-sm); color: var(--tk-steel); }
.overall__table a.scorers__name { color: var(--tk-ink); }

.petitions { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
.petition { padding: var(--space-4); background: var(--tk-white); border-radius: var(--radius-md); box-shadow: var(--shadow-card); border-left: 5px solid #E5A100; }
.petition--upheld { border-left-color: var(--tk-flame-deep); }
.petition--dismissed { border-left-color: var(--tk-steel); }
.petition p { margin: 6px 0 0; font-size: var(--fs-sm); }
.petition__head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); }
.petition__match { font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; color: var(--tk-navy); }
.petition__by { color: var(--tk-steel); }

.gallery-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.gallery-grid img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-sm); }
.outing-hero__feedback { display: inline-block; margin-right: var(--space-4); padding: 6px 14px; border-radius: var(--radius-pill); background: var(--tk-poster); color: var(--tk-ink); font-weight: 600; }

.tk-form { display: grid; gap: var(--space-4); max-width: 640px; padding: var(--space-5); background: var(--tk-white); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.tk-form__field label, .tk-form__field legend { display: block; font-weight: 600; color: var(--tk-ink); margin-bottom: 6px; }
.tk-form__field fieldset { border: 0; margin: 0; padding: 0; }
.tk-form__field input[type=text], .tk-form__field input[type=email], .tk-form__field input[type=tel], .tk-form__field select, .tk-form__field textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--tk-grey-300); border-radius: var(--radius-sm); font: inherit; background: var(--tk-white); }
.tk-form__field input:focus, .tk-form__field select:focus, .tk-form__field textarea:focus { outline: 2px solid var(--tk-navy); outline-offset: 1px; border-color: var(--tk-navy); }
.tk-form__choice { display: flex !important; align-items: center; gap: 8px; font-weight: 400 !important; min-height: 36px; }
.tk-form__field.has-error input, .tk-form__field.has-error select, .tk-form__field.has-error textarea { border-color: var(--tk-flame-deep); }
.tk-form__err { display: block; margin-top: 4px; color: var(--tk-flame-deep); font-size: var(--fs-sm); }
.tk-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tk-form__privacy { margin: 0; font-size: var(--fs-xs); color: var(--tk-steel); }
.tk-form__submit { justify-self: start; min-height: 46px; padding: 0 24px; border: 0; border-radius: var(--radius-pill); background: var(--tk-flame); color: var(--tk-white); font-family: var(--font-display); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; cursor: pointer; }
.tk-form__submit:hover { background: var(--tk-flame-deep); }
.tk-form__msg { padding: 12px 16px; border-radius: var(--radius-sm); background: var(--tk-sky); color: var(--tk-navy); }
.tk-form__msg--ok { background: #E3F4EA; color: #14532D; }
.tk-form__msg--err { background: #FDE8E7; color: var(--tk-flame-deep); }

.partners-main { padding-bottom: var(--space-7); }
.partners-grid { list-style: none; margin: 0 0 var(--space-6); padding: 0; display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.partner-card { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); padding: var(--space-5) var(--space-4); background: var(--tk-white); border-radius: var(--radius-md); box-shadow: var(--shadow-card); text-align: center; color: var(--tk-ink); height: 100%; }
a.partner-card:hover { box-shadow: var(--shadow-raise); }
.partner-card__logo img { max-height: 64px; width: auto; }
.partner-card__name { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; color: var(--tk-navy); }
.partner-card__tag { font-size: var(--fs-sm); color: var(--tk-steel); }
.scorers-main { display: flex; flex-direction: column; gap: var(--space-5); padding-bottom: var(--space-7); }

/* Phase 3 — live + share */
.share-link { display: inline-flex; align-items: center; gap: 6px; margin-top: var(--space-3); font-weight: 600; color: var(--tk-navy); text-decoration: underline; text-underline-offset: 3px; }
.share-link::before { content: "↓"; font-weight: 700; }
.fixture-row--live .fixture-row__score { background: var(--tk-flame); animation: tk-live 2s ease-in-out infinite; }
.status-badge--live { background: var(--tk-flame); color: var(--tk-white); }
@keyframes tk-live { 50% { box-shadow: 0 0 0 4px rgba(225,37,27,.25); } }
@media (prefers-reduced-motion: reduce) { .fixture-row--live .fixture-row__score { animation: none; } }

/* Phase 4 — season switcher */
.season-switch { display: flex; align-items: center; gap: 8px; margin: 0 0 var(--space-3); font-weight: 600; color: var(--tk-steel); }
.season-switch select { min-height: 40px; padding: 0 12px; border: 1px solid var(--tk-grey-300); border-radius: var(--radius-pill); font: inherit; color: var(--tk-navy); background: var(--tk-white); }

/* ==========================================================================
   Reader-review fixes (30 Oct 2026)
   ========================================================================== */

/* --- One visual system: match-centre pages go light; header bands stay navy --- */
.page--match, .scope--dark {
	--mc-bg-0: var(--tk-off-white); --mc-bg-1: var(--tk-white); --mc-bg-2: var(--tk-surface-subtle);
	--mc-text: var(--tk-ink); --mc-text-muted: var(--tk-steel); --mc-border: var(--tk-grey-200); --mc-accent: var(--tk-flame-deep);
	background: var(--tk-off-white); color: var(--tk-ink);
}
.page--match .mc-band, .match-header {
	--mc-bg-0: #0A1238; --mc-bg-1: var(--tk-navy); --mc-bg-2: #1A2A66;
	--mc-text: #E4E8F0; --mc-text-muted: #C3CBE6; --mc-border: rgba(228,232,240,.18); --mc-accent: var(--tk-poster);
	background: var(--tk-navy); color: var(--tk-white); border-bottom: 4px solid var(--tk-flame);
}
.page--match .mc-band h1, .page--match .mc-band .scope-bar__title { text-transform: uppercase; color: var(--tk-white); }
.page--match .mc-band label, .page--match .mc-band .u-eyebrow { color: var(--tk-grey-200); }
.page--match h2, .page--match .mc-block__title, .page--match .mc-group__date { color: var(--tk-ink); }
.page--match .mc-group__date { background: var(--tk-navy); color: var(--tk-white); }
.page--match .match-card, .page--match .chip-match { background: var(--tk-white); border-color: var(--tk-grey-200); color: var(--tk-ink); }
.page--match a { color: var(--tk-navy); }
.page--match .breadcrumbs, .page--match .breadcrumbs a { color: var(--tk-steel); }
.match-header .match-header__meta, .match-header .match-header__muted { color: #C3CBE6; }
/* Calendar button: dark text on yellow (was yellow on yellow). */
.mc-countdown__ics, a.mc-countdown__ics, [data-surface="match"] a.mc-countdown__ics { background: var(--tk-poster) !important; color: var(--tk-ink) !important; font-weight: 700; }
.mc-countdown__ics:hover { background: #FFD94A !important; }

/* --- Page margins: nothing touches the screen edge --- */
.mc-archive, .mc-main { padding-left: var(--space-4) !important; padding-right: var(--space-4) !important; }
@media (min-width: 768px) { .mc-archive, .mc-main { padding-left: var(--space-6) !important; padding-right: var(--space-6) !important; } }
.score-strip__head, .score-strip__track { max-width: var(--container-max); margin-left: auto; margin-right: auto; padding-left: var(--space-4); padding-right: var(--space-4); }
@media (min-width: 768px) { .score-strip__head, .score-strip__track { padding-left: var(--space-6); padding-right: var(--space-6); } }
.score-strip__title { font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); }
body.page:not(.home) article.page > .entry-content,
body.page:not(.home) .entry-content.is-layout-constrained,
body.page:not(.home) .hero-section[data-type] .entry-header { max-width: 760px; margin-left: auto !important; margin-right: auto !important; padding-left: var(--space-4); padding-right: var(--space-4); }

/* --- Header crest: sits inside the bar --- */
#header .site-logo-container img, #header .custom-logo { max-height: 68px !important; width: auto; }

/* --- Homepage hero --- */
.home-hero { position: relative; overflow: hidden; background: var(--tk-navy); color: var(--tk-white); min-height: clamp(340px, 46vw, 520px); display: flex; align-items: flex-end; }
.home-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.home-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(10,18,56,.92) 0%, rgba(10,18,56,.75) 45%, rgba(10,18,56,.15) 100%), linear-gradient(0deg, rgba(10,18,56,.6), transparent 50%); }
.home-hero::after { content: ""; position: absolute; z-index: 1; right: -40px; top: 0; bottom: 0; width: 200px; background: linear-gradient(115deg, transparent 0 30%, var(--tk-flame) 30% 60%, var(--tk-poster) 60% 68%, transparent 68%); }
.home-hero__inner { position: relative; z-index: 2; padding-top: var(--space-8); padding-bottom: var(--space-7); }
.home-hero__label { display: inline-block; padding: 4px 12px; border-radius: var(--radius-pill); background: var(--tk-poster); color: var(--tk-ink); font-family: var(--font-display); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: var(--fs-sm); }
.home-hero__label--live { background: var(--tk-flame); color: var(--tk-white); }
.home-hero__title { margin: var(--space-3) 0 var(--space-2); color: var(--tk-white); font-size: var(--fs-display); text-transform: uppercase; line-height: 1; }
.home-hero__meta { margin: 0 0 var(--space-5); font-size: var(--fs-body-lg); color: var(--tk-grey-200); }
.home-hero__ctas { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.home-hero__btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: var(--radius-pill); border: 2px solid var(--tk-white); color: var(--tk-white); font-family: var(--font-display); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.home-hero__btn:hover { background: rgba(255,255,255,.12); color: var(--tk-white); }
.home-hero__btn--primary { background: var(--tk-flame); border-color: var(--tk-flame); }
.home-hero__btn--primary:hover { background: var(--tk-flame-deep); border-color: var(--tk-flame-deep); }
@media (max-width: 599px) { .home-hero::after { width: 110px; right: -50px; } .home-hero__title { font-size: 2.6rem; } }
.tkcg-homepage .latest { margin-top: var(--space-7); }

/* --- Homepage standings: room for club names --- */
@media (min-width: 1024px) { .home-standings__grid { grid-template-columns: 1.45fr 1.15fr 1fr; } }
.home-standings .league-table__club-link { justify-content: flex-start; text-align: left; }
.home-standings .league-table__club-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 15ch; display: inline-block; vertical-align: middle; }
.home-standings__card--scorers .scorers__name { white-space: nowrap; }
.league-table__table th.league-table__club-col .league-table__club-link { text-align: left; }

/* --- Organisations grid (homepage) + clubs directory --- */
.org-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.org-grid__item { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: var(--space-4) var(--space-3); border-radius: var(--radius-md); background: var(--tk-white); box-shadow: var(--shadow-card); text-align: center; color: var(--tk-ink); height: 100%; }
.org-grid__item:hover { box-shadow: var(--shadow-raise); }
.org-grid__crest img, .org-grid__crest svg { width: 48px; height: 48px; object-fit: contain; }
.org-grid__name { font-family: var(--font-display); font-weight: 600; font-size: .95rem; line-height: 1.2; color: var(--tk-navy); }
.home-clubs { margin-top: var(--space-7); margin-bottom: var(--space-7); }
.club-dir { list-style: none; margin: 0 0 var(--space-7); padding: 0; display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.club-dir__link { display: flex; gap: var(--space-4); align-items: center; padding: var(--space-4); border-radius: var(--radius-md); background: var(--tk-white); box-shadow: var(--shadow-card); color: var(--tk-ink); height: 100%; }
.club-dir__link:hover { box-shadow: var(--shadow-raise); }
.club-dir__crest img, .club-dir__crest svg { width: 56px; height: 56px; object-fit: contain; display: block; }
.club-dir__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.club-dir__name { font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; text-transform: uppercase; color: var(--tk-navy); line-height: 1.15; }
.club-dir__sector { font-size: var(--fs-sm); color: var(--tk-steel); }
.club-dir__teams { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.club-dir__team { font-size: var(--fs-xs); padding: 2px 8px; border-radius: var(--radius-pill); background: var(--tk-surface-subtle); color: var(--tk-ink); }
.division-tabs__tab[aria-current="page"] { background: var(--tk-navy); border-color: var(--tk-navy); color: var(--tk-white); }

/* --- Outings: honest notes for pre-launch outings; light breadcrumb on navy --- */
.outing-archive-note { padding: var(--space-4) var(--space-5); background: var(--tk-white); border-left: 5px solid var(--tk-poster); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.outing-archive-note p { margin: 0 0 var(--space-2); } .outing-archive-note p:last-child { margin: 0; }
.outings-earlier { margin: 0 0 var(--space-7); }
.outing-hero .breadcrumbs, .outing-hero .breadcrumbs a, .org-hero .breadcrumbs, .org-hero .breadcrumbs a { color: #D5DBEE; font-size: var(--fs-sm); }

/* --- Site footer --- */
.site-foot { background: var(--tk-navy); color: #D5DBEE; padding: var(--space-7) 0 var(--space-6); border-top: 4px solid transparent; border-image: var(--tk-flame-bar) 1; }
.site-foot__inner { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
@media (min-width: 768px) { .site-foot__inner { grid-template-columns: 1.6fr 1fr 1fr 1fr; } }
.site-foot__crest { width: 72px; height: 72px; border-radius: 50%; background: var(--tk-white); }
.site-foot__name { margin: var(--space-3) 0 var(--space-2); font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; text-transform: uppercase; color: var(--tk-white); }
.site-foot__about p { margin-top: 0; max-width: 42ch; }
.site-foot__h { margin: 0 0 var(--space-3); font-size: var(--fs-sm); letter-spacing: .1em; text-transform: uppercase; color: var(--tk-poster); }
.site-foot ul { list-style: none; margin: 0; padding: 0; }
.site-foot li a { display: inline-flex; align-items: center; min-height: 36px; color: var(--tk-white); }
.site-foot li a:hover { color: var(--tk-poster); }
.ct-footer::before { display: none; }

/* --- Phone menu: solid navy, no dead social icons --- */
#offcanvas .ct-panel-inner { background: var(--tk-navy) !important; border-top: 4px solid var(--tk-flame); }
#offcanvas .ct-social-box, #offcanvas [data-id="socials"], .ct-footer .ct-social-box { display: none !important; }

/* --- Hide Eritei's Trending strip if the extension is ever re-enabled --- */
.ct-trending-block { display: none !important; }

/* --- Articles: summary not repeated above the title; live links; related cards --- */
.single-post .hero-section .page-description, .single-post .entry-header .page-description { display: none; }
.live-links { margin: 0 0 var(--space-5); padding: var(--space-3) var(--space-4); background: var(--tk-highlight); border-left: 4px solid var(--tk-poster); border-radius: var(--radius-sm); font-size: var(--fs-sm); }
.live-links a { font-weight: 600; color: var(--tk-navy); text-decoration: underline; }
.ct-related-posts-items { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; gap: var(--space-4) !important; }
.ct-related-posts .related-entry-title, .ct-related-posts h4, .ct-related-posts h3 { font-size: 1.05rem !important; line-height: 1.25 !important; }

/* --- Top scorers page: readable width --- */
.page--scorers .scorers { max-width: 820px; }

/* --- Tap targets and edge spacing on phones --- */
.league-table__sort { min-height: 44px; }
.section-head__all, .share-link { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 599px) { .section-head { padding-right: 0; } .section-head__all { padding-right: 2px; } }
.score-strip__track { scroll-padding-inline: var(--space-4); }
@media (min-width: 768px) { .score-strip__track { scroll-padding-inline: var(--space-6); } }
@media (min-width: 1024px) { .home-standings__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.1fr) minmax(270px, .9fr); } }
.home-standings .league-table__club-name { max-width: 19ch; }
/* Light match-centre: readable match cards and a navy title band. */
.page--match .match-card__name, .page--match .match-card__score { color: var(--tk-ink); }
.page--match .match-card__meta, .page--match .match-card__competition, .page--match .match-card__when, .page--match .match-card__venue { color: var(--tk-steel); }
.page--match .match-card__status--ft { color: var(--tk-ink); }
.page--match .mc-band .scope-bar, .page--match .mc-band .scope-bar__inner, .page--match .mc-band .scope-bar__form { background: transparent; border-color: rgba(228,232,240,.25); box-shadow: none; color: var(--tk-white); }
.page--match .mc-band .scope-bar__title, .page--match .mc-band h1 { color: var(--tk-white) !important; }
.page--match .mc-band select { background: var(--tk-white); color: var(--tk-ink); }
.page--match .mc-band .scope-bar__meta, .page--match .mc-band small, .page--match .mc-band p { color: #D5DBEE; }
.page--match .mc-band .scope, .page--match .mc-band .scope__bar { background: transparent !important; border-color: rgba(228,232,240,.25) !important; box-shadow: none !important; }
.page--match .mc-band .scope__heading { color: var(--tk-white) !important; text-transform: uppercase; }
.page--match .mc-band .scope__field label, .page--match .mc-band .scope__summary { color: #D5DBEE !important; }
.page--match .mc-band .scope__submit { background: var(--tk-poster); color: var(--tk-ink); border: 0; }
/* Club page: results use the full width when there is no "next match" column. */
.club-row:has(> .club-col:only-child) { grid-template-columns: 1fr !important; }
.club-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-4); }
.club-col { flex: 1 1 320px; min-width: 0; }
/* The excerpt is the article's own first paragraph: don't print it twice above the title. */
.single-post .article-standfirst { display: none; }

/* Article body: centred reading column under the full-width (type-4) layout */
.single-post article > .entry-content,
.single-post article > .live-links { max-width: 760px !important; margin-inline: auto !important; padding-inline: 16px; box-sizing: content-box; }
.single-post article > .entry-content > * { max-width: 100%; }
/* One share block per article (Blocksy's icon box), aligned to the reading column */
.single-post article > .tkcg-container .share-row { display: none; }
.single-post article > .ct-share-box,
.single-post article > .post-edit-link { max-width: 760px !important; margin-inline: auto !important; padding-inline: 16px; box-sizing: content-box; display: block; }
/* Outing hero links: keep each on one line and space them when they wrap */
.outing-hero__map, .outing-hero__feedback { display: inline-block; white-space: nowrap; margin: 0 var(--space-3) var(--space-2) 0; vertical-align: middle; }
/* Portrait featured photos: crop to a landscape frame instead of filling the phone screen */
.single-post .ct-featured-image img { aspect-ratio: 3 / 2 !important; height: auto !important; max-height: 520px; width: 100%; object-fit: cover; object-position: center 12%; }
