@charset "utf-8";
/* =========================================================
   SUREMAN theme override  (loaded after default.css)
   그누보드 기본 스타일 위에 얹는 sureman 외형 레이어
   ========================================================= */

body { background:#e9ebee; color:#333; font-family:"Malgun Gothic","맑은 고딕","Nanum Gothic",sans-serif; }
a { color:#333; }
a:hover { text-decoration:none; }

/* 그누보드 기본 상단 잔재 숨김 */
#tnb, #hd_wrapper, #skip_to_container, #hd_h1, #hd_login_msg { display:none !important; }
hr#hd_hr, #hd + hr, #wrapper > hr { display:none; }

/* default.css의 min-width:1200px 해제 (반응형) */
#hd, #wrapper, #ft { min-width:0 !important; }
/* default.css의 고정 1200px 폭 해제 (모바일 가로 넘침 방지) */
#hd_pop { width:auto; max-width:100%; }

/* ================= 헤더 ================= */
#hd {
    background:#232a35;
    background:linear-gradient(180deg,#2b333f 0%,#1e242e 100%);
    border:0; margin:0; padding:0; height:56px;
    box-shadow:0 1px 4px rgba(0,0,0,.3);
    position:relative; z-index:1000;
}
#hd .hd_in {
    width:1200px; margin:0 auto; height:56px;
    display:flex; align-items:center;
}
#hd #logo { float:none; margin:0; padding:0; }
#hd #logo img { height:50px; width:auto; vertical-align:middle; display:block; }
#hd .sm_logo { display:inline-flex; align-items:center; text-decoration:none; }

/* GNB */
#gnb { background:transparent; border:0; margin:0 0 0 26px; padding:0; height:56px; flex:1; }
#gnb #gnb_1dul { list-style:none; margin:0; padding:0; display:flex; height:56px; }
#gnb .gnb_1dli { position:relative; height:56px; margin:0; float:none; }
#gnb .gnb_1da {
    display:block; position:relative; height:56px; line-height:56px; padding:0 16px;
    color:#e8eaee; font-size:15px; font-weight:600; text-decoration:none; white-space:nowrap;
}
#gnb .gnb_1dli:hover > .gnb_1da { background:rgba(255,255,255,.06); color:#fff; }

/* 2차 드롭다운 */
#gnb .gnb_1dli.gnb_al_li_plus > .gnb_1da { padding-right:28px; }
#gnb .gnb_1dli.gnb_al_li_plus > .gnb_1da:after {
    content:""; position:absolute; right:12px; top:50%; width:0; height:0; margin-top:-1px;
    border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid #9da6b3;
}
#gnb .gnb_2dul {
    display:block !important; position:absolute; top:52px; left:50%; min-width:176px;
    padding:9px; background:#252d38; border:1px solid rgba(255,255,255,.09); border-radius:6px;
    box-shadow:0 12px 26px rgba(0,0,0,.34), 0 2px 6px rgba(0,0,0,.24);
    z-index:1002; opacity:0; visibility:hidden; pointer-events:none;
    transform:translate(-50%, 8px); transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}
#gnb .gnb_2dul:before {
    content:""; position:absolute; left:50%; top:-6px; width:10px; height:10px;
    margin-left:-5px; background:#252d38; border-left:1px solid rgba(255,255,255,.09);
    border-top:1px solid rgba(255,255,255,.09); transform:rotate(45deg);
}
#gnb .gnb_1dli:hover .gnb_2dul,
#gnb .gnb_1dli:focus-within .gnb_2dul,
#gnb .gnb_1dli_over .gnb_2dul,
#gnb .gnb_1dli_over2 .gnb_2dul {
    opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%, 0);
}
#gnb .gnb_2dul_box {
    position:relative; z-index:1; list-style:none; margin:0; padding:0; background:transparent !important;
    border:0 !important; box-shadow:none !important;
}
#gnb .gnb_2dli { float:none; line-height:1.3; border:0 !important; margin:0; padding:0; }
#gnb .gnb_2dli + .gnb_2dli { margin-top:2px; }
#gnb .gnb_2da {
    display:block; min-width:0; padding:10px 13px; line-height:1.35; border-radius:4px;
    background:transparent !important; color:#dce2ea !important; font-size:13px; font-weight:500;
    text-align:left; text-decoration:none; white-space:nowrap;
}
#gnb .gnb_2da:hover,
#gnb .gnb_2da:focus {
    background:#334050 !important; color:#fff !important; text-decoration:none;
}
#gnb .gnb_empty { line-height:56px; color:#bbb; padding:0 16px; }

/* 우측 검색 */
#hd .hd_sch { margin-left:auto; }
#hd .hd_sch form { display:flex; align-items:center; height:34px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.2); border-radius:17px; overflow:hidden; }
#hd .hd_sch input[type="text"] { background:transparent; border:0; outline:0; color:#fff; font-size:13px; padding:0 4px 0 15px; width:170px; height:32px; }
#hd .hd_sch input[type="text"]::placeholder { color:#9aa3b0; }
#hd .hd_sch .hd_sch_btn { background:none; border:0; color:#c7ccd4; font-size:14px; padding:0 13px 0 8px; height:32px; cursor:pointer; }
#hd .hd_sch .hd_sch_btn:hover { color:#fff; }

/* 전체메뉴 버튼(모바일용) 기본 숨김 */
#hd .hd_mnal { display:none; margin-left:10px; }
#hd .hd_mnal .gnb_menu_btn { background:none; border:0; color:#fff; font-size:20px; cursor:pointer; }

/* 전체메뉴 오버레이 (모바일 슬라이드 메뉴) */
#gnb_all { display:none; position:fixed; top:0; left:0; width:82%; max-width:320px; height:100%;
    background:#232a35; z-index:2000; overflow-y:auto; -webkit-overflow-scrolling:touch;
    padding:0 0 40px; box-shadow:2px 0 18px rgba(0,0,0,.4); box-sizing:border-box; }
#gnb_all h2 { color:#fff; font-size:16px; font-weight:700; margin:0; padding:18px 20px;
    background:#1c222c; border-bottom:1px solid #38414f; }
/* default.css의 float/가로배치 무력화 → 세로 목록 */
#gnb_all .gnb_al_ul { list-style:none; margin:0; padding:0; display:block; }
#gnb_all .gnb_al_li { display:block; float:none; width:auto; margin:0; padding:0; border-bottom:1px solid #313a47; }
#gnb_all .gnb_al_a { display:block; float:none; width:auto; color:#fff; font-weight:700; font-size:15px;
    padding:14px 20px; text-decoration:none; white-space:normal; letter-spacing:-.3px; }
#gnb_all .gnb_al_a:hover, #gnb_all .gnb_al_a:active { background:rgba(255,255,255,.05); color:#ffd23f; }
/* 2차 메뉴: 부모 아래 들여쓰기 목록 */
#gnb_all .gnb_al_li ul { list-style:none; display:block; margin:0; padding:0 0 8px; background:rgba(0,0,0,.16); }
#gnb_all .gnb_al_li ul li { display:block; float:none; width:auto; margin:0; padding:0; border:0; }
#gnb_all .gnb_al_li ul li a { display:block; float:none; width:auto; color:#aeb7c4; font-size:13.5px; font-weight:500;
    padding:9px 20px 9px 34px; text-decoration:none; white-space:normal; position:relative; }
#gnb_all .gnb_al_li ul li a:before { content:""; position:absolute; left:22px; top:50%; width:4px; height:4px;
    margin-top:-2px; border-radius:50%; background:#5a6675; }
#gnb_all .gnb_al_li ul li a:hover, #gnb_all .gnb_al_li ul li a:active { color:#fff; }
#gnb_all .gnb_close_btn { position:absolute; top:11px; right:12px; width:34px; height:34px; background:none; border:0;
    color:#fff; font-size:20px; cursor:pointer; line-height:34px; }
#gnb_all_bg { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.5); z-index:1999; }

/* ================= 콘텐츠 래퍼 (본문 좌측 + 사이드바 우측) ================= */
#wrapper { width:1200px; margin:0 auto; padding:0; background:transparent; border:0; }
#container_wr { width:1200px; margin:0 auto; background:transparent; border:0; display:flex; align-items:flex-start; gap:20px; }
.sm_content_col { flex:1 1 auto; min-width:0; }
#container { flex:1 1 auto; min-width:0; width:auto !important; float:none !important; padding:16px 0; margin:0 !important; background:transparent; border:0; min-height:400px; }
#container:after { content:""; display:block; clear:both; }
/* 페이지 타이틀 — iOS 대형 타이틀 스타일 (위 여백 확보, 좌측 정렬) */
#container_title {
    position:relative;margin:28px 0 16px;padding:0 2px;
    color:#141a24;font-size:24px;font-weight:800;line-height:1.3;text-align:left;letter-spacing:-0.02em;
    background:transparent;border:0;box-shadow:none;
}
#container_title:after {display:none}
#container_title span {
    display:block;max-width:100%;padding:0;border:0;background:transparent;box-shadow:none;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
@media (max-width:640px){
    #container_title {margin:20px 0 12px;font-size:20px}
}

/* ================= 우측 사이드바 ================= */
#aside { display:block; flex:0 0 280px; width:280px; float:none; height:auto; margin:0; padding:16px 0; }
.sd_box {
    background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);
    border:1px solid #dfe5ec;border-radius:8px;margin-bottom:16px;overflow:hidden;
    box-shadow:0 12px 28px rgba(31,47,70,.07);
}
.sd_tit {
    margin:0;padding:13px 15px;font-size:14px;font-weight:700;color:#2b3440;
    background:linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%);
    border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:7px;
}
.sd_tit i { color:#2f6fb0; }
.sd_tit .sd_more { margin-left:auto; font-size:11px; font-weight:400; color:#999; text-decoration:none; }
.sd_tit .sd_more:hover { color:#2f6fb0; }

/* 로그인 위젯 (outlogin 스킨 감싸기) */
.sd_login { background:transparent; border:0; border-radius:0; overflow:visible; }
.sd_login .ol {
    margin-bottom:0;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);
    border:1px solid #dfe5ec;border-radius:8px;box-shadow:0 12px 28px rgba(31,47,70,.07);
    overflow:hidden;
}
#aside .ol h2 {
    width:50%;float:left;font-size:14px;background:linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%);
    border-bottom:1px solid #e2e8f0;margin:0;
}
#aside .ol .join { width:50%; box-sizing:border-box; border-bottom:1px solid #e3e6ea; border-left:1px solid #e3e6ea; text-decoration:none; font-weight:600; color:#2f6fb0; }
#aside .ol .join:hover { background:#eef2f6; }
#aside .ol form { padding:14px; }
#aside #ol_submit { background:#2f6fb0; border:0; cursor:pointer; }
#aside #ol_submit:hover { background:#285f97; }
#aside #ol_after_hd { padding:14px 14px 10px 78px; height:auto; min-height:60px; }
#aside #ol_after_hd .profile_img { top:14px; left:14px; }

/* 채팅방 (준비중) */
.sd_chat_body { padding:24px 16px; text-align:center; color:#666; font-size:13px; }
.sd_chat_body p { margin:0 0 10px; }
.sd_chat_body b { color:#2f6fb0; }
.sd_chat_soon { display:inline-block; background:#eef2f6; color:#8a94a3; font-size:10px; font-weight:700; letter-spacing:1.5px; padding:4px 12px; border-radius:12px; }

/* 최근글 위젯 */
.sd_latest_ul { list-style:none; margin:0; padding:8px 14px 10px; }
.sd_latest_ul li {
    display:flex;align-items:center;gap:6px;padding:9px 2px;
    border-bottom:1px solid #eef2f6;font-size:13px;
    background:linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(248,250,252,.55) 100%);
}
.sd_latest_ul li:last-child { border-bottom:0; }
.sd_latest_ul li a { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#333; text-decoration:none; }
.sd_latest_ul li a:hover { text-decoration:underline; }
.sd_latest_ul .cmt { flex:0 0 auto; background:#eef2f6; color:#e5512f; font-size:11px; font-weight:600; padding:1px 6px; border-radius:9px; }
.sd_latest_ul .new_icon { flex:0 0 auto; color:#f0663b; font-weight:700; font-size:10px; }
.sd_latest_ul .empty_li { color:#999; justify-content:center; }

/* 접속자 현황 */
.sd_connect_body { padding:14px; font-size:13px; color:#555; }
.sd_connect_body strong { color:#2f6fb0; font-size:15px; margin:0 2px; }

/* ================= 홈 ================= */
.sm_index { }

/* 최신글 탭 위젯 */
.idx_tabbox {
    background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);
    border:1px solid #dfe5ec;border-radius:8px;margin-bottom:18px;overflow:hidden;
    box-shadow:0 14px 30px rgba(31,47,70,.07);
}
.idx_tabnav {
    list-style:none;margin:0;padding:0;display:flex;border-bottom:1px solid #e2e8f0;
    background:linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%);
}
.idx_tabnav li { padding:14px 26px; cursor:pointer; font-size:15px; font-weight:600; color:#888; border-right:1px solid #e3e6ea; }
.idx_tabnav li.on { background:#fff; color:#2f6fb0; border-bottom:2px solid #2f6fb0; margin-bottom:-1px; }
.idx_tabbody { padding:12px 18px 18px; }
.idx_pane { display:none; }
.idx_pane.on { display:block; }

/* 2열 리스트 */
.sm_row_list { list-style:none; margin:0; padding:0; column-count:2; column-gap:36px; }
.sm_row_list li {
    break-inside:avoid;display:flex;align-items:center;padding:8px 2px;
    border-bottom:1px solid #eef2f6;font-size:13px;
}
.sm_row_list .cate { flex:0 0 auto; margin-right:8px; }
.sm_row_list .cate a { display:inline-block; background:#3f8bd4; color:#fff; font-size:11px; padding:2px 8px; border-radius:2px; text-decoration:none; }
.sm_row_list .subject { flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sm_row_list .subject a { color:#333; text-decoration:none; }
.sm_row_list .subject a:hover { text-decoration:underline; }
.sm_row_list .subject .cmt { color:#e5512f; font-weight:600; margin-left:3px; }
.sm_row_list .new_icon { color:#f0663b; font-weight:700; font-size:10px; margin-left:5px; }
.sm_row_list .empty_li { color:#999; justify-content:center; }

/* 인증업체 프로모 바 */
.idx_promo { background:#111; color:#fff; text-align:center; border-radius:3px; padding:20px 0; margin-bottom:12px;
    font-size:24px; letter-spacing:-.5px; }
.idx_promo_txt b { color:#ffd23f; }

/* 배너 그리드 (433x65 2열) */
.idx_banners { display:flex; flex-wrap:wrap; gap:4px; }
.idx_banner { width:calc(50% - 2px); height:auto; aspect-ratio:433/65; overflow:hidden; background:#fff; border:1px solid #e0e0e0; } /* 배너 원본 비율(433x65) 고정 - 어떤 폭에서도 이미지 잘림 없음 */
.idx_banner a { display:block; width:100%; height:100%; }
.idx_banner img { width:100%; height:100%; object-fit:cover; display:block; }
.idx_banner_empty { display:flex; align-items:center; justify-content:center; background:#f3f4f6; color:#aab; font-size:13px; border-style:dashed; }

/* 하위 페이지 상단 공용 위젯 (탭 위젯 + 인증업체 라인 + 메인배너) : 우측 위젯 옆 본문 컬럼 폭 기준 */
.sm_main_widget { padding:16px 0 0; }
.sm_main_widget + #container { padding-top:0; }

/* ================= 인덱스 랜딩 (먹튀검증 SEO) ================= */
.sm_landing { display:flex; flex-direction:column; gap:18px; }

/* 히어로 (최상단 강조 섹션) */
.sm_hero { position:relative; overflow:hidden; text-align:center; border-radius:8px; padding:clamp(36px, 6vw, 64px) 24px;
    background:linear-gradient(135deg, #171e29 0%, #223047 55%, #1c2739 100%); color:#eef2f7; }
.sm_hero:before { content:""; position:absolute; top:0; right:0; bottom:0; left:0; pointer-events:none;
    background:radial-gradient(ellipse at 50% -20%, rgba(255,210,63,.18) 0%, rgba(255,210,63,0) 55%); }
.sm_hero > * { position:relative; }
.sm_hero_badge { display:inline-block; padding:7px 16px; border:1px solid rgba(255,210,63,.45); border-radius:100px;
    color:#ffd23f; font-size:13px; font-weight:600; letter-spacing:.5px; margin-bottom:18px; background:rgba(255,210,63,.08); }
.sm_hero_title { font-size:clamp(24px, 3.4vw, 40px); line-height:1.3; letter-spacing:-1px; margin:0 0 14px; font-weight:800; color:#eef2f7; }
.sm_hero_title b { color:#ffd23f; }
.sm_hero_sub { font-size:clamp(14px, 1.4vw, 16px); line-height:1.7; color:#b8c2d0; margin:0 0 26px; }
.sm_hero_btns { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.sm_btn { display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:6px; font-size:15px;
    font-weight:700; text-decoration:none; transition:transform .15s, box-shadow .15s, background .15s; }
.sm_btn:hover { transform:translateY(-2px); text-decoration:none; }
.sm_btn_point { background:#ffd23f; color:#1c2431; box-shadow:0 4px 14px rgba(255,210,63,.25); }
.sm_btn_point:hover { background:#ffdd66; color:#1c2431; }
.sm_btn_line { border:1px solid rgba(238,242,247,.4); color:#eef2f7; background:rgba(255,255,255,.04); }
.sm_btn_line:hover { border-color:#eef2f7; color:#fff; background:rgba(255,255,255,.1); }

/* 핵심 서비스 카드 */
.sm_feats { display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; }
.sm_feat { display:flex; flex-direction:column; gap:8px; padding:22px 18px; background:#fff; border:1px solid #d5d9de;
    border-radius:8px; text-decoration:none; color:#333; transition:border-color .15s, box-shadow .15s, transform .15s; }
.sm_feat:hover { text-decoration:none; border-color:#2f6fb0; box-shadow:0 6px 16px rgba(47,111,176,.12); transform:translateY(-2px); }
.sm_feat i { font-size:22px; color:#2f6fb0; }
.sm_feat strong { font-size:16px; color:#222; letter-spacing:-.3px; }
.sm_feat span { font-size:13px; line-height:1.55; color:#777; }

/* 본문 섹션 */
.sm_sec { background:#fff; border:1px solid #d5d9de; border-radius:8px; padding:28px 26px; }
.sm_sec h2 { font-size:20px; letter-spacing:-.5px; color:#1c2431; margin:0 0 14px; padding-left:12px; border-left:4px solid #ffd23f; }
.sm_sec p { font-size:14px; line-height:1.8; color:#555; margin:0 0 10px; }
.sm_sec p:last-child { margin-bottom:0; }
.sm_sec p strong { color:#2f6fb0; }

/* 체크리스트 */
.sm_checklist { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; }
.sm_checklist li { position:relative; padding:12px 14px 12px 38px; background:#f7f9fb; border-radius:6px;
    font-size:14px; line-height:1.6; color:#555; }
.sm_checklist li:before { content:"\f00c"; font-family:FontAwesome; position:absolute; left:14px; top:12px; color:#2f6fb0; }
.sm_checklist li strong { color:#222; }

/* 검증 절차 스텝 */
.sm_steps { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; }
.sm_steps li { display:flex; flex-direction:column; gap:6px; padding:20px 16px; background:#f7f9fb; border-radius:8px; border-top:3px solid #2f6fb0; }
.sm_steps li em { font-style:normal; font-size:12px; font-weight:700; color:#2f6fb0; letter-spacing:1px; }
.sm_steps li strong { font-size:15px; color:#222; letter-spacing:-.3px; }
.sm_steps li span { font-size:13px; line-height:1.6; color:#777; }

/* FAQ */
.sm_faq details { border:1px solid #e4e8ec; border-radius:6px; margin-bottom:8px; overflow:hidden; }
.sm_faq details:last-child { margin-bottom:0; }
.sm_faq summary { cursor:pointer; padding:14px 16px 14px 16px; padding-right:36px; font-size:14px; font-weight:600; color:#333;
    background:#f7f9fb; list-style:none; position:relative; }
.sm_faq summary::-webkit-details-marker { display:none; }
.sm_faq summary:after { content:"\f107"; font-family:FontAwesome; position:absolute; right:16px; top:50%; transform:translateY(-50%);
    color:#999; }
.sm_faq details[open] summary:after { content:"\f106"; }
.sm_faq details[open] summary { color:#2f6fb0; }
.sm_faq details p { padding:14px 16px; margin:0; font-size:14px; line-height:1.75; color:#555; border-top:1px solid #eef1f4; }

/* 랜딩 반응형 */
@media (max-width:1240px){
    .sm_feats, .sm_steps { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:980px){
    .sm_br_pc { display:none; }
}
@media (max-width:600px){
    .sm_feats, .sm_steps { grid-template-columns:1fr; }
    .sm_hero { border-radius:6px; padding-left:16px; padding-right:16px; }
    .sm_hero_btns .sm_btn { width:100%; justify-content:center; box-sizing:border-box; }
    .sm_sec { padding:20px 16px; }
}

/* ================= 포인트랭킹 ================= */
.sm_rank { background:#fff; border:1px solid #d5d9de; border-radius:8px; padding:24px; }
.sm_rank_head { text-align:center; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid #eef1f4; }
.sm_rank_tit { font-size:22px; font-weight:800; color:#1c2431; margin:0 0 6px; letter-spacing:-.5px; }
.sm_rank_tit i { color:#f5b301; margin-right:6px; }
.sm_rank_desc { font-size:13px; color:#888; margin:0; }

.sm_rank_table { display:flex; flex-direction:column; gap:6px; }
.sm_rank_row { display:flex; align-items:center; gap:10px; padding:14px 18px; border:1px solid #e8ebef;
    border-radius:6px; background:#fff; }
.sm_rank_th { background:#f5f6f8; border-color:#e3e6ea; font-weight:700; color:#555; font-size:13px; padding:11px 18px; }
.sm_rank_no { flex:0 0 90px; display:flex; align-items:center; gap:5px; color:#333; }
.sm_rank_no b { font-size:16px; font-weight:800; }
.sm_rank_no em { font-style:normal; font-size:12px; color:#999; }
.sm_rank_nick { flex:1 1 auto; min-width:0; font-weight:600; color:#222; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sm_rank_pt { flex:0 0 auto; text-align:right; font-weight:700; color:#2f6fb0; font-variant-numeric:tabular-nums; }
.sm_rank_pt em { font-style:normal; font-size:12px; color:#9aa3b0; font-weight:500; margin-left:2px; }
.sm_rank_th .sm_rank_pt { color:#555; }
.sm_rank_empty { justify-content:center; color:#999; padding:40px 0; }

/* 상위 3위 강조 */
.sm_rank_row.rank1 { background:linear-gradient(90deg,#fff8e1,#fffdf5); border-color:#f5d76e; }
.sm_rank_row.rank2 { background:linear-gradient(90deg,#f4f6f8,#fcfdfe); border-color:#cfd6de; }
.sm_rank_row.rank3 { background:linear-gradient(90deg,#fbf1e8,#fefaf6); border-color:#e6c3a3; }
.sm_rank_row.rank1 .sm_rank_no i { color:#f5b301; }
.sm_rank_row.rank2 .sm_rank_no i { color:#9aa5b1; }
.sm_rank_row.rank3 .sm_rank_no i { color:#cd7f42; }
.sm_rank_row.rank1 .sm_rank_no b { color:#c8930a; }

/* 페이지네이션 (그누보드 기본 .pg 재활용) */
.sm_rank_paging { margin-top:20px; text-align:center; }
.sm_rank_paging .pg_page, .sm_rank_paging .pg_current { display:inline-block; min-width:34px; height:34px; line-height:34px;
    padding:0 6px; margin:0 2px; border-radius:5px; font-size:13px; text-decoration:none; }
.sm_rank_paging .pg_page { background:#f2f4f6; color:#555; border:1px solid #e2e6ea; }
.sm_rank_paging .pg_page:hover { background:#e6ebf0; }
.sm_rank_paging .pg_current { background:#2f6fb0; color:#fff; border:1px solid #2f6fb0; font-weight:700; }

@media (max-width:600px){
    .sm_rank { padding:16px 12px; }
    .sm_rank_row { padding:12px 12px; gap:8px; }
    .sm_rank_th { padding:10px 12px; }
    .sm_rank_no { flex-basis:64px; }
    .sm_rank_no b { font-size:15px; }
    .sm_rank_pt { font-size:14px; }
}

/* ================= 푸터 ================= */
#ft { background:#2b333f; color:#9aa3b0; border:0; margin-top:24px; padding:26px 0 40px; text-align:center; }
#ft #ft_wr { width:1200px; margin:0 auto; }
#ft #ft_notice { font-size:12px; line-height:1.7; margin:12px 0; color:#8c95a3; }
#ft #ft_copy { font-size:12px; color:#c3cad4; margin-top:8px; width:auto; } /* default.css의 고정 1200px 해제 (모바일 가로 넘침 방지) */
#ft a { color:#aeb6c2; }
#ft #ft_wr .visit, #ft #ft_wr table { color:#9aa3b0; }
#top_btn { position:fixed; right:20px; bottom:20px; width:44px; height:44px; border:0; border-radius:50%;
    background:#2f6fb0; color:#fff; font-size:18px; cursor:pointer; z-index:900; box-shadow:0 2px 8px rgba(0,0,0,.3); }

/* ================= 반응형 ================= */
@media (max-width:1240px){
    #hd .hd_in, #wrapper, #ft #ft_wr { width:100%; box-sizing:border-box; padding-left:12px; padding-right:12px; }
    #container_wr { width:100%; box-sizing:border-box; } /* wrapper 안쪽이므로 패딩 중복 금지 */
    /* GNB 메뉴(11개, 총 ~930px)는 이 폭에서 가로로 다 들어가지 못함 → 햄버거 전환 */
    #gnb { display:none; }
    #hd .hd_sch { flex:1 1 auto; margin-left:14px; }
    #hd .hd_sch form { width:100%; max-width:420px; margin-left:auto; }
    #hd .hd_sch input[type="text"] { width:100%; flex:1 1 auto; }
    #hd .hd_mnal { display:block; margin-left:12px; }
}

/* 태블릿/모바일: 위젯 목록 1열, 배너 1열 */
@media (max-width:900px){
    .sm_row_list { column-count:1; }
    /* 배너 1열 (비율은 기본 규칙의 aspect-ratio가 유지) */
    .idx_banner { width:100%; }
}

/* 모바일/태블릿: 사이드바를 본문 아래로 (2열 카드) */
@media (max-width:980px){
    #container_wr { display:block; }
    #container { width:100% !important; }
    #aside { width:100%; padding:0 0 8px; display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; }
    #aside .sd_box { margin-bottom:0; }
    #aside .sd_login { grid-column:1 / -1; }
}

/* 모바일: 위젯 1열, 콘텐츠 보호 */
@media (max-width:640px){
    #aside { grid-template-columns:1fr; }
    #hd #logo img { height:38px; }
    #hd .hd_sch input[type="text"] { font-size:16px; } /* iOS 자동확대 방지 */
    #container img { max-width:100%; height:auto; }
    .tbl_wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
    /* 탭 5개 균등 분할 + 좁으면 긴 라벨 말줄임(자유게시판 → 자유게시…) */
    .idx_tabnav li { padding:11px 4px; flex:1 1 0; min-width:0; text-align:center; font-size:13px;
        white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .idx_promo { font-size:17px; padding:14px 10px; }
}
