/**
 * 全站莫蘭迪配色 — 冷調灰藍（載於 style.css 之後）
 */
:root {
    --md-primary: #7A8FA3;
    --md-primary-dark: #657A8E;
    --md-primary-rgb: 122, 143, 163;
    --md-primary-soft: rgba(122, 143, 163, 0.14);
    --md-primary-softer: rgba(122, 143, 163, 0.08);
    --md-text: #5C6670;
    --md-text-muted: #8A96A3;
    --md-text-light: #A8B2BD;
    --md-surface: #E4E9EF;
    --md-surface-alt: #EAEEF3;
    --md-card: #F0F3F7;
    --md-white: #F5F7FA;
    --md-border: rgba(88, 100, 112, 0.14);
    --md-sage: #8FA89E;
    --md-sage-text: #5A7268;
    --md-sage-bg: rgba(143, 168, 158, 0.2);
    --md-clay: #A8B5C4;
    --md-clay-text: #5E6B78;
    --md-clay-bg: rgba(168, 181, 196, 0.22);
    --md-clay-border: rgba(122, 143, 163, 0.35);
    --md-rose: #9BA8B5;
    --md-rose-text: #5E6875;
    --md-rose-bg: rgba(155, 168, 181, 0.2);
    --md-footer: #4A5568;

    --bs-primary: var(--md-primary);
    --bs-primary-rgb: var(--md-primary-rgb);
    --bs-primary-dark: var(--md-primary-dark);
    --bs-body-color: var(--md-text);
    --bs-secondary-color: var(--md-text-muted);
    --bs-link-color: var(--md-primary);
    --bs-link-hover-color: var(--md-primary-dark);
    --bs-warning: var(--md-clay);
    --bs-warning-rgb: 168, 181, 196;
    --bs-info: #9BA8B4;
    --bs-info-rgb: 155, 168, 180;
    --bs-success: var(--md-sage);
    --bs-success-rgb: 143, 168, 158;
    --bs-danger: #A89090;
    --bs-danger-rgb: 168, 144, 144;
}

body {
    color: var(--md-text) !important;
    background-color: var(--md-white) !important;
}

.btn-primary,
.bg-primary.btn,
.btn-primary.active,
.btn-primary:active {
    background-color: var(--md-primary) !important;
    border-color: var(--md-primary) !important;
    color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus,
.bg-primary.btn:hover {
    background-color: var(--md-primary-dark) !important;
    border-color: var(--md-primary-dark) !important;
    color: #fff !important;
}

.btn-outline-primary {
    color: var(--md-primary) !important;
    border-color: rgba(122, 143, 163, 0.45) !important;
}
.btn-outline-primary:hover,
.btn-outline-primary.active,
.btn-outline-primary:active {
    background-color: var(--md-primary) !important;
    border-color: var(--md-primary) !important;
    color: #fff !important;
}

.btn-outline-info {
    color: var(--md-rose-text) !important;
    border-color: var(--md-rose) !important;
    background: var(--md-rose-bg) !important;
}
.btn-outline-info:hover {
    background-color: var(--md-rose) !important;
    border-color: var(--md-rose) !important;
    color: #fff !important;
}

.btn-link {
    color: var(--md-primary) !important;
}
.btn-link:hover,
.btn-link:focus {
    color: var(--md-primary-dark) !important;
}

.text-primary { color: var(--md-primary) !important; }
.border-primary { border-color: var(--md-primary) !important; }
.bg-primary { background-color: var(--md-primary) !important; }

a:not(.btn):not(.dropdown-item):not(.nav-link) {
    color: var(--md-primary);
}
a:not(.btn):not(.dropdown-item):not(.nav-link):hover {
    color: var(--md-primary-dark);
}

.navbar { border-bottom: 1px solid rgba(122, 143, 163, 0.28) !important; }
#site-header .navbar-collapse {
    border-bottom: 1px solid rgba(88, 100, 112, 0.12) !important;
}
.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: var(--md-primary) !important;
}
.navbar .navbar-nav .nav-link .nav-hover-caret,
.navbar .nav-avatar-toggle::after {
    color: var(--md-primary) !important;
    border-top-color: var(--md-primary) !important;
}
.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item.active,
.nav-hover-menu .dropdown-item:hover {
    background-color: var(--md-primary) !important;
    color: #fff !important;
}

.alert-warning {
    color: var(--md-clay-text) !important;
    background-color: var(--md-clay-bg) !important;
    border-color: var(--md-clay-border) !important;
}
.text-warning { color: var(--md-clay-text) !important; }
.bg-warning {
    background-color: var(--md-clay) !important;
    color: #fff !important;
}
.bg-warning.bg-opacity-10,
.bg-warning.bg-opacity-25 {
    background-color: var(--md-clay-bg) !important;
    color: var(--md-clay-text) !important;
}
.badge.bg-warning {
    background-color: var(--md-clay) !important;
    color: #fff !important;
}

.alert-info {
    color: var(--md-rose-text) !important;
    background-color: var(--md-rose-bg) !important;
    border-color: rgba(155, 168, 181, 0.35) !important;
}

.page-title-bar {
    border-bottom-color: var(--md-border) !important;
}

#site-footer .container-fluid.footer,
#site-footer .container-fluid.bg-dark {
    background-color: var(--md-footer) !important;
}

.spinner-border.text-primary {
    color: var(--md-primary) !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--md-primary);
    box-shadow: 0 0 0 0.2rem var(--md-primary-soft);
}

.list-group-item.active {
    background-color: var(--md-primary);
    border-color: var(--md-primary);
}

.progress-bar {
    background-color: var(--md-primary);
}

.text-success { color: var(--md-sage-text) !important; }
.bg-success { background-color: var(--md-sage) !important; color: #fff !important; }
.badge.bg-success {
    background-color: var(--md-sage) !important;
    color: #fff !important;
}
.alert-success {
    color: var(--md-sage-text) !important;
    background-color: var(--md-sage-bg) !important;
    border-color: rgba(143, 168, 158, 0.35) !important;
}
.btn-outline-success {
    color: var(--md-sage-text) !important;
    border-color: rgba(143, 168, 158, 0.55) !important;
}
.btn-outline-success:hover,
.btn-outline-success:focus {
    background-color: var(--md-sage) !important;
    border-color: var(--md-sage) !important;
    color: #fff !important;
}

.text-danger { color: #A89090 !important; }
.bg-danger { background-color: var(--md-rose) !important; color: #fff !important; }
.badge.bg-danger {
    background-color: var(--md-rose) !important;
    color: #fff !important;
}
.btn-outline-danger {
    color: var(--md-rose) !important;
    border-color: rgba(155, 168, 181, 0.55) !important;
}
.btn-outline-danger:hover,
.btn-outline-danger:focus {
    background-color: var(--md-rose) !important;
    border-color: var(--md-rose) !important;
    color: #fff !important;
}

.badge.bg-info {
    background-color: #9BA8B4 !important;
    color: #fff !important;
}
.bg-info { background-color: #9BA8B4 !important; color: #fff !important; }
.text-info { color: var(--md-rose-text) !important; }

.badge.bg-secondary {
    background-color: var(--md-text-light) !important;
    color: #fff !important;
}

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

.section-title {
    color: var(--md-text) !important;
}

.alert-light {
    background-color: var(--md-card);
    border-color: var(--md-border);
    color: var(--md-text);
}

.quick-link:hover {
    background: var(--md-primary-softer) !important;
    border-color: rgba(122, 143, 163, 0.35) !important;
}
