/* Universal Booking Date Picker - styling that overrides theme styles. */
.universal-booking-datepicker-container,
.universal-booking-datepicker-container * {
  box-sizing: border-box !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

.universal-booking-datepicker-container {
  --primary-color: var(--primary-color, #ff9500);
  --secondary-color: var(--secondary-color, #2c3e50);
  --text-color: var(--text-color, #ffffff);
  --ubdp-font-family: var(--ubdp-font-family, "Georgia, 'Times New Roman', serif");
  max-width: 980px !important;
  margin: 48px auto !important;
  padding: 0 !important;
  font-family: var(--ubdp-font-family) !important;
  color: var(--secondary-text, #0b1b22) !important;
  transform: none !important;
  filter: none !important;
}

.ubdp-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr 260px;
  align-items: stretch;
  background: #f3f5f6 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 18px 40px rgba(2,8,15,0.55) !important;
  border: 0 !important;
}

.ubdp-date-section {
  background: #f3f5f6 !important;
  padding: 34px 42px !important;
  text-align: center !important;
  min-height: 120px !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 6px !important;
  color: var(--secondary-text, #0b1b22) !important;
}

.ubdp-label {
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0.6px !important;
  text-transform: none !important;
  margin: 0 0 8px 0 !important;
  color: rgba(11,27,34,0.65) !important;
  font-family: var(--ubdp-font-family) !important;
}

.ubdp-day {
  font-size: 68px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: var(--secondary-text, #0b1b22) !important;
  display: block !important;
  margin-bottom: 6px !important;
  font-family: "Georgia, 'Times New Roman', serif" !important;
}

.ubdp-month-section {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.ubdp-month {
  text-transform: lowercase !important;
  font-size: 14px !important;
  color: rgba(11,27,34,0.75) !important;
  margin-right: 6px !important;
}

.ubdp-calendar-icon {
  width: 18px !important;
  height: 18px !important;
  opacity: 0.9 !important;
}

.ubdp-date-input {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.ubdp-button-section {
  background: var(--primary-color) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px 18px !important;
  min-height: 120px !important;
}

.ubdp-check-button {
  background: transparent !important;
  color: var(--text-color) !important;
  border: none !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px !important;
  cursor: pointer !important;
  text-transform: none !important;
  padding: 22px 28px !important;
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--ubdp-font-family) !important;
}

.ubdp-check-button:hover,
.ubdp-check-button:focus {
  opacity: 0.96 !important;
  transform: translateY(-2px) !important;
  transition: all 160ms ease !important;
  outline: none !important;
}

@media (max-width: 880px) {
  .ubdp-wrapper { grid-template-columns: 1fr !important; grid-auto-rows: auto !important; }
  .ubdp-button-section { order: 3 !important; width: 100% !important; }
  .ubdp-date-section { padding: 22px 18px !important; }
  .ubdp-day { font-size: 44px !important; }
  .ubdp-check-button { padding: 14px 18px !important; font-size: 15px !important; }
  .universal-booking-datepicker-container { margin: 20px 12px !important; }
}

.ubdp-date-section:focus,
.ubdp-check-button:focus {
  box-shadow: 0 0 0 3px rgba(255,149,0,0.18) !important;
  outline: none !important;
}

.universal-booking-datepicker-container .ui-datepicker {
  z-index: 999999 !important;
}