@charset "utf-8";
/* 달력 상단 라인 두께 */
.fc-view-harness  {border-top: 2px solid #000;}

/* 토/일 글자색상 및 배경색상 */
.fc-day-sun a, .fc-day-sun a.fc-daygrid-day-number { color:red }
.fc-day-sat a, .fc-day-sat a.fc-daygrid-day-number { color:blue }
.fc-day-sat { background: #F0F0FF; }
.fc-day-sun { background: #FFF7F7; }

/* 달력 헤더 (월 ~ 토) */
.fc-col-header-cell { height:30px; vertical-align: revert !important; background:#efefef; }
.fc .fc-col-header-cell-cushion { padding:0px 4px !important; }

/* 글쓰기 텍스트 및 배경 색상 선택 */
.clr-list {list-style:none; margin-left: 10px; }
.clr-list > .clr-title { height:26px; line-height:26px; margin-right:10px; }
.clr-list:after {display:block;visibility:hidden;clear:both;content:''}
.clr-list > li {float:left}
.clr-list > li .btn-color {display:block; margin: 0 1px; width:26px; height:26px; border-radius: 3px; border:1px solid #ccc; }
.clr-list > li .user-color { outline:none; border:1px solid #ccc; width:70px !important; text-align:center; }
.color-sample { display:block; width:100%; height:40px; line-height:38px; text-align:center; background:#3788D8; color:#ffffff; border-radius:5px; }

/* 달력 메인화면 상단 툴바 */
.fc-toolbar-chunk:nth-child(1) { width:30%; text-align:left; }
.fc-toolbar-chunk:nth-child(2) { width:40%; text-align:center; }
.fc-toolbar-chunk:nth-child(3) { width:30%; text-align:right; }
.fc-toolbar-chunk > h2 { display: inline-block; padding-top:3px !important; }
.fc .fc-button { border:0px !important; } /* button style */
.fc-prev-button { display:inline-block; }
.fc-next-button { display:inline-block; margin-left:1.2em !important; }

/* 카테고리 */
.category { display:inline-block; background:#2C3E50; color:#fff; height:30px; line-height:30px; padding:0px 8px !important; text-align:center; margin-right:3px; border-radius:3px; cursor:pointer; }
.category-active { background:#22A7F2 !important; }

/* 이벤트 바 */
.fc-event-main-frame {
    /* height:28px; */
    /* line-height:24px; */
    font-size:13px;
    padding:2px 5px; }
.fc-daygrid-event { font-size:11px !important; }

/* 날짜 글자 크기 */
.fc-daygrid-day-number { font-size:1.1em; }

/* 글쓰기 버튼 */
.rumi-write { position:absolute; display:none; top:6px; left:7px; font-size:15px; color:#ccc; cursor:pointer; z-index:10;}
.rumi-write:hover { background:#dd6666; color:#fff; border-radius:50%; padding:5px; top:1px; left:2px}
.fc-daygrid-day-frame:hover .rumi-write { display:block; }

/* 날짜/음력/공휴일 높이 */
.fc-daygrid-day-top { height:35px; }

/* 음력 / 공휴일 */
.rumi-lunarday { position: absolute; top: 22px; right: 5px; font-size: 10px; color:#888; }
.rumi-lunarholiday { position: absolute; top: 5px; left: 30px; font-size: 11px; color:#FF2F2F; }
.week-rumi-lunarset { display: block; width:100%; }
.week-rumi-lunarday { display:inline-block; font-size: 11px; color:#888; }
.week-rumi-lunarholiday { display:inline-block;  font-size: 11px; color:#FF2F2F; margin-left:8px; }

/* fullcalendar 설정 */
.wz_tbl_1,.wz_tbl_1 th,.wz_tbl_1 td{border:0;}
.wz_tbl_1{width:100%;text-align:center;margin: 7px 0 0px;}
.wz_tbl_1 table {clear:both;width:100%;border-collapse:collapse;border-spacing:0;background-color:#fff}
.wz_tbl_1 tbody, .wz_tbl_1 tr, .wz_tbl_1 td {vertical-align:middle}
.wz_tbl_1 caption{display:none}
.wz_tbl_1 th { height:37px; padding:3px 0px; border:1px solid #dcdcdc;color:#666;text-align:center;font-weight:bold;background-color: #fbfbfb;}
.wz_tbl_1 td { height:37px; padding:3px 5px; border:1px solid #e5e5e5; color:#4c4c4c; text-align:left;}
.wz_tbl_1 th span.last:after {border:none;}
.wz_tbl_1 td .numberic {text-align:right;padding-right:4px;}
.wz_tbl_1 ul li { display:inline-block; margin-right:10px; }

/* 일정 상세보기 (view.skin.php) */
#bo_v .scdate-txt {
    position:relative;
    display:block;
    width:100%;
    height:34px;
    font-size: 14px;
}
#bo_v .scdate-txt span {
    position:absolute;
    display:inline-block;
    color:#fff;
}
#bo_v .scdate-txt .date-title {
    width:100px;
    top:0;
    left:0;
    background:#555;
    text-align: center;
    padding:7px 0;
}
#bo_v .scdate-txt .date-txt {
    width:100%;
    text-align:left;
    padding:7px 0 7px 110px;
    background:#888;
}

/* .lunarDay { position:absolute; top:22px; right:5px; color:#888;} */
.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events { min-height: 100px !important; }

/* =========================================================
   FULLCALENDAR MODERN DESIGN PATCH
   - 세련된 카드형 캘린더 디자인
   - 기능 변경 없음, CSS 오버라이드만 적용
========================================================= */

:root {
    --fc-border-color: #e6eaf0;
    --fc-page-bg-color: #ffffff;
    --fc-neutral-bg-color: #f8fafc;
    --fc-today-bg-color: #fff8e6;
    --fc-small-font-size: 12px;
    --fc-event-border-color: transparent;
}

/* 전체 캘린더 카드 */
#calendar.fc,
.fc {
    background: #ffffff !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08) !important;
    padding: 22px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* 상단 검정 라인 제거 */
.fc-view-harness {
    border-top: 0 !important;
}

/* 툴바 */
.fc .fc-header-toolbar {
    margin-bottom: 22px !important;
    padding: 0 2px !important;
    gap: 12px !important;
}

.fc .fc-toolbar-chunk {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* 제목 */
.fc .fc-toolbar-title {
    font-size: 26px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    color: #111827 !important;
}

/* 버튼 공통 */
.fc .fc-button {
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 14px !important;
    border: 1px solid #d9e1ec !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #334155 !important;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.04) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    transition: all .18s ease !important;
}

.fc .fc-button:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
    transform: translateY(-1px) !important;
}

.fc .fc-button:focus,
.fc .fc-button:active {
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
    outline: none !important;
}

.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}

/* 이전/다음 버튼 둥글게 */
.fc .fc-prev-button,
.fc .fc-next-button {
    width: 38px !important;
    padding: 0 !important;
}

/* 요일 헤더 */
.fc .fc-col-header {
    background: #f8fafc !important;
}

.fc .fc-col-header-cell {
    height: 42px !important;
    background: #f8fafc !important;
    border-color: #e8edf3 !important;
    vertical-align: middle !important;
}

.fc .fc-col-header-cell-cushion {
    padding: 12px 4px !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

/* 날짜 셀 */
.fc .fc-daygrid-day {
    background: #ffffff !important;
    transition: background .15s ease !important;
}

.fc .fc-daygrid-day:hover {
    background: #fbfdff !important;
}

.fc .fc-daygrid-day-frame {
    min-height: 118px !important;
    padding: 7px !important;
}

.fc .fc-daygrid-day-top {
    justify-content: flex-start !important;
}

.fc .fc-daygrid-day-number {
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
    text-align: center !important;
    border-radius: 50% !important;
    padding: 0 !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.fc .fc-day-today .fc-daygrid-day-number {
    background: #2563eb !important;
    color: #ffffff !important;
}

/* 이전/다음 달 날짜 */
.fc .fc-day-other .fc-daygrid-day-number {
    color: #cbd5e1 !important;
}

/* 토/일 기존 강한 배경 완화 */
.fc-day-sat,
.fc-day-sun {
    background: #ffffff !important;
}

.fc-day-sun a,
.fc-day-sun a.fc-daygrid-day-number {
    color: #ef4444 !important;
}

.fc-day-sat a,
.fc-day-sat a.fc-daygrid-day-number {
    color: #2563eb !important;
}

/* 오늘 날짜 셀 */
.fc .fc-day-today {
    background: #fffaf0 !important;
}

/* 일정 카드 */
.fc .fc-daygrid-event,
.fc .fc-timegrid-event,
.fc .fc-list-event {
    border: 0 !important;
    border-radius: 8px !important;
    padding: 3px 7px !important;
    margin-top: 3px !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.fc .fc-event-main {
    color: inherit !important;
}

.fc .fc-daygrid-event-dot {
    display: none !important;
}

.fc .fc-event-time {
    font-weight: 800 !important;
    opacity: 0.8 !important;
}

.fc .fc-event-title {
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}

/* more 링크 */
.fc .fc-daygrid-more-link {
    display: inline-block !important;
    margin-top: 4px !important;
    padding: 2px 7px !important;
    border-radius: 999px !important;
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

/* 월/주/일 view border */
.fc-theme-standard td,
.fc-theme-standard th {
    border-color: #e8edf3 !important;
}

.fc-theme-standard .fc-scrollgrid {
    border-color: #e8edf3 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

/* 리스트 뷰 */
.fc .fc-list {
    border: 1px solid #e8edf3 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

.fc .fc-list-day-cushion {
    background: #f8fafc !important;
    color: #334155 !important;
    font-weight: 800 !important;
}

.fc .fc-list-event:hover td {
    background: #f8fafc !important;
}

/* 음력/휴일 표시가 있을 경우 과도하게 튀지 않게 */
.rumi-lunarday,
.rumi-lunarholiday {
    font-size: 11px !important;
    color: #94a3b8 !important;
    font-weight: 600 !important;
}

/* 모바일 툴바 정리 */
@media (max-width: 768px) {
    #calendar.fc,
    .fc {
        padding: 14px !important;
        border-radius: 16px !important;
        box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
    }

    .fc .fc-header-toolbar {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    .fc .fc-toolbar-chunk {
        justify-content: center !important;
        flex-wrap: wrap !important;
    }

    .fc .fc-toolbar-title {
        font-size: 21px !important;
        text-align: center !important;
    }

    .fc .fc-button {
        height: 34px !important;
        min-width: 34px !important;
        padding: 0 11px !important;
        font-size: 12px !important;
    }

    .fc .fc-daygrid-day-frame {
        min-height: 82px !important;
        padding: 4px !important;
    }

    .fc .fc-daygrid-day-number {
        width: 24px !important;
        height: 24px !important;
        line-height: 24px !important;
        font-size: 12px !important;
    }

    .fc .fc-col-header-cell {
        height: 34px !important;
    }

    .fc .fc-col-header-cell-cushion {
        padding: 8px 2px !important;
        font-size: 12px !important;
    }

    .fc .fc-daygrid-event {
        padding: 2px 5px !important;
        font-size: 11px !important;
        border-radius: 6px !important;
    }
}
