.kpbp-body{
  background:#f5f5f5;
  direction:rtl;
  font-family:inherit;
}
.kpbp-wrap{
  max-width:880px;
  margin:30px auto;
  background:#fff;
  border-radius:20px;
  padding:20px 20px 25px;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
}
.kpbp-calendar-block{
  display:flex;
  gap:20px;
  margin:20px 0;
}
#kpbp-calendar{
  width:50%;
}
#kpbp-calendar .month-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
}
#kpbp-calendar .grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:5px;
}
.kpbp-day{
  background:#f3f4f6;
  border-radius:10px;
  text-align:center;
  padding:10px 0;
  cursor:pointer;
  font-weight:500;
}
.kpbp-day.disabled{
  background:#e5e7eb;
  color:#9ca3af;
  cursor:not-allowed;
}
.kpbp-day.selected{
  background:#2563eb;
  color:#fff;
}
#kpbp-times{
  width:50%;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px;
}
.kpbp-times-title{
  margin-bottom:10px;
  font-weight:600;
}
.kpbp-times-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.kpbp-time-btn{
  background:#fff;
  border:1px solid #d1d5db;
  border-radius:999px;
  padding:6px 14px;
  cursor:pointer;
}
.kpbp-time-btn.disabled{
  background:#f3f4f6;
  color:#9ca3af;
  cursor:not-allowed;
}
.kpbp-time-btn.selected{
  background:#2563eb;
  color:#fff;
}
.kpbp-field{
  margin-bottom:12px;
}
.kpbp-btn{
  background:#2563eb;
  color:#fff;
  border:none;
  border-radius:999px;
  padding:10px 22px;
  font-weight:600;
  cursor:pointer;
}
.kpbp-msg{
  margin-top:10px;
  font-weight:600;
}
@media(max-width:768px){
  .kpbp-calendar-block{
    flex-direction:column;
  }
  #kpbp-calendar, #kpbp-times{
    width:100%;
  }
}
