@charset "utf-8";
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

/* 1. 기본 서체 및 리셋 */
body, table, input, button, select, textarea, .xe, .xe_content {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif !important;
    font-size: 15px; 
    line-height: 1.6;
}

/* Site Layout - Body Wrap */
body {
    background: #f1f5f9; 
    color: #334155;
    margin: 0;
    padding: 20px 0;
}

.xe {
    width: 960px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 12px; 
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05); 
    overflow: hidden; 
}

/* 2. Site Layout - Header (상단바) */
.header {
    position: relative;
    width: 100%;
    height: 140px; 
    background: #1e293b; 
    margin-bottom: 0;
    z-index: 2;
}

.body .header {
    width: auto;
    height: auto;
    background: none;
    margin: auto;
    z-index: 1;
}

.header h1 {
    margin: 0;
    position: absolute;
    top: 20px;
    left: 25px;
}
.header h1 a {
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    font-size: 24px;
    letter-spacing: -0.5px;
}

/* 언어 선택 */
.language { 
    position: absolute; 
    top: 15px; 
    right: 25px; 
    z-index: 100; 
}
.language strong { color: #cbd5e1; font-size: 13px; margin-right: 5px; }
.language .toggle { background: none; border: 0; cursor: pointer; }
.language ul {
    position: absolute; top: 25px; right: 0; display: none;
    background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1); padding: 5px 0;
    list-style: none;
}
.language li { list-style: none; margin: 0; padding: 0; }
.language li button {
    display: block; width: 100%; padding: 6px 15px; font-size: 13px;
    color: #334155; background: none; border: 0; text-align: left; cursor: pointer;
}
.language li button:hover { background: #f8fafc; color: #1d4ed8; }

/* 3. 메인 네비게이션 (GNB) */
.gnb {
    position: absolute; 
    bottom: 0px; 
    left: 20px;
    height: 45px; 
    margin-bottom: 0;
}
.gnb ul { list-style: none; margin: 0; padding: 0; }
.gnb ul:after { content: ""; display: block; clear: both; }
.gnb li { float: left; position: relative; margin-right: 5px; list-style: none; }
.gnb li a {
    float: left; padding: 12px 18px; color: #94a3b8;
    text-decoration: none; font-size: 15px; font-weight: 500;
    border-radius: 8px 8px 0 0; transition: all 0.3s ease;
}
.gnb li a:hover, .gnb li a:focus { color: #ffffff; background: rgba(255, 255, 255, 0.1); }
.gnb li.active a { color: #0f172a; background: #ffffff; font-weight: 700; } 

/* GNB 서브메뉴 */
.gnb ul ul {
    display: none; position: absolute; left: 0; top: 45px;
    padding: 8px 0; background: #ffffff;
    border: 1px solid #e2e8f0; border-top: 0;
    border-radius: 0 8px 8px 8px; box-shadow: 0 10px 15px rgba(0,0,0,0.1);
    min-width: 180px; 
    list-style: none;
}
.gnb ul li:hover ul { display: block; }
.gnb li li { float: none; display: block; list-style: none; }
.gnb li li a {
    float: none; display: block; padding: 10px 20px !important;
    background: none !important; color: #475569 !important; font-weight: 400 !important;
    white-space: nowrap; 
}
.gnb li li a:hover { background: #f1f5f9 !important; color: #1d4ed8 !important; }
.gnb li li.active a { font-weight: 700 !important; color: #1d4ed8 !important; }

/* 4. 검색창 */
.iSearch { 
    position: absolute; 
    top: 50px; 
    right: 25px; 
}
.iSearch .iText {
    padding: 6px 12px; width: 140px; color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.2); background-color: rgba(255, 255, 255, 0.1);
    border-radius: 20px; transition: all 0.3s ease; font-size: 13px;
}
.iSearch .iText:hover, .iSearch .iText:focus {
    width: 180px; border-color: #ffffff; background-color: rgba(255, 255, 255, 0.2); outline: none;
}
.iSearch .submit { vertical-align: middle; margin-left: 5px; opacity: 0.8; cursor: pointer; }
.iSearch .submit:hover { opacity: 1; }

/* 5. Site Layout - Content Body */
.body {
    position: relative; z-index: 1;
    padding: 20px 20px 20px 20px; 
    background: #ffffff; zoom: 1;
}
.body:after { content: ""; display: block; clear: both; }

/* 6. 좌측 사이드 메뉴 (LNB) 및 로그인 창 */
.lnb { 
    position: relative; 
    width: 210px; 
    float: left; 
}
.lnb .xe-widget-wrapper { margin-bottom: 30px !important; }
.lnb h2 { margin: 0 0 15px 0; }
.lnb h2 a {
    display: block; padding: 0 0 10px 10px; text-decoration: none;
    color: #0f172a; font-size: 20px; font-weight: 700;
    border-bottom: 2px solid #e2e8f0;
}

/* LNB 메뉴 스타일 개선 */
.locNav { padding: 0; width: 200px; margin: 0 0 1em 0; list-style: none !important; }
.locNav li { margin-bottom: 2px; list-style: none !important; background: none !important; }
.locNav li a {
    display: block; padding: 8px 15px; border-radius: 6px;
    color: #475569; text-decoration: none; font-weight: 500; font-size: 15px;
    transition: all 0.2s ease; background: transparent;
}
.locNav li a:hover { background: #f8fafc; color: #0f172a; padding-left: 20px; }
.locNav li.active a { background: #eff6ff; color: #1d4ed8; font-weight: 700; }

/* LNB 서브메뉴(하위메뉴) 기호 제거 및 여백 축소 */
.locNav li ul { 
    display: block; padding: 0; margin: 0; list-style: none !important; 
}
.locNav li li { 
    padding: 0; margin: 0; list-style: none !important; background: none !important;
}
.locNav li li a {
    position: relative;
    padding: 5px 10px 5px 30px; 
    color: #64748b !important; background: none !important;
    font-weight: 400 !important; font-size: 14px;
}
.locNav li li a::before {
    content: "-";
    position: absolute; left: 15px; top: 5px; color: #cbd5e1;
}
.locNav li li a:hover { color: #1d4ed8 !important; }
.locNav li li a:hover::before { color: #1d4ed8; }
.locNav li.active li.active a { color: #1d4ed8 !important; font-weight: 700 !important; }
.locNav li.active li.active a::before { color: #1d4ed8; font-weight: 700; }

/* 7. 우측 메인 콘텐츠 영역 */
.content { width: 680px; float: right; font-size: 15px; }
.xe_content h3, .xe_content h4, .xe_content p, .xe_content div {
    font-size: 15px !important; line-height: 1.7 !important; color: #334155 !important;
}

/* 8. 게시판 카테고리 탭 (cTab) 스타일 강제 초기화 및 기호 제거 */
.cTab { list-style: none !important; padding: 0 !important; margin: 0 0 20px 0 !important; }
.cTab li { list-style: none !important; background: none !important; }
.cTab li a { text-decoration: none; }
.cTab li:before, .cTab li:after { content: none !important; display: none !important; }
.board .cTab li { list-style-image: none !important; list-style-type: none !important; }

/* 9. Footer (하단) */
.footer { border-top: 1px solid #e2e8f0; padding: 25px 0; clear: both; background: #ffffff; }
.footer p { text-align: center; margin: 0; color: #94a3b8; font-size: 14px; }
.footer a { color: #64748b; text-decoration: none; font-weight: 500; }
.footer a:hover { color: #1d4ed8; }