/* ========== 테이블 기본 스타일 ========== */
.subinnertable { 
	width: 100%;   
	overflow: hidden; 
	border-collapse: collapse; 
	background: #fff;  
	border-radius: 8px;   
	box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.subinnertable thead th {  
	color: #fff;  
	padding: 16px 12px; 
	text-align: center; 
	font-size: 18px; 
	font-weight: 600;  
}

.subinnertable thead th:last-child { 
	border-right: 0; 
}

.subinnertable tbody td { 
	padding: 20px 20px; 
	border-bottom: 1px solid #e5e5e5; 
	border-right: 1px solid #e5e5e5;   
	font-size: 16px; 
	line-height: 1.4; 
	color: #555;
}

.subinnertable tbody td:last-child { 
	border-right: 0; 
}

.subinnertable tbody tr:hover { 
	background: #f9f9f9; 
}

.subinnertable tbody td:nth-child(1),
.subinnertable tbody td:nth-child(2) { 
	text-align: center; 
}

.subinnertable tbody td:nth-child(1) { 
	font-weight: 600; 
	color: #333;
	background: #f9f9f9;
}

.subinnertable tbody td strong { 
	display: block;  
	color: #333;  
	font-weight: 700;
}

.subinnertable tbody td em { 
	display: block; 
	font-size: 14px; 
	color: #999; 
	font-style: normal; 
	margin-top: 4px; 
}

.subinnertable .program-list { 
	list-style: none; 
	padding: 0; 
	margin: 0; 
}

.subinnertable .program-list li {  
	color: #555; 
	line-height: 1.8; 
	padding-left: 16px; 
	position: relative; 
	margin-bottom: 8px; 
}

.subinnertable .program-list li:before { 
	content: '•'; 
	position: absolute; 
	left: 0; 
	color: #FF5722; 
	font-weight: bold; 
}


/* ========== 테이블 컬럼 너비 ========== */
.subinnertable colgroup col:nth-child(1) { width: 10%; }
.subinnertable colgroup col:nth-child(2) { width: 15%; }
.subinnertable colgroup col:nth-child(3) { width: 35%; }
.subinnertable colgroup col:nth-child(4) { width: 40%; }


/* ========== 탭 버튼 기본 스타일 ========== */
.subinnertable-tabs {
	display: flex;
	justify-content: center;
	gap: 19px;
	margin: 30px 0 40px; 
}

.subinnertable-tabs .tab-btn {
	text-align: center;
	position: relative;
	width: 220px;
	padding: 16px 20px;
	border: 1px solid #ccc;
	font-size: 21px;
	font-weight: 500;
	cursor: pointer;
	border-radius: 40px; 
	transition: all 0.3s ease;
}

.subinnertable-tabs .tab-btn:hover {
	border-color: #333;
	background: #f5f5f5;
}


/* ========== 1280px 이상 (대형 데스크톱) ========== */
@media (max-width: 1280px) {
	.subinnertable thead th {
		font-size: 17px;
		padding: 15px 11px;
	}

	.subinnertable tbody td {
		padding: 18px 18px;
		font-size: 15px;
	} 

	.subinnertable tbody td em {
		font-size: 14px;
	}

	.subinnertable .program-list li {
		line-height: 1.7;
		padding-left: 15px;
	}

	.subinnertable colgroup col:nth-child(1) { width: 10%; }
	.subinnertable colgroup col:nth-child(2) { width: 15%; }
	.subinnertable colgroup col:nth-child(3) { width: 35%; }
	.subinnertable colgroup col:nth-child(4) { width: 40%; }

	.subinnertable-tabs {
		gap: 16px;
		margin: 28px 0 38px;
	}

	.subinnertable-tabs .tab-btn {
		width: 200px;
		padding: 15px 18px;
		font-size: 20px;
	}
}


/* ========== 1024px 이상 (태블릿 가로) ========== */
@media (max-width: 1024px) {
	.subinnertable thead th {
		font-size: 16px;
		padding: 14px 10px;
	}

	.subinnertable tbody td {
		padding: 16px 16px;
		font-size: 14px;
	}
 

	.subinnertable tbody td em {
		font-size: 14px;
	}

	.subinnertable .program-list li {
		line-height: 1.6;
		padding-left: 14px;
		margin-bottom: 6px;
	}

	.subinnertable colgroup col:nth-child(1) { width: 12%; }
	.subinnertable colgroup col:nth-child(2) { width: 16%; }
	.subinnertable colgroup col:nth-child(3) { width: 36%; }
	.subinnertable colgroup col:nth-child(4) { width: 36%; }

	.subinnertable-tabs {
		gap: 14px;
		margin: 25px 0 35px;
	}

	.subinnertable-tabs .tab-btn {
		width: 180px;
		padding: 14px 16px;
		font-size: 18px;
	}
}


/* ========== 768px 이상 (태블릿) ========== */
@media (max-width: 768px) { 

	.subinnertable thead th {
		font-size: 14px;
		padding: 12px 8px;
	}

	.subinnertable tbody td {
		padding: 14px 12px;
		font-size: 14px;
		line-height: 1.3;
	}

	.subinnertable tbody td strong { 
		font-size: 14px;
	}

	.subinnertable tbody td em {
		font-size: 12px;
	}

	.subinnertable .program-list li {
		line-height: 1.5;
		padding-left: 12px;
		margin-bottom: 5px;
		font-size: 14px;
	}

	.subinnertable colgroup col:nth-child(1) { width: 15%; }
	.subinnertable colgroup col:nth-child(2) { width: 20%; }
	.subinnertable colgroup col:nth-child(3) { width: 35%; }
	.subinnertable colgroup col:nth-child(4) { width: 30%; }

	.subinnertable-tabs {
		flex-wrap: wrap;
		gap: 12px;
		margin: 20px 0 30px;
		padding: 0 15px;
	}

	.subinnertable-tabs .tab-btn {
		width: calc(50% - 6px);
		padding: 12px 14px;
		font-size: 16px;
		font-weight: 600;
	}
}


/* ========== 600px 이상 (작은 태블릿) ========== */
@media (max-width: 600px) { 

	.subinnertable thead th:nth-child(2),
	.subinnertable tbody td:nth-child(2) {
		display: none;
	}

	.subinnertable thead th {
		font-size: 14px;
		padding: 10px 6px;
	}

	.subinnertable tbody td {
		padding: 12px 8px;
		font-size: 14px;
		line-height: 1.2;
	}

	.subinnertable tbody td strong { 
		font-size: 14px;
	}

	.subinnertable tbody td em {
		font-size: 12px;
	}

	.subinnertable .program-list li {
		line-height: 1.4;
		padding-left: 10px;
		margin-bottom: 4px;
		font-size: 14px;
	}

	.subinnertable colgroup col:nth-child(1) { width: 20%; }
	.subinnertable colgroup col:nth-child(2) { display: none; }
	.subinnertable colgroup col:nth-child(3) { width: 40%; }
	.subinnertable colgroup col:nth-child(4) { width: 40%; }

	.subinnertable-tabs {
		flex-wrap: wrap;
		gap: 10px;
		margin: 15px 0 25px;
		padding: 0 12px;
		justify-content: center;
	}

	.subinnertable-tabs .tab-btn {
		width: calc(50% - 5px);
		padding: 12px 12px;
		font-size: 14px;
		font-weight: 600;
	}
}


/* ========== 480px 이상 (모바일) ========== */
@media (max-width: 480px) { 
	.subinnertable thead th:nth-child(2),
	.subinnertable tbody td:nth-child(2) {
		display: none;
	}

	.subinnertable thead th {
		font-size: 14px;
		padding: 8px 4px;
	}

	.subinnertable tbody td strong,
	.subinnertable tbody td {
		padding: 10px 6px;
		font-size: 14px;
		line-height: 1.4;  
	}

	.subinnertable tbody td em {
		font-size: 12px;
	}

	.subinnertable .program-list li {
		line-height: 1.3;
		padding-left: 8px;
		margin-bottom: 3px;
		font-size: 14px;
	}

	.subinnertable colgroup col:nth-child(1) { width: 25%; }
	.subinnertable colgroup col:nth-child(2) { display: none; }
	.subinnertable colgroup col:nth-child(3) { width: 35%; }
	.subinnertable colgroup col:nth-child(4) { width: 40%; }

	.subinnertable-tabs {
		flex-wrap: wrap;
		gap: 8px;
		margin: 12px 0 20px;
		padding: 0 10px;
		justify-content: center;
	}

	.subinnertable-tabs .tab-btn {
		width: calc(50% - 4px);
		padding: 11px 10px;
		font-size: 14px;
		font-weight: 600;
	}
}
