/* ============================================================
   kboard 달력(일정) 스킨
   팔레트: 메인 #26364A / 강조 #B89A62 / 본문 #3E4145
============================================================ */
.kboard-calendar{
	--kbc-main:#26364A;
	--kbc-accent:#B89A62;
	--kbc-text:#3E4145;
	--kbc-sun:#e0574f;
	--kbc-sat:#2f74c0;
	--kbc-border:#e3e3e0;
	font-family:"Pretendard","Noto Sans KR",sans-serif;
	color:var(--kbc-text);
	max-width:1000px;
	margin:0 auto;
}
.kboard-calendar *{box-sizing:border-box;}

/* ---------- 상단 툴바 ---------- */
.kbcal-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-bottom:18px;
}
.kbcal-toolbar-spacer{flex:1 1 0;min-width:1px;    border: 1px solid #b0894a !important;}
.kbcal-select{
	flex:1 1 0;
	display:flex;
	align-items:center;
	gap:6px;
	background:#f4f3ef;
	border:1px solid var(--kbc-border);
	border-radius:6px;
	padding:6px 8px;
	max-width:240px;
	margin-bottom: 0 !important;
}
.kbcal-select select{
	border: 1px solid var(--kbc-border) !important;
    border-radius: 4px !important;
    padding: 6px 8px !important;
    font-size: 14px !important;
    /* background: #fff !important; */
    color: var(--kbc-text) !important;
    margin-bottom: 0 !important;
}
.kbcal-go{
	border:0;
	background:#3f3f3f;
	color:#fff;
	width:34px;height:34px;
	border-radius:4px;
	cursor:pointer;
	font-size:15px;
}
.kbcal-title{
	display:flex;
	align-items:center;
	gap:22px;
}
.kbcal-title-text{text-align:center;line-height:1.2;}
.kbcal-title-en{
	display:block;
	font-size:13px;
	letter-spacing:1px;
	color:#9a9385;
	font-weight:600;
}
.kbcal-title-ko{
	display:block;
	font-size:26px;
	font-weight:800;
	color:var(--kbc-main);
}
.kbcal-nav{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;height:34px;
	border-radius:50%;
	border:1px solid var(--kbc-border);
	color:#8a8a8a;
	text-decoration:none;
	font-size:15px;
	transition:.15s;
}
.kbcal-nav:hover{border-color:var(--kbc-accent);color:var(--kbc-accent);}

/* ---------- 달력 그리드 ---------- */
.kbcal-grid{
	border:1px solid var(--kbc-border);
	border-radius:8px;
	overflow:hidden;
}
.kbcal-head,
.kbcal-body{
	display:grid;
	grid-template-columns:repeat(7,1fr);
}
.kbcal-cell{
	border-right:1px solid var(--kbc-border);
	border-bottom:1px solid var(--kbc-border);
}
.kbcal-head .kbcal-cell:nth-child(7n),
.kbcal-body .kbcal-cell:nth-child(7n){border-right:0;}
.kbcal-body .kbcal-cell:nth-last-child(-n+7){border-bottom:0;}

/* 요일 헤더 */
.kbcal-head-cell{
	padding:13px 0;
	text-align:center;
	font-weight:700;
	font-size:15px;
	background:#fff;
	color:var(--kbc-text);
}
.kbcal-head-cell.kbcal-sun{background:var(--kbc-sun);color:#fff;}
.kbcal-head-cell.kbcal-sat{background:var(--kbc-sat);color:#fff;}

/* 날짜 칸 */
.kbcal-day{
	height:120px;            /* 모든 칸 높이 고정 → 행 높이 일정 */
	padding:8px 8px 10px;
	background:#fff;
	display:flex;
	flex-direction:column;
	gap:4px;
	overflow:hidden;         /* 넘치는 일정은 잘라냄 */
}
.kbcal-day.kbcal-sun{background:#fdf6f5;}
.kbcal-day.kbcal-sat{background:#f4f8fd;}
.kbcal-day.kbcal-empty{background:#fbfbfa;}
.kbcal-day.kbcal-today{background:#fbf6e9;box-shadow:inset 0 0 0 2px var(--kbc-accent);}

.kbcal-daynum-row{
	display:flex;
	align-items:center;
	gap:6px;
}
.kbcal-daynum{
	font-size:14px;
	font-weight:700;
	color:var(--kbc-text);
	text-decoration:none;
}
a.kbcal-daynum:hover{color:var(--kbc-accent);text-decoration:underline;}
.kbcal-sun .kbcal-daynum{color:var(--kbc-sun);}
.kbcal-sat .kbcal-daynum{color:var(--kbc-sat);}
.kbcal-holiday .kbcal-daynum{color:var(--kbc-sun);}

.kbcal-today-badge{
	margin-left:auto;
	font-size:11px;
	font-weight:700;
	color:#b0894a;
	letter-spacing:.5px;
}
.kbcal-holiday-flag{font-size:12px;margin-left:auto;}
.kbcal-today-badge + .kbcal-holiday-flag{margin-left:4px;}

/* 일정 목록 */
.kbcal-events{
	display:flex;
	flex-direction:column;
	gap:4px;
	margin-top:3px;
	min-height:0;            /* flex 자식이 고정 높이 안에서 잘리도록 */
	overflow:hidden;
}
.kbcal-holiday-name{
	font-size:12.5px;
	font-weight:600;
	color:var(--kbc-sun);
}
/* 일정 = 칩(chip) 스타일 */
.kbcal-event{
	display:block;
	font-size:12px;
	line-height:1.5;
	color:var(--kbc-main);
	text-decoration:none;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	padding:2px 7px;
	border-radius:4px;
	background:rgba(184,154,98,.14);
	border-left:3px solid var(--kbc-accent);
}
.kbcal-event:hover{background:rgba(184,154,98,.26);text-decoration:none;}
.kbcal-event-time{color:var(--kbc-accent);font-weight:700;margin-right:2px;}
/* 하루 표시 개수 초과 시 +N개 */
.kbcal-event-more{
	font-size:11px;
	font-weight:600;
	color:var(--kbc-accent);
	padding-left:2px;
}

/* 하단 버튼 */
.kbcal-control{
	margin-top:18px;
	text-align:right;
}
.kbcal-button{
	display:inline-block;
	padding:11px 26px;
	background:var(--kbc-main);
	color:#fff !important;
	border-radius:6px;
	font-size:15px;
	font-weight:600;
	text-decoration:none;
}
.kbcal-button:hover{background:#1c2a3a;color:#fff;}

/* ---------- 글쓰기 폼의 일정 날짜 필드 ---------- */
.kbcal-editor-date{margin-bottom:14px;}
.kbcal-editor-date .kboard-attr-row{
	display:flex;
	align-items:center;
	gap:14px;
}
.kbcal-editor-label{font-weight:700;color:var(--kbc-main);min-width:90px;}
.kbcal-required{color:var(--kbc-sun);}
.kbcal-editor-date .kboard-attr-row + .kboard-attr-row{margin-top:10px;}
.kbcal-editor-date input[type="date"],
.kbcal-editor-date input[type="time"]{
	padding:9px 12px;
	border:1px solid var(--kbc-border);
	border-radius:5px;
	font-size:15px;
}

/* 요일 짧은표기 / 이달의 일정 리스트 (데스크톱·모바일 공통 표시) */
.kbcal-wd-short{display:none;}
.kbcal-agenda{display:block;margin-top:24px;}
.kbcal-agenda-title{font-size:16px;font-weight:800;color:var(--kbc-main);margin:0 0 10px;}
.kbcal-agenda-list{list-style:none;margin:0;padding:0;}
.kbcal-agenda-item{border-bottom:1px solid var(--kbc-border);}
.kbcal-agenda-item a{
	display:flex;align-items:baseline;gap:10px;
	padding:11px 4px;text-decoration:none;color:var(--kbc-text);
}
.kbcal-agenda-item a:hover{background:#faf8f2;}
.kbcal-agenda-item .ag-date{flex:0 0 auto;min-width:56px;font-weight:700;color:var(--kbc-main);font-size:14px;}
.kbcal-agenda-item .ag-date .ag-wd{color:#9a9385;font-weight:500;}
.kbcal-agenda-item .ag-time{flex:0 0 auto;color:var(--kbc-accent);font-weight:700;font-size:13px;}
.kbcal-agenda-item .ag-title{flex:1 1 auto;font-size:14px;line-height:1.45;}
.kbcal-agenda-empty{color:#9a9385;padding:14px 4px;}

/* ---------- 반응형 ---------- */
@media (max-width:768px){
	.kbcal-toolbar{flex-wrap:wrap;gap:12px;}
	.kbcal-title{order:-1;width:100%;justify-content:center;}
	.kbcal-select{max-width:none;}
	.kbcal-toolbar-spacer{display:none;}

	/* 요일 1글자 */
	.kbcal-wd-full{display:none;}
	.kbcal-wd-short{display:inline;}
	.kbcal-head-cell{font-size:13px;padding:9px 0;}

	/* 칸 컴팩트 + 일정 텍스트 대신 점으로(자세한 내용은 아래 리스트) */
	.kbcal-day{height:54px;padding:4px 2px;gap:2px;}
	.kbcal-daynum{font-size:13px;}
	.kbcal-today-badge,.kbcal-holiday-flag,.kbcal-events{display:none;}
	.kbcal-day.kbcal-has-event::after{
		content:"";
		align-self:center;
		width:5px;height:5px;border-radius:50%;
		background:var(--kbc-accent);
		margin-top:3px;
	}
}
