/* ── SWISS FORM — Frontend ─────────────────────────── */
*{box-sizing:border-box}
.sf-wrap{max-width:640px;margin:0 auto;font-family:Arial,sans-serif}
.sf-lang-switcher{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}
.sf-lang-btn{padding:6px 14px;border:1.5px solid #e0e0e0;border-radius:20px;background:#fff;cursor:pointer;font-size:13px;transition:all .2s}
.sf-lang-btn.active{border-color:#1a73e8;background:#e8f0fe;color:#1a73e8;font-weight:600}
.sf-lang-btn:hover:not(.active){border-color:#bbb}
.sf-form-header{margin-bottom:20px}
.sf-title{font-size:22px;font-weight:600;color:#1a1a2e}
.sf-form{background:#fff;border-radius:14px;padding:28px;box-shadow:0 2px 16px rgba(0,0,0,.08)}
.sf-field{margin-bottom:18px}
.sf-field label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:6px}
.sf-req{color:#ea4335;margin-left:2px}
.sf-field input[type=text],
.sf-field input[type=email],
.sf-field input[type=tel],
.sf-field input[type=number],
.sf-field input[type=date],
.sf-field input[type=file],
.sf-field select,
.sf-field textarea{width:100%;padding:10px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;transition:border-color .2s;font-family:Arial,sans-serif}
.sf-field input:focus,.sf-field select:focus,.sf-field textarea:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 3px rgba(26,115,232,.1)}
.sf-field textarea{resize:vertical;min-height:80px}
.sf-field-hint{margin-top:6px;font-size:12px;color:#888}
.sf-field input[type=file]{padding:8px;background:#fafafa;border-style:dashed}
.sf-field input[type=file]:hover{background:#f0f6ff;border-color:#1a73e8}
.sf-field input[type=file]:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 3px rgba(26,115,232,.1)}
.sf-radio-group,.sf-check-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.sf-radio,.sf-check{display:flex;align-items:center;gap:7px;padding:8px 14px;border:1.5px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s;user-select:none}
.sf-radio:hover,.sf-check:hover{border-color:#1a73e8;background:#f0f6ff}
.sf-radio input,.sf-check input{cursor:pointer;margin:0}
.sf-radio:has(input:checked),.sf-check:has(input:checked){border-color:#1a73e8;background:#e8f0fe}
.sf-nlpd{border-top:1px solid #f0f0f0;padding-top:16px;margin-top:8px}
.sf-nlpd-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#555;line-height:1.5}
.sf-nlpd-label a{color:#1a73e8}
.sf-nlpd-label input{margin-top:3px;cursor:pointer;flex-shrink:0}
.sf-nlpd-footer{margin-top:12px;font-size:11px;color:#aaa;text-align:center}
.sf-error{background:#fce8e6;color:#c62828;border:1px solid #f5c6c6;border-radius:8px;padding:11px 15px;font-size:13px;margin:12px 0}
.sf-btn{width:100%;padding:13px;background:#1a73e8;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px}
.sf-btn:hover{background:#1557b0}
.sf-btn:disabled{background:#ccc;cursor:not-allowed}
.sf-success{background:#e8f5e9;border-radius:14px;padding:36px;text-align:center}
.sf-success-icon{font-size:48px;margin-bottom:12px}
.sf-success p{font-size:16px;color:#2e7d32;font-weight:500}
.sf-closed{background:#fff8e1;border:1.5px solid #fbbc04;border-radius:10px;padding:20px;text-align:center;color:#e65100;font-size:14px}
@media(max-width:600px){.sf-form{padding:18px}.sf-radio-group,.sf-check-group{flex-direction:column}}

/* ── Ошибки полей ────────────────────────────────── */
.sf-input-error{border-color:#ea4335 !important;box-shadow:0 0 0 3px rgba(234,67,53,.12) !important}
.sf-label-error{color:#ea4335 !important}
.sf-field input:invalid,.sf-field select:invalid,.sf-field textarea:invalid{border-color:#e0e0e0}
