/*
 Theme Name:   GeneratePress Child — HandgunHunting.org
 Theme URI:    https://www.handgunhunting.org/
 Description:  Vintage hunter dark theme for HandgunHunting.org (child of GeneratePress).
 Author:       HandgunHunting.org
 Template:     generatepress
 Version:      1.0.0
 Text Domain:  generatepress-child
*/

/* =========================================================================
   1. TOKENS — also remap GeneratePress global colour variables
   ========================================================================= */
:root {
	--hgh-green: #2C4A2E;
	--hgh-leather: #6B3A2A;
	--hgh-brass: #C8963E;
	--hgh-brass-light: #E8B05E;
	--hgh-bg: #1A1A1A;
	--hgh-surface: #242424;
	--hgh-surface-2: #2A2A2A;
	--hgh-cream: #F5F0E8;
	--hgh-tan: #A89880;
	--hgh-border: #3D3228;
	--hgh-amber: #2A1F15;
	--hgh-red: #D62828;
	--hgh-legal: #27AE60;
	--hgh-orange: #F39C12;
	--hgh-footer: #111111;
	--hgh-f-head: "Playfair Display", Georgia, "Times New Roman", serif;
	--hgh-f-body: "Source Serif 4", Georgia, "Times New Roman", serif;
	--hgh-f-label: "Oswald", "Arial Narrow", Arial, sans-serif;

	/* GeneratePress globals */
	--contrast: #F5F0E8;
	--contrast-2: #A89880;
	--contrast-3: #3D3228;
	--base: #3D3228;
	--base-2: #1A1A1A;
	--base-3: #242424;
	--accent: #C8963E;
}

/* =========================================================================
   2. BASE
   ========================================================================= */
html { scrollbar-color: var(--hgh-brass) var(--hgh-bg); }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--hgh-bg); }
::-webkit-scrollbar-thumb { background: var(--hgh-brass); border-radius: 4px; }

body {
	background-color: var(--hgh-bg);
	color: var(--hgh-cream);
	font-family: var(--hgh-f-body);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
::selection { background: var(--hgh-brass); color: var(--hgh-bg); }

a, a:visited { color: var(--hgh-brass); text-decoration: none; }
a:hover, a:focus { color: var(--hgh-brass-light); }
.entry-content a { text-decoration: underline; text-decoration-color: rgba(200, 150, 62, .4); text-underline-offset: 3px; }
.entry-content a:hover { text-decoration-color: var(--hgh-brass-light); }
a:focus-visible, button:focus-visible, summary:focus-visible, select:focus-visible { outline: 2px solid var(--hgh-brass); outline-offset: 2px; }

h1, h2, h3, h4, h5, h6, .entry-title, .main-title {
	font-family: var(--hgh-f-head);
	color: var(--hgh-cream);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .005em;
}
h1 { font-size: clamp(2rem, 4.5vw, 2.9rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
h3 { font-size: 1.3rem; }
p, li { color: inherit; }
hr { background: var(--hgh-border); }
blockquote { border-left: 4px solid var(--hgh-brass); background: var(--hgh-surface); color: var(--hgh-tan); font-style: italic; padding: 1rem 1.5rem; }
code, pre { background: #111; color: var(--hgh-brass-light); border: 1px solid var(--hgh-border); }
table { border-color: var(--hgh-border); }
th, td { border-color: var(--hgh-border); }

.hgh-label, .hgh-eyebrow {
	font-family: var(--hgh-f-label);
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .8rem;
	color: var(--hgh-brass);
}

/* Layout surfaces (GP separate containers) */
.site, .site-content { background: transparent; }
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .container,
.separate-containers .paging-navigation,
.inside-page-header {
	background-color: transparent;
	color: var(--hgh-cream);
}
.separate-containers .site-main > *, .separate-containers .site-main { margin-bottom: 0; }
.widget-area .widget { background: var(--hgh-surface); border: 1px solid var(--hgh-border); border-top: 3px solid var(--hgh-brass); border-radius: 4px; color: var(--hgh-tan); }
.widget-title { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .1em; color: var(--hgh-brass); font-size: 1rem; }

/* Breadcrumbs (Yoast output from mu-plugin) */
.hgh-breadcrumbs {
	font-family: var(--hgh-f-label);
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: .78rem;
	color: var(--hgh-tan);
	margin: 0 0 1.25rem;
}
.hgh-breadcrumbs a { color: var(--hgh-tan); }
.hgh-breadcrumbs a:hover { color: var(--hgh-brass); }
.hgh-breadcrumbs .breadcrumb_last { color: var(--hgh-cream); }

/* =========================================================================
   3. HEADER & NAVIGATION
   ========================================================================= */
.site-header {
	background-color: var(--hgh-bg);
	background-image:
		repeating-linear-gradient(45deg, rgba(255, 255, 255, .012) 0 2px, transparent 2px 5px),
		repeating-linear-gradient(-45deg, rgba(0, 0, 0, .25) 0 1px, transparent 1px 4px),
		radial-gradient(ellipse at 20% 0%, rgba(107, 58, 42, .28), transparent 60%),
		radial-gradient(ellipse at 90% 100%, rgba(44, 74, 46, .25), transparent 55%);
	border-bottom: 3px solid var(--hgh-brass);
	box-shadow: 0 2px 0 #000, 0 8px 24px rgba(0, 0, 0, .45);
	position: relative;
	z-index: 50;
}
.inside-header { padding-top: 14px; padding-bottom: 14px; }
.site-header .header-image, .site-logo img, .site-header .custom-logo { max-height: 80px; width: auto; height: auto; }
.site-logo { margin-right: 14px; }
.site-branding .main-title, .main-title { font-family: var(--hgh-f-head); font-size: 24px; font-weight: 700; line-height: 1.1; margin: 0; }
.main-title a, .main-title a:visited, .main-title a:hover { color: var(--hgh-cream); }
.site-description {
	font-family: var(--hgh-f-label);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--hgh-tan);
	margin-top: 4px;
}
.site-branding-container { align-items: center; }

.main-navigation, .main-navigation ul ul { background: transparent; }
.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items {
	font-family: var(--hgh-f-label);
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: 15px;
	font-weight: 500;
	color: var(--hgh-cream);
}
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a,
.main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a { color: var(--hgh-brass); background: transparent; }
.main-navigation .main-nav ul li[class*="current-menu-"] > a { color: var(--hgh-brass); background: transparent; box-shadow: inset 0 -2px 0 var(--hgh-brass); }
.main-navigation .main-nav ul li a { padding-left: 16px; padding-right: 16px; }
.main-navigation .menu-toggle, .main-navigation .menu-toggle:hover, .main-navigation .menu-toggle:focus { color: var(--hgh-brass); background: transparent; }
.main-navigation .menu-toggle .gp-icon svg { fill: var(--hgh-brass); }
.main-navigation ul ul { background: var(--hgh-surface); border: 1px solid var(--hgh-border); }

@media (max-width: 768px) {
	.main-navigation.toggled .main-nav ul { background: var(--hgh-surface); border-top: 1px solid var(--hgh-border); }
	.main-navigation.toggled .main-nav ul li a { border-bottom: 1px solid var(--hgh-border); }
	.site-header .header-image, .site-logo img, .site-header .custom-logo { max-height: 60px; }
	.main-title { font-size: 20px; }
	.site-description { font-size: 11px; }
}

/* =========================================================================
   4. BUTTONS & FORMS
   ========================================================================= */
.hgh-btn, a.hgh-btn, button, .button, input[type="submit"], input[type="button"], input[type="reset"], .wp-block-button__link {
	display: inline-block;
	background: var(--hgh-brass);
	color: var(--hgh-bg) !important;
	border: 2px solid var(--hgh-brass);
	border-radius: 4px;
	font-family: var(--hgh-f-label);
	text-transform: uppercase;
	letter-spacing: .1em;
	font-weight: 600;
	font-size: .95rem;
	line-height: 1.2;
	padding: 12px 28px;
	text-decoration: none !important;
	cursor: pointer;
	transition: background .15s, color .15s, border-color .15s, transform .15s;
}
.hgh-btn:hover, .hgh-btn:focus, button:hover, .button:hover, input[type="submit"]:hover, .wp-block-button__link:hover {
	background: var(--hgh-brass-light);
	border-color: var(--hgh-brass-light);
	color: var(--hgh-bg) !important;
}
.hgh-btn--outline, a.hgh-btn--outline {
	background: transparent;
	color: var(--hgh-brass) !important;
}
.hgh-btn--outline:hover, .hgh-btn--outline:focus { background: var(--hgh-brass); color: var(--hgh-bg) !important; }
.main-navigation .menu-toggle { padding: 0 20px; border: 0; }

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], input[type="date"], textarea, select {
	background: var(--hgh-surface-2);
	color: var(--hgh-cream);
	border: 1px solid var(--hgh-border);
	border-radius: 4px;
	font-family: var(--hgh-f-body);
	font-size: 16px;
	padding: 10px 12px;
	transition: border-color .15s, box-shadow .15s;
}
input:focus, textarea:focus, select:focus {
	background: var(--hgh-surface-2);
	color: var(--hgh-cream);
	border-color: var(--hgh-brass);
	box-shadow: 0 0 0 3px rgba(200, 150, 62, .18);
	outline: none;
}
::placeholder { color: #6f6455; opacity: 1; }
select option { background: var(--hgh-surface); color: var(--hgh-cream); }

/* Contact Form 7 */
.wpcf7 { max-width: 760px; }
.wpcf7 form > p, .wpcf7 label { display: block; margin-bottom: 1.1rem; }
.wpcf7 label {
	font-family: var(--hgh-f-label);
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: .8rem;
	font-weight: 500;
	color: var(--hgh-tan);
}
.wpcf7 label input, .wpcf7 label textarea, .wpcf7 label select { margin-top: .4rem; width: 100%; letter-spacing: normal; text-transform: none; }
.wpcf7 .wpcf7-acceptance label { display: inline-flex; gap: .6rem; align-items: flex-start; text-transform: none; letter-spacing: normal; font-family: var(--hgh-f-body); font-size: .95rem; color: var(--hgh-cream); }
.wpcf7 .wpcf7-acceptance input { accent-color: var(--hgh-brass); width: 18px; height: 18px; margin-top: 4px; }
.wpcf7 input[type="submit"] { padding: 12px 32px; margin-top: .5rem; }
.wpcf7 .wpcf7-not-valid-tip { color: #e57366; font-size: .85rem; }
.wpcf7 form .wpcf7-response-output { border-radius: 4px; padding: .8rem 1rem; margin: 1rem 0 0; color: var(--hgh-cream); }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--hgh-legal); background: rgba(39, 174, 96, .1); }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-color: var(--hgh-orange); background: rgba(243, 156, 18, .15); }
.hgh-form-note {
	background: var(--hgh-amber);
	border-left: 4px solid var(--hgh-brass);
	color: var(--hgh-tan);
	font-style: italic;
	padding: .9rem 1.1rem;
	border-radius: 0 4px 4px 0;
	text-transform: none;
	letter-spacing: normal;
}
.hgh-submit-nav { display: flex; gap: .75rem; flex-wrap: wrap; margin: 1rem 0 2rem; }

/* Generic page content wrapper (pages like Submit an Article) */
.page .inside-article, .blog .inside-article, .archive .inside-article, .search .inside-article { padding: 0; }
.page:not(.home) .site-main > article > .inside-article {
	background: var(--hgh-surface);
	border: 1px solid var(--hgh-border);
	border-top: 3px solid var(--hgh-brass);
	border-radius: 4px;
	padding: 2rem clamp(1.25rem, 4vw, 3rem);
}
.page:not(.home) .entry-header .entry-title {
	border-bottom: 2px solid var(--hgh-brass);
	padding-bottom: .6rem;
	display: inline-block;
}
.entry-content h2.wp-block-heading { margin-top: 2.25rem; }
.entry-content hr.wp-block-separator { border: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--hgh-brass), transparent); margin: 2.5rem 0; opacity: 1; }

/* =========================================================================
   5. SHARED COMPONENTS — cards, badges, panels
   ========================================================================= */
.hgh-card, .hgh-panel {
	background: var(--hgh-surface);
	border: 1px solid var(--hgh-border);
	border-top: 3px solid var(--hgh-brass);
	border-radius: 4px;
	padding: 1.5rem;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
.hgh-section { margin: 2.75rem 0; }
.hgh-section > h2, .hgh-section-title {
	position: relative;
	padding-bottom: .55rem;
	margin-bottom: 1.25rem;
}
.hgh-section > h2::after, .hgh-section-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 72px;
	height: 3px;
	background: var(--hgh-brass);
}
.hgh-divider { width: 120px; height: 3px; margin: 1.1rem auto; background: linear-gradient(90deg, transparent, var(--hgh-brass) 20%, var(--hgh-brass) 80%, transparent); position: relative; }
.hgh-divider::after { content: "\2726"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -54%); background: var(--hgh-bg); color: var(--hgh-brass); font-size: 14px; padding: 0 8px; line-height: 1; }

.hgh-badge, .hgh-pill, .hgh-status {
	display: inline-block;
	font-family: var(--hgh-f-label);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .75rem;
	font-weight: 500;
	line-height: 1;
	padding: .45em .9em;
	border-radius: 999px;
	white-space: nowrap;
	border: 1px solid transparent;
}
.hgh-pill, a.hgh-pill { background: rgba(200, 150, 62, .12); border-color: var(--hgh-brass); color: var(--hgh-brass) !important; text-decoration: none !important; }
a.hgh-pill:hover { background: var(--hgh-brass); color: var(--hgh-bg) !important; }
.hgh-status--legal { background: rgba(39, 174, 96, .16); border-color: var(--hgh-legal); color: #5fd393; }
.hgh-status--restricted { background: rgba(243, 156, 18, .18); border-color: var(--hgh-orange); color: #f7b955; }
.hgh-status--illegal { background: rgba(214, 40, 40, .18); border-color: var(--hgh-red); color: #f07070; }
.hgh-status--check-regulations, .hgh-status--unspecified { background: rgba(168, 152, 128, .1); border-color: #5c5245; color: var(--hgh-tan); }
.hgh-status--documented { background: rgba(200, 150, 62, .12); border-color: var(--hgh-brass); color: var(--hgh-brass); }
.hgh-badge--reviewed { background: var(--hgh-brass); color: var(--hgh-bg); }
.hgh-badge--verified { background: rgba(39, 174, 96, .15); border-color: var(--hgh-legal); color: #7fe0a7; }

/* Disclaimer */
.hgh-disclaimer {
	display: flex;
	gap: .9rem;
	align-items: flex-start;
	background: var(--hgh-amber);
	border-left: 4px solid var(--hgh-brass);
	border-radius: 0 4px 4px 0;
	padding: 1.1rem 1.3rem;
	color: var(--hgh-tan);
	font-style: italic;
	font-size: .95rem;
}
.hgh-disclaimer svg { flex: 0 0 26px; width: 26px; height: 26px; fill: var(--hgh-brass); margin-top: 2px; }
.hgh-disclaimer strong { color: var(--hgh-cream); font-style: normal; font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .08em; font-weight: 500; }
.hgh-disclaimer p { margin: 0; }

/* =========================================================================
   6. STATE HUB
   ========================================================================= */
.single-states .inside-article { padding: 0; }
.hgh-hub-header { margin-bottom: 1.5rem; }
.hgh-hub-title { margin: 0 0 .5rem; }
.hgh-hub-meta { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }

.hgh-legal-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: .75rem 1.5rem;
	margin: 1.5rem 0 2rem;
	padding: 1.1rem 1.5rem;
	border-radius: 4px;
	border: 2px solid;
	background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .03) 0 10px, transparent 10px 20px);
}
.hgh-legal-banner__label { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .14em; font-size: clamp(1.25rem, 3vw, 1.75rem); font-weight: 600; line-height: 1.1; color: #fff; }
.hgh-legal-banner__note { font-size: .92rem; color: rgba(255, 255, 255, .85); margin: 0; max-width: 520px; }
.hgh-legal-banner--legal { background-color: rgba(39, 174, 96, .22); border-color: var(--hgh-legal); }
.hgh-legal-banner--restricted { background-color: rgba(243, 156, 18, .22); border-color: var(--hgh-orange); }
.hgh-legal-banner--illegal { background-color: rgba(214, 40, 40, .22); border-color: var(--hgh-red); }
.hgh-legal-banner--check-regulations { background-color: rgba(168, 152, 128, .12); border-color: var(--hgh-tan); }

.hgh-overview .entry-content { font-size: 1.06rem; }
.hgh-overview .entry-content p:last-child { margin-bottom: 0; }
.hgh-overview-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px dashed var(--hgh-border); }
.hgh-fact h3 { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .1em; font-size: .85rem; color: var(--hgh-brass); margin: 0 0 .35rem; font-weight: 500; }
.hgh-fact p { margin: 0; color: var(--hgh-tan); font-size: .97rem; }

.hgh-table-wrap { overflow-x: auto; border: 1px solid var(--hgh-border); border-radius: 4px; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.hgh-matrix-table { width: 100%; border-collapse: collapse; margin: 0; background: var(--hgh-surface); border: 0; }
.hgh-matrix-table th, .hgh-matrix-table td { border: 1px solid var(--hgh-border); padding: .85rem 1rem; text-align: left; vertical-align: top; }
.hgh-matrix-table thead th { background: var(--hgh-green); color: var(--hgh-cream); font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .1em; font-weight: 500; font-size: .85rem; border-color: #1f3521; }
.hgh-matrix-table tbody tr:nth-child(odd) { background: var(--hgh-bg); }
.hgh-matrix-table tbody tr:nth-child(even) { background: var(--hgh-surface); }
.hgh-matrix-table tbody th { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .06em; font-weight: 500; font-size: .88rem; color: var(--hgh-brass); width: 24%; }
.hgh-matrix-table td { color: var(--hgh-cream); }
.hgh-matrix-table td em { color: var(--hgh-tan); }
.hgh-matrix-table td:last-child { width: 1%; white-space: nowrap; }
.hgh-notes { margin-top: 1.25rem; }
.hgh-notes h3 { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .1em; font-size: .95rem; color: var(--hgh-brass); font-weight: 500; }
.hgh-notes p { color: var(--hgh-tan); margin: 0; }

.hgh-official-box {
	background: var(--hgh-green);
	background-image: radial-gradient(ellipse at 100% 0%, rgba(200, 150, 62, .14), transparent 60%);
	border: 2px solid var(--hgh-brass);
	border-radius: 4px;
	padding: 1.6rem;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .4);
}
.hgh-official-badge { display: inline-block; background: var(--hgh-brass); color: var(--hgh-bg); font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .14em; font-size: .75rem; font-weight: 600; padding: .35em .85em; border-radius: 2px; }
.hgh-official-agency { font-family: var(--hgh-f-head); font-size: clamp(1.25rem, 2.6vw, 1.6rem); color: var(--hgh-cream); margin: .8rem 0 .5rem; line-height: 1.3; }
.hgh-official-agency a { color: var(--hgh-cream); }
.hgh-official-agency a:hover { color: var(--hgh-brass-light); }
.hgh-official-meta { margin: 0 0 1.2rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.hgh-official-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.hgh-official-box .hgh-btn--outline { color: var(--hgh-cream) !important; border-color: rgba(245, 240, 232, .6); }
.hgh-official-box .hgh-btn--outline:hover { background: var(--hgh-cream); color: var(--hgh-green) !important; border-color: var(--hgh-cream); }

/* FAQ accordion */
.hgh-faq-list { border: 1px solid var(--hgh-border); border-radius: 4px; overflow: hidden; }
.hgh-faq-item { background: var(--hgh-surface); border-bottom: 1px solid var(--hgh-border); border-left: 3px solid transparent; transition: background .15s, border-color .15s; }
.hgh-faq-item:last-child { border-bottom: 0; }
.hgh-faq-item summary {
	cursor: pointer;
	list-style: none;
	padding: 1rem 3rem 1rem 1.25rem;
	position: relative;
	font-family: var(--hgh-f-label);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 1rem;
	font-weight: 500;
	color: var(--hgh-cream);
}
.hgh-faq-item summary::-webkit-details-marker { display: none; }
.hgh-faq-item summary::after { content: "+"; position: absolute; right: 1.25rem; top: 50%; transform: translateY(-50%); font-size: 1.5rem; color: var(--hgh-brass); font-family: var(--hgh-f-body); line-height: 1; }
.hgh-faq-item summary:hover { color: var(--hgh-brass); }
.hgh-faq-item[open] { background: var(--hgh-surface-2); border-left-color: var(--hgh-brass); }
.hgh-faq-item[open] summary::after { content: "\2212"; }
.hgh-faq-answer { padding: 0 1.25rem 1.1rem; color: var(--hgh-tan); }
.hgh-faq-answer p { margin: 0 0 .6rem; }

/* Article cards (hub listing + related) */
.hgh-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; }
.hgh-article-card { display: flex; flex-direction: column; gap: .35rem; }
.hgh-article-card__title { font-family: var(--hgh-f-head); font-size: 1.2rem; margin: 0; line-height: 1.3; }
.hgh-article-card__title a { color: var(--hgh-cream); }
.hgh-article-card__title a:hover { color: var(--hgh-brass); }
.hgh-article-card__date { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; color: var(--hgh-tan); margin: 0; }
.hgh-article-card__excerpt { color: var(--hgh-tan); margin: .25rem 0 0; font-size: .97rem; }
.hgh-empty { color: var(--hgh-tan); font-style: italic; }
.hgh-view-all { margin-top: 1.5rem; }

.hgh-gear-placeholder { border: 2px dashed var(--hgh-border); border-radius: 4px; padding: 1.5rem; color: var(--hgh-tan); background: repeating-linear-gradient(135deg, rgba(107, 58, 42, .06) 0 12px, transparent 12px 24px); }
.hgh-gear-placeholder p { margin: 0; }

/* =========================================================================
   7. HOMEPAGE
   ========================================================================= */
.home .site-content { padding-top: 0; }
.home .inside-article { padding: 0; }
.hgh-hero {
	position: relative;
	margin: 0 calc(50% - 50vw);
	padding: clamp(4rem, 9vw, 7rem) 1.5rem clamp(6rem, 12vw, 9rem);
	text-align: center;
	overflow: hidden;
	background-color: #121512;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 220' preserveAspectRatio='none'%3E%3Cpath fill='%23161d16' d='M0 140 L120 80 L210 120 L330 40 L450 110 L560 60 L690 130 L800 50 L930 120 L1050 70 L1170 125 L1290 55 L1440 110 L1440 220 L0 220Z'/%3E%3Cpath fill='%231b1b1b' d='M0 185 L40 170 L52 140 L64 170 L100 165 L114 128 L128 165 L170 175 L210 160 L224 120 L238 160 L290 172 L330 150 L346 112 L362 150 L420 168 L470 158 L486 118 L502 158 L560 175 L610 162 L626 126 L642 162 L700 170 L760 150 L776 106 L792 150 L850 168 L900 160 L916 122 L932 160 L990 176 L1040 158 L1056 116 L1072 158 L1130 170 L1180 152 L1196 110 L1212 152 L1270 168 L1320 160 L1336 124 L1352 160 L1400 172 L1440 165 L1440 220 L0 220Z'/%3E%3C/svg%3E"),
		radial-gradient(ellipse at 50% 120%, rgba(200, 150, 62, .22), transparent 55%),
		radial-gradient(ellipse at 15% 10%, rgba(107, 58, 42, .35), transparent 50%),
		linear-gradient(180deg, #0f1310 0%, #1c2a1d 55%, #23301f 100%);
	background-repeat: no-repeat;
	background-position: bottom center, center, center, center;
	background-size: 100% 46%, cover, cover, cover;
	border-bottom: 3px solid var(--hgh-brass);
}
.hgh-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, .015) 0 1px, transparent 1px 3px);
	pointer-events: none;
}
.hgh-hero > * { position: relative; }
.hgh-hero .hgh-eyebrow { display: inline-block; margin-bottom: 1rem; border: 1px solid rgba(200, 150, 62, .5); padding: .35em 1em; border-radius: 2px; background: rgba(0, 0, 0, .3); }
.hgh-hero h1 { font-size: clamp(2.4rem, 6vw, 4.2rem); font-weight: 800; margin: 0; text-shadow: 0 3px 16px rgba(0, 0, 0, .6); }
.hgh-hero .hgh-divider::after { background: #1c2a1d; }
.hgh-hero-sub { font-size: clamp(1.1rem, 2.2vw, 1.4rem); color: var(--hgh-cream); opacity: .92; margin: 0 auto 1.75rem; max-width: 720px; font-style: italic; }
.hgh-hero-actions { display: flex; gap: .85rem; justify-content: center; flex-wrap: wrap; }

.hgh-map-section {
	position: relative;
	max-width: 1100px;
	margin: -4.5rem auto 0;
	background: var(--hgh-surface);
	border: 2px solid var(--hgh-brass);
	border-radius: 4px;
	padding: clamp(1.25rem, 3vw, 2.25rem);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .55);
	z-index: 2;
}
.hgh-map-section::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(200, 150, 62, .25); border-radius: 2px; pointer-events: none; }
.hgh-map-title { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .18em; color: var(--hgh-brass); text-align: center; font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 500; margin: 0 0 .25rem; }
.hgh-map-help { text-align: center; color: var(--hgh-tan); margin: 0 0 1.25rem; font-size: .95rem; }
.hgh-map-wrap { position: relative; max-width: 960px; margin: 0 auto; }
.hgh-us-map { width: 100%; height: auto; display: block; }
.hgh-us-map .state-path { fill: #4a4a4a; stroke: var(--hgh-cream); stroke-width: .5; cursor: pointer; transition: filter .15s; }
.hgh-us-map .state-path.is-legal { fill: var(--hgh-legal); }
.hgh-us-map .state-path.is-restricted { fill: var(--hgh-orange); }
.hgh-us-map .state-path.is-illegal { fill: var(--hgh-red); }
.hgh-us-map .state-link:hover .state-path, .hgh-us-map .state-link:focus .state-path { filter: brightness(1.3) saturate(1.1); stroke-width: 1.2; }
.hgh-us-map .state-link:focus { outline: none; }
.hgh-state-label { font: 600 11px/1 "Oswald", "Arial Narrow", sans-serif; fill: #fff; text-anchor: middle; pointer-events: none; paint-order: stroke; stroke: rgba(0, 0, 0, .45); stroke-width: 2px; letter-spacing: .04em; }
.hgh-map-tooltip {
	position: absolute;
	transform: translate(-50%, calc(-100% - 14px));
	background: #111;
	border: 1px solid var(--hgh-brass);
	border-radius: 4px;
	padding: .6rem .85rem;
	min-width: 190px;
	pointer-events: none;
	opacity: 0;
	transition: opacity .12s;
	z-index: 5;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .6);
	text-align: left;
}
.hgh-map-tooltip.is-visible { opacity: 1; }
.hgh-map-tooltip::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 12px; height: 12px; background: #111; border-right: 1px solid var(--hgh-brass); border-bottom: 1px solid var(--hgh-brass); transform: translateX(-50%) rotate(45deg); }
.hgh-tip-name { display: block; font-family: var(--hgh-f-head); font-size: 1.1rem; color: var(--hgh-cream); line-height: 1.2; margin-bottom: .35rem; }
.hgh-tip-cta { display: block; font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .08em; font-size: .7rem; color: var(--hgh-brass); margin-top: .45rem; }

.hgh-map-legend { display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem 1.75rem; list-style: none; margin: 1.25rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--hgh-border); }
.hgh-map-legend li { display: flex; align-items: center; gap: .55rem; font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .08em; font-size: .82rem; color: var(--hgh-tan); margin: 0; }
.hgh-swatch { width: 16px; height: 16px; border-radius: 2px; border: 1px solid rgba(245, 240, 232, .6); display: inline-block; }
.hgh-swatch--legal { background: var(--hgh-legal); }
.hgh-swatch--restricted { background: var(--hgh-orange); }
.hgh-swatch--illegal { background: var(--hgh-red); }

.hgh-state-select { max-width: 440px; margin: 1.25rem auto 0; text-align: center; }
.hgh-state-select label { display: block; font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .1em; font-size: .82rem; color: var(--hgh-tan); margin-bottom: .4rem; }
.hgh-state-select select { width: 100%; }
.hgh-state-list { columns: 2; text-align: left; }

.hgh-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; margin: 3.5rem 0 0; }
.hgh-feature { text-align: center; padding: 2rem 1.5rem; }
.hgh-feature__icon { width: 64px; height: 64px; margin: 0 auto 1rem; border-radius: 50%; border: 2px solid var(--hgh-brass); display: flex; align-items: center; justify-content: center; background: var(--hgh-green); box-shadow: inset 0 0 0 4px var(--hgh-surface); }
.hgh-feature__icon svg { width: 30px; height: 30px; fill: var(--hgh-cream); }
.hgh-feature h3 { margin: 0 0 .5rem; font-size: 1.35rem; }
.hgh-feature p { color: var(--hgh-tan); margin: 0 0 1rem; font-size: .98rem; }
.hgh-feature a.hgh-feature__link { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .1em; font-size: .82rem; }

.hgh-intro { max-width: 820px; margin: 3.5rem auto; text-align: center; }
.hgh-intro p { color: var(--hgh-tan); font-size: 1.08rem; }
.hgh-intro p.hgh-intro-note { font-style: italic; font-size: .95rem; }

.hgh-cta-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1.25rem 2rem;
	margin: 0 0 3.5rem;
	padding: 2rem clamp(1.25rem, 4vw, 2.5rem);
	background-color: var(--hgh-leather);
	background-image: repeating-linear-gradient(135deg, rgba(0, 0, 0, .08) 0 2px, transparent 2px 6px), radial-gradient(ellipse at 0% 0%, rgba(255, 255, 255, .06), transparent 60%);
	border: 2px solid var(--hgh-brass);
	border-radius: 4px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .45);
}
.hgh-cta-bar h2 { margin: 0 0 .25rem; font-size: clamp(1.35rem, 2.6vw, 1.75rem); }
.hgh-cta-bar p { margin: 0; color: #e6d9c3; }
.hgh-cta-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.hgh-cta-bar .hgh-btn--outline { color: var(--hgh-cream) !important; border-color: var(--hgh-cream); }
.hgh-cta-bar .hgh-btn--outline:hover { background: var(--hgh-cream); color: var(--hgh-leather) !important; }

/* =========================================================================
   8. BLOG — single post + archives
   ========================================================================= */
.hgh-post-header {
	margin: 0 calc(50% - 50vw) 0;
	padding: clamp(2.5rem, 6vw, 4.5rem) 1.5rem 2.25rem;
	background-color: #151515;
	background-image: radial-gradient(ellipse at 50% 0%, rgba(44, 74, 46, .45), transparent 65%), repeating-linear-gradient(45deg, rgba(255, 255, 255, .012) 0 2px, transparent 2px 5px);
	border-bottom: 1px solid var(--hgh-border);
	text-align: center;
}
.hgh-post-header .hgh-breadcrumbs { margin-bottom: 1rem; }
.hgh-post-title { font-size: clamp(2.25rem, 5vw, 3.25rem); max-width: 960px; margin: 0 auto; }
.hgh-post-header .hgh-divider::after { background: #171a17; }
.hgh-post-meta {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: .45rem .9rem;
	font-family: var(--hgh-f-label);
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: .82rem;
	color: var(--hgh-tan);
}
.hgh-post-meta .hgh-sep { color: var(--hgh-border); }
.hgh-post-meta a { color: var(--hgh-tan); }
.hgh-post-meta a:hover { color: var(--hgh-brass); }
.hgh-readtime { display: inline-flex; align-items: center; gap: .4rem; background: var(--hgh-brass); color: var(--hgh-bg); padding: .4em .85em; border-radius: 2px; font-weight: 600; }
.hgh-readtime svg { width: 14px; height: 14px; fill: currentColor; }

.hgh-post-body { max-width: 800px; margin: 2.75rem auto 0; }
.hgh-post-body .entry-content { font-size: 18px; line-height: 1.8; color: var(--hgh-cream); }
.hgh-post-body .entry-content > p:first-of-type::first-letter { float: left; font-family: var(--hgh-f-head); font-size: 3.6em; line-height: .85; padding: .08em .1em 0 0; color: var(--hgh-brass); }
.hgh-post-body .entry-content img, .hgh-post-body .entry-content .wp-block-image img { width: 100%; height: auto; border: 2px solid var(--hgh-brass); border-radius: 4px; padding: 4px; background: var(--hgh-surface); }
.hgh-post-body .entry-content figcaption { color: var(--hgh-tan); font-size: .85rem; text-align: center; font-style: italic; }
.hgh-post-body .entry-content h2 { margin-top: 2.25rem; }
.hgh-post-thumb img { width: 100%; height: auto; border: 2px solid var(--hgh-brass); border-radius: 4px; padding: 4px; background: var(--hgh-surface); margin-bottom: 2rem; }

.hgh-related-hub { background: var(--hgh-green); border: 2px solid var(--hgh-brass); border-radius: 4px; padding: 1.4rem 1.6rem; margin: 2.5rem 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; }
.hgh-related-hub h3 { margin: .35rem 0 0; font-size: 1.35rem; }
.hgh-related-hub p { margin: .25rem 0 0; color: #d6e2cf; font-size: .95rem; }
.hgh-filed { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin: 2rem 0; padding: 1rem 0; border-top: 1px solid var(--hgh-border); border-bottom: 1px solid var(--hgh-border); }
.hgh-filed .hgh-label { margin-right: .25rem; }
.hgh-author-box { display: flex; gap: 1.25rem; align-items: flex-start; margin: 2rem 0 3rem; }
.hgh-author-box img { border-radius: 50%; border: 2px solid var(--hgh-brass); flex: 0 0 auto; }
.hgh-author-box h3 { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .1em; font-size: 1rem; font-weight: 500; margin: 0 0 .35rem; color: var(--hgh-brass); }
.hgh-author-box p { color: var(--hgh-tan); margin: 0; font-size: .97rem; }
.post-navigation, .comments-area { max-width: 800px; margin-left: auto; margin-right: auto; }
.comments-area { background: var(--hgh-surface) !important; border: 1px solid var(--hgh-border); border-top: 3px solid var(--hgh-brass); border-radius: 4px; padding: 1.5rem; }

/* Blog index / archives — GP loop articles become cards */
.blog .site-main > article, .archive .site-main > article, .search .site-main > article {
	background: var(--hgh-surface);
	border: 1px solid var(--hgh-border);
	border-top: 3px solid var(--hgh-brass);
	border-radius: 4px;
	padding: 1.5rem 1.75rem;
	margin-bottom: 1.5rem;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
.blog .entry-title a, .archive .entry-title a, .search .entry-title a { color: var(--hgh-cream); }
.blog .entry-title a:hover, .archive .entry-title a:hover, .search .entry-title a:hover { color: var(--hgh-brass); }
.blog .entry-title, .archive .entry-title { font-size: 1.6rem; }
.entry-meta, .entry-meta a, .cat-links, .tags-links, .comments-link { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; color: var(--hgh-tan); }
.entry-summary { color: var(--hgh-tan); }
.read-more, a.read-more { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .1em; font-size: .82rem; }
.page-header { border-bottom: 2px solid var(--hgh-brass); margin-bottom: 1.75rem; padding: 0 0 .75rem !important; }
.page-header .page-title { margin: 0; }
.taxonomy-description, .archive-description { color: var(--hgh-tan); }
.nav-links .page-numbers { font-family: var(--hgh-f-label); padding: .4em .85em; border: 1px solid var(--hgh-border); border-radius: 2px; color: var(--hgh-cream); }
.nav-links .page-numbers.current, .nav-links .page-numbers:hover { background: var(--hgh-brass); border-color: var(--hgh-brass); color: var(--hgh-bg); }
.no-results .inside-article, .error404 .inside-article { background: var(--hgh-surface) !important; border: 1px solid var(--hgh-border); border-top: 3px solid var(--hgh-brass); border-radius: 4px; padding: 2rem !important; }

/* =========================================================================
   9. FORUM (wpForo) — palette set via wpForo colour style; these are finishing touches
   ========================================================================= */
#wpforo #wpforo-wrap { background: var(--hgh-bg) !important; color: var(--hgh-cream); font-family: var(--hgh-f-body); }
#wpforo #wpforo-wrap #wpforo-menu { background: var(--hgh-surface) !important; border-bottom: 3px solid var(--hgh-brass) !important; }
#wpforo #wpforo-wrap #wpforo-menu li a, #wpforo #wpforo-wrap .wpforo-menu li a { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .08em; color: var(--hgh-cream) !important; }
#wpforo #wpforo-wrap #wpforo-menu li a:hover, #wpforo #wpforo-wrap #wpforo-menu li.wpforo-active a { color: var(--hgh-brass) !important; background: transparent !important; }
#wpforo #wpforo-wrap .wpforo-category, #wpforo #wpforo-wrap .wpfl-1 .wpforo-category, #wpforo #wpforo-wrap .wpfl-4 .wpforo-category, #wpforo #wpforo-wrap .wpfl-2 .wpforo-category, #wpforo #wpforo-wrap .wpfl-3 .wpforo-category {
	background: var(--hgh-green) !important;
	border-top: 3px solid var(--hgh-brass) !important;
	color: var(--hgh-cream) !important;
}
#wpforo #wpforo-wrap .wpforo-category * { color: var(--hgh-cream) !important; font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .08em; }
#wpforo #wpforo-wrap .wpforo-forum, #wpforo #wpforo-wrap .wpforo-topic, #wpforo #wpforo-wrap .wpforo-post, #wpforo #wpforo-wrap .wpf-forum-item, #wpforo #wpforo-wrap .wpforo-content { background: var(--hgh-surface) !important; border-color: var(--hgh-border) !important; color: var(--hgh-cream); }
#wpforo #wpforo-wrap .wpforo-forum-title a, #wpforo #wpforo-wrap .wpforo-topic-title a, #wpforo #wpforo-wrap h1, #wpforo #wpforo-wrap h2, #wpforo #wpforo-wrap h3 { font-family: var(--hgh-f-head) !important; color: var(--hgh-cream) !important; }
#wpforo #wpforo-wrap .wpforo-forum-title a:hover, #wpforo #wpforo-wrap .wpforo-topic-title a:hover { color: var(--hgh-brass) !important; }
#wpforo #wpforo-wrap .wpforo-forum-description, #wpforo #wpforo-wrap .wpforo-forum-stat, #wpforo #wpforo-wrap .wpforo-last-post-info, #wpforo #wpforo-wrap .wpf-stat-label { color: var(--hgh-tan) !important; }
#wpforo #wpforo-wrap .wpforo-forum-icon, #wpforo #wpforo-wrap .wpforo-forum-icon i { color: var(--hgh-brass) !important; }
#wpforo #wpforo-wrap input[type="text"], #wpforo #wpforo-wrap input[type="search"], #wpforo #wpforo-wrap input[type="email"], #wpforo #wpforo-wrap input[type="password"], #wpforo #wpforo-wrap textarea, #wpforo #wpforo-wrap select { background: var(--hgh-surface-2) !important; color: var(--hgh-cream) !important; border: 1px solid var(--hgh-border) !important; }
#wpforo #wpforo-wrap .wpf-button, #wpforo #wpforo-wrap .button, #wpforo #wpforo-wrap input[type="submit"], #wpforo #wpforo-wrap button.add_wpftopic, #wpforo #wpforo-wrap .add_wpftopic {
	background: var(--hgh-brass) !important; border: 2px solid var(--hgh-brass) !important; color: var(--hgh-bg) !important; font-family: var(--hgh-f-label) !important; text-transform: uppercase; letter-spacing: .08em; border-radius: 4px !important;
}
#wpforo #wpforo-wrap .wpf-button:hover, #wpforo #wpforo-wrap input[type="submit"]:hover { background: var(--hgh-brass-light) !important; border-color: var(--hgh-brass-light) !important; }
#wpforo #wpforo-wrap a { color: var(--hgh-brass); }
#wpforo #wpforo-wrap a:hover { color: var(--hgh-brass-light); }
#wpforo #wpforo-wrap #wpforo-footer, #wpforo #wpforo-wrap #wpforo-stat-header, #wpforo #wpforo-wrap #wpforo-stat-body, #wpforo #wpforo-wrap .wpf-footer-box, #wpforo #wpforo-wrap .wpf-bottom-bar { background: var(--hgh-surface) !important; color: var(--hgh-tan) !important; border-color: var(--hgh-border) !important; }
#wpforo #wpforo-wrap #wpforo-stat-header { border-top: 3px solid var(--hgh-brass) !important; }
#wpforo #wpforo-wrap .wpf-stat-value, #wpforo #wpforo-wrap #wpforo-stat-body .wpf-stat-item span { color: var(--hgh-cream) !important; }
#wpforo #wpforo-wrap .wpforo-subtop, #wpforo #wpforo-wrap .wpf-breadcrumb, #wpforo #wpforo-wrap .wpf-breadcrumb a { color: var(--hgh-tan) !important; background: transparent !important; }
#wpforo #wpforo-wrap .wpf-search-form, #wpforo #wpforo-wrap .wpf-action-link { color: var(--hgh-tan); }
.wpforo-page .site-main > article > .inside-article, .page .site-main #wpforo { background: transparent; }

/* =========================================================================
   10. FOOTER
   ========================================================================= */
.hgh-footer {
	background-color: var(--hgh-footer);
	background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, .01) 0 2px, transparent 2px 5px);
	border-top: 3px solid var(--hgh-brass);
	color: var(--hgh-tan);
	font-size: .95rem;
	margin-top: 4rem;
}
.hgh-footer__inner { max-width: 1200px; margin: 0 auto; padding: 3.5rem 1.5rem 2rem; display: grid; grid-template-columns: 1.3fr 1fr 1.1fr; gap: 2.5rem; }
.hgh-footer__brand { display: flex; align-items: center; gap: .85rem; margin-bottom: 1rem; }
.hgh-footer__brand img { width: 64px; height: 64px; }
.hgh-footer__brand span { font-family: var(--hgh-f-head); font-size: 1.35rem; color: var(--hgh-cream); line-height: 1.15; }
.hgh-footer h2 { font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .14em; font-size: 1rem; font-weight: 500; color: var(--hgh-brass); margin: 0 0 1rem; padding-bottom: .55rem; border-bottom: 1px solid var(--hgh-border); }
.hgh-footer p { color: var(--hgh-tan); margin: 0 0 .85rem; }
.hgh-footer ul { list-style: none; margin: 0; padding: 0; }
.hgh-footer li { margin: 0 0 .55rem; }
.hgh-footer a, .hgh-footer a:visited { color: var(--hgh-tan); transition: color .15s; }
.hgh-footer a:hover, .hgh-footer a:focus { color: var(--hgh-brass); }
.hgh-footer li a::before { content: "\203A"; color: var(--hgh-brass); margin-right: .5rem; }
.hgh-footer__disclaimer { font-style: italic; font-size: .88rem; }
.hgh-footer__bar { border-top: 1px solid var(--hgh-border); text-align: center; padding: 1.25rem 1.5rem; font-family: var(--hgh-f-label); text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; color: var(--hgh-tan); background: #0c0c0c; }
.generate-back-to-top { background: var(--hgh-brass) !important; color: var(--hgh-bg) !important; border-radius: 4px; }

@media (max-width: 900px) {
	.hgh-footer__inner { grid-template-columns: 1fr 1fr; }
	.hgh-footer__col--about { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.hgh-footer__inner { grid-template-columns: 1fr; gap: 2rem; }
	.hgh-state-label { display: none; }
	.hgh-matrix-table tbody th { width: auto; }
	.hgh-matrix-table td:last-child { white-space: normal; }
	.hgh-cta-bar { text-align: center; justify-content: center; }
	.hgh-cta-actions { justify-content: center; }
	.hgh-map-section { margin-top: -3rem; }
	.hgh-post-body .entry-content { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

/* Full-bleed sections use 100vw; prevent the scrollbar-width horizontal overflow. */
html, body { overflow-x: clip; }
/* Single posts: header sits flush under the site header. */
.single-post .site-main { margin-top: 0 !important; }
.single-post .site-content { padding-top: 0 !important; }
.hgh-single .inside-article { padding-top: 0 !important; background: transparent; }

/* FAQ open by default — toggle indicators (▲ open / ▼ collapsed), replacing the +/− glyphs. */
details.hgh-faq-item[open] summary::after, details.hgh-faq-item summary::after { content: "\25B2"; font-size: .8em; color: #C8963E; }
details.hgh-faq-item:not([open]) summary::after { content: "\25BC"; }
