/* VHFRA New Affiliate Request Form, on the theme's own tokens (style.css :root): Cardo headings, Inter text, navy. */
.vhfr { color: var(--vhf-ink, #1b2232); max-width: 46rem; margin: 0 auto; }
.vhfr p { margin: 0; }
.vhfr-head { text-align: center; margin-bottom: 1.75rem; }
.vhfr-hebrew { font-family: var(--vhf-serif, Cardo, serif); color: var(--vhf-ink-2, #515a6a); font-size: .9rem; text-align: right; }
.vhfr-org { font: 600 .78rem/1.4 var(--vhf-sans, Inter, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: var(--vhf-ink-2, #515a6a); margin-top: .5rem !important; }
.vhfr-title { font-family: var(--vhf-serif, Cardo, serif); font-weight: 400; color: var(--vhf-navy, #0b1f3f); font-size: clamp(1.6rem, 5vw, 2.1rem); line-height: 1.2; margin: .35rem 0 0; }
.vhfr-intro { background: #fbf7ea; border-left: 3px solid var(--vhf-gold, #b08d3c); padding: 1rem 1.15rem; line-height: 1.6; margin-bottom: 1.75rem; }
.vhfr-intro p + p { margin-top: .6rem; }
.vhfr-form { display: grid; gap: 1.1rem; }
.vhfr-sec { font-family: var(--vhf-serif, Cardo, serif); font-weight: 400; color: var(--vhf-navy, #0b1f3f); font-size: 1.3rem; margin: 0; padding-bottom: .4rem; border-bottom: 1px solid var(--vhf-line-cool, #dde3ec); }
.vhfr-grid { display: grid; gap: 1.1rem; }
@media (min-width: 640px) {
	.vhfr-grid--2 { grid-template-columns: 1fr 1fr; }
	.vhfr-grid--3 { grid-template-columns: 2fr 1fr 1fr; }
	.vhfr-grid--3:has(.vhfr-f--email) { grid-template-columns: 1.4fr 1fr 1fr; }
}
.vhfr-f { display: grid; gap: .35rem; min-width: 0; margin: 0; padding: 0; border: 0; }
.vhfr-f label, .vhfr-f legend { font: 500 .92rem/1.45 var(--vhf-sans, Inter, sans-serif); color: var(--vhf-ink, #1b2232); padding: 0; }
.vhfr-req { color: #a3271e; }
.vhfr-f input[type=text], .vhfr-f input[type=email], .vhfr-f input[type=tel], .vhfr-f textarea {
	width: 100%; box-sizing: border-box; font: 400 1rem/1.4 var(--vhf-sans, Inter, sans-serif); color: inherit;
	padding: .65rem .75rem; border: 1px solid #c4ccd8; border-radius: 4px; background: #fff;
}
.vhfr-f textarea { resize: vertical; min-height: 6rem; }
.vhfr-f input:focus, .vhfr-f textarea:focus { outline: 2px solid var(--vhf-navy, #0b1f3f); outline-offset: 1px; border-color: var(--vhf-navy, #0b1f3f); }
.vhfr-yn { display: flex; gap: 1.5rem; padding-top: .2rem; }
.vhfr-yn label { display: inline-flex; align-items: center; gap: .4rem; font-weight: 400; }
.vhfr-yn input { width: 1.1rem; height: 1.1rem; accent-color: var(--vhf-navy, #0b1f3f); }
.vhfr-letter { background: #f5f7fa; border: 1px dashed #c4ccd8; border-radius: 4px; padding: 1rem; }
.vhfr-letter label { font-weight: 600; }
.vhfr-letter input[type=file] { font: 400 .95rem var(--vhf-sans, Inter, sans-serif); max-width: 100%; }
.vhfr-help { font-size: .86rem; color: var(--vhf-ink-2, #515a6a); line-height: 1.5; }
.vhfr-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vhfr-btn { justify-self: start; background: var(--vhf-navy, #0b1f3f); color: #fff; border: 0; border-radius: 4px; padding: .8rem 1.6rem; font: 600 1rem var(--vhf-sans, Inter, sans-serif); cursor: pointer; }
.vhfr-btn:hover, .vhfr-btn:focus-visible { background: #16325e; }
.vhfr-alert { padding: .85rem 1rem; border-radius: 4px; margin-bottom: 1.5rem !important; line-height: 1.5; }
.vhfr-alert--ok { background: #e5f1e9; color: #1f6b43; }
.vhfr-alert--bad { background: #f8e3e0; color: #a3271e; }
@media (max-width: 639px) { .vhfr-btn { justify-self: stretch; } }

/* 1.1.0: the request to apply, and the note /apply shows without a valid personal link. */
.vhfr--rta { max-width: 38rem; }
.vhfr-lead { line-height: 1.65; margin-bottom: 1.75rem; }
.vhfr-lead p + p { margin-top: .75rem !important; }
.vhfr-lead p:first-child { font-family: var(--vhf-serif, Cardo, serif); color: var(--vhf-navy, #0b1f3f); font-size: 1.2rem; line-height: 1.45; }
.vhfr-gate { max-width: 36rem; margin: 0 auto; padding: 1.5rem 0 .5rem; border-top: 1px solid var(--vhf-gold, #b08d3c); line-height: 1.65; }
.vhfr-gate p + p { margin-top: 1.25rem !important; }
a.vhfr-btn { display: inline-block; text-decoration: none; }
a.vhfr-btn:hover, a.vhfr-btn:focus-visible { color: #fff; }
