/* Frontend */
.rucf-widget-v2017{
 --rucf-accent:#635BFF;--rucf-accent-2:#5148E8;--rucf-ink:#fff;
 position:fixed!important;right:24px;bottom:24px;z-index:999998;font-family:Manrope,system-ui,sans-serif;
}
.rucf-widget-v2017[data-position=left]{right:auto;left:24px}
.rucf-main{
 position:relative!important;width:60px!important;height:60px!important;padding:0!important;margin:0!important;
 border-radius:50%!important;border:1px solid var(--rucf-accent)!important;
 background:color-mix(in srgb,var(--rucf-accent) 12%,transparent)!important;
 color:var(--rucf-accent)!important;display:flex!important;align-items:center!important;justify-content:center!important;
 cursor:pointer!important;box-shadow:0 10px 35px rgba(0,0,0,.20)!important;outline:none!important;
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .25s ease,background .25s ease!important;
}
.rucf-main:before,.rucf-main:after{
 content:"";position:absolute;inset:-1px;border:1px solid var(--rucf-accent);border-radius:50%;opacity:0;pointer-events:none;
}
.rucf-main:before{animation:rucf-wave 2.4s ease-out infinite}
.rucf-main:after{animation:rucf-wave 2.4s ease-out 1.2s infinite}
.rucf-main:hover{background:color-mix(in srgb,var(--rucf-accent) 20%,transparent)!important;transform:scale(1.04)}
.rucf-main-icon,.rucf-icon{
 display:block;background:var(--rucf-accent);-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);
 -webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.rucf-main-icon{width:25px;height:25px}
.rucf-close-icon{display:none;font-size:30px;font-weight:300;line-height:1;color:var(--rucf-accent)}
.rucf-widget-v2017.is-open .rucf-main:before,.rucf-widget-v2017.is-open .rucf-main:after{animation:none;opacity:0}
.rucf-widget-v2017.is-open .rucf-main-icon{display:none}.rucf-widget-v2017.is-open .rucf-close-icon{display:block}
@keyframes rucf-wave{0%{transform:scale(1);opacity:.55}75%{transform:scale(1.85);opacity:0}100%{transform:scale(1.85);opacity:0}}
.rucf-items{position:absolute;right:0;bottom:72px;display:flex;flex-direction:column;gap:10px;align-items:flex-end;pointer-events:none}
.rucf-widget-v2017[data-position=left] .rucf-items{right:auto;left:0;align-items:flex-start}
.rucf-item{display:flex;align-items:center;gap:10px;text-decoration:none!important;color:var(--rucf-accent)!important;opacity:0;transform:translateY(12px) scale(.92);pointer-events:none;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1)}
.rucf-widget-v2017.is-open .rucf-item{opacity:1;transform:none;pointer-events:auto}
.rucf-item:nth-child(2){transition-delay:.04s}.rucf-item:nth-child(3){transition-delay:.08s}.rucf-item:nth-child(4){transition-delay:.12s}.rucf-item:nth-child(5){transition-delay:.16s}
.rucf-icon{width:var(--rucf-dropdown-icon-size,46px) !important;height:var(--rucf-dropdown-icon-size,46px) !important;flex:0 0 var(--rucf-dropdown-icon-size,46px) !important;padding:0;border-radius:50%;background:var(--rucf-accent);border:1px solid var(--rucf-accent);box-shadow:0 8px 28px rgba(0,0,0,.16);transition:transform .2s ease,background .2s ease}
.rucf-item:hover .rucf-icon{transform:scale(1.06)}
.rucf-label{order:-1;padding:9px 12px;border:1px solid color-mix(in srgb,var(--rucf-accent) 55%,transparent);border-radius:10px;background:color-mix(in srgb,var(--rucf-accent) 8%,transparent);color:var(--rucf-accent);font-size:12px;font-weight:600;line-height:1;backdrop-filter:blur(12px);white-space:nowrap}
.rucf-widget-v2017[data-position=left] .rucf-label{order:2}
.rucf-widget-v2017[data-palette=blue]{--rucf-accent:#2F80ED;--rucf-accent-2:#1D6FD5}.rucf-widget-v2017[data-palette=cyan]{--rucf-accent:#18B7C9;--rucf-accent-2:#0D9EAF}
.rucf-widget-v2017[data-palette=emerald]{--rucf-accent:#16A879;--rucf-accent-2:#108C66}.rucf-widget-v2017[data-palette=pink]{--rucf-accent:#E85D9E;--rucf-accent-2:#D7488A}
.rucf-widget-v2017[data-palette=orange]{--rucf-accent:#E8942E;--rucf-accent-2:#D57D18}.rucf-widget-v2017[data-palette=red]{--rucf-accent:#E25555;--rucf-accent-2:#CC3D3D}
.rucf-widget-v2017[data-palette=white]{--rucf-accent:#F5F6F8;--rucf-accent-2:#DDE1E8}.rucf-widget-v2017[data-palette=graphite]{--rucf-accent:#8B93A1;--rucf-accent-2:#707987}
@media(max-width:1024px){.rucf-widget-v2017{right:16px;bottom:16px}.rucf-widget-v2017[data-position=left]{right:auto;left:16px}.rucf-main{width:56px!important;height:56px!important}.rucf-icon{width:var(--rucf-dropdown-icon-size,43px) !important;height:var(--rucf-dropdown-icon-size,43px) !important;flex-basis:var(--rucf-dropdown-icon-size,43px) !important}.rucf-items{bottom:67px}.rucf-label{display:none !important}.rucf-widget-v2017[data-mobile-labels="1"] .rucf-label,.rucf-widget-v2017.rucf-mobile-labels .rucf-label{display:block !important}.rucf-widget-v2017[data-mobile-labels=1] .rucf-item{gap:8px}.rucf-widget-v2017[data-mobile-labels=1] .rucf-label{font-size:11px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.rucf-main:before,.rucf-main:after{animation:none}.rucf-item{transition:none}}


/* User setting: size of the DROPDOWN contact icons only. */
.rucf-widget-v2017 .rucf-icon{
    width:var(--rucf-dropdown-icon-size,46px) !important;
    height:var(--rucf-dropdown-icon-size,46px) !important;
    flex:0 0 var(--rucf-dropdown-icon-size,46px) !important;
}

/* Callback request */
.rucf-callback-item{position:relative!important;display:flex!important;align-items:center!important}
.rucf-callback-trigger{display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:inherit!important;font:inherit!important;cursor:pointer!important}
.rucf-callback-icon{width:var(--rucf-dropdown-icon-size,46px)!important;height:var(--rucf-dropdown-icon-size,46px)!important;flex:0 0 var(--rucf-dropdown-icon-size,46px)!important}
.rucf-callback-form{
 position:absolute;right:calc(var(--rucf-dropdown-icon-size,46px) + 10px);top:50%;width:286px;height:54px;
 box-sizing:border-box;padding:5px;display:flex;align-items:center;gap:7px;
 border:1px solid color-mix(in srgb,var(--rucf-accent) 72%,transparent);
 border-radius:999px;background:color-mix(in srgb,var(--rucf-accent) 12%,rgba(10,12,16,.94));
 box-shadow:0 14px 38px rgba(0,0,0,.30);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
 opacity:0;visibility:hidden;pointer-events:none;transform:translate(12px,-50%);
 transform-origin:right center;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility .22s ease;
}
.rucf-widget-v2017[data-position=left] .rucf-callback-form{right:auto;left:calc(var(--rucf-dropdown-icon-size,46px) + 10px);transform:translate(-12px,-50%);transform-origin:left center}
.rucf-callback-form.is-form-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,-50%)}
.rucf-callback-field{
 position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0;width:auto;height:44px;margin:0;padding:0 8px;
 border:1px solid color-mix(in srgb,var(--rucf-accent) 58%,transparent);border-radius:999px;
 background:color-mix(in srgb,var(--rucf-accent) 9%,rgba(255,255,255,.07));box-sizing:border-box;overflow:hidden
}
.rucf-callback-phone{
 width:100%!important;min-width:0!important;height:42px!important;box-sizing:border-box;padding:0!important;
 border:0!important;border-radius:999px!important;background:transparent!important;color:var(--rucf-accent)!important;
 font:600 15px/1 Manrope,system-ui,sans-serif!important;letter-spacing:0;outline:none!important;box-shadow:none!important;
}
.rucf-callback-phone::placeholder{color:color-mix(in srgb,var(--rucf-accent) 70%,white)!important;opacity:1}
.rucf-callback-phone:focus{border:0!important;background:transparent!important;outline:none!important;box-shadow:none!important}
.rucf-callback-phone.is-hidden{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;min-width:0!important;padding:0!important;margin:0!important}
.rucf-callback-success{display:none;align-items:center;justify-content:center;text-align:center;width:100%;height:100%;padding:0 6px;box-sizing:border-box;color:var(--rucf-accent);font:700 13px/1.1 Manrope,system-ui,sans-serif;white-space:nowrap}
.rucf-callback-success.is-visible{display:flex}
.rucf-callback-success.is-error{color:#ff8f8f;font-size:11px;white-space:normal}
.rucf-callback-submit{
 width:44px!important;height:44px!important;min-width:44px!important;margin:0!important;padding:0!important;
 border:1px solid var(--rucf-accent)!important;border-radius:50%!important;
 background:color-mix(in srgb,var(--rucf-accent) 17%,transparent)!important;color:var(--rucf-accent)!important;
 font:400 25px/1 Arial,sans-serif!important;display:flex!important;align-items:center!important;justify-content:center!important;
 cursor:pointer!important;transition:background .2s ease,transform .2s ease,opacity .2s ease!important;flex:0 0 44px!important
}
.rucf-callback-submit:hover{background:color-mix(in srgb,var(--rucf-accent) 30%,transparent)!important;transform:scale(1.04)}
.rucf-callback-submit:disabled{opacity:.55;cursor:wait!important;transform:none!important}
.rucf-callback-submit.is-sent{background:color-mix(in srgb,var(--rucf-accent) 25%,transparent)!important}
@media(max-width:1024px){
 .rucf-callback-form{width:286px;height:52px;top:50%;}
 .rucf-callback-submit{width:42px!important;height:42px!important;min-width:42px!important;flex-basis:42px!important;font-size:23px!important}
 .rucf-callback-field{height:42px;padding:0 7px}.rucf-callback-phone{height:40px!important;font-size:14px!important}.rucf-callback-success{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.rucf-callback-item,.rucf-callback-form{transition:none}}


/* v2.0.1 alignment polish */
.rucf-widget-v2017 .rucf-callback-item{position:relative!important;min-height:var(--rucf-dropdown-icon-size,46px)!important}
.rucf-widget-v2017 .rucf-callback-trigger{order:initial!important}
.rucf-widget-v2017 .rucf-callback-form{width:242px!important;max-width:242px!important;box-sizing:border-box!important;}
.rucf-widget-v2017[data-position=right] .rucf-callback-form{right:calc(var(--rucf-dropdown-icon-size,46px) + 10px)!important}
.rucf-widget-v2017[data-position=left] .rucf-callback-form{left:calc(var(--rucf-dropdown-icon-size,46px) + 10px)!important}
.rucf-widget-v2017 .rucf-callback-field{flex:1 1 auto!important;min-width:0!important}
.rucf-widget-v2017 .rucf-callback-phone{font-size:14px!important;letter-spacing:-.1px!important}
@media(max-width:1024px){
 .rucf-widget-v2017 .rucf-callback-form{width:242px!important;max-width:242px!important}
 .rucf-widget-v2017 .rucf-callback-phone{font-size:13px!important;letter-spacing:-.15px!important}
}


/* v2.0.2 — manual phone entry + larger readable number */
.rucf-widget-v2017 .rucf-callback-form{width:262px!important;max-width:262px!important;}
.rucf-widget-v2017 .rucf-callback-phone{font-size:17px!important;letter-spacing:-.25px!important;font-weight:600!important;}
.rucf-widget-v2017 .rucf-callback-field{padding-left:8px!important;padding-right:8px!important;}
@media(max-width:1024px){
 .rucf-widget-v2017 .rucf-callback-form{width:262px!important;max-width:262px!important;}
 .rucf-widget-v2017 .rucf-callback-phone{font-size:16px!important;letter-spacing:-.2px!important;}
}


/* v2.0.3 — callback form final alignment polish */
.rucf-widget-v2017.callback-open .rucf-item:not(.rucf-callback-item){
    transform:translateY(-9px) !important;
}
.rucf-widget-v2017.callback-open .rucf-callback-item .rucf-label{
    opacity:0 !important;
    visibility:hidden !important;
    width:0 !important;
    max-width:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
}
.rucf-widget-v2017 .rucf-callback-form{
    padding:4px !important;
    gap:8px !important;
    width:262px !important;
    max-width:262px !important;
    height:54px !important;
    box-sizing:border-box !important;
}
.rucf-widget-v2017 .rucf-callback-field{
    height:44px !important;
    margin:0 !important;
    padding:0 4px !important;
    border:0 !important;
    background:color-mix(in srgb,var(--rucf-accent) 10%,rgba(255,255,255,.08)) !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.rucf-widget-v2017 .rucf-callback-phone{
    height:42px !important;
    padding:0 4px !important;
    margin:0 !important;
    text-align:center !important;
    font-size:17px !important;
    line-height:42px !important;
    font-weight:600 !important;
    letter-spacing:-.2px !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}
@media(max-width:1024px){
    .rucf-widget-v2017.callback-open .rucf-item:not(.rucf-callback-item){
        transform:translateY(-9px) !important;
    }
    .rucf-widget-v2017 .rucf-callback-form{
        width:262px !important;
        max-width:262px !important;
        height:54px !important;
        padding:4px !important;
        gap:8px !important;
    }
    .rucf-widget-v2017 .rucf-callback-field{
        height:44px !important;
        padding:0 4px !important;
    }
    .rucf-widget-v2017 .rucf-callback-phone{
        height:42px !important;
        line-height:42px !important;
        padding:0 4px !important;
        font-size:16px !important;
        letter-spacing:-.2px !important;
    }
}


/* v2.0.5 — compact callback messages */
.rucf-widget-v2017 .rucf-callback-success{
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    white-space:nowrap !important;
    padding:0 4px !important;
    font-size:13px !important;
    line-height:1 !important;
    overflow:hidden !important;
}
.rucf-widget-v2017 .rucf-callback-success.is-error{
    display:none !important;
}
@media(max-width:1024px){
    .rucf-widget-v2017 .rucf-callback-success{
        font-size:12px !important;
        padding:0 3px !important;
    }
}



/* v2.0.12 — stylish, noticeable red validation flash */
@keyframes rucf-invalid-flash{
  0%,100%{
    border-color:color-mix(in srgb,var(--rucf-accent) 72%,transparent);
    box-shadow:0 14px 38px rgba(0,0,0,.30);
  }
  18%{
    border-color:rgba(224,72,82,.96);
    box-shadow:0 0 0 2px rgba(224,72,82,.26),0 0 22px rgba(224,72,82,.20),0 14px 38px rgba(0,0,0,.30);
  }
  38%{
    border-color:rgba(224,72,82,.78);
    box-shadow:0 0 0 3px rgba(224,72,82,.18),0 0 30px rgba(224,72,82,.24),0 14px 38px rgba(0,0,0,.30);
  }
  56%{
    border-color:rgba(224,72,82,.96);
    box-shadow:0 0 0 2px rgba(224,72,82,.25),0 0 20px rgba(224,72,82,.18),0 14px 38px rgba(0,0,0,.30);
  }
  78%{
    border-color:rgba(224,72,82,.55);
    box-shadow:0 0 0 1px rgba(224,72,82,.12),0 0 14px rgba(224,72,82,.12),0 14px 38px rgba(0,0,0,.30);
  }
}
.rucf-widget-v2017 .rucf-callback-form.rucf-validation-error{
  animation:rucf-invalid-flash 1s ease-in-out;
}
@media(prefers-reduced-motion:reduce){
  .rucf-widget-v2017 .rucf-callback-form.rucf-validation-error{
    animation:none;
    border-color:rgba(224,72,82,.9)!important;
    box-shadow:0 0 0 2px rgba(224,72,82,.22),0 0 24px rgba(224,72,82,.18),0 14px 38px rgba(0,0,0,.30)!important;
  }
}



/* v2.0.18 — suppress legacy phone-mask validation message */
.rucf-widget-v2017 .phone-error-message{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
