/* Shared bits (both variants) */
.sf-form .sf-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.sf-form .sf-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.sf-form .cf-turnstile { min-height: 65px; margin: 0 0 1rem; }
.sf-form [aria-invalid="true"] { outline: 2px solid #c0392b; outline-offset: 1px; }
.sf-form .sf-status { margin: 1rem 0 0; padding: 10px 12px; border-radius: 4px; font-size: .95em; }
.sf-form .sf-status:empty { display: none; }
.sf-form .sf-status.sf-ok { background: #e7f6ec; color: #1e6b36; border: 1px solid #b6e0c3; }
.sf-form .sf-status.sf-err { background: #fdecea; color: #8a1f11; border: 1px solid #f5c2bb; }
.sf-form button[disabled] { opacity: .6; cursor: progress; }
.sf-native .ed-form-input > input, .sf-native .ed-form-email > input, .sf-native .ed-form-phone > input, .sf-native .ed-form-textarea > textarea { width: 100%; }

/* Standalone variant (WordPress and pages without builder form styles) posting to the shared site-forms Worker. Colours inherit from the page;
   per-site accent comes from --sf-accent / --sf-accent-text set on the form. */
.sf-form:not(.sf-native) { --sf-accent: #222; --sf-accent-text: #fff; --sf-border: rgba(0,0,0,.25); display: grid; gap: 14px; width: 100%; max-width: 640px; margin: 0 auto; font: inherit; color: inherit; text-align: left; box-sizing: border-box; }
.sf-form:not(.sf-native) *, .sf-form:not(.sf-native) *::before, .sf-form:not(.sf-native) *::after { box-sizing: border-box; }
.sf-form:not(.sf-native) .sf-row { display: grid; gap: 6px; }
.sf-form:not(.sf-native) .sf-row-2 { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
@media (max-width: 560px) { .sf-form:not(.sf-native) .sf-row-2 { grid-template-columns: 1fr; } }
.sf-form:not(.sf-native) label { font-size: .95em; font-weight: 600; }
.sf-form:not(.sf-native) input, .sf-form:not(.sf-native) textarea { width: 100%; font: inherit; color: #222; background: #fff; border: 1px solid var(--sf-border); border-radius: 4px; padding: 10px 12px; margin: 0; }
.sf-form:not(.sf-native) textarea { min-height: 140px; resize: vertical; }
.sf-form:not(.sf-native) input:focus, .sf-form:not(.sf-native) textarea:focus { outline: 2px solid var(--sf-accent); outline-offset: 1px; }
.sf-form:not(.sf-native) button[type="submit"] { justify-self: start; font: inherit; font-weight: 600; cursor: pointer; border: 0; border-radius: 4px; padding: 12px 28px; background: var(--sf-accent); color: var(--sf-accent-text); }
