:root {
	--dk-bg: #f6f3eb;
	--dk-fg: #1b2335;
	--dk-card: #fbfaf6;
	--dk-border: #d9d3c5;
	--dk-muted: #696d77;
	--dk-ink: #1b2a4a;
	--dk-coral: #f15a32;
	--dk-mint: #cfe7dd;
	--dk-radius: 14px;
}

html.dark-mode {
	--dk-bg: #111625;
	--dk-fg: #f1eee4;
	--dk-card: #1a2030;
	--dk-border: #343b50;
	--dk-muted: #abb0be;
	--dk-ink: #c0e3d6;
	--dk-mint: #273348;
	color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	background: var(--dk-bg);
	color: var(--dk-fg);
	-webkit-font-smoothing: antialiased;
}
body, button, input, select { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { transition: color .2s, transform .2s; }
button, select, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--dk-coral); outline-offset: 3px; }
.wp-site-blocks { overflow: clip; }
.eyebrow {
	color: var(--dk-coral);
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.trust-strip {
	background: #1b2a4a;
	color: #f6f3eb;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .65rem;
	letter-spacing: .08em;
	min-height: 30px;
	padding: 5px 20px;
	text-transform: uppercase;
}
.trust-strip p { margin: 0; }
.trust-strip strong { color: var(--dk-coral); }
.site-header {
	background: color-mix(in srgb, var(--dk-bg) 92%, transparent);
	border-bottom: 1px solid var(--dk-border);
	position: sticky;
	top: 0;
	z-index: 20;
	backdrop-filter: blur(15px);
}
.header-inner { min-height: 72px; padding: 10px 0; }
.site-brand a {
	align-items: center;
	color: var(--dk-fg);
	display: inline-flex;
	font-family: "Arial Narrow", "Helvetica Neue", sans-serif;
	font-size: 1.4rem;
	font-weight: 800;
	gap: 10px;
	letter-spacing: -.05em;
	text-decoration: none;
}
.site-brand a::before {
	align-items: center;
	background: var(--dk-coral);
	border-radius: 10px 3px 10px 3px;
	color: #fff;
	content: "D";
	display: inline-flex;
	font-size: 1rem;
	height: 32px;
	justify-content: center;
	transform: rotate(-8deg);
	width: 32px;
}
.primary-navigation a { color: var(--dk-muted); font-size: .82rem; }
.primary-navigation a:hover { color: var(--dk-fg); }
.theme-toggle {
	background: transparent;
	border: 1px solid var(--dk-border);
	border-radius: 9px;
	color: var(--dk-fg);
	cursor: pointer;
	font-size: 1.1rem;
	height: 40px;
	width: 40px;
}
.theme-toggle:hover { border-color: var(--dk-coral); transform: translateY(-2px); }
.wp-block-navigation__responsive-container { background: var(--dk-bg) !important; color: var(--dk-fg) !important; }

.dookeela-hero {
	background: #1b2a4a;
	color: #f6f3eb;
	min-height: 600px;
	padding: clamp(55px, 8vw, 92px) 20px;
	position: relative;
}
.dookeela-hero::before {
	background-image: repeating-linear-gradient(90deg, transparent 0 92px, rgba(207,231,221,.07) 92px 93px);
	content: "";
	inset: 0;
	position: absolute;
}
.hero-grid { align-items: center; gap: clamp(30px, 5vw, 60px); position: relative; }
.dookeela-hero h1 { color: #f6f3eb; font-size: clamp(3rem, 7vw, 5.2rem); letter-spacing: -.055em; line-height: .94; margin: 20px 0 24px; }
.dookeela-hero h1 em { color: var(--dk-coral); font-style: normal; }
.hero-copy { color: rgba(246,243,235,.74); max-width: 500px; }
.hero-kicker { color: var(--dk-mint); }
.hero-kicker span { color: var(--dk-coral); }
.trust-note { color: rgba(246,243,235,.66); font-size: .78rem; }

.finder-card {
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 18px;
	box-shadow: 0 28px 70px rgba(5,10,25,.25);
	color: #f6f3eb;
	padding: 24px;
}
.content-shell > .finder-card { background: var(--dk-card); border-color: var(--dk-border); color: var(--dk-fg); }
.finder-card-header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 18px; }
.finder-card-header h2 { font-size: 1rem; margin: 0; }
.finder-card-header span { font: .62rem ui-monospace, monospace; opacity: .65; text-transform: uppercase; }
.finder-form { display: grid; gap: 13px; }
.finder-form label { font-size: .7rem; opacity: .8; }
.finder-form select {
	appearance: none;
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 8px;
	color: inherit;
	display: block;
	height: 48px;
	margin-top: 6px;
	padding: 0 12px;
	width: 100%;
}
.content-shell .finder-form select { background: var(--dk-bg); border-color: var(--dk-border); }
.finder-form option { background: var(--dk-card); color: var(--dk-fg); }
.finder-form button, .compare-toggle, .filter-row button {
	background: var(--dk-coral);
	border: 0;
	border-radius: 9px;
	color: #fff;
	cursor: pointer;
	font-size: .8rem;
	font-weight: 700;
	min-height: 46px;
	padding: 0 16px;
}
.finder-form button:hover, .compare-toggle:hover { filter: brightness(.94); transform: translateY(-2px); }
.finder-stats { border-top: 1px solid rgba(255,255,255,.16); display: flex; gap: 25px; margin-top: 22px; padding-top: 16px; }
.content-shell .finder-stats { border-color: var(--dk-border); }
.finder-stats span { font-size: .65rem; opacity: .7; }
.finder-stats strong { display: block; font-size: 1.25rem; opacity: 1; }
.finder-results:not(:empty) { margin-top: 22px; }
.finder-results > p { background: rgba(255,255,255,.08); border-radius: 9px; padding: 14px; }
.broadcaster-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.broadcaster-card {
	background: var(--dk-card);
	border: 1px solid var(--dk-border);
	border-radius: 12px;
	color: var(--dk-fg);
	display: grid;
	gap: 10px;
	padding: 17px;
}
.broadcaster-heading { align-items: center; display: flex; gap: 10px; }
.service-mark {
	align-items: center;
	background: var(--dk-ink);
	border-radius: 10px;
	color: var(--dk-bg);
	display: flex;
	font-weight: 800;
	height: 43px;
	justify-content: center;
	width: 43px;
}
.broadcaster-card h3 { flex: 1; font-size: 1rem; margin: 0; }
.verified { background: var(--dk-mint); border-radius: 999px; color: var(--dk-ink); font-size: .6rem; padding: 5px 7px; }
.broadcaster-card p { color: var(--dk-muted); font-size: .72rem; margin: 0; }
.broadcaster-card a { color: var(--dk-coral); font-size: .75rem; font-weight: 700; }

.section-block, .content-shell { padding-bottom: clamp(55px, 8vw, 90px); padding-top: clamp(55px, 8vw, 90px); }
.section-block > h2 { font-size: clamp(2rem, 4vw, 3rem); margin-top: 9px; }
.sport-grid { gap: 0; margin: 0 !important; }
.sport-grid .wp-block-column { border: 1px solid var(--dk-border); min-height: 130px; padding: 20px; }
.sport-grid + .sport-grid .wp-block-column { border-top: 0; }
.sport-grid h3 { font-size: 1rem; }
.sport-grid p { color: var(--dk-muted); font-size: .75rem; }
.feature-band { background: var(--dk-mint); padding: clamp(50px, 7vw, 80px) 20px; }
.trust-panel { gap: 24px; }
.trust-panel > div { border-top: 2px solid var(--dk-ink); padding-top: 20px; }
.trust-panel h3 { font-size: 1.2rem; }
.trust-panel p { color: var(--dk-muted); font-size: .82rem; }
.cta-panel { background: var(--dk-coral); border-radius: 16px; color: #fff; margin-bottom: 80px; padding: 38px; }
.cta-panel h2 { color: #fff; margin: 0; }
.cta-panel p { margin: 8px 0 0; }

.page-hero { background: #1b2a4a; color: #f6f3eb; padding: clamp(50px, 7vw, 75px) 20px; }
.page-hero h1 { color: #f6f3eb; font-size: clamp(2.8rem, 7vw, 4.8rem); letter-spacing: -.05em; margin: 15px 0; }
.page-hero p:not(.eyebrow) { color: rgba(246,243,235,.72); max-width: 600px; }
.filter-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; }
.filter-row button { background: transparent; border: 1px solid var(--dk-border); color: var(--dk-muted); min-height: 36px; }
.filter-row button.active, .filter-row button:hover { background: rgba(241,90,50,.12); border-color: var(--dk-coral); color: var(--dk-fg); }
.fixture-board { background: var(--dk-card); border: 1px solid var(--dk-border); border-radius: 14px; overflow: hidden; }
.fixture-card { align-items: center; border-top: 1px solid var(--dk-border); display: grid; gap: 16px; grid-template-columns: 120px 1fr 170px auto; padding: 18px 20px; }
.fixture-card:first-child { border-top: 0; }
.fixture-time { color: var(--dk-muted); font: .7rem ui-monospace, monospace; }
.fixture-time strong { color: var(--dk-fg); display: block; font-size: .85rem; margin-top: 4px; }
.fixture-card h3 { font-size: 1rem; margin: 4px 0; }
.fixture-card p { color: var(--dk-muted); font-size: .7rem; margin: 0; }
.fixture-channel { font-size: .78rem; font-weight: 700; }
.fixture-card a { border: 1px solid var(--dk-border); border-radius: 8px; color: var(--dk-fg); font-size: .72rem; font-weight: 700; padding: 9px; text-decoration: none; }

.service-query .wp-block-post-template { gap: 15px; }
.service-card, .post-card { background: var(--dk-card); border: 1px solid var(--dk-border); border-radius: 13px; height: 100%; padding: 22px; }
.service-card h3, .post-card h2 { font-size: 1.15rem; margin: 0; }
.service-card p, .post-card p { color: var(--dk-muted); font-size: .78rem; }
.compare-toggle { background: var(--dk-card); border: 1px solid var(--dk-border); color: var(--dk-fg); min-height: 40px; width: 100%; }
.compare-toggle[aria-pressed="true"] { background: var(--dk-coral); border-color: var(--dk-coral); color: #fff; }
.compare-bar { background: #1b2a4a; border-radius: 12px; bottom: 18px; color: #fff; margin-top: 24px; padding: 16px; position: sticky; z-index: 3; }
.compare-bar span { color: var(--dk-mint); margin-left: 8px; }
.notice { background: var(--dk-mint); border-radius: 9px; color: var(--dk-ink); font-size: .78rem; margin-top: 35px; padding: 16px; }
.error-page { min-height: 55vh; padding-bottom: 100px; padding-top: 100px; }
.error-page h1 { font-size: clamp(2.5rem, 7vw, 5rem); }

.site-footer { background: #1b2a4a; color: #f6f3eb; padding: 50px 20px 22px; }
.site-footer .site-brand a { color: #f6f3eb; }
.site-footer p, .site-footer li { color: rgba(246,243,235,.62); font-size: .75rem; }
.site-footer h3 { color: var(--dk-mint); font: 600 .67rem ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.site-footer ul { list-style: none; padding: 0; }
.site-footer a { color: rgba(246,243,235,.75); text-decoration: none; }
.site-footer a:hover { color: var(--dk-coral); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.15); margin-top: 30px; padding-top: 18px; }

@media (max-width: 850px) {
	.header-actions .finder-link { display: none; }
	.hero-grid { grid-template-columns: 1fr !important; }
	.fixture-card { grid-template-columns: 100px 1fr auto; }
	.fixture-channel { display: none; }
	.service-query .wp-block-post-template { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
	.trust-strip { font-size: .56rem; }
	.header-inner { min-height: 64px; }
	.dookeela-hero { padding-left: 14px; padding-right: 14px; }
	.dookeela-hero h1 { font-size: 3rem; }
	.finder-card { padding: 18px; }
	.finder-stats { gap: 13px; }
	.broadcaster-grid { grid-template-columns: 1fr; }
	.sport-grid { display: grid !important; grid-template-columns: 1fr 1fr; }
	.fixture-card { grid-template-columns: 1fr auto; }
	.fixture-card > div:nth-child(2) { grid-column: 1; }
	.fixture-card a { grid-column: 2; grid-row: 1 / span 2; }
	.service-query .wp-block-post-template { grid-template-columns: 1fr !important; }
	.cta-panel { align-items: flex-start !important; padding: 25px; }
	.footer-grid { display: grid !important; grid-template-columns: 1fr 1fr; }
	.footer-grid > :first-child { grid-column: 1 / -1; }
}