.vf-container {
  --vf-ink: #2c2040;
  --vf-muted: #665975;
  --vf-violet: #813ca0;
  --vf-border: #e4dbe9;
  --vf-soft: #f7f2fa;
  color: var(--vf-ink);
  max-width: 760px;
  margin: 1.5rem auto;
  font-family: inherit;
}
.vf-container *, .vf-container *::before, .vf-container *::after { box-sizing: border-box; }
.vf-form { padding: clamp(1.25rem, 4vw, 2.4rem); border: 1px solid var(--vf-border); background: #fff; border-radius: 24px; box-shadow: 0 12px 40px rgba(38, 21, 52, .045); }
.vf-form .vf-description { color: var(--vf-muted); margin: 0 0 1.6rem; }
.vf-language { display: flex; align-items: center; gap: 12px; justify-content: flex-end; margin-bottom: 1.3rem; }
.vf-language label { margin: 0; font-size: .92rem; color: var(--vf-muted); }
.vf-form .vf-row { margin-bottom: 1.25rem; }
.vf-form label, .vf-form legend { display: block; margin: 0 0 .5rem; color: var(--vf-ink); font-size: 1rem; font-weight: 600; }
.vf-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.vf-form .vf-required { color: var(--vf-violet); }
.vf-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.vf-form textarea, .vf-form select {
  display: block; width: 100%; min-height: 48px; max-width: 100%; padding: 12px 15px;
  border: 1px solid #d4c6db; border-radius: 12px; color: var(--vf-ink); background: #fff;
  font: inherit; line-height: 1.45; box-shadow: none;
}
.vf-form textarea { min-height: 135px; resize: vertical; }
.vf-form input:focus, .vf-form select:focus, .vf-form textarea:focus { outline: 2px solid var(--vf-violet); outline-offset: 2px; border-color: var(--vf-violet); }
.vf-form .vf-choice { display: flex; align-items: flex-start; gap: .65rem; font-weight: 400; line-height: 1.5; margin: .6rem 0; cursor: pointer; }
.vf-form .vf-choice input { accent-color: var(--vf-violet); width: 19px; height: 19px; margin: .15rem 0 0; flex: 0 0 auto; }
.vf-form .vf-help { color: var(--vf-muted); font-size: .9rem; margin: .45rem 0 0; }
.vf-form .vf-privacy { font-size: .88rem; line-height: 1.6; color: var(--vf-muted); margin: 1.2rem 0; }
.vf-form .vf-privacy a { color: var(--vf-violet); text-decoration: underline; }
.vf-form .vf-submit { background: var(--vf-violet); border: 0; border-radius: 999px; padding: 14px 25px; min-height: 49px; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.vf-form .vf-submit:hover { background: #682988; }
.vf-form .vf-submit:disabled { opacity: .7; cursor: wait; }
.vf-form .vf-feedback { margin: 1.2rem 0 0; border-radius: 12px; padding: 13px 16px; color: #285f49; background: #edf8f3; border: 1px solid #bde2d2; }
.vf-form .vf-feedback.vf-error { color: #8b2931; background: #fff1f2; border-color: #f1c2c8; }
.vf-form .vf-feedback[hidden] { display: none; }
.vf-form .vf-trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.vf-form[dir="rtl"] .vf-choice { flex-direction: row; }
@media (max-width: 600px) {
  .vf-form { border-radius: 16px; }
  .vf-language { justify-content: flex-start; }
  .vf-form .vf-submit { width: 100%; }
}
