/* VESNA© Brief Form — Elementor Pro Form in the VESNA© brief design. */
.elementor-widget-vesna-brief-form{
  --vbf-text:#191919; --vbf-muted:rgba(25,25,25,.45); --vbf-label:rgba(25,25,25,.45);
  --vbf-field:rgba(0,0,0,.03); --vbf-field-focus:#fff; --vbf-border-focus:rgba(25,25,25,.1);
  --vbf-h:56px; --vbf-px:23px; --vbf-radius:14px; --vbf-gap:8px; --vbf-buttons-gap:64px;
  --vbf-chip:#f2f2f2; --vbf-chip-text:rgba(25,25,25,.8); --vbf-chip-on:#191919; --vbf-chip-on-text:#fff; --vbf-panel:#fff;
  --vbf-drop-border:rgba(25,25,25,.2);
  --vbf-btn:#191919; --vbf-btn-text:#fff; --vbf-btn-hover:#000; --vbf-btn-text-hover:#fff; --vbf-btn-error:rgba(25,25,25,.2);
  --vbf-btn-h:50px; --vbf-btn-px:32px; --vbf-btn-radius:100px;
  --vbf-back:rgba(25,25,25,.45); --vbf-back-hover:#191919;
  --vbf-error:#e5402a; --vbf-error-bg:rgba(229,64,42,.06); --vbf-check:#191919;
  --vbf-title:#191919; --vbf-counter:rgba(25,25,25,.45);
  --vbf-ease:cubic-bezier(.4,0,.2,1);
}
.vbf{color:var(--vbf-text)}
.vbf .elementor-form{max-width:484px;margin-left:auto;margin-right:auto;background:none}
.vbf.vbf.vbf button:not(.elementor-button),.vbf.vbf.vbf button:not(.elementor-button):hover,.vbf.vbf.vbf button:not(.elementor-button):focus{appearance:none;background:none;border:0;border-radius:0;box-shadow:none;padding:0;margin:0;min-height:0;font:inherit;line-height:inherit;letter-spacing:inherit;text-transform:none;color:inherit;cursor:pointer;text-align:left}

/* Step heading (built by JS from the Step field label) */
.vbf-head{padding-bottom:44px;text-align:center}
.vbf-title{margin:0;font-size:24px;line-height:28px;font-weight:400;color:var(--vbf-title)}
.vbf-counter{margin:8px 0 0;color:var(--vbf-counter)}
.vbf-head.is-changing{animation:vbf-in .4s var(--vbf-ease)}

/* Grid of fields */
.vbf .elementor-form-fields-wrapper{display:flex;flex-wrap:wrap;margin:0 calc(var(--vbf-gap) / -2)}
.vbf .e-form__step{width:100%}
.vbf .e-form__step:not(.elementor-hidden){display:flex;flex-wrap:wrap;animation:vbf-in .4s var(--vbf-ease)}
.vbf .elementor-field-group{position:relative;margin:0 0 var(--vbf-gap);padding:0 calc(var(--vbf-gap) / 2)}
.vbf .e-form__indicators{margin-bottom:24px}

/* Text fields with floating labels */
.vbf .elementor-field-group .elementor-field-textual{
  display:block;width:100%;height:var(--vbf-h);min-height:0;padding:17px var(--vbf-px);
  border:1px solid transparent;border-radius:var(--vbf-radius);background:var(--vbf-field);color:var(--vbf-text);
  font-size:16px;line-height:20px;box-shadow:none;outline:none;-webkit-appearance:none;appearance:none;
  transition:border-color .2s,background-color .2s,padding .15s;
}
.vbf .elementor-field-group .elementor-field-textual::placeholder{color:var(--vbf-muted);opacity:1}
.vbf .elementor-field-group .elementor-field-textual:focus{border-color:var(--vbf-border-focus);background:var(--vbf-field-focus);box-shadow:none}
.vbf .elementor-field-group .elementor-field-textual:not(:placeholder-shown){padding-top:26px;padding-bottom:8px}
.vbf .elementor-field-group textarea.elementor-field-textual{height:auto;min-height:96px;max-height:185px;resize:none}
.vbf .elementor-field-group textarea.elementor-field-textual:not(:placeholder-shown){padding-bottom:17px}
.vbf .elementor-field-group>.elementor-field-label{
  position:absolute;z-index:1;top:9px;left:calc(var(--vbf-gap) / 2 + var(--vbf-px) + 1px);right:calc(var(--vbf-gap) / 2 + var(--vbf-px));
  margin:0;padding:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  color:var(--vbf-label);font-size:12px;line-height:16px;font-weight:400;pointer-events:none;opacity:0;transition:opacity .15s;
}
.vbf .elementor-field-group:has(.elementor-field-textual:not(:placeholder-shown))>.elementor-field-label,
.vbf .elementor-field-group.vbf-error:has(.elementor-field-textual)>.elementor-field-label{opacity:1}
.vbf .elementor-field-type-select>.elementor-field-label{opacity:1}
.vbf .elementor-field-type-select .elementor-field-textual{padding-top:26px;padding-bottom:8px}
.vbf .elementor-field-type-upload>.elementor-field-label,
.vbf .elementor-field-type-checkbox.vbf-where>.elementor-field-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);opacity:0}

/* Errors */
.vbf .vbf-error .elementor-field-textual,.vbf .elementor-error .elementor-field-textual{background:var(--vbf-error-bg);padding-top:26px;padding-bottom:8px}
.vbf .vbf-error .elementor-field-textual::placeholder{color:transparent}
.vbf .vbf-msg,.vbf .elementor-field-group .elementor-message.elementor-help-inline{display:block;margin:4px 0 0;padding:0 0 0 calc(var(--vbf-px) + 1px);color:var(--vbf-error);font-size:12px;line-height:16px;background:none;border:0}
.vbf .elementor-field-group .elementor-message::before{display:none}
.vbf .elementor-field-type-acceptance .vbf-msg{display:none}

/* Checkbox chips */
.vbf .vbf-chips .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:6px}
.vbf .vbf-chips .elementor-field-option{position:relative;margin:0;padding:0;flex:none;max-width:100%}
.vbf .vbf-chips .elementor-field-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.vbf .vbf-chips .elementor-field-option label{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:8px 16px;border-radius:100px;background:var(--vbf-chip);color:var(--vbf-chip-text);font-size:14px;line-height:18px;cursor:pointer;transition:background-color .2s,color .2s}
.vbf .vbf-chips .elementor-field-option input:checked+label{background:var(--vbf-chip-on);color:var(--vbf-chip-on-text)}
.vbf .vbf-chips .elementor-field-option input:checked+label::after{content:"";width:10px;height:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 1l8 8M9 1L1 9' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 1l8 8M9 1L1 9' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat}
.vbf .vbf-chips .elementor-field-option input:focus-visible+label{outline:2px solid var(--vbf-text);outline-offset:2px}
.vbf .vbf-chips:not(.vbf-where)>.elementor-field-label{display:block;margin:0 0 10px;color:var(--vbf-label);font-size:14px}

/* Checkbox chips in a dropdown («Where are you now?») */
.vbf .vbf-where__trigger,.vbf .vbf-where__head{display:flex;align-items:center;gap:16px;width:100%;text-align:left}
.vbf .vbf-where__trigger{min-height:var(--vbf-h);padding:18px var(--vbf-px);border-radius:var(--vbf-radius);background:var(--vbf-field);font-size:16px;line-height:20px}
.vbf .vbf-where__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.vbf .vbf-where__caption{color:var(--vbf-muted)}
.vbf .vbf-where__value{display:none;color:var(--vbf-text)}
.vbf .vbf-where.has-value .vbf-where__trigger{padding-top:12px;padding-bottom:12px}
.vbf .vbf-where.has-value .vbf-where__caption{font-size:12px;line-height:16px}
.vbf .vbf-where.has-value .vbf-where__value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vbf .vbf-where svg{flex:none;width:16px;height:16px}
.vbf .vbf-where__panel{position:absolute;z-index:5;top:0;left:calc(var(--vbf-gap) / 2);right:calc(var(--vbf-gap) / 2);padding:17px var(--vbf-px);border:1px solid rgba(25,25,25,.06);border-radius:var(--vbf-radius);background:var(--vbf-panel);box-shadow:0 9px 30px 3px rgba(25,25,25,.03)}
.vbf .vbf-where__panel[hidden]{display:none}
.vbf .vbf-where__head>span{flex:1}
.vbf .vbf-where__head svg{transform:rotate(45deg)}
.vbf .vbf-where__hint{margin-left:6px;color:var(--vbf-muted)}
.vbf .vbf-where .elementor-field-subgroup{padding-top:18px}

/* File drop zone */
.vbf .vbf-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:80px;padding:19px;border:1px dashed var(--vbf-drop-border);border-radius:var(--vbf-radius);text-align:center;transition:border-color .2s,background-color .2s}
.vbf .vbf-drop:focus-within,.vbf .vbf-drop.is-over{border-color:var(--vbf-text)}
.vbf .vbf-drop.is-over{background:rgba(25,25,25,.04)}
.vbf .vbf-drop__text{color:var(--vbf-muted);font-size:14px;line-height:18px}
.vbf .vbf-drop__text u{color:var(--vbf-text);text-underline-offset:2px}
.vbf .vbf-drop__hint{color:rgba(25,25,25,.3);font-size:12px;line-height:16px}
.vbf .vbf-drop__over{display:none;color:var(--vbf-text)}
.vbf .vbf-drop.is-over .vbf-drop__idle{display:none}
.vbf .vbf-drop.is-over .vbf-drop__over{display:inline}
.vbf .vbf-drop .elementor-upload-field{position:absolute;inset:0;width:100%;height:100%;padding:0;opacity:0;cursor:pointer;border:0}
.vbf .vbf-drop__files{display:none;flex-wrap:wrap;gap:4px;max-width:100%}
.vbf .vbf-drop__file{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:4px 6px 4px 10px;border-radius:100px;background:rgba(25,25,25,.06);font-size:12px;line-height:16px;white-space:nowrap}
.vbf .vbf-drop__name{min-width:0;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.vbf .vbf-drop__size{color:var(--vbf-muted)}
.vbf .vbf-drop__remove{position:relative;z-index:2;display:grid;place-items:center;width:16px;height:16px;border-radius:50%}
.vbf .vbf-drop__remove svg{width:16px;height:16px}
.vbf .vbf-drop__more{position:relative;z-index:2;display:none;color:var(--vbf-muted);font-size:14px;line-height:18px}
.vbf .vbf-drop.has-files{align-items:flex-start;justify-content:flex-start;gap:12px;padding:11px}
.vbf .vbf-drop.has-files .vbf-drop__text,.vbf .vbf-drop.has-files .vbf-drop__hint{display:none}
.vbf .vbf-drop.has-files .elementor-upload-field{visibility:hidden}
.vbf .vbf-drop.has-files .vbf-drop__files{display:flex}
.vbf .vbf-drop.has-files .vbf-drop__more{display:block}

/* Consent */
.vbf .elementor-field-type-acceptance{margin-top:16px}
.vbf .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:8px}
.vbf .elementor-field-type-acceptance input[type="checkbox"]{flex:none;width:16px;height:16px;margin:0;border:1.5px solid rgba(25,25,25,.3);border-radius:4px;background:transparent center/12px no-repeat;-webkit-appearance:none;appearance:none;cursor:pointer;transition:background-color .2s,border-color .2s}
.vbf .elementor-field-type-acceptance input[type="checkbox"]:checked{border-color:var(--vbf-check);background-color:var(--vbf-check);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' stroke='white' stroke-width='1.8' fill='none'/%3E%3C/svg%3E")}
.vbf .elementor-field-type-acceptance label{color:var(--vbf-text);font-size:12px;line-height:16px;cursor:pointer}
.vbf .elementor-field-type-acceptance label a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.vbf .elementor-field-type-acceptance.vbf-error input[type="checkbox"],.vbf .elementor-field-type-acceptance.elementor-error input[type="checkbox"]{border-color:var(--vbf-error)}
.vbf .elementor-field-type-acceptance.vbf-error label,.vbf .elementor-field-type-acceptance.vbf-error label a{color:var(--vbf-error)}

/* Buttons */
.vbf .e-form__buttons{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:nowrap;width:100%;margin-top:calc(var(--vbf-buttons-gap) - var(--vbf-gap));padding:0 calc(var(--vbf-gap) / 2)}
.vbf .e-form__buttons .e-form__buttons__wrapper{flex:none;width:auto;max-width:none;margin:0;padding:0}
.vbf .elementor-field-type-submit:not(.e-form__buttons__wrapper){justify-content:center;margin-top:calc(var(--vbf-buttons-gap) - var(--vbf-gap))}
.vbf .elementor-button{display:inline-flex;align-items:center;justify-content:center;height:var(--vbf-btn-h);min-height:0;padding:0 var(--vbf-btn-px);border:0;border-radius:var(--vbf-btn-radius);background:var(--vbf-btn);color:var(--vbf-btn-text);font-size:16px;line-height:1;box-shadow:none;transition:background-color .2s,color .2s}
.vbf .elementor-button:hover,.vbf .elementor-button:focus-visible{background:var(--vbf-btn-hover);color:var(--vbf-btn-text-hover)}
.vbf .elementor-button.e-form__buttons__wrapper__button-previous{padding:0 16px;background:transparent;color:var(--vbf-back)}
.vbf .elementor-button.e-form__buttons__wrapper__button-previous:hover{background:transparent;color:var(--vbf-back-hover)}
.vbf.vbf-has-errors .elementor-button:not(.e-form__buttons__wrapper__button-previous){background:var(--vbf-btn-error)}

/* Messages after submit */
.vbf .elementor-message{margin-top:16px;text-align:center;font-size:14px;line-height:18px}
.vbf .elementor-message::before{display:none}
.vbf .elementor-message.elementor-message-danger{color:var(--vbf-error)}

@keyframes vbf-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:767px){
  .vbf .elementor-col-50{width:100%}
  .vbf .e-form__buttons{gap:8px}
  .vbf .e-form__buttons .e-form__buttons__wrapper:not(.elementor-field-type-previous){flex:1 1 auto}
  .vbf .e-form__buttons .e-form__buttons__wrapper:not(.elementor-field-type-previous) .elementor-button{width:100%}
}
@media (prefers-reduced-motion:reduce){.vbf .e-form__step,.vbf-head.is-changing{animation:none}}

/* ── Guard against Elementor kit / Form widget field styles (white background, borders, paddings) ── */
.vbf.vbf.vbf .elementor-field-group .elementor-field-textual,
.vbf.vbf.vbf .elementor-field-group .elementor-field:not(.elementor-select-wrapper):not([type=checkbox]):not([type=radio]):not(.elementor-upload-field){
  background-color:var(--vbf-field)!important;border:1px solid transparent!important;border-radius:var(--vbf-radius)!important;color:var(--vbf-text)!important;box-shadow:none!important;
  padding-left:var(--vbf-px)!important;padding-right:var(--vbf-px)!important;font-size:16px}
.vbf.vbf.vbf .elementor-field-group .elementor-field-textual:focus{background-color:var(--vbf-field-focus)!important;border-color:var(--vbf-border-focus)!important}
.vbf.vbf.vbf .vbf-error .elementor-field-textual,.vbf.vbf.vbf .elementor-error .elementor-field-textual{background-color:var(--vbf-error-bg)!important}
.vbf.vbf.vbf .elementor-field-group .elementor-field-textual::placeholder{color:var(--vbf-muted)!important}
/* the "Where are you now?" field is a button: keep its soft background and padding */
.vbf.vbf.vbf button.vbf-where__trigger,.vbf.vbf.vbf button.vbf-where__trigger:hover,.vbf.vbf.vbf button.vbf-where__trigger:focus{
  display:flex;align-items:center;gap:16px;width:100%;min-height:var(--vbf-h);padding:18px var(--vbf-px);border-radius:var(--vbf-radius);background:var(--vbf-field);color:var(--vbf-text);font-size:16px;line-height:20px;text-align:left}
.vbf.vbf.vbf .vbf-where.has-value button.vbf-where__trigger{padding-top:12px;padding-bottom:12px}
.vbf.vbf.vbf button.vbf-where__trigger:focus-visible{outline:2px solid var(--vbf-text);outline-offset:2px}
.vbf.vbf.vbf button.vbf-where__head{display:flex;align-items:center;gap:16px;width:100%;color:var(--vbf-text);text-align:left}
/* fields and the file drop take the full width of their column */
.vbf.vbf .elementor-field-group{flex:0 0 auto}
.vbf.vbf .elementor-field-group.elementor-col-100,.vbf.vbf .elementor-field-type-upload{width:100%}
.vbf.vbf .vbf-drop{width:100%}

/* ── Dark theme ── */
.vbf.vbf--dark{
  --vbf-text:#f2f2f0; --vbf-muted:rgba(255,255,255,.45); --vbf-label:rgba(255,255,255,.45);
  --vbf-field:rgba(255,255,255,.07); --vbf-field-focus:rgba(255,255,255,.12); --vbf-border-focus:rgba(255,255,255,.18);
  --vbf-chip:rgba(255,255,255,.1); --vbf-chip-text:rgba(255,255,255,.85); --vbf-chip-on:#fff; --vbf-chip-on-text:#000; --vbf-panel:#161616;
  --vbf-drop-border:rgba(255,255,255,.25);
  --vbf-btn:#fff; --vbf-btn-text:#000; --vbf-btn-hover:#e6e6e6; --vbf-btn-text-hover:#000; --vbf-btn-error:rgba(255,255,255,.2);
  --vbf-back:rgba(255,255,255,.5); --vbf-back-hover:#fff;
  --vbf-error:#ff6a55; --vbf-error-bg:rgba(255,106,85,.1); --vbf-check:#fff;
  --vbf-title:#f2f2f0; --vbf-counter:rgba(255,255,255,.45);
  color:var(--vbf-text)}
.vbf--dark .vbf-where__panel{border-color:rgba(255,255,255,.08)!important;box-shadow:0 9px 30px rgba(0,0,0,.4)!important}
.vbf--dark .elementor-field-type-acceptance input[type="checkbox"]{border-color:rgba(255,255,255,.35)!important}
.vbf--dark .elementor-field-type-acceptance input[type="checkbox"]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' stroke='black' stroke-width='1.8' fill='none'/%3E%3C/svg%3E")!important}
.vbf--dark .vbf-drop.is-over,.vbf--dark .vbf-drop__file{background:rgba(255,255,255,.08)}
/* buttons and the consent checkbox: Elementor Pro / kit colours must not win */
.vbf.vbf.vbf .elementor-button:not(.e-form__buttons__wrapper__button-previous){background-color:var(--vbf-btn)!important;color:var(--vbf-btn-text)!important;border:0!important}
.vbf.vbf.vbf .elementor-button:not(.e-form__buttons__wrapper__button-previous):hover,.vbf.vbf.vbf .elementor-button:not(.e-form__buttons__wrapper__button-previous):focus-visible{background-color:var(--vbf-btn-hover)!important;color:var(--vbf-btn-text-hover)!important}
.vbf.vbf.vbf.vbf-has-errors .elementor-button:not(.e-form__buttons__wrapper__button-previous){background-color:var(--vbf-btn-error)!important}
.vbf.vbf.vbf .elementor-button.e-form__buttons__wrapper__button-previous{background-color:transparent!important;color:var(--vbf-back)!important;border:0!important}
.vbf.vbf.vbf .elementor-button.e-form__buttons__wrapper__button-previous:hover{color:var(--vbf-back-hover)!important}
.vbf.vbf.vbf .elementor-field-type-acceptance input[type="checkbox"]{width:16px!important;height:16px!important;min-height:0!important;padding:0!important;border-radius:4px!important;box-shadow:none!important}
.vbf.vbf.vbf .elementor-field-type-acceptance input[type="checkbox"]:not(:checked){background-color:transparent!important;border:1.5px solid rgba(25,25,25,.3)!important}
.vbf.vbf.vbf.vbf--dark .elementor-field-type-acceptance input[type="checkbox"]:not(:checked){border-color:rgba(255,255,255,.35)!important}
.vbf.vbf.vbf .elementor-field-type-acceptance input[type="checkbox"]:checked{background-color:var(--vbf-check)!important;border:1.5px solid var(--vbf-check)!important}
.vbf.vbf.vbf .vbf-drop{background-color:transparent}
