/* Offerist public callback widget */
.public-callback{
  --cb-accent:#35e8d3;
  --cb-accent-2:#7657ff;
  --cb-ink:#0b1020;
  --cb-muted:#667085;
  position:fixed;
  right:clamp(18px,2.1vw,34px);
  bottom:clamp(18px,2.1vw,34px);
  z-index:9800;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.public-callback__backdrop{display:none}
.public-callback__launcher{
  position:relative;
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  padding:0;
  color:#fff;
  cursor:pointer;
  background:linear-gradient(135deg,var(--cb-accent),#21b5f5 42%,var(--cb-accent-2));
  box-shadow:0 18px 42px rgba(38,120,255,.34),0 5px 14px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.48);
  transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .24s ease,filter .24s ease;
  animation:publicCallbackNudge 7s ease-in-out infinite;
  -webkit-tap-highlight-color:transparent;
}
.public-callback__launcher::before,
.public-callback__launcher::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  border:1px solid rgba(83,231,224,.5);
  opacity:0;
  pointer-events:none;
  animation:publicCallbackRing 7s ease-out infinite;
}
.public-callback__launcher::after{animation-delay:.35s}
.public-callback__launcher:hover{
  filter:saturate(1.08) brightness(1.04);
  box-shadow:0 22px 52px rgba(38,120,255,.43),0 8px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.55);
  transform:translateY(-2px) scale(1.035);
}
.public-callback.is-open .public-callback__launcher{
  animation:none;
  transform:scale(.96);
  box-shadow:0 15px 38px rgba(38,120,255,.29),0 5px 14px rgba(0,0,0,.2);
}
.public-callback.is-open .public-callback__launcher::before,
.public-callback.is-open .public-callback__launcher::after{animation:none;opacity:0}
.public-callback__icon{
  position:absolute;
  width:28px;
  height:28px;
  z-index:1;
  transition:opacity .22s ease,transform .38s cubic-bezier(.16,1,.3,1);
}
.public-callback__icon--message{opacity:1;transform:rotate(0deg) scale(1)}
.public-callback__icon--close{opacity:0;transform:rotate(90deg) scale(.65)}
.public-callback.is-open .public-callback__icon--message{opacity:0;transform:rotate(-90deg) scale(.65)}
.public-callback.is-open .public-callback__icon--close{opacity:1;transform:rotate(0deg) scale(1)}
.public-callback__panel{
  position:absolute;
  right:0;
  bottom:86px;
  width:min(410px,calc(100vw - 32px));
  max-height:min(620px,calc(100vh - 126px));
  display:grid;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding:30px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:25px;
  background:rgba(255,255,255,.975);
  color:var(--cb-ink);
  box-shadow:0 32px 90px rgba(2,8,23,.38),0 10px 32px rgba(2,8,23,.16),inset 0 1px 0 #fff;
  backdrop-filter:blur(24px) saturate(1.25);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(18px) scale(.94);
  transform-origin:calc(100% - 32px) 100%;
  transition:opacity .28s ease,visibility .28s ease,transform .48s cubic-bezier(.16,1,.3,1);
  box-sizing:border-box;
}
.public-callback__panel,.public-callback__panel *{box-sizing:border-box;min-width:0}
.public-callback__form-view,.public-callback__success{grid-area:1 / 1;transition:opacity .28s ease,visibility .28s ease,transform .38s cubic-bezier(.16,1,.3,1)}
.public-callback__form-view{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.public-callback.is-open .public-callback__panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.public-callback__glow{
  position:absolute;
  inset:-70px -70px auto auto;
  width:210px;
  height:210px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(53,232,211,.22),rgba(118,87,255,.11) 45%,transparent 72%);
  pointer-events:none;
}
.public-callback__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:11px;
  color:#3c65d7;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.public-callback__eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cb-accent);box-shadow:0 0 0 5px rgba(53,232,211,.14)}
.public-callback__title{margin:0;font-size:clamp(25px,3vw,31px);line-height:1.08;letter-spacing:-.035em;font-weight:850;color:#0c1326}
.public-callback__lead{margin:12px 0 23px;color:#5d6b82;font-size:14px;line-height:1.55}
.public-callback__field{display:block;margin:0 0 13px}
.public-callback__label{display:block;margin:0 0 7px;color:#344054;font-size:12px;font-weight:750}
.public-callback__control{
  position:relative;
  display:flex;
  align-items:center;
  min-height:56px;
  border:1px solid #d7dfec;
  border-radius:15px;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,.025);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.public-callback__control:focus-within{border-color:#5e82ff;box-shadow:0 0 0 4px rgba(94,130,255,.12),0 8px 24px rgba(72,99,177,.08);transform:translateY(-1px)}
.public-callback__control svg{flex:0 0 auto;width:19px;height:19px;margin-left:17px;color:#98a5b8}
.public-callback__control input{
  width:100%;
  height:54px;
  border:0;
  outline:0;
  padding:0 17px 0 12px;
  border-radius:inherit;
  background:transparent;
  color:#101828;
  font:600 15px/1.2 inherit;
}
.public-callback__control input::placeholder{color:#9ba7b8;font-weight:500}
.public-callback__phone-prefix{display:flex;align-items:center;gap:7px;padding-left:16px;color:#344054;font-size:14px;font-weight:750;white-space:nowrap}
.public-callback__phone-prefix::after{content:"";width:1px;height:24px;background:#e5eaf2;margin-left:3px}
.public-callback__consent{position:relative;display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;margin:17px 0 18px;color:#5d687b;font-size:12.5px;line-height:1.45;cursor:pointer}
.public-callback__consent input{position:absolute;opacity:0;pointer-events:none}
.public-callback__check{width:22px;height:22px;display:grid;place-items:center;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#fff;transition:.2s ease}
.public-callback__check svg{width:14px;height:14px;opacity:0;transform:scale(.5);transition:.2s ease}
.public-callback__consent input:checked + .public-callback__check{border-color:#22b88f;background:#22b88f;box-shadow:0 6px 15px rgba(34,184,143,.2)}
.public-callback__consent input:checked + .public-callback__check svg{opacity:1;transform:scale(1)}
.public-callback__consent input:focus-visible + .public-callback__check{outline:3px solid rgba(94,130,255,.2);outline-offset:2px}
.public-callback__consent a{color:#6548f4;text-decoration:underline;text-decoration-color:rgba(101,72,244,.28);text-underline-offset:2px}
.public-callback__submit{
  width:100%;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-radius:15px;
  padding:0 22px;
  color:#fff;
  background:linear-gradient(100deg,#15cbb7 0%,#248df4 47%,#774cff 100%);
  box-shadow:0 15px 32px rgba(71,98,255,.27),inset 0 1px 0 rgba(255,255,255,.36);
  cursor:pointer;
  font-size:15px;
  font-weight:800;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.public-callback__submit:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 19px 38px rgba(71,98,255,.34),inset 0 1px 0 rgba(255,255,255,.42)}
.public-callback__submit:active{transform:translateY(0) scale(.99)}
.public-callback__submit:disabled{cursor:wait;opacity:.72;transform:none}
.public-callback__spinner{display:none;width:17px;height:17px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:publicCallbackSpin .7s linear infinite}
.public-callback.is-loading .public-callback__spinner{display:block}
.public-callback__message{min-height:18px;margin:11px 0 0;color:#d92d20;font-size:12px;line-height:1.4;text-align:center}
.public-callback__message.is-success{color:#07875f}
.public-callback__success{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;text-align:center;padding:18px 4px 9px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.97)}
.public-callback.is-success .public-callback__form-view{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px)}
.public-callback.is-success .public-callback__success{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);animation:publicCallbackSuccess .42s cubic-bezier(.16,1,.3,1) both}
.public-callback__success-icon{width:66px;height:66px;display:grid;place-items:center;margin:0 auto 17px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#21c69b,#34d399);box-shadow:0 16px 34px rgba(33,198,155,.28)}
.public-callback__success-icon svg{width:31px;height:31px}
.public-callback__success h3{margin:0 0 8px;font-size:24px;color:#0c1326}
.public-callback__success p{max-width:300px;margin:0;color:#64748b;font-size:14px;line-height:1.55}
.public-callback__panel input,.public-callback__panel button,.public-callback__panel a{max-width:100%}
.public-callback__message,.public-callback__lead,.public-callback__consent,.public-callback__success p{overflow-wrap:anywhere}
.public-callback__honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
@keyframes publicCallbackNudge{0%,68%,100%{transform:translateY(0) scale(1)}72%{transform:translateY(-3px) scale(1.055)}76%{transform:translateY(0) scale(.985)}80%{transform:translateY(-1px) scale(1.02)}84%{transform:translateY(0) scale(1)}}
@keyframes publicCallbackRing{0%,68%{opacity:0;transform:scale(.82)}72%{opacity:.58}84%{opacity:0;transform:scale(1.48)}100%{opacity:0}}
@keyframes publicCallbackSpin{to{transform:rotate(360deg)}}
@keyframes publicCallbackSuccess{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:640px){
  .public-callback{right:14px;bottom:max(14px,env(safe-area-inset-bottom))}
  .public-callback__launcher{width:60px;height:60px}
  .public-callback__panel{position:fixed;left:12px;right:12px;bottom:88px;width:auto;max-width:calc(100vw - 24px);max-height:calc(100dvh - 112px);padding:24px 20px;border-radius:22px;transform-origin:calc(100% - 32px) 100%;overflow-x:hidden}
  .public-callback__backdrop{position:fixed;inset:0;display:block;background:rgba(2,6,23,.5);backdrop-filter:blur(5px);opacity:0;visibility:hidden;pointer-events:none;transition:.28s ease}
  .public-callback.is-open .public-callback__backdrop{opacity:1;visibility:visible;pointer-events:auto}
  body.public-callback-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){
  .public-callback__launcher,.public-callback__launcher::before,.public-callback__launcher::after,.public-callback__panel,.public-callback__icon,.public-callback__success{animation:none!important;transition-duration:.01ms!important}
}
