/* ===== Sticky-nav fix =====
 The theme sets `html,body{overflow-x:hidden !important}`, which turns body into a
 scroll container and silently breaks `position:sticky`. `overflow-x: clip` prevents
 horizontal scroll WITHOUT establishing a scroll container, so sticky works again.
 Scoped to this page via :has(); style-guide.js also enforces it as a fallback. */

html:has(body.page-id-2116) {
	overflow-x: clip !important;
}

body.page-id-2116 {
	overflow-x: clip !important;
}

/* ===== Page-scoped layout overrides (only loads on the style-guide page) ===== */

.page-id-2116 .content {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.page-id-2116 .sidebar-primary {
	display: none !important;
}

.page-id-2116 .site-inner,
.page-id-2116 .content-sidebar-wrap,
.page-id-2116 .content,
.page-id-2116 .entry,
.page-id-2116 .entry-content {
	overflow: visible !important;
}

#sg-guide {
	--brown: #a25439;
	--light-brown: #c56747;
	--dark-brown: #78361f;
	--burnt: #e26648;
	--red: #aa101a;
	--tan: #c99d61;
	--tan-dark: #a8753f;
	--body: #444;
	--bg: #ffffff;
	--bg-soft: #faf7f1;
	--cream: #f2ebde;
	--cream-2: #fef8e2;
	--line: #e7ddcb;
	--ink: #2b2b2b;
	--muted: #8a7c6a;
	font-family: 'HvDTrial Brandon Grotesque', 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
	color: var(--ink);
	line-height: 1.6;
	margin: -30px 0 0;
}

#sg-guide *,
#sg-guide *::before,
#sg-guide *::after {
	box-sizing: border-box;
}

#sg-guide .sg-wrap {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 12px;
}

/* Sticky section nav */

#sg-guide .sg-nav {
	position: -webkit-sticky;
	position: sticky;
	top: var(--sg-nav-top, 100px);
	z-index: 120;
	background: rgba(255,250,244,.94);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid var(--line);
	border-radius: 0 0 14px 14px;
	padding: 10px;
	margin: 0 0 44px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	box-shadow: 0 10px 26px -16px rgba(0,0,0,.5);
}

#sg-guide .sg-nav a {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .4px;
	color: var(--brown);
	text-decoration: none;
	padding: 8px 14px;
	border-radius: 9px;
	transition: all .15s ease;
}

#sg-guide .sg-nav a:hover {
	background: var(--brown);
	color: #fff;
}

/* Sections */

#sg-guide .sg-section {
	margin: 0 0 64px;
	scroll-margin-top: var(--sg-nav-scroll, 172px);
}

#sg-guide .sg-section-head {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: 8px;
}

#sg-guide .sg-section-head h2 {
	font-size: 30px;
	color: var(--brown) !important;
	margin: 0 !important;
	font-weight: 200;
}

#sg-guide .sg-section-head .sg-num {
	font-size: 13px;
	font-weight: 800;
	color: #fff;
	background: var(--light-brown);
	width: 30px;
	height: 30px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

#sg-guide .sg-section-sub {
	color: var(--muted);
	margin: 0 0 28px;
	font-size: 16px;
	max-width: 820px;
}

#sg-guide .sg-rule {
	border: 0;
	border-top: 1px solid var(--line);
	margin: 0 0 44px;
}

#sg-guide .sg-group-title {
	font-size: 18px;
	color: var(--brown);
	margin: 34px 0 16px;
	font-weight: 600;
	border-left: 4px solid var(--light-brown);
	padding-left: 12px;
}

/* Cards / grid */

#sg-guide .sg-grid {
	display: grid;
	gap: 18px;
}

#sg-guide .sg-grid.cols-2 {
	grid-template-columns: repeat(2,1fr);
}

#sg-guide .sg-grid.cols-3 {
	grid-template-columns: repeat(3,1fr);
}

#sg-guide .sg-grid.cols-4 {
	grid-template-columns: repeat(4,1fr);
}

#sg-guide .sg-card {
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 22px;
	box-shadow: 0 2px 4px rgba(120,54,31,.04);
}

#sg-guide .sg-card h3 {
	margin: 0 0 4px !important;
	font-size: 19px;
	color: var(--ink) !important;
	font-weight: 600;
}

#sg-guide .sg-card .sg-card-note {
	color: var(--muted);
	font-size: 14px;
	margin: 0 0 16px;
}

/* Copyable */

#sg-guide .sg-copy {
	cursor: pointer;
	position: relative;
	transition: transform .12s ease,box-shadow .12s ease;
}

#sg-guide .sg-copy:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px -18px rgba(120,54,31,.5);
}

#sg-guide .sg-copy::after {
	content: "⧉ copy";
	position: absolute;
	top: 8px;
	right: 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .3px;
	color: transparent;
	background: transparent;
	padding: 3px 8px;
	border-radius: 7px;
	transition: all .15s ease;
	pointer-events: none;
}

#sg-guide .sg-copy:hover::after {
	color: #fff;
	background: rgba(0,0,0,.55);
}

/* Color swatches */

#sg-guide .sg-swatch {
	border: 1px solid var(--line);
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
}

#sg-guide .sg-swatch .sg-chip {
	height: 104px;
	display: block;
}

#sg-guide .sg-swatch .sg-chip-body {
	display: block;
	padding: 14px 16px;
}

#sg-guide .sg-swatch .sg-chip-name {
	font-weight: 700;
	font-size: 15px;
	display: block;
}

#sg-guide .sg-swatch .sg-chip-hex {
	font-family: Consolas,Menlo,monospace;
	font-size: 13px;
	color: var(--muted);
	text-transform: uppercase;
}

#sg-guide .sg-swatch .sg-chip-use {
	font-size: 12px;
	color: var(--muted);
	display: block;
	margin-top: 4px;
}

#sg-guide .sg-swatch.sg-copy::after {
	top: 8px;
	right: 8px;
}

/* Type specimen */

#sg-guide .sg-type-row {
	display: flex;
	align-items: baseline;
	gap: 20px;
	padding: 16px 0;
	border-bottom: 1px dashed var(--line);
}

#sg-guide .sg-type-row:last-child {
	border-bottom: 0;
}

#sg-guide .sg-type-row .sg-type-meta {
	flex: 0 0 150px;
	font-family: Consolas,Menlo,monospace;
	font-size: 12px;
	color: var(--muted);
}

#sg-guide .sg-type-row h1,
#sg-guide .sg-type-row h2,
#sg-guide .sg-type-row h3,
#sg-guide .sg-type-row h4,
#sg-guide .sg-type-row h5,
#sg-guide .sg-type-row h6,
#sg-guide .sg-type-row p {
	margin: 0 !important;
	line-height: 1.2;
}

/* Force the specimen to the documented sizes (page/theme rules can inflate them) */
#sg-guide .sg-type-row h1 {
	font-size: 36px !important;
	font-weight: 700 !important;
	color: var(--brown) !important;
}

#sg-guide .sg-type-row h2 {
	font-size: 32px !important;
	font-weight: 700 !important;
	color: var(--brown) !important;
}

#sg-guide .sg-type-row h3 {
	font-size: 30px !important;
	font-weight: 700 !important;
	color: var(--brown) !important;
}

#sg-guide .sg-type-row h4 {
	font-size: 24px !important;
	font-weight: 700 !important;
	color: var(--brown) !important;
}

#sg-guide .sg-type-row h5 {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--body) !important;
}

#sg-guide .sg-type-row h6 {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--body) !important;
}

/* Button card + spec list */

#sg-guide .sg-btncard {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

#sg-guide .sg-btn-stage {
	min-height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
}

#sg-guide .sg-spec {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border-top: 1px solid var(--line);
}

#sg-guide .sg-spec li {
	list-style: none !important;
	margin: 0 !important;
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 13px;
	padding: 7px 0;
	border-bottom: 1px solid var(--line);
}

#sg-guide .sg-spec li span {
	color: var(--muted);
	font-weight: 600;
	flex: 0 0 auto;
}

#sg-guide .sg-spec li b {
	font-weight: 600;
	font-family: Consolas,Menlo,monospace;
	font-size: 12.5px;
	text-align: right;
	color: var(--ink);
}

#sg-guide .sg-swatchdot {
	display: inline-block;
	width: 11px;
	height: 11px;
	border-radius: 3px;
	vertical-align: middle;
	margin-right: 5px;
	border: 1px solid rgba(0,0,0,.12);
}

/* Code blocks */

#sg-guide .sg-code {
	background: #2b2118;
	color: #f7ede0;
	border-radius: 10px;
	padding: 14px 16px;
	font-family: Consolas,Menlo,monospace;
	font-size: 13px;
	line-height: 1.5;
	overflow: auto;
	white-space: pre;
	display: block;
}

#sg-guide code.sg-inline {
	background: var(--cream);
	color: var(--dark-brown);
	padding: 2px 7px;
	border-radius: 6px;
	font-family: Consolas,Menlo,monospace;
	font-size: .88em;
}

#sg-guide .sg-hex {
	cursor: pointer;
	border-bottom: 1px dashed currentColor;
	transition: opacity .15s ease;
}

#sg-guide .sg-hex:hover {
	opacity: .55;
}

/* Forms */

#sg-guide .sg-form label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	margin: 0 0 6px;
	color: var(--ink);
}

#sg-guide .sg-form .sg-field {
	margin-bottom: 20px;
}

#sg-guide .sg-form input[type=text],
#sg-guide .sg-form input[type=email],
#sg-guide .sg-form input[type=search],
#sg-guide .sg-form textarea,
#sg-guide .sg-form select {
	width: 100%;
}

#sg-guide .sg-check {
	display: flex;
	align-items: center;
	gap: 9px;
	font-weight: 400;
	margin-bottom: 10px;
}

#sg-guide .sg-check input {
	width: auto;
	margin: 0;
}

/* Content demo */

#sg-guide .sg-demo a,
#sg-guide .sg-section p a {
	color: var(--brown);
}

#sg-guide .sg-demo a:hover,
#sg-guide .sg-section p a:hover {
	color: var(--dark-brown);
}

#sg-guide .sg-demo blockquote {
	color: #999;
	margin: 0;
	padding-left: 22px;
	border-left: 4px solid var(--tan);
	font-style: italic;
}

#sg-guide .sg-demo ul.bullets li {
	list-style: disc;
	margin-left: 20px;
}

#sg-guide .sg-demo ol.numbers li {
	list-style: decimal;
	margin-left: 22px;
}

/* Logos */

#sg-guide .sg-logo-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: flex-start;
}

#sg-guide .sg-logo-card .sg-logo-frame {
	width: 100%;
	background: var(--bg-soft);
	border: 1px solid var(--line);
	border-radius: 10px;
	min-height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
}

#sg-guide .sg-logo-card img {
	max-height: 80px;
	max-width: 100%;
}

#sg-guide .sg-dl {
	display: inline-block;
	background: var(--brown);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	padding: 9px 16px;
	border-radius: 8px;
	text-decoration: none;
}

#sg-guide .sg-dl:hover {
	background: var(--dark-brown);
	color: #fff;
}

/* Toast */

#sg-guide .sg-toast {
	position: fixed;
	left: 50%;
	bottom: 34px;
	transform: translateX(-50%) translateY(20px);
	background: #231a12;
	color: #fff;
	padding: 13px 22px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	box-shadow: 0 14px 40px -12px rgba(0,0,0,.6);
	opacity: 0;
	pointer-events: none;
	transition: all .22s ease;
	z-index: 9999;
}

#sg-guide .sg-toast.is-visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* Footer */

#sg-guide .sg-foot {
	text-align: center;
	color: var(--muted);
	font-size: 14px;
	border-top: 1px solid var(--line);
	padding-top: 26px;
	margin-top: 10px;
}

@media(max-width:1000px) {
	#sg-guide .sg-grid.cols-4 {
		grid-template-columns: repeat(2,1fr);
	}
	#sg-guide .sg-grid.cols-3 {
		grid-template-columns: repeat(2,1fr);
	}
}

@media(max-width:600px) {
	#sg-guide .sg-grid.cols-2,
	#sg-guide .sg-grid.cols-3,
	#sg-guide .sg-grid.cols-4 {
		grid-template-columns: 1fr;
	}
	#sg-guide .sg-type-row {
		flex-direction: column;
		gap: 6px;
	}
}
