/* ==========================================================================
   contrast.css — 深色主題下的 Bootstrap 語意色修正（全站最後載入）

   Bootstrap 的預設色是為白底設計的：#0D6EFD 連結、#198754 綠、#DC3545 紅、
   #6C757D 灰、白色卡片、深色內文……放到本站 #1F2937 / #374151 深色底上，
   對比度多半只有 1～3:1。這裡把它們統一換成深色主題的版本。

   載入於所有頁面（含未載入 style.css 的舊文章），因此只能用字面色碼。
   以 tools/contrast_audit.py 驗證（一般文字 ≥ 4.5、大字與圖示 ≥ 3）。
   括號內為在卡片底 #374151 上的對比度。
   ========================================================================== */

:root {
    --bs-link-color: #93C5FD;               /* 5.7 */
    --bs-link-color-rgb: 147, 197, 253;
    --bs-link-hover-color: #BFDBFE;
    --bs-link-hover-color-rgb: 191, 219, 254;
    --bs-secondary-color: #A8B0BA;          /* 4.7 */
    --bs-body-color: #D1D5DB;
}

body { color: #D1D5DB; }                     /* 7.0；舊文章原本是 Bootstrap 的 #212529 */

/* 文字語意色 */
.text-primary   { color: #93C5FD !important; }   /* 5.7 */
.text-info      { color: #93C5FD !important; }
.text-success   { color: #4ADE80 !important; }   /* 5.9 */
.text-danger    { color: #FCA5A5 !important; }   /* 5.6 */
.text-warning   { color: #FBBF24 !important; }   /* 6.2 */
.text-muted,
.text-secondary,
.blockquote-footer { color: #A8B0BA !important; }  /* 4.7 */

/* 淺色／亮色底上的徽章與色塊一律配深色字（白字在琥珀、青、黃上都不及格）*/
.bg-secondary, .bg-warning, .bg-info,
.badge.bg-secondary, .badge.bg-warning, .badge.bg-info,
.text-bg-warning, .text-bg-info {
    color: #1F2937 !important;              /* 琥珀 4.6、黃 8.8、青 8+ */
}

/* 上述色塊內的文字與圖示（style.css 對標題、段落有全域 !important 淺色，需更高特異性蓋過）*/
/* 按鈕（例如琥珀卡片裡的深色「立即撥打」）自有配色，排除 */
.bg-secondary :is(h1, h2, h3, h4, h5, h6, p, i, span, small, li, strong):not(.btn, .btn *),
.bg-warning :is(h1, h2, h3, h4, h5, h6, p, i, span, small, li, strong):not(.btn, .btn *),
.bg-info :is(h1, h2, h3, h4, h5, h6, p, i, span, small, li, strong):not(.btn, .btn *) {
    color: #1F2937 !important;
}

/* 琥珀色塊內的白色外框按鈕 → 深色外框 */
:is(.bg-secondary, .bg-warning) .btn-outline-light {
    --bs-btn-color: #1F2937;
    --bs-btn-border-color: #1F2937;
    --bs-btn-hover-bg: #1F2937;
    --bs-btn-hover-border-color: #1F2937;
    --bs-btn-hover-color: #F3F4F6;
}

/* 綠色色塊：Bootstrap 的 #198754 上淺色字只有 3.1 → 加深 */
.bg-success { background-color: #14532D !important; }          /* 淺字 6.2、琥珀 5.5 */
.btn-outline-success {
    --bs-btn-color: #4ADE80;
    --bs-btn-border-color: #4ADE80;
    --bs-btn-hover-bg: #4ADE80;
    --bs-btn-hover-border-color: #4ADE80;
    --bs-btn-hover-color: #1F2937;
}

/* 白底按鈕上的語意色字：上面改亮後在白底會看不見 → 深色字 */
.btn-light:is(.text-success, .text-info, .text-primary, .text-danger, .text-warning) { color: #1F2937 !important; }

/* 卡片：Bootstrap 預設白底 → 站上標準卡片色 */
.card {
    --bs-card-bg: #374151;
    --bs-card-border-color: #4B5563;
    --bs-card-color: #D1D5DB;
    --bs-card-title-color: #F3F4F6;
    --bs-card-cap-bg: #4B5563;
}
.list-group {
    --bs-list-group-bg: transparent;
    --bs-list-group-color: #D1D5DB;
    --bs-list-group-border-color: #4B5563;
    --bs-list-group-action-color: #D1D5DB;
    --bs-list-group-action-hover-bg: #4B5563;
    --bs-list-group-action-hover-color: #F3F4F6;
}

/* 導覽列文字：Bootstrap 的 55% 白在深藍上只有 4.3 */
.navbar-dark .navbar-nav .nav-link,
.navbar .navbar-nav .nav-link:not(.btn) { color: rgba(255, 255, 255, 0.85); }   /* 7.7 */

/* 外框按鈕 */
.btn-outline-primary {
    --bs-btn-color: #93C5FD;
    --bs-btn-border-color: #93C5FD;
    --bs-btn-hover-bg: #93C5FD;
    --bs-btn-hover-border-color: #93C5FD;
    --bs-btn-hover-color: #1F2937;
    --bs-btn-active-bg: #93C5FD;
    --bs-btn-active-color: #1F2937;
}
.btn-outline-secondary {
    --bs-btn-color: #D1D5DB;
    --bs-btn-border-color: #A8B0BA;
    --bs-btn-hover-bg: #A8B0BA;
    --bs-btn-hover-border-color: #A8B0BA;
    --bs-btn-hover-color: #1F2937;
}

/* 提示框：Bootstrap 的淡色底 → 深色底 + 亮色邊（與站上語意色一致）*/
.alert-warning { background: #3A2F14; border-color: #FBBF24; color: #F3F4F6; }
.alert-info    { background: #16304D; border-color: #60A5FA; color: #F3F4F6; }
.alert-success { background: #14351F; border-color: #4ADE80; color: #F3F4F6; }
.alert-danger  { background: #3A1E1E; border-color: #F87171; color: #F3F4F6; }
.alert { --bs-alert-color: #F3F4F6; }
.alert :is(.alert-heading, .text-dark, li) { color: #F3F4F6 !important; }
