.sacf-form { --sacf-brand: var(--brand, #08736a); --sacf-ink: var(--ink, #102a43); --sacf-line: var(--line, #d9e2ec); display: grid; gap: 1.1rem; }
.sacf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.sacf-field { display: flex; flex-direction: column; gap: .4rem; }
.sacf-field--full { grid-column: 1 / -1; }
.sacf-form label, .sacf-form legend { color: var(--sacf-ink); font-size: .92rem; font-weight: 800; }
.sacf-form input[type="text"], .sacf-form input[type="email"], .sacf-form select, .sacf-form textarea { width: 100%; min-height: 48px; padding: .7rem .8rem; color: var(--sacf-ink); background: #fff; border: 1px solid #bcccdc; border-radius: 9px; }
.sacf-form textarea { min-height: 220px; line-height: 1.55; resize: vertical; }
.sacf-form input:focus, .sacf-form select:focus, .sacf-form textarea:focus, .sacf-form button:focus-visible { outline: 3px solid rgba(239, 169, 40, .8); outline-offset: 3px; border-color: var(--sacf-brand); }
.sacf-form small, .sacf-required-note { color: #52677c; }
.sacf-required-note { margin: 0; font-size: .88rem; }
.sacf-required-note > span { color: #b42318; font-weight: 800; }
.sacf-other { display: grid; gap: .4rem; margin-top: .35rem; padding: .8rem; background: #f5f9f8; border-left: 3px solid var(--sacf-brand); border-radius: 0 8px 8px 0; }
.sacf-other[hidden] { display: none; }
.sacf-conditional-note { color: #52677c; font-size: .82rem; font-weight: 600; }
.sacf-trap { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.sacf-notice { padding: 1rem 1.1rem; margin-bottom: 1rem; border-radius: 10px; font-weight: 700; }
.sacf-notice--success { color: #067647; background: #ecfdf3; border: 1px solid #abefc6; }
.sacf-notice--error { color: #b42318; background: #fef3f2; border: 1px solid #fecdca; }
.sacf-submit { justify-self: start; }
.sacf-submit[disabled] { cursor: wait; opacity: .65; }
@media (max-width: 760px) { .sacf-grid { grid-template-columns: 1fr; } }
