/* V110 — appointment popup date fit + separated help phone */
#appointmentModal,
#appointmentModal *{box-sizing:border-box!important}

#appointmentModal .fields,
#appointmentModal .fields.two{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
#appointmentModal .fields label{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
#appointmentModal input,
#appointmentModal select,
#appointmentModal textarea{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
}
#appointmentModal input[type="date"]{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  -webkit-appearance:none;
  appearance:none;
}
#appointmentModal input[type="date"]::-webkit-date-and-time-value{
  text-align:left;
  min-height:1.2em;
}
#appointmentModal .appointment-intro{
  margin-bottom:16px!important;
}
#appointmentModal .appointment-help{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:100%!important;
  margin:0 auto 22px!important;
  text-align:center!important;
}
#appointmentModal .appointment-help>span{
  color:#f4f4f4!important;
  font-weight:700!important;
  line-height:1.2!important;
}
#appointmentModal .appointment-help .inline-phone{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:8px 18px!important;
  border:1px solid rgba(255,74,82,.55)!important;
  border-radius:999px!important;
  background:rgba(229,27,35,.1)!important;
  color:#ff5961!important;
  font-size:clamp(1.1rem,3.8vw,1.35rem)!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 0 0 1px rgba(229,27,35,.08),0 0 22px rgba(229,27,35,.22)!important;
  animation:v110PhonePulse 2.6s ease-in-out infinite!important;
}
#appointmentModal form>.button[type="submit"]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(100%,560px)!important;
  margin:12px auto 0!important;
  text-align:center!important;
}
@keyframes v110PhonePulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 1px rgba(229,27,35,.08),0 0 18px rgba(229,27,35,.18)}
  50%{transform:scale(1.025);box-shadow:0 0 0 1px rgba(255,96,103,.32),0 0 30px rgba(229,27,35,.4)}
}
@media(max-width:620px){
  #appointmentModal .fields,
  #appointmentModal .fields.two{
    grid-template-columns:minmax(0,1fr)!important;
    gap:15px!important;
  }
  #appointmentModal .fields label,
  #appointmentModal input,
  #appointmentModal select,
  #appointmentModal textarea,
  #appointmentModal input[type="date"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  #appointmentModal input[type="date"]{
    inline-size:100%!important;
  }
  #appointmentModal .appointment-help{margin-bottom:18px!important}
  #appointmentModal .appointment-help .inline-phone{font-size:1.16rem!important;padding:9px 16px!important}
}
@media(prefers-reduced-motion:reduce){
  #appointmentModal .appointment-help .inline-phone{animation:none!important}
}
