/* ── VibeReserve Calendar Page ── */

/* Calendar page layout */
#vr-calendar-page {
    padding: 24px 28px 80px;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    background: #f1f5f9;
    min-height: 100vh;
}

/* ── FullCalendar overrides ── */
#vr-cal-wrap .fc { font-family: system-ui, -apple-system, "Segoe UI", sans-serif !important; }
#vr-cal-wrap .fc .fc-toolbar { margin-bottom: 18px !important; }
#vr-cal-wrap .fc .fc-toolbar-title {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -.3px;
}
#vr-cal-wrap .fc .fc-button-group { gap: 4px; display: flex; }
#vr-cal-wrap .fc .fc-button {
    background: #fff !important;
    border: 1.5px solid #e2e8f0 !important;
    color: #475569 !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 6px 14px !important;
    transition: all .15s !important;
}
#vr-cal-wrap .fc .fc-button:hover {
    background: #eff6ff !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}
#vr-cal-wrap .fc .fc-button-primary:not(:disabled).fc-button-active,
#vr-cal-wrap .fc .fc-button-primary:not(:disabled):active {
    background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
    border-color: #1d4ed8 !important;
    color: #fff !important;
}
#vr-cal-wrap .fc .fc-today-button {
    background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
    border-color: #1d4ed8 !important;
    color: #fff !important;
}
#vr-cal-wrap .fc .fc-col-header-cell {
    background: #f8fafc !important;
    padding: 10px 0 !important;
}
#vr-cal-wrap .fc .fc-col-header-cell-cushion {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: .8px !important;
    text-decoration: none !important;
}
#vr-cal-wrap .fc-theme-standard .fc-scrollgrid {
    border-radius: 0 0 14px 14px !important;
    border-color: #e2e8f0 !important;
}
#vr-cal-wrap .fc-theme-standard td,
#vr-cal-wrap .fc-theme-standard th { border-color: #f1f5f9 !important; }
#vr-cal-wrap .fc .fc-daygrid-day-number {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    padding: 6px 8px !important;
    text-decoration: none !important;
}
#vr-cal-wrap .fc .fc-daygrid-day.fc-day-today { background: #eff6ff !important; }
#vr-cal-wrap .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    color: #1d4ed8 !important;
    background: #dbeafe;
    border-radius: 6px;
}
#vr-cal-wrap .fc .fc-daygrid-day:hover { background: #f8fafc !important; }
#vr-cal-wrap .fc .fc-event {
    border: none !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 2px 6px !important;
    cursor: pointer !important;
    transition: transform .12s, box-shadow .12s !important;
}
#vr-cal-wrap .fc .fc-event:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0, 0, 0, .15) !important;
}
#vr-cal-wrap .fc .fc-event-title { font-weight: 700 !important; }
#vr-cal-wrap .fc .fc-timegrid-slot { height: 36px !important; }
#vr-cal-wrap .fc .fc-timegrid-slot-label {
    font-size: 11px !important;
    color: #94a3b8 !important;
    font-weight: 600 !important;
}
#vr-cal-wrap .fc .fc-list-event:hover td { background: #f8fafc !important; }
#vr-cal-wrap .fc .fc-list-day-cushion {
    background: #f1f5f9 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #475569 !important;
}
#vr-cal-wrap .fc .fc-list-event-title a {
    font-weight: 700 !important;
    color: #1e293b !important;
    text-decoration: none !important;
}

/* Booking detail modal */
#vr-cal-detail {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .5);
    z-index: 99999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
#vr-cal-detail.is-open { display: flex; }
