.clf-form-wrap{max-width:780px;margin:30px auto;font-family:inherit;color:#172033}.clf-form-wrap *{box-sizing:border-box}.clf-progress{margin-bottom:28px}.clf-progress-track{height:7px;background:#e8edf5;border-radius:99px;overflow:hidden}.clf-progress-track span{display:block;height:100%;width:33%;background:var(--clf-accent);border-radius:99px;transition:width .3s ease}.clf-progress-meta{display:flex;justify-content:space-between;font-size:13px;color:#64748b;margin-top:8px}.clf-progress.none{display:none}.clf-progress.dots .clf-progress-track{height:5px}.clf-step{display:none}.clf-step.is-active{display:block;animation:clfFade .25s ease}@keyframes clfFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.clf-step-heading h2{font-size:30px;line-height:1.2;margin:0 0 8px}.clf-step-heading p{color:#64748b;margin:0 0 26px}.clf-field{margin-bottom:22px}.clf-label{display:block;font-weight:700;font-size:16px;margin-bottom:10px}.clf-label span{color:#ef4444;margin-left:4px}.clf-options{display:grid;gap:12px}.clf-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.clf-option{display:block;cursor:pointer}.clf-option input{position:absolute;opacity:0;pointer-events:none}.clf-option-inner{display:flex;align-items:center;gap:12px;min-height:64px;padding:15px 17px;border:1.5px solid #d9e1ec;border-radius:var(--clf-radius);background:#fff;transition:.2s ease;font-weight:600}.clf-cards .clf-option-inner{min-height:105px;flex-direction:column;align-items:flex-start;justify-content:center}.clf-icon{font-size:27px;line-height:1}.clf-option:hover .clf-option-inner{border-color:var(--clf-accent);transform:translateY(-1px);box-shadow:0 5px 16px rgba(15,23,42,.06)}.clf-option input:checked + .clf-option-inner{border-color:var(--clf-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--clf-accent) 18%,transparent);background:#f8fbff}.clf-field input:not([type=radio]),.clf-field textarea,.clf-field select{width:100%;border:1.5px solid #d9e1ec;border-radius:10px;padding:14px 15px;background:#fff;font-size:16px;outline:none;transition:.2s}.clf-field input:focus,.clf-field textarea:focus,.clf-field select:focus{border-color:var(--clf-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--clf-accent) 12%,transparent)}.clf-field textarea{min-height:120px;resize:vertical}.clf-error{font-size:13px;color:#dc2626;margin-top:6px;min-height:0}.clf-field.has-error input:not([type=radio]),.clf-field.has-error textarea,.clf-field.has-error select{border-color:#ef4444}.clf-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:30px}.clf-nav button{border:0;border-radius:10px;padding:14px 21px;font-size:15px;font-weight:700;cursor:pointer}.clf-back{background:#f1f5f9;color:#475569}.clf-next,.clf-submit{background:var(--clf-button);color:#fff;margin-left:auto}.clf-next span,.clf-submit span{margin-left:7px}.clf-next:hover,.clf-submit:hover{opacity:.92}.clf-submit.loading{opacity:.65;cursor:wait}.clf-result{display:none;margin-top:18px;padding:15px;border-radius:10px;font-weight:600}.clf-result.success{display:block;background:#ecfdf5;color:#047857}.clf-result.error{display:block;background:#fef2f2;color:#b91c1c}.clf-frontend-form.submitted .clf-steps-front{display:none}.clf-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.clf-form-wrap .clf-option-inner{color:inherit}@media(max-width:600px){.clf-cards{grid-template-columns:1fr}.clf-step-heading h2{font-size:25px}.clf-cards .clf-option-inner{min-height:82px;flex-direction:row;align-items:center}.clf-nav{margin-top:20px}.clf-nav button{width:50%}}
.clf-recaptcha-wrap{margin:10px 0 20px}.clf-recaptcha-error{color:#dc2626;font-size:13px;margin-top:7px;font-weight:600}

/* Phone field: country picker + number input */
.clf-phone-input{
  display:grid;
  grid-template-columns:156px minmax(0,1fr);
  gap:8px;
  position:relative;
  align-items:stretch;
}
.clf-phone-country-wrap{position:relative;min-width:0;z-index:20}
.clf-phone-country-button{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1.5px solid #d9e1ec!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#172033!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1!important;
  text-align:left!important;
  cursor:pointer!important;
}
.clf-phone-country-button:hover,
.clf-phone-country-wrap.is-open .clf-phone-country-button{
  border-color:var(--clf-accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--clf-accent) 12%,transparent)!important;
}
.clf-phone-selected-flag{font-size:20px!important;line-height:1!important;flex:0 0 auto}
.clf-phone-selected-country{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.clf-phone-selected-code{color:#64748b;white-space:nowrap;font-size:14px}
.clf-phone-chevron{margin-left:auto!important;font-size:11px!important;color:#64748b!important;line-height:1!important}
.clf-phone-country-menu{
  position:absolute!important;
  z-index:99999!important;
  left:0!important;
  top:calc(100% + 5px)!important;
  width:355px!important;
  max-width:min(355px,calc(100vw - 32px))!important;
  max-height:285px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  margin:0!important;
  padding:4px!important;
  list-style:none!important;
  background:#fff!important;
  border:1px solid #d9e1ec!important;
  border-radius:8px!important;
  box-shadow:0 10px 28px rgba(15,23,42,.14)!important;
  display:none!important;
}
.clf-phone-country-wrap.is-open .clf-phone-country-menu{display:block!important}
.clf-phone-country-option{
  appearance:none!important;
  -webkit-appearance:none!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:42px!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:4px!important;
  background:#fff!important;
  text-decoration:none!important;
  color:#172033!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.2!important;
  text-align:left!important;
  white-space:normal!important;
  cursor:pointer!important;
}
.clf-phone-country-option:hover,
.clf-phone-country-option[aria-selected="true"]{
  background:#f1f3f5!important;
  color:#172033!important;
}
.clf-phone-option-flag{font-size:20px!important;line-height:1!important;text-align:center}
.clf-phone-option-name{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.clf-phone-option-code{font-size:14px!important;color:#64748b!important;white-space:nowrap!important}
.clf-phone-number{
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  height:100%!important;
}
@media(max-width:600px){
  .clf-phone-input{grid-template-columns:125px minmax(0,1fr)}
  .clf-phone-country-menu{width:310px!important}
}

/* Hard reset for country dropdown so theme/Elementor button styles cannot break it. */
.clf-form-wrap .clf-phone-country-wrap{position:relative!important;}
.clf-form-wrap .clf-phone-country-menu{all:unset;position:absolute!important;box-sizing:border-box!important;z-index:2147483647!important;left:0!important;top:calc(100% + 6px)!important;width:355px!important;max-width:min(355px,calc(100vw - 32px))!important;max-height:290px!important;overflow-y:auto!important;overflow-x:hidden!important;padding:5px!important;margin:0!important;display:none!important;background:#fff!important;border:1px solid #d7dee8!important;border-radius:8px!important;box-shadow:0 12px 30px rgba(15,23,42,.18)!important;font-family:inherit!important;}
.clf-form-wrap .clf-phone-country-wrap.is-open .clf-phone-country-menu{display:block!important;}
.clf-form-wrap .clf-phone-country-menu *{box-sizing:border-box!important;}
.clf-form-wrap .clf-phone-country-option{appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:42px!important;height:auto!important;display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;margin:0!important;padding:9px 10px!important;border:0!important;border-radius:4px!important;background:#fff!important;color:#172033!important;box-shadow:none!important;font-family:inherit!important;font-size:15px!important;font-weight:400!important;line-height:1.2!important;text-align:left!important;text-decoration:none!important;cursor:pointer!important;}
.clf-form-wrap .clf-phone-country-option:hover,.clf-form-wrap .clf-phone-country-option:focus,.clf-form-wrap .clf-phone-country-option[aria-selected="true"]{background:#f1f3f5!important;color:#172033!important;outline:none!important;}
.clf-form-wrap .clf-phone-option-name{display:block!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
@media(max-width:600px){.clf-form-wrap .clf-phone-country-menu{width:310px!important;max-width:calc(100vw - 32px)!important;}}
