/* ==========================================================================
   RR Forms Service — form partial styles
   Themeable via CSS custom properties. Override these on the host site to
   match its skin; nothing here hardcodes a brand.
   ========================================================================== */
.rrf {
  --rrf-accent:      #1f6feb;
  --rrf-accent-ink:  #ffffff;
  --rrf-ink:         #1a1a1a;
  --rrf-muted:       #666;
  --rrf-border:      #d0d0d7;
  --rrf-bg:          #ffffff;
  --rrf-radius:      10px;
  --rrf-error:       #b3261e;
  --rrf-ok:          #137333;
  font: 16px/1.5 -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--rrf-ink);
  max-width: 520px;
}
.rrf * { box-sizing: border-box; }
.rrf-field { margin: 0 0 14px; }
.rrf-field label { display: block; font-weight: 600; margin-bottom: 5px; font-size: 14px; }
.rrf-field input, .rrf-field textarea {
  width: 100%; padding: 11px 12px; font: inherit;
  border: 1px solid var(--rrf-border); border-radius: var(--rrf-radius);
  background: var(--rrf-bg); color: var(--rrf-ink);
}
.rrf-field textarea { min-height: 96px; resize: vertical; }
.rrf-field input:focus, .rrf-field textarea:focus {
  outline: 2px solid var(--rrf-accent); outline-offset: 1px; border-color: var(--rrf-accent);
}
/* honeypot — visually and mechanically hidden from humans */
.rrf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rrf-turnstile { margin: 0 0 14px; min-height: 0; }
.rrf-btn {
  appearance: none; border: 0; cursor: pointer;
  background: var(--rrf-accent); color: var(--rrf-accent-ink);
  font: 600 16px/1 inherit; padding: 14px 20px; border-radius: var(--rrf-radius); width: 100%;
}
.rrf-btn[disabled] { opacity: .6; cursor: default; }
.rrf-status { margin-top: 12px; font-size: 14px; min-height: 1.2em; }
.rrf-status.is-error { color: var(--rrf-error); }
.rrf-status.is-ok { color: var(--rrf-ok); }
.rrf-success, .rrf-fallback { display: none; padding: 16px; border-radius: var(--rrf-radius); }
.rrf-success { background: #e7f5ec; color: var(--rrf-ok); }
.rrf-fallback { background: #fdf0ee; color: var(--rrf-ink); border: 1px solid #f3c9c2; }
.rrf-fallback a { color: var(--rrf-accent); font-weight: 700; text-decoration: none; }
.rrf.is-done .rrf-form { display: none; }
.rrf.is-done .rrf-success { display: block; }
.rrf.is-fallback .rrf-form { display: none; }
.rrf.is-fallback .rrf-fallback { display: block; }
