/*
Theme Name: Golden Heads Warriors (Woodmart child)
Template: woodmart
Author: Golden Heads Warriors
Description: Golden Heads Warriors' look on top of Woodmart: self-hosted fonts, black and gold, rounded glass components, and the styles for the drop list, contact form and Hash Guide articles. Woodmart's own colors, fonts and layouts are set in Theme Settings.
Version: 1.7.0
Text Domain: woodmart-child
*/

/* ========== Fonts (self-hosted, OFL; files in /fonts) ========== */

@font-face {
	font-family: "Unbounded";
	font-style: normal;
	font-weight: 500 800;
	font-display: swap;
	src: url("fonts/unbounded-500-800-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Unbounded";
	font-style: normal;
	font-weight: 500 800;
	font-display: swap;
	src: url("fonts/unbounded-500-800-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url("fonts/outfit-300-700-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url("fonts/outfit-300-700-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Martian Mono";
	font-style: normal;
	font-weight: 400 500;
	font-display: swap;
	src: url("fonts/martian-mono-400-500-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Martian Mono";
	font-style: normal;
	font-weight: 400 500;
	font-display: swap;
	src: url("fonts/martian-mono-400-500-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ========== Tokens ========== */

:root {
	--ghw-ground: #0a0908;
	--ghw-ink: #f6f1e7;
	--ghw-muted: #a8a092;
	--ghw-gold: #d4af37;
	--ghw-gold-light: #f3d77a;
	--ghw-gold-text: #e2bf55;
	--ghw-gradient: linear-gradient(135deg, #f7e08c 0%, #d4af37 45%, #a67c1a 100%);
	--ghw-glass: rgba(255, 246, 222, 0.045);
	--ghw-glass-strong: rgba(255, 246, 222, 0.09);
	--ghw-line: rgba(255, 236, 190, 0.12);
	--ghw-gold-line: rgba(243, 215, 122, 0.45);
	--ghw-glow: 0 18px 50px -18px rgba(212, 175, 55, 0.6);
	--ghw-r-sm: 12px;
	--ghw-r-md: 20px;
	--ghw-r-lg: 32px;
	--ghw-mono: "Martian Mono", "Courier New", monospace;
	--ghw-display: "Unbounded", "Arial Black", sans-serif;
	--wd-brd-radius: 20px;
}

/* ========== Base ========== */

body {
	background-color: var(--ghw-ground);
	-webkit-font-smoothing: antialiased;
}

/* Ambient gold light behind every page. */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(60vw 40vw at 90% -10%, rgba(212, 175, 55, 0.12), transparent 70%),
		radial-gradient(50vw 40vw at -10% 35%, rgba(166, 124, 26, 0.07), transparent 70%);
}

::selection {
	background: var(--ghw-gold);
	color: var(--ghw-ground);
}

h1, h2, h3, .title, .wd-entities-title {
	letter-spacing: -0.02em;
	text-wrap: balance;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--ghw-gold-light);
	outline-offset: 3px;
}

/* ========== Buttons: gold pills ========== */

.btn.btn-color-primary,
.wd-button-wrapper .btn-color-primary,
.button.alt,
.ghw-btn {
	border-radius: 999px;
	background: var(--ghw-gradient);
	color: var(--ghw-ground);
	box-shadow: inset 0 0 0 1px rgba(255, 244, 196, 0.35);
	letter-spacing: 0.08em;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.btn.btn-color-primary:hover,
.wd-button-wrapper .btn-color-primary:hover,
.ghw-btn:hover {
	transform: translateY(-2px);
	background: var(--ghw-gradient);
	color: var(--ghw-ground);
	box-shadow: inset 0 0 0 1px rgba(255, 244, 196, 0.5), var(--ghw-glow);
}

.btn.btn-style-bordered,
.ghw-btn--ghost {
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
	background: var(--ghw-glass);
	color: var(--ghw-ink);
	backdrop-filter: blur(12px);
}

.btn.btn-style-bordered:hover,
.ghw-btn--ghost:hover {
	border-color: var(--ghw-gold-line);
	background: var(--ghw-glass-strong);
	color: var(--ghw-ink);
}

/* ========== Small shared pieces ========== */

.ghw-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	margin: 0 0 16px;
	padding: 8px 14px 8px 10px;
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
	background: var(--ghw-glass);
	font-family: var(--ghw-mono);
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ghw-gold-text);
}

.ghw-eyebrow::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ghw-gradient);
	box-shadow: 0 0 12px 2px rgba(212, 175, 55, 0.6);
}

.ghw-lead {
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	line-height: 1.6;
	color: rgba(246, 241, 231, 0.86);
}

.ghw-note {
	font-size: 0.875rem;
	color: var(--ghw-muted);
}

/* ========== Cards: rounded glass ========== */

.wd-product .product-wrapper,
.wd-post .article-inner,
.wd-cat .wrapp-category,
.wd-info-box,
.wd-accordion-item {
	border-radius: var(--ghw-r-md);
}

.wd-product .product-element-top,
.wd-cat .category-image-wrapp {
	overflow: hidden;
	border-radius: var(--ghw-r-md);
}

/* ========== Drop list (prefooter on every page) ========== */

.ghw-droplist {
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp(3rem, 8vw, 6rem) 15px;
	scroll-margin-top: 100px;
}

.ghw-droplist__panel {
	position: relative;
	isolation: isolate;
	display: grid;
	align-items: center;
	gap: 32px;
	overflow: hidden;
	padding: clamp(28px, 5vw, 64px);
	border: 1px solid rgba(243, 215, 122, 0.3);
	border-radius: 40px;
	background:
		radial-gradient(80% 120% at 100% 0%, rgba(212, 175, 55, 0.26), transparent 60%),
		radial-gradient(60% 90% at 0% 100%, rgba(166, 124, 26, 0.18), transparent 60%),
		#120f0b;
}

@media (min-width: 900px) {
	.ghw-droplist__panel {
		grid-template-columns: 1.1fr 1fr;
	}
}

.ghw-droplist__panel::before {
	content: "";
	position: absolute;
	top: 12%;
	right: 6%;
	z-index: -1;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #fff1b8 0%, #e2bf55 35%, #8a6414 78%);
	box-shadow: 0 0 40px 8px rgba(212, 175, 55, 0.35);
	animation: ghw-float 7s ease-in-out infinite;
}

.ghw-droplist__copy h2 {
	margin: 0 0 12px;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	line-height: 1.05;
}

.ghw-droplist__copy .ghw-lead {
	margin: 0;
}

@keyframes ghw-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-12px); }
}

/* ========== Forms (drop list signup and contact) ========== */

.ghw-signup {
	display: grid;
	gap: 14px;
}

.ghw-signup__row {
	display: flex;
	gap: 8px;
	padding: 6px;
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
	background: rgba(10, 9, 8, 0.6);
}

.ghw-signup__row:focus-within {
	border-color: var(--ghw-gold-line);
	box-shadow: 0 0 0 3px rgba(243, 215, 122, 0.15);
}

.ghw-signup .ghw-signup__input {
	flex: 1;
	min-width: 0;
	height: 48px;
	padding: 0 18px;
	border: 0;
	background: transparent;
	color: var(--ghw-ink);
	box-shadow: none;
}

.ghw-signup .ghw-signup__btn {
	flex: none;
	min-height: 48px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	background: var(--ghw-gradient);
	color: var(--ghw-ground);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

@media (max-width: 480px) {
	.ghw-signup__row {
		flex-direction: column;
		border-radius: 24px;
	}
}

.ghw-signup__consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--ghw-muted);
}

.ghw-signup__consent input {
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	accent-color: #d4af37;
}

.ghw-signup-status,
.ghw-form-status {
	margin: 0 0 12px;
	padding: 12px 16px;
	border: 1px solid rgba(212, 175, 55, 0.4);
	border-radius: var(--ghw-r-sm);
	background: rgba(212, 175, 55, 0.12);
}

.ghw-signup-status--error,
.ghw-form-status--error {
	border-color: #ff6b5a;
	background: rgba(255, 107, 90, 0.1);
	color: #ff6b5a;
}

.ghw-form {
	display: grid;
	gap: 20px;
	padding: clamp(20px, 4vw, 36px);
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-lg);
	background: var(--ghw-glass);
}

.ghw-field {
	display: grid;
	gap: 8px;
}

.ghw-field__label {
	font-family: var(--ghw-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ghw-ink);
}

.ghw-form .ghw-field__input {
	width: 100%;
	min-height: 52px;
	border: 1px solid rgba(255, 236, 190, 0.18);
	border-radius: var(--ghw-r-sm);
	background: rgba(10, 9, 8, 0.6);
	color: var(--ghw-ink);
}

.ghw-form textarea.ghw-field__input {
	min-height: 160px;
}

.ghw-field__help {
	margin: 0;
	font-size: 0.875rem;
	color: var(--ghw-muted);
}

.ghw-form button[type="submit"] {
	justify-self: start;
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: var(--ghw-gradient);
	color: var(--ghw-ground);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* ========== Hash Guide articles ========== */

.ghw-summary {
	padding: 22px 26px;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-md);
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.1), rgba(255, 246, 222, 0.02) 60%);
}

.ghw-summary > * {
	margin-block: 0;
}

.ghw-summary > * + * {
	margin-block-start: 10px;
}

.ghw-kicker {
	font-family: var(--ghw-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ghw-gold-text);
}

.wp-block-table.ghw-table {
	overflow-x: auto;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-md);
	background: var(--ghw-glass);
}

.ghw-table table {
	width: 100%;
	min-width: 560px;
	margin: 0;
	border-collapse: collapse;
}

.ghw-table th,
.ghw-table td {
	padding: 14px 18px;
	border: 0;
	border-bottom: 1px solid var(--ghw-line);
	text-align: left;
	vertical-align: top;
}

.ghw-table th {
	font-family: var(--ghw-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ghw-gold-text);
}

.ghw-table tbody tr:last-child td {
	border-bottom: 0;
}

.single-post .entry-content .wp-block-buttons .wp-block-button__link {
	border-radius: 999px;
	background: var(--ghw-gradient);
	color: var(--ghw-ground);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.single-post .entry-content .wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid var(--ghw-line);
	background: var(--ghw-glass);
	color: var(--ghw-ink);
}

/* ========== Homepage sections ========== */

.ghw-hero-title .elementor-heading-title {
	font-size: clamp(2.5rem, 6vw, 5rem);
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.ghw-heading .elementor-heading-title {
	font-size: clamp(1.75rem, 3.6vw, 3rem);
}

.ghw-page-title .elementor-heading-title {
	font-size: clamp(2.25rem, 5vw, 4rem);
}

.ghw-glass-card {
	padding: 28px;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-lg);
	background: linear-gradient(180deg, rgba(255, 246, 222, 0.05), rgba(255, 246, 222, 0.015));
	transition: transform 0.18s ease, border-color 0.18s ease;
}

.ghw-glass-card:hover {
	transform: translateY(-4px);
	border-color: var(--ghw-gold-line);
}

.ghw-glass-card h2,
.ghw-glass-card h3 {
	margin: 0 0 8px;
	font-size: 1.1rem;
	line-height: 1.25;
}

.ghw-glass-card p:last-child {
	margin-bottom: 0;
}

.ghw-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

a.ghw-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 26px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
}

a.ghw-btn--ghost {
	background: var(--ghw-glass);
	box-shadow: none;
	color: var(--ghw-ink);
}

.ghw-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.ghw-pills li {
	margin: 0;
	list-style: none;
}

.ghw-pills a {
	display: inline-block;
	padding: 8px 16px;
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
	background: var(--ghw-glass);
	color: var(--ghw-ink);
	font-size: 13px;
	transition: border-color 0.18s ease, color 0.18s ease;
}

.ghw-pills a:hover {
	border-color: var(--ghw-gold-line);
	color: var(--ghw-gold-light);
}

.ghw-hero-logo img {
	width: min(100%, 460px);
	filter: drop-shadow(0 30px 60px rgba(212, 175, 55, 0.25));
	animation: ghw-float 8s ease-in-out infinite;
}

.ghw-values,
.ghw-info-cards {
	display: grid;
	gap: 16px;
}

@media (min-width: 640px) {
	.ghw-values {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.ghw-values {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.ghw-values .ghw-glass-card::before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	margin-bottom: 20px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #fff1b8 0%, #e2bf55 35%, #8a6414 78%);
	box-shadow: 0 0 30px 4px rgba(212, 175, 55, 0.3);
}

.ghw-values p,
.ghw-info-cards p {
	color: var(--ghw-muted);
}

.ghw-rounded-image img {
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-lg);
}

.ghw-page-title {
	font-size: clamp(2.25rem, 5vw, 4rem);
}

.ghw-heading .elementor-heading-title {
	line-height: 1.05;
}

/* ========== Hero slider ========== */

.ghw-hero .elementor-widget-html,
.ghw-hero .elementor-widget-wrap {
	padding: 0 !important;
}

.ghw-slider {
	position: relative;
	display: grid;
	min-height: 88vh;
	overflow: hidden;
	isolation: isolate;
}

.ghw-slide {
	grid-area: 1 / 1;
	display: flex;
	align-items: center;
	background-color: var(--ghw-ground);
	background-position: right center;
	background-size: cover;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.1s ease, visibility 0s linear 1.1s;
}

.ghw-slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity 1.1s ease, visibility 0s;
}

.ghw-slide::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(90deg, rgba(10, 9, 8, 0.96) 0%, rgba(10, 9, 8, 0.82) 40%, rgba(10, 9, 8, 0.25) 75%, rgba(10, 9, 8, 0.35) 100%),
		linear-gradient(0deg, var(--ghw-ground) 0%, transparent 30%);
}

.ghw-slide--astro::before {
	background:
		linear-gradient(90deg, rgba(10, 9, 8, 0.95) 0%, rgba(10, 9, 8, 0.6) 40%, rgba(10, 9, 8, 0) 70%),
		linear-gradient(0deg, var(--ghw-ground) 0%, transparent 25%);
}

.ghw-slide__inner {
	position: relative;
	z-index: 1;
	display: grid;
	align-items: center;
	gap: 40px;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 150px 15px 90px;
}

@media (min-width: 1024px) {
	.ghw-slide__inner {
		grid-template-columns: 1.15fr 0.85fr;
	}
}

.ghw-slide__title {
	margin: 0 0 18px;
	font-size: clamp(2.5rem, 6vw, 5rem);
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.ghw-slide__text .ghw-lead {
	max-width: 34ch;
}

.ghw-slide__media {
	display: flex;
	justify-content: center;
}

.ghw-slide__logo {
	width: min(100%, 500px);
	height: auto;
	mix-blend-mode: screen;
	filter: drop-shadow(0 30px 60px rgba(212, 175, 55, 0.3));
	animation: ghw-float 8s ease-in-out infinite;
}

@media (max-width: 1023px) {
	.ghw-slide__media {
		order: -1;
	}

	.ghw-slide__logo {
		width: min(80vw, 340px);
	}

	.ghw-slide--astro {
		background-position: 72% center;
	}
}

.ghw-slider__dots {
	position: absolute;
	bottom: 28px;
	left: 50%;
	z-index: 2;
	display: flex;
	gap: 10px;
	transform: translateX(-50%);
}

.ghw-slider__dots button {
	width: 34px;
	height: 6px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(246, 241, 231, 0.3);
	cursor: pointer;
	transition: background 0.2s ease, width 0.2s ease;
}

.ghw-slider__dots button.is-active {
	width: 54px;
	background: var(--ghw-gradient);
}

.ghw-coming p {
	margin: 0;
}

/* Product photos in a 3:4 frame, so every card in a grid is the same height: tall phone photos
   fill it, square product shots (class from functions.php) sit whole inside it on a matching
   dark ground. The homepage Top products are all square shots and stay square. */
.product-grid-item .product-element-top img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	background: linear-gradient(180deg, #17130e, #0b0907);
}

.product-grid-item.ghw-img-square .product-element-top img {
	object-fit: contain;
}

.ghw-home-top .product-grid-item .product-element-top img {
	aspect-ratio: 1;
}

/* ========== Brand imagery ========== */

.ghw-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

@media (min-width: 900px) {
	.ghw-gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.ghw-gallery img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-md);
	transition: transform 0.4s ease, border-color 0.2s ease;
}

.ghw-gallery img:hover {
	transform: translateY(-4px) scale(1.01);
	border-color: var(--ghw-gold-line);
}

/* Images on pure black blend into the page. */
.ghw-gold-logo img,
.ghw-droplist__astro {
	mix-blend-mode: screen;
}

.ghw-gold-logo img {
	width: min(100%, 520px);
	animation: ghw-float 9s ease-in-out infinite;
}

.ghw-astro img {
	animation: ghw-float 8s ease-in-out infinite;
	box-shadow: 0 40px 90px -40px rgba(212, 175, 55, 0.45);
}

.ghw-tilt img {
	transition: transform 0.5s ease;
}

.ghw-tilt:hover img {
	transform: perspective(900px) rotateY(-4deg) rotateX(2deg) scale(1.02);
}

.ghw-event-photo img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.ghw-droplist__astro {
	position: absolute;
	right: -40px;
	bottom: -60px;
	z-index: -1;
	width: min(46%, 420px);
	height: auto;
	opacity: 0.85;
	pointer-events: none;
	animation: ghw-float 9s ease-in-out infinite;
}

@media (max-width: 899px) {
	.ghw-droplist__astro {
		opacity: 0.35;
		width: 70%;
	}
}

/* ========== Header icons ========== */

.whb-general-header .wd-tools-element .wd-tools-icon::before {
	font-size: 20px;
}

.whb-general-header .wd-tools-element > a {
	color: var(--ghw-ink);
	transition: color 0.2s ease;
}

.whb-general-header .wd-tools-element > a:hover,
.whb-general-header .wd-tools-element > a:focus-visible {
	color: var(--ghw-gold-light);
}

.wd-tools-element .wd-tools-count {
	background: var(--ghw-gradient);
	color: var(--ghw-ground);
	font-weight: 700;
}

/* ========== Shop mega menu ==========
   Woodmart opens dropdowns on CSS hover with a 15px bridge; the header is 100px tall, so the
   pointer could fall out of the gap. The panel is centred under the header row, the bridge
   covers the gap, and closing waits a moment so a slip doesn't shut it. */

.whb-general-header .whb-flex-row {
	position: relative;
}

.whb-general-header .whb-column,
.whb-general-header .wd-header-nav,
.whb-general-header .wd-nav-main,
.whb-general-header .wd-nav-main > li.menu-mega-dropdown {
	position: static;
}

.wd-nav-main > li.menu-mega-dropdown > .wd-dropdown-menu {
	top: 100%;
	right: 0 !important;
	left: 0 !important;
	width: min(1140px, calc(100vw - 40px)) !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-md);
	background: rgba(14, 12, 10, 0.97);
	box-shadow: 0 40px 90px -30px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(212, 175, 55, 0.05);
	backdrop-filter: blur(16px);
	transition: opacity 0.2s ease 0.15s, visibility 0.2s ease 0.15s, transform 0.2s ease 0.15s;
}

.wd-nav-main > li.menu-mega-dropdown > .wd-dropdown-menu::after {
	height: 52px;
}

.wd-nav-main > li.menu-mega-dropdown:hover > .wd-dropdown-menu,
.wd-nav-main > li.menu-mega-dropdown:focus-within > .wd-dropdown-menu {
	visibility: visible;
	opacity: 1;
	transform: none;
	pointer-events: auto;
	transition-delay: 0s;
}

.wd-nav-main > li.menu-mega-dropdown > .wd-dropdown-menu > .container {
	width: 100%;
	max-width: none;
	padding: 0;
}

.ghw-mega {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 270px;
	text-align: left;
}

/* Compact: names only, one column per category; a category with many types (Hash) is twice as
   wide with its types in two short columns, so no column runs long. */
.ghw-mega__cols {
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	padding: 24px 6px;
}

.ghw-mega__col {
	padding: 0 18px;
}

.ghw-mega__col--wide {
	grid-column: span 2;
}

.ghw-mega__col + .ghw-mega__col {
	border-left: 1px solid var(--ghw-line);
}

.ghw-mega__title {
	position: relative;
	display: block;
	margin-bottom: 10px;
	padding-bottom: 10px;
	font-family: var(--ghw-display);
	font-size: 14px;
	font-weight: 600;
	color: var(--ghw-ink);
}

.ghw-mega__title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 22px;
	height: 2px;
	border-radius: 2px;
	background: var(--ghw-gradient);
	transition: width 0.3s ease;
}

.ghw-mega__col:hover .ghw-mega__title::after {
	width: 56px;
}

a.ghw-mega__title:hover {
	color: var(--ghw-gold-light);
}

.ghw-mega__col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ghw-mega__col--wide ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 20px;
}

.ghw-mega__col li a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 0;
	font-size: 13.5px;
	white-space: nowrap;
	color: var(--ghw-muted);
	transition: color 0.2s ease;
}

/* On hover a small gold arrow slides in after the name. */
.ghw-mega__col li a::after {
	content: "\2192";
	color: var(--ghw-gold);
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.ghw-mega__col li a:hover,
.ghw-mega__col li a:focus-visible {
	color: var(--ghw-gold-light);
}

.ghw-mega__col li a:hover::after,
.ghw-mega__col li a:focus-visible::after {
	opacity: 1;
	transform: none;
}

.ghw-mega__all {
	display: inline-block;
	margin-top: 10px;
	font-family: var(--ghw-mono);
	font-size: 10.5px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--ghw-gold-text);
}

.ghw-mega__all::after {
	content: " \2192";
	display: inline-block;
	transition: transform 0.2s ease;
}

.ghw-mega__all:hover {
	color: var(--ghw-gold-light);
}

.ghw-mega__all:hover::after {
	transform: translateX(3px);
}

.ghw-mega__side {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 18px;
	padding: 24px;
	border-left: 1px solid var(--ghw-line);
	background: radial-gradient(circle at 30% 20%, rgba(212, 175, 55, 0.14), transparent 70%);
}

.ghw-mega__feature {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	align-items: center;
	gap: 16px;
	color: var(--ghw-ink);
}

.ghw-mega__feature-media img {
	width: 72px;
	height: 72px;
	object-fit: contain;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-sm);
	background: linear-gradient(180deg, #17130e, #0b0907);
	transition: border-color 0.3s ease, transform 0.3s ease;
}

.ghw-mega__feature:hover .ghw-mega__feature-media img {
	border-color: var(--ghw-gold-line);
	transform: translateY(-2px);
}

.ghw-mega__feature .ghw-eyebrow {
	margin-bottom: 8px;
	padding: 4px 10px 4px 8px;
	font-size: 9px;
	white-space: nowrap;
}

.ghw-mega__feature-title {
	display: block;
	font-family: var(--ghw-display);
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.3;
}

.ghw-mega__feature-price {
	display: block;
	margin-top: 4px;
	font-family: var(--ghw-mono);
	font-size: 13px;
	color: var(--ghw-gold-light);
}

.ghw-mega__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.ghw-mega__links a {
	padding: 6px 13px;
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
	font-size: 12.5px;
	white-space: nowrap;
	color: var(--ghw-ink);
	transition: border-color 0.2s ease, color 0.2s ease;
}

.ghw-mega__links a:hover,
.ghw-mega__links a:focus-visible {
	border-color: var(--ghw-gold-line);
	color: var(--ghw-gold-light);
}

/* ========== Phone menu ========== */

.mobile-nav.wd-side-hidden {
	width: min(88vw, 360px);
	border-right: 1px solid var(--ghw-line);
	background: radial-gradient(circle at 0 0, rgba(212, 175, 55, 0.16), transparent 55%), #0d0b09;
}

.mobile-nav .wd-search-form {
	padding: 20px 18px 12px;
}

.mobile-nav .searchform input.s {
	height: 48px;
	padding-left: 20px;
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
	background: var(--ghw-glass);
	color: var(--ghw-ink);
}

.mobile-nav .wd-nav-mobile > li > a {
	padding: 17px 22px;
	border-bottom: 1px solid var(--ghw-line);
	font-family: var(--ghw-display);
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ghw-ink);
}

.mobile-nav .wd-nav-mobile > li.current-menu-item > a {
	color: var(--ghw-gold-light);
}

.mobile-nav .wd-nav-mobile > li.current-menu-item > a::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 10px;
	border-radius: 50%;
	background: var(--ghw-gradient);
	box-shadow: 0 0 10px rgba(212, 175, 55, 0.8);
	vertical-align: middle;
}

.mobile-nav .wd-nav-mobile .wd-sub-menu a {
	padding-left: 34px;
	font-size: 15px;
	text-transform: none;
	color: var(--ghw-muted);
}

.mobile-nav .wd-nav-mobile .sub-sub-menu a {
	padding-left: 48px;
	font-size: 14px;
}

.mobile-nav .wd-nav-mobile .wd-nav-opener {
	border-left: 0;
	color: var(--ghw-gold-light);
}

/* The account link closes the list as a gold pill. */
.mobile-nav .wd-nav-mobile > li:last-child > a {
	justify-content: center;
	margin: 22px 18px;
	border: 0;
	border-radius: 999px;
	background: var(--ghw-gradient);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ghw-ground);
}

.mobile-nav.wd-opened .wd-nav-mobile > li {
	animation: ghw-rise 0.45s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.mobile-nav.wd-opened .wd-nav-mobile > li:nth-child(2) { animation-delay: 0.04s; }
.mobile-nav.wd-opened .wd-nav-mobile > li:nth-child(3) { animation-delay: 0.08s; }
.mobile-nav.wd-opened .wd-nav-mobile > li:nth-child(4) { animation-delay: 0.12s; }
.mobile-nav.wd-opened .wd-nav-mobile > li:nth-child(5) { animation-delay: 0.16s; }
.mobile-nav.wd-opened .wd-nav-mobile > li:nth-child(6) { animation-delay: 0.2s; }

@keyframes ghw-rise {
	from {
		opacity: 0;
		transform: translateX(-14px);
	}
}

/* ========== Section heads (eyebrow + title, link on the right) ========== */

.ghw-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
	margin-bottom: 28px;
}

h1.ghw-heading,
h2.ghw-heading {
	margin: 0 0 16px;
	font-size: clamp(1.75rem, 3.6vw, 3rem);
	line-height: 1.05;
}

h1.ghw-page-title {
	font-size: clamp(2.1rem, 5vw, 4rem);
}

.ghw-section-head h2.ghw-heading {
	margin: 0;
}

.ghw-link-arrow {
	padding-bottom: 4px;
	border-bottom: 1px solid var(--ghw-gold-line);
	font-family: var(--ghw-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ghw-gold-text);
}

.ghw-link-arrow::after {
	content: " \2192";
	display: inline-block;
	transition: transform 0.2s ease;
}

.ghw-link-arrow:hover {
	color: var(--ghw-gold-light);
}

.ghw-link-arrow:hover::after {
	transform: translateX(4px);
}

/* ========== Shop: filter sidebar ========== */

.title-shop .entry-title::before {
	content: "The HEADS shop";
	display: block;
	margin-bottom: 12px;
	font-family: var(--ghw-mono);
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ghw-gold-text);
}

@media (min-width: 1025px) {
	.area-sidebar-shop {
		position: sticky;
		top: 110px;
	}
}

.area-sidebar-shop .widget-area {
	padding: 24px;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-md);
	background: linear-gradient(180deg, rgba(255, 246, 222, 0.05), rgba(255, 246, 222, 0.015));
}

.area-sidebar-shop .wd-widget {
	margin: 0;
}

.area-sidebar-shop .wd-widget + .wd-widget {
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid var(--ghw-line);
}

.area-sidebar-shop .widget-title {
	margin-bottom: 14px;
	font-family: var(--ghw-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ghw-gold-text);
}

.area-sidebar-shop .product-categories li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin: 0;
}

.area-sidebar-shop .product-categories li a {
	padding: 6px 0;
	color: var(--ghw-ink);
	transition: color 0.2s ease;
}

.area-sidebar-shop .product-categories li a:hover,
.area-sidebar-shop .product-categories .current-cat > a {
	color: var(--ghw-gold-light);
}

.area-sidebar-shop .product-categories .count {
	min-width: 26px;
	padding: 1px 7px;
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
	font-family: var(--ghw-mono);
	font-size: 10px;
	text-align: center;
	color: var(--ghw-muted);
}

.area-sidebar-shop .product-categories .children {
	flex-basis: 100%;
	margin: 2px 0 6px 2px;
	padding-left: 14px;
	border-left: 1px solid var(--ghw-gold-line);
}

.area-sidebar-shop .product-categories .children a {
	font-size: 14px;
	color: var(--ghw-muted);
}

.area-sidebar-shop .price_slider_wrapper .ui-slider {
	height: 3px;
	border-radius: 3px;
	background: var(--ghw-line);
}

.area-sidebar-shop .price_slider_wrapper .ui-slider-range {
	background: var(--ghw-gradient);
}

.area-sidebar-shop .price_slider_wrapper .ui-slider-handle {
	width: 16px;
	height: 16px;
	border: 2px solid var(--ghw-ground);
	border-radius: 50%;
	background: var(--ghw-gold-light);
	box-shadow: 0 0 0 1px var(--ghw-gold-line), 0 0 12px rgba(212, 175, 55, 0.6);
}

.area-sidebar-shop .price_slider_amount .button {
	border-radius: 999px;
	background: var(--ghw-gradient);
	color: var(--ghw-ground);
}

.area-sidebar-shop .wd-widget-stock-status ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.area-sidebar-shop .wd-widget-stock-status a {
	display: inline-block;
	padding: 6px 14px;
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
	font-size: 13px;
	color: var(--ghw-ink);
}

.area-sidebar-shop .wd-widget-stock-status a:hover,
.area-sidebar-shop .wd-widget-stock-status a.wd-active {
	border-color: var(--ghw-gold-line);
	color: var(--ghw-gold-light);
}

.wd-product .price,
.single-product .summary .price {
	font-family: var(--ghw-mono);
	color: var(--ghw-gold-light);
}

/* ========== About ========== */

.ghw-facts,
.ghw-partners {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.ghw-facts li {
	padding: 8px 14px;
	border: 1px solid var(--ghw-gold-line);
	border-radius: 999px;
	background: var(--ghw-glass);
	font-family: var(--ghw-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ghw-gold-light);
}

.ghw-partners li {
	padding: 8px 16px;
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
	background: var(--ghw-glass);
	font-size: 14px;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.ghw-partners li:hover {
	border-color: var(--ghw-gold-line);
	transform: translateY(-2px);
}

.ghw-subhead {
	margin: 26px 0 10px;
	font-family: var(--ghw-display);
	font-size: 18px;
}

/* The logo inside two gold rings, with a dot in orbit. */
.ghw-orbit {
	position: relative;
	display: grid;
	place-items: center;
	width: min(100%, 460px);
	aspect-ratio: 1;
	margin-inline: auto;
}

.ghw-orbit__ring,
.ghw-orbit__dot {
	position: absolute;
	border-radius: 50%;
}

.ghw-orbit__ring {
	inset: 7%;
	border: 1px solid var(--ghw-gold-line);
	box-shadow: inset 0 0 80px -20px rgba(212, 175, 55, 0.45), 0 0 60px -30px rgba(212, 175, 55, 0.6);
}

.ghw-orbit__ring--dash {
	inset: 0;
	border: 1px dashed rgba(243, 215, 122, 0.3);
	box-shadow: none;
	animation: ghw-spin 80s linear infinite;
}

.ghw-orbit__dot {
	inset: 0;
	animation: ghw-spin 16s linear infinite;
}

.ghw-orbit__dot::before {
	content: "";
	position: absolute;
	top: -5px;
	left: calc(50% - 5px);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ghw-gradient);
	box-shadow: 0 0 18px 4px rgba(212, 175, 55, 0.7);
}

.ghw-orbit__logo {
	position: relative;
	width: 76%;
	height: auto;
	mix-blend-mode: screen;
	animation: ghw-float 9s ease-in-out infinite;
}

@keyframes ghw-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Arch-topped photo with a ring behind it and a floating caption chip. */
.ghw-arch-frame {
	position: relative;
	max-width: 480px;
	margin: 0 auto;
	isolation: isolate;
}

.ghw-arch-frame img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border: 1px solid var(--ghw-line);
	border-radius: 999px 999px var(--ghw-r-lg) var(--ghw-r-lg);
}

.ghw-arch-frame::before {
	content: "";
	position: absolute;
	top: -18px;
	right: -18px;
	z-index: -1;
	width: 140px;
	height: 140px;
	border: 1px solid var(--ghw-gold-line);
	border-radius: 50%;
}

.ghw-float-chip {
	position: absolute;
	bottom: 20px;
	left: 50%;
	padding: 10px 16px;
	border: 1px solid var(--ghw-gold-line);
	border-radius: 999px;
	background: rgba(10, 9, 8, 0.75);
	backdrop-filter: blur(10px);
	font-family: var(--ghw-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--ghw-gold-light);
	transform: translateX(-50%);
	animation: ghw-float 7s ease-in-out infinite;
}

/* The headstash: one photo per shape. A swipeable row on phones. */
.ghw-shapes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: center;
	gap: 20px;
}

.ghw-shape {
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--ghw-line);
	transition: transform 0.5s ease, border-color 0.3s ease;
}

.ghw-shape img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.ghw-shape:hover {
	border-color: var(--ghw-gold-line);
	transform: translateY(-6px);
}

.ghw-shape:hover img {
	transform: scale(1.06);
}

.ghw-shape--arch {
	border-radius: 999px 999px var(--ghw-r-md) var(--ghw-r-md);
}

.ghw-shape--circle {
	border-radius: 50%;
}

.ghw-shape--circle img {
	aspect-ratio: 1;
}

.ghw-shape--soft {
	border-radius: var(--ghw-r-lg) 6px var(--ghw-r-lg) 6px;
}

.ghw-shape--pill {
	border-radius: 999px;
}

.ghw-shape--pill img {
	aspect-ratio: 3 / 5;
}

/* Wide stadium-shaped photo. */
.ghw-capsule {
	margin: 0;
}

.ghw-capsule img {
	width: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
}

.ghw-duo {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

/* Glass card with a soft gold glow in the corner that grows on hover. */
.ghw-corner {
	position: relative;
	overflow: hidden;
}

.ghw-corner::after {
	content: "";
	position: absolute;
	top: -70px;
	right: -70px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(212, 175, 55, 0.25), transparent 70%);
	transition: transform 0.5s ease;
	pointer-events: none;
}

.ghw-corner:hover::after {
	transform: scale(1.5);
}

/* ========== Contact ========== */

.ghw-contact-hero {
	position: relative;
	isolation: isolate;
	max-width: 760px;
	margin: 0 auto;
	padding: 40px 0 30px;
	text-align: center;
}

.ghw-contact-hero .ghw-eyebrow {
	margin-inline: auto;
}

.ghw-contact-hero__orb {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	width: 420px;
	height: 420px;
	border: 1px solid var(--ghw-gold-line);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(212, 175, 55, 0.14), transparent 65%);
	transform: translate(-50%, -50%);
}

.ghw-contact-hero__orb::before {
	content: "";
	position: absolute;
	inset: -28px;
	border: 1px dashed rgba(243, 215, 122, 0.25);
	border-radius: 50%;
	animation: ghw-spin 70s linear infinite;
}

.ghw-channels {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.ghw-channel {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	overflow: hidden;
	padding: 24px;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-md);
	background: linear-gradient(180deg, rgba(255, 246, 222, 0.05), rgba(255, 246, 222, 0.015));
	color: var(--ghw-ink);
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.ghw-channel:hover,
.ghw-channel:focus-visible {
	border-color: var(--ghw-gold-line);
	color: var(--ghw-ink);
	box-shadow: var(--ghw-glow);
	transform: translateY(-4px);
}

.ghw-channel::after {
	content: "";
	position: absolute;
	right: -44px;
	bottom: -44px;
	width: 120px;
	height: 120px;
	border: 1px solid var(--ghw-line);
	border-radius: 50%;
	transition: transform 0.4s ease, border-color 0.4s ease;
	pointer-events: none;
}

.ghw-channel:hover::after {
	border-color: var(--ghw-gold-line);
	transform: scale(1.3);
}

.ghw-channel .ghw-icon {
	width: 46px;
	height: 46px;
	margin-bottom: 10px;
	padding: 11px;
	border: 1px solid var(--ghw-gold-line);
	border-radius: 50%;
	background: rgba(212, 175, 55, 0.08);
	color: var(--ghw-gold-light);
}

.ghw-channel__label {
	font-family: var(--ghw-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ghw-gold-text);
}

.ghw-channel__value {
	font-family: var(--ghw-display);
	font-size: 15px;
	overflow-wrap: anywhere;
}

.ghw-channel__note {
	font-size: 13px;
	color: var(--ghw-muted);
}

.ghw-form-panel {
	position: relative;
	overflow: hidden;
	padding: 34px;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-lg);
	background: linear-gradient(180deg, rgba(255, 246, 222, 0.05), rgba(255, 246, 222, 0.015));
}

.ghw-form-panel::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 2px;
	background: var(--ghw-gradient);
}

.ghw-form-panel h2.ghw-heading {
	font-size: 24px;
}

.ghw-topics ul {
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}

.ghw-topics li a {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-bottom: 10px;
	padding: 16px 46px 16px 18px;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-md);
	color: var(--ghw-ink);
	transition: border-color 0.2s ease, background 0.2s ease;
}

.ghw-topics li a::after {
	content: "\2192";
	position: absolute;
	top: 50%;
	right: 18px;
	color: var(--ghw-gold);
	transform: translateY(-50%);
	transition: transform 0.2s ease;
}

.ghw-topics li a:hover,
.ghw-topics li a:focus-visible {
	border-color: var(--ghw-gold-line);
	background: var(--ghw-glass);
}

.ghw-topics li a:hover::after {
	transform: translate(4px, -50%);
}

.ghw-topics strong {
	font-family: var(--ghw-display);
	font-size: 15px;
	font-weight: 600;
}

.ghw-topics span {
	font-size: 13px;
	color: var(--ghw-muted);
}

/* ========== Product rail (homepage "Hash") ========== */

.ghw-home-rail {
	border-block: 1px solid var(--ghw-line);
	background: radial-gradient(ellipse at 85% 0%, rgba(212, 175, 55, 0.12), transparent 60%);
}

.ghw-rail__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
	margin-bottom: 28px;
}

.ghw-rail__head h2.ghw-heading {
	margin: 0;
}

.ghw-rail__controls {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ghw-rail__controls .ghw-link-arrow {
	margin-right: 10px;
}

.ghw-rail__btn {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid var(--ghw-line);
	border-radius: 50%;
	background: var(--ghw-glass);
	font-size: 18px;
	color: var(--ghw-ink);
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.ghw-rail__btn:hover:not(:disabled),
.ghw-rail__btn:focus-visible {
	border-color: transparent;
	background: var(--ghw-gradient);
	color: var(--ghw-ground);
}

.ghw-rail__btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.ghw-rail__track {
	display: grid;
	grid-auto-columns: minmax(230px, calc((100% - 66px) / 4));
	grid-auto-flow: column;
	gap: 22px;
	margin: 0;
	padding: 4px 2px 18px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	list-style: none;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.ghw-rail__track::-webkit-scrollbar {
	display: none;
}

.ghw-rail__item {
	scroll-snap-align: start;
}

/* ========== Product cards (Hash rail and "Shop by type") ==========
   The whole photo in a 3:4 frame, with nothing laid over it: tall phone photos fill the frame,
   square product shots sit whole inside it on a matching dark ground. */

.ghw-pcard {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.ghw-pcard__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: var(--ghw-r-md);
	background: linear-gradient(180deg, #17130e, #0b0907);
	box-shadow: 0 26px 50px -32px rgba(0, 0, 0, 0.95);
}

.ghw-pcard__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.ghw-pcard--square .ghw-pcard__media img {
	object-fit: contain;
}

/* On hover only: a thin gold edge and a slight lift of the photo. */
.ghw-pcard__media::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px transparent;
	transition: box-shadow 0.3s ease;
	pointer-events: none;
}

.ghw-pcard:hover .ghw-pcard__media::after {
	box-shadow: inset 0 0 0 1px var(--ghw-gold-line), inset 0 -60px 60px -60px rgba(212, 175, 55, 0.35);
}

.ghw-pcard:hover .ghw-pcard__media img {
	transform: scale(1.03);
}

.ghw-pcard__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 6px;
	padding: 14px 2px 0;
}

.ghw-pcard__meta {
	min-height: 1em;
	font-family: var(--ghw-mono);
	font-size: 10.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ghw-gold-text);
}

.ghw-pcard__title {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	font-family: var(--ghw-display);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.ghw-pcard__title a {
	color: var(--ghw-ink);
}

.ghw-pcard__title a:hover {
	color: var(--ghw-gold-light);
}

.ghw-pcard__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 10px;
}

.ghw-pcard__price {
	font-family: var(--ghw-mono);
	font-size: 13px;
	color: var(--ghw-gold-light);
}

.ghw-pcard__price del {
	opacity: 0.5;
}

.ghw-pcard__price ins {
	text-decoration: none;
}

.ghw-pcard__add {
	display: grid;
	flex: none;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--ghw-gradient);
	font-size: 20px;
	line-height: 1;
	color: var(--ghw-ground);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ghw-pcard__add--options {
	border: 1px solid var(--ghw-gold-line);
	background: transparent;
	font-size: 16px;
	color: var(--ghw-gold-light);
}

.ghw-pcard__add:hover,
.ghw-pcard__add:focus-visible {
	color: var(--ghw-ground);
	box-shadow: var(--ghw-glow);
	transform: rotate(90deg);
}

.ghw-pcard__add--options:hover,
.ghw-pcard__add--options:focus-visible {
	background: var(--ghw-gradient);
	transform: translateX(3px);
}

.ghw-pcard__add.loading {
	opacity: 0.6;
}

.ghw-rail .added_to_cart,
.ghw-shelf .added_to_cart {
	display: none;
}

.ghw-rail__progress {
	height: 2px;
	margin-top: 10px;
	overflow: hidden;
	border-radius: 2px;
	background: var(--ghw-line);
}

.ghw-rail__progress span {
	display: block;
	height: 100%;
	background: var(--ghw-gradient);
	transform: scaleX(0.12);
	transform-origin: left;
	transition: transform 0.2s ease;
}

/* ========== Native Elementor widgets (tools/build/w8-pages.php) ==========
   Headings, text, buttons and photos are ordinary Elementor widgets, so they can be edited in
   Elementor; these classes give them the site's look. */

/* Woodmart 7.1 makes text widgets a flex row (meant for Elementor's old inner wrapper). With
   Elementor's optimized markup the paragraphs themselves would sit side by side, so: block.
   Alignment still comes from Woodmart's "Content align" (text-left/center/right classes). */
.elementor-widget-text-editor {
	display: block;
}

.elementor-widget.ghw-w-eyebrow:not(:last-child) {
	margin-block-end: 16px;
}

.ghw-w-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 8px 14px 8px 10px;
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
	background: var(--ghw-glass);
	font-family: var(--ghw-mono);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ghw-gold-text);
}

.ghw-w-eyebrow .elementor-heading-title::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ghw-gradient);
	box-shadow: 0 0 12px 2px rgba(212, 175, 55, 0.6);
}

.ghw-heading .elementor-heading-title {
	margin: 0;
}

.ghw-w-link .elementor-heading-title a {
	padding-bottom: 4px;
	border-bottom: 1px solid var(--ghw-gold-line);
	font-family: var(--ghw-mono);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ghw-gold-text);
}

.ghw-w-link .elementor-heading-title a::after {
	content: " \2192";
	display: inline-block;
	transition: transform 0.2s ease;
}

.ghw-w-link .elementor-heading-title a:hover {
	color: var(--ghw-gold-light);
}

.ghw-w-link .elementor-heading-title a:hover::after {
	transform: translateX(4px);
}

.ghw-w-lead p {
	margin: 0;
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	line-height: 1.6;
	color: rgba(246, 241, 231, 0.86);
}

.ghw-w-body p {
	color: rgba(246, 241, 231, 0.82);
}

.ghw-w-body p:last-child {
	margin-bottom: 0;
}

.ghw-channel__value--email {
	font-family: inherit;
	font-size: 14px;
	overflow-wrap: anywhere;
}

/* Buttons: gold pill, or glass pill (--ghost); side by side. */
.elementor-widget.ghw-w-btn {
	margin-inline-end: 10px;
	margin-block-end: 10px;
}

.elementor-widget-button.ghw-w-btn .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 26px;
	border: 0;
	border-radius: 999px;
	background: var(--ghw-gradient);
	box-shadow: inset 0 0 0 1px rgba(255, 244, 196, 0.35);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ghw-ground);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.elementor-widget-button.ghw-w-btn .elementor-button:hover,
.elementor-widget-button.ghw-w-btn .elementor-button:focus-visible {
	transform: translateY(-2px);
	box-shadow: inset 0 0 0 1px rgba(255, 244, 196, 0.5), var(--ghw-glow);
	color: var(--ghw-ground);
}

.elementor-widget-button.ghw-w-btn--ghost .elementor-button {
	border: 1px solid var(--ghw-line);
	background: var(--ghw-glass);
	box-shadow: none;
	color: var(--ghw-ink);
	backdrop-filter: blur(12px);
}

.elementor-widget-button.ghw-w-btn--ghost .elementor-button:hover,
.elementor-widget-button.ghw-w-btn--ghost .elementor-button:focus-visible {
	border-color: var(--ghw-gold-line);
	background: var(--ghw-glass-strong);
	box-shadow: none;
	color: var(--ghw-ink);
}

/* Section heads: eyebrow and title on the left, the "see all" link on the right. */
.ghw-head-s {
	margin-bottom: 28px;
}

/* Arch-topped photo with a ring behind it; the caption floats as a chip. */
.ghw-w-arch {
	position: relative;
	max-width: 480px;
	margin-inline: auto;
	isolation: isolate;
}

.ghw-w-arch::before {
	content: "";
	position: absolute;
	top: -18px;
	right: -18px;
	z-index: -1;
	width: 140px;
	height: 140px;
	border: 1px solid var(--ghw-gold-line);
	border-radius: 50%;
}

.ghw-w-arch figure {
	position: relative;
	margin: 0;
}

.ghw-w-arch img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border: 1px solid var(--ghw-line);
	border-radius: 999px 999px var(--ghw-r-lg) var(--ghw-r-lg);
}

.ghw-w-arch figcaption {
	position: absolute;
	bottom: 20px;
	left: 50%;
	margin: 0;
	padding: 10px 16px;
	border: 1px solid var(--ghw-gold-line);
	border-radius: 999px;
	background: rgba(10, 9, 8, 0.75);
	backdrop-filter: blur(10px);
	font-family: var(--ghw-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--ghw-gold-light);
	transform: translateX(-50%);
}

.ghw-w-capsule img {
	width: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	border: 1px solid var(--ghw-line);
	border-radius: 999px;
}

/* Field guide: the intro stays in view while the list scrolls. */
.ghw-col-sticky .elementor-widget-wrap {
	position: sticky;
	top: 110px;
	align-self: flex-start;
}

/* Contact intro: a gold orb behind the centered text. */
.ghw-contact-hero-s {
	isolation: isolate;
}

.ghw-contact-hero-s::before,
.ghw-contact-hero-s::after {
	content: "";
	position: absolute;
	top: 55%;
	left: 50%;
	z-index: -1;
	border-radius: 50%;
	translate: -50% -50%;
	pointer-events: none;
}

.ghw-contact-hero-s::before {
	width: 420px;
	height: 420px;
	border: 1px solid var(--ghw-gold-line);
	background: radial-gradient(circle, rgba(212, 175, 55, 0.14), transparent 65%);
}

.ghw-contact-hero-s::after {
	width: 476px;
	height: 476px;
	border: 1px dashed rgba(243, 215, 122, 0.25);
	animation: ghw-spin 70s linear infinite;
}

@media (max-width: 1024px) {
	.ghw-col-sticky .elementor-widget-wrap {
		position: static;
	}
}

@media (max-width: 767px) {
	.ghw-head-s {
		margin-bottom: 20px;
	}

	.ghw-head-s .ghw-w-link {
		margin-top: 12px;
	}

	/* Events: photo first, then the text, centered. */
	.ghw-event-text .elementor-widget-wrap {
		justify-content: center;
		text-align: center;
	}

	.ghw-w-arch {
		max-width: 86%;
	}

	.ghw-contact-hero-s::before {
		width: 300px;
		height: 300px;
	}

	.ghw-contact-hero-s::after {
		width: 340px;
		height: 340px;
	}
}

/* ========== Product page copy (tools/build/z3-render.php layout) ==========
   Intro, an "at a glance" spec list, a profile section and "Good to know" links. */

.single-product .woocommerce-Tabs-panel--description {
	max-width: 860px;
}

.single-product .woocommerce-Tabs-panel--description p {
	color: rgba(246, 241, 231, 0.84);
	line-height: 1.7;
}

.single-product .woocommerce-Tabs-panel--description h2 {
	margin: 34px 0 14px;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.single-product .woocommerce-Tabs-panel--description a {
	color: var(--ghw-gold-light);
	text-decoration: underline;
	text-decoration-color: var(--ghw-gold-line);
	text-underline-offset: 3px;
}

.single-product .woocommerce-Tabs-panel--description a:hover {
	text-decoration-color: var(--ghw-gold-light);
}

/* The spec list: label on the left, value on the right, thin dividers. */
.ghw-specs {
	margin: 0 0 8px;
	padding: 0;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-md);
	background: var(--ghw-glass);
	list-style: none;
	overflow: hidden;
}

.ghw-specs li {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
	gap: 16px;
	margin: 0;
	padding: 13px 20px;
	border-top: 1px solid var(--ghw-line);
	color: var(--ghw-ink);
	line-height: 1.55;
}

.ghw-specs li:first-child {
	border-top: 0;
}

.ghw-specs strong {
	font-family: var(--ghw-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ghw-gold-text);
	padding-top: 3px;
}

/* Short description beside the price. */
.single-product .woocommerce-product-details__short-description p {
	margin-bottom: 14px;
	font-size: 1.05rem;
	line-height: 1.6;
	color: rgba(246, 241, 231, 0.88);
}

@media (max-width: 767px) {
	.ghw-specs li {
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
		padding: 12px 16px;
	}
}

/* ========== Category landing copy (under the products) ========== */

.ghw-cat-copy {
	max-width: 820px;
	margin: 60px 0 10px;
	padding-top: 40px;
	border-top: 1px solid var(--ghw-line);
	color: rgba(246, 241, 231, 0.82);
}

.ghw-cat-copy h2 {
	margin: 0 0 14px;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	line-height: 1.15;
}

.ghw-cat-copy h3 {
	margin: 28px 0 10px;
	font-size: 1.1rem;
}

.ghw-cat-copy ul {
	margin: 0 0 16px;
	padding-left: 20px;
}

.ghw-cat-copy li {
	margin-bottom: 6px;
}

.ghw-cat-copy a {
	color: var(--ghw-gold-light);
	text-decoration: underline;
	text-decoration-color: var(--ghw-gold-line);
	text-underline-offset: 3px;
}

.ghw-cat-copy a:hover {
	text-decoration-color: var(--ghw-gold-light);
}

/* ========== Homepage categories: six even 3:4 tiles, the name in a gold pill ========== */

.ghw-home-cats .category-image-wrapp img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.ghw-home-cats .category-grid-item:hover .category-image-wrapp img {
	transform: scale(1.04);
}

.ghw-home-cats .cat-design-replace-title .wd-entities-title {
	padding: 9px 16px;
	border-radius: 999px;
	font-size: 12px;
	letter-spacing: 0.04em;
	white-space: nowrap;
	box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.8);
}

.ghw-home-cats .wd-entities-title .count {
	display: none;
}

/* ========== Shop by type (homepage, [ghw_product_tabs]) ==========
   A menu board on the left (type, dotted leader, count), the newest drops of the chosen type on
   the right, all in one glass panel. On tablets and phones the types become a row of pills. */

.ghw-shelf {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 44px;
	padding: 34px;
	border: 1px solid var(--ghw-line);
	border-radius: var(--ghw-r-lg);
	background:
		radial-gradient(ellipse at 0% 0%, rgba(212, 175, 55, 0.1), transparent 55%),
		linear-gradient(180deg, rgba(255, 246, 222, 0.04), rgba(255, 246, 222, 0.01));
}

.ghw-shelf__nav {
	position: sticky;
	top: 110px;
	align-self: start;
}

.ghw-shelf__nav-label {
	margin: 0 0 6px;
	font-family: var(--ghw-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ghw-muted);
}

.ghw-shelf__tabs {
	display: flex;
	flex-direction: column;
}

.ghw-shelf__tab {
	position: relative;
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 13px 0 13px 18px;
	border-bottom: 1px solid var(--ghw-line);
	font-family: var(--ghw-display);
	font-size: 14px;
	font-weight: 500;
	color: var(--ghw-muted);
	transition: color 0.2s ease;
}

.ghw-shelf__tab::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 7px;
	height: 7px;
	margin-top: -3.5px;
	border: 1px solid var(--ghw-gold-line);
	border-radius: 50%;
	transition: background 0.2s ease, box-shadow 0.2s ease;
}

.ghw-shelf__tab-dots {
	flex: 1;
	min-width: 16px;
	border-bottom: 1px dotted rgba(243, 215, 122, 0.28);
}

.ghw-shelf__tab-count {
	font-family: var(--ghw-mono);
	font-size: 12px;
	color: var(--ghw-gold-text);
}

.ghw-shelf__tab:hover,
.ghw-shelf__tab[aria-selected="true"] {
	color: var(--ghw-ink);
}

.ghw-shelf__tab[aria-selected="true"]::before {
	border-color: transparent;
	background: var(--ghw-gradient);
	box-shadow: 0 0 12px 2px rgba(212, 175, 55, 0.6);
}

.ghw-shelf__intro {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px 20px;
	margin-bottom: 22px;
}

.ghw-shelf__intro p {
	margin: 0;
	color: var(--ghw-muted);
}

.ghw-shelf__intro strong {
	font-weight: 600;
	color: var(--ghw-ink);
}

.ghw-shelf__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ghw-shelf__grid > li {
	margin: 0;
}

.ghw-shelf__panel:not([hidden]) {
	animation: ghw-shelf-in 0.4s ease;
}

@keyframes ghw-shelf-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
}

@media (max-width: 1024px) {
	.ghw-shelf {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
		padding: 24px;
	}

	.ghw-shelf__nav {
		position: static;
	}

	.ghw-shelf__nav-label {
		display: none;
	}

	/* The types as a swipeable row of pills. */
	.ghw-shelf__tabs {
		flex-direction: row;
		gap: 8px;
		margin-inline: -24px;
		padding: 0 24px 4px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.ghw-shelf__tabs::-webkit-scrollbar {
		display: none;
	}

	.ghw-shelf__tab {
		flex: none;
		align-items: center;
		padding: 9px 14px;
		border: 1px solid var(--ghw-line);
		border-radius: 999px;
		background: var(--ghw-glass);
		font-size: 13px;
	}

	.ghw-shelf__tab::before,
	.ghw-shelf__tab-dots {
		display: none;
	}

	.ghw-shelf__tab[aria-selected="true"] {
		border-color: transparent;
		background: var(--ghw-gradient);
		color: var(--ghw-ground);
	}

	.ghw-shelf__tab[aria-selected="true"] .ghw-shelf__tab-count {
		color: rgba(10, 9, 8, 0.7);
	}
}

@media (max-width: 767px) {
	.ghw-shelf {
		margin-inline: -5px;
		padding: 20px 16px;
		border-radius: var(--ghw-r-md);
	}

	.ghw-shelf__tabs {
		margin-inline: -16px;
		padding-inline: 16px;
	}

	.ghw-shelf__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 12px;
	}

	/* Six per type on phones: three even rows. */
	.ghw-shelf__grid > li:nth-child(n + 7) {
		display: none;
	}

	.ghw-pcard__title {
		font-size: 13px;
	}

	.ghw-pcard__add {
		width: 36px;
		height: 36px;
	}
}

/* ========== Field guide (homepage writing section) ==========
   The intro stays in view on the left while the types scroll by on the right. */

.ghw-primer {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 64px;
}

.ghw-primer__intro {
	position: sticky;
	top: 110px;
	align-self: start;
}

.ghw-primer__intro p {
	color: rgba(246, 241, 231, 0.82);
}

.ghw-primer__list {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--ghw-line);
	list-style: none;
}

.ghw-primer__item {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 6px 28px;
	margin: 0;
	padding: 24px 0;
	border-bottom: 1px solid var(--ghw-line);
}

.ghw-primer__item h3 {
	margin: 0;
	font-size: 17px;
	line-height: 1.3;
}

.ghw-primer__item h3 a {
	color: var(--ghw-ink);
}

.ghw-primer__item h3 a:hover {
	color: var(--ghw-gold-light);
}

.ghw-primer__item p {
	margin: 0 0 10px;
	color: var(--ghw-muted);
}

.ghw-primer__links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
}

.ghw-primer__more {
	margin-top: 26px;
	color: var(--ghw-muted);
}

@media (max-width: 1024px) {
	.ghw-primer {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.ghw-primer__intro {
		position: static;
	}
}

@media (max-width: 767px) {
	.ghw-primer__item {
		grid-template-columns: minmax(0, 1fr);
		padding: 20px 0;
	}
}

/* ========== The menu page ([ghw_menu_board]): every drop as a line, like a coffeeshop board ========== */

.ghw-board__jump .ghw-pills {
	margin-top: 0;
}

.ghw-board__cat {
	padding-top: 60px;
	scroll-margin-top: 110px;
}

.ghw-board__cat-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 10px 24px;
	margin-bottom: 30px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--ghw-gold-line);
}

.ghw-board__cat-head h2.ghw-heading {
	margin: 0;
}

.ghw-board__cat-head p {
	grid-column: 1;
	max-width: 720px;
	margin: 0;
	color: var(--ghw-muted);
}

.ghw-board__cat-head .ghw-link-arrow {
	grid-row: 1 / span 2;
	grid-column: 2;
}

.ghw-board__group + .ghw-board__group {
	margin-top: 34px;
}

.ghw-board__group-title {
	margin: 0 0 8px;
	font-family: var(--ghw-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ghw-board__group-title a {
	color: var(--ghw-gold-text);
}

.ghw-board__group-title a:hover {
	color: var(--ghw-gold-light);
}

.ghw-board__list {
	margin: 0;
	padding: 0;
	list-style: none;
	columns: 2 340px;
	column-gap: 60px;
}

.ghw-board__list li {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0;
	padding: 8px 0;
	break-inside: avoid;
}

.ghw-board__list a {
	color: var(--ghw-ink);
}

.ghw-board__list a:hover {
	color: var(--ghw-gold-light);
}

.ghw-board__dots {
	flex: 1;
	min-width: 20px;
	border-bottom: 1px dotted rgba(243, 215, 122, 0.28);
}

.ghw-board__price {
	font-family: var(--ghw-mono);
	font-size: 13px;
	white-space: nowrap;
	color: var(--ghw-gold-light);
}

.ghw-board__price del {
	opacity: 0.5;
}

@media (max-width: 767px) {
	.ghw-board__cat {
		padding-top: 44px;
	}

	.ghw-board__cat-head {
		grid-template-columns: minmax(0, 1fr);
	}

	.ghw-board__cat-head .ghw-link-arrow {
		grid-row: auto;
		grid-column: 1;
		justify-self: start;
	}
}

/* ========== Events (Mary Jane Berlin) ========== */

.ghw-event {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: 60px;
}

.ghw-event__media {
	order: 2;
}

/* ========== Why HEADS: four pillars on a gold line ========== */

.ghw-center {
	display: flex;
	margin-inline: auto;
}

.ghw-pillars {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
	margin-top: 26px;
}

/* The line runs through the middle of the icon rings. */
.ghw-pillars::before {
	content: "";
	position: absolute;
	top: 36px;
	right: 12%;
	left: 12%;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--ghw-gold-line) 15%, var(--ghw-gold-line) 85%, transparent);
}

.ghw-pillar {
	position: relative;
	text-align: center;
}

.ghw-pillar__icon {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	margin: 0 auto 22px;
	border: 1px solid var(--ghw-gold-line);
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, rgba(243, 215, 122, 0.25), #0d0b09 70%);
	color: var(--ghw-gold-light);
	box-shadow: 0 0 0 10px var(--ghw-ground), 0 0 44px -6px rgba(212, 175, 55, 0.55);
	animation: ghw-float 6s ease-in-out infinite;
	transition: border-color 0.3s ease, transform 0.3s ease;
}

.ghw-pillar:nth-child(2) .ghw-pillar__icon { animation-delay: -1.5s; }
.ghw-pillar:nth-child(3) .ghw-pillar__icon { animation-delay: -3s; }
.ghw-pillar:nth-child(4) .ghw-pillar__icon { animation-delay: -4.5s; }

.ghw-pillar:hover .ghw-pillar__icon {
	border-color: var(--ghw-gold-light);
}

.ghw-pillar__no {
	display: block;
	margin-bottom: 8px;
	font-family: var(--ghw-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	color: var(--ghw-gold-text);
}

.ghw-pillar h3 {
	margin: 0 0 10px;
	font-family: var(--ghw-display);
	font-size: 18px;
}

.ghw-pillar p {
	max-width: 28ch;
	margin: 0 auto;
	font-size: 15px;
	color: var(--ghw-muted);
}

@media (min-width: 768px) and (max-width: 1024px) {
	.ghw-pillars {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 44px;
	}

	.ghw-pillars::before {
		display: none;
	}
}

/* Phones: a vertical timeline, icons on the line at the left. */
@media (max-width: 767px) {
	.ghw-pillars {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.ghw-pillars::before {
		top: 30px;
		bottom: 30px;
		left: 28px;
		right: auto;
		width: 1px;
		height: auto;
		background: linear-gradient(180deg, transparent, var(--ghw-gold-line) 10%, var(--ghw-gold-line) 90%, transparent);
	}

	.ghw-pillar {
		display: grid;
		grid-template-columns: 56px minmax(0, 1fr);
		column-gap: 18px;
		text-align: left;
	}

	.ghw-pillar__icon {
		grid-row: span 3;
		width: 56px;
		height: 56px;
		margin: 0;
	}

	.ghw-pillar__icon svg {
		width: 24px;
		height: 24px;
	}

	.ghw-pillar p {
		margin: 0;
	}
}

/* ========== Page titles (shop, categories): dark ground, gold glow and rings ========== */

.page-title.page-title-default {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--ghw-line);
	background: radial-gradient(ellipse at 50% 130%, rgba(212, 175, 55, 0.24), transparent 60%), radial-gradient(circle at 12% 18%, rgba(212, 175, 55, 0.1), transparent 30%), var(--ghw-ground) !important;
}

.page-title.page-title-default::before,
.page-title.page-title-default::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.page-title.page-title-default::before {
	top: -280px;
	right: -140px;
	width: 540px;
	height: 540px;
	border: 1px solid var(--ghw-gold-line);
	opacity: 0.6;
}

.page-title.page-title-default::after {
	bottom: -220px;
	left: -120px;
	width: 380px;
	height: 380px;
	border: 1px dashed rgba(243, 215, 122, 0.25);
	animation: ghw-spin 90s linear infinite;
}

.page-title.page-title-default > .container {
	position: relative;
	z-index: 1;
}

/* ========== Shop: categories under the title (a bar on desktop, a dropdown on phones) ========== */

@media (min-width: 1025px) {
	.title-shop .wd-nav-product-cat {
		justify-content: center;
		gap: 10px;
		margin-top: 26px;
	}

	.title-shop .wd-nav-product-cat > li > a {
		padding: 10px 20px;
		border: 1px solid var(--ghw-line);
		border-radius: 999px;
		background: var(--ghw-glass);
		transition: border-color 0.2s ease, background 0.2s ease;
	}

	.title-shop .wd-nav-product-cat > li > a:hover,
	.title-shop .wd-nav-product-cat > li.wd-active > a,
	.title-shop .wd-nav-product-cat > li.current-cat > a {
		border-color: var(--ghw-gold-line);
		background: var(--ghw-glass-strong);
	}

	.title-shop .wd-nav-product-cat .nav-link-summary {
		flex-direction: row;
		align-items: baseline;
		gap: 8px;
	}

	.title-shop .wd-nav-product-cat .nav-link-text {
		font-size: 14px;
		text-transform: none;
		color: var(--ghw-ink);
	}

	.title-shop .wd-nav-product-cat .nav-link-text::after {
		display: none;
	}

	.title-shop .wd-nav-product-cat .nav-link-count {
		font-family: var(--ghw-mono);
		font-size: 10px;
		color: var(--ghw-gold-text);
	}

	.title-shop .wd-nav-product-cat .wd-dropdown {
		border: 1px solid var(--ghw-line);
		border-radius: var(--ghw-r-md);
		background: rgba(14, 12, 10, 0.97);
	}
}

@media (max-width: 1024px) {
	.title-shop .wd-btn-show-cat > a {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		margin-top: 16px;
		padding: 12px 22px;
		border: 1px solid var(--ghw-gold-line);
		border-radius: 999px;
		background: var(--ghw-glass);
		font-size: 13px;
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--ghw-ink);
	}

	.title-shop .wd-nav-product-cat {
		margin-top: 14px;
		padding: 8px 0;
		border: 1px solid var(--ghw-line);
		border-radius: var(--ghw-r-md);
		background: rgba(14, 12, 10, 0.96);
		text-align: left;
	}

	.title-shop .wd-nav-product-cat .category-nav-link {
		padding: 12px 20px;
	}

	.title-shop .wd-nav-product-cat .nav-link-text {
		font-family: var(--ghw-display);
		font-size: 15px;
		text-transform: none;
	}

	.title-shop .wd-nav-product-cat .nav-link-count {
		font-family: var(--ghw-mono);
		font-size: 11px;
		color: var(--ghw-gold-text);
	}

	.title-shop .wd-nav-product-cat .wd-sub-menu .nav-link-text {
		font-family: inherit;
		color: var(--ghw-muted);
	}
}

/* ========== Tablet and phone ========== */

@media (max-width: 1024px) {
	.ghw-channels {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ghw-rail__track {
		grid-auto-columns: 42%;
	}
}

@media (max-width: 767px) {
	.ghw-about-hero > .elementor-container {
		flex-direction: column-reverse;
	}

	.ghw-about-hero,
	.ghw-contact-hero {
		text-align: center;
	}

	.ghw-about-hero .ghw-eyebrow {
		margin-inline: auto;
	}

	.ghw-about-hero .ghw-facts {
		justify-content: center;
	}

	.ghw-orbit {
		width: 78vw;
		margin-bottom: 8px;
	}

	.elementor-section.ghw-about-astro,
	.elementor-section.ghw-about-stash,
	.elementor-section.ghw-about-name {
		padding-top: 44px !important;
	}

	.ghw-arch-frame {
		max-width: 86%;
		margin-bottom: 20px;
	}

	.ghw-shapes {
		display: flex;
		gap: 14px;
		margin-inline: -15px;
		padding: 6px 15px 18px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.ghw-shapes::-webkit-scrollbar {
		display: none;
	}

	.ghw-shape {
		flex: 0 0 64%;
		scroll-snap-align: center;
	}

	.ghw-capsule {
		margin-top: 20px;
	}

	.ghw-duo,
	.ghw-channels {
		grid-template-columns: 1fr;
	}

	.ghw-contact-hero__orb {
		width: 300px;
		height: 300px;
	}

	.ghw-form-panel {
		padding: 24px 18px;
	}

	.ghw-section-head {
		margin-bottom: 20px;
	}

	/* Rail: swipe, with the next card peeking in; no arrows. */
	.ghw-rail__track {
		grid-auto-columns: 74%;
		gap: 14px;
		margin-inline: -15px;
		padding-inline: 15px;
		scroll-padding-inline: 15px;
	}

	.ghw-rail__btn {
		display: none;
	}

	.ghw-rail__controls .ghw-link-arrow {
		margin-right: 0;
	}

	/* Events: one column, photo first, then the text. */
	.ghw-event {
		grid-template-columns: 1fr;
		gap: 28px;
		text-align: center;
	}

	.ghw-event__media {
		order: 0;
		width: 86%;
	}

	.ghw-event .ghw-eyebrow {
		margin-inline: auto;
	}

	.ghw-event .ghw-actions {
		justify-content: center;
	}
}

/* Registration: the drop-list opt-in sits with the form's other checkboxes. */
.ghw-register-optin label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 14px;
	color: var(--ghw-muted);
}

.ghw-register-optin input {
	margin-top: 4px;
	accent-color: var(--ghw-gold);
}

/* ========== Motion preferences ========== */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}
}
