.eitwb-booking-fields,
.eitwb-booking-fields *{
  box-sizing:border-box;
  font-family:Roboto,"Segoe UI",Arial,sans-serif !important;
}
.eitwb-booking-fields{
  margin:1.25em 0;
  padding:20px;
  border:1px solid #e2e6ea;
  border-radius:14px;
  background:#fff;
  color:#17202a;
  width:100%;
}
.eitwb-booking-fields select{
  width:100%;
  max-width:560px;
  margin:7px 0 16px;
  min-height:44px;
  border:1px solid #d6dbe1;
  border-radius:8px;
  background:#fff;
  color:#17202a;
  padding:0 12px;
}
.eitwb-calendar-heading{margin:6px 0 10px;font-size:17px;color:#17202a}
.eitwb-calendar-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  max-width:680px;
  margin:10px 0 12px;
}
.eitwb-calendar-nav button{
  width:42px;
  height:42px;
  border:0 !important;
  background:#ef4936 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-radius:7px;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  padding:0 !important;
  box-shadow:none !important;
}
.eitwb-calendar-nav button:hover,
.eitwb-calendar-nav button:focus{
  background:#d83f2f !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.eitwb-calendar-nav button:disabled{opacity:.3;cursor:not-allowed}
.eitwb-current-month{font-weight:700;font-size:18px;color:#17202a}
.eitwb-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
  width:100%;
  max-width:680px;
}
.eitwb-cal-dayname{
  text-align:center;
  font-weight:700;
  font-size:12px;
  color:#344054;
  padding:5px 2px;
}
.eitwb-cal-blank{aspect-ratio:1/1}
.eitwb-cal-cell{
  width:100%;
  aspect-ratio:1/1;
  min-width:0;
  min-height:0;
  border:1px solid #e1e4e8 !important;
  background:#f1f2f4 !important;
  color:#9aa2ab !important;
  -webkit-text-fill-color:#9aa2ab !important;
  border-radius:8px;
  padding:7px !important;
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:2px;
  cursor:pointer;
  text-align:left;
  box-shadow:none !important;
  text-transform:none !important;
  opacity:1 !important;
  overflow:hidden;
}
.eitwb-cal-cell.is-disabled{
  background:#f0f1f2 !important;
  color:#a8afb6 !important;
  -webkit-text-fill-color:#a8afb6 !important;
  border-color:#eceef0 !important;
  cursor:not-allowed;
}
.eitwb-cal-cell.is-full{
  background:#f5f5f5 !important;
  color:#7d858d !important;
  -webkit-text-fill-color:#7d858d !important;
  cursor:not-allowed;
}
.eitwb-cal-cell.is-available{
  border:2px solid #3b8f54 !important;
  background:#eaf8ed !important;
  color:#183c24 !important;
  -webkit-text-fill-color:#183c24 !important;
}
.eitwb-booking-fields.is-monthly-mode .eitwb-cal-cell.is-available{cursor:help}
.eitwb-cal-cell.is-available:hover,
.eitwb-cal-cell.is-available:focus{
  border-color:#28723e !important;
  background:#dcf3e2 !important;
  color:#102d1a !important;
  -webkit-text-fill-color:#102d1a !important;
}
.eitwb-cal-cell.is-selected,
.eitwb-cal-cell.is-month-selected{
  outline:3px solid rgba(47,125,50,.2);
  border-color:#26743d !important;
  background:#d9f3df !important;
}
.eitwb-cal-number{
  display:block;
  font-weight:800;
  font-size:clamp(12px,1.8vw,16px);
  line-height:1;
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
}
.eitwb-cal-time{
  display:flex;
  flex-direction:column;
  gap:1px;
  margin-top:3px;
  font-size:clamp(8px,1.2vw,10px);
  line-height:1.05;
  font-weight:700;
  color:#275d38 !important;
  -webkit-text-fill-color:#275d38 !important;
  width:100%;
}
.eitwb-cal-slot-time{
  display:flex;
  flex-direction:column;
  white-space:nowrap;
}
.eitwb-cal-slot-sep{display:none}
.eitwb-cal-seats{
  display:block;
  margin-top:auto;
  font-size:clamp(8px,1.2vw,10px);
  line-height:1.05;
  font-weight:800;
  color:#275d38 !important;
  -webkit-text-fill-color:#275d38 !important;
  white-space:nowrap;
}
.eitwb-cal-cell.is-full .eitwb-cal-seats{color:#777 !important;-webkit-text-fill-color:#777 !important}
.eitwb-calendar-help{
  font-size:12px;
  line-height:1.5;
  color:#667085;
  width:100%;
  max-width:680px;
  margin:10px 0;
}
.eitwb-month-action{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  width:100%;
  max-width:680px;
  margin:14px 0 5px;
}
.eitwb-month-select-wrap{margin:0}
.eitwb-select-month{
  min-height:46px !important;
  padding:10px 18px !important;
  border:0 !important;
  border-radius:7px !important;
  background:#ef4936 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-weight:700 !important;
  font-size:15px !important;
  line-height:1.2 !important;
  text-transform:none !important;
}
.eitwb-select-month:hover,.eitwb-select-month:focus{background:#d83f2f !important;color:#fff !important;-webkit-text-fill-color:#fff !important}
.eitwb-select-month.is-selected{background:#26743d !important}
.eitwb-selection-summary{
  flex:1 1 270px;
  font-weight:600;
  font-size:14px;
  line-height:1.45;
  color:#25313c;
  margin:0;
}
.eitwb-selection-summary.is-warning{
  color:#8a4b08;
  background:#fff4dd;
  border:1px solid #f0cd8a;
  border-radius:7px;
  padding:9px 11px;
}
.eitwb-month-limit{
  flex-basis:100%;
  font-size:12px;
  color:#667085;
  line-height:1.4;
}
.eitwb-slot-choices{
  grid-column:1/-1;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:3px 0 8px;
}
.eitwb-slot-choices button{
  border:1px solid #b9c0c7 !important;
  background:#fff !important;
  color:#25313c !important;
  -webkit-text-fill-color:#25313c !important;
  border-radius:6px;
  padding:8px 11px !important;
  cursor:pointer;
  text-transform:none !important;
}
.eitwb-slot-choices button.selected{
  background:#26743d !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:#26743d !important;
}
.eitwb-empty{grid-column:1/-1;color:#667085}

@media(max-width:640px){
  .eitwb-booking-fields{padding:12px}
  .eitwb-calendar-grid{gap:4px}
  .eitwb-calendar-nav{max-width:none}
  .eitwb-cal-cell{padding:5px !important;border-radius:6px}
  .eitwb-cal-number{font-size:13px}
  .eitwb-cal-time,.eitwb-cal-seats{font-size:8.5px}
  .eitwb-month-action{align-items:stretch}
  .eitwb-selection-summary{flex-basis:100%}
  .eitwb-select-month{width:100%}
}
@media(max-width:420px){
  .eitwb-booking-fields{padding:9px}
  .eitwb-calendar-grid{gap:3px}
  .eitwb-cal-cell{padding:4px !important}
  .eitwb-cal-number{font-size:12px}
  .eitwb-cal-time,.eitwb-cal-seats{font-size:8px}
  .eitwb-current-month{font-size:16px}
}