.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: 18px;
		font-weight: 700;
		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-sponsor-workshop::before {
		content: attr(data-track);
		display: block;
		font-weight: 700;
		font-size: 15px;
		color: #D64545;
		margin-bottom: 8px;
		padding: 5px 10px;
		background: #fef2f3;
		border-radius: 4px;
	}
	
	/* 통합 세션은 트랙 정보 없음 */
	.slot-break::before {
		display: none;
	}
}

/* 세션 선택 알림용 보더 효과 */
.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.95);
	color: white;
	padding: 20px 30px;
	border-radius: 10px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
	z-index: 9999999;
	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.2);
	pointer-events: none;
}

.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;
}


/* 등록 버튼 영역 스타일 */
.registration-button-area {
  color: #f82f2f;
}

.registration-button-area h4 {
  font-weight: 500;
  margin-bottom: 25px;
  color: #f82f2f;
  font-size: 1.4rem;
  padding-bottom: 0.3rem;
}

.registration-button-area .btn {
        background: #3d0000;
  color: #ffffff;
  border: none;
  border-radius: 50px;
  font-weight: 600;
  font-size: 23px;
  transition: all 0.3s ease;

}

.registration-button-area .btn:hover {
  transform: translateY(-3px);

            background: #3d0000;
  color: #ffb2ba;
}

.registration-button-area .btn:active {
  transform: translateY(-1px);
}

/* 반응형 스타일 */
@media (max-width: 768px) {
  .registration-button-area {
    padding: 30px 0;
    margin: 20px 0;
  }
  
  .registration-button-area h4 {
    font-size: 18px;
  }
  
  .registration-button-area .btn {
    font-size: 18px;
    padding: 15px 30px;
  }
}

