.vff-form{box-sizing:border-box;width:100%;display:block;padding:0;color:inherit}.vff-form *{box-sizing:border-box}.vff-title{margin:0 0 20px}.vff-fields{display:flex;flex-wrap:wrap;gap:16px}.vff-field{display:flex;flex-direction:column;gap:8px;min-width:0}.vff-field.vff-label-inline{flex-direction:row;align-items:center;flex-wrap:wrap}.vff-field.vff-label-inline>span{flex:0 0 var(--vff-label-width,30%);width:var(--vff-label-width,30%);max-width:var(--vff-label-width,30%)}.vff-field.vff-label-inline>input:not([type=radio]):not([type=checkbox]),.vff-field.vff-label-inline>textarea,.vff-field.vff-label-inline>select{flex:1 1 0;width:auto;min-width:0}.vff-field.vff-label-inline>.vff-radio-options,.vff-field.vff-label-inline>.vff-icon-options{flex:1 1 0;min-width:0}.vff-field>span{font-size:14px;line-height:1.4}.vff-field>span b{color:#d33}.vff-field input:not([type=radio]):not([type=checkbox]),.vff-field textarea,.vff-field select{width:100%;min-width:0;padding:12px 14px;border:1px solid #d5d8dc;border-radius:6px;background:#fff;color:#222;font:inherit;outline:none}.vff-field textarea{min-height:110px;resize:vertical}.vff-field input:focus,.vff-field textarea:focus,.vff-field select:focus{outline:2px solid #2dbbff;outline-offset:1px}.vff-icon-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vff-icon-option{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center;padding:16px 10px;border:1px solid #d5d8dc;border-radius:8px;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s;min-width:0}.vff-icon-option input{position:absolute;opacity:0;pointer-events:none}.vff-icon-option img{width:64px;height:64px;object-fit:contain;display:block}.vff-icon-option span{font-weight:600;line-height:1.35}.vff-icon-option small{font-size:12px;opacity:.75;line-height:1.35}.vff-icon-option:hover{border-color:#9aa4b2}.vff-icon-option.is-selected{border-color:#2dbbff;box-shadow:0 0 0 1px #2dbbff;background:rgba(45,187,255,.06)}.vff-icon-option:focus-within{outline:none;outline-offset:0}.vff-radio-options{display:flex;flex-wrap:wrap;gap:12px}.vff-radio-options label,.vff-check{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.vff-radio-options input,.vff-check input{margin-top:4px}.vff-submit-wrap{display:flex;width:100%;margin-top:18px}.vff-submit-align-left{justify-content:flex-start}.vff-submit-align-center{justify-content:center}.vff-submit-align-right{justify-content:flex-end}.vff-submit-align-justify{display:block}.vff-submit-align-justify .vff-submit{display:flex;width:100%}.vff-submit{display:inline-flex;align-items:center;justify-content:center;margin-top:0;padding:13px 24px;border:0;border-radius:6px;background:#2dbbff;color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:opacity .2s}.vff-submit:hover{opacity:.88}.vff-submit:disabled{opacity:.6;cursor:wait}.vff-response{margin-top:12px;font-size:14px}.vff-response.is-error{color:#c62828}.vff-response.is-success{color:#218838}@media(max-width:767px){.vff-field{width:100%!important;flex-basis:100%!important}.vff-field.vff-label-inline{flex-direction:column;align-items:stretch}.vff-field.vff-label-inline>span{flex-basis:auto;width:100%;max-width:100%}.vff-field.vff-label-inline>input:not([type=radio]):not([type=checkbox]),.vff-field.vff-label-inline>textarea,.vff-field.vff-label-inline>select{flex-basis:auto;width:100%}.vff-icon-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Mirror-glass effect: backdrop blur works best over a visible page background. */
.vff-form{position:relative;isolation:isolate;}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.vff-form{background-color:rgba(255,255,255,.92)!important;}}

/* Remove the default blue focus ring from the select control. */
.vff-field select:focus{outline:none;box-shadow:none;}

/* Ensure form controls remain clickable and accept keyboard input even when theme/Elementor styles overlap. */
.vff-form .vff-field input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
.vff-form .vff-field textarea,
.vff-form .vff-field select,
.vff-form .vff-radio-options input,
.vff-form .vff-check input {
  pointer-events: auto !important;
  position: relative;
  z-index: 2;
  user-select: text;
  -webkit-user-select: text;
}
.vff-form .vff-field input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
.vff-form .vff-field textarea,
.vff-form .vff-field select { cursor: text; }
.vff-form .vff-field select { cursor: pointer; }

/* Submission feedback: prominent, readable success/error states. */
.vff-response{
  display:none;
  width:100%;
  margin:18px 0 0;
  padding:16px 18px;
  border:1px solid transparent;
  border-radius:10px;
  font-size:16px;
  line-height:1.5;
  font-weight:500;
  box-sizing:border-box;
}
.vff-response.is-success,
.vff-response.is-error{display:flex;align-items:flex-start;gap:12px;}
.vff-response.is-success{
  color:#176b38;
  background:#edf9f0;
  border-color:#9bd6ad;
}
.vff-response.is-error{
  color:#9b1c1c;
  background:#fff1f0;
  border-color:#f0aaa5;
}
.vff-response.is-success::before{
  content:"✓";
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 24px;width:24px;height:24px;
  border-radius:50%;background:#218838;color:#fff;
  font-size:15px;font-weight:700;line-height:1;
}
.vff-response.is-error::before{
  content:"!";
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 24px;width:24px;height:24px;
  border-radius:50%;background:#c62828;color:#fff;
  font-size:15px;font-weight:700;line-height:1;
}
