@charset "utf-8";
/* ----------------------------------------------
LAYOUT.CSS - Theme Layout & Structure
* writer : uxcamp
* version : 1.0.0
* last update : 2025.07.11
* purpose : 레이아웃 구조 및 테마 시스템
* license : © 2025 uxcamp. All rights reserved.
------------------------------------------------*/

/* ========================================
   기본 설정 및 폰트
======================================== */
html, body { 
    color: var(--layout-gray-900); 
    background: var(--layout-body); 
    font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; 
    font-weight: 500; 
}
body > * :disabled { cursor: not-allowed !important; filter: grayscale(1); }
a { color: var(--layout-gray-900); text-decoration: none; font-size: 13px; }
a:hover { color: var(--color-prime); text-decoration: none; }
a:focus, input:focus, button:focus { }
h1, h2, h3, h4, h5 { margin: 0; font-weight: normal; word-break: break-word; }
hr { margin: 0px; border: 0px; }

/* ========================================
   레이아웃 색상 시스템 (라이트모드)
======================================== */
:root {
	/* === 시맨틱 컬러 === */
	--layout-success: #64a644;
	--layout-warning: #fc6e51;
	--layout-danger: #ed5565;
	--layout-info: #1cb6ed;
	--layout-dark: #434a54;
	--layout-light: #aab2bd;
	
	/* === 확장 색상 팔레트 === */
	--layout-pink: #ec87c0;
	--layout-purple: #ac92ec;
	--layout-yellow: #ffce54;
	--layout-green: #a0d468;
	--layout-mint: #48cfad;
	--layout-lightblue: #4fc1e9;
	--layout-blue: #5d9cec;
	
	/* === 확장 색상 별칭 (중복 제거) === */
	--layout-red: var(--layout-danger);    /* #ed5565와 동일 */
	--layout-orange: var(--layout-warning); /* #fc6e51와 동일 */
	
	/* === 그레이 스케일 === */
	--layout-white: #ffffff;
	--layout-white-only: #ffffff;
	--layout-gray-50: #fafafa;
	--layout-gray-100: #f5f5f5;
	--layout-gray-200: #eeeeee;
	--layout-gray-300: #e0e0e0;
	--layout-gray-400: #bdbdbd;
	--layout-gray-500: #9e9e9e;
	--layout-gray-600: #757575;
	--layout-gray-700: #616161;
	--layout-gray-800: #424242;
	--layout-gray-900: #212121;
	--layout-black: #000000;
	
	/* === 투명도 컬러 === */
	--layout-overlay-100: rgba(15, 23, 42, 0.8);
	--layout-overlay-200: rgba(15, 23, 42, 0.4);
	
	/* === 스페이싱 & 보더 === */
	--layout-radius: 8px;
	--layout-radius-sm: 4px;
	--layout-radius-lg: 12px;

	/* === layout color === */
	--layout-body: #ffffff;
	
	/* === Header section === */
	--layout-header: #fafafa;
	--layout-tnb: #fafafa;
	--layout-header-border: #eeeeee;
	
	/* === Sidebar section === */
	--layout-sidebar-bg: #f5f5f5;
	--layout-sidebar-border: #e0e0e0;
	--layout-sidebar-border-dashed: #e0e0e0;
	
	/* === Footer section === */
	--layout-footer-bg: #f5f5f5;
	--layout-footer-border: #e0e0e0;
	
	/* === Search popup === */
	--layout-searchpop-bg: rgba(15, 23, 42, 0.8);
	--layout-searchpop-dim: rgba(15, 23, 42, 0.4);
	
	/* === Dropdown menu === */
	--layout-dropdown-bg: #ffffff;
	--layout-dropdown-border: #eeeeee;
	--layout-dropdown-hover-bg: #f5f5f5;
	
	/* === Board title/info === */
	--layout-board-bg: #f5f5f5;
	--layout-board-border: #eeeeee;
	
	/* === Sub navigation === */
	--layout-snb-border: #e0e0e0;
	--layout-snb-hover-bg: #f5f5f5;
	--layout-snb-active-bg: #212121;
	--layout-snb-active-color: #ffffff;
	
	/* === Other === */
	--layout-kvWrap-bg: #f5f5f5;
	--layout-demo-border: #ddd;
}

/* ========================================
   다크모드 색상 시스템
======================================== */
:root.darkMode {
	/* === 브랜드 컬러 === */
	--color-prime: #8b5dff;

	/* === 다크모드 그레이 스케일 반전 === */
	--layout-white: #212121;
	--layout-gray-50: #333;
	--layout-gray-100: #444;
	--layout-gray-200: #333;
	--layout-gray-300: #444;
	--layout-gray-400: #bdbdbd;
	--layout-gray-500: #e0e0e0;
	--layout-gray-600: #eeeeee;
	--layout-gray-700: #f5f5f5;
	--layout-gray-800: #fafafa;
	--layout-gray-900: #ffffff;
	--layout-black: #ffffff;
	
	/* === 다크모드 투명도 컬러 === */
	--layout-overlay-100: rgba(0, 0, 0, 0.9);
	--layout-overlay-200: rgba(0, 0, 0, 0.6);
}

/* ========================================
   접근성 향상 스킵 네비게이션
======================================== */
#skipToContent { position: relative; z-index: 1000; width: 100%; overflow: hidden; }
#skipToContent a { display: block; width: 1px; height: 1px; margin: 0 -1px -1px 0; overflow: hidden; font-size: 0; line-height: 0; text-align: center; position: fixed; top: 0; left: 0; background: var(--layout-danger); color: var(--layout-white); }
#skipToContent a:focus { width: 100%; height: auto; margin: 0; padding: 8px 0; font-size: 12px; line-height: 1; }

/* 모바일 드로어 네비게이션 */
html.drawerNavOn, html.drawerNavOn body { height: 100%; overflow: hidden; }
#drawerNav.active { left: 0; }
#drawerNav.active ~ .drawerDim { visibility: visible; opacity: 1; pointer-events: auto; }
.drawerDim { visibility: hidden; position: fixed; z-index: 8; top: 0; left: 0; width: 100%; height: 100%; background: var(--layout-overlay-100); opacity: 0; pointer-events: none; backdrop-filter: blur(10px); }

/* 다크모드 테마 전환 애니메이션 */
.darkMode .header .headerWrap .staWrap .tools .settingview .bx-moon { display: block; animation: moonShow 0.3s; animation-timing-function: ease; }
.darkMode .header .headerWrap .staWrap .tools .settingview .bx-sun { display: none; }

/* ========================================
   레이아웃 컨테이너
======================================== */
.resWidth { max-width: 1360px; margin: 0 auto; }
.wrap {}
.wrap:has(.widget-library-sidebar) {padding-right:300px;}

/* ========================================
   헤더 레이아웃
======================================== */
.header {border-bottom:var(--layout-header-border) 1px solid; background:var(--layout-header); position:relative; z-index:2;}

/* 상단 네비게이션 바 */
.header .tnbWrap {height:34px;background: var(--layout-tnb);border-bottom: 1px solid var(--layout-header-border);}
.header .tnbWrap .tnb {display:flex; justify-content:space-between; align-items:center; height:34px;}
.header .tnbWrap .tnb .tools {display:flex; align-items:center;}

/* 상단 좌측 아이템 */
.header .tnbWrap .tnb .tools .tnbLeftItems {display:flex; align-items:center;}
.header .tnbWrap .tnb .tools .tnbLeftItems .tnbLink {display:flex; align-items:center; gap:4px; color:var(--layout-gray-600); font-size:12px; font-weight:500; text-decoration:none; transition:color 0.3s;}
.header .tnbWrap .tnb .tools .tnbLeftItems .tnbLink:hover {color:var(--color-prime);}
.header .tnbWrap .tnb .tools .tnbLeftItems .tnbLink i {font-size:14px;}
.header .tnbWrap .tnb .tools .tnbLeftItems .visitorInfo {display:flex; align-items:center; gap:12px; margin-left:8px; padding-left:8px; border-left:1px solid var(--layout-header-border);}
.header .tnbWrap .tnb .tools .tnbLeftItems .visitorInfo span {display:flex; align-items:center; gap:4px; color:var(--layout-gray-600); font-size:11px;}
.header .tnbWrap .tnb .tools .tnbLeftItems .visitorInfo span i {font-size:12px;}
.header .tnbWrap .tnb .tools .tnbLeftItems .visitorInfo span strong {color:var(--color-prime); font-weight:600; font-size:14px;}

/* 상단 우측 아이템 */
.header .tnbWrap .tnb .tools .tnbRightItems {display:flex; align-items:center; gap:16px;}
.header .tnbWrap .tnb .tools .tnbRightItems .profile_img {display:flex; align-items:center; justify-content:center; width:26px; height:26px; overflow:hidden; border-radius:50%; background:var(--layout-gray-100);}
.header .tnbWrap .tnb .tools .tnbRightItems .profile_img img {width:100%; height:100%; object-fit:cover;}
.header .tnbWrap .tnb .tools .tnbRightItems .tnbLink {display:flex; align-items:center; gap:4px; position:relative; color:var(--layout-gray-600); font-size:12px; font-weight:500; text-decoration:none; transition:color 0.3s;}
.header .tnbWrap .tnb .tools .tnbRightItems .tnbLink[data-ui="msg"] {margin-right:20px;}
.header .tnbWrap .tnb .tools .tnbRightItems .tnbLink:hover {color:var(--color-prime);}
.header .tnbWrap .tnb .tools .tnbRightItems .tnbLink i {font-size:14px;}

/* 상단 카카오 오픈채팅 버튼 */
.header .tnbWrap .tnb .tools .tnbRightItems .tnbKakaoBtn {display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border:none; border-radius:20px; background:#fee500; color:#3c1e1e; font-size:12px; font-weight:600; text-decoration:none; transition:all 0.3s;}
.header .tnbWrap .tnb .tools .tnbRightItems .tnbKakaoBtn:hover {background:#fdd835; transform:translateY(-1px);}
.header .tnbWrap .tnb .tools .tnbRightItems .tnbKakaoBtn i {font-size:16px;}
.header .tnbWrap .tnb .tools .tnbRightItems .tnbLink .msgCount {position:absolute; top:-6px; right:-16px; display:flex; justify-content:center; align-items:center; min-width:16px; height:16px; padding:0 4px; border-radius:8px; background:var(--layout-danger); color:var(--layout-white); font-size:10px; font-weight:600; line-height:1;}
.header .tnbWrap .tnb .tools .tnbRightItems .adminLink {color:var(--layout-danger);}
.header .tnbWrap .tnb .tools .tnbRightItems .adminLink:hover {color:var(--layout-danger);}

/* 메인 헤더 */
.header .headerWrap {display:flex; align-items:center; height:80px;}
.header .headerWrap .staWrap[data-option="fullwidth"] {margin:0 20px;}
.header .headerWrap .staWrap {display:flex; justify-content:space-between; align-items:center; width:100%;}
.header .headerWrap .staWrap .titleWrap {display:flex; align-items:center; gap:20px;}
.header .headerWrap .staWrap .titleWrap .title {display:flex; align-items:center; gap:10px;}
.header .headerWrap .staWrap .titleWrap .title a h1 {display:flex;align-items:center; gap:6px;}
.header .headerWrap .staWrap .titleWrap .title a h1 .bx {color:var(--color-prime); font-size:30px; transition:transform 0.3s;}
.header .headerWrap .staWrap .titleWrap .title a h1 strong {font-size: 26px;font-weight:700;}
/* .header .headerWrap .staWrap .titleWrap .title .moNavi {display:none; padding:4px; border-radius:10px; box-shadow:0px 0px 2px var(--layout-overlay-200); color:var(--layout-gray-900);} */
.header .headerWrap .staWrap .titleWrap .title .moNavi {display:none;position:fixed;z-index:8;left:10px;bottom:10px;width:56px;height:56px;padding:4px;border:2px solid var(--layout-white);border-radius:50%;background:var(--color-prime);box-shadow:0px 2px 20px rgb(0 0 0 / 40%);}
.header .headerWrap .staWrap .titleWrap .title .moNavi .bx {color:var(--layout-white); font-size:30px;}

.header .headerWrap .staWrap .searchWrap {width:400px; position:relative;}
.header .headerWrap .staWrap .searchWrap fieldset {position:relative; z-index:2;}
.header .headerWrap .staWrap .searchWrap[data-focus="on"] .popularWrap {top:-10px; visibility:visible; opacity:1;}

.header .headerWrap .staWrap .staGnb {display:flex; justify-content:space-between; align-items:center; height:60px;}
.header .headerWrap .staWrap .staGnb nav {display:flex;}
.header .headerWrap .staWrap .staGnb nav ul {display:flex; list-style:none;}
.header .headerWrap .staWrap .staGnb nav ul li {position:relative;}
.header .headerWrap .staWrap .staGnb nav ul li a {display:block; padding:16px 20px; font-size:16px; font-weight:600;}
.header .headerWrap .staWrap .tools {display:flex; align-items:center; gap:20px;}
.header .headerWrap .staWrap .tools .buttonWrap {display:flex; align-items:center; gap:10px;}
.header .headerWrap .staWrap .tools .btnTools {padding:6px; overflow:hidden; border-radius:4px;}
.header .headerWrap .staWrap .tools .btnTools:hover {color:var(--color-prime);}
.header .headerWrap .staWrap .tools .btnTools i {font-size:26px;}
.header .headerWrap .staWrap .tools .settingview .bx-sun {animation:sunShow 0.3s;animation-timing-function:ease;}
.header .headerWrap .staWrap .tools .settingview .bx-moon {display:none;}

/* 글로벌 네비게이션 */
.header .gnbWrap {height:46px;border-top: var(--layout-header-border) 1px solid;}
.header .gnbWrap .gnb {display:flex; justify-content:center; align-items:center;}
.header .gnbWrap .gnb nav {display:flex;}
.header .gnbWrap .gnb nav ul {display:flex; list-style:none;}
.header .gnbWrap .gnb nav ul li {position:relative;}
.header .gnbWrap .gnb nav ul li a {display:block; padding:16px 20px; font-size:14px; font-weight:600;}

/* 드롭다운 메뉴 스타일 */
.header .gnbWrap .gnb nav ul.gnb-menu {padding: 0; margin: 0;}
.header .gnbWrap .gnb nav ul.gnb-menu > li.has-dropdown > a {display: flex; align-items: center; gap: 5px;}
.header .gnbWrap .gnb nav ul.gnb-menu > li.has-dropdown > a i {font-size: 16px; transition: transform 0.3s ease;}
.header .gnbWrap .gnb nav ul.gnb-menu > li.has-dropdown:hover > a i {transform: rotate(180deg);}
.header .gnbWrap .gnb nav ul.gnb-menu li .dropdown-menu {visibility:hidden; display:flex; flex-direction:column; position:absolute; z-index:1000; top:100%; left:0; min-width:200px; padding:8px 0; border:1px solid var(--layout-dropdown-border); border-radius:8px; background:var(--layout-dropdown-bg); opacity:0; box-shadow:0 4px 12px rgba(0, 0, 0, 0.1); list-style:none; transform:translateY(-10px); transition:all 0.3s ease;}
.header .gnbWrap .gnb nav ul.gnb-menu li:hover .dropdown-menu {visibility:visible; opacity:1; transform:translateY(0);}
.header .gnbWrap .gnb nav ul.gnb-menu li .dropdown-menu li {padding:0;}
.header .gnbWrap .gnb nav ul.gnb-menu li .dropdown-menu li a {display:block; padding:10px 20px; color:var(--layout-gray-700); font-size:13px; font-weight:500; transition:all 0.2s ease;}
.header .gnbWrap .gnb nav ul.gnb-menu li .dropdown-menu li a:hover {padding-left:25px; background:var(--layout-dropdown-hover-bg); color:var(--color-prime);}

/* 모바일 반응형 드롭다운 */
@media (max-width:768px) {
    .header .gnbWrap .gnb nav ul.gnb-menu {flex-direction:column; width:100%;}
    .header .gnbWrap .gnb nav ul.gnb-menu li .dropdown-menu {visibility:visible; position:static; margin-left:20px; border:none; border-top:1px solid var(--layout-dropdown-border); border-radius:0; opacity:1; box-shadow:none; transform:none;}
}

/* ========================================
   키 비주얼 / 서브 헤더
======================================== */
/* .kvWrap {padding-bottom:40px;}
.kvWrap[data-option="margin"] {margin:20px 0;}
.kvWrap .kv {display:flex;justify-content:center;align-items:center;height:300px;background: var(--layout-gray-100);} */

.kvWrap .skvWrap {background: var(--layout-kvWrap-bg);}
.kvWrap .skvWrap .skv {display:flex;justify-content: flex-start;align-items:center;height:200px;}

/* boardTitle */
.boardTitle {display:flex; justify-content:space-between; align-items:center; margin:20px 0;}
.boardTitle .titleBox {display:flex; align-items:flex-start; flex-direction:column; gap:8px;}
.boardTitle .titleBox h2 {font-size:24px; font-weight:600;}
.boardTitle .titleBox .breadcrumbs {display:flex;}
.boardTitle .titleBox .breadcrumbs li {display:flex; align-items:center; color:var(--layout-gray-600); font-size:12px;}
.boardTitle .titleBox .breadcrumbs li::before {content:"\ea50"; color:var(--layout-gray-500); font-size:20px; font-family:boxicons!important;}
.boardTitle .titleBox .breadcrumbs li:first-child::before {display:none;}

/* boardInfo - 게시판 통계 */
.boardInfo {display:flex; align-items:center; gap:10px; padding:4px; border:1px solid var(--layout-board-border); border-radius:var(--layout-radius); background:var(--layout-board-bg);}
.boardInfo .boardStats {display:flex; gap:10px; margin-left:10px;}
.boardInfo .boardStats .statItem {display:flex; flex-direction:column; align-items:center; gap:2px;}
.boardInfo .boardStats .statItem .statLabel {color:var(--layout-gray-600); font-size:11px; font-weight:500;}
.boardInfo .boardStats .statItem .statValue {color:var(--layout-gray-900); font-size:14px; font-weight:700;}
.boardInfo .boardChart {flex:1; max-width:180px; height:50px; position:relative;}
.boardInfo .boardChart canvas {max-width:100%; height:100%;}

.kvWrap .snbWrap {border-bottom:var(--layout-snb-border) 1px solid;}
.kvWrap .snbWrap .snb {display:flex; justify-content:center; align-items:center; gap:6px; padding:14px 0;}
.kvWrap .snbWrap .snb a {display:flex; align-items:center; gap:10px; font-size:16px; font-weight:600; padding:6px 14px; border-radius:16px; }
.kvWrap .snbWrap .snb a i {font-size:20px;}
.kvWrap .snbWrap .snb a:hover {background: var(--layout-snb-hover-bg);color:var(--color-prime);}

/* 서브 네비게이션 메뉴 */
.snbMenuWrap {padding-bottom: 20px;margin-top: -26px;}
.snbMenuWrap .snb {display: flex; justify-content:center; align-items: center;}
.snbMenuWrap .tabNavigation {display: flex;gap: 0;align-items: center;width: 100%;}
.snbMenuWrap .tabNavigation .tabItem {display: flex;align-items: center;justify-content: center;padding: 16px 24px;border: 1px solid var(--layout-snb-border);background: var(--layout-white);color: var(--layout-gray-900);font-size: 14px;font-weight: 500;text-decoration: none;transition: all 0.3s ease;position: relative;margin-right: -1px;width: 100%;}
.snbMenuWrap .tabNavigation .tabItem:first-child {border-radius: var(--layout-radius-sm) 0 0 var(--layout-radius-sm);}
.snbMenuWrap .tabNavigation .tabItem:last-child {border-radius: 0 var(--layout-radius-sm) var(--layout-radius-sm) 0; margin-right: 0;}
.snbMenuWrap .tabNavigation .tabItem:hover {background: var(--layout-snb-hover-bg); color: var(--color-prime); z-index: 1;}
.snbMenuWrap .tabNavigation .tabItem.active {background: var(--layout-snb-active-bg); color: var(--layout-snb-active-color); border-color: var(--layout-snb-active-bg); z-index: 2;}
.snbMenuWrap .tabNavigation .tabItem.active:hover {background: var(--layout-snb-active-bg); color: var(--layout-snb-active-color);}

/* ========================================
   메인 컨테이너
======================================== */
.container {display:flex; padding:40px 0; gap:40px;}
.container[data-sidemenu="left"] {}
.container[data-sidemenu="right"] {flex-direction:row-reverse;}
.container .contentsWrap {width:calc(100% - 0px);}
.container .contentsWrap .skv {display:flex;justify-content: center;align-items:center;height:200px; background:var(--layout-kvWrap-bg); border:1px solid var(--layout-snb-border);}

/* ========================================
   사이드바 레이아웃
======================================== */
.sideWrap {width:280px;border: 1px solid var(--layout-sidebar-border);background: var(--layout-sidebar-bg);}
.sideWrap a.logo {display:none; padding:14px; border-bottom:1px dashed var(--layout-sidebar-border-dashed);}
.sideWrap a.logo h1 {display:flex;align-items:center;gap: 10px;}
.sideWrap a.logo h1 .bx {color:var(--color-prime); font-size:30px; transition:transform 0.3s;}
.sideWrap a.logo h1 strong {font-size:26px;font-weight:700;}

.sideWrap .titleWrap {height:90px;border-bottom: 1px dashed var(--layout-sidebar-border-dashed);display: flex;align-items: center;padding: 0 30px;}
.sideWrap .titleWrap .logo {display:flex; align-items:center; gap:10px;}
.sideWrap .titleWrap .logo h1 {font-size:24px; font-weight:700;}
.sideWrap .titleWrap .logo h1 strong {font-size:12px;}
.sideWrap .searchWrap {padding:14px;box-sizing:border-box;border-bottom: 1px dashed var(--layout-sidebar-border-dashed); position:relative;}
.sideWrap .searchWrap[data-sidesearch="false"] {display:none;}
.sideWrap .searchWrap[data-sidesearch="true"] {display:block;}
.sideWrap .searchWrap[data-sidesearch="true"] .popularWrap {display:none;}
.sideWrap .searchWrap fieldset {position:relative; z-index:3;}
.sideWrap .searchWrap fieldset:has(#sch_stx:focus) ~ .popularWrap {top:2px; left:2px; right:2px; visibility:visible; opacity:1; z-index:2;}

.sideWrap .toolsWrap {padding:14px;box-sizing:border-box;border-bottom: 1px dashed var(--layout-sidebar-border-dashed);}
.sideWrap .toolsWrap[data-sidelogin="false"] {display:none;}
.sideWrap .toolsWrap[data-sidelogin="true"] {display:block;}

.sideWrap .sideGnb {position:sticky; top:0; z-index:1; }
.sideWrap .sideGnb .nav {padding:30px; box-sizing:border-box;}
.sideWrap .sideGnb .nav h2 {display:flex; align-items:center; margin-bottom:10px; color:var(--color-prime); font-size:16px; font-weight:600; gap:4px;}
.sideWrap .sideGnb .nav ul {display:flex; flex-direction:column; margin:0; padding:0; list-style:none; gap:0px;}
.sideWrap .sideGnb .nav ul > li {display:block; font-size:12px;}
.sideWrap .sideGnb .nav ul > li > a {display:flex; align-items:center; padding:6px; border-radius:4px; font-size:16px; font-weight:600; gap:6px;}
.sideWrap .sideGnb .nav ul > li > a:hover {background:var(--layout-sidebar-bg); color:var(--color-prime);}
.sideWrap .sideGnb .nav ul > li > a .iconNew {display:flex; align-items:center; padding:2px 3px; border-radius:4px; background:var(--color-prime); color:var(--layout-white); font-size:8px; font-weight:800;}
.sideWrap .sideGnb .nav ul > li > a.on {color:var(--color-prime);}
.sideWrap .sideGnb .nav ul > li > a > i {margin-right:4px; font-size:22px;}
.sideWrap .sideGnb .nav ul > li > ul {gap:0;}
.sideWrap .sideGnb .nav ul > li > ul > li {display:flex; align-items:center; gap:10px;}
.sideWrap .sideGnb .nav ul > li > ul > li::before {content:'';display:block;width:1px;height:28px;margin:0 0px 0 18px;background: var(--layout-sidebar-border);}
.sideWrap .sideGnb .nav ul > li > ul > li > a {display:flex; align-items:center; width:100%; font-size:14px; font-weight:500; text-indent:4px;}
.sideWrap .sideGnb .nav ul > li > ul > li > a:hover {color:var(--color-prime);}
.sideWrap .sideGnb .nav ul > li > ul > li > a.active {background:var(--layout-sidebar-active-bg); color:var(--layout-sidebar-active-color);}
.sideWrap .sideGnb .nav ul > li > ul > li > a.active .iconNew {background:var(--layout-sidebar-active-color); color:var(--layout-sidebar-active-bg);}
.sideWrap ~ .contentsWrap {width:calc(100% - 320px);}

.container .sideWrap .sideTools {margin: 30px;}
.container .sideWrap .sideTools .supportLink {display:flex; flex-direction:column; margin:24px 0;}
.container .sideWrap .sideTools .supportLink h2 {margin-bottom:10px; color:var(--color-prime); font-size:16px; font-weight:600;}
.container .sideWrap .sideTools .supportLink ul {list-style:none;}
.container .sideWrap .sideTools .supportLink ul li {}
.container .sideWrap .sideTools .supportLink ul li a {display:flex; align-items:center; padding:6px; font-size:14px; gap:6px;}
.container .sideWrap .sideTools .supportLink ul li a .txt {display:flex; align-items:center; justify-content:space-between; width:100%;}
.container .sideWrap .sideTools .supportLink ul li a .txt .visit-num {display:block; padding:2px 5px; border-radius:20px; background:var(--layout-gray-900); color:var(--layout-gray-50);}
.container .sideWrap .sideTools .supportLink ul li a .bx {font-size:18px;}

/* ========================================
   푸터 레이아웃
======================================== */
.footerWrap {border-top:var(--layout-gray-300) 1px solid;}
.footerWrap .footerBarWrap {border-bottom:1px solid var(--layout-gray-300);}
.footerWrap .footerBarWrap .footerBar {display:flex; justify-content:space-between; align-items:center;}
.footerWrap .footerBarWrap .footerBar .link {display:flex; flex-wrap:wrap;}
.footerWrap .footerBarWrap .footerBar .link a {display:flex; align-items:center; padding:14px; font-size:13px; font-weight:500; gap:4px;}
.footerWrap .footerBarWrap .footerBar .snsLink {display:flex;}
.footerWrap .footerBarWrap .footerBar .snsLink a {display:flex; justify-content:center; align-items:center; width:30px; height:30px; margin:0 4px; border-radius:50%; background:var(--layout-gray-100); font-size:0;}
.footerWrap .footerBarWrap .footerBar .snsLink a i {color:var(--layout-gray-900); font-size:20px;}
.footerWrap .footerBarWrap .footerBar .snsLink a:hover {background:var(--color-prime);}
.footerWrap .footerBarWrap .footerBar .snsLink a:hover i {color:var(--layout-white);}

.footerContent {display:flex; justify-content:space-between; padding:30px 0;}
.footerContent .footerBrand {display:flex; flex-direction:column; gap:6px; margin-left:10px;}
.footerContent .footerBrand .logo {display:flex; align-items:center; gap:4px; color:var(--layout-gray-600);}
.footerContent .footerBrand .logo i {font-size:28px;} 
.footerContent .footerBrand .logo strong {font-size:24px; font-weight:700;}
.footerContent .footerBrand p {color:var(--layout-gray-500); font-size:13px;}
.footerContent .footerCopyright {}

/* 카카오 오픈채팅 버튼 */
.footerSectionWrap .kakaoOpenChat {}
.footerSectionWrap .kakaoOpenChatBtn {display:inline-flex; align-items:center; gap:8px; padding:12px 20px; border:none; border-radius:var(--ui-radius-m); background:#fee500; color:#3c1e1e; font-size:14px; font-weight:600; text-decoration:none; transition:all 0.3s; box-shadow:0 2px 8px rgba(254,229,0,0.3);}
.footerSectionWrap .kakaoOpenChatBtn:hover {background:#fdd835; transform:translateY(-2px); box-shadow:0 4px 12px rgba(254,229,0,0.4);}
.footerSectionWrap .kakaoOpenChatBtn i {font-size:20px;}

/* 테마 버전 표시 */
.footerSectionWrap .themeVersion {display:flex; align-items:center; gap:8px; padding:10px 0; color:var(--layout-gray-500); font-size:13px;}
.footerSectionWrap .themeVersion .versionLabel {font-weight:500;}
.footerSectionWrap .themeVersion .versionNumber {color:var(--layout-gray-600); font-weight:600;}

/* ========================================
   검색 팝업
======================================== */
.searchPop {visibility:hidden; position:fixed; z-index:9999; top:0; width:100%; height:100%; overflow:hidden;}
.searchPop.on {visibility:visible; animation:showPop 0.3s;-webkit-animation:showPop 0.3s;}
.searchPop.on .dim {opacity:1;}
.searchPop.on .search {animation:showConPop 0.3s;-webkit-animation:showConPop 0.3s;}
.searchPop.off {animation:hidePop 0.4s;-webkit-animation:hidePop 0.4s;}
.searchPop.off .dim {opacity:1;}
.searchPop.off .search {animation:hideConPop 0.4s;-webkit-animation:hideConPop 0.4s;}
.searchPop .dim {position:absolute; z-index:1; top:0; width:100%; height:100%; background:var(--layout-overlay-200); opacity:0;}
.searchPop .search {position:relative; z-index:2; width:600px; margin:0 auto; margin-top:60px; border-radius:18px; background:var(--layout-overlay-100); box-sizing:border-box; backdrop-filter:blur(10px);}
.searchPop .search h2 {display:none; padding:20px; color:var(--color-prime); font-size:16px; font-weight:600; font-weight:500; box-sizing:border-box;}
.searchPop .search form {position:relative; padding:10px 20px;}
.searchPop .search form input[type=text] {width:100%; height:40px; padding:0; border:0; border-radius:0; background:transparent; color:var(--layout-white); font-size:16px; font-weight:400; line-height:40px;}
.searchPop .search form input[type=text]:focus {outline:none; box-shadow:none; color:var(--layout-white);}
.searchPop .search form #sch_stx:valid ~ button {background:var(--layout-white); opacity:1; color:var(--color-prime); pointer-events:auto;}
.searchPop .search form button {display:flex; justify-content:center; align-items:center; position:absolute; top:16px; right:10px; width:30px; height:30px; border-radius:50%; opacity:0.5; color:var(--layout-white); font-size:26px; transition:all 0s ease 0s;pointer-events:none;}
.searchPop .search form button:hover {color:var(--layout-gray-500);}

/* ========================================
   애니메이션
======================================== */
@keyframes showPop { 0% { opacity: 0; } 100% { opacity: 1; } }
@-webkit-keyframes showPop { 0% { opacity: 0; } 100% { opacity: 1; } }
@keyframes showConPop { 0% { opacity: 0; transform: translate3d(0, -20px, 0); } 100% { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes menuSubDepth { 0% { opacity: 0; } 100% { opacity: 1; } }
@keyframes hidePop { 0% { opacity: 1; } 100% { opacity: 0; } }
@-webkit-keyframes hidePop { 0% { opacity: 1; } 100% { opacity: 0; } }
@keyframes hideConPop { 0% { opacity: 1; transform: translate3d(0, 0, 0); } 100% { opacity: 0; transform: translate3d(0, -20px, 0); } }
@-webkit-keyframes hideConPop { 0% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); } 100% { opacity: 0; -webkit-transform: translate3d(0, -20px, 0); } }

@keyframes sunShow { 0% { opacity: 0; transform: rotate(-90deg) scale(0.5); } 100% { opacity: 1; transform: rotate(0deg) scale(1); } }
@keyframes moonShow { 0% { opacity: 0; transform: rotate(90deg) scale(0.5); } 100% { opacity: 1; transform: rotate(0deg) scale(1); } }

/* ========================================
   반응형 레이아웃

 ======================================== */
/* 사이드바 반응형 */
@media (max-width: 1280px) {
	.header .headerWrap .staWrap .titleWrap .title .moNavi {display:block;}
	.header .tnbWrap .tnb,
	.header .headerWrap .staWrap,
	.footerWrap .footerBarWrap .footerBar {padding:0 10px;}
	.container,
	.footerContent3 {padding:20px;}
	.boardTitle .chart {display:none;}
	.header .tnbWrap .tnb .tools .tnbRightItems,
	.header .headerWrap .staWrap .searchWrap {display:none;}
	.header .headerWrap .staWrap .tools .buttonWrap {gap:4px;}
	.container .sideWrap { position: fixed; z-index: 9; top: 0; left: -300px; bottom: 0; overflow-y:auto; border-radius:0 !important; transition: all 0.2s cubic-bezier(0.7, 0, 0.3, 1); transform: all 0.2s cubic-bezier(0.7, 0, 0.3, 1); -webkit-transition: all 0.2s cubic-bezier(0.7, 0, 0.3, 1); }
	.container .contentsWrap { width: calc(100% - 0px); }
	.sideWrap a.logo {display:flex;}
	.sideWrap .searchWrap[data-sidesearch="false"],
	.sideWrap .toolsWrap[data-sidelogin="false"] { display:block; }
}

/* 태블릿 반응형 */
@media (max-width: 1024px) {
	html, body { height: unset; }
	.header .tnbWrap .tnb .tools .tnbLeftItems .visitorInfo {}
	.header .tnbWrap .tnb .tools .tnbLeftItems .tnbLink span {display:none;}
	.header .tnbWrap .tnb .tools .tnbRightItems .tnbLink span {display:none;}
	.boardInfo {}
	.boardInfo .boardChart {max-width:100%; width:100%;}
	.header .tools { display: none; }
	.container .contentsWrap { flex-direction: column; }

}

/* 모바일 반응형 */
@media (max-width: 768px) {
	.header .tnbWrap {height:auto; padding:8px 0;}
	.header .tnbWrap .tnb {flex-direction:column; height:auto;}
	.header .tnbWrap .tnb .tools .tnbLeftItems {gap:12px;}
	.header .tnbWrap .tnb .tools .tnbRightItems {gap:12px;}
	.snbMenuWrap .snb {padding: 0 16px;}
	.snbMenuWrap .tabNavigation .tabItem {padding: 14px 18px; font-size: 13px;}
	.boardTitle {}
	.boardInfo {padding:10px 14px;}
	.boardInfo .boardStats {gap:12px;}
	.boardInfo .boardStats .statItem .statValue {font-size:14px;}
	.searchPop .search { width: 320px; }

}

 /* 소형 모바일 */
@media (max-width: 480px) {
	.header .tnbWrap .tnb .tools .tnbLeftItems .tnbLink {font-size:11px;}
	.header .tnbWrap .tnb .tools .tnbRightItems .tnbLink {font-size:11px;}
	.snbMenuWrap .tabNavigation {overflow-x: auto; -webkit-overflow-scrolling: touch;}
	.snbMenuWrap .tabNavigation .tabItem {padding: 12px 16px; font-size: 12px; white-space: nowrap; min-width: 80px;}

}

/* ========================================
   스크롤 투 탑 버튼
======================================== */
.scrollToTop {visibility:hidden; position:fixed; z-index:1000; right:30px; bottom:180px; width:40px; height:40px; border:none; border-radius:50%; background:var(--color-prime); opacity:0; box-shadow:0 4px 12px rgba(0,0,0,0.15); color:white; font-size:30px; cursor:pointer; transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);transform:translateY(20px) scale(0.8);}
.scrollToTop.visible {visibility:visible; opacity:1; transform:translateY(0) scale(1);}
.scrollToTop:hover {box-shadow:0 8px 20px rgba(0,0,0,0.25); transform:translateY(-5px) scale(1.1);}
.scrollToTop i {animation:bounceUp 2s infinite;}
@keyframes bounceUp {
	0%, 100% {transform:translateY(0);}
	50% {transform:translateY(-5px);}
}
/* 모바일 반응형 */
@media (max-width:768px) {
	.scrollToTop {right:20px; bottom:20px; width:45px; height:45px;}
}

/* ========================================
   반응형 그리드 시스템 
======================================== */
/* 반응형 그리드 시스템 */
.grid-container {display:flex; flex-direction:column; width:100%; gap:40px;}
#gridBuilderArea.grid-container {gap:20px;}

/* 위젯 헤더 스타일 */
.widget-wrapper {}
.widget-wrapper .widget-header {display:flex; justify-content:space-between; align-items:center; position:relative; margin-bottom:10px; padding-bottom:10px;}
.widget-wrapper .widget-header::after {content:''; position:absolute; left:0; bottom:0; width:40px; height:2px; background:var(--color-prime);}
.widget-wrapper .widget-header .widget-title {margin:0; color:var(--layout-gray-900); font-size:16px; font-weight:600; letter-spacing:-0.3px;}
.widget-wrapper .widget-header .widget-more {display:flex; align-items:center; color:var(--layout-gray-500); font-size:12px; font-weight:400;}
.widget-wrapper .widget-header .widget-more:hover {color:var(--color-prime);}
.widget-wrapper .widget-header .widget-more i {margin-left:4px; font-size:14px;}
.grid-row {display:flex; flex-wrap:wrap; gap:40px;}

/* 기본 그리드 컬럼 */
.grid-col-30 {width:calc(30% - 20px);}
.grid-col-40 {width:calc(40% - 20px);}
.grid-col-50 {width:calc(50% - 20px);}
.grid-col-60 {width:calc(60% - 20px);}
.grid-col-70 {width:calc(70% - 20px);}
.grid-col-100 {width:100%;}

/* 데모용 스타일 */
.grid-demo .grid-row > div {border:1px dashed var(--layout-demo-border); border-radius:10px;}

@media (max-width:1024px) {
	.grid-container .edit-mode {display:none;}
}
/* 태블릿 반응형 (768px 이하) */
@media (max-width:860px) {
    .grid-col-30,
    .grid-col-40,
    .grid-col-50,
    .grid-col-60,
    .grid-col-70 {width:100%;}
}

/* ========================================
   WIDGET- MAIN KV
======================================== */

/* Main Slider */
.kvWrap[data-section="main_kv"] {position:relative; width:100%; margin-bottom:30px;}
.kvWrap[data-section="main_kv"] .mainSwiper {width:100%; height:300px; border-radius:var(--ui-radius-m) !important; border:1px solid var(--board-gray-300); overflow:hidden;}
.kvWrap[data-section="main_kv"] .swiper-slide {height:100%;}

/* Slide Item */
.slideItem {position:relative; width:100%; height:100%; background-size:cover; background-position:center; background-repeat:no-repeat;}
.slideContent {display:flex; justify-content:flex-start; align-items:center; position:absolute; z-index:2; top:0; left:0; width:100%; height:100%; margin:0 20%;}
.slideInner {display:flex; flex-direction:column; text-align:center; gap:10px; align-items:flex-start; margin-bottom:20px;}

/* Slide Text */
.slideTitle {font-size:30px; font-weight:600; line-height:1.2;}
.slideTitle.white {color:var(--ui-color-white-only) !important;}
.slideTitle.black {color:var(--ui-color-black-only) !important;}
.slideSubtitle {font-size:18px; line-height:1.5;}
.slideSubtitle.white {color:var(--ui-color-white-only) !important;}
.slideSubtitle.black {color:var(--ui-color-black-only) !important;}
.slideButton {display:inline-flex;}
/* 슬라이더 버튼 색상 고정 (다크모드 영향 없음) */
.slideButton.bg-wh {background-color:var(--ui-color-white-only) !important; color:var(--ui-color-black-only) !important; border-color:var(--ui-color-gray-300) !important;}
.slideButton.bg-bl {background-color:var(--ui-color-black-only) !important; color:var(--ui-color-white-only) !important;}
.slideButton.bg-pr {background-color:var(--color-prime) !important; color:var(--ui-color-white-only) !important;}
.slideButton.bg-pink {background-color:var(--ui-color-pink) !important; color:var(--ui-color-white-only) !important;}
.slideButton.bg-purple {background-color:var(--ui-color-purple) !important; color:var(--ui-color-white-only) !important;}
.slideButton.bg-yellow {background-color:var(--ui-color-yellow) !important; color:var(--ui-color-black-only) !important;}
.slideButton.bg-green {background-color:var(--ui-color-green) !important; color:var(--ui-color-white-only) !important;}
.slideButton.bg-mint {background-color:var(--ui-color-mint) !important; color:var(--ui-color-white-only) !important;}
.slideButton.bg-lightblue {background-color:var(--ui-color-lightblue) !important; color:var(--ui-color-white-only) !important;}
.slideButton.bg-blue {background-color:var(--ui-color-blue) !important; color:var(--ui-color-white-only) !important;}

/* Swiper Navigation */
.kvWrap[data-section="main_kv"] .swiper-button-prev,
.kvWrap[data-section="main_kv"] .swiper-button-next {width:50px; height:50px; border-radius:50%; transition:all 0.3s;}
.kvWrap[data-section="main_kv"] .swiper-button-prev::after,
.kvWrap[data-section="main_kv"] .swiper-button-next::after {display:none;}
.kvWrap[data-section="main_kv"] .swiper-button-prev i,
.kvWrap[data-section="main_kv"] .swiper-button-next i {font-size:28px; line-height:50px;}

/* Navigation Colors */
.kvWrap[data-section="main_kv"] .swiper-button-prev.white,
.kvWrap[data-section="main_kv"] .swiper-button-next.white {background:rgba(255,255,255,0.01); color:var(--ui-color-white-only); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);}
.kvWrap[data-section="main_kv"] .swiper-button-prev.white:hover,
.kvWrap[data-section="main_kv"] .swiper-button-next.white:hover {background:rgba(255,255,255,0.5);}

.kvWrap[data-section="main_kv"] .swiper-button-prev.black,
.kvWrap[data-section="main_kv"] .swiper-button-next.black {background:rgba(0,0,0,0.02); color:var(--ui-color-black-only); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);}
.kvWrap[data-section="main_kv"] .swiper-button-prev.black:hover,
.kvWrap[data-section="main_kv"] .swiper-button-next.black:hover {background:rgba(0,0,0,0.2);}

/* Play/Pause Button */
.kvWrap[data-section="main_kv"] .swiper-button-play {position:absolute; bottom:10px; right:14px; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.3s; z-index:10;}
.kvWrap[data-section="main_kv"] .swiper-button-play i {font-size:20px; line-height:1;}

.kvWrap[data-section="main_kv"] .swiper-button-play.white {background:rgba(255,255,255,0.01); color:var(--ui-color-white-only); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);}
.kvWrap[data-section="main_kv"] .swiper-button-play.white:hover {background:rgba(255,255,255,0.5);}

.kvWrap[data-section="main_kv"] .swiper-button-play.black {background:rgba(0,0,0,0.02); color:var(--ui-color-black-only); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);}
.kvWrap[data-section="main_kv"] .swiper-button-play.black:hover {background:rgba(0,0,0,0.2);}

/* Admin Settings Button */
.kvWrap[data-section="main_kv"] .slider-admin-btn {position:absolute; top:10px; right:14px; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.3s; z-index:2; text-decoration:none; background:rgba(0,0,0,0.2); color:var(--ui-color-white-only); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);}
.kvWrap[data-section="main_kv"] .slider-admin-btn:hover {background:rgba(0,0,0,0.7); transform:rotate(90deg); color:var(--ui-color-white-only);}
.kvWrap[data-section="main_kv"] .slider-admin-btn i {font-size:20px; line-height:1;}

/* Swiper Pagination */
.kvWrap[data-section="main_kv"] .swiper-pagination {bottom:10px; transition:all 0.3s;}
.kvWrap[data-section="main_kv"] .swiper-pagination-bullet {width:10px; height:6px; opacity:1; transition:all 0.3s;}
.kvWrap[data-section="main_kv"] .swiper-pagination-bullet-active {width:30px; border-radius:4px;}

/* Pagination Colors */
.kvWrap[data-section="main_kv"] .swiper-pagination.white .swiper-pagination-bullet {background:rgba(255,255,255,0.5);}
.kvWrap[data-section="main_kv"] .swiper-pagination.white .swiper-pagination-bullet-active {background:var(--ui-color-white-only);}

.kvWrap[data-section="main_kv"] .swiper-pagination.black .swiper-pagination-bullet {background:rgba(0,0,0,0.3);}
.kvWrap[data-section="main_kv"] .swiper-pagination.black .swiper-pagination-bullet-active {background:var(--ui-color-black-only);}

@media (max-width:1024px) {
	.slideContent {justify-content:center; margin:0;}
	.slideContent .slideInner {align-items:center; text-align:center;}
}
/* ========================================
   WIDGET- Weather
======================================== */
/* Weather Widget */
.weatherWidget {padding:5px 15px; min-width:200px;}
.weatherLoading {display:flex; align-items:center; gap:8px; color:var(--ui-color-gray-500); font-size:12px;}
.weatherLoading i {font-size:16px;}

.weatherContent {display:flex; align-items:center; gap:10px;}
.weatherMain {display:flex; align-items:center; gap:6px;}
.weatherIcon {font-size:22px; color:var(--ui-color-warning);}
.weatherIcon.bx-sun {color:var(--ui-color-warning);}
.weatherIcon.bx-cloud-sun {color:var(--ui-color-gray-500);}
.weatherIcon.bx-cloud {color:var(--ui-color-gray-400);}
.weatherIcon.bx-cloud-rain {color:var(--ui-color-info);}
.weatherIcon.bx-cloud-snow {color:var(--ui-color-lightblue);}
.weatherIcon.bx-cloud-lightning {color:var(--ui-color-purple);}

.weatherTemp {display:flex; align-items:center; gap:4px;}
.tempValue {font-size:18px; font-weight:700; color:var(--ui-color-gray-900); line-height:1;}
.tempLocation {font-size:12px; color:var(--ui-color-gray-600); margin-top:2px;}

.weatherDetails {display:flex; align-items:center; gap:12px; padding-left:10px; border-left:1px solid var(--ui-color-gray-200);}
.weatherDetail {display:flex; align-items:center; gap:4px; font-size:12px; color:var(--ui-color-gray-600);}
.weatherDetail i {font-size:14px;}
.weatherDesc {font-weight:600; color:var(--ui-color-gray-700);}

.weatherError {padding:10px; color:var(--ui-color-gray-500); font-size:12px;}

@keyframes spin {from {transform:rotate(0deg);} to {transform:rotate(360deg);}}
.bx-spin {animation:spin 1s linear infinite;}

@media (max-width: 1200px) {
    .weatherWidget {display:none;}
}

/* ========================================
   WIDGET- pointranking
======================================== */
/* 메인 컨테이너 - 최소한의 스타일 */
.widget_pointranking {overflow:hidden;}

/* 랭킹 리스트 */
.widget_pointranking .point_ranking_list {list-style:none; margin:0; padding:0;}
.widget_pointranking .ranking_item {display:flex; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--board-gray-200);}
.widget_pointranking .ranking_item:hover {background:var(--board-gray-50);}
.widget_pointranking .ranking_item:last-child {border-bottom:none;}

/* 랭킹 번호 */
.widget_pointranking .rank_number {flex:0 0 30px; text-align:center; font-weight:700; font-size:14px; color:var(--board-gray-600);}
.widget_pointranking .rank_number i {font-size:24px;}
.widget_pointranking .rank_number .rank-1 {color:#FFD700;} /* 금메달 */
.widget_pointranking .rank_number .rank-2 {color:#C0C0C0;} /* 은메달 */
.widget_pointranking .rank_number .rank-3 {color:#CD7F32;} /* 동메달 */

/* 회원 정보 */
.widget_pointranking .member_info {flex:1; min-width:0;}
.widget_pointranking .member_nick {display:block; font-size:14px; font-weight:600; color:var(--board-gray-900); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.widget_pointranking .member_level {display:flex; align-items:center; gap:4px; font-size:12px; color:var(--board-gray-500); margin-top:4px;}
.widget_pointranking .member_level i {font-size:12px;}

/* 포인트 정보 */
.widget_pointranking .point_value {display:flex; align-items:baseline; gap:2px;}
.widget_pointranking .point_value strong {font-size:16px; font-weight:700; color:var(--color-prime);}
.widget_pointranking .point_unit {font-size:12px; color:var(--board-gray-500);}

/* 빈 랭킹 */
.widget_pointranking .empty_ranking {padding:60px 20px; text-align:center; color:var(--board-gray-500);}
.widget_pointranking .empty_ranking i {font-size:48px; color:var(--board-gray-300); display:block; margin-bottom:12px;}
.widget_pointranking .empty_ranking p {margin:0; font-size:14px;}

/* 반응형 */
@media (max-width: 768px) {
    .widget_pointranking .ranking_item {padding:12px 0;}
    .widget_pointranking .member_nick {font-size:13px;}
    .widget_pointranking .point_value strong {font-size:14px;}
}

@media (max-width: 480px) {
    .widget_pointranking .ranking_item {gap:12px;}
    .widget_pointranking .rank_number {flex:0 0 24px;}
    .widget_pointranking .rank_number i {font-size:20px;}
}



