*,*::before,*::after{box-sizing:border-box}
.smartforms-wrap{width:100%;max-width:560px;margin:0 auto;padding:0 12px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.smartforms-form{background:#fff;border-radius:18px;padding:28px 20px 24px;box-shadow:0 2px 24px rgba(0,0,0,.09)}
.sf-field-wrap{margin-bottom:16px}
.sf-label{display:block;font-size:13px;font-weight:700;color:#1a202c;margin-bottom:6px;letter-spacing:.02em;text-transform:uppercase}
.sf-required{color:#e53e3e;margin-left:2px}
.sf-required-field .sf-label::after{content:' *';color:#e53e3e}
.sf-description{font-size:12px;color:#718096;margin:0 0 6px;line-height:1.4}
.sf-input,.smartforms-form select,.smartforms-form textarea{display:block;width:100%;padding:14px 16px;font-size:16px;font-family:inherit;color:#2d3748;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;outline:none;transition:border-color .18s,box-shadow .18s,background .18s;-webkit-appearance:none;appearance:none}
.sf-input:focus,.smartforms-form select:focus,.smartforms-form textarea:focus{border-color:#667eea;background:#fff;box-shadow:0 0 0 3px rgba(102,126,234,.14)}
.sf-input.sf-error,.smartforms-form select.sf-error{border-color:#e53e3e;background:#fff8f8}
.smartforms-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='18' height='18'%3E%3Cpath fill='%23718096' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:46px;cursor:pointer}
.smartforms-form textarea.sf-input{resize:vertical;min-height:90px}
.sf-input-file{background:none;border:none;padding:8px 0}
.sf-choices{display:flex;flex-direction:column;gap:8px}
.sf-choices.sf-error{outline:2px solid #e53e3e;border-radius:10px;padding:8px}
.sf-choice-label{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;cursor:pointer;font-size:15px;color:#2d3748;line-height:1.45;transition:border-color .15s,background .15s;-webkit-tap-highlight-color:transparent}
.sf-choice-label:active{background:#ebf4ff}
.sf-choice-label input[type="checkbox"],.sf-choice-label input[type="radio"]{width:22px;height:22px;min-width:22px;margin-top:1px;accent-color:#667eea;cursor:pointer;flex-shrink:0}
.sf-divider{border:none;border-top:1.5px solid #e2e8f0;margin:20px 0 8px}
.sf-divider-label{font-size:11px;font-weight:800;color:#4a5568;text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px}
.sf-submit-wrap{margin-top:24px}
.sf-submit-btn{display:block;width:100%;padding:17px 20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:14px;font-size:17px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:opacity .2s,transform .12s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.sf-submit-btn:active{transform:scale(.97);opacity:.88}
.sf-submit-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.sf-messages{margin-top:16px;padding:16px 18px;border-radius:12px;font-size:15px;font-weight:500;line-height:1.5}
.sf-messages.sf-success{background:#f0fff4;border:2px solid #68d391;color:#276749}
.sf-messages.sf-error{background:#fff5f5;border:2px solid #fc8181;color:#9b2c2c}
.sf-error-msg{display:inline-block;color:#fff;background:#e53e3e;font-size:11px;font-weight:800;margin-top:6px;padding:4px 10px;border-radius:6px;letter-spacing:.03em}
@media(min-width:600px){.smartforms-wrap{padding:0}.smartforms-form{padding:36px 36px 32px}.sf-submit-btn{font-size:16px}}
