/* btstory11 다크모드 — 메인 페이지 우선 적용
 * 위치: /var/www/html/css/dark.css
 * 라이트 모드로 돌아가려면 이 CSS를 로드하지 않으면 됨
 */

:root {
    --dm-bg-main:    #181818;
    --dm-bg-card:    #232323;
    --dm-bg-input:   #2a2a2a;
    --dm-bg-hover:   #2e2e2e;
    --dm-text:       #e0e0e0;
    --dm-text-muted: #909090;
    --dm-link:       #4ea3ff;
    --dm-link-hover: #7bbcff;
    --dm-border:     #3a3a3a;
    --dm-shadow:     rgba(0,0,0,0.6);
}

/* ── 전체 배경 / 텍스트 ────────────────────────────────── */
html, body {
    background-color: var(--dm-bg-main) !important;
    color: var(--dm-text) !important;
}
.nt-container, .container, .container-fluid, main, section, article {
    background-color: transparent !important;
    color: inherit !important;
}

/* 큰 본문 wrapper들 */
#wrapper, .wrapper, .nt-wrap, .nt-body, .nt-content, .at-container, #at-container {
    background-color: var(--dm-bg-main) !important;
    color: var(--dm-text) !important;
}

/* ── 텍스트 색상 ───────────────────────────────────────── */
h1, h2, h3, h4, h5, h6, p, span, div, td, th, li, dt, dd, label, strong, em, b, i {
    color: inherit;
}
.text-muted, .text-secondary, small, .small { color: var(--dm-text-muted) !important; }
.text-dark, .text-black, .text-body { color: var(--dm-text) !important; }
.text-white, .text-light { color: var(--dm-text) !important; }

/* ── 링크 ──────────────────────────────────────────────── */
a, a:link, a:visited { color: var(--dm-link) !important; }
a:hover, a:focus     { color: var(--dm-link-hover) !important; }

/* ── 카드 / 박스 / 패널 ───────────────────────────────── */
.card, .box, .panel,
.major-card-wrap, .major-card-top-title, .major-card-list-item,
.latest, .latest_top_wr, .nt-card, .at-card,
[class*="bg-light"], [class*="bg-white"] {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 2px 12px var(--dm-shadow) !important;
}

/* ── 헤더 / 푸터 / 네비 ───────────────────────────────── */
header, footer, nav, .navbar, .footer, .header, #footer, #header,
.nt-header, .nt-footer, .at-header, .at-footer, .top, .bottom {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* ── btstory11 전용: 상단 톱바 (즐겨찾기 / 새글 / 날짜 / 우측 정보) ── */
#nt_lnb, #nt_lnb_box, #nt_lnb_left, #nt_lnb_right,
#header, #header_box, #hd, #hd_wrapper,
#header_pc, #header_mo {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* ── 헤더-메뉴 사이 흰 줄 원인: sticky wrapper / 컨테이너 ── */
#nt_sticky_wrap, #nt_sticky, .sticky, .sticky-wrap, .sticky-top, .nt-sticky,
#nt_wrap, #nt_body, #nt_main, .nt-wrap, .nt-main {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
}

/* 검색 폼 컨트롤 — .form-control 우선순위 강제 */
.form-control, .form-control:focus {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.form-control::placeholder { color: var(--dm-text-muted) !important; }

/* 검색박스 둥근 wrapper (인라인 흰색 배경 가능) — 다크 강제 */
.input-group, .input-group-append, .input-group-prepend {
    background-color: var(--dm-bg-card) !important;
}
#nt_lnb a, #nt_lnb li, #nt_lnb span, #nt_lnb b,
#header a, #header li, #header span, #header button,
#hd a, #hd li, #hd span {
    color: var(--dm-text) !important;
}
#nt_lnb a:hover, #header a:hover { color: var(--dm-link-hover) !important; }

/* ── btstory11 전용: 메인 메뉴바 (보증 업체 / 먹튀 정보 / ...) ── */
.me-list, .me-ul, .me-li, .me-a, .nav-slide, .nav-slide-wrap,
.mobile-nav, .mobile-nav-link, .nav-bar, .gnb-wrap {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.me-a, .mobile-nav-link, .nav-slide a {
    color: var(--dm-text) !important;
}
.me-a:hover, .mobile-nav-link:hover, .nav-slide a:hover {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-link-hover) !important;
}
.sub-slide, .sub-1div, .sub-2div {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
}

/* ── 부트스트랩 text-primary / text-info 흰색 강제 ── */
.text-primary, .text-info, .text-success, [class*="text-blue"] { color: var(--dm-text) !important; }

/* ── 메뉴바 파란 배경 (.bg-primary) 다크로 — 사이트 전반 단일 톤 ── */
.bg-primary, .bg-info, .bg-success {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
}
/* 메뉴 항목 호버 시 살짝 밝게 */
.me-li a.bg-primary:hover, .me-li a:hover {
    background-color: var(--dm-bg-hover) !important;
}

/* ── 아이콘 (Font Awesome / 햄버거 / 홈) 흰색 ── */
.fa, .fas, .far, .fab, .fa-fw, [class*="fa-"],
.bi, [class*="bi-"], .icon, [class*="icon-"] {
    color: var(--dm-text) !important;
}
/* 사용자가 의도해서 .text-warning 등 강조색 쓴 건 보존 */
.text-warning, .text-danger { color: inherit !important; }

/* ── 사이드바 / 우측 사용자 정보 카드 ── */
aside, .sidebar, #sidebar, #side, .side-wrap,
.user-info, .member-info, .my-info, .mb-info,
[class*="user-card"], [class*="member-card"], [class*="profile"] {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
/* 사이드바 안의 글씨는 흰색 우선 (가시성), hover 시만 강조색 */
aside a, .sidebar a, #sidebar a, .side-wrap a,
aside li, aside span, aside h1, aside h2, aside h3, aside h4, aside h5, aside h6,
aside .title, aside [class*="title"] {
    color: var(--dm-text) !important;
}
aside a:hover, .sidebar a:hover, #sidebar a:hover, .side-wrap a:hover {
    color: var(--dm-link-hover) !important;
}

/* 검색 */
.search-wrap, .search-form, [class*="search"] input, [class*="search"] button {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* 드롭다운 */
.dropdown-menu {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 4px 16px var(--dm-shadow) !important;
}
.dropdown-item { color: var(--dm-text) !important; }
.dropdown-item:hover, .dropdown-item:focus {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text) !important;
}

/* ── 폼 (입력창) ───────────────────────────────────────── */
input, textarea, select, .form-control {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
input:focus, textarea:focus, select:focus, .form-control:focus {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-link) !important;
    box-shadow: 0 0 0 0.15rem rgba(78, 163, 255, 0.25) !important;
}
::placeholder { color: var(--dm-text-muted) !important; opacity: 1; }

/* ── 보더 ──────────────────────────────────────────────── */
.border, .border-top, .border-bottom, .border-left, .border-right,
.border-secondary, [class*="border-"] {
    border-color: var(--dm-border) !important;
}
hr { border-color: var(--dm-border) !important; }

/* ── 테이블 ────────────────────────────────────────────── */
table, .table { color: var(--dm-text) !important; background-color: transparent !important; }
.table-bordered, .table-bordered td, .table-bordered th,
table td, table th { border-color: var(--dm-border) !important; }
.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255,255,255,0.03) !important; }
.table-hover tbody tr:hover               { background-color: var(--dm-bg-hover) !important; }
thead, .thead-light, .thead-dark {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
}

/* ── 모달 ──────────────────────────────────────────────── */
.modal-content {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.modal-header, .modal-footer { border-color: var(--dm-border) !important; }
.modal-title                 { color: var(--dm-text) !important; }
.close                       { color: var(--dm-text) !important; opacity: 0.8; }

/* ── 알림 / 배지 ───────────────────────────────────────── */
.alert-light, .alert-secondary {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.badge-light, .badge-secondary {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
}

/* ── 버튼 (보조 버튼만 다크 톤 / primary는 그대로) ─────── */
.btn-light, .btn-secondary, .btn-outline-secondary, .btn-default {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.btn-light:hover, .btn-secondary:hover {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text) !important;
}

/* ── 그누보드 게시판 클래스 ───────────────────────────── */
.bo_v, .bo_w, .bo_l, .bo_l ul, .bo_l li,
.tbl_head01, .tbl_head01 caption, .tbl_head01 thead th, .tbl_head01 tbody tr,
.bo_v_con, .bo_v_info, .bo_v_top, .bo_v_act,
.list_01, .list_02, .latest_basic {
    background-color: transparent !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* ── 스크롤바 ──────────────────────────────────────────── */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--dm-bg-main); }
::-webkit-scrollbar-thumb { background: #555; border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: #6a6a6a; }

/* ── 이미지 / 배너는 그대로 (다크 모드라도 이미지 색은 보존) ── */
img, video, picture, iframe { background-color: transparent !important; }

/* ── 라이트 배경의 인라인 스타일 카드 강제 다크 ── */
[style*="background:#fff"], [style*="background: #fff"],
[style*="background:#FFFFFF"], [style*="background: #FFFFFF"],
[style*="background-color:#fff"], [style*="background-color: #fff"],
[style*="background:#f8f8f8"], [style*="background: #f8f8f8"],
[style*="background:#f1f3f5"], [style*="background: #f1f3f5"],
[style*="background:#fafafa"], [style*="background: #fafafa"] {
    background-color: var(--dm-bg-card) !important;
}
/* 인라인 흰색 / .text-white 는 진짜 흰색 유지 (텔레그램 버튼 등 어두운 배경 위 흰글씨) */
[style*="color:#fff"], [style*="color: #fff"],
[style*="color:#FFF"], [style*="color: #FFF"],
[style*="color:white"], [style*="color: white"],
.text-white, .text-light, [class*="text-white"] {
    color: #ffffff !important;
}
/* a 태그 specificity 우위 — !important 인라인 color #fff 우선 강제 */
a[style*="color:#fff"], a[style*="color: #fff"],
a[style*="color:white"], a[style*="color: white"] {
    color: #ffffff !important;
}
/* 그 안의 자식 요소도 흰색 (svg, span 등) */
a[style*="color:#fff"] *, a[style*="color: #fff"] *,
a[style*="color:white"] *, a[style*="color: white"] * {
    color: #ffffff !important;
}
/* svg fill="white" 명시적 보존 */
svg[fill="white"], svg[fill="#fff"], svg[fill="#ffffff"] { fill: #ffffff !important; }
svg[fill="white"] path, svg[fill="#fff"] path, svg[fill="#ffffff"] path { fill: #ffffff !important; }

/* 인라인 라이트 컬러 텍스트 모두 흰색으로 강제 (사이드바 파란/회색 글씨 잡기) */
[style*="color:#000"], [style*="color: #000"],
[style*="color:#111"], [style*="color: #111"],
[style*="color:#222"], [style*="color: #222"],
[style*="color:#333"], [style*="color: #333"],
[style*="color:#444"], [style*="color: #444"],
[style*="color:#555"], [style*="color: #555"],
[style*="color:#666"], [style*="color: #666"],
[style*="color:#777"], [style*="color: #777"],
[style*="color:#888"], [style*="color: #888"],
[style*="color:#999"], [style*="color: #999"],
[style*="color:#007"], [style*="color: #007"],
[style*="color:#0d6"], [style*="color: #0d6"],
[style*="color:#1f"], [style*="color: #1f"],
[style*="color:#4e"], [style*="color: #4e"],
[style*="color:#9e9e9e"], [style*="color: #9e9e9e"],
[style*="color:#cfcfcf"], [style*="color: #cfcfcf"] {
    color: var(--dm-text) !important;
}

/* ── 우측 데스크톱 사이드바 위젯 — 모든 텍스트/링크 흰색 우선 ── */
/* 부트스트랩 그리드 (col-md-3, col-lg-3 등) 사이드바 추정 */
.col-md-3, .col-lg-3, .col-xl-3, [class*="col-md-3"], [class*="col-lg-3"],
.sidebar-content, .sidebar-list, .sidebar-item, .sidebar-icon, .side-text,
.widget, [class*="widget"], .widget-area {
    background-color: transparent !important;
    color: var(--dm-text) !important;
}
.col-md-3 a, .col-lg-3 a, .col-xl-3 a,
.sidebar-content a, .sidebar-list a, .sidebar-item a, .side-text a,
.widget a, [class*="widget"] a {
    color: var(--dm-text) !important;
}
.col-md-3 a:hover, .col-lg-3 a:hover, .col-xl-3 a:hover,
.sidebar-content a:hover, .widget a:hover {
    color: var(--dm-link-hover) !important;
}

/* 위젯 헤더 (.h3.f-lg.en) — 공지사항/자유게시판/후기게시판 제목 */
.h3, h3.h3, [class*="h3"] {
    color: var(--dm-text) !important;
}

/* ── 사이드바의 .btn-primary (내정보/벨/로그아웃 버튼) 다크화 ── */
.btn-primary {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
.btn-primary:hover, .btn-primary:focus {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text) !important;
}

/* ── 메인 페이지 main-guide-box (라이트 회색 박스) 다크화 ── */
.main-guide-box {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
.main-guide-box h1, .main-guide-box h2, .main-guide-box h3,
.main-guide-box h4, .main-guide-box h5, .main-guide-box h6,
.main-guide-box p, .main-guide-box span, .main-guide-box div,
.main-guide-box li, .main-guide-box strong, .main-guide-box em {
    color: var(--dm-text) !important;
}
.main-guide-box a { color: var(--dm-link) !important; }
.main-guide-box a:hover { color: var(--dm-link-hover) !important; }

/* ── 부트스트랩 라이트 배경 클래스 다크화 (메뉴바 위 흰 줄, 흰 컨테이너 등 원인) ── */
.bg-white, .bg-light, .bg-body, .bg-secondary,
[class*="bg-white"], [class*="bg-light"] {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
}

/* ── 모든 요소의 border 색상 강제 다크 (헤더-메뉴 사이 흰 줄 원인) ── */
*, *::before, *::after {
    border-color: var(--dm-border) !important;
}

/* hr, divider, separator 명시적 다크 */
hr, .divider, .separator, [class*="divider"], [class*="separator"] {
    background-color: var(--dm-border) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-border) !important;
}

/* ── 최종: 텔레그램 / 외부 채널 링크 흰색 글씨 강제 (specificity 최상위) ── */
a[href*="t.me"],
a[href*="telegram.me"],
a[href*="open.kakao"],
a[href*="t.me"] *,
a[href*="telegram.me"] *,
a[href*="open.kakao"] *,
a[style*="background:#007BFF"],
a[style*="background:#007bff"],
a[style*="background: #007BFF"],
a[style*="background: #007bff"],
a[style*="background:#007BFF"] *,
a[style*="background:#007bff"] *,
a[style*="background: #007BFF"] *,
a[style*="background: #007bff"] * {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* ── 메인 페이지 SEO 강화형 영역 다크화 (.seo-*) ── */
.seo-section {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 2px 10px var(--dm-shadow) !important;
}
.seo-section-title { color: var(--dm-text) !important; }
.seo-section-subtitle { color: var(--dm-text-muted) !important; }
.seo-section-subtitle a, .seo-section-subtitle a:visited { color: var(--dm-text) !important; }

.seo-text-box h3,
.seo-text-box h4 { color: var(--dm-text) !important; }
.seo-text-box p { color: var(--dm-text-muted) !important; }
.seo-text-box a, .seo-text-box a:visited { color: var(--dm-link) !important; }
.seo-text-box a:hover { color: var(--dm-link-hover) !important; }

.seo-card {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
}
.seo-card h5 { color: var(--dm-text) !important; }
.seo-card p { color: var(--dm-text-muted) !important; }

.seo-faq-item {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
}
.seo-faq-question {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
}
.seo-faq-question:after { color: var(--dm-link) !important; }
.seo-faq-item.active .seo-faq-question {
    background-color: var(--dm-bg-hover) !important;
}
.seo-faq-answer {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text-muted) !important;
}
.seo-faq-left h3 { color: var(--dm-text) !important; }
.seo-faq-left p { color: var(--dm-text-muted) !important; }

.seo-list-box {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
}
.seo-list-box h5 { color: var(--dm-text) !important; }
.seo-list-box li {
    border-color: var(--dm-border) !important;
    color: var(--dm-text-muted) !important;
}

.seo-image-wrap img { border-color: var(--dm-border) !important; }

/* main-guide-box 안에 인라인 흰색 박스 (CONTACT US 카드) 강제 다크화 */
.main-guide-box > div[style*="border-radius"] {
    background-color: var(--dm-bg-card) !important;
}

/* ── 메인 페이지 이벤트존 카드 그리드 (#comm_tabs) 다크화 ── */
#comm_tabs li a {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 2px 8px var(--dm-shadow) !important;
}
#comm_tabs li a:hover {
    border-color: var(--dm-link) !important;
    box-shadow: 0 8px 20px rgba(78,163,255,0.2) !important;
}
#comm_tabs li a .tab-title { color: var(--dm-text) !important; }
#comm_tabs li a .tab-sub   { color: var(--dm-text-muted) !important; }
#comm_tabs li a .tab-btn {
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
    background-color: transparent !important;
}
#comm_tabs li a:hover .tab-btn {
    background-color: var(--dm-link) !important;
    border-color: var(--dm-link) !important;
    color: #fff !important;
}

/* ── 모바일 헤더 / 메뉴바 다크화 (PC 와 동일 톤) ── */
/* #header_mo .bg-primary 인라인 우선순위 덮으려면 같은 specificity 이상 필요 */
#header_mo,
#header_mo .bg-primary,
#header_mo .mobile-header-bar,
.mobile-header-bar {
    background-color: var(--dm-bg-card) !important;
    background-image: none !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
#header_mo a,
#header_mo .mobile-header-logo,
#header_mo .mobile-header-logo a,
.mobile-header-bar a,
.mobile-header-right a {
    color: var(--dm-text) !important;
}
#header_mo .fa, #header_mo i, .mobile-header-bar .fa { color: var(--dm-text) !important; }

/* 모바일 메뉴바 (햄버거 + 보증 업체 / 먹튀 정보 / ...) */
.mobile-nav-wrap, .mobile-nav-all, .mobile-nav-link {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.mobile-nav-link, .mobile-nav-all { color: var(--dm-text) !important; }
.mobile-nav-link:hover, .mobile-nav-link:focus,
.mobile-nav-all:hover,  .mobile-nav-all:focus {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-link-hover) !important;
}
.mobile-nav-wrap .fa, .mobile-nav-all .fa { color: var(--dm-text) !important; }

/* ── 모바일 메뉴 항목 글씨 진짜 흰색 강제 (가시성) ── */
.mobile-nav-link,
.mobile-nav-link:link,
.mobile-nav-link:visited {
    color: #ffffff !important;
    font-weight: 600 !important;
}
.mobile-nav-link:hover,
.mobile-nav-link:focus {
    color: #ffffff !important;
}

/* ── 모바일 사이드바 (햄버거 클릭 시 드로어) 토글 메뉴 다크화 ── */
.sub-1dli, .sub-2dli, .sub-1dul, .sub-2dul,
.sub-slide, .sub-1div, .sub-2div {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
}
/* 1단계 / 2단계 메뉴 항목 (먹튀 사이트 확정 / 자유게시판 / 라이브스코어 등) */
.sub-1da, .sub-2da, .me-sh, .me-sw,
a.sub-1da, a.sub-2da, a.me-sh {
    color: #ffffff !important;
    background-color: transparent !important;
    border-color: var(--dm-border) !important;
    opacity: 1 !important;
}
.sub-1da:hover, .sub-2da:hover, .me-sh:hover, .me-sw:hover {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-link-hover) !important;
}
.sub-1da .fa, .sub-2da .fa, .me-sh .fa { color: #ffffff !important; }

/* 사이드바 헤더 / 아이콘 / 리스트 영역 */
.sidebar-head, .sidebar-icon, .sidebar-list, .sidebar-content, .sidebar-item {
    background-color: var(--dm-bg-card) !important;
    color: #ffffff !important;
    border-color: var(--dm-border) !important;
}
.sidebar-head a, .sidebar-icon a, .sidebar-list a, .sidebar-content a, .sidebar-item a,
.sidebar-list span, .sidebar-content span, .sidebar-item span {
    color: #ffffff !important;
}
/* 닫기 X 버튼 */
.sidebar-close, .sidebar-close * { color: #ffffff !important; }

/* ── 사이드바 토글 영역 흰 배경 잔존 — 자식 요소까지 모두 강제 다크 ── */
#sidebar, .sidebar, [id*="sidebar"], [class*="sidebar"],
.sub-slide, .sub-1div, .sub-2div, .sub-1dul, .sub-2dul,
.sub-1dli, .sub-2dli {
    background-color: var(--dm-bg-card) !important;
}
/* 사이드바 내부의 모든 자식 요소 흰 배경 제거 (부모 다크 배경 노출) */
#sidebar *, .sidebar *, [id*="sidebar"] *, [class*="sidebar"] *,
.sub-slide *, .sub-1div *, .sub-2div *, .sub-1dul *, .sub-2dul * {
    background-color: transparent !important;
}
/* 단, 다크 배경 명시 영역은 보존 */
.sub-1dli > a:hover, .sub-2dli > a:hover,
.sub-slide a:hover, .sub-1div a:hover, .sub-2div a:hover {
    background-color: var(--dm-bg-hover) !important;
}

/* 사이드바 위쪽 큰 헤더 영역 (베팅 스토리 닉네임 + 메뉴/새글/검색/더보기) */
.sidebar-head, .sidebar-icon,
.row.bg-white, [class*="bg-white"].sidebar-icon {
    background-color: var(--dm-bg-card) !important;
}
.sidebar-head *, .sidebar-icon * {
    background-color: transparent !important;
    color: #ffffff !important;
}

/* 모든 흰 배경 잔존 — sidebar 내부 한정 강력 차단 */
[id*="sidebar"] [style*="background:#fff"],
[id*="sidebar"] [style*="background: #fff"],
[id*="sidebar"] [class*="bg-white"],
[id*="sidebar"] [class*="bg-light"] {
    background-color: var(--dm-bg-card) !important;
}

/* ── 게시판 페이지 타이틀 / breadcrumb (#nt_title) 다크화 ── */
#nt_title {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
#nt_title .page-title,
#nt_title .page-title strong,
#nt_title .page-title span,
#nt_title h1, #nt_title h2 {
    color: var(--dm-text) !important;
}

/* breadcrumb */
.breadcrumb {
    background-color: transparent !important;
    color: var(--dm-text) !important;
    border: 0 !important;
}
.breadcrumb-item,
.breadcrumb-item a,
.breadcrumb-item.active,
.breadcrumb-item span {
    color: var(--dm-text) !important;
}
.breadcrumb-item + .breadcrumb-item::before {
    color: var(--dm-text-muted) !important;
}
.breadcrumb-item .fa,
.breadcrumb-item i { color: var(--dm-text) !important; }

/* ── seo_common 라이트 푸른 알림 박스 다크화 (#f0f6ff 등 BS 라이트 톤) ── */
[style*="background:#f0f6ff"], [style*="background: #f0f6ff"],
[style*="background:#F0F6FF"], [style*="background: #F0F6FF"],
[style*="background:#e7f3ff"], [style*="background: #e7f3ff"],
[style*="background:#eaf4ff"], [style*="background: #eaf4ff"],
[style*="background:#f8fbff"], [style*="background: #f8fbff"],
[style*="background:#dbe8f8"], [style*="background: #dbe8f8"] {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
}

/* 인라인 #007bff (소문자/대문자) a 링크 색 강제 — specificity 강화 */
a[style*="color:#007bff"], a[style*="color: #007bff"],
a[style*="color:#007BFF"], a[style*="color: #007BFF"] {
    color: var(--dm-link) !important;
}
a[style*="color:#007bff"]:hover, a[style*="color: #007bff"]:hover,
a[style*="color:#007BFF"]:hover, a[style*="color: #007BFF"]:hover {
    color: var(--dm-link-hover) !important;
}

/* ── 게시판 글쓰기 화면 (BS4 form / write skin) 다크화 ── */
/* input-group prefix/suffix (검색 버튼 외 글쓰기에서도 사용) */
.input-group-text {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* 폼 라벨 / 읽기전용 텍스트 */
.col-form-label, .col-form-label-sm, .col-form-label-lg,
.form-control-plaintext { color: var(--dm-text) !important; }

/* 커스텀 체크박스 / 라디오 / 파일 업로드 */
.custom-control-label, .custom-file-label {
    color: var(--dm-text) !important;
}
.custom-file-label {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
}
.custom-file-label::after {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
}
.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--dm-link) !important;
    border-color: var(--dm-link) !important;
}

/* 보조 버튼 (.btn-basic, .btn-default) */
.btn-basic, .btn-default {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.btn-basic:hover, .btn-default:hover {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text) !important;
}

/* 미리보기 테이블 (write.skin.php 의 인라인 #fafafa 라이트 그레이) */
[style*="background:#fafafa"], [style*="background: #fafafa"],
[style*="background:#FAFAFA"], [style*="background: #FAFAFA"],
[style*="background:#f9f9f9"], [style*="background: #f9f9f9"],
[style*="background:#fcfcfc"], [style*="background: #fcfcfc"] {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
}

/* CKEditor / SmartEditor 컨테이너 (외곽만 — iframe 내부 별개) */
.cke, .cke_chrome, .cke_inner, .cke_top, .cke_bottom, .cke_contents,
.smarteditor2, .se2_wrap, .se2_view, .se2_inputarea {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* 글쓰기 화면 테이블 (제목/내용/첨부 등 행) */
.write_div, .tbl_frm01, .tbl_frm01 caption, .tbl_frm01 th, .tbl_frm01 td,
.bo_w table, .bo_w th, .bo_w td {
    background-color: transparent !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* alert / 안내 박스 */
.alert {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.alert-warning  { border-color: #b3892a !important; }
.alert-danger   { border-color: #c0392b !important; }
.alert-success  { border-color: #2e8b57 !important; }
.alert-info     { border-color: var(--dm-link) !important; }

/* ── 글쓰기 페이지 라벨 / 헤더 가시성 강화 ── */
/* "글쓰기" 큰 페이지 제목 (write/edit 페이지의 헤더) */
form h1, form h2, form h3, form h4,
.write_div h1, .write_div h2, .write_div h3,
.bo_w h1, .bo_w h2, .bo_w h3,
.write_title, .form-title, .page-write-title {
    color: #ffffff !important;
}

/* 행 라벨 ("옵션", "제목", "내용", "첨부파일" 등) */
.write_div .col-form-label,
.write_div label,
form .col-form-label,
form .form-group label,
.bo_w label, .bo_w .col-form-label,
.tbl_frm01 th, .tbl_frm01 .form-label {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* form 안의 .text-muted 는 흰색 강제 (라이트 모드의 회색 라벨 대응) */
form .text-muted, form .form-control-plaintext,
.write_div .text-muted, .write_div .form-control-plaintext,
.bo_w .text-muted, .bo_w .form-control-plaintext {
    color: #ffffff !important;
}

/* 옵션 (HTML/공지 등 체크박스 라벨) */
.custom-control-label, .form-check-label {
    color: #ffffff !important;
}

/* 입력창 placeholder 좀 더 밝게 (가시성) */
.form-control::placeholder, input::placeholder, textarea::placeholder {
    color: #888 !important;
    opacity: 1 !important;
}

/* ── BS4 list-group (글쓰기 페이지의 폼 행 컨테이너) 다크화 ── */
.list-group {
    background-color: transparent !important;
}
.list-group-item {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.list-group-item h1, .list-group-item h2, .list-group-item h3,
.list-group-item h4, .list-group-item h5, .list-group-item h6,
.list-group-item label, .list-group-item .col-form-label,
.list-group-item span, .list-group-item strong,
.list-group-item div {
    color: var(--dm-text) !important;
}
.list-group-item-action:hover, .list-group-item-action:focus {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text) !important;
}

/* 글쓰기 / 게시글 영역 컨테이너 (그누보드 표준 ID) */
#bo_w, #bo_v, #bo_l, #bo_cate, #bo_cate_ul {
    background-color: transparent !important;
    color: var(--dm-text) !important;
}
#bo_w h1, #bo_w h2, #bo_w h3, #bo_w h4, #bo_w h5, #bo_w h6 {
    color: var(--dm-text) !important;
}

/* 첨부 파일 / 캡차 / 자동저장 영역 */
.captcha, .file_wr, .as_msg, .auto-save-msg {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* ── 글쓰기 / 게시판 버튼 색감 차별화 (작성완료 vs 취소) ── */
/* 작성완료 등 메인 액션 (.btn-primary) — 강조 파란색 */
.btn-primary,
.btn-primary:link,
.btn-primary:visited {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

/* 취소 등 보조 액션 (.btn-basic, .btn-default, .btn-secondary, .btn-outline-secondary) — 회색 outline 스타일 */
.btn-basic,
.btn-default,
.btn-secondary,
.btn-outline-secondary {
    background-color: transparent !important;
    border: 1.5px solid #6a6a6a !important;
    color: #ffffff !important;
}
.btn-basic:hover,
.btn-default:hover,
.btn-secondary:hover,
.btn-outline-secondary:hover {
    background-color: #3a3a3a !important;
    border-color: #8a8a8a !important;
    color: #ffffff !important;
}

/* ── 취소 버튼 (a.btn-basic 등) 글씨 진짜 흰색 강제 (a:link 우선순위 덮음) ── */
a.btn-basic, a.btn-basic:link, a.btn-basic:visited,
a.btn-default, a.btn-default:link, a.btn-default:visited,
a.btn-secondary, a.btn-secondary:link, a.btn-secondary:visited,
a.btn-outline-secondary, a.btn-outline-secondary:link, a.btn-outline-secondary:visited {
    color: #ffffff !important;
}
a.btn-basic:hover, a.btn-default:hover,
a.btn-secondary:hover, a.btn-outline-secondary:hover {
    color: #ffffff !important;
}

/* ── 이벤트 게시판 글쓰기: 참여 방식 카드 (.vtype-btn) 다크화 ── */
.vtype-btn {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
.vtype-btn strong { color: var(--dm-text) !important; }
.vtype-btn small, .vtype-btn .text-muted {
    color: var(--dm-text-muted) !important;
}
.vtype-btn:hover {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-link) !important;
}
.vtype-btn.vtype-active {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-link) !important;
}
.vtype-btn.vtype-active strong {
    color: var(--dm-link) !important;
}

/* ── 보증업체(major) / 먹튀확정(12 = Mucktu) 게시판 카드 다크화 ── */
.major-item-box {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
}
.major-thumb-wrap, .major-thumb-link {
    background-color: var(--dm-bg-input) !important;
}
.major-noimg {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text-muted) !important;
    border-color: var(--dm-border) !important;
}
.major-mp4-thumb-wrap { background-color: #000 !important; }
.major-mp4-play-icon  { background-color: rgba(255,255,255,0.15) !important; }

.major-info-box {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
}
.major-info-row,
.major-info-row strong,
.major-info-row span {
    color: var(--dm-text) !important;
}

.major-title-only {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.major-title-link,
.major-title-link:link,
.major-title-link:visited {
    color: var(--dm-text) !important;
}
.major-title-link:hover { color: var(--dm-link-hover) !important; }

.major-btn-wrap { background-color: transparent !important; }
.major-btn {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.major-btn-detail {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.major-btn-detail:hover {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text) !important;
}
.major-btn-go {
    background-color: #2563eb !important;
    color: #ffffff !important;
    border-color: #2563eb !important;
}
.major-btn-go:hover {
    background-color: #1d4ed8 !important;
    color: #ffffff !important;
}

/* ── major 게시판 라벨 좌측 (.major-info-row strong) — 라이트 #f5f5f5 배경 다크화 ── */
.major-info-row strong {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text) !important;
    border-right-color: var(--dm-border) !important;
}

/* ── major 게시판 상세보기/바로가기 글씨만 진짜 흰색 + 볼드 (배경 보존) ── */
.major-btn-detail, .major-btn-detail:link, .major-btn-detail:visited,
.major-btn-go, .major-btn-go:link, .major-btn-go:visited {
    color: #ffffff !important;
    font-weight: 700 !important;
}
.major-btn-detail:hover, .major-btn-go:hover {
    color: #ffffff !important;
}

/* ── 페이지네이션 (.pagination / .page-item / .page-link) 다크화 ── */
.pagination {
    background-color: transparent !important;
}
.page-item .page-link,
.page-link,
.page-link:link, .page-link:visited {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.page-item.active .page-link,
.page-link.active {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}
.page-item.disabled .page-link {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text-muted) !important;
    border-color: var(--dm-border) !important;
    opacity: 0.6 !important;
}
.page-link:hover, .page-link:focus {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.page-link .fa, .page-link i { color: inherit !important; }
.page-item.active .page-link .fa,
.page-item.active .page-link i { color: #ffffff !important; }

/* ── 위젯/그룹 페이지 게시판 제목 (h3.h3 안의 a 태그) 흰색 강제 ── */
h3.h3 a, h3.h3 a:link, h3.h3 a:visited,
.h3 a, .h3 a:link, .h3 a:visited {
    color: #ffffff !important;
    font-weight: 700 !important;
}
h3.h3 a:hover, .h3 a:hover {
    color: var(--dm-link-hover) !important;
}

/* ── 게시판 목록 (.na-table 구조) 다크화 ── */
.na-table { background-color: transparent !important; color: var(--dm-text) !important; }

/* 헤더 영역 (번호/제목/이름/날짜/조회/추천/비추) */
.na-table-head, .na-table-head.d-md-table-row {
    background-color: var(--dm-bg-card) !important;
    color: #ffffff !important;
    border-color: var(--dm-border) !important;
}
/* 헤더 안의 정렬 링크 (날짜/조회/추천/비추) — 흰색 + 볼드 */
.na-table-head a, .na-table-head a:link, .na-table-head a:visited {
    color: #ffffff !important;
    font-weight: 700 !important;
}
.na-table-head a:hover { color: var(--dm-link-hover) !important; }

/* 게시글 제목 (.na-subject) — 흰색 */
.na-subject, .na-subject:link, .na-subject:visited {
    color: #ffffff !important;
}
.na-subject:hover { color: var(--dm-link-hover) !important; }

/* 게시글 행 호버 + 보더 */
.na-table .d-md-table-row {
    border-color: var(--dm-border) !important;
}
.na-table .d-md-table-row:hover {
    background-color: var(--dm-bg-hover) !important;
}
.na-table .border-bottom { border-color: var(--dm-border) !important; }

/* 게시글 행 전체 글씨 (조회/추천 등 숫자) — 본문 흰색 */
.na-table .d-md-table-cell, .na-table .text-muted {
    color: var(--dm-text) !important;
}
/* 단, .orangered (시간/댓글수 강조)는 그대로 보존 */
.orangered { color: orangered !important; }

/* ── 룰렛 페이지 (.rl-*) 다크화 — :root 변수 오버라이드 ── */
/* 룰렛 페이지의 자체 CSS 변수(--bg, --surface 등)를 다크 값으로 강제 교체 */
:root {
    --bg:       #181818 !important;
    --surface:  #232323 !important;
    --surface2: #2a2a2a !important;
    --border:   #3a3a3a !important;
    --text:     #e0e0e0 !important;
    --muted:    #909090 !important;
}

/* 라이트 잔존 배경 / 글씨 — 룰렛 페이지 한정 */
.rl-badge.ok {
    background-color: rgba(34, 197, 94, 0.12) !important;
    color: #22c55e !important;
    border-color: #22c55e !important;
}
.rl-badge.warn {
    background-color: rgba(239, 68, 68, 0.12) !important;
    color: #ef4444 !important;
    border-color: #ef4444 !important;
}

/* 모달 (당첨/꽝) — 라이트 배경 잔존 */
.modal-bottom {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
}
.modal-msg { color: var(--dm-text-muted) !important; }

/* .rl-cond (게시글 조건 안내 — 황금 톤 유지하되 글씨 가독성) */
.rl-cond {
    color: var(--dm-text) !important;
}
.rl-cond strong { color: #f59e0b !important; }

/* ── 룰렛 조건 안내 (.rl-cond) — 라이트 노랑 배경/보더/글씨 다크화 ── */
.rl-cond {
    background-color: rgba(245, 158, 11, 0.08) !important;
    border-color: rgba(245, 158, 11, 0.3) !important;
    border-left-color: #f59e0b !important;
    color: var(--dm-text) !important;
}
.rl-cond strong { color: #f59e0b !important; }

/* ── cashout.php (.co-*) 다크화 ── */
.co-card {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 2px 12px var(--dm-shadow) !important;
}
.co-card:hover {
    border-color: var(--dm-link) !important;
    box-shadow: 0 8px 28px rgba(78,163,255,0.15) !important;
}
.co-card-img-wrap { background-color: var(--dm-bg-input) !important; }
.co-card-footer {
    background-color: var(--dm-bg-input) !important;
    border-top-color: var(--dm-border) !important;
}
.co-btn {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
.co-btn:hover {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}
.co-notice {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
}
.co-notice-item {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
}
.co-notice-title { color: var(--dm-text) !important; }
.co-notice-title svg { color: #4ea3ff !important; }
.co-notice-text  { color: var(--dm-text) !important; }
.co-notice-num   { color: #4ea3ff !important; }

.co-popup-overlay { background-color: rgba(0,0,0,0.7) !important; }
.co-popup-box {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
}
.co-popup-body  { color: var(--dm-text-muted) !important; }
.co-popup-title, .co-popup-header { color: var(--dm-text) !important; }
.co-popup-header { border-bottom-color: var(--dm-border) !important; }
.co-popup-close { color: var(--dm-text-muted) !important; }

.co-input {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
.co-input:focus { border-color: var(--dm-link) !important; }
.co-label { color: var(--dm-text) !important; }
.co-point-info {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
}
.co-point-info span    { color: var(--dm-text) !important; }
.co-point-info strong  { color: #4ea3ff !important; }

.co-submit-btn {
    background-color: #2563eb !important;
    color: #ffffff !important;
}
.co-submit-btn:hover { background-color: #1d4ed8 !important; }
.co-submit-btn:disabled { background-color: #555 !important; }

/* ── gifticon.php (.gi-*) 다크화 ── */
.gi-brand-section {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 2px 12px var(--dm-shadow) !important;
}
.gi-brand-header { color: #ffffff !important; }
.gi-item {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
}
.gi-item:hover {
    border-color: var(--dm-link) !important;
    box-shadow: 0 4px 16px rgba(78,163,255,0.12) !important;
}
.gi-item-footer {
    background-color: var(--dm-bg-card) !important;
    border-top-color: var(--dm-border) !important;
}
.gi-item-price { color: var(--dm-text) !important; }
.gi-item-btn {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
.gi-item-btn:hover {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}
.gi-input {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
.gi-input:focus { border-color: var(--dm-link) !important; }
.gi-label { color: var(--dm-text) !important; }
.gi-point-info {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
}
.gi-point-info span   { color: var(--dm-text) !important; }
.gi-point-info strong { color: #4ea3ff !important; }
.gi-popup-overlay { background-color: rgba(0,0,0,0.7) !important; }
.gi-popup-box {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
}
.gi-popup-close { color: var(--dm-text-muted) !important; }

/* ── pickzone 카테고리 영역 (#bo_cate / .sly-*) 다크화 ── */
#bo_cate, #bo_cate_list, #bo_cate_ul,
.sly-tab, .sly-list, .sly-wrap {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
.sly-list li {
    background-color: transparent !important;
    border-color: var(--dm-border) !important;
}
.sly-list li a, .sly-list li a:link, .sly-list li a:visited {
    color: var(--dm-text) !important;
    background-color: transparent !important;
}
.sly-list li a:hover {
    color: var(--dm-link-hover) !important;
    background-color: var(--dm-bg-hover) !important;
}
/* 활성 카테고리 — 강조 파란색 배경 + 흰 글씨 */
.sly-list li.active a, .sly-list li.active {
    color: #ffffff !important;
    background-color: #2563eb !important;
    border-radius: 6px;
}

/* ── guide 게시판 (BS4-Basic-Webzine) 카드형 제목 흰색 ── */
.card-title, .card-title a, .card-title a:link, .card-title a:visited {
    color: #ffffff !important;
}
.card-title a:hover { color: var(--dm-link-hover) !important; }

/* webzine 카드 자체 다크화 (혹시 적용 안 된 경우) */
.list-item.border-bottom { border-color: var(--dm-border) !important; }

/* ── 모바일 헤더 파란 배경 (#header_mo .bg-primary) — head.php 인라인 #1f6fe5 강제 덮기 ── */
html body #header_mo,
html body #header_mo .bg-primary,
html body #header_mo .mobile-header-bar,
html body .mobile-header-bar {
    background-color: var(--dm-bg-card) !important;
    background: var(--dm-bg-card) !important;
    background-image: none !important;
    color: var(--dm-text) !important;
}
html body #header_mo a,
html body #header_mo .mobile-header-logo,
html body .mobile-header-bar a,
html body .mobile-header-right a,
html body .mobile-header-right a i {
    color: var(--dm-text) !important;
}

/* ── 게시글 본문 안의 어두운 인라인 색상 (보라/검정 등) 가시성 강제 ── */
/* 게시글 본문 컨테이너 안에서만 적용 — 다른 곳 의도된 색은 보존 */
#bo_v_con, #bo_v_con *,
.view-content, .view-content *,
.bo_v_con, .bo_v_con * {
    color: inherit;
}
/* 어두운 색 (#0xx, #1xx, #2xx, #3xx 시작) 인라인 → 흰색 강제 */
#bo_v_con [style*="color:#0"], #bo_v_con [style*="color: #0"],
#bo_v_con [style*="color:#1"], #bo_v_con [style*="color: #1"],
#bo_v_con [style*="color:#2"], #bo_v_con [style*="color: #2"],
#bo_v_con [style*="color:#3"], #bo_v_con [style*="color: #3"],
#bo_v_con [style*="color:#4"], #bo_v_con [style*="color: #4"],
#bo_v_con [style*="color:#5"], #bo_v_con [style*="color: #5"] {
    color: var(--dm-text) !important;
}
/* 게시글 본문 인라인 흰/라이트 배경 다크화 추가 (#f8f4ff 라벤더 등) */
#bo_v_con [style*="background:#f8"], #bo_v_con [style*="background: #f8"],
#bo_v_con [style*="background:#fa"], #bo_v_con [style*="background: #fa"],
#bo_v_con [style*="background:#fb"], #bo_v_con [style*="background: #fb"],
#bo_v_con [style*="background:#fc"], #bo_v_con [style*="background: #fc"],
#bo_v_con [style*="background:#fd"], #bo_v_con [style*="background: #fd"],
#bo_v_con [style*="background:#fe"], #bo_v_con [style*="background: #fe"],
#bo_v_con [style*="background:#ff"], #bo_v_con [style*="background: #ff"],
#bo_v_con [style*="background:#e"], #bo_v_con [style*="background: #e"] {
    background-color: var(--dm-bg-card) !important;
}
/* 라이트 보더 (#e0e0f0 등) 다크화 — 게시글 본문 안 */
#bo_v_con [style*="border:2px solid #e"], #bo_v_con [style*="border: 2px solid #e"],
#bo_v_con [style*="border:1px solid #e"], #bo_v_con [style*="border: 1px solid #e"],
#bo_v_con [style*="border:1px solid #d"], #bo_v_con [style*="border: 1px solid #d"] {
    border-color: var(--dm-border) !important;
}

/* ── 게시글 보기 - 이전글/다음글 제목 (na-table.text-muted 안의 a) 흰색 ── */
ul.na-table.text-muted a,
ul.na-table.text-muted a:link,
ul.na-table.text-muted a:visited,
.na-table.text-muted a,
.na-table.text-muted a:link,
.na-table.text-muted a:visited {
    color: #ffffff !important;
    font-weight: 600 !important;
}
ul.na-table.text-muted a:hover,
.na-table.text-muted a:hover {
    color: var(--dm-link-hover) !important;
}
/* 이전/다음 라벨 + 화살표 아이콘도 약간 밝게 (가시성) */
.na-table.text-muted .fa,
.na-table.text-muted .text-center {
    color: var(--dm-text) !important;
}

/* ── 게시글 본문 .view-content 영역 (Mucktu/Gallery skin 등) ── */
#bo_v, #bo_v_atc, .view-content {
    background-color: transparent !important;
    color: var(--dm-text) !important;
}

/* 본문 안의 어두운 인라인 색상 → 흰색 강제 */
.view-content [style*="color:#0"], .view-content [style*="color: #0"],
.view-content [style*="color:#1"], .view-content [style*="color: #1"],
.view-content [style*="color:#2"], .view-content [style*="color: #2"],
.view-content [style*="color:#3"], .view-content [style*="color: #3"],
.view-content [style*="color:#4"], .view-content [style*="color: #4"],
.view-content [style*="color:#5"], .view-content [style*="color: #5"] {
    color: var(--dm-text) !important;
}

/* 본문 안 라이트 배경 (인라인 #fff/#fa/#fc/#e... 등) → 다크 카드 */
.view-content [style*="background:#f"], .view-content [style*="background: #f"],
.view-content [style*="background:#e"], .view-content [style*="background: #e"],
.view-content [style*="background-color:#f"], .view-content [style*="background-color: #f"],
.view-content [style*="background-color:#e"], .view-content [style*="background-color: #e"] {
    background-color: var(--dm-bg-card) !important;
}

/* 본문 안 라이트 보더 → 다크 보더 */
.view-content [style*="border:1px solid #e"], .view-content [style*="border: 1px solid #e"],
.view-content [style*="border:1px solid #d"], .view-content [style*="border: 1px solid #d"],
.view-content [style*="border:2px solid #e"], .view-content [style*="border: 2px solid #e"],
.view-content [style*="border:1px solid #f"], .view-content [style*="border: 1px solid #f"] {
    border-color: var(--dm-border) !important;
}

/* 본문 안 일반 table — 다크 톤 */
.view-content table, .view-content td, .view-content th,
#bo_v_con table, #bo_v_con td, #bo_v_con th {
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* ── 게시글 본문(.view-content) 가시성 강제 — rgb() 색상 + hex 둘 다 처리 ── */
/* 모든 자식 요소 색상을 흰색으로 일단 강제 (가독성 우선) */
.view-content, .view-content * {
    color: var(--dm-text) !important;
}

/* 명시적 흰색 / 강조색 인라인은 보존 (의도된 디자인) */
.view-content [style*="color:#fff"], .view-content [style*="color: #fff"],
.view-content [style*="color:#FFF"], .view-content [style*="color: #FFF"],
.view-content [style*="color:white"], .view-content [style*="color: white"],
.view-content [style*="color:rgb(255"], .view-content [style*="color: rgb(255"] {
    color: #ffffff !important;
}
/* 빨강/주황 강조 (#e..., #f..., orangered) */
.view-content [style*="color:#e8"], .view-content [style*="color: #e8"],
.view-content [style*="color:#ef"], .view-content [style*="color: #ef"],
.view-content [style*="color:#dc"], .view-content [style*="color: #dc"],
.view-content [style*="color:#c0"], .view-content [style*="color: #c0"],
.view-content [style*="color:orangered"], .view-content [style*="color: orangered"] {
    color: #ff5252 !important;
}
/* 파랑 강조 (#007bff 등 BS primary) */
.view-content [style*="color:#007"], .view-content [style*="color: #007"],
.view-content [style*="color:#1f6"], .view-content [style*="color: #1f6"],
.view-content [style*="color:#2196"], .view-content [style*="color: #2196"] {
    color: #4ea3ff !important;
}

/* rgb() 라이트 배경 (rgb(244, ...) rgb(250, ...) 등) → 다크 카드 */
.view-content [style*="background:rgb(244"], .view-content [style*="background: rgb(244"],
.view-content [style*="background:rgb(250"], .view-content [style*="background: rgb(250"],
.view-content [style*="background:rgb(255"], .view-content [style*="background: rgb(255"],
.view-content [style*="background-color:rgb(244"], .view-content [style*="background-color: rgb(244"],
.view-content [style*="background-color:rgb(250"], .view-content [style*="background-color: rgb(250"],
.view-content [style*="background-color:rgb(255"], .view-content [style*="background-color: rgb(255"] {
    background-color: var(--dm-bg-card) !important;
}

/* rgb() 라이트 보더 (rgb(204,204,204) 등) → 다크 보더 */
.view-content [style*="border:1px solid rgb(2"], .view-content [style*="border: 1px solid rgb(2"],
.view-content [style*="border:1px solid rgb(1"], .view-content [style*="border: 1px solid rgb(1"] {
    border-color: var(--dm-border) !important;
}

/* ── 라이브TV 중계 안내 버튼 호버 효과 ── */
.livetv-cta-btn {
    transition: all 0.2s ease !important;
}
.livetv-cta-btn:hover {
    background-color: #0062cc !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(0,123,255,0.6) !important;
}
.livetv-cta-btn:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(0,123,255,0.5) !important;
}

/* ── 라이브TV 배너: 좁은 모바일에선 위/아래 배치로 자동 전환 ── */
@media (max-width: 575px) {
    .livetv-banner-wrap {
        flex-direction: column !important;
        text-align: center !important;
        padding: 32px 24px !important;
    }
    .livetv-banner-wrap > div {
        max-width: 100% !important;
        text-align: center !important;
    }
    .livetv-banner-wrap img {
        max-height: 80px !important;
        margin: 0 auto;
    }
}

/* ── 이벤트 게시판 view (.ev-*) 다크화 ── */
.ev-entry-wrap, .ev-result-wrap { background-color: transparent !important; color: var(--dm-text) !important; }
.ev-already-info {
    background-color: rgba(34,197,94,0.12) !important;
    border-color: rgba(34,197,94,0.3) !important;
    color: var(--dm-text) !important;
}
.ev-closed-badge {
    background-color: rgba(239,68,68,0.12) !important;
    border-color: rgba(239,68,68,0.3) !important;
    color: #ef4444 !important;
}
.ev-entry-info { color: var(--dm-text-muted) !important; }
.ev-result-title, .ev-result-label { color: var(--dm-text) !important; }
.ev-result-label.mine { color: #4ea3ff !important; }
.ev-result-bar-wrap { background-color: var(--dm-bg-input) !important; }
.ev-result-pct { color: var(--dm-text) !important; }
.ev-result-cnt, .ev-total-txt { color: var(--dm-text-muted) !important; }

/* 팝업 (참여 입력 모달) */
.ev-overlay { background: rgba(0,0,0,0.7) !important; }
.ev-popup {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text) !important;
}
.ev-popup-header { border-color: var(--dm-border) !important; }
.ev-popup-title { color: var(--dm-text) !important; }
.ev-popup-close { color: var(--dm-text-muted) !important; }
.ev-popup-close:hover { color: var(--dm-text) !important; }

/* 옵션 버튼 (선택형) */
.ev-opt {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
.ev-opt:hover {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-link) !important;
    color: var(--dm-link) !important;
}
.ev-opt.sel {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    color: #fff !important;
}

/* 닉네임 입력 */
.ev-nick-input, .ev-text-input {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
.ev-nick-input:focus, .ev-text-input:focus { border-color: var(--dm-link) !important; }
.ev-input-hint { color: var(--dm-text-muted) !important; }

/* 액션 버튼 */
.ev-btn-p { background: #2563eb !important; color: #fff !important; }
.ev-btn-p:hover:not(:disabled) { background: #1d4ed8 !important; }
.ev-btn-p:disabled { background: #555 !important; }
.ev-btn-s {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.ev-btn-s:hover { background-color: var(--dm-bg-hover) !important; }

/* 메인 참여 버튼 */
.ev-entry-btn { background: #2563eb !important; color: #fff !important; }
.ev-entry-btn:hover:not(:disabled) { background: #1d4ed8 !important; box-shadow: 0 4px 16px rgba(78,163,255,0.3) !important; }
.ev-entry-btn:disabled { background: #555 !important; }

/* 참여자 현황 (JS로 그려지는 div들) — 인라인 색상 강제 */
.view-content [style*="background:#e8f0fe"], .view-content [style*="background: #e8f0fe"] {
    background-color: var(--dm-bg-input) !important;
}
.view-content [style*="border-bottom:1px solid #f0f0f0"], .view-content [style*="border-bottom: 1px solid #f0f0f0"] {
    border-bottom-color: var(--dm-border) !important;
}
.view-content [style*="border-top:1px solid #e0e0e0"], .view-content [style*="border-top: 1px solid #e0e0e0"] {
    border-top-color: var(--dm-border) !important;
}

/* ── 댓글 영역 (.cmt-* 그누보드 표준) 다크화 ── */
.cmt-wrap { background-color: transparent !important; }
.cmt-box, .cmt-box.bg-light {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
.cmt-content { color: var(--dm-text) !important; }
.cmt-btn, .cmt-btn.bg-light {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
/* 댓글 작성자 정보 띠 (bg-light border-top) */
.cmt-box .clearfix.bg-light, .clearfix.font-weight-normal.bg-light {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
.cmt-box a, .cmt-box .sv_member, .cmt-box strong { color: var(--dm-text) !important; }
.cmt-box .text-muted { color: var(--dm-text-muted) !important; }
.cmt-form, .bo_vc_w {
    background-color: transparent !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
/* 댓글 없음 안내 */
.alert.alert-dark.bg-light {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text-muted) !important;
    border-color: var(--dm-border) !important;
}

/* 참여자 현황 사이트명 뱃지 (인라인 #e8f0fe + #007bff) — 가독성 */
.view-content [style*="color:#007bff"], .view-content [style*="color: #007bff"] {
    color: #4ea3ff !important;
}
.view-content [style*="color:#007BFF"], .view-content [style*="color: #007BFF"] {
    color: #4ea3ff !important;
}
.view-content [style*="color:#333"], .view-content [style*="color: #333"] {
    color: var(--dm-text) !important;
}

/* ── 인라인 라이트 라벤더/파스텔 배경 (참여자현황 사이트명 뱃지 등) 글로벌 처리 ── */
[style*="background:#e8f0fe"], [style*="background: #e8f0fe"],
[style*="background:#e8f4ff"], [style*="background: #e8f4ff"],
[style*="background:#e9ecef"], [style*="background: #e9ecef"],
[style*="background:#dbe8f8"], [style*="background: #dbe8f8"],
[style*="background:#f0f7ff"], [style*="background: #f0f7ff"],
[style*="background-color:#e8f0fe"], [style*="background-color: #e8f0fe"] {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
}
/* 인라인 #007bff 텍스트 글로벌 — 다크에서 더 또렷한 파란 톤 */
[style*="color:#007bff"], [style*="color: #007bff"],
[style*="color:#007BFF"], [style*="color: #007BFF"] {
    color: #6fa8ff !important;
    font-weight: 700 !important;
}
/* 진한 검정/회색 인라인 글로벌 — 흰 글씨로 */
[style*="color:#333"]:not(.text-warning):not(.text-danger),
[style*="color: #333"]:not(.text-warning):not(.text-danger) {
    color: var(--dm-text) !important;
}

/* (Webzine-Guide 스킨 view 본문 다크화는 스킨 자체 view.skin.php 에서 처리 — 다른 게시판 영향 회피) */

/* ── 레벨 아이콘 좌측 Lv.N 배지 (na_xp_icon) ── */
.xp-icon{display:inline-flex;align-items:center;gap:3px;vertical-align:middle;white-space:nowrap}
.xp-icon-lv{
    display:inline-block;
    font-size:10.5px;
    font-weight:800;
    color:#4ea3ff;
    background:rgba(78,163,255,.12);
    border:1px solid rgba(78,163,255,.3);
    padding:0 5px;
    border-radius:3px;
    line-height:1.5;
    letter-spacing:-.02em;
    min-width:38px;
    text-align:center;
    box-sizing:border-box;
}
.xp-icon img{vertical-align:middle;height:22px;width:auto}

/* ── 게시판 리스트 이름 컬럼 폭 확대 (Lv 배지 + 아이콘 + 닉네임 한 줄에 들어가도록) ── */
.na-table .d-md-table-cell.nw-10{width:13rem !important}
/* 이름 셀 안 자체 줄바꿈 차단 */
.na-table .nw-10, .na-table .d-md-table-cell.nw-10{white-space:nowrap}

/* ── 팝업을 헤더 위로 (z-index 충돌 해결) — 2026-05-21 ── */
/* nariya/css/g5.css 의 #hd_pop z-index:998 을 오버라이드.
   head.php 의 헤더 인라인 z-index 1030~1050, sticky 헤더 999 보다 모두 위로 띄움.
   nt_loader 의 100000 보다는 낮게 유지. */
#hd_pop,
.is-pc #hd_pop,
.is-mobile #hd_pop { z-index: 99999 !important; position: relative; }
.hd_pops { z-index: 99999 !important; }
.hd_pops_con,
.hd_pops_footer { z-index: 99999 !important; }

/* ── 팝업 오버레이 + 중앙 좌우 배치 (PC) — 2026-05-21 ── */
/* 팝업이 있을 때만 #hd_pop 을 전체화면 오버레이로 변환 */
#hd_pop:has(.hd_pops:not([style*="display: none"]):not([style*="display:none"])) {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  background: rgba(0, 0, 0, 0.6);
  z-index: 99999 !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px;
  overflow: auto;
}
/* 스크린리더용 h2 시각 숨김 */
#hd_pop:has(.hd_pops:not([style*="display: none"]):not([style*="display:none"])) > h2 {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}
/* 각 팝업: 인라인 좌표 무력화, flex 아이템 */
#hd_pop:has(.hd_pops:not([style*="display: none"]):not([style*="display:none"])) .hd_pops {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  margin: 0 !important;
  flex: 0 0 auto;
}
/* 이미지 컨테이너에 꽉 차게 */
#hd_pop:has(.hd_pops:not([style*="display: none"]):not([style*="display:none"])) .hd_pops_con img {
  width: 100%;
  height: auto;
  display: block;
}
/* 작업 3 — 팝업 열렸을 때 배경 스크롤 차단 */
html:has(#hd_pop .hd_pops:not([style*="display: none"]):not([style*="display:none"])) {
  overflow: hidden !important;
}

/* ── 모바일 팝업: 순차 노출 + 크기 정규화 — 2026-05-21 ── */
@media (max-width: 768px) {
  /* 첫 번째로 보이는 팝업만 노출, 나머지는 닫을 때까지 숨김 */
  #hd_pop .hd_pops:not([style*="display: none"]):not([style*="display:none"]) ~
  .hd_pops:not([style*="display: none"]):not([style*="display:none"]) {
    display: none !important;
  }
  /* 모바일 팝업 크기: 화면 폭에 맞춤, 인라인 좌표/크기 무력화 */
  #hd_pop .hd_pops {
    width: 90% !important;
    max-width: 360px !important;
    height: auto !important;
  }
  #hd_pop .hd_pops_con {
    width: 100% !important;
    height: auto !important;
  }
  /* 모바일 오버레이 패딩 (팝업이 화면 끝에 안 붙게) */
  #hd_pop:has(.hd_pops:not([style*="display: none"]):not([style*="display:none"])) {
    padding: 20px;
  }
}
