/* --- BUS INTERIOR LAYOUT --- */
.msb-bus-interior {
    border: 4px solid #333;
    border-radius: 30px 30px 10px 10px;
    padding: 30px 20px;
    background: #e8eaed;
    display: inline-block;
    margin: 20px 0;
}

.msb-bus-front {
    text-align: center;
    font-weight: bold;
    color: #555;
    margin-bottom: 20px;
    border-bottom: 2px dashed #aaa;
}

.msb-bus-row {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 10px;
}

.msb-aisle {
    width: 20px;
    flex-shrink: 0;
}

/* --- SEAT STYLES --- */
.msb-seat {
    width: 45px;
    height: 45px;
    margin: 0 5px;
    border: 2px solid rgba(0,0,0,0.1);
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    border-radius: 6px 6px 12px 12px;
    transition: 0.2s all;
}

.available-seat { background-color: #1e578a; }
.available-seat:hover { background-color: #15426b; transform: scale(1.05); }
.selected-seat { background-color: #4caf50 !important; }
.booked-seat { background-color: #d32f2f; cursor: not-allowed; opacity: 0.5; }

/* --- FEEDBACK & UTILITIES --- */
#seats-container {
    display: flex;
    flex-wrap: wrap;
    max-width: 400px;
}

.msb-confirmation {
    padding: 10px;
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
    margin-bottom: 15px;
}

.msb-error {
    padding: 10px;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
    margin-bottom: 15px;
}

#ui-datepicker-div {
    z-index: 9999 !important;
}
/* Initially hide the seat map */
#seat-map {
    display: none;
}
/* --- VISUAL BLOCKOUT STYLING --- */

/* 1. Fully Blocked Days on the Calendar (Unclickable) */
.ui-datepicker .ui-blocked-date span,
.ui-datepicker .ui-blocked-date a {
    background: #ffebee !important;
    color: #d32f2f !important;
    border: 1px solid #d32f2f !important;
    opacity: 0.6;
    text-decoration: line-through;
}

/* 2. Partially Blocked Days on the Calendar (Clickable, but orange warning) */
.ui-datepicker .ui-partial-blocked-date a {
    background: #fff8e1 !important;
    color: #f57f17 !important;
    border: 1px solid #fbc02d !important;
}

/* 3. Blocked Hours inside the Time Dropdown */
option.blocked-time-slot {
    color: #d32f2f !important;
    background-color: #ffebee !important;
    font-weight: bold;
}
/* Styling for Fully Booked slots */
option.fully-booked-slot {
    color: #d32f2f !important;
    font-weight: bold;
    background-color: #fff0f0 !important;
}