/*
 * 전북특별자치도점자도서관 - 테마 색상
 * Palette: https://coolors.co/palette/386641-6a994e-a7c957-f2e8cf-bc4749
 */

:root {
    /* Raw palette */
    --brand-green-900: #386641;  /* Hunter green - 메인 다크 */
    --brand-green-700: #6a994e;  /* Asparagus - 미디엄 */
    --brand-green-400: #a7c957;  /* Yellow-green - 액센트 */
    --brand-cream:     #f2e8cf;  /* Parchment - 라이트 배경 */
    --brand-red:       #bc4749;  /* Bittersweet - 위험/포인트 */

    /* RGB 변형 (alpha 처리용) */
    --brand-green-900-rgb: 56, 102, 65;
    --brand-green-700-rgb: 106, 153, 78;
    --brand-green-400-rgb: 167, 201, 87;
    --brand-cream-rgb:     242, 232, 207;
    --brand-red-rgb:       188, 71, 73;

    /* 시맨틱 변수 (feedback-widget.css 등 다른 모듈에서 사용) */
    --color-primary:         var(--brand-green-900);
    --color-primary-variant: var(--brand-green-700);
    --color-accent:          var(--brand-green-400);
    --color-surface:         var(--brand-cream);
    --color-danger:          var(--brand-red);
}

/* ========== Light Mode ========== */
[data-bs-theme="light"] {
    --bs-primary:       var(--brand-green-900);
    --bs-primary-rgb:   var(--brand-green-900-rgb);
    --bs-secondary:     var(--brand-green-700);
    --bs-secondary-rgb: var(--brand-green-700-rgb);
    --bs-success:       var(--brand-green-700);
    --bs-success-rgb:   var(--brand-green-700-rgb);
    --bs-danger:        var(--brand-red);
    --bs-danger-rgb:    var(--brand-red-rgb);
    --bs-warning:       var(--brand-green-400);
    --bs-warning-rgb:   var(--brand-green-400-rgb);
    --bs-link-color:        var(--brand-green-900);
    --bs-link-color-rgb:    var(--brand-green-900-rgb);
    --bs-link-hover-color:  var(--brand-green-700);
    --bs-body-bg:           #fbf8ed;            /* 크림보다 한 톤 밝게 */
    --bs-body-color:        #1f2a1c;
    --bs-tertiary-bg:       var(--brand-cream);
}

[data-bs-theme="light"] body {
    background-color: var(--bs-body-bg);
}

/* ========== Dark Mode ========== */
[data-bs-theme="dark"] {
    --bs-primary:       var(--brand-green-400);  /* 어두운 배경 위에서 밝은 톤이 더 잘 보임 */
    --bs-primary-rgb:   var(--brand-green-400-rgb);
    --bs-secondary:     var(--brand-green-700);
    --bs-secondary-rgb: var(--brand-green-700-rgb);
    --bs-success:       var(--brand-green-400);
    --bs-success-rgb:   var(--brand-green-400-rgb);
    --bs-danger:        var(--brand-red);
    --bs-danger-rgb:    var(--brand-red-rgb);
    --bs-link-color:        var(--brand-green-400);
    --bs-link-color-rgb:    var(--brand-green-400-rgb);
    --bs-link-hover-color:  var(--brand-cream);
    --bs-body-bg:           #1b2a1d;            /* 매우 어두운 그린 */
    --bs-body-color:        var(--brand-cream);
    --bs-tertiary-bg:       #243a26;
}

/* ========== Navbar / Footer (.bg-dark 오버라이드) ========== */
.navbar.bg-dark,
footer.bg-dark {
    background-color: var(--brand-green-900) !important;
    --bs-bg-opacity: 1;
}

[data-bs-theme="dark"] .navbar.bg-dark,
[data-bs-theme="dark"] footer.bg-dark {
    background-color: #142115 !important;       /* 더 짙은 톤 */
}

.navbar-dark .navbar-brand {
    color: var(--brand-cream);
    font-weight: 600;
    letter-spacing: -0.01em;
}

.navbar-dark .navbar-brand:hover {
    color: var(--brand-green-400);
}

.navbar-dark .nav-link {
    color: rgba(var(--brand-cream-rgb), 0.85);
}

.navbar-dark .nav-link:hover {
    color: var(--brand-green-400);
}

footer.bg-dark a.text-light:hover {
    color: var(--brand-green-400) !important;
}

/* ========== Buttons ========== */
.btn-primary {
    --bs-btn-bg: var(--brand-green-900);
    --bs-btn-border-color: var(--brand-green-900);
    --bs-btn-hover-bg: var(--brand-green-700);
    --bs-btn-hover-border-color: var(--brand-green-700);
    --bs-btn-active-bg: #2c5234;
    --bs-btn-active-border-color: #2c5234;
    --bs-btn-disabled-bg: var(--brand-green-900);
    --bs-btn-disabled-border-color: var(--brand-green-900);
}

.btn-outline-primary {
    --bs-btn-color: var(--brand-green-900);
    --bs-btn-border-color: var(--brand-green-900);
    --bs-btn-hover-bg: var(--brand-green-900);
    --bs-btn-hover-border-color: var(--brand-green-900);
    --bs-btn-active-bg: var(--brand-green-900);
}

[data-bs-theme="dark"] .btn-outline-primary {
    --bs-btn-color: var(--brand-green-400);
    --bs-btn-border-color: var(--brand-green-400);
    --bs-btn-hover-bg: var(--brand-green-400);
    --bs-btn-hover-color: var(--brand-green-900);
}

.btn-success {
    --bs-btn-bg: var(--brand-green-700);
    --bs-btn-border-color: var(--brand-green-700);
    --bs-btn-hover-bg: var(--brand-green-900);
    --bs-btn-hover-border-color: var(--brand-green-900);
}

.btn-danger {
    --bs-btn-bg: var(--brand-red);
    --bs-btn-border-color: var(--brand-red);
    --bs-btn-hover-bg: #a23a3c;
    --bs-btn-hover-border-color: #a23a3c;
}

/* ========== Forms ========== */
.form-control:focus,
.form-select:focus {
    border-color: var(--brand-green-700);
    box-shadow: 0 0 0 0.2rem rgba(var(--brand-green-700-rgb), 0.25);
}

.form-check-input:checked {
    background-color: var(--brand-green-900);
    border-color: var(--brand-green-900);
}

/* ========== Cards / Surfaces ========== */
[data-bs-theme="light"] .card {
    border-color: rgba(var(--brand-green-900-rgb), 0.15);
}

.card-header {
    background-color: rgba(var(--brand-green-900-rgb), 0.06);
    border-bottom-color: rgba(var(--brand-green-900-rgb), 0.15);
}

[data-bs-theme="dark"] .card {
    background-color: var(--bs-tertiary-bg);
    border-color: rgba(var(--brand-cream-rgb), 0.1);
}

/* ========== Alerts (Bootstrap 5 톤다운) ========== */
.alert-success {
    --bs-alert-bg: rgba(var(--brand-green-400-rgb), 0.18);
    --bs-alert-border-color: rgba(var(--brand-green-700-rgb), 0.4);
    --bs-alert-color: var(--brand-green-900);
}

.alert-danger {
    --bs-alert-bg: rgba(var(--brand-red-rgb), 0.12);
    --bs-alert-border-color: rgba(var(--brand-red-rgb), 0.35);
    --bs-alert-color: var(--brand-red);
}

.alert-warning {
    --bs-alert-bg: rgba(var(--brand-green-400-rgb), 0.25);
    --bs-alert-border-color: rgba(var(--brand-green-400-rgb), 0.5);
    --bs-alert-color: #4f5d18;
}

[data-bs-theme="dark"] .alert-success {
    --bs-alert-color: var(--brand-cream);
}

/* ========== Dropdown ========== */
.dropdown-item:active,
.dropdown-item.active {
    background-color: var(--brand-green-700);
}

/* ========== Hero / Headings ========== */
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
    color: var(--brand-green-900);
    font-weight: 700;
}

[data-bs-theme="dark"] .display-1,
[data-bs-theme="dark"] .display-2,
[data-bs-theme="dark"] .display-3,
[data-bs-theme="dark"] .display-4,
[data-bs-theme="dark"] .display-5,
[data-bs-theme="dark"] .display-6 {
    color: var(--brand-green-400);
}

/* ========== Selection 색상 ========== */
::selection {
    background-color: var(--brand-green-400);
    color: var(--brand-green-900);
}

/* ========== Scrollbar (선택적) ========== */
[data-bs-theme="light"] ::-webkit-scrollbar-thumb {
    background-color: rgba(var(--brand-green-900-rgb), 0.3);
}

[data-bs-theme="dark"] ::-webkit-scrollbar-thumb {
    background-color: rgba(var(--brand-cream-rgb), 0.2);
}
