/* general_participant_apply.css - 일반국민 사전참여 신청 (본인인증 및 약관동의) */

/* 공통 컨테이너 및 헤더 스타일 (필요시 포함) */
.terms-section {
    max-width: 1200px;
    width: 100%;
    margin: 120px auto;
}

.apply-terms-form {
    width: 100%;
}

.terms-all-check {
    margin-bottom: 32px;
}

/* 체크박스 그룹 스타일 */
.checkbox-group {
    display: flex;
    align-items: center;
    position: relative;
}

.checkbox-group input[type="checkbox"] {
    display: none;
}

.checkbox-group label {
    position: relative;
    padding-left: 28px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    color: #222;
    display: inline-block;
    line-height: 20px;
    transition: all 0.2s;
}

/* 체크박스 박스 (기본 상태) */
.checkbox-group label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-color: #fff;
    border: 1px solid #D4D4D4;
    border-radius: 4px;
    box-sizing: border-box;
    transition: all 0.2s;
}

/* 체크된 상태 배경 */
.checkbox-group input[type="checkbox"]:checked + label::before {
    background-color: #00754A;
    border-color: #00754A;
}

/* 체크 표시 (커스텀 아이콘) */
.checkbox-group label::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 50%;
    transform: translateY(-60%) rotate(45deg);
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    display: none;
    box-sizing: border-box;
}

.checkbox-group input[type="checkbox"]:checked + label::after {
    display: block;
}

.checkbox-group:hover label::before {
    border-color: #00754A;
}

/* 약관 상세 리스트 */
.terms-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.term-item {
    margin-bottom: 32px;
}

.term-item:last-child {
    margin-bottom: 0;
}

.term-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.term-content {
    padding: 24px;
    border-radius: 8px;
    height: 400px;
    overflow-y: auto;
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    border-radius: .8rem;
    border: 1px solid #D8D8D8;
}

/* 본인인증 버튼 영역 */
.verification-action {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 60px;
}

.btn-verify {
    width: 320px;
    height: 64px;
    background-color: #ededed;
    color: #888;
    border: none;
    border-radius: 999px;
    font-size: 20px;
    font-weight: 700;
    cursor: not-allowed;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-verify.active {
    background-color: #00754A !important;
    color: #fff !important;
    cursor: pointer;
}

.btn-verify.active:hover {
    background-color: #005a39;
}

.test-btn {
    background-color: #ff9800 !important;
    color: #fff !important;
    cursor: pointer;
}

/* 반응형 (모바일: ~768px) */
@media screen and (max-width: 1024px) {
    .terms-section {
        padding: 0 20px;
        margin: 60px auto;
        box-sizing: border-box;
    }

    .btn-verify {
        width: 100%;
        height: 54px;
        font-size: 18px;
    }
    
    .term-content {
        padding: 16px;
        height: 160px;
        font-size: 14px;
    }
}



/* 테이블 기본*/
.table_wrap { margin-bottom: 2rem; letter-spacing: -0.5px;}
.table_wrap table {margin-bottom: 1rem;}
.tstyle_list, .faq_list, .fileDown_list {border-bottom-color: #000;}
.tstyle_list {border-top:2px #1a2460 solid;}
.tstyle_list caption { text-align: left; }
.tstyle_list th,
.tstyle_list td{
	padding: 1.4rem 2rem;
	white-space:normal; 
}
.tstyle_list thead th, 
.tstyle_list tbody th {border-bottom: 1px #ddd solid; color: #1a2460; font-weight: 700;}
.tstyle_list thead th {color: #222;}
.tstyle_list tbody td {font-weight: 300; word-break: keep-all;}
.tstyle_list tbody td.category_name {word-break: break-all;}
.tstyle_list.txt_left tbody td,
.tstyle_list.txt-left tbody td {text-align: left !important;}
.tstyle_list.txt-right td{text-align: right;}
.table_wrap .t-bg {background-color: #F8F8F8; color: #00754A;}
.table_wrap tfoot {background-color: #fafafb;}
.tstyle_view th,
.tstyle_write th {
    padding: 1.2rem 1.5rem;
    text-align: left;
	white-space: break-spaces;
    font-weight: 500;
	}
.tstyle_write td,
.tstyle_write td {
    padding: 1rem 1.5rem;
	}		
[class^="tstyle_"] td.no-margin {
	padding: 0;
	}
[class^="tstyle_"] td.no-margin .table_wrap,
[class^="tstyle_"] td.no-margin table  {
	margin-bottom: 0;
}
.tstyle_write tr:last-child th, .tstyle_write tr:last-child td {
	border-bottom: solid 1px #e4e7ec; 
}	
@media all and (max-width: 1210px) {
.table_wrap {
	overflow-x: scroll; 
	}	
.table_wrap [class^="tstyle_"],
.table_wrap.no_response table {
    table-layout: inherit;
	}	
.table_wrap.response {
	overflow: inherit; 
	}
.table_wrap.response > [class^="tstyle_"] {
	table-layout: fixed; 
	}
}

/* ==========================================
   사전참여신청 약관 화면 개선 (개선 디자인 추가)
   ========================================== */

/* 1. [필수] 텍스트 빨간색 지정 (고급스러운 Red 계열) */
.checkbox-group label .font-red {
    color: #e52528 !important;
    font-weight: 700 !important;
}

/* 2. 제3자 제공 동의 내 테이블 스타일 개선 */
.term-content .tstyle_list {
    width: 100% !important;
    border-collapse: collapse !important;
    border-top: 2px solid #1a2460 !important;
    border-bottom: 2px solid #1a2460 !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

.term-content .tstyle_list caption {
    display: none;
}

/* 테이블 컬럼 비율 지정 */
.term-content .tstyle_list col:nth-child(1) { width: 38% !important; }
.term-content .tstyle_list col:nth-child(2) { width: 22% !important; }
.term-content .tstyle_list col:nth-child(3) { width: 22% !important; }
.term-content .tstyle_list col:nth-child(4) { width: 18% !important; }

/* 3. Thead (헤더) 영역: 연한 배경색, 진한 텍스트 및 중앙 정렬 (내부 세로 및 하단 구분선 제거) */
.term-content .tstyle_list thead th {
    background-color: #f7f9fc !important;
    color: #333333 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 14px 10px !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    text-align: center !important;
    vertical-align: middle !important;
}

/* 4. Tbody (본문) 영역: tr 간 구분선, 세로 구분선 및 내용 정렬 */
.term-content .tstyle_list tbody td {
    color: #444444 !important;
    font-weight: 400 !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    padding: 16px 14px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-left: 1px solid #e2e8f0 !important;
    text-align: center !important;
    vertical-align: middle !important;
    word-break: keep-all !important;
    white-space: normal !important;
}

/* 본문 첫 번째 컬럼의 좌측 테두리 제거 */
.term-content .tstyle_list tbody td:first-child {
    border-left: none !important;
}

/* 마지막 행의 하단 테두리는 테이블 전체 하단 테두리와 겹치므로 제거 */
.term-content .tstyle_list tbody tr:last-child td {
    border-bottom: none !important;
}

/* 약관 내용 영역 내 테이블 가로 스크롤 숨김 (스크롤 기능은 유지) */
.term-content .table_wrap {
    overflow-x: auto !important;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}
.term-content .table_wrap::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}