/* Ekonichiwa v1.9.55 — premium compact homepage availability calendar only.
   Booking date picker, OPS calendar and server availability logic keep their own styles. */
.eko-home #calendar { background:#faf8f5 !important; }
.eko-home #calendar .eko-calendar-heading { margin-bottom:17px !important; }
.eko-home #calendar .eko-calendar-card {
  max-width:420px; padding:19px 19px 20px;
  border:1px solid #eee9e4; border-radius:10px;
  background:#fff; box-shadow:0 12px 36px rgba(32,37,43,.055);
}
.eko-home #calendar .eko-calendar-intro {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:0 0 13px; border-bottom:1px solid #f0eeeb;
}
.eko-home #calendar .eko-calendar-intro > div { display:flex; flex-direction:column; gap:2px; }
.eko-home #calendar .eko-calendar-intro strong { color:#20252b; font-size:14px; font-weight:700; line-height:1.35; }
.eko-home #calendar .eko-calendar-intro span { color:#777b80; font-size:11px; font-weight:400; line-height:1.4; }
.eko-home #calendar .eko-calendar-intro > svg { flex:0 0 20px; width:20px; height:20px; color:#b42332; }
.eko-home #calendar .eko-calendar-navigation {
  display:grid; grid-template-columns:38px minmax(0,1fr) 38px;
  align-items:center; gap:6px; margin:7px 0 8px; padding:0; border:0;
}
.eko-home #calendar #month-year-display {
  display:grid; place-items:center; min-height:44px;
  font-size:17px !important; font-weight:600 !important; color:#20252b;
}
.eko-home #calendar .eko-calendar-arrow {
  width:38px; height:38px; color:#40454b; background:transparent;
  border:1px solid #eeebe7; border-radius:50%; box-shadow:none;
}
.eko-home #calendar .eko-calendar-arrow::before { display:none !important; }
.eko-home #calendar .eko-calendar-arrow svg { width:16px; height:16px; }
.eko-home #calendar .eko-calendar-arrow:hover,
.eko-home #calendar .eko-calendar-arrow:active { color:#b42332; background:#faf8f5; border-color:#e2d8d6; }
.eko-home #calendar .eko-calendar-weekdays { margin-bottom:5px; gap:2px; }
.eko-home #calendar .eko-calendar-weekdays > span {
  padding:6px 0; color:#777b80; font-size:11px !important; font-weight:500 !important;
}
.eko-home #calendar #calendar-body {
  grid-template-rows:none; grid-auto-rows:auto; gap:2px;
}
.eko-home #calendar #calendar-body .cal-day {
  display:flex; align-items:center; justify-content:center; aspect-ratio:1;
  min-height:0; height:auto; border:0; background:transparent;
  opacity:1;
}
.eko-home #calendar #calendar-body .eko-calendar-date {
  display:grid; place-items:center; width:78%; max-width:39px; min-width:0;
  height:auto; aspect-ratio:1; padding:0; margin:0;
  appearance:none; border:1px solid transparent; border-radius:50%;
  background:transparent; color:#30343a; font-family:inherit;
  font-size:14px !important; font-weight:400 !important; line-height:1;
  box-shadow:none; transition:background-color .15s ease,color .15s ease;
}
.eko-home #calendar #calendar-body button.eko-calendar-date {
  cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation;
}
.eko-home #calendar #calendar-body button.eko-calendar-date:hover { background:#f7f1f0; color:#941c28; }
.eko-home #calendar #calendar-body button.eko-calendar-date:focus-visible {
  outline:2px solid #b42332; outline-offset:2px;
}
.eko-home #calendar #calendar-body .cal-day.booked .eko-calendar-date {
  background:#f8e4e8; color:#a52a40; border-color:transparent;
  font-weight:500 !important;
}
.eko-home #calendar #calendar-body .cal-day.is-selected .eko-calendar-date,
.eko-home #calendar #calendar-body .cal-day.is-selected button.eko-calendar-date:hover {
  background:#b42332; color:#fff; font-weight:600 !important;
}
.eko-home #calendar #calendar-body .cal-day.past .eko-calendar-date { color:#b5b8bb; opacity:.75; }
.eko-home #calendar #calendar-body .cal-day.is-pending .eko-calendar-date { color:#b8b8b8; }
.eko-home #calendar .eko-calendar-legend {
  display:flex; align-items:center; justify-content:flex-start !important;
  text-align:left; flex-wrap:wrap; gap:7px 15px;
  padding:10px 0 0; margin:9px 0 0;
  border-top:1px solid #f0eeeb;
}
.eko-home #calendar .eko-calendar-legend-item {
  display:inline-flex; align-items:center; gap:6px; min-height:18px;
  color:#656b71; font-size:11px !important; font-weight:400 !important; line-height:1.35;
  white-space:nowrap;
}
.eko-home #calendar .eko-calendar-legend-available,
.eko-home #calendar .eko-calendar-legend-full,
.eko-home #calendar .eko-calendar-legend-selected {
  display:inline-block; flex:0 0 11px; box-sizing:border-box;
  width:11px; height:11px; border-radius:50%;
}
.eko-home #calendar .eko-calendar-legend-available { background:#fff; border:1px solid #cfd2d5; }
.eko-home #calendar .eko-calendar-legend-full { background:#f8e4e8; border:0; }
.eko-home #calendar .eko-calendar-legend-selected { background:#b42332; border:0; }
.eko-home #calendar .eko-calendar-status {
  margin:8px 0 0; padding:0; min-height:16px;
  color:#777b80; font-size:11px; font-weight:400; line-height:1.5;
}
.eko-home #calendar .eko-calendar-status-pending { color:#a52a40; }
.eko-home #calendar .eko-calendar-selection {
  margin-top:10px; padding:9px 12px; border-radius:5px;
  background:#faf8f5; color:#20252b;
}
.eko-home #calendar .eko-calendar-selection[hidden] { display:none !important; }
.eko-home #calendar .eko-calendar-selection span { display:block; color:#777b80; font-size:10px; font-weight:400; line-height:1.35; }
.eko-home #calendar .eko-calendar-selection strong { display:block; margin-top:2px; font-size:13px; font-weight:600; line-height:1.4; }
.eko-home #calendar .eko-calendar-book {
  width:100%; margin-top:13px; min-height:43px; border-radius:6px;
  background:#b42332; color:#fff; box-shadow:none;
  font-size:13px !important; font-weight:600 !important;
}
.eko-home #calendar .eko-calendar-book:hover,
.eko-home #calendar .eko-calendar-book:active { background:#941c28; }
@media (max-width:575.98px) {
  .eko-home #calendar .eko-calendar-card { padding:14px 12px 16px; }
  .eko-home #calendar .eko-calendar-navigation { margin:6px 0 5px; }
  .eko-home #calendar .eko-calendar-legend { gap:6px 11px; }
  .eko-home #calendar .eko-calendar-legend-item { font-size:10px !important; }
}
@media (prefers-reduced-motion:reduce) {
  .eko-home #calendar #calendar-body .eko-calendar-date { transition:none; }
}
