/* ==========================================================================
   보금허브 브랜드 컬러 시스템 (Brand Color System)
   Bootstrap 5.3 CSS 변수 오버라이드
   
   Brand Palette:
   - Primary (mint/teal): #66C2A5
   - Dark (navy):         #2C3E50
   - Info (blue accent):  #377EB8
   - Secondary (neutral): #B3B3B3
   ========================================================================== */

:root,
[data-bs-theme="light"] {
    /* ── Primary: #66C2A5 (브랜드 민트/틸) ── */
    --bs-primary: #66C2A5;
    --bs-primary-rgb: 102, 194, 165;
    --bs-primary-text-emphasis: #2d7a5f;
    --bs-primary-bg-subtle: #e0f5ee;
    --bs-primary-border-subtle: #b3e4d3;

    /* ── Info: #377EB8 (블루 액센트) ── */
    --bs-info: #377EB8;
    --bs-info-rgb: 55, 126, 184;
    --bs-info-text-emphasis: #1e4a6e;
    --bs-info-bg-subtle: #dce9f4;
    --bs-info-border-subtle: #a3c5de;

    /* ── Secondary: #B3B3B3 (뉴트럴 그레이) ── */
    --bs-secondary: #B3B3B3;
    --bs-secondary-rgb: 179, 179, 179;
    --bs-secondary-text-emphasis: #6b6b6b;
    --bs-secondary-bg-subtle: #f0f0f0;
    --bs-secondary-border-subtle: #d9d9d9;

    /* ── Link color ── */
    --bs-link-color: #377EB8;
    --bs-link-color-rgb: 55, 126, 184;
    --bs-link-hover-color: #2c6593;
    --bs-link-hover-color-rgb: 44, 101, 147;
}

[data-bs-theme="dark"] {
    /* ── Primary: 다크모드 밝기 조정 ── */
    --bs-primary: #7dd4b8;
    --bs-primary-rgb: 125, 212, 184;
    --bs-primary-text-emphasis: #a3e2cc;
    --bs-primary-bg-subtle: #1a3329;
    --bs-primary-border-subtle: #2d6b50;

    /* ── Info: 다크모드 밝기 조정 ── */
    --bs-info: #5a9fd4;
    --bs-info-rgb: 90, 159, 212;
    --bs-info-text-emphasis: #8bbee3;
    --bs-info-bg-subtle: #142636;
    --bs-info-border-subtle: #2d5f85;

    /* ── Secondary ── */
    --bs-secondary: #999999;
    --bs-secondary-rgb: 153, 153, 153;
    --bs-secondary-text-emphasis: #bfbfbf;
    --bs-secondary-bg-subtle: #2a2a2a;
    --bs-secondary-border-subtle: #4d4d4d;

    /* ── Link color (다크모드) ── */
    --bs-link-color: #5a9fd4;
    --bs-link-color-rgb: 90, 159, 212;
    --bs-link-hover-color: #7db5de;
    --bs-link-hover-color-rgb: 125, 181, 222;
}

/* ==========================================================================
   Bootstrap 컴포넌트 오버라이드
   btn-primary, btn-info 등은 CSS 변수를 자동으로 따르지 않으므로 직접 재정의
   ========================================================================== */

/* ── btn-primary ── */
.btn-primary {
    --bs-btn-bg: #66C2A5;
    --bs-btn-border-color: #66C2A5;
    --bs-btn-hover-bg: #52a88e;
    --bs-btn-hover-border-color: #4a9a82;
    --bs-btn-active-bg: #4a9a82;
    --bs-btn-active-border-color: #439076;
    --bs-btn-disabled-bg: #66C2A5;
    --bs-btn-disabled-border-color: #66C2A5;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
}

.btn-outline-primary {
    --bs-btn-color: #66C2A5;
    --bs-btn-border-color: #66C2A5;
    --bs-btn-hover-bg: #66C2A5;
    --bs-btn-hover-border-color: #66C2A5;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #52a88e;
    --bs-btn-active-border-color: #52a88e;
    --bs-btn-active-color: #fff;
}

/* ── btn-info ── */
.btn-info {
    --bs-btn-bg: #377EB8;
    --bs-btn-border-color: #377EB8;
    --bs-btn-hover-bg: #2c6593;
    --bs-btn-hover-border-color: #265a84;
    --bs-btn-active-bg: #265a84;
    --bs-btn-active-border-color: #214f75;
    --bs-btn-disabled-bg: #377EB8;
    --bs-btn-disabled-border-color: #377EB8;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
}

.btn-outline-info {
    --bs-btn-color: #377EB8;
    --bs-btn-border-color: #377EB8;
    --bs-btn-hover-bg: #377EB8;
    --bs-btn-hover-border-color: #377EB8;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #2c6593;
    --bs-btn-active-border-color: #2c6593;
    --bs-btn-active-color: #fff;
}

/* ── btn-secondary ── */
.btn-secondary {
    --bs-btn-bg: #B3B3B3;
    --bs-btn-border-color: #B3B3B3;
    --bs-btn-hover-bg: #9a9a9a;
    --bs-btn-hover-border-color: #909090;
    --bs-btn-active-bg: #909090;
    --bs-btn-active-border-color: #868686;
    --bs-btn-disabled-bg: #B3B3B3;
    --bs-btn-disabled-border-color: #B3B3B3;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
}

/* ── Badge 오버라이드 ── */
.badge.bg-primary {
    background-color: #66C2A5 !important;
    color: #fff !important;
}

.badge.bg-info {
    background-color: #377EB8 !important;
    color: #fff !important;
}

/* ── text-primary, text-info 오버라이드 ── */
.text-primary {
    color: #66C2A5 !important;
}

.text-info {
    color: #377EB8 !important;
}

[data-bs-theme="dark"] .text-primary {
    color: #7dd4b8 !important;
}

[data-bs-theme="dark"] .text-info {
    color: #5a9fd4 !important;
}

/* ── bg-primary, bg-info 오버라이드 ── */
.bg-primary {
    background-color: #66C2A5 !important;
}

.bg-info {
    background-color: #377EB8 !important;
}

/* ── border-primary, border-info ── */
.border-primary {
    border-color: #66C2A5 !important;
}

.border-info {
    border-color: #377EB8 !important;
}

/* ── Progress bar ── */
.progress-bar.bg-primary,
.progress-bar:not([class*="bg-"]) {
    background-color: #66C2A5 !important;
}

/* ── Form 포커스 (브랜드 컬러) ── */
.form-control:focus,
.form-select:focus {
    border-color: #66C2A5;
    box-shadow: 0 0 0 0.25rem rgba(102, 194, 165, 0.25);
}

.form-check-input:checked {
    background-color: #66C2A5;
    border-color: #66C2A5;
}

.form-switch .form-check-input:checked {
    background-color: #66C2A5;
    border-color: #66C2A5;
}

/* ── Pagination 활성 상태 ── */
.page-link {
    color: #377EB8;
}

.page-item.active .page-link {
    background-color: #66C2A5;
    border-color: #66C2A5;
    color: #fff;
}

.page-link:hover {
    color: #2c6593;
}

/* ── Nav pills / tabs 활성 상태 ── */
.nav-pills .nav-link.active {
    background-color: #66C2A5;
}

/* nav-link: 다크 테마 navbar 내부 제외 (가독성 유지) */
:root .nav-link:not([data-bs-theme="dark"] .nav-link) {
    color: #377EB8;
}

:root .nav-link:not([data-bs-theme="dark"] .nav-link):hover {
    color: #2c6593;
}

/* 다크 테마 navbar 내부 링크는 밝은 색상 유지 */
[data-bs-theme="dark"] .nav-link {
    color: #fff !important;
}

[data-bs-theme="dark"] .nav-link:hover,
[data-bs-theme="dark"] .nav-link:focus {
    color: rgba(255, 255, 255, 1) !important;
}

[data-bs-theme="dark"] .nav-link.active {
    color: #fff !important;
}

[data-bs-theme="dark"] .navbar-brand {
    color: #fff !important;
}

[data-bs-theme="dark"] .dropdown-menu {
    --bs-dropdown-link-color: var(--bs-body-color);
    --bs-dropdown-link-hover-color: var(--bs-body-color);
}

/* ── Spinner ── */
.spinner-border.text-primary {
    color: #66C2A5 !important;
}

/* ── Alert overrides (info) ── */
.alert-primary {
    --bs-alert-bg: var(--bs-primary-bg-subtle);
    --bs-alert-border-color: var(--bs-primary-border-subtle);
    --bs-alert-color: var(--bs-primary-text-emphasis);
}

.alert-info {
    --bs-alert-bg: var(--bs-info-bg-subtle);
    --bs-alert-border-color: var(--bs-info-border-subtle);
    --bs-alert-color: var(--bs-info-text-emphasis);
}

/* ── List group active ── */
.list-group-item.active {
    background-color: #66C2A5;
    border-color: #66C2A5;
}
