/* 테마 색상 완전 오버라이드 CSS - 모든 하드코딩된 색상 덮어쓰기 */
/* 이 파일은 가장 마지막에 로드되어 최우선순위를 가집니다 */

/* ===== 전체 배경 및 기본 요소 ===== */
body,
html,
.wrapper,
#wrapper,
.wrap,
.basic-body,
.page-body {
    background-color: var(--theme-bg-color) !important;
    color: var(--theme-text-primary) !important;
}

/* ===== 헤더 영역 ===== */
.header-wrap,
.header,
#header,
.top-header,
.navbar,
.nav-header,
.gnb,
.top-navbar {
    background-color: var(--theme-bg-secondary) !important;
    border-color: var(--theme-border-color) !important;
}

/* ===== 메인 콘텐츠 영역 ===== */
.container,
.content-wrap,
.content,
.main-content,
#container,
.body-content,
.basic-content,
.board-list {
    background-color: var(--theme-bg-color) !important;
}

/* ===== 카드/박스/패널 요소 ===== */
.card,
.box,
.panel,
.widget,
.eb-latest,
.eb-latest-box,
.latest-box,
.board-box,
.list-box,
.content-box,
.info-box,
.media-box,
.eb-goods-box,
.goods-box {
    background-color: var(--theme-bg-card) !important;
    border-color: var(--theme-border-color) !important;
    color: var(--theme-text-primary) !important;
}

/* ===== 사이드바 ===== */
.sidebar,
.sidebar-wrap,
.aside,
#aside,
.sidebar-left,
.sidebar-right,
.sidebar-user {
    background-color: var(--theme-bg-secondary) !important;
    border-color: var(--theme-border-color) !important;
}

/* ===== 테이블 ===== */
table,
.table,
.tbl_wrap,
.board_list table {
    background-color: var(--theme-bg-card) !important;
}

table th,
.table th,
thead th {
    background-color: var(--theme-bg-secondary) !important;
    border-color: var(--theme-border-color) !important;
    color: var(--theme-text-primary) !important;
}

table td,
.table td,
tbody td {
    background-color: var(--theme-bg-card) !important;
    border-color: var(--theme-border-color) !important;
    color: var(--theme-text-primary) !important;
}

/* 테이블 호버 효과 */
tbody tr:hover {
    background-color: var(--theme-bg-secondary) !important;
}

/* ===== 링크 ===== */

a:hover,
a:active,
a:focus {
    color: var(--theme-hover-color) !important;
}

/* ===== 버튼 ===== */
.btn,
button,
input[type="button"],
input[type="submit"] {
    background-color: var(--theme-bg-card) !important;
    border-color: var(--theme-border-color) !important;
    color: var(--theme-text-primary) !important;
}

.btn-primary,
.btn-main,
.btn-submit {
    background-color: var(--theme-accent-color) !important;
    border-color: var(--theme-accent-color) !important;
}

.btn-primary:hover,
.btn-main:hover,
.btn-submit:hover {
    background-color: var(--theme-hover-color) !important;
    border-color: var(--theme-hover-color) !important;
}

/* ===== 폼 요소 ===== */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
textarea,
select,
.form-control,
.frm_input {
    background-color: var(--theme-bg-card) !important;
    border-color: var(--theme-border-color) !important;
    color: var(--theme-text-primary) !important;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus,
.form-control:focus {
    background-color: var(--theme-bg-card) !important;
    border-color: var(--theme-accent-color) !important;
    color: var(--theme-text-primary) !important;
}

/* ===== 텍스트 색상 ===== */
p, span, div, li, label {
    color: var(--theme-text-primary) !important;
}

.text-muted,
.text-secondary,
.sub-text,
.desc {
    color: var(--theme-text-secondary) !important;
}

/* ===== 제목 ===== */
h1, h2, h3, h4, h5, h6,
.title,
.heading,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--theme-text-primary) !important;
}

/* ===== 네비게이션 ===== */
.nav-link,
.navbar-nav .nav-link,
.menu-link {
    color: var(--theme-text-secondary) !important;
}

.nav-link:hover,
.navbar-nav .nav-link:hover,
.menu-link:hover {
    color: var(--theme-hover-color) !important;
}

.nav-link.active,
.navbar-nav .nav-link.active {
    color: var(--theme-accent-color) !important;
}

/* ===== 드롭다운 ===== */
.dropdown-menu {
    background-color: var(--theme-bg-card) !important;
    border-color: var(--theme-border-color) !important;
}

.dropdown-item {
    color: var(--theme-text-primary) !important;
    background-color: transparent !important;
}

.dropdown-item:hover {
    background-color: var(--theme-bg-secondary) !important;
    color: var(--theme-hover-color) !important;
}

/* ===== 푸터 ===== */
footer,
.footer,
#footer,
.footer-wrap {
    background-color: var(--theme-bg-secondary) !important;
    border-top: 1px solid var(--theme-border-color) !important;
    color: var(--theme-text-secondary) !important;
}

/* ===== 모달 ===== */
.modal-content {
    background-color: var(--theme-bg-secondary) !important;
    color: var(--theme-text-primary) !important;
}

.modal-header,
.modal-footer {
    border-color: var(--theme-border-color) !important;
}

/* ===== 페이지네이션 ===== */
.pagination .page-link {
    background-color: var(--theme-bg-card) !important;
    border-color: var(--theme-border-color) !important;
    color: var(--theme-text-primary) !important;
}

.pagination .page-item.active .page-link {
    background-color: var(--theme-accent-color) !important;
    border-color: var(--theme-accent-color) !important;
}

/* ===== 게시판 특정 요소 ===== */
.bo_w_info,
.bo_w_tit {
    background-color: var(--theme-bg-card) !important;
    border-color: var(--theme-border-color) !important;
}

.td_subject a {
    color: var(--theme-text-primary) !important;
}

/* ===== 배지/태그 ===== */
.badge,
.tag,
.label {
    background-color: var(--theme-accent-color) !important;
    color: white !important;
}

/* ===== 알림/경고 ===== */
.alert {
    background-color: var(--theme-bg-card) !important;
    border-color: var(--theme-border-color) !important;
    color: var(--theme-text-primary) !important;
}

/* ===== 툴팁 ===== */
.tooltip-inner {
    background-color: var(--theme-bg-card) !important;
    color: var(--theme-text-primary) !important;
}

/* ===== 검색창 ===== */
.search-box,
.search-form,
.sch_form {
    background-color: var(--theme-bg-card) !important;
}

/* ===== 스크롤바 (웹킷) ===== */
::-webkit-scrollbar {
    background: var(--theme-bg-secondary) !important;
}

::-webkit-scrollbar-track {
    background: var(--theme-bg-secondary) !important;
}

::-webkit-scrollbar-thumb {
    background: var(--theme-border-color) !important;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--theme-accent-color) !important;
}

/* ===== 특정 클래스 오버라이드 ===== */
.bg-dark,
.bg-black {
    background-color: var(--theme-bg-secondary) !important;
}

.bg-light,
.bg-white {
    background-color: var(--theme-bg-card) !important;
}

/* ===== 이미지 오버레이 ===== */
.overlay,
.img-overlay {
    background-color: rgba(0,0,0,0.7) !important;
}

/* ===== 선택 텍스트 ===== */
::selection {
    background-color: var(--theme-accent-color) !important;
    color: white !important;
}

::-moz-selection {
    background-color: var(--theme-accent-color) !important;
    color: white !important;
}