/* Doctor Doma V79: premium callback form, fully erasable phone field and external tap cue. */
.px-call-stage{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  padding-bottom:29px;
}
.px-call-stage-hero{margin-top:8px}
.px-call-stage-final{grid-column:2}
.px-call-stage-direct{min-width:220px}
.px-call-stage>.px-premium-call{
  grid-template-columns:40px minmax(0,1fr)!important;
  margin:0!important;
  overflow:hidden!important;
}
.px-call-stage>.px-final-call{grid-column:auto!important}
.px-call-stage .px-call-tap{display:none!important}
.px-call-gesture{
  position:absolute;
  z-index:3;
  right:10px;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  height:29px;
  color:#527086;
  pointer-events:none;
  user-select:none;
}
.px-call-gesture>small{
  display:block;
  padding:4px 7px;
  color:#527086;
  background:rgba(237,248,249,.96);
  border:1px solid rgba(129,202,209,.38);
  border-radius:999px;
  font-size:9px;
  font-weight:850;
  line-height:1;
  box-shadow:0 5px 13px rgba(7,74,94,.08);
}
.px-call-gesture>i{
  position:relative;
  display:grid;
  place-items:center;
  width:27px;
  height:29px;
  font-style:normal;
}
.px-call-gesture>i>span{
  position:relative;
  z-index:2;
  display:block;
  font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;
  font-size:23px;
  line-height:1;
  filter:saturate(.78) drop-shadow(0 3px 3px rgba(6,55,77,.12));
  transform:translateY(-5px);
  animation:pxV79FingerPress 1.75s ease-in-out infinite;
}
.px-call-gesture>i>b,.px-call-gesture>i>em{
  position:absolute;
  z-index:1;
  top:-8px;
  left:50%;
  width:13px;
  height:13px;
  border:1.5px solid rgba(4,169,179,.62);
  border-radius:50%;
  opacity:0;
  transform:translateX(-50%) scale(.45);
  animation:pxV79TapWave 1.75s ease-out infinite;
}
.px-call-gesture>i>em{animation-delay:.48s}

/* The callback is appended directly to body, so every important color is explicit. */
.v2-modal-backdrop{
  z-index:10010!important;
  padding:22px!important;
  background:
    radial-gradient(circle at 50% 22%,rgba(39,186,195,.16),transparent 30rem),
    rgba(3,25,45,.78)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.v2-callback-modal.px-callback-premium{
  position:relative;
  width:min(510px,100%)!important;
  max-height:calc(100dvh - 44px)!important;
  padding:34px!important;
  color:#143a5c!important;
  background:
    radial-gradient(circle at 92% 4%,rgba(48,199,204,.13),transparent 12rem),
    linear-gradient(155deg,#fff 0%,#fbfefe 64%,#f2fafb 100%)!important;
  border:1px solid rgba(255,255,255,.92)!important;
  border-radius:28px!important;
  box-shadow:0 36px 100px rgba(1,22,41,.48),inset 0 1px 0 #fff!important;
  scrollbar-width:thin;
  scrollbar-color:#9bcdd2 transparent;
  overflow-x:hidden!important;
}
.v2-callback-modal.px-callback-premium:before{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  left:34px;
  right:34px;
  height:3px;
  background:linear-gradient(90deg,transparent,#12b3b9 20%,#67d8da 50%,#12b3b9 80%,transparent);
  border-radius:0 0 999px 999px;
}
.v2-callback-modal.px-callback-premium [data-callback-content]{position:relative;z-index:1}
.v2-callback-modal.px-callback-premium .v2-modal-close{
  z-index:5!important;
  top:15px!important;
  right:15px!important;
  width:42px!important;
  height:42px!important;
  padding:0!important;
  color:#477087!important;
  background:rgba(244,250,251,.96)!important;
  border:1px solid #d4e8eb!important;
  border-radius:13px!important;
  box-shadow:0 8px 20px rgba(7,67,91,.1)!important;
  transition:transform .2s ease,border-color .2s ease,background .2s ease!important;
}
.v2-callback-modal.px-callback-premium .v2-modal-close:hover{
  color:#087e8a!important;
  background:#fff!important;
  border-color:#80cfd5!important;
  transform:translateY(-1px) rotate(3deg);
}
.v2-callback-modal.px-callback-premium .v2-modal-close svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}
.v2-callback-modal.px-callback-premium .v2-callback-icon{
  display:grid!important;
  place-items:center!important;
  width:62px!important;
  height:62px!important;
  color:#fff!important;
  background:linear-gradient(145deg,#13bdc2,#078591)!important;
  border:1px solid rgba(255,255,255,.46)!important;
  border-radius:19px!important;
  box-shadow:0 14px 30px rgba(5,151,160,.28),inset 0 1px 0 rgba(255,255,255,.42)!important;
}
.v2-callback-modal.px-callback-premium .v2-callback-icon svg{
  width:29px;
  height:29px;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.px-callback-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:14px;
  padding:6px 9px;
  color:#0b7480;
  background:#eaf8f9;
  border:1px solid #d7f0f1;
  border-radius:999px;
  font-size:10px;
  font-weight:850;
  line-height:1;
}
.px-callback-kicker>i{
  width:7px;
  height:7px;
  background:#20bb78;
  border-radius:50%;
  box-shadow:0 0 0 4px rgba(32,187,120,.12);
}
.v2-callback-modal.px-callback-premium h2{
  margin:12px 50px 8px 0!important;
  color:#0a3458!important;
  font-size:30px!important;
  line-height:1.1!important;
  letter-spacing:-.8px!important;
}
.v2-callback-modal.px-callback-premium [data-callback-content]>p{
  max-width:420px;
  margin:0 0 18px!important;
  color:#557188!important;
  font-size:14.5px!important;
  line-height:1.55!important;
}
.v2-callback-modal.px-callback-premium form{
  display:grid!important;
  gap:12px!important;
  padding:16px!important;
  background:rgba(244,250,251,.88)!important;
  border:1px solid #deedef!important;
  border-radius:19px!important;
  box-shadow:inset 0 1px 0 #fff!important;
}
.v2-callback-modal.px-callback-premium form label{
  position:relative;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  color:#123d60!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.2!important;
}
.v2-callback-modal.px-callback-premium input:not(.lead-honeypot){
  width:100%!important;
  height:58px!important;
  padding:0 16px 0 46px!important;
  color:#0d2f4e!important;
  background:#fff!important;
  border:1.5px solid #cddfe4!important;
  border-radius:14px!important;
  outline:0!important;
  font-size:16px!important;
  font-weight:750!important;
  line-height:1!important;
  box-shadow:0 7px 18px rgba(7,61,86,.055),inset 0 1px 0 #fff!important;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease!important;
}
.v2-callback-modal.px-callback-premium input:not(.lead-honeypot)::placeholder{
  color:#91a5b4!important;
  font-weight:600!important;
}
.v2-callback-modal.px-callback-premium input:not(.lead-honeypot):focus{
  background:#fff!important;
  border-color:#11aeb6!important;
  box-shadow:0 0 0 4px rgba(17,174,182,.12),0 9px 22px rgba(7,71,94,.08)!important;
}
.v2-callback-modal.px-callback-premium form label:after{
  content:"";
  position:absolute;
  left:14px;
  bottom:17px;
  width:22px;
  height:22px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:20px;
  opacity:.74;
  pointer-events:none;
}
.v2-callback-modal.px-callback-premium form label.px-field-name:after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23088f99' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5.5 20c.6-4 2.8-6 6.5-6s5.9 2 6.5 6'/%3E%3C/svg%3E");
}
.v2-callback-modal.px-callback-premium form label.px-field-phone:after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23088f99' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.7 10.8a15 15 0 0 0 6.5 6.5l2.1-2.1a1 1 0 0 1 1-.2c1.1.3 2.3.5 3.5.5.7 0 1.2.5 1.2 1.2v3.1c0 .7-.5 1.2-1.2 1.2C10.5 21 3 13.5 3 4.2 3 3.5 3.5 3 4.2 3h3.1c.7 0 1.2.5 1.2 1.2 0 1.2.2 2.4.5 3.5.1.4 0 .8-.3 1.1l-2 2Z'/%3E%3C/svg%3E");
}
.v2-callback-modal.px-callback-premium form button[type="submit"],
.v2-callback-modal.px-callback-premium form button:not([type]){
  width:100%!important;
  min-height:58px!important;
  margin-top:2px!important;
  padding:0 18px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#10b4bb 0%,#087f91 100%)!important;
  border:0!important;
  border-radius:14px!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  box-shadow:0 14px 27px rgba(5,143,155,.25),inset 0 1px 0 rgba(255,255,255,.3)!important;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease!important;
}
.v2-callback-modal.px-callback-premium form button[type="submit"]:hover,
.v2-callback-modal.px-callback-premium form button:not([type]):hover{
  transform:translateY(-2px)!important;
  filter:saturate(1.08)!important;
  box-shadow:0 18px 33px rgba(5,143,155,.31),inset 0 1px 0 rgba(255,255,255,.3)!important;
}
.px-callback-trust{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px 13px;
  color:#557287;
  font-size:10.5px;
  font-weight:750;
}
.px-callback-trust span{display:inline-flex;align-items:center;gap:5px}
.px-callback-trust i{width:6px;height:6px;background:#20bb78;border-radius:50%;box-shadow:0 0 0 3px rgba(32,187,120,.11)}
.v2-callback-modal.px-callback-premium form>small{
  margin:0!important;
  color:#7b91a2!important;
  font-size:10.5px!important;
  line-height:1.45!important;
}
.v2-callback-modal.px-callback-premium form>small a{
  color:#0a7f8a!important;
  text-decoration:underline;
  text-decoration-color:rgba(10,127,138,.3);
  text-underline-offset:2px;
}
.v2-callback-modal.px-callback-premium .v2-form-error{
  margin:0!important;
  padding:10px 12px!important;
  color:#a52b36!important;
  background:#fff1f2!important;
  border:1px solid #f2cfd3!important;
  border-radius:11px!important;
  font-size:12px!important;
  line-height:1.4!important;
}
.v2-callback-modal.px-callback-premium .v2-submit-success{
  min-height:330px;
  justify-content:center;
  padding:18px 0 4px;
}
.v2-callback-modal.px-callback-premium .v2-submit-success>span{
  background:linear-gradient(145deg,#1fc486,#119c6a)!important;
  box-shadow:0 15px 30px rgba(20,166,113,.24)!important;
}
.v2-callback-modal.px-callback-premium .v2-submit-success h2{margin-right:0!important;text-align:center}
.v2-callback-modal.px-callback-premium .v2-submit-success p{text-align:center;color:#557188!important;font-size:14px!important}
.v2-callback-modal.px-callback-premium .v2-submit-success button{
  width:100%!important;
  min-height:54px!important;
  margin-top:20px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#10b4bb,#087f91)!important;
  border:0!important;
  border-radius:14px!important;
  font-weight:900!important;
}

@media (max-width:1024px){
  .landing-v2{padding-bottom:calc(109px + env(safe-area-inset-bottom))!important}
  body>.v2-mobile-actions{
    z-index:9996!important;
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important;
    gap:8px!important;
    min-height:calc(96px + env(safe-area-inset-bottom))!important;
    height:auto!important;
    padding:8px 9px calc(7px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.975)!important;
    border-top:1px solid rgba(156,205,212,.78)!important;
    box-shadow:0 -15px 38px rgba(3,44,72,.18)!important;
    backdrop-filter:blur(17px)!important;
    -webkit-backdrop-filter:blur(17px)!important;
    position:fixed!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    transform:translate3d(0,0,0)!important;
  }
  body>.v2-mobile-actions .px-call-stage{
    align-self:stretch;
    height:80px;
    margin:0!important;
    padding-bottom:23px;
  }
  body>.v2-mobile-actions .px-call-stage>.px-premium-call{
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:7px!important;
    min-height:57px!important;
    height:57px!important;
    margin:0!important;
    padding:6px 8px!important;
    background:linear-gradient(135deg,#fff 0%,#edfafa 100%)!important;
    border:1px solid #9ed7dc!important;
    border-radius:14px!important;
    box-shadow:0 8px 19px rgba(5,77,98,.13),inset 0 1px 0 #fff!important;
  }
  body>.v2-mobile-actions .px-call-phone{width:30px;height:30px;border-radius:9px}
  body>.v2-mobile-actions .px-call-phone svg{width:16px;height:16px}
  body>.v2-mobile-actions .px-call-copy small{font-size:9px!important}
  body>.v2-mobile-actions .px-call-copy strong{font-size:12px!important;letter-spacing:-.1px!important}
  body>.v2-mobile-actions .px-call-gesture{
    right:3px;
    bottom:0;
    height:23px;
    gap:3px;
  }
  body>.v2-mobile-actions .px-call-gesture>small{padding:3px 6px;font-size:8px}
  body>.v2-mobile-actions .px-call-gesture>i{width:23px;height:23px}
  body>.v2-mobile-actions .px-call-gesture>i>span{font-size:19px;transform:translateY(-4px)}
  body>.v2-mobile-actions .px-call-gesture>i>b,
  body>.v2-mobile-actions .px-call-gesture>i>em{top:-6px;width:11px;height:11px}
  body>.v2-mobile-actions .px-mobile-doctor{
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-width:0!important;
    min-height:80px!important;
    height:80px!important;
    padding:0 8px!important;
    color:#fff!important;
    background:linear-gradient(135deg,#0eb3ba,#087e91)!important;
    border:0!important;
    border-radius:14px!important;
    box-shadow:0 11px 23px rgba(5,132,145,.25),inset 0 1px 0 rgba(255,255,255,.22)!important;
  }
  body>.v2-mobile-actions .px-mobile-doctor>span{
    display:grid;
    place-items:center;
    flex:0 0 26px;
    width:26px;
    height:26px;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.22);
    border-radius:8px;
    font-size:20px;
    line-height:1;
  }
  body>.v2-mobile-actions .px-mobile-doctor>strong{font-size:12px!important;line-height:1.15!important;white-space:normal!important}
  .dd-messenger-launcher{bottom:calc(112px + env(safe-area-inset-bottom))!important}
  .px-callback-is-open body>.v2-mobile-actions{pointer-events:none!important;opacity:0!important;transform:translate3d(0,110%,0)!important}
}

@media (max-width:600px){
  .v2-modal-backdrop{align-items:end!important;padding:8px 8px 0!important}
  .v2-callback-modal.px-callback-premium{
    width:100%!important;
    max-height:calc(100dvh - 8px)!important;
    padding:22px 18px calc(18px + env(safe-area-inset-bottom))!important;
    border-radius:24px 24px 0 0!important;
  }
  .v2-callback-modal.px-callback-premium:before{left:24px;right:24px}
  .v2-callback-modal.px-callback-premium .v2-modal-close{top:14px!important;right:14px!important;width:40px!important;height:40px!important}
  .v2-callback-modal.px-callback-premium .v2-callback-icon{width:54px!important;height:54px!important;border-radius:17px!important}
  .v2-callback-modal.px-callback-premium .v2-callback-icon svg{width:25px;height:25px}
  .px-callback-kicker{margin-top:10px;font-size:9px}
  .v2-callback-modal.px-callback-premium h2{margin:10px 44px 7px 0!important;font-size:26px!important;line-height:1.08!important}
  .v2-callback-modal.px-callback-premium [data-callback-content]>p{margin-bottom:13px!important;font-size:13.5px!important;line-height:1.47!important}
  .v2-callback-modal.px-callback-premium form{gap:10px!important;padding:13px!important;border-radius:17px!important}
  .v2-callback-modal.px-callback-premium form label{gap:6px!important;font-size:12.5px!important}
  .v2-callback-modal.px-callback-premium input:not(.lead-honeypot){height:55px!important;padding-left:44px!important;font-size:16px!important;border-radius:13px!important}
  .v2-callback-modal.px-callback-premium form label:after{left:13px;bottom:16px;width:21px;height:21px}
  .v2-callback-modal.px-callback-premium form button[type="submit"],
  .v2-callback-modal.px-callback-premium form button:not([type]){min-height:55px!important;border-radius:13px!important}
  .px-callback-trust{gap:5px 10px;font-size:9.5px}
  .v2-callback-modal.px-callback-premium form>small{font-size:9.5px!important}
}

@media (max-width:380px){
  body>.v2-mobile-actions{grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr)!important;padding-right:7px!important;padding-left:7px!important}
  body>.v2-mobile-actions .px-call-copy strong{font-size:11px!important}
  body>.v2-mobile-actions .px-call-gesture>small{font-size:7.5px}
  body>.v2-mobile-actions .px-mobile-doctor>strong{font-size:10.5px!important}
  .v2-callback-modal.px-callback-premium{padding-right:14px!important;padding-left:14px!important}
  .v2-callback-modal.px-callback-premium h2{font-size:24px!important}
}

@keyframes pxV79FingerPress{
  0%,48%,100%{transform:translateY(-4px) scale(1)}
  62%{transform:translateY(-9px) scale(.96)}
  74%{transform:translateY(-5px) scale(1)}
}
@keyframes pxV79TapWave{
  0%,45%{opacity:0;transform:translateX(-50%) scale(.4)}
  56%{opacity:.78}
  88%,100%{opacity:0;transform:translateX(-50%) scale(1.55)}
}
@media (prefers-reduced-motion:reduce){
  .px-call-gesture>i>span,.px-call-gesture>i>b,.px-call-gesture>i>em{animation:none!important}
}
