/* ==========================================================================
   Koma Finance — Fluent Forms skin (04-home design language)
   Applies to every Fluent form on the site (lead form "בדיקת התאמה ראשונית").
   Selectors are prefixed with `.fluentform .frm-fluent-form` so they win over
   Fluent's own stylesheets even when those load later (footer).
   Put the form inside an element with class `koma-form-plain` to drop the card.
   ========================================================================== */

/* ---------- card ---------- */
.fluentform.fluentform_wrapper_3,
.fluentform[class*="fluentform_wrapper_"]{
  position:relative;
  padding:clamp(22px,3vw,36px);
  border-radius:28px;
  background:var(--c-surface,#FFFBF4);
  box-shadow:var(--sh-2,0 2px 6px rgba(42,36,32,.05),0 30px 60px -30px rgba(42,36,32,.42));
  color:var(--c-ink,#2A2420);
  font-family:var(--f-text,"Rubik",system-ui,sans-serif);
}
.koma-form-plain .fluentform[class*="fluentform_wrapper_"]{padding:0;border-radius:0;background:transparent;box-shadow:none}
/* The Elementor contact container already supplies the form's surface and padding. */
.kh-contact__form .fluentform[class*="fluentform_wrapper_"]{padding:0;border-radius:0;background:transparent;box-shadow:none;min-width:0;max-width:100%}
.fluentform .frm-fluent-form :is(.ff-el-input--content,.ff-el-form-check,.ff-el-form-check-label){min-width:0;max-width:100%}

/* ---------- step header: progress bar + "שלב 1 מתוך 3" ---------- */
.fluentform .frm-fluent-form .ff-step-header{margin:0 0 6px}
.fluentform .frm-fluent-form .ff-el-progress-status{display:none}
.fluentform .frm-fluent-form .ff-el-progress{height:6px;margin:0;border-radius:999px;background:var(--c-sand,#EADFCF);font-size:0;line-height:0;overflow:hidden}
.fluentform .frm-fluent-form .ff-el-progress-bar{height:100%;border-radius:999px;background:var(--c-accent,#B5502F);transition:width .5s var(--ease,cubic-bezier(.2,.7,.2,1))}
.fluentform .frm-fluent-form .ff-el-progress-bar span{display:none}
.fluentform .frm-fluent-form .ff-el-group.koma-step{margin:18px 0 22px}
.fluentform .frm-fluent-form .koma-step__count{margin:0;font-size:.86rem;font-weight:500;line-height:1.5;color:var(--c-muted,#6B5D52)}
.fluentform .frm-fluent-form .koma-step__title{margin:2px 0 0;font-size:clamp(1.18rem,1.05rem + .5vw,1.38rem);font-weight:600;line-height:1.35;color:var(--c-ink,#2A2420)}
.fluentform .frm-fluent-form .ff-el-group.koma-step:focus{outline:none}

/* ---------- groups & labels ---------- */
.fluentform .frm-fluent-form .ff-el-group{position:relative;margin:0 0 28px}
.fluentform .frm-fluent-form .ff-el-input--label{margin:0 0 8px;padding:0}
.fluentform .frm-fluent-form .ff-el-input--label label{display:inline-block;margin:0;font-size:.98rem;font-weight:500;line-height:1.45;color:var(--c-ink,#2A2420)}
.fluentform .frm-fluent-form .ff-el-input--label.ff-el-is-required.asterisk-right label::after{content:" *";margin-inline-start:2px;color:var(--c-accent-ink,#9A4125)}
.fluentform .frm-fluent-form .koma-q .ff-el-input--label label{font-size:1.06rem;font-weight:600}

/* two half-width fields side by side (name + phone) */
.fluentform .frm-fluent-form .ff-el-group.koma-half{float:right;float:inline-start;width:calc(50% - 8px)}
.fluentform .frm-fluent-form .ff-el-group.koma-half + .ff-el-group.koma-half{margin-inline-start:16px}
.fluentform .frm-fluent-form .ff-el-group:not(.koma-half),
.fluentform .frm-fluent-form .ff-step-t-container,
.fluentform .frm-fluent-form .step-nav{clear:both}

/* ---------- text inputs, select, textarea ---------- */
.fluentform .frm-fluent-form .ff-el-form-control{
  width:100%;min-height:52px;margin:0;padding:0 16px;
  border-radius:14px;border:1.5px solid var(--c-line-2,rgba(42,36,32,.22));
  background:var(--c-bg,#F6F0E6);box-shadow:none;
  font-family:inherit;font-size:1rem;line-height:1.4;color:var(--c-ink,#2A2420);
  transition:border-color .2s,box-shadow .2s,background-color .2s;
}
.fluentform .frm-fluent-form textarea.ff-el-form-control{min-height:112px;padding:14px 16px;line-height:1.6;resize:vertical}
.fluentform .frm-fluent-form select.ff-el-form-control{
  -webkit-appearance:none;appearance:none;padding-inline-end:44px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232A2420' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left 16px center;
}
.fluentform .frm-fluent-form .ff-el-form-control:hover{border-color:rgba(42,36,32,.4)}
.fluentform .frm-fluent-form .ff-el-form-control:focus{outline:none;border-color:var(--c-accent-2,#26433A);box-shadow:0 0 0 4px rgba(38,67,58,.14);background-color:var(--c-surface,#FFFBF4)}
.fluentform .frm-fluent-form .ff-el-form-control::placeholder{color:var(--c-muted,#6B5D52);opacity:.75}
.fluentform .frm-fluent-form input[type="tel"].ff-el-form-control{text-align:end}

/* phone: single country (IL) → hide intl-tel-input flag, keep its validation */
.fluentform .frm-fluent-form .iti{display:block;width:100%}
.fluentform .frm-fluent-form .iti .iti__country-container,
.fluentform .frm-fluent-form .iti .iti__flag-container{display:none!important}
.fluentform .frm-fluent-form .iti input.ff-el-form-control{padding-inline:16px!important;margin:0!important}

/* ---------- radio questions as pill chips ---------- */
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-input--content{display:flex;flex-wrap:wrap;gap:8px}
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check{display:block!important;width:auto!important;margin:0;float:none!important}
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check label{display:block;margin:0;cursor:pointer}
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check input{position:absolute;opacity:0;width:1px;height:1px;margin:0;z-index:-1}
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check label > span{
  display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;
  min-height:44px;height:auto;max-width:100%;padding:10px 18px;white-space:normal;overflow-wrap:anywhere;
  border:1.5px solid var(--c-line-2,rgba(42,36,32,.22))!important;border-radius:999px!important;
  background:var(--c-surface,#FFFBF4);box-shadow:none!important;
  font-size:.95rem;font-weight:500;line-height:1.3;color:var(--c-ink,#2A2420);text-align:center;
  transition:background-color .2s,border-color .2s,color .2s;
}
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check label > span:hover{border-color:var(--c-ink,#2A2420)!important;color:var(--c-ink,#2A2420)}
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check input:checked + span,
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check.ff_item_selected label > span{
  background:var(--c-accent-2,#26433A);border-color:var(--c-accent-2,#26433A)!important;color:var(--c-on-dark,#FFFBF4);
}
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check label:focus-within span{background-color:var(--c-surface,#FFFBF4)}
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check input:checked:focus-within + span,
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check.ff_item_selected label:focus-within span{background-color:var(--c-accent-2,#26433A)}
.fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check input:focus-visible + span{outline:3px solid var(--c-focus,#26433A);outline-offset:3px}

/* ---------- consent (terms & conditions) ---------- */
.fluentform .frm-fluent-form .koma-consent .ff-el-tc{display:block}
.fluentform .frm-fluent-form .koma-consent label.ff_tc_label{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;margin:0;cursor:pointer}
.fluentform .frm-fluent-form .koma-consent label.ff_tc_label > span,
.fluentform .frm-fluent-form .koma-consent label.ff_tc_label > div{display:block;padding:0!important;width:auto}
.fluentform .frm-fluent-form .koma-consent .ff_tc_checkbox input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--c-accent-2,#26433A);cursor:pointer}
.fluentform .frm-fluent-form .koma-consent .ff_t_c{font-size:.9rem;line-height:1.6;color:var(--c-ink-2,#4A3F37)}
.fluentform .frm-fluent-form .koma-consent .ff_t_c a{color:var(--c-accent-ink,#9A4125);font-weight:500;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* ---------- note under the fields ---------- */
.fluentform .frm-fluent-form .ff-el-group.koma-note{margin:-6px 0 20px}
.fluentform .frm-fluent-form .koma-note p{margin:0;font-size:.84rem;line-height:1.6;color:var(--c-muted,#6B5D52)}
.fluentform .frm-fluent-form .koma-privacy-notice{padding:14px 16px;border-inline-start:3px solid var(--c-line-2);background:var(--c-bg);border-radius:8px}
.fluentform .frm-fluent-form .koma-privacy-notice p{margin:0;font-size:.88rem;line-height:1.7;color:var(--c-ink-2)}
.fluentform .frm-fluent-form .koma-privacy-notice a{color:var(--c-accent-ink);text-decoration:underline;text-underline-offset:3px}

/* ---------- buttons: next / prev / submit ---------- */
/* Step visibility belongs to Fluent; its temporary button hiding does not.
   The theme disables these still-visible buttons while the plugin is busy. */
.fluentform .fluent_form_3.koma-steps-ready{overflow-anchor:none}
.fluentform .fluent_form_3.koma-steps-ready .fluentform-step.active :is(.ff-btn-next,.ff-btn-prev,.ff-btn-submit){visibility:visible!important}
.fluentform .frm-fluent-form .step-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.fluentform .frm-fluent-form .step-nav .ff-btn-next{margin-inline-start:auto}
.fluentform .frm-fluent-form .ff-step-t-container{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;margin-top:6px}
.fluentform .frm-fluent-form .ff-step-t-container .ff-t-column-1{flex:none;width:auto}
.fluentform .frm-fluent-form .ff-step-t-container .ff-t-column-2{flex:1;width:auto}
.fluentform .frm-fluent-form .ff-step-t-container .step-nav{margin:0}
.fluentform .frm-fluent-form .ff_submit_btn_wrapper{margin:0;text-align:start}

.fluentform .frm-fluent-form .ff-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;float:none!important;
  min-height:54px;margin:0;padding:0 28px;border-radius:999px;border:1.5px solid transparent;
  font-family:inherit;font-size:1.02rem;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;
  transition:background-color .25s var(--ease,ease),color .25s var(--ease,ease),border-color .25s var(--ease,ease),box-shadow .25s var(--ease,ease),transform .25s var(--ease,ease);
}
.fluentform .frm-fluent-form .ff-btn-next,
.fluentform .frm-fluent-form .ff-btn.ff-btn-submit{
  background:var(--c-accent,#B5502F);color:var(--c-on-accent,#FFFBF4);border-color:var(--c-accent,#B5502F);
  box-shadow:0 14px 28px -16px rgba(181,80,47,.85);
}
.fluentform .frm-fluent-form .ff-btn.ff-btn-submit{width:100%}
.fluentform .frm-fluent-form .ff-btn-next:hover,
.fluentform .frm-fluent-form .ff-btn.ff-btn-submit:hover{background:var(--c-accent-hover,#9C4427);border-color:var(--c-accent-hover,#9C4427);color:var(--c-on-accent,#FFFBF4);transform:translateY(-1px)}
.fluentform .frm-fluent-form .ff-btn-next::after,
.fluentform .frm-fluent-form .ff-btn.ff-btn-submit::after{
  content:"";width:19px;height:19px;flex:none;background:currentColor;transition:transform .3s var(--ease,ease);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M11 6l-6 6 6 6'/%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 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M11 6l-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.fluentform .frm-fluent-form .ff-btn-next:hover::after,
.fluentform .frm-fluent-form .ff-btn.ff-btn-submit:hover::after{transform:translateX(-4px)}
.fluentform .frm-fluent-form .ff-btn-prev{background:transparent;color:var(--c-ink,#2A2420);border-color:var(--c-line-2,rgba(42,36,32,.22));box-shadow:none}
.fluentform .frm-fluent-form .ff-btn-prev:hover{border-color:var(--c-ink,#2A2420);background:rgba(42,36,32,.04);color:var(--c-ink,#2A2420)}
.fluentform .frm-fluent-form .ff-btn:focus-visible{outline:3px solid var(--c-focus,#26433A);outline-offset:3px}
.fluentform .frm-fluent-form .ff-btn[disabled],
.fluentform .frm-fluent-form.ff_submitting .ff-btn-submit{opacity:.7;cursor:progress;transform:none}

/* ---------- validation ---------- */
.fluentform .frm-fluent-form .ff-el-is-error .ff-el-form-control{border-color:#B42318}
.fluentform .frm-fluent-form .ff-el-is-error .ff-el-form-control:focus{box-shadow:0 0 0 4px rgba(180,35,24,.14)}
/* Errors sit in the reserved gap under their field, so adding/removing one never
   shifts the layout. Fluent toggles them on blur/change — a shift between mousedown
   and mouseup would swallow the click on the next control (e.g. the consent box). */
.fluentform .frm-fluent-form .ff-el-group .error.text-danger{position:absolute;inset-inline:0;top:calc(100% + 4px);margin:0;font-size:.84rem;font-weight:500;line-height:1.4;color:#B42318}
.fluentform .frm-fluent-form .ff-el-is-error.ff_list_buttons .ff-el-form-check label > span{border-color:rgba(180,35,24,.55)!important}
.fluentform .frm-fluent-form .ff-el-is-error .ff-el-form-check-label,
.fluentform .frm-fluent-form .ff-el-is-error .ff-el-form-check-label a{color:inherit}
.fluentform .frm-fluent-form .ff-el-is-error .ff_t_c{color:#B42318}
.fluentform .ff-errors-in-stack{margin-top:14px;font-size:.9rem;color:#B42318}

/* ---------- success ---------- */
.fluentform .ff-message-success{
  display:flex;flex-direction:column;align-items:center;gap:16px;margin:0;padding:40px 12px;
  border:0;box-shadow:none;background:transparent;text-align:center;
  font-size:1.2rem;font-weight:600;line-height:1.5;color:var(--c-ink,#2A2420);
}
.fluentform .ff-message-success::before{
  content:"";width:64px;height:64px;border-radius:50%;flex:none;
  background:var(--c-accent-2,#26433A) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFBF4' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/30px no-repeat;
}
.fluentform .ff-message-success p{margin:0;max-width:30ch}

/* ---------- responsive ---------- */
@media (max-width:767px){
  .fluentform[class*="fluentform_wrapper_"]{padding:22px 18px;border-radius:24px}
  .fluentform .frm-fluent-form .ff-el-group.koma-half{float:none;width:100%}
  .fluentform .frm-fluent-form .ff-el-group.koma-half + .ff-el-group.koma-half{margin-inline-start:0}
  .fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check{display:block!important;width:auto!important}
  .fluentform .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check label > span{display:inline-flex!important;padding-inline:14px}
  .fluentform .frm-fluent-form .step-nav{flex-direction:column-reverse;align-items:stretch}
  .fluentform .frm-fluent-form .step-nav .ff-btn{width:100%}
  .fluentform .frm-fluent-form .step-nav .ff-btn-next{margin-inline-start:0}
  .fluentform .frm-fluent-form .ff-step-t-container{flex-direction:column-reverse;align-items:stretch}
  .fluentform .frm-fluent-form .ff-step-t-container .ff-t-column-1 .ff-btn-prev{width:100%}
  .fluentform .frm-fluent-form .ff-btn{max-width:100%;padding:14px 20px;white-space:normal;overflow-wrap:anywhere}
  .fluentform .frm-fluent-form .koma-consent .ff_t_c a{white-space:normal}
}
@media (prefers-reduced-motion:reduce){
  .fluentform .frm-fluent-form .ff-btn,
  .fluentform .frm-fluent-form .ff-el-progress-bar{transition:none}
}
