@charset "utf-8";

/* ── 툴바: 네비게이션 가운데 + 버튼 영역 두 줄 배치 ─ */
.con-com-17 .cal-toolbar {
    position: relative;
    flex-direction: column;
    gap: 0.7em;
    align-items: center;
    justify-content: center;
}
.con-com-17 .cal-toolbar-lt { order: 1; }
.con-com-17 .cal-toolbar-rt {
    position: static;
    transform: none;
    order: 2;
    display: flex;
    align-items: center;
    gap: 0.5em;
}

/* ── 날짜+공휴일명 헤더 한 줄 배치 ──────────────── */
.cal-cell-header {
    display: flex;
    align-items: center;
    gap: 0.3em;
    min-height: 1.8em;
}

/* ── 오늘 날짜 : 원형 배경, 좌상단 고정 ─────────── */
.con-com-17 .cal-date.is-today {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65em;
    height: 1.65em;
    background: var(--color-1);
    border-radius: 50%;
    color: #fff !important;
    font-weight: 700;
    flex-shrink: 0;
    line-height: 1;
}

/* ── 이전/다음 달 날짜 반투명 ───────────────────── */
.cal-cell.is-other { pointer-events: none; }
.cal-cell.is-other .cal-date { color: #bbb; }

/* ── 요일/공휴일 색상 ────────────────────────────── */
.cal-weekdays .is-sun,
.cal-cell.is-sun .cal-date { color: #e22; }

.cal-weekdays .is-sat,
.cal-cell.is-sat .cal-date { color: #3a7bd5; }

/* ── 공휴일 이름 (날짜 오른쪽 인라인) ───────────── */
.cal-holiday-name {
    font-size: 0.62em;
    font-weight: 600;
    color: #e22;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

/* ── 관리자 글쓰기 버튼 (툴바 우측) ────────────── */
.cal-btn-write {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    padding: 0.5em 1.1em;
    background: var(--color-1);
    color: #fff;
    border-radius: 2em;
    font-size: 0.88em;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(255,104,1,0.3);
    transition: background 0.15s, box-shadow 0.15s, transform 0.1s;
}
.cal-btn-write:hover {
    background: #e05800;
    box-shadow: 0 4px 14px rgba(255,104,1,0.4);
    transform: translateY(-1px);
}
.cal-btn-write svg { flex-shrink: 0; }

/* ── 일정 상세 레이어: 수정·삭제 버튼 ─────────────── */
.ls-layer-box .ls-close .cal-layer-edit-btn {
    background: #3a7bd5;
    flex: 0 0 auto;
    width: 5em;
    border-right: 1px solid rgba(255,255,255,0.2);
}
.ls-layer-box .ls-close .cal-layer-delete-btn {
    background: #c0392b;
    flex: 0 0 auto;
    width: 5em;
    border-right: 1px solid rgba(255,255,255,0.2);
}
.ls-layer-box .ls-close .cal-layer-delete-btn:before {
    content: '\2715';
    margin-right: 0.35em;
}

/* ── 레이어 팝업 시간 표시 ───────────────────────── */
.cal-layer-time {
    font-size: 0.85em;
    color: var(--color-1);
    font-weight: 600;
    margin-top: 0.3em;
}

/* ── 글쓰기 폼 ───────────────────────────────────── */
.cal-write-wrap {
    max-width: 720px;
    margin: 4em auto;
    padding: 0 20px 5em;
}
.cal-write-head {
    padding-bottom: 1.5em;
    margin-bottom: 1.5em;
    border-bottom: 2px solid var(--bg-gray-2);
}
.cal-write-head h3 {
    font-size: 1.5em;
    font-weight: 700;
}
.cal-write-table { display: flex; flex-direction: column; gap: 1.4em; }
.cal-write-row { display: flex; flex-direction: column; gap: 0.5em; }
.cal-write-row--half { flex-direction: row; gap: 1.5em; }
.cal-write-col { flex: 1; display: flex; flex-direction: column; gap: 0.5em; }
.cal-write-label {
    font-size: 1em;
    font-weight: 600;
    color: var(--bg-gray-1);
}
.cal-write-opt { font-weight: 400; font-size: 0.88em; color: #999; }
.cal-input {
    width: 100%;
    padding: 0.85em 1em;
    border: 1px solid #d5d5d5;
    border-radius: 0.5em;
    font-size: 1em;
    box-sizing: border-box;
    background: #fff;
}
.cal-input:focus { outline: none; border-color: var(--color-1); }
.cal-textarea { height: 14em; resize: vertical; }

.cal-write-btns {
    display: flex;
    gap: 1em;
    padding-top: 2.5em;
}
.cal-btn-submit {
    flex: 1;
    padding: 0.85em;
    background: var(--color-1);
    color: #fff;
    border: none;
    border-radius: 0.5em;
    font-size: 1.05em;
    font-weight: 700;
    cursor: pointer;
}
.cal-btn-submit:hover { opacity: 0.85; }
.cal-btn-cancel {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.85em;
    background: var(--bg-gray-6);
    color: var(--bg-gray-1);
    border-radius: 0.5em;
    font-size: 1.05em;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
}
.cal-btn-cancel:hover { background: var(--bg-gray-4); color: #fff; }

/* ── 반응형 ──────────────────────────────────────── */
@media (max-width: 640px) {
    .cal-write-row--half { flex-direction: column; }
    .cal-write-wrap { margin-top: 2em; }

    /* 달력 좌우 여백 제거 */
    .con-com-17 .com-box-01 { padding-left: 0; padding-right: 0; }
    .con-com-17 .cal-toolbar { padding-left: 0.5em; padding-right: 0.5em; }
    .con-com-17 .cal-body { border-radius: 0; border-left: none; border-right: none; box-shadow: none; }
}
