/*
 * Title:   Franz Valley Mountain styles
 * Project: Franz Valley Community Hub
 * Brief:   Warm mountain-community styling for the Twenty Twenty-Five child theme
 * File:    site/themes/franzvalley-mountain/style.css
 *
 * Theme Name: Franz Valley Mountain
 * Description: Warm mountain-community style (evergreen, limestone and copper) on the free Twenty Twenty-Five theme.
 * Template: twentytwentyfive
 * Version: 1.0.125
 * Text Domain: franzvalley-mountain
 * Update URI: false
 * License: MIT
 *
 * Copyright 2026 Nexus Logic Inc.
 * SPDX-License-Identifier: MIT
 */

/* Base */
html { scroll-padding-top: 6.5rem; }
html:has(.fv-header--member) { scroll-padding-top: 10rem; }
body {
	background: var(--fv-limestone);
	color: var(--fv-evergreen);
	font-family: var(--fv-font-sans);
	font-size: 1.0625rem;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
::selection { background: var(--fv-evergreen); color: var(--fv-limestone); }
.wp-site-blocks { padding: 0; display: flex; flex-direction: column; min-height: 100vh; }
.wp-site-blocks > main {
	box-sizing: border-box;
	flex: 1 0 auto;
	width: 100%;
	max-width: calc(var(--wp--style--global--content-size, 760px) + 2 * var(--fv-gutter));
	margin: 0 auto;
	padding: var(--fv-space-6) var(--fv-gutter) var(--fv-space-7);
}
.wp-site-blocks > main.fv-error-page {
	display: grid;
	place-items: center;
	min-height: min(62vh, 42rem);
}
.fv-error-page__card {
	box-sizing: border-box;
	width: 100%;
	max-width: 48rem;
	padding: clamp(var(--fv-space-4), 5vw, var(--fv-space-7));
	border: 1px solid var(--fv-hairline);
	border-top: 4px solid var(--fv-copper);
	border-radius: var(--fv-radius-lg);
	background: var(--fv-paper);
	box-shadow: var(--fv-shadow-raised);
	text-align: center;
}
body.fv-access-public:not(.home) .wp-site-blocks > main.fv-error-page {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.fv-error-page__card h1 { margin-block: 0 var(--fv-space-4); }
.fv-error-page__card .wp-block-buttons { gap: var(--fv-space-2); }
.wp-site-blocks > * + * { margin-block-start: 0; }
h1, h2, h3, h4, h5, h6 { color: var(--fv-evergreen); font-family: var(--fv-font-heading); font-weight: 650; line-height: 1.25; letter-spacing: -.025em; text-wrap: balance; }
h1 strong, h2 strong, h3 strong { font-weight: 600; }
.wp-block-post-title { margin-block: 0 var(--fv-space-5); }
.wp-block-post-title::after {
	content: "";
	display: block;
	height: 3px;
	margin-block-start: var(--fv-space-3);
	background: var(--fv-copper);
	border-radius: 2px;
}
.wp-block-post-content > * + * { margin-block-start: var(--fv-space-4); }

/* Page access: public pages sit on an emerald backdrop in a cream panel; members-only pages keep limestone. */
body.fv-access-public:not(.home) { background: var(--fv-evergreen); }
body.fv-access-public:not(.home) .wp-site-blocks > main {
	flex: 0 0 auto;
	width: calc(100% - 2 * var(--fv-gutter));
	max-width: calc(var(--wp--style--global--content-size, 760px) + 2 * var(--fv-space-6));
	margin: var(--fv-space-6) auto;
	padding: var(--fv-space-6);
	background: var(--fv-limestone);
	border-top: 4px solid var(--fv-copper);
	border-radius: var(--fv-radius-lg);
	box-shadow: var(--fv-shadow-raised);
}
body.fv-access-public:not(.home) .wp-site-blocks > footer { margin-block-start: auto; }
.wp-block-post-title:has(.fv-access) { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; column-gap: var(--fv-space-2); }
.wp-block-post-title:has(.fv-access)::after { grid-column: 1 / -1; }
.wp-block-post-title .fv-access { margin-block-start: .1em; }
.fv-access__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50% !important;
	background: transparent;
	color: var(--fv-muted);
	cursor: help;
}
.fv-access__toggle svg { width: 24px; height: 24px; }
.fv-access__toggle:hover, .fv-access.is-open .fv-access__toggle { background: var(--fv-tint-on-light); color: var(--fv-evergreen); }
.fv-access__toggle:focus-visible { outline: none; box-shadow: var(--fv-focus); }
.fv-access__tip {
	position: absolute;
	z-index: 20;
	inset-block-start: calc(100% + var(--fv-space-1));
	inset-inline-end: 0;
	box-sizing: border-box;
	width: max-content;
	max-width: min(22rem, 100%);
	padding: var(--fv-space-2) var(--fv-space-3);
	border-radius: var(--fv-radius-sm);
	background: var(--fv-evergreen-deep);
	box-shadow: var(--fv-shadow-raised);
	color: var(--fv-limestone);
	font-family: var(--fv-font-sans);
	font-size: .9375rem;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: normal;
	text-wrap: pretty;
	visibility: hidden;
	opacity: 0;
	transition: opacity .15s ease, visibility .15s;
}
.fv-access:not(.is-dismissed):hover .fv-access__tip,
.fv-access:not(.is-dismissed):has(.fv-access__toggle:focus-visible) .fv-access__tip,
.fv-access.is-open .fv-access__tip { visibility: visible; opacity: 1; }
.wp-block-post-content > h2, .wp-block-post-content > h3 { margin-block-start: var(--fv-space-6); }
.wp-block-post-content p:empty { display: none; }
p, li { text-wrap: pretty; }
ul, ol { padding-inline-start: 1.4em; }
li + li { margin-block-start: var(--fv-space-1); }
li::marker { color: var(--fv-copper); }
hr, .wp-block-separator { border: 0; border-top: 1px solid var(--fv-hairline); margin-block: var(--fv-space-6); }
.wp-block-image img { max-width: 100%; height: auto; border-radius: var(--fv-radius); }

/* Links: underline carries the meaning; colour shift is a supplement. */
a { color: var(--fv-evergreen); }
main a:where(:not(.wp-element-button, .button, .wp-block-button__link)) {
	color: var(--fv-evergreen);
	text-decoration: underline;
	text-decoration-color: var(--fv-copper);
	text-decoration-thickness: .1em;
	text-underline-offset: .2em;
	transition: color .15s, text-decoration-color .15s;
}
main a:where(:not(.wp-element-button, .button, .wp-block-button__link)):hover {
	color: var(--fv-copper-deep);
	text-decoration-color: currentColor;
	text-decoration-thickness: .15em;
}
main a:where(:not(.wp-element-button, .button, .wp-block-button__link)):active { color: var(--fv-copper-darker); }

/* Focus: a two-tone ring that stays visible on light and dark surfaces. */
:focus { outline: none; }
:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
	outline: 3px solid var(--fv-copper-deep);
	outline-offset: 3px;
	border-radius: var(--fv-radius-sm);
}

/* Header and navigation */
.wp-site-blocks > header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--fv-evergreen);
	color: var(--fv-limestone);
	border-bottom: 3px solid var(--fv-copper);
}
.admin-bar .wp-site-blocks > header { top: 32px; }
.fv-header {
	position: relative;
	box-sizing: border-box;
	container: fv-header / inline-size;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--fv-space-2) .5rem;
	max-width: calc(var(--wp--style--global--wide-size, 1200px) + 2 * var(--fv-gutter));
	margin: 0 auto;
	padding: var(--fv-space-2) var(--fv-gutter);
}
.fv-header > p:empty, .wp-site-blocks > header > p:empty { display: none; }
.fv-header > .fv-brand { grid-column: 1; grid-row: 1; }
.fv-header > .fv-header-conditions { container: fv-conditions / inline-size; grid-column: 2; grid-row: 1; display: flex; justify-content: flex-end; align-items: center; gap: .5rem; min-width: 0; }
.fv-header-conditions .fv-weather { display: grid; grid-template-columns: auto; gap: .15rem .75rem; }
.fv-header > .fv-navigation { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; border-top: 1px solid var(--fv-on-dark-line); padding-block-start: var(--fv-space-1); }
.fv-header-tools { grid-column: 3; grid-row: 1; display: flex; justify-content: flex-end; align-items: center; gap: .5rem; min-width: 0; }
.fv-header-tooltip { position: fixed; z-index: 100; box-sizing: border-box; max-width: min(24rem, calc(100vw - 1rem)); padding: .5rem .75rem; border: 1px solid var(--fv-copper-light); border-radius: var(--fv-radius-sm); background: var(--fv-evergreen-deep); color: var(--fv-limestone); box-shadow: var(--fv-shadow-raised); font: .8125rem/1.4 var(--fv-font-sans); }
#fv-gmrs-callsign-field[hidden] { display: none; }
#fv-gmrs-callsign-field label, #fv-gmrs-callsign-field small { display: block; }
.fv-header .fv-header-emergency { box-sizing: border-box; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 9px; background: #b82330; color: #fff; box-shadow: inset 0 0 0 1px #ffb3b8; }
.fv-header .fv-header-emergency:hover { background: #941c27; color: #fff; }
.fv-header-emergency .fv-emergency-icon, .fv-emergency-label { display: none; }
.fv-emergency-shield { display: block; width: 24px; height: 24px; flex-shrink: 0; }
.fv-emergency-icon { display: block; flex-shrink: 0; width: 24px; height: 24px; }
.fv-header-search { flex: 0 0 auto; justify-content: center; }
.fv-header-search svg { width: 24px; height: 24px; }
.fv-header-search-label { display: none; }
.fv-header-tools > .fv-header-search { box-sizing: border-box; width: 44px; height: 44px; padding: 9px; border: 1px solid var(--fv-copper-light); border-radius: var(--fv-radius-sm); }
.fv-header .fv-menu-icon { flex: 0 0 22px; width: 22px; height: 22px; color: var(--fv-copper-light); }
.fv-navigation a, .fv-nav-group__menu a { gap: .6rem; }
.fv-navigation .fv-nav-group__toggle { justify-content: flex-start; }
.fv-header-status { grid-column: 1 / -1; grid-row: 3; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 0 var(--fv-space-4); min-width: 0; border-top: 1px solid var(--fv-on-dark-line); padding-block-start: var(--fv-space-2); }
.fv-header-notices__links { display: flex; flex-wrap: wrap; gap: .5rem; min-width: 0; grid-column: 1; grid-row: 1; }
.fv-header-notices__links:empty { display: none; }
.fv-header .fv-header-advisory-link { display: inline-flex; align-items: center; gap: .5rem; box-sizing: border-box; min-height: 44px; max-width: 100%; padding: .5rem .875rem; border: 1px solid #ffac61; border-radius: var(--fv-radius-sm); background: #c44f00; color: #fff; font-size: .8125rem; font-weight: 700; line-height: 1.4; text-decoration: none; }
.fv-header-advisory-link span { overflow-wrap: anywhere; }
.fv-header-advisory-link svg { width: 20px; height: 20px; flex-shrink: 0; }
.fv-header .fv-header-advisory-link:hover { background: #ad4500; text-decoration: underline; }
.fv-header-mobile-advisory { display: inline-flex; flex: 0 1 auto; align-items: center; justify-content: center; gap: .3rem; box-sizing: border-box; min-width: 44px; min-height: 44px; padding: .5rem; border: 1px solid #ffac61; border-radius: var(--fv-radius-sm); background: #c44f00; color: #fff; font: 600 .75rem/1.2 var(--fv-font-sans); white-space: nowrap; cursor: pointer; }
.fv-header-mobile-advisory span { overflow: hidden; text-overflow: ellipsis; }
.fv-header-mobile-advisory { position: relative; }
.fv-header-mobile-advisory .fv-header-mobile-advisory__full { position: absolute; visibility: hidden; width: 0; height: 0; overflow: hidden; }
.fv-header-mobile-advisory--expanded > span:not(.fv-header-mobile-advisory__full) { display: none; }
.fv-header-mobile-advisory--expanded .fv-header-mobile-advisory__full { position: static; visibility: visible; width: auto; height: auto; }
.fv-header-mobile-advisory svg { width: 20px; height: 20px; flex-shrink: 0; }
.fv-header-mobile-advisory:hover { background: #ad4500; }
.fv-header-mobile-advisory:focus-visible { outline-color: var(--fv-copper-light); }
.fv-header-status--ready { display: none; }
.fv-header-advisory-link:focus-visible, .fv-header-inspiration a:focus-visible { outline-color: var(--fv-copper-light); }
.fv-header-inspiration { display: none; min-width: 0; margin: 0; padding: 0; border: 0; color: var(--fv-limestone); text-align: right; }
.fv-cover-inspiration { position: relative; }
.fv-cover-inspiration > .fv-header-inspiration, .fv-hero-photo > .fv-header-inspiration { position: absolute; right: 1rem; bottom: 1rem; box-sizing: border-box; max-width: min(42rem, calc(100% - 2rem)); padding: .5rem .75rem; border-radius: var(--fv-radius-sm); background: rgb(15 35 28 / .88); }
@media (min-width: 1200px) {
	.fv-cover-inspiration > .fv-header-inspiration, .fv-hero-photo > .fv-header-inspiration { display: block; }
	.fv-hero-photo:has(> .fv-header-inspiration) > .fv-hero-photo__caption { inset-block-end: auto; inset-block-start: var(--fv-space-3); }
}
main .fv-header-inspiration a { display: block; min-height: 44px; color: var(--fv-limestone); text-decoration: none; font-size: .875rem; line-height: 22px; }
.fv-header-inspiration a:hover { text-decoration: underline; }
.fv-header-inspiration span, .fv-header-inspiration cite { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fv-header-inspiration span { font-style: italic; }
.fv-header-inspiration cite { color: var(--fv-copper-light); font-size: .75rem; font-style: normal; }
.fv-cover-events__titles { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .875rem; line-height: 22px; }
main .fv-cover-events__titles a { display: inline; min-height: 0; font-weight: 600; }
.fv-header-notices { grid-column: 1 / -1; grid-row: 2; min-width: 0; font-size: .8125rem; line-height: 1.4; }
.fv-header-status:not(.fv-header-status--active) .fv-header-notices { grid-column: 1; grid-row: 1; }
.fv-header-status--ready.fv-header-status--active:not(.fv-header-status--error) .fv-header-notices:not([open]) { display: none; }
.fv-header-status:not(.fv-header-status--ready) .fv-header-notices__links { display: none; }
.fv-header-notices > summary { box-sizing: border-box; min-height: 44px; padding: .75rem .25rem; cursor: pointer; overflow-wrap: anywhere; }
.fv-header-notices__body { max-height: min(45dvh, 26rem); overflow-y: auto; overscroll-behavior: contain; padding: 0 .5rem .5rem; }
.fv-header-notices__body a { color: var(--fv-copper-light); display: inline-block; padding-block: .5rem; }
.fv-header-notices__panel { box-sizing: border-box; width: min(40rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); margin: auto; padding: 1.5rem; border: 1px solid var(--fv-copper-light); border-radius: var(--fv-radius); background: var(--fv-evergreen); color: var(--fv-limestone); box-shadow: var(--fv-shadow-raised); font-size: .9375rem; line-height: 1.4; overflow: hidden; }
.fv-header-notices__panel[open] { display: flex; flex-direction: column; gap: .75rem; }
.fv-header-notices__panel::backdrop { background: rgb(0 0 0 / .65); }
html:has(.fv-header-notices__panel[open]) { overflow: hidden; }
#fv-header-notices-title:focus { outline: none; box-shadow: none; }
.fv-header-notices__panel .fv-header-notices__body { min-height: 0; max-height: none; padding: 0 .25rem; }
.fv-header-notices__actions { flex-shrink: 0; display: flex; border-top: 1px solid var(--fv-copper-light); padding-block-start: .75rem; }
.fv-header-notices__close { width: 100%; min-height: 44px; padding: .6rem .8rem; border: 1px solid var(--fv-on-dark-line); border-radius: var(--fv-radius-sm); background: transparent; color: var(--fv-limestone); font: 600 1rem/1.2 var(--fv-font-sans); cursor: pointer; }
.fv-header-notices__close:hover { background: var(--fv-tint-on-dark); }
.fv-header-notices__close:focus-visible { outline-color: var(--fv-copper-light); }
.fv-header-notices__status:empty { display: none; }
.fv-header-notices__list { list-style: none; margin: 0; padding: 0; }
.fv-header-notice { border-left: 3px solid var(--fv-copper-light); padding: .5rem .75rem; margin-block: .5rem; overflow-wrap: anywhere; }
.fv-header-notice p { margin-block: .5rem; white-space: normal; }
.fv-header-notice--warning { border-color: #eadb24; }
.fv-header-notice--urgent { border-color: #ff9090; }
.fv-header-notice small, .fv-header-notices__source { font-size: .75rem; }
.fv-brand {
	display: inline-flex;
	align-items: center;
	gap: var(--fv-space-2);
	color: var(--fv-limestone);
	text-decoration: none;
	flex: 0 0 auto;
}
.fv-brand img { display: block; width: 60px; height: 60px; object-fit: contain; }
.fv-wordmark {
	display: flex;
	flex-direction: column;
	font-family: var(--fv-font-heading);
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1.1;
	color: var(--fv-limestone);
}
.fv-wordmark span {
	font-family: var(--fv-font-sans);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--fv-copper-light);
	margin-block-start: .3rem;
}
.fv-brand:focus-visible { outline-color: var(--fv-copper-light); }
.fv-weather {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	gap: .2rem;
	flex: 0 0 auto;
	min-height: 44px;
	border: 0;
	background: transparent;
	color: var(--fv-limestone);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
}
.fv-weather__icon { flex-shrink: 0; width: 1.25rem; height: 1.25rem; color: var(--fv-copper-light); }
.fv-weather__main { display: inline-flex; align-items: center; gap: .25rem; }
.fv-weather__extra { display: none; align-items: center; gap: .25rem; font-size: .75rem; font-weight: 500; }
.fv-weather__extra .fv-weather__icon { width: 1rem; height: 1rem; }
.fv-weather__direction { display: none; }
.fv-weather__freshness { display: none; font-size: .6875rem; font-weight: 600; }
.fv-weather--stale .fv-weather__freshness { display: block; grid-column: 1 / -1; }
@container fv-conditions (min-width: 360px) {
	.fv-weather__extra--wind { display: inline-flex; }
}
@container fv-conditions (min-width: 440px) {
	.fv-header-conditions .fv-weather { grid-template-columns: repeat(2, auto); }
	.fv-weather__main { grid-area: 1 / 1; }
	.fv-weather__extra--wind { grid-area: 1 / 2; }
	.fv-weather__extra--gust { grid-area: 2 / 2; }
	.fv-weather__extra--rain { grid-area: 2 / 1; }
	.fv-weather__extra--rain, .fv-weather__extra--gust { display: inline-flex; }
	.fv-weather__direction { display: inline; }
}
@container fv-conditions (min-width: 560px) {
	.fv-header-conditions .fv-weather { grid-template-columns: repeat(3, auto); }
	.fv-weather__extra--rain { grid-area: 1 / 3; }
	.fv-weather__extra--humidity { grid-area: 2 / 3; }
	.fv-weather__extra--humidity { display: inline-flex; }
}
.fv-weather--dry .fv-weather__extra--rain { display: none; }
.fv-weather:hover { color: var(--fv-copper-light); }
.fv-weather:focus-visible { outline-color: var(--fv-copper-light); }
.fv-navigation {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: var(--fv-space-1) var(--fv-space-1);
	font-size: 1rem;
}
.fv-navigation a, .fv-nav-group__menu a, .fv-header-search, .fv-header-emergency {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 var(--fv-space-2);
	border-radius: var(--fv-radius-sm);
	color: var(--fv-limestone);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 2px;
	text-underline-offset: .45em;
	transition: background-color .15s, text-decoration-color .15s;
}
.fv-navigation a:hover, .fv-nav-group__menu a:hover, .fv-header-search:hover, .fv-header-emergency:hover { background: var(--fv-tint-on-dark); text-decoration-color: var(--fv-copper-light); }
.fv-navigation a:active, .fv-nav-group__menu a:active, .fv-header-search:active, .fv-header-emergency:active { background: var(--fv-tint-on-dark-strong); }
.fv-navigation a[aria-current="page"], .fv-header-emergency[aria-current="page"] { color: var(--fv-copper-light); text-decoration-color: var(--fv-copper-light); font-weight: 600; }
/* Emergency Services is a solid copper button on both headers so it stands out from ordinary links. */
.fv-header .fv-header-emergency, .fv-navigation a.fv-emergency-button { padding-inline: var(--fv-space-3); background: var(--fv-copper-deep); color: var(--fv-limestone); font-weight: 600; text-decoration: none; box-shadow: inset 0 0 0 1px var(--fv-copper-light); }
.fv-header .fv-header-emergency:hover, .fv-navigation a.fv-emergency-button:hover { background: var(--fv-copper-darker); color: var(--fv-limestone); }
.fv-header .fv-header-emergency { background: #b82330; color: #fff; box-shadow: inset 0 0 0 1px #ffb3b8; }
.fv-header .fv-header-emergency:hover { background: #941c27; color: #fff; }
.fv-header .fv-header-emergency[aria-current="page"], .fv-navigation a.fv-emergency-button[aria-current="page"] { color: var(--fv-limestone); text-decoration: underline; text-decoration-color: var(--fv-copper-light); }
.fv-navigation a:focus-visible, .fv-nav-group__menu a:focus-visible, .fv-header-search:focus-visible, .fv-header-emergency:focus-visible, .fv-menu-toggle:focus-visible { outline-color: var(--fv-copper-light); }
.fv-menu-toggle {
	display: none;
	align-items: center;
	gap: var(--fv-space-1);
	min-height: 44px;
	padding: 0 var(--fv-space-3);
	border: 1.5px solid var(--fv-on-dark-line);
	border-radius: var(--fv-radius-sm);
	background: transparent;
	color: var(--fv-limestone);
	font: 600 1rem/1 var(--fv-font-sans);
	cursor: pointer;
}
.fv-menu-toggle::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--fv-icon-menu) center / contain no-repeat;
	mask: var(--fv-icon-menu) center / contain no-repeat;
}
.fv-menu-toggle { --fv-icon-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M1 4h16M1 9h16M1 14h16' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.fv-menu-toggle:hover { background: var(--fv-tint-on-dark); }
.fv-header.is-open .fv-menu-toggle {
	--fv-icon-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M3 3l12 12M15 3L3 15' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background: var(--fv-limestone);
	color: var(--fv-evergreen);
	border-color: var(--fv-limestone);
}

/* Footer */
.wp-site-blocks > footer { background: var(--fv-evergreen); color: var(--fv-limestone); border-top: 3px solid var(--fv-copper); }
.fv-footer {
	box-sizing: border-box;
	max-width: calc(var(--wp--style--global--wide-size, 1200px) + 2 * var(--fv-gutter));
	margin: 0 auto !important;
	padding: var(--fv-space-5) var(--fv-gutter);
	font-size: .9375rem;
	text-align: center;
}
.fv-footer p { margin: 0; }
.fv-footer p + p { margin-block-start: var(--fv-space-2); }
.fv-footer a { color: var(--fv-limestone); text-decoration-color: var(--fv-copper-light); }

/* Buttons */
.wp-element-button, .wp-block-button__link, button, input[type="submit"], input[type="button"], .button,
#buddypress .button, #buddypress button, #buddypress input[type="submit"],
#bbpress-forums button, #bbpress-forums input[type="submit"], #fv-login input[type="submit"], #fv-lost-password input[type="submit"], #fv-activate input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: var(--fv-control-height);
	padding: .75rem 1.5rem;
	border: 2px solid var(--fv-action);
	border-radius: var(--fv-radius-sm) !important;
	background: var(--fv-action);
	color: var(--fv-action-text);
	font: 600 1rem/1.3 var(--fv-font-sans);
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s, border-color .15s, color .15s;
}
.wp-element-button:hover, .wp-block-button__link:hover, input[type="submit"]:hover, input[type="button"]:hover, .button:hover,
#buddypress .button:hover, #buddypress button:hover, #buddypress input[type="submit"]:hover,
#bbpress-forums button:hover, #bbpress-forums input[type="submit"]:hover, #fv-login input[type="submit"]:hover, #fv-lost-password input[type="submit"]:hover, #fv-activate input[type="submit"]:hover {
	background: var(--fv-action-hover);
	border-color: var(--fv-action-hover);
	color: var(--fv-action-text);
}
.wp-element-button:active, .wp-block-button__link:active, button:active, input[type="submit"]:active, .button:active { transform: translateY(1px); }
button:disabled, input[type="submit"]:disabled, .button.disabled, .button[disabled], [aria-disabled="true"].wp-element-button,
#buddypress input[type="submit"]:disabled, #buddypress button:disabled {
	background: var(--fv-disabled-bg) !important;
	border-color: var(--fv-disabled-border) !important;
	color: var(--fv-muted) !important;
	cursor: not-allowed;
	transform: none;
}
.is-style-outline > .wp-block-button__link, .wp-block-button__link.is-style-outline,
.wp-site-blocks .button-secondary, #buddypress .button-secondary, #bbpress-forums .button-secondary {
	background: transparent;
	border-color: var(--fv-evergreen);
	color: var(--fv-evergreen);
}
.is-style-outline > .wp-block-button__link:hover, .wp-block-button__link.is-style-outline:hover,
.wp-site-blocks .button-secondary:hover, #buddypress .button-secondary:hover, #bbpress-forums .button-secondary:hover { background: var(--fv-tint-on-light); border-color: var(--fv-evergreen); color: var(--fv-evergreen); }
.wp-block-buttons { gap: var(--fv-space-2); }

/* TinyMCE colors icons and dropdown labels independently of their copper buttons. */
body .mce-container .mce-btn button {
	background: var(--fv-copper-deep);
	border-color: var(--fv-copper-deep);
	color: var(--fv-limestone);
}
body .mce-container .mce-btn:is(:hover, :focus, .mce-active) button {
	background: var(--fv-copper-darker);
	border-color: var(--fv-copper-darker);
	color: var(--fv-limestone);
}
body .mce-container .mce-btn button :is(.mce-ico, .mce-txt) { color: inherit; }
body .mce-container .mce-btn button .mce-caret { border-top-color: currentColor; }
body .wp-editor-wrap .wp-media-buttons .button,
body .wp-editor-wrap .wp-media-buttons .button .wp-media-buttons-icon::before { color: var(--fv-evergreen); }
#buddypress #bp-messages-reset { color: var(--fv-evergreen); }

/* Forms */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]), select, textarea {
	box-sizing: border-box;
	max-width: 100%;
	min-height: var(--fv-control-height);
	padding: .65rem .85rem;
	background-color: var(--fv-paper);
	color: var(--fv-evergreen);
	border: 1.5px solid var(--fv-line);
	border-radius: var(--fv-radius-sm);
	font: inherit;
	transition: border-color .15s, box-shadow .15s;
}
.wp-site-blocks > main input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
.wp-site-blocks > main select, .wp-site-blocks > main textarea,
#buddypress #signup-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
#buddypress #signup-form select, #buddypress #signup-form textarea {
	background-color: var(--fv-paper) !important;
	color: var(--fv-evergreen) !important;
	border: 1.5px solid var(--fv-line) !important;
	color-scheme: light;
}
input:hover, select:hover, textarea:hover { border-color: var(--fv-evergreen) !important; }
.wp-site-blocks > main input:focus, .wp-site-blocks > main select:focus, .wp-site-blocks > main textarea:focus,
#buddypress #signup-form input:focus, #buddypress #signup-form select:focus, #buddypress #signup-form textarea:focus {
	border-color: var(--fv-evergreen) !important;
	outline: 3px solid var(--fv-copper-deep);
	outline-offset: 2px;
}
input:disabled, select:disabled, textarea:disabled { background-color: var(--fv-disabled-field-bg) !important; color: var(--fv-muted) !important; cursor: not-allowed; }
input[aria-invalid="true"], #buddypress #signup-form input.error, #buddypress #signup-form select.error, #buddypress #signup-form textarea.error {
	border-color: var(--fv-danger) !important;
	border-width: 2px !important;
}
input::placeholder, textarea::placeholder { color: var(--fv-muted); opacity: 1; }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--fv-evergreen);
	-webkit-box-shadow: 0 0 0 1000px var(--fv-paper) inset;
}
input[type="checkbox"], input[type="radio"] { accent-color: var(--fv-action); width: 1.15rem; height: 1.15rem; }
label, legend { font-weight: 600; color: var(--fv-evergreen); }
fieldset { border: 0; padding: 0; margin: 0; }
#fv-login, #fv-lost-password, #fv-activate { max-width: 30rem; margin-inline: auto; }
#fv-login p, #fv-lost-password p, #fv-activate p { margin-block: 0 var(--fv-space-4); }
#fv-login label, #fv-lost-password label, #fv-activate label { display: block; margin-block-end: var(--fv-space-1); }
#fv-login input:not([type="checkbox"]):not([type="submit"]), #fv-lost-password input:not([type="submit"]), #fv-activate input:not([type="submit"]) { width: 100%; box-sizing: border-box; }
#fv-login .login-remember label { display: inline-flex; align-items: center; gap: var(--fv-space-1); font-weight: 400; }
#fv-login .login-submit, #fv-lost-password .login-submit, #fv-activate .login-submit, #buddypress #signup-form .submit { text-align: center; }
#buddypress #signup-form .submit input[type="submit"] { float: none; margin-inline: 0; }
.fv-account-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.25rem; max-width: 30rem; margin-inline: auto; text-align: center; }
.fv-login-notice { box-sizing: border-box; max-width: 30rem; margin: 0 auto var(--fv-space-4); padding: var(--fv-space-2) var(--fv-space-3); border: 1px solid var(--fv-hairline); border-left: 5px solid var(--fv-evergreen); border-radius: var(--fv-radius-sm); background: var(--fv-paper); color: var(--fv-evergreen); }
.fv-login-notice p { margin: 0; }
.fv-login-notice p + p { margin-block-start: var(--fv-space-2); }
#activate-page .bp-feedback { box-sizing: border-box; max-width: 30rem; margin-inline: auto; }
.fv-activate__actions { margin-block-start: var(--fv-space-5); text-align: center; }
#activate-page :is(.fv-account-links, .fv-login-error) a { text-decoration: underline; }
.fv-login-error { box-sizing: border-box; max-width: 30rem; margin: 0 auto var(--fv-space-4); padding: var(--fv-space-2) var(--fv-space-3); border: 1px solid color-mix(in srgb, var(--fv-danger) 35%, transparent); border-left: 5px solid var(--fv-danger); border-radius: var(--fv-radius-sm); background: var(--fv-danger-bg); color: var(--fv-danger); }
.fv-login-error p { margin: 0; }
.fv-login-error a { color: inherit; }
#fv-login .fv-password-field { display: block; position: relative; }
#fv-login .fv-password-field input { padding-inline-end: 3.5rem; }
#fv-login .fv-password-toggle {
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	width: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fv-evergreen);
}
#fv-login .fv-password-toggle:hover { background: var(--fv-limestone); }
.fv-password-toggle svg { width: 24px; height: 24px; }
.fv-password-toggle__slash { display: none; }
.fv-password-toggle.is-password-visible .fv-password-toggle__slash { display: block; }

/* Cards and panels shared by BuddyPress, bbPress and page content */
#buddypress, #bbpress-forums { color: var(--fv-evergreen); font-family: var(--fv-font-sans); font-size: 1rem; line-height: 1.7; }
#buddypress h2, #buddypress h3, #bbpress-forums h2, #buddypress .screen-heading { color: var(--fv-evergreen); font-family: var(--fv-font-heading); }
#buddypress a:not(.button), #bbpress-forums a:not(.button) { color: var(--fv-evergreen); }
#buddypress .bp-list > li, #buddypress .item-body > .profile, #buddypress .bp-widget, #bbpress-forums fieldset.bbp-form,
#buddypress .standard-form, #buddypress #signup-form .layout-wrap {
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-radius: var(--fv-radius);
	box-shadow: var(--fv-shadow);
}
#buddypress .bp-list { border: 0; display: grid; gap: var(--fv-space-3); padding: 0; }
#buddypress .bp-list > li { padding: var(--fv-space-4); margin: 0; }
#buddypress .bp-list > li + li { margin: 0; }
#buddypress .bp-list .list-title { margin-block: 0 var(--fv-space-1); font-size: var(--fv-heading-card); font-weight: 650; line-height: 1.3; }
#buddypress .bp-list .list-title a { text-decoration: none; }
#buddypress .bp-list .list-title a:hover { text-decoration: underline; }
#buddypress .bp-list .item-meta { line-height: 1.5; }
#buddypress .groups-list .group-desc { padding: 0; border: 0; background: transparent; font-style: normal; }
main > :is(.wp-block-post-title, .wp-block-post-content) { box-sizing: border-box; min-width: 0; width: 100%; max-width: var(--wp--style--global--content-size, 760px); }
#buddypress #signup-form .layout-wrap { padding: var(--fv-space-5) var(--fv-space-4); }
#buddypress #signup-form .layout-wrap h2 { margin-block: 0 var(--fv-space-4); font-size: 1.4rem; }
#buddypress .editfield, #buddypress #signup-form .editfield { margin-block-end: var(--fv-space-4); }
#buddypress .editfield label, #buddypress .editfield legend, #buddypress #signup-form label { margin-block-end: var(--fv-space-1); }
#buddypress .item-meta, #buddypress .activity-meta, #buddypress .activity-time-since, #buddypress .bp-help-text,
#buddypress .bp-signup-form p.description, #buddypress #signup-form .description, #bbpress-forums .bbp-meta {
	color: var(--fv-muted);
	font-size: .9375rem;
	background: transparent;
}
#buddypress p:empty { display: none; }
#signup-form .field-visibility-settings-notoggle { display: none; }
#register-page > .bp-feedback:has(.bp-icon:only-child) { display: none; }

/* Registration */
#buddypress:has(> #register-page) { max-width: none; }
#buddypress #signup-form {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}
#buddypress #signup-form .layout-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--fv-space-5);
	padding: var(--fv-space-4);
	border: 1px solid var(--fv-hairline);
	border-radius: var(--fv-radius);
	background: var(--fv-paper);
	box-shadow: var(--fv-shadow);
}
#buddypress #signup-form .fv-signup-column { float: none; width: auto; min-width: 0; margin: 0; }
#buddypress #signup-form .editfield { margin-block: 0 var(--fv-space-4); }
#buddypress #signup-form #password-warning { display: none; }
#buddypress #signup-form :is(input[type="text"], input[type="email"], input[type="password"], select) {
	height: 3.125rem;
	min-height: 3.125rem;
	padding: .65rem .85rem;
	line-height: 1.7;
}
#buddypress #signup-form #basic-details-section > label {
	display: block;
	margin: var(--fv-space-4) 0 var(--fv-space-1);
}
#buddypress #signup-form #basic-details-section > input { width: 100%; margin: 0; }
#buddypress #signup-form .fv-signup-location {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--fv-space-2);
}
#buddypress #signup-form .editfield :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { width: 100%; margin: 0; }
#buddypress #signup-form .editfield :is(label, legend) { display: block; margin: 0 0 var(--fv-space-1); }
#buddypress #signup-form .fv-signup-sharing { display: grid; gap: var(--fv-space-3); }
#buddypress #signup-form .fv-signup-group-label { margin: 0; font-weight: 600; }
#buddypress #signup-form .fv-signup-consents > .fv-signup-group-label { flex-basis: 100%; }
#buddypress #signup-form .fv-signup-sharing label { display: flex; align-items: start; gap: var(--fv-space-2); margin: 0; cursor: pointer; }
#buddypress #signup-form .fv-signup-sharing input { flex: none; margin-block-start: .35em; }
#buddypress #signup-form .fv-signup-consents { display: flex; flex-wrap: wrap; gap: var(--fv-space-3) var(--fv-space-5); margin-block-start: var(--fv-space-4); }
#buddypress #signup-form .privacy-policy-accept { flex: 1 1 22rem; margin: 0; }
#buddypress #signup-form .privacy-policy-accept label { margin: 0; }
#buddypress #signup-form .submit { margin-block: var(--fv-space-5) 0; }
@media (min-width: 900px) {
	body.fv-access-public:not(.home):has(#register-page) .wp-site-blocks > main { max-width: calc(var(--wp--style--global--content-size, 760px) + 2 * var(--fv-space-6)); }
	body.fv-access-public:not(.home):has(#register-page) .wp-site-blocks > main > .wp-block-post-title { max-width: none; }
	#buddypress #signup-form .layout-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	#buddypress #signup-form .fv-signup-location { grid-template-columns: minmax(0, 1fr); }
}

/* Navigation tabs (profile, groups, settings) */
#buddypress .bp-navs, .fv-hub-tabs {
	background: transparent;
	border-bottom: 1px solid var(--fv-hairline);
	margin-block-end: var(--fv-space-4);
}
#buddypress .bp-navs ul { display: flex; flex-wrap: wrap; gap: var(--fv-space-1); }
#buddypress .bp-navs li a, .fv-hub-tabs a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 var(--fv-space-3);
	border-radius: var(--fv-radius-sm);
	color: var(--fv-evergreen);
	text-decoration: none !important;
	font-weight: 600;
}
#buddypress .bp-navs li a:hover, .fv-hub-tabs a:hover { background: var(--fv-tint-on-light); }
#buddypress .bp-navs li.current a, #buddypress .bp-navs li.selected a, .fv-hub-tabs a[aria-current="page"] {
	background: var(--fv-evergreen);
	color: var(--fv-limestone);
	box-shadow: none;
	font-weight: 600;
}
#buddypress .bp-navs li .count { background: var(--fv-limestone); color: var(--fv-evergreen); border: 0; }
#buddypress .bp-subhead, #buddypress .subnav-filters { background: transparent; border: 0; padding: 0; margin-block-end: var(--fv-space-3); }
#buddypress .subnav-filters :is(input[type="search"], input[type="text"], select),
#buddypress .dir-search :is(input[type="search"], input[type="text"]) {
	min-height: var(--fv-control-height);
	padding: .65rem .85rem;
	border-radius: var(--fv-radius-sm);
	font: 400 1rem/1.5 var(--fv-font-sans);
}
#buddypress .subnav-filters .select-wrap { border: 0; border-radius: var(--fv-radius-sm); background: transparent; }

/* bbPress lists */
#bbpress-forums ul.bbp-forums, #bbpress-forums ul.bbp-topics, #bbpress-forums ul.bbp-replies, #bbpress-forums ul.bbp-lead-topic {
	border: 1px solid var(--fv-hairline);
	border-radius: var(--fv-radius);
	overflow: hidden;
	box-shadow: var(--fv-shadow);
}
#bbpress-forums li.bbp-header, #bbpress-forums li.bbp-footer { background: var(--fv-evergreen); color: var(--fv-limestone); border: 0; padding: var(--fv-space-2) var(--fv-space-3); }
#bbpress-forums li.bbp-header a, #bbpress-forums li.bbp-footer a { color: var(--fv-limestone) !important; }
#bbpress-forums div.odd, #bbpress-forums ul.odd { background: var(--fv-paper); }
#bbpress-forums div.even, #bbpress-forums ul.even { background: var(--fv-limestone); }
#bbpress-forums li.bbp-body ul.forum, #bbpress-forums li.bbp-body ul.topic { border-top: 1px solid var(--fv-hairline); padding: var(--fv-space-3); }
#bbpress-forums div.bbp-forum-header, #bbpress-forums div.bbp-topic-header, #bbpress-forums div.bbp-reply-header {
	background: var(--fv-tint-on-light-soft);
	border-top: 1px solid var(--fv-hairline);
}
#bbpress-forums ul.bbp-threaded-replies { margin: 0 0 0 var(--fv-space-4); padding: 0; list-style: none; border-left: 3px solid var(--fv-hairline); }
#bbpress-forums ul.bbp-threaded-replies .bbp-reply-header { border-top-color: var(--fv-hairline); }
#bbpress-forums .bbp-reply-to-link { font-weight: 600; }
@media (max-width: 600px) {
	#bbpress-forums ul.bbp-threaded-replies { margin-left: var(--fv-space-2); }
}

/* Reactions */
/* Directory avatar rings show recorded activity; last-active text remains unchanged. */
.fv-member-activity--now { --fv-activity-color: #16a34a; }
.fv-member-activity--recent { --fv-activity-color: #0891b2; }
.fv-member-activity--today { --fv-activity-color: #4f46e5; }
.fv-member-activity--days, .fv-member-activity--older { --fv-activity-color: #6b7280; }
.fv-member-activity--week { --fv-activity-color: #c65d0a; }
#buddypress .fv-member-activity-avatar img.avatar { box-shadow: 0 0 0 2px var(--fv-paper), 0 0 0 6px var(--fv-activity-color); }
#buddypress .fv-member-activity--older img.avatar { box-shadow: 0 0 0 2px var(--fv-paper); outline: 4px dashed var(--fv-activity-color); outline-offset: 2px; }
.fv-member-status { display: inline-block; width: 1rem; height: 1rem; box-sizing: border-box; border: 4px solid var(--fv-activity-color); border-radius: 50%; vertical-align: text-bottom; }
.fv-member-status.fv-member-activity--older { border-style: dashed; }
.fv-member-status-legend { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; margin-block: 0.75rem; color: var(--fv-muted); font-size: 0.8125rem; }
.fv-member-status-legend > strong { flex-basis: 100%; color: var(--fv-evergreen); font-size: 0.9375rem; }
.fv-member-status-legend > span { white-space: nowrap; }

/* Member badges: one color per family; admins are filled, members outlined. */
.fv-member-badges { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-block: 0.35rem 0; }
.bbp-reply-author .fv-member-badges, .bbp-topic-author .fv-member-badges { justify-content: center; }
.fv-member-badge { --fv-member-badge: #475569; display: inline-block; padding: 0.05rem 0.45rem; border: 1px solid var(--fv-member-badge); border-radius: 999px; background: #fff; color: var(--fv-member-badge); font-size: 0.75rem; font-weight: 700; line-height: 1.4; letter-spacing: 0.02em; white-space: nowrap; }
.fv-member-badge { position: relative; cursor: help; }
.fv-member-badge:focus-visible { outline: 3px solid var(--fv-copper); outline-offset: 2px; }
.fv-member-badge__tip { position: fixed; z-index: 1000; top: 0; left: 0; width: max-content; max-width: min(18rem, calc(100vw - 24px)); box-sizing: border-box; padding: 0.5rem 0.65rem; border-radius: 6px; background: #1f2937; color: #fff; font-size: 0.8125rem; font-weight: 400; line-height: 1.4; letter-spacing: 0; text-align: left; white-space: normal; box-shadow: 0 4px 14px rgba(0,0,0,.2); visibility: hidden; pointer-events: none; }
.fv-member-badge__tip::before { content: ""; position: absolute; bottom: 100%; left: var(--fv-tip-arrow, 50%); transform: translateX(-50%); border: 6px solid transparent; border-bottom-color: #1f2937; }
.fv-member-badge__tip.is-above::before { bottom: auto; top: 100%; border-bottom-color: transparent; border-top-color: #1f2937; }
.fv-member-badge:is(:hover, :focus-visible, .is-open) .fv-member-badge__tip { visibility: visible; }
.fv-member-badge--admin .fv-member-badge__tip { color: #fff; }
.fv-member-badge--admin { background: var(--fv-member-badge); color: #fff; }
.fv-member-badge--fvch { --fv-member-badge: #8a5a00; }
.fv-member-badge--cope { --fv-member-badge: #b42318; }
.fv-member-badge--gmrs { --fv-member-badge: #1d4ed8; }
.fv-member-badge--fvmc { --fv-member-badge: #7e22ce; }
.fv-member-badge--tc { --fv-member-badge: #15803d; }
.fv-member-badge--top { --fv-member-badge: #0f766e; }
.fv-member-badge--new { --fv-member-badge: #475569; }
.fv-reactions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fv-space-2); margin-block: var(--fv-space-3) 0; clear: both; }
.fv-reactions__form { display: flex; flex-wrap: wrap; gap: var(--fv-space-1); margin: 0; }
:is(#bbpress-forums, #buddypress, body) .fv-reactions :is(button.fv-reaction, button.fv-copy-link, button.fv-pin, button.fv-announcement-action) {
	display: inline-flex;
	align-items: center;
	gap: .3em;
	min-height: 36px;
	min-width: 44px;
	margin: 0;
	padding: .2em .6em;
	border: 1px solid var(--fv-hairline);
	border-radius: 999px;
	background: var(--fv-paper);
	color: var(--fv-evergreen);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	box-shadow: none;
	cursor: pointer;
}
:is(#bbpress-forums, #buddypress, body) .fv-reactions :is(button.fv-reaction, button.fv-copy-link, button.fv-pin, button.fv-announcement-action):hover { border-color: var(--fv-copper); background: var(--fv-paper); color: var(--fv-evergreen); }
:is(#bbpress-forums, #buddypress, body) .fv-reactions button.fv-reaction.is-mine { border-color: var(--fv-copper); background: var(--fv-tint-on-light-soft); box-shadow: inset 0 0 0 1px var(--fv-copper); }
:is(#bbpress-forums, #buddypress, body) .fv-reactions :is(button.fv-reaction, button.fv-copy-link, button.fv-pin, button.fv-announcement-action):focus-visible { outline: 3px solid var(--fv-copper); outline-offset: 2px; }
:is(#bbpress-forums, #buddypress, body) .fv-reactions :is(button.fv-copy-link, button.fv-pin, button.fv-announcement-action) { font-size: .9375rem; }
:is(#bbpress-forums, #buddypress, body) .fv-reactions button.fv-pin.is-pinned { border-color: var(--fv-copper); background: var(--fv-tint-on-light-soft); }
.fv-pin-form { display: inline-flex; flex-wrap: wrap; gap: var(--fv-space-2); margin: 0; max-width: 100%; }
.fv-reactions button.fv-announcement-action:disabled { opacity: .45; cursor: not-allowed; }
.fv-announcement__pinned { color: var(--fv-copper-darker); font-weight: 700; }
:is(#bbpress-forums, #buddypress, body) .fv-reactions button.fv-copy-link.is-copied { border-color: var(--fv-copper); background: var(--fv-tint-on-light-soft); }
.fv-copy-link__status { font-size: .9375rem; font-weight: 600; color: var(--fv-evergreen); }
.fv-copy-link__status:empty { display: none; }
/* The Copy link button replaces bbPress's "#123" post-number link. */
#bbpress-forums .bbp-reply-permalink { display: none; }
.fv-reactions.is-busy { opacity: .6; pointer-events: none; }
.fv-reaction__count { font-variant-numeric: tabular-nums; font-size: .9375rem; }
.fv-reactions__who { font-size: .9375rem; color: var(--fv-muted); }
.fv-reactions__who summary { cursor: pointer; text-decoration: underline; text-decoration-color: var(--fv-copper-light); }
.fv-reactions__who ul { margin: var(--fv-space-1) 0 0; padding: 0; list-style: none; color: inherit; }
.fv-reactions__who li { margin: 0 0 .2em; }

#bbpress-forums fieldset.bbp-form { padding: var(--fv-space-4); min-width: 0; max-width: 100%; box-sizing: border-box; }
#bbpress-forums fieldset.bbp-form legend { float: left; width: 100%; margin: 0 0 var(--fv-space-3); padding: 0; font-family: var(--fv-font-heading); font-size: 1.25rem; line-height: 1.3; }
#bbpress-forums fieldset.bbp-form legend + * { clear: both; }
#bbpress-forums .fv-forum-actions { clear: both; margin-block: var(--fv-space-3); }
#bbpress-forums fieldset.bbp-form input[type="text"], #bbpress-forums fieldset.bbp-form select, #bbpress-forums fieldset.bbp-form textarea,
#bbpress-forums .wp-editor-container { box-sizing: border-box; max-width: 100%; }
#bbpress-forums .quicktags-toolbar { display: flex; flex-wrap: wrap; gap: 2px; }
#bbpress-forums fieldset.bbp-form p { margin-block: 0 var(--fv-space-3); line-height: 1.6; }
#bbpress-forums fieldset.bbp-form label:not(.screen-reader-text) { display: block; margin-block-end: var(--fv-space-1); line-height: 1.5; }
#bbpress-forums fieldset.bbp-form input[type="checkbox"] + label { display: inline; }
#bbpress-forums fieldset.bbp-form :is(input[type="text"], input[type="password"], select) {
	display: block;
	width: 100%;
	height: auto;
	min-height: 44px;
	margin: 0;
	padding: .6rem .75rem;
	font: inherit;
	line-height: 1.5;
}
#bbpress-forums div.bbp-the-content-wrapper { margin-block: var(--fv-space-3); }
#bbpress-forums div.bbp-the-content-wrapper textarea.bbp-the-content {
	width: 100%;
	min-height: 16rem;
	margin: 0;
	padding: .75rem;
	background: var(--fv-paper);
	color: var(--fv-evergreen);
	font: 1rem/1.6 var(--fv-font-sans);
}
#bbpress-forums div.bbp-the-content-wrapper input[type="button"] {
	min-height: 32px;
	margin: 0;
	padding: .25rem .5rem;
	font-size: .875rem;
	line-height: 1.5;
}
#bbpress-forums div.bbp-the-content-wrapper div.quicktags-toolbar { height: auto; line-height: normal; }
/* bbPress marks the search label .hidden (display:none); keep it for screen readers. */
#bbp-search-form label.screen-reader-text.hidden { display: block !important; }

/* Status messages: colour plus a text/icon label, never colour alone */
#buddypress .bp-feedback, #bbpress-forums div.bbp-template-notice, .fv-notice {
	display: flex;
	gap: var(--fv-space-2);
	align-items: flex-start;
	margin-block: var(--fv-space-3);
	padding: var(--fv-space-3);
	background: var(--fv-info-bg);
	color: var(--fv-evergreen);
	border: 1px solid var(--fv-hairline);
	border-left: 5px solid var(--fv-evergreen);
	border-radius: var(--fv-radius-sm);
	box-shadow: none;
}
#buddypress .bp-feedback p, #bbpress-forums div.bbp-template-notice p { margin: 0; color: inherit; font-size: 1rem; }
#buddypress .bp-feedback .bp-icon { background: var(--fv-evergreen); color: var(--fv-limestone); border-radius: var(--fv-radius-sm); }
#buddypress .bp-feedback.success, #buddypress .bp-feedback.updated, #bbpress-forums div.bbp-template-notice.updated {
	background: var(--fv-success-bg); color: var(--fv-success); border-color: color-mix(in srgb, var(--fv-success) 35%, transparent); border-left-color: var(--fv-success);
}
#buddypress .bp-feedback.success .bp-icon, #buddypress .bp-feedback.updated .bp-icon { background: var(--fv-success); }
#buddypress .bp-feedback.warning, #bbpress-forums div.bbp-template-notice.warning {
	background: var(--fv-warning-bg); color: var(--fv-warning); border-color: color-mix(in srgb, var(--fv-warning) 35%, transparent); border-left-color: var(--fv-warning);
}
#buddypress .bp-feedback.warning .bp-icon { background: var(--fv-warning); }
#buddypress .bp-feedback.error, #bbpress-forums div.bbp-template-notice.error, .login #login_error {
	background: var(--fv-danger-bg); color: var(--fv-danger); border-color: color-mix(in srgb, var(--fv-danger) 35%, transparent); border-left-color: var(--fv-danger);
}
#buddypress .bp-feedback.error .bp-icon { background: var(--fv-danger); }
#buddypress .password-input-wrapper { display: flex; gap: var(--fv-space-2); align-items: stretch; }
#buddypress .password-input-wrapper input { flex: 1 1 auto; min-width: 0; width: auto !important; margin: 0 !important; }
#buddypress .password-input-wrapper .wp-hide-pw {
	flex: 0 0 auto;
	min-width: 48px;
	min-height: 48px;
	padding: 0 .75rem;
	margin: 0;
	background: var(--fv-paper);
	color: var(--fv-evergreen);
	border: 1.5px solid var(--fv-line);
	border-radius: var(--fv-radius-sm);
}
#buddypress .password-input-wrapper .wp-hide-pw:hover { background: var(--fv-limestone); border-color: var(--fv-evergreen); }
#buddypress #pass-strength-result { width: 100%; box-sizing: border-box; margin-top: var(--fv-space-2); }
#buddypress #pass-strength-result {
	background: var(--fv-paper);
	color: var(--fv-evergreen);
	border: 1px solid var(--fv-hairline);
	border-left: 5px solid var(--fv-line);
	border-radius: var(--fv-radius-sm);
	padding: .45rem .75rem;
	font-weight: 600;
}
#buddypress #pass-strength-result.short, #buddypress #pass-strength-result.bad { background: var(--fv-danger-bg); color: var(--fv-danger); border-left-color: var(--fv-danger); }
#buddypress #pass-strength-result.good { background: var(--fv-warning-bg); color: var(--fv-warning); border-left-color: var(--fv-warning); }
#buddypress #pass-strength-result.strong { background: var(--fv-success-bg); color: var(--fv-success); border-left-color: var(--fv-success); }
.wp-pwd .caps-warning { display: none; background: var(--fv-warning-bg); color: var(--fv-warning); padding: .4rem .6rem; border-radius: var(--fv-radius-sm); }
.wp-pwd .caps-icon { display: inline-flex; width: 20px; height: 20px; vertical-align: middle; }
.wp-pwd .caps-icon svg { width: 20px; height: 20px; }

#bbpress-forums, #bbpress-forums ul.bbp-forums, #bbpress-forums ul.bbp-topics, #bbpress-forums ul.bbp-replies, #bbpress-forums li.bbp-body, #bbpress-forums div.bbp-breadcrumb p, #bbpress-forums .bbp-pagination { font-size: 1rem; }
#bbpress-forums li.bbp-header, #bbpress-forums li.bbp-footer { font-size: .9375rem; }
#bbpress-forums .bbp-forum-content, #bbpress-forums .bbp-topic-meta, #bbpress-forums p.bbp-topic-meta, #bbpress-forums .bbp-forum-freshness p { font-size: .9375rem !important; line-height: 1.5; }
#bbpress-forums .bbp-forum-title, #bbpress-forums .bbp-topic-permalink { font-size: 1.0625rem; font-weight: 600; }

/* BuddyPress profile and group headers */
#buddypress #header-cover-image {
	background-color: var(--fv-evergreen);
	background-size: cover;
	background-position: center 30%;
	border-radius: var(--fv-radius);
}
/* The fallback must not override BuddyPress's member-specific cover-image rule. */
#header-cover-image { background-image: url("assets/images/hero-960.webp"); }
#buddypress #item-header-avatar, #buddypress #item-header-content { box-sizing: border-box; max-width: 100%; }
/* BuddyPress serves the full-size upload and resets width/height to auto; pin avatars to their intended size. */
#buddypress .bp-list li .item-avatar img.avatar { width: 96px; height: 96px; max-width: 100%; object-fit: cover; }
#buddypress #item-header-avatar img.avatar { width: 150px; height: 150px; max-width: 100%; object-fit: cover; }
/* A paper gap and copper ring keep photos and initials from blending into light page backgrounds. */
#buddypress img.avatar, #bbpress-forums img.avatar:not([width="14"]) { border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--fv-paper), 0 0 0 4px var(--fv-copper); }
#buddypress #item-header .user-nicename, #buddypress #item-header .group-nicename {
	display: inline-block;
	width: auto;
	background: var(--fv-evergreen);
	color: var(--fv-limestone) !important;
	text-shadow: none !important;
	padding: .15em .6em;
	border-radius: var(--fv-radius-sm);
	font-size: clamp(1.15rem, 3vw, 1.5rem);
}
#buddypress #item-header .user-nicename { display: none; }
#buddypress .pag-data, #buddypress .group-desc, #buddypress .group-desc p, #buddypress .item-meta, #buddypress .last-activity { color: var(--fv-muted) !important; }

/* Landing hero: independently cropped mountain photograph above the evergreen panel */
.home:not(.buddypress) .wp-site-blocks > main { max-width: none; padding: 0; display: flex; flex-direction: column; }
.home:not(.buddypress) .wp-site-blocks > main > .wp-block-post-content { box-sizing: border-box; width: 100%; max-width: none; flex: 1 0 auto; display: flex; flex-direction: column; }
.home .wp-block-post-content > .wp-block-cover {
	--fv-hero-photo-height: clamp(14rem, 34vh, 20rem);
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: minmax(var(--fv-hero-photo-height), 1fr) auto;
	flex: 1 0 auto;
	max-width: none;
	width: 100%;
	min-height: min(78vh, 46rem);
	margin: 0 !important;
	padding: 0;
	box-sizing: border-box;
	align-items: stretch;
	background: var(--fv-evergreen-deep);
	border-radius: 0;
}
.home .wp-block-cover > .fv-hero-photo {
	position: relative;
	background: url("assets/images/hero-1920.webp") center / cover no-repeat;
}
.fv-hero-photo__caption {
	position: absolute;
	inset-inline-end: var(--fv-gutter);
	inset-block-end: var(--fv-space-3);
	max-width: calc(100% - 2 * var(--fv-gutter));
	padding: var(--fv-space-1) var(--fv-space-3);
	border-radius: var(--fv-radius-sm);
	background: color-mix(in srgb, var(--fv-evergreen-deep) 82%, transparent);
	color: var(--fv-limestone);
	font-family: var(--fv-font-serif);
	font-size: .9375rem;
	font-style: italic;
	line-height: 1.4;
	opacity: 0;
	transition: opacity .25s ease;
	pointer-events: none;
}
.fv-hero-photo:hover .fv-hero-photo__caption { opacity: 1; }
.home .wp-block-cover > .wp-block-cover__background { display: none; }
.home .wp-block-cover__inner-container {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: var(--fv-space-5) var(--fv-gutter);
	background: var(--fv-evergreen);
	color: var(--fv-limestone);
	border-radius: 0;
	border-top: 4px solid var(--fv-copper);
	box-shadow: none;
}
.home .wp-block-cover__inner-container > * { max-width: 60rem !important; margin-inline: auto !important; }
.home .wp-block-cover__inner-container > * + * { margin-block-start: var(--fv-space-2); }
.home .wp-block-cover h1 {
	margin: 0 0 var(--fv-space-3);
	color: var(--fv-limestone);
	font-size: clamp(2rem, 6vw, 2.9rem);
	text-align: center;
}
.home .wp-block-cover h4, .home .wp-block-cover p.fv-tagline {
	margin-block: var(--fv-space-1) var(--fv-space-3);
	color: var(--fv-copper-light);
	font-family: var(--fv-font-heading);
	font-size: 1.15rem;
	font-weight: 400;
	line-height: 1.4;
}
.home .wp-block-cover p { color: var(--fv-limestone); font-size: 1.0625rem; line-height: 1.55; text-align: center; }
.home .wp-block-cover p.has-medium-font-size { font-size: max(1rem, var(--wp--preset--font-size--medium)) !important; }
.home .wp-block-cover p.fv-join-note { margin-block-start: var(--fv-space-3); font-size: max(.875rem, calc(var(--wp--preset--font-size--medium) * .8)); line-height: 1.5; }
.home .wp-block-cover .wp-block-buttons { margin-block-start: var(--fv-space-3); gap: var(--fv-space-2); }
.home .wp-block-cover .wp-block-button .wp-block-button__link {
	background: var(--fv-copper-light);
	border: 2px solid var(--fv-copper-light);
	color: var(--fv-evergreen-deep);
	border-radius: var(--fv-radius-sm);
}
.home .wp-block-cover .wp-block-button .wp-block-button__link:hover { background: var(--fv-limestone); border-color: var(--fv-limestone); color: var(--fv-evergreen-deep); }
.home .wp-block-cover .wp-block-button + .wp-block-button .wp-block-button__link { background: transparent; border-color: var(--fv-limestone); color: var(--fv-limestone); }
.home .wp-block-cover .wp-block-button + .wp-block-button .wp-block-button__link:hover { background: var(--fv-limestone); color: var(--fv-evergreen-deep); }
.home .wp-block-cover a:focus-visible { outline-color: var(--fv-copper-light); }
/* Emergency Services and Community Resources */
.emergency-container { max-width: 48rem; margin: 0 auto; }
.emergency-container .emergency-intro {
	margin-block-end: var(--fv-space-5);
	padding: var(--fv-space-4);
	background: var(--fv-evergreen);
	color: var(--fv-limestone);
	border: 0;
	border-radius: var(--fv-radius-lg);
	text-align: left;
}
.emergency-container .emergency-intro p { margin: 0; color: var(--fv-limestone); }
.emergency-container .emergency-intro strong { color: var(--fv-copper-light); }
.emergency-container .emergency-jump { margin-block-end: var(--fv-space-5); }
.emergency-container .emergency-jump__title { margin-block: 0 var(--fv-space-2); }
.emergency-container .emergency-jump ul,
.fv-dashboard .fv-dashboard-jump ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));
	gap: var(--fv-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}
.emergency-container .emergency-jump li,
.fv-dashboard .fv-dashboard-jump li { margin: 0; }
.emergency-container .emergency-jump a,
.fv-dashboard .fv-dashboard-jump a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	box-sizing: border-box;
	height: 100%;
	padding: var(--fv-space-1);
	border: 1px solid var(--fv-evergreen);
	border-radius: var(--fv-radius-sm);
	color: var(--fv-evergreen);
	background: var(--fv-paper);
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
}
.emergency-container .emergency-jump a:hover,
.emergency-container .emergency-jump a:active,
.fv-dashboard .fv-dashboard-jump a:is(:hover, :active) { background: var(--fv-evergreen); color: var(--fv-limestone); }
.emergency-container .emergency-jump a[aria-current] { background: var(--fv-evergreen); color: var(--fv-limestone); box-shadow: inset 0 -3px 0 var(--fv-copper); }
.emergency-container.is-filtered .emergency-section-top { display: none; }
.emergency-container.is-filtered .emergency-section { margin-block-end: var(--fv-space-4); }
.emergency-container :is(.emergency-navigation-note, .emergency-review) { color: var(--fv-muted); font-size: .9375rem; }
.emergency-container .emergency-subheading { color: var(--fv-evergreen); font-family: var(--fv-font-sans); font-size: 1.125rem; margin-block: var(--fv-space-5) var(--fv-space-3); }
.emergency-container .emergency-section-top { margin-block: var(--fv-space-2) 0; }
.emergency-container .emergency-section-top a { display: inline-flex; align-items: center; min-height: 48px; }
.emergency-container .emergency-section { margin-block-end: var(--fv-space-6); }
.emergency-container .emergency-section > h2 {
	color: var(--fv-evergreen);
	font-family: var(--fv-font-serif);
	font-size: clamp(1.4rem, 3vw, 1.75rem);
	margin-block: 0 var(--fv-space-4);
	padding-block-end: var(--fv-space-2);
	border-bottom: 2px solid var(--fv-copper);
}
.emergency-container .emergency-context {
	color: var(--fv-copper-deep);
	font-size: 1rem;
	font-style: italic;
	margin-block: var(--fv-space-4) var(--fv-space-3);
}
.emergency-container .emergency-context--spaced { margin-block-start: var(--fv-space-5); }
.emergency-container .emergency-item {
	margin-block-end: var(--fv-space-3);
	padding: var(--fv-space-4);
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-radius: var(--fv-radius);
	box-shadow: var(--fv-shadow);
	transition: border-color .15s;
}
.emergency-container .emergency-item:hover { border-color: var(--fv-copper); box-shadow: var(--fv-shadow); }
.emergency-container .emergency-name { color: var(--fv-evergreen); font-family: var(--fv-font-serif); font-size: 1.15rem; font-weight: 600; line-height: 1.4; margin-block: 0 var(--fv-space-1); }
.emergency-container .emergency-availability { color: var(--fv-muted); font-size: 1rem; margin-block: 0 var(--fv-space-2); }
.emergency-container .emergency-description { color: var(--fv-evergreen); font-size: 1rem; margin-block: var(--fv-space-2) 0; }
.emergency-container :is(.emergency-phone, .emergency-text) { font-size: 1.125rem; margin-block: var(--fv-space-2); }
.emergency-container .emergency-item .emergency-phone a,
.emergency-container .emergency-item .emergency-text a,
.emergency-container .emergency-website a {
	display: flex;
	width: 100%;
	box-sizing: border-box;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: .65rem 1rem;
	background: var(--fv-copper-deep);
	color: var(--fv-limestone);
	border-radius: var(--fv-radius-sm);
	font-size: 1.125rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.emergency-container .emergency-item .emergency-phone a::before { content: "☎"; margin-inline-end: .5em; font-weight: 400; }
.emergency-container .emergency-item .emergency-text a::before { content: "SMS"; margin-inline-end: .5em; font-size: .75em; }
.emergency-container .emergency-website a::before {
	content: "";
	flex: 0 0 1em;
	height: 1em;
	margin-inline-end: .5em;
	background: currentColor;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cellipse cx='12' cy='12' rx='4' ry='9'/%3E%3Cpath d='M3 12h18'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
.emergency-container .emergency-item .emergency-phone a:hover,
.emergency-container .emergency-item .emergency-text a:hover,
.emergency-container .emergency-website a:hover { background: var(--fv-copper-darker); color: var(--fv-limestone); }
.emergency-container .emergency-item .emergency-phone a:active,
.emergency-container .emergency-item .emergency-text a:active,
.emergency-container .emergency-website a:active { background: var(--fv-evergreen-deep); color: var(--fv-limestone); }
.emergency-container .emergency-website { font-size: 1rem; margin-block-start: var(--fv-space-1); }
.emergency-container .emergency-website + .emergency-website { margin-block-start: var(--fv-space-2); }
.emergency-container .alert-911 {
	margin-block-end: var(--fv-space-5);
	padding: var(--fv-space-4);
	background: var(--fv-danger-bg);
	color: var(--fv-danger);
	border: 2px solid var(--fv-danger);
	border-radius: var(--fv-radius-lg);
	text-align: center;
}
.emergency-container .alert-911 .emergency-name { color: var(--fv-danger); font-family: var(--fv-font-sans); font-size: 1.25rem; font-weight: 700; letter-spacing: .02em; }
.emergency-container .alert-911 .emergency-name::before { content: "⚠ "; }
.emergency-container .alert-911 .emergency-phone { margin-block: var(--fv-space-3); }
.emergency-container .alert-911 .emergency-phone a {
	display: inline-flex;
	min-width: 10rem;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	padding: .5rem 1.5rem;
	background: var(--fv-danger);
	color: #fff;
	border-radius: var(--fv-radius);
	font-size: 2rem;
	font-weight: 700;
	text-decoration: none;
}
.emergency-container .alert-911 .emergency-phone a:hover { background: #7A1414; color: #fff; }
.emergency-container .alert-911 .emergency-description { color: var(--fv-danger); font-weight: 700; }
.emergency-container .safety-note {
	margin-block-end: var(--fv-space-3);
	padding: var(--fv-space-4);
	background: var(--fv-paper);
	color: var(--fv-evergreen);
	border: 1px solid var(--fv-hairline);
	border-left: 4px solid var(--fv-copper);
	border-radius: var(--fv-radius);
	font-size: 1rem;
}
.emergency-container .back-button { margin-block: var(--fv-space-6) 0; text-align: center; }
.emergency-container .emergency-actions { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--fv-space-2); margin-block-start: var(--fv-space-6); }
.emergency-container .emergency-actions > * { margin: 0; }
.emergency-container .emergency-actions .fv-pdf-actions { margin: 0; }
.emergency-container .back-button a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 1.5rem;
	background: transparent;
	color: var(--fv-evergreen);
	border: 2px solid var(--fv-evergreen);
	border-radius: var(--fv-radius-sm);
	font-size: 1rem;
	text-decoration: none;
}
.emergency-container .back-button a:hover { background: var(--fv-evergreen); color: var(--fv-limestone); box-shadow: none; }
.emergency-container .emergency-intro .emergency-website { margin: 0; }
.emergency-container .emergency-intro .emergency-website a::before { content: none; }
/* Quick reference CTA: a lone centered button, no surrounding card */
body.page-id-185 .emergency-container .emergency-intro {
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-align: center;
}
.emergency-container .emergency-intro a.emergency-quick-reference {
	display: flex;
	width: 100%;
	justify-content: center;
	text-align: center;
	background: var(--fv-evergreen);
	color: var(--fv-limestone);
}
.emergency-container .emergency-intro a.emergency-quick-reference:hover { background: var(--fv-evergreen-deep); color: var(--fv-limestone); }
.emergency-container .emergency-intro a.emergency-quick-reference:active { background: var(--fv-copper-deep); color: var(--fv-limestone); }

/* Emergency alert sign-ups ([fv_alerts]) */
.fv-alerts {
	box-sizing: border-box;
	width: 100%;
	max-width: 60rem;
	margin: 0 auto var(--fv-space-5);
	padding: var(--fv-space-5) clamp(1.25rem, 4vw, 2.25rem);
	background: var(--fv-paper);
	color: var(--fv-evergreen);
	box-shadow: var(--fv-shadow);
}
body.page-id-185 .emergency-container :is(.alert-911, .emergency-item, .safety-note),
.fv-alerts {
	border: 1px solid var(--fv-hairline);
	border-top: 4px solid var(--fv-copper);
	border-radius: var(--fv-radius-lg);
}
.home .wp-block-post-content > .fv-alerts { width: calc(100% - 2 * var(--fv-gutter)); margin-block: var(--fv-space-6) var(--fv-space-7) !important; }
.fv-alerts h2 { margin: 0 0 var(--fv-space-2); color: var(--fv-evergreen); font-size: clamp(1.4rem, 3vw, 1.75rem); }
.fv-alerts__intro { margin: 0 0 var(--fv-space-4); }
.fv-alerts__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(14.5rem, 1fr)); gap: var(--fv-space-3); margin: 0; padding: 0; list-style: none; }
.fv-alerts__list li + li { margin: 0; }
.fv-alerts .fv-alerts__link {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	box-sizing: border-box;
	height: 100%;
	padding: var(--fv-space-3) var(--fv-space-4);
	background: var(--fv-limestone);
	color: var(--fv-evergreen);
	border: 1.5px solid var(--fv-hairline);
	border-radius: var(--fv-radius);
}
.fv-alerts .fv-alerts__link { text-decoration: none; transition: border-color .15s, background-color .15s; }
.fv-alerts__link .fv-alerts__name { color: var(--fv-copper-deep); font-size: inherit; text-decoration: underline; text-decoration-thickness: .1em; text-underline-offset: .2em; }
.fv-alerts__link .fv-alerts__name::after { content: " →"; text-decoration: none; display: inline-block; margin-inline-start: .25em; }
.fv-alerts .fv-alerts__link:hover { background: var(--fv-paper); border-color: var(--fv-copper-deep); color: var(--fv-evergreen); }
.fv-alerts .fv-alerts__link:hover .fv-alerts__name { color: var(--fv-copper-darker); }
.fv-alerts .fv-alerts__link:active { background: var(--fv-tint-on-light); }
.fv-alerts__more a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 48px;
	padding: .6rem 1rem;
	background: var(--fv-copper-deep);
	color: var(--fv-limestone);
	border-radius: var(--fv-radius-sm);
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
.fv-alerts__more a:hover { background: var(--fv-copper-darker); color: var(--fv-limestone); }
.fv-alerts__more a:active { background: var(--fv-evergreen-deep); color: var(--fv-limestone); }
.fv-alerts__name { color: var(--fv-evergreen); font-weight: 700; font-size: 1.0625rem; }
.fv-alerts__area { color: var(--fv-muted); font-size: .8125rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.fv-alerts__text { font-size: .9375rem; line-height: 1.5; }
.fv-alerts__note { margin: var(--fv-space-4) 0 0; color: var(--fv-muted); font-size: .9375rem; }
.fv-alerts h3.fv-alerts__group { margin: var(--fv-space-4) 0 var(--fv-space-2); color: var(--fv-evergreen); font-family: var(--fv-font-sans); font-size: 1rem; font-weight: 700; }
.fv-alerts__intro + h3.fv-alerts__group { margin-block-start: 0; }
.fv-alerts__more { margin: var(--fv-space-4) 0 0; text-align: center; }
.fv-alerts__more a { min-width: min(100%, 16rem); }

/* Live local weather and wildfire alerts */
.fv-local-alerts { display: grid; gap: var(--fv-space-4); }
.fv-local-alerts > .fv-alerts__intro { margin: 0; }
.fv-alert-panel, .fv-alert-resources {
	padding: var(--fv-space-4);
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-top: 4px solid var(--fv-copper);
	border-radius: var(--fv-radius);
	box-shadow: var(--fv-shadow);
}
.fv-alert-panel--fire { border-top-color: var(--fv-danger); }
.fv-alert-panel--weather { border-top-color: var(--fv-copper-deep); }
.fv-alert-panel > h2, .fv-alert-resources > h2 { margin: 0 0 var(--fv-space-3); font-size: 1.35rem; }
.fv-local-alert-list { display: grid; gap: var(--fv-space-3); margin: 0; padding: 0; list-style: none; }
.fv-local-alert {
	padding: var(--fv-space-3);
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-left: 5px solid var(--fv-copper);
	border-radius: var(--fv-radius-sm);
}
.fv-local-alert--extreme, .fv-local-alert--fire { background: var(--fv-danger-bg); border-color: var(--fv-danger); }
.fv-local-alert--severe { border-left-color: var(--fv-danger); }
.fv-local-alert--moderate { border-left-color: var(--fv-copper-deep); }
.fv-local-alert h3 { margin: 0 0 var(--fv-space-2); font-family: var(--fv-font-sans); font-size: 1.15rem; }
.fv-local-alert p { margin-block: var(--fv-space-1); }
.fv-local-alert p:last-child { margin-block-end: 0; }
.fv-local-alert__headline { font-weight: 600; }
.fv-local-alert__expires, .fv-alert-source { color: var(--fv-muted); font-size: .9rem; }
.fv-local-alert details { margin-block: var(--fv-space-2); }
.fv-local-alert summary { min-height: 44px; padding-block: .5rem; font-weight: 600; cursor: pointer; }
.fv-alert-clear {
	margin: 0;
	padding: var(--fv-space-3);
	background: var(--fv-tint-on-light);
	border-left: 4px solid var(--fv-evergreen);
	border-radius: var(--fv-radius-sm);
	font-weight: 600;
}
.fv-alert-clear span { margin-inline-end: .35rem; }
.fv-alert-panel--error { border-top-color: var(--fv-danger); }
.fv-alert-panel--error p:last-child { margin-block-end: 0; }
.fv-alert-resources ul { display: grid; gap: var(--fv-space-2); margin: 0; padding-inline-start: 1.25rem; }
.fv-alert-resources li { padding-inline-start: .25rem; }
.fv-alert-resources > p:last-child { margin-block: var(--fv-space-4) 0; font-weight: 600; }
.fv-alert-panel--sign-up .fv-alerts { max-width: none; margin: 0; padding: 0; border: 0; box-shadow: none; }
.fv-alert-panel--sign-up .fv-alerts h2 { display: none; }

/* Member email (signed-in members only) */
#buddypress .fv-member-email { margin: var(--fv-space-1) 0 var(--fv-space-2); font-size: .9375rem; color: var(--fv-evergreen); }
#buddypress .fv-member-email__label { margin-right: .4em; font-weight: 600; }
#buddypress .fv-member-email a { overflow-wrap: anywhere; }

/* Community calendar (Events Manager): remap its variables to the theme tokens. */
body .em:is(.em, .pixelbones, .em-calendar, .em-list, .em-search, .em-event-booking-form, .em-item) {
	--accent-color: var(--fv-action);
	--accent-color-hover: var(--fv-action-hover);
	--text-color-richer: var(--fv-evergreen-deep);
	--text-color-normal: var(--fv-evergreen);
	--text-color-softer: var(--fv-muted);
	--border-color: var(--fv-line);
	--border-color-softer: var(--fv-hairline);
	--background-color-softer: var(--fv-tint-on-light-soft);
	--background-color-inputs: var(--fv-paper);
	--background-color-checkboxes: var(--fv-paper);
	--code-background: var(--fv-paper);
	--button-primary-color: var(--fv-limestone);
	--font-family: var(--fv-font-sans);
	--font-size: 1rem;
	--line-height: 1.5;
	--border-radius: var(--fv-radius-sm);
	--calendar-background: var(--fv-paper);
	--nav-color: var(--fv-evergreen);
	--nav-border: 1px solid var(--fv-hairline);
	--header-border: 1px solid var(--fv-hairline);
	--header-background: transparent;
	--header-color: var(--fv-muted);
	--date-box-border: 1px solid var(--fv-hairline);
	--date-color: var(--fv-evergreen);
	--date-background: var(--fv-paper);
	--date-border-color: var(--fv-hairline);
	--date-today-color: var(--fv-limestone);
	--date-today-background: var(--fv-evergreen);
	--date-more-color: var(--fv-copper-deep);
	--counter-background: var(--fv-copper-deep);
	--counter-color: var(--fv-limestone);
	--event-background-color: var(--fv-evergreen);
	--event-border-color: var(--fv-evergreen);
	--event-color: var(--fv-limestone);
	color: var(--fv-evergreen);
	font-family: var(--fv-font-sans);
}
.wp-block-post-content:has(> .em), .wp-block-post-content:has(> .em-event-form, > .css-events-list, > .em-my-bookings) {
	max-width: var(--wp--style--global--content-size, 760px) !important;
}
.wp-block-post-content > :is(.em, .em-event-form, .css-events-list, .em-my-bookings) { max-width: none !important; }
main:has(> .wp-block-post-content > :is(.em, .em-event-form, .css-events-list, .em-my-bookings)) > .wp-block-post-title {
	max-width: var(--wp--style--global--content-size, 760px) !important;
}
/* Month grids need EM's large breakpoint to display colored event links. */
.wp-site-blocks > main:has(.em-calendar) {
	max-width: calc(var(--wp--style--global--wide-size, 1200px) + 2 * var(--fv-gutter));
}
.wp-site-blocks > main:has(.em-calendar) > :is(.wp-block-post-title, .wp-block-post-content, .fv-title-row) {
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
}
#buddypress #members-dir-list .bp-pagination.top { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fv-space-2); }
#buddypress #members-dir-list .bp-pagination.top .pag-count { margin: 0; }
#buddypress .fv-directory-sort { display: flex; align-items: center; gap: var(--fv-space-2); margin-inline-start: auto; }
#buddypress .fv-directory-sort select { width: auto; max-width: 100%; }
body .em.pixelbones :is(h2, h3, h4) { font-family: var(--fv-font-heading) !important; color: var(--fv-evergreen) !important; font-weight: 650 !important; }
body .em.pixelbones a:not(.button):not(.em-search-submit) { color: var(--fv-evergreen); text-decoration-color: var(--fv-copper-deep); }
body .em.pixelbones a:not(.button):hover { color: var(--fv-copper-darker); }
body .em.pixelbones.pixelbones :is(.button-primary, input[type="submit"], button.em-search-submit, .em-button):not([data-nostyle]):not(.fv-x) {
	min-height: 48px;
	border: 2px solid var(--fv-action) !important;
	border-radius: var(--fv-radius-sm) !important;
	background: var(--fv-action) !important;
	color: var(--fv-action-text) !important;
	font: 600 1rem/1.3 var(--fv-font-sans) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
body .em.pixelbones.pixelbones :is(.button-primary, input[type="submit"], button.em-search-submit, .em-button):not([data-nostyle]):not(.fv-x):hover {
	background: var(--fv-action-hover) !important;
	border-color: var(--fv-action-hover) !important;
}
/* EM's secondary buttons default to 11px uppercase grey. */
body .em.pixelbones.pixelbones :is(.button.input, .input .button, .input button):not(.button-primary):not([data-nostyle]):not(.em-event-add-to-calendar):not(.mce-btn button) {
	color: var(--fv-evergreen) !important;
	font-size: 0.875rem !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
/* Image drop zone and the Details editor: no grey or white wells. */
body .em .filepond--panel-root { background-color: var(--fv-paper) !important; border: 1.5px dashed var(--fv-line); border-radius: var(--fv-radius-sm); }
body .em .filepond--drop-label { color: var(--fv-evergreen); }
body .em .wp-editor-container { border: 1.5px solid var(--fv-line); border-radius: var(--fv-radius-sm); overflow: hidden; }
body .em :is(.mce-toolbar-grp, .quicktags-toolbar) { background: var(--fv-tint-on-light-soft) !important; border-bottom: 1px solid var(--fv-hairline) !important; }
body .em .wp-editor-tabs .wp-switch-editor { background: var(--fv-tint-on-light-soft); border-color: var(--fv-hairline); color: var(--fv-evergreen); }
body .em .html-active .switch-html, body .em .tmce-active .switch-tmce { background: var(--fv-tint-on-light); }
body .em textarea.wp-editor-area { background: var(--fv-paper) !important; color: var(--fv-evergreen) !important; }
body .em.pixelbones.pixelbones :is(.button, button, input, select, textarea, a):focus-visible {
	outline: 3px solid var(--fv-copper-deep) !important;
	outline-offset: 2px;
	box-shadow: none !important;
}
body .em.pixelbones.pixelbones :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea, .selectize-input) {
	background-color: var(--fv-paper) !important;
	border: 1.5px solid var(--fv-line) !important;
	border-radius: var(--fv-radius-sm) !important;
	color: var(--fv-evergreen) !important;
	font-family: var(--fv-font-sans) !important;
	box-shadow: none !important;
}
/* EM draws its own checkboxes with a hairline border; give them 3:1 contrast. */
body .em.pixelbones.pixelbones :is(.input, .em-booking-form) input[type="checkbox"]:not([data-nostyle]) { border: 1.5px solid var(--fv-line) !important; }
body .em.pixelbones.pixelbones :is(.input, .em-booking-form) input[type="checkbox"]::after { border-color: var(--fv-evergreen) !important; }
body .em.em-calendar { border-radius: var(--fv-radius); }
body .em.em-calendar .em-cal-day { color: var(--fv-muted); }
/* Single event page: picture on the left beside When / Where / Event type, then the description, map and RSVP. */
body .em-item-single { display: grid; gap: var(--fv-space-5); color: var(--fv-evergreen); }
body .em-item-single > * { margin: 0 !important; }
body .em-item-single .em-item-header { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: var(--fv-space-5); align-items: start; padding: var(--fv-space-4); border: 1px solid var(--fv-hairline); border-radius: var(--fv-radius); background: var(--fv-paper); box-shadow: var(--fv-shadow); }
body .em-item-single .em-item-header:not(:has(> .em-item-image)) { grid-template-columns: minmax(0, 1fr); }
body .em-item-single .em-item-image { margin: 0; line-height: 0; }
body .em-item-single .em-item-image img { display: block; width: 100%; max-width: 15rem; height: auto; max-height: 15rem; object-fit: contain; border-radius: var(--fv-radius-sm); }
body .em-item-single .em-item-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: var(--fv-space-4); margin: 0; }
body .em-item-single .em-item-meta-column { display: grid; align-content: start; gap: var(--fv-space-4); margin: 0; }
body .em-item-single .em-item-meta-column:empty { display: none; }
body .em-item-single .em-item-meta h3 { margin: 0 0 var(--fv-space-2) !important; font-size: 1.125rem !important; line-height: 1.3; }
body .em-item-single .em-item-meta-line { display: flex; align-items: flex-start; gap: .55rem; margin: 0 0 var(--fv-space-2); line-height: 1.45; }
body .em-item-single .em-item-meta-line > .em-icon { flex: 0 0 auto; margin-top: .15rem; }
body .em-item-single .em-event-add-to-calendar { margin-top: var(--fv-space-1); }
body .em-item-single .em-item-taxonomy ul { display: flex; flex-wrap: wrap; gap: .25rem .75rem; margin: 0; padding: 0; list-style: none; }
body .em-item-single .em-item-taxonomy li { margin: 0; padding: 0; }
body .em-item-single .em-item-taxonomy li::before, body .em-item-single .em-item-taxonomy li::marker { content: none; }
body .fv-event-type { display: inline-flex; align-items: center; gap: .4rem; max-width: 100%; vertical-align: middle; }
body .fv-event-type-icon { flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; color: var(--fv-evergreen); }
body .fv-event-type a { min-width: 0; overflow-wrap: anywhere; }
body .em-event-categories:has(.fv-event-type) > .em-icon-category { display: none !important; }
body .em-item-meta-line.em-event-categories:has(.fv-event-type) > div { grid-column: 1 / -1; }
body .event-categories:has(.fv-event-type) { display: flex; flex-wrap: wrap; gap: .35rem .75rem; margin: 0; padding: 0; list-style: none; }
body .event-categories:has(.fv-event-type) > li { margin: 0; padding: 0; }
body .event-categories:has(.fv-event-type) > li::before, body .event-categories:has(.fv-event-type) > li::marker { content: none; }
body .em-item-single > .em-event-location:not(:has(*)) { display: none; }
/* Reactions and topics under an event line up with the event, not WordPress's narrow centred column. */
body.single-event .wp-block-post-content > :is(.fv-reactions, .fv-topic-tags, .fv-event-attribution) { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body .em-item-single .em-event-content { max-width: 42rem; font-size: 1.0625rem; line-height: 1.6; }
body .em-item-single .em-event-content > :first-child { margin-top: 0; }
body .em-item-single .em-event-content img { max-width: 100%; height: auto; }
body.single-event .wp-block-post-content > .fv-event-attribution { margin-block: var(--fv-space-4) 0; color: var(--fv-muted); font-size: .875rem; line-height: 1.5; }
body.single-event .fv-event-attribution__author { color: var(--fv-evergreen); font-weight: 600; }
body .em-item-single .em-event-location { overflow: hidden; border-radius: var(--fv-radius); }
body .em-item-single .em-event-location iframe, body .em-item-single .em-event-location .em-location-map-container { max-width: 100%; }
@media (max-width: 640px) {
	body .em-item-single .em-item-header { grid-template-columns: minmax(0, 1fr); padding: var(--fv-space-3); }
	body .em-item-single .em-item-image img { max-width: min(100%, 14rem); max-height: 14rem; margin-inline: auto; }
}
body .em > p:has(> a[href="https://wp-events-plugin.com"]),
body .em > p > a[href="https://wp-events-plugin.com"] { color: var(--fv-muted) !important; font-size: .8125rem !important; }
body .em.pixelbones.pixelbones input.em-booking-submit.em-button[type="submit"] {
	width: auto !important;
	min-height: 48px;
	padding: .75rem 1.75rem !important;
	border: 2px solid var(--fv-action) !important;
	border-radius: var(--fv-radius-sm) !important;
	background: var(--fv-action) !important;
	color: var(--fv-action-text) !important;
	font: 600 1rem/1.3 var(--fv-font-sans) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
body .em.pixelbones.pixelbones input.em-booking-submit.em-button[type="submit"]:hover { background: var(--fv-action-hover) !important; border-color: var(--fv-action-hover) !important; }
body .em.pixelbones.pixelbones input.em-booking-submit.em-button[type="submit"]:disabled { background: var(--fv-disabled-bg) !important; border-color: var(--fv-disabled-border) !important; color: var(--fv-muted) !important; }
body .em.em button.em-event-add-to-calendar.em-clickable.input {
	min-height: 44px;
	padding-inline: var(--fv-space-3) 2.75rem !important;
	border: 2px solid var(--fv-evergreen) !important;
	border-radius: var(--fv-radius-sm) !important;
	background-color: transparent !important;
	color: var(--fv-evergreen) !important;
	font: 600 .9375rem/1.3 var(--fv-font-sans) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
body .em.em button.em-event-add-to-calendar.em-clickable.input:hover { background-color: var(--fv-tint-on-light) !important; }
/* Every community event is free: hide EM's "$0.00" price lines but keep the "RSVPs closed" notice. */
body .em .em-event-prices:is(:has(+ a.button), :not(.em-event-bookings-meta *)) { display: none !important; }
body .em .em-booking-section-title {
	padding: var(--fv-space-2) var(--fv-space-3) !important;
	border-left: 3px solid var(--fv-copper) !important;
	border-radius: 0 var(--fv-radius-sm) var(--fv-radius-sm) 0;
	background: var(--fv-tint-on-light-soft) !important;
	font-size: 1.25rem !important;
}
body .em.em-calendar .em-cal-event { border-radius: var(--fv-radius-sm) !important; }
body .em.em-calendar .em-cal-event a { color: inherit !important; text-decoration: none; }
/* Calendar grid: evergreen header, alternate-week shading, gridlines and a copper "today". */
body .em.em-calendar { overflow: hidden; border: 1px solid var(--fv-hairline); background: var(--fv-paper); box-shadow: var(--fv-shadow); }
body .em.em-calendar .em-cal-head { background: var(--fv-evergreen) !important; }
body .em.em-calendar .em-cal-head > div { padding-block: .85rem !important; color: var(--fv-limestone) !important; font: 700 .8125rem/1 var(--fv-font-sans) !important; letter-spacing: .08em; text-transform: uppercase; }
/* Header columns are numbered 0–6 (Mon–Sun); body columns 1–7. */
body .em.em-calendar .em-cal-head > :is(.em-cal-col-5, .em-cal-col-6) { color: var(--fv-copper-light) !important; }
body .em.em-calendar .em-cal-body > .em-cal-day { border-right: 1px solid var(--fv-hairline); border-bottom: 1px solid var(--fv-hairline); color: var(--fv-evergreen); }
body .em.em-calendar .em-cal-body > .em-cal-col-7 { border-right: 0; }
body .em.em-calendar .em-cal-body > .em-cal-day:is(:nth-child(14n+8), :nth-child(14n+9), :nth-child(14n+10), :nth-child(14n+11), :nth-child(14n+12), :nth-child(14n+13), :nth-child(14n+14)) { background: color-mix(in srgb, var(--fv-evergreen) 5%, var(--fv-paper)); }
body .em.em-calendar .em-cal-body > .em-cal-day:hover { background: color-mix(in srgb, var(--fv-evergreen) 10%, var(--fv-paper)); }
body .em.em-calendar .em-cal-body > :is(.eventless-pre, .eventless-post, .eventful-pre, .eventful-post) .em-cal-day-date { opacity: .45; }
body .em.em-calendar .em-cal-body .em-cal-day .em-cal-day-date.em-cal-day-date span { background: transparent !important; }
body .em.em-calendar .em-cal-body > .em-cal-day[class*="-today"] { background: color-mix(in srgb, var(--fv-copper) 12%, var(--fv-paper)) !important; box-shadow: inset 0 3px 0 var(--fv-copper); }
body .em.em-calendar .em-cal-body .em-cal-day[class*="-today"] .em-cal-day-date.em-cal-day-date :is(span, a) { display: inline-grid !important; place-items: center; padding: 0 !important; border-radius: 50% !important; background: var(--fv-copper-deep) !important; color: var(--fv-limestone) !important; font-weight: 700; }
.fv-calendar-key { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fv-space-1) var(--fv-space-3); margin-block: var(--fv-space-3); color: var(--fv-evergreen); font: .9375rem/1.4 var(--fv-font-sans); }
.fv-calendar-key ul { display: flex; flex-wrap: wrap; gap: var(--fv-space-1) var(--fv-space-3); margin: 0; padding: 0; list-style: none; }
.fv-calendar-key li { margin: 0; }
.fv-calendar-key a { display: inline-flex; align-items: center; gap: .4rem; color: inherit; text-decoration: none; }
.fv-calendar-key a:is(:hover, :focus-visible) { text-decoration: underline; }
.fv-calendar-key-swatch { width: 1rem; height: 1rem; border-radius: 4px; background: var(--fv-swatch); }
/* Per-event calendar color picker */
.fv-event-actions { display: flex; justify-content: flex-end; max-width: none !important; margin-block: 0 var(--fv-space-3); }
a.fv-small-button { box-sizing: border-box; display: inline-flex; align-items: center; gap: .4rem; border: 1px solid var(--fv-evergreen); border-radius: 8px; text-decoration: none; font-weight: 600; }
a.fv-small-button:is(:hover, :focus-visible) { background: var(--fv-evergreen); color: var(--fv-limestone); }
.fv-event-color { margin-block: var(--fv-space-3); padding: 0; border: 0; }
.fv-event-color legend { font-weight: 600; color: var(--fv-evergreen); }
.fv-event-color .fv-field-help { margin-block: .25rem var(--fv-space-2); font-size: .9375rem; }
.fv-event-color-options { display: flex; flex-wrap: wrap; gap: .5rem; }
.fv-event-color-option { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .7rem .35rem .45rem; border: 1px solid rgb(106 125 118 / .45); border-radius: 999px; background: #FBF8F2; color: var(--fv-evergreen); font-size: .9375rem; cursor: pointer; }
.fv-event-color-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fv-event-color-option:has(input:checked) { border-color: var(--fv-evergreen); box-shadow: 0 0 0 2px var(--fv-evergreen); font-weight: 600; }
.fv-event-color-option:has(input:focus-visible) { outline: 3px solid var(--fv-copper, #9C4F30); outline-offset: 2px; }
.fv-event-color-swatch { width: 1.1rem; height: 1.1rem; border-radius: 50%; background: var(--fv-swatch); flex: none; }
.fv-event-color-swatch--auto { background: repeating-linear-gradient(135deg, #24483F 0 3px, #FBF8F2 3px 6px); border: 1px dashed #24483F; }
/* Separate start/end date fields styled like the time fields */
body .em.pixelbones .em-event-dates > label.em-event-text { font-weight: 600 !important; margin-bottom: 0 !important; }
body .em.pixelbones .em-event-dates .em-datepicker-until-fields { display: flex !important; flex-wrap: wrap; align-items: center; gap: 5px !important; }
body .em.pixelbones .em-datepicker-until-fields > label { width: auto !important; margin: 0; font-weight: 400 !important; }
body .em.pixelbones .em-datepicker-until-fields input.em-date-input[type],
body .em.pixelbones .em-timerange-inputs input.em-time-input[type] { width: 120px !important; font-weight: 600 !important; }
body .em.pixelbones .em-timerange-inputs { gap: 5px !important; flex-wrap: wrap !important; }
body .em.pixelbones .em-datepicker-until-fields > label { flex: 0 0 auto; }
body .em.pixelbones .fv-event-date-controls { display: inline-flex; align-items: center; gap: 5px; width: auto !important; }
body .em.pixelbones .fv-event-date-controls[hidden] { display: none !important; }
body .em.pixelbones .fv-event-date-controls button { display: inline-flex; align-items: center; justify-content: center; width: 24px !important; min-width: 24px; min-height: 24px; height: 24px; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--fv-evergreen) !important; opacity: .65; cursor: pointer; }
body .em.pixelbones .fv-event-date-controls button:is(:hover, :focus-visible, [aria-pressed="true"]) { opacity: 1; }
body .em.pixelbones .fv-event-date-controls button[aria-pressed="true"] { border-radius: 50%; outline: 2px solid var(--fv-evergreen); }
body .em.pixelbones .fv-event-date-controls button:focus-visible { outline: 2px solid var(--fv-copper); outline-offset: 3px; }
.fv-event-infinity { font: 600 26px/1 var(--fv-font-sans); }
body .em.pixelbones .fv-event-is-ongoing input.em-date-input-end:disabled { opacity: 1; color: var(--fv-evergreen); -webkit-text-fill-color: var(--fv-evergreen); }
/* Add and edit share the same editor, including recurring-series scheduling. */
body form.em.em-event-editor { display: grid; gap: var(--fv-space-4); max-width: 60rem; margin-inline: auto; }
body form.em.em-event-editor > :is(section, .fv-event-color, .fv-tag-picker) { min-width: 0; margin: 0 !important; padding: var(--fv-space-4); border: 1px solid var(--fv-hairline); border-radius: var(--fv-radius); background: var(--fv-paper); }
body form.em.em-event-editor > section:not(:has(*)) { display: none; }
body form.em.em-event-editor :is(h3, h4) { margin: 0 0 var(--fv-space-3) !important; font-family: var(--fv-font-heading) !important; color: var(--fv-evergreen) !important; line-height: 1.3 !important; }
body form.em.em-event-editor h3 { font-size: 1.5rem !important; }
body form.em.em-event-editor h4 { font-size: 1.25rem !important; }
body form.em.em-event-editor .input { color: var(--fv-muted); font: .9375rem/1.5 var(--fv-font-sans); }
/* Selectize's internal search input is part of its dropdown, not another field. */
body .em.pixelbones.pixelbones.em-event-editor .selectize-input > input[type] { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: 0 !important; }
body form.em.em-event-editor .selectize-input:focus-within { outline: 3px solid var(--fv-copper-deep); outline-offset: 2px; }
body form.em.em-event-editor .event-form-name .input > p:has(> em:empty) { display: none; }
body form.em.em-event-editor .em-recurrence-set { background: var(--fv-paper) !important; border-color: var(--fv-hairline) !important; border-radius: var(--fv-radius-sm); }
body form.em.em-event-editor .em-recurrence-set-actions { background: var(--fv-tint-on-light-soft); }
body form.em.em-event-editor .em-recurrence-set-data { min-width: 0; }
body form.em.em-event-editor .em-recurrence-advanced { border-color: var(--fv-hairline); }
/* Recurring series: When and Recurrences read as one schedule card, without EM's duplicate span summary. */
body form.em.em-event-editor.em-is-recurring > section.event-form-when { padding-bottom: 0; border-bottom: 0; border-end-start-radius: 0; border-end-end-radius: 0; }
body form.em.em-event-editor.em-is-recurring > section.event-form-recurrences { margin-top: calc(-1 * var(--fv-space-4)) !important; padding-top: var(--fv-space-2); border-top: 0; border-start-start-radius: 0; border-start-end-radius: 0; }
body form.em.em-event-editor.em-is-recurring > section.event-form-recurrences > h4,
body form.em.em-event-editor.em-is-recurring .em-recurring-summary,
body form.em.em-event-editor .em-recurrence-advanced-description-primary { display: none !important; }
body form.em.em-event-editor.em-is-recurring #em-form-when > p { margin: 0 0 var(--fv-space-2); }
body form.em.em-event-editor.em-event-admin-recurring:not(.fv-schedule-unlocked) > section.event-form-recurrences > .input::before { content: "Schedule fields are locked to protect existing dates and RSVPs. Click the pencil beside a field to change it."; display: block; margin-bottom: var(--fv-space-3); font-size: .875rem; font-style: italic; }
body form.em.em-event-editor .reschedule-trigger { width: 24px !important; height: 24px !important; min-width: 24px; min-height: 0 !important; margin: 0 0 0 .25rem !important; padding: 0 !important; vertical-align: middle; background-position: center !important; background-repeat: no-repeat !important; }
body form.em.em-event-editor .em-recurrence-timeranges > legend { display: flex; align-items: center; gap: .25rem; }
body form.em.em-event-editor.fv-schedule-unlocked .em-recurrence-set[data-type="include"] button.undo { display: none !important; }
body form.em.em-event-editor .em-recurrence-dates fieldset,
body form.em.em-event-editor .em-recurrence-dates .em-date-input { margin-bottom: 0 !important; }
body form.em.em-event-editor .em-input-upload { min-width: 0 !important; width: 100%; max-width: 100%; }
body form.em.em-event-editor .filepond--file-info-main { position: relative; padding-right: 1.5rem; }
body form.em.em-event-editor .filepond--magnify-icon { position: absolute; right: 0; top: 50%; margin: 0; transform: translateY(-50%); }
body .em .em-input-upload-post-image { min-width: 0 !important; width: 100%; max-width: 32rem !important; }
body .em.pixelbones .em-input-upload.em-input-upload-post-image .filepond--root .filepond--drop-label { min-height: 9rem !important; }
body .em .em-input-upload-post-image .filepond--file { flex-direction: column !important; align-items: stretch !important; }
body .em .em-input-upload-post-image .filepond--file-info.has-thumbnail { display: flex !important; flex: 1 1 auto !important; flex-direction: column; align-items: center !important; gap: .5rem !important; width: 100%; margin: 0; padding: .5rem 1.75rem; box-sizing: border-box; transform: none !important; }
body .em .em-input-upload-post-image .filepond--image-thumbnail { width: 180px !important; max-width: 100%; height: 140px !important; margin: 0 !important; object-fit: contain !important; }
body .em .em-input-upload-post-image .filepond--file-info-main-container { width: 100%; text-align: center; }
body .em .em-input-upload-post-image .filepond--file-info-main { position: relative; padding-right: 1.5rem; }
body .em .em-input-upload-post-image .filepond--magnify-icon { position: absolute; right: 0; top: 50%; margin: 0; transform: translateY(-50%); }
body .em.pixelbones .em-input-upload.em-input-upload-post-image .filepond--root .filepond--file-action-button { width: 28px !important; height: 28px !important; min-height: 0 !important; padding: 0 !important; }
body .em.pixelbones .em-input-upload.em-input-upload-post-image .filepond--root .filepond--action-remove-item { background-color: rgba(255,255,255,.92) !important; color: var(--fv-evergreen) !important; box-shadow: 0 1px 3px rgba(0,0,0,.35); }
body form.em.em-event-editor > .event-form-submit { padding: 0; border: 0; background: transparent; }
body form.em.em-event-editor .event-form-submit .submit { margin: 0; }
@media (max-width: 640px) {
	body form.em.em-event-editor > :is(section, .fv-event-color, .fv-tag-picker) { padding: var(--fv-space-3); }
	body form.em.em-event-editor > .event-form-submit { padding: 0; }
}

/* In Memoriam ([fv_memorials] and single tributes) */
.fv-memorial-intro, .fv-memorial-empty { text-align: center; max-width: 36rem; margin-inline: auto; }
.fv-memorials { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: var(--fv-space-4); }
.fv-memorial-card {
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-radius: var(--fv-radius);
	box-shadow: var(--fv-shadow);
	padding: var(--fv-space-4);
	text-align: center;
}
.fv-memorial-card__photo { display: block; width: 9rem; margin: 0 auto var(--fv-space-3); }
.fv-memorial-card__photo img { display: block; width: 9rem; height: 9rem; object-fit: cover; border-radius: 50%; }
.fv-memorial-card__name { font-size: 1.35rem; margin: 0; }
.fv-memorial-card__name a { text-decoration: none; }
.fv-memorial-card__name a:hover { text-decoration: underline; }
.fv-memorial-years { color: var(--fv-muted); margin: var(--fv-space-1) 0 0; font-variant-numeric: lining-nums; }
.fv-memorial-card__summary { margin: var(--fv-space-3) 0 0; font-size: .95rem; }
.fv-memorial-back { margin-block: 0 var(--fv-space-3); }
.fv-memorial .wp-block-post-title { text-align: center; }
.fv-memorial .wp-block-post-title::after { margin-inline: auto; }
.fv-memorial .fv-memorial-years { text-align: center; font-size: 1.1rem; margin-block: calc(-1 * var(--fv-space-3)) var(--fv-space-4); }
.fv-memorial-portrait { margin: 0 auto var(--fv-space-5); max-width: 18rem; }
.fv-memorial-portrait img { display: block; width: 100%; height: auto; border-radius: var(--fv-radius); box-shadow: var(--fv-shadow); }
.fv-memorial-service {
	margin-block-start: var(--fv-space-5);
	padding: var(--fv-space-3) var(--fv-space-4);
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-left: 4px solid var(--fv-copper);
	border-radius: var(--fv-radius-sm);
}
.fv-memorial-service h2 { font-size: 1.25rem; margin: 0 0 var(--fv-space-2); }
.fv-memorial-service p { margin: 0; }
.fv-memorial-service p + p { margin-block-start: var(--fv-space-2); }
.fv-condolences { margin-block-start: var(--fv-space-5); border-top: 1px solid var(--fv-hairline); padding-block-start: var(--fv-space-4); }
.fv-condolences > :first-child { margin-block-start: 0; }
.fv-condolences > h2 { margin-block-end: var(--fv-space-3); }
.fv-condolences .comment-respond { padding-block-start: 0; }
.fv-condolences .comment-reply-title { margin-block-start: 0; }
.fv-condolences .wp-block-comment-template { list-style: none; padding: 0; margin: 0 0 var(--fv-space-5); display: grid; gap: var(--fv-space-3); }
.fv-condolences .wp-block-comment-template li {
	margin: 0;
	padding: var(--fv-space-3) var(--fv-space-4);
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-radius: var(--fv-radius);
}
.fv-condolences .wp-block-comment-author-name { font-weight: 600; }
.fv-condolences .wp-block-comment-date { color: var(--fv-muted); font-size: .9rem; }
.fv-condolences .wp-block-comment-content p { margin-block: var(--fv-space-2) 0; }
.fv-condolences .comment-reply-title { font-size: 1.25rem; }
.fv-condolences .comment-form label { display: block; margin-block-end: var(--fv-space-1); }
.fv-condolences .comment-form textarea { width: 100%; box-sizing: border-box; }
.fv-condolences .form-submit { text-align: center; }

/* Member Services header dropdown. Without JavaScript the links simply show inline. */
.fv-nav-group { position: relative; display: contents; }
.fv-nav-group__toggle { display: none; }
.fv-nav-group__menu { display: contents; }
.fv-nav-group--ready { display: block; }
.fv-nav-group--ready .fv-nav-group__toggle {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	min-height: 44px;
	padding: 0 var(--fv-space-2);
	border: 0;
	border-radius: var(--fv-radius-sm) !important;
	background: transparent;
	color: var(--fv-limestone);
	font: 500 1rem/1 var(--fv-font-sans);
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 2px;
	text-underline-offset: .45em;
}
.fv-nav-group--ready .fv-nav-group__toggle:hover, .fv-nav-group--ready.is-open .fv-nav-group__toggle { background: var(--fv-tint-on-dark); border-color: transparent; color: var(--fv-limestone); text-decoration-color: var(--fv-copper-light); }
.fv-nav-group--ready.is-current .fv-nav-group__toggle { color: var(--fv-copper-light); font-weight: 600; text-decoration-color: var(--fv-copper-light); }
.fv-nav-group__toggle:focus-visible { outline-color: var(--fv-copper-light); }
.fv-nav-group--ready .fv-nav-group__menu { display: none; }
.fv-nav-group--ready.is-open .fv-nav-group__menu {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	position: absolute;
	top: calc(100% + .35rem);
	left: 0;
	z-index: 60;
	min-width: 15rem;
	padding: var(--fv-space-1);
	background: var(--fv-evergreen);
	border: 1px solid var(--fv-on-dark-line);
	border-top: 3px solid var(--fv-copper);
	border-radius: var(--fv-radius-sm);
	box-shadow: var(--fv-shadow);
}
.fv-nav-group--ready .fv-nav-group__menu a { justify-content: flex-start; white-space: nowrap; }
.fv-nav-group--ready.is-open .fv-nav-group__menu { max-height: 70vh; overflow-y: auto; }
.fv-nav-section { display: flex; flex-direction: column; min-width: 0; }
.fv-nav-section + .fv-nav-section { margin-block-start: var(--fv-space-1); padding-block-start: var(--fv-space-1); border-top: 1px solid var(--fv-on-dark-line); }
.fv-nav-section__heading { padding: .5rem var(--fv-space-2) .25rem; color: var(--fv-copper-light); font-size: .75rem; font-weight: 700; line-height: 1.5; letter-spacing: .05em; text-transform: uppercase; }
.fv-nav-section--utilities { flex-direction: row; flex-wrap: wrap; }
.fv-nav-section--utilities a[href$="/site-map/"] { margin-inline-start: auto; }
.fv-services-menu .fv-nav-group__menu a { white-space: normal; line-height: 1.4; }
.fv-account-menu.fv-nav-group--ready .fv-nav-group__toggle { padding-inline: .35rem; }
.fv-account-menu { min-width: 0; }
.fv-account-greeting { min-width: 0; max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fv-account-menu .fv-nav-group__toggle img { flex-shrink: 0; width: 36px; height: 36px; margin: 4px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--fv-evergreen), 0 0 0 4px var(--fv-copper-light); }
.fv-account-menu.fv-nav-group--ready.is-open .fv-nav-group__menu { left: auto; right: 0; min-width: 11rem; }
.fv-account-avatar { position: relative; display: inline-flex; flex-shrink: 0; }
.fv-notify-badge { position: absolute; top: -4px; right: -6px; z-index: 1; box-sizing: border-box; min-width: 20px; height: 20px; padding: 0 5px; border: 2px solid var(--fv-evergreen); border-radius: 10px; background: #3ee06a; color: #0b2b19; font-size: .6875rem; font-weight: 800; line-height: 16px; text-align: center; }
.fv-notify-count { display: inline-block; min-width: 1.25rem; margin-inline-start: .4rem; padding: 0 .35rem; border-radius: .625rem; background: #3ee06a; color: #0b2b19; font-size: .75rem; font-weight: 800; line-height: 1.25rem; text-align: center; }
.fv-account-menu:not(.fv-nav-group--ready) .fv-nav-group__toggle { display: none; }
.fv-pdf-actions, .fv-photo-prompt { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--fv-space-2); }
.fv-pdf-actions { margin-block: var(--fv-space-4); }
.fv-photo-prompt { padding: var(--fv-space-3); margin-block-end: var(--fv-space-4); border: 1px solid var(--fv-hairline); border-left: 4px solid var(--fv-copper); border-radius: var(--fv-radius-sm); background: var(--fv-paper); }
.fv-photo-prompt p { flex: 1 1 18rem; margin: 0; }
.fv-photo-prompt form { margin: 0; }
.fv-club-rosters { clear: both; margin-block-start: var(--fv-space-5); padding-block-start: var(--fv-space-4); border-top: 1px solid var(--fv-hairline); }
.fv-club-rosters section { margin-block-start: var(--fv-space-5); }
#buddypress .fv-club-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: var(--fv-space-3); list-style: none; margin: 0; padding: 0; }
#buddypress .fv-club-person { display: flex; flex-direction: column; align-items: flex-start; gap: var(--fv-space-2); padding: var(--fv-space-3); border: 1px solid var(--fv-hairline); border-radius: var(--fv-radius-sm); background: var(--fv-paper); }
#buddypress .fv-club-person > a { display: flex; align-items: center; gap: var(--fv-space-2); font-weight: 600; }
#buddypress .fv-club-person img.avatar { width: 48px; height: 48px; margin: 0; border-radius: 50%; object-fit: cover; }

/* Shared Member Services page parts: intros, filters, forms, manage buttons */
.fv-page-intro { text-align: center; max-width: 40rem; margin-inline: auto; }
.fv-empty { text-align: center; color: var(--fv-muted); padding-block: var(--fv-space-4); }
.fv-form-notice { display: flex; align-items: flex-start; gap: var(--fv-space-2); margin-block-end: var(--fv-space-4); }
.fv-form-notice p { flex: 1; }
.fv-form-notice__close { flex: none; display: grid; place-items: center; width: 1.75rem; height: 1.75rem; margin: -.15rem -.4rem -.15rem 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; font-size: 1.35rem; line-height: 1; cursor: pointer; }
.fv-form-notice__close:hover { background: color-mix(in srgb, currentColor 12%, transparent); }
.fv-form-notice__close:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.fv-filter, .fv-filter-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--fv-space-2);
	margin-block: var(--fv-space-4);
}
.fv-filter a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 var(--fv-space-3);
	border: 1.5px solid var(--fv-line);
	border-radius: 999px;
	background: var(--fv-paper);
	color: var(--fv-evergreen);
	font-weight: 500;
	text-decoration: none;
}
.fv-filter a:hover { border-color: var(--fv-evergreen); }
.fv-filter a[aria-current], #buddypress .fv-filter a[aria-current], #bbpress-forums .fv-filter a[aria-current] { background: var(--fv-evergreen); border-color: var(--fv-evergreen); color: var(--fv-limestone); font-weight: 600; }
.fv-filter-form label { font-weight: 600; }
.fv-filter-form select { flex: 0 1 20rem; }
.fv-filter .fv-filter__action, .fv-filter-form .fv-filter__action {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-inline-start: auto;
	padding: 0 var(--fv-space-3);
	border: 2px solid var(--fv-action);
	border-radius: var(--fv-radius-sm);
	background: var(--fv-action);
	color: var(--fv-action-text);
	font-weight: 600;
	text-decoration: none;
}
.fv-filter .fv-filter__action:hover, .fv-filter-form .fv-filter__action:hover { background: var(--fv-action-hover); border-color: var(--fv-action-hover); }
.fv-form-card {
	margin-block-start: var(--fv-space-6);
	padding: var(--fv-space-4);
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-radius: var(--fv-radius);
	box-shadow: var(--fv-shadow);
	scroll-margin-top: 7rem;
}
.fv-form-card h2 { margin-block: 0 var(--fv-space-3); font-size: var(--fv-heading-section); }
.fv-form p { margin-block: 0 var(--fv-space-3); }
.fv-form label { display: block; margin-block-end: var(--fv-space-1); font-weight: 600; }
.fv-form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]), .fv-form select, .fv-form textarea { display: block; width: 100%; }
.fv-form input[type="file"] { min-height: 0 !important; padding: .5rem !important; }
.fv-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 0 var(--fv-space-3); }
.fv-optional { font-weight: 400; color: var(--fv-muted); }
.fv-hint { display: block; margin-block-start: var(--fv-space-1); color: var(--fv-muted); font-size: .9375rem; }
.fv-tag-picker { margin: 0 0 var(--fv-space-4); padding: 0; border: 0; min-width: 0; }
.fv-tag-picker > legend { margin-block-end: var(--fv-space-2); padding: 0; font-weight: 600; }
body .fv-tag-picker [hidden] { display: none !important; }
body .fv-tag-picker .fv-tag-picker__selected { display: flex; flex-wrap: wrap; gap: var(--fv-space-2); margin: 0 0 var(--fv-space-2); padding: 0; list-style: none; }
body .fv-tag-picker .fv-tag-picker__selected:empty { display: none; }
body .fv-tag-picker .fv-tag-picker__selected > li { margin: 0; padding: 0; list-style: none; max-width: 100%; }
body .fv-tag-picker button.fv-tag-picker__remove { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: .4rem .85rem; border: 1px solid var(--fv-evergreen) !important; border-radius: 999px !important; background: var(--fv-limestone) !important; color: var(--fv-evergreen) !important; font: 600 .9375rem/1.4 var(--fv-font-sans) !important; overflow-wrap: anywhere; text-align: left; cursor: pointer; }
body .fv-tag-picker button.fv-tag-picker__remove:hover { background: var(--fv-paper) !important; }
body .fv-tag-picker button.fv-tag-picker__remove:focus-visible { outline: 2px solid var(--fv-evergreen); outline-offset: 3px; }
body .fv-tag-picker input.fv-tag-picker__search { display: block; width: 100% !important; max-width: none; box-sizing: border-box; }
body .fv-tag-picker .fv-tag-picker__suggestions { margin-block-start: var(--fv-space-1); padding: var(--fv-space-2); border: 1px solid var(--fv-hairline); border-radius: var(--fv-radius-sm); background: var(--fv-paper); }
body .fv-tag-picker .fv-tag-picker__heading { margin: 0 0 var(--fv-space-1); font-size: .875rem; color: var(--fv-muted); }
body .fv-tag-picker [role="listbox"] { max-height: 18rem; overflow-y: auto; margin: 0; padding: 0; list-style: none; }
body .fv-tag-picker [role="option"] { float: none; width: auto; min-height: 44px; box-sizing: border-box; display: flex; align-items: center; margin: 0; padding: .5rem .65rem; border-radius: var(--fv-radius-sm); list-style: none; color: var(--fv-ink); cursor: pointer; overflow-wrap: anywhere; }
body .fv-tag-picker [role="option"]:is(:hover, [aria-selected="true"]) { background: var(--fv-limestone); outline: 1px solid var(--fv-evergreen); outline-offset: -1px; }
body .fv-tag-picker [role="option"][aria-disabled="true"] { opacity: .6; cursor: not-allowed; }
body .fv-tag-picker .fv-tag-picker__status { margin: var(--fv-space-1) 0 0; }
.fv-choice { display: flex; flex-wrap: wrap; gap: var(--fv-space-1) var(--fv-space-4); margin: 0 0 var(--fv-space-3); padding: 0; border: 0; }
.fv-choice legend { width: 100%; margin-block-end: var(--fv-space-1); padding: 0; font-weight: 600; }
.fv-form .fv-choice label { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; margin: 0; font-weight: 500; cursor: pointer; }
.fv-choice input { width: 1.25rem; height: 1.25rem; accent-color: var(--fv-copper-deep); }
.fv-form__submit { text-align: center; }
.fv-form [hidden] { display: none !important; }
.fv-form-card:not(:has(input[value="sale"]:checked)) .fv-price-field { display: none; }
.fv-manage { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--fv-space-2); margin-block: var(--fv-space-5); }
.fv-action-form { display: inline; margin: 0; }
.fv-small-button, button.fv-small-button {
	min-height: 44px;
	padding: .5rem 1rem;
	background: transparent;
	border-color: var(--fv-evergreen);
	color: var(--fv-evergreen);
	font-size: .9375rem;
}
button.fv-small-button:hover { background: var(--fv-evergreen); border-color: var(--fv-evergreen); color: var(--fv-limestone); }
button.fv-small-button.fv-danger { border-color: var(--fv-danger); color: var(--fv-danger); }
button.fv-small-button.fv-danger:hover { background: var(--fv-danger); border-color: var(--fv-danger); color: #fff; }
.fv-back { margin-block-start: var(--fv-space-5); }
.fv-my-posts {
	margin-block-start: var(--fv-space-5);
	padding: var(--fv-space-3) var(--fv-space-4);
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-left: 4px solid var(--fv-copper);
	border-radius: var(--fv-radius-sm);
}
.fv-my-posts h2 { margin: 0 0 var(--fv-space-2); font-size: 1.2rem; }
.fv-my-posts ul { margin: 0; padding: 0; list-style: none; }
.fv-my-posts li { padding-block: .35rem; border-bottom: 1px dotted var(--fv-line); }
.fv-my-posts li:last-child { border-bottom: 0; }
.fv-my-posts__status { color: var(--fv-muted); font-size: .9375rem; }
.fv-my-posts__status::before { content: "· "; }
.fv-contact-card dl, .fv-business__contact { display: grid; grid-template-columns: auto 1fr; gap: var(--fv-space-1) var(--fv-space-3); margin: 0; }
.fv-contact-card dt, .fv-business__contact dt { font-weight: 600; }
.fv-contact-card dd, .fv-business__contact dd { margin: 0; overflow-wrap: anywhere; }

/* Trading Post */
.fv-badge {
	display: inline-block;
	padding: .15rem .6rem;
	border-radius: 999px;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--fv-limestone);
	background: var(--fv-evergreen);
}
.fv-badge--sale { background: var(--fv-copper-deep); }
.fv-badge--free { background: var(--fv-evergreen); }
.fv-badge--wanted { background: var(--fv-limestone); color: var(--fv-evergreen); box-shadow: inset 0 0 0 1.5px var(--fv-evergreen); }
.fv-listings { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: var(--fv-space-4); }
.fv-listing-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-radius: var(--fv-radius);
	box-shadow: var(--fv-shadow);
}
.fv-listing-card__photo { display: block; aspect-ratio: 4 / 3; background: var(--fv-limestone); text-decoration: none; }
.fv-listing-card__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fv-listing-card__nophoto { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--fv-muted); font-family: var(--fv-font-heading); font-size: 1.25rem; }
.fv-listing-card__body { padding: var(--fv-space-3); }
.fv-listing-card__title { margin: var(--fv-space-2) 0 0; font-size: 1.15rem; }
.fv-listing-card__title a { text-decoration: none; }
.fv-listing-card__title a::after { content: ""; position: absolute; inset: 0; }
.fv-listing-card { position: relative; }
.fv-listing-card__title a:hover { text-decoration: underline; }
.fv-listing-card__price { margin: var(--fv-space-1) 0 0; font-weight: 700; color: var(--fv-copper-deep); }
.fv-listing-card__meta { margin: var(--fv-space-1) 0 0; color: var(--fv-muted); font-size: .9rem; }
.fv-listing-card__meta a { position: relative; z-index: 1; }
.fv-listing__summary { display: flex; align-items: center; gap: var(--fv-space-2); margin-block: 0 var(--fv-space-4); }
.fv-listing__price { font-size: 1.35rem; font-weight: 700; color: var(--fv-copper-deep); }
.fv-listing__photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--fv-space-2); margin-block-end: var(--fv-space-4); }
.fv-listing__photos a { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--fv-radius-sm); }
.fv-listing__photos img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fv-contact-card {
	margin-block-start: var(--fv-space-5);
	padding: var(--fv-space-3) var(--fv-space-4);
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-left: 4px solid var(--fv-copper);
	border-radius: var(--fv-radius-sm);
}
.fv-contact-card h2 { margin: 0 0 var(--fv-space-2); font-size: 1.25rem; }

/* Local Services */
.fv-business-group { margin-block-start: var(--fv-space-5); }
.fv-business-group h2 { font-size: var(--fv-heading-section); margin-block: 0 var(--fv-space-3); }
.fv-businesses { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: var(--fv-space-3); }
.fv-business-card {
	padding: var(--fv-space-3) var(--fv-space-4);
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-radius: var(--fv-radius);
	box-shadow: var(--fv-shadow);
}
.fv-business-card h3 { margin: 0 0 var(--fv-space-2); font-size: 1.15rem; }
.fv-business-card h3 a { text-decoration: none; }
.fv-business-card h3 a:hover { text-decoration: underline; }
.fv-business-card .fv-business__contact { font-size: .9375rem; }
.fv-business-card__count { margin: var(--fv-space-2) 0 0; font-size: .9375rem; font-weight: 600; }
.fv-business__category { margin-block: calc(-1 * var(--fv-space-3)) var(--fv-space-4); }
.fv-business__category a { font-weight: 600; }
.fv-recommendation {
	margin-block-start: var(--fv-space-4);
	padding: var(--fv-space-3) var(--fv-space-4);
	background: var(--fv-paper);
	border: 1px solid var(--fv-hairline);
	border-radius: var(--fv-radius);
}
.fv-recommendation p { margin-block: 0 var(--fv-space-2); }
.fv-recommendation p:last-child { margin-block-end: 0; }
.fv-recommendation__by { color: var(--fv-muted); font-size: .9375rem; }
.fv-condolences .comment-form-comment label { font-weight: 600; }

/* Photo Gallery */
.fv-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 11rem), 1fr)); gap: var(--fv-space-2); }
.fv-photo { margin: 0; }
.fv-photo > a { display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--fv-radius-sm); background: var(--fv-limestone); }
.fv-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.fv-photo > a:hover img { transform: scale(1.04); }
.fv-photo figcaption { display: flex; flex-direction: column; align-items: center; gap: var(--fv-space-1); margin-block-start: var(--fv-space-1); font-size: .875rem; color: var(--fv-muted); text-align: center; }
.fv-pager { display: flex; justify-content: center; align-items: center; gap: var(--fv-space-4); margin-block-start: var(--fv-space-4); }
.fv-lightbox {
	max-width: min(96vw, 72rem);
	max-height: 96vh;
	padding: var(--fv-space-5) var(--fv-space-6);
	border: 0;
	border-radius: var(--fv-radius);
	background: var(--fv-evergreen);
	color: var(--fv-limestone);
}
.fv-lightbox::backdrop { background: rgb(0 0 0 / .8); }
.fv-lightbox figure { margin: 0; text-align: center; }
.fv-lightbox img { display: block; max-width: 100%; max-height: calc(96vh - 9rem); margin: 0 auto; object-fit: contain; }
.fv-lightbox figcaption { margin-block-start: var(--fv-space-2); }
.fv-lightbox button {
	position: absolute;
	min-height: 44px;
	width: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fv-limestone);
	font-size: 2rem;
	line-height: 1;
}
.fv-lightbox button:hover { background: var(--fv-tint-on-dark); border: 0; }
.fv-lightbox button:focus-visible { outline-color: var(--fv-copper-light); }
.fv-lightbox__close { top: .25rem; right: .25rem; }
.fv-lightbox__prev, .fv-lightbox__next { top: 50%; transform: translateY(-50%); }
.fv-lightbox__prev { left: .25rem; }
.fv-lightbox__next { right: .25rem; }
.fv-lightbox [hidden] { display: none; }

/* Members' Home dashboard and global search */
.wp-block-post-content > .fv-dashboard {
	width: 100%;
	max-width: none;
}
.fv-dashboard { display: grid; gap: var(--fv-space-4); }
.fv-hub-dashboard, .fv-hub-dashboard > * { min-width: 0; }
.fv-hub-header { position: relative; border: 1px solid var(--fv-hairline); border-radius: var(--fv-radius); overflow: hidden; background: var(--fv-paper); }
.fv-hub-cover { display: block; width: 100%; height: 225px; object-fit: cover; }
.fv-hub-identity { position: relative; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: var(--fv-space-4); align-items: start; margin-top: -60px; padding: 0 var(--fv-space-3) var(--fv-space-3); }
.fv-hub-identity > div { padding-top: 76px; }
.fv-hub-identity .fv-hub-photo { display: block; box-sizing: border-box; width: 150px; height: 150px; object-fit: contain; border: 0; border-radius: 50%; background: transparent; }
.fv-hub-identity h2 { margin: 0 0 var(--fv-space-2); font-size: var(--fv-heading-section); }
.fv-hub-identity p { margin: 0; color: var(--fv-muted); }
.fv-hub-tabs { margin: 0; }
.fv-hub-tabs ul { display: flex; flex-wrap: wrap; gap: var(--fv-space-1); list-style: none; margin: 0; padding: 0; }
.fv-hub-tabs li { margin: 0; }
.fv-hub-tabs li.fv-library-tab, #buddypress #group-primary-nav > li.fv-library-tab { margin-inline-start: auto; }
#buddypress #object-nav.fv-club-wrapping-nav > #group-primary-nav { display: flex; flex-wrap: wrap; width: 100%; }
#buddypress #object-nav.fv-club-wrapping-nav > .primary-nav-more { display: none; }
.fv-hub-tabs a { box-sizing: border-box; }
@media (max-width: 600px) {
	.fv-hub-identity { grid-template-columns: 120px minmax(0, 1fr); gap: var(--fv-space-3); }
	.fv-hub-identity .fv-hub-photo { width: 120px; height: 120px; }
	.fv-hub-identity h2 { font-size: var(--fv-heading-card); }
}
.fv-dashboard > section, .fv-dashboard .fv-home-announcements > h2 { scroll-margin-top: 7rem; }
.fv-dashboard .fv-your-activity { margin-block-start: var(--fv-space-4); }
.fv-home-section > :last-child, .fv-alert-panel > :last-child { margin-bottom: 0; }
.fv-home-section { padding: var(--fv-space-4); background: var(--fv-paper); border: 1px solid var(--fv-hairline); border-radius: var(--fv-radius); box-shadow: var(--fv-shadow); }
.fv-home-section > h2 { margin: 0 0 var(--fv-space-3); font-size: var(--fv-heading-section); }
.fv-home-section > h3, .fv-your-activity > h3 { margin: var(--fv-space-4) 0 var(--fv-space-2); font-size: var(--fv-heading-card); }
.fv-home-card + .fv-home-card { margin-block-start: var(--fv-space-4); padding-block-start: var(--fv-space-3); border-top: 1px solid var(--fv-hairline); }
.fv-home-card h3 { margin: 0 0 var(--fv-space-2); font-size: 1.2rem; }
.fv-home-card p:last-child { margin-block-end: 0; }
.fv-announcement-edit { margin-top: var(--fv-space-2); }
.fv-announcement-edit-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.fv-announcement-edit[hidden] { display: none; }
.fv-new-member { border-top-color: var(--fv-evergreen); }
.fv-quick-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--fv-space-2); }
.fv-home-updates { padding: 0; margin: 0; list-style: none; }
.fv-home-updates li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 var(--fv-space-3); padding-block: var(--fv-space-2); border-bottom: 1px solid var(--fv-hairline); }
.fv-home-updates li:last-child { border-bottom: 0; }
.fv-home-updates span { color: var(--fv-muted); font-size: .9rem; }
.fv-home-updates a { overflow-wrap: anywhere; }
.fv-event-cards { display: grid; gap: var(--fv-space-3); }
.fv-event-card { display: grid; grid-template-columns: clamp(72px, 22%, 140px) minmax(0, 1fr); align-items: start; gap: var(--fv-space-3); padding: var(--fv-space-3); min-width: 0; border: 1px solid var(--fv-hairline); border-radius: var(--fv-radius); background: var(--fv-limestone); box-shadow: var(--fv-shadow); overflow-wrap: anywhere; }
.fv-event-card__image { min-width: 0; align-self: center; }
.fv-event-card__image .fv-event-card__photo { display: block; width: 100%; height: auto; object-fit: contain; margin: 0; }
.fv-event-card__date { display: flex; align-items: center; justify-content: center; gap: var(--fv-space-2); padding: var(--fv-space-3); background: var(--fv-evergreen); color: var(--fv-limestone); }
.fv-event-card__date span { font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.fv-event-card__date strong { font-size: 2rem; line-height: 1; }
.fv-event-card__body { display: flex; min-width: 0; flex-direction: column; gap: var(--fv-space-2); }
.fv-event-card p { margin: 0; font-size: .9rem; }
.fv-event-card__when { color: var(--fv-evergreen); font-weight: 700; }
.fv-event-card .fv-event-card__link { margin-top: auto; padding-top: var(--fv-space-2); font-weight: 700; }
/* Your Activity on Home: the member's own clubs, events, posts, listings and photos. */
.fv-activity-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--fv-space-3); }
.fv-activity-card { padding: var(--fv-space-3); border: 1px solid var(--fv-hairline); border-radius: var(--fv-radius-sm); background: var(--fv-limestone); }
.fv-activity-card h3 { margin: 0 0 var(--fv-space-1); font-size: 1.1rem; }
.fv-activity-card p { margin: var(--fv-space-2) 0 0; font-weight: 600; }
.fv-your-activity > .fv-hint { margin-block: 0 var(--fv-space-3); }
/* Announcements (Home and /announcements/) */
.fv-announcements { display: grid; gap: var(--fv-space-4); margin-block-end: var(--fv-space-5); }
.fv-announcements > .fv-announcement { padding: var(--fv-space-4); background: var(--fv-paper); border: 1px solid var(--fv-hairline); border-left: 4px solid var(--fv-copper); border-radius: var(--fv-radius); }
.fv-announcements > .fv-announcement + .fv-announcement { margin: 0; border-top: 1px solid var(--fv-hairline); }
.fv-announcement h2 { margin: 0 0 var(--fv-space-1); font-size: var(--fv-heading-card); }
.fv-announcement__meta { margin-block: 0 var(--fv-space-2); color: var(--fv-muted); font-size: .9rem; }
.fv-link-button { min-height: 44px; padding: 0; background: none !important; border: 0; color: var(--fv-evergreen) !important; font: inherit; text-decoration: underline; cursor: pointer; box-shadow: none !important; }
.fv-home-links { display: flex; flex-wrap: wrap; gap: var(--fv-space-2) var(--fv-space-4); margin-block: var(--fv-space-3) 0; font-weight: 600; }
/* Member areas: Account and personal activity pages have no profile banner or profile tabs. */
.fv-member-area-intro { margin-block: 0 var(--fv-space-4); color: var(--fv-muted); }
#buddypress .fv-account { display: grid; grid-template-columns: minmax(11rem, 13rem) minmax(0, 1fr); gap: var(--fv-space-4); align-items: start; }
/* BuddyPress clearfix pseudo-elements otherwise become extra grid items. */
#buddypress .fv-account::before, #buddypress .fv-account::after { display: none; }
#buddypress .fv-account-nav { min-width: 0; }
#buddypress .fv-account-nav ul { display: grid; gap: var(--fv-space-1); margin: 0; padding: 0; list-style: none; }
#buddypress .fv-account-nav li { float: none; margin: 0; padding: 0; }
#buddypress .fv-account-nav a { display: flex; align-items: center; box-sizing: border-box; min-height: 48px; height: 100%; padding: var(--fv-space-2) var(--fv-space-3); border-radius: var(--fv-radius-sm); border-left: 3px solid transparent; text-decoration: none; font-weight: 500; line-height: 1.4; }
#buddypress .fv-account-nav a:hover { background: var(--fv-tint-on-light); text-decoration: underline; }
#buddypress .fv-account-nav a[aria-current="page"] { border-left-color: var(--fv-copper); background: var(--fv-paper); font-weight: 700; }
#buddypress .fv-account > #item-body,
#buddypress .fv-profile-layout > #item-body,
#buddypress .fv-profile-layout > #object-nav { float: none; box-sizing: border-box; min-width: 0; width: 100%; margin: 0; }
#buddypress .fv-member-panel,
#buddypress .fv-profile-body > .profile { box-sizing: border-box; margin: 0; padding: clamp(1rem, 2vw, 1.5rem); background: var(--fv-paper); border: 1px solid var(--fv-hairline); border-radius: var(--fv-radius); box-shadow: var(--fv-shadow); }
#buddypress .fv-member-panel .standard-form,
#buddypress .fv-profile-body .standard-form,
#buddypress .fv-profile-body .bp-widget { width: 100%; box-sizing: border-box; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
#buddypress .fv-member-panel > .screen-heading,
#buddypress .fv-profile-body .profile > .screen-heading { margin: 0 0 var(--fv-space-2); padding: 0; font-size: 1.4rem; }
#buddypress .fv-member-panel > :is(.info, .bp-help-text) { margin: 0 0 var(--fv-space-4); }
#buddypress .fv-profile-body .bp-widget { margin-block-start: var(--fv-space-4); padding-block-start: var(--fv-space-3); border-top: 1px solid var(--fv-hairline); }
#buddypress .fv-profile-body .profile-group-title { margin: 0 0 var(--fv-space-3); padding: 0; font-size: 1.2rem; }
#buddypress .fv-profile-body .editfield { margin: 0 0 var(--fv-space-4); padding: 0; }
#buddypress .fv-profile-body .editfield :is(label, legend) { display: block; margin: 0 0 var(--fv-space-1); }
#buddypress .fv-profile-body .editfield :is(.description, .field-visibility-settings-notoggle, .field-visibility-settings-toggle) { margin: var(--fv-space-1) 0 0; padding: 0; font-size: .9375rem; }
#buddypress :is(.fv-member-panel, .fv-profile-body) .standard-form :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="url"], select) { box-sizing: border-box; width: 100%; max-width: 100%; height: 3.125rem; min-height: 3.125rem; margin: 0; padding: .65rem .85rem; line-height: 1.7; }
#buddypress .fv-member-panel .standard-form > label { display: block; margin: var(--fv-space-4) 0 var(--fv-space-1); }
#buddypress .fv-member-panel .standard-form > label:first-child { margin-block-start: 0; }
#buddypress :is(.fv-member-panel, .fv-profile-body) .submit { margin: var(--fv-space-4) 0 0; padding: var(--fv-space-3) 0 0; border-top: 1px solid var(--fv-hairline); }
#buddypress :is(.fv-member-panel, .fv-profile-body) .submit input { float: none; margin: 0; }
#buddypress :is(.fv-member-panel, .fv-profile-body) :is(.bp-tables-user, .notification-settings) { width: 100%; margin: 0 0 var(--fv-space-4); border-collapse: collapse; table-layout: fixed; }
#buddypress :is(.fv-member-panel, .fv-profile-body) :is(.bp-tables-user, .notification-settings) :is(th, td) { box-sizing: border-box; padding: var(--fv-space-2); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
#buddypress .fv-member-panel .notification-settings :is(.yes, .no) { width: 3rem; text-align: center; vertical-align: middle; }
#buddypress .fv-member-panel .notification-settings input[type="radio"] { margin: .25rem 0; }
#buddypress .fv-member-panel .profile-settings .field-name { width: 50%; }
#buddypress .fv-profile-body .profile-fields .label { width: 32%; font-weight: 600; }
#buddypress .fv-profile-body .profile-fields p { margin: 0; }
#buddypress .fv-profile-body .fv-profile-details { margin: 0; }
#buddypress .fv-profile-clubs { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
#buddypress .fv-profile-clubs li { margin: 0; padding: 0; }
#buddypress .fv-avatar-crop-help { margin: 0 0 var(--fv-space-3); font-weight: 600; }
#fv-email-open:not([hidden]) { display: block; margin-inline: auto; }
.em .em-search-main .fv-calendar-add { display: flex; align-items: center; flex-shrink: 0; }
body .em.em-search .em-search-main.em-search-main-bar .fv-calendar-add a { margin: 0 !important; white-space: nowrap; text-decoration: none; }
body .em.em-search .em-search-main.em-search-main-bar .fv-calendar-add a { background: var(--fv-action) !important; border-color: var(--fv-action) !important; color: var(--fv-action-text) !important; }
body .em.em-search .em-search-main.em-search-main-bar .fv-calendar-add a:is(:hover, :focus-visible) { background: var(--fv-action-hover) !important; border-color: var(--fv-action-hover) !important; }
.em .em-search-main:has(.fv-calendar-add) { column-gap: 8px; }
@media (max-width: 700px) {
	body .em.em-search .em-search-main.em-search-main-bar:has(.fv-calendar-add) { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
	.em .em-search-main:has(.fv-calendar-add) > .em-search-text { grid-column: 1 / -1; }
	.em .em-search-main:has(.fv-calendar-add) > :is(.em-search-advanced-trigger, .em-search-sort, .em-search-views) { grid-column: span 2; }
	.em .em-search-main:has(.fv-calendar-add) > .em-search-submit { grid-column: 1 / 4; }
	.em .em-search-main .fv-calendar-add { grid-column: 4 / -1; }
	.em .em-search-main .fv-calendar-add a { box-sizing: border-box; width: 100%; padding-inline: 12px; text-align: center; }
}
#buddypress .fv-image-actions { clear: both; padding-block: var(--fv-space-3); }
#buddypress .fv-cover-crop { width: min(100%, 760px); margin-block: var(--fv-space-3); }
#buddypress .fv-cover-crop[hidden] { display: none; }
#buddypress .fv-image-hint { margin: 0 0 var(--fv-space-2); color: var(--fv-muted); font-size: .9375rem; }
#buddypress .fv-image-actions [hidden] { display: none; }
#buddypress .fv-cover-crop__frame { position: relative; overflow: hidden; box-sizing: border-box; width: 100%; aspect-ratio: 760 / 225; background: var(--fv-evergreen); border: 0; border-radius: var(--fv-radius-sm); box-shadow: inset 0 0 0 2px var(--fv-copper); touch-action: none; cursor: grab; }
#buddypress .fv-cover-crop__frame:active { cursor: grabbing; }
#buddypress .fv-cover-crop__image { position: absolute; display: block; max-width: none; max-height: none; margin: 0; user-select: none; -webkit-user-drag: none; pointer-events: none; }
#buddypress .fv-cover-crop__controls { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fv-space-3); margin-block: var(--fv-space-2); }
#buddypress .fv-cover-crop__zoom { display: grid; flex: 1 1 15rem; gap: var(--fv-space-1); font-weight: 600; }
#buddypress .fv-cover-crop__zoom input { width: 100%; margin: 0; }
#buddypress .fv-cover-crop__zoom-value { color: var(--fv-muted); font-weight: 400; }
#buddypress .fv-cover-crop__move { display: grid; grid-template: repeat(3, 44px) / repeat(3, 44px); gap: 2px; }
#buddypress .fv-cover-crop__move [data-move="up"] { grid-area: 1 / 2; }
#buddypress .fv-cover-crop__move [data-move="left"] { grid-area: 2 / 1; }
#buddypress .fv-cover-crop__move [data-move="right"] { grid-area: 2 / 3; }
#buddypress .fv-cover-crop__move [data-move="down"] { grid-area: 3 / 2; }
#buddypress .fv-cover-crop__move .button { min-width: 44px; min-height: 44px; margin: 0; padding: .25rem; }
#buddypress .fv-cover-crop__help { flex-basis: 100%; margin: 0; color: var(--fv-muted); font-size: .9375rem; }
#buddypress .button:disabled { opacity: .55; cursor: not-allowed; }
#buddypress .fv-profile-body .fv-profile-details :is(th, td) { padding: var(--fv-space-3) var(--fv-space-2); border-bottom: 1px solid var(--fv-hairline); vertical-align: top; }
#buddypress .fv-profile-body .fv-profile-details tbody tr:last-child :is(th, td) { border-bottom: 0; }
#buddypress .fv-profile-body .fv-profile-details thead th { padding-block: 0 var(--fv-space-2); border-bottom: 2px solid var(--fv-hairline); color: var(--fv-muted); font-size: .8125rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
#buddypress .fv-profile-body .fv-profile-details .label { width: 11rem; overflow-wrap: normal; word-break: normal; }
#buddypress .fv-profile-body .fv-profile-details .fv-profile-actions { width: 6.75rem; text-align: right; white-space: nowrap; }
#buddypress .fv-profile-body .fv-profile-details td.fv-profile-actions { padding-block: calc(var(--fv-space-3) - 12px) 0; }
.fv-profile-actions__group { display: inline-flex; gap: .25rem; justify-content: flex-end; }
.fv-profile-actions__group form { display: contents; }
#buddypress .fv-icon-button { display: inline-grid; place-items: center; box-sizing: border-box; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; background: transparent; border: 1px solid transparent; border-radius: var(--fv-radius-sm); color: var(--fv-evergreen); cursor: pointer; box-shadow: none; }
#buddypress .fv-icon-button:is(:hover, :focus-visible) { background: var(--fv-tint-on-light); border-color: var(--fv-hairline); }
#buddypress .fv-icon-button[aria-expanded="true"] { background: var(--fv-tint-on-light); border-color: var(--fv-copper); }
#buddypress .fv-visibility--hidden { color: var(--fv-muted); }
#buddypress .fv-visibility--fixed { cursor: default; opacity: .6; }
#buddypress .fv-visibility--fixed:hover { background: transparent; border-color: transparent; }
.fv-icon-button svg, .fv-camera-button svg, .fv-profile-legend svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fv-profile-legend svg { width: 18px; height: 18px; vertical-align: -4px; }
.fv-profile-legend { display: flex; flex-wrap: wrap; gap: var(--fv-space-1) var(--fv-space-4); margin: var(--fv-space-3) 0 0; color: var(--fv-muted); font-size: .875rem; }
.fv-profile-empty { color: var(--fv-muted); font-style: italic; }
#buddypress .fv-profile-row.is-editing :is(th, td) { background: var(--fv-tint-on-light); }
#buddypress .fv-profile-editor { margin: var(--fv-space-3) 0 0; }
.fv-profile-editor__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: var(--fv-space-2) var(--fv-space-3); }
.fv-profile-editor__fields--about, .fv-profile-editor__fields--address .fv-profile-editor__field:first-child { grid-column: 1 / -1; }
#buddypress .fv-profile-editor__field { margin: 0; }
#buddypress .fv-profile-editor__field label { display: block; margin: 0 0 var(--fv-space-1); font-weight: 600; font-size: .9375rem; }
#buddypress .fv-profile-editor :is(input, select, textarea) { box-sizing: border-box; width: 100%; max-width: 100%; margin: 0; }
#buddypress .fv-profile-editor :is(input, select) { height: 50px; }
.fv-required { color: var(--fv-muted); font-weight: 400; font-size: .8125rem; }
#buddypress .fv-profile-editor__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fv-space-3); margin: var(--fv-space-3) 0 0; }
#buddypress .fv-link-button { min-height: 44px; padding: 0 var(--fv-space-2); background: transparent; border: 0; color: var(--fv-evergreen); text-decoration: underline; cursor: pointer; box-shadow: none; }
.fv-profile-notice { margin: 0 0 var(--fv-space-3); padding: var(--fv-space-2) var(--fv-space-3); border-left: 4px solid var(--fv-evergreen); background: var(--fv-tint-on-light); border-radius: var(--fv-radius-sm); }
.fv-profile-notice--error { border-left-color: #a33a1f; }
.fv-profile-back { margin: 0 0 var(--fv-space-3); }
#buddypress #cover-image-container { position: relative; }
#buddypress #item-header.users-header { margin-bottom: 0; }
#buddypress .fv-profile-header-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fv-space-2) var(--fv-space-3); margin: 0; }
#buddypress .fv-profile-badges { margin: 0; }
#buddypress .fv-profile-badges .fv-member-badges { margin: 0; }
#buddypress .fv-profile-header-row a.fv-profile-preview-action { min-height: 40px; margin: 0 0 0 auto; padding: .4rem .9rem; font-size: .9375rem; }
#buddypress #members-list .list-wrap { position: relative; container-type: inline-size; }
#buddypress #members-list .fv-member-favorite { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 10px; border: 1px solid var(--fv-hairline); border-radius: 50%; background: var(--fv-paper); color: var(--fv-evergreen); cursor: pointer; box-shadow: none; }
#buddypress #members-list .fv-member-favorite[hidden] { display: none; }
#buddypress #members-list .fv-member-favorite svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
#buddypress #members-list .fv-member-favorite[aria-pressed="true"] { color: var(--fv-copper); }
#buddypress #members-list .fv-member-favorite[aria-pressed="true"] svg { fill: currentColor; }
#buddypress #members-list .fv-member-favorite:is(:hover, :focus-visible) { background: var(--fv-limestone); outline: 2px solid var(--fv-copper); outline-offset: 2px; }
#buddypress #members-list .fv-member-favorite:disabled { opacity: .5; cursor: wait; }
#buddypress #members-list .fv-directory-details { display: none; }
.fv-directory-help { color: var(--fv-muted); font-size: .875rem; }
#fv-directory-status:empty { display: none; }
@container (min-width: 620px) {
	#buddypress #members-list .fv-directory-details { position: absolute; top: 0; right: 56px; display: block; box-sizing: border-box; width: calc((100% - 132px) / 2 - 72px); max-height: 100%; margin: 0; overflow: hidden; font-size: .8125rem; line-height: 1.4; }
	#buddypress #members-list .fv-directory-details > div { margin-bottom: .5rem; }
	#buddypress #members-list .fv-directory-details dt { margin: 0; color: var(--fv-muted); font-size: .75rem; font-weight: 600; }
	#buddypress #members-list .fv-directory-details dd { margin: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
}
@media (min-width: 783px) {
	#buddypress #item-header.users-header #item-header-cover-image { display: grid; grid-template-columns: 201px minmax(0, 1fr); align-items: start; min-height: 0; padding-top: 145px; }
	#buddypress #item-header.users-header #item-header-avatar .fv-avatar-frame { margin-bottom: 0; }
	#buddypress #item-header.users-header #item-header-cover-image::after { display: none; }
	#buddypress #item-header.users-header #item-header-cover-image #item-header-avatar { float: none; margin: 0; }
	#buddypress #item-header.users-header #item-header-cover-image #item-header-content { float: none; width: auto; margin: 96px 0 0; padding: 0; }
}
#buddypress #item-header-avatar .fv-avatar-frame { position: relative; display: inline-block; margin: 0 15px 19px 0; line-height: 0; }
#buddypress #item-header-avatar .fv-avatar-frame > a:first-child { display: block; }
#buddypress #item-header-avatar .fv-avatar-frame img.avatar { float: none; margin: 0; }
#buddypress #cover-image-container a.fv-camera-button, #buddypress #item-header-cover-image #item-header-avatar a.fv-camera-button { position: absolute; z-index: 3; display: grid; place-items: center; box-sizing: border-box; width: 44px; height: 44px; margin: 0; padding: 0; background: var(--fv-paper); border: 2px solid var(--fv-copper); border-radius: 50%; color: var(--fv-evergreen); box-shadow: 0 1px 4px rgb(0 0 0 / .3); text-decoration: none; }
#buddypress #cover-image-container a.fv-camera-button:is(:hover, :focus-visible) { background: var(--fv-limestone); }
#buddypress #cover-image-container a.fv-camera-button--cover { top: var(--fv-space-2); right: var(--fv-space-2); }
#buddypress #cover-image-container a.fv-camera-button--avatar { right: -2px; bottom: -2px; }
#buddypress #item-header-content:empty { display: none; }
#buddypress #profile-edit-form :is(.field_zip-code, .field_county, .field_state) :is(.field-visibility-settings, .field-visibility-settings-toggle, .field-visibility-settings-notoggle) { display: none; }
.fv-member-area--account.settings #buddypress #subnav { display: none; }
@media (max-width: 719px) {
	#buddypress .fv-account { grid-template-columns: minmax(0, 1fr); gap: var(--fv-space-3); }
	#buddypress .fv-account-nav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#buddypress .fv-account-nav a { padding: var(--fv-space-2); font-size: .9375rem; }
}
@media (max-width: 560px) {
	#buddypress .fv-profile-body .fv-profile-details thead { display: none; }
	#buddypress .fv-profile-body .fv-profile-details tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; border-bottom: 1px solid var(--fv-hairline); }
	#buddypress .fv-profile-body .fv-profile-details tbody tr:last-child { border-bottom: 0; }
	#buddypress .fv-profile-body .fv-profile-details :is(th, td) { display: block; width: auto; border: 0; padding: var(--fv-space-1) 0; }
	#buddypress .fv-profile-body .fv-profile-details .label { grid-column: 1; width: auto; padding-block-start: var(--fv-space-3); }
	#buddypress .fv-profile-body .fv-profile-details td.data { grid-column: 1 / -1; grid-row: 2; padding-block-end: var(--fv-space-3); }
	#buddypress .fv-profile-body .fv-profile-details td.fv-profile-actions { grid-column: 2; grid-row: 1; width: auto; padding-block: var(--fv-space-1) 0; }
	#buddypress .fv-profile-body .fv-profile-details:not(.fv-profile-details--owner) .label { padding-block-end: 0; }
}
.fv-email-dialog { box-sizing: border-box; width: min(38rem, calc(100% - 2rem)); max-height: 90vh; padding: var(--fv-space-4); background: var(--fv-paper); color: var(--fv-evergreen); border: 2px solid var(--fv-copper); border-radius: var(--fv-radius); overflow-y: auto; }
.fv-email-dialog::backdrop { background: rgb(0 0 0 / .65); }
/* While a pop-up (photo viewer, email list) is open, the page behind it stays put; the guided tour still scrolls the page. */
html:has(dialog[open]:not(.fv-tour)) { overflow: hidden; }
dialog { overscroll-behavior: contain; }
.fv-email-dialog > button { margin-block-start: var(--fv-space-3); }
.fv-email-dialog h3 { margin-block-start: 0; }
.fv-search-form > label { display: block; font-weight: 600; margin-block-end: var(--fv-space-2); }
.fv-search-form > div { display: flex; flex-wrap: wrap; gap: var(--fv-space-2); }
.fv-search-form input[type="search"] { flex: 1 1 12rem; min-width: 0; }
.fv-search-filter { min-width: 0; margin: var(--fv-space-3) 0; padding: var(--fv-space-3); border: 1px solid var(--fv-line); border-radius: var(--fv-radius-sm); }
.fv-search-filter legend { padding-inline: var(--fv-space-1); font-weight: 600; }
.fv-search-types { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: var(--fv-space-2); }
.fv-search-types label { display: flex; align-items: center; gap: var(--fv-space-1); min-height: 44px; cursor: pointer; }
.fv-search-form input[type="checkbox"] { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; accent-color: var(--fv-evergreen); }
.fv-search-results a { font-weight: 600; }

/* Site Map */
.fv-site-map { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: var(--fv-space-4); }
.fv-site-map__group h2 { margin: 0 0 var(--fv-space-2); padding-block-end: var(--fv-space-1); border-bottom: 2px solid var(--fv-copper); font-size: 1.2rem; }
.fv-site-map__group ul { margin: 0; padding: 0; list-style: none; }
.fv-site-map__group li { padding-block: .3rem; }

/* Printable Emergency Reference */
.wp-block-post-content:has(> .fv-sheet),
main:has(> .wp-block-post-content > .fv-sheet) > .fv-title-row { max-width: 60rem !important; }
.fv-title-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 var(--fv-space-3); margin-block-end: var(--fv-space-5); }
.fv-title-row::after { content: ""; flex-basis: 100%; height: 3px; margin-block-start: var(--fv-space-3); background: var(--fv-copper); border-radius: 2px; }
.fv-title-row > .wp-block-post-title { flex: 1 1 auto; min-width: 0; margin: 0; }
.fv-title-row > .wp-block-post-title::after { content: none; }
.fv-title-row > .fv-print { flex: none; width: 48px; padding: 0; }
.fv-title-row > .fv-print:hover { background: var(--fv-copper-darker); border-color: var(--fv-copper-darker); }
.fv-sheet { max-width: 60rem; margin-inline: auto !important; }
.fv-sheet > * + * { margin-block-start: var(--fv-space-4); }
.fv-sheet__911 {
	padding: var(--fv-space-3) var(--fv-space-4);
	background: var(--fv-danger-bg);
	color: var(--fv-danger);
	border: 2px solid var(--fv-danger);
	border-radius: var(--fv-radius-lg);
	text-align: center;
}
.fv-sheet__911 p { margin: 0; }
.fv-sheet__911 strong { font-size: 1.5rem; }
.fv-sheet__911 strong::before { content: "⚠ "; }
.fv-sheet .fv-sheet__911 a { color: var(--fv-danger); }
.fv-sheet__section h2 { margin: 0 0 var(--fv-space-2); padding-block-end: var(--fv-space-1); border-bottom: 2px solid var(--fv-copper); font-size: 1.2rem; }
.fv-sheet ul { margin: 0; padding: 0; list-style: none; }
.fv-sheet li {
	display: block;
	margin: 0;
	padding-block: .4rem;
	border-bottom: 1px dotted var(--fv-line);
}
.fv-sheet .fv-sheet__number { display: block; width: fit-content; margin-block-start: .1rem; font-weight: 700; white-space: nowrap; }
.fv-sheet__blank { min-height: 1.5em; }
.fv-sheet__plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--fv-space-4); }
.fv-sheet__plan-grid > * { margin: 0 !important; }
.fv-sheet__household li, .fv-sheet__contacts li { padding-block-start: var(--fv-space-3); border-bottom-style: solid; }
.fv-sheet__household li { display: block; }
.fv-sheet__household .fv-sheet__blank, .fv-sheet__contacts .fv-sheet__blank { display: block; min-height: 1.5rem; }
.fv-sheet__sections > * { margin: 0 !important; }
.fv-sheet__sections > * + * { margin-block-start: var(--fv-space-4) !important; }
.fv-sheet__sections .fv-sheet__section > .wp-block-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--fv-space-4); }
.fv-sheet__sections .fv-sheet__section > .wp-block-list > li { break-inside: avoid; }
.fv-sheet__footer { color: var(--fv-muted); font-size: .875rem; text-align: center; }
.fv-updated { color: var(--fv-muted); font-size: .9375rem; }

@media (max-width: 639px) {
	.fv-sheet__sections .fv-sheet__section > .wp-block-list { grid-template-columns: 1fr; }
}

/* Responsive */
@media (min-width: 1200px) {
	.fv-menu-toggle { display: none !important; }
	.fv-header--member > .fv-navigation { position: relative; }
	.fv-services-menu.fv-nav-group--ready { position: static; }
	.fv-services-menu.fv-nav-group--ready.is-open .fv-nav-group__menu {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: min(50rem, calc(100vw - 2 * var(--fv-gutter)));
		min-width: 0;
		column-gap: var(--fv-space-2);
	}
	.fv-services-menu .fv-nav-section:not(.fv-nav-section--utilities) { margin-block-start: 0; padding-block-start: 0; border-top: 0; }
	.fv-services-menu .fv-nav-section--utilities { grid-column: 1 / -1; }
}
@media (max-width: 1199px) {
	html:has(.fv-header) { scroll-padding-top: 10rem; }
	.fv-header { grid-template-columns: minmax(0, 1fr) auto auto; column-gap: var(--fv-space-2); }
	.fv-header > .fv-menu-toggle { grid-column: 3; grid-row: 1; justify-self: end; }
	.fv-header > .fv-header-tools { grid-column: 2; grid-row: 1; }
	.fv-header--member > .fv-menu-toggle { grid-column: 2; }
	.fv-header--member > .fv-header-tools { grid-column: 3; }
	.fv-header > .fv-header-conditions { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
	.fv-header > .fv-navigation { grid-column: 1 / -1; grid-row: 3; }
	.fv-header-status { grid-row: 4; grid-template-columns: minmax(0, 1fr); }
	.fv-menu-ready:not(.is-open) > .fv-header-status { grid-row: 3; }
	.fv-header-status > .fv-header-notices { grid-column: 1; }
	.fv-header .fv-account-greeting { display: none; }
	.fv-header-search-label { display: inline; }
	.fv-navigation .fv-header-search { justify-content: flex-start; gap: var(--fv-space-2); }
	.fv-header-tools .fv-nav-group--ready .fv-nav-group__toggle { width: 48px; min-height: 48px; padding: 0; justify-content: center; }
	.fv-header-tools .fv-account-menu { position: static; }
	.fv-header-tools .fv-account-menu.is-open .fv-nav-group__menu { position: absolute; top: calc(48px + var(--fv-space-2)); left: auto; right: var(--fv-gutter); width: min(20rem, calc(100% - 2 * var(--fv-gutter))); max-height: 60dvh; overflow-y: auto; padding: var(--fv-space-1); border: 1px solid var(--fv-on-dark-line); border-top: 3px solid var(--fv-copper); border-radius: var(--fv-radius-sm); box-shadow: var(--fv-shadow); }
	.fv-menu-ready .fv-menu-toggle { display: inline-flex; }
	.fv-menu-ready .fv-navigation {
		display: none;
		flex-basis: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding-block: var(--fv-space-1) var(--fv-space-2);
		border-top: 1px solid var(--fv-on-dark-line);
	}
	.fv-menu-ready.is-open .fv-navigation { display: flex; }
	.fv-menu-ready .fv-navigation a { min-height: 48px; padding: 0 var(--fv-space-2); font-size: 1.0625rem; }
	.fv-menu-ready.is-open { max-height: calc(100dvh - 32px); overflow-y: auto; }
	.fv-menu-ready.is-open { overscroll-behavior: contain; }
	html:has(.fv-menu-ready.is-open) { overflow: hidden; }
	.fv-menu-ready .fv-navigation .fv-nav-group--ready .fv-nav-group__toggle { width: 100%; min-height: 48px; justify-content: flex-start; font-size: 1.0625rem; }
	.fv-menu-ready .fv-navigation .fv-nav-group--ready.is-open .fv-nav-group__menu {
		position: static;
		min-width: 0;
		padding: 0 0 0 var(--fv-space-3);
		border: 0;
		border-left: 2px solid var(--fv-copper);
		border-radius: 0;
		box-shadow: none;
		max-height: none;
	}
}
@media (max-width: 782px) {
	.admin-bar .wp-site-blocks > header { top: 46px; }
}
@media (min-width: 601px) and (max-width: 1023px) {
	.home .wp-block-post-content > .wp-block-cover { --fv-hero-photo-height: clamp(20rem, 40vh, 26rem); }
}
@media (max-width: 600px) {
	html { scroll-padding-top: 5.5rem; }
	.fv-header { column-gap: .5rem; }
	.fv-menu-toggle { padding-inline: .5rem; }
	.fv-menu-toggle::before { width: 16px; height: 16px; }
	.fv-menu-toggle { gap: .3rem; font-size: .875rem; }
	.fv-header-conditions .fv-weather { margin-inline-end: auto; }
	.fv-weather { font-size: 1rem; }
	.fv-brand { gap: .4rem; min-width: 0; }
	.fv-brand img { width: 36px; height: 36px; }
	.fv-wordmark { font-size: .9375rem; }
	.fv-wordmark span { font-size: .5625rem; letter-spacing: .03em; }
	.wp-site-blocks > main { padding-block: var(--fv-space-5) var(--fv-space-6); }
	body.fv-access-public:not(.home) .wp-site-blocks > main { width: calc(100% - 1.5rem); margin-block: var(--fv-space-3) var(--fv-space-5); padding: var(--fv-space-4) var(--fv-space-3) var(--fv-space-5); }
	.fv-sheet__plan-grid { grid-template-columns: 1fr; }
	.home .wp-block-post-content > .wp-block-cover {
		--fv-hero-photo-height: 75vw;
		min-height: 0;
	}
	.home .wp-block-cover > .fv-hero-photo {
		background-image: url("assets/images/hero-960.webp");
	}
	.home .wp-block-cover__inner-container { padding: var(--fv-space-4) var(--fv-space-3); }
	#buddypress .bp-list > li, .emergency-container .emergency-item, #buddypress #signup-form .layout-wrap { padding: var(--fv-space-3); }
	#buddypress .bp-list li .item-avatar img.avatar { width: 72px; height: 72px; }
	#buddypress #item-header-avatar img.avatar { width: 120px; height: 120px; }
	/* Message Board tables become stacked cards: title, then labelled counts, then last post. */
	#bbpress-forums li.bbp-header .forum-titles > li:not(.bbp-forum-info):not(.bbp-topic-title) { display: none; }
	#bbpress-forums li.bbp-header .forum-titles > li, #bbpress-forums li.bbp-body ul.forum > li, #bbpress-forums li.bbp-body ul.topic > li {
		float: none;
		width: auto;
		text-align: left;
	}
	#bbpress-forums li.bbp-body .bbp-forum-info, #bbpress-forums li.bbp-body .bbp-topic-title { display: block; margin-block-end: var(--fv-space-2); }
	#bbpress-forums li.bbp-body .bbp-forum-topic-count, #bbpress-forums li.bbp-body .bbp-forum-reply-count,
	#bbpress-forums li.bbp-body .bbp-topic-voice-count, #bbpress-forums li.bbp-body .bbp-topic-reply-count {
		display: inline-block;
		margin-inline-end: var(--fv-space-3);
		color: var(--fv-muted);
		font-size: .9375rem;
	}
	#bbpress-forums li.bbp-body .bbp-forum-topic-count::before { content: "Discussions: "; }
	#bbpress-forums li.bbp-body .bbp-forum-reply-count::before, #bbpress-forums li.bbp-body .bbp-topic-reply-count::before { content: "Posts: "; }
	#bbpress-forums li.bbp-body .bbp-topic-voice-count::before { content: "Voices: "; }
	#bbpress-forums li.bbp-body .bbp-forum-freshness, #bbpress-forums li.bbp-body .bbp-topic-freshness { display: block; color: var(--fv-muted); font-size: .9375rem; overflow-wrap: anywhere; }
	#bbpress-forums li.bbp-body .bbp-forum-freshness::before, #bbpress-forums li.bbp-body .bbp-topic-freshness::before { content: "Last post: "; }
	#bbpress-forums .bbp-topic-freshness-author { display: inline; }
}
@media (max-width: 959px) {
	.wp-site-blocks > header:not(:has(.fv-menu-ready)) { position: static; }
}
@media (max-width: 360px) {
	.fv-brand { gap: .5rem; }
	.fv-brand img { width: 40px; height: 40px; }
	.fv-wordmark { font-size: 1rem; }
	.fv-wordmark span { font-size: .6rem; }
	html:has(body.page-id-185) { scroll-padding-top: 9rem; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

@media print {
	body, .wp-site-blocks, .wp-site-blocks > main { background: #fff !important; color: #111 !important; }
	.wp-site-blocks > header, .wp-site-blocks > footer, .skip-link, .back-button,
	.emergency-jump, .emergency-section-top, .emergency-actions { display: none !important; }
	.emergency-section[hidden] { display: block !important; }
	.wp-site-blocks > main { max-width: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; }
	.fv-access { display: none !important; }
	main .emergency-container, main .emergency-container *, main .emergency-container .emergency-item .emergency-phone a,
	main .emergency-container .alert-911 .emergency-phone a {
		color: #111 !important;
		background: #fff !important;
		background-image: none !important;
		border-color: #777 !important;
		box-shadow: none !important;
		transition: none !important;
		animation: none !important;
	}
	.emergency-container .emergency-item, .emergency-container .alert-911, .emergency-container .safety-note { break-inside: avoid; }
	.emergency-container a { color: #111 !important; text-decoration: underline; }
	.emergency-container .emergency-phone a::before,
	.emergency-container .emergency-text a::before,
	.emergency-container .emergency-website a::before { content: none; }
	.fv-alerts__note, .fv-alerts__more { display: none; }
	.emergency-container .fv-alerts__name::after { content: none; display: none; }

	/* Quick reference: one US Letter page, stacked sections with two service columns. */
	.fv-print { display: none !important; }
	body:has(.fv-sheet) .wp-block-post-title { margin: 0 0 6pt; font-size: 18pt; }
	body:has(.fv-sheet) .wp-block-post-title::after, .fv-title-row::after { display: none; }
	.fv-title-row { margin: 0; }
	main .fv-sheet, main .fv-sheet * { color: #111 !important; background: #fff !important; border-color: #111 !important; box-shadow: none !important; }
	.fv-sheet { max-width: none; font-size: 10pt; line-height: 1.3; }
	.wp-block-post-content > .fv-sheet { margin-block-start: 0 !important; }
	.fv-sheet > * + * { margin-block-start: 5pt !important; }
	.fv-sheet a { text-decoration: none !important; }
	.fv-sheet__911 { padding: 5pt 8pt; border-width: 2pt; }
	.fv-sheet__911 strong { font-size: 15pt; }
	.fv-sheet__section h2 { margin: 0 0 3pt; padding: 0 0 2pt; font-size: 11pt; border-bottom-width: 1.5pt; }
	.fv-sheet li { padding-block: 1pt; border-bottom-color: #999 !important; }
	.fv-sheet__household li, .fv-sheet__contacts li { padding-block-start: 5pt; }
	.fv-sheet__sections > * + * { margin-block-start: 6pt !important; }
	.fv-sheet__plan-grid { gap: 8pt; }
	.fv-sheet__household .fv-sheet__blank, .fv-sheet__contacts .fv-sheet__blank { min-height: 16pt; }
	.fv-sheet__contacts li { min-height: 19pt; }
	.fv-sheet__sections .fv-sheet__section > .wp-block-list { gap: 0 12pt; }
	.fv-sheet__section { break-inside: avoid; }
	.fv-sheet__footer { margin-block-start: 6pt !important; font-size: 8pt; }
	@page { size: letter; margin: .4in; }
	/* Zero page margins suppress the browser's own print header/footer (date, URL, page number). */
	@page fv-sheet { size: letter; margin: 0; }
	body:has(.fv-sheet) .wp-site-blocks { page: fv-sheet; }
	body:has(.fv-sheet) .wp-site-blocks > main { padding: .4in; }
}

.fv-reset-sent__actions { margin-block-start: var(--fv-space-5); text-align: center; }

/* Message composer: pick recipients by name instead of typing @username. */
.fv-recipients { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; box-sizing: border-box; width: 100%; min-height: 3.125rem; margin-bottom: 1rem; padding: .35rem .5rem; background: var(--fv-paper); border: 1px solid var(--fv-line); border-radius: var(--fv-radius-sm); }
.fv-recipients:focus-within { border-color: var(--fv-evergreen); box-shadow: 0 0 0 2px var(--fv-tint-on-light); }
.fv-recipient-chips { display: contents; margin: 0; padding: 0; list-style: none; }
.fv-recipient-chip { display: inline-flex; align-items: center; gap: .25rem; margin: 0; padding: .2rem .3rem .2rem .7rem; background: var(--fv-evergreen); color: var(--fv-limestone); border-radius: 999px; font-size: .95rem; line-height: 1.4; }
#buddypress .fv-recipient-remove { display: inline-flex; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; min-height: 0; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 50%; color: inherit; font-size: 1.15rem; line-height: 1; cursor: pointer; }
#buddypress .fv-recipient-remove:hover, #buddypress .fv-recipient-remove:focus-visible { background: rgba(255,255,255,.2); }
#buddypress input.fv-recipient-search { flex: 1 1 12rem; min-width: 8rem; width: auto; height: auto; min-height: 2.2rem; margin: 0; padding: .3rem .35rem; background: transparent; border: 0; box-shadow: none; outline: none; color: var(--fv-evergreen); font-size: 1rem; }
.fv-recipient-list { position: absolute; z-index: 50; top: calc(100% + 4px); left: 0; right: 0; max-height: 18rem; margin: 0; padding: .25rem 0; overflow-y: auto; list-style: none; background: var(--fv-paper); border: 1px solid var(--fv-line); border-radius: var(--fv-radius-sm); box-shadow: var(--fv-shadow); }
.fv-recipient-list[hidden] { display: none; }
.fv-recipient-option { display: flex; align-items: center; gap: .6rem; margin: 0; padding: .45rem .75rem; color: var(--fv-evergreen); cursor: pointer; }
.fv-recipient-option[aria-selected="true"], .fv-recipient-option:hover { background: var(--fv-limestone); }
.fv-recipient-option img { width: 2rem; height: 2rem; border-radius: 50%; object-fit: cover; }
.fv-recipient-empty { margin: 0; padding: .45rem .75rem; color: var(--fv-muted); }
