/* ==========================================================================
   主题：雅筑 atelier —— 编辑美学（暖白纸感 + 衬线大标题 + 黄铜细线）
   结构：1 令牌 · 2 基础排版 · 3 顶栏与导航 · 4 首页各段 · 5 内页通用 · 6 页脚 · 7 响应式
   所有规则限定在 body.theme-atelier 下。
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 设计令牌
   -------------------------------------------------------------------------- */
body.theme-atelier {
    --at-paper: #f7f4ee;
    --at-paper-2: #fffdf9;
    --at-ink: #14130f;
    --at-ink-soft: #3d3a31;
    --at-muted: #7b7568;
    --at-brass: #a8792f;
    --at-line: #e3ddd1;
    --at-line-2: #cdc4b2;
    --at-serif: Georgia, 'Times New Roman', 'Songti SC', 'Noto Serif SC', 'Source Han Serif SC', serif;
    --at-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', Roboto, sans-serif;
}

/* --------------------------------------------------------------------------
   2. 基础排版
   -------------------------------------------------------------------------- */
body.theme-atelier {
    color: var(--at-ink);
    background: var(--at-paper);
    font-family: var(--at-sans);
    -webkit-font-smoothing: antialiased;
}
body.theme-atelier a { color: var(--at-ink); }
body.theme-atelier ::selection { background: rgba(168, 121, 47, .22); }

body.theme-atelier .at-kicker {
    display: inline-block;
    color: var(--at-brass);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: 2.2px;
    text-transform: uppercase;
}
body.theme-atelier .at-title {
    margin: 12px 0 0;
    font-family: var(--at-serif);
    font-size: clamp(1.6rem, 3vw, 2.35rem);
    font-weight: 600;
    letter-spacing: -.3px;
    line-height: 1.22;
    color: var(--at-ink);
}
body.theme-atelier .at-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 3px;
    border-bottom: 1px solid var(--at-line-2);
    color: var(--at-ink);
    font-size: .84rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    transition: border-color .25s, color .25s, gap .25s;
}
body.theme-atelier .at-link:hover { border-color: var(--at-brass); color: var(--at-brass); gap: 13px; }
body.theme-atelier .at-link--lg { font-size: .92rem; }
body.theme-atelier .at-link--quiet { color: var(--at-muted); border-color: transparent; }
body.theme-atelier .at-link--quiet:hover { color: var(--at-ink); border-color: var(--at-ink); }

/* --------------------------------------------------------------------------
   3. 顶栏与导航
   -------------------------------------------------------------------------- */
body.theme-atelier .at-topbar {
    background: var(--at-paper);
    border-bottom: 1px solid var(--at-line);
    color: var(--at-muted);
    font-size: .7rem;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}
body.theme-atelier .at-topbar .container { min-height: 40px; }
body.theme-atelier .at-topbar__left span { margin-right: 26px; }
body.theme-atelier .at-topbar__right { display: flex; align-items: center; gap: 22px; }
body.theme-atelier .at-topbar__kicker { color: var(--at-brass); }
body.theme-atelier .at-topbar a { color: var(--at-muted); text-decoration: none; border-bottom: 1px solid var(--at-line-2); }
body.theme-atelier .at-topbar a:hover { color: var(--at-ink); }

body.theme-atelier .at-nav {
    z-index: 1040;
    padding: 14px 0;
    background: var(--at-paper-2);
    border-bottom: 1px solid var(--at-ink);
}
body.theme-atelier .at-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
body.theme-atelier .at-brand__mark {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--at-ink);
    font-family: var(--at-serif);
    font-size: 1.25rem;
}
body.theme-atelier .at-brand__name {
    display: flex;
    flex-direction: column;
    font-family: var(--at-serif);
    font-size: 1.24rem;
    font-weight: 600;
    line-height: 1.15;
    color: var(--at-ink);
}
body.theme-atelier .at-brand__name em {
    font-style: normal;
    font-family: var(--at-sans);
    font-size: .62rem;
    font-weight: 500;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: var(--at-muted);
}
body.theme-atelier .at-toggler { padding: 2px 10px; border: 1px solid var(--at-ink); border-radius: 0; color: var(--at-ink); font-size: 1.1rem; }
body.theme-atelier .at-nav__list { align-items: center; }
body.theme-atelier .at-nav__list .nav-link {
    position: relative;
    padding: 10px 14px;
    color: var(--at-ink-soft);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
body.theme-atelier .at-nav__list .nav-link:hover,
body.theme-atelier .at-nav__list .nav-link.is-active { color: var(--at-brass); }
body.theme-atelier .at-nav__list .nav-link.is-active::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 2px;
    height: 1px;
    background: var(--at-brass);
}
body.theme-atelier .at-nav__cta {
    margin-left: 12px;
    padding-bottom: 3px;
    border-bottom: 1px solid var(--at-ink);
    color: var(--at-ink);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
}
body.theme-atelier .at-nav__cta:hover { color: var(--at-brass); border-color: var(--at-brass); }
/* 产品目录（横向展开的纸感面板） */
body.theme-atelier .at-nav__item { position: static; }
body.theme-atelier .at-mega {
    left: 0;
    right: 0;
    width: 100%;
    margin: 14px 0 0;
    padding: 34px 0 30px;
    background: var(--at-paper-2);
    border: 1px solid var(--at-ink);
    border-radius: 0;
    box-shadow: none;
    max-height: 76vh;
    overflow-y: auto;
}
body.theme-atelier .at-mega__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 18px;
    margin-bottom: 26px;
    border-bottom: 1px solid var(--at-line-2);
}
body.theme-atelier .at-mega__col { padding: 0 20px 22px 0; }
body.theme-atelier .at-mega__cat {
    display: block;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--at-line);
    font-family: var(--at-serif);
    font-size: 1.02rem;
    font-weight: 600;
    color: var(--at-ink);
    text-decoration: none;
}
body.theme-atelier .at-mega__cat:hover { color: var(--at-brass); }
body.theme-atelier .at-mega__list { list-style: none; margin: 0; padding: 0; }
body.theme-atelier .at-mega__list a { display: block; padding: 4px 0; color: var(--at-muted); font-size: .84rem; text-decoration: none; transition: color .2s, padding-left .2s; }
body.theme-atelier .at-mega__list a:hover { color: var(--at-ink); padding-left: 6px; }
/* 系列被折叠时给个明确的「还有 N 个系列」入口，而不是让列表默默截断 */
body.theme-atelier .at-mega__more {
    display: inline-block;
    margin-top: 10px;
    padding-bottom: 2px;
    border-bottom: 1px solid var(--at-line-2);
    color: var(--at-muted);
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .6px;
    text-decoration: none;
}
body.theme-atelier .at-mega__more:hover { color: var(--at-brass); border-color: var(--at-brass); }
/* 分类超过 4 个时面板会排成多行：给第二行起的分割线，避免看起来是上一列系列的延续 */
/* 992-1199px 上面板排 3 列、1200px 起排 4 列：各自给第二行起的分割线 */
@media (min-width: 992px) and (max-width: 1199.98px) {
    body.theme-atelier .at-mega .row > .at-mega__col:nth-child(n + 4) {
        padding-top: 20px;
        border-top: 1px solid var(--at-line);
    }
}
@media (min-width: 1200px) {
    body.theme-atelier .at-mega .row > .at-mega__col:nth-child(n + 5) {
        padding-top: 22px;
        border-top: 1px solid var(--at-line);
    }
}

/* --------------------------------------------------------------------------
   4. 首页各段
   -------------------------------------------------------------------------- */
body.theme-atelier .at-hero { padding: 88px 0 78px; }
body.theme-atelier .at-hero__title {
    margin: 20px 0 22px;
    font-family: var(--at-serif);
    font-size: clamp(2rem, 4.2vw, 3.3rem);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.6px;
}
body.theme-atelier .at-hero__lead { max-width: 470px; color: var(--at-ink-soft); font-size: 1rem; line-height: 1.95; }
body.theme-atelier .at-hero__links { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 32px; }
body.theme-atelier .at-hero__figure { position: relative; padding: 0 18px 18px 0; }
body.theme-atelier .at-hero__figure img { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 16 / 11; object-fit: cover; }
body.theme-atelier .at-hero__frame { position: absolute; z-index: 0; inset: 18px 0 0 18px; border: 1px solid var(--at-brass); }

body.theme-atelier .at-section { padding: 78px 0; }
body.theme-atelier .at-section--alt { background: var(--at-paper-2); border-top: 1px solid var(--at-line); border-bottom: 1px solid var(--at-line); }
body.theme-atelier .at-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 26px;
    padding-bottom: 22px;
    margin-bottom: 44px;
    border-bottom: 1px solid var(--at-line-2);
}

/* 产品卡片（编号 + 上图下注） */
body.theme-atelier .at-card { display: block; padding-bottom: 20px; border-bottom: 1px solid var(--at-line-2); color: inherit; text-decoration: none; transition: border-color .3s; }
body.theme-atelier .at-card:hover { border-color: var(--at-ink); }
body.theme-atelier .at-card__num { display: block; margin-bottom: 14px; font-family: var(--at-serif); font-size: .82rem; letter-spacing: 1.6px; color: var(--at-brass); }
body.theme-atelier .at-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #efeae0; }
body.theme-atelier .at-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.2, .7, .2, 1); }
body.theme-atelier .at-card:hover .at-card__media img { transform: scale(1.045); }
body.theme-atelier .at-card__ph { display: grid; place-items: center; height: 100%; color: var(--at-line-2); font-size: 1.8rem; }
body.theme-atelier .at-card__cat { display: block; margin: 18px 0 7px; color: var(--at-muted); font-size: .7rem; letter-spacing: 1.8px; text-transform: uppercase; }
body.theme-atelier .at-card__title { display: block; font-family: var(--at-serif); font-size: 1.28rem; font-weight: 600; }
body.theme-atelier .at-card__desc { display: block; margin-top: 9px; color: var(--at-muted); font-size: .86rem; line-height: 1.8; }

/* 案例卡片（图注在下方） */
body.theme-atelier .at-case { display: block; color: inherit; text-decoration: none; }
body.theme-atelier .at-case__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #efeae0; }
body.theme-atelier .at-case__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.2, .7, .2, 1); }
body.theme-atelier .at-case:hover .at-case__media img { transform: scale(1.035); }
body.theme-atelier .at-case__body { display: block; padding-top: 20px; }
body.theme-atelier .at-case__cat { display: block; color: var(--at-brass); font-size: .7rem; letter-spacing: 1.8px; text-transform: uppercase; }
body.theme-atelier .at-case__title { display: block; margin-top: 12px; font-family: var(--at-serif); font-size: 1.42rem; font-weight: 600; }
body.theme-atelier .at-case:hover .at-case__title { color: var(--at-brass); }
body.theme-atelier .at-case__desc { display: block; margin-top: 10px; max-width: 560px; color: var(--at-muted); font-size: .88rem; line-height: 1.85; }
body.theme-atelier .at-case__meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 14px; color: var(--at-ink-soft); font-size: .76rem; letter-spacing: 1.2px; text-transform: uppercase; }
/* 优势（编号清单，细线分隔） */
body.theme-atelier .at-features { border-top: 1px solid var(--at-line-2); }
body.theme-atelier .at-feature { display: flex; align-items: flex-start; gap: 22px; padding: 30px 20px 28px 0; border-bottom: 1px solid var(--at-line-2); }
body.theme-atelier .at-feature__num { flex: 0 0 44px; font-family: var(--at-serif); font-size: .95rem; letter-spacing: 1.6px; color: var(--at-brass); }
body.theme-atelier .at-feature__body { flex: 1 1 auto; }
body.theme-atelier .at-feature__title { display: block; font-family: var(--at-serif); font-size: 1.22rem; font-weight: 600; }
body.theme-atelier .at-feature__desc { margin: 9px 0 0; max-width: 520px; color: var(--at-muted); font-size: .88rem; line-height: 1.85; }
body.theme-atelier .at-feature__icon { flex: 0 0 auto; color: var(--at-line-2); font-size: 1.5rem; }

/* 数字与合作伙伴 */
body.theme-atelier .at-section--figures { border-top: 1px solid var(--at-line-2); }
body.theme-atelier .at-figures {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 28px;
    border-top: 1px solid var(--at-line-2);
    border-bottom: 1px solid var(--at-line-2);
}
body.theme-atelier .at-figure { padding: 30px 22px 26px; border-right: 1px solid var(--at-line); }
body.theme-atelier .at-figure:last-child { border-right: 0; }
body.theme-atelier .at-figure__num { display: block; font-family: var(--at-serif); font-size: clamp(1.7rem, 2.6vw, 2.3rem); font-weight: 600; }
body.theme-atelier .at-figure__label { display: block; margin-top: 8px; color: var(--at-muted); font-size: .7rem; letter-spacing: 1.8px; text-transform: uppercase; }
body.theme-atelier .at-partners { margin-top: 58px; }
body.theme-atelier .at-partners__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 38px;
    margin-top: 22px;
    padding-top: 28px;
    border-top: 1px solid var(--at-line-2);
}
body.theme-atelier .at-partner img { max-height: 40px; filter: grayscale(1); opacity: .5; transition: filter .3s, opacity .3s; }
body.theme-atelier .at-partner:hover img { filter: none; opacity: 1; }

/* 联系我们 */
body.theme-atelier .at-cta { padding: 92px 0 98px; }
body.theme-atelier .at-cta__box { max-width: 780px; margin: 0 auto; padding: 58px 40px; border: 1px solid var(--at-brass); text-align: center; }
body.theme-atelier .at-cta__title { margin: 18px 0 14px; font-family: var(--at-serif); font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 600; }
body.theme-atelier .at-cta__sub { max-width: 540px; margin: 0 auto; color: var(--at-muted); line-height: 1.9; }
body.theme-atelier .at-cta__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 30px; margin-top: 32px; }
body.theme-atelier .at-btn {
    display: inline-block;
    padding: 14px 32px;
    border: 1px solid var(--at-ink);
    background: var(--at-ink);
    color: var(--at-paper-2) !important;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s, border-color .25s, transform .25s;
}
body.theme-atelier .at-btn:hover { background: var(--at-brass); border-color: var(--at-brass); transform: translateY(-2px); }
/* --------------------------------------------------------------------------
   6. 页脚与回到顶部
   -------------------------------------------------------------------------- */
/* 带 !important：style.css 里有 `footer { background: #1a1a2e !important }`，纸感底色要盖掉它 */
body.theme-atelier .at-footer { padding: 66px 0 24px; background: var(--at-paper-2) !important; border-top: 1px solid var(--at-ink); }
body.theme-atelier .at-footer__brand { margin-bottom: 16px; font-family: var(--at-serif); font-size: 1.55rem; font-weight: 600; }
body.theme-atelier .at-footer__brand em { font-style: normal; color: var(--at-muted); }
body.theme-atelier .at-footer__note { max-width: 360px; color: var(--at-muted); font-size: .87rem; line-height: 1.9; }
body.theme-atelier .at-social { display: flex; gap: 10px; margin-top: 20px; }
body.theme-atelier .at-social img { width: 36px; height: 36px; padding: 5px; border: 1px solid var(--at-line); border-radius: 50%; background: #fff; object-fit: contain; transition: transform .2s; }
body.theme-atelier .at-social a:hover img, body.theme-atelier .at-social__trigger:hover img { transform: translateY(-3px); }
body.theme-atelier .at-social__trigger { display: inline-block; cursor: pointer; }
body.theme-atelier .at-footer__title { margin: 0 0 18px; color: var(--at-ink); font-size: .7rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
body.theme-atelier .at-footer__links { list-style: none; margin: 0; padding: 0; }
body.theme-atelier .at-footer__links li { margin-bottom: 11px; color: var(--at-muted); font-size: .86rem; }
body.theme-atelier .at-footer__links a { color: var(--at-muted); text-decoration: none; transition: color .2s, padding-left .2s; }
body.theme-atelier .at-footer__links a:hover { color: var(--at-brass); padding-left: 5px; }
body.theme-atelier .at-footer__hours { line-height: 1.8; white-space: pre-line; }
body.theme-atelier .at-footer__mark {
    margin-top: 52px;
    font-family: var(--at-serif);
    font-size: clamp(3rem, 13vw, 9.5rem);
    line-height: .85;
    letter-spacing: -.02em;
    color: rgba(20, 19, 15, .06);
    white-space: nowrap;
    overflow: hidden;
}
body.theme-atelier .at-footer__bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 14px;
    padding-top: 20px;
    border-top: 1px solid var(--at-line-2);
    color: var(--at-muted);
}
body.theme-atelier .at-footer__bottom a { color: var(--at-muted); text-decoration: none; }
body.theme-atelier .at-footer__bottom a:hover { color: var(--at-brass); }
body.theme-atelier .at-backtop {
    position: fixed;
    right: 26px;
    bottom: 26px;
    z-index: 1030;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--at-ink);
    border-radius: 0;
    background: var(--at-paper-2);
    color: var(--at-ink);
    font-size: 1rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .3s, visibility .3s, transform .3s, background .25s, color .25s;
}
body.theme-atelier .at-backtop.visible { opacity: 1; visibility: visible; transform: none; }
body.theme-atelier .at-backtop:hover { background: var(--at-ink); color: var(--at-paper-2); }
/* --------------------------------------------------------------------------
   5. 内页通用（产品列表 / 详情 / 案例 / 关于 / 联系 / 隐私政策）
   -------------------------------------------------------------------------- */
body.theme-atelier .page-header {
    padding: 84px 0 54px;
    background: var(--at-paper-2);
    border-bottom: 1px solid var(--at-ink);
}
body.theme-atelier .page-header::before { display: none; }
body.theme-atelier .page-header h1 { color: var(--at-ink); font-family: var(--at-serif); font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 600; letter-spacing: -.3px; }
body.theme-atelier .page-header .lead { color: var(--at-muted); }
body.theme-atelier .breadcrumb { --bs-breadcrumb-divider-color: var(--at-line-2); margin-bottom: 14px; font-size: .74rem; letter-spacing: 1.4px; text-transform: uppercase; }
body.theme-atelier .breadcrumb-item a { color: var(--at-muted); text-decoration: none; }
body.theme-atelier .breadcrumb-item a:hover { color: var(--at-brass); }
body.theme-atelier .breadcrumb-item.active { color: var(--at-ink); }

body.theme-atelier .section-title { font-family: var(--at-serif); font-weight: 600; letter-spacing: -.3px; }
body.theme-atelier .section-title::after { width: 44px; height: 1px; background: var(--at-brass); }
body.theme-atelier .section-subtitle { color: var(--at-muted); }

body.theme-atelier .bg-light { background-color: var(--at-paper-2) !important; }
body.theme-atelier .bg-white { background-color: var(--at-paper-2) !important; }
body.theme-atelier .bg-primary { background-color: var(--at-ink) !important; background-image: none; }
body.theme-atelier .text-muted { color: var(--at-muted) !important; }
body.theme-atelier .text-primary { color: var(--at-brass) !important; }
body.theme-atelier .text-white-50 { color: rgba(247, 244, 238, .6) !important; }
body.theme-atelier .border, body.theme-atelier .border-top, body.theme-atelier .border-bottom { border-color: var(--at-line) !important; }
body.theme-atelier hr { border-color: var(--at-line-2); opacity: 1; }
body.theme-atelier .shadow-sm { box-shadow: none !important; }
body.theme-atelier .card { border: 1px solid var(--at-line); border-radius: 0; background: var(--at-paper-2); color: var(--at-ink); }
body.theme-atelier .card-body { color: var(--at-ink); }
body.theme-atelier .table { --bs-table-color: var(--at-ink); --bs-table-bg: transparent; --bs-table-border-color: var(--at-line); }
body.theme-atelier .alert { border: 1px solid var(--at-line-2); border-radius: 0; background: var(--at-paper-2); color: var(--at-ink); }
body.theme-atelier .alert a { color: var(--at-brass); }

/* 按钮（内页的 Bootstrap 按钮改造成方角纸感） */
body.theme-atelier .btn { padding: 10px 22px; border-radius: 0; font-size: .84rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
body.theme-atelier .btn-primary {
    --bs-btn-bg: var(--at-ink);
    --bs-btn-border-color: var(--at-ink);
    --bs-btn-hover-bg: var(--at-brass);
    --bs-btn-hover-border-color: var(--at-brass);
    --bs-btn-active-bg: var(--at-brass);
    --bs-btn-active-border-color: var(--at-brass);
    --bs-btn-color: var(--at-paper-2);
    --bs-btn-hover-color: var(--at-paper-2);
    --bs-btn-active-color: var(--at-paper-2);
}
body.theme-atelier .btn-outline-primary {
    --bs-btn-color: var(--at-ink);
    --bs-btn-border-color: var(--at-ink);
    --bs-btn-hover-bg: var(--at-ink);
    --bs-btn-hover-border-color: var(--at-ink);
    --bs-btn-hover-color: var(--at-paper-2);
    --bs-btn-active-bg: var(--at-ink);
    --bs-btn-active-color: var(--at-paper-2);
}
body.theme-atelier .btn-light { background: var(--at-paper-2); border-color: var(--at-ink); color: var(--at-ink) !important; }
/* 内页（案例列表等）用 .btn-dark 当「选中」的筛选按钮，钉死成墨黑（与主题一致） */
body.theme-atelier .btn-dark {
    --bs-btn-bg: var(--at-ink);
    --bs-btn-border-color: var(--at-ink);
    --bs-btn-color: var(--at-paper-2);
    --bs-btn-hover-bg: var(--at-brass);
    --bs-btn-hover-border-color: var(--at-brass);
    --bs-btn-hover-color: var(--at-paper-2);
    --bs-btn-active-bg: var(--at-brass);
    --bs-btn-active-border-color: var(--at-brass);
    --bs-btn-active-color: var(--at-paper-2);
}
body.theme-atelier .btn-outline-dark {
    --bs-btn-color: var(--at-ink);
    --bs-btn-border-color: var(--at-line-2);
    --bs-btn-hover-bg: var(--at-ink);
    --bs-btn-hover-border-color: var(--at-ink);
    --bs-btn-hover-color: var(--at-paper-2);
    --bs-btn-active-bg: var(--at-ink);
    --bs-btn-active-color: var(--at-paper-2);
}
/* 内页有些按钮是 <a class="btn btn-dark">（案例筛选）；
   `body.theme-atelier a` 的优先级高于 Bootstrap 的 .btn-*，会把按钮文字也刷成主题色，
   结果深底深字看不清，这里把「链接式按钮」的文字色钉回来 */
body.theme-atelier a.btn-dark, body.theme-atelier a.btn-primary { color: var(--at-paper-2); }
body.theme-atelier a.btn-outline-dark, body.theme-atelier a.btn-light { color: var(--at-ink); }
body.theme-atelier a.btn-outline-primary { color: var(--at-ink); }
/* 产品列表 / 案例列表 / 优势 / 富文本 / 联系表单 */
body.theme-atelier .product-card-inner { background: var(--at-paper-2); border: 1px solid var(--at-line); border-radius: 0; overflow: hidden; transition: border-color .3s; }
body.theme-atelier .product-card-row:hover .product-card-inner { border-color: var(--at-ink); }
body.theme-atelier .product-img-wrap { background: #efeae0; }
body.theme-atelier .product-tag { border: 1px solid var(--at-line-2); border-radius: 0; background: transparent; color: var(--at-muted); font-size: .68rem; letter-spacing: 1.4px; text-transform: uppercase; }
body.theme-atelier .product-name { font-family: var(--at-serif); font-size: 1.22rem; color: var(--at-ink); }
body.theme-atelier .product-desc { color: var(--at-muted); }
body.theme-atelier .case-card { background: var(--at-paper-2); border: 1px solid var(--at-line) !important; border-radius: 0; }
body.theme-atelier .case-card .card-title, body.theme-atelier .case-card h5 { font-family: var(--at-serif); color: var(--at-ink); }
body.theme-atelier .case-overlay { background: linear-gradient(to top, rgba(20, 19, 15, .72), rgba(20, 19, 15, 0) 60%); }
body.theme-atelier .feature-box { background: var(--at-paper-2); border: 1px solid var(--at-line); border-radius: 0; }
body.theme-atelier .feature-icon { border: 1px solid var(--at-line-2); border-radius: 0; background: transparent; color: var(--at-brass); }
/* style.css 悬停时会把图标刷成蓝色渐变，这里改回黄铜色 */
body.theme-atelier .feature-box:hover .feature-icon { background: transparent !important; color: var(--at-brass) !important; }
body.theme-atelier .feature-box:hover .feature-icon i { color: var(--at-brass) !important; }
body.theme-atelier .rich-content-wrapper { color: var(--at-ink-soft); }
body.theme-atelier .rich-content-wrapper h1, body.theme-atelier .rich-content-wrapper h2,
body.theme-atelier .rich-content-wrapper h3, body.theme-atelier .rich-content-wrapper h4 { font-family: var(--at-serif); color: var(--at-ink); }
body.theme-atelier .rich-content-wrapper a { color: var(--at-brass); }
body.theme-atelier .partner-logo img { filter: grayscale(1); opacity: .55; transition: filter .3s, opacity .3s; }
body.theme-atelier .partner-logo:hover img { filter: none; opacity: 1; }
body.theme-atelier .contact-info-item { border-bottom-color: var(--at-line); }
body.theme-atelier .contact-info-icon { border: 1px solid var(--at-line-2); border-radius: 0; background: transparent; color: var(--at-brass); }
body.theme-atelier .contact-info-label { color: var(--at-ink); }
body.theme-atelier .contact-info-value { color: var(--at-muted); }
body.theme-atelier .form-control, body.theme-atelier .form-select {
    padding: 12px 15px;
    border: 1px solid var(--at-line-2);
    border-radius: 0;
    background: var(--at-paper-2);
    color: var(--at-ink);
}
body.theme-atelier .form-control:focus, body.theme-atelier .form-select:focus {
    border-color: var(--at-brass);
    box-shadow: 0 0 0 3px rgba(168, 121, 47, .14);
}
body.theme-atelier .form-label { color: var(--at-ink); font-size: .78rem; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; }

/* --------------------------------------------------------------------------
   7. 响应式
   -------------------------------------------------------------------------- */
@media (max-width: 1199.98px) {
    body.theme-atelier .at-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.theme-atelier .at-figure:nth-child(2n) { border-right: 0; }
    body.theme-atelier .at-figure:nth-child(-n+2) { border-bottom: 1px solid var(--at-line); }
}

@media (max-width: 991.98px) {
    body.theme-atelier .at-nav { padding: 12px 0; }
    body.theme-atelier .at-nav__list { align-items: stretch; padding-top: 12px; }
    body.theme-atelier .at-nav__list .nav-link { padding: 12px 0; border-bottom: 1px solid var(--at-line); }
    body.theme-atelier .at-nav__list .nav-link.is-active::after { display: none; }
    body.theme-atelier .at-nav__cta { display: inline-block; margin: 14px 0 6px; }
    /* 移动端面板必须限高：8 大类几十个系列全展开时高达 1800px，
       会把导航后面的整页内容推到屏幕外，看起来就是「所有分类挤在一起」 */
    body.theme-atelier .at-mega { position: static; width: auto; margin: 10px 0; padding: 20px 16px 10px; max-height: 70vh; overflow-y: auto; display: block !important; visibility: visible; opacity: 1; }
    body.theme-atelier .at-mega__col { padding: 0 0 18px; }
    body.theme-atelier .at-hero { padding: 52px 0 54px; }
    body.theme-atelier .at-hero__figure { margin-top: 8px; padding: 0 14px 14px 0; }
    body.theme-atelier .at-section { padding: 56px 0; }
    body.theme-atelier .at-head { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 30px; }
    body.theme-atelier .at-cta { padding: 62px 0 68px; }
    body.theme-atelier .at-cta__box { padding: 40px 24px; }
    body.theme-atelier .page-header { padding: 62px 0 40px; }
}

@media (max-width: 575.98px) {
    body.theme-atelier .at-figures { grid-template-columns: 1fr; }
    body.theme-atelier .at-figure { border-right: 0 !important; border-bottom: 1px solid var(--at-line); }
    body.theme-atelier .at-figure:last-child { border-bottom: 0; }
    body.theme-atelier .at-hero__title { font-size: 1.85rem; }
    body.theme-atelier .at-footer__bottom { flex-direction: column; }
    body.theme-atelier .at-backtop { right: 16px; bottom: 16px; }
}






/* 自动下拉：鼠标移到「产品中心」即展开（不用点击） */
@media (min-width: 992px) {
    body.theme-atelier .at-nav__item > .at-mega {
        display: block !important;
        visibility: hidden;
        opacity: 0;
        transition: opacity .2s, visibility .2s;
        position: absolute;
        top: 100%;
    }
    /* 面板与导航之间的原有间距用透明条撑住：鼠标划过去的途中不会掉出 hover 而闪退 */
    body.theme-atelier .at-nav__item > .at-mega::before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: -18px;
        height: 18px;
    }
    body.theme-atelier .at-nav__item:hover > .at-mega,
    body.theme-atelier .at-nav__item:focus-within > .at-mega {
        visibility: visible;
        opacity: 1;
    }
}
