/* 
 * reserve.css - 회의실 예약 페이지 전용 스타일 
 */

/* 달력 날짜 제어 및 스타일 */
.fc-day-past {
    background-color: #f8f9fa !important;
    color: #adb5bd !important;
    pointer-events: none !important;
}

/* 과거 날짜라도 숫자는 보이도록 색상 고정 */
.fc-day-past .fc-daygrid-day-number {
    color: #adb5bd !important;
    text-decoration: none !important;
}

/* 오늘 날짜 표시 (디자인 일원화, 파란색 제거) */
.fc-day-today {
    background-color: transparent !important;
    border: none !important;
}

/* 오늘 날짜의 숫자만 강조 */
.fc-day-today .fc-daygrid-day-number {
    color: #a51f24 !important;
    font-weight: 800 !important;
}

/* 선택된 날짜 (Red) */
.selected-date {
    background-color: #ffe5e5 !important;
}

/* 텍스트 밑줄 제거 및 커서 설정 */
.fc-daygrid-day-number {
    text-decoration: none !important;
    color: #333;
    font-weight: 500;
    padding: 5px !important;
}

.fc-daygrid-day:not(.fc-day-past) {
    cursor: pointer !important;
}

/* 예약된 일정(Event) 가독성 개선 (선명하게) */
.fc-event {
    cursor: pointer;
    border: none !important;
    border-radius: 6px !important;
    padding: 3px 6px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    transition: all 0.2s ease !important;
}

/* 활성 예약 (Vivid Red) */
.fc-event-vivid {
    background-color: #dc3545 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(220, 53, 69, 0.2) !important;
}

/* 이용 종료 (Past Gray) */
.fc-event-past {
    background-color: #f1f3f5 !important;
    color: #495057 !important;
    /* 더 선명한 진회색 글자 */
    opacity: 0.9;
}

.fc-event-vivid .fc-event-title,
.fc-event-vivid .fc-event-time {
    color: #ffffff !important;
}

.fc-event-past .fc-event-title,
.fc-event-past .fc-event-time {
    color: #495057 !important;
}

/* Time Slot Styling */
.fc-timegrid-slot {
    height: 48px !important;
    cursor: pointer;
    transition: background-color 0.2s;
}

.fc-timegrid-slot:hover {
    background-color: #f8f9fa;
}

/* Selected Slot (Red 표시) */
.slot-selected {
    background-color: #a51f24 !important;
    opacity: 0.9 !important;
    border: none !important;
}

.selected-info-container {
    flex-direction: column !important;
    color: white !important;
    text-align: center;
    padding: 10px;
}

.selected-main-time {
    font-size: 1.05rem;
    font-weight: 800;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.selection-disclaimer {
    font-size: 0.7rem;
    font-weight: 500;
    opacity: 0.85;
    letter-spacing: -0.02em;
    background: rgba(0, 0, 0, 0.15);
    padding: 4px 12px;
    border-radius: 4px;
}

/* 마우스를 따라다니는 툴팁 스타일 */
#calendar-tooltip {
    position: absolute;
    z-index: 9999;
    pointer-events: none;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 700;
    color: white;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    white-space: nowrap;
    transition: opacity 0.1s ease;
}

.calendar-tooltip-start {
    background-color: #333333;
    /* 다크 그레이 */
}

.calendar-tooltip-end {
    background-color: #a51f24;
    /* 기업 레드 */
}

.calendar-tooltip-modify {
    background-color: #495057;
    /* 짙은 그레이 (수정 안내) */
}

/* 월간 달력 이벤트 바(Bar) 스타일 (Capture 1 스타일 적용) */
.fc-daygrid-event {
    margin-top: 2px !important;
    margin-bottom: 2px !important;
    padding: 2px 4px !important;
    border-radius: 4px !important;
    border: none !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    cursor: default !important;
}

.fc-event-vivid {
    background-color: #a51f24 !important;
    /* 기업 레드 */
    color: #ffffff !important;
}

.fc-event-past,
.fc-event-past .mini-event-bar {
    background-color: #f1f3f5 !important;
    /* 연한 그레이 바탕 */
    color: #495057 !important;
    /* 짙은 그레이 글씨 */
}

.mini-event-bar {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Occupied Slot (Gray 표시) */
.slot-occupied {
    background-color: #e0e0e0 !important;
    opacity: 0.6;
    border: none !important;
    pointer-events: none;
    /* 클릭 불가 */
}

/* Content inside background events (Time label centering) */
.fc-bg-event-content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
}

/* Specific styling for occupied slot text */
.occupied-label {
    color: #000000 !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em;
    /*  opacity: 0.8;*/
}

/* Shake animation for validation feedback */
@keyframes shake {

    0%,
    100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-5px);
    }

    75% {
        transform: translateX(5px);
    }
}

.shake-animation {
    animation: shake 0.2s ease-in-out 0s 2;
    border: 2px solid #dc3545 !important;
}

/* Override FullCalendar background event styles */
.fc-bg-event.slot-occupied {
    z-index: 3 !important;
}

.fc-bg-event.slot-selected {
    z-index: 2 !important;
}

/* Hide default selection highlight as we use custom logic */
.fc-timegrid-bg-harness {
    pointer-events: none;
}

.fc-bg-event {
    pointer-events: auto !important;
    /* Allow hover/cursor on background events */
}

/* 주말 색상 변경 (일요일: 레드, 토요일: 블루) */
.fc-day-sun .fc-col-header-cell-cushion,
.fc-day-sun .fc-daygrid-day-number {
    color: #a51f24 !important; /* 일요일 레드 */
}

.fc-day-sat .fc-col-header-cell-cushion,
.fc-day-sat .fc-daygrid-day-number {
    color: #0d6efd !important; /* 토요일 블루 */
}