/* ============================================================================= */
/* FullCalendar Custom Style
/* ============================================================================= */

/* --------------- Typography --------------- */
.fc .fc-toolbar-title {
    font-weight: var(--font-title4-weight);
    font-size: var(--font-title4-size);
    line-height: var(--font-title4-line-height);
    letter-spacing: var(--font-title4-letter-spacing);
}

.fc .fc-daygrid-day-number,
.fc .fc-event-time {
    font-weight: var(--font-subtitle3-weight);
    font-size: var(--font-subtitle3-size);
    line-height: var(--font-subtitle3-line-height);
    letter-spacing: var(--font-subtitle3-letter-spacing);
}

.fc .fc-event-title {
    font-weight: var(--font-subtitle4-weight);
    font-size: var(--font-subtitle4-size);
    line-height: var(--font-subtitle4-line-height);
    letter-spacing: var(--font-subtitle4-letter-spacing);
}

.fc .fc-button-primary {
    font-weight: var(--font-body2-weight);
    font-size: var(--font-body2-size);
    line-height: var(--font-body2-line-height);
    letter-spacing: var(--font-body2-letter-spacing);
}


/* --------------- Header --------------- */
/* Header Button - Common */
/* cta-line 스타일 적용 */
.fc .fc-button {
    padding: var(--cta-btn-line-padding-y) var(--cta-btn-line-padding-x);
    border: 1px solid var(--color-light-gray);
    /* border: var(--cta-btn-line-border-normal); */
    background-color: var(--cta-btn-line-background-color-normal);
    color: var(--cta-btn-line-color-normal);
    border-radius: var(--cta-btn-line-border-radius);
}

.fc .fc-button-primary.fc-today-button,
.fc .fc-button-primary.fc-prev-button,
.fc .fc-button-primary.fc-next-button {
    color: var(--color-text-black);
}

.fc .fc-button-primary.fc-today-button:focus,
.fc .fc-button-primary.fc-prev-button:focus,
.fc .fc-button-primary.fc-next-button:focus {
    box-shadow: none;
}

.fc .fc-button-primary.fc-today-button:hover,
.fc .fc-button-primary.fc-prev-button:hover,
.fc .fc-button-primary.fc-next-button:hover,
.fc .fc-button-primary.fc-today-button:active,
.fc .fc-button-primary.fc-prev-button:active,
.fc .fc-button-primary.fc-next-button:active {
    box-shadow: none;
    background-color: var(--cta-btn-line-background-color-hover);
    border: 1px solid var(--color-light-gray);
    color: var(--cta-btn-line-color-hover);
}

.fc .fc-button-primary.fc-today-button:disabled,
.fc .fc-button-primary.fc-prev-button:disabled,
.fc .fc-button-primary.fc-next-button:disabled {
    background-color: var(--cta-btn-line-background-color-normal);
    border: 1px solid var(--color-light-gray);
    color: var(--cta-btn-line-color-normal);
    opacity: 0.5; /* 비활성화 시 투명도 적용 */
}


/* Header Button - today */
.fc .fc-button-primary.fc-today-button {
    padding: 8px 12px;
}

/* Header Button - prev, next */
.fc .fc-button-primary.fc-prev-button,
.fc .fc-button-primary.fc-next-button {
    padding: 8px;
}


/* --------------- Body --------------- */
/* 테이블 테두리 제거 */
.fc-theme-standard .fc-scrollgrid,
.fc-theme-standard td,
.fc-theme-standard th {
    border: none;
}

/* ==== 글자 스타일 ==== */
/* 월간 달력 날짜 상단 정렬 방식 변경 */
.fc-daygrid-day-top {
    flex-direction: row;
}

/* 날짜 숫자 중앙 정렬 */
.fc-daygrid-day-number {
    margin: auto;
}

/* 선택 불가능한 날짜에 light-gray 색상 적용 (오늘 제외) */
.fc .fc-day-other .fc-daygrid-day-top {
    opacity: 1;
}
.fc .fc-day-past:not(.fc-day-today) .fc-daygrid-day-number,
.fc .fc-day-other:not(.fc-day-today) .fc-daygrid-day-number {
    color: var(--color-light-gray);
}
/* 마감된 날짜에 light-gray 색상 적용 */
.fc .fc-daygrid-day:has(.fc-event-closed) .fc-daygrid-day-number {
    color: var(--color-light-gray);
}
/* 일요일 글자색 변경 */
.fc-theme-standard .fc-day-effective-sun .fc-col-header-cell-cushion,
.fc-theme-standard .fc-day-effective-sun .fc-daygrid-day-number {
    color: var(--color-point-red);
}

/* 날짜, 이벤트 중앙 정렬 */
.fc .fc-daygrid-day-frame {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 이벤트 글자 중앙 정렬 */
.fc .fc-event-title-container {
    text-align: center;
}

/* 이벤트가 마우스 클릭을 가로채지 않도록 설정 */
.fc .fc-event {
    pointer-events: none;
}

/* 중요: 특정 클래스가 붙은 이벤트만 마우스 인식을 되살립니다 */
.clickable-event {
    pointer-events: auto !important; /* 마우스가 인식하게 됨 -> 뒤쪽 셀 클릭 안됨 */
    cursor: pointer !important;      /* 손가락 모양 등장 */
}
/* 자바스크립트가 'pointer-date' 클래스를 붙인 날짜 칸 */
.pointer-date {
    cursor: pointer !important;
}


/* ==== 셀 스타일 ==== */
.fc .fc-daygrid-day {
    border-radius: 8px;
}

/* 오늘 날짜(td)의 기본 배경색 변경 */
.fc .fc-daygrid-day.fc-day-today {
    background-color: var(--color-light-gray);
}

/* 선택된 날짜의 배경색, 글자색 변경 */
.fc .fc-daygrid-day.fc-day-selected {
    background-color: var(--color-primary);
    color: var(--color-white);
}
.fc .fc-daygrid-day.fc-day-selected .fc-event-title {
    color: var(--color-white);
}
