/* Awakening Booking Widget v1.0.6 */

.wub-booking-widget {
  display: block !important; width: 100% !important;
  box-sizing: border-box !important; margin: 1.5em 0 2em !important;
  float: none !important; clear: both !important;
}
.wub-section {
  display: block !important; width: 100% !important;
  box-sizing: border-box !important; margin-bottom: 1.5em !important;
  float: none !important; clear: both !important;
}
.wub-label {
  display: block !important; font-weight: 600 !important;
  margin-bottom: .6em !important; font-size: .95em !important; color: #444 !important;
}

/* Datepicker container */
#wub-datepicker {
  display: block !important; width: 100% !important;
  box-sizing: border-box !important; border: 1px solid #ddd !important;
  border-radius: 6px !important; overflow: visible !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.08) !important; float: none !important;
}
#wub-datepicker .ui-datepicker {
  display: block !important; width: 100% !important;
  box-sizing: border-box !important; position: static !important;
  padding: 0 !important; border: none !important;
  border-radius: 6px !important; background: #fff !important;
  font-family: inherit !important; overflow: visible !important;
}
#wub-datepicker .ui-datepicker-calendar {
  width: 100% !important; border-collapse: collapse !important; margin: 0 !important;
}

/* Header */
#wub-datepicker .ui-datepicker-header {
  background: #2c5f8a !important; border: none !important;
  border-radius: 6px 6px 0 0 !important; padding: 0 !important;
  position: relative !important; overflow: visible !important;
}
/* Hide jQuery UI default nav elements — we replace them */
#wub-datepicker .ui-datepicker-prev,
#wub-datepicker .ui-datepicker-next,
#wub-datepicker .ui-datepicker-title { display: none !important; }

/* Custom nav row */
.wub-cal-nav {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important;
  padding: .35em .4em !important; width: 100% !important; box-sizing: border-box !important;
}
.wub-nav-btn {
  background: none !important; border: none !important; color: #fff !important;
  font-size: 1.8em !important; line-height: 1 !important; cursor: pointer !important;
  padding: 0 .2em !important; border-radius: 4px !important;
  flex-shrink: 0 !important;
}
.wub-nav-btn:hover { background: rgba(255,255,255,.2) !important; }

/* Centre: month button + dropdown */
.wub-cal-centre {
  flex: 1 !important; text-align: center !important; position: relative !important;
}
.wub-month-btn {
  background: none !important; border: none !important; color: #fff !important;
  font-size: 1em !important; font-weight: 700 !important; cursor: pointer !important;
  padding: .2em .5em !important; border-radius: 4px !important;
  white-space: nowrap !important; width: 100% !important; text-align: center !important;
}
.wub-month-btn:hover { background: rgba(255,255,255,.15) !important; }

/* Dropdown */
.wub-month-dd {
  position: absolute !important; top: calc(100% + 4px) !important;
  left: 50% !important; transform: translateX(-50%) !important;
  background: #fff !important; border: 1px solid #ccc !important;
  border-radius: 6px !important; box-shadow: 0 4px 18px rgba(0,0,0,.15) !important;
  z-index: 99999 !important; min-width: 180px !important;
  max-height: 260px !important; overflow-y: auto !important; padding: 4px 0 !important;
}
.wub-dd-item {
  display: block !important; width: 100% !important;
  background: none !important; border: none !important;
  padding: .5em 1.2em !important; font-size: .92em !important;
  color: #333 !important; cursor: pointer !important; text-align: center !important;
  box-sizing: border-box !important;
}
.wub-dd-item:hover { background: #eaf3fb !important; color: #2c5f8a !important; }
.wub-dd-active { font-weight: 700 !important; color: #2c5f8a !important; background: #f0f7ff !important; }

/* Calendar cells */
#wub-datepicker .ui-datepicker th {
  padding: 6px 2px !important; text-align: center !important;
  font-size: .78em !important; color: #888 !important; font-weight: 600 !important;
}
#wub-datepicker .ui-datepicker td { padding: 2px !important; text-align: center !important; }
#wub-datepicker .ui-datepicker td a,
#wub-datepicker .ui-datepicker td span {
  display: block !important; text-align: center !important;
  border-radius: 4px !important; padding: .38em .1em !important;
  border: none !important; color: #444 !important; text-decoration: none !important;
}
#wub-datepicker .ui-datepicker td.wub-avail a {
  background: #eaf3fb !important; color: #2c5f8a !important; font-weight: 600 !important;
}
#wub-datepicker .ui-datepicker td.wub-avail a:hover,
#wub-datepicker .ui-datepicker td.ui-datepicker-current-day a,
#wub-datepicker .ui-datepicker td.ui-datepicker-current-day span,
#wub-datepicker .ui-datepicker td .ui-state-active,
#wub-datepicker .ui-state-active { background: #2c5f8a !important; color: #fff !important; border-radius: 4px !important; }
#wub-datepicker .ui-datepicker td.ui-state-disabled span { color: #ccc !important; background: none !important; }

/* Time slots */
#wub-time-slots { display: flex !important; flex-wrap: wrap !important; gap: .5em !important; width: 100% !important; }
.wub-slot-btn {
  padding: .55em 1.4em !important; border: 2px solid #2c5f8a !important;
  border-radius: 5px !important; background: #fff !important; color: #2c5f8a !important;
  font-size: .95em !important; font-weight: 600 !important; cursor: pointer !important; font-family: inherit !important;
}
.wub-slot-btn:hover { background: #eaf3fb !important; }
.wub-slot-btn.wub-selected { background: #2c5f8a !important; color: #fff !important; }

/* Messages */
.wub-msg { font-size: .9em !important; color: #666 !important; margin: .3em 0 !important; }
.wub-err { color: #c0392b !important; }
.wub-val-msg { color: #c0392b !important; font-size: .9em !important; margin-top: .5em !important; }
