/* 새 디자인(v2) — 미리보기(nuri_v2) 중일 때만 head.sub.php 가 불러온다. 2026-10-20
   방향: 흰 바탕 + 남색 하나(#1f3b8f) + 노란 형광, 알약 이름표·아이콘 카드·그라데이션 걷어냄 (누리차이나 홈페이지와 같은 결) */
body[data-nv2] { --v2-navy:#1f3b8f; --v2-navy-hi:#2a4aa8; --v2-ink:#16181d; --v2-sub:#5f6673; --v2-line:#e6e8ec; --v2-mist:#f6f7f9; --v2-mark:#ffe08a; }

/* ---------- PC 헤더 ---------- */
body[data-nv2] #pc_hd.bg-main { background:#fff !important; border-bottom:1px solid var(--v2-line); }
body[data-nv2] #pc_hd .pc_hd_inner { min-height:68px; }
body[data-nv2] .pc_hd_logo .logo_img { max-width:172px; }
body[data-nv2] #pc_1dul > .pc_1dli > a.pc_1da { color:#2b2f37 !important; font-size:16px; font-weight:600; font-family:'Noto Sans KR',sans-serif; padding:22px 14px; }
body[data-nv2] #pc_1dul > .pc_1dli > a.pc_1da:hover,
body[data-nv2] #pc_1dul > .pc_1dli_active > a.pc_1da { color:var(--v2-navy) !important; }
body[data-nv2] #pc_1dul > .pc_1dli > .pc_2dul { background:#fff; border:1px solid var(--v2-line); border-radius:10px; box-shadow:0 12px 28px -14px rgba(20,30,50,.3); overflow:hidden; }
body[data-nv2] #pc_1dul > .pc_1dli > .pc_2dul > .pc_2dul_box { border:0; }
body[data-nv2] #pc_1dul > .pc_1dli > .pc_2dul > .pc_2dul_box > .pc_2dli { border-bottom:1px solid #f0f1f4; padding:.7rem 1.1rem; }
body[data-nv2] #pc_1dul > .pc_1dli > .pc_2dul > .pc_2dul_box > .pc_2dli > a { color:#2b2f37; font-family:'Noto Sans KR',sans-serif; font-size:14px; }
body[data-nv2] #pc_1dul > .pc_1dli > .pc_2dul > .pc_2dul_box > .pc_2dli > a:hover { color:var(--v2-navy); }
body[data-nv2] #pc_hd_icon > ul > li:hover { background:transparent !important; }
body[data-nv2] #pc_hd_icon > ul > li.cp { gap:8px; }
body[data-nv2] #pc_hd_icon > ul > li.cp > a.hd_cp_btn { background:var(--v2-navy); color:#fff; border:1px solid var(--v2-navy); border-radius:8px; padding:9px 16px; }
body[data-nv2] #pc_hd_icon > ul > li.cp > a.hd_cp_btn:hover { background:var(--v2-navy-hi); }
body[data-nv2] #pc_hd_icon > ul > li.cp > a.hd_free_btn { background:#fff; color:var(--v2-navy); }
body[data-nv2] #pc_hd_icon > ul > li.cp > a.hd_free_btn:hover { background:#f3f5fa; }
body[data-nv2] #pc_hd_icon > ul > li.cp > a.hd_cp_btn--my { background:#fff; color:var(--v2-navy); }
body[data-nv2] #pc_hd_icon > ul > li.cp > a.hd_cp_btn--my b { background:var(--v2-navy); color:#fff; }
body[data-nv2] #pc_hd_icon > ul > li.my > a > span.ico { filter:invert(1) brightness(.35); }

/* 서브메뉴 줄 (분홍 밑줄·빨간 글씨 → 남색) */
body[data-nv2] #pc_snb .snb_location .snb_tle { border-bottom-color:var(--v2-navy); }
body[data-nv2] #pc_snb .snb_location .snb_stle.on a,
body[data-nv2] #pc_snb .snb_location .snb_stle a:hover { color:var(--v2-navy) !important; font-weight:700; }

/* ---------- 휴대폰 헤더 ---------- */
body[data-nv2] #mhd .mhd_wrap .mhd_cp_btn { background:var(--v2-navy); border-radius:8px; }
body[data-nv2] #mhd .mhd_wrap .mhd_cp_btn--my { background:#eef1f8; color:var(--v2-navy); }
body[data-nv2] #mhd .mhd_wrap .mhd_cp_btn--my b { background:var(--v2-navy); }

/* ---------- 서브페이지 위 제목 (sub_banner.php 미리보기판) ---------- */
body[data-nv2] .v2-sub { margin:4px 0 18px; padding:26px 0 22px; border-bottom:1px solid var(--v2-line); word-break:keep-all; }
body[data-nv2] .v2-sub .v2-sub-title { margin:0; font-size:28px; font-weight:800; letter-spacing:-.03em; line-height:1.3; color:var(--v2-ink); }
body[data-nv2] .v2-sub .v2-sub-desc { margin:8px 0 0; font-size:16px; color:var(--v2-sub); line-height:1.6; }
@media (max-width:992px) {
  body[data-nv2] .v2-sub { margin:0 0 12px; padding:18px 16px 16px; }
  body[data-nv2] .v2-sub .v2-sub-title { font-size:21px; }
  body[data-nv2] .v2-sub .v2-sub-desc { font-size:14px; }
}

/* ---------- 오른쪽 사이드바 ---------- */
body[data-nv2] .aside_right .side_menu_title { background:#fff !important; color:var(--v2-ink); font-weight:700; border-bottom:1px solid var(--v2-line); }
body[data-nv2] .aside_right .side_sub_menu li.on > a, body[data-nv2] .aside_right .side_sub_menu li a:hover { color:var(--v2-navy) !important; font-weight:700; }
body[data-nv2] .vpn-side { background:#fff !important; border:1px solid var(--v2-line); color:var(--v2-ink); }
body[data-nv2] .vpn-side .vpn-side-title { color:var(--v2-ink) !important; }
body[data-nv2] .vpn-side li { color:#3a4150 !important; }
body[data-nv2] .vpn-side li i { color:var(--v2-navy) !important; }
body[data-nv2] .vpn-side .vpn-side-btn { background:var(--v2-navy) !important; color:#fff !important; }
body[data-nv2] .vpn-side .vpn-side-link { color:var(--v2-sub) !important; }
body[data-nv2] .vpn-promo { background:var(--v2-mist) !important; border:1px solid var(--v2-line); color:var(--v2-ink); }
body[data-nv2] .vpn-promo h3 { color:var(--v2-ink) !important; }
body[data-nv2] .vpn-promo p { color:var(--v2-sub) !important; }
body[data-nv2] .vpn-promo .vpn-points li { background:#fff !important; border-color:var(--v2-line) !important; color:#3a4150 !important; }
body[data-nv2] .vpn-promo .vpn-points li i { color:var(--v2-navy) !important; }
body[data-nv2] .vpn-promo .vpn-btn--white { background:var(--v2-navy) !important; color:#fff !important; }
body[data-nv2] .vpn-promo .vpn-btn--ghost { color:var(--v2-navy) !important; border-color:var(--v2-navy) !important; }

/* ---------- 비회원 안내 카드 · 페이지 안내 ---------- */
body[data-nv2] .gn-card { background:#fff !important; border-color:var(--v2-line) !important; }
body[data-nv2] .gn-card .gn-tag, body[data-nv2] .gn-card .gn-points { display:none !important; }
body[data-nv2] .gn-card h2 { color:var(--v2-ink) !important; }
body[data-nv2] .gn-card .gn-btn--primary { background:var(--v2-navy) !important; }
body[data-nv2] .gn-card .gn-btn--line { color:var(--v2-navy) !important; border-color:var(--v2-navy) !important; }
body[data-nv2] .gn-card .gn-free { border-style:solid !important; border-color:var(--v2-line) !important; background:var(--v2-mist) !important; }
body[data-nv2] .gn-card .gn-free a { color:var(--v2-navy) !important; }

/* ---------- 이용안내 페이지 ---------- */
body[data-nv2] .nuri-info .ni-badge { display:none !important; }
body[data-nv2] .nuri-info .ni-feats i { display:none !important; }
/* 단계: 아이콘 상자를 없애고 번호 동그라미만 */
body[data-nv2] .ni-steps .ni-step-ico { width:auto !important; height:auto !important; margin-bottom:10px !important; border:0 !important; background:none !important; box-shadow:none !important; }
body[data-nv2] .ni-steps .ni-step-ico i { display:none !important; }
body[data-nv2] .ni-steps .ni-step-ico em { position:static !important; display:inline-block; width:28px !important; height:28px !important; line-height:28px !important; font-size:14px !important; background:var(--v2-navy) !important; }
body[data-nv2] .nuri-info .ni-title:before { background:var(--v2-navy) !important; }
body[data-nv2] .ni-cta { background:var(--v2-mist) !important; border:1px solid var(--v2-line); color:var(--v2-ink) !important; }
body[data-nv2] .ni-cta a.ni-btn-white { background:var(--v2-navy) !important; color:#fff !important; }
body[data-nv2] .ni-cta a.ni-btn-line { background:#fff !important; color:var(--v2-navy) !important; border:1px solid var(--v2-navy) !important; }
/* 사이드 로그인 버튼 */
body[data-nv2] .outlogin_btn.bg-main { background:var(--v2-navy) !important; border-color:var(--v2-navy) !important; }

/* ---------- 홈 (index_v2_top.php) ---------- */
body[data-nv2] #main.nuri-main .v2-hero { background:#fff; border-bottom:1px solid var(--v2-line); padding:56px 0 52px; }
body[data-nv2] .v2-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:center; }
body[data-nv2] .v2-title { font-size:38px; line-height:1.35; font-weight:800; letter-spacing:-.03em; color:var(--v2-ink); margin:0; word-break:keep-all; }
body[data-nv2] .v2-title mark { background:linear-gradient(transparent 60%, var(--v2-mark) 60%); color:inherit; padding:0; }
body[data-nv2] .v2-lead { margin:18px 0 0; font-size:17px; color:#4a5160; line-height:1.7; word-break:keep-all; }
body[data-nv2] .v2-btns { display:flex; gap:10px; margin-top:26px; flex-wrap:wrap; }
body[data-nv2] .v2-btn { display:inline-block; padding:14px 22px; border-radius:10px; font-weight:700; font-size:16px; border:1px solid var(--v2-navy); color:var(--v2-navy); background:#fff; text-decoration:none !important; }
body[data-nv2] .v2-btn--p { background:var(--v2-navy); color:#fff !important; }
body[data-nv2] .v2-btn:hover { background:#f3f5fa; } body[data-nv2] .v2-btn--p:hover { background:var(--v2-navy-hi); }
body[data-nv2] .v2-small { margin-top:14px; font-size:14px; color:#6b7280; }
body[data-nv2] .v2-q { border:1px solid #dfe3ea; border-radius:14px; padding:22px 24px; background:#fff; }
body[data-nv2] .v2-q-top { display:flex; justify-content:space-between; gap:10px; font-size:13px; color:#6b7280; margin-bottom:10px; }
body[data-nv2] .v2-q-text { font-size:18px; font-weight:700; color:var(--v2-ink); line-height:1.5; margin:0 0 14px; word-break:keep-all; }
body[data-nv2] .v2-q-list { list-style:none; margin:0; padding:0; }
body[data-nv2] .v2-q-list li { display:flex; align-items:center; gap:10px; padding:11px 12px; border:1px solid var(--v2-line); border-radius:8px; margin-bottom:7px; font-size:16px; color:#2b2f37; }
body[data-nv2] .v2-q-list li em { margin-left:auto; font-style:normal; font-size:13px; color:#8a91a0; white-space:nowrap; }
body[data-nv2] .v2-q-list li.is-ok { border-color:#1a8f4a; background:#effaf3; }
body[data-nv2] .v2-q-list li.is-ok em { color:#1a8f4a; font-weight:700; }
body[data-nv2] .v2-q-exp { margin-top:12px; background:var(--v2-mist); border-radius:8px; padding:12px 14px; font-size:14.5px; color:#4a5160; line-height:1.65; word-break:keep-all; }
body[data-nv2] .v2-q-exp b { display:block; color:var(--v2-ink); margin-bottom:4px; }
body[data-nv2] .v2-sec { padding:52px 0; background:#fff; }
body[data-nv2] .v2-gray { background:var(--v2-mist); }
body[data-nv2] .v2-h2 { font-size:26px; font-weight:800; letter-spacing:-.02em; color:var(--v2-ink); margin:0 0 22px; }
body[data-nv2] .v2-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
body[data-nv2] .v2-steps a { text-decoration:none !important; }
body[data-nv2] .v2-steps b { font-size:18px; color:var(--v2-ink); }
body[data-nv2] .v2-steps p { margin:8px 0 0; color:var(--v2-sub); font-size:15.5px; line-height:1.65; word-break:keep-all; }
body[data-nv2] .v2-reviews { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
body[data-nv2] .v2-rv { display:block; background:#fff; border:1px solid var(--v2-line); border-radius:12px; padding:20px; text-decoration:none !important; }
body[data-nv2] .v2-rv p { margin:0; color:#2b2f37; font-size:15.5px; line-height:1.65; word-break:keep-all; }
body[data-nv2] .v2-rv span { display:block; margin-top:12px; font-size:13px; color:#8a91a0; }
body[data-nv2] .v2-more { display:inline-block; margin-top:16px; font-weight:700; color:var(--v2-navy); }
/* 이용권 */
body[data-nv2] #main.nuri-main .nuri-price .nuri-badge { display:none; }
body[data-nv2] #main.nuri-main .nuri-btn--primary { background:var(--v2-navy); }
body[data-nv2] #main.nuri-main .nuri-btn--primary:hover { background:var(--v2-navy-hi); }
body[data-nv2] #main.nuri-main .nuri-price-card:hover { border-color:var(--v2-navy); box-shadow:none; }
body[data-nv2] #main.nuri-main .nuri-price-card.is-best { border-color:var(--v2-navy); box-shadow:none; }
body[data-nv2] #main.nuri-main .nuri-price-card__flag { background:var(--v2-mark) !important; color:var(--v2-ink) !important; }
body[data-nv2] #main.nuri-main .nuri-price-card__list li i, body[data-nv2] #main.nuri-main .nuri-price-card__sub em { color:var(--v2-navy); }
@media (max-width:860px) {
  body[data-nv2] .v2-hero-grid, body[data-nv2] .v2-steps, body[data-nv2] .v2-reviews { grid-template-columns:1fr; }
  body[data-nv2] .v2-title { font-size:28px; }
  body[data-nv2] #main.nuri-main .v2-hero { padding:32px 0; }
}

/* ---------- 누리차이나 VPN 홍보 (vpn_promo.php 미리보기판): 면허 사이트 내용과 구분되는 '함께 운영하는 서비스' 띠 ---------- */
body[data-nv2] .vpn2 { margin:28px 0 10px; }
body[data-nv2] .vpn2-label { display:block; margin:0 0 6px; font-size:12px; color:#8a91a0; }
body[data-nv2] .vpn2-band { display:flex; align-items:center; gap:14px; padding:14px 18px; border-radius:12px; background:#13213f; color:#fff; text-decoration:none !important; }
body[data-nv2] .vpn2-band:hover { background:#1b2b4f; }
body[data-nv2] .vpn2-ico { width:40px; height:40px; border-radius:10px; flex-shrink:0; }
body[data-nv2] .vpn2-text { flex:1; min-width:0; word-break:keep-all; }
body[data-nv2] .vpn2-text b { display:block; font-size:16px; color:#fff; }
body[data-nv2] .vpn2-text span { display:block; font-size:14px; color:#b5bfd3; margin-top:2px; }
body[data-nv2] .vpn2-btn { flex-shrink:0; padding:9px 16px; border-radius:8px; background:#ffe08a; color:#16181d; font-size:14px; font-weight:700; white-space:nowrap; }
body[data-nv2] .vpn2--side { margin:12px 0 0; }
body[data-nv2] .vpn2--side .vpn2-band { flex-wrap:wrap; gap:10px; padding:14px; }
body[data-nv2] .vpn2--side .vpn2-ico { width:34px; height:34px; }
body[data-nv2] .vpn2--side .vpn2-text { flex:1 1 140px; }
body[data-nv2] .vpn2--side .vpn2-text b { font-size:15px; }
body[data-nv2] .vpn2--side .vpn2-text span { font-size:13px; }
body[data-nv2] .vpn2--side .vpn2-btn { flex:1 1 100%; text-align:center; }
@media (max-width:560px) {
  body[data-nv2] .vpn2-band { flex-wrap:wrap; }
  body[data-nv2] .vpn2-text { flex:1 1 180px; }
  body[data-nv2] .vpn2-btn { flex:1 1 100%; text-align:center; }
}

/* ---------- 푸터 (footer_v2.php) ---------- */
body[data-nv2] #pc_footer, body[data-nv2] #mfooter { background:none !important; margin:0; padding:0; }
body[data-nv2] .v2-ft { margin-top:40px; background:var(--v2-mist); border-top:1px solid var(--v2-line); color:var(--v2-sub); font-size:14px; line-height:1.7; word-break:keep-all; }
body[data-nv2] .v2-ft .nuri-container { width:100%; max-width:1200px; margin:0 auto; padding-left:20px; padding-right:20px; } /* 위아래 여백은 각 줄에서 */
body[data-nv2] .v2-ft-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:36px; padding-top:40px; padding-bottom:30px; }
body[data-nv2] .v2-ft-logo img { height:44px; width:auto; }
body[data-nv2] .v2-ft-brand p { margin:12px 0 0; max-width:24em; color:var(--v2-sub); }
body[data-nv2] .v2-ft-col h4 { margin:0 0 10px; font-size:14px; font-weight:700; color:var(--v2-ink); }
body[data-nv2] .v2-ft-col ul { list-style:none; margin:0; padding:0; }
body[data-nv2] .v2-ft-col li { padding:3px 0; }
body[data-nv2] .v2-ft-col a { color:var(--v2-sub); text-decoration:none; }
body[data-nv2] .v2-ft-col a:hover { color:var(--v2-ink); }
body[data-nv2] .v2-ft-cs li { color:var(--v2-ink); font-weight:600; }
body[data-nv2] .v2-ft-cs li span { display:inline-block; min-width:64px; color:var(--v2-sub); font-weight:400; }
body[data-nv2] .v2-ft-bottom { border-top:1px solid var(--v2-line); padding:18px 0 26px; font-size:13px; color:#8a91a0; }
body[data-nv2] .v2-ft-bottom p { margin:0; }
body[data-nv2] .v2-ft-links a { color:var(--v2-sub); text-decoration:none; margin-right:16px; }
body[data-nv2] .v2-ft-links a b { color:var(--v2-ink); }
body[data-nv2] .v2-ft-legal { margin-top:8px !important; }
body[data-nv2] .v2-ft-legal span { display:inline-block; margin-right:14px; white-space:nowrap; }
body[data-nv2] .v2-ft-copy { margin-top:6px !important; }
@media (max-width:860px) {
  body[data-nv2] .v2-ft-grid { grid-template-columns:1fr 1fr; gap:24px; padding-top:30px; }
  body[data-nv2] .v2-ft-brand { grid-column:1 / -1; }
  body[data-nv2] .v2-ft-legal span { white-space:normal; display:block; }
}

/* 로그인·회원가입 화면 위 로고 (data/common/top_logo) */
body[data-nv2] .login_header p, body[data-nv2] .register_header p { max-width:200px !important; }
body[data-nv2] .register_top_logo img { max-width:200px; height:auto; }

/* ---------- 로그인 · 회원가입 · 정보 확인 화면 ---------- */
body[data-nv2] .login_header p { margin-top:40px !important; }
body[data-nv2] .login-container .login-form { border:1px solid var(--v2-line); border-radius:14px; padding:36px 40px; }
body[data-nv2] .v2-lg-title { margin:0; font-size:24px; font-weight:800; letter-spacing:-.02em; color:var(--v2-ink); }
body[data-nv2] .v2-lg-sub { margin:6px 0 22px; font-size:14.5px; color:var(--v2-sub); word-break:keep-all; }
body[data-nv2] #login_fs input[type="text"], body[data-nv2] #login_fs input[type="password"] { height:48px; border:1px solid #c9ced8; border-radius:8px; font-size:16px; padding:0 14px; }
body[data-nv2] #login_fs input:focus { border-color:var(--v2-navy); outline:none; box-shadow:0 0 0 3px rgba(31,59,143,.12); }
body[data-nv2] #login_fs .btn_submit { height:50px; background:var(--v2-navy) !important; border-radius:8px; font-size:16px; font-weight:700; }
body[data-nv2] #login_fs .btn_submit:hover { background:var(--v2-navy-hi) !important; }
body[data-nv2] #login_info { font-size:14px; }
body[data-nv2] #login_info .login_if_lpl a { color:var(--v2-sub); }
body[data-nv2] #login_info .login_if_lpl a.join { color:var(--v2-navy); font-weight:700; }
body[data-nv2] .v2-lg-join { margin-top:22px; padding:14px 16px; border-radius:10px; background:var(--v2-mist); font-size:14px; color:var(--v2-sub); line-height:1.6; word-break:keep-all; }
body[data-nv2] .v2-lg-join b { color:var(--v2-ink); }
body[data-nv2] .v2-lg-join a { display:inline-block; margin-left:4px; color:var(--v2-navy); font-weight:700; }
body[data-nv2] .register_top_logo span, body[data-nv2] .register_top_logo br { display:none; }
body[data-nv2] .register_top_logo { margin:30px 0 18px; }
body[data-nv2] .register_box { border:1px solid var(--v2-line) !important; border-radius:14px; padding:40px !important; }
body[data-nv2] .tit_agree span { font-size:24px; font-weight:800; letter-spacing:-.02em; color:var(--v2-ink); }
body[data-nv2] .agree_wrap .agree_all p, body[data-nv2] .agree_all_info { color:var(--v2-sub); font-size:14px; }
body[data-nv2] .register_btn .btn_submit { height:52px; border-radius:8px; font-size:17px; }
body[data-nv2] .register_btn .onsubmit { background:var(--v2-navy) !important; color:#fff !important; }
body[data-nv2] .register_form .btn_submit, body[data-nv2] #fregisterform .btn_submit, body[data-nv2] .btn_confirm .btn_submit { background:var(--v2-navy); border-color:var(--v2-navy); color:#fff; border-radius:8px; }
@media (max-width:768px) {
  body[data-nv2] .login-container .login-form { padding:26px 22px; }
  body[data-nv2] .register_box { padding:24px 18px !important; }
}
body[data-nv2] .tit_agree { margin-bottom:22px !important; }
body[data-nv2] .agree_wrap label { font-size:16px !important; font-weight:600 !important; color:var(--v2-ink); }
body[data-nv2] .agree_wrap .agree_all label { font-size:18px !important; font-weight:700 !important; }
body[data-nv2] .agree_item { padding:6px 0; }

/* ---------- 회원가입 입력 화면 (register_form) ---------- */
body[data-nv2] .reg_form { margin-bottom:20px !important; }
body[data-nv2] .reg_form .tit_reg { display:block; margin-bottom:7px; font-size:15px; font-weight:700; color:var(--v2-ink); }
body[data-nv2] .reg_form .reg_input input[type="text"], body[data-nv2] .reg_form .reg_input input[type="password"] { height:48px; border:1px solid #c9ced8 !important; border-radius:8px !important; padding:0 14px !important; font-size:16px; }
body[data-nv2] .reg_form .reg_input input:focus { border-color:var(--v2-navy) !important; box-shadow:0 0 0 3px rgba(31,59,143,.12); outline:none; }
body[data-nv2] .reg_form .reg_input input::placeholder { color:#9aa1ad; }
body[data-nv2] .reg_form .reg_input .chk_msg { position:static !important; margin:6px 2px 0; font-size:13.5px; color:var(--v2-sub) !important; line-height:1.5; word-break:keep-all; }
body[data-nv2] .reg_form .reg_input .chk_msg.is-ok { color:#1a8f4a !important; }
body[data-nv2] .reg_form .reg_input .chk_msg.is-err { color:#d7262b !important; }
body[data-nv2] .reg_form .reg_input .chk_msg:empty { display:none; }
body[data-nv2] .reg_form .reg_input .chk_nick_byte { top:14px !important; right:14px !important; color:#9aa1ad !important; font-size:13px !important; }
/* 자동 중복검사를 하므로 버튼은 숨김 (자바스크립트가 꺼진 경우를 위해 .v2-auto 가 붙었을 때만) */
body[data-nv2] #fregisterform.v2-auto .val_chk_btn { display:none !important; }
body[data-nv2] #fregisterform .register_btn { margin-top:28px; }
/* 회원가입 카드 폭·크기 줄이기 (로그인 카드와 비슷하게) */
body[data-nv2] .register_container { max-width:480px !important; }
body[data-nv2] .register_box { padding:30px 32px !important; }
body[data-nv2] .tit_agree span { font-size:21px !important; }
body[data-nv2] .reg_form { margin-bottom:16px !important; }
body[data-nv2] .reg_form .tit_reg { font-size:14px !important; margin-bottom:6px; }
body[data-nv2] .reg_form .reg_input input[type="text"], body[data-nv2] .reg_form .reg_input input[type="password"] { height:44px !important; font-size:15px !important; padding:0 12px !important; }
body[data-nv2] .reg_form .reg_input .chk_msg { font-size:13px !important; margin-top:5px !important; }
body[data-nv2] .reg_form .reg_input .chk_nick_byte { top:12px !important; }
body[data-nv2] .register_btn .btn_submit, body[data-nv2] #fregisterform .btn_submit { height:48px !important; font-size:16px !important; }
body[data-nv2] .agree_wrap label { font-size:15px !important; }
body[data-nv2] .agree_wrap .agree_all label { font-size:16px !important; }
body[data-nv2] .agree_all_info { font-size:13px !important; }

/* 구매 감사 혜택 안내 (비회원 이용권 페이지·홈 이용권) */
.v2-gift{display:flex;gap:12px;align-items:flex-start;margin:0 0 22px;padding:14px 16px;border:1px solid #f1c9c7;border-radius:12px;background:#fff6f5;line-height:1.55;word-break:keep-all;text-align:left}
.v2-gift>.fa{flex:0 0 auto;font-size:22px;color:#d7262b;margin-top:2px}
.v2-gift b{color:#16181d;font-size:15.5px}
.v2-gift p{margin:3px 0 0 !important;font-size:13.5px;color:#5f6673}
body[data-nv2] #main.nuri-main .nuri-price .v2-gift{max-width:820px;margin:0 auto 24px}

/* 위 메뉴 펼침(드롭다운) 없앰 — 서브메뉴 줄·사이드바에 같은 항목이 있음 (2026-10-20) */
body[data-nv2] #pc_1dul > .pc_1dli > .pc_2dul { display:none !important; }

/* ---------- 학습 기록 카드 (오답노트·학습기록 / 모의고사 / 무료 모의고사) ---------- */
body[data-nv2] #grade .grade_list { border:1px solid var(--v2-line); border-radius:12px; padding:20px 24px; margin-bottom:12px; background:#fff; align-items:center; }
body[data-nv2] #grade .grade_list .info_wrap { padding-right:24px; }
body[data-nv2] #grade .grade_list .info_wrap .cate { align-items:center; gap:10px; padding-right:70px; }
body[data-nv2] #grade .grade_list .info_wrap .cate > .turn > span { padding:3px 10px; border-radius:6px; font-size:15px; font-weight:700; background:#eef1f8 !important; color:var(--v2-navy) !important; }
body[data-nv2] #grade .grade_list .info_wrap .cate span.cate_f { background:#e9f6f4 !important; color:#0f766e !important; }
body[data-nv2] #grade .grade_list .info_wrap .cate > .turn > span > b { padding-left:4px; font-weight:500; opacity:.8; }
body[data-nv2] #grade .grade_list .info_wrap .cate em { padding-left:0; font-size:13px; color:#8a91a0; }
body[data-nv2] #grade .grade_list .progress_wrap { margin-top:16px; padding-left:0; }
body[data-nv2] .progress_bar { align-items:center; margin-bottom:10px; }
body[data-nv2] .progress_bar > span { min-width:54px; text-align:left; background:none !important; color:var(--v2-sub) !important; font-size:14px; border-radius:0; }
body[data-nv2] .progress_bar .bar_bg { height:8px; border-radius:99px; background:#edf0f4; margin-right:58px; overflow:visible; }
body[data-nv2] .progress_bar .bar_pg { height:8px; border-radius:99px; line-height:8px; }
body[data-nv2] .progress_bar .bar_pg span { position:absolute; left:100%; top:50%; transform:translateY(-50%); margin-left:10px; padding:0; font-size:14px; font-weight:700; color:var(--v2-ink); white-space:nowrap; }
body[data-nv2] #bar_progress .bar_pg { background:var(--v2-navy); }
body[data-nv2] #grade_progress .bar_pg { background:#f2a900; }
body[data-nv2] #grade .grade_list .btn_wrap { margin-top:0; flex:0 0 120px; }
body[data-nv2] #grade .grade_list .btn_wrap .bton { border-radius:8px; padding:9px 0; width:100%; font-weight:700; }
body[data-nv2] #grade .grade_list .btn_wrap .bton.bton_view, body[data-nv2] #grade .grade_list .btn_wrap .bton.bton_study { border:1px solid var(--v2-navy) !important; color:var(--v2-navy) !important; }
body[data-nv2] #grade .grade_list .btn_wrap .bton.bton_view:hover, body[data-nv2] #grade .grade_list .btn_wrap .bton.bton_study:hover { background:var(--v2-navy) !important; color:#fff !important; }
body[data-nv2] #grade .grade_list .btn_wrap .bton.bton_wrong { border-color:#c9ced8 !important; color:#3a4150 !important; }
/* 모서리 띠 → 작은 상태 글씨 */
body[data-nv2] #grade .grade_list .label_cap, body[data-nv2] #grade .grade_list.o .label_cap, body[data-nv2] #grade .grade_list.f .label_cap, body[data-nv2] #grade .grade_list.N .label_cap { transform:none !important; top:20px !important; right:24px !important; width:auto !important; padding:3px 10px !important; border-radius:99px; font-size:12.5px !important; font-weight:700; letter-spacing:0 !important; background:#f1f2f5 !important; color:var(--v2-sub) !important; }
body[data-nv2] #grade .grade_list .label_cap.is-done { background:#e7f6ec !important; color:#1a8f4a !important; }
@media (max-width:992px) {
  body[data-nv2] #grade .grade_list { padding:16px 16px; }
  body[data-nv2] #grade .grade_list .label_cap { top:16px !important; right:16px !important; }
  body[data-nv2] #grade .grade_list .btn_wrap { flex:0 0 100%; margin-top:12px; }
}

/* 헤더 [내 이용권] 버튼: 마우스 올렸을 때 글씨가 묻히지 않게 (남색 테두리 흰 버튼 → 연한 바탕) */
body[data-nv2] #pc_hd_icon > ul > li.cp > a.hd_cp_btn--my:hover { background:#eef1f8 !important; color:var(--v2-navy) !important; }
body[data-nv2] #pc_hd_icon > ul > li.cp > a.hd_free_btn:hover { background:#eef1f8 !important; color:var(--v2-navy) !important; }

/* ---------- 게시판 글 보기 (후기·Q&A·공지: hanta-free / hanta-free-notice) ---------- */
body[data-nv2] #bo_v > header { padding:0 0 4px !important; border-bottom:1px solid var(--v2-line) !important; }
body[data-nv2] #bo_v_title { padding-top:6px !important; }
body[data-nv2] #bo_v_title h2 { margin:6px 0 0 !important; font-size:26px !important; font-weight:800 !important; line-height:1.4 !important; letter-spacing:-.02em; color:var(--v2-ink) !important; word-break:keep-all; }
body[data-nv2] #bo_v_title br { display:none; }
body[data-nv2] .bo_v_cate { background:#eef1f8 !important; color:var(--v2-navy) !important; border-radius:6px !important; padding:2px 8px !important; font-size:13px; }
body[data-nv2] #bo_v_info { display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; padding:12px 0 14px !important; font-size:14px !important; color:#8a91a0 !important; line-height:1.5 !important; }
body[data-nv2] #bo_v_info strong { margin:0 !important; }
body[data-nv2] #bo_v_info i { color:#b3b9c4; margin-right:3px; }
body[data-nv2] #bo_v_info > a[title="글쓰기"] { margin-left:auto; padding:5px 12px; border:1px solid var(--v2-navy); border-radius:8px; color:var(--v2-navy) !important; font-weight:700; text-decoration:none; }
body[data-nv2] #bo_v_info > a[title="글쓰기"] i { color:var(--v2-navy); }
body[data-nv2] #bo_v_atc { padding:24px 0 6px !important; }
body[data-nv2] #bo_v_con { font-size:16.5px; line-height:1.85 !important; color:#2b2f37; word-break:keep-all !important; min-height:60px !important; }
body[data-nv2] .v2-rv-cta { display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; margin:8px 0 18px; padding:16px 18px; border-radius:12px; background:var(--v2-mist); border:1px solid var(--v2-line); font-size:14.5px; color:var(--v2-sub); word-break:keep-all; }
body[data-nv2] .v2-rv-cta b { color:var(--v2-ink); font-size:15.5px; }
body[data-nv2] .v2-rv-cta a { margin-left:auto; padding:9px 16px; border-radius:8px; background:var(--v2-navy); color:#fff !important; font-weight:700; text-decoration:none !important; white-space:nowrap; }
body[data-nv2] .btn_bo_user_btm_v { margin:6px 0 14px; }
body[data-nv2] .btn_bo_user_btm_v ul { margin:0; padding:0; list-style:none; }
body[data-nv2] .btn_bo_user_btm_v li { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
body[data-nv2] .btn_bo_user_btm_v .hantabtn, body[data-nv2] .btn_top .hantabtn { height:auto; padding:7px 14px !important; border:1px solid #c9ced8 !important; border-radius:8px !important; background:#fff !important; color:#3a4150 !important; font-size:14px !important; line-height:1.3; }
body[data-nv2] .btn_bo_user_btm_v .hantabtn:hover { border-color:var(--v2-navy) !important; color:var(--v2-navy) !important; }
body[data-nv2] .btn_bo_user_btm_v .btn_list .hantabtn { background:var(--v2-navy) !important; border-color:var(--v2-navy) !important; color:#fff !important; }
body[data-nv2] .bo_v_nb { margin-top:6px !important; border-top:1px solid var(--v2-line) !important; border-bottom:1px solid var(--v2-line) !important; }
body[data-nv2] .bo_v_nb li a { display:flex !important; gap:12px; padding:13px 6px !important; color:#3a4150 !important; font-size:15px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
body[data-nv2] .bo_v_nb li a:hover { color:var(--v2-navy) !important; background:var(--v2-mist); }
body[data-nv2] .bo_v_nb li a i { display:none; }
body[data-nv2] .bo_v_nb li.bo_v_prev a:before { content:"이전글"; flex:0 0 auto; color:#8a91a0; font-size:13px; padding-top:1px; }
body[data-nv2] .bo_v_nb li.bo_v_next a:before { content:"다음글"; flex:0 0 auto; color:#8a91a0; font-size:13px; padding-top:1px; }
body[data-nv2] .bo_v_nb li.bo_v_prev { border-bottom:1px solid #f0f1f4 !important; }
@media (max-width:768px) {
  body[data-nv2] #bo_v_title h2 { font-size:21px !important; }
  body[data-nv2] #bo_v_con { font-size:16px; }
  body[data-nv2] .v2-rv-cta a { margin-left:0; }
}
/* 댓글 영역 */
body[data-nv2] #bo_vc { background:none !important; padding:0 !important; margin-top:14px; }
body[data-nv2] #bo_vc .comment_inner[style*="FAEFDB"] { background:var(--v2-mist) !important; border-radius:10px; color:#8a91a0; }
body[data-nv2] #bo_vc article .comment_inner { border:1px solid var(--v2-line) !important; border-radius:10px; padding:12px 14px !important; }
body[data-nv2] #bo_vc h2 span { color:var(--v2-navy) !important; }
body[data-nv2] .btn_bo_user_btm_v a.btn_list button { background:var(--v2-navy) !important; border-color:var(--v2-navy) !important; color:#fff !important; }

/* ---------- 게시판 목록 위쪽 ---------- */
/* 게시판 이름은 위 제목에 나오므로 목록 제목은 '전체 N건'만 */
body[data-nv2] .bl-wrap .bl-title, body[data-nv2] #bo_list.fq .fq-title { font-size:0 !important; border-bottom:0 !important; padding:0 !important; margin:0 0 6px !important; }
body[data-nv2] .bl-wrap .bl-title small, body[data-nv2] #bo_list.fq .fq-title small { margin:0 !important; font-size:14px !important; color:#8a91a0 !important; }
/* 게시판 상단 안내 상자 (관리자 '상단 내용', 인라인 스타일을 덮음) */
body[data-nv2] .board-notice-box { margin:0 0 20px !important; padding:14px 18px !important; background:var(--v2-mist) !important; border:1px solid var(--v2-line) !important; border-left:1px solid var(--v2-line) !important; border-radius:12px; font-size:14.5px !important; color:var(--v2-sub) !important; }
body[data-nv2] .board-notice-box b, body[data-nv2] .board-notice-box strong { color:var(--v2-ink); }
body[data-nv2] .board-notice-box [style*="2b6cff"] { color:var(--v2-navy) !important; }
body[data-nv2] .board-notice-box div[style] { background:#fff !important; border-radius:8px; }
/* 밝은 파랑 → 남색 */
body[data-nv2] .bl-wrap .bl-write { background:var(--v2-navy) !important; }
body[data-nv2] .bl-wrap .bo_subject:hover { color:var(--v2-navy) !important; }
body[data-nv2] .bl-wrap .bo_cmt { background:#eef1f8 !important; color:var(--v2-navy) !important; }
body[data-nv2] .pg_wrap .pg_current { background:var(--v2-navy) !important; border-color:var(--v2-navy) !important; color:#fff !important; }
body[data-nv2] #bo_list.fq #bo_cate #bo_cate_on { background:var(--v2-navy) !important; border-color:var(--v2-navy) !important; }
body[data-nv2] #bo_list.fq #bo_cate a:hover { border-color:var(--v2-navy) !important; color:var(--v2-navy) !important; }
body[data-nv2] #bo_list.fq ul.fa_list_board span.qt { background:var(--v2-navy) !important; }
body[data-nv2] #bo_list.fq ul.fa_list_board .cate_name { background:#eef1f8 !important; color:var(--v2-navy) !important; }
body[data-nv2] #bo_list.fq ul.fa_list_board p.q.on { background:var(--v2-mist) !important; color:var(--v2-navy) !important; }
body[data-nv2] #bo_list.fq ul.fa_list_board p.q.on:after { color:var(--v2-navy) !important; }

/* ---------- 오른쪽 사이드바 ---------- */
/* 로그인 상자 (로그인 전) */
body[data-nv2] .aside_right .ol { border:1px solid var(--v2-line) !important; border-radius:12px !important; padding:16px !important; background:#fff; margin-bottom:0 !important; }
body[data-nv2] .switch input:checked + .slider { background-color:var(--v2-navy) !important; }
body[data-nv2] .aside_right .outlogin .input-group-prepend { display:none; }
body[data-nv2] .aside_right .outlogin .form-control { height:40px; border:1px solid #c9ced8; border-radius:8px !important; font-size:14.5px; padding:0 12px; }
body[data-nv2] .aside_right .outlogin .form-control:focus { border-color:var(--v2-navy); box-shadow:0 0 0 3px rgba(31,59,143,.12); }
body[data-nv2] .aside_right .outlogin .outlogin_btn { height:42px; border-radius:8px; font-size:15px; font-weight:700; }
body[data-nv2] .aside_right .outlogin_join { margin-top:10px; font-size:13px !important; align-items:center; }
body[data-nv2] .aside_right .outlogin_join a { font-size:13px !important; color:#8a91a0 !important; margin-left:8px; }
body[data-nv2] .aside_right .outlogin_join a.join { color:var(--v2-navy) !important; font-weight:700; }
/* 로그인 후 상자 */
body[data-nv2] #ol_after { border:1px solid var(--v2-line) !important; border-radius:12px !important; overflow:hidden; }
body[data-nv2] #ol_after .ticket span { background:#eef1f8 !important; color:var(--v2-navy) !important; border-radius:6px; }
body[data-nv2] #ol_after .ticket b { color:var(--v2-navy) !important; font-weight:700 !important; }
body[data-nv2] #ol_after .ticket a { border-color:var(--v2-navy) !important; color:var(--v2-navy) !important; border-radius:8px; }
body[data-nv2] #ol_after .ol_btn_wrap { border-top-color:var(--v2-line) !important; }
body[data-nv2] #ol_after .logout { background:var(--v2-mist) !important; }
/* 메뉴 상자 */
body[data-nv2] .aside_right .side_menu { margin-top:12px; border:1px solid var(--v2-line) !important; border-radius:12px; overflow:hidden; font-family:inherit !important; }
body[data-nv2] .aside_right .side_menu .side_menu_title { text-align:left !important; padding:12px 16px !important; font-size:13px !important; font-weight:700 !important; color:#8a91a0 !important; background:#fff !important; border-bottom:1px solid var(--v2-line) !important; }
body[data-nv2] .aside_right .side_menu .side_sub_menu > li > a { padding:11px 16px !important; font-size:15px; color:#2b2f37; border-bottom:1px solid #f0f1f4 !important; border-left:3px solid transparent; }
body[data-nv2] .aside_right .side_menu .side_sub_menu > li:last-child > a { border-bottom:0 !important; }
body[data-nv2] .aside_right .side_menu .side_sub_menu > li > a:hover { background:var(--v2-mist); color:var(--v2-navy) !important; text-decoration:none; }
body[data-nv2] .aside_right .side_menu li.on > a { border-left-color:var(--v2-navy); background:#f3f5fa; color:var(--v2-navy) !important; font-weight:700; }
body[data-nv2] .aside_right .side_menu .side_category > li > a { font-size:14px; color:var(--v2-sub); }
