/* =========================
 * 레이아웃
 * ========================= */

.kam-schedule {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.kam-calendar,
#fc-calendar {
	width: 100%;
	min-width: 0;
}

/* 모바일 */
@media (max-width: 768px) {
	.kam-schedule {
		grid-template-columns: 1fr;
	}
}


/* =========================
 * 프로그램 목록(우측)
 * ========================= */

.program-list {
	border: 1px solid #e5e5e5;
	padding: 16px;
	border-radius: 10px;
	min-height: 300px;
}

.pl-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}

.pl-date {
	font-weight: 700;
}

.pl-count {
	color: #777;
	font-size: 13px;
}

.pl-empty {
	color: #777;
	padding: 20px 0;
	text-align: center;
}

.pl-notice {
	padding: 10px 12px;
	background: #f7f7f7;
	border: 1px solid #eee;
	border-radius: 8px;
	margin-bottom: 12px;
	font-size: 13px;
	color: #555;
}

.pl-card {
	border: 1px solid #eee;
	border-radius: 10px;
	padding: 14px;
	margin-bottom: 12px;
}

.pl-title {
	font-weight: 700;
	font-size: 16px;
	margin-bottom: 6px;
}

.pl-meta {
	font-size: 14px;
	margin-bottom: 8px;
}

.pl-price {
	font-weight: 700;
}

.pl-summary {
	color: #444;
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 12px;
}

.pl-weekdays {
	margin-top: 6px;
	font-size: 13px;
	color: #666;
}

.pl-actions {
	text-align: right;
}

.pl-btn {
	display: inline-block;
	padding: 10px 14px;
	border: 1px solid #111;
	border-radius: 8px;
	text-decoration: none;
	color: #111;
}

.pl-btn:hover {
	background: #111;
	color: #fff;
}

.pl-btn.is-disabled {
	opacity: .45;
}


/* =========================
 * FullCalendar 커스텀 (핵심)
 * - 배경은 td가 아니라 frame에 적용
 * ========================= */

#fc-calendar .fc {
	width: 100%;
}

/* 오늘 표시 */
#fc-calendar .fc-day-today .fc-daygrid-day-frame {
	background: rgba(0, 0, 0, 0.08);
}

/* 과거/오늘: 프로그램 없는 날짜만 회색 */
#fc-calendar .fc-daygrid-day.day-disabled:not(.has-program) .fc-daygrid-day-frame {
	background: #f3f3f3;
	color: #aaa;
	cursor: not-allowed;
}

/* 미래 + 프로그램 있음 */
#fc-calendar .fc-daygrid-day.has-program-future .fc-daygrid-day-frame {
	background: rgba(208, 237, 245, 0.66);
	cursor: pointer;
}

/* 과거 + 프로그램 있음 */
#fc-calendar .fc-daygrid-day.has-program-past .fc-daygrid-day-frame {
	background: repeating-linear-gradient(
			45deg,
			#f7f7f7,
			#f7f7f7 6px,
			#f0f0f0 6px,
			#f0f0f0 12px
	);
	cursor: not-allowed;
}

/* 선택된 날짜 */
#fc-calendar .fc-daygrid-day.selected-day .fc-daygrid-day-frame {
	outline: 2px solid #000;
	outline-offset: -2px;
	background: rgba(0, 0, 0, 0.10);
}

