/* ==========================================================================
   BHASNet Contact Form
   Inherits the theme's CSS custom properties where available, with
   fallback values so the form is legible/on-brand even if the
   BHASNet theme isn't the active theme.
   ========================================================================== */

.bhc-form-wrap {
  --bhc-ink: var(--bh-ink, #0B0B0E);
  --bhc-paper: var(--bh-paper, #F7F3EE);
  --bhc-red: var(--bh-red, #D7263D);
  --bhc-slate: var(--bh-slate, #5C6470);
  --bhc-line: var(--bh-line-dark, rgba(11,11,14,0.12));
  --bhc-font-body: var(--bh-font-body, 'Inter', sans-serif);
  --bhc-font-mono: var(--bh-font-mono, 'IBM Plex Mono', monospace);

  font-family: var(--bhc-font-body);
  color: var(--bhc-ink);
  max-width: 560px;
}
.bhc-form-wrap * { box-sizing: border-box; }

.bhc-success {
  background: var(--bhc-ink);
  color: var(--bhc-paper);
  padding: 1.5rem;
  font-size: 0.95rem;
  line-height: 1.5;
}
.bhc-success strong {
  display: block;
  font-family: var(--bhc-font-mono);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.8rem;
  color: var(--bhc-red);
  margin-bottom: 0.5rem;
}

.bhc-error {
  background: var(--bhc-red);
  color: var(--bhc-paper);
  padding: 0.85rem 1.1rem;
  font-size: 0.88rem;
  margin-bottom: 1.25rem;
}

.bhc-form { display: flex; flex-direction: column; gap: 1.1rem; }

.bhc-field { display: flex; flex-direction: column; gap: 0.4rem; }
.bhc-field label {
  font-family: var(--bhc-font-mono);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--bhc-slate);
}
.bhc-field input, .bhc-field textarea {
  font-family: var(--bhc-font-body);
  font-size: 1rem;
  padding: 0.8em 1em;
  border: 1px solid var(--bhc-line);
  background: var(--bhc-paper);
  color: var(--bhc-ink);
  border-radius: 2px;
}
.bhc-field input:focus-visible, .bhc-field textarea:focus-visible {
  outline: 2px solid var(--bhc-red);
  outline-offset: 2px;
}
.bhc-field textarea { min-height: 140px; resize: vertical; }

/* Honeypot — invisible to sighted users, never receives focus, and
   removed from the accessibility tree via aria-hidden on its wrapper.
   Positioned off-screen rather than display:none, since some spam
   bots specifically skip display:none fields. */
.bhc-honeypot {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.bhc-btn {
  align-self: flex-start;
  font-family: var(--bhc-font-mono);
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  padding: 0.85em 1.8em;
  background: var(--bhc-ink);
  color: var(--bhc-paper);
  border: 1px solid var(--bhc-ink);
  border-radius: 2px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.bhc-btn:hover { background: var(--bhc-red); border-color: var(--bhc-red); }
.bhc-btn:focus-visible { outline: 2px solid var(--bhc-red); outline-offset: 3px; }
