.avf-form{--r:12px;font-family:var(--avf-font,Arial,Helvetica,sans-serif);max-width:100%;}
.avf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;}
.avf-field{display:flex;flex-direction:column;gap:7px;}
.avf-w-full{grid-column:1 / -1;}
.avf-w-half{grid-column:span 1;}
.avf-field label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--avf-primary,#0A2156);}
.avf-field input,.avf-field select,.avf-field textarea{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #d7deea;border-radius:var(--r);font-size:15px;font-family:inherit;color:#1f2a44;background:#fff;transition:border-color .15s,box-shadow .15s;}
.avf-field textarea{min-height:120px;resize:vertical;}
.avf-field input:focus,.avf-field select:focus,.avf-field textarea:focus{outline:none;border-color:var(--avf-accent,#185FA5);box-shadow:0 0 0 3px rgba(24,95,165,.12);}
.avf-req{color:#d33;}
.avf-choices{display:flex;flex-wrap:wrap;gap:10px 18px;}
.avf-choice,.avf-accept{display:flex;align-items:flex-start;gap:8px;font-weight:500;text-transform:none;letter-spacing:0;font-size:14px;color:#33405c;}
.avf-choice input,.avf-accept input{width:auto;padding:0;}
.avf-accept{grid-column:1 / -1;}
.avf-actions{margin-top:20px;}
.avf-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--avf-primary,#0A2156);color:#fff;border:none;border-radius:var(--r);padding:16px 26px;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:filter .15s,transform .05s;}
.avf-submit:hover{filter:brightness(1.12);}
.avf-submit:active{transform:translateY(1px);}
.avf-submit[disabled]{opacity:.7;cursor:default;}
.avf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.avf-msg{margin-top:14px;font-size:15px;display:none;border-radius:10px;padding:12px 14px;}
.avf-msg.is-show{display:block;}
.avf-msg.is-ok{background:#e8f5ee;color:#1a7f37;border:1px solid #b6e2c6;}
.avf-msg.is-err{background:#fdecec;color:#b32d2e;border:1px solid #f3c2c2;}
.avf-field.has-error input,.avf-field.has-error select,.avf-field.has-error textarea{border-color:#d33;box-shadow:0 0 0 3px rgba(211,51,51,.12);}
@media (max-width:600px){.avf-grid{grid-template-columns:1fr;}.avf-w-half{grid-column:1 / -1;}}
