/* v1.9.45: compact homepage calendar; booking and OPS calendars are unchanged. */
.eko-home #calendar .eko-calendar-card { max-width:420px; padding:16px; }
.eko-home #calendar .eko-calendar-heading { margin-bottom:16px; }
.eko-home #calendar .eko-calendar-navigation { margin-bottom:8px; padding-bottom:8px; }
.eko-home #calendar #month-year-display { min-height:44px; }
.eko-home #calendar #calendar-body { grid-template-rows:repeat(6,auto); grid-auto-rows:auto; gap:2px; }
.eko-home #calendar .eko-calendar-weekdays { gap:2px; }
.eko-home #calendar #calendar-body .cal-day {
  display:flex; align-items:center; justify-content:center;
  width:100%; height:auto; min-height:0; aspect-ratio:1;
  border:0; border-radius:0; padding:0; background:transparent; color:#25282d;
}
.eko-home #calendar #calendar-body .eko-calendar-date {
  position:static; display:grid; place-items:center; box-sizing:border-box;
  width:78%; max-width:40px; height:auto; min-width:0; aspect-ratio:1;
  margin:0; padding:0; border:0; border-radius:50%; background:transparent;
  font-size:14px!important; font-weight:500!important; line-height:1; text-align:center;
}
.eko-home #calendar #calendar-body .cal-day.booked .eko-calendar-date {
  background:#f8e4e8; color:#a52a40;
}
.eko-home #calendar #calendar-body .cal-day.past { opacity:.45; }
.eko-home #calendar #calendar-body .cal-day.past .eko-calendar-date { opacity:1; }
.eko-home #calendar .eko-calendar-legend { margin-top:10px; }
.eko-home #calendar .eko-calendar-legend-full { background:#f8e4e8; border:0; border-radius:50%; }
.eko-home #calendar .eko-calendar-book { margin-top:12px; }
@media(max-width:1023px) {
  .eko-home #calendar.section-padding { padding-left:12px!important; padding-right:12px!important; }
  .eko-home #calendar>.container { width:100%; max-width:none; padding-left:0!important; padding-right:0!important; }
  .eko-home #calendar .eko-calendar-card { padding:12px; }
}
