.jvwi-form { max-width:860px; margin:32px auto; color:#0c3041; }
.jvwi-form * { box-sizing:border-box; }
.jvwi-form [hidden] { display:none!important; }
.jvwi-form fieldset { border:0; border-top:1px solid #d9e1e5; margin:28px 0; padding:20px 0 0; min-width:0; }
.jvwi-form legend { font-size:22px; font-weight:600; padding-right:16px; }
.jvwi-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.jvwi-field { margin-bottom:20px; min-width:0; }
.jvwi-field label { display:block; font-weight:600; margin-bottom:7px; }
.jvwi-field input,.jvwi-field select,.jvwi-field textarea { display:block; width:100%; min-width:0; max-width:100%; min-height:44px; padding:10px 12px; border:1px solid #879aa4; border-radius:4px; color:#0c3041; background:#fff; font:inherit; font-size:16px; }
.jvwi-field textarea { resize:vertical; }
.jvwi-form .jvwi-note { font-size:14px; line-height:1.6; color:#405864; }
.jvwi-form label.jvwi-consent { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:12px; width:100%; margin:0; line-height:1.5; font-size:16px; font-weight:400; }
.jvwi-form .jvwi-consent input[type="checkbox"] { appearance:auto; display:block; width:20px; min-width:20px; max-width:20px; height:20px; min-height:20px; margin:3px 0 0; padding:0; border-radius:3px; accent-color:#0c3041; }
.jvwi-form .jvwi-consent span { display:block; min-width:0; overflow-wrap:anywhere; }
.jvwi-form button.jvwi-submit { justify-self:start; width:auto; max-width:100%; min-height:44px; border:0; border-radius:6px; background:#d62839; color:#fff; padding:12px 24px; font:600 16px sans-serif; cursor:pointer; }
.jvwi-submit:disabled { opacity:.6; cursor:wait; }
.jvwi-form :focus-visible { outline:3px solid #187ab0; outline-offset:3px; }
.jvwi-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.jvwi-error { padding:16px; border-left:4px solid #b51e2d; background:#fff1f2; margin:20px 0; }
.jvwi-success { padding:24px 0; }
@media(max-width:600px) { .jvwi-grid { grid-template-columns:minmax(0,1fr); gap:0; } .jvwi-form { margin:24px 0; } }
