.ovren-eb-slots-wrap {
  display: grid;
  gap: 1.5rem;
}

.ovren-eb-slots-title {
  margin: 0;
}

.ovren-eb-month-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ovren-eb-month-switcher-button {
  appearance: none;
  border: 1px solid rgba(0,0,0,.14);
  background: #fff;
  color: inherit;
  border-radius: 999px;
  padding: 0.6rem 0.9rem;
  cursor: pointer;
}

.ovren-eb-month-switcher-button.is-active {
  border-color: #1e73be;
  background: #1e73be;
  color: #fff;
}

.ovren-eb-calendar-panels {
  display: grid;
}

.ovren-eb-calendar-panel {
  display: none;
  gap: 0.75rem;
}

.ovren-eb-calendar-panel.is-active {
  display: grid;
}

.ovren-eb-calendar-month-title {
  font-weight: 700;
  font-size: 1.05rem;
}

.ovren-eb-calendar-head,
.ovren-eb-calendar-grid--month {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.5rem;
}

.ovren-eb-calendar-weekday {
  font-size: 0.85rem;
  text-transform: uppercase;
  opacity: 0.7;
  text-align: center;
}

.ovren-eb-calendar-cell {
  min-height: 92px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  background: #fff;
  padding: 0.75rem;
  display: grid;
  align-content: space-between;
  gap: 0.5rem;
  text-align: left;
}

button.ovren-eb-calendar-cell {
  cursor: pointer;
}

button.ovren-eb-calendar-cell:hover:not(:disabled) {
  border-color: #1e73be;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.ovren-eb-calendar-cell--available {
  background: rgba(30,115,190,.08);
}

.ovren-eb-calendar-cell--available.is-active {
  border-color: #1e73be;
  background: rgba(30,115,190,.16);
}

.ovren-eb-calendar-cell--empty,
.ovren-eb-calendar-cell--emptyday {
  opacity: 0.35;
}

.ovren-eb-calendar-cell:disabled {
  cursor: default;
}

.ovren-eb-calendar-cell-number {
  font-size: 1.1rem;
  font-weight: 700;
}

.ovren-eb-calendar-cell-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background: #1e73be;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
}

.ovren-eb-day-results {
  display: grid;
}

.ovren-eb-day-panel {
  display: none;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  background: #fff;
}

.ovren-eb-day-panel.is-active {
  display: grid;
}

.ovren-eb-day-title {
  margin: 0;
}

.ovren-eb-days-list,
.ovren-eb-slots-list {
  display: grid;
  gap: 1rem;
}

.ovren-eb-slot-card {
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 8px;
}

.ovren-eb-slot-main {
  display: grid;
  gap: 0.5rem;
}

.ovren-eb-slot-datetime {
  font-weight: 600;
}

.ovren-eb-slot-capacity {
  font-size: 0.9rem;
  opacity: 0.78;
}

.ovren-eb-slot-players label {
  display: grid;
  gap: 0.35rem;
}

.ovren-eb-slot-players select {
  max-width: 260px;
}

.ovren-eb-button {
  appearance: none;
  border: 0;
  border-radius: 6px;
  padding: 0.85rem 1rem;
  cursor: pointer;
}

@media (max-width: 767px) {
  .ovren-eb-calendar-head,
  .ovren-eb-calendar-grid--month {
    gap: 0.35rem;
  }

  .ovren-eb-calendar-cell {
    min-height: 72px;
    padding: 0.5rem;
  }

  .ovren-eb-calendar-weekday {
    font-size: 0.72rem;
  }
}

.ovren-eb-empty {margin:0; padding:1rem 1.1rem; border:1px solid rgba(0,0,0,.1); border-radius:14px; background:#fff;}
.ovren-eb-calendar-toolbar {display:grid; grid-template-columns:auto 1fr auto; gap:.75rem; align-items:center;}
.ovren-eb-calendar-nav {appearance:none; border:1px solid rgba(0,0,0,.12); background:#fff; color:inherit; border-radius:999px; width:2.75rem; height:2.75rem; font-size:1.4rem; line-height:1; cursor:pointer;}
.ovren-eb-calendar-nav:disabled {opacity:.35; cursor:default;}
.ovren-eb-calendar-legend {display:flex; flex-wrap:wrap; gap:1rem; align-items:center; font-size:.9rem; opacity:.85;}
.ovren-eb-legend-item {display:inline-flex; align-items:center; gap:.45rem;}
.ovren-eb-legend-dot {width:.8rem; height:.8rem; border-radius:999px; display:inline-block;}
.ovren-eb-legend-dot--available {background:#1e73be;}
.ovren-eb-legend-dot--selected {background:#0d2f4f;}
.ovren-eb-calendar-panel {padding:1rem; border:1px solid rgba(0,0,0,.08); border-radius:18px; background:linear-gradient(180deg,#ffffff 0%,#fafcff 100%);}
.ovren-eb-calendar-month-title {display:flex; align-items:center; justify-content:space-between; margin-bottom:.25rem;}
.ovren-eb-calendar-cell {transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;}
button.ovren-eb-calendar-cell:hover:not(:disabled) {transform:translateY(-1px);}
.ovren-eb-calendar-cell--available {background:linear-gradient(180deg, rgba(30,115,190,.07) 0%, rgba(30,115,190,.14) 100%);}
.ovren-eb-calendar-cell--available.is-active {border-color:#0d2f4f; background:linear-gradient(180deg, rgba(30,115,190,.18) 0%, rgba(13,47,79,.20) 100%); box-shadow:0 8px 24px rgba(13,47,79,.12);}
.ovren-eb-calendar-cell--available.is-active .ovren-eb-calendar-cell-count {background:#0d2f4f;}
.ovren-eb-day-results {gap:1rem;}
.ovren-eb-day-results-head {display:grid; gap:.25rem; padding:1rem 1.1rem; border-radius:18px; background:#0d2f4f; color:#fff;}
.ovren-eb-day-results-kicker {font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; opacity:.72;}
.ovren-eb-day-results-title {margin:0; font-size:1.15rem;}
.ovren-eb-day-panel {padding:1.1rem; border-radius:18px; border:1px solid rgba(0,0,0,.08); box-shadow:0 10px 30px rgba(0,0,0,.04);}
.ovren-eb-day-title {display:none;}
.ovren-eb-slots-list {grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));}
.ovren-eb-slot-card {border-radius:14px; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.04);}
.ovren-eb-slot-main {grid-template-columns:1fr;}
.ovren-eb-slot-datetime {font-size:1.1rem;}
.ovren-eb-slot-capacity {display:inline-flex; align-items:center; gap:.4rem; width:max-content; padding:.3rem .6rem; border-radius:999px; background:rgba(30,115,190,.09);}
.ovren-eb-slot-players select {width:100%; max-width:none; min-height:2.75rem; border-radius:10px; border:1px solid rgba(0,0,0,.12); padding:0 .75rem; background:#fff;}
.ovren-eb-button {width:100%; min-height:2.9rem; font-weight:700; background:#0d2f4f; color:#fff; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.ovren-eb-button:hover {transform:translateY(-1px); box-shadow:0 10px 24px rgba(13,47,79,.18); background:#123f69;}
@media (max-width: 991px) {
  .ovren-eb-calendar-toolbar {grid-template-columns:1fr auto auto;}
  .ovren-eb-month-switcher {overflow:auto; flex-wrap:nowrap; padding-bottom:.2rem;}
}
@media (max-width: 767px) {
  .ovren-eb-calendar-toolbar {grid-template-columns:1fr 1fr;}
  .ovren-eb-month-switcher {grid-column:1 / -1; order:-1;}
  .ovren-eb-calendar-head, .ovren-eb-calendar-grid--month {gap:.28rem;}
  .ovren-eb-calendar-cell {min-height:64px; padding:.45rem; border-radius:10px;}
  .ovren-eb-calendar-cell-number {font-size:.98rem;}
  .ovren-eb-calendar-cell-count {min-width:1.45rem; height:1.45rem; font-size:.75rem;}
  .ovren-eb-day-results-head, .ovren-eb-day-panel, .ovren-eb-calendar-panel {border-radius:14px;}
  .ovren-eb-slot-card {padding:.9rem;}
}

.ovren-eb-month-switcher--hidden { display:none !important; }
.ovren-eb-day-results-title { margin:0 0 .75rem; font-size:1.15rem; }
.ovren-eb-slots-wrap--panel { gap:1rem; }
.ovren-eb-slots-wrap--panel .ovren-eb-calendar-toolbar { grid-template-columns: auto 1fr auto; }
.ovren-eb-slots-wrap--panel .ovren-eb-month-current { text-align:center; font-weight:700; font-size:1.05rem; line-height:1.2; }
.ovren-eb-slots-wrap--panel .ovren-eb-calendar-legend { display:none; }
.ovren-eb-slots-wrap--panel .ovren-eb-calendar-panel { padding:.85rem; border-radius:14px; }
.ovren-eb-slots-wrap--panel .ovren-eb-calendar-head,
.ovren-eb-slots-wrap--panel .ovren-eb-calendar-grid--month { gap:.25rem; }
.ovren-eb-slots-wrap--panel .ovren-eb-calendar-weekday { font-size:.7rem; letter-spacing:.02em; }
.ovren-eb-slots-wrap--panel .ovren-eb-calendar-cell { min-height:60px; padding:.4rem; border-radius:10px; box-shadow:none; }
.ovren-eb-slots-wrap--panel .ovren-eb-calendar-cell-number { font-size:.95rem; }
.ovren-eb-slots-wrap--panel .ovren-eb-calendar-cell-count { min-width:1.4rem; height:1.4rem; font-size:.72rem; }
.ovren-eb-slots-wrap--panel .ovren-eb-day-results { gap:.75rem; }
.ovren-eb-slots-wrap--panel .ovren-eb-slots-list { grid-template-columns:1fr; }
.ovren-eb-slots-wrap--panel .ovren-eb-slot-card { padding:.85rem; border-radius:12px; }
.ovren-eb-slots-wrap--panel .ovren-eb-slot-datetime { font-size:1rem; }
.ovren-eb-slots-wrap--panel .ovren-eb-button { min-height:2.75rem; }
@media (max-width: 640px) {
  .ovren-eb-slots-wrap--panel .ovren-eb-calendar-cell { min-height:54px; padding:.35rem; }
  .ovren-eb-slots-wrap--panel .ovren-eb-calendar-weekday { font-size:.64rem; }
  .ovren-eb-slots-wrap--panel .ovren-eb-calendar-nav { width:2.4rem; height:2.4rem; }
  .ovren-eb-slots-wrap--panel .ovren-eb-month-current { font-size:1rem; }
}

/* Custom panel refinements */
.ovren-eb-slots-wrap--panel .ovren-eb-calendar-panel,
.ovren-eb-slots-wrap--panel .ovren-eb-day-panel {
  border-radius: 0;
}

.ovren-eb-slots-wrap--panel .ovren-eb-calendar-toolbar.ovren-eb-calendar-toolbar--panel {
  background: #fff;
}

.ovren-eb-slots-wrap--panel .ovren-eb-calendar-cell--available {
  background: #ffe0d8;
}

.ovren-eb-slots-wrap--panel .ovren-eb-calendar-cell-count {
  background: #d84522;
}

.ovren-eb-slots-wrap--panel .ovren-eb-calendar-cell--available.is-active {
  border-color: #783474;
  background: #ffe2fe;
}

.ovren-eb-slots-wrap--panel .ovren-eb-calendar-cell--available.is-active .ovren-eb-calendar-cell-count {
  background: #783474;
}

.ovren-eb-slots-wrap--panel .ovren-eb-day-results-title {
  color: #fff;
}

.ovren-eb-slots-wrap--panel .ovren-eb-button {
  background: #d84522;
  text-shadow: none;
}

.ovren-eb-slots-wrap--panel .ovren-eb-button:hover {
  background: #c63d1f;
}
