/* 공통 네비게이션 탭 메뉴 */
.program-tabs {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin: 40px 0;
	flex-wrap: wrap;
}

.program-tabs .tab-btn {
	position: relative;
	padding: 16px 28px;
	color: white;
	font-weight: bold;
	font-size: 15px;
	border-radius: 10px;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.program-tabs .tab-btn span {
	position: relative;
	z-index: 2;
}

/* Hover 및 Active 상태 애니메이션 */
.program-tabs .tab-btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.program-tabs .tab-btn:active {
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* 탭별 개별 색상 설정 */
.program-tabs .winter-btn {
	background: linear-gradient(135deg, #8ec5fc, #1c3faa);
}

.program-tabs .summer-btn {
	background: linear-gradient(135deg, #4fc3f7, #0288d1);
	opacity: 0.85;
}
.program-tabs .summer-btn:hover {
	opacity: 1;
}

.program-tabs .regular-btn {
	background: #1a4fa3;
}

.program-tabs .inquiry-btn {
	background: #455a64;
}

/* 현재 탭(Active) 강조 표시 (겨울방학이 액티브이므로 winter-btn에 매핑) */
.program-tabs .tab-btn.active {
	outline: 3px solid rgba(28, 63, 170, 0.4);
	box-shadow: 0 8px 24px rgba(28, 63, 170, 0.3);
	transform: translateY(-2px);
}

/* 겨울방학 특강 메인 본문 섹션 */
.winter-program-section {
	max-width: 800px;
	margin: 0 auto;
	padding: 40px 32px;
	background: linear-gradient(180deg, #f3f8ff, #ffffff);
	border-radius: 24px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	font-family: 'Segoe UI', 'Noto Sans KR', sans-serif;
	position: relative;
	border: 1px solid #e8f1fc;
}

/* 접수 상태 뱃지 */
.status-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 18px;
	font-size: 14px;
	font-weight: 800;
	border-radius: 30px;
	margin-bottom: 24px;
	text-align: center;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
}

.status-badge i {
	font-size: 16px;
}

.status-badge.open {
	background-color: rgba(28, 63, 170, 0.06);
	color: #1c3faa;
	border: 1px solid rgba(28, 63, 170, 0.2);
}

.status-badge.closed {
	background-color: rgba(198, 40, 40, 0.06);
	color: #c62828;
	border: 1px solid rgba(198, 40, 40, 0.2);
	animation: pulse 2.5s infinite;
}

@keyframes pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(198, 40, 40, 0.3);
	}
	70% {
		box-shadow: 0 0 0 8px rgba(198, 40, 40, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(198, 40, 40, 0);
	}
}

/* 마감(is-closed) 상태 비주얼 임팩트 디자인 */
.winter-program-section.is-closed {
	position: relative;
}

/* 세련된 마감 도장(Stamp) 오버레이 */
.winter-program-section.is-closed::before {
	content: "접수 마감";
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-12deg);
	font-size: 64px;
	font-weight: 900;
	color: rgba(198, 40, 40, 0.12);
	border: 6px dashed rgba(198, 40, 40, 0.16);
	padding: 12px 36px;
	border-radius: 16px;
	pointer-events: none;
	z-index: 10;
	letter-spacing: 4px;
	text-align: center;
}

/* 특강 정보 흐리게 처리 (문의는 가능하도록 상담 카드는 제외) */
.winter-program-section.is-closed .info-card,
.winter-program-section.is-closed .apply-period-box {
	filter: grayscale(0.85);
	opacity: 0.55;
	pointer-events: none;
	user-select: none;
}

/* 텍스트 스타일링 */
.winter-program-section .sub-title {
	font-size: 18px;
	color: #546e7a;
	margin: 0 0 6px 0;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	text-align: center;
}

.winter-program-section .main-title {
	font-size: 32px;
	color: #1c3faa;
	margin: 0 0 24px 0;
	font-weight: 800;
	text-align: center;
	line-height: 1.3;
}

/* 신청 기간 박스 */
.apply-period-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: linear-gradient(135deg, #e8f1fc, #d0e3fc);
	padding: 16px;
	border-radius: 16px;
	margin-bottom: 30px;
	box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
	border: 1px solid #a6c8ff;
}

.apply-period-box .label {
	font-size: 13px;
	color: #0d47a1;
	font-weight: 700;
	margin-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.apply-period-box .value {
	font-size: 18px;
	color: #c62828;
	font-weight: 800;
}

/* 특강 정보 카드 */
.info-card {
	background: #ffffff;
	padding: 28px;
	border-radius: 20px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
	margin-bottom: 30px;
	border: 1px solid #e8f1fc;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.info-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
	transform: translateY(-2px);
}

.info-row, .contact-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	text-align: left;
	margin-bottom: 20px;
	gap: 20px;
	max-width: 440px;
	margin-left: auto;
	margin-right: auto;
}

.info-row:last-child, .contact-row:last-child {
	margin-bottom: 0;
}

.info-row .icon, .contact-row .icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: linear-gradient(135deg, #e8f1fc, #d0e3fc);
	color: #1c3faa;
	font-size: 20px;
	flex-shrink: 0;
	box-shadow: 0 4px 10px rgba(28, 63, 170, 0.08);
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.info-row:hover .icon, .contact-row:hover .icon {
	transform: scale(1.08) rotate(5deg);
	background: linear-gradient(135deg, #1c3faa, #0d47a1);
	color: #ffffff;
	box-shadow: 0 6px 15px rgba(28, 63, 170, 0.25);
}

.info-content strong, .contact-content strong {
	display: block;
	font-size: 13px;
	color: #78909c;
	margin-bottom: 2px;
	font-weight: 700;
}

.info-content p, .contact-content p {
	font-size: 16px;
	color: #263238;
	margin: 0;
	line-height: 1.5;
	font-weight: 500;
}

.info-content .highlight-text {
	font-size: 18px;
	color: #1c3faa;
	font-weight: 800;
}

/* 상담문의 카드 */
.contact-card {
	background: #e8f1fc;
	padding: 24px;
	border-radius: 20px;
	border: 1px solid #d0e3fc;
	box-shadow: 0 4px 12px rgba(28, 63, 170, 0.05);
	text-align: center;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.contact-card:hover {
	box-shadow: 0 8px 20px rgba(28, 63, 170, 0.1);
	transform: translateY(-2px);
}

.contact-card .card-title {
	font-size: 18px;
	font-weight: 800;
	color: #0d47a1;
	margin: 0 0 20px 0;
	line-height: 1.5;
}

.phone-link {
	color: #1c3faa;
	text-decoration: none;
	font-weight: 800;
	font-size: 18px;
	transition: color 0.2s ease;
}

.phone-link:hover {
	color: #0d47a1;
	text-decoration: underline;
}

/* 줄바꿈 및 띄어쓰기 유지 텍스트 */
.multiline-text {
	white-space: pre-wrap;
}

.bottom-spacer {
	height: 10px;
}

/* 반응형 미디어 쿼리 */
@media (max-width: 600px) {
	.winter-program-section {
		padding: 30px 20px;
		border-radius: 16px;
	}
	
	.winter-program-section .main-title {
		font-size: 26px;
	}

	.apply-period-box .value {
		font-size: 16px;
	}

	.info-card {
		padding: 20px;
	}

	.program-tabs .tab-btn {
		padding: 12px 20px;
		font-size: 13px;
		border-radius: 8px;
	}
}
