/* ==========================================================================
   보금허브 브랜드 컬러 시스템 (Brand Color System)
   Bootstrap 5.3 CSS 변수 오버라이드

   Brand Palette:
   - Primary (mint/teal): #24745B
   - Dark (navy):         #2C3E50
   - Info (blue accent):  #286B9E
   - Secondary (neutral): #59636B
   ========================================================================== */

:root,
[data-bs-theme="light"] {
    /* ── Primary: #24745B (브랜드 민트/틸) ── */
    --bs-primary: #24745B;
    --bs-primary-rgb: 36, 116, 91;
    --bs-primary-text-emphasis: #2d7a5f;
    --bs-primary-bg-subtle: #e0f5ee;
    --bs-primary-border-subtle: #b3e4d3;

    /* ── Info: #286B9E (블루 액센트) ── */
    --bs-info: #286B9E;
    --bs-info-rgb: 40, 107, 158;
    --bs-info-text-emphasis: #1e4a6e;
    --bs-info-bg-subtle: #dce9f4;
    --bs-info-border-subtle: #a3c5de;

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

    /* ── Link color ── */
    --bs-link-color: #286B9E;
    --bs-link-color-rgb: 40, 107, 158;
    --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: #24745B;
    --bs-btn-border-color: #24745B;
    --bs-btn-hover-bg: #20674f;
    --bs-btn-hover-border-color: #1b5d48;
    --bs-btn-active-bg: #1b5d48;
    --bs-btn-active-border-color: #18533f;
    --bs-btn-disabled-bg: #24745B;
    --bs-btn-disabled-border-color: #24745B;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
}

.btn-outline-primary {
    --bs-btn-color: #24745B;
    --bs-btn-border-color: #24745B;
    --bs-btn-hover-bg: #24745B;
    --bs-btn-hover-border-color: #24745B;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #20674f;
    --bs-btn-active-border-color: #20674f;
    --bs-btn-active-color: #fff;
}

/* ── btn-info ── */
.btn-info {
    --bs-btn-bg: #286B9E;
    --bs-btn-border-color: #286B9E;
    --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: #286B9E;
    --bs-btn-disabled-border-color: #286B9E;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
}

.btn-outline-info {
    --bs-btn-color: #286B9E;
    --bs-btn-border-color: #286B9E;
    --bs-btn-hover-bg: #286B9E;
    --bs-btn-hover-border-color: #286B9E;
    --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: #59636B;
    --bs-btn-border-color: #59636B;
    --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: #59636B;
    --bs-btn-disabled-border-color: #59636B;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
}

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

.badge.bg-info {
    background-color: #286B9E !important;
    color: #fff !important;
}

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

.text-info {
    color: #286B9E !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: #24745B !important;
}

.bg-info {
    background-color: #286B9E !important;
}

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

.border-info {
    border-color: #286B9E !important;
}

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

/* ── Form 포커스 (브랜드 컬러) ── */
.form-control:focus,
.form-select:focus {
    border-color: #24745B;
    box-shadow: 0 0 0 0.25rem rgba(36, 116, 91, 0.25);
}

.form-check-input:checked {
    background-color: #24745B;
    border-color: #24745B;
}

.form-switch .form-check-input:checked {
    background-color: #24745B;
    border-color: #24745B;
}

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

.page-item.active .page-link {
    background-color: #24745B;
    border-color: #24745B;
    color: #fff;
}

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

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

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

: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: #24745B !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: #24745B;
    border-color: #24745B;
}

/* Text and action colors meet AA on the standard light surfaces. */
:root, [data-bs-theme="light"] { --bs-success-rgb: 20, 112, 68; --bs-danger-rgb: 181, 35, 51; --bs-secondary-color: #56606a; }
html:not([data-bs-theme="dark"]) .text-warning { color: #855a00 !important; }
.btn-outline-secondary { --bs-btn-color: #535d65; --bs-btn-border-color: #69747c; }
.btn-outline-success { --bs-btn-color: #147044; --bs-btn-border-color: #147044; }
.nav-pills .nav-link.active { color: #fff !important; background: #24745b; }
[data-bs-theme="dark"] .btn-primary, [data-bs-theme="dark"] .btn-info { --bs-btn-color: #10251d; --bs-btn-hover-color: #10251d; --bs-btn-active-color: #10251d; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } .logo-slide-track { animation: none !important; } }

html:not([data-bs-theme="dark"]) .btn-outline-warning { --bs-btn-color: #855a00; --bs-btn-border-color: #855a00; --bs-btn-hover-color: #17231d; }
html:not([data-bs-theme="dark"]) code { color: #a32364; }

/* Dark surfaces need brighter text while filled actions retain clear contrast. */
[data-bs-theme="dark"] { --bs-secondary-color: #b6bec6; }
[data-bs-theme="dark"] .text-success { color: #82d6ad !important; }
[data-bs-theme="dark"] .text-danger { color: #ff9ba6 !important; }
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-color: #7dd4b8; --bs-btn-border-color: #7dd4b8; }
[data-bs-theme="dark"] .btn-outline-info { --bs-btn-color: #8bbee3; --bs-btn-border-color: #8bbee3; }
[data-bs-theme="dark"] .btn-outline-secondary { --bs-btn-color: #b6bec6; --bs-btn-border-color: #b6bec6; }
[data-bs-theme="dark"] .btn-outline-success { --bs-btn-color: #82d6ad; --bs-btn-border-color: #82d6ad; }
[data-bs-theme="dark"] .nav-pills .nav-link.active { background-color: #24745b; color: #fff !important; }
[data-bs-theme="dark"] .page-link { color: #8bbee3; }
[data-bs-theme="dark"] .page-item.active .page-link { color: #fff; }
[data-bs-theme="dark"] .btn-primary { --bs-btn-bg: #7dd4b8; --bs-btn-border-color: #7dd4b8; --bs-btn-hover-bg: #a3e2cc; --bs-btn-hover-border-color: #a3e2cc; --bs-btn-active-bg: #a3e2cc; }
[data-bs-theme="dark"] .btn-info { --bs-btn-bg: #8bbee3; --bs-btn-border-color: #8bbee3; --bs-btn-hover-bg: #b1d7f1; --bs-btn-hover-border-color: #b1d7f1; --bs-btn-active-bg: #b1d7f1; }
