/*
Theme Name: CPQ Guide
Theme URI: https://cpq.guide
Description: Editorial child theme for the manufacturing CPQ knowledge base.
Author: CPQ Guide
Template: twentytwentyfive
Version: 1.3.2
Text Domain: cpq-guide
*/

:root {
	--cpq-ink: #12181f;
	--cpq-hero: #0e151c;
	--cpq-paper: #f1efe8;
	--cpq-paper-2: #e6e2d8;
	--cpq-copper: #c46b32;
	--cpq-copper-2: #e08a4d;
	--cpq-steel: #6b7c89;
	--cpq-line: rgba(18, 24, 31, 0.12);
}

body {
	font-family: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
	overflow-x: clip;
}

.site-header a,
.site-header .wp-block-site-title a,
.site-header .wp-block-navigation-item__content {
	color: inherit;
}

.site-header .wp-block-navigation-item__content:hover {
	color: var(--cpq-copper-2);
}

.cpq-brand {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	text-decoration: none;
	color: inherit;
}

.cpq-mark {
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
}

.cpq-kicker,
.tfl-kicker {
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: 0.72rem;
	font-weight: 600;
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	color: var(--cpq-copper);
}

.tfl-post-list .wp-block-post-title a,
.cpq-guides .wp-block-post-title a {
	text-decoration: none;
}

.tfl-post-list .wp-block-post-title a:hover,
.cpq-guides .wp-block-post-title a:hover {
	color: var(--cpq-copper);
}

.wp-site-blocks > .wp-block-html,
.wp-site-blocks > .wp-block-group.cpq-guides-block,
.wp-site-blocks > .wp-block-shortcode {
	margin-block-start: 0;
	max-width: none;
}

.site-header a:focus-visible,
.cpq-footer a:focus-visible {
	outline: 2px solid var(--cpq-copper);
	outline-offset: 3px;
}

.cpq-footer .wp-block-navigation-item__content {
	font-size: 0.92rem;
}

.cpq-footer .wp-block-group.alignwide {
	row-gap: 1.25rem;
}

.cpq-glossary-index {
	margin-top: 1.35rem;
}

.cpq-glossary-count {
	margin: 0 0 0.85rem;
	color: #3d4a55;
	font-size: 0.95rem;
}

.cpq-az {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
	margin: 0 0 1.6rem;
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
}

.cpq-az a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.85rem;
	padding: 0.28rem 0.4rem;
	border: 1px solid var(--cpq-line);
	background: #fff;
	color: var(--cpq-ink);
	text-decoration: none;
}

.cpq-az a:hover,
.cpq-az a:focus-visible {
	border-color: var(--cpq-copper);
	color: var(--cpq-copper);
}

.cpq-glossary-letter {
	margin: 0 0 1.35rem;
}

.cpq-glossary-letter h2 {
	margin: 0 0 0.55rem;
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cpq-copper);
}

.cpq-term-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cpq-term-list a,
.cpq-term-list span {
	display: inline-block;
	padding: 0.42rem 0.65rem;
	border: 1px solid var(--cpq-line);
	background: #fff;
	color: var(--cpq-ink);
	font-size: 0.92rem;
	line-height: 1.3;
	text-decoration: none;
}

.cpq-term-list a {
	cursor: pointer;
	transition: border-color 0.18s ease, color 0.18s ease, background-color 0.18s ease;
}

.cpq-term-list a:hover,
.cpq-term-list a:focus-visible {
	border-color: var(--cpq-copper);
	background: #fbfaf6;
	color: #9a4e1f;
}

.cpq-term-list a:focus-visible,
.cpq-az a:focus-visible {
	outline: 2px solid var(--cpq-copper);
	outline-offset: 2px;
}

.cpq-term-list span {
	background: transparent;
	color: #3d4a55;
}

@media (prefers-reduced-motion: reduce) {
	.cpq-term-list a,
	.cpq-az a {
		transition: none;
	}
}
