/* Air Datepicker Custom Styles for Snow Dunes LeisureVGS */

/* Force Montserrat font on calendar */
.air-datepicker,
.air-datepicker * {
    font-family: 'Montserrat', sans-serif !important;
}

/* Calendar container */
.air-datepicker {
    --adp-width: 350px !important;
    margin-bottom: 25px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(94, 195, 255, 0.2) !important;
}

/* Nav header background — SD blue */
.air-datepicker-nav {
    background: #5EC3FF !important;
    border-bottom: none !important;
}

/* Month/year title — white */
.air-datepicker-nav--title,
.air-datepicker-nav--title i {
    color: #fff !important;
}

.air-datepicker-nav--title:hover {
    background: rgba(255,255,255,0.15) !important;
    color: #fff !important;
}

/* Nav arrow buttons — white */
.air-datepicker-nav--action {
    color: #fff !important;
    width: 32px;
    height: 32px;
    border: none;
    cursor: pointer;
}

.air-datepicker-nav--action:hover {
    background: rgba(255,255,255,0.2) !important;
}

.air-datepicker-nav--action svg path {
    stroke: #fff !important;
    fill: none !important;
}

/* Weekday row */
.air-datepicker-body--day-names {
    background: #e8f7ff !important;
}

/* Day names — SD blue */
.air-datepicker-body--day-name {
    color: #5EC3FF !important;
    font-weight: bold;
}

/* Selected date — SD blue */
.air-datepicker-cell.-selected- {
    background: #5EC3FF !important;
    color: #fff !important;
}

/* Hover state */
.air-datepicker-cell.-selected-:hover {
    background: #3aa8e8 !important;
}

/* Date hover (unselected) */
.air-datepicker-cell:not(.-disabled-):hover {
    background: #e8f7ff !important;
    color: #000 !important;
}

/* Today's date — green dot indicator */
.air-datepicker-cell.-current- {
    color: #19d38a !important;
    font-weight: bold !important;
    background: transparent !important;
}

/* Today selected */
.air-datepicker-cell.-current-.-selected- {
    background: #5EC3FF !important;
    color: #fff !important;
}

/* Disabled dates */
.air-datepicker-cell.-disabled- {
    color: rgba(72, 72, 72, 0.25) !important;
    cursor: not-allowed !important;
}

/* General cell */
.air-datepicker-cell {
    color: #000000;
}

/* =============================================================
   Time Slot Picker — Snow Dunes Branding
   ============================================================= */

/* Info labels */
.booking_info_show,
.booking_info_noshow {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 12px !important;
    display: block;
}

.booking_info_show {
    color: #5EC3FF !important;
}

.booking_info_noshow {
    color: #ff8a00 !important;
}

/* Loading spinner wrapper */
.loading-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
}

/* Slot grid container */
ul.block-picker {
    list-style: none !important;
    padding: 0 !important;
    margin: 12px 0 16px 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

/* Each slot item */
li.block {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Slot button */
a.blocktext {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 100px !important;
    padding: 10px 18px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #5EC3FF !important;
    background: #fff !important;
    border: 2px solid #5EC3FF !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s !important;
    box-shadow: 0 2px 8px rgba(94, 195, 255, 0.1) !important;
    white-space: nowrap !important;
}

/* Hover state */
a.blocktext:hover {
    background: #e8f7ff !important;
    box-shadow: 0 4px 12px rgba(94, 195, 255, 0.25) !important;
}

/* Selected state */
a.blocktext.selected {
    background: #5EC3FF !important;
    color: #fff !important;
    border-color: #5EC3FF !important;
    box-shadow: 0 4px 14px rgba(94, 195, 255, 0.4) !important;
}

/* Selected date label */
#selected-date-label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #5EC3FF !important;
    margin-top: 10px !important;
    margin-bottom: 4px !important;
}

/* Visit date label */
label[for="require_date_l"] {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #222 !important;
    margin-bottom: 10px !important;
    display: block !important;
}

/* Date message (validation error) */
#date-message {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ff8a00 !important;
}

