/* 1. 기본 레이아웃 */
.ap_extra_search.bd_wrt_main { margin: 12px auto 16px auto; max-width: 862px; width: 100%; padding: 0; background: #ffffff !important; border: none !important; border-bottom: 2px solid #111111; box-sizing: border-box; }
/* 2. 테이블 기본 구조 초기화 */
.ap_extra_search.bd_wrt_main .et_vars { display: block; width: 100%; border: none; padding: 0; margin: 0; }
.ap_extra_search.bd_wrt_main .et_vars tbody { display: flex; flex-direction: row !important; flex-wrap: wrap !important; width: 100%; }
/* 3. 검색 행 배치 및 정렬 */
.ap_extra_search.bd_wrt_main .et_vars tr { display: flex; align-items: center !important; padding: 0; margin: 0; border: none !important; background: #ffffff !important; width: 100% !important; }
/* 4. 라인별 출력 순서 강제 배치 */
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_1 { order: 1 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_2 { order: 2 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_3 { order: 3 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_4 { order: 4 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_5 { order: 5 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_6 { order: 6 !important; }
/* 5. 항목 이름 영역(th) 정의 */
.ap_extra_search.bd_wrt_main .et_vars th { display: inline-flex; align-items: center; justify-content: flex-start; width: 70px; min-width: 70px; padding: 0 !important; margin: 0 !important; border: none !important; font-size: 11px; font-weight: 700; color: #111111 !important; letter-spacing: -0.5px; box-sizing: border-box; background: transparent !important; }
.ap_extra_search.bd_wrt_main .et_vars th::before { display: none !important; }
/* 6. 데이터 영역(td) 정의 */
.ap_extra_search.bd_wrt_main .et_vars td { display: block; flex-grow: 1; padding: 5px 0 5px 0px !important; border: none !important; box-sizing: border-box; background: transparent !important; }
/* 7. 셀렉터 가로 나열 스키마 */
.ap_extra_search.bd_wrt_main .et_vars tr:has(select.select) { width: auto !important; margin-right: 8px !important; display: inline-flex !important; }
.ap_extra_search.bd_wrt_main .et_vars tr:has(select.select) td { padding: 5px 0 !important; display: flex !important; align-items: center; }
/* 8. 바둑판형 격자 배열 */
.ap_extra_search.bd_wrt_main .et_vars tr ul, .ap_extra_search.bd_wrt_main .et_vars ul { display: grid; grid-template-columns: repeat(var(--cols, 7), minmax(0, 1fr)) !important; gap: 4px !important; list-style: none; margin: 0; padding: 0; width: 100%; }
/* 9. 18열 격자 예외 배열 */
.ap_extra_search.bd_wrt_main .et_vars tr[style*="--cols: 18"] ul, .ap_extra_search.bd_wrt_main .et_vars ul[style*="--cols: 18"] { grid-template-columns: repeat(18, minmax(41px, 1fr)) !important; gap: 2px !important; }
.ap_extra_search.bd_wrt_main .et_vars tr[style*="--cols: 18"] li label, .ap_extra_search.bd_wrt_main .et_vars ul[style*="--cols: 18"] li label { font-size: 12px !important; letter-spacing: -1px !important; padding: 0 !important; }
/* 10. 입력 폼 초기화 및 숨김 처리 */
.ap_extra_search.bd_wrt_main .et_vars li, .extra_category { display: block !important; position: relative; float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.ap_extra_search.bd_wrt_main .et_vars input[type="radio"], .ap_extra_search.bd_wrt_main .et_vars input[type="checkbox"] { position: absolute; width: 100%; height: 100%; opacity: 0; cursor: pointer; margin: 0; z-index: 5; }
/* 11. 공통 칩 디자인 선언 */
.ap_extra_search.bd_wrt_main .et_vars label, .ap_extra_search.bd_wrt_main .et_vars li label { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; height: 28px; margin: 0; padding: 0 6px; font-size: 11px; font-weight: 400; border-radius: 4px; border: none !important; transition: all 0.1s ease; text-align: center; white-space: nowrap; overflow: hidden; z-index: 1; }
/* 12. 셀렉터 커스텀 화살표 주입 */
.ap_extra_search.bd_wrt_main .et_vars select.select { display: inline-flex !important; align-items: center !important; box-sizing: border-box !important; height: 28px !important; min-width: 90px !important; padding: 0 28px 0 12px !important; font-size: 11px !important; font-weight: 500 !important; color: #4b5563 !important; border: 1px solid #e2e8f0 !important; border-radius: 6px !important; background: #f8fafc !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM5Y2EzYWYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=") !important; background-repeat: no-repeat !important; background-position: right 10px center !important; background-size: 12px !important; cursor: pointer !important; outline: none !important; transition: all 0.15s ease !important; }
/* 13. 셀렉터 호버 및 포커스 효과 */
.ap_extra_search.bd_wrt_main .et_vars select.select:hover { border-color: #cbd5e1 !important; background-color: #f1f5f9 !important; }
.ap_extra_search.bd_wrt_main .et_vars select.select:focus { border-color: #111111 !important; color: #111111 !important; background-color: #ffffff !important; box-shadow: 0 0 0 2px rgba(17, 17, 17, 0.05) !important; background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMxMTExMTEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=") !important; }
/* 14. 라인 1 테마 */
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_1 label { background: var(--bg-color, #f8fafc) !important; color: #475569 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_1 li:hover label, .ap_extra_search.bd_wrt_main .et_vars tr.search_line_1 span:hover label { background: color-mix(in srgb, var(--bg-color, #f8fafc) 85%, #000000 15%) !important; }
/* 15. 라인 2 테마 */
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_2 label { background: var(--bg-color, #f3f4f6) !important; color: #4b5563 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_2 li:hover label, .ap_extra_search.bd_wrt_main .et_vars tr.search_line_2 span:hover label { background: color-mix(in srgb, var(--bg-color, #f3f4f6) 85%, #000000 15%) !important; }
/* 16. 라인 3 테마 */
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_3 label { background: var(--bg-color, #fafafa) !important; color: #52525b !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_3 li:hover label, .ap_extra_search.bd_wrt_main .et_vars tr.search_line_3 span:hover label { background: color-mix(in srgb, var(--bg-color, #fafafa) 85%, #000000 15%) !important; }
/* 17. 라인 4, 5, 6 테마 */
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_4 label, .ap_extra_search.bd_wrt_main .et_vars tr.search_line_5 label, .ap_extra_search.bd_wrt_main .et_vars tr.search_line_6 label { background: var(--bg-color, #eef2f6) !important; color: #475569 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_4 li:hover label, .ap_extra_search.bd_wrt_main .et_vars tr.search_line_5 li:hover label, .ap_extra_search.bd_wrt_main .et_vars tr.search_line_6 li:hover label { background: color-mix(in srgb, var(--bg-color, #eef2f6) 85%, #000000 15%) !important; }
/* 18. 체크 상태 반전 고정 마감 */
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_1 input:checked + label { background: #111111 !important; color: #ffffff !important; font-weight: 600 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_2 input:checked + label { background: #111111 !important; color: #ffffff !important; font-weight: 600 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_3 input:checked + label { background: #111111 !important; color: #ffffff !important; font-weight: 600 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_4 input:checked + label { background: #111111 !important; color: #ffffff !important; font-weight: 600 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_5 input:checked + label { background: #111111 !important; color: #ffffff !important; font-weight: 600 !important; }
.ap_extra_search.bd_wrt_main .et_vars tr.search_line_6 input:checked + label { background: #111111 !important; color: #ffffff !important; font-weight: 600 !important; }
/* 19. 하단 통합 검색 바 영역 */
.ap_extra_search.bd_wrt_main .regist { display: flex !important; align-items: center !important; justify-content: flex-end !important; padding: 6px 4px 10px 4px !important; margin: 0 !important; border: none !important; width: 100% !important; box-sizing: border-box !important; gap: 5px !important; background: #ffffff !important; }
.ap_extra_search.bd_wrt_main .regist .signature_search_box { display: inline-flex !important; align-items: center !important; margin: 0 !important; padding: 0 !important; }
/* 20. 하단 텍스트 입력창 */
.ap_extra_search.bd_wrt_main input[type="text"].itx, .ap_extra_search.bd_wrt_main .srch_itx.text { height: 30px !important; line-height: 30px !important; box-sizing: border-box !important; border: 1px solid #e2e8f0 !important; padding: 0 12px !important; width: 260px !important; border-radius: 6px !important; font-size: 12px !important; background-color: #ffffff !important; color: #1f2937 !important; margin: 0 !important; outline: none !important; transition: border-color 0.15s ease; }
.ap_extra_search.bd_wrt_main input[type="text"].itx:focus { border-color: #111111 !important; }
/* 21. 하단 검색 및 리셋 버튼 */
.ap_extra_search.bd_wrt_main .searchb_btn, .searchb_btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; font-size: 12px !important; font-weight: 600 !important; height: 30px !important; padding: 0 20px !important; border-radius: 6px !important; border: none !important; background-color: #111111 !important; color: #fff !important; text-decoration: none !important; line-height: 1 !important; margin: 0 !important; box-sizing: border-box !important; }
.ap_extra_search.bd_wrt_main .bd_btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; font-size: 12px !important; font-weight: 500 !important; height: 30px !important; padding: 0 14px !important; border-radius: 6px !important; border: 1px solid #e2e8f0 !important; background-color: #fff !important; color: #475569 !important; line-height: 1 !important; margin: 0 !important; box-sizing: border-box !important; transition: all 0.15s ease; }
.ap_extra_search.bd_wrt_main .bd_btn:hover { background-color: #f8fafc !important; color: #111111 !important; border-color: #cbd5e1 !important; }
/* 22. 가상 드롭다운 컨테이너 배치 */
.custom-dropdown-container { position: relative; display: inline-flex; vertical-align: middle; }
/* 23. 드롭다운 트리거 버튼화 및 기존 배경 이미지 화살표 제거 */
.custom-dropdown-container .dropdown-trigger { display: inline-flex !important; align-items: center !important; justify-content: flex-start !important; min-width: 150px !important; width: auto !important; background-color: #f8fafc !important; color: #4b5563 !important; border: 1px solid #e2e8f0 !important; border-radius: 6px !important; padding: 0 32px 0 12px !important; font-size: 11px !important; font-weight: 500 !important; height: 28px !important; cursor: pointer !important; box-sizing: border-box !important; user-select: none !important; line-height: 28px !important; white-space: nowrap !important; text-overflow: ellipsis !important; background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM5Y2EzYWYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=") !important; background-repeat: no-repeat !important; background-position: right 10px center !important; background-size: 12px !important; appearance: none !important; -webkit-appearance: none !important; }
/* 24. 드롭다운 트리거 마우스 오버 효과 */
.custom-dropdown-container .dropdown-trigger:hover { border-color: #cbd5e1 !important; background-color: #f1f5f9 !important; }
/* 25. 드롭다운 트리거 활성화 시 화살표 색상 블랙 반전 */
.custom-dropdown-container.active .dropdown-trigger { border-color: #111111 !important; color: #111111 !important; background-color: #ffffff !important; box-shadow: 0 0 0 2px rgba(17, 17, 17, 0.05) !important; background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMxMTExMTEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=") !important; }
/* 26. 하단 가상 레이어 박스 - 전체 검색창 너비(862px)에 맞춰 넉넉하게 확장 */
.custom-dropdown-container .dropdown-layer { display: none; position: absolute; top: calc(100% + 4px); left: 0; width: 680px; background: #ffffff !important; border: 1px solid #cbd5e1 !important; border-radius: 8px !important; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important; padding: 12px !important; z-index: 100 !important; box-sizing: border-box !important; }
/* 27. 트리거 활성화 시 레이어 노출 스위칭 */
.custom-dropdown-container.active .dropdown-layer { display: block !important; }
/* 28. 레이어 내부 바둑판 격자 - 텍스트가 절대 안 잘리도록 7열 넓은 배열로 교정 */
.custom-dropdown-container .dropdown-layer ul { display: grid !important; grid-template-columns: repeat(7, minmax(0, 1fr)) !important; gap: 4px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
/* 29. 레이어 내부 칩 텍스트 및 라인 높이 마감 */
.custom-dropdown-container .dropdown-layer li label { font-size: 11px !important; height: 28px !important; letter-spacing: -0.5px !important; padding: 0 4px !important; margin: 0 !important; line-height: 1 !important; }
/* 30. 레이어 내부 대제목 기본 공통 스타일 마감 */
.custom-dropdown-container .layer-section-title { font-size: 11px !important; font-weight: 700 !important; color: #111111 !important; margin: 4px 0 6px 2px !important; display: block !important; }
/* 31. 2차 상세 선택 구역 상단 경계선 분리 및 배경 색상 대비 주입 */
.custom-dropdown-container .child-category-container { margin-top: 10px !important; padding-top: 6px !important; border-top: 1px dashed #cbd5e1 !important; width: 100% !important; box-sizing: border-box !important; }
/* 32. 활성화된 2차 상세 선택 블록의 독립적 입치감 부여 */
.custom-dropdown-container .child-row-group { background-color: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin-bottom: 6px !important; border: 1px solid #e2e8f0 !important; width: 100% !important; box-sizing: border-box !important; }
/* 33. 2차 상세 선택 소제목 디자인 스키마 보정 */
.custom-dropdown-container .layer-section-title.child-title { color: #2563eb !important; font-size: 10.5px !important; margin: 0 0 6px 0 !important; }
/* 34. 1차 카테고리 그리드 정렬 마감 */
.custom-dropdown-container .parent-category-grid { display: grid !important; grid-template-columns: repeat(7, minmax(0, 1fr)) !important; gap: 4px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
/* 35. 2차 카테고리 그리드 정렬 마감 */
.custom-dropdown-container .child-category-grid { display: grid !important; grid-template-columns: repeat(7, minmax(0, 1fr)) !important; gap: 4px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
/* 36. 카테고리가 가상 드롭다운 셀렉터일 때 해당 tr 줄 자체를 다른 select 행들과 똑같이 inline-flex 흐름으로 통합 */
.ap_extra_search.bd_wrt_main .et_vars tr:has(.custom-dropdown-container) { width: auto !important; margin-right: 8px !important; display: inline-flex !important; }
/* 37. 셀렉터가 존재하는 모든 행의 td 내부 요소들을 한 라인에 수평 정렬 마감 */
.ap_extra_search.bd_wrt_main .et_vars tr:has(select.select, .custom-dropdown-container) td { display: inline-flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 8px !important; vertical-align: middle !important; padding: 5px 0 !important; }
/* 38. 가상 드롭다운 컨테이너가 일반 select 태그와 물리적 높낮이 및 흐름이 100% 일치하도록 정돈 */
.custom-dropdown-container { display: inline-flex !important; align-items: center !important; vertical-align: middle !important; height: 28px !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box !important; }
