/* ============================================================
   bs5-overwind.css
   Bootstrap 5.2.3 的 macOS 化微调层

   设计原则：
   - 只覆盖 BS5 CSS 变量（--bs-*）和少数关键默认值
   - 颜色、圆角、阴影、字体栈全部走 macos.css 的 --mc-* 令牌
   - 不重写任何 BS5 组件，只在视觉层做 macOS 化

   使用方式（在 head.php 里）：
     <link href=".../bootstrap/5.2.3/css/bootstrap.min.css" rel="stylesheet">
     <link href=".../macos.css" rel="stylesheet">
     <link href=".../bs5-overwind.css" rel="stylesheet">

   依赖：本文件假设 macos.css 已加载（提供 --mc-* 令牌）
   ============================================================ */

:root,
[data-bs-theme=light] {
  /* 强调色：BS5 primary 映射到 macOS 蓝 */
  --bs-primary:           var(--mc-accent-btn, #0071e3);
  --bs-primary-rgb:       0, 113, 227;
  --bs-link-color:        var(--mc-accent, #007aff);
  --bs-link-color-rgb:    0, 122, 255;
  --bs-link-hover-color:  var(--mc-accent-btn-hover, #005fbf);
  --bs-link-hover-color-rgb: 0, 95, 191;

  /* 文字 */
  --bs-body-color:        var(--mc-text-1, #1d1d1f);
  --bs-body-color-rgb:    29, 29, 31;
  --bs-body-bg:           var(--mc-page, #f4f5f7);
  --bs-body-bg-rgb:       244, 245, 247;

  /* 字体（macOS 系统字体优先） */
  --bs-body-font-family:  var(--mc-font, -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif);
  --bs-font-sans-serif:   var(--mc-font, -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif);
  --bs-font-monospace:    ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --bs-body-font-size:    0.9375rem; /* 15px */
  --bs-body-font-weight:  400;
  --bs-body-line-height:  1.5;

  /* 边框 */
  --bs-border-color:           var(--mc-border, rgba(0, 0, 0, .07));
  --bs-border-color-translucent: var(--mc-border, rgba(0, 0, 0, .07));

  /* 圆角（macOS 风：比 BS5 默认更圆） */
  --bs-border-radius:    var(--mc-r, 10px);
  --bs-border-radius-sm: var(--mc-r-sm, 8px);
  --bs-border-radius-lg: var(--mc-r-lg, 12px);
  --bs-border-radius-xl: var(--mc-r-xl, 16px);
  --bs-border-radius-2xl: var(--mc-r-xl, 16px);
  --bs-border-radius-pill: var(--mc-r-pill, 999px);

  /* 输入框 */
  --bs-input-bg: var(--mc-card, #ffffff);
  --bs-input-border-color: var(--mc-border-2, rgba(0, 0, 0, .11));
  --bs-input-focus-border-color: var(--mc-accent, #007aff);
  --bs-input-focus-box-shadow: 0 0 0 .25rem var(--mc-accent-soft, rgba(0, 122, 255, .10));

  /* 表单 */
  --bs-form-label-color: var(--mc-text-2, #6e6e73);
  --bs-form-label-font-weight: 500;

  /* 模态框 */
  --bs-modal-bg: var(--mc-card, #ffffff);
  --bs-modal-border-color: transparent;
  --bs-modal-border-radius: var(--mc-r-lg, 12px);

  /* 卡片 */
  --bs-card-bg: var(--mc-card, #ffffff);
  --bs-card-border-color: transparent;
  --bs-card-border-radius: var(--mc-r-lg, 12px);
  --bs-card-cap-bg: transparent;

  /* 下拉 */
  --bs-dropdown-bg: var(--mc-card, #ffffff);
  --bs-dropdown-border-color: transparent;
  --bs-dropdown-border-radius: var(--mc-r, 10px);
  --bs-dropdown-link-color: var(--mc-text-1, #1d1d1f);
  --bs-dropdown-link-hover-color: var(--mc-text-1, #1d1d1f);
  --bs-dropdown-link-hover-bg: var(--mc-hover, rgba(0, 0, 0, .04));
  --bs-dropdown-link-active-color: var(--mc-text-1, #1d1d1f);
  --bs-dropdown-link-active-bg: var(--mc-active, rgba(0, 0, 0, .07));
  --bs-dropdown-padding-y: .375rem;
  --bs-dropdown-spacer: .25rem;
  --bs-dropdown-item-padding-y: .375rem;
  --bs-dropdown-item-padding-x: .75rem;

  /* 警告框 */
  --bs-alert-border-radius: var(--mc-r, 10px);

  /* 进度条 */
  --bs-progress-bg: var(--mc-sunken, rgba(0, 0, 0, .03));
  --bs-progress-border-radius: var(--mc-r-pill, 999px);
}

/* —— 按钮：BS5 primary 加深到 #0071e3（对比度 4.69:1 达 WCAG AA） —— */
.btn-primary {
  --bs-btn-bg: var(--mc-accent-btn, #0071e3);
  --bs-btn-border-color: var(--mc-accent-btn, #0071e3);
  --bs-btn-hover-bg: var(--mc-accent-btn-hover, #005fbf);
  --bs-btn-hover-border-color: var(--mc-accent-btn-hover, #005fbf);
  --bs-btn-active-bg: var(--mc-accent-btn-active, #0058b0);
  --bs-btn-active-border-color: var(--mc-accent-btn-active, #0058b0);
  --bs-btn-disabled-bg: var(--mc-accent-btn, #0071e3);
  --bs-btn-disabled-border-color: var(--mc-accent-btn, #0071e3);
  --bs-btn-color: #ffffff;
  --bs-btn-hover-color: #ffffff;
  --bs-btn-active-color: #ffffff;
}
.btn-outline-primary {
  --bs-btn-color: var(--mc-accent, #007aff);
  --bs-btn-border-color: var(--mc-accent, #007aff);
  --bs-btn-hover-bg: var(--mc-accent-soft, rgba(0, 122, 255, .10));
  --bs-btn-hover-border-color: var(--mc-accent, #007aff);
  --bs-btn-hover-color: var(--mc-accent-btn-hover, #005fbf);
  --bs-btn-active-bg: var(--mc-accent, #007aff);
  --bs-btn-active-border-color: var(--mc-accent, #007aff);
  --bs-btn-active-color: #ffffff;
}

/* —— 卡片：去掉默认边框，加微阴影 —— */
.card {
  border: 0;
  box-shadow: var(--mc-shadow-1, 0 1px 2px rgba(0, 0, 0, .04));
  transition: box-shadow .15s ease, transform .15s ease;
}
.card-hover:hover {
  box-shadow: var(--mc-shadow-2, 0 2px 8px rgba(0, 0, 0, .07));
  transform: translateY(-1px);
}

/* —— 表单：标签加间距 —— */
.form-label { margin-bottom: .375rem; }
.form-control,
.form-select {
  transition: border-color .15s ease, box-shadow .15s ease;
}
.form-control:focus,
.form-select:focus {
  border-color: var(--mc-accent, #007aff);
  box-shadow: 0 0 0 .25rem var(--mc-accent-soft, rgba(0, 122, 255, .10));
}

/* —— 警告框：浅底深字（macOS 风格，不是 BS5 默认的高饱和色块） —— */
.alert {
  border: 0;
  font-weight: 500;
}
.alert-primary {
  background: var(--mc-accent-soft, rgba(0, 122, 255, .10));
  color: var(--mc-accent-btn-hover, #005fbf);
}
.alert-success {
  background: rgba(52, 199, 89, .12);
  color: #1f7a3a;
}
.alert-warning {
  background: rgba(255, 159, 10, .12);
  color: #b45a00;
}
.alert-danger {
  background: rgba(255, 59, 48, .12);
  color: #b3261e;
}
.alert-info {
  background: rgba(48, 176, 199, .12);
  color: #1a6b78;
}

/* —— 模态框：圆角 + 阴影 —— */
.modal-content {
  border: 0;
  box-shadow: var(--bs-modal-box-shadow, var(--mc-shadow-3, 0 6px 24px rgba(0, 0, 0, .12)));
}

/* —— 下拉菜单：加阴影 + 微圆角 —— */
.dropdown-menu {
  box-shadow: var(--mc-shadow-2, 0 2px 8px rgba(0, 0, 0, .07));
  border: 1px solid var(--mc-border, rgba(0, 0, 0, .07));
  padding: var(--bs-dropdown-spacer);
}

/* —— 表格：去掉内边框颜色 —— */
.table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--mc-text-1, #1d1d1f);
  --bs-table-border-color: var(--mc-border, rgba(0, 0, 0, .07));
  --bs-table-hover-bg: var(--mc-hover, rgba(0, 0, 0, .04));
}

/* —— 导航 tabs：BS5 风格底线改 macOS 风格 —— */
.nav-tabs {
  --bs-nav-tabs-border-color: var(--mc-border, rgba(0, 0, 0, .07));
  --bs-nav-tabs-link-active-color: var(--mc-text-1, #1d1d1f);
  --bs-nav-tabs-link-active-bg: transparent;
  --bs-nav-tabs-link-active-border-color: var(--mc-border, rgba(0, 0, 0, .07)) var(--mc-border, rgba(0, 0, 0, .07)) var(--mc-card, #ffffff);
}

/* —— 徽章 —— */
.badge {
  font-weight: 500;
  padding: .35em .65em;
}

/* —— 列表组 —— */
.list-group {
  --bs-list-group-bg: var(--mc-card, #ffffff);
  --bs-list-group-border-color: var(--mc-border, rgba(0, 0, 0, .07));
  --bs-list-group-action-hover-bg: var(--mc-hover, rgba(0, 0, 0, .04));
  --bs-list-group-action-active-bg: var(--mc-active, rgba(0, 0, 0, .07));
  --bs-list-group-active-bg: var(--mc-accent, #007aff);
  --bs-list-group-active-border-color: var(--mc-accent, #007aff);
}

/* —— 关闭按钮：图标换 fa-xmark —— */
.btn-close { opacity: .55; }
.btn-close:hover { opacity: 1; }

/* —— 焦点环：保留清晰可见（WCAG 2.4.7） —— */
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.nav-link:focus-visible {
  outline: 2px solid var(--mc-accent, #007aff);
  outline-offset: 2px;
}

/* —— 自定义实用类 —— */
.text-secondary { color: var(--mc-text-2, #6e6e73) !important; }
.bg-soft-primary { background: var(--mc-accent-soft, rgba(0, 122, 255, .10)) !important; }

/* —— 滚动条（macOS 风） —— */
body::-webkit-scrollbar,
.scroll-area::-webkit-scrollbar { width: 10px; height: 10px; }
body::-webkit-scrollbar-thumb,
.scroll-area::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, .15);
  border-radius: 5px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
body::-webkit-scrollbar-thumb:hover,
.scroll-area::-webkit-scrollbar-thumb:hover { background-color: rgba(0, 0, 0, .25); background-clip: padding-box; }
body::-webkit-scrollbar-track,
.scroll-area::-webkit-scrollbar-track { background: transparent; }

/* —— 减少动态（与 macos.css 同步） —— */
@media (prefers-reduced-motion: reduce) {
  .card,
  .btn,
  .form-control,
  .form-select {
    transition: none !important;
  }
}