.calendar {
	display: grid;
	gap: 10px;
}

/* 데스크탑 기본 스타일 */
.calendar-room {
	display: block;
}

.calendar-time {
	font-size: 14px;
	text-align: center;
}

/* 모바일 반응형 (768px 이하) */
@media (max-width: 768px) {
	.calendar {
		grid-template-columns: 1fr !important;
		gap: 20px;
	}
	
	/* 헤더 숨김 */
	.calendar-room {
		display: none !important;
	}
	
	/* 시간을 제목처럼 크게 표시 */
	.calendar-time {
		grid-column: 1 !important;
		grid-row: auto !important;
		font-size: 22px;
		font-weight: 400;
		text-align: left;
		padding: 10px 0 10px 29px;
		border-bottom: 2px solid #ddd;
		background: url('../img/tech/clock-regular-full.svg') no-repeat left center;
		background-size: 21px;
	}
	
	/* 기존 내용 숨기고 data-time만 표시 */
	.calendar-time * {
		display: none;
	}
	
	/* .calendar-time::before {
		content: attr(data-time);
		display: block;
	}
	 */
	/* 세션 블록 */
	.slot {
		grid-column: 1 !important;
		grid-row: auto !important;
		margin-bottom: 15px;
	}
	
	/* 통합 세션은 트랙 정보 없음 */
	.slot-break::before {
		display: none;
	}
}

.slot-sponsor-workshop::before {
	display: none;
}

@media (max-width: 768px) {
	/* 트랙 정보 표시 - 모바일 전용 */
	.slot-sponsor-workshop::before {
		content: attr(data-track);
		display: inline-block;
		font-weight: 700;
		font-size: 13px;
		color: #fff;
		margin-bottom: 8px;
		padding: 4px 10px;
		border-radius: 4px;
	}
	.slot-sponsor-workshop[data-track="Track 1"]::before {
		background: linear-gradient(135deg, #00eeff 0%, #0055ff 55%, #0033cc 100%);
		color: #fff;
	}
	.slot-sponsor-workshop[data-track="Track 2"]::before {
		background: linear-gradient(135deg, #00ffcc 0%, #00aaff 100%);
		color: #001050;
	}
}

/* 세션 선택 알림용 보더 효과 */
.session-unselected-border {
	border: 1px solid #ff6b6b !important;
	border-radius: 5px !important;
}

.session-unselected-border .calendar-time {
	color: #ff0000 !important;
	font-weight: bold !important;
}

/* 토스트 메시지 스타일 */
.session-toast {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(0, 0, 0, 0.9);
	color: white;
	padding: 20px 30px;
	border-radius: 10px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
	z-index: 2147483648;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease-in-out;
	max-width: 300px;
	text-align: center;
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.session-toast.show {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, -50%) scale(1.05);
}

.toast-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.toast-content i {
	font-size: 24px;
	color: #ff6b6b;
}

.toast-message {
	font-size: 16px;
	font-weight: 600;
}

/* 슬롯 클릭 가능 스타일 */
.slot-radio-clickable {
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.slot-radio-clickable:hover {
	background-color: rgba(0, 0, 0, 0.05);
}

/* 선택된 슬롯 스타일 */
.slot.selected {
	background-color: rgba(0, 123, 255, 0.1);
	border: 2px solid #007bff;
}

.slot.selected.track1 {
	border-color: #28a745;
}

.slot.selected.track2 {
	border-color: #dc3545;
}

/* 비활성화된 체크박스 슬롯 스타일 */
.slot.disabled-checked {
	opacity: 0.8;
}
