/*
Theme Name:   Twenty Twenty-Four
Description:  VHF child theme of Twenty Twenty-Four. Vaad Harabonim Florida – Rabbinical Alliance. Theme 5, "the register" (2026-10-26).
Template:     twentytwentyfour
Version:      5.1.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  twentytwentyfour-child
*/

/* ==========================================================================
   VHF theme 5, "the register" (design direction: ops/site-redesign-1026/DIRECTION.md).
   An institution's printed register: left-aligned on a 12-column grid, section heads in a narrow
   left column, hairline rules instead of boxes, people as a ruled list. Cardo for names and headings,
   Inter for small text, Frank Ruhl Libre for the Hebrew name. Navy and paper from the seal, seal blue
   for links only, gold for hairlines and the map's numerals only. No cards, shadows or rounded corners.
   Token names (--vhf-*) are shared with the vhf-request and vhf-affiliates plugins: keep them.
   ========================================================================== */

:root {
	--vhf-paper: #fdfcf9;
	--vhf-paper-2: #f6f4ee;
	--vhf-tint: #f6f4ee;
	--vhf-ink: #1b2232;
	--vhf-ink-2: #515a6a;
	--vhf-navy: #0b1f3f;
	--vhf-navy-2: #16325e;
	--vhf-navy-3: #1b3f7a;
	--vhf-gold: #b8912a;
	--vhf-gold-2: #d6b74c;
	--vhf-gold-text: #8a6a14;
	--vhf-gold-pale: #efe3b8;
	--vhf-blue: #0074c8;
	--vhf-link: #0a4f93;
	--vhf-line: #e5e1d6;
	--vhf-line-2: #d9d4c7;
	--vhf-line-cool: #d9d4c7;
	--vhf-on-navy: rgba(255, 255, 255, 0.8);

	--vhf-serif: "Cardo", "Times New Roman", Georgia, serif;
	--vhf-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--vhf-hebrew: "Frank Ruhl Libre", "Times New Roman", "David", "Arial Hebrew", serif;

	--vhf-wide: 76rem;
	--vhf-prose: 42rem;
	--vhf-gutter: clamp(1rem, 4vw, 3rem);
	--vhf-section: clamp(3.5rem, 7vw, 6rem);
	--vhf-section-s: clamp(2.5rem, 5vw, 4rem);
	--vhf-head-col: 15rem;

	--vhf-fs-body: 1.0625rem;
	--vhf-fs-small: 0.9375rem;
	--vhf-fs-h1: clamp(2.25rem, 1.7rem + 2vw, 3.5rem);
	--vhf-fs-h2: clamp(1.625rem, 1.4rem + 0.9vw, 2.125rem);
	--vhf-fs-name: clamp(1.375rem, 1.25rem + 0.5vw, 1.625rem);
	--vhf-fs-lead: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
}
@media (max-width: 600px) {
	:root { --vhf-fs-body: 1rem; --vhf-fs-small: 1rem; }
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
html { -webkit-text-size-adjust: 100%; background: var(--vhf-paper); }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body {
	margin: 0;
	background: var(--vhf-paper);
	color: var(--vhf-ink);
	font-family: var(--vhf-sans);
	font-size: var(--vhf-fs-body);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern", "liga";
}
body .wp-site-blocks { padding: 0; }
body > .wp-site-blocks > * + * { margin-block-start: 0; }
img { max-width: 100%; height: auto; display: block; }
a {
	color: var(--vhf-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	text-decoration-color: rgba(10, 79, 147, 0.35);
}
a:hover { color: var(--vhf-navy); text-decoration-color: currentColor; }
:focus-visible { outline: 2px solid var(--vhf-blue); outline-offset: 3px; }
h1, h2, h3 {
	font-family: var(--vhf-serif);
	font-weight: 400;
	color: var(--vhf-navy);
	margin: 0;
	letter-spacing: -0.005em;
	text-wrap: balance;
}
h1 { font-size: var(--vhf-fs-h1); line-height: 1.08; }
h2 { font-size: var(--vhf-fs-h2); line-height: 1.18; }
h3 { font-size: 1.3125rem; line-height: 1.25; }
p { margin: 0 0 1.35em; }
p:last-child { margin-bottom: 0; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); white-space: nowrap;
}
.skip-link:focus {
	position: fixed; top: 8px; left: 8px; z-index: 1000; width: auto; height: auto; clip: auto; clip-path: none;
	background: var(--vhf-navy); color: #fff; padding: 0.75rem 1rem; font-weight: 600;
}
.vhf-wrap { max-width: var(--vhf-wide); margin-inline: auto; padding-inline: var(--vhf-gutter); box-sizing: border-box; }
.vhf-prose { max-width: var(--vhf-prose); }
.vhf-prose p { line-height: 1.75; }
.vhf-lead { font-family: var(--vhf-serif); font-size: var(--vhf-fs-lead); line-height: 1.5; color: var(--vhf-navy); }
/* Inline links reach a 44 px tap height without moving the line. */
.vhf-prose p a, .vhf-aside a, .vhf-more a { display: inline-block; padding: 0.7rem 0; margin: -0.7rem 0; }

/* A section: its heading in a narrow left column, its matter to the right. One column on phones. */
.vhf-sec { padding-block: var(--vhf-section); }
.vhf-sec + .vhf-sec { padding-top: 0; }
.vhf-sec__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
.vhf-sec__head { border-top: 2px solid var(--vhf-navy); padding-top: 1.1rem; }
.vhf-sec__head h2 { max-width: 14ch; }
.vhf-sec__body { min-width: 0; }
@media (min-width: 900px) {
	.vhf-sec__grid { grid-template-columns: var(--vhf-head-col) minmax(0, 1fr); gap: 4rem; }
	.vhf-sec__body { border-top: 1px solid var(--vhf-line-2); padding-top: 1.1rem; }
	.vhf-sec__head h2 { position: sticky; top: 2rem; }
}

/* Plain link with an arrow, for the few "go there" lines. */
.vhf-go { font-family: var(--vhf-serif); font-size: 1.25rem; color: var(--vhf-navy); text-decoration: none; display: inline-flex; align-items: baseline; gap: 0.5rem; min-height: 44px; align-items: center; }
.vhf-go::after { margin-left: 0.15rem; content: "\2192"; font-family: var(--vhf-sans); font-size: 1rem; color: var(--vhf-gold-text); transition: transform .15s ease; }
.vhf-go:hover { color: var(--vhf-link); }
.vhf-go:hover::after { transform: translateX(3px); }

/* --------------------------------------------------------------------------
   Header: paper, gold hairline on top, seal and name on the left, plain menu on the right.
   -------------------------------------------------------------------------- */
.vhf-header { background: var(--vhf-paper); border-top: 3px solid var(--vhf-gold); border-bottom: 1px solid var(--vhf-line-2); position: relative; z-index: 20; }
.vhf-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 5.25rem; }
.vhf-brand { display: inline-flex; align-items: center; gap: 0.9rem; text-decoration: none; color: var(--vhf-navy); min-height: 44px; }
.vhf-brand:hover { color: var(--vhf-navy); }
.vhf-brand__seal { width: 46px; height: 46px; flex: none; }
.vhf-brand__name { font-family: var(--vhf-serif); font-size: 1.1875rem; line-height: 1.2; }
.vhf-brand__name > span { white-space: nowrap; }
@media (max-width: 1100px) { .vhf-brand__name > span { display: block; } .vhf-brand__name { font-size: 1.0625rem; } }

.vhf-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 0.25rem; }
.vhf-nav__link {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 0.85rem;
	font-size: 0.9375rem; font-weight: 500; color: var(--vhf-ink); text-decoration: none; position: relative; white-space: nowrap;
}
.vhf-nav__link:hover { color: var(--vhf-navy); }
.vhf-nav__link[aria-current="page"] { color: var(--vhf-navy); }
.vhf-nav__link[aria-current="page"]::after { content: ""; position: absolute; left: 0.85rem; right: 0.85rem; bottom: 6px; height: 1px; background: var(--vhf-gold); }
.vhf-nav__list .is-request { margin-left: 0.75rem; padding-left: 0.75rem; border-left: 1px solid var(--vhf-line-2); }
.vhf-nav__list .is-request .vhf-nav__link { color: var(--vhf-link); }
.vhf-nav__toggle { display: none; }

@media (max-width: 1023px) {
	.vhf-header__inner { min-height: 4.5rem; }
	.vhf-brand__seal { width: 40px; height: 40px; }
	.vhf-brand__name { font-size: 1rem; }
	.vhf-nav__toggle {
		display: inline-flex; align-items: center; gap: 0.6rem; min-height: 44px; padding: 0 0.9rem;
		background: transparent; border: 1px solid var(--vhf-line-2); color: var(--vhf-navy);
		font: 500 1rem var(--vhf-sans); cursor: pointer;
	}
	.vhf-nav__toggle .vhf-burger { width: 16px; height: 11px; position: relative; display: inline-block; }
	.vhf-nav__toggle .vhf-burger::before, .vhf-nav__toggle .vhf-burger::after, .vhf-nav__toggle .vhf-burger span {
		content: ""; position: absolute; left: 0; right: 0; height: 1.5px; background: currentColor;
	}
	.vhf-nav__toggle .vhf-burger::before { top: 0; }
	.vhf-nav__toggle .vhf-burger span { top: 4.75px; }
	.vhf-nav__toggle .vhf-burger::after { bottom: 0; }
	.vhf-nav__list {
		display: none; position: absolute; left: 0; right: 0; top: 100%;
		flex-direction: column; align-items: stretch; gap: 0;
		background: var(--vhf-paper); border-bottom: 2px solid var(--vhf-navy); padding: 0.5rem var(--vhf-gutter) 1rem;
	}
	.vhf-nav.is-open .vhf-nav__list { display: flex; }
	.vhf-nav__list li { border-bottom: 1px solid var(--vhf-line); }
	.vhf-nav__link { font-family: var(--vhf-serif); font-size: 1.25rem; font-weight: 400; padding: 0.4rem 0; min-height: 52px; width: 100%; }
	.vhf-nav__link[aria-current="page"]::after { left: 0; right: auto; width: 2rem; bottom: 8px; }
	.vhf-nav__list .is-request { margin: 0; padding: 0; border-left: 0; border-bottom: 0; }
}

/* --------------------------------------------------------------------------
   Home masthead: navy, words on the left, the seal on the right, the live site's skyline as a faint print.
   -------------------------------------------------------------------------- */
.vhf-mast { position: relative; background: var(--vhf-navy); color: #fff; overflow: hidden; isolation: isolate; }
.vhf-mast::before {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0.16; filter: grayscale(1) contrast(1.1);
	background: url("/wp-content/uploads/2024/05/florida-opac-1536x804.jpg") center 60% / cover no-repeat;
	background-image: image-set(url("/wp-content/uploads/2024/05/florida-opac-1536x804.webp") type("image/webp"), url("/wp-content/uploads/2024/05/florida-opac-1536x804.jpg") type("image/jpeg"));
	mix-blend-mode: luminosity;
}
@media (max-width: 600px) {
	.vhf-mast::before {
		background-image: url("/wp-content/uploads/2024/05/florida-opac-1024x536.jpg");
		background-image: image-set(url("/wp-content/uploads/2024/05/florida-opac-1024x536.webp") type("image/webp"), url("/wp-content/uploads/2024/05/florida-opac-1024x536.jpg") type("image/jpeg"));
	}
}
.vhf-mast::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--vhf-gold); }
.vhf-mast__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; align-items: center; padding-block: clamp(3rem, 8vw, 6.5rem); }
.vhf-mast__hebrew { font-family: var(--vhf-hebrew); font-size: clamp(1.375rem, 1.2rem + 0.8vw, 1.875rem); color: var(--vhf-gold-pale); margin: 0 0 1.1rem; line-height: 1.3; text-align: left; }
.vhf-mast__name { color: #fff; font-size: clamp(2.25rem, 1.5rem + 2.6vw, 3.875rem); line-height: 1.06; letter-spacing: -0.012em; }
.vhf-mast__name span { display: block; }
@media (min-width: 1100px) { .vhf-mast__name span { white-space: nowrap; } }
.vhf-mast__rule { width: 4.5rem; height: 1px; background: var(--vhf-gold); margin: 1.75rem 0 1.5rem; border: 0; }
.vhf-mast__tagline { font-family: var(--vhf-serif); font-style: italic; font-size: clamp(1.1875rem, 1.05rem + 0.6vw, 1.5rem); line-height: 1.5; color: var(--vhf-on-navy); max-width: 30em; margin: 0; }
.vhf-mast__seal { width: clamp(9rem, 22vw, 18.5rem); height: auto; }
@media (min-width: 900px) {
	.vhf-mast__grid { grid-template-columns: minmax(0, 1fr) auto; gap: 4rem; }
	.vhf-mast__seal { justify-self: end; }
}
@media (max-width: 899px) {
	.vhf-mast__seal { order: -1; width: 7.5rem; }
}

/* --------------------------------------------------------------------------
   Home: the eight matters of the mission, as a ruled list.
   -------------------------------------------------------------------------- */
.vhf-matters__intro { margin: 0 0 1rem; color: var(--vhf-ink-2); }
.vhf-matters__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 3rem; }
.vhf-matters__list li { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 0.85rem 0; border-bottom: 1px solid var(--vhf-line); }
.vhf-matters__term { font-family: var(--vhf-serif); font-size: 1.375rem; color: var(--vhf-navy); line-height: 1.25; }
.vhf-matters__gloss { color: var(--vhf-ink-2); font-size: var(--vhf-fs-small); text-align: right; }
.vhf-more { margin-top: 2rem; }
@media (min-width: 700px) { .vhf-matters__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* --------------------------------------------------------------------------
   Home: Rabbinical Council. The three offices in one ruled row; then the affiliates: map and register.
   -------------------------------------------------------------------------- */
.vhf-council { background: var(--vhf-paper-2); border-top: 1px solid var(--vhf-line-2); border-bottom: 1px solid var(--vhf-line-2); }
.vhf-sec + .vhf-council { padding-top: var(--vhf-section); }
.vhf-council + .vhf-sec { padding-block: var(--vhf-section-s) var(--vhf-section); }
.vhf-leaders { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); }
.vhf-leader { padding: 1.1rem 0 1.4rem; border-bottom: 1px solid var(--vhf-line-2); }
.vhf-leader__office { display: block; font-size: 0.875rem; font-weight: 600; color: var(--vhf-gold-text); margin-bottom: 0.4rem; letter-spacing: 0.01em; }
.vhf-leader__name { font-family: var(--vhf-serif); font-size: var(--vhf-fs-name); line-height: 1.2; color: var(--vhf-navy); margin: 0 0 0.45rem; }
.vhf-leader__role { color: var(--vhf-ink-2); font-size: var(--vhf-fs-small); line-height: 1.5; margin: 0; }
@media (min-width: 700px) {
	.vhf-leaders { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vhf-leader { padding: 0.25rem 1.75rem 0.5rem; border-bottom: 0; border-left: 1px solid var(--vhf-line-2); }
	.vhf-leader:first-child { padding-left: 0; border-left: 0; }
}
@media (min-width: 900px) { .vhf-leaders { border-top: 0; } }

.vhf-affil { margin-top: var(--vhf-section-s); }
.vhf-affil__title { font-size: 1.375rem; margin: 0 0 1.5rem; padding-bottom: 0.9rem; border-bottom: 1px solid var(--vhf-navy); }
.vhf-affil__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
@media (min-width: 1000px) { .vhf-affil__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 4rem; align-items: start; } }
.vhf-map { width: 100%; height: auto; display: block; max-width: 40rem; }
@media (min-width: 1000px) { .vhf-affil__map { position: sticky; top: 2rem; } }
@media (max-width: 600px) { .vhf-map .m-n, .vhf-map .m-t { font-size: 21px; } }
.vhf-map .m-land { fill: #fff; stroke: var(--vhf-navy); stroke-width: 1; stroke-linejoin: round; }
.vhf-map .m-dot { fill: var(--vhf-gold); stroke: var(--vhf-navy); stroke-width: 1.25; }
.vhf-map .m-lead { fill: none; stroke: var(--vhf-ink-2); stroke-width: 0.75; }
.vhf-map .m-n { font: 600 15px var(--vhf-sans); fill: var(--vhf-gold-text); }
.vhf-map .m-t { font: 400 15px var(--vhf-sans); fill: var(--vhf-ink); }
.vhf-roster { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.vhf-roster li { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); column-gap: 0.75rem; padding: 0.95rem 0; border-bottom: 1px solid var(--vhf-line-2); }
.vhf-roster li:first-child { padding-top: 0.4rem; }
.vhf-roster__n { font-size: 0.875rem; font-weight: 600; color: var(--vhf-gold-text); line-height: 1.9; }
.vhf-roster__city { display: block; font-size: 0.9375rem; font-weight: 500; color: var(--vhf-ink-2); margin-bottom: 0.15rem; }
.vhf-roster__names { font-family: var(--vhf-serif); font-size: 1.3125rem; line-height: 1.35; color: var(--vhf-navy); margin: 0; }
.vhf-roster__city, .vhf-roster__names { grid-column: 2; }
.vhf-roster__n { grid-row: 1 / span 2; }
@media (min-width: 600px) {
	.vhf-roster li { grid-template-columns: 2rem 13.5rem minmax(0, 1fr); }
	.vhf-roster__city { margin: 0; line-height: 1.9; }
	.vhf-roster__names { grid-column: 3; grid-row: 1; }
	.vhf-roster__n { grid-row: 1; }
}

/* Home: the two ways onward (establishments; request to apply). */
.vhf-onward { display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--vhf-line-2); }
.vhf-onward > div { padding: 1.5rem 0; border-bottom: 1px solid var(--vhf-line-2); }
.vhf-onward p { margin: 0.25rem 0 0; color: var(--vhf-ink-2); font-size: var(--vhf-fs-small); }
@media (min-width: 700px) {
	.vhf-onward { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vhf-onward > div + div { border-left: 1px solid var(--vhf-line-2); padding-left: 2rem; }
}

/* --------------------------------------------------------------------------
   Inner pages: a plain title band, then the page.
   -------------------------------------------------------------------------- */
.vhf-page__title { background: var(--vhf-paper); }
.vhf-page__title .vhf-wrap { padding-top: var(--vhf-section-s); padding-bottom: clamp(2rem, 4vw, 3rem); }
.vhf-page__title h1 { max-width: 18em; }
.vhf-page__title .vhf-wrap::after { content: ""; display: block; width: 4.5rem; height: 1px; background: var(--vhf-gold); margin-top: 1.5rem; }
.vhf-page__body { padding-bottom: var(--vhf-section); }
.vhf-page__body > .vhf-wrap > .wp-block-post-content > *:first-child { margin-top: 0; }

/* About Us */
@media (max-width: 899px) { .vhf-about .vhf-sec__grid { gap: 1.5rem; } }
.vhf-about .vhf-lead { margin-bottom: 2rem; }
.vhf-about__matters { list-style: none; margin: 1rem 0 2.5rem; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 2.5rem; border-top: 1px solid var(--vhf-line-2); }
.vhf-about__matters li { padding: 0.8rem 0; border-bottom: 1px solid var(--vhf-line); font-family: var(--vhf-serif); font-size: 1.1875rem; color: var(--vhf-navy); }
.vhf-about__matters li span { font-family: var(--vhf-sans); font-size: var(--vhf-fs-small); color: var(--vhf-ink-2); margin-left: 0.35rem; }
@media (min-width: 700px) { .vhf-about__matters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.vhf-about .vhf-prose p { max-width: var(--vhf-prose); }

/* Establishments: a directory, one ruled row each. */
.vhf-register { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--vhf-navy); }
.vhf-est { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.35rem; padding: 1.35rem 0; border-bottom: 1px solid var(--vhf-line-2); }
.vhf-est__name { font-size: 1.5rem; line-height: 1.25; }
.vhf-est__addr { margin: 0; color: var(--vhf-ink-2); font-size: var(--vhf-fs-small); line-height: 1.55; }
.vhf-est__site { justify-self: start; display: inline-block; padding: 0.7rem 0; margin: -0.7rem 0; font-size: var(--vhf-fs-small); word-break: break-word; }
@media (min-width: 800px) {
	.vhf-est { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; align-items: baseline; padding: 1.5rem 0; }
	.vhf-est__addr { grid-column: 2; }
	.vhf-est__site { grid-column: 3; }
}

/* Contact: the form, and beside it the addresses. */
.vhf-contact { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem; }
@media (min-width: 900px) { .vhf-contact { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 5rem; } }
.vhf-aside { border-top: 2px solid var(--vhf-navy); }
.vhf-aside__item { padding: 1.1rem 0 1.25rem; border-bottom: 1px solid var(--vhf-line-2); }
.vhf-aside__item h2 { font-size: 1.3125rem; margin: 0 0 0.35rem; }
.vhf-aside__item p { margin: 0; color: var(--vhf-ink-2); font-size: var(--vhf-fs-small); }
.vhf-aside__item p + p { margin-top: 0.35rem; }
.vhf-aside__item a { font-size: 1.0625rem; }

/* Fluent Forms (Contact form 1): flat fields, ruled, navy submit. */
.vhf-form { max-width: 40rem; }
.fluentform .ff-el-group { margin-bottom: 1.25rem; }
.fluentform .ff-el-input--label label { font-weight: 500; font-size: 1rem; color: var(--vhf-navy); margin-bottom: 0.4rem; display: inline-block; }
.fluentform .ff-el-is-required.asterisk-right label::after, .fluentform .ff-el-is-required.asterisk-right label:after, .fluentform .ff-el-is-required .ff-el-input--label label::after { color: var(--vhf-ink-2) !important; }
.fluentform .ff-el-form-control {
	width: 100%; min-height: 3rem; padding: 0.65rem 0.9rem; border: 1px solid var(--vhf-line-2); border-radius: 0;
	background: #fff; color: var(--vhf-ink); font: 400 1rem var(--vhf-sans); line-height: 1.4; box-shadow: none;
}
.fluentform textarea.ff-el-form-control { min-height: 9rem; resize: vertical; }
.fluentform .ff-el-form-control::placeholder { color: #8a94a3; }
.fluentform .ff-el-form-control:focus { outline: none; border-color: var(--vhf-navy); box-shadow: 0 0 0 1px var(--vhf-navy); }
.fluentform .ff-t-container { display: flex; gap: 1rem; }
.fluentform .ff-t-cell { flex: 1 1 0; }
.fluentform .ff_submit_btn_wrapper { margin-bottom: 0; margin-top: 0.5rem; }
.fluentform .ff_submit_btn_wrapper .ff-btn-submit {
	min-height: 3rem; padding: 0 2rem; border: 1px solid var(--vhf-navy) !important; border-radius: 0;
	background: var(--vhf-navy) !important; color: #fff !important; font: 500 1rem var(--vhf-sans); cursor: pointer;
}
.fluentform .ff_submit_btn_wrapper .ff-btn-submit:hover { background: var(--vhf-navy-2) !important; border-color: var(--vhf-navy-2) !important; }
.fluentform .ff-btn-submit:focus-visible { outline: 2px solid var(--vhf-blue); outline-offset: 3px; }
.fluentform .ff-message-success { border: 0; border-top: 2px solid var(--vhf-navy); background: var(--vhf-paper-2); padding: 1.25rem 1.5rem; font-family: var(--vhf-serif); font-size: 1.125rem; color: var(--vhf-navy); }
.fluentform .error, .fluentform .ff-el-is-error .text-danger { color: #a22d2d; font-size: 1rem; }
@media (max-width: 600px) {
	.fluentform .ff-t-container { flex-direction: column; gap: 0; }
	.fluentform .ff-btn-submit { width: 100%; }
}

/* Not found */
.vhf-page .wp-block-search { max-width: 32rem; margin-top: 1.5rem; }
.vhf-page .wp-block-search__inside-wrapper { display: flex; gap: 0.5rem; }
.vhf-page .wp-block-search__input { flex: 1 1 auto; min-height: 3rem; padding: 0.5rem 0.9rem; border: 1px solid var(--vhf-line-2); border-radius: 0; background: #fff; font: 400 1rem var(--vhf-sans); color: var(--vhf-ink); }
.vhf-page .wp-block-search__button { min-height: 3rem; padding: 0 1.25rem; border: 1px solid var(--vhf-navy); border-radius: 0; background: var(--vhf-navy); color: #fff; font: 500 1rem var(--vhf-sans); cursor: pointer; }
.vhf-page .wp-block-search__label { font-weight: 500; color: var(--vhf-navy); margin-bottom: 0.4rem; display: block; }

/* Plugin pages (request, apply, portal, check) sit in the same page body; give them the prose measure's neighbour. */
.vhf-page__body .vhfr, .vhf-page__body .vhfp { max-width: 48rem; }
.vhf-page__body .vhfr { margin-left: 0; }
.vhf-page__body .vhfr-head { text-align: left; margin-bottom: 1.5rem; }
.vhf-page__body .vhfr-org { font: 500 1rem/1.5 var(--vhf-sans); letter-spacing: 0; text-transform: none; color: var(--vhf-ink-2); margin-top: 0 !important; }
.vhf-page__body .vhfr-hebrew { text-align: left; margin-bottom: 0.25rem; }

/* --------------------------------------------------------------------------
   Footer: navy under a gold hairline. Seal, Hebrew and English name; the pages; the office address.
   -------------------------------------------------------------------------- */
.vhf-footer { background: var(--vhf-navy); color: var(--vhf-on-navy); border-top: 1px solid var(--vhf-gold); }
.vhf-footer a { color: #fff; text-decoration-color: rgba(255, 255, 255, 0.35); }
.vhf-footer a:hover { color: #fff; text-decoration-color: #fff; }
.vhf-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; padding-block: clamp(3rem, 6vw, 4.5rem) 2rem; }
.vhf-footer__brand { display: flex; gap: 1.1rem; align-items: center; }
.vhf-footer__seal { width: 72px; height: 72px; flex: none; }
.vhf-footer__name { font-family: var(--vhf-serif); font-size: 1.1875rem; line-height: 1.35; color: #fff; margin: 0; max-width: 17em; }
.vhf-footer__hebrew { display: block; font-family: var(--vhf-hebrew); color: var(--vhf-gold-pale); font-size: 1.0625rem; margin-bottom: 0.2rem; text-align: left; }
.vhf-footer__nav ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
.vhf-footer__nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; font-size: 0.9375rem; }
.vhf-footer__nav a:hover { text-decoration: underline; }
.vhf-footer__contact a { display: inline-flex; align-items: center; min-height: 44px; font-size: 1rem; }
.vhf-footer__base { border-top: 1px solid rgba(255, 255, 255, 0.14); padding-block: 1.25rem 1.75rem; margin-top: 0; font-size: 0.9375rem; color: rgba(255, 255, 255, 0.72); }
@media (min-width: 900px) {
	.vhf-footer__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 0.8fr); gap: 3rem; align-items: start; }
	.vhf-footer__nav ul { grid-template-columns: repeat(2, max-content); column-gap: 2.5rem; }
}

/* Old WordPress block chrome the parent theme would add between parts. */
.wp-block-template-part { margin: 0; }

/* Phones: nothing under 16 px; every tap target at least 44 px. */
.vhf-footer__nav a { min-width: 44px; }
@media (max-width: 600px) {
	.vhf-roster__city, .vhf-footer__nav a, .vhf-footer__base, .vhf-leader__office { font-size: 1rem; }
}
