/* forms.css — contact form, select, midnight-accented */

/* Hide the default reCAPTCHA v3 badge — Google permits this if the branding
 * "This site is protected by reCAPTCHA…" is shown inline in the form area. */
.grecaptcha-badge { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }

/* Inline reCAPTCHA branding — replaces the hidden badge */
.wh-recaptcha-branding {
  font-family: var(--f-body);
  font-size: 12px;
  color: var(--c-ink-muted);
  line-height: 1.5;
  margin-top: var(--space-item);
  max-width: 52ch;
}
.wh-recaptcha-branding a {
  color: var(--c-ink-muted);
  border-bottom: 1px solid transparent;
}
.wh-recaptcha-branding a:hover {
  color: var(--c-accent);
  border-bottom-color: var(--c-accent);
}

.wh-form { max-width: 560px; }
.wh-form-field { margin-bottom: 20px; }
.wh-form-field label {
  display: block;
  font-family: var(--f-body);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--c-ink-muted);
  margin-bottom: 6px;
}
.wh-form-field input[type=text],
.wh-form-field input[type=email],
.wh-form-field select,
.wh-form-field textarea {
  width: 100%;
  font-family: var(--f-body);
  font-size: 15px;
  color: var(--c-ink);
  background: var(--c-paper);
  border: 1px solid var(--c-stone);
  border-radius: var(--r-sm);
  padding: 12px 14px;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.wh-form-field input:focus,
.wh-form-field select:focus,
.wh-form-field textarea:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px var(--c-focus-ring);
}
.wh-form-field textarea { min-height: 140px; resize: vertical; }

.wh-form-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--c-ink); }
.wh-form-check input { margin-top: 3px; }
.wh-form-check a { color: var(--c-accent); }

.wh-form-status { margin-top: var(--space-item); }
.wh-form-success {
  padding: 12px 16px; border: 1px solid var(--c-success);
  color: var(--c-success); border-radius: var(--r-sm); font-size: 14px;
}

.wh-contact-grid {
  display: grid; gap: var(--gutter);
  grid-template-columns: 1.2fr 1fr;
}
@media (max-width: 900px) {
  .wh-contact-grid { grid-template-columns: 1fr; }
}
.wh-contact-direct { font-family: var(--f-body); font-size: 15px; color: var(--c-ink); }
.wh-contact-direct dt { font-weight: 600; text-transform: uppercase; font-size: 12px; letter-spacing: 0.1em; color: var(--c-accent); margin-top: 16px; }
.wh-contact-direct dd { margin: 4px 0 0; }

/* Subscribe form (/quarterly/) */
.wh-subscribe-form { display: flex; gap: 12px; align-items: stretch; margin-top: 20px; flex-wrap: wrap; }
.wh-subscribe-form input[type=email] {
  flex: 1; min-width: 220px;
  font-family: var(--f-body); font-size: 15px;
  padding: 12px 14px; border: 1px solid var(--c-stone);
  border-radius: var(--r-sm); background: var(--c-paper);
}
.wh-subscribe-form .wh-btn { padding: 12px 24px; }
