/*
 * UM Hoops "Sports desk" tokens (Oct 14, 2026). One file for every UM Hoops surface: fonts, type scale, colours, rules.
 * Archivo (headlines, UI, numbers) + Source Serif 4 (reading). Both self-hosted, latin subset, variable woff2, SIL OFL 1.1
 * (fonts/OFL-*.txt).
 * Dark mode (demo, Oct 14): the same tokens get dark values when <html data-umh-theme="dark">, or "auto" with a dark system
 * setting. UMH_Brand sets the attribute before paint from localStorage 'umh-theme' (light | dark | auto) when its dark
 * switch is on. Components never write dark CSS of their own: use the tokens and they follow.
 * Style handle: 'umh-brand-tokens' (registered by UMH_Brand on every request; enqueued site-wide while the brand switch is
 * active for the viewer, which also adds body.umh-brand). Utilities below apply only under body.umh-brand.
 */

/* ---------- fonts ---------- */
/* the web copies (scripts/umhoops/brand-fonts-subset.sh, launch review Oct 23, 2026: 207 KB → 107 KB on every page):
   Archivo cut to widths 75–100%, Source Serif 4 to weights 400–900 and optical sizes 8–20 (21–22 px text takes the
   20 px design); the full files stay for data-art and the social renderers. A face's ranges here = the script's; the
   file names are the cache key. */
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 75% 100%;
	font-display: swap;
	src: url("fonts/archivo-web-var.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* no Archivo italic face (Oct 16, 2026): the browser synthesises the few italic UI labels, which saves the 99 KB file on
   every page that used one; Source Serif 4 keeps its true italic for reading text */
@font-face {
	font-family: "Source Serif 4";
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: url("fonts/source-serif-4-web-var.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Source Serif 4";
	font-style: italic;
	font-weight: 400 900;
	font-display: swap;
	src: url("fonts/source-serif-4-web-var-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* metric-matched fallbacks: text set in the fallback takes the same space as the web font, so the swap doesn't shift the
   layout (measured against the woff2 files: Archivo avg width 98.3% of Arial, ascent .878 / descent .210 em;
   Source Serif 4 about 90% of Georgia, ascent 1.036 / descent .335 em) */
@font-face {
	font-family: "Archivo Fallback";
	src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("Arimo");
	size-adjust: 98.3%;
	ascent-override: 89.3%;
	descent-override: 21.4%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "Source Serif Fallback";
	src: local("Georgia");
	size-adjust: 90%;
	ascent-override: 115.1%;
	descent-override: 37.2%;
	line-gap-override: 0%;
}

/* ---------- tokens ---------- */
:root {
	/* faces */
	--umh-font-display: "Archivo", "Archivo Fallback", "Arial Narrow", Arial, sans-serif;
	--umh-font-ui: "Archivo", "Archivo Fallback", Arial, sans-serif;
	--umh-font-text: "Source Serif 4", "Source Serif Fallback", Georgia, serif;
	--umh-wdth-display: 78;
	--umh-wdth-h2: 80;

	/* type scale (owner-sanctioned, Oct 15, 2026): page title · section head 22 · item title 17 · reading serif 18 · UI 15 ·
	   meta 13, plus one data size 14 for dense tables. Nothing else: components use these tokens, never px.
	   :root keeps the pre-Oct 15 values of the old names (pages that load this sheet with the brand switch OFF, e.g. the
	   Locker, must not change). The scale names (--umh-fs-title/section/item/read/meta/data) and the role tokens exist ONLY
	   under body.umh-brand (below), so component CSS can write var(--umh-fs-meta, 12px): the scale with the brand on, its
	   old px with the brand off. */
	--umh-fs-display: clamp(30px, 2.4vw + 18px, 46px);
	--umh-fs-h2: clamp(24px, 1vw + 18px, 28px);
	--umh-fs-h3: 20px;
	--umh-fs-quote: clamp(21px, .6vw + 18px, 25px);
	--umh-fs-body: 18.5px;
	--umh-fs-ui: 15px;   /* still used by ~150 rules (buttons, forms, checkout): never remove, an undefined var drops the whole font shorthand */
	--umh-fs-small: 13px;
	--umh-fs-label: 12px;

	--umh-lh-display: 1.04;
	--umh-lh-body: 1.62;
	--umh-lh-ui: 1.4;
	--umh-measure: 66ch;
	--umh-track-label: .08em;

	/* colour */
	--umh-navy: #00274c;
	--umh-maize: #ffcb05;
	/* text on a maize fill, in both modes (launch review Oct 23, item 8): component sheets alias their own --navy to the
	   ink, which turns light in dark mode (1.07:1 on maize); this one is never redefined under dark */
	--umh-on-maize: #00274c;
	--umh-ink: #111a24;
	--umh-ink-2: #38475a;
	--umh-muted: #6a7686;   /* brand on: #5d6979 (below) */
	--umh-label: #8a6a00;
	--umh-rule: #dfe3e8;
	--umh-rule-2: #eef0f3;
	--umh-paper: #ffffff;
	--umh-tint: #f6f7f9;
	--umh-good: #1d6b40;
	--umh-bad: #a3261d;

	/* shape */
	--umh-radius-control: 4px;
	--umh-rule-heavy: 2px solid var(--umh-ink);
	--umh-rule-thin: 1px solid var(--umh-rule);
	/* interaction states (hover / press / keyboard focus, Oct 26, 2026): the values the one interaction layer at the end
	   of this file uses; a dark bar or navy panel swaps them for its own (same section) */
	--umh-focus-ring: #00274c;        /* the outer 2px ring: navy on light, maize on dark surfaces */
	--umh-focus-gap: #ffffff;         /* the inner 2px between the control and the ring, so the ring reads on any fill */
	--umh-focus: 0 0 0 2px var(--umh-focus-gap);   /* kept for rules that still write box-shadow: var(--umh-focus) */
	--umh-btn-p-hover: #00274c;       /* the maize button on hover: navy fill … */
	--umh-btn-p-hover-fg: #ffcb05;    /* … maize text (9.6:1) */
	--umh-btn-p-press: #001a33;
	--umh-btn-d-hover: #ffcb05;       /* an ink / navy filled button on hover: maize fill, navy text */
	--umh-btn-d-hover-fg: #00274c;
	--umh-hover-tint: #e8edf3;        /* rows, cards, chips, segments: one step stronger than --umh-tint */
	--umh-hover-rule: #8d9aab;        /* a tab's hover underline: grey, so it never reads as the selected (ink) tab */
	--umh-link-hover: #2f65a7;        /* a text link on hover: a brighter blue, 5.6:1 on paper (ink → navy was invisible) */
	--umh-ease: .14s ease;

	/* surfaces that stay brand-coloured in both modes */
	--umh-bar: #00274c;          /* header / footer bars */
	--umh-on-bar: #ffffff;
	--umh-on-bar-2: #c9d5e2;
	--umh-img-backing: transparent; /* behind transparent PNGs / logos (a light panel in dark mode) */
	/* the one navy module on the home page ("Inside UM Hoops+", Oct 19, 2026): a navy panel in both modes; in dark mode a
	   lighter navy (1.55:1 against the page) under a maize top rule, so it never melts into the page */
	--umh-panel: #00274c;
	--umh-panel-2: #0d355f;          /* image backings / tints inside the panel */
	--umh-panel-top: transparent;     /* dark mode: maize */
	--umh-on-panel: #ffffff;          /* 15.1:1 on #00274c, 11.6:1 on #123a63 */
	--umh-on-panel-2: #c9d5e2;        /* 10.1:1 / 7.8:1 */
	--umh-on-panel-rule: rgba(255, 255, 255, .22);
	--umh-on-panel-good: #7fd3a3;     /* 8.4:1 / 6.5:1 */
	--umh-on-panel-bad: #ff9b92;      /* 7.4:1 / 5.7:1 */
	color-scheme: light;
}

/* ---------- the brand (switch on): the sanctioned scale + AA muted (Oct 15, 2026) ---------- */
body.umh-brand {
	--umh-fs-title: clamp(30px, 2.4vw + 18px, 46px);
	--umh-fs-section: 22px;
	--umh-fs-item: 17px;
	--umh-fs-read: 18px;
	--umh-fs-meta: 13px;
	--umh-fs-data: 14px;
	--umh-fs-ui: 15px;
	--umh-fs-side-h: 18px;   /* every sidebar block heading (This game, Trending, From the forum, the Locker's related blocks): one size (owner, Oct 28, 2026) */
	--umh-fs-base: 15px;   /* = --umh-fs-ui; a brand-only name, so var(--umh-fs-base, 14px) keeps 14px with the brand off */
	--umh-fs-display: var(--umh-fs-title);
	--umh-fs-h2: var(--umh-fs-section);
	--umh-fs-h3: var(--umh-fs-item);
	--umh-fs-quote: var(--umh-fs-section);
	--umh-fs-body: var(--umh-fs-read);
	--umh-fs-small: var(--umh-fs-meta);
	--umh-fs-label: var(--umh-fs-meta);
	--umh-muted: #5d6979;   /* 5.2:1 on tint, 5.6:1 on paper (was #6a7686: 4.31:1 on tint) */
	--umh-rule-quote: 3px solid var(--umh-rule);   /* the quiet quote rule (cards, Go deeper, hot board): not maize */
}
html[data-umh-theme="dark"] body.umh-brand { --umh-muted: #93a1b2; }
@media (prefers-color-scheme: dark) { html[data-umh-theme="auto"] body.umh-brand { --umh-muted: #93a1b2; } }

/* ---------- dark (explicit, or auto + system dark) ---------- */
html[data-umh-theme="dark"] {
	--umh-paper: #0f1722;
	--umh-tint: #152131;
	--umh-ink: #e8edf3;
	--umh-ink-2: #c3ccd7;
	--umh-muted: #93a1b2;
	--umh-label: #d9b24a;   /* muted gold (~8:1 on paper), not maize: kickers never compete with the one maize action */
	--umh-rule: #26374b;
	--umh-rule-2: #1b2a3b;
	--umh-good: #7fd3a3;
	--umh-bad: #ff9b92;
	--umh-bar: #00274c;
	--umh-on-bar: #ffffff;
	--umh-on-bar-2: #c9d5e2;
	--umh-img-backing: #eef1f5;
	--umh-panel: #123a63;
	--umh-panel-2: #1a4673;
	--umh-panel-top: #ffcb05;
	--umh-focus-ring: #ffcb05;
	--umh-focus-gap: #0f1722;
	--umh-btn-p-hover: #ffffff;
	--umh-btn-p-hover-fg: #00274c;
	--umh-btn-p-press: #d5dde6;
	--umh-hover-tint: #1f3045;
	--umh-hover-rule: #6c7f96;
	--umh-link-hover: #ffcb05;
	color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
	html[data-umh-theme="auto"] {
		--umh-paper: #0f1722;
		--umh-tint: #152131;
		--umh-ink: #e8edf3;
		--umh-ink-2: #c3ccd7;
		--umh-muted: #93a1b2;
		--umh-label: #d9b24a;   /* muted gold (~8:1 on paper), not maize: kickers never compete with the one maize action */
		--umh-rule: #26374b;
		--umh-rule-2: #1b2a3b;
		--umh-good: #7fd3a3;
		--umh-bad: #ff9b92;
		--umh-bar: #00274c;
		--umh-on-bar: #ffffff;
		--umh-on-bar-2: #c9d5e2;
		--umh-img-backing: #eef1f5;
		--umh-panel: #123a63;
		--umh-panel-2: #1a4673;
		--umh-panel-top: #ffcb05;
		--umh-focus-ring: #ffcb05;
		--umh-focus-gap: #0f1722;
		--umh-btn-p-hover: #ffffff;
		--umh-btn-p-hover-fg: #00274c;
		--umh-btn-p-press: #d5dde6;
		--umh-hover-tint: #1f3045;
		--umh-hover-rule: #6c7f96;
		--umh-link-hover: #ffcb05;
		color-scheme: dark;
	}
}

/* ---------- utilities (only on pages with the brand switch active) ---------- */
body.umh-brand .umh-label {
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-label);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: var(--umh-track-label);
	text-transform: uppercase;
	color: var(--umh-label);
}

body.umh-brand .umh-display {
	font-family: var(--umh-font-display);
	font-weight: 800;
	font-variation-settings: "wdth" var(--umh-wdth-display);
	font-size: var(--umh-fs-display);
	line-height: var(--umh-lh-display);
	letter-spacing: -.012em;
	color: var(--umh-ink);
	text-wrap: balance;
}

body.umh-brand .umh-tabular {
	font-variant-numeric: tabular-nums;
}

/* actions: primary (maize), secondary (ink outline), tertiary (text link) */
body.umh-brand .umh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--umh-ink);
	border-radius: var(--umh-radius-control);
	background: transparent;
	color: var(--umh-ink);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-ui);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none;
	transition: background-color var(--umh-ease), color var(--umh-ease), border-color var(--umh-ease);
}
/* hover / press / focus: the interaction layer at the end of this file (secondary: ink fill; primary: navy fill) */
body.umh-brand .umh-btn--primary { background: var(--umh-maize); border-color: var(--umh-maize); color: var(--umh-on-maize); }
body.umh-brand .umh-btn--secondary { background: transparent; border-color: var(--umh-ink); color: var(--umh-ink); }

body.umh-brand .umh-link {
	font-family: inherit;
	font-weight: 600;
	color: var(--umh-ink);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}

/* quotes look like journalism: serif italic, hanging mark, thin maize rule, small Archivo attribution */
body.umh-brand .umh-quote {
	position: relative;
	margin: 28px 0;
	padding: 2px 0 2px 22px;
	border: 0;
	border-left: var(--umh-rule-quote, 3px solid var(--umh-rule));
	background: none;
	font-family: var(--umh-font-text);
	font-size: var(--umh-fs-quote);
	font-style: italic;
	font-weight: 500;
	line-height: 1.35;
	color: var(--umh-ink);
	quotes: "\201C" "\201D";
}
body.umh-brand .umh-quote p { margin: 0; font: inherit; color: inherit; }
/* the opening mark hangs in the left padding; write quote text without its own quote marks (or add .umh-quote--bare).
   Markup: <blockquote class="umh-quote"><p>…</p><cite class="umh-quote__by"><b>Name</b> · role</cite></blockquote>
   (or a <span class="umh-quote__text"> instead of the <p>) */
body.umh-brand .umh-quote:not(.umh-quote--bare) > p:first-of-type::before,
body.umh-brand .umh-quote:not(.umh-quote--bare) .umh-quote__text::before {
	content: open-quote;
	display: inline-block;
	width: .42em;
	margin-left: -.42em;
}
body.umh-brand .umh-quote > p + p { margin-top: .6em; }
body.umh-brand .umh-quote__by {
	display: block;
	margin-top: 10px;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-small);
	font-style: normal;
	font-weight: 400;
	line-height: var(--umh-lh-ui);
	color: var(--umh-muted);
}
body.umh-brand .umh-quote__by b,
body.umh-brand .umh-quote__by strong { font-weight: 700; color: var(--umh-ink); }

/* section head: 2px ink rule above, display face */
body.umh-brand .umh-section-head:is(*, #umh-z):is(*, #umh-z) {   /* two ids: beats #content-main h2 (Oct 15) */
	margin: 36px 0 14px;
	padding: 10px 0 0;
	border: 0;
	border-top: var(--umh-rule-heavy);
	background: none;
	font-family: var(--umh-font-display);
	font-size: var(--umh-fs-h2);
	font-weight: 800;
	font-variation-settings: "wdth" var(--umh-wdth-h2);
	line-height: 1.1;
	letter-spacing: -.005em;
	text-transform: none;
	color: var(--umh-ink);
}

/* =====================================================================================================================
   Shared components (design fixes, owner-approved Oct 15, 2026). PHP: UMH_UI (class-umh-ui.php); TS: src/locker/page-header.ts.
   One page header, one breadcrumb, one tab row, one segmented control, one lock tag. Every rule under body.umh-brand; the
   doubled class (.umh-ph:is(*, #umh-z):is(*, #umh-z)) keeps them above surface rules (#content-main h1, list resets) without ids.
   ===================================================================================================================== */

/* the theme's own title goes when the page prints the shared header */
body.umh-brand #post-area:has(.umh-ph) > #post-header,
body.umh-brand #post-main-wrap:has(.umh-ph) #post-header > h1.post-title,
body.umh-brand.umh-owns-title #post-header > h1.post-title { display: none !important; }
body.umh-brand #post-area:has(.umh-ph) > #post-header:has(> :not(h1.post-title)) { display: block !important; }

/* ---------- page header: breadcrumb? · kicker? · title · dek? · meta? · tab bar (tabs + right slot) ---------- */
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) {
	display: block;
	box-sizing: border-box;
	width: auto;
	max-width: none;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
	color: var(--umh-ink);
	font-family: var(--umh-font-ui);
}
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__main > :first-child { margin-top: 0; }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__kicker {
	margin: 0 0 8px;
	padding: 0;
	font: 700 var(--umh-fs-meta)/1.2 var(--umh-font-ui);
	letter-spacing: var(--umh-track-label);
	text-transform: uppercase;
	color: var(--umh-label);
}
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__kicker a { color: inherit; text-decoration: none; }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__kicker a:hover { text-decoration: underline; }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__title {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--umh-font-display);
	font-size: var(--umh-fs-title);
	font-weight: 800;
	font-style: normal;
	font-variation-settings: "wdth" var(--umh-wdth-display);
	line-height: var(--umh-lh-display);
	letter-spacing: -.012em;
	text-align: left;
	text-transform: none;
	text-wrap: balance;
	color: var(--umh-ink);
}
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__dek {
	max-width: 62ch;
	margin: 12px 0 0;
	padding: 0;
	font: 400 var(--umh-fs-read)/1.5 var(--umh-font-text);
	color: var(--umh-ink-2);
}
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__meta {
	margin: 10px 0 0;
	font: 400 var(--umh-fs-meta)/1.45 var(--umh-font-ui);
	color: var(--umh-muted);
}
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__meta a { color: var(--umh-ink); }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__bar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px 24px;
	margin: 20px 0 0;
	box-shadow: inset 0 -1px 0 var(--umh-rule);
	background: var(--umh-paper);
}
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__bar > .umh-tabs { flex: 1 1 auto; min-width: 0; }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__bar > .umh-tabs .umh-tabs__row { box-shadow: none; }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__right { flex: none; display: flex; align-items: center; gap: 8px; padding-bottom: 6px; }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__main:empty { display: none; }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-crumbs + .umh-ph__main:empty + .umh-ph__bar { margin-top: 4px; }
@media (max-width: 600px) {
	body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__bar { flex-wrap: wrap; }
	body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__right { width: 100%; padding: 8px 0; }
}

/* ---------- breadcrumb: 13px muted, "›", 44px hit area; phones: "← Parent" ---------- */
body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) { margin: 0 0 6px; padding: 0; font: 500 var(--umh-fs-meta)/1.3 var(--umh-font-ui); color: var(--umh-muted); }
body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) ol { display: flex; flex-wrap: nowrap; align-items: center; min-width: 0; margin: 0; padding: 0; list-style: none; white-space: nowrap; }
body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) li { display: flex; align-items: center; min-width: 0; margin: 0; padding: 0; list-style: none; font: inherit; color: inherit; }
body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) li::before { content: none; }
body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) li + li::before { content: "\203A"; display: inline; margin: 0 7px; color: var(--umh-muted); }
body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) a { display: inline-flex; align-items: center; min-height: 44px; color: var(--umh-ink-2); font-weight: 600; text-decoration: none; }
body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) a:hover { color: var(--umh-ink); text-decoration: underline; text-underline-offset: 3px; }
body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) [aria-current] { min-width: 0; }
body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) [aria-current] span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 600px) {
	body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) li { display: none; }
	body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) li.is-parent,
	body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) li:only-child { display: flex; }
	body.umh-brand .umh-crumbs:is(*, #umh-z):is(*, #umh-z) li.is-parent::before { content: "\2190"; margin: 0 6px 0 0; }
}

/* ---------- section tabs (the hot board's filter row is the reference): 15/600, 44px, ink underline on the current tab ---------- */
body.umh-brand .umh-tabs:is(*, #umh-z):is(*, #umh-z) { margin: 0; padding: 0; }
body.umh-brand .umh-tabs:is(*, #umh-z):is(*, #umh-z) .umh-tabs__row {
	display: flex;
	gap: 0 20px;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
	scroll-padding-inline: 16px;
	-webkit-overflow-scrolling: touch;
	box-shadow: inset 0 -1px 0 var(--umh-rule);
}
body.umh-brand .umh-tabs:is(*, #umh-z):is(*, #umh-z) .umh-tabs__row::-webkit-scrollbar { display: none; }
body.umh-brand .umh-tabs:is(*, #umh-z):is(*, #umh-z) li { flex: none; margin: 0; padding: 0; list-style: none; }
body.umh-brand .umh-tabs:is(*, #umh-z):is(*, #umh-z) li::before { content: none; }
body.umh-brand .umh-tabs:is(*, #umh-z):is(*, #umh-z) .umh-tabs__a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	background: none;
	color: var(--umh-muted);
	font: 600 var(--umh-fs-ui)/1.2 var(--umh-font-ui);
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;
}
body.umh-brand .umh-tabs:is(*, #umh-z):is(*, #umh-z) .umh-tabs__a:hover { color: var(--umh-ink); }
body.umh-brand .umh-tabs:is(*, #umh-z):is(*, #umh-z) .umh-tabs__a:is(.is-current, [aria-current]) { color: var(--umh-ink); font-weight: 700; border-bottom-color: var(--umh-ink); }
body.umh-brand .umh-tabs:is(*, #umh-z):is(*, #umh-z) .umh-tabs__a:focus-visible { outline: 2px solid var(--umh-ink); outline-offset: -2px; }
/* the scroll cue: a fade on the side that has more (UMH_UI::row_js / page-header.ts toggle is-fl / is-fr) */
body.umh-brand :is(.umh-tabs__row, .umh-seg ul, .umh-hb-tl, .umh-pb-tl, .umh-hb-chips, .umh-fm-tabs, .umh-lk-tb-stick > [role="tablist"], .umh-gh ul).is-fr { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); }
body.umh-brand :is(.umh-tabs__row, .umh-seg ul, .umh-hb-tl, .umh-pb-tl, .umh-hb-chips, .umh-fm-tabs, .umh-lk-tb-stick > [role="tablist"], .umh-gh ul).is-fl { -webkit-mask-image: linear-gradient(90deg, transparent, #000 40px); mask-image: linear-gradient(90deg, transparent, #000 40px); }
body.umh-brand :is(.umh-tabs__row, .umh-seg ul, .umh-hb-tl, .umh-pb-tl, .umh-hb-chips, .umh-fm-tabs, .umh-lk-tb-stick > [role="tablist"], .umh-gh ul).is-fl.is-fr { -webkit-mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); }

/* ---------- segmented control (season, term, Before/After, weeks): square, 44px, ink fill when on ---------- */
body.umh-brand .umh-seg:is(*, #umh-z):is(*, #umh-z) { display: inline-block; max-width: 100%; margin: 0; padding: 0; }
body.umh-brand .umh-seg:is(*, #umh-z):is(*, #umh-z) ul { display: inline-flex; max-width: 100%; margin: 0; padding: 0; list-style: none; border: 1px solid var(--umh-ink); border-radius: var(--umh-radius-control); overflow-x: auto; scrollbar-width: none; }
body.umh-brand .umh-seg:is(*, #umh-z):is(*, #umh-z) li { flex: none; margin: 0; padding: 0; list-style: none; }
body.umh-brand .umh-seg:is(*, #umh-z):is(*, #umh-z) li::before { content: none; }
body.umh-brand .umh-seg:is(*, #umh-z):is(*, #umh-z) li + li > * { border-left: 1px solid var(--umh-ink); }
body.umh-brand .umh-seg:is(*, #umh-z):is(*, #umh-z) :is(.umh-seg__a, button) {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 0 14px; border: 0; border-radius: 0;
	background: var(--umh-paper); color: var(--umh-ink); font: 600 var(--umh-fs-ui)/1 var(--umh-font-ui); font-variant-numeric: tabular-nums; text-decoration: none; white-space: nowrap; cursor: pointer;
}
body.umh-brand .umh-seg:is(*, #umh-z):is(*, #umh-z) :is(.umh-seg__a, button):not(.is-on, [aria-current], [aria-pressed="true"], [aria-checked="true"], [aria-selected="true"]):hover { background: var(--umh-tint); } /* the selected segment keeps its ink fill on hover */
body.umh-brand .umh-seg:is(*, #umh-z):is(*, #umh-z) :is(.is-on, [aria-current], [aria-pressed="true"], [aria-checked="true"], [aria-selected="true"]) { background: var(--umh-ink); color: var(--umh-paper); }

/* ---------- the tag UMH_UI::lock_tag / lockTag prints: the maize "+" badge (+ a sentence-case label outside tabs and nav) ---------- */
body.umh-brand .umh-lock:is(*, #umh-z):is(*, #umh-z) { display: inline-flex; align-items: center; gap: 4px; margin: 0; padding: 0; border: 0; background: none; color: var(--umh-muted); font: 500 var(--umh-fs-meta)/1.2 var(--umh-font-ui); letter-spacing: 0; text-transform: none; white-space: nowrap; vertical-align: baseline; }
body.umh-brand .umh-lock:is(*, #umh-z):is(*, #umh-z) .umh-plus-badge { margin-left: 0; }
body.umh-brand .umh-lock:is(*, #umh-z):is(*, #umh-z).is-icon { gap: 0; }
body.umh-brand :is(a, button) > .umh-lock:is(*, #umh-z):is(*, #umh-z) { color: inherit; margin-left: 6px; }

/* ---------- the brand 404 ---------- */
body.umh-brand .umh-404:is(*, #umh-z):is(*, #umh-z) #content-main { float: none; width: auto; }
body.umh-brand .umh-404:is(*, #umh-z):is(*, #umh-z) .umh-ph { margin-top: 26px; }
body.umh-brand .umh-404__search:is(*, #umh-z):is(*, #umh-z) { display: flex; gap: 8px; max-width: 560px; margin: 0 0 8px; }
body.umh-brand .umh-404__search:is(*, #umh-z):is(*, #umh-z) input[type="search"] { flex: 1 1 auto; min-width: 0; min-height: 44px; box-sizing: border-box; padding: 0 12px; border: 1px solid var(--umh-ink); border-radius: var(--umh-radius-control); background: var(--umh-paper); color: var(--umh-ink); font: 400 var(--umh-fs-ui)/1.2 var(--umh-font-ui); }
body.umh-brand .umh-404__search:is(*, #umh-z):is(*, #umh-z) input[type="search"]::placeholder { color: var(--umh-muted); opacity: 1; }
body.umh-brand .umh-404:is(*, #umh-z):is(*, #umh-z) :is(.umh-404__latest, .umh-404__links) { margin: 0; padding: 0; list-style: none; }
body.umh-brand .umh-404:is(*, #umh-z):is(*, #umh-z) :is(.umh-404__latest, .umh-404__links) li { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--umh-rule); }
body.umh-brand .umh-404:is(*, #umh-z):is(*, #umh-z) :is(.umh-404__latest, .umh-404__links) li::before { content: none; }
body.umh-brand .umh-404:is(*, #umh-z):is(*, #umh-z) .umh-404__latest a { display: flex; flex-direction: column; gap: 4px; padding: 12px 0; color: var(--umh-ink); text-decoration: none; }
body.umh-brand .umh-404:is(*, #umh-z):is(*, #umh-z) .umh-404__k { font: 500 var(--umh-fs-meta)/1.3 var(--umh-font-ui); color: var(--umh-muted); }
body.umh-brand .umh-404:is(*, #umh-z):is(*, #umh-z) .umh-404__t { font: 700 var(--umh-fs-item)/1.3 var(--umh-font-ui); color: var(--umh-ink); }
body.umh-brand .umh-404:is(*, #umh-z):is(*, #umh-z) .umh-404__latest a:hover .umh-404__t { text-decoration: underline; text-underline-offset: 3px; }
body.umh-brand .umh-404:is(*, #umh-z):is(*, #umh-z) .umh-404__links a { display: flex; align-items: center; min-height: 44px; color: var(--umh-ink); font: 600 var(--umh-fs-ui)/1.2 var(--umh-font-ui); text-decoration: none; }
body.umh-brand .umh-404:is(*, #umh-z):is(*, #umh-z) .umh-404__links a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.umh-brand .umh-404__search:is(*, #umh-z):is(*, #umh-z) .umh-btn { min-height: 44px; margin: 0; border: 2px solid var(--umh-ink); background: transparent; color: var(--umh-ink); font: 700 var(--umh-fs-ui)/1 var(--umh-font-ui); text-transform: none; }
body.umh-brand .umh-404__search:is(*, #umh-z):is(*, #umh-z) .umh-btn:hover { background: var(--umh-tint); }
/* page header with a headshot / avatar beside the title (player pages, hot board profiles) */
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__id { display: flex; align-items: center; gap: 16px; }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__media { flex: none; }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__id .umh-ph__main { flex: 1 1 auto; min-width: 0; }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__bar:not(:has(.umh-tabs, [role="tablist"])) { box-shadow: none; margin-top: 16px; }
body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__bar:not(:has(.umh-tabs, [role="tablist"])) .umh-ph__right { padding-bottom: 0; }

/* ---------- one tab style, one segmented style, across the surfaces whose tab rows are scripted tablists (Oct 15, 2026).
   Their markup stays (the scripts drive aria-selected / roving focus); the look is the .umh-tabs / .umh-seg one above.
   Three ids (":is(*, #umh-z)" ×3) so the Locker's 3-id brand rules don't win. ---------- */
body.umh-brand :is(.umh-hb-tab, .umh-pb-tab, .umh-fm-tab, .umh-hb-chip, .umh-pb-fl-b, .umh-lk-tb-stick [role="tab"], .umh-lk-subnav a, .umh-lu-tab, .umh-lk-tpi-tab):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z) {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding-top: 0;
	padding-bottom: 0;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--umh-muted);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-ui);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;
}
body.umh-brand :is(.umh-hb-tab, .umh-pb-tab, .umh-fm-tab, .umh-hb-chip, .umh-pb-fl-b, .umh-lk-tb-stick [role="tab"], .umh-lk-subnav a, .umh-lu-tab, .umh-lk-tpi-tab):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover { color: var(--umh-ink); }
body.umh-brand :is(.umh-hb-tab, .umh-pb-tab, .umh-fm-tab, .umh-hb-chip, .umh-pb-fl-b, .umh-lk-tb-stick [role="tab"], .umh-lk-subnav a, .umh-lu-tab, .umh-lk-tpi-tab):is([aria-selected="true"], [aria-current="page"], [aria-current="true"], [aria-pressed="true"], .is-on, .is-active):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z) {
	color: var(--umh-ink);
	font-weight: 700;
	border-bottom-color: var(--umh-ink);
}
body.umh-brand :is(.umh-hb-tl, .umh-pb-tl, .umh-hb-chips, .umh-lk-subnav ul, .umh-lk-tb-stick > [role="tablist"]):is(*, #umh-z):is(*, #umh-z) { scroll-padding-inline: 16px; scrollbar-width: none; }

body.umh-brand :is(.umh-lk-season-btn, .umh-hb-seg-b, .umh-lk-gd-phase .umh-lk-tab, .umh-pr-term__opt, .umh-co-term__opt, .umh-lk-id-view, .umh-fm-wt button, .umh-fm-win button):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding-top: 0;
	padding-bottom: 0;
	border-radius: 0;
	background: var(--umh-paper);
	box-shadow: none;
	color: var(--umh-ink);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-ui);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}
body.umh-brand :is(.umh-lk-season-btn, .umh-hb-seg-b, .umh-lk-gd-phase .umh-lk-tab, .umh-pr-term__opt, .umh-co-term__opt, .umh-lk-id-view, .umh-fm-wt button, .umh-fm-win button):is(.is-on, .is-active, [aria-pressed="true"], [aria-checked="true"], [aria-selected="true"], [aria-current="page"]):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z) {
	background: var(--umh-ink);
	border-color: var(--umh-ink);
	color: var(--umh-paper);
}

/* the breadcrumbs other code still prints (transcript posts' Locker crumb, WooCommerce): the one breadcrumb look */
body.umh-brand :is(.umh-lk-crumbs, .woocommerce-breadcrumb):is(*, #umh-z):is(*, #umh-z) { margin: 0 0 6px; padding: 0; font: 500 var(--umh-fs-meta)/1.3 var(--umh-font-ui); color: var(--umh-muted); letter-spacing: 0; text-transform: none; }
body.umh-brand :is(.umh-lk-crumbs, .woocommerce-breadcrumb):is(*, #umh-z):is(*, #umh-z) a { display: inline-flex; align-items: center; min-height: 44px; color: var(--umh-ink-2); font-weight: 600; text-decoration: none; }
body.umh-brand :is(.umh-lk-crumbs, .woocommerce-breadcrumb):is(*, #umh-z):is(*, #umh-z) a:hover { color: var(--umh-ink); text-decoration: underline; text-underline-offset: 3px; }
body.umh-brand :is(.umh-lk-crumbs .sep, .umh-crumbs__sep):is(*, #umh-z):is(*, #umh-z) { margin: 0 7px; color: var(--umh-muted); }
body.umh-brand .umh-lk-crumbs:is(*, #umh-z):is(*, #umh-z) [aria-current] { color: var(--umh-muted); font-weight: 500; }

/* ---------- the one member mark (owner, Oct 16, 2026: "the maize + icon everywhere"): a 15px maize square with a navy
   "+" beside the label, in the nav, the coverage chips, the related lists, the Locker tabs and the gate lines (the Oct 15
   lock glyph is gone). "Members" chips stay a word: a "+" means UM Hoops+. ---------- */
body.umh-brand :is(.umh-plus-badge, .umh-cov-plus):is(*, #umh-z):is(*, #umh-z) {
	display: inline-flex; align-items: center; justify-content: center; flex: none; width: 15px; min-width: 15px; height: 15px; margin: 0 0 0 6px; padding: 0; border: 0; border-radius: 3px; box-shadow: none;
	background: var(--umh-maize); color: #00274c; font: 800 12px/1 var(--umh-font-ui); letter-spacing: 0; text-transform: none; text-decoration: none; vertical-align: 1px; opacity: 1;
}
body.umh-brand :is(a, button) :is(.umh-plus-badge, .umh-cov-plus):is(*, #umh-z):is(*, #umh-z) { color: #00274c; opacity: 1; }
body.umh-brand :is(.umh-hp-plus, .umh-hb-plus, .umh-rel-lock, .umh-cov-mem):is(*, #umh-z):is(*, #umh-z) {
	display: inline-flex; align-items: center; gap: 5px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none;
	color: var(--umh-muted); font: 600 var(--umh-fs-meta)/1.2 var(--umh-font-ui); letter-spacing: 0; text-transform: none; text-decoration: none; opacity: 1; vertical-align: baseline;
}
body.umh-brand :is(.umh-hp-plus, .umh-hb-plus):is(*, #umh-z):is(*, #umh-z)::before {
	content: "+"; display: inline-flex; align-items: center; justify-content: center; flex: none; width: 15px; height: 15px; border-radius: 3px; background: var(--umh-maize); color: #00274c; font: 800 12px/1 var(--umh-font-ui);
}
body.umh-brand .umh-rel-lock:is(*, #umh-z):is(*, #umh-z) .umh-plus-badge { margin-left: 0; }

/* ---------- 44px touch targets (Oct 15, 2026) ----------
   controls: at least 44px tall (and wide); inline action links ("Full answer", "Share", "How to watch", "All 43 →") keep
   their look and get the height as padding with a matching negative margin, so the line doesn't move. */
body.umh-brand :is(.umh-lk-media, .umh-lk-play, .umh-hb-evx, .umh-ax-q, .umh-fm-ys, .umh-lk-tra-b, .umh-lk-trj-b, .umh-lk-trw, .umh-ref__btn, .umh-rel-join, .umh-lb-brand, .umh-lk-ask-chip, .umh-lk-btn, .umh-lk-btn-p, .umh-lk-btn-s, .umh-hb-seg-b, .umh-cap-b, .umh-btn):is(*, #umh-z):is(*, #umh-z) { min-height: 44px; min-width: 44px; }
body.umh-brand :is(.umh-lk-media, .umh-lk-play):is(*, #umh-z):is(*, #umh-z) { display: inline-flex; align-items: center; }
body.umh-brand :is(select, .umh-lk-pp-ssel select, select.orderby):is(*, #umh-z) { min-height: 44px; }
body.umh-brand :is(.umh-lk-act, .umh-lk-tr-qmore, .umh-lk-tp-sgo, .umh-sch-a, .umh-sch-all, .umh-dc__more, .umh-fm-allink, .umh-rel-h-more, .post-cat-link, .umh-lk-pp-see, .umh-lk-side-all, .umh-lk-cite, .umh-lk-more-link, .wpdc-poll-link):is(*, #umh-z):is(*, #umh-z) {
	display: inline-block; padding-top: 12px; padding-bottom: 12px; margin-top: -12px; margin-bottom: -12px; min-width: 44px; box-sizing: border-box; text-align: inherit;
}
/* the sidebar Trending / latest lists: each row a 44px target */
body.umh-brand :is(.side-widget, #umh-lk-side, #umh-lk-related) li > a:is(*, #umh-z) { display: inline-block; min-height: 44px; }
body.umh-brand .side-widget :is(.wp-block-latest-posts__post-title, .wp-block-latest-comments__comment-link, .wp-block-latest-comments__comment-author):is(*, #umh-z) { display: inline-block; padding: 12px 0; margin: -12px 0; }
/* checkboxes: a 22px box on a 44px label row (the row is the target) */
body.umh-brand input[type="checkbox"]:is(*, #umh-z) { width: 22px; height: 22px; min-width: 22px; }
body.umh-brand :is(.umh-cap-c, .umh-lk-f-also, .umh-pw label, label:has(> input[type="checkbox"])):is(*, #umh-z) { min-height: 44px; display: flex; align-items: center; gap: 10px; }

/* phones: tab rows run to the screen edges (into the 16px gutters) with 12px gaps, so a short overflow scrolls inside the
   gutter and the row never opens on a clipped word; the fade marks the side that has more */
@media (max-width: 600px) {
	body.umh-brand :is(.umh-tabs .umh-tabs__row, .umh-hb-tabs .umh-hb-tl, .umh-pb-tabs .umh-pb-tl):is(*, #umh-z):is(*, #umh-z) { gap: 0 12px; margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; scroll-padding-inline: 16px; }
	body.umh-brand .umh-ph:is(*, #umh-z):is(*, #umh-z) .umh-ph__bar { overflow: visible; }
}

/* ---------- the join box (UMH_Joinbox, Oct 15): its class-level rules lose to the theme's "#content-main p" (#222 Lato), so
   in dark mode its text sat at 1.2:1. One id of weight puts its own colours back, on the type scale. ---------- */
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z) p { font-family: var(--umh-font-ui); font-size: var(--umh-fs-ui); color: var(--jb-ink2); }
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z) .umh-jb__k { font-size: var(--umh-fs-meta); color: var(--jb-label); }
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z) .umh-jb__h { font-family: var(--umh-font-display); font-size: var(--umh-fs-section); font-variation-settings: "wdth" var(--umh-wdth-h2); color: var(--jb-ink); }
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z) :is(.umh-jb__left, .umh-jb__price b, .umh-promo__box p, .umh-promo__box p *) { color: var(--jb-ink); }
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z) :is(.umh-jb__m, .umh-promo__act, .umh-promo__note) { font-size: var(--umh-fs-meta); }
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z):is(*, #umh-z) a.umh-jb__btn { color: var(--umh-on-maize); font-size: var(--umh-fs-ui); }
/* the maize "First-year offer" badge is a <p>: the p rule above gave it the dark-mode ink (1.07:1, launch review Oct 23 item 8) */
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z) p.umh-jb__badge { color: var(--umh-on-maize); }
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z) label { color: var(--jb-ink2); }
/* the pricing term switch: the "save" note inside the selected (ink) option reads in paper */
body.umh-brand #umh-pricing.umh-pr .umh-pr-term__opt[aria-checked="true"] .umh-pr-term__deal:is(*, #umh-z) { color: inherit; background: none; }
/* the join box's own marks (maize discipline + the one lock tag, Oct 15): its button is the one maize; the top rule is ink,
   the "UM Hoops+" tag the muted lock tag, a compact (sidebar) copy's button the secondary outline */
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z) { border-top-color: var(--umh-ink); }
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z) .umh-jb__tag { margin-left: 6px; padding: 0; border-radius: 0; background: none; color: var(--umh-muted); font: 500 var(--umh-fs-meta)/1.2 var(--umh-font-ui); letter-spacing: 0; text-transform: none; vertical-align: baseline; }
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z) .umh-jb__play { background: rgba(0, 0, 0, .72); color: #fff; }
body.umh-brand .umh-jb.umh-jb--compact:is(*, #umh-z):is(*, #umh-z):is(*, #umh-z) a.umh-jb__btn { border: 2px solid var(--umh-ink); background: transparent; color: var(--umh-ink); box-shadow: none; }
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z):is(*, #umh-z) a.umh-jb__btn { font-size: var(--umh-fs-item); }

/* ---------- the last off-scale sizes the re-measure found (Oct 15): join-box term switch, PMPro levels table + buttons,
   the pricing title / promo, the WooCommerce block grid ---------- */
body.umh-brand .umh-jb:is(*, #umh-z):is(*, #umh-z) .umh-jb__opt-n { font-size: var(--umh-fs-meta); }
body.umh-brand #pmpro_levels:is(*, #umh-z) :is(strong, td, th) { font-size: var(--umh-fs-ui); }
body.umh-brand :is(#pmpro_levels, .pmpro_level) .pmpro_btn:is(*, #umh-z):is(*, #umh-z) { font-size: var(--umh-fs-ui); }
body.umh-brand #umh-pricing.umh-pr .umh-pr-title:is(*, #umh-z) { font-size: var(--umh-fs-title); }
body.umh-brand #umh-pricing.umh-pr :is(.umh-promo__t, .umh-promo__price, .umh-promo__h):is(*, #umh-z) { font-size: var(--umh-fs-ui); }
body.umh-brand :is(.wc-block-grid__product-title, .wc-block-grid__product-price, .wc-block-grid__product-price .amount):is(*, #umh-z):is(*, #umh-z) { font-family: var(--umh-font-ui); font-size: var(--umh-fs-ui); }
body.umh-brand :is(.wc-block-grid__product-onsale, .wc-block-grid__product-onsale span):is(*, #umh-z):is(*, #umh-z) { font-size: var(--umh-fs-meta); }

/* =====================================================================================================================
   INTERACTION LAYER (owner, Oct 26, 2026: "hover states need work … the yellow buttons should obviously inverse … in some
   they barely change"). One hover / press / keyboard-focus language for every UM Hoops surface, defined here once:
     primary (maize)        hover: inverts to a navy fill + maize text (white fill + navy text on a dark bar / panel and
                            in dark mode); press: a deeper navy
     filled (ink / navy)    hover: maize fill + navy text
     secondary (outline)    hover: fills with ink, text in paper (the colours swap)
     text link / "See all"  hover: a 2px underline + a brighter blue (maize in dark mode and on navy)
     card / row link        hover: a light tint behind it, a bordered card's border goes ink, and its title underlines
     tab                    hover: ink text + a grey underline (the selected tab keeps the ink underline)
     segment / chip         hover: the stronger tint (+ an ink border on a chip); a selected segment keeps its ink fill
     focus (keyboard)       a 2px ring + a 2px gap, navy on light, maize on dark, on everything that takes focus
   Hover-only effects sit under (hover: hover), so a tap on a phone never leaves a sticky hover; transitions only when the
   reader allows motion. Four ids of weight + !important: this layer is the last word on these states, over the page
   files' own (often 3-id, sometimes !important) rules. The games puzzles (#umh-games-root) keep their own states.
   To add a control: put its selector in the list for its kind below; never write a one-off hover in page CSS.
   ===================================================================================================================== */

/* dark bars and navy panels: their own state colours (white button hover, maize ring, maize link hover) */
body.umh-brand :is(#main-nav-wrap, #head-main-top, .nav-menu-out, .fly-but-wrap, footer#foot-wrap, .umh-rel--home, .umh-rel-sc-mid, .umh-rc-band, .umh-dh-go, .umh-cap-navy, .umh-pod-player, .umh-lk-trv-media, .umh-lk-trv-ph, #umh-lk-dock, .umh-lk-trv-dock) {
	--umh-focus-ring: #ffcb05;
	--umh-focus-gap: #00274c;
	--umh-btn-p-hover: #ffffff;
	--umh-btn-p-hover-fg: #00274c;
	--umh-btn-p-press: #d5dde6;
	--umh-link-hover: #ffcb05;
	--umh-hover-tint: rgba(255, 255, 255, .14);
}

/* ---------- keyboard focus: one ring everywhere ---------- */
body.umh-brand :is(a[href], button, input, select, textarea, summary, [role="tab"], [role="button"], [role="option"], [role="radio"], [role="checkbox"], [role="menuitem"], [tabindex]:not([tabindex="-1"])):not(#umh-games-root *):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):focus-visible {
	outline: 2px solid var(--umh-focus-ring) !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 2px var(--umh-focus-gap) !important;
}
/* in a scrolling tab row the outside ring is clipped: draw it inside */
body.umh-brand :is(.umh-tabs__a, .umh-hb-tab, .umh-pb-tab, .umh-fm-tab, .umh-hb-chip, .umh-pb-fl-b, .umh-lk-tb-stick [role="tab"], .umh-lk-subnav a, .umh-lu-tab, .umh-lk-tpi-tab, .umh-podhub-tab, .umh-lk-gd-tab, .umh-sc-tab, .umh-wbb-st-tab, .umh-free-pk, .umh-seg__a, .umh-seg button):not(#umh-games-root *):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):focus-visible {
	outline-offset: -2px !important;
	box-shadow: inset 0 0 0 4px var(--umh-focus-gap) !important;
}

/* ---------- motion: colour changes ease in, unless the reader asks for less motion ---------- */
@media (prefers-reduced-motion: no-preference) {
	body.umh-brand :is(.umh-btn, .umh-btn-p, .umh-jb__btn, .umh-jb__cta, li.umh-join > a, .umh-hjoin, .umh-pr-btn, .umh-rel-btn, .umh-rel-join, .umh-dh-gob, .umh-lk-btn, .umh-lk-btn-p, .umh-lk-btn-s, .umh-lk-join, .umh-lk-ask-go, .umh-gh-a, .umh-gs-btn, .umh-hb-btn, .umh-fm-btn, .umh-pb-btn, .umh-lb-btn, .umh-lb-cta, .umh-tm-btn, .umh-pw__a a, .umh-fx-b, .umh-fx-sb, .umh-free-btn-p, .umh-free-btn-g, .umh-cap-b, .umh-podq-ask, .umh-lk-side-btn, .umh-hp-more a, .umh-lk-hub-ask button, .umh-pod-cplay, .wbc-copy, .umh-lk-trw, .umh-lk-trj-b, .umh-share__a, .umh-lk-w2w-a, .pmpro_btn, #pmpro_btn-submit, .umh-co-up__btn, .umh-tabs__a, .umh-seg__a, .umh-lk-hub-tile, .umh-lk-hub-wq, .umh-rc-itile):not(#umh-games-root *) {
		transition: background-color var(--umh-ease), color var(--umh-ease), border-color var(--umh-ease), box-shadow var(--umh-ease), text-decoration-color var(--umh-ease);
	}
}
@media (prefers-reduced-motion: reduce) {
	body.umh-brand *:not(#umh-games-root *) { transition-duration: 0s !important; }
}

/* ---------- primary: the maize button inverts ---------- */
@media (hover: hover) {
	body.umh-brand :is(
		.umh-btn--primary, .umh-btn.umh-btn-p, .umh .umh-btn-p, .umh-games-btn-join,
		li.umh-join > a, .umh-hjoin,
		.umh-jb:not(.umh-jb--compact) a.umh-jb__btn,
		.umh-pr-btn--primary, .umh-rel-btn, .umh-home .umh-rel--home .umh-rel-join, .umh-dh-gob,
		.umh-lk-btn-p, .umh-lk-ask-go, .umh-lk-cut .umh-lk-join, .umh-gh-a.is-prime, .umh-lk-htw-final .umh-lk-btn-primary,
		.umh-gs-btn.is-primary, .umh-hb-btn:not(.is-ghost), .umh-fm-btn:not(.is-ghost), .umh-pb-btn:not(.is-ghost), .umh-lb-btn.is-p, a.umh-lb-cta, .umh-tm-btn,
		.umh-pw__a a.umh-pw__join, .umh-fx-b, .umh-fx-sb.is-copy, .umh-free-btn-p, .umh-free .umh-cap-b, .umh-podq-ask, .umh-pod-play, .umh-pod-cbar-go,
		#content-main .pmpro .pmpro_btn:not(.pmpro_btn-cancel, .pmpro_btn-outline, .pmpro_btn-plain), #content-main .pmpro #loginform input[type="submit"], #content-main .pmpro #loginform .login-submit .button,
		#content-main #pmpro_cancel .pmpro_form_submit a.pmpro_btn-cancel, #content-main #pmpro_btn-submit,
		.woocommerce :is(a.button, button.button):is(.alt, .checkout-button, .single_add_to_cart_button), .wc-block-components-button:not(.is-link):is(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button)
	):not(#umh-games-root *, :disabled, [aria-disabled="true"], .is-disabled):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover {
		background: var(--umh-btn-p-hover) !important;
		border-color: var(--umh-btn-p-hover) !important;
		color: var(--umh-btn-p-hover-fg) !important;
		filter: none !important;
		text-decoration: none !important;
	}
}
body.umh-brand :is(
	.umh-btn--primary, .umh-btn.umh-btn-p, .umh .umh-btn-p, .umh-games-btn-join, li.umh-join > a, .umh-hjoin, .umh-jb:not(.umh-jb--compact) a.umh-jb__btn,
	.umh-pr-btn--primary, .umh-rel-btn, .umh-home .umh-rel--home .umh-rel-join, .umh-dh-gob, .umh-lk-btn-p, .umh-lk-ask-go, .umh-lk-cut .umh-lk-join, .umh-gh-a.is-prime,
	.umh-gs-btn.is-primary, .umh-hb-btn:not(.is-ghost), .umh-fm-btn:not(.is-ghost), .umh-pb-btn:not(.is-ghost), .umh-lb-btn.is-p, a.umh-lb-cta, .umh-tm-btn, .umh-pw__a a.umh-pw__join,
	.umh-fx-b, .umh-fx-sb.is-copy, .umh-free-btn-p, .umh-free .umh-cap-b, .umh-podq-ask, #content-main #pmpro_btn-submit
):not(#umh-games-root *, :disabled, [aria-disabled="true"]):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):active {
	background: var(--umh-btn-p-press) !important;
	border-color: var(--umh-btn-p-press) !important;
	color: var(--umh-btn-p-hover-fg) !important;
}
/* the "+" badge and arrows inside a hovered maize button keep reading */
body.umh-brand :is(li.umh-join > a, .umh-jb__btn, .umh-rel-btn, .umh-pr-btn--primary, .umh-lk-join, .umh-lk-btn-p):hover .umh-plus-badge:is(*, #umh-z):is(*, #umh-z):is(*, #umh-z) { background: var(--umh-maize); color: #00274c; }

/* ---------- filled (ink / navy): hover to maize ---------- */
@media (hover: hover) {
	body.umh-brand :is(
		.umh-jb__cta, .umh-cap:not(.umh-cap-navy) .umh-cap-b, .umh-lk-hub-ask button, .umh-pod-cplay, .wbc-copy, .umh-wbb-tm-gobtn, .umh-btn-x
	):not(#umh-games-root *, :disabled, [aria-disabled="true"], .umh-free .umh-cap-b, .umh-pw .umh-cap-b):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover {
		background: var(--umh-btn-d-hover) !important;
		border-color: var(--umh-btn-d-hover) !important;
		color: var(--umh-btn-d-hover-fg) !important;
		filter: none !important;
		text-decoration: none !important;
	}
	/* the navy capture box's own button is maize: it inverts like a primary */
	body.umh-brand .umh-cap.umh-cap-navy .umh-cap-b:not(:disabled):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover { background: #ffffff !important; color: #00274c !important; filter: none !important; }
}

/* ---------- secondary (outline): fills with ink ---------- */
@media (hover: hover) {
	body.umh-brand :is(
		.umh-btn:not(.umh-btn--primary, .umh-btn-p), .umh-pr-btn:not(.umh-pr-btn--primary), .umh-hp-more a, .umh-jb.umh-jb--compact a.umh-jb__btn,
		.umh-lk-btn:not(.umh-lk-btn-p, .umh-lk-btn-primary), .umh-lk-btn-s, .umh-lk-side-btn, .umh-hb-btn.is-ghost, .umh-pb-btn.is-ghost, .umh-fm-btn.is-ghost, .umh-gs-btn:not(.is-primary),
		.umh-free-btn-g, .umh-fx-sb:not(.is-copy), .umh-rel-join, .umh-lb-btn:not(.is-p), .umh-ref__btn, .umh-pw__a a:not(.umh-pw__join), .umh-pw .umh-cap-b,
		#content-main .pmpro :is(.pmpro_btn-cancel, .pmpro_btn-outline), #content-main .pmpro .pmpro_levels_table .pmpro_btn, #content-main #pmpro_cancel .pmpro_form_submit .pmpro_btn-submit,
		.umh-co-up__btn, .umh-co-code__form button, .side-widget :is(.pmpro_btn, a.content-btn), #comments-button a, .umh-dc__cta,
		.woocommerce :is(a.button, button.button, input.button):not(.alt, .checkout-button, .single_add_to_cart_button), .wp-block-button__link, .wp-block-search__button,
		.umh-lk-trw, .umh-lk-trj-b, .umh-lk-fold-btn, .umh-sc-copy, .umh-lk-sharebar-a, .pagination a
	):not(#umh-games-root *, :disabled, [aria-disabled="true"], .umh-home .umh-rel--home .umh-rel-join, .umh-tabs__a):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover {
		background: var(--umh-ink) !important;
		border-color: var(--umh-ink) !important;
		color: var(--umh-paper) !important;
		filter: none !important;
		text-decoration: none !important;
	}
}
body.umh-brand :is(.umh-btn:not(.umh-btn--primary, .umh-btn-p), .umh-pr-btn:not(.umh-pr-btn--primary), .umh-hp-more a, .umh-lk-btn-s, .umh-lk-side-btn, .umh-rel-join:not(.umh-rel--home *), .umh-gs-btn:not(.is-primary), .umh-lk-trj-b):not(#umh-games-root *, :disabled):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):active {
	background: var(--umh-ink-2) !important;
	border-color: var(--umh-ink-2) !important;
	color: var(--umh-paper) !important;
}

/* ---------- text links and "See all →" links: underline + colour ---------- */
@media (hover: hover) {
	body.umh-brand :is(
		.umh-link, .umh-lk-hub-go, .umh-lk-hub-picks, .umh-lk-hub-more, .umh-lk-side-all, .umh-lk-pp-see, .umh-lk-sclink a, .umh-lk-hub-jl a, .umh-lk-hub-askn a, .umh-lk-hub-stl, .umh-lk-hub-gt a, .umh-lk-hub-li a,
		.umh-sc-plink, .umh-lu-go, .umh-lk-linkbtn, .author-name a, .umh-jb__card-alt a, .umh-sch-tv-a,
		.umh-lk-trh-game, .umh-lk-tp-sgo, .umh-lk-tp-stitle a, .umh-lk-more-link, .umh-lk-cite, .umh-lk-tr-qmore, .umh-lk-act:is(a), .umh-lk-hub-last a, .umh-lk-pp-reads a, .umh-lk-pp-glink a, .umh-lk-ask-rlink,
		.umh-rc-dek, .umh-rc-dek a, .umh-sch-all, .umh-sch-a, .umh-fm-allink, .umh-fm-ai a, .umh-hb-plusline a, .umh-hb-row-n a,
		.umh-jb__login, .umh-jb__plans-link, .umh-jb__m a, .umh-pr-login a, a.umh-proof__src,
		.umh-rel-h-more, .umh-rel-dc__go, .umh-rel-t a, .umh-rel-meta a, .umh-rel-rc__h a, .umh-rel-sc-tools a, .umh-rel-r-t a, .umh-rel-r-stat a,
		.umh-hp-rib__go a, .umh-hp-links a:not(.is-primary), .umh-hp-also a, .umh-hp-meta a.umh-hp-replies, .umh-ff__t, .umh-ff__all,
		.umh-hp-lead__h a, .umh-hp-card__h a, .umh-hp-item__h a, .umh-dh-ct a, .umh-dh-pm b a,
		.umh-bd-all, .umh-games-credits a, .umh-free-meta a, .umh-podhub-subs a, .umh-podhub-h3 a, .umh-podhub-by2 a, .umh-pod-more-l a, .umh-pod-share, .umh-podq-play, .umh-pod-clip-at a,
		.umh-dc__date, .umh-dc__join, .umh-dc__more, .umh-td a, .umh-tm-src, .umh-gs-links a, .umh-wbb-tm-tlink, .umh-lk-ida-toc a,
		#umh-prose > :is(p, ul, ol, blockquote, dl) a:not(:has(img)), .post-tags a, .umh-crumbs a, .umh-lk-crumbs a, .woocommerce-breadcrumb a,
		.side-widget :is(.wp-block-latest-posts, .wp-block-latest-comments) a, #foot-widget-wrap .foot-widget a, .foot-menu .menu li a, .umh-404__links a, .pmpro_card_action a, .pmpro_card_action
	):not(#umh-games-root *, .umh-btn, .umh-lk-btn, [class*="umh-plus-badge"]):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover {
		color: var(--umh-link-hover) !important;
		text-decoration-line: underline !important;
		text-decoration-thickness: 2px !important;
		text-decoration-color: currentColor !important;
		text-underline-offset: 3px !important;
	}
	/* links underlined with a bottom border (arrows on the panels, "The Locker Room →"): the border takes the colour */
	body.umh-brand :is(.umh-rel-cta a, .umh-rel-sc-end a, .umh-rel-dc__more, .umh-hp-play__go, .umh-dh-cgo, a.umh-dh-all, .umh-td-c-more a, .umh-td-links a, .umh-td-foot a):not(#umh-games-root *):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover {
		color: var(--umh-link-hover) !important;
		border-bottom-color: currentColor !important;
		text-decoration: none !important;
	}
	/* the header bar and footer icons: white text, maize on hover */
	body.umh-brand :is(nav.main-menu-wrap ul.menu > li:not(.umh-join) > a, .foot-soc-list li a, .umh-theme-flip, #foot-wrap .foot-menu a):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover { color: var(--umh-maize) !important; }
	body.umh-brand .foot-soc-list li a:is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover i { color: var(--umh-maize) !important; }
	body.umh-brand .umh-theme-flip:is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover { background: rgba(255, 255, 255, .14) !important; }
}

/* ---------- cards and rows that are one link: tint + ink border + the title underlines ---------- */
@media (hover: hover) {
	body.umh-brand :is(
		a.umh-lk-hub-tile, a.umh-lk-hub-wq, a.umh-rc-itile, .umh-free-g a, .umh-lk-pl > a, .umh-lk-trk-card, a.umh-ccard, .umh-lk-pp-gcard, .umh-lk-id-card,
		.umh-podhub-pcards a, a.umh-lb-card, .umh-lu-card, .umh-hb-row, .umh-lk-tp-row, .umh-lk-story-row, .umh-lk-pp-grow, .umh-rc-ilist a, .umh-lk-htw-sched a,
		.umh-pm-start__list a, #post-right-col ul.side-list li, .umh-lk-side-next, a.umh-lk-side-card, .umh-sched-row.is-link, .umh-gs-preview, .umh-rel-sc-pr__c, .umh-lk-idb-open, .umh-lk-tp-pkrow, .umh-free-pk
	):not(#umh-games-root *):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover {
		background-color: var(--umh-hover-tint) !important;
		border-color: var(--umh-ink) !important;
		color: inherit;
		text-decoration: none !important;
	}
	/* the title line inside a card / story list item */
	body.umh-brand :is(
		a.umh-lk-hub-tile:hover .umh-lk-hub-tt, a.umh-lk-hub-wq:hover .umh-lk-hub-mq-t, a.umh-rc-itile:hover :is(b, strong, .umh-rc-itile-t), .umh-free-g a:hover .umh-free-g-n, .umh-lk-pl > a:hover :is(b, strong, .umh-lk-pl-n),
		a.umh-lk-side-card:hover .umh-lk-side-t, .umh-lk-side-next:hover .umh-lk-side-vs, .umh-lk-story-row:hover .umh-lk-thing-t, .umh-lk-tp-row:hover .umh-lk-tp-cn b, .umh-hb-row:hover .umh-hb-row-n a,
		.umh-latest__i:hover :is(h2, h3, h4, strong), .umh-rel-sc-pr__c:hover .umh-rel-sc-pr__t, .umh-rel-dc:hover .umh-rel-dc__go, .umh-gs-preview:hover .umh-gs-preview__t, .umh-gs-row a:hover .umh-gs-row__t, a.umh-lb-card:hover .umh-lb-t,
		.umh-hp-lead:has(.umh-hp-img:hover) .umh-hp-lead__h a, .umh-hp-card:has(.umh-hp-img:hover) .umh-hp-card__h a, .umh-hp-item:has(.umh-hp-img:hover) .umh-hp-item__h a,
		ul.archive-list li:hover .archive-list-text h2, ul.blog-widget-list li:hover .blog-widget-text h2, .umh-pm-start__list a:hover .umh-pm-start__title, .umh-404__latest a:hover .umh-404__t,
		.umh-lk-item-link:hover .umh-lk-item-title, .umh-lk-gd-cov-card:hover .umh-lk-gd-cov-t, .umh-lk-htw-cov-a:hover .umh-lk-htw-cov-t, .umh-lk-pp-moments a:hover .umh-lk-pp-mt, .umh-lk-pp-slist a:hover .umh-lk-pp-st,
		.umh-rel-rows2 a:hover .umh-rel-row-t, .umh-free-p a:hover .umh-free-p-t, .umh-lk-tp-trows a:hover b, .umh-lk-tp-rise a:hover b, .umh-lk-idt-glance a:hover b, a.umh-wbb-pl-btn:hover .umh-wbb-pl-nm, .umh-lk-trk-card:hover blockquote,
		ul.products li.product a:hover .woocommerce-loop-product__title
	):not(#umh-games-root *):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z) {
		text-decoration-line: underline !important;
		text-decoration-thickness: 2px !important;
		text-decoration-color: currentColor !important;
		text-underline-offset: 3px !important;
	}
}

/* ---------- tabs: hover is a grey underline, selected the ink one ---------- */
@media (hover: hover) {
	body.umh-brand :is(.umh-tabs__a, .umh-hb-tab, .umh-pb-tab, .umh-fm-tab, .umh-hb-chip, .umh-pb-fl-b, .umh-lk-tb-stick [role="tab"], .umh-lk-subnav a, .umh-lu-tab, .umh-lk-tpi-tab, .umh-podhub-tab, .umh-lk-gd-tab, .umh-sc-tab):not(#umh-games-root *, .is-on, .is-active, .is-current, [aria-selected="true"], [aria-current], [aria-pressed="true"]):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover {
		color: var(--umh-ink) !important;
		background-color: transparent;
		box-shadow: inset 0 -3px 0 var(--umh-hover-rule) !important;
		text-decoration: none !important;
	}
	/* the header's drop-down items are list rows, not tabs */
	body.umh-brand nav.main-menu-wrap ul li ul.sub-menu li a:is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover { box-shadow: inset 3px 0 0 var(--umh-maize) !important; background-color: var(--umh-hover-tint) !important; }
}

/* ---------- segmented controls: the stronger tint; the selected segment keeps its ink fill ---------- */
@media (hover: hover) {
	body.umh-brand :is(.umh-seg__a, .umh-seg button, .umh-lk-season-btn, .umh-hb-seg-b, .umh-lk-tab, .umh-pr-term__opt, .umh-co-term__opt, .umh-lk-id-view, .umh-fm-wt button, .umh-fm-win button, .umh-lu-segb, .umh-sc-segb, .umh-hc-vb, .umh-rc-seasons a, .umh-wbb-st-tab, .umh-lk-dock-menu button):not(#umh-games-root *, .is-on, .is-active, .is-current, [aria-selected="true"], [aria-current], [aria-pressed="true"], [aria-checked="true"], :disabled):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover {
		background-color: var(--umh-hover-tint) !important;
		color: var(--umh-ink) !important;
		text-decoration: none !important;
	}
}

/* ---------- chips, pills, small action buttons: tint + ink border ---------- */
@media (hover: hover) {
	body.umh-brand :is(
		.umh-lk-pp-chip, .umh-lk-ask-chip:not(.is-all), .umh-lk-tp-pills a, .umh-lk-tp-all a, .umh-lk-jump a, .umh-sc-chip, .umh-sc-mini, .umh-sc-x, .umh-sc-add, .umh-sc-next-b, .umh-lu-chip, .umh-lu-pl, .umh-lu-ddb, a.umh-rc-chip,
		.umh-lk-act:is(button), .umh-lk-tp-spinb, .umh-lk-tp-pkx, .umh-lk-tp-pkreset, .umh-podq-vote, .umh-pod-t, .umh-pod-subs a, .umh-sq__opt, a.umh-hb-posb, .umh-lk-ask-ex button, .umh-lk-ae-ex button,
		.umh-lk-media:not(.is-error), .umh-lk-tr-act, .umh-lk-tr-more > summary, .umh-share__a, .umh-lk-w2w-a, .umh-hp-rib__links a, .umh-ax-opt, .umh-co-chip__x, .umh-rem__opt, .umh-pod-sb, .umh-lk-trj-l a, .umh-xmenu-i, .umh-btn-sm
	):not(#umh-games-root *, .is-on, [aria-pressed="true"], [aria-selected="true"], [aria-checked="true"], :disabled, [disabled]):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover {
		background-color: var(--umh-hover-tint) !important;
		border-color: var(--umh-ink) !important;
		color: var(--umh-ink) !important;
		text-decoration: none !important;
	}
}

/* ---------- table rows that open something: the stronger tint ---------- */
@media (hover: hover) {
	body.umh-brand :is(#umh-prose > :is(table, .wp-block-table > table, figure > table) tbody tr, table.tablepress tbody tr, .umh-pb-st tbody tr, .umh-wbb-pl-tbl > tbody > tr, .umh .umh-table tbody tr):not(#umh-games-root *):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover > :is(td, th) { background-color: var(--umh-hover-tint) !important; }
}

/* ---------- disclosures (<summary>) and sortable column heads ---------- */
@media (hover: hover) {
	body.umh-brand summary:not(#umh-games-root *, .umh-lk-tr-more > summary):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover { background-color: var(--umh-hover-tint); color: var(--umh-ink); }
	body.umh-brand :is(.umh-wbb-pl-sort, .umh-wbb-tm-sort, .umh-lu-tbl thead button, .umh-pb-st thead button):not(#umh-games-root *):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z):hover {
		color: var(--umh-ink) !important;
		text-decoration-line: underline !important;
		text-decoration-thickness: 2px !important;
		text-underline-offset: 3px !important;
	}
}

/* ---------- THE season switch (Oct 26, 2026 consistency review): one labelled select, the header's right slot ----------
   UMH_UI::season_select / page-header.ts seasonSelectHTML, and the older selects that do the same job (the schedule's,
   Shot Charts', the player page's) take the same look. */
body.umh-brand :is(.umh-ssel, .umh-cov-seasons.is-select, .umh-sc-season, .umh-lk-pp-ssel):is(*, #umh-z):is(*, #umh-z) { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
body.umh-brand :is(.umh-ssel__k, .umh-cov-sk):is(*, #umh-z):is(*, #umh-z) { font: 700 var(--umh-fs-label)/1.2 var(--umh-font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--umh-muted); }
body.umh-brand :is(.umh-ssel, .umh-cov-seasons.is-select, .umh-sc-season, .umh-lk-pp-ssel):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z) select {
	width: auto; min-width: 0; max-width: 220px; height: 34px; margin: 0; padding: 0 30px 0 10px; border: 1px solid var(--umh-rule-2, #d5dae0); border-radius: var(--umh-radius-control, 4px);
	background-color: var(--umh-paper); color: var(--umh-ink); font: 600 var(--umh-fs-meta)/1 var(--umh-font-ui); letter-spacing: 0; text-transform: none; cursor: pointer;
}
body.umh-brand :is(.umh-ssel, .umh-cov-seasons.is-select, .umh-sc-season, .umh-lk-pp-ssel):is(*, #umh-z):is(*, #umh-z):is(*, #umh-z) select:focus-visible { outline: 2px solid var(--umh-focus-ring, #00274c); outline-offset: 2px; }
