/* Hiking FixOps: front page and plugin block styling. */

.fxh-front { padding-bottom: var(--section-gap); }

/* Hero */
.fxh-hero { position: relative; isolation: isolate; overflow: hidden; padding-top: 80px; padding-bottom: var(--section-gap-s); }
.fxh-hero::before {
	content: "";
	position: absolute;
	inset: -10% -10% -10% -10%;
	z-index: -2;
	background:
		radial-gradient(60% 55% at 78% 40%, var(--accent-a14), transparent 70%),
		radial-gradient(40% 40% at 12% 90%, var(--accent-a06), transparent 70%);
	animation: fxhDrift 36s ease-in-out infinite alternate;
}
.fxh-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url(contours.svg) 72% 40% / min(1100px, 130%) auto no-repeat;
	opacity: .22;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 45%, #000 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 45%, #000 100%);
}
@keyframes fxhDrift {
	from { transform: translate3d(-2%, -1%, 0) scale(1); }
	to { transform: translate3d(2%, 2%, 0) scale(1.06); }
}
.fxh-hero__cols { gap: 48px; align-items: center; }
.fxh-eyebrow { margin: 0 0 14px; font: 700 12.5px/1 var(--wp--preset--font-family--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.fxh-hero h1 { margin: 0 0 20px; font-size: clamp(34px, 4.4vw, 60px); }
.fxh-lede { max-width: 34em; margin: 0 0 28px; margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important; margin-right: auto !important; font-size: var(--wp--preset--font-size--xl); line-height: 1.7; color: var(--wp--preset--color--ink-lede); }
.fxh-hero .wp-block-buttons { gap: 12px; }

/* The recessed glow panel (same recipe as the main site) */
.fxh-glow {
	position: relative;
	padding: 34px;
	border: 1px solid var(--line);
	border-radius: var(--radius-36);
	background:
		radial-gradient(70% 80% at 90% 0%, var(--accent-a14), transparent 70%),
		var(--wp--preset--color--panel-2);
	box-shadow: 0 30px 80px -40px var(--accent-a35);
}
.fxh-glow__label { margin: 0 0 22px; font: 700 12.5px/1 var(--wp--preset--font-family--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--ink-dim); }
.fxh-glow .fxt-totals { grid-template-columns: repeat(2, 1fr); gap: 28px 20px; }
.fxh-glow .fxt-totals__num { font-size: clamp(34px, 4.4vw, 54px); }

/* Sections */
.fxh-section { padding-top: var(--section-gap-s); }
.fxh-section__head { margin-bottom: 26px; align-items: flex-end; }
.fxh-section__head h2, .fxh-section > h2 { margin: 0; }
.fxh-section > h2 { margin-bottom: 26px; }
.fxh-more { margin: 0; font-size: var(--wp--preset--font-size--md); }
.fxh-more a { text-decoration: none; }
.fxh-more a::after { content: " \2192"; }

.fxh-section .fxt-latest { grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); }

/* Closing strip */
.fxh-strip { padding: 34px 40px; gap: 24px; border: 1px solid var(--line); border-radius: var(--radius-28); background: linear-gradient(160deg, var(--wp--preset--color--panel), var(--wp--preset--color--bg)); }
.fxh-strip h3 { margin: 0; }

/* Plugin blocks, themed */
.fxt-card__link { border-radius: var(--radius-16); background: linear-gradient(160deg, var(--wp--preset--color--panel), var(--wp--preset--color--bg)); }
.fxt-card__title { font-family: var(--wp--preset--font-family--mono); font-size: 15.5px; font-weight: 700; letter-spacing: -.01em; }
.fxt-record { border-radius: var(--radius-28); }
.fxt-record__value { color: var(--wp--preset--color--accent); }

@media (max-width: 781px) {
	.fxh-hero { padding-top: 40px; }
	.fxh-hero__cols { gap: 32px; }
	.fxh-glow { padding: 24px; border-radius: var(--radius-28); }
	.fxh-strip { padding: 26px; }
}

@media (prefers-reduced-motion: reduce) {
	.fxh-hero::before { animation: none; }
	.fxh-card__link, .fxt-card__link { transition: none; }
}

/* Cards without a cover image get a quiet contour pattern */
.fxt-card__img--empty { background: linear-gradient(rgba(25, 31, 28, .88), rgba(12, 14, 13, .92)), url(contours.svg) 60% 50% / 220% auto; }

/* FixOps Trails blocks (map, profile, stat cards, year table) on the theme palette */
body .fx-trail, body .fx-trails, body .fx-trail-stats {
	--fx-bg: var(--wp--preset--color--bg);
	--fx-card: var(--wp--preset--color--panel);
	--fx-line: var(--line);
	--fx-text: var(--wp--preset--color--ink);
	--fx-muted: var(--wp--preset--color--ink-dim);
	--fx-accent: var(--wp--preset--color--accent);
}
body .fx-trail__map { border-radius: var(--radius-28); }
body .fx-trail__profile, body .fx-trail__stat { border-radius: var(--radius-16); background: linear-gradient(160deg, var(--wp--preset--color--panel), var(--wp--preset--color--bg)); }
body .fx-trail__stat dd { font-family: var(--wp--preset--font-family--mono); }
body .fx-trail-stats__chart, body .fx-trail-stats__years { border-radius: var(--radius-16); background: var(--wp--preset--color--panel); }
body .fx-trail-stats__years td { color: var(--wp--preset--color--ink); }
body .fx-trail-stats__years th { color: var(--wp--preset--color--ink-dim); }
body .fx-trail-empty { color: var(--wp--preset--color--ink-dim); }

/* About page: three how-it-works cards; Statistics page spacing */
.fxh-how { gap: 16px; }
.fxh-how__card { height: 100%; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-28); background: linear-gradient(160deg, var(--wp--preset--color--panel), var(--wp--preset--color--bg)); }
.fxh-how__card p:last-child { margin-bottom: 0; color: var(--wp--preset--color--ink-lede); }
.fxh-about .fxh-glow, .fxh-statspage .fxh-glow { margin-top: var(--section-gap-s); }
.fxh-about .fxh-glow .fxt-totals { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.fxh-statspage .fxh-glow .fxt-totals { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.fxh-statspage .fxh-lede, .fxh-about .fxh-lede { margin-bottom: 0; }

/* Hike names are long: the post title uses the H2 scale, not the hero H1 scale */
.single .wp-block-post-title { font-size: var(--wp--preset--font-size--h-2); line-height: 1.02; overflow-wrap: anywhere; }
