.ow-form {
  --ow-brand: #1B1B18;
  --ow-accent: #F10E0B;
  --ow-border: #e5e7eb;
  max-width: 640px;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
.ow-field { display: flex; flex-direction: column; gap: .4rem; }
.ow-field label { font-weight: 600; font-size: .9rem; color: var(--ow-brand); }
.ow-field .ow-req { color: var(--ow-accent); }
.ow-form input[type="text"],
.ow-form input[type="email"],
.ow-form input[type="tel"],
.ow-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: .8rem .9rem;
  border: 1px solid var(--ow-border);
  border-radius: .6rem;
  font: inherit;
  color: var(--ow-brand);
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.ow-form input:focus,
.ow-form textarea:focus {
  outline: none;
  border-color: var(--ow-brand);
  box-shadow: 0 0 0 3px rgba(27,27,24,.08);
}
.ow-form textarea { resize: vertical; min-height: 130px; }

.ow-consent { display: flex; align-items: flex-start; gap: .55rem; font-size: .85rem; color: #444; line-height: 1.45; }
.ow-consent input { margin-top: .15rem; }
.ow-consent a { color: var(--ow-accent); text-decoration: underline; }

/* Honeypot — visually + a11y hidden, but not display:none (some bots skip those) */
.ow-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.ow-actions { margin-top: .25rem; }
.ow-submit.is-busy { opacity: .65; cursor: progress; }

.ow-status { margin: .25rem 0 0; font-size: .9rem; min-height: 1.2em; }
.ow-status--success { color: #15803d; font-weight: 600; }
.ow-status--error { color: var(--ow-accent); font-weight: 600; }

.ow-privacy-note { margin: .1rem 0 0; font-size: .72rem; color: #9ca3af; }
.ow-privacy-note a { color: #9ca3af; text-decoration: underline; }
