/* ---------------------------------- */
/* 반응형 스타일 (모바일) - 최종 수정본 */
/* ---------------------------------- */
@media (max-width: 1150px) {
    /* --- 태블릿: 헤더 --- */
	.header-container{ padding: 0 10px; height: 70px; }
    .main-nav a { padding: 0 10px; font-size: 16px; }
    .user-nav { font-size: 14px; }
    .logo img { height: 30px; }
	.mega-menu-content {padding: 0 20px;}
	.mega-menu-content li a {font-size: 14px;padding: 10px 0;}
	.footer-container .quick a {margin-bottom:10px;}

}
@media (max-width: 1024px) {
    /* --- 태블릿: 헤더 --- */
	.header-container{ padding: 0 10px; height: 70px; }
    .main-nav a { padding: 0 5px; font-size: 13px; }
    .user-nav { font-size: 11px; }
    .logo img { height: 30px; }
	.mega-menu-content {padding: 0 20px;}
	.mega-menu-content li a {font-size: 12px;padding: 5px 0;}

    /* --- 태블릿: 메인 페이지 정보 섹션 --- */
    .info-section .container { flex-direction: column; }
    .info-col { width: 100%; }
    .info-col.announcements { margin-bottom: 40px; }
}

@media (max-width: 768px) {
    /* --- 공통 --- */
    .container { padding: 0 15px; max-width:100%; }
	.page-header {padding: 20px 0;}
    .page-header h1 { font-size: 20px; }
    .sub-nav .container { justify-content: center; flex-wrap: wrap; }
    .sub-nav a { padding: 10px 10px; font-size: 13px; }

    /* --- 헤더 및 슬라이드 메뉴 --- */
    .header-container { height: 60px; padding: 0 15px; justify-content: space-between; }
    .logo h1 { font-size: 18px; }
    .logo span { font-size: 12px; }
    .main-nav, .user-nav { display: none; }
    .mobile-menu-toggle { display: block; order: 3; }
    
    /* --- 메인 페이지 (index.html) --- */
    .hero-carousel { height: 400px; }
    .carousel-slides { width: 600%; }
    .carousel-slide { width: calc(100% / 6); }
    .hero-content h2 { font-size: 26px; }
    .hero-content p { font-size: 15px; }
    .carousel-control { display: none; }
    .quick-links-section { padding: 40px 0; }
    .quick-links-grid {position: relative; display:inline-block;   gap: 0px; width: 100%; }
	.quick-links-item { width:100%;}

    .info-section .container { display: flex; flex-direction: column; gap: 15px; }
    .info-col.announcements, .info-col.right-wrapper { background-color: #fff; border: 1px solid #e0e0e0; border-radius: 12px; padding: 25px; }
    .info-header { border: none; padding: 0; margin-bottom: 15px; }
    .info-header h2 { font-size: 18px; }
    .info-header .plus-btn { display: none; }
    .info-col.announcements .post-list, .info-col.right-wrapper .post-list { font-size: 14px; }
    .info-col.announcements .post-list li, .info-col.right-wrapper .post-list li { margin-bottom: 10px; }
    .info-col.announcements .post-list li:last-child, .info-col.right-wrapper .post-list li:last-child { margin-bottom: 0; }
    .info-col.announcements .post-list li:nth-child(n+3), .info-col.right-wrapper .post-list li:nth-child(n+3) { display: none; }
    .info-col.announcements .post-list a, .info-col.right-wrapper .post-list a { color: #555; justify-content: flex-start; gap: 10px; }
    .info-col.announcements .post-list .date, .info-col.right-wrapper .post-list .date { display: none; }
    .post-list li a span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
    .inquiry-box { padding: 20px; flex-direction: column; text-align: center; gap: 10px; width: 100%; margin: 0; }
    .inquiry-icon { font-size: 32px; margin-right: 0; }
    .inquiry-text h3 { font-size: 18px; }
    .inquiry-text p { font-size: 14px; }
    .footer-main { flex-direction: column; gap: 20px; }
    .footer-nav { flex-wrap: wrap; gap: 15px; }
	.footer-container .footer-main,  .footer-container .footer-nav {display:none;}
	.footer-container .quick {bottom:20px; right:20px; width:30px;}
	.footer-container .quick a {margin-bottom:6px;}
	.content-section {    padding: 30px 0 40px 0;}
    /* --- 교육소개 페이지 --- */
    .course-card-grid { grid-template-columns: 1fr; }
    .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    .modal-content.kit-modal { max-height: 80vh; overflow-y: auto; padding: 25px; }
    .kit-modal h2 { font-size: 20px; }
    .kit-modal p, .kit-modal .info-list li { font-size: 15px; }
    .apply-gallery { grid-template-columns: 1fr; }
    .apply-checklist { display: none; }
    .field-grid { grid-template-columns: 1fr; }
    .field-btn { padding: 16px; }
    .apply-diagram { flex-direction: column; }
    .diagram-bottom { flex-direction: column; width: 100%; gap: 15px; }
    .diagram-box.type-sub { width: 100%; }
    .diagram-line-h, .diagram-box.type-sub::before { display: none; }
    .diagram-top { flex-direction: column; text-align: center; }
    .process-flowchart { flex-direction: column; align-items: center; gap: 15px; padding: 0; }
    .process-flowchart .process-step { width: 100%; text-align: center; padding: 20px; }
    .process-flowchart .arrow { transform: rotate(90deg); }
	.tab-btn, .tab-link{font-size: 12px;    padding:10px 10px;}

    /* --- 자격사항 안내 페이지 --- */
    .info-deflist th, .info-deflist td { display: block; width: 100%; text-align: left; font-size: 13px; padding:10px; }
    .info-deflist th { background-color: transparent; padding-bottom: 5px; }
    .info-deflist td { padding-top: 0; }
    .process-flowchart.horizontal { flex-direction: column; gap: 15px; }
    .process-flowchart.horizontal .arrow { transform: rotate(90deg); }
    .course-item { flex-direction: column; align-items: flex-start; gap: 15px; }
    .score-modal .info-table, .certificate-modal .cert-info { font-size: 14px; }
    .certificate-modal .cert-body { padding: 25px; }
    .certificate-modal h1 { font-size: 32px; letter-spacing: 5px; }
    .certificate-modal .cert-main-text, .certificate-modal .cert-date { font-size: 16px; }
    .certificate-modal .cert-stamp { height: 80px; right: 50%; transform: translateX(50%); }
    .inquiry-form-container { padding: 25px; margin-top: -30px; }
    .inquiry-form-container .form-group.half { width: 100%; }
    .contact-info-box ul { flex-direction: column; gap: 15px; }
    .payment-methods label { display: block; margin-bottom: 15px; }
.content-tabs.lecture-category-tabs .tab-btn {
    padding: 10px 15px;
}

    /* FIT-시험안내: 시험과목 표 세로 배열 */
    .info-table.triple-header thead { display: none; }
    .info-table.triple-header tbody, .info-table.triple-header tr, .info-table.triple-header td { display: block; width: 100%; }
    .info-table.triple-header tbody td { margin-bottom: 25px; border: 1px solid #eee; padding: 20px; }
    .info-table.triple-header td::before { display: block; font-size: 18px; font-weight: 700; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #ddd; }
    .info-table.triple-header tbody td:nth-child(1)::before { content: 'Junior (20문항)'; }
    .info-table.triple-header tbody td:nth-child(2)::before { content: 'Core (50문항)'; }
    .info-table.triple-header tbody td:nth-child(3)::before { content: 'Expert (50문항)'; }
    .info-table.triple-header tfoot td { text-align: center; }
	.lecture-detail-info .info-deflist td.price{font-size: 15px;}
	.lecture-info {padding: 10px;}
	.lecture-info h4, .lecture-info .price{
		font-size: 14px;
	}
	.lecture-detail-info h2{font-size: 17px;}
	.cta-btn-main, .cta-btn-sub{
		padding: 10px 25px; 
		font-size: 14px;
	}

    /* [최종 수정] FIT-시험일정 & 강사인증-접수안내: 카드형 디자인 */
	#fit-tabs .apply-table,
	#moef-tabs .apply-table {
		border: none;
		display: block;
	}
	#fit-tabs .apply-table thead,
	#moef-tabs .apply-table thead,
	#fit-tabs .apply-table tbody,
	#moef-tabs .apply-table tbody {
		display: block;
	}
	#fit-tabs .apply-table tr,
	#moef-tabs .apply-table tr {
		display: block;
		border-radius: 16px;
		padding: 25px;
		margin-bottom: 20px;
		position: relative;
		color: #fff;
	}
	#fit-tabs .apply-table tr:has(.tag-grade.junior) { background-color: #8e44ad; }
	#fit-tabs .apply-table tr:has(.tag-grade.core) { background-color: #2c3e50; }
	#fit-tabs .apply-table tr:has(.tag-grade.expert) { background-color: #c0392b; }
	#moef-tabs .apply-table tr:has(td:nth-child(2):not(:empty)) { background-color: #2980b9; }

    /* 카드 헤더(제목, 버튼)는 그리드에서 제외 */
    #fit-tabs .apply-table td:nth-child(3),
    #fit-tabs .apply-table td:nth-child(7),
    #moef-tabs .apply-table td:nth-child(2),
    #moef-tabs .apply-table td:nth-child(5) {
        display: block;
    }
	#fit-tabs .apply-table td:nth-child(3) { font-size: 28px; font-weight: 700; padding-bottom: 20px; }
	#fit-tabs .apply-table td:nth-child(7),
	#moef-tabs .apply-table td:nth-child(5) {
		position: absolute;
		top: 25px;
		right: 20px;
	}
	#fit-tabs .apply-table td .apply-btn,
	#moef-tabs .apply-table td .cta-btn-sub,
    #moef-tabs .apply-table td .apply-btn {
		background-color: #fff;
		color: #333;
		font-weight: 700;
		border-radius: 20px;
		padding: 8px 18px;
		border: none;
		box-shadow: 0 2px 5px rgba(0,0,0,0.2);
	}
	#moef-tabs .apply-table td .apply-btn.closed {
		background-color: #95a5a6;
		color: #fff;
		border: none;
	}
    
    /* 카드 본문(상세 정보)에만 그리드와 라벨 적용 */
    #fit-tabs .apply-table td:not(:nth-child(1)):not(:nth-child(3)):not(:nth-child(7)),
    #moef-tabs .apply-table td:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(5)):not([rowspan="2"]) {
        display: grid;
        grid-template-columns: 120px auto; /* 라벨 너비 조정 */
        align-items: center;
        font-size: 15px;
        padding: 6px 0;
		border: none;
		background: none;
    }
    #fit-tabs .apply-table td:not(:nth-child(1)):not(:nth-child(3)):not(:nth-child(7))::before,
    #moef-tabs .apply-table td:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(5)):not([rowspan="2"])::before {
        content: '';
		font-weight: 400;
		color: rgba(255, 255, 255, 0.8);
    }

	/* FIT 시험일정 상세정보 */
	#fit-tabs .apply-table td:nth-child(5)::before { content: '시험일'; }
	#fit-tabs .apply-table td:nth-child(4)::before { content: '응시가능 기간'; }
	#fit-tabs .apply-table td:nth-child(2)::before { content: '시험시간'; }
	#fit-tabs .apply-table td:nth-child(6)::before { content: '결과발표일'; }
	#fit-tabs .apply-table td:nth-child(1) { display: none; }

	/* 강사 인증시험 상세정보 */
	#moef-tabs .apply-table tr::before { display:none; }
	#moef-tabs .apply-table td:nth-child(1),
	#moef-tabs .apply-table td[rowspan="2"] { display: none; }
	#moef-tabs .apply-table td:nth-child(2) {
		font-size: 28px;
		font-weight: 700;
		padding-bottom: 20px;
	}
	#moef-tabs .apply-table td:nth-child(3)::before { content: '접수기간'; }
	#moef-tabs .apply-table td:nth-child(4)::before { content: '시험일'; }
	
	
	
	/* ---------------------------------- */
	/* 온라인 강의, 회원가입, 기타 페이지 (모바일 반응형) */
	/* ---------------------------------- */

	/* --- 온라인 금융교육 (online-lecture-*.html, mypage.html) --- */
	.lecture-grid {
		grid-template-columns: repeat(2, 1fr); /* 4열 -> 2열로 변경 */
		gap: 15px;
	}
	.lecture-detail-header {
		flex-direction: column; /* 강의 상세정보 세로 정렬 */
	}
	.status-grid {
		grid-template-columns: 1fr; /* 나의 교육현황 세로 정렬 */
	}
	.lecture-table {
		display: block;
		width: 100%;
		overflow-x: auto; /* 수강 목록 테이블은 좌우 스크롤 */
		white-space: nowrap;
	}

	/* --- 회원가입 (signup-*.html) --- */
	.signup-type-grid {
		grid-template-columns: 1fr; /* 회원 구분 카드 세로 정렬 */
	}
	.signup-form-container.detailed {
		padding: 25px;
	}
	.email-group {
		flex-direction: column;
		align-items: stretch;
	}

	/* --- 사이트맵 (map.html) --- */
	.sitemap-grid {
		grid-template-columns: 1fr; /* 사이트맵 목록 세로 정렬 */
	}
	
	/* ---------------------------------- */
	/* 기타 페이지 (모바일 반응형) */
	/* ---------------------------------- */

	/* --- 공지사항 (notice-*.html) --- */
	.gallery-grid {
		grid-template-columns: repeat(2, 1fr); /* 3열 -> 2열로 변경 */
		gap: 15px;
	}
	.board-list, .post-detail-view, .post-navigation {
		font-size: 14px;
	}
	.board-header {
		display: none; /* 모바일에서는 테이블 헤더 숨김 */
	}
	.board-item {
		display: block; /* 목록을 블록 형태로 변경 */
		padding: 15px 0;
	}
	.col-no, .col-attach {
		display: none; /* 번호와 첨부파일 아이콘 숨김 */
	}
	.col-title {
		width: 100%;
		font-weight: 500;
	}
	.col-date {
		width: 100%;
		text-align: left;
		font-size: 13px;
		color: #888;
		margin-top: 5px;
	}
	.post-header h2 {
		font-size: 22px;
	}
	.post-meta {
		font-size: 13px;
	}
	.post-actions {
		flex-direction: column;
		gap: 15px;
	}

	/* --- 시험관리규정 (regulation.html) --- */
	.regulation-section h2 {
		font-size: 22px;
	}
	.detailed-rules dd {
		padding-left: 15px;
	}


	/* --- 교육센터 소개 페이지 (about.html) --- */
	.ci-intro-section, .activity-grid, .family-site-grid {
		grid-template-columns: 1fr; /* 2열 또는 3열 구조를 모두 1열로 변경 */
	}
	.history-timeline {
		padding-left: 20px;
	}
	.timeline-year {
		left: -20px;
		font-size: 20px;
	}


	/* --- 모바일 슬라이드 메뉴 - 사용자 메뉴 (로그인/회원가입) --- */
	.mobile-user-nav {
		display: flex;
		justify-content: center;
		gap: 20px;
		padding: 20px;
		background-color: #f8f9fa; /* 배경색 추가 */
		border-bottom: 1px solid #eee;
	}

	.mobile-user-nav a {
		text-decoration: none;
		font-size: 15px;
		font-weight: 500;
		color: #333;
	}

	.hd_pops {top:10px !important; left:1% !important; max-width:98%;}
	.hd_pops_con {width:100% !important; height:auto !important;}

	.faq_wrap dt{padding: 10px 40px 10px 40px;}
	.faq_wrap dt i, .faq_wrap dl i{top:10px; left:0px; width:30px; height:30px; font-size:13px; line-height:30px;} 
	.faq_wrap dt{ font-size:13px; line-height:30px;} 
	.faq_wrap dd{font-size:12px; line-height:20px; padding: 10px 10px 10px 40px;}
	.faq_wrap dt em:before{margin-left:-1px;}
	.faq_wrap dt em:before, .faq_wrap dt em:after{width:8px;}
}

