.dsdc-appt-picker{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  border:1px solid #e7e7e7;
  border-radius:14px;
  padding:14px;
  background:#fff;
  margin:14px 0;
  position:relative;
  z-index:1;
}
.dsdc-appt-header{margin-bottom:12px}
.dsdc-appt-title{font-size:16px;font-weight:700}
.dsdc-appt-subtitle{font-size:13px;color:#666;margin-top:4px}
.dsdc-appt-grid{display:block ;gap:14px}
.dsdc-appt-month, .dsdc-appt-times{
  border:1px solid #eee;
  border-radius:12px;
  padding:12px;
  margin-bottom: 10px;
  background:#fafafa;
}
.dsdc-appt-times--top{
  background:#fff;
  border-color:#e7e7e7;
  margin-bottom: 10px;
}
.dsdc-appt-month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.dsdc-appt-month-label{font-weight:700}
.dsdc-btn{
  border:1px solid #ddd;
  background:#fff;
  border-radius:10px;
  padding:6px 10px;
  cursor:pointer;
}
.dsdc-btn:disabled{opacity:.45;cursor:not-allowed}
.dsdc-appt-dow{
  display:grid;
  grid-template-columns: repeat(7,1fr);
  gap:6px;
  font-size:12px;
  color:#666;
  margin-bottom:6px;
}
.dsdc-appt-days{
  display:grid !important;
  grid-template-columns: repeat(7,1fr);
  gap:6px;
}
.dsdc-appt-days.is-loading{
  opacity:.72;
  pointer-events:none;
}
.dsdc-appt-day{
  display:inline-block;
  width:auto;
  min-width:0;
  border:1px solid #e6e6e6;
  background:#fff;
  border-radius:10px;
  padding:8px 0;
  text-align:center;
  cursor:pointer;
  position:relative;
  visibility:visible !important;
}
.dsdc-appt-day.is-out{opacity:.45}
.dsdc-appt-day.is-disabled{opacity:.35;cursor:not-allowed}
.dsdc-appt-day.is-selected{outline:2px solid #2271b1}
.dsdc-appt-dot{
  position:absolute;
  right:8px;
  top:8px;
  width:10px;
  height:10px;
  border-radius:999px;
  box-shadow: 0 0 0 2px #fff;
}
.dsdc-appt-badge{display:none !important;}
.dsdc-appt-dot.is-red{background:#e03131;}
.dsdc-appt-dot.is-orange{background:#f08c00;}
.dsdc-appt-dot.is-yellow{background:#f59f00;}
.dsdc-appt-dot.is-lime{background:#94d82d;}
.dsdc-appt-dot.is-green{background:#2f9e44;}
.dsdc-appt-times-title{font-weight:700;margin-bottom:10px}
.dsdc-appt-time-list{
  display:flex !important;
  flex-wrap:wrap;
  gap:8px;
}
.dsdc-appt-time{
  display:inline-block !important;
  visibility:visible !important;
  border:1px solid #ddd;
  background:#fff;
  border-radius:999px;
  padding:8px 10px;
  cursor:pointer;
  font-size:13px;
}
.dsdc-appt-time.is-selected{background:#2271b1;color:#fff;border-color:#2271b1}
.dsdc-appt-selected{margin-top:12px;font-size:13px;color:#333}

@media (max-width: 720px){
  .dsdc-appt-grid{grid-template-columns:1fr}
}

