/* ============================================================================
   bootstrap-theme.css — 「Connected 风格」主题（深色默认，可切换浅色）
   ----------------------------------------------------------------------------
   配色实测自 https://www.connected.app/zh 官方设计系统：
   - 深色主背景 #161616 / #181818，卡片/次级背景 #1f1f1f / #262626
   - 主文字 #e7e7e7（浅灰白），次级文字 #9aa0a6 / #6b7075
   - 强调色 土黄 #d9a441（亮黄 #e9b95c，深赭黄 #b8862f，hover/active 用）
   - 边框 #2e2e2e / #262626；科技感、点阵世界地图视觉
   布局沿用佳士得基线：容器 1024px、衬线标题排版、8px 间距网格、直角细边框。
   主题机制：<html data-theme="dark|light">，:root 为深色默认，[data-theme="light"]
   覆盖为浅色；所有 --ch-* / --bs-* 变量随主题自动切换，localStorage 记忆选择。
   依赖：bootstrap.min.css + icons.css（须先于本文件加载）。
   ============================================================================ */

:root {
  /* ---- Connected 设计令牌（深色默认） ---- */
  --ch-container: 1024px;
  --ch-font-serif: "ABCArizonaSerif", Georgia, "Times New Roman", "Noto Serif SC",
                   "Source Han Serif SC", "Songti SC", "SimSun", serif;
  --ch-font-sans: "ABCArizonaSans", "Helvetica Neue", Helvetica, Arial,
                  "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;

  --ch-text: #e7e7e7;
  --ch-muted: #9aa0a6;
  --ch-faint: #6b7075;
  --ch-bg: #161616;
  --ch-bg-soft: #1f1f1f;
  --ch-red: #d9a441;                 /* 强调色：土黄（变量名沿用，语义见 --ch-accent） */
  --ch-accent: var(--ch-red);
  --ch-accent-strong: #e9b95c;
  --ch-accent-dark: #b8862f;
  --ch-accent-ink: #ffffff;          /* 土黄底上的文字色 */
  --ch-border: #2e2e2e;
  --ch-border-soft: #262626;
  --ch-dark: #0f0f0f;

  --ch-shadow: 0 6px 24px rgba(0, 0, 0, .45);
  --ch-focus-ring: rgba(217, 164, 65, .3);
  --ch-selection: rgba(231, 231, 231, .15);

  --ch-space-1: 4px;
  --ch-space-2: 8px;
  --ch-space-3: 12px;
  --ch-space-4: 16px;
  --ch-space-5: 24px;
  --ch-space-6: 32px;
  --ch-space-7: 40px;
  --ch-space-8: 48px;
  --ch-space-9: 56px;
  --ch-space-10: 64px;
  --ch-space-11: 80px;
  --ch-space-12: 128px;

  /* Bootstrap 深色覆盖（变量驱动组件：modal/form/accordion/dropdown/pagination） */
  --bs-body-font-family: var(--ch-font-sans);
  --bs-body-color: #e7e7e7;
  --bs-body-bg: #161616;
  --bs-secondary-color: #9aa0a6;
  --bs-secondary-bg: #262626;
  --bs-tertiary-bg: #1f1f1f;
  --bs-emphasis-color: #ffffff;
  --bs-border-color: #2e2e2e;
  --bs-link-color: #e7e7e7;
  --bs-link-hover-color: #d9a441;
  /* Bootstrap 5.3 的 a 元素颜色使用 --bs-link-color-rgb（RGB 三元组），
     仅覆盖 --bs-link-color 无效，必须一并覆盖，否则普通链接仍是默认蓝 #0d6efd */
  --bs-link-color-rgb: 231, 231, 231;
  --bs-link-hover-color-rgb: 217, 164, 65;
  /* 清除 Bootstrap 默认蓝色焦点环 / 按钮 focus 阴影 / 分页 focus */
  --bs-focus-ring-color: rgba(217, 164, 65, .3);
  --bs-focus-ring-width: .25rem;
  --bs-btn-focus-shadow-rgb: 217, 164, 65;
  --bs-pagination-focus-shadow-rgb: 217, 164, 65;
  --bs-link-decoration: none;
  --bs-border-radius: 6px;
  --bs-border-radius-sm: 4px;
  --bs-border-radius-lg: 10px;
  --bs-border-radius-xl: 14px;
  --bs-border-radius-2xl: 18px;
  --bs-border-radius-pill: 50rem;
  /* 组件变量（dropdown/modal/accordion/pagination 全量覆盖） */
  --bs-dropdown-bg: #1f1f1f;
  --bs-dropdown-color: #e7e7e7;
  --bs-dropdown-border-color: #2e2e2e;
  --bs-dropdown-link-color: #e7e7e7;
  --bs-dropdown-link-hover-bg: #262626;
  --bs-dropdown-link-hover-color: #d9a441;
  --bs-dropdown-link-active-bg: #d9a441;
  --bs-dropdown-link-active-color: #ffffff;
  --bs-modal-bg: #161616;
  --bs-modal-color: #e7e7e7;
  --bs-modal-border-color: #2e2e2e;
  --bs-accordion-bg: transparent;
  --bs-accordion-color: #e7e7e7;
  --bs-accordion-btn-bg: transparent;
  --bs-accordion-btn-color: #e7e7e7;
  --bs-accordion-active-bg: transparent;
  --bs-accordion-active-color: #d9a441;
  --bs-accordion-border-color: #2e2e2e;
  --bs-pagination-bg: transparent;
  --bs-pagination-color: #e7e7e7;
  --bs-pagination-hover-bg: #d9a441;
  --bs-pagination-hover-color: #ffffff;
  --bs-pagination-active-bg: #d9a441;
  --bs-pagination-active-color: #ffffff;
  --bs-pagination-disabled-bg: transparent;
  --bs-pagination-disabled-color: #6b7075;
}

/* ---- 浅色主题（Connected 浅色变体，切换用） ---- */
[data-theme="light"] {
  --ch-text: #181818;
  --ch-muted: #6b7075;
  --ch-faint: #9aa0a6;
  --ch-bg: #ffffff;
  --ch-bg-soft: #f4f4f4;
  --ch-red: #a87f2f;
  --ch-accent: var(--ch-red);
  --ch-accent-strong: #c9973f;
  --ch-accent-dark: #8a6420;
  --ch-accent-ink: #ffffff;
  --ch-border: #e5e5e5;
  --ch-border-soft: #ededed;
  --ch-dark: #161616;

  --ch-shadow: 0 6px 24px rgba(0, 0, 0, .08);
  --ch-focus-ring: rgba(168, 127, 47, .25);
  --ch-selection: rgba(0, 0, 0, .12);

  --bs-body-color: #181818;
  --bs-body-bg: #ffffff;
  --bs-secondary-color: #6b7075;
  --bs-secondary-bg: #e9ecef;
  --bs-tertiary-bg: #f4f4f4;
  --bs-emphasis-color: #000000;
  --bs-border-color: #e5e5e5;
  --bs-link-color: #181818;
  --bs-link-hover-color: #a87f2f;
  --bs-link-color-rgb: 24, 24, 24;
  --bs-link-hover-color-rgb: 168, 127, 47;
  --bs-focus-ring-color: rgba(168, 127, 47, .25);
  --bs-btn-focus-shadow-rgb: 168, 127, 47;
  --bs-pagination-focus-shadow-rgb: 168, 127, 47;
  --bs-dropdown-bg: #ffffff;
  --bs-dropdown-color: #181818;
  --bs-dropdown-border-color: #e5e5e5;
  --bs-dropdown-link-color: #181818;
  --bs-dropdown-link-hover-bg: #f4f4f4;
  --bs-dropdown-link-hover-color: #a87f2f;
  --bs-dropdown-link-active-bg: #a87f2f;
  --bs-dropdown-link-active-color: #ffffff;
  --bs-modal-bg: #ffffff;
  --bs-modal-color: #181818;
  --bs-modal-border-color: #e5e5e5;
  --bs-accordion-bg: transparent;
  --bs-accordion-color: #181818;
  --bs-accordion-btn-bg: transparent;
  --bs-accordion-btn-color: #181818;
  --bs-accordion-active-bg: transparent;
  --bs-accordion-active-color: #a87f2f;
  --bs-accordion-border-color: #e5e5e5;
  --bs-pagination-bg: transparent;
  --bs-pagination-color: #181818;
  --bs-pagination-hover-bg: #a87f2f;
  --bs-pagination-hover-color: #ffffff;
  --bs-pagination-active-bg: #a87f2f;
  --bs-pagination-active-color: #ffffff;
  --bs-pagination-disabled-bg: transparent;
  --bs-pagination-disabled-color: #9aa0a6;
}

/* ================= 基础排版 ================= */
body {
  font-family: var(--ch-font-sans);
  color: var(--ch-text);
  background: var(--ch-bg);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6, .ch-serif {
  font-family: var(--ch-font-serif);
  color: var(--ch-text);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
h1 { font-size: 2.375rem; }   /* 38px */
h2 { font-size: 2rem; }       /* 32px */
h3 { font-size: 1.5rem; }     /* 24px */
h4 { font-size: 1.25rem; }    /* 20px */
h5 { font-size: 1.125rem; }   /* 18px */
h6 { font-size: 1rem; }       /* 16px */

@media (max-width: 767.98px) {
  h1 { font-size: 1.75rem; }
  h2 { font-size: 1.5rem; }
  h3 { font-size: 1.25rem; }
}

p { line-height: 1.6; }
a { color: var(--ch-text); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--ch-red); }
img { max-width: 100%; }

/* 小号标签文字：大写+加宽字距（Christies 风格） */
.ch-label {
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ch-muted);
  font-weight: 500;
}

/* ================= 容器 ================= */
.container-ch,
.container-ch-sm {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--bs-gutter-x, 1.5rem);
  padding-left: var(--bs-gutter-x, 1.5rem);
}
.container-ch { max-width: var(--ch-container); }
.container-ch-sm { max-width: 980px; }

/* ================= 区块 ================= */
.ch-section {
  padding: var(--ch-space-10) 0;              /* 64px 上下留白 */
  border-top: 1px solid var(--ch-border);
}
@media (max-width: 767.98px) {
  .ch-section { padding: var(--ch-space-7) 0; } /* 移动 40px */
}

/* 区块标题行：衬线大标题 + 右侧“更多” */
.ch-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--ch-space-3);
  margin-bottom: var(--ch-space-6);
}
.ch-section-title {
  font-family: var(--ch-font-serif);
  font-size: 2rem;
  color: var(--ch-text);
  margin: 0;
}
@media (max-width: 767.98px) {
  .ch-section-title { font-size: 1.5rem; }
}
.ch-section-more {
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ch-muted);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 2px;
  border-bottom: 1px solid transparent;
}
.ch-section-more:hover { color: var(--ch-red); border-bottom-color: var(--ch-red); }
.ch-section-more .icon-plus { color: var(--ch-red); font-size: .85rem; }

/* ================= 卡片（作品/文章/动态/出版物） ================= */
.ch-card {
  background: var(--ch-bg);
  border: 1px solid var(--ch-border);
  border-radius: 6px;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow .25s ease, border-color .25s ease;
}
.ch-card:hover {
  border-color: var(--ch-border);
  box-shadow: var(--ch-shadow);
}
.ch-card-img {
  display: block;
  overflow: hidden;
  background: var(--ch-bg-soft);
  border-radius: 6px 6px 0 0;       /* 顶部圆角与卡片一致，图片上部圆润 */
}
.ch-card-img img {
  width: 100%;
  display: block;
  border-radius: inherit;           /* 继承容器圆角，确保图片本身也被裁圆 */
  transition: transform .4s ease;
}
.ch-card:hover .ch-card-img img { transform: scale(1.03); }
.ch-card-body {
  padding: var(--ch-space-5);
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: var(--ch-space-2);
}
.ch-card-title {
  font-family: var(--ch-font-serif);
  font-size: 1.125rem;
  line-height: 1.35;
  margin: 0;
  color: var(--ch-text);
}
.ch-card-title a { color: inherit; }
.ch-card-title a:hover { color: var(--ch-red); }
.ch-meta {
  font-size: .8125rem;
  color: var(--ch-muted);
  letter-spacing: .02em;
  margin: 0;
}
.ch-price {
  font-family: var(--ch-font-serif);
  font-size: 1.375rem;
  color: var(--ch-red);
  margin: 0;
}
.ch-price small { font-size: .8125rem; }
.ch-card-artist { font-size: .8125rem; color: var(--ch-muted); }
.ch-card-artist a { color: inherit; }
.ch-card-artist a:hover { color: var(--ch-red); }

/* 卡片组间距：Christies 大留白 */
.ch-card-grid { --bs-gutter-y: var(--ch-space-5); }

/* ================= 按钮 ================= */
.btn { border-radius: 6px; font-size: .875rem; letter-spacing: .06em; }
.btn-ch-outline {
  --bs-btn-color: var(--ch-text);
  --bs-btn-border-color: var(--ch-text);
  --bs-btn-hover-color: var(--ch-accent-ink);
  --bs-btn-hover-bg: var(--ch-accent);
  --bs-btn-hover-border-color: var(--ch-accent);
  --bs-btn-active-color: var(--ch-accent-ink);
  --bs-btn-active-bg: var(--ch-accent-dark);
  --bs-btn-active-border-color: var(--ch-accent-dark);
  border-radius: 6px;
  padding: .55rem 1.5rem;
}
.btn-ch-red {
  --bs-btn-color: var(--ch-accent-ink);
  --bs-btn-bg: var(--ch-red);
  --bs-btn-border-color: var(--ch-red);
  --bs-btn-hover-color: var(--ch-accent-ink);
  --bs-btn-hover-bg: var(--ch-accent-dark);
  --bs-btn-hover-border-color: var(--ch-accent-dark);
  border-radius: 6px;
  padding: .55rem 1.5rem;
}
/* 详情页“前一幅/下一幅”式描边链接 */
.ch-prev-next {
  display: inline-block;
  border: 1px solid var(--ch-border);
  padding: .35rem 1rem;
  border-radius: 6px;
  color: var(--ch-text);
  font-size: .875rem;
  transition: all .2s ease;
}
.ch-prev-next:hover {
  border-color: var(--ch-accent);
  background: var(--ch-accent);
  color: var(--ch-accent-ink);
}
/* 点赞按钮 */
.ch-praise {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--ch-red);
  color: var(--ch-accent-ink);
  border: none;
  border-radius: 6px;
  padding: .55rem 1.75rem;
  font-size: .875rem;
  transition: background .2s ease;
}
.ch-praise:hover { background: var(--ch-accent-dark); color: var(--ch-accent-ink); }

/* ================= 导航（公共头部） ================= */
.ch-header {
  background: var(--ch-bg);
  border-bottom: 1px solid var(--ch-border);
}
.ch-header .navbar-brand {
  display: flex;
  align-items: center;
  gap: var(--ch-space-3);
  padding: var(--ch-space-3) 0;
}
.ch-header .navbar-brand img { border-radius: 50%; object-fit: cover; }
.ch-header .brand-name {
  font-family: var(--ch-font-serif);
  font-size: 1.375rem;
  color: var(--ch-text);
  line-height: 1.1;
}
.ch-header .brand-tag {
  font-size: .75rem;
  color: var(--ch-muted);
  letter-spacing: .08em;
  margin: 0;
}
.ch-header .navbar-nav .nav-link {
  color: var(--ch-text);
  font-size: .9375rem;
  letter-spacing: .08em;
  padding: 1.25rem 1rem;
  position: relative;
  border-bottom: 2px solid transparent;
}
.ch-header .navbar-nav .nav-link:hover,
.ch-header .navbar-nav .nav-link.active {
  color: var(--ch-red);
  border-bottom-color: var(--ch-red);
}
.ch-header .dropdown-menu {
  border-radius: 6px;
  border: 1px solid var(--ch-border);
  border-top: 2px solid var(--ch-red);
  box-shadow: var(--ch-shadow);
  background: var(--ch-bg);
  color: var(--ch-text);
  padding: .5rem 0;
  min-width: 160px;
}
.ch-header .dropdown-item {
  font-size: .875rem;
  letter-spacing: .05em;
  padding: .55rem 1.25rem;
  color: var(--ch-text);
}
.ch-header .dropdown-item:hover { background: var(--ch-bg-soft); color: var(--ch-red); }
/* header 右侧常驻按钮组：留言 / 联系 / 主题切换（+ 汉堡）
   已从折叠菜单移出，移动端直接显示在顶栏，桌面端亦常驻 */
.ch-header .nav-extra {
  gap: var(--ch-space-2);
  flex-shrink: 0;
  margin-left: auto;
}
.ch-header .nav-extra .btn {
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  /* 与主题切换按钮统一：灰色边框（深浅主题自适应）；尺寸更紧凑 */
  --bs-btn-border-color: var(--ch-border);
  --bs-btn-hover-border-color: var(--ch-border);
  --bs-btn-active-border-color: var(--ch-border);
  padding: .2rem .6rem;
  font-size: .8125rem;
}
@media (min-width: 768px) {
  .ch-header .nav-extra {
    margin-left: var(--ch-space-4);
  }
  /* 当前页高亮红线与 header 底部灰线垂直重合：
     brand 去掉底部垂直 padding，navbar 高度改由 nav-link（padding 1.25rem）决定，
     nav-link 底边贴齐 header 内容底边；再下拉 1px 使 active 的 2px 红线底边
     与 header 底部 1px 灰线底边完全重合（红线覆盖灰线段）。 */
  .ch-header .navbar-brand { padding: var(--ch-space-3) 0 0; }
  .ch-header .navbar-nav .nav-link { margin-bottom: -1px; }
}
@media (max-width: 767.98px) {
  .ch-header .nav-extra { gap: var(--ch-space-2); }
}
/* 深浅主题切换按钮（header 右上角，与留言/联系按钮同款灰色边框、更小巧） */
.ch-theme-toggle {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ch-border);
  background: var(--ch-bg);
  color: var(--ch-text);
  font-size: .8125rem;
  border-radius: 50%;
  cursor: pointer;
  line-height: 1;
  transition: all .2s ease;
}
.ch-theme-toggle:hover { border-color: var(--ch-red); color: var(--ch-red); }
.ch-theme-toggle:focus { outline: none; box-shadow: 0 0 0 .2rem var(--ch-focus-ring); }
/* 汉堡按钮：更小巧 + 土黄边框/图标（深浅两套均清晰） */
.ch-header .navbar-toggler {
  border: 1px solid var(--ch-red);
  border-radius: 6px;
  padding: .3rem .45rem;
  color: var(--ch-red);
}
.ch-header .navbar-toggler:focus { box-shadow: none; }
.ch-header .navbar-toggler-icon {
  width: 1.05em;
  height: 1.05em;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23d9a441' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
/* 移动端导航：左侧 offcanvas 抽屉（双列 + 边框网格） */
.ch-header .offcanvas {
  background: var(--ch-bg-soft);
  color: var(--ch-text);
  --bs-offcanvas-width: 80vw;
}
.ch-header .offcanvas .offcanvas-title {
  font-family: var(--ch-font-serif);
  font-size: 1rem;
  letter-spacing: .1em;
  color: var(--ch-text);
}
.ch-header .offcanvas .btn-close {
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23d9a441'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
}
@media (min-width: 768px) {
  .ch-header .offcanvas { background: transparent; flex-grow: 1; }
  .ch-header .offcanvas .offcanvas-body {
    display: flex;
    justify-content: center;
  }
}
@media (max-width: 767.98px) {
  .ch-header .offcanvas .navbar-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;          /* 一行两个 */
    gap: var(--ch-space-2);                    /* 项间留白（无分割线） */
    background: transparent;
    border: none;
    width: 100%;
    margin: 0;
  }
  .ch-header .offcanvas .nav-item {
    background: var(--ch-bg);
    border: 1px solid var(--ch-border);        /* 每项灰色描边（深浅主题自适应） */
  }
  .ch-header .offcanvas .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .75rem .5rem;
    font-size: .875rem;
    letter-spacing: .1em;
    color: var(--ch-text);
    border: none;
    border-left: none;
    border-bottom: none;
  }
  .ch-header .offcanvas .nav-link:hover { background: var(--ch-bg); color: var(--ch-red); }
  .ch-header .offcanvas .nav-link.active {
    background: var(--ch-red);
    color: var(--ch-accent-ink);
  }
  .ch-header .offcanvas .nav-item.dropdown { position: relative; }
  .ch-header .offcanvas .nav-item.dropdown .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    min-width: 0;
    margin: 0;
    border-radius: 6px;
    border: 1px solid var(--ch-border);
    border-top: 2px solid var(--ch-red);
    background: var(--ch-bg);
    box-shadow: var(--ch-shadow);
    padding: .4rem 0;
  }
  .ch-header .offcanvas .dropdown-menu .dropdown-item {
    padding: .55rem 1rem;
    text-align: center;
    font-size: .875rem;
  }
}

/* ================= 轮播（首页 banner） ================= */
.ch-carousel {
  background: var(--ch-bg-soft);
  border-radius: 6px;
  overflow: hidden;                 /* 让图/指示器/箭头随容器圆角裁剪 */
}
.ch-carousel .carousel-item img {
  width: 100%;
  display: block;
}
.ch-carousel .ch-carousel-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: var(--ch-space-7) var(--bs-gutter-x, 1.5rem);
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 100%);
  text-align: left;
}
.ch-carousel .ch-carousel-caption .cap-kicker {
  font-size: .8125rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.85);
  margin-bottom: .35rem;
}
.ch-carousel .ch-carousel-caption .cap-title {
  font-family: var(--ch-font-serif);
  font-size: 2.25rem;
  color: #fff;
  line-height: 1.15;
  margin-bottom: .25rem;
}
.ch-carousel .ch-carousel-caption .cap-desc {
  font-size: .9375rem;
  color: rgba(255,255,255,.85);
}
@media (max-width: 767.98px) {
  .ch-carousel .ch-carousel-caption { padding: var(--ch-space-4) var(--bs-gutter-x, 1rem); }
  .ch-carousel .ch-carousel-caption .cap-title { font-size: 1.375rem; }
  .ch-carousel .ch-carousel-caption .cap-kicker { font-size: .6875rem; }
}
.ch-carousel .carousel-control-prev,
.ch-carousel .carousel-control-next {
  width: 12%;
  opacity: 0;
  transition: opacity .3s ease;
}
.ch-carousel:hover .carousel-control-prev,
.ch-carousel:hover .carousel-control-next { opacity: .7; }
.ch-carousel .carousel-control-prev-icon,
.ch-carousel .carousel-control-next-icon {
  width: 1.5rem;
  height: 1.5rem;
}
/* 指示器：细横线 */
.ch-carousel .carousel-indicators [data-bs-target] {
  width: 28px;
  height: 2px;
  border-radius: 6px;
  background-color: #fff;
  opacity: .4;
}
.ch-carousel .carousel-indicators .active { opacity: 1; background-color: var(--ch-red); }

/* ================= 手风琴（FAQ） ================= */
.ch-accordion .accordion-item {
  border: none;
  border-top: 1px solid var(--ch-border);
  background: transparent;
}
.ch-accordion .accordion-item:last-child { border-bottom: 1px solid var(--ch-border); }
.ch-accordion .accordion-header { background: transparent; }
.ch-accordion .accordion-button {
  font-family: var(--ch-font-serif);
  font-size: 1.125rem;
  color: var(--ch-text);
  background: transparent;
  box-shadow: none;
  padding: 1.25rem 0;
  letter-spacing: -0.01em;
}
.ch-accordion .accordion-button:not(.collapsed) { color: var(--ch-red); background: transparent; }
.ch-accordion .accordion-button:focus { box-shadow: none; }
.ch-accordion .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23222'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
  width: .9rem;
  height: .9rem;
}
/* 深色下箭头 svg 硬编码 #222 不可见，整体反白 */
[data-theme="dark"] .ch-accordion .accordion-button::after { filter: invert(1); }
.ch-accordion .accordion-button:not(.collapsed)::after {
  filter: invert(18%) sepia(94%) saturate(5100%) hue-rotate(356deg) brightness(92%) contrast(104%);
}
.ch-accordion .accordion-body { padding: 0 0 1.5rem; color: var(--ch-muted); font-size: .9375rem; }

/* ================= 表单 ================= */
.form-control,
.form-select {
  border-radius: 6px;
  border: 1px solid var(--ch-border);
  padding: .65rem .9rem;
  font-size: .9375rem;
  color: var(--ch-text);
  background-color: var(--ch-bg);
}
.form-control:focus,
.form-select:focus {
  border-color: var(--ch-accent);
  box-shadow: 0 0 0 .2rem var(--ch-focus-ring);
}
.form-label {
  font-size: .8125rem;
  letter-spacing: .08em;
  color: var(--ch-muted);
  margin-bottom: .35rem;
}
/* 搜索框 */
.ch-search .input-group-text {
  border-radius: 6px;
  background: var(--ch-bg);
  border-color: var(--ch-border);
  color: var(--ch-muted);
}

/* ================= 弹窗（留言） ================= */
.modal-content {
  border-radius: 6px;
  border: 1px solid var(--ch-border);
}
.modal-header { border-bottom: 1px solid var(--ch-border); padding: 1.25rem 1.75rem; }
.modal-header .modal-title { font-family: var(--ch-font-serif); font-size: 1.5rem; }
.modal-body { padding: 1.75rem; }
.modal-footer { border-top: 1px solid var(--ch-border); padding: 1rem 1.75rem; }
.modal-backdrop.show { opacity: .5; }
.captcha-img { cursor: pointer; border: 1px solid var(--ch-border); height: 42px; }

/* ================= 分页（ThinkPHP render 输出 ul.nav.nav-page） ================= */
.nav.nav-page {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: var(--ch-space-6) 0 var(--ch-space-4);
  padding: 0;
  list-style: none;
}
.nav.nav-page li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 .75rem;
  border: 1px solid var(--ch-border);
  color: var(--ch-text);
  font-size: .875rem;
  transition: all .2s ease;
}
.nav.nav-page li a:hover {
  border-color: var(--ch-accent);
  background: var(--ch-accent);
  color: var(--ch-accent-ink);
}
.nav.nav-page li.active a {
  background: var(--ch-red);
  border-color: var(--ch-red);
  color: var(--ch-accent-ink);
}
.nav.nav-page li.disabled a {
  color: var(--ch-faint);
  cursor: not-allowed;
  background: var(--ch-bg-soft);
}

/* ================= 页脚（公共底部） ================= */
.ch-footer {
  border-top: 1px solid var(--ch-border);
  background: var(--ch-bg);
  padding: var(--ch-space-10) 0 var(--ch-space-6);
  margin-top: var(--ch-space-10);
}
@media (max-width: 767.98px) {
  .ch-footer { padding: var(--ch-space-7) 0 var(--ch-space-5); }
}
.ch-footer-title {
  font-family: var(--ch-font-serif);
  font-size: 1.25rem;
  color: var(--ch-text);
  margin-bottom: var(--ch-space-3);
}
.ch-footer h6 {
  font-family: var(--ch-font-serif);
  font-size: .9375rem;
  letter-spacing: .1em;
  margin-bottom: var(--ch-space-4);
}
.ch-footer p, .ch-footer a { font-size: .875rem; color: var(--ch-muted); }
.ch-footer a:hover { color: var(--ch-red); }
.ch-footer .social-icons { display: flex; gap: var(--ch-space-3); }
.ch-footer .social-icons a {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ch-border);
  border-radius: 6px;
  color: var(--ch-text);
  font-size: 1.05rem;
  transition: all .2s ease;
}
.ch-footer .social-icons a:hover {
  background: var(--ch-accent);
  border-color: var(--ch-accent);
  color: var(--ch-accent-ink);
}
.ch-footer .copyright {
  border-top: 1px solid var(--ch-border-soft);
  margin-top: var(--ch-space-6);
  padding-top: var(--ch-space-4);
  font-size: .8125rem;
  color: var(--ch-faint);
  display: flex;
  flex-wrap: wrap;
  gap: var(--ch-space-3);
  align-items: center;
}
.ch-footer .copyright a { font-size: .8125rem; color: var(--ch-faint); }
.ch-footer .copyright a:hover { color: var(--ch-red); }

/* ================= 返回顶部 ================= */
.ch-top-btn {
  position: fixed;
  right: 28px;
  bottom: 48px;
  z-index: 1050;
  width: 44px;
  height: 44px;
  display: none;
  align-items: center;
  justify-content: center;
  background: var(--ch-bg);
  border: 1px solid var(--ch-border);
  border-radius: 6px;
  color: var(--ch-text);
  font-size: 1rem;
  cursor: pointer;
  transition: all .2s ease;
}
.ch-top-btn:hover { background: var(--ch-accent); border-color: var(--ch-accent); color: var(--ch-accent-ink); }

/* ================= 子导航（年份筛选 / 艺术家页 tab，原 navsub2） ================= */
.ch-subnav {
  border-bottom: 1px solid var(--ch-border);
  margin-bottom: var(--ch-space-6);
  overflow-x: auto;                 /* 窄屏横向滚动，保持单行 */
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;            /* 隐藏滚动条，视觉更干净 */
}
.ch-subnav::-webkit-scrollbar { display: none; }
/* ul 可能直接带 .ch-subnav（年份导航 ul.ch-subnav），也可能由 div.ch-subnav 包裹
   （艺术家页 div.ch-subnav > ul）。仅“第一层列表”强制 flex 单行；
   嵌套的 .dropdown-menu（如“其它”下拉）不参与单行，保持独立折叠菜单。 */
.ch-subnav,
.ch-subnav > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;                /* 强制单行，绝不折行 */
  gap: var(--ch-space-6);
  min-width: max-content;           /* 内容宽度自适应，超出由外层横向滚动 */
}
/* “其它”下拉菜单：恢复 Bootstrap 独立下拉，不排进单行 */
.ch-subnav .dropdown-menu {
  position: absolute;
  display: none;                    /* 默认收起，点击展开 */
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0;
  min-width: 10rem;
  padding: .5rem 0;
  margin: 0;
  background: var(--ch-bg);
  color: var(--ch-text);
  border: 1px solid var(--ch-border);
  border-top: 2px solid var(--ch-red);
}
.ch-subnav .dropdown-menu.show { display: flex; }
.ch-subnav li {
  flex: 0 0 auto;                   /* 不收缩、不换行 */
  white-space: nowrap;
}
.ch-subnav li a {
  display: block;
  padding: .9rem 0;
  font-size: .9375rem;
  letter-spacing: .08em;
  color: var(--ch-muted);
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}
.ch-subnav li a:hover,
.ch-subnav li a.active { color: var(--ch-text); border-bottom-color: var(--ch-red); }

/* ================= 青绿兜底（清除 Bootstrap 默认蓝，强调色统一为青绿） ================= */
.btn-link,
.link-primary, .link-secondary, .link-success, .link-danger, .link-warning, .link-info, .link-light, .link-dark,
.text-primary, .text-primary-emphasis,
.dropdown-item, .nav-link, .page-link {
  color: var(--ch-text);
}
.btn-link:hover, .nav-link:hover, .page-link:hover, .dropdown-item:hover {
  color: var(--ch-red);
}
/* 选中文字 / 键盘焦点环：随主题变量 */
::selection { background-color: var(--ch-selection); color: var(--ch-text); }
:focus-visible { outline-color: var(--ch-focus-ring); }
/* 复选框 / 单选：选中态由蓝转青绿 */
.form-check-input:checked { background-color: var(--ch-red); border-color: var(--ch-red); }
.form-check-input:focus { border-color: var(--ch-red); box-shadow: 0 0 0 .2rem var(--ch-focus-ring); }

/* ================= 通用辅助 ================= */
.text-red { color: var(--ch-red) !important; }
.text-dot { color: var(--ch-red) !important; }
.text-gray { color: var(--ch-muted) !important; }
.bg-soft { background: var(--ch-bg-soft) !important; }
.border-ch { border: 1px solid var(--ch-border) !important; }
.border-top-ch { border-top: 1px solid var(--ch-border) !important; }
.border-bottom-ch { border-bottom: 1px solid var(--ch-border) !important; }

/* 原站自定义块（语义化保留，Christies 化） */
.byicon {
  font-size: .75rem;
  background: url(../images/byicon.png) no-repeat left center;
  padding-left: 20px;
}
.titleblock { min-height: 140px; }
.titleblock1 { min-height: 110px; }
.jiage { height: 40px; }
.paihang ul { margin: 0; padding: 0; list-style: none; }
.paihang ul li {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 42px;
  font-size: .875rem;
  border-bottom: 1px dashed var(--ch-border-soft);
}
.paihang ul li a { color: var(--ch-text); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.paihang ul li a:hover { color: var(--ch-red); }
.copyEM { font-style: normal; }
.img-border {
  border: 1px solid var(--ch-border);
  border-radius: 6px;
  padding: 4px;
  background: var(--ch-bg);
}

/* “加载更多”（作品列表页） */
.loadmore-wrapper { text-align: center; margin: var(--ch-space-6) 0; }
.loadmore-btn {
  border: 1px solid var(--ch-text);
  border-radius: 6px;
  background: transparent;
  color: var(--ch-text);
  padding: .6rem 2.25rem;
  font-size: .875rem;
  letter-spacing: .1em;
  transition: all .2s ease;
}
.loadmore-btn:hover { background: var(--ch-accent); border-color: var(--ch-accent); color: var(--ch-accent-ink); }
.items-count { display: block; margin-top: 12px; font-size: .8125rem; color: var(--ch-muted); }
.no-data {
  width: 100%;
  padding: 48px 0;
  text-align: center;
  color: var(--ch-muted);
  font-size: .9375rem;
}

/* 图片盒（详情页主图） */
.ch-img-box {
  border: 1px solid var(--ch-border);
  border-radius: 6px;
  background: var(--ch-bg-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--ch-space-6);
  min-height: 420px;
}
.ch-img-box img { max-width: 100%; }

/* 详情正文内容块 */
.ch-content {
  border: 1px solid var(--ch-border);
  background: var(--ch-bg);
  padding: var(--ch-space-6);
  line-height: 1.9;
  font-size: .9375rem;
}
@media (max-width: 767.98px) {
  .ch-content { padding: var(--ch-space-4); }
}

/* 作品详情右侧信息 */
.ch-work-meta { text-align: center; }
.ch-work-meta .ch-no {
  text-align: right;
  font-size: .8125rem;
  color: var(--ch-muted);
  letter-spacing: .08em;
}
.ch-work-meta .ch-sub { font-size: .9375rem; color: var(--ch-muted); margin: .25rem 0; }
.ch-work-meta .ch-stats { font-size: .8125rem; color: var(--ch-muted); }
.ch-qrcode {
  border: 1px solid var(--ch-border);
  padding: 8px;
  background: #fff;   /* 二维码保持白底保证可扫，不随主题 */
}

/* 倒计时（销售页） */
.timespan { display: flex; gap: 6px; align-items: center; justify-content: center; margin-top: 8px; font-size: .8125rem; color: var(--ch-muted); }
.timespan .timeday, .timespan .timehour, .timespan .timeminute, .timespan .timeseconds { color: var(--ch-red); font-weight: 600; }

/* 删除线（原价） */
del { color: var(--ch-faint); }

/* 排行序号 */
.ch-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  background: var(--ch-bg-soft);
  font-size: .75rem;
  color: var(--ch-muted);
}
