/*
   Final court-booking status colors.
   This file is intentionally loaded after the gold/role themes so broad button
   rules cannot repaint court slots back to the default outline style.
*/
.court-booking-page {
    --slot-available-bg: #dcfce7;
    --slot-available-text: #14532d;
    --slot-available-border: #22c55e;
    --slot-booked-bg: #fee2e2;
    --slot-booked-text: #991b1b;
    --slot-booked-border: #ef4444;
    --slot-maintenance-bg: #fef3c7;
    --slot-maintenance-text: #713f12;
    --slot-maintenance-border: #f59e0b;
}

.court-booking-page .court-weekly-board .court-weekly-courts .court-weekly-pill.open,
.court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.open,
.court-booking-page .court-weekly-board-public .court-weekly-pill.open,
.court-booking-page .manual-court-slot-button.open,
body[data-theme] .main .court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.open:not(.danger):not(.btn-danger) {
    background: var(--slot-available-bg) !important;
    background-color: var(--slot-available-bg) !important;
    color: var(--slot-available-text) !important;
    border: 2px solid var(--slot-available-border) !important;
    box-shadow: 0 8px 18px rgba(34, 197, 94, 0.12) !important;
}

.court-booking-page .court-weekly-board .court-weekly-courts .court-weekly-pill.open:hover,
.court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.open:hover,
body[data-theme] .main .court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.open:not(.danger):not(.btn-danger):hover {
    background: #bbf7d0 !important;
    background-color: #bbf7d0 !important;
    color: var(--slot-available-text) !important;
    border-color: #16a34a !important;
}

.court-booking-page .court-weekly-board .court-weekly-courts .court-weekly-pill.booked,
.court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.booked,
.court-booking-page .court-weekly-board-public .court-weekly-pill.booked,
body[data-theme] .main .court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.booked:not(.danger):not(.btn-danger) {
    background: var(--slot-booked-bg) !important;
    background-color: var(--slot-booked-bg) !important;
    color: var(--slot-booked-text) !important;
    border: 2px solid var(--slot-booked-border) !important;
    box-shadow: 0 8px 18px rgba(239, 68, 68, 0.12) !important;
}

.court-booking-page .court-weekly-board .court-weekly-courts .court-weekly-pill.maintenance,
.court-booking-page .court-weekly-board .court-weekly-courts .court-weekly-pill.unavailable,
.court-booking-page .court-weekly-board .court-weekly-courts .court-weekly-pill.closed,
.court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.maintenance,
.court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.unavailable,
.court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.closed,
.court-booking-page .court-weekly-board-public .court-weekly-pill.maintenance,
.court-booking-page .court-weekly-board-public .court-weekly-pill.unavailable,
.court-booking-page .court-weekly-board-public .court-weekly-pill.closed,
body[data-theme] .main .court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.maintenance:not(.danger):not(.btn-danger),
body[data-theme] .main .court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.unavailable:not(.danger):not(.btn-danger),
body[data-theme] .main .court-booking-page .court-weekly-board .court-weekly-courts button.court-weekly-pill.closed:not(.danger):not(.btn-danger) {
    background: var(--slot-maintenance-bg) !important;
    background-color: var(--slot-maintenance-bg) !important;
    color: var(--slot-maintenance-text) !important;
    border: 2px solid var(--slot-maintenance-border) !important;
    box-shadow: 0 8px 18px rgba(245, 158, 11, 0.12) !important;
}

.court-booking-page .court-weekly-pill.open,
.court-booking-page .court-weekly-pill.open *,
.court-booking-page .court-weekly-pill.open small,
.court-booking-page .court-weekly-pill.open em {
    color: var(--slot-available-text) !important;
}

.court-booking-page .court-weekly-pill.booked,
.court-booking-page .court-weekly-pill.booked *,
.court-booking-page .court-weekly-pill.booked small,
.court-booking-page .court-weekly-pill.booked em {
    color: var(--slot-booked-text) !important;
}

.court-booking-page .court-weekly-pill.maintenance,
.court-booking-page .court-weekly-pill.maintenance *,
.court-booking-page .court-weekly-pill.maintenance small,
.court-booking-page .court-weekly-pill.maintenance em,
.court-booking-page .court-weekly-pill.unavailable,
.court-booking-page .court-weekly-pill.unavailable *,
.court-booking-page .court-weekly-pill.unavailable small,
.court-booking-page .court-weekly-pill.unavailable em,
.court-booking-page .court-weekly-pill.closed,
.court-booking-page .court-weekly-pill.closed *,
.court-booking-page .court-weekly-pill.closed small,
.court-booking-page .court-weekly-pill.closed em {
    color: var(--slot-maintenance-text) !important;
}

.court-booking-page .court-weekly-pill.open,
.court-booking-page .court-weekly-pill.booked,
.court-booking-page .court-weekly-pill.maintenance,
.court-booking-page .court-weekly-pill.unavailable,
.court-booking-page .court-weekly-pill.closed {
    opacity: 1 !important;
    text-shadow: none !important;
}
