/* ==========================================================================
HIKE NWA — Customizer Additional CSS
==========================================================================
Table of Contents
1.  Custom Properties (CSS Variables)
2.  Base & Global
3.  Navigation
4.  Layout
5.  Shared Page Components
6.  Difficulty Levels & Legend
7.  Route Cards
8.  Trailhead Pages
9.  Browse Routes & Filter Form
10. Hike Event Generator
11. Modal
12. Responsive / Mobile
13. Moved from Templates (zone nav, footer, search-again, 404, legend links)
========================================================================== */
/* --------------------------------------------------------------------------
1. Custom Properties (CSS Variables)
-------------------------------------------------------------------------- */
:root {
	--hikenwa-accent: #3e5c1e;
	--hikenwa-accent-light: #ffac08;

	/* ------------------------------------------------------------------
	   HOUSE RULE - WHITE BOXES ALWAYS USE THE DOUBLE SHADOW
	   Every white content box on this site (cards, panels, route cards,
	   filter boxes, intro boxes) carries the same two-layer shadow: a
	   tight layer for the edge and a wide layer for the lift, and NO border
	   - the shadow does the work of separating the box from the page.
	   When you add ANY new white box anywhere on the site, add its class
	   to the shared selector list under "STANDARD CONTENT-CARD SHADOW"
	   near the bottom of this file. Do NOT write a new box-shadow value,
	   and do NOT use the old single-layer "1px 1px 5px #eee".
	   ------------------------------------------------------------------ */
	--hikenwa-card-shadow: 0 1px 2px rgba(0,0,0,0.05), 0 5px 14px rgba(0,0,0,0.09);

	/* Dark bars/heroes on a light background use a tighter, stronger pair.
	   Only for DARK boxes - never for white ones. */
	--hikenwa-bar-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 4px 12px rgba(0,0,0,0.16);
}

/* --------------------------------------------------------------------------
2. Base & Global
-------------------------------------------------------------------------- */
/* Solid header once the user scrolls past the hero */
html:not([data-scroll="0"]) .site-header {
	background-color: rgba(1, 1, 1, 1);
}

/* Hero-page header — semi-transparent overlay on the background image */
.featured-section .site-header {
	background-color: rgba(1, 1, 1, 1);
}

.featured-section .site-header>.wrap {
	border: none;
}

/* overflow:hidden clips the bg-image cleanly on the footer;
kept off the site-header so the theme's position:fixed sticky
behaviour isn't interfered with. */
.site-footer {
	background: #111;
	position: relative;
	overflow: hidden;
}

.site-footer p {
	text-transform: none;
	color: #999;
	letter-spacing: 0;
	font-size: 12px;
	font-style: normal;
	padding-bottom: 20px;
}

.site-footer nav {
	margin-bottom: 50px;
}

.nav-footer .genesis-nav-menu .menu-item {
	text-align: center;
}

/* Body text */
body p,
.site-inner ul,
.site-inner ol {
	font-size: 16px;
	line-height: 1.6;
}

.site-inner p,
.site-inner ul,
.site-inner ol {
	margin-bottom: 20px;
}

.site-inner li {
	margin-bottom: 10px;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 800;
	letter-spacing: -.5px;
}

h1.entry-title,
h1.hikenwa-page-title {
	font-weight: 800;
	text-align: center;
	letter-spacing: -1px;
	font-size: 50px;
	margin: 20px 0 14px;
	line-height: 1;
}

h2 {
	font-size: 40px;
}

.front-page-1 .widget:first-of-type h4 {
	font-weight: 800;
	letter-spacing: -1px;
}

.homeTag {
	font-size: 24px;
	margin: 0 auto 30px;
	max-width: 650px;
	font-family: "Libre Baskerville", serif;
	font-style: normal;
	font-weight: normal;
}

/* Links */
a {
	font-weight: bold;
}

.content a {
	color: #3e5c1e;
	border-bottom: 2px dotted #3e5c1e;
}

.content a:hover {
	color: #ffac08;
	border-bottom: 2px dotted #ffac08;
}

/* --------------------------------------------------------------------------
3. Navigation
-------------------------------------------------------------------------- */
nav .genesis-nav-menu a {
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
	line-height: 1.1;
	font-weight: 600;
}

/* Underline indicator for current and hovered nav items */
.front-page .genesis-nav-menu li.current-menu-item>a,
.genesis-nav-menu>li>a {
	border-bottom: 5px solid transparent;
}

.front-page .genesis-nav-menu li.current-menu-item>a:focus,
.front-page .genesis-nav-menu li.current-menu-item>a:hover,
.genesis-nav-menu li.current-menu-item>a,
.genesis-nav-menu>li>a:focus,
.genesis-nav-menu>li>a:hover {
	border-color: #ffac08;
	border-width: 0 0 5px 0;
}

/* Down chevron (Font Awesome) for nav items that have a submenu */
.genesis-nav-menu .menu-item:has(> .sub-menu)>a::after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f107";
	display: inline-block;
	margin-left: 6px;
	font-size: 0.65em;
	vertical-align: middle;
	/* fa-angle-down */
}

/* Right-pointing angle for nested submenu parents (fly-outs open to the right) */
.genesis-nav-menu .sub-menu .menu-item:has(> .sub-menu)>a::after {
	content: "\f105";
	/* fa-angle-right */
}

/* Allow dropdown to extend beyond the header — overflow:hidden clips
position:absolute sub-menus on the home page. */
.header-full-width.featured-section .site-header,
.featured-section .site-header {
	overflow: visible;
}

/* Bridge the hover gap: an invisible pseudo-element above the dropdown
keeps li:hover alive while the cursor moves downward to the sub-menu. */
.genesis-nav-menu .menu-item:hover>.sub-menu::before,
.genesis-nav-menu .menu-item.sfHover>.sub-menu::before {
	content: '';
	display: block;
	position: absolute;
	top: -12px;
	left: 0;
	right: 0;
	height: 12px;
}

/* --------------------------------------------------------------------------
4. Layout
-------------------------------------------------------------------------- */
.site-inner {
	margin-top: 120px;
	max-width: 800px;
}

.full-width-content .content {
	width: 100%;
	padding: 0 20px 50px;
}

/* --------------------------------------------------------------------------
4.5 Leaflet Map
-------------------------------------------------------------------------- */
.leaflet-pan {
	font-family: "Libre Baskerville", serif;
}

/* --------------------------------------------------------------------------
5. Shared Page Components
-------------------------------------------------------------------------- */
.hikenwa-page {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 20px 80px;
}

/* Decorative rule beneath page titles */
.hikenwa-page-title::after {
	border-bottom: 1px solid #000;
	content: "";
	display: block;
	margin: 0 auto 30px;
	padding-bottom: 30px;
	width: 25%;
}

/* Area (taxonomy) archive pages omit the title rule */
.tax-area .hikenwa-page-title::after,
.tax-trail_system .hikenwa-page-title::after,
.tax-difficulty .hikenwa-page-title::after,
.tax-distance .hikenwa-page-title::after,
.tax-advisory .hikenwa-page-title::after,
.single-trailhead .hikenwa-page-title::after {
	display: none;
}

.hikenwa-page h2 {
	font-size: 36px;
	text-align: center;
	margin: 50px 0 24px;
}

/* Trailhead: breathing room under "Routes starting from this location" */
.single-trailhead .hikenwa-page h2 {
	margin-bottom: 28px;
}

.hikenwa-subtitle {
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	line-height: 1.1;
	color: #111;
}

.site-inner p.hikenwa-trailhead-count,
.site-inner p.route-sorting-desc,
.single-trailhead .hikenwa-page-desc {
	font-size: 14px;
	margin-bottom: 0;
}

.hikenwa-breadcrumb {
	font-size: 12px;
	color: #111;
	margin: 20px 0 16px;
	text-align: center;
	letter-spacing: 4px;
}

.hikenwa-crumb-link {
	color: var(--hikenwa-accent);
	text-decoration: none;
	transition: color 0.15s ease;
	font-size: 12px;
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
}

.hikenwa-crumb-link:hover {
	color: var(--hikenwa-accent-light);
}

.hikenwa-crumb-current {
	color: #767676;
	font-size: 12px;
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
	font-weight: 700;
}

.hikenwa-difficulty-crumbs {
	margin-top: 0;
	letter-spacing: 1px;
}

.hikenwa-hero-photo {
	overflow: hidden;
	height: 340px;
	margin-bottom: 22px;
}

.hikenwa-hero-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hikenwa-hero-photo-placeholder {
	height: 340px;
	margin-bottom: 22px;
	background: #f1efe8;
}

.hikenwa-ts-legend {
	border: 1px solid #ddd;
}

/* --------------------------------------------------------------------------
6. Difficulty Levels & Legend
-------------------------------------------------------------------------- */
/* Level badge pills — used in route cards, filter form, and legend */
.hikenwa-level-badge:hover,
.hikenwa-level-badge:focus {
	background: var(--pill-color, inherit);
	color: #fff;
	border: none;
	opacity: 0.85;
}

/* Level colours */
.hikenwa-level-0 {
	background: #888888;
	--pill-color: #888888;
}

.hikenwa-level-1 {
	background: #328182;
	--pill-color: #328182;
}

.hikenwa-level-2 {
	background: #C0551E;
	--pill-color: #C0551E;
}

.hikenwa-level-3 {
	background: #552040;
	--pill-color: #552040;
}

/* Route-count badge (italic serif, used in filter results header) */
.hikenwa-count-badge {
	font-size: 14px;
	font-family: 'Libre Baskerville', serif;
	padding: 3px 10px;
	font-style: normal;
	white-space: nowrap;
}

/* Difficulty legend — the stacked pill + description rows */
.hikenwa-level-legend {
	margin: 10px 0 32px 25px;
	border: none;
	border-radius: 0;
	padding: 0;
}

.hikenwa-level-legend summary {
	cursor: pointer;
	font-weight: bold;
	font-size: 18px;
	color: #1a1a1a;
}

.hikenwa-level-legend-rows {
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.hikenwa-level-legend-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

/* Badges inside the legend sit left-aligned, not stretched full-width */
.hikenwa-level-legend .hikenwa-level-badge,
.hikenwa-level-legend-rows .hikenwa-level-badge {
	align-self: flex-start;
}

.hikenwa-level-legend-desc {
	font-size: 16px;
	color: #111;
	margin: 0 0 10px;
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
7. Route Cards  (shared across Trailhead, Browse Routes, Generator)
-------------------------------------------------------------------------- */
.hikenwa-route-card {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	border: 0;
	padding: 14px;
}

/* Thumbnail — square on desktop, full-width on mobile */
/* Wider thumbnail used in trailhead archive cards */
.hikenwa-trailhead-card-thumb {
	width: 320px;
	aspect-ratio: 2 / 1;
	flex: 0 0 auto;
	background: #f1efe8;
	overflow: hidden;
}

.hikenwa-trailhead-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hikenwa-route-content {
	font-family: 'Poppins', sans-serif;
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	min-height: 160px;
}

.hikenwa-route-title {
	font-family: 'Poppins', sans-serif;
	font-size: 30px;
	margin: 0 0 5px;
	font-weight: 800;
	letter-spacing: -.5px;
	line-height: 1.1;
}

.hikenwa-route-title .fa-location-dot {
	color: #51752d;
}

.hikenwa-route-title .fa-route {
	color: #ffac08;
	display: none;
}

.hikenwa-route-title-link {
	color: inherit;
	text-decoration: none;
}

.hikenwa-route-title-link:hover {
	color: #666;
}

.site-inner .hikenwa-route-stats {
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	line-height: 1;
	color: #111;
	margin: 3px 0 7px;
	font-weight: 400;
}

.hikenwa-route-stats .route-distance {
	font-weight: bold;
}

.hikenwa-route-note {
	font-family: "Libre Baskerville", serif;
	font-style: normal;
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: 12px;
	line-height: 1.3;
	color: #111;
	margin: 5px 0 4px;
}

.hikenwa-route-note i {
	display: none;
	margin-top: 2px;
	color: #777;
	position: relative;
	font-size: 12px;
}

.hikenwa-route-footer {
	font-family: 'Poppins', sans-serif;
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding-top: 0;
}

.hikenwa-route-footer .fa-location-dot,
.hikenwa-route-footer-actions .fa-location-dot {
	color: #51752d;
	margin-bottom: -1px;
}

.hikenwa-route-footer .fa-route,
.hikenwa-route-footer-actions .fa-route {
	color: #ffac08;
}

.hikenwa-route-footer-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}

.hikenwa-advisory-chip {
	font-family: 'Poppins', sans-serif;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 4px;
	font-size: 12px;
	border-radius: 0;
	font-weight: 500;
}

.hikenwa-advisory-feature {
	color: #111;
	background: #eee;
}

.hikenwa-advisory-caution {
	color: #111;
	background: #eee;
}

.hikenwa-komoot-link {
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	text-decoration: none;
	color: #111;
	border: 1px solid #ddd;
	background: #fff;
	padding: 5px 10px;
	border-radius: 0;
	white-space: nowrap;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.hikenwa-komoot-link:hover {
	color: #fff;
	background: #111;
	border-color: #111;
	transition: color 0.15s ease;
}

/* --------------------------------------------------------------------------
8. Trailhead Pages
-------------------------------------------------------------------------- */
.trailhead-title {
	font-size: 50px;
}

p.hikenwa-page-desc {
	text-align: center;
	font-style: italic;
	font-family: "Libre Baskerville", serif;
}

.single-trailhead .hikenwa-page-desc::after {
	border-bottom: 1px solid #000;
	content: '';
	display: block;
	margin: 0 auto 30px;
	padding-bottom: 30px;
	width: 25%;
}

/* Route count shown on archive/trailhead pages */
.hikenwa-subtitle.hikenwa-trailhead-count {
	font-size: 16px;
	text-align: center;
	font-style: italic;
	font-family: "Libre Baskerville", serif;
}

.hikenwa-trailhead-count::after {
	border-bottom: 1px solid #000;
	content: "";
	display: block;
	margin: 0 auto 30px;
	padding-bottom: 30px;
	width: 25%;
}

.site-inner p.hikenwa-archive-desc {
	font-family: "Libre Baskerville", serif;
	margin: 20px 0;
	line-height: 1.6;
	text-align: center;
}

.site-inner p.route-sorting-desc {
	text-align: center;
	font-family: "Libre Baskerville", serif;
	font-style: italic;
}

/* Facts panel (address, parking, amenities, directions) */
.hikenwa-facts-panel {
	color: #111;
	border-radius: 0;
	margin-bottom: 40px;
}

.hikenwa-facts-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-areas: "address parking amenities""directions . .";
	gap: 10px;
}

.hikenwa-fact-address {
	grid-area: address;
}

.hikenwa-fact-parking {
	grid-area: parking;
}

.hikenwa-fact-amenities {
	grid-area: amenities;
}

.hikenwa-fact-directions {
	grid-area: directions;
}

.hikenwa-fact-card {
	border-radius: 0;
	padding: 10px 0;
}

.hikenwa-fact-card a {
	background: none;
}
.hikenwa-fact-label,
p.hikenwa-fact-label {
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 13px;
	color: #111;
	text-transform: uppercase;
	margin: 0 0 4px;
}

.hikenwa-fact-value {
	font-size: 14px;
	line-height: 1.5;
	color: #111;
	margin: 5px 0 0;
}

/* Directions link inside the facts panel */
.hikenwa-komoot-link.hikenwa-fact-directions {
	border: none;
	padding: 0;
	font-size: 14px;
	color: #3e5c1e;
	letter-spacing: 1px;
}

.hikenwa-komoot-link.hikenwa-fact-directions .fa-arrow-up-right-from-square {
	margin-bottom: -2px;
}

.hikenwa-komoot-link.hikenwa-fact-directions:hover {
	color: #ffac08;
	background: none;
}

/* --------------------------------------------------------------------------
9. Browse Routes & Filter Form
-------------------------------------------------------------------------- */
/* Results wrapper — scroll-margin leaves room for the fixed site header */
#hikenwa-route-results {
	scroll-margin-top: 100px;
}

#hikenwa-route-results .hikenwa-subtitle {
	font-family: 'Libre Baskerville', serif;
	text-align: center;
	font-size: 16px;
	font-style: italic;
}

.routes-jump-link {
	text-align: center;
	padding: 0 0 25px;
}

.back-to-top {
	margin: 40px 0;
	text-align: center;
}

/* Filter box */
.hikenwa-filter-box {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	width: 100%;
	flex: 0 0 100%;
	box-sizing: border-box;
	border: 0;
	padding: 10px 30px 30px;
	margin-bottom: 12px;
	background: #fff;
	box-shadow: 1px 1px 5px #eee;
}

#front-page-5 .image-section button:hover {
	border: none;
}

#front-page-5 .hikenwa-filter-heading {
	margin: 20px 0 0;
}

#front-page-5 .hikenwa-filter-box {
	gap: 4px;
	background-color: rgba(255, 255, 255, 0.8);
	box-shadow: 1px 1px 10px #222;
	/* Blue with 50% opacity */
}

.hikenwa-filter-half {
	flex: 0 0 48%;
}

.hikenwa-filter-full {
	flex: 0 0 100%;
}

.hikenwa-filter-centered {
	flex: 0 0 100%;
	text-align: center;
	margin-top: 6px;
}

/* Filter section headings */
.hikenwa-filter-heading {
	text-align: center;
	color: #111;
	margin: 20px 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
}

.hikenwa-filter-heading-row .hikenwa-filter-heading {
	margin-bottom: 10px;
}

.hikenwa-difficulty-level-heading {
	margin-bottom: 20px;
	line-height: 1.1;
}

.hikenwa-paved-only {
	font-weight: italic;
	font-size: 17px;
	font-style: italic;
}

/* "What do these mean?" legend trigger link */
.trigger-box {
	text-align: center;
	display: block;
	margin-bottom: 20px;
	margin-top: -5px;
}

.hikenwa-filter-heading.trigger-box-heading {
	margin: 0;
	display: block;
}

.hikenwa-legend-link {
	color: #2f73a8;
}

.click-here {
	font-family: "Libre Baskerville", serif;
	font-weight: italic;
	font-size: 17px;
	font-style: italic;
}

/* Distance range slider */
.hikenwa-range-slider {
	position: relative;
	width: 100%;
	height: 20px;
	margin-top: 50px;
	margin-bottom: 10px;
	/* room for the value bubbles above each handle */
}

.hikenwa-range-track {
	position: absolute;
	top: 8px;
	left: 0;
	right: 0;
	height: 4px;
	background: #bbb;
}

.hikenwa-range-fill {
	position: absolute;
	top: 8px;
	height: 4px;
	background: #ffac08;
}

.hikenwa-range-handle {
	position: absolute;
	top: 0;
	width: 20px;
	height: 20px;
	margin-left: -10px;
	border-radius: 50%;
	background: #ffac08;
	border: 2px solid #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	cursor: pointer;
	touch-action: none;
	z-index: 2;
	/* centers the handle on its computed left position */
}

.hikenwa-range-handle:focus {
	outline: 2px solid #111;
	outline-offset: 3px;
}

.hikenwa-slider-bubble {
	position: absolute;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%);
	background: #ffac08;
	color: #111;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 14px;
	padding: 4px 10px;
	white-space: nowrap;
	pointer-events: none;
}

.hikenwa-slider-bubble::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: #ffac08;
}

/* Hidden on desktop; shown as number inputs on mobile (see section 12) */
.hikenwa-distance-number-inputs {
	display: none;
}

.miles {
	font-weight: 700;
}

/* Difficulty filter pills (multi-select checkboxes) */
.hikenwa-level-pills-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 6px;
}

.hikenwa-level-pills label {
	cursor: pointer;
	margin: 0 10px 6px 0;
	opacity: 0.5;
	transition: opacity 0.15s ease, outline 0.15s ease;
}

.hikenwa-level-pills input[type="checkbox"]:checked+label {
	opacity: 1;
	outline: 1px solid var(--pill-color, #111);
	outline-offset: 2px;
}

.hikenwa-level-pills input[type="checkbox"]:disabled:not(:checked)+label {
	opacity: 0.25;
	cursor: not-allowed;
	pointer-events: none;
}

.hikenwa-level-pills input[type="checkbox"]:disabled:checked+label {
	cursor: not-allowed;
	pointer-events: none;
}

/* Primary action button (Find Routes, etc.) */
.hikenwa-btn-primary {
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 600;
	color: #111;
	background: #ffac08;
	border: none;
	letter-spacing: 1px;
	padding: 15px 20px;
	cursor: pointer;
	box-sizing: border-box;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	transform: none;
	box-shadow: none;
}

.hikenwa-btn-primary::after,
.hnwa-hero .button::after,
.arw::after {
	content: '\2192';
	margin-left: 8px;
	position: relative;
	top: -2px;
}

.hikenwa-btn-primary:hover,
.hikenwa-btn-primary:focus {
	background: #111;
	color: #fff;
	border: none;
	transform: none;
	box-shadow: none;
}

/* No-results message */
.hikenwa-no-results {
	text-align: center;
	padding: 30px 20px;
	color: #666;
}

.hikenwa-no-results p {
	margin: 0;
	font-size: 17px;
}

.hikenwa-inline-link {
	color: var(--hikenwa-accent);
	text-decoration: underline;
}

.hikenwa-inline-link:hover {
	color: #111;
}

/* Clear-filters link */
.hikenwa-clear-filters-wrap {
	margin-top: 8px;
}

.hikenwa-clear-filters-link {
	font-size: 13px;
	color: #111;
	text-decoration: none;
	font-style: italic;
}

.hikenwa-clear-filters-link:hover {
	color: var(--hikenwa-accent);
}

/* --------------------------------------------------------------------------
10. Hike Event Generator
-------------------------------------------------------------------------- */
.hikenwa-generator-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 30px;
}

.hikenwa-generator-filters select:disabled {
	background: #f1efe8;
	color: #999;
	cursor: not-allowed;
}

.search-or {
	font-family: 'Poppins', sans-serif;
}

#hikenwa-search-input {
	font-family: 'Libre Baskerville', serif;
	font-size: 16px;
	padding: 12px 16px;
	margin-top: -5px;
}

/* Checkmark badge overlaid on the route thumbnail (top-left corner) */
.hikenwa-choose-route-btn {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
	color: #111;
	font-size: 28px;
	text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
	transition: transform .12s ease;
	padding: 0;
	cursor: pointer;
	z-index: 3;
}

.hikenwa-choose-route-btn:hover,
.hikenwa-choose-route-btn:focus {
	color: #111;
	text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
	transform: scale(1.12);
	background: none;
	border: none;
	box-shadow: none;
}

.hikenwa-choose-route-btn.is-active {
	color: #111;
	text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 4px #fff;
}

.hikenwa-choose-route-btn.is-active:hover,
.hikenwa-choose-route-btn.is-active:focus {
	opacity: 0.85;
}

/* Selected card highlight */
/* Selected route: no outline. It lifts slightly and a yellow arrow ties it
   to the "Create a Facebook hiking event" panel that opens right below. */
.hikenwa-generator-route-card.is-selected {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	border: 0;
	border-bottom: 12px solid #ffac08;
	box-shadow: 0 1px 3px rgba(0,0,0,0.07), 0 7px 18px rgba(0,0,0,0.13);
}

/* Arrow head continues the bottom border, flush with its outer edge, and
   runs long enough to dip ~10px over the top of the panel below.
   bottom = -(arrow height + border width). */
.hikenwa-generator-route-card.is-selected::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -34px;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 17px solid transparent;
	border-right: 17px solid transparent;
	border-top: 22px solid #ffac08;
	z-index: 4;
	pointer-events: none;
}

/* Generated event output */
.hikenwa-generator-output {
	width: 100%;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.4;
	padding: 10px;
	border: 1px solid #ddd;
	margin-bottom: 8px;
	resize: vertical;
}

.site-inner .hikenwa-generated-title {
	padding: 40px 0 0;
	line-height: 1.1;
	clear: both;
	margin: 0px;
	font-size: 24px;
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
}

.step-number {
	color: #ffac08;
	margin-right: 10px;
}

.event-instructions {
	font-family: "Libre Baskerville", serif;
	font-size: 17px;
	font-style: italic;
	margin-top: 5px;
	line-height: 1.4;
	text-transform: none;
	font-weight: italic;
}

#hikenwa-generated-output button {
	margin-bottom: 20px;
}

/* ID selector, so it out-ranks .hikenwa-genblock .hikenwa-generator-output.
   Keep the two in sync - this one is what actually paints. */
#hikenwa-generated-output textarea {
	margin-bottom: 0;
	background: #f2f2f2;
	color: #333;
}

#hikenwa-generated-output .hikenwa-fact-label {
	margin-top: 30px;
}

#hikenwa-event-instructions p {
	margin-bottom: 5px;
}

#hikenwa-event-instructions li {
	list-style-type: square;
}

#hikenwa-event-instructions ul {
	margin: 10px 0 40px 45px;
}

#hikenwa-generated-output h2 {
	text-align: left;
	text-transform: uppercase;
	font-size: 30px;
}

.hikenwa-copy-btn.hikenwa-btn-primary::after {
	display: none;
}

.hikenwa-copy-btn.hikenwa-btn-primary .fa-copy {
	margin-left: 5px;
}

/* --------------------------------------------------------------------------
11. Modal (difficulty legend popup)
-------------------------------------------------------------------------- */
.hikenwa-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 130px 20px 30px;
	z-index: 9999;
}

.hikenwa-modal-box {
	position: relative;
	background: #fff;
	padding: 25px 30px 24px;
	max-width: 500px;
	width: 100%;
	max-height: 80vh;
	overflow-y: auto;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* Inline links inside modals. Modals sit outside .content, so they never
   inherit the standard link style and fall back to the global yellow. */
.hikenwa-modal-box a:not([class]) {
	color: #3e5c1e;
	border-bottom: 2px dotted #3e5c1e;
	text-decoration: none;
}

.hikenwa-modal-box a:not([class]):hover,
.hikenwa-modal-box a:not([class]):focus {
	color: #ffac08;
	border-bottom-color: #ffac08;
}

.hikenwa-modal-box h3 {
	margin-top: 0;
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
	line-height: 1;
	font-weight: 800;
	font-size: 36px;
}

.hikenwa-modal-close {
	position: absolute;
	top: 0;
	right: 0;
	background: none;
	border: none;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	color: #666;
}

.hikenwa-modal-close:hover,
.hikenwa-modal-close:focus {
	color: #111;
	background: none;
	border: none;
}

/* Difficulty Example Clips modal (Getting Started page) — reuses the
   .hikenwa-modal-overlay / .hikenwa-modal-box / .hikenwa-modal-close shell
   above; adds tabs plus a responsive photo/video grid on top of it. */
.hikenwa-examples-tabs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin: 15px 0 32px;
}

@media (max-width: 600px) {
	.hikenwa-examples-tabs {
		grid-template-columns: repeat(2, 1fr);
	}
}

.hikenwa-examples-intro {
	max-width: 640px;
	margin: 0 0 28px;
	font-size: 15px;
	line-height: 1.6;
	color: #444;
	text-align: left;
}

.hikenwa-examples-cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 28px;
}
.hnwa-card .hikenwa-btn-primary {
	color: #111;
	border-bottom: none;
}

.hnwa-card .hikenwa-btn-primary:hover,
.hnwa-card .hikenwa-btn-primary:focus {
	color: #fff;
	border-bottom: none;
}

.hikenwa-examples-tab {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	font-family: "Poppins", sans-serif;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0;
	color: #fff;
	border: 2px solid transparent;
	border-radius: 0;
	padding: 8px 15px;
	cursor: pointer;
	white-space: nowrap;
	opacity: 1;
	transition: border-color .15s;
	--lit: currentColor;
	--dim: color-mix(in srgb, currentColor 30%, transparent);
}

.hikenwa-examples-tab:hover,
.hikenwa-examples-tab:focus {
	border-color: rgba(0, 0, 0, .35);
}

.hikenwa-examples-tab:focus-visible {
	outline: 2px solid #111;
	outline-offset: 2px;
}

.hikenwa-examples-tab.is-active {
	border-color: #333;
}

.hikenwa-examples-tab::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 13px;
	margin-right: 8px;
	vertical-align: -2px;
	background-repeat: no-repeat;
}

.hikenwa-examples-tab[data-tab="paved"] { background: #888888; }
.hikenwa-examples-tab[data-tab="easy"] { background: #328182; }
.hikenwa-examples-tab[data-tab="moderate"] { background: #C0551E; }
.hikenwa-examples-tab[data-tab="challenging"] { background: #552040; }

.hikenwa-examples-tab[data-tab="paved"]::before { background: linear-gradient(to bottom, var(--dim) 0 3px, transparent 3px 5px, var(--dim) 5px 8px, transparent 8px 10px, var(--dim) 10px 13px); }
.hikenwa-examples-tab[data-tab="easy"]::before { background: linear-gradient(to bottom, var(--dim) 0 3px, transparent 3px 5px, var(--dim) 5px 8px, transparent 8px 10px, var(--lit) 10px 13px); }
.hikenwa-examples-tab[data-tab="moderate"]::before { background: linear-gradient(to bottom, var(--dim) 0 3px, transparent 3px 5px, var(--lit) 5px 8px, transparent 8px 10px, var(--lit) 10px 13px); }
.hikenwa-examples-tab[data-tab="challenging"]::before { background: linear-gradient(to bottom, var(--lit) 0 3px, transparent 3px 5px, var(--lit) 5px 8px, transparent 8px 10px, var(--lit) 10px 13px); }

.hikenwa-examples-panel {
	display: none;
}

.hikenwa-examples-panel.is-active {
	display: block;
}

.hikenwa-examples-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.hikenwa-examples-item video,
.hikenwa-examples-item img {
	width: 100%;
	aspect-ratio: 9 / 16;
	object-fit: cover;
	background: #000;
	display: block;
}

.hikenwa-examples-caption {
	margin: 6px 0 0;
	font-size: 13px;
	text-align: center;
	color: #444;
}

/* --------------------------------------------------------------------------
12. Responsive / Mobile
-------------------------------------------------------------------------- */
@media (max-width: 600px) {

	/* -- Layout & containers -- */
	.hikenwa-page {
		padding: 24px 16px 60px;
	}

	.hikenwa-filter-box {
		padding: 16px;
	}

	.hikenwa-filter-half {
		flex-basis: 100%;
	}

	/* -- Typography -- */
	.trailhead-title {
		font-size: 32px;
	}

	.hikenwa-page h2 {
		font-size: 24px;
		margin: 32px 0 16px;
	}

	/* -- Hero photo -- */
	.hikenwa-hero-photo,
	.hikenwa-hero-photo-placeholder {
		height: 220px;
	}

	/* -- Facts grid: single column -- */
	.hikenwa-facts-grid {
		grid-template-columns: 1fr;
		grid-template-areas: "address""parking""amenities""directions";
	}

	/* -- Route cards -- */
	.hikenwa-route-card {
		flex-direction: column;
	}

	.hikenwa-route-thumb {
		width: 100%;
		height: 180px;
	}

	.hikenwa-trailhead-card-thumb {
		width: 100%;
	}

	.hikenwa-route-content {
		min-height: 0;
	}

	.hikenwa-route-footer {
		margin-top: 12px;
		flex-wrap: wrap;
		gap: 8px;
	}

	.hikenwa-route-title,
	.hikenwa-route-title a {
		font-family: "Poppins", sans-serif;
		font-weight: 800;
		font-size: 22px;
		line-height: 1.1;
	}

	.hikenwa-level-badge {
		white-space: normal;
	}

	/* -- Distance slider: swap to number inputs on touch screens -- */
	.hikenwa-range-slider {
		display: none;
	}

	.hikenwa-distance-number-inputs {
		display: flex;
		gap: 12px;
		margin: 8px 0 16px;
	}

	.hikenwa-distance-number-label {
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: 4px;
		font-size: 14px;
		font-weight: 500;
		color: #2c3e50;
	}

	.hikenwa-distance-number-label input[type="number"] {
		font-weight: 500;
		width: 100%;
		box-sizing: border-box;
		padding: 10px;
		font-size: 16px;
		border: 1px solid #ccc;
	}

	/* -- Generator output -- */
	#hikenwa-generated-output {
		margin: 30px 0 0 !important;
	}
}

@media only screen and (max-width: 480px) {
	.full-width-content .content {
		padding: 0 0 50px;
	}
}

/* -----------------------------------------------
4.6 Trailhead Map — Popup Styles
----------------------------------------------- */
.hike-trailhead-map {
	font-family: "Libre Baskerville", serif;
	font-size: 11px;
}

.hike-trailhead-map .leaflet-popup-content-wrapper {
	border-radius: 8px;
	padding: 0;
	overflow: hidden;
	box-shadow: 0 3px 14px rgba(0, 0, 0, 0.25);
}

.hike-trailhead-map .leaflet-popup-content {
	margin: 0;
	width: 260px !important;
	font-size: 12px;
	line-height: 1.1;
}

.hike-trailhead-map .popupPhoto {
	width: 100%;
	height: 110px;
	object-fit: cover;
	display: block;
	margin: 0;
}

.hike-trailhead-map .popupBody {
	padding: 10px 12px 6px;
}

.hike-trailhead-map .locationName {
	font-size: 20px;
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	margin: 0 0 3px 0;
	color: #111;
	line-height: 1.2;
}

.hike-trailhead-map .addressLine {
	color: #111;
	font-style: normal;
	margin: 0 0 7px 0;
	font-size: 11px;
	line-height: 1.4;
}

.hike-trailhead-map .parkingLine,
.hike-trailhead-map .amenitiesLine,
.hike-trailhead-map .directionsLine {
	font-size: 12px;
	line-height: 1.4;
}

.hike-trailhead-map .parkingLine strong,
.hike-trailhead-map .amenitiesLine strong,
.hike-trailhead-map .directionsLine strong {
	font-family: "Poppins", sans-serif;
	text-transform: uppercase;
	font-size: 10px;
}

.hike-trailhead-map .popupBody p {
	margin: 0 0 5px 0;
}

.hike-trailhead-map .googleCodeBox {
	font-size: 10px;
	font-style: italic;
	text-align: center;
}

.hike-trailhead-map .googleCodeBox a {
	color: #3e5c1e;
	border-bottom: none;
	word-break: break-all;
	font-size: 12px;
}

.hike-trailhead-map .googleCodeBox a:hover {
	color: #ffac08;
	border-bottom: none;
}

.hike-trailhead-map .routesLink {
	display: block;
	margin: 8px 0 0 0;
	padding: 7px 12px 10px;
	border: none;
	background: #3e5c1e;
	font-family: "Poppins", sans-serif;
	text-transform: uppercase;
	color: #fff !important;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	letter-spacing: 1px;
}

.hike-trailhead-map .routesLink:hover {
	background: #111;
	text-decoration: none;
	border: none;
}

.hike-trailhead-map .googleCode .fa-solid {
	margin-left: 3px;
}

.leaflet-popup-tip {
	background: #3e5c1e;
}

.hike-trailhead-map .leaflet-popup:has(.routesLink:hover) .leaflet-popup-tip {
	background: #111;
}

/* Area archive: dynamic trailhead map + collapsible trailheads */
.hikenwa-area-map {
	margin: 18px 0 28px;
	position: relative;
}

.hikenwa-th-toggle {
	margin: 0 0 40px;
	background: #fff;
}

.hikenwa-th-toggle>summary {
	border: 1px solid #ddd;
	margin-bottom: 5px;
	cursor: pointer;
	list-style: none;
	padding: 14px 18px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: .02em;
	font-size: 13px;
	color: #111;
	transition: color 0.15s ease;
}

.hikenwa-th-toggle>summary::-webkit-details-marker {
	display: none;
}

.hikenwa-th-toggle>summary:hover {
	color: #3e5c1e;
}

.hikenwa-th-toggle>summary .hikenwa-th-hint {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.hikenwa-th-toggle>summary .hikenwa-th-hint i {
	font-size: 15px;
	line-height: 1;
}

.hikenwa-th-toggle[open] .hikenwa-th-ico-closed,
.hikenwa-th-toggle[open] .hikenwa-th-txt-closed {
	display: none;
}

.hikenwa-th-toggle:not([open]) .hikenwa-th-ico-open,
.hikenwa-th-toggle:not([open]) .hikenwa-th-txt-open {
	display: none;
}

/* Mobile: trailhead info as a bottom sheet that reuses the existing popup styling */
.hikenwa-map-sheet {
	position: fixed;
	inset: 0;
	z-index: 100000;
}

.hikenwa-map-sheet[hidden] {
	display: none;
}

.hikenwa-map-sheet-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .45);
}

.hikenwa-map-sheet-card {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	bottom: calc(16px + env(safe-area-inset-bottom));
	width: auto;
	max-width: 92vw;
}

.hikenwa-map-sheet .hikenwa-sheet-scope {
	width: auto;
	height: auto;
	background: none;
	border: 0;
	box-shadow: none;
}

.hikenwa-map-sheet .leaflet-popup-content {
	max-height: 74vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.hikenwa-map-sheet-close {
	position: absolute;
	top: -14px;
	right: -8px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 0;
	background: #fff;
	color: #333;
	font-size: 22px;
	line-height: 30px;
	text-align: center;
	box-shadow: 0 1px 5px rgba(0, 0, 0, .35);
	cursor: pointer;
	z-index: 3;
	padding: 0;
}

@media (max-width:600px) {

	.hikenwa-area-map [id^="hike-trailhead-map"],
	.hikenwa-area-map .leaflet-container {
		height: 340px !important;
	}

	.hikenwa-th-toggle>summary {
		padding: 16px;
	}
}

/* === Route card: difficulty badge ABOVE image + one-row actions === */
.hikenwa-route-thumb {
	width: 160px;
	flex: 0 0 auto;
	background: #f1efe8;
	border-radius: 0;
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	height: auto;
	/* anchors the generator checkmark badge */
}

.hikenwa-route-thumb img {
	width: 100%;
	object-fit: cover;
	display: block;
	height: 160px;
}

.hikenwa-route-thumb .hikenwa-level-badge {
	order: -1;
	position: static;
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
	padding: 5px 6px;
	font-size: 11px;
	letter-spacing: .5px;
	line-height: 1.15;
	text-align: center;
	white-space: normal;
	cursor: pointer;
}

/* Generator: choose-route checkmark sits on the image, just below the badge bar */
.hikenwa-route-thumb .hikenwa-choose-route-btn {
	top: 31px;
}

/* Both action buttons on one row */
.hikenwa-route-card:has(.hikenwa-route-thumb .hikenwa-level-badge) .hikenwa-route-footer-actions {
	flex-direction: row;
	align-items: stretch;
	width: 100%;
	gap: 8px;
}

.hikenwa-route-card:has(.hikenwa-route-thumb .hikenwa-level-badge) .hikenwa-route-footer-actions .hikenwa-komoot-link {
	flex: 1 1 0;
	justify-content: center;
	text-align: center;
}

@media (max-width:600px) {
	.hikenwa-route-thumb {
		height: auto;
	}

	.hikenwa-route-thumb img {
		height: 180px;
	}

	.hikenwa-route-card:has(.hikenwa-route-thumb .hikenwa-level-badge) {
		align-items: center;
		text-align: center;
	}

	.hikenwa-route-card:has(.hikenwa-route-thumb .hikenwa-level-badge) .hikenwa-route-content {
		align-items: center;
		text-align: center;
	}

	.hikenwa-route-card:has(.hikenwa-route-thumb .hikenwa-level-badge) .hikenwa-route-content>div {
		justify-content: center;
	}

	.hikenwa-route-card:has(.hikenwa-route-thumb .hikenwa-level-badge) .hikenwa-route-footer {
		justify-content: center;
	}

	.hikenwa-route-card:has(.hikenwa-route-thumb .hikenwa-level-badge) .hikenwa-route-footer-actions {
		flex-direction: column;
		align-items: center;
	}

	.hikenwa-route-card:has(.hikenwa-route-thumb .hikenwa-level-badge) .hikenwa-route-footer-actions .hikenwa-komoot-link {
		width: 100%;
		max-width: 260px;
		flex: 0 0 auto;
	}
}

/* Desktop: keep the action buttons flush with the bottom of the image */
@media (min-width:601px) {
	.hikenwa-route-card:has(.hikenwa-route-thumb .hikenwa-level-badge) {
		align-items: stretch;
	}

	.hikenwa-route-card:has(.hikenwa-route-thumb .hikenwa-level-badge) .hikenwa-route-thumb {
		align-self: flex-start;
	}
}

/* ===== Header search icon → panel pinned below the header (JS-positioned) ===== */
.hikenwa-search-item {
	display: inline-block;
}

/* On scroll the logo and nav links shrink (padding 30px -> 20px) but the search
toggle was left out, so it held the header at full height. Shrink it too so the
whole header collapses together. Desktop only — the logo shrink resets on mobile. */
.hikenwa-search-item .hikenwa-search-toggle {
	background: none;
	border: 0;
	margin: 0;
	padding: 30px 13px;
	color: #fff;
	cursor: pointer;
	font-size: 17px;
	line-height: 20px;
	vertical-align: middle;
	transition: padding 0.2s ease-in-out;
	/* match nav links' vertical padding so the icon centers */
}

@media only screen and (min-width: 1024px) {
	html:not([data-scroll="0"]) .hikenwa-search-item .hikenwa-search-toggle {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}

.hikenwa-search-item .hikenwa-search-toggle:hover,
.hikenwa-search-item .hikenwa-search-toggle:focus {
	color: #ffac08;
}

#hikenwa-search-panel {
	position: fixed;
	z-index: 9999;
	display: none;
	width: 320px;
	max-width: calc(100vw - 40px);
	margin: 0;
	padding: 12px;
	background: #ffac08;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .15);
	/* placed by JS on open; menu hover can't move it */
}

.hikenwa-search-routes-only input {
	border: 1px solid #111;
}

#hikenwa-search-panel.is-open {
	display: block;
}

#hikenwa-search-panel .hikenwa-search-field {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #999;
	border-radius: 4px;
	font-size: 14px;
	font-family: 'Libre Baskerville', Georgia, serif;
	background: #fff;
	color: #111;
	outline: none;
	box-shadow: none;
	line-height: 1;
	/* no orange focus outline */
}

#hikenwa-search-panel .hikenwa-search-field:focus {
	border-color: #111;
	outline: none;
	box-shadow: none;
}

#hikenwa-search-panel .hikenwa-search-field::placeholder {
	font-family: 'Libre Baskerville', Georgia, serif;
	color: #111;
}

#hikenwa-search-panel .hikenwa-search-routes-only {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 8px 0 0;
	font-size: 12px;
	text-transform: lowercase;
	color: #111;
	font-style: italic;
	cursor: pointer;
}

#hikenwa-search-panel .hikenwa-search-routes-only input {
	margin: 0;
}

@media (max-width: 800px) {
	.hikenwa-search-item .hikenwa-search-toggle {
		padding: 16px 13px;
	}
}

/* ===== Footer menu: left-align, match header link style, muted headings ===== */
.site-footer .footer-widgets-3col,
.site-footer .footer-col {
	text-align: left;
}

.site-footer .footer-nav-list a {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #fff;
}

.site-footer .footer-nav-list a:hover,
.site-footer .footer-nav-list a:focus {
	color: #FFAC08;
	/* keep the gold hover accent */
}

.site-footer .footer-col-heading {
	color: #ffac08;
	padding-bottom: 0.75rem;
	/* light gray so titles read as labels, not active links */
	/* balance the underline: equal space above & below */
}

/* Footer copyright line: italic + more breathing room above */
.site-footer>.wrap>p {
	font-style: italic;
	margin-top: 1.75rem;
}

/* Home hero — front-page-1 */
#front-page-1 {
	position: relative;
}

#front-page-1::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(17, 17, 17, .38) 0%, rgba(17, 17, 17, .64) 50%, rgba(17, 17, 17, .38) 100%);
}

#front-page-1 .wrap {
	position: relative;
	z-index: 2;
}

.hnwa-hero {
	max-width: 780px;
	margin: 0 auto;
	text-align: left;
	padding: 48px 0;
}

.hnwa-hero .hnwa-eyebrow {
	font-family: 'Fugaz One', cursive;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 17px;
	color: #ffac08;
	margin-bottom: 14px;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .55);
}

.hnwa-hero h1,
.hnwa-hero h2 {
	color: #fff;
	margin-bottom: 18px;
	line-height: 1.15;
	/* fluid: 65px on desktop, scales down so "Northwest Arkansas." always stays on one line */
	font-size: clamp(26px, 8vw, 65px);
	text-wrap: balance;
	text-shadow: 0 2px 8px rgba(0, 0, 0, .55);
}

.hnwa-hero .hnwa-lead {
	font-size: 18px;
	color: #f3f7f5;
	margin: 0 auto 28px;
	text-shadow: 0 1px 6px rgba(0, 0, 0, .55);
}

.hnwa-hero .hnwa-cta {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: right;
	margin-bottom: 18px;
}

.hnwa-hero .hnwa-fine {
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	color: #777;
	text-shadow: 0 1px 4px rgba(0, 0, 0, .55);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 60px 0 0;
	text-align: right;
	font-weight: 400;
}

/* ===== Shared band pattern (reused by all front-page bands) ===== */
.hnwa-section {
	padding: 72px 0;
}

.hnwa-head {
	max-width: 720px;
	margin: 0 auto 44px;
	text-align: center;
}

.hnwa-kicker {
	font-family: 'Fugaz One', cursive;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 14px;
	color: #3e5c1e;
	margin-bottom: 10px;
}

.hnwa-head h2 {
	font-size: clamp(23px, 5.8vw, 32px);
	margin-bottom: 12px;
}

.hnwa-head .hnwa-intro {
	font-size: 18px;
	color: #444;
}

/* Inline "read more" link with arrow (hover slides right) */
.hnwa-link {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: #3e5c1e;
	text-decoration: none;
	display: inline-block;
}

.hnwa-link::after {
	content: '\2192';
	margin-left: 6px;
	display: inline-block;
	transition: transform .15s ease;
}

.hnwa-link:hover::after {
	transform: translateX(4px);
}

.content a.hnwa-link:hover {
	color: #ffac08;
}

/* ===== Start here — step cards (front-page-2) ===== */
#front-page-2 h2 {
	font-size: clamp(24px, 6.2vw, 36px);
	line-height: 1.1;
}

#front-page-2 h3 {
	font-size: clamp(20px, 4.8vw, 26px);
}

.hnwa-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.hnwa-step {
	background: #fff;
	border: 1px solid #ddd;
	border-top: 10px solid #3e5c1e;
	border-radius: 0;
	padding: 0 26px 30px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .04);
}

.hnwa-step-num {
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	font-size: 18px;
	line-height: 1;
	color: #fff;
	background: #ffac08;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
}

.hnwa-step h3 {
	font-size: 20px;
	margin-bottom: 8px;
}

.hnwa-step p {
	font-size: 16px;
	color: #444;
	margin-bottom: 16px;
}

@media(max-width:860px) {
	.hnwa-steps {
		grid-template-columns: 1fr;
	}
}

/* Step-card links as yellow buttons */
#front-page-2 .hnwa-link,
#front-page-4 .hnwa-link,
#front-page-7 .hnwa-comm-card .hnwa-link {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	line-height: 1.2;
	color: #111;
	background-color: #ffac08;
	padding: 14px 26px;
	border: 0;
	border-radius: 0;
	text-decoration: none;
}

#front-page-2 .hnwa-link:hover,
#front-page-4 .hnwa-link:hover,
#front-page-7 .hnwa-comm-card .hnwa-link:hover {
	background-color: #111;
	color: #fff;
}

#front-page-2 .hnwa-link:focus-visible,
#front-page-4 .hnwa-link:focus-visible,
#front-page-7 .hnwa-comm-card .hnwa-link:focus-visible {
	outline: 3px solid #111;
	outline-offset: 2px;
}

/* Keep every card button on one line on small phones */
@media(max-width:560px) {

	#front-page-2 .hnwa-link,
	#front-page-4 .hnwa-link {
		padding-left: 14px;
		padding-right: 14px;
	}
}

/* Squared buttons */
.button,
.hikenwa-btn-primary {
	border-radius: 0;
}

/* ===== Route finder — front-page-5 ===== */
.hnwa-finder-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}

.hnwa-finder-copy h2 {
	font-size: clamp(23px, 5.8vw, 31px);
	margin: 10px 0 14px;
}

.hnwa-finder-copy .hnwa-lead-left {
	font-size: 18px;
	color: #444;
	margin-bottom: 12px;
}

.hnwa-feat {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 15.5px;
}

.hnwa-feat li {
	position: relative;
	padding: 3px 0 3px 30px;
	color: #222;
}

.hnwa-feat li::before {
	content: '\2713';
	position: absolute;
	left: 0;
	color: #3e5c1e;
	font-weight: 700;
}

.hnwa-demo {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	padding: 26px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}

.hnwa-demo-label {
	font-family: 'Fugaz One', cursive;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 13px;
	color: #555;
	margin: 0 0 10px;
}

.hnwa-slider {
	position: relative;
	height: 6px;
	margin: 16px 6px 6px;
	background: #e7e4dd;
	border-radius: 6px;
}

.hnwa-slider-fill {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 18%;
	right: 38%;
	background: #ffac08;
	border-radius: 6px;
}

.hnwa-knob {
	position: absolute;
	top: 50%;
	width: 18px;
	height: 18px;
	transform: translate(-50%, -50%);
	background: #fff;
	border: 3px solid #ffac08;
	border-radius: 50%;
}

.hnwa-knob.a {
	left: 18%;
}

.hnwa-knob.b {
	left: 62%;
}

.hnwa-scale {
	display: flex;
	justify-content: space-between;
	margin: 6px 4px 22px;
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	color: #888;
}

.hnwa-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.hnwa-pill {
	padding: 8px 14px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 13px;
	color: #fff;
}

.hnwa-pill.lvl0 {
	background: #6b6b6b;
}

.hnwa-pill.lvl1 {
	background: #3e5c1e;
}

.hnwa-pill.lvl2 {
	background: #25628a;
}

.hnwa-pill.lvl3 {
	background: #605680;
}

.hnwa-demo-btn {
	display: block;
	margin-top: 22px;
	padding: 13px;
	text-align: center;
	background: #3e5c1e;
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 15px;
}

@media (max-width: 860px) {
	.hnwa-finder-grid {
		grid-template-columns: 1fr;
	}
}

/* Route finder over image — dark treatment (front-page-5) */
#front-page-5 {
	position: relative;
}

#front-page-5::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(17, 17, 17, .78) 0%, rgba(17, 17, 17, .55) 50%, rgba(17, 17, 17, .22) 100%);
}

#front-page-5 .hnwa-finder-copy h2 {
	font-size: clamp(24px, 6.2vw, 36px);
}

#front-page-5 .hnwa-section {
	position: relative;
	z-index: 2;
}

#front-page-5 .hnwa-kicker {
	color: #ffac08;
}

#front-page-5 .hnwa-lead-left {
	color: #fff;
	margin-bottom: 25px;
}

#front-page-5 .hnwa-feat li {
	color: #fff;
	margin: 0 0 0 25px;
}

#front-page-5 .hnwa-feat li::before {
	color: #ffac08;
}

#front-page-5 .hnwa-finder-copy {
	text-align: left;
}

/* Home finder — grid 33/66, 2-up difficulty pills, fix paved-only label on dark band */
.hnwa-home-finder .hikenwa-level-pills {
	flex-wrap: wrap;
	gap: 8px;
}

.hnwa-home-finder .hikenwa-level-badge {
	flex: 1 1 45%;
	text-align: center;
}

/* Home finder — keep the two location dropdowns 50/50 side by side */
.hnwa-home-finder .hikenwa-filter-half {
	flex: 1 1 calc(50% - 7px);
	min-width: 0;
}

.hnwa-home-finder .hikenwa-filter-half select {
	width: 100%;
	min-width: 0;
}

/* Start here — step card top banner image */
.hnwa-step-img {
	max-width: none;
	display: block;
	width: calc(100% + 52px);
	margin: 0 -26px 22px;
	height: auto;
}
.solid-section {
	background-color: #ddd;
	background-image: url(https://hikenwa.org/wp-content/uploads/2026/07/topography-white.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

/* ===== Explore by city — front-page-4 ===== */
.front-page-4 .solid-section {
	background-color: #ddd;
	background-image: url(https://hikenwa.org/wp-content/uploads/2026/07/topography-white.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.hnwa-ex-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.hnwa-ex-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #ddd;
	border-top: 10px solid #3e5c1e;
	padding: 0 26px 28px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
}

.hnwa-ex-card h3 {
	font-size: 21px;
	margin-bottom: 10px;
}

.hnwa-ex-card p {
	flex: 1;
	font-size: 16px;
	color: #444;
	margin-bottom: 16px;
}

.hnwa-coming {
	margin-top: 40px;
	text-align: center;
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	font-size: 15px;
	color: #111;
}

@media (max-width: 860px) {
	.hnwa-ex-grid {
		grid-template-columns: 1fr;
	}
}

/* Explore cards — keep the link inline like the others (not stretched by flex) */
.hnwa-ex-card .hnwa-link {
	align-self: center;
}

/* Whole card is the click target; the button stays the only link */
.hnwa-ex-card .hnwa-link::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* ===== Trailhead map — front-page-3 ===== */
.front-page-3 {
	position: relative;
}

.image-section .hnwa-intro a,
.image-section .hnwa-finder-copy a {
	color: #ffac08;
	border-color: #ffac08;
}

.image-section .hnwa-intro a:hover,
.image-section .hnwa-finder-copy a:hover {
	color: #888;
	border-color: #888;
}

#front-page-3::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(17, 17, 17, .38) 0%, rgba(17, 17, 17, .64) 50%, rgba(17, 17, 17, .38) 100%);
}

#front-page-3 .wrap {
	position: relative;
	z-index: 2;
}

.front-page-3 .hnwa-kicker {
	color: #ffac08;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .55);
}

.front-page-3 .hnwa-head h2 {
	color: #fff;
	text-shadow: 0 2px 8px rgba(0, 0, 0, .55);
}

.front-page-3 .hnwa-head .hnwa-intro {
	color: #fff;
	text-shadow: 0 1px 6px rgba(0, 0, 0, .55);
}

.hnwa-map-wrap {
	max-width: 1040px;
	margin: 0 auto;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
}

/* --------------------------------------------------------------------------
Front Page 6 — Community band
-------------------------------------------------------------------------- */
.hnwa-comm-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	max-width: 1040px;
	margin: 0 auto;
}

.hnwa-comm-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #ddd;
	border-top: 10px solid #3e5c1e;
	padding: 0 26px 28px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.hnwa-comm-card h3 {
	font-size: 21px;
	color: #111;
	margin-bottom: 10px;
}

.hnwa-comm-card p {
	flex: 1;
	font-size: 16px;
	color: #444;
	margin-bottom: 16px;
}

.hnwa-comm-card .hnwa-link {
	align-self: center;
}

@media (max-width: 860px) {
	.hnwa-comm-grid {
		grid-template-columns: 1fr;
		max-width: 380px;
	}
}

/* --------------------------------------------------------------------------
Front Page 7 — Get Involved / Donate band (photo)
-------------------------------------------------------------------------- */
.front-page-7 {
	background-image: url(https://hikenwa.org/wp-content/uploads/2026/07/IMG_4459.jpeg);
}

#front-page-7 .hnwa-kicker {
	color: #ffac08;
}

#front-page-7 .hnwa-head h2 {
	color: #fff;
}

#front-page-7 .hnwa-head .hnwa-intro {
	color: #f3f7f5;
}

.hnwa-gi-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 960px;
	margin: 0 auto;
}

.hnwa-gi-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #ddd;
	border-top: 10px solid #ffac08;
	padding: 30px 26px 28px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

#front-page-8 .hnwa-gi-card h3 {
	color: #111;
	font-size: 21px;
	margin-bottom: 10px;
}

#front-page-8 .hnwa-gi-card p {
	color: #444;
	flex: 1;
	font-size: 16px;
	margin-bottom: 16px;
}

#front-page-8 .hnwa-gi-card .hnwa-link {
	color: #3e5c1e;
	align-self: center;
}

#front-page-8 .hnwa-gi-card .hnwa-link:hover {
	color: #ffac08;
}

.hnwa-gi-cta {
	text-align: center;
	margin-top: 36px;
}

@media (max-width: 860px) {
	.hnwa-gi-grid {
		grid-template-columns: 1fr;
		max-width: 380px;
	}
}

/* Front Page 7 — darken the scrim at the top so the kicker/heading read over the photo */
#front-page-7 .image-section {
	background-image: linear-gradient(rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.75) 35%, rgba(0, 0, 0, 0.85) 80%, rgba(0, 0, 0, 0.9) 100%);
}

/* ---------------------------------------------------------------
Archive "Too many options?" filter CTA — button styled to match
the View Trailhead (.hikenwa-komoot-link) buttons: white with a
light-gray border and black text, plus a yellow filter icon.
Centered, with extra space below.
--------------------------------------------------------------- */
.hikenwa-archive-filter-cta {
	margin: 0 0 30px;
	text-align: center;
}

.hikenwa-archive-filter-cta a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: Poppins, sans-serif;
	text-transform: uppercase;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 1.3;
	color: #111;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	padding: 8px 13px;
	text-decoration: none;
	transition: background-color .15s, border-color .15s, color .15s;
}

.hikenwa-archive-filter-cta a:hover,
.hikenwa-archive-filter-cta a:focus {
	color: #fff;
	background: #111;
	border-color: #111;
	text-decoration: none;
}

.hikenwa-archive-filter-cta a i {
	margin-right: 0;
	color: #ffac08;
}

/* Pre-title / eyebrow above trail-system & trailhead titles */
.hikenwa-page .hikenwa-pretitle {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	margin: 20px 0 16px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 4px;
	text-align: center;
}

/* Inline "Jump to the routes" link at the end of the subtitle */
.hikenwa-jump-inline {
	white-space: nowrap;
}

.hikenwa-jump-inline a {
	color: #3e5c1e;
	text-decoration: none;
	border-bottom: 2px dotted #3e5c1e;
}

.hikenwa-jump-inline a:hover,
.hikenwa-jump-inline a:focus {
	color: #ffac08;
	border-color: #ffac08;
}

/* === HIKENWA DIFFICULTY BAR ICON === */
.hikenwa-level-badge {
	font-size: 12px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	color: #fff;
	letter-spacing: 0px;
	padding: 5px 15px;
	border: none;
	white-space: nowrap;
	--lit: currentColor;
	--dim: color-mix(in srgb, currentColor 30%, transparent);
}

.hikenwa-level-badge::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 13px;
	margin-right: 8px;
	vertical-align: -2px;
	background-repeat: no-repeat;
}

.hikenwa-level-0::before {
	background: linear-gradient(to bottom, var(--dim) 0 3px, transparent 3px 5px, var(--dim) 5px 8px, transparent 8px 10px, var(--dim) 10px 13px);
}

.hikenwa-level-1::before {
	background: linear-gradient(to bottom, var(--dim) 0 3px, transparent 3px 5px, var(--dim) 5px 8px, transparent 8px 10px, var(--lit) 10px 13px);
}

.hikenwa-level-2::before {
	background: linear-gradient(to bottom, var(--dim) 0 3px, transparent 3px 5px, var(--lit) 5px 8px, transparent 8px 10px, var(--lit) 10px 13px);
}

.hikenwa-level-3::before {
	background: linear-gradient(to bottom, var(--lit) 0 3px, transparent 3px 5px, var(--lit) 5px 8px, transparent 8px 10px, var(--lit) 10px 13px);
}

/* === HIKENWA FILTER REDESIGN === */
.hikenwa-generator-filters .hikenwa-filter-box {
	display: block;
	padding: 22px 26px 26px;
	box-shadow: 1px 1px 5px #eee;
}

.hikenwa-frow {
	display: grid;
	grid-template-columns: 172px 1fr;
	gap: 14px 20px;
	align-items: start; /* filter form: top-aligned labels */
	padding: 14px 0;
	border-top: 1px solid #f0eee8;
}

.hikenwa-frow:first-child {
	border-top: none;
	padding-top: 2px;
}

.hikenwa-flabel {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: -.2px;
	font-size: 15px;
	line-height: 1.15;
	color: #111;
	padding-top: 9px;
}

.hikenwa-foptional {
	display: block;
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	font-size: 12px;
	color: #aaa;
	margin-top: 2px;
}

.hikenwa-fcontrol {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.hikenwa-generator-filters select {
	padding: 9px 11px;
	border: 1px solid #ccc;
	font-size: 15px;
	font-family: inherit;
	background: #fff;
	min-width: 190px;
}

.hikenwa-search-field {
	width: 100%;
	max-width: 340px;
	font-family: 'Libre Baskerville', serif;
	font-size: 16px;
	padding: 11px 14px;
	border: 1px solid #ccc;
	box-sizing: border-box;
}

.hikenwa-dist-sep {
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	color: #888;
}

.hikenwa-level-pills input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}

.hikenwa-level-pills label.hikenwa-level-badge::before {
	margin-right: 0;
}

.hikenwa-level-pills input:checked+label.hikenwa-level-badge,
.hikenwa-level-pills input:checked+label.hikenwa-level-badge:hover {
	background: var(--pill-color);
	color: #fff;
	border-color: transparent;
	outline: none;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pill-color) 32%, transparent);
}

.hikenwa-level-pills input:checked+label.hikenwa-level-badge::after {
	opacity: 1;
}

.hikenwa-level-pills input:focus-visible+label.hikenwa-level-badge {
	outline: 2px solid #111;
	outline-offset: 3px;
}

@media (max-width:600px) {
	.hikenwa-frow {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.hikenwa-generator-filters select {
		min-width: 0;
		width: 100%;
	}

	.hikenwa-search-field {
		max-width: none;
	}
}

/* === HIKENWA GENERATOR OUTPUT === */
.hikenwa-howto-row {
	display: flex;
	justify-content: center;
	margin-bottom: 18px;
}

.hikenwa-howto-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	cursor: pointer;
	background: #fff;
	border: 1px solid #3e5c1e;
	color: #3e5c1e;
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 1px;
	padding: 9px 15px;
}

.hikenwa-howto-btn:hover {
	background: #3e5c1e;
	color: #fff;
}

.hikenwa-howto-box h4 {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 15px;
	letter-spacing: .3px;
	margin: 22px 0 10px;
	border-bottom: 1px solid #eee;
	padding-bottom: 6px;
}

.hikenwa-howto-box p,
.hikenwa-howto-box li {
	font-family: 'Libre Baskerville', serif;
	font-size: 14px;
	line-height: 1.55;
	color: #333;
}

.hikenwa-howto-foot {
	margin-top: 22px;
	text-align: right;
}

#hikenwa-selection-panel {
	text-align: left;
	/* Small top gap so the 22px arrow on the selected card overlaps this
	   panel by ~6px. Row gap in the results list adds another 10px. */
	margin-top: 6px;
	margin-bottom: 50px;
/* White box like the rest of the site. It is set apart from the route
	   cards by the black header band at its top, the yellow STEP bars and
	   the full-bleed yellow STOP banner - not by a dark background. */
	background: #fff;
	border: 0;
	box-shadow: var(--hikenwa-card-shadow);
	padding: 30px 40px 24px;
	box-sizing: border-box;
}

/* Full-bleed black band across the top of the panel. Negative margins
   cancel the panel padding (30px top / 40px sides). */
.hikenwa-panel-head {
	background: #111;
	margin: -30px -40px 0;
	padding: 26px 40px 24px;
}

.hikenwa-page .hikenwa-generated-heading {
	color: #fff;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 24px;
	margin: 0 0 6px;
}

/* Echoes the chosen route name under the heading so it is obvious which
   card the generated text belongs to. */
.hikenwa-page .hikenwa-selected-route {
	font-family: 'Libre Baskerville', serif;
	font-size: 17px;
	font-style: italic;
	line-height: 1.35;
	text-align: center;
	color: #ffac08;
	margin: 0;
}

.hikenwa-pace-label {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 17px;
	letter-spacing: 1px;
	color: #ffac08;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-right: 2px;
}

.hikenwa-pace-label::after {
	content: "\2192";
	font-size: 19px;
	line-height: 1;
	color: #ffac08;
}

#hikenwa-pace-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.hikenwa-pace-opt {
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: .5px;
	border: 1px solid #fff;
	background: #fff;
	color: #111;
	padding: 7px 13px;
	cursor: pointer;
}

.hikenwa-pace-opt.is-active {
	background: #ffac08;
	color: #111;
	border-color: #ffac08;
}

.hikenwa-gengroup {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .3px;
	font-size: 16px;
	margin: 24px 0 12px;
	padding-bottom: 6px;
	color: #111;
	border-bottom: 2px solid #111;
}

.hikenwa-genblock {
	margin-bottom: 22px;
}

/* last block sits on the panel padding, no doubled gap */
#hikenwa-generated-output > .hikenwa-genblock:last-child,
#hikenwa-step4 .hikenwa-genblock:last-child {
	margin-bottom: 0;
}

.hikenwa-genhead {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	background: #111;
	padding: 11px 14px;
}

.hikenwa-genstep {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: .3px;
	color: #fff;
}

.hikenwa-stepnum {
	color: #ffac08;
	margin-right: 6px;
}

.hikenwa-copy-btn::after {
	content: none !important;
}

.hikenwa-genblock .hikenwa-copy-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	font-size: 11px;
	letter-spacing: 1px;
	white-space: nowrap;
	box-shadow: none;
}

.hikenwa-genblock .hikenwa-copy-btn:hover,
.hikenwa-genblock .hikenwa-copy-btn:focus {
	background: #fff;
	color: #111;
}

.hikenwa-genblock .hikenwa-generator-output {
	width: 100%;
	margin: 0;
	display: block;
	font-family: 'Libre Baskerville', serif;
	font-size: 13px;
	color: #333;
	background: #f2f2f2;
	border: 1px solid #d8d8d8;
	border-top: 0;
	padding: 12px 14px;
	line-height: 1.5;
	resize: vertical;
	box-sizing: border-box;
	overflow-y: auto;
	max-height: 220px;
}

.hikenwa-publishnote {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	background: #ffac08;
	border: 0;
	box-shadow: none;
	/* negative side margins cancel the 30px padding on
	   #hikenwa-selection-panel so the banner runs edge to edge */
	padding: 20px 40px;
	margin: 32px -40px 26px;
	color: #111;
}

.hikenwa-publishnote i {
	margin-top: 2px;
	font-size: 22px;
	line-height: 1.2;
	color: #111;
}

.hikenwa-publishnote span {
	font-family: 'Libre Baskerville', serif;
	font-size: 14px;
	line-height: 1.55;
}

.hikenwa-publishnote .hikenwa-publishnote-title {
	display: block;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 16px;
	letter-spacing: 0.5px;
	color: #111;
	margin-bottom: 7px;
}

.hikenwa-publishnote strong {
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 0.5px;
	color: #111;
}

/* === HIKENWA POLISH === */
/* Difficulty pills: two equal-width per row; neutral when deselected, color on select */
.hikenwa-level-pills {
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	max-width: 360px;
}

.hikenwa-level-pills label.hikenwa-level-badge:hover {
	background: #fff;
	color: #111;
}

/* Copy Text button vertical alignment in the black header */
#hikenwa-generated-output .hikenwa-copy-btn {
	margin-bottom: 0;
	align-self: center;
}

/* Pace switcher: centered under the title; stable border on hover */
.hikenwa-pace-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 15px 40px;
	background: #333;
	border: 0;
	margin: 0 -40px;
	justify-content: center;
}

.hikenwa-pace-note {
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	font-size: 12px;
	color: #111;
	margin: 9px 0 2px;
	text-align: center;
}

#hikenwa-pace-buttons .hikenwa-pace-opt:hover,
#hikenwa-pace-buttons .hikenwa-pace-opt:focus {
	border: 1px solid #ffac08;
	background: #fff4dc;
	color: #111;
}

#hikenwa-pace-buttons .hikenwa-pace-opt.is-active,
#hikenwa-pace-buttons .hikenwa-pace-opt.is-active:hover,
#hikenwa-pace-buttons .hikenwa-pace-opt.is-active:focus {
	border: 1px solid #ffac08;
	background: #ffac08;
	color: #111;
	font-weight: 700;
}

/* === HIKENWA POLISH 2 === */
.hikenwa-distance-row input[type="number"] {
	width: 92px;
	padding: 9px 11px;
	border: 1px solid #ccc;
	font-size: 15px;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
}

#hikenwa-generated-output {
	margin: 24px 0 0 !important;
	text-align: left;
	scroll-margin-top: 120px;
}

/* === HIKENWA POLISH 3 === */
.hikenwa-howto-steps {
	margin: 0 0 0 18px;
	padding: 0;
	list-style: decimal;
	padding-left: 24px;
	margin-left: 0;
}

.hikenwa-howto-steps li {
	margin-bottom: 8px;
	list-style-type: decimal;
}

.hikenwa-route-card .hikenwa-level-badge,
.hikenwa-generator-route-card .hikenwa-level-badge {
	padding-top: 8px;
	padding-bottom: 9px;
}

/* === HIKENWA MOBILE PILLS === */
@media (max-width:600px) {
	.hikenwa-level-pills {
		grid-template-columns: 1fr;
		max-width: none;
		width: 100%;
	}

	.hikenwa-level-pills label.hikenwa-level-badge {
		justify-content: flex-start;
	}
}

/* === HIKENWA MOBILE HEADER SPACING === */
@media only screen and (max-width: 1023px) {
	.site-inner {
		margin-top: 40px;
	}
}

/* === HIKENWA PACE LIST === */
/* === HIKENWA PACE LIST v2 === */
.hikenwa-howto-paces {
	list-style: disc;
	padding-left: 22px;
	margin: 0 0 6px;
}

.hikenwa-howto-paces li {
	list-style: disc;
	margin-bottom: 6px;
}

.hikenwa-howto-box p {
	margin-bottom: 12px;
}

/* === HIKENWA HOWTO BTN HOVER === */
#hikenwa-howto-btn:hover,
#hikenwa-howto-btn:focus {
	background: #3e5c1e;
	color: #fff;
	border: 1px solid #3e5c1e;
}

/* === HIKENWA PILL ALIGN === */
.hikenwa-level-pills label.hikenwa-level-badge {
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 8px 15px;
	margin: 0;
	background: #fff;
	border: 2px solid var(--pill-color);
	opacity: 1;
	cursor: pointer;
	transition: none;
	white-space: nowrap;
	display: flex;
	color: #111;
	border-color: #111;
	justify-content: flex-start;
}

.hikenwa-level-pills label.hikenwa-level-badge::after {
	content: "\2713";
	width: 14px;
	text-align: center;
	font-size: 13px;
	line-height: 1;
	opacity: 0;
	margin-left: auto;
}

/* === HIKENWA PAGE BACKGROUND === */
body.page-id-1694,
body.page-id-1850 {
	background-color: #e1e1e1;
	background-image: url("https://hikenwa.org/wp-content/uploads/2026/07/topography-white.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
}

body.page-id-1694 .site-inner,
body.page-id-1850 .site-inner {
	background-color: transparent;
}

/* === HIKENWA CARDS + LEGEND LINK === */
.hikenwa-route-card,
.hikenwa-generator-route-card {
	background: #fff;
}

.hikenwa-legend-line {
	flex: 0 0 100%;
	margin-top: 4px;
}

/* === HIKENWA LEGEND LINK v2 === */
.hikenwa-flabel .hikenwa-legend-trigger {
	display: inline-block;
	margin-top: 6px;
}

.hikenwa-legend-trigger:hover,
.hikenwa-legend-trigger:focus {
	color: #111;
	text-decoration: none;
	border-bottom: none;
	background: none;
}

/* === HIKENWA LEGEND LINK FONT === */
/* === HIKENWA LEGEND LINK FONT v2 === */
.hikenwa-legend-trigger {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	text-transform: none;
	color: #3e5c1e;
	border-bottom: none;
	text-decoration: none;
	font-family: 'Libre Baskerville', serif;
	font-style: normal;
	font-size: 11px;
	letter-spacing: -0.5px;
}

/* === HIKENWA FILTER LINK BORDERS === */
.hikenwa-generator-filters a.hikenwa-legend-trigger,
.hikenwa-generator-filters a.hikenwa-legend-trigger:hover,
.hikenwa-generator-filters a.hikenwa-legend-trigger:focus,
.hikenwa-generator-filters a.hikenwa-clear-filters-link,
.hikenwa-generator-filters a.hikenwa-clear-filters-link:hover,
.hikenwa-generator-filters a.hikenwa-clear-filters-link:focus {
	border-bottom: none;
}

/* === HIKENWA HOME FILTER GREY TEXT === */
#front-page-5 .hikenwa-foptional {
	color: #555;
}

#front-page-5 .hikenwa-dist-sep {
	color: #555;
}

#front-page-5 .hikenwa-generator-filters ::placeholder {
	color: #5f5f5f;
	opacity: 1;
}

/* Crawlable trailhead index — collapsible list of every trailhead */
.hnwa-th-details {
	max-width: 1040px;
	margin: 20px auto 0;
}

.hnwa-th-details > summary {
	border: 1px solid #ddd;
	background: #fff;
	padding: 14px 18px;
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .02em;
	font-size: 13px;
	color: #111;
	transition: color .15s ease, border-color .15s ease;
}

.hnwa-th-details > summary::-webkit-details-marker {
	display: none;
}

.hnwa-th-details > summary::after {
	content: '\25be';
	font-size: 15px;
}

.hnwa-th-details[open] > summary::after {
	content: '\25b4';
}

.hnwa-th-details > summary:hover {
	color: #3e5c1e;
	border-color: #3e5c1e;
}

.hnwa-th-body {
	padding: 16px 18px 4px;
	overflow-x: auto;
}

.hnwa-th-inline {
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	line-height: 2;
	text-align: center;
	margin: 0;
}

/* Trailhead names never break mid-name */
.hnwa-th-inline a,
.hnwa-th-list li {
	white-space: nowrap;
}

.hnwa-th-city {
	font-size: 22px;
	margin: 22px 0 8px;
}

.hnwa-th-body > .hnwa-th-city:first-child,
.hnwa-th-wrap > .hnwa-th-city:first-child {
	margin-top: 2px;
}

.hnwa-th-body .hnwa-th-list,
.hnwa-th-wrap .hnwa-th-list {
	display: flex;
	flex-wrap: wrap;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	line-height: 2;
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.hnwa-th-body .hnwa-th-list li,
.hnwa-th-wrap .hnwa-th-list li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hnwa-th-list li:not(:last-child)::after {
	content: '·';
	margin: 0 9px;
	color: #999;
}

/* Dark photo bands invert the whole thing */
.image-section .hnwa-th-details > summary {
	background: transparent;
	border-color: rgba(255, 255, 255, .35);
	color: #fff;
}

.image-section .hnwa-th-details > summary:hover {
	color: #ffac08;
	border-color: #ffac08;
}

.image-section .hnwa-th-inline,
.image-section .hnwa-th-list {
	color: #fff;
}

.image-section .hnwa-th-inline a,
.image-section .hnwa-th-list a {
	color: #fff;
	border-color: rgba(255, 255, 255, .45);
}

.image-section .hnwa-th-inline a:hover,
.image-section .hnwa-th-list a:hover {
	color: #ffac08;
	border-color: #ffac08;
}

@media(max-width:560px) {
	.hnwa-th-body {
		padding-left: 0;
		padding-right: 0;
	}

	.hnwa-th-inline,
	.hnwa-th-body .hnwa-th-list,
	.hnwa-th-wrap .hnwa-th-list {
		font-size: clamp(12px, 3.4vw, 15px);
	}
}

/* ==========================================================================
13. Moved from Templates (formerly inline  in Code Snippets)
--------------------------------------------------------------------------
Moved here 2026-07-09 so all CSS is editable in one place. Dynamic,
PHP-generated CSS (the 404 background image and per-trail-system colors)
stays in its snippet, since it can't be static Customizer CSS.
========================================================================== */
/* --- Zone nav (Template: Taxonomy Archive, snippet 13) --- */
.hikenwa-zone-nav {
	display: flex;
	flex-wrap: wrap;
	width: max-content;
	max-width: 100%;
	margin: -1.5rem auto 1.25rem;
	border: 1px solid #ddd;
	overflow: hidden;
	background: #fff;
}

.hikenwa-zone-nav .hikenwa-zone-link {
	display: inline-block;
	padding: .5rem 1.35rem;
	font-family: 'Poppins', sans-serif;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #111;
	text-decoration: none;
	border-left: 1px solid #ddd;
	transition: background .15s ease, color .15s ease;
	white-space: nowrap;
}

.hikenwa-zone-nav .hikenwa-zone-link:first-child {
	border-left: 0;
}

.hikenwa-zone-nav a.hikenwa-zone-link:hover,
.hikenwa-zone-nav a.hikenwa-zone-link:focus {
	background: #111;
	color: #fff;
}

.hikenwa-zone-nav .hikenwa-zone-link.is-current {
	background: #ffac08;
	color: #111;
}

/* --- 3-column footer layout (3-Column Footer, snippet 21) ---
Dropped 3 dead `background:transparent` rules (.site-footer is #111 from the
Customizer; .site-footer .wrap and .genesis-footer-widgets/#genesis-footer
were no-ops on default/absent elements). */
.footer-widgets-3col {
	background: transparent;
	color: #ccc;
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	padding: 3rem 2rem 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

.footer-col {
	flex: 1 1 200px;
}

.footer-col-heading {
	color: #fff;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #333;
}

.footer-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-nav-list li {
	margin-bottom: 0.4rem;
}

.footer-nav-list a {
	color: #bbb;
	text-decoration: none;
	font-size: 0.9rem;
	transition: color 0.2s;
}

.footer-nav-list a:hover {
	color: #FFAC08;
}

@media (max-width: 768px) {
	.footer-widgets-3col {
		flex-direction: column;
		gap: 1.5rem;
	}
}

/* --- Floating \"Refine filters\" button (snippet 26) --- */
#hikenwa-search-again {
	position: fixed;
	left: 50%;
	bottom: 12px;
	transform: translateX(-50%);
	z-index: 99990;
	display: none;
	align-items: center;
	gap: .45em;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	padding: 7px 13px;
	font-size: 12px;
	letter-spacing: 0.4px;
	opacity: 0.92;
	transition: opacity 0.15s ease;
}

#hikenwa-search-again.is-visible {
	display: inline-flex;
}

#hikenwa-search-again::after {
	content: none !important;
}

#hikenwa-search-again:hover { filter: brightness(0.94); opacity: 1; }

#hikenwa-search-again:focus-visible {
	outline: 3px solid rgba(0, 0, 0, .4);
	outline-offset: 2px;
}

#hikenwa-search-again .hn-sa-icon {
	font-size: 0.95em;
	line-height: 1;
}

body.hikenwa-has-search-again #hikenwa-route-results {
	padding-bottom: 56px;
}

@media (max-width:600px) {
	#hikenwa-search-again {
		bottom: 8px;
	padding: 6px 11px;
	font-size: 11px;
}
}

/* --- 404 page, static rules (Template: 404, snippet 27) ---
The .hnwa-404 base rule with the PHP background image stays in the snippet. */
/* Make the 404 band run flush: kill the header-clearing top margin and the entry bottom margin */
body.error404 .site-inner {
	margin-top: 0;
}

body.error404 .content {
	padding-bottom: 0;
}

body.error404 .hnwa-404-entry {
	margin: 0;
}

.hnwa-404::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(6, 6, 6, .75);
}

.hnwa-404 .hnwa-404-inner {
	position: relative;
	z-index: 1;
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

.hnwa-404 .hnwa-404-kicker {
	font-family: 'Fugaz One', cursive;
	color: #ffac08;
	text-transform: uppercase;
	letter-spacing: .14em;
	margin: 0 0 16px;
	font-size: .95rem;
}

.hnwa-404 h1.hnwa-404-title {
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	text-align: left !important;
	text-transform: none !important;
	color: #fff;
	font-size: clamp(1.9rem, 4.6vw, 2.9rem);
	line-height: 1.14;
	margin: 0 0 22px;
}

.hnwa-404 .hnwa-404-body {
	font-family: 'Libre Baskerville', Georgia, serif;
	color: #f1f1f1;
	font-size: 1.12rem;
	line-height: 1.65;
	margin: 0;
	max-width: 640px;
}

.hnwa-404 .hnwa-404-body p {
	margin: 0 0 14px;
}

.hnwa-404 .hnwa-404-body p:last-child {
	margin-bottom: 0;
}

.hnwa-404 ul.hnwa-404-list {
	list-style: none;
	margin: 26px 0 0;
	padding: 0;
	max-width: 640px;
	font-family: 'Libre Baskerville', Georgia, serif;
	color: #f1f1f1;
	font-size: 1.06rem;
	line-height: 1.5;
}

.hnwa-404 ul.hnwa-404-list li {
	position: relative;
	padding-left: 28px;
	margin: 0 0 12px;
}

.hnwa-404 ul.hnwa-404-list li:last-child {
	margin-bottom: 0;
}

.hnwa-404 ul.hnwa-404-list li::before {
	content: "\2192";
	position: absolute;
	left: 0;
	top: 0;
	color: #ffac08;
	font-weight: 700;
}

.hnwa-404 ul.hnwa-404-list a {
	color: #ffac08;
	text-decoration: none;
	border-bottom: 1px dotted #ffac08;
	padding-bottom: 1px;
	transition: color .15s ease, border-color .15s ease;
}

.hnwa-404 ul.hnwa-404-list a:hover,
.hnwa-404 ul.hnwa-404-list a:focus {
	color: #b3b3b3;
	border-bottom-color: #b3b3b3;
}

/* --- Trail-system legend link styles (snippet 30) ---
Per-system colors are PHP-generated and remain in the snippet. */
.hikenwa-ts-legend a {
	white-space: nowrap;
	text-decoration: none !important;
	border: 0 !important;
	border-bottom: 2px dotted transparent !important;
	box-shadow: none !important;
}

.hikenwa-ts-legend a:hover,
.hikenwa-ts-legend a:focus {
	border-bottom: 2px dotted currentColor !important;
	text-decoration: none !important;
	box-shadow: none !important;
}


/* ==========================================================================
14. Mobile band-image fix (2026-07-09)
Lazy-loaded banner images (WP Smush) had `max-width:none` and no reserved
size, so as each 2/3-column band scrolled into view the image loaded at its
natural width and forced the section to reflow — the "overset, then snaps to
mobile width" behaviour. Cap the width to the intended flush-bleed size,
reserve space with an aspect-ratio, and clip any momentary overshoot.
========================================================================== */
.hnwa-step-img {
	max-width: calc(100% + 52px);
	aspect-ratio: 5 / 2;
	height: auto;
}

.hnwa-step,
.hnwa-ex-card,
.hnwa-comm-card,
.hnwa-gi-card {
	overflow: hidden;
}

/* ===== Trail Systems hub (page 2267) — moved from inline block ===== */
body.page-id-2267,body.page-id-2170 {
	background-color: #e1e1e1 !important;
	background-image: url("/wp-content/uploads/2026/07/topography-white.png") !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: cover !important;
	background-attachment: fixed !important;
}

body.page-id-2267 .site-inner,body.page-id-2170 .site-inner {
	background: transparent !important;
}

.prefer-list {
	font-size: 14px;
	margin: 20px 0 0;
	text-align: center;
}
.tsh-hub {
	max-width: 900px;
	margin: 0 auto;
	font-family: "Libre Baskerville", Georgia, serif;
	line-height: 1.65;
	color: #111;
}

.tsh-hub p {
	font-size: 1.02rem;
}

.tsh-hub a {
	color: #3e5c1e;
	text-decoration: none;
	border-bottom: 0;
}

.tsh-hub a:hover {
	text-decoration: underline;
	border-bottom: none
}

.tsh-hub .tsh-kicker {
	font-family: "Fugaz One", sans-serif;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #3e5c1e;
	font-size: .95rem;
	margin: 0 0 .4rem;
}

.tsh-hub h2 {
	font-family: "Poppins", system-ui, sans-serif;
	line-height: 1.2;
	color: #111;
}

.tsh-hub .tsh-toc {
	font-family: "Poppins", sans-serif;
	font-size: .92rem;
	text-align: center;
	margin: -58px 0 24px;
	color: #111;
}

.tsh-hub .tsh-toc a {
	margin: 0 4px;
	font-weight: 600;
}

.tsh-hub .tsh-toc a:hover {
	text-decoration: none;
}

.tsh-hub .tsh-toc-label {
	display: block;
	text-transform: uppercase;
	font-size: .7rem;
	letter-spacing: .14em;
	color: #111;
	font-weight: 700;
	margin: 15px 0 0;
}

.tsh-hub .tsh-intro {
	background: #fff;
	border: 1px solid #ddd;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
	padding: 35px 40px;
	margin-bottom: 14px;
}

.tsh-hub .tsh-intro h2 {
	font-size: 1.6rem;
	margin: 1.3em 0 .35rem;
}

.tsh-hub .tsh-intro>.tsh-kicker+p {
	font-size: 1.1rem;
}

.tsh-hub .tsh-area {
	margin-top: 40px;
	scroll-margin-top: 140px;
}

.tsh-hub .tsh-area h2 {
	font-size: 2.1rem;
	margin: 0 0 24px;
	text-align: center;
}

.tsh-hub .tsh-lede {
	color: #333;
	font-style: italic;
	margin: 0 0 14px;
	font-size: 1.05rem;
}

.tsh-hub .tsh-system {
	background: #fff;
	border: 1px solid #ddd;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
	padding: 22px 26px;
	margin-bottom: 20px;
	overflow: hidden;
}

.tsh-hub .tsh-system h3 {
	font-family: "Poppins", system-ui, sans-serif;
	font-size: 1.7rem;
	line-height: 1.2;
	margin: 0 0 .2rem;
}

.tsh-hub .tsh-system h3 a {
	color: #111;
}

.tsh-hub .tsh-system h3 a:hover {
	color: #3e5c1e;
	text-decoration: none;
}

.tsh-hub .tsh-facts {
	font-family: "Poppins", sans-serif;
	font-size: .92rem;
	font-weight: 600;
	color: #333;
	margin: 0 0 .7rem;
	line-height: 1.5;
}

.tsh-hub .tsh-map {
	float: right;
	width: 200px;
	max-width: 38%;
	height: auto;
	margin: 2px 0 12px 22px;
	border: 1px solid #ddd;
}

@media(max-width:640px) {
	.tsh-hub .tsh-map {
		float: none;
		display: block;
		width: 100%;
		max-width: 300px;
		margin: 0 auto 16px;
	}
}

.tsh-hub .tsh-link {
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	color: #3e5c1e;
}

.tsh-hub .tsh-link:hover {
	color: #ffac08;
	text-decoration: none;
}

.tsh-hub .tsh-link::after {
	content: " \2192";
}

.tsh-hub .tsh-explore {
	text-align: right;
	margin: .5rem 0 0;
}

.tsh-hub a.tsh-tl {
	color: #3e5c1e;
	border-bottom: 2px dotted #3e5c1e;
}

.tsh-hub a.tsh-tl:hover {
	color: #ffac08;
	border-bottom-color: #ffac08;
	text-decoration: none;
}

.tsh-hub .tsh-cta {
	margin-top: 40px;
}

.tsh-hub .tsh-cta .tsh-kicker {
	color: #3e5c1e;
	font-family: "Poppins", system-ui, sans-serif;
	font-size: 1.7rem;
	font-weight: 800;
	text-transform: none;
	letter-spacing: 0;
	margin: 0 0 .5rem;
}

.tsh-hub .tsh-cta a {
	color: #3e5c1e;
	border-bottom: 2px dotted #3e5c1e;
}

.tsh-hub .tsh-cta a:hover {
	color: #ffac08;
	border-bottom-color: #ffac08;
	text-decoration: none;
}

.tsh-hub .tsh-cta p {
	color: #111;
}

/* Trailheads hub styles */
.tsh-hub a,.tsh-hub a:hover,.tsh-hub a:focus,.tsh-hub a:active{text-decoration:none!important;}
.tsh-hub .tsh-photo{display:block;width:100%;max-height:340px;object-fit:cover;margin:0 0 1.2em;}
.tsh-toc a{white-space:nowrap;}
.tsh-hub a{text-decoration:none;border-bottom:2px dotted #3E5C1E;}
.tsh-hub a:hover,.tsh-hub a:focus{color:#FFAC08;border-bottom-color:#FFAC08;text-decoration:none;}
.tsh-hub .tsh-toc a{border-bottom:none;}
.tsh-hub .tsh-sub{color:#111;text-align:center;font-style:italic;font-weight:600;letter-spacing:-0.02em;margin:-20px 0 40px;}


/* ============================================================
   GLOBAL BACKGROUND  (updated 2026-07-14)
   Topographic pattern on EVERY page, no exceptions -- including home.
   The .site-inner content column stays transparent by default so the
   pattern shows through it too. This supersedes the older per-page
   body.page-id-#### background rules above (now redundant) and the
   home-page exclusion that used to live here.
   ============================================================ */

body {
	background-color: #e1e1e1;
	background-image: url("/wp-content/uploads/2026/07/topography-white.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
}
.site-inner {
	background: transparent;
}

/* ---- OPT-OUT (checkbox-controlled): plain white content column ----
   Controlled by the "Page Background" checkbox in the Page/Post editor
   sidebar (snippet: "Body Background Toggle (Pages + Posts)"). Turns
   .site-inner white on that page/post only -- the topo pattern keeps
   showing everywhere else (margins, header/footer, other pages). */
body.hnwa-white-bg .site-inner {
	background: #fff !important;
	padding: 40px 50px;
	border: 1px solid #ddd;
	box-shadow: 1px 1px 5px #eee;
	margin-bottom: 40px;
}

/* ============================================================
   REUSABLE CONTENT CARD  (added 2026-07-12)
   White "box" for content sections — matches the Trailheads hub.
   Wrap a section in <div class="hnwa-card" id="..."> ... </div>.
   ============================================================ */
.hnwa-card {
	background: #fff;
	border: 0;
	box-shadow: var(--hikenwa-card-shadow);
	padding: 35px 40px;
	margin: 0 0 22px;
	scroll-margin-top: 140px;
}
.hnwa-card > :first-child { margin-top: 0; }
.hnwa-card > :last-child { margin-bottom: 0; }
@media (max-width: 600px) {
	.hnwa-card { padding: 24px 22px; }
}

/* ============================================================
   PAGE TABLE OF CONTENTS  (.page-toc) — added 2026-07-13
   Reusable jump-link nav for content pages. Poppins links,
   green with a yellow hover, no underline/border, and each
   link stays on one line (wraps only between items).
   ============================================================ */
.page-toc {
	text-align: center;
	font-family: 'Poppins', sans-serif;
	padding: 6px 56px 10px;
}
.page-toc a {
	color: #3e5c1e;
	text-decoration: none;
	border-bottom: none;
	white-space: nowrap;
	transition: color 0.15s ease;
}
.page-toc a:hover,
.page-toc a:focus {
	color: #ffac08;
	border-bottom: none;
}
@media (max-width: 600px) {
	.page-toc { padding-left: 18px; padding-right: 18px; }
}

/* ============================================================
   TRAIL SYSTEM ENTRIES (Trail Systems hub) — added 2026-07-13
   Italic stats, small left-floated photo with text wrap,
   right-aligned yellow buttons, roomy rule between systems.
   ============================================================ */
.tss-system { display: flow-root; }
.tss-stats { font-style: italic; color: #111; margin: -15px 0 16px; line-height: 1.4; font-size: 16px; }
.tss-figure { float: right; width: 42%; max-width: 260px; margin: 4px 0 14px 28px; }
.tss-figure img { width: 100%; height: auto; display: block; }
.tss-sep.wp-block-separator { border: none; border-top: 1px solid #ddd; height: 0; width: 100%; max-width: 100%; margin: 48px auto; opacity: 1; background: none; }
.tss-actions { clear: both; margin-top: 8px; }
.tss-actions .wp-block-button__link {
	background-color: #ffac08;
	border: none;
	color: #111;
	border-radius: 0;
	padding: 14px 26px;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
}
.tss-actions .wp-block-button__link:hover,
.tss-actions .wp-block-button__link:focus { background-color: #111; color: #fff; border: none;}
@media (max-width: 600px) {
	.tss-figure { float: none; width: 100%; max-width: 100%; margin: 0 0 16px; }
}
/* tss-sep full-width override (beats core separator default width) */
.tss-sep.wp-block-separator { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }

/* Team cards: board headshots fill their Media&Text column (2026-07-13) */
.hnwa-card .wp-block-media-text__media img { width: 100% !important; height: auto !important; }

/* Team cards: align bio text under the name (remove Media&Text left padding) */
.hnwa-card .wp-block-media-text__content { padding-left: 0; }

/* ============================================================
   DIFFICULTY LEGEND TRIGGER BUTTON (updated 2026-07-15)
   Centered, boxed button matching the "Too many options? Filter
   these..." archive-filter-cta button style/alignment. Icon is
   brand green; button label text is black.
   ============================================================ */
.hikenwa-legend-cta {
	margin: 0 0 20px;
	text-align: center;
}

.hikenwa-legend-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: Poppins, sans-serif;
	text-transform: uppercase;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	color: #111;
	background: #fff;
	border: 1px solid #ddd;
	border-bottom: 1px solid #ddd !important;
	text-decoration: none !important;
	border-radius: 0;
	padding: 8px 13px;
	cursor: pointer;
	transition: background-color .15s, border-color .15s, color .15s;
}

.hikenwa-legend-cta-btn:hover,
.hikenwa-legend-cta-btn:focus {
	color: #fff;
	background: #111;
	border: 1px solid #111;
	border-bottom: 1px solid #111 !important;
}

.hikenwa-legend-cta-btn i {
	color: #3e5c1e;
}

/* ============================================================
 *    COMMUNITY BAND FIX - Hide Community Hikes, expand Bella Vista
 *    ============================================================ */
.hnwa-comm-grid {
	  grid-template-columns: repeat(2, 1fr) !important;
}

.hnwa-comm-grid .hnwa-comm-card .hnwa-step-img {
  object-fit: cover;
}

.hnwa-comm-grid .hnwa-comm-card:first-child {
	  display: none !important;
}

.hnwa-comm-grid .hnwa-comm-card {
	  max-width: 100% !important;
}

/* ============ CONTENT H2 SPACING (site-wide) — added 2026-07-22 ============ */
.entry-content h2 { margin-bottom: 10px; }


/* ============ CARD FLOAT CONTAINMENT — added 2026-07-22 ============ */
/* Cards establish a new formatting context so floated figures (e.g. .tss-figure) stay inside them. */
.hnwa-card{display:flow-root;}


/* ============ IN-CARD HEADING ANCHORS clear the fixed header — added 2026-07-22 ============ */
.entry-content h2[id]{scroll-margin-top:140px;}


/* ============ IN-CARD PAGE TITLES (H1) — added 2026-07-22 ============ */
/* Treated content pages hide the theme title and show the page title inside the intro card. H1 = 50px page title; section H2s stay 40px. */
.entry-content .hnwa-card h1.wp-block-heading{font-size:50px;letter-spacing:-1px;line-height:1.1;margin-bottom:10px;}


/* ============ CONTACT FORM TYPE FIXES (Ninja Forms) — added 2026-07-22 ============ */
/* Inputs/select/textarea were Oswald 200 (too light). Regular weight, slightly smaller than labels. */
.nf-form-cont input, .nf-form-cont select, .nf-form-cont textarea { font-weight:400; font-size:18px; }
/* The required-fields note competed with field labels at 20px. */
.nf-form-cont .nf-form-fields-required { font-size:14px; font-style:italic; color:#555; margin-bottom:14px; }

/* Field labels in Poppins to match site headings — added 2026-07-22 */
.nf-form-cont .nf-field-label label { font-family:'Poppins',sans-serif; }


/* ===== Progressive Hiking Guide — front-page-6 ===== */
.hnwa-guide-cta { margin-top: 26px; }
/* Hike-with-others inside the Get Involved photo band */
#front-page-7 .widget + .widget .hnwa-section { padding-top: 0; }
#front-page-7 .hnwa-comm-card { border-top-color: #ffac08; box-shadow: 0 6px 20px rgba(0,0,0,.25); }


/* Progressive Hiking Guide band — split layout & level list */
.hnwa-guide-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: stretch; max-width: 1040px; margin: 0 auto; }
.hnwa-guide-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 12% center; display: block; box-shadow: 0 6px 20px rgba(0,0,0,.15); }
.hnwa-guide-copy h2 { font-size: clamp(23px, 5.8vw, 32px); margin-bottom: 12px; }
.hnwa-guide-copy .hnwa-intro { font-size: 17px; color: #444; margin-bottom: 22px; }
.hnwa-gl-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid #ddd; }
.hnwa-gl-list li { display: flex; align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid #ddd; font-family: 'Poppins',sans-serif; font-size: 15px; color: #111; }
.hnwa-gl-badge { font-family: 'Poppins',sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #fff; padding: 4px 0; min-width: 118px; text-align: center; flex-shrink: 0; }
.gl-paved { background: #6b6b6b; }
.gl-easy { background: #3e5c1e; }
.gl-moderate { background: #25628a; }
.gl-challenging { background: #605680; }
.hnwa-gl-count strong { font-weight: 700; }
.hnwa-gl-note { color: #666; font-size: 13.5px; font-style: italic; }
@media (max-width: 860px) {
  .hnwa-guide-grid { grid-template-columns: 1fr; gap: 26px; }
  .hnwa-guide-photo { max-height: 300px; overflow: hidden; }
}


/* Progressive guide band v3 — icons, clickable level rows, left alignment */
.hnwa-guide-copy, .hnwa-guide-copy .hnwa-kicker, .hnwa-guide-copy h2, .hnwa-guide-copy .hnwa-intro { text-align: left; }
.hnwa-gl-list li { display: block; padding: 0; }
a.hnwa-gl-row { display: flex; align-items: center; gap: 16px; padding: 11px 0; text-decoration: none; border-bottom: none; }
a.hnwa-gl-row:hover, a.hnwa-gl-row:focus { background: transparent; border-bottom: none; text-decoration: none; }
.hnwa-gl-badge { min-width: 158px; padding: 9px 16px; text-align: left; }
.hnwa-gl-badge i { margin-right: 7px; font-size: 11px; }
.hnwa-gl-count { font-family: 'Poppins',sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #666; }
.hnwa-gl-count strong { font-weight: 800; font-size: 24px; color: #111; margin-right: 3px; letter-spacing: 0; }
.hnwa-gl-note { font-size: 14px; font-weight: 400; }
.hnwa-guide-pace { font-size: 15px; color: #555; font-style: italic; margin: 14px 0 0; text-align: left; }


/* Progressive guide band — CSS list icon in level badges (matches guide page jump buttons) + wider CTA */
.hnwa-gl-badge::before { content: ""; display: inline-block; width: 15px; height: 13px; margin-right: 8px; vertical-align: -2px; background: linear-gradient(rgba(255,255,255,.35) 0, rgba(255,255,255,.35) 3px, transparent 3px, transparent 5px, rgba(255,255,255,.35) 5px, rgba(255,255,255,.35) 8px, transparent 8px, transparent 10px, rgba(255,255,255,.35) 10px, rgba(255,255,255,.35) 13px); }
.hnwa-guide-cta .button { padding-left: 38px; padding-right: 38px; }


/* Level-badge meter icons — bars fill bottom-up, matching the guide page buttons */
.gl-paved::before { background: linear-gradient(rgba(255,255,255,.35) 0, rgba(255,255,255,.35) 3px, transparent 3px, transparent 5px, rgba(255,255,255,.35) 5px, rgba(255,255,255,.35) 8px, transparent 8px, transparent 10px, rgba(255,255,255,.35) 10px, rgba(255,255,255,.35) 13px); }
.gl-easy::before { background: linear-gradient(rgba(255,255,255,.35) 0, rgba(255,255,255,.35) 3px, transparent 3px, transparent 5px, rgba(255,255,255,.35) 5px, rgba(255,255,255,.35) 8px, transparent 8px, transparent 10px, #fff 10px, #fff 13px); }
.gl-moderate::before { background: linear-gradient(rgba(255,255,255,.35) 0, rgba(255,255,255,.35) 3px, transparent 3px, transparent 5px, #fff 5px, #fff 8px, transparent 8px, transparent 10px, #fff 10px, #fff 13px); }
.gl-challenging::before { background: linear-gradient(#fff 0, #fff 3px, transparent 3px, transparent 5px, #fff 5px, #fff 8px, transparent 8px, transparent 10px, #fff 10px, #fff 13px); }
.hnwa-gl-note { text-transform: none; letter-spacing: 0; }


/* Level rows — badge darkens on hover, same effect as the guide page buttons (paint-only, no layout shift) */
a.hnwa-gl-row:hover .hnwa-gl-badge, a.hnwa-gl-row:focus .hnwa-gl-badge { filter: brightness(0.85); }

/* ===== Front Page 8 — Get Involved (light solid-section, topo bg via theme) — added 2026-07-24 ===== */
#front-page-8 .hnwa-kicker { color: #3e5c1e; }
#front-page-8 .hnwa-head .hnwa-intro { color: #444; }
#front-page-8 .hnwa-gi-grid--single { display: block; max-width: 560px; margin: 0 auto; }
#front-page-8 .hnwa-gi-card { border-top-color: #3e5c1e; box-shadow: 0 6px 20px rgba(0,0,0,0.12); }

/* ===== Single route page ===== */
.hnwa-route-page {
	max-width: 1040px;
}

.hnwa-rt-hero {
	position: relative;
	background: #1a1a1a center/cover no-repeat;
	margin: 8px 0 0;
}

.hnwa-rt-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(17, 17, 17, .78) 0%, rgba(17, 17, 17, .58) 60%, rgba(17, 17, 17, .4) 100%);
}

.hnwa-rt-hero--plain::before {
	background: rgba(17, 17, 17, .92);
}

.hnwa-rt-hero-inner {
	position: relative;
	z-index: 2;
	padding: 46px 34px;
}

.hnwa-rt-kicker {
	font-family: 'Fugaz One', cursive;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 13px;
	color: #ffac08;
	margin: 0 0 10px;
}

.hnwa-rt-hero h1 {
	color: #fff;
	font-size: clamp(26px, 5vw, 40px);
	line-height: 1.12;
	margin: 0 0 16px;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .5);
}

.hnwa-rt-badges {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.hnwa-rt-adv {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 12px;
	line-height: 1.6;
	color: #ffac08;
	border: 1px solid #ffac08;
	padding: 4px 14px;
}

.hnwa-rt-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr) 1.6fr;
	background: #111;
}

.hnwa-rt-stats > div {
	padding: 24px 14px;
	text-align: center;
	border-left: 1px solid rgba(255, 255, 255, .14);
}

.hnwa-rt-stats > div:first-child {
	border-left: 0;
}

.hnwa-rt-stats b {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	font-size: 28px;
	line-height: 1;
	color: #fff;
}

.hnwa-rt-stats span {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #ffac08;
	margin-top: 9px;
}

.hnwa-rt-cols {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 34px;
	align-items: start;
	margin: 44px 0;
}

.hnwa-rt-card {
	background: #fff;
	border: 1px solid #ddd;
	border-top: 10px solid #3e5c1e;
	padding: 24px 34px 28px;
	margin: 0 0 44px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
}

.hnwa-rt-meta {
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	margin: 0 0 6px;
}

.hnwa-rt-note {
	margin: 0 0 20px;
}

.hnwa-rt-btn {
	display: inline-block;
	background: #ffac08;
	color: #111;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	line-height: 1.2;
	padding: 14px 26px;
	border: 0;
	border-radius: 0;
	text-decoration: none;
}

.hnwa-rt-btn:hover {
	background: #111;
	color: #fff;
}

.hnwa-rt-btn--ghost {
	background: transparent;
	border: 2px solid #3e5c1e;
	color: #3e5c1e;
}

.hnwa-rt-btn--ghost:hover {
	background: #3e5c1e;
	color: #fff;
}

.hnwa-rt-cta {
	margin: 18px 0 0;
}

.hnwa-rt-band {
	background: #fff;
	border: 1px solid #ddd;
	padding: 34px 34px 56px;
	margin: 0 0 26px;
}

.hnwa-route-page h2 {
	text-align: left;
}

.hnwa-route-page a:not(.hnwa-rt-btn):not(.hikenwa-crumb-link):not(.hikenwa-route-title-link):not(.hikenwa-komoot-link) {
	color: #3e5c1e;
}

.hnwa-route-page a:not(.hnwa-rt-btn):not(.hikenwa-crumb-link):not(.hikenwa-route-title-link):not(.hikenwa-komoot-link):hover {
	color: #111;
}

.hnwa-rt-hero h1 {
	text-align: left;
}

.hnwa-rt-maprow {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	align-items: center;
}

.hnwa-rt-mapbox {
	border: 1px solid #ddd;
	background: #f2efe8;
	padding: 14px;
	text-align: center;
}

.hnwa-rt-mapbox img {
	max-width: min(340px, 100%);
	height: auto;
	display: block;
	margin: 0 auto;
}

.hnwa-rt-gallery-wrap {
	margin: 0 0 26px;
}

.hnwa-rt-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.hnwa-rt-gallery figure {
	margin: 0;
}

.hnwa-rt-gallery img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.hnwa-rt-routes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	margin-top: 18px;
}

.hnwa-rt-route {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	align-items: baseline;
	background: #fff;
	border: 1px solid #ddd;
	padding: 15px 18px;
}

.hnwa-rt-route a {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 15px;
}

.hnwa-rt-num {
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	color: #666;
	white-space: nowrap;
}

@media(max-width:860px) {

	.hnwa-rt-cols,
	.hnwa-rt-maprow,
	.hnwa-rt-routes {
		grid-template-columns: 1fr;
	}

	.hnwa-rt-gallery {
		grid-template-columns: repeat(2, 1fr);
	}

	.hnwa-rt-stats {
		grid-template-columns: repeat(2, 1fr);
	}

	.hnwa-rt-stats > div {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, .14);
	}

	.hnwa-rt-hero-inner {
		padding: 32px 20px;
	}

	.hnwa-rt-band {
		padding: 24px 20px;
	}
}


/* Route page — restacked layout */
.hnwa-rt-band--tight {
	margin-top: 18px;
}

.hnwa-rt-expect,
.hnwa-rt-more {
	margin: 0 0 26px;
}

.hnwa-rt-sibs {
	display: grid;
	gap: 12px;
	margin-top: 18px;
}

.hnwa-rt-sib {
	display: flex;
	align-items: center;
	gap: 18px;
	background: #fff;
	border: 1px solid #ddd;
	padding: 12px 18px 12px 12px;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.hnwa-rt-sib:hover {
	border-color: #3e5c1e;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .07);
}

.hnwa-rt-sib-thumb img {
	width: 104px;
	height: 78px;
	object-fit: cover;
	display: block;
	border: 1px solid #ddd;
}

.hnwa-rt-sib-body {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.hnwa-rt-sib-title {
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	font-size: 20px;
	line-height: 1.1;
	color: #111;
}

.hnwa-rt-sib-stats {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-style: italic;
	font-size: 13px;
	color: #111;
}

@media(max-width:560px) {

	.hnwa-rt-sib-thumb img {
		width: 74px;
		height: 58px;
	}

	.hnwa-rt-card {
		padding: 20px 20px 24px;
	}
}


/* Route page — card, park block and sibling refinements */
.hnwa-rt-box {
	background: #fff;
	border: 1px solid #ddd;
	padding: 24px 34px 54px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
}

.hnwa-rt-more-intro {
	font-style: italic;
}

.hnwa-rt-park {
	background: #fff;
	border: 1px solid #ddd;
	margin: 0 0 26px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
	overflow: hidden;
}

.hnwa-rt-park-photo img {
	width: 100%;
	height: 260px;
	object-fit: cover;
	display: block;
}

.hnwa-rt-park-body {
	padding: 24px 30px 28px;
}

.hnwa-rt-park-body h2 {
	margin: 0 0 4px;
}

.hnwa-rt-park-name {
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	font-size: 26px;
	line-height: 1.2;
	color: #111;
	margin: 2px 0 18px;
}

.hnwa-rt-park-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hnwa-rt-park-list li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	list-style: none;
	margin: 0 0 10px;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	color: #444;
}

.hnwa-rt-park-list i {
	color: #3e5c1e;
	font-size: 15px;
	width: 20px;
	flex: 0 0 20px;
	text-align: center;
	margin-top: 3px;
}

.hnwa-rt-sib {
	position: relative;
}

.hnwa-rt-sib-body {
	flex: 1 1 auto;
}

.hnwa-rt-sib-cta {
	margin-left: auto;
	flex: 0 0 auto;
	background: #111;
	color: #fff;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	line-height: 1.2;
	padding: 9px 16px;
	transition: background .15s ease, color .15s ease;
}

.hnwa-rt-sib:hover .hnwa-rt-sib-cta {
	background: #ffac08;
	color: #111;
}

@media(max-width:700px) {

	.hnwa-rt-park {
		grid-template-columns: 1fr;
	}

	.hnwa-rt-park-photo img {
		min-height: 190px;
		max-height: 220px;
	}

	.hnwa-rt-park-body {
		padding: 22px 20px 24px;
	}

	.hnwa-rt-box {
		padding: 20px 20px 24px;
	}

	.hnwa-rt-sib {
		flex-wrap: wrap;
	}

	.hnwa-rt-sib-cta {
		margin-left: 0;
	}
}


/* Route page — park block, box spacing and centred More routes */
.hnwa-rt-box > h2:first-child,
.hnwa-rt-park-body > h2:first-child {
	margin-top: 0;
}

.hnwa-rt-park .hikenwa-fact-value {
	font-style: italic;
}

.hnwa-rt-park .hikenwa-facts-grid {
	margin-bottom: 4px;
}

.hnwa-rt-more--centered > h2,
.hnwa-rt-more--centered > .hnwa-rt-more-intro,
.hnwa-rt-more--centered > .hnwa-rt-cta {
	text-align: center;
}

.hnwa-rt-more--centered > .hnwa-rt-cta {
	margin-top: 26px;
}


/* Route page — Where to park heading over the photo */
.hnwa-rt-park-photo {
	position: relative;
}

.hnwa-rt-park-shot {
	position: relative;
}

.hnwa-rt-park-shot::after {
	content: '';
	position: absolute;
	inset: auto 0 0 0;
	height: 62%;
	background: linear-gradient(to bottom, rgba(17, 17, 17, 0) 0%, rgba(17, 17, 17, .82) 100%);
}

.hnwa-rt-park-heading {
	position: absolute;
	left: 34px;
	right: 34px;
	bottom: 20px;
	z-index: 2;
	margin: 0;
	color: #fff;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .5);
}

.hnwa-rt-park .hikenwa-fact-label {
	margin-bottom: 4px;
}

.hnwa-rt-park .hikenwa-fact-value {
	margin-bottom: 0;
}

.hnwa-rt-park .hikenwa-facts-grid {
	margin: 0;
}

.hnwa-rt-park .hnwa-rt-cta {
	margin-top: 22px;
}

@media(max-width:700px) {

	.hnwa-rt-park-heading {
		left: 20px;
		right: 20px;
		bottom: 14px;
	}
}


/* Route page — stat icons and trailhead directions */
.hnwa-rt-stats b i {
	font-size: 17px;
	color: #ffac08;
}

.hnwa-rt-park .hikenwa-fact-directions {
	display: inline-block;
	margin-top: 8px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .02em;
}

@media(max-width:700px) {

	.hnwa-rt-band {
		padding: 24px 20px 32px;
	}
}


/* Route page — photo grid and lightbox */
.hnwa-rt-shot {
	display: block;
	padding: 0;
	border: 1px solid #ddd;
	background: none;
	cursor: zoom-in;
	width: 100%;
}

.hnwa-rt-shot img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	transition: opacity .15s ease;
}

.hnwa-rt-shot:hover img {
	opacity: .88;
}

.hnwa-lb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgba(17, 17, 17, .93);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px 64px;
}

.hnwa-lb[hidden] {
	display: none;
}

.hnwa-lb-img {
	max-width: 100%;
	max-height: 86vh;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

.hnwa-lb-btn {
	position: absolute;
	background: none;
	border: 0;
	color: #fff;
	font-family: 'Poppins', sans-serif;
	line-height: 1;
	cursor: pointer;
	padding: 10px 16px;
	transition: color .15s ease;
}

.hnwa-lb-btn:hover,
.hnwa-lb-btn:focus-visible {
	color: #ffac08;
}

.hnwa-lb-close {
	top: 12px;
	right: 14px;
	font-size: 40px;
}

.hnwa-lb-prev {
	left: 6px;
	font-size: 54px;
}

.hnwa-lb-next {
	right: 6px;
	font-size: 54px;
}

.hnwa-lb-count {
	position: absolute;
	bottom: 14px;
	left: 0;
	right: 0;
	text-align: center;
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #ffac08;
}

@media(max-width:700px) {

	.hnwa-lb {
		padding: 56px 12px 48px;
	}

	.hnwa-lb-prev,
	.hnwa-lb-next {
		font-size: 40px;
	}

	.hnwa-rt-box {
		padding: 20px 20px 40px;
	}
}

/* route gallery: single column on phones */
@media(max-width:540px) {

	.hnwa-rt-gallery {
		grid-template-columns: 1fr;
	}
}

/* route page: heading + box rhythm */
.hnwa-route-page .hnwa-rt-box > h2,
.hnwa-route-page .hnwa-rt-maprow h2,
.hnwa-route-page .hnwa-rt-more > h2 {
	margin-bottom: 8px;
}

.hnwa-route-page .hnwa-rt-box > *:last-child,
.hnwa-route-page .hnwa-rt-maprow > div > *:last-child {
	margin-bottom: 0;
}

/* route page: secondary link under the Komoot button */
.hnwa-rt-maprow .hnwa-rt-cta {
	margin-bottom: 9px;
}

.hnwa-rt-subcta {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .06em;
	margin: 0;
}

.hnwa-rt-subcta a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #3e5c1e;
	font-weight: 700;
	text-transform: uppercase;
	border: 0;
	text-decoration: none;
}

.hnwa-rt-subcta a:hover {
	color: #111;
	border: 0;
	text-decoration: none;
}

.hnwa-rt-subcta a i {
	color: #3e5c1e;
	font-size: 15px;
	font-style: normal;
}

.hnwa-rt-subcta a:hover i {
	color: #111;
}

/* route stats: keep the route type on one line, labels aligned */
.hnwa-rt-stats b {
	white-space: nowrap;
	min-height: 30px;
	line-height: 1;
}

.hnwa-rt-stats > div:last-child b {
	font-size: 26px;
}

.hnwa-rt-stats > div:last-child b i {
	font-size: 16px;
}

.hnwa-rt-stats b i.hnwa-lolli {
	transform: rotate(45deg);
	font-size: 15px;
}

@media(max-width:860px) {

	.hnwa-rt-stats > div:last-child b {
		font-size: 22px;
	}
}

@media(max-width:540px) {

	.hnwa-rt-stats > div {
		padding-left: 8px;
		padding-right: 8px;
	}

	.hnwa-rt-stats > div:last-child b {
		font-size: 17px;
	}

	.hnwa-rt-stats > div:last-child b i {
		font-size: 12px;
	}

	.hnwa-rt-stats b i.hnwa-lolli {
		font-size: 11px;
	}
}

/* route page: inline prose links keep the dotted underline */
.hnwa-route-page p:not([class]) a:not([class]),
.hnwa-route-page .hnwa-rt-note a {
	color: #3e5c1e;
	text-decoration: none;
	border-bottom: 2px dotted #3e5c1e;
}

.hnwa-route-page p:not([class]) a:not([class]):hover,
.hnwa-route-page .hnwa-rt-note a:hover {
	color: #ffac08;
	border-bottom-color: #ffac08;
}

/* route page: trailhead locator map over the photo */
.hnwa-rt-parkmap {
	position: absolute;
	top: 0;
	right: 0;
	width: 34%;
	height: 100%;
	z-index: 3;
	border-left: 3px solid #fff;
	background: #e8e4dc;
}

.hnwa-rt-parkmap .leaflet-container {
	font-family: 'Poppins', sans-serif;
}

@media(max-width:860px) {

	.hnwa-rt-parkmap {
		position: static;
		width: 100%;
		height: 230px;
		border-left: 0;
		border-top: 3px solid #fff;
	}
}

/* route page: Google plus code + mobile locator map */
.hnwa-rt-gcode::before {
	content: '\00b7';
	margin: 0 6px;
}

@media(max-width:860px) {

	.hnwa-rt-parkmap {
		height: 260px;
	}

	.hnwa-rt-park-heading {
		left: 22px;
		right: 22px;
		bottom: 16px;
	}
}


/* ==========================================================================
   TRAIL SURFACES PAGE — photo galleries (added 2026-07-25)
   Used by .hnwa-surface-gallery on /plan/trail-surfaces/ (page 3410).
   Core places gallery captions absolutely over the image; these photos use the
   caption as teaching text, so it is moved below the image and made legible.
   ========================================================================== */
.hnwa-surface-gallery.wp-block-gallery { gap: 18px; margin: 26px 0 6px; }
.hnwa-surface-gallery.wp-block-gallery.has-nested-images figure.wp-block-image {
  align-self: flex-start;
  /* core lets the last figure in a row flex to fill; force uniform thirds instead */
  flex-grow: 0 !important;
  width: calc(50% - 9px) !important;   /* two across */
}
.hnwa-surface-gallery.wp-block-gallery.has-nested-images figure.wp-block-image img {
  width: 100%; height: auto; display: block; border-radius: 2px; border: 1px solid #ddd;
}
.hnwa-surface-gallery.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  position: static; background: none; padding: 9px 2px 0; margin: 0; max-height: none;
  font-family: "Libre Baskerville", Georgia, serif; font-style: italic; font-weight: 600;
  font-size: 0.95rem; line-height: 1.5;
  color: #333; text-align: left; overflow: visible; text-shadow: none;
}
.hnwa-surface-gallery.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a { color: #3e5c1e; }
@media (max-width: 560px) {
  .hnwa-surface-gallery.wp-block-gallery.has-nested-images figure.wp-block-image {
    width: 100% !important;
  }
}


/* ==========================================================================
   TRAIL SUITABILITY  (added 2026-07-28)
   Styles the two shortcodes in "Hikenwa: Trail Suitability — Display":
   [hnwa_system_trails] = the per-system card on a trail-system archive
   [hnwa_trail_check]   = the site-wide searchable trail list
   ========================================================================== */

.hnwa-ts-card { scroll-margin-top: 140px; }
.hikenwa-page .hnwa-ts-title { margin: 0 0 8px; } /* first child of the card - the card padding supplies the space */
.hnwa-ts-lede { font-style: italic; color: #555; margin: 16px 0 26px; }
.hnwa-ts-split { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
.hnwa-ts-details { border: 1px solid #e3e3e0; background: #fcfcfb; }
.hnwa-ts-details[open] summary { border-bottom: 1px solid #ececea; }
.hnwa-ts-details summary:hover { background: #f5f5f2; }
.hnwa-ts-details summary { cursor: pointer; list-style: none; display: block; position: relative; padding: 14px 36px 14px 16px; }
.hnwa-ts-details summary::-webkit-details-marker { display: none; }
.hnwa-ts-details summary::after { content: ""; position: absolute; right: 16px; top: 20px; width: 9px; height: 9px; border-right: 2px solid #aaa; border-bottom: 2px solid #aaa; transform: rotate(45deg); transition: transform .15s ease; }
.hnwa-ts-details[open] summary::after { transform: rotate(-135deg); top: 24px; }
.hnwa-ts-badge { display: inline-block; font-family: 'Oswald', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; padding: 5px 10px; white-space: nowrap; vertical-align: middle; min-width: 122px; text-align: center; border: none; }
.hnwa-ts-badge-good { background: #3e5c1e; color: #fff; }
.hnwa-ts-badge-avoid { background: #8c2f2f; color: #fff; }
.hnwa-ts-num { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 14px; letter-spacing: .03em; color: #444; margin-left: 9px; vertical-align: middle; }
.hnwa-ts-details .hnwa-ts-list { margin: 0; padding: 12px 16px 14px; }
.hnwa-ts-h { margin: 0; display: block; font-size: 11px; line-height: 1; }

.hnwa-ts-sub { display: block; font-family: 'Libre Baskerville', Georgia, serif; font-style: italic; font-size: 14px; color: #555; margin-top: 9px; line-height: 1.4; }
.hnwa-ts-list { list-style: none; margin: 0; padding: 0; font-size: 14px; line-height: 1.45; }
.hnwa-ts-card .hnwa-ts-list li { overflow-wrap: normal; hyphens: none; font-size: 14px; line-height: 1.5; margin: 0; padding: 3px 0; border-bottom: 1px solid #f2f2f2; break-inside: avoid; }
.hnwa-ts-list li:last-child { border-bottom: none; }
.hnwa-ts-list-wide { columns: 3; column-gap: 30px; }
.hnwa-ts-why { display: block; font-family: 'Poppins', sans-serif; font-size: 11.5px; color: #6B6B6B; font-style: italic; line-height: 1.4; }
.hnwa-ts-note { font-family: 'Libre Baskerville', Georgia, serif; font-size: 13px; line-height: 1.7; color: #666; background: none; border: none; border-top: 1px solid #ececea; padding: 13px 16px 15px; margin: 0; }
.hnwa-ts-details .hnwa-ts-list { padding-bottom: 4px; }
.hnwa-ts-more { font-size: 14px; color: #555; margin: 20px 0 0; }
.hnwa-ts-more a { color: #3e5c1e; }
.hnwa-ts-more a:hover, .hnwa-ts-more a:focus { color: #ec8401; }
.hnwa-ts-btn { display: inline-block; font-family: 'Oswald', sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; font-size: 14px; background: #ffac08; color: #111; padding: 13px 22px; text-decoration: none; border-bottom: none; }
.hnwa-ts-btn:hover, .hnwa-ts-btn:focus { background: #ec8401; color: #111; }
@media only screen and (max-width: 700px) {
	.hnwa-ts-split { grid-template-columns: 1fr; gap: 24px; }
	.hnwa-ts-list-wide { columns: 1; }
}

/* --- site-wide trail lookup ---------------------------------------------- */

.hnwa-tc-controls { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 0 0 16px; }
.hnwa-tc-controls input[type="search"], .hnwa-tc-controls select { font-family: 'Libre Baskerville', Georgia, serif; font-size: 15px; padding: 10px 12px; border: 1px solid #ccc; background: #fff; color: #111; border-radius: 0; }
.hnwa-tc-controls input[type="search"]::placeholder { color: #777; opacity: 1; }
.hnwa-tc-controls input[type="search"] { flex: 1 1 100%; min-width: 220px; }
.hnwa-tc-controls select { flex: 1 1 210px; }
.hnwa-tc-count { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 14px; letter-spacing: .04em; color: #444; margin: 0; }
.hnwa-tc-table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0; }
.hnwa-tc-table th { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 13px; letter-spacing: .07em; text-transform: uppercase; color: #333; text-align: left; padding: 9px 10px; border-bottom: 2px solid #ccc; background: none; }
.hnwa-tc-table td { font-size: 14px; line-height: 1.5; padding: 12px 10px 12px 0; border-bottom: 1px solid #ddd; vertical-align: top; overflow-wrap: normal; word-break: normal; hyphens: none; }
.hnwa-tc-table td a { overflow-wrap: normal; word-break: normal; hyphens: none; }
.hnwa-tc-table th { padding-left: 0; }
.hnwa-tc-name { display: block; font-weight: 700; font-size: 15px; line-height: 1.25; overflow-wrap: normal; word-break: normal; hyphens: none; }
.hnwa-tc-sys { display: block; font-size: 13.5px; font-style: italic; line-height: 1.25; margin-top: 2px; }
.hnwa-tc-sys a { border-bottom: none; text-decoration: none; }
.hnwa-tc-sys a:hover, .hnwa-tc-sys a:focus { color: #ec8401; border-bottom: none; }
.hnwa-tc-table td.hnwa-tc-onfoot { white-space: nowrap; vertical-align: middle; }
.hnwa-tc-table th:nth-child(1) { width: 68%; }
.hnwa-tc-table th:nth-child(2) { width: 32%; }


.hnwa-tc-why-cell { color: #6B6B6B; font-size: 13px; font-style: italic; }
.hnwa-tc-empty { padding: 26px 10px; color: #6B6B6B; font-style: italic; }
.hnwa-tc-badge { display: inline-block; font-family: 'Oswald', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; padding: 5px 10px; white-space: nowrap; min-width: 122px; text-align: center; border: none; }
.hnwa-tc-hike { background: #3e5c1e; color: #fff; }
.hnwa-tc-avoid { background: #8c2f2f; color: #fff; }
.hnwa-tc-meta { margin: 0 0 14px; }
.hnwa-tc-why { font-family: 'Libre Baskerville', Georgia, serif; font-weight: 700; font-size: 14px; margin-top: 9px; }
.hnwa-tc-why summary { cursor: pointer; color: #3e5c1e; }
.hnwa-tc-why summary:hover { color: #ec8401; }
.hnwa-tc-why p { font-family: 'Libre Baskerville', Georgia, serif; font-weight: 400; font-size: 15px; line-height: 1.75; color: #444; background: none; border: none; padding: 0; margin: 12px 0 0; max-width: 72ch; }
@media only screen and (max-width: 600px) {
	.hnwa-tc-table thead { display: none; }
	.hnwa-tc-table tr { display: block; border-bottom: 1px solid #ddd; padding: 10px 0; }
	.hnwa-tc-table td { display: block; border: none; padding: 2px 0; }
	.hnwa-tc-name { font-size: 17px; }
}

/* The trail table needs more room than the 800px content column, so it breaks
   out of the card width on wide screens. Below 1000px it becomes stacked cards. */


.hnwa-ts-hard { color: #8c2f2f !important; font-weight: 600; }
.hnwa-ts-list-avoid li { padding-left: 0; }

/* Systems with nothing to avoid get a paragraph instead of a list. */
.hnwa-ts-allclear { margin: 0; max-width: 62ch; }
.hnwa-ts-clear .hnwa-ts-actions { margin-top: 20px; }
.hnwa-tc-clear { font-style: italic; color: #6B6B6B; font-size: 15px; margin: 18px 0 0; }

/* Page header photo — crop to a band rather than a full 4:3 frame.
   Add the class hnwa-page-header to an image block at the top of an intro card. */
.hnwa-page-header img {
	width: 100%;
	height: 280px;
	object-fit: cover;
	object-position: center 42%;
}
@media only screen and (max-width: 600px) {
	.hnwa-page-header img { height: 190px; }
}
/* --- end TRAIL SUITABILITY ------------------------------------------------ */

/* ===================================================================
   Hike NWA - mobile responsiveness fixes (added 2026-07-29)
   Fixes horizontal overflow on phones + small text/tap targets.
   Safe to delete this entire block if anything looks off.
   =================================================================== */

/* 1. Card grids: allow tracks to shrink below their content's intrinsic width */
.ex-grid { grid-template-columns: minmax(0, 1fr) !important; }
.ex-grid > *,
.hikenwa-facts-grid > * { min-width: 0 !important; }

/* 2. Links that could not wrap and pushed the page sideways */
.hikenwa-ts-legend a,
.page-toc a { white-space: normal !important; }

/* 3. Explore / Plan a Hike cards on phones */
@media (max-width: 520px) {
  .ex-card { padding: 20px 16px !important; gap: 14px !important; }
  .ex-card .ex-txt { min-width: 0 !important; flex-basis: 100% !important; }
  .ex-card .ex-btn {
    white-space: normal !important;
    flex: 0 1 auto !important;
    max-width: 100% !important;
  }
}

/* 4. Trailhead "Get Directions" link on very narrow phones */
@media (max-width: 350px) {
  .hikenwa-komoot-link,
  .hikenwa-fact-directions {
    white-space: normal !important;
    flex-wrap: wrap !important;
  }
}

/* 5. Legible text and finger-friendly controls on touch devices */
@media (max-width: 782px) {
  .hikenwa-level-badge {
    font-size: 12.5px !important;
    padding: 10px 8px 11px !important;
  }
  .hikenwa-komoot-link {
    font-size: 12.5px !important;
    padding: 9px 12px !important;
  }
  .hnwa-tc-badge { font-size: 12.5px !important; }
  .hikenwa-examples-tab { min-height: 44px !important; }
  .hikenwa-crumb-link {
    display: inline-block !important;
    padding: 7px 2px !important;
  }
}
/* === end Hike NWA mobile fixes === */


/* ---- Browse Routes: Progressive Guide filter pills ---- */
.hikenwa-guide-pills {
	display: flex;
	flex-direction: column; /* library pills */
	align-items: flex-start;
	gap: 6px;
	width: 100%;
}
.hikenwa-guide-pills input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}
.hikenwa-guide-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-family: Poppins, sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	padding: 5px 13px;
	white-space: nowrap;
	cursor: pointer;
	color: #111;
	background: #fff;
	border: 1px solid #cfcfcf;
	opacity: 0.75;
	transition: opacity 0.15s, border-color 0.15s, background 0.15s, color 0.15s;
	min-width: 236px;
	max-width: 100%;
	justify-content: space-between;
}
.hikenwa-guide-badge:hover {
	opacity: 1;
	border-color: #111;
}
.hikenwa-guide-pills input[type="radio"]:checked + label.hikenwa-guide-badge {
	opacity: 1;
	color: #fff;
	background: #111;
	border-color: #111;
}
.hikenwa-guide-pills input[type="radio"]:focus-visible + label.hikenwa-guide-badge {
	outline: 2px solid #111;
	outline-offset: 3px;
}
.hikenwa-guide-count {
	font-size: 11px;
	font-weight: 500;
	opacity: 0.65;
}
@media (max-width: 600px) {
	.hikenwa-guide-badge { font-size: 11px; padding: 5px 10px; }
}


/* Name field should line up with the dropdowns */
.hikenwa-generator-filters .hikenwa-search-field {
	max-width: 100%;
}


/* ===== Browse Routes / Generator: route shape filter buttons ===== */
.hikenwa-shape-pills {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	max-width: 460px;
}
.hikenwa-shape-pills input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}
.hikenwa-shape-pills label.hikenwa-shape-badge {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 8px 12px;
	border: 2px solid #111;
	border-radius: 0;
	background: #fff;
	color: #111;
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: normal;
	cursor: pointer;
	opacity: 0.5;
	transition: opacity 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.hikenwa-shape-pills label.hikenwa-shape-badge i {
	flex: 0 0 auto;
	width: 18px;
	font-size: 15px;
	text-align: center;
	color: #111;
}
.hikenwa-shape-pills label.hikenwa-shape-badge i.hnwa-lolli {
	font-size: 11px;
	transform: rotate(45deg);
}
.hikenwa-shape-pills label.hikenwa-shape-badge:hover {
	opacity: 0.85;
}
.hikenwa-shape-pills input:checked + label.hikenwa-shape-badge {
	opacity: 1;
	background: #111;
	color: #fff;
	border-color: #111;
	box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.18);
}
.hikenwa-shape-pills input:checked + label.hikenwa-shape-badge i {
	color: #ffac08;
}
.hikenwa-shape-pills input:focus-visible + label.hikenwa-shape-badge {
	outline: 2px solid #111;
	outline-offset: 3px;
}
.hnwa-home-finder .hikenwa-shape-pills { gap: 8px; }
.hnwa-home-finder .hikenwa-shape-pills label.hikenwa-shape-badge { padding: 8px 9px; font-size: 11px; gap: 6px; }
.hnwa-home-finder .hikenwa-shape-pills label.hikenwa-shape-badge i { width: 15px; font-size: 13px; }
@media (max-width: 900px) {
	.hikenwa-shape-pills { gap: 8px; }
	.hikenwa-shape-pills label.hikenwa-shape-badge { padding: 8px 9px; font-size: 11px; gap: 6px; }
	.hikenwa-shape-pills label.hikenwa-shape-badge i { width: 15px; font-size: 13px; }
}
@media (max-width: 420px) {
	.hikenwa-shape-pills { grid-template-columns: 1fr; max-width: 360px; }
	.hikenwa-shape-pills label.hikenwa-shape-badge { font-size: 12px; padding: 8px 12px; gap: 8px; }
}


/* Difficulty pills: gray when unselected, matching the route shape buttons.
   The bar icon is drawn from currentColor, so the lit bars fade to the same
   gray and the dim bars go lighter still. */
.hikenwa-level-pills input[type="checkbox"]:not(:checked):not(:disabled) + label.hikenwa-level-badge {
	opacity: 0.5;
	transition: opacity 0.15s ease;
}
.hikenwa-level-pills input[type="checkbox"]:not(:checked):not(:disabled) + label.hikenwa-level-badge:hover {
	opacity: 0.85;
}


/* Filter form: the small green helper links under the row headings */
.hikenwa-flabel .hikenwa-legend-trigger {
	font-style: italic;
}


/* ===== Route finder: intro card above the filter card ===== */
.hnwa-rl-intro {
	box-sizing: border-box;
	width: 100%;
	background: #fff;
	border: 1px solid #ddd;
	box-shadow: 1px 1px 5px #eee;
	padding: 22px 26px 26px;
	margin: 0 0 22px;
	text-align: left;
}
.hnwa-rl-intro .hikenwa-page-title {
	margin: 0 0 12px;
	text-align: left;
}
.hnwa-rl-intro .hikenwa-page-title::after {
	display: none;
}
.hnwa-rl-lede {
	display: flex;
	align-items: center;
	gap: 26px;
	margin: 0 0 20px;
	text-align: left;
}
.hnwa-rl-intro .hnwa-rl-lede .hikenwa-page-desc {
	flex: 1 1 auto;
	max-width: none;
	margin: 0;
	text-align: left;
}
.hnwa-rl-intro .hnwa-rl-lede .hikenwa-top-cta {
	flex: 0 0 auto;
	margin: 0;
}
.hnwa-rl-intro .rl-header-img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}
.hikenwa-top-cta {
	text-align: center;
	margin: 0 0 22px;
}

/* Match the 26px side padding so the heading sits like the H1 in the intro card */
.hikenwa-generator-filters .hikenwa-filter-box {
	padding-top: 26px;
}

/* "Filter the routes" heading at the top of the white filter card */
/* Needs .hikenwa-page to out-specify ".hikenwa-page h2 { margin: 50px 0 0 }" */
.hikenwa-page .hikenwa-filter-box-heading {
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	font-size: 28px;
	line-height: 1.15;
	letter-spacing: -0.5px;
	text-align: left;
	margin: 0 0 18px;
}

/* Collection pills flow in rows now that the cities live here too */
.hikenwa-guide-pills {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 8px;
}
.hikenwa-guide-badge {
	min-width: 0;
	justify-content: flex-start;
}

/* Helper links under a row heading always sit on their own line */
.hikenwa-flabel .hikenwa-legend-trigger {
	display: block;
	margin-top: 3px;
}

@media (max-width: 700px) {
	.hikenwa-filter-box-heading { font-size: 22px; margin: 2px 0 18px; }
	.hikenwa-top-cta { margin: 0 0 18px; }
	.hnwa-rl-intro { padding: 18px 16px 18px; margin: 0 0 16px; }
	.hnwa-rl-intro .hikenwa-page-title { margin: 0 0 10px; }
	.hnwa-rl-lede { flex-direction: column; gap: 14px; margin: 0 0 16px; }
	.hnwa-rl-intro .hnwa-rl-lede .hikenwa-page-desc { text-align: center; }
	.hikenwa-page .hikenwa-filter-box-heading { font-size: 22px; margin: 0 0 16px; }
	/* Seven pills stacked one per line is too tall on a phone — pair them up */
	.hikenwa-guide-pills {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}
	.hikenwa-guide-badge {
		white-space: normal;
		justify-content: space-between;
		min-height: 36px;
		padding: 6px 9px;
		font-size: 10.5px;
		line-height: 1.2;
		letter-spacing: 0.2px;
	}
}


/* ===== Home finder: match the height of the copy column beside it ===== */
.hnwa-finder-grid {
	align-items: stretch;
}
.hnwa-home-finder {
	display: flex;
}
.hnwa-home-finder .hikenwa-generator-filters {
	display: flex;
	flex: 1 1 auto;
}
.hnwa-home-finder .hikenwa-generator-filters .hikenwa-filter-box {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	width: 100%;
	padding: 32px 28px;
	margin-bottom: 0;
}
/* .hikenwa-filter-centered carries flex: 0 0 100% for the old row layout — in a
   column flex that reads as 100% HEIGHT and throws the button into a new column */
.hnwa-home-finder .hikenwa-filter-centered {
	flex: 0 0 auto;
}
.hnwa-home-finder .hikenwa-filter-box-heading {
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	font-size: 26px;
	line-height: 1.15;
	letter-spacing: -0.5px;
	text-align: left;
	margin: 0 0 22px;
	/* the band around the finder sets white text; the card is light */
	color: #111;
}
/* Row labels here inherit centre alignment from the band, which left the heading
   sharing an edge with nothing. Left, the same as the Browse Routes card. */
.hnwa-home-finder .hikenwa-flabel {
	text-align: left;
}
.hnwa-home-finder .hikenwa-filter-centered {
	margin-top: 4px;
}

@media (max-width: 860px) {
	.hnwa-finder-grid { align-items: start; }
	.hnwa-home-finder .hikenwa-generator-filters .hikenwa-filter-box { padding: 22px 18px; }
	.hnwa-home-finder .hikenwa-filter-box-heading { font-size: 22px; margin: 0 0 18px; }
}


/* Generator: the H1 sits inside the filter card, so the first row's divider
   reads as an underline beneath the page title. Only matches there — on Browse
   Routes the first row follows the h2 heading, not .hikenwa-page-title. */
.hikenwa-filter-box .hikenwa-page-title + .hikenwa-frow,
.hikenwa-filter-box .hnwa-gen-titlerow + .hikenwa-frow {
	border-top: 0;
	padding-top: 14px;
}

/* Generator: page title and the "How to use the generator" button share a row */
.hnwa-gen-titlerow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 20px;
	margin: 0 0 12px;
}
.hnwa-gen-titlerow .hikenwa-page-title {
	margin: 0 !important;
}
.hnwa-gen-titlerow .hikenwa-howto-row {
	margin: 0;
	flex: 0 0 auto;
}


/* ---------------------------------------------------------------
   HOVER STATES MUST NOT MOVE ANYTHING  (added 2026-08-09)
   The theme stylesheet sets  button:hover { border: 2px solid #000 }
   which grows every 1px-bordered button to 2px the moment the cursor
   lands on it, nudging the things next to it. Pin the hover border
   width to whatever each button already has at rest.
   --------------------------------------------------------------- */
button:hover, button:focus,
input[type="button"]:hover, input[type="button"]:focus,
input[type="reset"]:hover, input[type="reset"]:focus,
input[type="submit"]:hover, input[type="submit"]:focus {
	border-width: 1px;
}
.menu-toggle:hover, .menu-toggle:focus,
.sub-menu-toggle:hover, .sub-menu-toggle:focus {
	border-width: 2px;
}
.hikenwa-search-toggle:hover, .hikenwa-search-toggle:focus,
.cookieadmin_close_pref:hover, .cookieadmin_close_pref:focus {
	border-width: 0;
}


/* ---------------------------------------------------------------
   STANDARD CONTENT-CARD SHADOW  (added 2026-08-09)
   One shadow for every white content box on the site, so cards lift
   off the topographic background the same way everywhere. Tight
   layer for the edge, wide layer for the lift.
   --------------------------------------------------------------- */
.hnwa-card,
.hnwa-step,
.hnwa-demo,
.hnwa-ex-card,
.hnwa-comm-card,
.hnwa-gi-card,
.hnwa-rt-card,
.hnwa-rt-box,
.hnwa-rt-park,
.hnwa-rl-intro,
.tsh-hub .tsh-intro,
.tsh-hub .tsh-system,
.hikenwa-filter-box,
.hikenwa-generator-filters .hikenwa-filter-box,
#front-page-5 .hikenwa-filter-box,
#front-page-7 .hnwa-comm-card,
#front-page-8 .hnwa-gi-card,
#hikenwa-selection-panel,
.hikenwa-route-card,
.ex-card,
.cp-city-card {
	box-shadow: var(--hikenwa-card-shadow);
	border: 0;
}


/* ---------------------------------------------------------------
   DARK BAR SHADOW  (added 2026-08-09)
   The black in-page contents bars sat flat while the white cards
   floated. A black box needs a tighter, slightly stronger shadow
   than a white one: the wide soft halo used on the cards reads as
   a blurry edge once the box itself is dark.
   --------------------------------------------------------------- */
p.page-toc,
.entry-content p.page-toc,
.hikenwa-page p.page-toc,
.hnwa-rt-hero,
.hnwa-rt-stats,
.hnwa-rt-sib-cta {
	box-shadow: var(--hikenwa-bar-shadow);
}

/* ===========================================================================
   Generator - Facebook event panel, mobile
   =========================================================================== */
@media (max-width: 600px) {
	#hikenwa-selection-panel {
		padding: 18px 16px 22px;
	}

	.hikenwa-panel-head {
		margin: -18px -16px 0;
		padding: 18px 16px 16px;
	}

	.hikenwa-pace-bar {
		padding: 14px 16px;
		margin: 0 -16px;
	}

	.hikenwa-publishnote {
		padding: 16px;
		margin: 26px -16px 20px;
	}
}


/* ---------------------------------------------------------------
   GLOBAL TABLE WRAPPING FIX  (11 Aug 2026)
   The theme's style.css sets `table { word-break: break-all }`, which
   hyphenates every table on the site mid-word. Restore normal wrapping.
   Long unbroken strings still wrap instead of overflowing.
   This makes the per-table patches on .hnwa-tc-table redundant.
   --------------------------------------------------------------- */
table,
table th,
table td {
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: none;
}


/* ==========================================================================
   PAGE HEADER CARD  (.hnwa-page-intro)
   Trailhead template + taxonomy-archive template. Wraps the eyebrow, title
   and subtitle in the standard white content card so these pages match the
   rest of the site. The wrapper also carries .hnwa-card, so the shadow comes
   from the STANDARD CONTENT-CARD SHADOW list -- do not add a shadow here.
   ========================================================================== */
.hikenwa-page .hnwa-page-intro {
	text-align: center;
}

.hikenwa-page .hnwa-page-intro .hikenwa-pretitle,
.hikenwa-page .hnwa-page-intro .hikenwa-page-title,
.hikenwa-page .hnwa-page-intro > *:first-child {
	margin-top: 0;
}

.hikenwa-page .hnwa-page-intro > *:last-child {
	margin-bottom: 0;
}

/* No decorative rule under the title once it lives inside the card */
.hikenwa-page .hnwa-page-intro .hikenwa-page-title::after,
.hikenwa-page .hnwa-page-intro .hikenwa-page-desc::after,
.hikenwa-page .hnwa-page-intro .hikenwa-trailhead-count::after {
	display: none;
}


/* The two boxed links (filter + difficulty legend) read as one pair,
   so tighten the gap when they sit together above the route list. */
.hikenwa-page .hikenwa-archive-filter-cta:has(+ .hikenwa-legend-cta) {
	margin-bottom: 8px;
}


/* ==========================================================================
   TRAIL SUITABILITY CARD - DARK  (.hnwa-ts-card)
   Deliberately dark so it separates from the white header card above it
   and the white route cards below. It keeps .hnwa-card for its padding,
   but as a DARK box it must NOT carry the standard white-card shadow --
   it takes --hikenwa-bar-shadow instead. See the HOUSE RULE at the top.
   ========================================================================== */
.hikenwa-page .hnwa-ts-card {
	background: #111;
	border: 0;
	box-shadow: var(--hikenwa-bar-shadow);
}

.hikenwa-page .hnwa-ts-card .hnwa-ts-title {
	color: #fff;
}

.hikenwa-page .hnwa-ts-card .hnwa-ts-lede,
.hikenwa-page .hnwa-ts-card .hnwa-ts-more,
.hikenwa-page .hnwa-ts-card .hnwa-ts-allclear,
.hikenwa-page .hnwa-ts-card p {
	color: #d8d8d8;
}

.hikenwa-page .hnwa-ts-card a {
	color: #ffac08;
}

/* The two lists sit one step up from the card, not as a second black box */
.hikenwa-page .hnwa-ts-card .hnwa-ts-details {
	background: #1b1b1b;
	border-color: #383838;
}
.hikenwa-page .hnwa-ts-card .hnwa-ts-details summary { color: #fff; }
.hikenwa-page .hnwa-ts-card .hnwa-ts-details summary:hover { background: #242424; }
.hikenwa-page .hnwa-ts-card .hnwa-ts-details[open] summary { border-bottom-color: #333; }
.hikenwa-page .hnwa-ts-card .hnwa-ts-details summary::after { border-color: #cccccc; }

.hikenwa-page .hnwa-ts-card .hnwa-ts-h,
.hikenwa-page .hnwa-ts-card .hnwa-ts-num { color: #fff; }
.hikenwa-page .hnwa-ts-card .hnwa-ts-sub { color: #b0b0b0; }
.hikenwa-page .hnwa-ts-card .hnwa-tc-clear { color: #b0b0b0; }
.hikenwa-page .hnwa-ts-card .hnwa-ts-hard { color: #e88b8b; }
.hikenwa-page .hnwa-ts-card .hnwa-ts-list li {
	color: #e8e8e8;
	border-bottom-color: #3a3a3a;
}

/* On black the deep green/red go muddy, so the badges follow the site's
   light-chip-with-#111-text pattern (same idea as the yellow active chip). */
.hikenwa-page .hnwa-ts-card .hnwa-ts-badge-good {
	background: #8fc65a;
	color: #111;
}
.hikenwa-page .hnwa-ts-card .hnwa-ts-badge-avoid {
	background: #e2685c;
	color: #111;
}


/* --- Header box with a system map: text left, map right ------------------ */
/* The map is markup-first so it stays above the text when this collapses to
   one column on small screens. On desktop it sits to the LEFT of the text,
   which gives the eyebrow/title/subtitle a single clean left edge. */
.hikenwa-page .hnwa-page-intro-split {
	display: flex;
	align-items: center;
	gap: 30px;
	text-align: left;
}

.hikenwa-page .hnwa-page-intro-split .hnwa-page-intro-media {
	order: 1;
	flex: 0 0 190px;
}

.hikenwa-page .hnwa-page-intro-split .hnwa-page-intro-media img {
	display: block;
	width: 100%;
	height: auto;
}

.hikenwa-page .hnwa-page-intro-split .hnwa-page-intro-text {
	order: 2;
	flex: 1 1 auto;
	min-width: 0;
}

/* Sized to balance against the 190px map. 48px is the largest that keeps
   the longest name ("Crystal Bridges & Compton Gardens Trails") to three
   lines in the ~460px text column - go past this and it wraps to four. */
.hikenwa-page .hnwa-page-intro-split .hikenwa-page-title {
	font-size: 48px;
}

.hikenwa-page .hnwa-page-intro-split .hikenwa-page-title,
.hikenwa-page .hnwa-page-intro-split .hikenwa-pretitle,
.hikenwa-page .hnwa-page-intro-split .hikenwa-subtitle,
.hikenwa-page .hnwa-page-intro-split .hikenwa-page-desc,
.hikenwa-page .hnwa-page-intro-split .hikenwa-archive-desc {
	text-align: left;
}

/* Stack and re-centre once there is no room for two columns */
@media (max-width: 700px) {
	.hikenwa-page .hnwa-page-intro-split {
		display: block;
		text-align: center;
	}
	.hikenwa-page .hnwa-page-intro-split .hnwa-page-intro-media {
		width: 180px;
		margin: 0 auto 18px;
	}
	.hikenwa-page .hnwa-page-intro-split .hikenwa-page-title {
		font-size: 36px;
	}
	.hikenwa-page .hnwa-page-intro-split .hikenwa-page-title,
	.hikenwa-page .hnwa-page-intro-split .hikenwa-pretitle,
	.hikenwa-page .hnwa-page-intro-split .hikenwa-subtitle,
	.hikenwa-page .hnwa-page-intro-split .hikenwa-page-desc,
	.hikenwa-page .hnwa-page-intro-split .hikenwa-archive-desc {
		text-align: center;
	}
}


/* --- Breadcrumb bar ------------------------------------------------------
   Any breadcrumb sitting inside a page header card becomes a full-bleed
   black cap on that card. The negative margins cancel the card padding, so
   if .hnwa-card padding ever changes from 35px 40px, these move with it.
   No shadow: a dark bar inside a white card reads as a second nested box. */
.hikenwa-page .hnwa-page-intro .hikenwa-breadcrumb {
	background: #111;
	margin: -35px -40px 26px;
	padding: 9px 40px;
	color: #fff;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 3px;
}

.hikenwa-page .hnwa-page-intro .hikenwa-breadcrumb a {
	color: #fff;
	text-decoration: none;
}

.hikenwa-page .hnwa-page-intro .hikenwa-breadcrumb a:hover {
	color: #ffac08;
}

@media (max-width: 600px) {
	/* .hnwa-card drops to 24px 22px padding below 600px */
	.hikenwa-page .hnwa-page-intro .hikenwa-breadcrumb {
		margin: -24px -22px 20px;
		padding: 8px 22px;
	}
}


