
/* HeartCare appointment UX — in-person only */
.hcp-booking.hcp-inperson-only{
  max-width:1050px;
  margin:34px auto 60px;
  padding:28px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border:1px solid #dce8f3;
  border-radius:26px;
  box-shadow:0 18px 48px rgba(7,61,120,.07);
}
.hcp-booking.hcp-inperson-only .hcp-section-title{
  margin-bottom:22px;
}
.hcp-booking.hcp-inperson-only .hcp-section-title h2{
  font-size:32px;
  margin:5px 0 8px;
  color:#073d78;
}
.hcp-booking.hcp-inperson-only .hcp-section-title p{color:#718398}
.hcp-booking.hcp-inperson-only .hcp-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:end;
}
.hcp-booking.hcp-inperson-only .hcp-form-grid>label{
  display:grid;
  gap:7px;
  font-weight:800;
  color:#123e6b;
}
.hcp-booking.hcp-inperson-only input,
.hcp-booking.hcp-inperson-only select,
.hcp-booking.hcp-inperson-only textarea{
  width:100%!important;
  box-sizing:border-box!important;
  border:1px solid #cbddeb!important;
  border-radius:13px!important;
  padding:12px 14px!important;
  font:inherit!important;
  background:#fff!important;
}
.hcp-booking.hcp-inperson-only select[data-hcp-time]{
  min-height:48px;
  font-weight:900;
  color:#073d78;
}
.hcp-booking.hcp-inperson-only .hcp-fixed-service{
  grid-column:1/-1;
}
.hcp-fixed-label{font-size:12px;color:#123e6b}
.hcp-fixed-service-card{
  display:flex;
  align-items:center;
  gap:12px;
  max-width:340px;
  border-radius:16px;
  padding:12px 14px;
  background:linear-gradient(120deg,#eef6fd,#fff);
  border:1px solid #d3e4f2;
}
.hcp-fixed-service-card i{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:#0c5ca5;color:#fff;font-style:normal;font-size:18px;
}
.hcp-fixed-service-card b,.hcp-fixed-service-card small{display:block}
.hcp-fixed-service-card b{color:#073d78;font-size:16px}
.hcp-fixed-service-card small{color:#7b8da0;margin-top:2px}
.hcp-booking.hcp-inperson-only .hcp-note-wide{
  display:grid!important;
  gap:8px;
  margin-top:16px!important;
  font-weight:800;
  color:#123e6b;
}
.hcp-booking.hcp-inperson-only .hcp-note-wide textarea{
  min-height:185px!important;
  resize:vertical;
  line-height:2;
  padding:16px 18px!important;
}
.hcp-booking.hcp-inperson-only [data-hcp-book]{
  display:block;
  width:min(360px,100%);
  margin:18px auto 0!important;
  min-height:50px;
  border-radius:13px!important;
  background:linear-gradient(100deg,#073d78,#0d63b4)!important;
  font-weight:900!important;
  box-shadow:0 12px 28px rgba(7,61,120,.16);
}
@media(max-width:760px){
  .hcp-booking.hcp-inperson-only{padding:18px!important;margin:18px 8px 40px}
  .hcp-booking.hcp-inperson-only .hcp-form-grid{grid-template-columns:1fr!important}
  .hcp-booking.hcp-inperson-only .hcp-fixed-service{grid-column:auto}
}
