.vnet-form { direction:rtl; background:#fff; border:1px solid rgba(16,32,43,.14); border-radius:24px; padding:clamp(22px,4vw,45px); color:#10202b; box-shadow:0 30px 80px rgba(20,44,58,.07); scroll-margin-top:110px; }
.vnet-hp { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.vnet-form-notice, .vnet-form-client-message { padding:16px 18px; border-radius:14px; margin-bottom:20px; }
.vnet-form-notice:focus { outline:3px solid var(--vnet-accent,#2cf6d3); outline-offset:3px; }
.vnet-form-notice--success { background:#e6fff8; color:#075b48; border:1px solid #8ee9d0; }
.vnet-form-notice--error, .vnet-form-client-message { background:#fff0f0; color:#8f2020; border:1px solid #f2b4b4; }
.vnet-form-client-message[hidden] { display:none; }
.vnet-form-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:35px; counter-reset:vnet-step; }
.vnet-form-progress > span { position:relative; display:flex; align-items:center; gap:9px; min-width:0; border-bottom:3px solid #dce4e7; padding:0 0 11px; color:#7a8991; }
.vnet-form-progress b { width:28px; height:28px; flex:0 0 28px; display:grid; place-items:center; border:1px solid #cbd7db; border-radius:50%; font:700 .74rem/1 Arial,sans-serif; font-style:normal; }
.vnet-form-progress em { min-width:0; font-size:.78rem; font-weight:700; font-style:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vnet-form-progress > span.is-active { color:#0b6b62; border-color:var(--vnet-accent,#2cf6d3); }
.vnet-form-progress > span.is-active b { border-color:#0e897d; background:#eafffa; }
.vnet-form-progress > span[aria-current="step"] b { background:#07131f; border-color:#07131f; color:#fff; }
.vnet-form fieldset { border:0; margin:0; padding:0; min-width:0; }
.vnet-form legend { width:100%; font-size:clamp(1.25rem,3vw,1.55rem); line-height:1.5; font-weight:700; margin-bottom:25px; }
.vnet-form-step { display:none; }
.vnet-form-step.is-active { display:block; animation:vnet-form-step-in .25s ease both; }
@keyframes vnet-form-step-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
.vnet-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.vnet-choice { position:relative; display:block; }
.vnet-choice input { position:absolute; opacity:0; }
.vnet-choice span { min-height:62px; display:flex; align-items:center; padding:14px 16px; border:1px solid #d8e1e4; border-radius:14px; transition:border-color .2s ease, background .2s ease, transform .2s ease; cursor:pointer; }
.vnet-choice:hover span { border-color:#9eb4bc; transform:translateY(-1px); }
.vnet-choice input:checked + span { border-color:#0e897d; background:#eafffa; }
.vnet-choice input:focus-visible + span { outline:3px solid var(--vnet-accent,#2cf6d3); outline-offset:2px; }
.vnet-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.vnet-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.vnet-field--wide { grid-column:1/-1; }
.vnet-field > span { font-size:.86rem; font-weight:700; }
.vnet-field input, .vnet-field select, .vnet-field textarea { width:100%; max-width:100%; border:1px solid #ced9dd; background:#fbfcfc; color:#10202b; border-radius:13px; padding:13px 14px; outline:0; font-size:16px; line-height:1.5; }
.vnet-field input[type="file"] { min-height:52px; padding:10px; }
.vnet-field input[type="file"]::file-selector-button { min-height:34px; margin-inline-end:10px; border:0; border-radius:9px; padding:6px 12px; background:#e7eff1; color:#10202b; font:700 .78rem/1.3 Tahoma,Arial,sans-serif; cursor:pointer; }
.vnet-field textarea { resize:vertical; min-height:130px; }
.vnet-field input:focus, .vnet-field select:focus, .vnet-field textarea:focus { border-color:#0e897d; box-shadow:0 0 0 3px rgba(44,246,211,.2); }
.vnet-field [aria-invalid="true"] { border-color:#c73737; box-shadow:0 0 0 3px rgba(199,55,55,.12); }
.vnet-consent { display:flex; align-items:flex-start; gap:10px; margin-top:24px; color:#526771; font-size:.85rem; cursor:pointer; }
.vnet-consent input { width:19px; height:19px; flex:0 0 19px; margin-top:5px; accent-color:#0e897d; }
.vnet-form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:30px; flex-wrap:wrap; }
.vnet-form-actions button { border:1px solid #0b293b; border-radius:999px; min-height:48px; padding:10px 23px; background:#fff; color:#0b293b; font-weight:700; touch-action:manipulation; }
.vnet-form-actions button:hover { transform:translateY(-1px); }
.vnet-form-actions button:focus-visible { outline:3px solid var(--vnet-accent,#2cf6d3); outline-offset:3px; }
.vnet-form-actions .vnet-form-next, .vnet-form-actions .vnet-form-submit { background:#07131f; color:#fff; }
.vnet-form-actions button:disabled { opacity:.62; cursor:wait; transform:none; }

@media(max-width:640px) {
  .vnet-choice-grid,.vnet-field-grid { grid-template-columns:1fr; }
  .vnet-field--wide { grid-column:auto; }
  .vnet-form { padding:22px 16px; border-radius:19px; }
  .vnet-form-progress { gap:6px; margin-bottom:28px; }
  .vnet-form-progress > span { gap:6px; padding-bottom:9px; }
  .vnet-form-progress b { width:25px; height:25px; flex-basis:25px; font-size:.68rem; }
  .vnet-form-progress em { font-size:.7rem; }
  .vnet-form-actions { position:sticky; z-index:3; bottom:max(8px,env(safe-area-inset-bottom)); justify-content:stretch; margin:26px -6px 0; padding:9px; border:1px solid rgba(16,32,43,.1); border-radius:16px; background:rgba(255,255,255,.94); box-shadow:0 12px 30px rgba(7,19,31,.12); backdrop-filter:blur(10px); }
  .vnet-form-actions button { flex:1; min-width:0; padding-inline:14px; }
  .vnet-choice span { min-height:56px; }
  .vnet-field-grid { gap:15px; }
}

@media(max-width:360px) {
  .vnet-form-progress em { display:none; }
  .vnet-form-progress > span { justify-content:center; }
  .vnet-form-progress b { width:28px; height:28px; flex-basis:28px; }
  .vnet-form-actions { flex-direction:column-reverse; }
  .vnet-form-actions button { width:100%; }
}

@media(prefers-reduced-motion:reduce) {
  .vnet-form-step.is-active { animation:none; }
  .vnet-choice span,.vnet-form-actions button { transition:none; }
}
