@charset "utf-8";

/* === 코어 최소 의존 스타일 (테마 UI는 tailwind.css에서 처리) === */

/* 기본 리셋 */
html { overflow-y:scroll }
body { margin:0; padding:0; font-family:'NEXON Lv2 Gothic', 'Malgun Gothic', dotum, sans-serif; background:#fff; color:#1f2937; font-size:17px; line-height:1.6 }
html, h1, h2, h3, h4, h5, h6, form, fieldset, img { margin:0; padding:0; border:0 }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block }
ul, dl, dt, dd { margin:0; padding:0; list-style:none }
legend { position:absolute; font-size:0; line-height:0; text-indent:-9999em; overflow:hidden }
label, input, button, select, img { vertical-align:middle }
input, button, textarea, select { margin:0; padding:0; font-family:inherit; font-size:inherit }
button { cursor:pointer }
p { margin:0; padding:0; word-break:break-all }
hr { display:none }
pre { overflow-x:scroll }
a { color:inherit; text-decoration:none }
*, :after, :before { box-sizing:border-box }

/* 레이아웃 제약 해제 (테마에서 Tailwind로 제어) */
#hd, #wrapper, #ft { min-width:0 !important; width:auto !important }
#gnb .gnb_wrap, #container_wr, #ft_wr, #ft_copy { width:auto !important; max-width:1240px; margin:0 auto }
#container { width:100% !important; float:none !important; min-height:0 !important; margin:0 !important }
#aside { display:none }

/* 화면낭독기 */
#hd_login_msg { position:absolute; top:0; left:0; font-size:0; line-height:0; overflow:hidden }
.msg_sound_only, .sound_only { display:inline-block !important; position:absolute; top:0; left:0; width:0; height:0; margin:0 !important; padding:0 !important; font-size:0; line-height:0; border:0 !important; overflow:hidden !important }

/* 본문 바로가기 */
#skip_to_container a { z-index:100000; position:absolute; top:0; left:0; width:1px; height:1px; font-size:0; line-height:0; overflow:hidden }
#skip_to_container a:focus, #skip_to_container a:active { width:100%; height:75px; background:#21272e; color:#fff; font-size:2em; font-weight:bold; text-align:center; text-decoration:none; line-height:3.3em }

/* 캡챠 */
#captcha { display:inline-block; position:relative }
#captcha legend { position:absolute; font-size:0; line-height:0; text-indent:-9999em; overflow:hidden }
#captcha #captcha_img { height:40px; border:1px solid #898989; vertical-align:top; padding:0; margin:0 }
#captcha #captcha_mp3 { margin:0; padding:0; width:40px; height:40px; border:0; background:transparent url('../../../img/captcha2.png') no-repeat; vertical-align:middle; overflow:hidden; cursor:pointer; text-indent:-999px; border-radius:3px }
#captcha #captcha_reload { margin:0; padding:0; width:40px; height:40px; border:0; background:transparent url('../../../img/captcha2.png') no-repeat 0 -40px; vertical-align:middle; overflow:hidden; cursor:pointer; text-indent:-999px; border-radius:3px }
#captcha #captcha_key { margin:0 0 0 3px; padding:0 5px; width:90px; height:40px; border:1px solid #ccc; background:#fff; font-size:1.333em; font-weight:bold; text-align:center; border-radius:3px; vertical-align:top }
#captcha #captcha_info { display:block; margin:5px 0 0; font-size:0.95em }

/* 본문 내 에디터 콘텐츠 */
#bo_v_con ul { display:block; list-style-type:disc; margin:1em 0; padding-left:40px }
#bo_v_con ol { display:block; list-style-type:decimal; margin:1em 0; padding-left:40px }
#bo_v_con li { display:list-item }

/* cheditor */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before { box-sizing:content-box }

/* 사이드뷰 */
.sv_wrap { position:relative; font-weight:normal }
.sv_wrap .sv { z-index:1000; display:none; margin:5px 0 0; font-size:0.92em; background:#333; box-shadow:2px 2px 3px rgba(0,0,0,0.2) }
.sv_wrap .sv:before { content:""; position:absolute; top:-6px; left:15px; border-style:solid; border-width:0 6px 6px 6px; border-color:transparent transparent #333 transparent }
.sv_wrap .sv a { display:inline-block; padding:0 10px; line-height:30px; width:100px; font-weight:normal; color:#bbb }
.sv_wrap .sv a:hover { background:#000; color:#fff }
.sv_member { color:#333 }
.sv_on { display:block !important; position:absolute; top:23px; left:0 }

/* 페이징 */
.pg_wrap { clear:both; display:flex; justify-content:center; padding:20px 0 }
.pg { text-align:center }
.pg_page, .pg_current { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 8px; border-radius:8px; font-size:14px; text-decoration:none; transition:all 0.15s }
.pg_page { color:#6b7280; background:#f3f4f6; border:1px solid #e5e7eb }
.pg_page:hover { background:#e5e7eb; color:#111827 }
.pg_current { background:var(--hex-primary-500); border:1px solid var(--hex-primary-500); color:#fff; font-weight:700 }
.pg_start, .pg_prev, .pg_end, .pg_next { text-indent:-999px; overflow:hidden; background-color:#f3f4f6; border:1px solid #e5e7eb }
.pg_start { background-image:url('../img/btn_first.gif'); background-repeat:no-repeat; background-position:50% 50% }
.pg_prev { background-image:url('../img/btn_prev.gif'); background-repeat:no-repeat; background-position:50% 50% }
.pg_end { background-image:url('../img/btn_end.gif'); background-repeat:no-repeat; background-position:50% 50% }
.pg_next { background-image:url('../img/btn_next.gif'); background-repeat:no-repeat; background-position:50% 50% }
.pg_start:hover, .pg_prev:hover, .pg_end:hover, .pg_next:hover { background-color:#e5e7eb }

/* 선택복사/이동 새창 */
#copymove .win_desc { text-align:center; display:block }
#copymove .tbl_wrap { margin:20px }
#copymove .win_btn { padding:0 20px 20px }
.copymove_current { float:right; background:var(--hex-primary-500); padding:5px 10px; color:#fff; border-radius:6px; font-size:13px }
.copymove_currentbg { background:#f3f4f6 }

/* 새창 */
.new_win { position:relative }
.new_win .tbl_wrap { margin:0 20px }
.new_win #win_title { font-size:1.3em; height:50px; line-height:30px; padding:10px 20px; background:#fff; color:#000; box-shadow:0 1px 10px rgba(0,0,0,.1) }
.new_win .win_ul { margin-bottom:15px; padding:0 20px }
.new_win .win_ul:after { display:block; visibility:hidden; clear:both; content:"" }
.new_win .win_ul li { float:left; background:#fff; text-align:center; padding:0 10px; border:1px solid var(--hex-primary-200); border-radius:30px; margin-left:5px }
.new_win .win_ul li:first-child { margin-left:0 }
.new_win .win_ul li a { display:block; padding:8px 0; color:var(--hex-primary-400) }
.new_win .win_ul .selected { background:var(--hex-primary-500); border-color:var(--hex-primary-500) }
.new_win .win_ul .selected a { color:#fff; font-weight:bold }
.new_win .win_desc { position:relative; margin:10px; border-radius:8px; background:#ef4444; color:#fff; line-height:50px; text-align:left; padding:0 20px }
.new_win .btn_confirm:after { display:block; visibility:hidden; clear:both; content:"" }
.new_win .win_btn { text-align:center }
.new_win .btn_close { padding:0 20px; height:45px; border:1px solid #dcdcdc; cursor:pointer; border-radius:6px; background:#fff }
.new_win .btn_submit { padding:0 20px; height:45px; font-weight:bold; border:0; background:var(--hex-primary-500); color:#fff; border-radius:6px; cursor:pointer }
.new_win .btn_submit:hover { background:var(--hex-primary-600) }

/* 필수입력 */
.required, textarea.required { background-image:url('../img/require.png') !important; background-repeat:no-repeat !important; background-position:right top !important }

/* 검색결과 */
.sch_word { color:#fff; background:var(--hex-primary-500); padding:2px 5px 3px; border-radius:3px }

/* alert 대안 */
#validation_check { margin:100px auto; width:500px }
#validation_check h1 { margin-bottom:20px; font-size:1.3em }
#validation_check p { margin-bottom:20px; padding:30px 20px; border:1px solid #e5e7eb; background:#fff; border-radius:8px }

/* 팝업레이어 */
#hd_pop { z-index:1000; position:relative; margin:0 auto; height:0 }
#hd_pop h2 { position:absolute; font-size:0; line-height:0; overflow:hidden }
.hd_pops { position:absolute; border:1px solid #e5e7eb; background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,0.15) }
.hd_pops img { max-width:100% }
.hd_pops_footer { padding:0; background:#111827; color:#fff; text-align:left; position:relative }
.hd_pops_footer:after { display:block; visibility:hidden; clear:both; content:"" }
.hd_pops_footer button { padding:10px; border:0; color:#fff }
.hd_pops_footer .hd_pops_reject { background:#111827 }
.hd_pops_footer .hd_pops_close { background:#374151; position:absolute; top:0; right:0 }

/* 임시저장 */
a.btn_frmline, button.btn_frmline { display:inline-block; padding:0 12px; height:40px; border:1px solid #e5e7eb; background:#fff; border-radius:8px; color:#374151; text-decoration:none; vertical-align:top; font-size:14px; cursor:pointer }
button.btn_frmline:hover { background:#f3f4f6 }
#autosave_pop { display:none; position:absolute; top:100%; left:0; z-index:100; background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 4px 20px rgba(0,0,0,0.15); padding:16px; min-width:300px }
#autosave_pop strong { display:block; margin-bottom:10px; font-size:14px }
#autosave_pop ul { list-style:none; margin:0; padding:0 }
#autosave_pop li { padding:8px 0; border-bottom:1px solid #f3f4f6 }
#autosave_pop .autosave_close { margin-top:10px; padding:6px 16px; border:1px solid #e5e7eb; border-radius:6px; background:#fff; cursor:pointer }

/* Mobile 전환 */
#device_change { display:block; margin:0.3em; padding:0.5em 0; border:1px solid #e5e7eb; border-radius:2em; background:#fff; color:#000; font-size:2em; text-decoration:none; text-align:center }
