

#booking_calendar .ui-datepicker {
  font-size: 14px;
}
#booking_calendar { margin-bottom: 12px; }

/* Modern Datepicker */
.ui-datepicker {
    background: #ffffff;
    border: 1px solid #e5e5e7;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    font-family: inherit;
    width: 100% !important;
    max-width: 100%;
    padding: 16px !important;
}

.ui-datepicker-header {
    background: linear-gradient(135deg, #f8f8f8 0%, #f0f0f0 100%);
    border: none;
    border-radius: 6px;
    color: #1d1d1d;
    padding: 12px 16px;
    margin: 0 0 16px 0;
    position: relative;
}

.ui-datepicker-title {
    color: #1d1d1d;
    font-weight: 600;
    font-size: 15px;
    text-align: center;
    letter-spacing: -0.3px;
}

.ui-datepicker-prev,
.ui-datepicker-next {
    top: 50% !important;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #666;
    padding: 4px 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 18px;
}

.ui-datepicker-prev {
    left: 16px !important;
}

.ui-datepicker-next {
    right: 16px !important;
}

.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
    color: #1d1d1d;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 4px;
}

.ui-datepicker-calendar {
    border-collapse: collapse;
    width: 100%;
}

.ui-datepicker-calendar thead {
    background: transparent;
}

.ui-datepicker-calendar th {
    color: #86868b;
    font-weight: 500;
    padding: 12px 8px;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none;
}

.ui-datepicker-calendar td {
    padding: 4px;
    border: none;
}

.ui-datepicker-calendar a {
    display: inline-block !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    line-height: 36px !important;
    text-align: center !important;
    text-decoration: none !important;
    color: #1d1d1d !important;
    border-radius: 0 !important;
    transition: all 0.15s ease !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    border: 2px solid transparent !important;
    box-sizing: border-box !important;
}

.ui-datepicker-calendar a:hover {
    background: #f5f5f7 !important;
    color: #0071e3 !important;
}

.ui-datepicker-current-day a {
    background: #0071e3 !important;
    color: white !important;
    font-weight: 500 !important;
}

.ui-datepicker-other-month a {
    color: #d1d1d6 !important;
}

/* Booked dates - RED (force applied on td > a) */
.ui-datepicker td.ui-datepicker-booked a,
.ui-datepicker-calendar .ui-datepicker-booked a,
.ui-datepicker-booked a,
.ui-datepicker td.ui-datepicker-booked span.ui-state-default,
.ui-datepicker-calendar .ui-datepicker-booked span.ui-state-default,
.ui-datepicker-booked span.ui-state-default {
    background: #ef4444 !important;
    color: white !important;
    border: 2px solid #dc2626 !important;
    cursor: not-allowed !important;
    display: inline-block !important;
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    text-align: center !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
}

.ui-datepicker td.ui-datepicker-booked a:hover,
.ui-datepicker-calendar .ui-datepicker-booked a:hover,
.ui-datepicker td.ui-datepicker-booked span.ui-state-default:hover,
.ui-datepicker-calendar .ui-datepicker-booked span.ui-state-default:hover {
    background: #dc2626 !important;
    color: white !important;
}

/* Unavailable dates - GREY (multiple selectors to catch structure differences) */
.ui-datepicker td.ui-datepicker-unavailable a,
.ui-datepicker-calendar .ui-datepicker-unavailable a,
.ui-datepicker-unavailable a,
.ui-datepicker td.ui-datepicker-unavailable span.ui-state-default,
.ui-datepicker-calendar .ui-datepicker-unavailable span.ui-state-default,
.ui-datepicker-unavailable span.ui-state-default {
    background: #d1d5db !important;
    color: #6b7280 !important;
    border: 2px solid #9ca3af !important;
    cursor: not-allowed !important;
    display: inline-block !important;
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    text-align: center !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
}

.ui-datepicker td.ui-datepicker-unavailable a:hover,
.ui-datepicker-calendar .ui-datepicker-unavailable a:hover,
.ui-datepicker-unavailable a:hover,
.ui-datepicker td.ui-datepicker-unavailable span.ui-state-default:hover,
.ui-datepicker-calendar .ui-datepicker-unavailable span.ui-state-default:hover,
.ui-datepicker-unavailable span.ui-state-default:hover {
    background: #d1d5db !important;
    color: #6b7280 !important;
    cursor: not-allowed !important;
}

/* Extra specificity to remove theme gradients and ensure circular badges */
.ui-datepicker td.ui-datepicker-booked,
.ui-datepicker td.ui-datepicker-unavailable {
    background: transparent !important;
}

.ui-datepicker td.ui-datepicker-booked a.ui-state-default,
.ui-datepicker-booked a.ui-state-default,
.ui-datepicker td.ui-datepicker-unavailable a.ui-state-default,
.ui-datepicker-unavailable a.ui-state-default {
    /* enforce badge sizing and remove theme imagery */
    display: inline-block !important;
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    padding: 0 !important;
    text-align: center !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    background-image: none !important;
    box-shadow: none !important;
}

.ui-datepicker td.ui-datepicker-booked a.ui-state-default,
.ui-datepicker-booked a.ui-state-default {
    background: #ef4444 !important;
    color: #ffffff !important;
    border: 2px solid #dc2626 !important;
}

.ui-datepicker td.ui-datepicker-unavailable a.ui-state-default,
.ui-datepicker-unavailable a.ui-state-default {
    background: #d1d5db !important;
    color: #6b7280 !important;
    border: 2px solid #9ca3af !important;
}

/* Prevent generic ui-state-default from adding gradients or shadows */
.ui-state-default {
    background-image: none !important;
    box-shadow: none !important;
}
