/**
 * TPC Unified Search
 * Public interface, responsive filter rail, and restrained result typography.
 *
 * Component revision: 0.9.3
 * Date: 2026-07-21
 * Package: TPC_Unified_Search
 *
 * WHY THIS REVISION EXISTS
 * ------------------------
 * The previous responsive attempt removed the server-side `open` state from
 * the native <details> element and then tried to expose its contents on large
 * screens with CSS. Browsers semantically suppress non-summary descendants of
 * a closed <details>, so the entire desktop rail disappeared even though the
 * compact-screen disclosure correctly collapsed.
 *
 * The result-title typography was also still inheriting stronger theme rules,
 * which forced oversized italic links despite the earlier search stylesheet.
 *
 * WHAT THIS REVISION DOES
 * -----------------------
 * - Works with the renderer's open desktop baseline and viewport controller.
 * - Keeps a complete, quiet 190–210px desktop rail.
 * - Collapses filters below 900px and opens them as a bounded sheet.
 * - Adds a real backdrop above sticky site navigation.
 * - Makes result titles upright, compact, and theme-resistant.
 * - Slightly tightens paths, metadata, excerpts, spacing, and thumbnails.
 * - Preserves keyboard focus, Escape handling, reduced motion, and safe areas.
 *
 * SCOPE
 * -----
 * Presentation only. No indexing, ranking, URL, cache, schema, or source logic
 * is changed here.
 */

.tpc-us-public-search {
	--tpc-border: #d9dee7;
	--tpc-border-soft: #e8ebf0;
	--tpc-muted: #5d6673;
	--tpc-text: #252a31;
	--tpc-blue: #1a73e8;
	--tpc-blue-dark: #125fac;
	--tpc-blue-soft: #eef4fc;
	--tpc-surface: #ffffff;
	--tpc-surface-soft: #f6f8fb;
	--tpc-radius: 10px;
	--tpc-radius-large: 16px;
	--tpc-sheet-shadow: 0 -14px 40px rgba(20, 31, 48, 0.22);

	margin: 1.35rem 0 1.8rem;
	color: var(--tpc-text);
	font-family: inherit;
}

.tpc-us-public-search,
.tpc-us-public-search * {
	box-sizing: border-box;
}

/* Search form */
.tpc-us-public-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.6rem;
	align-items: stretch;
	margin: 0 0 0.35rem;
}

.tpc-us-public-form input[type="search"] {
	width: 100%;
	min-width: 0;
	min-height: 50px;
	border: 1px solid #b8c0cc;
	border-radius: var(--tpc-radius);
	padding: 0.78rem 0.95rem;
	background: var(--tpc-surface);
	color: #172033;
	font: inherit;
	font-size: 1rem;
	line-height: 1.3;
	box-shadow: 0 2px 8px rgba(25, 39, 61, 0.035);
	transition: border-color 150ms ease, box-shadow 150ms ease;
}

.tpc-us-public-form input[type="search"]:focus {
	border-color: var(--tpc-blue);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.14);
}

.tpc-us-search-button {
	min-width: 96px;
	min-height: 50px;
	border: 1px solid var(--tpc-blue);
	border-radius: var(--tpc-radius);
	padding: 0.7rem 1.05rem;
	background: var(--tpc-blue);
	color: #fff;
	font: inherit;
	font-size: 0.96rem;
	font-weight: 650;
	line-height: 1.2;
	cursor: pointer;
	transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.tpc-us-search-button:hover {
	background: #1768ca;
	border-color: #1768ca;
}

.tpc-us-search-button:focus-visible {
	outline: 3px solid rgba(26, 115, 232, 0.25);
	outline-offset: 2px;
}

.tpc-us-search-button:active {
	transform: translateY(1px);
}

.tpc-us-form-note {
	margin: 0.22rem 0 0.95rem;
	color: var(--tpc-muted);
	font-size: 0.88rem;
	font-style: normal !important;
	line-height: 1.45;
}

/* Active filters */
.tpc-us-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.42rem;
	align-items: center;
	margin: 0.55rem 0 1rem;
	font-size: 0.9rem;
}

.tpc-us-filter-chip {
	display: inline-flex;
	align-items: center;
	border: 1px solid #d8e2ef;
	border-radius: 999px;
	padding: 0.24rem 0.64rem;
	background: var(--tpc-blue-soft);
	font-size: 0.86rem;
}

/* Desktop layout */
.tpc-us-results-layout {
	display: grid;
	grid-template-columns: clamp(190px, 16vw, 210px) minmax(0, 1fr);
	gap: clamp(1.35rem, 2.2vw, 2rem);
	align-items: start;
}

.tpc-us-results-main {
	min-width: 0;
}

/* Desktop filter rail */
.tpc-us-filter-rail {
	position: sticky;
	top: 1rem;
	min-width: 0;
	border-right: 1px solid var(--tpc-border);
	padding: 0 0.9rem 0 0;
}

.tpc-us-filter-backdrop {
	display: none;
}

.tpc-us-filter-disclosure {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.tpc-us-filter-disclosure > summary {
	display: none;
}

.tpc-us-filter-content {
	display: block;
}

.tpc-us-filter-content h3 {
	margin: 0.82rem 0 0.3rem !important;
	color: #353b44;
	font-family: inherit !important;
	font-size: 0.86rem !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.005em !important;
	text-transform: none !important;
}

.tpc-us-filter-content h3:first-child {
	margin-top: 0 !important;
}

.tpc-us-filter-rail ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tpc-us-filter-rail li {
	margin: 0.03rem 0;
	padding: 0;
}

.tpc-us-filter-rail a {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	min-width: 0;
	border-left: 3px solid transparent;
	border-radius: 0 7px 7px 0;
	padding: 0.42rem 0.5rem;
	color: #343a43;
	font-family: inherit !important;
	font-size: 0.9rem !important;
	font-style: normal !important;
	font-weight: 400;
	line-height: 1.35;
	text-decoration: none;
	transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
}

.tpc-us-filter-rail a:hover,
.tpc-us-filter-rail a:focus-visible {
	background: var(--tpc-surface-soft);
	color: #1d2733;
}

.tpc-us-filter-rail a:focus-visible {
	outline: 2px solid rgba(26, 115, 232, 0.34);
	outline-offset: 2px;
}

.tpc-us-filter-rail a.is-active {
	border-left-color: var(--tpc-blue);
	background: var(--tpc-blue-soft);
	font-weight: 650;
}

.tpc-us-theme-list li {
	--tpc-theme-color: #8b95a5;
}

.tpc-us-theme-list a {
	border-left-color: transparent;
}

.tpc-us-theme-list a.is-active {
	border-left-color: var(--tpc-theme-color);
}

.tpc-us-theme-dot {
	width: 0.64rem;
	height: 0.64rem;
	flex: 0 0 auto;
	border: 1px solid rgba(0, 0, 0, 0.18);
	border-radius: 50%;
	background: var(--tpc-theme-color);
}

/* Results hierarchy */
.tpc-us-results-summary h2 {
	margin: 0.08rem 0 1rem !important;
	color: #242930;
	font-family: inherit !important;
	font-size: 1.08rem !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.tpc-us-result-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tpc-us-result-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	min-width: 0;
	border-bottom: 1px solid var(--tpc-border);
	padding: 0 0 1.08rem;
	margin: 0 0 1.08rem;
}

.tpc-us-result-item.has-thumbnail {
	grid-template-columns: minmax(0, 1fr) 132px;
}

.tpc-us-result-item.has-thumbnail > div {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
}

.tpc-us-result-thumb {
	grid-column: 2;
	grid-row: 1;
	align-self: start;
}

.tpc-us-result-thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	background: #eef1f4;
	object-fit: cover;
}

.tpc-us-result-path {
	margin: 0 0 0.2rem;
	color: var(--tpc-muted);
	font-family: inherit !important;
	font-size: 0.81rem !important;
	font-style: normal !important;
	font-weight: 400;
	line-height: 1.42;
	overflow-wrap: anywhere;
}

.tpc-us-result-type {
	margin: 0.14rem 0;
	color: #30353d;
	font-family: inherit !important;
	font-size: 0.79rem !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.35;
}

/* Strong specificity prevents theme h3/link rules from restoring italics. */
.tpc-us-public-search .tpc-us-results-main .tpc-us-result-title,
.entry-content .tpc-us-public-search .tpc-us-results-main .tpc-us-result-title {
	margin: 0.17rem 0 0.34rem !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: 1.05rem !important;
	font-style: normal !important;
	font-weight: 650 !important;
	line-height: 1.32 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.tpc-us-public-search .tpc-us-results-main .tpc-us-result-link,
.entry-content .tpc-us-public-search .tpc-us-results-main .tpc-us-result-link,
.tpc-us-public-search .tpc-us-results-main h3.tpc-us-result-title > a.tpc-us-result-link {
	color: #1473c9 !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-style: normal !important;
	font-weight: 650 !important;
	line-height: inherit !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	text-transform: none !important;
	overflow-wrap: anywhere;
}

.tpc-us-public-search .tpc-us-results-main .tpc-us-result-link:hover,
.tpc-us-public-search .tpc-us-results-main .tpc-us-result-link:focus-visible {
	color: #0f5fa9 !important;
	text-decoration: underline !important;
	text-underline-offset: 0.15em;
}

.tpc-us-public-search .tpc-us-results-main .tpc-us-result-link:focus-visible {
	outline: 2px solid rgba(26, 115, 232, 0.3);
	outline-offset: 3px;
	border-radius: 3px;
}

.tpc-us-result-section {
	margin-top: 0.06rem;
	color: var(--tpc-muted);
	font-family: inherit !important;
	font-size: 0.84rem !important;
	font-style: normal !important;
	font-weight: 400;
	line-height: 1.43;
}

.tpc-us-result-item p {
	margin: 0.31rem 0;
	color: #353a42;
	font-family: inherit !important;
	font-size: 0.93rem !important;
	font-style: normal !important;
	font-weight: 400;
	line-height: 1.5 !important;
}

.tpc-us-public-search mark {
	border-radius: 2px;
	padding: 0 0.05em;
	background: #fff2a8;
	color: inherit;
}

/* Pagination and messages */
.tpc-us-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 1.25rem 0;
}

.tpc-us-pagination a,
.tpc-us-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	min-height: 2.25rem;
	border: 1px solid var(--tpc-border);
	border-radius: 7px;
	padding: 0.4rem 0.65rem;
	color: inherit;
	text-decoration: none;
}

.tpc-us-pagination span[aria-current] {
	border-color: var(--tpc-blue);
	background: var(--tpc-blue-soft);
	font-weight: 650;
}

.tpc-us-zero-state,
.tpc-us-message {
	border: 1px solid var(--tpc-border);
	border-radius: var(--tpc-radius);
	padding: 1rem;
	background: rgba(255, 255, 255, 0.48);
}

.tpc-us-inline-actions {
	margin: 0.75rem 0;
}

/* Compact desktop and tablet */
@media (max-width: 900px) {
	.tpc-us-results-layout {
		display: block;
	}

	.tpc-us-filter-rail {
		position: static;
		border-right: 0;
		padding: 0;
		margin: 0 0 0.8rem;
	}

	.tpc-us-filter-disclosure {
		width: 100%;
		border: 1px solid var(--tpc-border);
		border-radius: var(--tpc-radius);
		background: rgba(255, 255, 255, 0.62);
	}

	.tpc-us-filter-disclosure > summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		min-height: 46px;
		list-style: none;
		padding: 0.65rem 0.82rem;
		color: #2c323a;
		font-family: inherit !important;
		font-size: 0.92rem !important;
		font-style: normal !important;
		font-weight: 700 !important;
		line-height: 1.3;
		cursor: pointer;
		user-select: none;
	}

	.tpc-us-filter-disclosure > summary::-webkit-details-marker {
		display: none;
	}

	.tpc-us-filter-disclosure > summary::before {
		content: "▾";
		margin-right: 0.35rem;
		color: #4f5966;
	}

	.tpc-us-filter-disclosure > summary::after {
		content: "Open";
		margin-left: auto;
		color: var(--tpc-blue-dark);
		font-size: 0.78rem;
		font-weight: 650;
	}

	.tpc-us-filter-disclosure[open] {
		position: fixed;
		z-index: 100001;
		right: max(0.8rem, env(safe-area-inset-right));
		bottom: max(0.8rem, env(safe-area-inset-bottom));
		left: max(0.8rem, env(safe-area-inset-left));
		width: auto;
		max-width: 680px;
		max-height: min(78vh, 42rem);
		margin: 0 auto;
		border-color: #c7cfda;
		border-radius: var(--tpc-radius-large);
		padding: 0 0.85rem 0.9rem;
		background: #fff;
		box-shadow: var(--tpc-sheet-shadow);
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.tpc-us-filter-disclosure[open] > summary {
		position: sticky;
		top: 0;
		z-index: 2;
		margin: 0 -0.85rem 0.55rem;
		padding: 0.78rem 0.9rem;
		border-bottom: 1px solid var(--tpc-border-soft);
		border-radius: var(--tpc-radius-large) var(--tpc-radius-large) 0 0;
		background: rgba(255, 255, 255, 0.97);
		backdrop-filter: blur(8px);
	}

	.tpc-us-filter-disclosure[open] > summary::before {
		content: "▴";
	}

	.tpc-us-filter-disclosure[open] > summary::after {
		content: "Close";
	}

	.tpc-us-filter-backdrop:not([hidden]) {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 100000;
		width: 100%;
		height: 100%;
		border: 0;
		padding: 0;
		background: rgba(18, 25, 36, 0.38);
		cursor: default;
	}

	html.tpc-us-filter-sheet-open,
	html.tpc-us-filter-sheet-open body {
		overflow: hidden !important;
	}

	.tpc-us-filter-content h3 {
		font-size: 0.86rem !important;
	}

	.tpc-us-filter-rail a {
		padding: 0.48rem 0.55rem;
		font-size: 0.92rem !important;
	}

	.tpc-us-result-item.has-thumbnail {
		grid-template-columns: minmax(0, 1fr) 112px;
	}
}

/* Mobile */
@media (max-width: 600px) {
	.tpc-us-public-search {
		margin-top: 1.05rem;
	}

	.tpc-us-form-note {
		margin-bottom: 0.75rem;
		font-size: 0.84rem;
	}

	.tpc-us-filter-disclosure[open] {
		right: max(0.45rem, env(safe-area-inset-right));
		bottom: max(0.45rem, env(safe-area-inset-bottom));
		left: max(0.45rem, env(safe-area-inset-left));
		max-height: 84vh;
		border-radius: 15px;
		padding-right: 0.7rem;
		padding-left: 0.7rem;
	}

	.tpc-us-filter-disclosure[open] > summary {
		margin-right: -0.7rem;
		margin-left: -0.7rem;
	}

	.tpc-us-results-summary h2 {
		font-size: 1.04rem !important;
		margin-bottom: 0.82rem !important;
	}

	.tpc-us-result-item {
		gap: 0.78rem;
		padding-bottom: 0.96rem;
		margin-bottom: 0.96rem;
	}

	.tpc-us-result-item.has-thumbnail {
		grid-template-columns: minmax(0, 1fr) 92px;
	}

	.tpc-us-public-search .tpc-us-results-main .tpc-us-result-title,
	.entry-content .tpc-us-public-search .tpc-us-results-main .tpc-us-result-title {
		font-size: 1rem !important;
		line-height: 1.31 !important;
	}

	.tpc-us-result-item p {
		font-size: 0.9rem !important;
		line-height: 1.48 !important;
	}

	.tpc-us-result-path {
		font-size: 0.78rem !important;
	}

	.tpc-us-result-section {
		font-size: 0.81rem !important;
	}
}

/* Narrow mobile */
@media (max-width: 480px) {
	.tpc-us-public-form {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.48rem;
	}

	.tpc-us-search-button {
		width: 100%;
		min-height: 46px;
	}

	.tpc-us-public-form input[type="search"] {
		min-height: 48px;
	}

	.tpc-us-result-item.has-thumbnail {
		display: block;
	}

	.tpc-us-result-thumb {
		display: block;
		width: min(145px, 46%);
		margin: 0 0 0.55rem auto;
	}
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
	.tpc-us-public-search *,
	.tpc-us-public-search *::before,
	.tpc-us-public-search *::after {
		scroll-behavior: auto !important;
		transition: none !important;
		animation: none !important;
	}
}
















































/* ==========================================================
   TPC Unified Search — Result Typography Theme Firewall
   Revision: v0.9.4
   Date: 2026-07-21

   WHY THIS PATCH EXISTS
   ---------------------
   The active WordPress theme applies editorial heading and link styling to
   content-area H3 elements. That styling includes a larger size, italics, and
   persistent underlining.

   Search-result titles are functional discovery controls rather than article
   headings. They should be compact, upright, readable, and visually secondary
   to the actual result relevance.

   This block:
   - neutralizes inherited theme italics;
   - reduces title size;
   - removes permanent underlining;
   - retains an underline on hover and keyboard focus;
   - affects only titles inside TPC Unified Search.
   ========================================================== */

body .tpc-us-public-search
.tpc-us-results-main
h3.tpc-us-result-title {
	margin: 0.16rem 0 0.34rem !important;
	padding: 0 !important;

	font-family: inherit !important;
	font-size: 1.02rem !important;
	font-style: normal !important;
	font-weight: 620 !important;
	line-height: 1.34 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

body .tpc-us-public-search
.tpc-us-results-main
h3.tpc-us-result-title > a.tpc-us-result-link,
body .tpc-us-public-search
.tpc-us-results-main
h3.tpc-us-result-title > a.tpc-us-result-link:link,
body .tpc-us-public-search
.tpc-us-results-main
h3.tpc-us-result-title > a.tpc-us-result-link:visited,
body .tpc-us-public-search
.tpc-us-results-main
h3.tpc-us-result-title > a.tpc-us-result-link *,
body .tpc-us-public-search
.tpc-us-results-main
h3.tpc-us-result-title mark {
	font-family: inherit !important;
	font-size: inherit !important;
	font-style: normal !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-transform: none !important;
}

body .tpc-us-public-search
.tpc-us-results-main
h3.tpc-us-result-title > a.tpc-us-result-link,
body .tpc-us-public-search
.tpc-us-results-main
h3.tpc-us-result-title > a.tpc-us-result-link:link,
body .tpc-us-public-search
.tpc-us-results-main
h3.tpc-us-result-title > a.tpc-us-result-link:visited {
	color: #1473c9 !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

body .tpc-us-public-search
.tpc-us-results-main
h3.tpc-us-result-title > a.tpc-us-result-link:hover,
body .tpc-us-public-search
.tpc-us-results-main
h3.tpc-us-result-title > a.tpc-us-result-link:focus-visible {
	color: #0f5fa9 !important;
	text-decoration: underline !important;
	text-decoration-line: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.16em !important;
}

/* Search-interface headings are controls, not editorial subheadings. */
body .tpc-us-public-search
.tpc-us-filter-rail h3 {
	font-family: inherit !important;
	font-size: 0.86rem !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

/* Keep excerpts compact enough for efficient scanning. */
body .tpc-us-public-search
.tpc-us-result-item p {
	font-family: inherit !important;
	font-size: 0.94rem !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.52 !important;
}

@media (max-width: 600px) {
	body .tpc-us-public-search
	.tpc-us-results-main
	h3.tpc-us-result-title {
		font-size: 0.99rem !important;
		line-height: 1.34 !important;
	}

	body .tpc-us-public-search
	.tpc-us-result-item p {
		font-size: 0.91rem !important;
		line-height: 1.49 !important;
	}
}

/* ==========================================================
   TPC Unified Search — Universal Typography Compatibility Layer
   Revision: v0.9.4
   Date: 2026-07-21

   WHY THIS FINAL LAYER EXISTS
   ---------------------------
   Some live requests may temporarily render markup from an earlier cached
   renderer generation that does not yet include the dedicated
   .tpc-us-result-title, .tpc-us-result-link, or .tpc-us-filter-content
   classes.

   The active GeneratePress/content-area typography can also apply editorial
   H3 and link styling after the main plugin stylesheet.

   These selectors deliberately support BOTH renderer shapes:
   - current classed result markup;
   - earlier generic H3/link result markup.

   They are tightly scoped to .tpc-us-public-search and therefore do not alter
   article, Reflection Lens, navigation, footer, or other site typography.
   ========================================================== */

html body .tpc-us-public-search .tpc-us-filter-rail h3,
html body .tpc-us-public-search .tpc-us-filter-content h3,
html body .entry-content .tpc-us-public-search .tpc-us-filter-rail h3 {
	margin: 0.82rem 0 0.3rem !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: 0.86rem !important;
	font-style: normal !important;
	font-variant: normal !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

html body .tpc-us-public-search .tpc-us-result-item h3,
html body .entry-content .tpc-us-public-search .tpc-us-result-item h3,
html body .tpc-us-public-search .tpc-us-results-main h3.tpc-us-result-title {
	margin: 0.16rem 0 0.34rem !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-style: normal !important;
	font-variant: normal !important;
	font-weight: 650 !important;
	line-height: 1.34 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

html body .tpc-us-public-search .tpc-us-result-item h3 a,
html body .tpc-us-public-search .tpc-us-result-item h3 a:link,
html body .tpc-us-public-search .tpc-us-result-item h3 a:visited,
html body .entry-content .tpc-us-public-search .tpc-us-result-item h3 a,
html body .tpc-us-public-search .tpc-us-result-item h3 a *,
html body .tpc-us-public-search .tpc-us-result-item h3 mark {
	color: #1473c9 !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-style: normal !important;
	font-variant: normal !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
	text-transform: none !important;
}

html body .tpc-us-public-search .tpc-us-result-item h3 a:hover,
html body .tpc-us-public-search .tpc-us-result-item h3 a:focus-visible {
	color: #0f5fa9 !important;
	text-decoration: underline !important;
	text-decoration-line: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.16em !important;
}

html body .tpc-us-public-search .tpc-us-result-item p {
	font-family: inherit !important;
	font-size: 0.93rem !important;
	font-style: normal !important;
	font-variant: normal !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

@media (max-width: 600px) {
	html body .tpc-us-public-search .tpc-us-result-item h3,
	html body .entry-content .tpc-us-public-search .tpc-us-result-item h3,
	html body .tpc-us-public-search .tpc-us-results-main h3.tpc-us-result-title {
		font-size: 0.98rem !important;
		line-height: 1.34 !important;
	}

	html body .tpc-us-public-search .tpc-us-result-item p {
		font-size: 0.9rem !important;
		line-height: 1.48 !important;
	}
}

/* ==========================================================
   TPC Unified Search — Final Result-Link Refinement
   Revision: v0.9.4-final
   Date: 2026-07-21

   WHY THIS FINAL REFINEMENT EXISTS
   --------------------------------
   The theme-conflict correction successfully removed inherited italics, but
   the live result titles remained slightly too prominent for a compact search
   interface. The earlier permanent underline was also removed entirely.

   This final layer:
   - reduces result-title size slightly;
   - retains upright, semibold search-interface typography;
   - restores a quiet underline before hover;
   - strengthens the underline only on hover and keyboard focus;
   - remains scoped entirely to TPC Unified Search results.
   ========================================================== */

html body .tpc-us-public-search .tpc-us-result-item h3,
html body .entry-content .tpc-us-public-search .tpc-us-result-item h3,
html body .tpc-us-public-search .tpc-us-results-main h3.tpc-us-result-title {
	font-size: 0.97rem !important;
	font-style: normal !important;
	font-weight: 600 !important;
	line-height: 1.36 !important;
}

html body .tpc-us-public-search .tpc-us-result-item h3 a,
html body .tpc-us-public-search .tpc-us-result-item h3 a:link,
html body .tpc-us-public-search .tpc-us-result-item h3 a:visited,
html body .entry-content .tpc-us-public-search .tpc-us-result-item h3 a,
html body .tpc-us-public-search .tpc-us-result-item h3 a *,
html body .tpc-us-public-search .tpc-us-result-item h3 mark {
	font-style: normal !important;
	font-weight: inherit !important;
	text-decoration-line: underline !important;
	text-decoration-thickness: 0.75px !important;
	text-decoration-color: rgba(20, 115, 201, 0.28) !important;
	text-underline-offset: 0.15em !important;
}

html body .tpc-us-public-search .tpc-us-result-item h3 a:hover,
html body .tpc-us-public-search .tpc-us-result-item h3 a:focus-visible {
	color: #0f5fa9 !important;
	text-decoration-line: underline !important;
	text-decoration-thickness: 1px !important;
	text-decoration-color: rgba(15, 95, 169, 0.88) !important;
	text-underline-offset: 0.16em !important;
}

@media (max-width: 600px) {
	html body .tpc-us-public-search .tpc-us-result-item h3,
	html body .entry-content .tpc-us-public-search .tpc-us-result-item h3,
	html body .tpc-us-public-search .tpc-us-results-main h3.tpc-us-result-title {
		font-size: 0.95rem !important;
		line-height: 1.36 !important;
	}
}

/* ==========================================================
   TPC Unified Search — Full Result-Title Resting Underline
   Revision: v0.9.4b
   Date: 2026-07-21

   WHY THIS CORRECTION EXISTS
   --------------------------
   The prior refinement applied underline rules to the highlighted <mark>
   descendant as well as the result-title link. A stronger earlier selector
   still removed the underline from the anchor itself, so the resting underline
   appeared only beneath the highlighted query word.

   This correction targets the complete .tpc-us-result-link with higher
   specificity than the earlier theme-firewall rule. The entire blue title now
   receives one quiet resting underline. The underline becomes clearer on hover
   and keyboard focus. The highlighted query word retains its yellow background
   but does not create a separate decoration.
   ========================================================== */

html body .entry-content
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link,
html body
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link,
html body
.tpc-us-public-search
.tpc-us-result-item
h3
> a {
	color: #1473c9 !important;
	text-decoration-line: underline !important;
	text-decoration-style: solid !important;
	text-decoration-thickness: 0.75px !important;
	text-decoration-color: rgba(20, 115, 201, 0.30) !important;
	text-underline-offset: 0.16em !important;
	text-decoration-skip-ink: auto !important;
}

html body .entry-content
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link:hover,
html body .entry-content
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link:focus-visible,
html body
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link:hover,
html body
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link:focus-visible,
html body
.tpc-us-public-search
.tpc-us-result-item
h3
> a:hover,
html body
.tpc-us-public-search
.tpc-us-result-item
h3
> a:focus-visible {
	color: #0f5fa9 !important;
	text-decoration-line: underline !important;
	text-decoration-thickness: 1px !important;
	text-decoration-color: rgba(15, 95, 169, 0.92) !important;
	text-underline-offset: 0.16em !important;
}

/*
 * Keep the highlighted query term typographically neutral. The underline is
 * owned by the parent title link and therefore continues across the title.
 */
html body
.tpc-us-public-search
.tpc-us-result-item
h3
> a mark {
	font: inherit !important;
	color: inherit !important;
	text-decoration: none !important;
}

/* ==========================================================
   TPC Unified Search — Quiet Rail + Taller Search Surface
   Revision: v0.9.4c
   Date: 2026-07-21

   WHY THIS FINAL LAYER EXISTS
   ---------------------------
   The responsive and title treatments are now stable, but two visual hierarchy
   refinements remain:

   1. The persistent desktop filter rail still carries nearly the same visual
      weight as the search results. Filters are secondary navigation and should
      remain easy to scan without competing with result titles and excerpts.

   2. The search field reads as a narrow utility strip rather than the primary
      discovery surface. A slightly taller field and button provide better
      touch comfort, clearer hierarchy, and a calmer entry point without
      imitating an oversized chat composer.

   WHAT THIS LAYER CHANGES
   -----------------------
   - Slightly reduces desktop rail heading and item typography.
   - Tightens rail spacing while retaining comfortable hit targets.
   - Softens inactive rail text and preserves stronger active-state contrast.
   - Increases desktop search-field and button height to 60px.
   - Uses a slightly larger radius and subtle inset depth.
   - Scales progressively for tablet and mobile.
   - Leaves ranking, indexing, renderer markup, and search behavior unchanged.
   ========================================================== */


/* ----------------------------------------------------------
   01. Quieter desktop filter rail
   ---------------------------------------------------------- */

html body .tpc-us-public-search .tpc-us-filter-content h3,
html body .tpc-us-public-search .tpc-us-filter-rail h3,
html body .entry-content .tpc-us-public-search .tpc-us-filter-rail h3 {
	margin: 0.76rem 0 0.24rem !important;
	color: #4e5661 !important;
	font-family: inherit !important;
	font-size: 0.79rem !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.32 !important;
	letter-spacing: 0.012em !important;
	text-transform: none !important;
}

html body .tpc-us-public-search .tpc-us-filter-content h3:first-child,
html body .tpc-us-public-search .tpc-us-filter-rail h3:first-child {
	margin-top: 0 !important;
}

html body .tpc-us-public-search .tpc-us-filter-rail li {
	margin: 0.01rem 0 !important;
}

html body .tpc-us-public-search .tpc-us-filter-rail a {
	gap: 0.42rem !important;
	padding: 0.37rem 0.46rem !important;
	color: #4a5059 !important;
	font-family: inherit !important;
	font-size: 0.84rem !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.34 !important;
}

html body .tpc-us-public-search .tpc-us-filter-rail a:hover,
html body .tpc-us-public-search .tpc-us-filter-rail a:focus-visible {
	color: #252b33 !important;
}

html body .tpc-us-public-search .tpc-us-filter-rail a.is-active {
	color: #29313b !important;
	font-weight: 650 !important;
}

html body .tpc-us-public-search .tpc-us-theme-dot {
	width: 0.58rem !important;
	height: 0.58rem !important;
}


/* ----------------------------------------------------------
   02. Taller primary search surface
   ---------------------------------------------------------- */

html body .tpc-us-public-search .tpc-us-public-form {
	gap: 0.65rem !important;
	margin-bottom: 0.42rem !important;
}

html body .tpc-us-public-search
.tpc-us-public-form input[type="search"] {
	min-height: 60px !important;
	padding: 0.88rem 1rem !important;
	border-radius: 14px !important;
	border-color: #b7c1ce !important;
	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.99),
			rgba(252, 253, 255, 0.97)
		) !important;
	font-size: 1rem !important;
	line-height: 1.35 !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.94),
		0 3px 10px rgba(25, 39, 61, 0.05) !important;
}

html body .tpc-us-public-search
.tpc-us-public-form input[type="search"]:focus {
	border-color: var(--tpc-blue) !important;
	box-shadow:
		0 0 0 3px rgba(26, 115, 232, 0.14),
		0 4px 13px rgba(25, 39, 61, 0.065) !important;
}

html body .tpc-us-public-search .tpc-us-search-button {
	min-width: 104px !important;
	min-height: 60px !important;
	padding: 0.78rem 1.15rem !important;
	border-radius: 14px !important;
	font-size: 0.96rem !important;
	font-weight: 650 !important;
	box-shadow: 0 3px 10px rgba(26, 115, 232, 0.17) !important;
}


/* ----------------------------------------------------------
   03. Responsive scaling
   ---------------------------------------------------------- */

@media (max-width: 900px) {
	html body .tpc-us-public-search .tpc-us-filter-rail a {
		padding: 0.44rem 0.52rem !important;
		font-size: 0.88rem !important;
	}

	html body .tpc-us-public-search .tpc-us-filter-content h3,
	html body .tpc-us-public-search .tpc-us-filter-rail h3 {
		font-size: 0.82rem !important;
	}
}

@media (max-width: 600px) {
	html body .tpc-us-public-search
	.tpc-us-public-form input[type="search"] {
		min-height: 56px !important;
		padding: 0.82rem 0.92rem !important;
		border-radius: 13px !important;
	}

	html body .tpc-us-public-search .tpc-us-search-button {
		min-height: 56px !important;
		border-radius: 13px !important;
	}
}

@media (max-width: 480px) {
	html body .tpc-us-public-search
	.tpc-us-public-form input[type="search"] {
		min-height: 54px !important;
	}

	html body .tpc-us-public-search .tpc-us-search-button {
		min-height: 52px !important;
	}
}

/* ==========================================================
   TPC Unified Search — Final Visual Hierarchy Lock
   Revision: v0.9.4d
   Date: 2026-07-21

   PURPOSE
   -------
   This final cascade layer corrects three regressions in one place:

   1. Restores a faint underline across the ENTIRE blue result title before
      hover, including wrapped multi-line titles.
   2. Makes the desktop filter rail materially quieter so it does not compete
      with the result column.
   3. Makes the primary search field visibly taller, rather than merely adding
      a few pixels that still read as a narrow utility strip.

   These rules are intentionally placed at the absolute end of the stylesheet
   and use tightly scoped, high-specificity selectors. They do not affect
   article typography or any component outside TPC Unified Search.
   ========================================================== */


/* ----------------------------------------------------------
   01. Entire result-title underline, resting and interactive
   ---------------------------------------------------------- */

html body .entry-content
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link,
html body
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link,
html body
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3
> a {
	color: #1473c9 !important;
	font-style: normal !important;
	font-weight: 600 !important;
	text-decoration-line: underline !important;
	text-decoration-style: solid !important;
	text-decoration-thickness: 0.8px !important;
	text-decoration-color: rgba(20, 115, 201, 0.40) !important;
	text-underline-offset: 0.16em !important;
	text-decoration-skip-ink: auto !important;
}

html body .entry-content
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link:hover,
html body .entry-content
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link:focus-visible,
html body
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link:hover,
html body
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3.tpc-us-result-title
> a.tpc-us-result-link:focus-visible,
html body
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3
> a:hover,
html body
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3
> a:focus-visible {
	color: #0f5fa9 !important;
	text-decoration-line: underline !important;
	text-decoration-thickness: 1.2px !important;
	text-decoration-color: rgba(15, 95, 169, 0.95) !important;
	text-underline-offset: 0.16em !important;
}

/*
 * The query highlight remains yellow, but it participates in the parent
 * link's continuous underline instead of owning a separate decoration.
 */
html body
.tpc-us-public-search
.tpc-us-results-main
.tpc-us-result-item
h3
> a mark {
	color: inherit !important;
	font: inherit !important;
	text-decoration: inherit !important;
	text-decoration-color: inherit !important;
}


/* ----------------------------------------------------------
   02. Materially quieter persistent desktop filter rail
   ---------------------------------------------------------- */

@media (min-width: 901px) {
	html body .tpc-us-public-search .tpc-us-filter-rail {
		padding-right: 0.72rem !important;
		opacity: 0.94;
	}

	html body .tpc-us-public-search .tpc-us-filter-content h3,
	html body .tpc-us-public-search .tpc-us-filter-rail h3,
	html body .entry-content .tpc-us-public-search .tpc-us-filter-rail h3 {
		margin: 0.68rem 0 0.18rem !important;
		color: #626975 !important;
		font-size: 0.74rem !important;
		font-style: normal !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
		letter-spacing: 0.018em !important;
	}

	html body .tpc-us-public-search .tpc-us-filter-rail li {
		margin: 0 !important;
	}

	html body .tpc-us-public-search .tpc-us-filter-rail a {
		gap: 0.38rem !important;
		padding: 0.31rem 0.4rem !important;
		color: #5a616c !important;
		font-size: 0.79rem !important;
		font-style: normal !important;
		font-weight: 400 !important;
		line-height: 1.3 !important;
	}

	html body .tpc-us-public-search .tpc-us-filter-rail a:hover,
	html body .tpc-us-public-search .tpc-us-filter-rail a:focus-visible {
		color: #343a43 !important;
	}

	html body .tpc-us-public-search .tpc-us-filter-rail a.is-active {
		color: #313842 !important;
		font-size: 0.8rem !important;
		font-weight: 650 !important;
	}

	html body .tpc-us-public-search .tpc-us-theme-dot {
		width: 0.54rem !important;
		height: 0.54rem !important;
	}
}


/* ----------------------------------------------------------
   03. Visibly taller primary search field and button
   ---------------------------------------------------------- */

html body .tpc-us-public-search .tpc-us-public-form {
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 0.7rem !important;
	margin-bottom: 0.46rem !important;
}

html body .tpc-us-public-search
.tpc-us-public-form input[type="search"] {
	height: 68px !important;
	min-height: 68px !important;
	padding: 1rem 1.08rem !important;
	border-radius: 16px !important;
	font-size: 1.03rem !important;
	line-height: 1.35 !important;
}

html body .tpc-us-public-search .tpc-us-search-button {
	height: 68px !important;
	min-height: 68px !important;
	min-width: 108px !important;
	padding: 0.85rem 1.2rem !important;
	border-radius: 16px !important;
	font-size: 0.97rem !important;
}

@media (max-width: 900px) {
	html body .tpc-us-public-search
	.tpc-us-public-form input[type="search"],
	html body .tpc-us-public-search .tpc-us-search-button {
		height: 62px !important;
		min-height: 62px !important;
		border-radius: 15px !important;
	}
}

@media (max-width: 600px) {
	html body .tpc-us-public-search
	.tpc-us-public-form input[type="search"],
	html body .tpc-us-public-search .tpc-us-search-button {
		height: 58px !important;
		min-height: 58px !important;
		border-radius: 14px !important;
	}
}

@media (max-width: 480px) {
	html body .tpc-us-public-search .tpc-us-public-form {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	html body .tpc-us-public-search
	.tpc-us-public-form input[type="search"] {
		height: 58px !important;
		min-height: 58px !important;
	}

	html body .tpc-us-public-search .tpc-us-search-button {
		width: 100% !important;
		height: 54px !important;
		min-height: 54px !important;
	}
}

