/*
=========================================================
园林风格：旧网站模板视觉恢复版
说明：
1、保留 V2 的 DIV + CSS 新结构。

=========================================================
*/

/* =====================================================
   01、全局基础设置
   ===================================================== */

:root {
    --site-width: 1200px;
    --header-height: 130px;

    --logo-width: 200px;
    --logo-height: 130px;

    --top-banner-width: 1000px;
    --top-banner-height: 130px;

    --slider-width: 1200px;
    --slider-height: 500px;

    --old-green: #64b900;
    --old-green-dark: #4f9900;
    --old-green-light: #efffe1;
    --old-border: #d8ecc9;
    --old-text: #333333;
    --old-link: #2f7d00;
}

/* 旧站浅绿色网格背景 */
html,
body {
    margin: 0;
    padding: 0;
    font-family: "Microsoft YaHei", Arial, SimSun, sans-serif;
    font-size: 13px;
    color: var(--old-text);
    background-color: #f4ffe6 !important;
    background-image:
        linear-gradient(rgba(115, 190, 0, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(115, 190, 0, .08) 1px, transparent 1px);
    background-size: 10px 10px;
}

a {
    color: #333;
    text-decoration: none;
}

a:hover {
    color: var(--old-link);
    text-decoration: underline;
}

.site-wrap,
.site-header-inner,
.site-main,
.site-footer-inner {
    width: var(--site-width);
    margin-left: auto;
    margin-right: auto;
}

/* =====================================================
   02、顶部 Logo + 顶部 Banner
   ===================================================== */

.site-header {
    background: #ffffff;
}

.site-header-inner {
    height: var(--header-height);
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #ffffff;
}

.site-logo {
    width: var(--logo-width);
    height: var(--logo-height);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.site-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.site-top-banner {
    width: var(--top-banner-width);
    height: var(--top-banner-height);
    overflow: hidden;
}

.site-top-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =====================================================
   03、导航栏：恢复旧站绿色菜单
   ===================================================== */

.site-nav-wrap {
    width: 100%;
    background: var(--old-green) !important;
    border-top: 1px solid #76c91a;
    border-bottom: 1px solid #4f9900;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
}

.site-nav {
    width: var(--site-width);
    margin: 0 auto;
    display: flex;
    justify-content: center;
    min-height: 38px;
    background: var(--old-green);
}

.site-nav-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
}

.site-nav-item {
    position: relative;
}

.site-nav-link {
    display: block;
    padding: 0 22px;
    height: 38px;
    line-height: 38px;
    color: #fff !important;
    font-size: 13px;
    text-decoration: none !important;
    border-left: 1px solid rgba(255,255,255,.18);
    border-right: 1px solid rgba(0,0,0,.08);
}

.site-nav-item:hover > .site-nav-link,
.site-nav-link.active {
    background: var(--old-green-dark) !important;
    color: #fff !important;
}

.site-subnav {
    position: absolute;
    left: 0;
    top: 38px;
    z-index: 999;
    min-width: 150px;
    padding: 0;
    margin: 0;
    list-style: none;
    background: var(--old-green);
    border: 1px solid #4f9900;
    display: none;
}

.site-nav-item:hover .site-subnav {
    display: block;
}

.site-subnav a {
    display: block;
    height: 34px;
    line-height: 34px;
    padding: 0 16px;
    color: #fff !important;
    white-space: nowrap;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,.18);
}

.site-subnav a:hover {
    background: var(--old-green-dark);
}

/* =====================================================
   04、首页滚动 Banner
   ===================================================== */

.site-slider,
.slider,
.banner-container {
    width: var(--slider-width);
    height: var(--slider-height);
    margin: 0 auto;
    overflow: hidden;
    background: #fff;
    position: relative;
}

.site-slider img,
.slider img,
.banner-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slider-prev,
.slider-next,
.prev,
.next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 48px;
    line-height: 48px;
    text-align: center;
    background: rgba(0,0,0,.32);
    color: #fff !important;
    font-size: 28px;
    border-radius: 3px;
    cursor: pointer;
    text-decoration: none !important;
}

.slider-prev,
.prev {
    left: 12px;
}

.slider-next,
.next {
    right: 12px;
}

.slider-dots,
.banner-dots {
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 12px;
}

.slider-dot,
.banner-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    margin: 0 4px;
    background: rgba(255,255,255,.85);
}

.slider-dot.active,
.banner-dot.active {
    background: var(--old-green);
}

/* =====================================================
   05、首页主体内容区
   ===================================================== */

.site-main {
    background: #ffffff;
    padding: 0;
    min-height: 360px;
}

.home-main,
.home-grid,
.home-content {
    background: #ffffff;
}

.module {
    background: #fff;
    border: 1px solid var(--old-border) !important;
    margin-bottom: 14px;
    overflow: hidden;
}

.module-title,
.module-header,
.block-title {
    height: 32px;
    line-height: 32px;
    padding: 0 12px;
    background: var(--old-green) !important;
    color: #fff !important;
    font-weight: bold;
    font-size: 14px;
}

.module-title a,
.module-header a,
.block-title a {
    color: #fff !important;
}

.module-body,
.module-content,
.block-content {
    padding: 12px;
    background: #fff;
    line-height: 1.8;
}

.module-more,
.more {
    float: right;
    font-size: 12px;
    font-weight: normal;
    color: #fff !important;
}

/* =====================================================
   06、文章列表页
   ===================================================== */

.column-layout {
    width: var(--site-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 16px;
    background: #fff;
    padding: 16px 0;
}

.column-sidebar,
.column-content {
    background: #fff;
    border: 1px solid var(--old-border) !important;
}

.column-sidebar-title,
.column-content-title {
    height: 34px;
    line-height: 34px;
    padding: 0 12px;
    background: var(--old-green) !important;
    color: #fff !important;
    font-weight: bold;
}

.column-sidebar-body,
.column-content-body {
    padding: 12px;
}

.news-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.news-list li {
    height: 34px;
    line-height: 34px;
    border-bottom: 1px dotted #cfe4bd;
    overflow: hidden;
}

.news-list a {
    color: #333;
}

.news-list a:hover {
    color: var(--old-link);
}

.news-date {
    float: right;
    color: #999;
    font-size: 12px;
}

/* =====================================================
   07、产品图片列表页
   ===================================================== */

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    padding: 14px;
}

.product-card {
    background: #fff;
    border: 1px solid var(--old-border) !important;
    padding: 8px;
    transition: all .2s;
}

.product-card:hover {
    border-color: var(--old-green) !important;
    box-shadow: 0 2px 8px rgba(100,185,0,.18);
}

.product-card-img {
    width: 100%;
    height: 180px;
    background: #f8f8f8;
    overflow: hidden;
}

.product-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-card-title {
    padding: 9px 4px 2px;
    text-align: center;
    line-height: 1.5;
    color: #333;
}

/* =====================================================
   08、普通文章详情页
   ===================================================== */

.detail-panel {
    width: var(--site-width);
    margin: 0 auto;
    background: #fff;
    border: 1px solid var(--old-border) !important;
    padding: 18px 26px 28px;
    box-sizing: border-box;
}

.detail-title {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: #222;
    margin: 12px 0;
    line-height: 1.5;
}

.detail-meta {
    text-align: center;
    color: #999;
    font-size: 12px;
    border-bottom: 1px dotted #d8d8d8;
    padding-bottom: 12px;
    margin-bottom: 18px;
}

.detail-body {
    font-size: 15px;
    line-height: 2;
    color: #333;
}

.detail-body img {
    max-width: 100%;
    height: auto;
}

/* =====================================================
   09、图片文章详情页
   ===================================================== */

.product-detail-layout {
    width: var(--site-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 430px 1fr;
    gap: 26px;
    background: #fff;
    border: 1px solid var(--old-border);
    padding: 22px;
    box-sizing: border-box;
}

.product-detail-cover {
    background: #fafafa;
    border: 1px solid var(--old-border);
    padding: 10px;
}

.product-detail-cover img {
    width: 100%;
    height: auto;
    display: block;
}

.product-detail-info-title {
    font-size: 24px;
    color: #222;
    font-weight: bold;
    margin-bottom: 12px;
}

.product-detail-body {
    font-size: 15px;
    line-height: 2;
    color: #333;
}

/* =====================================================
   09B、第二期产品模块：产品列表页 + 产品详情页
   保存位置：后台风格编辑窗口 -> CSS 细节调节 / custom_css

   重要说明：
   1. 本区块已集中合并到整站 CSS 中，不需要在 CSS 底部再追加零散覆盖代码。
   2. 产品列表页 HTML 模板参考“栏目图片列表式 HTML 模板”。
   3. 产品详情页 HTML 模板参考“图片文章详情页 HTML 模板”。
   4. 产品封面图宽高、边框、内边距由产品列表页模板顶部参数控制，CSS 只负责网格、对齐和视觉效果。
   5. 产品详情展示窗口固定为 600×400，支持左右循环、标签切换、缩略图、全屏查看、缩放、还原、拖动。
   6. 若后期继续微调产品模块，请集中修改本 09B 区块。
   ===================================================== */

/* ================================
   09B-01、产品列表页：整体布局
   ================================ */

.qpy-product-list-layout-page {
    padding-top: var(--qpy-detail-top-gap, 2px) !important;
}

.qpy-product-list-main,
.qpy-product-list-article-box {
    box-sizing: border-box !important;
}

.qpy-product-list-article-box {
    min-height: 640px !important;
    padding: 22px 24px 30px !important;
}

.qpy-product-list-content-box {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* ================================
   09B-02、产品列表页：筛选框
   筛选项来自产品类别参数中勾选“参与筛选”的参数。
   ================================ */

.qpy-product-filter-box {
    margin: 0 0 18px 0 !important;
    padding: 10px 12px !important;
    background: #f1f8ec !important;
    border: 1px solid #d8eacd !important;
    box-sizing: border-box !important;
}

.qpy-product-filter-box form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    margin: 0 !important;
}

.qpy-product-filter-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 12px !important;
    color: #335522 !important;
}

.qpy-product-filter-item label {
    color: #335522 !important;
    white-space: nowrap !important;
}

.qpy-product-filter-item select {
    height: 26px !important;
    min-width: 82px !important;
    border: 1px solid #b9d9a4 !important;
    background: #ffffff !important;
    color: #333333 !important;
    font-size: 12px !important;
}

.qpy-product-filter-btn,
.qpy-product-filter-reset {
    height: 26px !important;
    line-height: 24px !important;
    padding: 0 12px !important;
    border: 1px solid #4f9900 !important;
    background: #5fb300 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.qpy-product-filter-btn:hover,
.qpy-product-filter-reset:hover {
    background: #e09a00 !important;
    border-color: #cf8200 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* ================================
   09B-03、产品列表页：产品网格
   每行数量由产品列表模板参数 QPY_PRODUCT_LIST_COLUMNS 控制。
   ================================ */

.qpy-product-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--qpy-product-list-columns, 4), minmax(0, 1fr)) !important;
    column-gap: 18px !important;
    row-gap: 42px !important;
    align-items: start !important;
    justify-items: center !important;
    width: 100% !important;
    min-height: 520px !important;
    box-sizing: border-box !important;
}

.qpy-product-card {
    display: block !important;
    width: auto !important;
    max-width: 220px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: center !important;
    color: #333333 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.qpy-product-card:hover {
    color: #4f9900 !important;
    text-decoration: none !important;
}

.qpy-product-cover-box {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
}

.qpy-product-cover-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    box-sizing: border-box !important;
}

.qpy-product-cover-empty {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #999999 !important;
    background: #fafafa !important;
    font-size: 12px !important;
    box-sizing: border-box !important;
}

.qpy-product-title {
    display: block !important;
    width: 100% !important;
    margin: 8px auto 0 auto !important;
    color: #333333 !important;
    font-size: 13px !important;
    line-height: 22px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.qpy-product-card:hover .qpy-product-title {
    color: #4f9900 !important;
}

.qpy-product-summary {
    display: block !important;
    margin-top: 4px !important;
    color: #888888 !important;
    font-size: 12px !important;
    line-height: 20px !important;
    max-height: 40px !important;
    overflow: hidden !important;
}

.qpy-product-empty {
    width: 100% !important;
    padding: 28px 0 !important;
    color: #999999 !important;
    text-align: center !important;
    font-size: 13px !important;
}

/* ================================
   09B-04、产品详情页：整体结构
   左侧 600×400 展示窗口，右侧产品参数表格。
   ================================ */

.qpy-product-detail-layout-page {
    padding-top: var(--qpy-detail-top-gap, 2px) !important;
}

.qpy-product-detail-box {
    padding: 18px 22px 28px !important;
    box-sizing: border-box !important;
}

.qpy-product-detail-header {
    margin-bottom: 16px !important;
}

.qpy-product-detail-title {
    margin: 0 !important;
    padding: 0 !important;
    color: #123d00 !important;
    font-size: 22px !important;
    line-height: 34px !important;
    font-weight: bold !important;
    text-align: center !important;
}

.qpy-product-detail-subtitle {
    margin-top: 4px !important;
    color: #888888 !important;
    font-size: 12px !important;
    text-align: center !important;
    border-bottom: 0 !important;
}

.qpy-product-detail-top-row {
    display: grid !important;
    grid-template-columns: 620px minmax(0, 1fr) !important;
    column-gap: 22px !important;
    align-items: start !important;
    margin-top: 12px !important;
    box-sizing: border-box !important;
}

.qpy-product-media-column {
    width: 620px !important;
    box-sizing: border-box !important;
}

.qpy-product-param-column {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.qpy-product-param-title,
.qpy-product-description-title {
    height: 32px !important;
    line-height: 32px !important;
    margin: 0 0 10px 0 !important;
    padding-left: 12px !important;
    border-left: 5px solid #4f9900 !important;
    color: #123d00 !important;
    font-size: 16px !important;
    font-weight: bold !important;
    background: #f5fbef !important;
    box-sizing: border-box !important;
}

/* ================================
   09B-05、产品详情页：展示窗口
   参考图片文章详情页滚动窗口，固定 600×400。
   ================================ */

.qpy-product-gallery {
    position: relative !important;
    width: 600px !important;
    height: 400px !important;
    margin: 0 auto !important;
    padding: 2px !important;
    border: 1px solid #d6e8c8 !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.qpy-product-gallery-stage {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    background: #f8f8f8 !important;
}

.qpy-product-gallery-slide {
    display: none !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #f8f8f8 !important;
}

.qpy-product-gallery-slide.is-active {
    display: flex !important;
}

.qpy-product-gallery-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    cursor: pointer !important;
}

.qpy-product-gallery-video {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: var(--step187-img-fit, cover) !important;
    background: #000000 !important;
}

.qpy-product-model3d-box {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: #666666 !important;
    font-size: 13px !important;
    line-height: 2 !important;
    text-align: center !important;
}

.qpy-product-model3d-title {
    color: #123d00 !important;
    font-weight: bold !important;
    font-size: 16px !important;
}

.qpy-product-model3d-tip {
    color: #999999 !important;
    font-size: 12px !important;
}

.qpy-product-gallery-arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 90 !important;
    pointer-events: auto !important;
    width: 36px !important;
    height: 56px !important;
    margin-top: -28px !important;
    border: 0 !important;
    background: rgba(0,0,0,.32) !important;
    color: #ffffff !important;
    font-size: 38px !important;
    line-height: 56px !important;
    text-align: center !important;
    cursor: pointer !important;
    border-radius: 2px !important;
}

.qpy-product-gallery-arrow:hover {
    background: rgba(0,0,0,.52) !important;
}

.qpy-product-gallery-prev {
    left: 2px !important;
}

.qpy-product-gallery-next {
    right: 2px !important;
}

.qpy-product-gallery-zoom {
    position: absolute !important;
    right: 9px !important;
    bottom: 9px !important;
    z-index: 22 !important;
    width: 34px !important;
    height: 30px !important;
    border: 0 !important;
    background: rgba(0,0,0,.46) !important;
    color: #ffffff !important;
    cursor: pointer !important;
    border-radius: 2px !important;
}

.qpy-product-gallery-counter {
    position: absolute !important;
    left: 50% !important;
    bottom: 9px !important;
    transform: translateX(-50%) !important;
    z-index: 91 !important;
    min-width: 46px !important;
    height: 22px !important;
    line-height: 22px !important;
    padding: 0 8px !important;
    border-radius: 12px !important;
    background: rgba(0,0,0,.45) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* ================================
   09B-05B、产品详情页：框架网址展示模块
   step259E_product_detail_frame_cover_arrow_fix_start
   说明：
   1. 公共展示模块媒体类型为“框架 / frame”时使用。
   2. 外部网址保存在 product_media_asset.file_url。
   3. 上传的封面图保存在 asset.preview_image_url，作为 600×400 占位图/点位图。
   4. 前台不再使用 iframe，避免目标网站禁止嵌入时出现灰屏、破图或安全限制。
   5. 点击标题或框架区域任意位置，均新窗口打开网址。
   6. 未上传封面图时，显示系统默认 600×400 占位图：
      /site/219/static/products/frame_placeholder_600x400.svg
   step259E_product_detail_frame_cover_arrow_fix_end
   ================================ */

.qpy-product-frame-box {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    background: #f7fbf3 !important;
    border: 0 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.qpy-product-frame-box:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

.qpy-product-frame-cover {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    background: #f7fbf3 !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

.qpy-product-frame-click-layer {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0 12px 16px 12px !important;
    background: linear-gradient(to top, rgba(0,0,0,.50), rgba(0,0,0,.06), rgba(0,0,0,0)) !important;
    color: #ffffff !important;
    text-align: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

.qpy-product-frame-box:hover .qpy-product-frame-click-layer {
    color: #ffffff !important;
    text-decoration: none !important;
    background: linear-gradient(to top, rgba(79,153,0,.62), rgba(0,0,0,.08), rgba(0,0,0,0)) !important;
}

.qpy-product-frame-title {
    display: block !important;
    max-width: 92% !important;
    margin: 0 auto !important;
    padding: 4px 12px !important;
    border-radius: 14px !important;
    background: rgba(0,0,0,.42) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 20px !important;
    font-weight: bold !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.40) !important;
    box-sizing: border-box !important;
}

/* step259E_product_detail_frame_arrow_click_fix_start
   框架封面图点击打开网址，但左右箭头必须优先响应切换，不被框架点击层抢占。
*/
.qpy-product-gallery-prev,
.qpy-product-gallery-next,
.qpy-product-gallery-arrow {
    z-index: 90 !important;
    pointer-events: auto !important;
}

.qpy-product-gallery-counter {
    z-index: 91 !important;
}

.qpy-product-frame-box {
    z-index: 1 !important;
}

.qpy-product-frame-click-layer {
    z-index: 5 !important;
}
/* step259E_product_detail_frame_arrow_click_fix_end */

.qpy-product-thumb-frame {
    display: inline-flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    color: #335522 !important;
    font-size: 12px !important;
    background: #f5fbef !important;
}

/* ================================
   09B-06、产品详情页：标签和缩略图
   无资源标签灰色不可点。
   ================================ */

.qpy-product-media-tabs {
    margin-top: 12px !important;
    text-align: center !important;
}

.qpy-product-media-tab {
    display: inline-block !important;
    height: 28px !important;
    line-height: 26px !important;
    margin: 0 4px 8px !important;
    padding: 0 15px !important;
    border: 1px solid #cfe0c4 !important;
    border-radius: 15px !important;
    background: #ffffff !important;
    color: #335522 !important;
    font-size: 12px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

.qpy-product-media-tab.active {
    border-color: #4f9900 !important;
    background: #5fb300 !important;
    color: #ffffff !important;
}

.qpy-product-media-tab.disabled {
    border-color: #dddddd !important;
    background: #eeeeee !important;
    color: #aaaaaa !important;
    cursor: not-allowed !important;
}

.qpy-product-media-thumbs {
    margin-top: 6px !important;
    text-align: center !important;
}

.qpy-product-thumb-group {
    display: none !important;
}

.qpy-product-thumb-group.active {
    display: block !important;
}

.qpy-product-thumb {
    display: inline-flex !important;
    width: 74px !important;
    height: 56px !important;
    margin: 4px !important;
    border: 1px solid #d6e8c8 !important;
    background: #ffffff !important;
    align-items: center !important;
    justify-content: center !important;
    color: #666666 !important;
    font-size: 12px !important;
    cursor: pointer !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.qpy-product-thumb.active {
    border-color: #4f9900 !important;
    box-shadow: 0 0 0 2px rgba(95,179,0,.20) !important;
}

.qpy-product-thumb img {
    display: block !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
}

/* ================================
   09B-07、产品详情页：参数表格和描述
   参数表格放在展示窗口右侧。
   ================================ */

.qpy-product-param-table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    background: #ffffff !important;
}

.qpy-product-param-table th {
    /* step197_product_detail_param_col_width
       参数表左列压缩：默认 56px，适合显示“朝代、窑址、尺寸、颜色、器型”等两字参数名。
       右列自动占剩余宽度。
    */
    width: 56px !important;
    padding: 7px 4px !important;
    border: 1px solid #dce8dc !important;
    background: #edf7e8 !important;
    color: #335522 !important;
    text-align: center !important;
    font-weight: normal !important;
    line-height: 1.7 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    box-sizing: border-box !important;
}

.qpy-product-param-table td {
    /* step197_product_detail_param_value_width
       参数表右列加宽：随表格宽度自动扩展，长内容允许换行。
    */
    padding: 7px 8px !important;
    border: 1px solid #e4ece0 !important;
    color: #333333 !important;
    line-height: 1.7 !important;
    word-break: break-all !important;
    box-sizing: border-box !important;
}

.qpy-product-description-section {
    margin-top: 24px !important;
}

.qpy-product-description {
    font-size: 14px !important;
    line-height: 2 !important;
    color: #333333 !important;
}

.qpy-product-description img {
    max-width: 100% !important;
    height: auto !important;
}

.qpy-product-no-resource {
    color: #999999 !important;
    font-size: 13px !important;
    text-align: center !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}

/* ================================
   09B-08、产品详情页：全屏图片查看层
   支持 +、-、还原、关闭、滚轮缩放、键盘快捷键、拖动边界限制。
   ================================ */

html.qpy-product-lightbox-lock,
body.qpy-product-lightbox-lock {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

.qpy-product-lightbox {
    display: none !important;
    position: fixed !important;
    z-index: 999999 !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #000000 !important;
    overflow: hidden !important;
}

.qpy-product-lightbox.is-open {
    display: block !important;
}

.qpy-product-lightbox-mask {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #000000 !important;
}

.qpy-product-lightbox-panel {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    overflow: hidden !important;
    background: #000000 !important;
}

.qpy-product-lightbox-img {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    max-width: 96vw !important;
    max-height: 92vh !important;
    transform: translate(-50%, -50%) translate(0, 0) scale(1);
    transform-origin: center center !important;
    user-select: none !important;
    cursor: grab !important;
}

.qpy-product-lightbox.is-dragging .qpy-product-lightbox-img,
.qpy-product-lightbox.is-zoomed .qpy-product-lightbox-img {
    cursor: grabbing !important;
}

.qpy-product-lightbox-close {
    position: fixed !important;
    right: 24px !important;
    top: 20px !important;
    z-index: 1000002 !important;
    width: 42px !important;
    height: 42px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.18) !important;
    color: #ffffff !important;
    font-size: 30px !important;
    line-height: 42px !important;
    text-align: center !important;
    cursor: pointer !important;
}

.qpy-product-lightbox-close:hover {
    background: rgba(255,255,255,.30) !important;
}

.qpy-product-lightbox-tools {
    position: fixed !important;
    left: 50% !important;
    bottom: 28px !important;
    z-index: 1000002 !important;
    transform: translateX(-50%) !important;
    height: 38px !important;
    padding: 5px 10px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.16) !important;
    box-sizing: border-box !important;
}

.qpy-product-lightbox-tools button {
    min-width: 42px !important;
    height: 28px !important;
    margin: 0 4px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #222222 !important;
    font-size: 13px !important;
    line-height: 28px !important;
    cursor: pointer !important;
}

.qpy-product-lightbox-tools button:hover {
    background: #f0f0f0 !important;
}

/* ================================
   09B-09、产品模块：手机端适配
   ================================ */

@media (max-width: 900px) {
    .qpy-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        row-gap: 28px !important;
    }

    .qpy-product-detail-top-row {
        display: block !important;
    }

    .qpy-product-media-column {
        width: 100% !important;
    }

    .qpy-product-gallery {
        width: 100% !important;
        height: 320px !important;
    }

    .qpy-product-param-column {
        margin-top: 18px !important;
    }
}

/* ================================
   09B、第二期产品模块结束
   ================================ */

/* =====================================================
   10、网站底部：恢复旧站绿色底部
   ===================================================== */

.site-footer {
    width: 100%;
    margin-top: 0;
    background: var(--old-green) !important;
    color: #fff;
    position: relative;
    min-height: 68px;
}

/* 旧站底部上沿波浪感 */
.site-footer:before {
    content: "";
    display: block;
    height: 10px;
    background:
        radial-gradient(circle at 8px -2px, transparent 9px, var(--old-green) 10px) repeat-x;
    background-size: 18px 10px;
    position: relative;
    top: -9px;
}

.site-footer-inner {
    width: var(--site-width);
    margin: 0 auto;
    text-align: center;
    line-height: 1.8;
    padding: 14px 0 18px;
    color: #fff;
}

.site-footer a {
    color: #fff !important;
}

/* =====================================================
   11、后台临时调试区
   后期要微调颜色、间距、字体，写在这里。
   ===================================================== */

/* =====================================================
   12、手机端适配
   ===================================================== */

@media (max-width: 900px) {
    .site-wrap,
    .site-header-inner,
    .site-nav,
    .site-main,
    .site-footer-inner,
    .site-slider,
    .column-layout,
    .detail-panel,
    .product-detail-layout {
        width: 100%;
    }

    .site-header-inner {
        height: auto;
        flex-direction: column;
    }

    .site-logo,
    .site-top-banner {
        width: 100%;
        height: auto;
    }

    .site-nav-list {
        flex-wrap: wrap;
        justify-content: center;
    }

    .column-layout,
    .product-detail-layout {
        grid-template-columns: 1fr;
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* =====================================================
   春绿风格微调：导航橘黄色悬停 + 两侧网格背景
   ===================================================== */

/* 整站浅绿色网格背景，保证网页中部左右两侧也是网格 */
html,
body {
    background-color: #eef6df !important;
    background-image:
        linear-gradient(rgba(120, 170, 80, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 170, 80, 0.08) 1px, transparent 1px) !important;
    background-size: 12px 12px !important;
    background-repeat: repeat !important;
}

/* 外层容器不要遮挡两侧网格背景 */
.site-wrap,
.site-main-wrap,
.site-container,
.page-wrap,
.main-wrap,
.content-wrap,
.outer-bg {
    background: transparent !important;
}

/* 中间正文区域保持白底 */
.site-main,
.home-main,
.home-content,
.column-layout,
.detail-panel,
.product-detail-layout {
    background: #ffffff !important;
}

/* 导航栏默认春绿色 */
.site-nav-wrap,
.site-nav,
.site-nav-list {
    background: #66a800 !important;
}

/* 导航文字保持白色 */
.site-nav-link,
.site-nav-item > a {
    color: #ffffff !important;
    cursor: pointer !important;
}

/* 鼠标移到导航栏：橘黄色背景 + 白色文字 */
.site-nav-item:hover > .site-nav-link,
.site-nav-link:hover,
.site-nav-link.active,
.site-nav-item > a:hover,
.site-nav-item:hover,
.site-nav-list li:hover {
    background: #e59a17 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* 二级下拉菜单保持绿色，悬停橘黄色 */
.site-subnav,
.site-nav-item ul {
    background: #66a800 !important;
}

.site-subnav a,
.site-nav-item ul li a {
    color: #ffffff !important;
}

.site-subnav a:hover,
.site-nav-item ul li a:hover {
    background: #e59a17 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* step81-2-nav-yellow-bold-start */
/*
=========================================================
春绿风格微调：
1、导航栏字体加粗
2、鼠标悬停黄色效果改成旧模板渐变色
3、取消错误的斜纹/图片背景
=========================================================
*/

/* 导航栏默认绿色渐变 */
.site-nav-wrap,
.site-nav,
.site-nav-list {
    background-color: #5fb300 !important;
    background-image: linear-gradient(to bottom, #70c900 0%, #5fb300 45%, #4d9800 100%) !important;
    background-repeat: repeat-x !important;
}

/* 导航文字：白色 + 加粗 */
.site-nav-link,
.site-nav-item > a {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.18);
}

/* 鼠标悬停 / 当前栏目：旧模板黄色渐变，不使用图片 */
.site-nav-item:hover > .site-nav-link,
.site-nav-link:hover,
.site-nav-link.active,
.site-nav-item > a:hover,
.site-nav-item:hover,
.site-nav-list li:hover {
    background-color: #d99a00 !important;
    background-image: linear-gradient(to bottom, #ffd15a 0%, #f0ad20 42%, #cf8200 100%) !important;
    background-repeat: repeat-x !important;
    background-position: center center !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* 二级菜单默认绿色 */
.site-subnav,
.site-nav-item ul {
    background-color: #5fb300 !important;
    background-image: linear-gradient(to bottom, #70c900 0%, #5fb300 45%, #4d9800 100%) !important;
    border: 1px solid #4d9800 !important;
}

/* 二级菜单文字加粗 */
.site-subnav a,
.site-nav-item ul li a {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.18);
}

/* 二级菜单悬停黄色渐变 */
.site-subnav a:hover,
.site-nav-item ul li a:hover {
    background-color: #d99a00 !important;
    background-image: linear-gradient(to bottom, #ffd15a 0%, #f0ad20 42%, #cf8200 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* 导航边框更接近旧模板 */
.site-nav-link {
    border-left: 1px solid rgba(255,255,255,.25) !important;
    border-right: 1px solid rgba(0,0,0,.12) !important;
}

/* step81-2-nav-yellow-bold-end */

/* =====================================================
   春绿风格微调：取消当前栏目黄色，只保留鼠标悬停黄色
   ===================================================== */

/* 当前栏目不再显示黄色，恢复绿色 */
.site-nav-link.active {
    background-color: transparent !important;
    background-image: none !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* 如果当前栏目所在 li 被加了 active/current，也恢复绿色 */
.site-nav-item.active,
.site-nav-item.current,
.site-nav-list li.active,
.site-nav-list li.current {
    background-color: transparent !important;
    background-image: none !important;
}

/* 导航栏默认绿色渐变 */
.site-nav-wrap,
.site-nav,
.site-nav-list {
    background-color: #5fb300 !important;
    background-image: linear-gradient(to bottom, #72ca00 0%, #5fb300 45%, #4d9800 100%) !important;
    background-repeat: repeat-x !important;
}

/* 只有鼠标悬停时才变黄色，黄色调亮一点 */
.site-nav-item:hover > .site-nav-link,
.site-nav-link:hover,
.site-nav-item > a:hover,
.site-nav-item:hover,
.site-nav-list li:hover {
    background-color: #f3b300 !important;
    background-image: linear-gradient(to bottom, #ffe272 0%, #f5bd22 45%, #e09a00 100%) !important;
    background-repeat: repeat-x !important;
    background-position: center center !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* 二级菜单也只在鼠标悬停时变黄色 */
.site-subnav a:hover,
.site-nav-item ul li a:hover {
    background-color: #f3b300 !important;
    background-image: linear-gradient(to bottom, #ffe272 0%, #f5bd22 45%, #e09a00 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* ===== STEP106_SPRING_GREEN_HOME_LOCK_START =====
   春绿首页最终锁定 CSS。
   重要：
   1. 这段必须同时存在于 custom.css 文件和数据库 site_style_theme.custom_css。
   2. 后台保存风格后，会从数据库 custom_css 重新写出 custom.css。
   3. 所以后期修改 CSS，必须同步写回数据库。
   ===== */

/* 顶部 LOGO + 顶部 Banner */
.site-header {
    width: 100% !important;
}

.site-header-inner {
    width: 1200px !important;
    height: 130px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: stretch !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.site-logo-box {
    width: 200px !important;
    height: 130px !important;
    flex: 0 0 200px !important;
    overflow: hidden !important;
}

.site-logo-box img {
    width: 200px !important;
    height: 130px !important;
    display: block !important;
    object-fit: var(--step187-img-fit, cover) !important;
}

.site-top-banner-box {
    width: 1000px !important;
    height: 130px !important;
    flex: 0 0 1000px !important;
    overflow: hidden !important;
}

.site-top-banner-box img {
    width: 1000px !important;
    height: 130px !important;
    display: block !important;
    object-fit: cover !important;
}

/* 滚动 Banner */
.site-slider-wrap {
    width: 100% !important;
}

.site-slider {
    width: 1200px !important;
    height: 500px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    position: relative !important;
    background: #f6f6f6 !important;
}

.site-slide {
    width: 1200px !important;
    height: 500px !important;
    display: none;
}

.site-slide.active {
    display: block !important;
}

.site-slide img {
    width: 1200px !important;
    height: 500px !important;
    display: block !important;
    object-fit: cover !important;
}

.site-slider-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 42px !important;
    height: 60px !important;
    border: 0 !important;
    background: rgba(0,0,0,.35) !important;
    color: #fff !important;
    font-size: 42px !important;
    line-height: 60px !important;
    cursor: pointer !important;
    z-index: 5 !important;
}

.site-slider-prev {
    left: 12px !important;
}

.site-slider-next {
    right: 12px !important;
}

.site-slider-dots {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 18px !important;
    text-align: center !important;
    z-index: 5 !important;
}

.site-slider-dots span {
    display: inline-block !important;
    width: 9px !important;
    height: 9px !important;
    margin: 0 5px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.75) !important;
}

.site-slider-dots span.active {
    background: #46a800 !important;
}

/* 首页正文主容器 */
.site-main,
.old-home-step96 {
    width: 1200px !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* 首页左右栏：左 835，右 350，中间 15 */
.old-home-step96 .old-layout {
    width: 1200px !important;
    max-width: 1200px !important;
    display: grid !important;
    grid-template-columns: 835px 350px !important;
    column-gap: 15px !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-left-col {
    width: 835px !important;
    max-width: 835px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.old-home-step96 .old-right-col {
    width: 350px !important;
    max-width: 350px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* 模块基础 */
.old-home-step96 .old-box {
    background: #fff !important;
    border: 1px solid #d8e5cf !important;
    margin: 0 0 12px 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.old-home-step96 .old-box-title {
    position: relative !important;
    height: 37px !important;
    line-height: 37px !important;
    border-bottom: 1px solid #d8e5cf !important;
    background: #fff !important;
    overflow: hidden !important;
}

.old-home-step96 .old-box-title span {
    display: inline-block !important;
    width: 126px !important;
    height: 37px !important;
    line-height: 31px !important;
    padding-left: 15px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: bold !important;
    background: url("/site/219/theme/spring_green/images/legacy_old_template/templateimage/a04.jpg") no-repeat left top !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-more {
    position: absolute !important;
    top: 0 !important;
    right: 8px !important;
    height: 31px !important;
    line-height: 31px !important;
    color: #999 !important;
    font-size: 11px !important;
    text-decoration: none !important;
    font-family: Arial, sans-serif !important;
}

.old-home-step96 .old-more:hover {
    color: #46a800 !important;
}

/* =========================================================
   页面：首页 home
   区块：媒体视频 home-media-video
   对应模板：templates/front_v2/index.html
   对应 HTML 标记：home-media-video

   当前调整目标：
   1. 首页右上角媒体视频调用“媒体视频”第一条信息里的视频；
   2. 视频显示区域固定为 322×181，保持 16:9；
      备注：当前右侧栏宽度是 350px，直接做 400×225 会撑破栏目框；
      如果以后右栏加宽，再把下面的 322×181 改成 400×225；
   3. 视频连同 1px 边框 + 2px 内间距一起，在栏目框里左右居中、上下垂直居中；
   4. 标题浮在视频画面下部，白色字幕效果；
   5. 标题整体下移 10px；
   6. 当前标题截留 20 字；
   7. 不再显示简介，避免把右侧媒体框撑乱。

   可调参数：
   1. 视频外框宽度：.home-media-video-frame width
   2. 视频外框高度：.home-media-video-frame height
   3. 视频边框宽度：.home-media-video-frame border
   4. 视频内边距：.home-media-video-frame padding
   5. 字幕下移距离：.home-media-video-title bottom
   6. 标题截留字数：到首页 HTML 模板里改 truncatechars
   ========================================================= */
.old-home-step96 .home-media-video {
    height: 258px !important;
    min-height: 258px !important;
    max-height: 258px !important;
    overflow: hidden !important;
}

.old-home-step96 .home-media-video .home-media-video-body {
    height: 213px !important;
    padding: 13px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.old-home-step96 .home-media-video .home-media-video-frame-wrap {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.old-home-step96 .home-media-video .home-media-video-frame {
    position: relative !important;
    width: 322px !important;
    height: 181px !important;
    padding: 2px !important;
    border: 1px solid #9e9e9e !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
}

.old-home-step96 .home-media-video .home-media-video-player {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    border: 0 !important;
    background: #000 !important;
    object-fit: cover !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-media-video .home-media-video-title {
    position: absolute !important;
    left: 2px !important;
    border-radius: 0 3px 3px 0 !important;
    right: 2px !important;
    border-radius: 3px 0 0 3px !important;
    bottom: 2px !important;
    margin: 0 !important;
    padding: 14px 12px 8px 12px !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 22px !important;
    font-weight: bold !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
    background: linear-gradient(to top, rgba(0,0,0,.76) 0%, rgba(0,0,0,.46) 58%, rgba(0,0,0,0) 100%) !important;
}

.old-home-step96 .home-media-video .home-media-video-title a {
    display: block !important;
    color: #ffffff !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.old-home-step96 .home-media-video .home-media-video-title a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

.old-home-step96 .home-media-video .home-media-video-desc {
    display: none !important;
}

.old-home-step96 .home-media-video .home-media-video-empty {
    width: 322px !important;
    height: 181px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2px !important;
    border: 1px solid #9e9e9e !important;
    background: #fafafa !important;
    color: #999 !important;
    box-sizing: border-box !important;
}

/* 第二行：业务范围、拍卖信息 */
.old-home-step96 .old-two-box-row {
    width: 835px !important;
    display: grid !important;
    grid-template-columns: 410px 410px !important;
    column-gap: 15px !important;
    margin: 0 0 12px 0 !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-half-box {
    width: 410px !important;
    height: 258px !important;
    min-height: 258px !important;
    max-height: 258px !important;
    margin-bottom: 0 !important;
}

.old-home-step96 .old-half-box .old-list-body {
    height: 159px !important;
    padding: 8px 12px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* =========================================================
   页面：首页 home
   区块：业务范围 / 拍卖信息 home-business-scope / home-auction-info
   对应模板：templates/front_v2/index.html
   对应 HTML 标记：.old-two-box-row 中第一个 .old-half-box 为业务范围，第二个 .old-half-box 为拍卖信息
   patch 依赖：SpringGreenHomeBusinessAuctionMiddleware / step147-business-auction-css

   当前调整目标：
   1. 去掉列表前绿色小方块；
   2. 加大行高；
   3. 保持业务范围 6 行、拍卖信息 6 条；
   4. 让文字在边框内垂直更居中；
   5. 让正文尽量充满边框。

   可调参数：
   1. 列表行高：line-height
   2. 列表上下间距：padding-top / padding-bottom
   3. 列表项间距：margin-bottom
   4. 内容区高度：height / min-height
   5. 是否显示列表符号：list-style / background / ::before
   ========================================================= */
.old-home-step96 .step147-business-box .old-list-body,
.old-home-step96 .step147-auction-box .old-list-body {
    height: 198px !important;
    padding: 12px 14px !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.old-home-step96 .step147-business-list,
.old-home-step96 .step147-auction-list {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 6px !important;
    list-style: none !important;
    background: none !important;
    background-image: none !important;
}

.old-home-step96 .step147-business-list > li,
.old-home-step96 .step147-auction-list > li {
    height: 29px !important;
    line-height: 29px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    list-style-type: none !important;
    background: none !important;
    background-image: none !important;
    display: flex !important;
    align-items: center !important;
}

.old-home-step96 .step147-business-list > li::before,
.old-home-step96 .step147-auction-list > li::before,
.old-home-step96 .step147-business-list > li::marker,
.old-home-step96 .step147-auction-list > li::marker,
.old-home-step96 .step147-business-list > li > a::before,
.old-home-step96 .step147-auction-list > li > a::before,
.old-home-step96 .step147-plum {
    content: "" !important;
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    color: transparent !important;
    background: none !important;
    background-image: none !important;
}

.old-home-step96 .step147-business-list > li > a,
.old-home-step96 .step147-auction-list > li > a,
.old-home-step96 .step147-auction-list > li > em {
    line-height: 29px !important;
    background: none !important;
    background-image: none !important;
}

/* 新闻列表 */
.old-home-step96 .old-news-list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.old-home-step96 .old-news-list li {
    position: relative !important;
    height: 25px !important;
    line-height: 25px !important;
    padding-left: 15px !important;
    border-bottom: 1px dashed #dbe8d0 !important;
    color: #555 !important;
    font-size: 12px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-news-list li::before {
    content: "" !important;
    position: absolute !important;
    left: 2px !important;
    border-radius: 0 3px 3px 0 !important;
    top: 10px !important;
    width: 6px !important;
    height: 6px !important;
    background: url("/site/219/theme/spring_green/images/legacy_old_template/templateimage/a06.jpg") no-repeat center center !important;
}

.old-home-step96 .old-news-list a {
    color: #444 !important;
    text-decoration: none !important;
}

.old-home-step96 .old-news-list a:hover {
    color: #46a800 !important;
    text-decoration: underline !important;
}

.old-home-step96 .old-news-list em {
    float: right !important;
    color: #999 !important;
    font-style: normal !important;
    font-size: 11px !important;
    margin-left: 8px !important;
}

/* =========================================================
   首页专用 / 行业资讯 home-news-list
   对应模板：templates/front_v2/index.html
   对应 HTML 标记：.home-news-list

   说明：
   1. 第一条封面图片的宽度、高度、边框宽度、边框样式、边框颜色，
      统一由 index.py 读取后台封面图参数后写入 HTML inline style；
   2. 这里不再用 CSS 固定封面图的 width / height / border，
      避免覆盖后台参数；
   3. 这里只负责行业资讯整体排版、标题颜色、简介、两列三行标题列表；
   4. 第一条标题颜色为黑色，居中加粗；
   5. 后续微调行业资讯，只改这一整块，不再往底部追加。
   ========================================================= */
.old-home-step96 .old-industry-box,
.old-home-step96 .home-news-list {
    height: 272px !important;
    min-height: 272px !important;
    max-height: 272px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
}

.old-home-step96 .old-news-feature,
.old-home-step96 .home-news-list .home-news-feature {
    display: flex !important;
    gap: 14px !important;
    height: 150px !important;
    padding: 13px 14px 8px 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/*
   重要：
   封面外框不在 CSS 里写死 width / height / border。
   后台“封面图片”里的宽度、高度、边框宽度、边框样式、边框颜色，
   由 index.py 写入 home_news_feature.cover_box_style，
   再由首页 HTML 模板写到 style="..."。
*/
.old-home-step96 .old-news-img,
.old-home-step96 .home-news-list .home-news-feature-cover {
    flex: 0 0 auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-news-img a,
.old-home-step96 .home-news-list .home-news-feature-cover a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.old-home-step96 .old-news-img img,
.old-home-step96 .home-news-list .home-news-feature-cover img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-news-text,
.old-home-step96 .home-news-list .home-news-feature-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 105px !important;
    overflow: hidden !important;
    color: #555 !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
}

.old-home-step96 .old-news-text h3,
.old-home-step96 .home-news-list .home-news-feature-title {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 24px !important;
    text-align: center !important;
    font-weight: bold !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #000000 !important;
}

.old-home-step96 .old-news-text h3 a,
.old-home-step96 .home-news-list .home-news-feature-title a {
    display: block !important;
    color: #000000 !important;
    text-decoration: none !important;
    text-align: center !important;
    font-weight: bold !important;
}

.old-home-step96 .old-news-text h3 a:hover,
.old-home-step96 .home-news-list .home-news-feature-title a:hover {
    color: #222222 !important;
    text-decoration: underline !important;
}

.old-home-step96 .old-news-text p,
.old-home-step96 .home-news-list .home-news-feature-desc {
    margin: 0 !important;
    padding: 0 !important;
    color: #666 !important;
    font-size: 13px !important;
    line-height: 24px !important;
    max-height: 72px !important;
    overflow: hidden !important;
    text-indent: 2em !important;
}

.old-home-step96 .old-news-list-bottom,
.old-home-step96 .home-news-list .home-news-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, 25px) !important;
    grid-auto-rows: 25px !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
    height: 85px !important;
    padding: 0 14px 10px 14px !important;
    margin: 0 !important;
    overflow: hidden !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-news-list .home-news-grid-item {
    position: relative !important;
    height: 25px !important;
    line-height: 25px !important;
    padding-left: 15px !important;
    border-bottom: 1px dashed #dbe8d0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
    list-style: none !important;
    background: none !important;
}

.old-home-step96 .home-news-list .home-news-grid-item::before {
    content: "✤" !important;
    position: absolute !important;
    left: 2px !important;
    border-radius: 0 3px 3px 0 !important;
    top: 0 !important;
    width: auto !important;
    height: 25px !important;
    line-height: 25px !important;
    color: #46a800 !important;
    font-size: 10px !important;
    background: none !important;
    background-image: none !important;
}

.old-home-step96 .home-news-list .home-news-grid-item a {
    display: block !important;
    color: #444 !important;
    text-decoration: none !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.old-home-step96 .home-news-list .home-news-grid-item a:hover {
    color: #46a800 !important;
    text-decoration: underline !important;
}

/* 右侧合作平台 */
.old-home-step96 .old-platform-box {
    height: 480px !important;
    min-height: 480px !important;
    max-height: 480px !important;
}

.old-home-step96 .old-platform-grid {
    height: 443px !important;
    padding: 14px !important;
    display: grid !important;
    grid-template-columns: 154px 154px !important;
    grid-auto-rows: 82px !important;
    gap: 12px !important;
    align-content: start !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-platform-grid a {
    display: block !important;
    width: 154px !important;
    height: 82px !important;
    border: 1px solid #e5e5e5 !important;
    background: #fff !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-platform-grid img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: var(--step187-img-fit, cover) !important;
}

/* =========================================================
   页面：首页 home
   区块：合作平台 home-partner-platform
   对应模板：templates/front_v2/index.html
   对应 HTML 标记：
       .home-partner-platform
       .home-partner-grid
       .home-partner-cell
       .home-partner-item
       .home-partner-img

   Step038 集中修复说明：
   1. 合作平台数据仍由 index.py 从数据库读取；
   2. 封面图片宽度、高度、边框、内边距仍由后台参数写入 inline style；
   3. 取消 grid-template-columns / grid-template-rows 对图片单格的固定控制；
   4. 改为 flex-wrap 自动换行；
   5. 图片间距只通过 .home-partner-item 的 margin 微调；
   6. 当前 margin 为 5px；
   7. 合作平台栏目框高度与左侧“业务范围/拍卖信息 + 行业资讯”区域对齐；
   8. 后期微调只改下面“可调参数区”，不要在 CSS 底部追加零散覆盖。
   ========================================================= */

/* ===============================
   合作平台可调参数区
   ===============================
   1. 栏目总高度：
      .home-partner-platform height
      当前 552px = 左侧业务范围/拍卖信息 258px + 间距 12px + 行业资讯微调高度 282px
      step281：延续园林首页合作平台高度设置，下边框对齐行业资讯下边框。

   2. 内容区高度：
      .home-partner-grid height
      当前 526px = 栏目总高度 552px - 园林标题栏 26px
      step281：内容区使用 align-content:center，使中间图片组垂直居中。

   3. 图片外边距：
      .home-partner-item margin
      当前 5px；
      想更紧凑改 3px；
      想更松改 6px 或 8px。
   =============================== */

.old-home-step96 .home-partner-platform {
    /* step281_garden_home_partner_align：合作平台高度集中维护，下边框对齐行业资讯下边框 */
    height: 552px !important;
    min-height: 552px !important;
    max-height: 552px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/*
   不再使用 CSS Grid 固定表格单元。
   这里使用 flex-wrap，让每张图片按后台 inline style 的实际宽高自然排列。
*/
.old-home-step96 .home-partner-platform .home-partner-grid {
    /* step281_garden_home_partner_vertical_center：高度随栏目加高后同步调整，图片组垂直居中 */
    height: 526px !important;
    min-height: 526px !important;
    padding: 10px 10px !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-content: center !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-partner-platform .home-partner-cell {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/*
   合作平台图片外边距：
   后台没有外边距字段，所以只在这里统一控制。
   图片自身 width / height / border / padding 不在 CSS 固定，仍使用后台 inline style。
*/
.old-home-step96 .home-partner-platform .home-partner-item {
    display: block !important;
    margin: 5px !important;
    text-decoration: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-partner-platform .home-partner-img {
    display: block !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-partner-platform .home-partner-empty {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 120px !important;
    color: #999 !important;
    font-size: 13px !important;
}

/* =========================================================
   页面：首页 home
   区块：藏品展示 home-product-showcase
   Step211：首页藏品展示改接新 products 产品模块
   对应模板变量：home_product_showcase_items

   重要说明：
   1. 旧文章栏目“藏品展示”已删除，本区块不再按旧栏目文章读取；
   2. 产品数据由 dashboard/site_renderer/index.py 从 products.ProductItem 读取前 5 条；
   3. 图片尺寸、边框、内边距由首页模板注释 QPY_HOME_PRODUCT_* 参数 + index.py 输出 inline style 控制；
   4. 当前默认：240×160，1px #dddddd，2px 内边距；
   5. CSS 只负责一行 5 列、卡片居中、标题截留显示，不接管数据库读取逻辑。
   ========================================================= */

/* 藏品展示栏目框：标题栏约 37px，内容区容纳 240×160 图片 + 标题 */
.old-home-step96 .home-product-showcase {
    width: 1200px !important;
    max-width: 1200px !important;
    height: 250px !important;
    min-height: 250px !important;
    max-height: 250px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/*
   内容区可调参数：
   1. 一行数量：grid-template-columns 当前 repeat(5, minmax(0, 1fr))；
   2. 图片默认尺寸：由首页模板注释 QPY_HOME_PRODUCT_COVER_WIDTH/HEIGHT 控制，当前 240×160；
   3. 栏目上下内边距：padding 当前 8px 0 6px；
   4. 卡片间距：column-gap 当前 0，保证 5 张 240px 封面图可放入 1200px 宽度。
*/
.old-home-step96 .home-product-showcase .home-product-grid {
    height: 213px !important;
    padding: 8px 0 6px 0 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    align-items: center !important;
    justify-items: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* 每个产品卡片：图片尺寸由 inline style 控制，这里只负责居中和高度 */
.old-home-step96 .home-product-showcase .home-product-card {
    display: flex !important;
    width: 240px !important;
    max-width: 240px !important;
    height: 196px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #333 !important;
    text-align: center !important;
    text-decoration: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/*
   封面外框：
   1. width/height/border/padding 由 index.py 输出到 style；
   2. 当前默认 240×160、1px #dddddd、2px padding；
   3. 这里不写死 width/height，避免和风格编辑窗口参数冲突。
*/
.old-home-step96 .home-product-showcase .home-product-img-box {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 auto 7px auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

.old-home-step96 .home-product-showcase .home-product-img-box .home-product-img,
.old-home-step96 .home-product-showcase .home-product-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    box-sizing: border-box !important;
}

/* 标题：15 字截留由首页模板 truncatechars:15 控制 */
.old-home-step96 .home-product-showcase .home-product-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 4px !important;
    color: #333 !important;
    font-size: 13px !important;
    line-height: 22px !important;
    height: 22px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-product-showcase .home-product-card:hover .home-product-title {
    color: #46a800 !important;
    text-decoration: underline !important;
}

.old-home-step96 .home-product-showcase .home-product-empty {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 120px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #999 !important;
    font-size: 13px !important;
}

/* 安全裁切：后续接真实内容也不撑爆 */
.old-home-step96 img {
    max-width: 100% !important;
}

.old-home-step96 p,
.old-home-step96 li,
.old-home-step96 a,
.old-home-step96 em,
.old-home-step96 h3 {
    box-sizing: border-box !important;
}

.old-home-step96 .old-box,
.old-home-step96 .old-company-body,
.old-home-step96 .old-video-body,
.old-home-step96 .old-list-body,
.old-home-step96 .old-news-feature,
.old-home-step96 .old-news-list-bottom,
.old-home-step96 .old-platform-grid,
.old-home-step96 .old-product-list {
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* 隐藏早期占位模块，防止旧 CSS 干扰 */
.home-grid,
.spring-home-body,
.spring-home-row,
.spring-module {
    display: none !important;
}

/* ===== STEP106_SPRING_GREEN_HOME_LOCK_END ===== */

/* STEP126_HOME_COMPANY_INTRO_START */
.home-company-intro {
    overflow: hidden;
}

.home-company-intro .home-module-title-with-more {
    position: relative;
}

.home-company-intro .home-module-more {
    float: right;
    display: inline-block;
    padding-right: 8px;
    color: #999;
    font-size: 12px;
    font-weight: normal;
    text-decoration: none;
}

.home-company-intro .home-module-more:hover {
    color: #4b9900;
    text-decoration: underline;
}

.home-company-intro-body {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    box-sizing: border-box;
    overflow: hidden;
}

.home-company-intro-image {
    flex: 0 0 auto;
    box-sizing: border-box;
    overflow: hidden;
}

.home-company-intro-image img {
    max-width: 100%;
    box-sizing: border-box;
}

.home-company-intro-text {
    flex: 1 1 auto;
    min-width: 0;
    color: #333;
    font-size: 13px;
    line-height: 1.8;
    text-align: left;
    word-break: break-all;
    overflow: hidden;
}
/* STEP126_HOME_COMPANY_INTRO_END */

/* STEP026B_HOME_COMPANY_INTRO_PARAGRAPH_SYNC_START */
/*
=========================================================
页面：首页 home
区块：公司介绍 home-company-intro

修复目标：
1、公司介绍正文与后台富文本段落同步；
2、后台正文中的 p / div / br 段落在首页保留换行；
3、每个正文段落首行缩进 2em；
4、字体大小、行高与拍卖信息协调；
5、只控制文字排版，不接管公司介绍图片尺寸、边框和内边距。
=========================================================
*/

.old-home-step96 .home-company-intro .home-company-intro-body {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.old-home-step96 .home-company-intro .home-company-intro-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 150px !important;
    max-height: 150px !important;
    overflow: hidden !important;
    color: #444 !important;
    font-size: 12px !important;
    line-height: 23px !important;
    text-align: left !important;
    word-break: break-all !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-company-intro .home-company-intro-text p,
.old-home-step96 .home-company-intro .home-company-intro-text div {
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    color: #444 !important;
    font-size: 12px !important;
    line-height: 23px !important;
    text-indent: 2em !important;
    text-align: left !important;
}

.old-home-step96 .home-company-intro .home-company-intro-text br {
    display: block !important;
    content: "" !important;
    margin: 0 !important;
    line-height: 8px !important;
}

.old-home-step96 .home-company-intro .home-company-intro-text img,
.old-home-step96 .home-company-intro .home-company-intro-text table,
.old-home-step96 .home-company-intro .home-company-intro-text video,
.old-home-step96 .home-company-intro .home-company-intro-text iframe {
    display: none !important;
}

/* 业务范围文字与拍卖信息协调 */
.old-home-step96 .home-business-scope .home-business-list > li,
.old-home-step96 .home-business-scope .home-business-list > li > a {
    font-size: 12px !important;
    line-height: 23px !important;
}

/* STEP026B_HOME_COMPANY_INTRO_PARAGRAPH_SYNC_END */

/* STEP026D_HOME_COMPANY_INTRO_LAST_LINE_FIX_START */
/*
=========================================================
页面：首页 home
区块：公司介绍 home-company-intro

修复目标：
1、解决公司介绍底部最后一行被裁切的问题；
2、保持公司介绍正文与拍卖信息字体协调；
3、保留后台段落换行和首行缩进；
4、只微调文字区高度、行高和段落底部间距；
5、不接管图片尺寸、边框和内边距。
=========================================================
*/

.old-home-step96 .home-company-intro .home-company-intro-text {
    height: 158px !important;
    max-height: 158px !important;
    line-height: 22px !important;
    padding-bottom: 3px !important;
}

.old-home-step96 .home-company-intro .home-company-intro-text p,
.old-home-step96 .home-company-intro .home-company-intro-text div {
    line-height: 22px !important;
    margin: 0 0 2px 0 !important;
    text-indent: 2em !important;
}

/* STEP026D_HOME_COMPANY_INTRO_LAST_LINE_FIX_END */

/* STEP031_HOME_COMPANY_INTRO_SCHEME_B_350_START */
/*
=========================================================
页面：首页 home
区块：公司介绍 home-company-intro

方案B规则：
1、首页模板使用 company_intro_text|truncatechars:350|linebreaks；
2、截留字数由首页模板 truncatechars 后面的数字控制；
3、CSS 只控制显示区域高度、字号、行高、段落首行缩进；
4、公司介绍图片尺寸、边框、内边距仍然由 index.py 读取后台参数后写入 inline style；
5、这里不接管图片参数。
=========================================================
*/

.old-home-step96 .home-company-intro .home-company-intro-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 196px !important;
    max-height: 196px !important;
    overflow: hidden !important;
    color: #444 !important;
    font-size: 12px !important;
    line-height: 22px !important;
    text-align: left !important;
    text-indent: 0 !important;
    word-break: break-all !important;
    box-sizing: border-box !important;
    padding: 0 0 2px 0 !important;
}

.old-home-step96 .home-company-intro .home-company-intro-text p {
    margin: 0 0 3px 0 !important;
    padding: 0 !important;
    color: #444 !important;
    font-size: 12px !important;
    line-height: 22px !important;
    text-indent: 2em !important;
    text-align: left !important;
}

.old-home-step96 .home-company-intro .home-company-intro-text br {
    display: none !important;
}

/* STEP031_HOME_COMPANY_INTRO_SCHEME_B_350_END */

/* step145-nav-gradient-source-css-start */
/* 导航栏：绿色渐变；鼠标经过：黄色渐变；二级栏目同规则 */
.site-nav-wrap,
.site-nav,
.site-nav-list {
    background-color: #5fb300 !important;
    background-image: linear-gradient(to bottom, #72ca00 0%, #5fb300 45%, #4d9800 100%) !important;
    background-repeat: repeat-x !important;
}

.site-nav-link,
.site-nav-item > a {
    color: #ffffff !important;
    text-decoration: none !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* 首页 active 不单独变色，保持绿色，不要一打开首页就是黄色 */
.site-nav-link.active,
.site-nav-item.active,
.site-nav-item.current,
.site-nav-list li.active,
.site-nav-list li.current {
    background-color: transparent !important;
    background-image: none !important;
    color: #ffffff !important;
}

/* 鼠标移上去才变黄色 */
.site-nav-item:hover > .site-nav-link,
.site-nav-link:hover,
.site-nav-item > a:hover,
.site-nav-item:hover,
.site-nav-list li:hover {
    background-color: #f3b300 !important;
    background-image: linear-gradient(to bottom, #ffe272 0%, #f5bd22 45%, #e09a00 100%) !important;
    background-repeat: repeat-x !important;
    background-position: center center !important;
    color: #ffffff !important;
}

/* 二级栏目：默认绿色渐变 */
.site-subnav,
.site-nav-item ul {
    background-color: #5fb300 !important;
    background-image: linear-gradient(to bottom, #72ca00 0%, #5fb300 45%, #4d9800 100%) !important;
    background-repeat: repeat-x !important;
    border: 1px solid #4d9800 !important;
}

/* 二级栏目文字 */
.site-subnav a,
.site-nav-item ul li a {
    background-color: transparent !important;
    background-image: none !important;
    color: #ffffff !important;
}

/* 二级栏目 hover：黄色渐变 */
.site-subnav a:hover,
.site-nav-item ul li a:hover {
    background-color: #f3b300 !important;
    background-image: linear-gradient(to bottom, #ffe272 0%, #f5bd22 45%, #e09a00 100%) !important;
    background-repeat: repeat-x !important;
    color: #ffffff !important;
}
/* step145-nav-gradient-source-css-end */

/* =========================================================
   Step017H：修复顶部 Logo + 顶部 Banner 两侧通栏背景（整合版）
   重要：
   1. 此段已经整合到自定义 CSS 最底部；
   2. 请在后台“风格编辑”窗口直接用本文件全部覆盖自定义 CSS 后保存；
   3. 保存后数据库 site_style_theme.custom_css 会同步更新；
   4. 不改首页 HTML 模板，不影响首页动态数据；
   5. 解决重新生成首页/整站后顶部两侧又变白的问题。
   ========================================================= */

/* 整站背景：保持浅绿色网格 */
html,
body {
    background-color: #eef6df !important;
    background-image:
        linear-gradient(rgba(120, 170, 80, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 170, 80, 0.08) 1px, transparent 1px) !important;
    background-size: 12px 12px !important;
    background-repeat: repeat !important;
    background-position: center top !important;
}

/* 顶部 Logo + 顶部 Banner 外层：两侧通栏恢复浅绿色网格背景 */
html body .site-header,
html body header.site-header {
    position: relative !important;
    width: 100% !important;
    min-width: 1200px !important;
    height: 130px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #eef6df !important;
    background-image:
        linear-gradient(rgba(120, 170, 80, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 170, 80, 0.08) 1px, transparent 1px) !important;
    background-size: 12px 12px !important;
    background-repeat: repeat !important;
    background-position: center top !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* 中间 1200px 区域仍然居中，Logo 200 + 顶部 Banner 1000 */
html body .site-header .site-header-inner {
    width: 1200px !important;
    min-width: 1200px !important;
    max-width: 1200px !important;
    height: 130px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    background: transparent !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Logo 区域：中间内容保持白底，避免 LOGO 被网格背景影响 */
html body .site-header .site-logo-box {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    height: 130px !important;
    flex: 0 0 200px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

html body .site-header .site-logo-box img {
    width: 200px !important;
    height: 130px !important;
    display: block !important;
    object-fit: var(--step187-img-fit, cover) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 顶部 Banner 区域：中间内容保持白底 */
html body .site-header .site-top-banner-box {
    width: 1000px !important;
    min-width: 1000px !important;
    max-width: 1000px !important;
    height: 130px !important;
    flex: 0 0 1000px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

html body .site-header .site-top-banner-box img {
    width: 1000px !important;
    height: 130px !important;
    display: block !important;
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 滚动 Banner 外侧也保持浅绿色网格，避免生成后又变白 */
html body .site-slider-wrap,
html body .banner-wrap,
html body .slider-wrap {
    width: 100% !important;
    min-width: 1200px !important;
    background-color: #eef6df !important;
    background-image:
        linear-gradient(rgba(120, 170, 80, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 170, 80, 0.08) 1px, transparent 1px) !important;
    background-size: 12px 12px !important;
    background-repeat: repeat !important;
    background-position: center top !important;
}

/* 导航保持通栏绿色 */
html body .site-nav-wrap,
html body nav.site-nav-wrap {
    width: 100% !important;
    min-width: 1200px !important;
    margin: 0 !important;
}

/* 防止外层白底盖住左右两侧网格 */
html body .site-wrap,
html body .site-main-wrap,
html body .site-container,
html body .page-wrap,
html body .main-wrap,
html body .content-wrap,
html body .outer-bg {
    background: transparent !important;
}

/* 正文中间仍保持白底 */
html body .site-main,
html body .old-home-step96,
html body .column-layout,
html body .detail-panel,
html body .product-detail-layout {
    background: #ffffff !important;
}

/* 手机端兼容 */
@media (max-width: 768px) {
    html body .site-header,
    html body header.site-header,
    html body .site-nav-wrap,
    html body nav.site-nav-wrap,
    html body .site-slider-wrap,
    html body .banner-wrap,
    html body .slider-wrap {
        min-width: 0 !important;
        width: 100% !important;
    }

    html body .site-header,
    html body header.site-header {
        height: auto !important;
    }

    html body .site-header .site-header-inner {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
    }

    html body .site-header .site-logo-box,
    html body .site-header .site-top-banner-box {
        height: auto !important;
    }

    html body .site-header .site-logo-box img,
    html body .site-header .site-top-banner-box img {
        height: auto !important;
    }
}
/* Step017H end */

/* =========================================================
   Step018A-fix：首页业务范围 8 行 + 单个绿色小梅花点（修正版）
   使用位置：后台风格编辑窗口 → 自定义 CSS，整段覆盖保存。
   修正原因：
   1. 上一版同时显示了 li::before 和 HTML 自带 .step147-plum，导致前面出现两个梅花点；
   2. .step147-plum 与 a 链接换行后，li 高度又被限制，正文文字被裁掉；
   3. 本版隐藏 HTML 自带 .step147-plum，只使用 li::before 生成一个绿色小梅花点。
   ========================================================= */

/* 业务范围外框仍保持原首页半框大小，避免把右侧拍卖信息挤乱 */
.old-home-step96 .step147-business-box {
    height: 258px !important;
    min-height: 258px !important;
    max-height: 258px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* 业务范围内容区：给 8 行留出空间 */
.old-home-step96 .step147-business-box .old-list-body {
    height: 206px !important;
    min-height: 206px !important;
    max-height: 206px !important;
    padding: 10px 14px !important;
    display: block !important;
    align-items: initial !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* 业务范围列表：取消旧的居中挤压，准备显示 8 行 */
.old-home-step96 .step147-business-list {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 6px !important;
    list-style: none !important;
    background: none !important;
    background-image: none !important;
    box-sizing: border-box !important;
}

/* 业务范围每行：8 行布局 */
.old-home-step96 .step147-business-list > li {
    position: relative !important;
    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;
    line-height: 23px !important;
    margin: 0 !important;
    padding: 0 0 0 17px !important;
    list-style: none !important;
    list-style-type: none !important;
    background: none !important;
    background-image: none !important;
    display: block !important;
    color: #444 !important;
    font-size: 13px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

/* 只用这个伪元素显示一个绿色小梅花点 */
.old-home-step96 .step147-business-list > li::before {
    content: "✤" !important;
    display: block !important;
    position: absolute !important;
    left: 1px !important;
    top: 0 !important;
    width: 14px !important;
    height: 23px !important;
    line-height: 23px !important;
    color: #46a800 !important;
    font-size: 10px !important;
    font-weight: normal !important;
    background: none !important;
    background-image: none !important;
}

/* 关键修复：隐藏 HTML 里原本的 step147-plum，避免两个梅花点和文字被挤到下一行 */
.old-home-step96 .step147-business-list .step147-plum,
.old-home-step96 .step147-business-list > li > .step147-plum {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: transparent !important;
    background: none !important;
    background-image: none !important;
}

.old-home-step96 .step147-business-list > li::marker {
    content: "" !important;
    display: none !important;
}

/* 业务范围链接文字：显示在梅花点右侧，不换行、不被裁掉 */
.old-home-step96 .step147-business-list > li > a {
    display: block !important;
    width: 100% !important;
    height: 23px !important;
    line-height: 23px !important;
    color: #444 !important;
    font-size: 13px !important;
    text-decoration: none !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    background: none !important;
    background-image: none !important;
    box-sizing: border-box !important;
}

.old-home-step96 .step147-business-list > li > a:hover {
    color: #46a800 !important;
    text-decoration: underline !important;
}

/* 只限制业务范围最多显示 8 行，多余自动隐藏 */
.old-home-step96 .step147-business-list > li:nth-child(n+9) {
    display: none !important;
}

/* Step018A end */

/* =========================================================
   Step018I：首页拍卖信息 8 条 + 绿色小梅花点 + 日期右对齐（整合覆盖版）

   使用位置：后台 → 风格编辑窗口 → 自定义 CSS
   操作方式：Ctrl+A 全选旧 CSS → 用本文件全部覆盖 → 保存。

   配合首页 HTML：
   1. home_auction_items|slice:":8"
   2. item.title|truncatechars:25
   3. <em class="home-auction-date">{{ item.date_text }}</em>

   固定分工：
   1. index.py 只负责取数据库数据和生成 date_text；
   2. 首页 HTML 模板负责显示 8 条、标题截留 25 字；
   3. 本 CSS 只负责 8 行高度、绿色小梅花点、日期右对齐、标题不压日期。

   可微调参数：
   1. 每行高度：height / line-height，目前 23px；
   2. 日期宽度：.home-auction-date width，目前 78px；
   3. 标题右侧预留：li padding-right，目前 86px；
   4. 小梅花颜色：li::before color，目前 #46a800。
   ========================================================= */

/* 拍卖信息外框：保持与业务范围同高，不影响左右布局 */
.old-home-step96 .step147-auction-box,
.old-home-step96 .home-auction-info {
    height: 258px !important;
    min-height: 258px !important;
    max-height: 258px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* 拍卖信息内容区：容纳 8 条，每条 23px */
.old-home-step96 .step147-auction-box .old-list-body,
.old-home-step96 .home-auction-info .old-list-body {
    height: 206px !important;
    min-height: 206px !important;
    max-height: 206px !important;
    padding: 10px 14px !important;
    display: block !important;
    align-items: initial !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* 拍卖信息列表：取消旧 flex 居中和旧小方块影响 */
.old-home-step96 .step147-auction-list,
.old-home-step96 .home-auction-list,
.old-home-step96 .step147-auction-list.home-auction-list {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 6px !important;
    list-style: none !important;
    background: none !important;
    background-image: none !important;
    box-sizing: border-box !important;
}

/* 拍卖信息每行：左侧梅花点，右侧预留日期区域 */
.old-home-step96 .step147-auction-list > li,
.old-home-step96 .home-auction-list > li,
.old-home-step96 .step147-auction-list.home-auction-list > li {
    position: relative !important;
    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;
    line-height: 23px !important;
    margin: 0 !important;
    padding: 0 86px 0 17px !important;
    list-style: none !important;
    list-style-type: none !important;
    background: none !important;
    background-image: none !important;
    display: block !important;
    color: #444 !important;
    font-size: 12px !important;
    border-bottom: 1px dotted #d7e6c5 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

/* 拍卖信息绿色小梅花点：覆盖旧 CSS 中 display:none 的 ::before */
.old-home-step96 .step147-auction-list > li::before,
.old-home-step96 .home-auction-list > li::before,
.old-home-step96 .step147-auction-list.home-auction-list > li::before {
    content: "✤" !important;
    display: block !important;
    position: absolute !important;
    left: 1px !important;
    top: 0 !important;
    width: 14px !important;
    height: 23px !important;
    line-height: 23px !important;
    color: #46a800 !important;
    font-size: 10px !important;
    font-weight: normal !important;
    background: none !important;
    background-image: none !important;
}

.old-home-step96 .step147-auction-list > li::marker,
.old-home-step96 .home-auction-list > li::marker {
    content: "" !important;
    display: none !important;
}

/* 拍卖信息标题：不换行、不压日期，超出显示省略号 */
.old-home-step96 .step147-auction-list > li > a,
.old-home-step96 .home-auction-list > li > a,
.old-home-step96 .step147-auction-list.home-auction-list > li > a {
    display: block !important;
    width: 100% !important;
    height: 23px !important;
    line-height: 23px !important;
    color: #444 !important;
    font-size: 12px !important;
    text-decoration: none !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    background: none !important;
    background-image: none !important;
    box-sizing: border-box !important;
}

.old-home-step96 .step147-auction-list > li > a:hover,
.old-home-step96 .home-auction-list > li > a:hover {
    color: #46a800 !important;
    text-decoration: underline !important;
}

/* 拍卖信息右侧日期：固定到最右侧并右对齐 */
.old-home-step96 .step147-auction-list > li > em.home-auction-date,
.old-home-step96 .home-auction-list > li > em.home-auction-date,
.old-home-step96 .step147-auction-list.home-auction-list > li > em.home-auction-date {
    position: absolute !important;
    right: 2px !important;
    border-radius: 3px 0 0 3px !important;
    top: 0 !important;
    float: none !important;
    display: block !important;
    width: 78px !important;
    height: 23px !important;
    line-height: 23px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
    color: #999 !important;
    font-style: normal !important;
    font-size: 11px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    background: none !important;
    background-image: none !important;
    box-sizing: border-box !important;
}

/* 兼容：如果旧模板仍然生成了没有 class 的 em，也先按日期右对齐显示 */
.old-home-step96 .home-auction-list > li > em:not(.home-auction-date),
.old-home-step96 .step147-auction-list.home-auction-list > li > em:not(.home-auction-date) {
    position: absolute !important;
    right: 2px !important;
    border-radius: 3px 0 0 3px !important;
    top: 0 !important;
    float: none !important;
    display: block !important;
    width: 78px !important;
    height: 23px !important;
    line-height: 23px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
    color: #999 !important;
    font-style: normal !important;
    font-size: 11px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

/* 只显示前 8 条，多余隐藏；最终数量仍由首页 HTML 的 slice 控制 */
.old-home-step96 .home-auction-list > li:nth-child(n+9),
.old-home-step96 .step147-auction-list.home-auction-list > li:nth-child(n+9) {
    display: none !important;
}

/* Step018I end */

/* ==========================================================
   Step044G13 文章详情页 / 独立页：顶部间距 2px + 正文无框容器版
   适用前提：
   1. 后台“文章内容详情页 HTML 模板”只保存 qpy-detail-page 主体；
   2. templates/front_v2/detail.html 只输出 article.content；
   3. 外层重复标题、重复当前位置已经从代码层去掉；
   4. 本段 CSS 只负责排版，不负责隐藏结构。

   本次调整：
   1. 左侧栏目框、右侧正文框距离顶部滚动 Banner 的间距改为 2px；
   2. 正文灰色边框内增加一个居中的“无边框正文容器”；
   3. 正文容器宽度集中用变量控制，后期只改一个数值；
   4. 不强制正文 text-indent / text-align，尽量尊重富文本编辑器里的格式；
   5. 图片、表格、正文不超出正文容器和正文边框。

   可调参数：
   --qpy-detail-top-gap：详情区距离顶部滚动 Banner 的间距；
   --qpy-detail-left-width：左侧栏目宽度；
   --qpy-detail-column-gap：左侧栏目与右侧正文区间距；
   --qpy-detail-richtext-width：正文边框内“无边框正文容器”的宽度。
   ========================================================== */

:root {
    --qpy-detail-top-gap: 2px;
    --qpy-detail-left-width: 300px;
    --qpy-detail-column-gap: 14px;
    --qpy-detail-richtext-width: 760px;
}

/* ---------- 0. 外层 detail.html 页面壳 ---------- */

html body .detail-layout,
html body .detail-layout-clean {
    width: 1200px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

html body .detail-panel,
html body .detail-panel-clean {
    width: 1200px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

/* ---------- 1. 文章详情页总布局：左侧 300px + 右侧自适应 ---------- */

.qpy-detail-page {
    width: 1200px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: var(--qpy-detail-top-gap) 0 34px 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: var(--qpy-detail-column-gap) !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

.qpy-detail-sidebar {
    width: var(--qpy-detail-left-width) !important;
    flex: 0 0 var(--qpy-detail-left-width) !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.qpy-detail-main {
    width: calc(1200px - var(--qpy-detail-left-width) - var(--qpy-detail-column-gap)) !important;
    flex: 0 0 calc(1200px - var(--qpy-detail-left-width) - var(--qpy-detail-column-gap)) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* ---------- 2. 左侧栏目框 ---------- */

.qpy-side-box {
    width: 100% !important;
    margin: 0 0 16px 0 !important;
    background: #ffffff !important;
    border: 1px solid #e2e2e2 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.qpy-side-title,
.qpy-side-title-with-more {
    position: relative !important;
    height: 34px !important;
    line-height: 34px !important;
    padding: 0 10px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #ebebeb !important;
    box-sizing: border-box !important;
}

.qpy-side-title > span:first-child,
.qpy-side-title-with-more > span:first-child {
    position: relative !important;
    display: inline-block !important;
    min-width: 72px !important;
    height: 34px !important;
    line-height: 34px !important;
    padding: 0 14px 0 16px !important;
    margin-left: -10px !important;
    background: var(--old-green) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
}

.qpy-side-title > span:first-child::after,
.qpy-side-title-with-more > span:first-child::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: -20px !important;
    width: 0 !important;
    height: 0 !important;
    border-top: 17px solid transparent !important;
    border-bottom: 17px solid transparent !important;
    border-left: 20px solid var(--old-green) !important;
}

.qpy-side-title-with-more .qpy-side-more {
    float: right !important;
    color: #999999 !important;
    font-size: 11px !important;
    text-decoration: none !important;
}

.qpy-side-title-with-more .qpy-side-more:hover {
    color: var(--old-link) !important;
}

.qpy-side-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 7px 12px 9px 12px !important;
    box-sizing: border-box !important;
}

.qpy-side-list li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px dashed #ececec !important;
}

.qpy-side-list li:last-child {
    border-bottom: none !important;
}

.qpy-side-list a {
    display: block !important;
    position: relative !important;
    padding: 7px 4px 7px 16px !important;
    color: #666666 !important;
    font-size: 12px !important;
    line-height: 20px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.qpy-side-list a::before {
    content: "◆" !important;
    position: absolute !important;
    left: 2px !important;
    border-radius: 0 3px 3px 0 !important;
    top: 7px !important;
    color: #8fbf3e !important;
    font-size: 10px !important;
}

.qpy-side-list a:hover,
.qpy-side-list .is-current {
    color: var(--old-link) !important;
}

.qpy-side-news-list a {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* ---------- 3. 右侧顶部栏目标题 + 当前位置 ---------- */

.qpy-detail-section-bar {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 38px !important;
    margin: 0 0 14px 0 !important;
    padding: 0 18px !important;
    background: #ffffff !important;
    border: 1px solid #e2e2e2 !important;
    box-sizing: border-box !important;
}

.qpy-detail-section-left {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
}

.qpy-detail-section-mark {
    width: 4px !important;
    height: 16px !important;
    margin-right: 8px !important;
    background: var(--old-green) !important;
    border-radius: 2px !important;
    flex: 0 0 4px !important;
}

.qpy-detail-section-name {
    color: #5d8f00 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.qpy-detail-location {
    color: #999999 !important;
    font-size: 12px !important;
    line-height: 20px !important;
    text-align: right !important;
    padding-left: 16px !important;
}

.qpy-detail-location a {
    color: #888888 !important;
}

.qpy-detail-location a:hover {
    color: var(--old-link) !important;
}

/* ---------- 4. 右侧正文灰色边框盒子 ---------- */

.qpy-detail-article-box {
    display: flow-root !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 420px !important;
    margin: 0 !important;
    padding: 26px 34px 36px !important;
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    clear: both !important;
}

.qpy-detail-article-box::after {
    content: "" !important;
    display: block !important;
    clear: both !important;
}

/* 文章标题、发布时间区域也跟正文容器同宽，保持居中 */
.qpy-detail-header {
    width: 100% !important;
    max-width: var(--qpy-detail-richtext-width) !important;
    margin: 0 auto 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #ececec !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.qpy-detail-title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
    line-height: 30px !important;
    font-weight: 700 !important;
    color: #222222 !important;
}

.qpy-detail-meta {
    margin-top: 8px !important;
    color: #9a9a9a !important;
    font-size: 12px !important;
    line-height: 22px !important;
}

.qpy-detail-meta span {
    display: inline-block !important;
    margin: 0 8px !important;
}

.qpy-detail-intro {
    width: 100% !important;
    max-width: var(--qpy-detail-richtext-width) !important;
    margin: 0 auto 16px !important;
    padding: 10px 14px !important;
    background: #f8f8f8 !important;
    border: 1px solid #ececec !important;
    color: #666666 !important;
    font-size: 13px !important;
    line-height: 24px !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
}

/*
   正文无边框容器：
   1. 位于灰色正文边框里面；
   2. 居中显示；
   3. 宽度由 --qpy-detail-richtext-width 控制；
   4. 默认 760px，想窄一点改 720px，想宽一点改 800px；
   5. 容器本身不加边框、不加背景，避免破坏富文本显示。
*/
.qpy-detail-richtext-box,
.qpy-detail-content-wrap,
.qpy-detail-content {
    width: 100% !important;
    max-width: var(--qpy-detail-richtext-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/*
   富文本正文：
   这里不强制 text-indent 和 text-align，
   避免覆盖后台 UEditor / 富文本编辑器里面设置的缩进、居中、右对齐等格式。
*/
.qpy-detail-content {
    display: flow-root !important;
    color: #333333 !important;
    font-size: 14px !important;
    line-height: 2 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    clear: both !important;
}

.qpy-detail-content::after {
    content: "" !important;
    display: block !important;
    clear: both !important;
}

.qpy-detail-content * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/*
   段落只控制基础间距，不强制首行缩进。
   如果富文本里设置了缩进、居中、加粗、颜色、字号，优先按富文本自身格式显示。
*/
.qpy-detail-content p {
    margin-top: 0;
    margin-bottom: 14px;
}

.qpy-detail-content p:empty {
    display: none !important;
}

.qpy-detail-content img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 16px auto !important;
    box-sizing: border-box !important;
    float: none !important;
}

.qpy-detail-content table {
    width: 100% !important;
    margin: 14px 0 !important;
    border-collapse: collapse !important;
}

.qpy-detail-content table td,
.qpy-detail-content table th {
    border: 1px solid #dddddd !important;
    padding: 8px 10px !important;
    line-height: 1.8 !important;
}

.qpy-detail-content ul,
.qpy-detail-content ol {
    margin: 12px 0 12px 24px !important;
    padding: 0 !important;
}

.qpy-detail-content li {
    line-height: 1.9 !important;
}

.qpy-detail-content a {
    color: #2f7d00 !important;
}

.qpy-detail-content a:hover {
    text-decoration: underline !important;
}

/* ---------- 5. 手机端 ---------- */

@media (max-width: 1250px) {
    html body .detail-layout,
    html body .detail-layout-clean,
    html body .detail-panel,
    html body .detail-panel-clean,
    .qpy-detail-page {
        width: 100% !important;
        max-width: 1200px !important;
    }

    .qpy-detail-page {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .qpy-detail-main {
        width: calc(100% - var(--qpy-detail-left-width) - var(--qpy-detail-column-gap)) !important;
        flex-basis: calc(100% - var(--qpy-detail-left-width) - var(--qpy-detail-column-gap)) !important;
    }
}

@media (max-width: 768px) {
    .qpy-detail-page {
        display: block !important;
        padding: 10px 10px 24px !important;
    }

    .qpy-detail-sidebar {
        width: auto !important;
        margin-bottom: 14px !important;
    }

    .qpy-detail-main {
        width: auto !important;
        flex-basis: auto !important;
        padding: 0 !important;
    }

    .qpy-detail-section-bar {
        display: block !important;
        padding: 8px 12px !important;
    }

    .qpy-detail-location {
        margin-top: 6px !important;
        padding-left: 0 !important;
        text-align: left !important;
    }

    .qpy-detail-article-box {
        padding: 14px 14px 20px !important;
    }

    .qpy-detail-header,
    .qpy-detail-intro,
    .qpy-detail-richtext-box,
    .qpy-detail-content-wrap,
    .qpy-detail-content {
        max-width: none !important;
    }

    .qpy-detail-title {
        font-size: 16px !important;
        line-height: 26px !important;
    }

    .qpy-detail-meta span {
        display: block !important;
        margin: 2px 0 !important;
    }
}

/* ==========================================================
   Step044G14 文章详情页：UEditor 富文本 nowrap 强制换行修复
   原因：
   1. UEditor 复制来的正文中有大量 style="text-wrap-mode: nowrap;"；
   2. nowrap 会让中文整段不换行，导致文字顶出正文边框；
   3. 本段只在 .qpy-detail-content 正文区域内生效；
   4. 不覆盖 text-align，所以图片说明居中、段落左对齐等富文本格式仍保留；
   5. 不覆盖 color / font-weight / text-decoration，所以颜色、加粗、链接仍保留。

   正文容器宽度仍在 Step044G13 参数中调整：
   --qpy-detail-richtext-width: 760px;
   ========================================================== */

/* 正文容器本身必须允许换行 */
.qpy-detail-content {
    white-space: normal !important;
    text-wrap-mode: wrap !important;
    text-wrap: wrap !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

/* UEditor 常见块级标签：限制宽度，不允许撑破容器 */
.qpy-detail-content p,
.qpy-detail-content div,
.qpy-detail-content section,
.qpy-detail-content article,
.qpy-detail-content blockquote {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    text-wrap-mode: wrap !important;
    text-wrap: wrap !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    box-sizing: border-box !important;
}

/* UEditor 常见行内标签：覆盖 nowrap，但保留行内结构和富文本样式 */
.qpy-detail-content span,
.qpy-detail-content font,
.qpy-detail-content strong,
.qpy-detail-content em,
.qpy-detail-content b,
.qpy-detail-content i,
.qpy-detail-content u,
.qpy-detail-content a {
    display: inline !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    text-wrap-mode: wrap !important;
    text-wrap: wrap !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    box-sizing: border-box !important;
}

/* 专门覆盖内联 style 中带 text-wrap-mode 或 nowrap 的标签 */
.qpy-detail-content [style*="text-wrap-mode"],
.qpy-detail-content [style*="nowrap"] {
    white-space: normal !important;
    text-wrap-mode: wrap !important;
    text-wrap: wrap !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

/* 段落保留富文本对齐方式，只统一基础间距 */
.qpy-detail-content p {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

/* 图片、视频、表格不能超出正文无边框容器 */
.qpy-detail-content img,
.qpy-detail-content video,
.qpy-detail-content iframe,
.qpy-detail-content embed,
.qpy-detail-content object {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
}

.qpy-detail-content img {
    display: block !important;
    margin: 16px auto !important;
    float: none !important;
}

.qpy-detail-content table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
}

.qpy-detail-content table td,
.qpy-detail-content table th {
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    box-sizing: border-box !important;
}

/* 防止旧 CSS 对详情正文重新加 nowrap */
.renderer-article-content.qpy-detail-content,
.renderer-article-content.qpy-detail-content * {
    white-space: normal !important;
    text-wrap-mode: wrap !important;
    text-wrap: wrap !important;
    overflow-wrap: anywhere !important;
}

/* ==========================================================
   Step044H02 文章列表页：兼容旧生成器 right 结构 + 复用详情页布局

   当前栏目生成器会检查 <div class="right">。
   所以文章列表页模板保留 left/right 类，但视觉样式改成详情页布局。
   ========================================================== */

.qpy-list-layout-page {
    display: flex !important;
    align-items: flex-start !important;
    gap: var(--qpy-detail-column-gap, 14px) !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-top: var(--qpy-detail-top-gap, 2px) !important;
    box-sizing: border-box !important;
}

.qpy-list-layout-page > .left.qpy-list-sidebar {
    float: none !important;
    width: var(--qpy-detail-left-width, 300px) !important;
    flex: 0 0 var(--qpy-detail-left-width, 300px) !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.qpy-list-layout-page > .right {
    float: none !important;
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: 0 !important;
}

.qpy-list-main {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.qpy-list-article-box {
    min-height: 420px !important;
    padding: 24px 28px 32px !important;
}

.qpy-list-content-box {
    width: 100% !important;
    max-width: var(--qpy-detail-richtext-width, 760px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

.qpy-article-title-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.qpy-article-title-list li {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 2px !important;
    border-bottom: 1px dashed #dddddd !important;
    box-sizing: border-box !important;
}

.qpy-article-title-list li:last-child {
    border-bottom: none !important;
}

.qpy-article-title-list a {
    position: relative !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding-left: 16px !important;
    color: #333333 !important;
    font-size: 14px !important;
    line-height: 40px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

.qpy-article-title-list a::before {
    content: "◆" !important;
    position: absolute !important;
    left: 2px !important;
    border-radius: 0 3px 3px 0 !important;
    top: 0 !important;
    color: #82bd00 !important;
    font-size: 10px !important;
    line-height: 40px !important;
}

.qpy-article-title-list a:hover {
    color: var(--old-link, #5d9700) !important;
}

.qpy-list-date {
    flex: 0 0 96px !important;
    width: 96px !important;
    color: #999999 !important;
    font-size: 12px !important;
    line-height: 40px !important;
    text-align: right !important;
    white-space: nowrap !important;
}

.qpy-list-empty {
    padding: 26px 0 !important;
    color: #999999 !important;
    font-size: 14px !important;
    text-align: center !important;
}

.qpy-list-pagebar {
    margin-top: 22px !important;
    padding-top: 16px !important;
    border-top: 1px solid #eeeeee !important;
    text-align: center !important;
    color: #777777 !important;
    font-size: 12px !important;
}

@media (max-width: 768px) {
    .qpy-list-layout-page {
        display: block !important;
        width: auto !important;
        padding: 0 10px !important;
    }

    .qpy-list-layout-page > .left.qpy-list-sidebar,
    .qpy-list-layout-page > .right {
        width: 100% !important;
        flex: none !important;
    }

    .qpy-article-title-list li {
        display: block !important;
        min-height: auto !important;
        padding: 8px 0 !important;
    }

    .qpy-article-title-list a {
        line-height: 24px !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .qpy-article-title-list a::before {
        line-height: 24px !important;
    }

    .qpy-list-date {
        display: block !important;
        width: auto !important;
        line-height: 22px !important;
        padding-left: 16px !important;
        text-align: left !important;
    }
}

/* ==========================================================
   Step044H09 文章列表页分页样式

   只负责分页条显示，不影响详情页正文。
   HTML 模板里可调整：
   QPY_ARTICLE_LIST_PAGE_SIZE=20
   QPY_ARTICLE_LIST_MAX_ITEMS=0
   ========================================================== */

.qpy-list-pagebar {
    margin-top: 24px !important;
    padding-top: 16px !important;
    border-top: 1px solid #eeeeee !important;
    text-align: center !important;
    font-size: 12px !important;
    color: #777777 !important;
}

.qpy-list-pagebar-info {
    margin-bottom: 10px !important;
    color: #888888 !important;
    line-height: 22px !important;
}

.qpy-list-pagebar-links {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

.qpy-list-pagebar-links a,
.qpy-list-pagebar-links span {
    display: inline-block !important;
    min-width: 26px !important;
    height: 24px !important;
    padding: 0 8px !important;
    border: 1px solid #dddddd !important;
    background: #ffffff !important;
    color: #555555 !important;
    line-height: 24px !important;
    text-align: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.qpy-list-pagebar-links a:hover,
.qpy-list-pagebar-links .current {
    border-color: #64b000 !important;
    background: #64b000 !important;
    color: #ffffff !important;
}

.qpy-list-pagebar-links .disabled {
    color: #bbbbbb !important;
    background: #f7f7f7 !important;
    cursor: default !important;
}

/* ==========================================================
   Step045C 栏目图片列表页：图片调用和从属位置修复版

   适用模板：
   后台风格编辑窗口 -> 栏目图片列表式 HTML 模板

   可调参数在 HTML 模板顶部：
   QPY_IMAGE_LIST_COLUMNS=4
   QPY_IMAGE_LIST_ROWS=5
   QPY_IMAGE_LIST_PAGE_SIZE=20
   QPY_IMAGE_LIST_MAX_ITEMS=0
   QPY_IMAGE_LIST_COLUMN_GAP=18
   QPY_IMAGE_LIST_ROW_GAP=42

   设计规则：
   1. 页面框架复用文章列表页；
   2. 右侧内容区改为图片展示；
   3. 列数和间距由模板参数控制；
   4. 图片宽度、高度、边框、内边距不在 CSS 写死；
      这些参数由 image_list.py 从数据库读取：
      - titlepic
      - cover_width
      - cover_height
      - cover_border_width
      - cover_border_style
      - cover_border_color
      - cover_padding
   5. 标题截留 15 字由 HTML 模板 truncatechars:15 控制。
   ========================================================== */

.qpy-image-list-page {
    padding-top: var(--qpy-detail-top-gap, 2px) !important;
}

.qpy-image-list-article-box {
    min-height: 640px !important;
    padding: 22px 24px 30px !important;
}

.qpy-image-list-content-box {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

.qpy-image-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--qpy-image-list-columns, 4), minmax(0, 1fr)) !important;
    column-gap: var(--qpy-image-list-column-gap, 18px) !important;
    row-gap: var(--qpy-image-list-row-gap, 42px) !important;
    align-items: start !important;
    justify-items: center !important;
    width: 100% !important;
    min-height: 520px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.qpy-image-card {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 118px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #333333 !important;
    text-align: center !important;
    text-decoration: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

.qpy-image-card:hover {
    color: #46a800 !important;
    text-decoration: none !important;
}

.qpy-image-cover-box {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 auto 7px auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

.qpy-image-cover-box .qpy-image-cover-img,
.qpy-image-cover-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    box-sizing: border-box !important;
}

.qpy-image-cover-empty {
    width: 140px !important;
    height: 95px !important;
    border: 1px solid #dddddd !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #aaaaaa !important;
    font-size: 12px !important;
    background: #fafafa !important;
}

.qpy-image-title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 4px !important;
    color: #333333 !important;
    font-size: 13px !important;
    line-height: 22px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

.qpy-image-card:hover .qpy-image-title {
    color: #46a800 !important;
    text-decoration: underline !important;
}

.qpy-image-empty {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 160px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #999999 !important;
    font-size: 14px !important;
}

.qpy-image-pagebar {
    margin-top: 24px !important;
}

@media (max-width: 900px) {
    .qpy-image-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .qpy-image-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
   Step045D 栏目图片列表页：上下行距修复

   问题：
   1. 模板里的 QPY_IMAGE_LIST_ROW_GAP 已经是 10；
   2. 静态页里的 --qpy-image-list-row-gap 也已经是 10px；
   3. 但页面上下行距看起来不变。

   原因：
   .qpy-image-grid 原来有 min-height:520px；
   图片不足 5 行时，网格容器被强行撑高，浏览器会把空白分散到上下行之间，
   所以 row-gap 改小后视觉上不明显。

   调整方式：
   1. 取消图片网格固定最小高度；
   2. 让网格内容从顶部开始排列；
   3. 上下行距严格读取模板参数：
      QPY_IMAGE_LIST_ROW_GAP=10
   4. 左右列距继续读取模板参数：
      QPY_IMAGE_LIST_COLUMN_GAP=10

   注意：
   图片宽度、高度、边框、内边距仍由数据库封面参数控制。
   ========================================================== */

.qpy-image-list-page .qpy-image-grid {
    min-height: 0 !important;
    height: auto !important;
    align-content: start !important;
    row-gap: var(--qpy-image-list-row-gap, 10px) !important;
    grid-row-gap: var(--qpy-image-list-row-gap, 10px) !important;
    column-gap: var(--qpy-image-list-column-gap, 10px) !important;
    grid-column-gap: var(--qpy-image-list-column-gap, 10px) !important;
}

.qpy-image-list-page .qpy-image-list-article-box {
    min-height: 0 !important;
}

.qpy-image-list-page .qpy-image-card {
    margin-bottom: 0 !important;
}

/* ==========================================================
   Step046B 图片文章详情页：右侧图片/视频滚动窗口微调版
   保存位置：
   后台风格编辑窗口 -> 自定义 CSS

   本次修复：
   1. 滚动窗口外框 1px；
   2. 滚动窗口内边距 2px；
   3. 图片和窗口之间不再额外留白；
   4. 左右箭头直接覆盖在图片左右两侧；
   5. 点击图片打开原图弹层。
   ========================================================== */

.qpy-image-article-detail-page .qpy-image-article-richtext-box {
    width: var(--qpy-detail-richtext-width, 760px) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.qpy-image-article-detail-page .qpy-image-article-gallery {
    position: relative !important;
    width: 600px !important;
    height: 400px !important;
    margin: 18px auto 24px auto !important;
    padding: 2px !important;
    background: #ffffff !important;
    border: 1px solid #d8ecc9 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.qpy-image-article-detail-page .qpy-image-article-stage {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    background: #ffffff !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.qpy-image-article-detail-page .qpy-image-article-slide {
    display: none !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: #ffffff !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.qpy-image-article-detail-page .qpy-image-article-slide.is-active {
    display: flex !important;
}

.qpy-image-article-detail-page .qpy-image-article-img,
.qpy-image-article-detail-page .qpy-image-article-video {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    /*
       这里改成 cover：
       让图片直接铺满 600*400 的展示框，
       只保留外层 2px 内边距，不再为了显示完整图片而在左右留下白边。
    */
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.qpy-image-article-detail-page .qpy-image-article-img {
    cursor: zoom-in !important;
}

.qpy-image-article-detail-page .qpy-image-article-video {
    background: #000000 !important;
}

.qpy-image-article-detail-page .qpy-image-article-iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    background: #000000 !important;
    box-sizing: border-box !important;
}

.qpy-image-article-detail-page .qpy-image-article-arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 8 !important;
    width: 30px !important;
    height: 60px !important;
    margin-top: -30px !important;
    padding: 0 !important;
    border: 0 !important;
    background: rgba(0, 0, 0, .34) !important;
    color: #ffffff !important;
    font-family: Arial, sans-serif !important;
    font-size: 34px !important;
    line-height: 60px !important;
    text-align: center !important;
    cursor: pointer !important;
    outline: none !important;
}

.qpy-image-article-detail-page .qpy-image-article-arrow:hover {
    background: rgba(100, 185, 0, .85) !important;
    color: #ffffff !important;
}

.qpy-image-article-detail-page .qpy-image-article-prev {
    left: 2px !important;
    border-radius: 0 3px 3px 0 !important;
}

.qpy-image-article-detail-page .qpy-image-article-next {
    right: 2px !important;
    border-radius: 3px 0 0 3px !important;
}

.qpy-image-article-detail-page .qpy-image-article-counter {
    position: absolute !important;
    right: 8px !important;
    bottom: 6px !important;
    z-index: 9 !important;
    min-width: 38px !important;
    padding: 2px 8px !important;
    border-radius: 10px !important;
    background: rgba(0, 0, 0, .45) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    line-height: 18px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.qpy-image-article-detail-page .qpy-image-article-text {
    margin-top: 10px !important;
    line-height: 1.9 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
}

.qpy-image-article-detail-page .qpy-image-article-text img,
.qpy-image-article-detail-page .qpy-image-article-text video,
.qpy-image-article-detail-page .qpy-image-article-text iframe,
.qpy-image-article-detail-page .qpy-image-article-text table {
    max-width: 100% !important;
}

/* 全屏原图查看层 */
.qpy-image-article-lightbox {
    display: none !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 99999 !important;
}

.qpy-image-article-lightbox.is-open {
    display: block !important;
}

.qpy-image-article-lightbox-mask {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, .82) !important;
}

.qpy-image-article-lightbox-panel {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.qpy-image-article-lightbox-img {
    display: block !important;
    max-width: 92vw !important;
    max-height: 88vh !important;
    width: auto !important;
    height: auto !important;
    transform-origin: center center !important;
    transition: transform .12s ease !important;
    cursor: zoom-in !important;
    user-select: none !important;
}

.qpy-image-article-lightbox-close {
    position: absolute !important;
    top: 18px !important;
    right: 24px !important;
    z-index: 2 !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    background: rgba(255,255,255,.12) !important;
    color: #ffffff !important;
    font-size: 28px !important;
    line-height: 38px !important;
    text-align: center !important;
    cursor: pointer !important;
}

.qpy-image-article-lightbox-tools {
    position: absolute !important;
    left: 50% !important;
    bottom: 24px !important;
    z-index: 2 !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: 10px !important;
}

.qpy-image-article-lightbox-tools button {
    min-width: 54px !important;
    height: 34px !important;
    padding: 0 12px !important;
    border: 0 !important;
    background: rgba(255,255,255,.16) !important;
    color: #ffffff !important;
    cursor: pointer !important;
}

.qpy-image-article-lightbox-tools button:hover,
.qpy-image-article-lightbox-close:hover {
    background: rgba(100, 185, 0, .85) !important;
    color: #ffffff !important;
}

@media screen and (max-width: 900px) {
    .qpy-image-article-detail-page .qpy-image-article-gallery {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
    }

    .qpy-image-article-detail-page .qpy-image-article-stage,
    .qpy-image-article-detail-page .qpy-image-article-slide,
    .qpy-image-article-detail-page .qpy-image-article-iframe {
        width: 100% !important;
        height: 100% !important;
    }

    .qpy-image-article-detail-page .qpy-image-article-img,
    .qpy-image-article-detail-page .qpy-image-article-video {
        width: 100% !important;
        height: 100% !important;
    }
}

/* Step046B 图片文章详情页 end */

/* ==========================================================
   Step046C：图片文章详情页图片铺满边框修正版
   说明：
   1. 图片展示框外层仍然是 1px 边框 + 2px 内边距；
   2. 图片本身改为 cover，直接铺满框体；
   3. 左右箭头直接压在图片上方，不再为了箭头预留两侧留白。
   ========================================================== */
.qpy-image-article-detail-page .qpy-image-article-stage,
.qpy-image-article-detail-page .qpy-image-article-slide {
    padding: 0 !important;
}

.qpy-image-article-detail-page .qpy-image-article-slide > a,
.qpy-image-article-detail-page .qpy-image-article-slide > span,
.qpy-image-article-detail-page .qpy-image-article-slide > div {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

/* Step053：前台顶置红色标识 */
.qpy-top-badge{
    display:inline-block;
    background:#d92323;
    color:#fff;
    font-size:12px;
    line-height:1;
    padding:2px 5px;
    border-radius:2px;
    margin-right:5px;
    vertical-align:middle;
}

/* Step054A：详情页顶置红色标识 */
.qpy-top-badge,
.qpy-detail-top-badge{
    display:inline-block;
    background:#d92323;
    color:#fff;
    font-size:12px;
    line-height:1;
    padding:2px 5px;
    border-radius:2px;
    margin-right:5px;
    vertical-align:middle;
    white-space:nowrap;
}

/* ==========================================================
   Step062B：图片文章详情页原图全屏查看修正版
   保存位置：后台风格编辑窗口 -> 自定义 CSS

   修复内容：
   1. 保留原 600×400 图片滚动窗口和左右箭头切换；
   2. 点击图片后进入浏览器全屏；
   3. 初始状态不放大，完整图片居中显示在屏幕中间；
   4. 点击 + 或滚轮放大，超过屏幕后才允许拖动；
   5. 拖动时限制边界，图片四边碰到屏幕后不再继续拖出空白；
   6. 鼠标指针为白色手形；
   7. 支持方向键、+、-、0、Esc。
   ========================================================== */
html.qpy-image-article-lightbox-lock,
body.qpy-image-article-lightbox-lock {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

.qpy-image-article-lightbox {
    display: none !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 2147483000 !important;
    background: radial-gradient(circle at center, #666666 0%, #3d3d3d 58%, #262626 100%) !important;
    overflow: hidden !important;
}

.qpy-image-article-lightbox.is-open {
    display: block !important;
}

.qpy-image-article-lightbox-mask {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: transparent !important;
    z-index: 1 !important;
}

.qpy-image-article-lightbox-panel {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    display: block !important;
    overflow: hidden !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    z-index: 2 !important;
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Cpath fill='white' stroke='%23000' stroke-width='1.35' d='M13 3.5c1.2 0 2.1.9 2.1 2.1v8.7l.9-1c.8-.9 2.2-.9 3.1 0 .4.4.6 1 .6 1.5l1.1-1.1c.9-.8 2.2-.8 3 .1.4.5.6 1 .6 1.6l.7-.6c.9-.7 2.2-.6 2.9.3.4.5.6 1.1.5 1.7l-1.2 7.2c-.6 3.5-3.6 6-7.1 6h-5.5c-2.3 0-4.5-1.2-5.8-3.1L4.8 20c-.7-1-.4-2.3.6-3 .9-.6 2.1-.4 2.8.5l2.7 3.4V5.6c0-1.2.9-2.1 2.1-2.1z'/%3E%3C/svg%3E") 12 4, grab !important;
}

.qpy-image-article-lightbox.is-zoomed .qpy-image-article-lightbox-panel {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Cpath fill='white' stroke='%23000' stroke-width='1.35' d='M13 3.5c1.2 0 2.1.9 2.1 2.1v8.7l.9-1c.8-.9 2.2-.9 3.1 0 .4.4.6 1 .6 1.5l1.1-1.1c.9-.8 2.2-.8 3 .1.4.5.6 1 .6 1.6l.7-.6c.9-.7 2.2-.6 2.9.3.4.5.6 1.1.5 1.7l-1.2 7.2c-.6 3.5-3.6 6-7.1 6h-5.5c-2.3 0-4.5-1.2-5.8-3.1L4.8 20c-.7-1-.4-2.3.6-3 .9-.6 2.1-.4 2.8.5l2.7 3.4V5.6c0-1.2.9-2.1 2.1-2.1z'/%3E%3C/svg%3E") 12 4, grab !important;
}

.qpy-image-article-lightbox.is-dragging .qpy-image-article-lightbox-panel {
    cursor: grabbing !important;
}

.qpy-image-article-lightbox-img {
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    max-width: calc(100vw - 60px) !important;
    max-height: calc(100vh - 90px) !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: var(--step187-img-fit, cover) !important;
    transform: translate(-50%, -50%) translate(0, 0) scale(1);
    transform-origin: center center !important;
    transition: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-user-drag: none !important;
    box-shadow: 0 0 36px rgba(0, 0, 0, .42) !important;
    cursor: inherit !important;
}

.qpy-image-article-lightbox-close {
    position: fixed !important;
    top: 18px !important;
    right: 24px !important;
    z-index: 2147483100 !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    background: rgba(255,255,255,.18) !important;
    color: #ffffff !important;
    font-size: 28px !important;
    line-height: 38px !important;
    text-align: center !important;
    cursor: pointer !important;
}

.qpy-image-article-lightbox-tools {
    position: fixed !important;
    left: 50% !important;
    bottom: 24px !important;
    z-index: 2147483100 !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    justify-content: center !important;
}

.qpy-image-article-lightbox-tools button {
    min-width: 54px !important;
    height: 34px !important;
    padding: 0 12px !important;
    border: 0 !important;
    background: rgba(255,255,255,.24) !important;
    color: #ffffff !important;
    cursor: pointer !important;
    font-size: 14px !important;
}

.qpy-image-article-lightbox-tools button:hover,
.qpy-image-article-lightbox-close:hover {
    background: rgba(100, 185, 0, .88) !important;
    color: #ffffff !important;
}

.qpy-image-article-lightbox-tip {
    position: fixed !important;
    left: 20px !important;
    bottom: 18px !important;
    z-index: 2147483100 !important;
    color: rgba(255,255,255,.76) !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
    pointer-events: none !important;
}

.qpy-image-article-lightbox:not(.is-zoomed) .qpy-image-article-lightbox-tip::after {
    content: "点击 + 或滚轮放大后，可按住鼠标左键拖动查看细节";
}

.qpy-image-article-lightbox.is-zoomed .qpy-image-article-lightbox-tip::after {
    content: "拖动查看放大区域；方向键移动；+ / - 缩放；Esc 关闭";
}

/* =========================================================
   step105 产品静态页布局修复 CSS
   用途：
   1. 修复产品静态页由生成器输出后页头、导航、主体宽度不统一的问题。
   2. 产品列表页和产品详情页共用。
   3. 后续需要微调时，仍然在风格编辑窗口 CSS 细节调节 / custom_css 中集中维护。
========================================================= */

.qpy-site-page {
    width: 100%;
    min-width: 1200px;
}

.qpy-site-header {
    width: 1200px;
    margin: 0 auto;
    background: #fff;
}

.qpy-site-top {
    width: 1200px;
    height: 130px;
    margin: 0 auto;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: #fff;
}

.qpy-site-logo {
    width: 200px;
    height: 130px;
    flex: 0 0 200px;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.qpy-site-logo img {
    display: block;
    width: 200px;
    height: 130px;
    object-fit: contain;
}

.qpy-site-banner {
    width: 1000px;
    height: 130px;
    flex: 0 0 1000px;
    overflow: hidden;
    text-align: center;
    line-height: 130px;
    color: #666;
    background: #fff;
}

.qpy-site-banner img {
    display: block;
    width: 1000px;
    height: 130px;
    object-fit: cover;
}

.qpy-site-nav {
    width: 100%;
    height: 40px;
    line-height: 40px;
    background: #49b500;
    overflow: hidden;
    text-align: center;
}

.qpy-site-nav a {
    display: inline-block;
    padding: 0 22px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
}

.qpy-site-nav a:hover {
    background: rgba(255, 255, 255, .16);
}

.qpy-site-footer {
    width: 100%;
    min-height: 60px;
    margin-top: 30px;
    padding: 18px 0;
    text-align: center;
    color: #fff;
    background: #49b500;
}

/* 产品列表/详情主体强制回到原站 1200 居中布局 */
.qpy-product-list-layout-page,
.qpy-product-detail-layout-page {
    width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* 防止产品详情页被页头 CSS 影响 */
.qpy-product-detail-layout-page .qpy-product-detail-top-row {
    display: flex;
    align-items: flex-start;
    gap: 22px;
}

.qpy-product-detail-layout-page .qpy-product-media-column {
    flex: 1 1 auto;
    min-width: 0;
}

.qpy-product-detail-layout-page .qpy-product-param-column {
    width: 170px;
    flex: 0 0 170px;
}

/* 参数表文字不要过度换行 */
.qpy-product-param-table th {
    /* step197_product_detail_param_col_width
       参数表左列压缩：默认 56px，适合显示“朝代、窑址、尺寸、颜色、器型”等两字参数名。
       右列自动占剩余宽度。
    */
    width: 56px !important;
    padding: 7px 4px !important;
    border: 1px solid #dce8dc !important;
    background: #edf7e8 !important;
    color: #335522 !important;
    text-align: center !important;
    font-weight: normal !important;
    line-height: 1.7 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    box-sizing: border-box !important;
}

.qpy-product-param-table td {
    /* step197_product_detail_param_value_width
       参数表右列加宽：随表格宽度自动扩展，长内容允许换行。
    */
    padding: 7px 8px !important;
    border: 1px solid #e4ece0 !important;
    color: #333333 !important;
    line-height: 1.7 !important;
    word-break: break-all !important;
    box-sizing: border-box !important;
}

/* 产品列表页网格 */
.qpy-product-grid {
    display: grid;
    grid-template-columns: repeat(var(--qpy-product-list-columns, 3), 1fr);
    gap: 18px 18px;
    align-items: start;
}

.qpy-product-card {
    display: block;
    text-align: center;
    text-decoration: none;
    color: #333;
}

.qpy-product-cover-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: content-box;
    background: #fff;
    overflow: hidden;
}

.qpy-product-cover-img {
    max-width: 100%;
    max-height: 100%;
    display: block;
    object-fit: contain;
}

.qpy-product-title {
    display: block;
    margin-top: 8px;
    line-height: 20px;
    font-size: 13px;
    color: #333;
}

.qpy-product-summary {
    display: block;
    margin-top: 4px;
    line-height: 18px;
    color: #777;
    font-size: 12px;
}

.qpy-product-filter-box {
    margin-bottom: 18px;
    padding: 12px 14px;
    background: #f0f8ea;
    border: 1px solid #d8e9cf;
}

.qpy-product-filter-item {
    display: inline-block;
    margin-right: 12px;
}

.qpy-product-filter-item label {
    margin-right: 4px;
}

.qpy-product-filter-select {
    min-width: 90px;
    height: 28px;
}

.qpy-product-filter-btn,
.qpy-product-filter-reset {
    height: 28px;
    padding: 0 14px;
    border: none;
    color: #fff;
    background: #45a800;
    cursor: pointer;
}

.qpy-product-filter-reset {
    background: #777;
}

/* step179B-product-slider-center-start */
/*
 * step179B：产品前台页滚动 Banner 居中。
 * CSS 集中保存到后台风格 custom_css，不直接修改静态 HTML。
 */
.site-slider,
.site-slider-wrap,
.site-banner-slider,
.site-rolling-banner,
.qpy-slider,
.qpy-slider-wrap,
.qpy-rolling-banner,
.qpy-banner-slider,
.slider-container,
.banner-container,
.rolling-banner,
.top-slider,
.top-banner-slider,
.swiper,
.swiper-container{
    width:1200px;
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
    overflow:hidden;
    box-sizing:border-box;
}

.site-slider img,
.site-slider-wrap img,
.site-banner-slider img,
.site-rolling-banner img,
.qpy-slider img,
.qpy-slider-wrap img,
.qpy-rolling-banner img,
.qpy-banner-slider img,
.slider-container img,
.banner-container img,
.rolling-banner img,
.top-slider img,
.top-banner-slider img,
.swiper img,
.swiper-container img{
    display:block;
    margin-left:auto;
    margin-right:auto;
}
/* step179B-product-slider-center-end */

/* =====================================================
   step184：左侧“藏品类别”十字架展开树统一样式
   保存位置：后台风格编辑窗口 -> 自定义 CSS / custom_css

   使用范围：
   1. 产品列表页、产品详情页左侧“藏品类别”。
   2. 文章列表页、栏目图片列表页、文章详情页、图片文章详情页左侧“藏品类别”。

   维护规则：
   1. 本区块只负责左侧分类树样式。
   2. HTML 结构集中在各模板的 step184 区块。
   3. Python 只负责从数据库整理分类树或平铺分类变量。
   4. 支持一级、二级、三级分类展示；不会依赖无限递归，避免异常数据造成死循环。
   ===================================================== */

.step184-category-box,
.qpy-category-tree-box {
    overflow: visible !important;
}

.step184-category-tree-list,
.qpy-category-tree-list {
    padding: 7px 12px 9px 12px !important;
    margin: 0 !important;
}

.step184-category-tree-list,
.step184-category-tree-list ul,
.step184-category-tree-list li,
.qpy-category-tree-list,
.qpy-category-tree-list ul,
.qpy-category-tree-list li {
    list-style: none !important;
}

.step184-category-tree-list li,
.qpy-category-tree-list li {
    border-bottom: 1px dashed #ececec !important;
}

.step184-category-tree-list li:last-child,
.qpy-category-tree-list li:last-child {
    border-bottom: none !important;
}

.qpy-category-node {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

.qpy-category-details {
    display: block !important;
}

.qpy-category-summary {
    display: flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 !important;
    cursor: pointer !important;
    list-style: none !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.qpy-category-summary::-webkit-details-marker {
    display: none !important;
}

.qpy-category-summary::marker {
    content: "" !important;
    font-size: 0 !important;
}

.qpy-category-plus {
    position: relative !important;
    display: inline-block !important;
    width: 13px !important;
    height: 13px !important;
    flex: 0 0 13px !important;
    margin: 0 7px 0 2px !important;
    border: 1px solid #79b84a !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

.qpy-category-plus::before,
.qpy-category-plus::after {
    content: "" !important;
    position: absolute !important;
    background: #5da900 !important;
}

.qpy-category-plus::before {
    left: 2px !important;
    right: 2px !important;
    top: 5px !important;
    height: 1px !important;
}

.qpy-category-plus::after {
    left: 5px !important;
    top: 2px !important;
    width: 1px !important;
    height: 7px !important;
}

.qpy-left-tree-open > .qpy-left-tree-row .qpy-left-tree-toggle::after {
    display: none !important;
}

.qpy-category-dot {
    position: absolute !important;
    left: 3px !important;
    top: 14px !important;
    width: 4px !important;
    height: 4px !important;
    border-radius: 50% !important;
    background: #8fbf3e !important;
}

.qpy-category-link {
    display: block !important;
    position: relative !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    padding: 7px 4px 7px 16px !important;
    color: #666666 !important;
    font-size: 12px !important;
    line-height: 20px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

.qpy-category-summary .qpy-category-link {
    padding-left: 0 !important;
}

.qpy-category-tree-list .qpy-category-link::before,
.step184-category-tree-list .qpy-category-link::before {
    content: none !important;
    display: none !important;
}

.qpy-category-tree-list .qpy-category-link:hover,
.qpy-category-tree-list .qpy-category-link.is-current,
.step184-category-tree-list .qpy-category-link:hover,
.step184-category-tree-list .qpy-category-link.is-current {
    color: var(--old-link) !important;
    text-decoration: none !important;
}

.qpy-category-children {
    margin: 0 !important;
    padding: 0 0 5px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

.qpy-category-children-level-3 {
    padding-left: 18px !important;
}

.qpy-category-level-2,
.qpy-category-level-3,
.qpy-category-child {
    border-bottom: 0 !important;
}

.qpy-category-child-link,
.qpy-category-grand-link {
    padding: 4px 4px 4px 12px !important;
    color: #777777 !important;
    line-height: 19px !important;
}

.qpy-category-grand-link {
    color: #888888 !important;
}

.qpy-category-child-link::after,
.qpy-category-grand-link::after {
    content: "" !important;
    position: absolute !important;
    left: 1px !important;
    top: 13px !important;
    width: 5px !important;
    height: 1px !important;
    background: #9bcf70 !important;
}

.qpy-category-empty .qpy-category-link {
    color: #999999 !important;
}

/* =========================================================
   页面：公共左侧栏 common-sidebar
   区块：藏品类别绿色方格展开图标 product-category-toggle
   对应模板：templates/front_v2/partials/qpy_left_sidebar.html
   对应 HTML 标记：#qpyLeftSidebar .qpy-left-tree-toggle

   可调参数：
   1. 图标尺寸：width / height / flex-basis
   2. 图标边框：border-color
   3. 十字颜色：background
   4. 图标间距：margin
   5. 展开/收回状态：qpy-left-tree-toggle-open / qpy-left-tree-toggle-closed
   step208C restore green square +/- icon
   ========================================================= */
#qpyLeftSidebar .qpy-left-tree-toggle {
    position: relative !important;
    display: inline-block !important;
    width: 13px !important;
    height: 13px !important;
    flex: 0 0 13px !important;
    margin: 0 7px 0 2px !important;
    padding: 0 !important;
    border: 1px solid #79b84a !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    overflow: hidden !important;
    cursor: pointer !important;
}

#qpyLeftSidebar .qpy-left-tree-toggle::before,
#qpyLeftSidebar .qpy-left-tree-toggle::after {
    content: "" !important;
    position: absolute !important;
    background: #5da900 !important;
}

#qpyLeftSidebar .qpy-left-tree-toggle::before {
    left: 2px !important;
    right: 2px !important;
    top: 5px !important;
    height: 1px !important;
}

#qpyLeftSidebar .qpy-left-tree-toggle-closed::after {
    left: 5px !important;
    top: 2px !important;
    width: 1px !important;
    height: 7px !important;
}

#qpyLeftSidebar .qpy-left-tree-toggle-open::after {
    display: none !important;
}

/* step188_single_cover_border_note_start
   边框规则：产品列表只保留 qpy-product-cover-box 外框边框，图片 img 本身不再加边框/内边距，避免双边框。
   外框边框参数来自产品列表模板 data-step187-cover-border-color / width / padding。
   step188_single_cover_border_note_end */

/* step193_product_list_border_final_css_start
   产品列表图片边框最终控制区
   ------------------------------------------------------------
   规则：
   1. 只允许 qpy-product-cover-box 有边框和内边距。
   2. img / qpy-product-cover-img 一律 border:0、padding:0。
   3. 外框尺寸只受模板 section 上这些参数影响：
      data-step187-img-w
      data-step187-img-h
      data-step187-cover-padding
      data-step187-cover-border-width
      data-step187-cover-border-color
   4. qpy-product-cover-box 使用 content-box：
      width/height = 图片内容区尺寸；总尺寸自动加 padding 和 border。
   5. 本区块覆盖旧的 step185P / step185Q / 09B-03 产品图规则。
   ------------------------------------------------------------ */

.qpy-product-list-layout-page {
    --step187-page-width: 1200px;
    --step187-sidebar-width: 300px;
    --step187-content-gap: 14px;

    width: var(--step187-page-width) !important;
    max-width: var(--step187-page-width) !important;
    min-width: var(--step187-page-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: var(--step187-content-gap) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.qpy-product-list-layout-page > .left,
.qpy-product-list-layout-page > aside,
.qpy-product-list-layout-page > .qpy-list-sidebar,
.qpy-product-list-layout-page > .qpy-detail-sidebar {
    width: var(--step187-sidebar-width) !important;
    min-width: var(--step187-sidebar-width) !important;
    max-width: var(--step187-sidebar-width) !important;
    flex: 0 0 var(--step187-sidebar-width) !important;
    box-sizing: border-box !important;
}

.qpy-product-list-layout-page > .right {
    width: calc(var(--step187-page-width) - var(--step187-sidebar-width) - var(--step187-content-gap)) !important;
    max-width: calc(var(--step187-page-width) - var(--step187-sidebar-width) - var(--step187-content-gap)) !important;
    min-width: 0 !important;
    flex: 0 0 calc(var(--step187-page-width) - var(--step187-sidebar-width) - var(--step187-content-gap)) !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.qpy-product-list-layout-page .qpy-product-list-main {
    --step187-columns: 4;
    --step187-img-w: 180px;
    --step187-img-h: 120px;
    --step187-cover-border-color: #dddddd;
    --step187-cover-border-width: 1px;
    --step187-cover-padding: 2px;
    --step187-card-margin-x: 0px;
    --step187-card-margin-y: 0px;
    --step187-row-gap: 20px;
    --step187-row-height: auto;
    --step187-title-line-height: 20px;
    --step187-img-fit: cover;

    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-detail-content,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-list-content,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-list-content,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-grid-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-grid,
.qpy-product-list-layout-page .qpy-product-list-main .product-grid,
.qpy-product-list-layout-page .qpy-product-list-main .product-list,
.qpy-product-list-layout-page .qpy-product-list-main ul.product-list,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-list-product-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(var(--step187-columns), minmax(0, 1fr)) !important;
    column-gap: 0 !important;
    row-gap: var(--step187-row-gap) !important;
    justify-items: center !important;
    align-items: start !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-card,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-item,
.qpy-product-list-layout-page .qpy-product-list-main .product-item,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-grid li,
.qpy-product-list-layout-page .qpy-product-list-main .product-grid li,
.qpy-product-list-layout-page .qpy-product-list-main .product-list li,
.qpy-product-list-layout-page .qpy-product-list-main li {
    width: auto !important;
    max-width: 100% !important;
    min-height: var(--step187-row-height) !important;
    margin: var(--step187-card-margin-y) var(--step187-card-margin-x) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* 唯一边框层：外框内容区尺寸=图片尺寸；总尺寸自动加 padding 和 border */
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-cover-box {
    width: var(--step187-img-w) !important;
    height: var(--step187-img-h) !important;
    border: var(--step187-cover-border-width) solid var(--step187-cover-border-color) !important;
    padding: var(--step187-cover-padding) !important;
    box-sizing: content-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin: 0 auto !important;
}

/* 图片本体：不允许出现第二层边框或内边距 */
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-cover-img,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-cover-box img,
.qpy-product-list-layout-page .qpy-product-list-main img {
    width: var(--step187-img-w) !important;
    height: var(--step187-img-h) !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    object-fit: var(--step187-img-fit, cover) !important;
    object-position: center center !important;
    display: block !important;
    background: transparent !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-title,
.qpy-product-list-layout-page .qpy-product-list-main .product-title,
.qpy-product-list-layout-page .qpy-product-list-main .title,
.qpy-product-list-layout-page .qpy-product-list-main li a {
    display: block !important;
    width: 100% !important;
    line-height: var(--step187-title-line-height) !important;
    margin: 6px auto 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

/* step193_product_list_border_final_css_end */

/* step194_product_list_source_final_css_start
   产品列表图片边框、行距、分页最终控制区
   ------------------------------------------------------------
   源头修复点：
   1. 旧 qpy-product-grid 里 row-gap:42px 可以保留在旧段落中，但本区块用更高优先级覆盖。
   2. qpy-product-cover-box 是唯一边框层。
   3. img / qpy-product-cover-img 永远 border:0、padding:0。
   4. 每页条数隐藏使用 step194-product-hidden + display:none!important，避免被 .qpy-product-card{display:block!important} 抢回显示。
   5. 所有可调参数仍然只改产品列表 HTML 模板 section 的 data-step187-*。
   ------------------------------------------------------------ */

.qpy-product-list-layout-page {
    --step187-page-width: 1200px;
    --step187-sidebar-width: 300px;
    --step187-content-gap: 14px;

    width: var(--step187-page-width) !important;
    max-width: var(--step187-page-width) !important;
    min-width: var(--step187-page-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: var(--step187-content-gap) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.qpy-product-list-layout-page > .left,
.qpy-product-list-layout-page > aside,
.qpy-product-list-layout-page > .qpy-list-sidebar,
.qpy-product-list-layout-page > .qpy-detail-sidebar {
    width: var(--step187-sidebar-width) !important;
    min-width: var(--step187-sidebar-width) !important;
    max-width: var(--step187-sidebar-width) !important;
    flex: 0 0 var(--step187-sidebar-width) !important;
    box-sizing: border-box !important;
}

.qpy-product-list-layout-page > .right {
    width: calc(var(--step187-page-width) - var(--step187-sidebar-width) - var(--step187-content-gap)) !important;
    min-width: 0 !important;
    max-width: calc(var(--step187-page-width) - var(--step187-sidebar-width) - var(--step187-content-gap)) !important;
    flex: 0 0 calc(var(--step187-page-width) - var(--step187-sidebar-width) - var(--step187-content-gap)) !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.qpy-product-list-layout-page .qpy-product-list-main {
    --step187-columns: 4;
    --step187-img-w: 180px;
    --step187-img-h: 120px;
    --step187-cover-border-color: #dddddd;
    --step187-cover-border-width: 1px;
    --step187-cover-padding: 2px;
    --step187-card-margin-x: 0px;
    --step187-card-margin-y: 0px;
    --step187-row-gap: 20px;
    --step187-row-height: auto;
    --step187-title-line-height: 20px;
    --step187-img-fit: cover;

    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-detail-content,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-list-content,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-list-content,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-grid-wrap,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-list-content-box {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-grid,
.qpy-product-list-layout-page .qpy-product-list-main .product-grid,
.qpy-product-list-layout-page .qpy-product-list-main .product-list,
.qpy-product-list-layout-page .qpy-product-list-main ul.product-list,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-list-product-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(var(--step187-columns), minmax(0, 1fr)) !important;
    column-gap: 0 !important;
    row-gap: var(--step187-row-gap) !important;
    justify-items: center !important;
    align-items: start !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-card,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-item,
.qpy-product-list-layout-page .qpy-product-list-main .product-item,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-grid li,
.qpy-product-list-layout-page .qpy-product-list-main .product-grid li,
.qpy-product-list-layout-page .qpy-product-list-main .product-list li,
.qpy-product-list-layout-page .qpy-product-list-main li {
    width: auto !important;
    max-width: 100% !important;
    min-height: var(--step187-row-height) !important;
    margin: var(--step187-card-margin-y) var(--step187-card-margin-x) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-card.step194-product-hidden,
.qpy-product-list-layout-page .qpy-product-list-main .step194-product-hidden {
    display: none !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-cover-box {
    width: var(--step187-img-w) !important;
    height: var(--step187-img-h) !important;
    border: var(--step187-cover-border-width) solid var(--step187-cover-border-color) !important;
    padding: var(--step187-cover-padding) !important;
    box-sizing: content-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin: 0 auto !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-cover-img,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-cover-box img,
.qpy-product-list-layout-page .qpy-product-list-main img {
    width: var(--step187-img-w) !important;
    height: var(--step187-img-h) !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    object-fit: var(--step187-img-fit, cover) !important;
    object-position: center center !important;
    display: block !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-title,
.qpy-product-list-layout-page .qpy-product-list-main .product-title,
.qpy-product-list-layout-page .qpy-product-list-main .title {
    display: block !important;
    width: 100% !important;
    line-height: var(--step187-title-line-height) !important;
    margin: 6px auto 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
    word-break: break-all !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* step194_product_list_source_final_css_end */

/* step195_product_list_image_fit_border_source_css_start
   产品列表图片边框与图片填充最终补丁
   ------------------------------------------------------------
   源头结论：分页已经生效；边框内留白主要来自 img 的 object-fit: contain，
   它会为了完整显示图片，在 180×120 框内自动留下空白。

   现在规则：
   1. 边框只由 qpy-product-cover-box 控制。
   2. 内边距只由 data-step187-cover-padding 控制，默认 2px。
   3. 图片 img 不允许有 border / padding / margin。
   4. 图片填充方式由产品列表模板 data-step187-img-fit 控制：
      - cover：默认，图片充满边框，基本不留白，可能轻微裁切。
      - contain：完整显示图片，但可能左右或上下留白。
   5. 如果以后要调效果，只改产品列表 HTML 模板里的 data-step187-* 参数。
   ------------------------------------------------------------ */

.qpy-product-list-layout-page .qpy-product-list-main {
    --step187-img-fit: cover;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-cover-box {
    width: var(--step187-img-w) !important;
    height: var(--step187-img-h) !important;
    border: var(--step187-cover-border-width) solid var(--step187-cover-border-color) !important;
    padding: var(--step187-cover-padding) !important;
    box-sizing: content-box !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-cover-img,
.qpy-product-list-layout-page .qpy-product-list-main .qpy-product-cover-box img {
    width: var(--step187-img-w) !important;
    height: var(--step187-img-h) !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    object-fit: var(--step187-img-fit, cover) !important;
    object-position: center center !important;
    display: block !important;
}

/* step195_product_list_image_fit_border_source_css_end */

/* step197_product_detail_param_table_css_start
   产品详情页“参数”表格最终控制区：
   1. 左列压缩为 56px，只放两字参数名，不再挤占右列。
   2. 右列自动占剩余宽度，用于显示尺寸、说明等较长内容。
   3. 这里只调整表格宽度、内边距、换行，不隐藏任何字段。
   4. 后期如果左列仍宽/窄，只改 width:56px 这一处。
   step197_product_detail_param_table_css_end */
.qpy-product-detail-layout-page .qpy-product-param-table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    background: #ffffff !important;
}

.qpy-product-detail-layout-page .qpy-product-param-table th {
    width: 56px !important;
    padding: 7px 4px !important;
    border: 1px solid #dce8dc !important;
    background: #edf7e8 !important;
    color: #335522 !important;
    text-align: center !important;
    font-weight: normal !important;
    line-height: 1.7 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    box-sizing: border-box !important;
}

.qpy-product-detail-layout-page .qpy-product-param-table td {
    padding: 7px 8px !important;
    border: 1px solid #e4ece0 !important;
    color: #333333 !important;
    line-height: 1.7 !important;
    word-break: break-all !important;
    box-sizing: border-box !important;
}

/* step198_product_detail_click_image_fullscreen_css_start
   产品详情页：去掉右下角放大镜按钮，改为点击主图进入浏览器全屏查看。
   注意：全屏交互 JS 在产品详情页 HTML 模板中维护；CSS 只负责隐藏旧按钮和提示主图可点击。
   step198_product_detail_click_image_fullscreen_css_end */
.qpy-product-detail-layout-page .qpy-product-gallery-zoom {
    display: none !important;
}

.qpy-product-detail-layout-page .qpy-product-gallery-img {
    cursor: zoom-in !important;
}

.qpy-product-lightbox.is-open .qpy-product-lightbox-img {
    cursor: grab !important;
}

.qpy-product-lightbox.is-dragging .qpy-product-lightbox-img,
.qpy-product-lightbox.is-zoomed .qpy-product-lightbox-img {
    cursor: grabbing !important;
}

/* step199C_product_3d_viewer_css_start
   产品详情页 3D模型渲染窗口：
   1. 只控制 3D 窗口视觉，不写 Python 逻辑。
   2. 窗口默认跟产品展示窗口一致，600×400。
   3. 右上角提供“全屏”按钮；全屏后隐藏浏览器界面并铺满屏幕。
   4. 鼠标左键旋转、滚轮缩放、右键平移、方向键平移、复位按钮恢复视角。
   step199C_product_3d_viewer_css_end */
.qpy-product-detail-layout-page .qpy-product-model3d-box {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #111111 !important;
    overflow: hidden !important;
    color: #ffffff !important;
    line-height: normal !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

.qpy-product-detail-layout-page .qpy-product-3d-viewer {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 398px !important;
    overflow: hidden !important;
    background: #f8f8f8 !important;
    box-sizing: border-box !important;
    cursor: grab !important;
}

.qpy-product-detail-layout-page .qpy-product-3d-viewer canvas,
.qpy-product-detail-layout-page .qpy-product-3d-canvas {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    outline: none !important;
}

.qpy-product-detail-layout-page .qpy-product-3d-toolbar {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 40 !important;
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
    pointer-events: auto !important;
}

.qpy-product-detail-layout-page .qpy-product-3d-btn {
    height: 28px !important;
    line-height: 26px !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: rgba(0,0,0,.58) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

.qpy-product-detail-layout-page .qpy-product-3d-btn:hover {
    background: rgba(0,0,0,.78) !important;
}

.qpy-product-detail-layout-page .qpy-product-3d-status {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    z-index: 30 !important;
    transform: translate(-50%, -50%) !important;
    min-width: 160px !important;
    max-width: 80% !important;
    padding: 10px 14px !important;
    border-radius: 4px !important;
    background: rgba(0,0,0,.56) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
}

.qpy-product-detail-layout-page .qpy-product-3d-status.is-error {
    background: rgba(150,0,0,.72) !important;
}

.qpy-product-3d-viewer:fullscreen,
.qpy-product-3d-viewer:-webkit-full-screen {
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    background: #f8f8f8 !important;
}

.qpy-product-3d-viewer:fullscreen .qpy-product-3d-toolbar,
.qpy-product-3d-viewer:-webkit-full-screen .qpy-product-3d-toolbar {
    top: 18px !important;
    right: 18px !important;
}

.qpy-product-3d-viewer:fullscreen .qpy-product-3d-btn,
.qpy-product-3d-viewer:-webkit-full-screen .qpy-product-3d-btn {
    height: 34px !important;
    line-height: 32px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
}

/* step199D_product_3d_wheel_zoom_fix_css_start
   产品详情页 3D 模型滚轮缩放修复：
   1. 鼠标在 3D 窗口内时，滚轮用于缩放模型，不再滚动页面。
   2. cursor 提示用户可旋转、缩放、平移。
   3. 本区块只处理 3D viewer 交互样式，不影响图片/视频窗口。
   step199D_product_3d_wheel_zoom_fix_css_end */
.qpy-product-detail-layout-page .qpy-product-3d-viewer,
.qpy-product-detail-layout-page .qpy-product-3d-viewer canvas,
.qpy-product-detail-layout-page .qpy-product-3d-canvas {
    touch-action: none !important;
    overscroll-behavior: contain !important;
}

.qpy-product-detail-layout-page .qpy-product-3d-viewer canvas,
.qpy-product-detail-layout-page .qpy-product-3d-canvas {
    cursor: grab !important;
}

.qpy-product-detail-layout-page .qpy-product-3d-viewer canvas:active,
.qpy-product-detail-layout-page .qpy-product-3d-canvas:active {
    cursor: grabbing !important;
}

/* step199E_product_3d_zoom_keyboard_control_css_start
   产品详情页 3D 模型交互增强：
   1. 鼠标滚轮在 3D 窗口内只缩放模型，不滚动页面。
   2. 3D 窗口可获得键盘焦点，支持 + / - 缩放、方向键旋转、R复位。
   3. 不改上传组件，不改 Python，不影响图片/视频展示。
   step199E_product_3d_zoom_keyboard_control_css_end */
.qpy-product-detail-layout-page .qpy-product-3d-viewer,
.qpy-product-detail-layout-page .qpy-product-3d-canvas,
.qpy-product-detail-layout-page .qpy-product-3d-viewer canvas {
    touch-action: none !important;
    overscroll-behavior: contain !important;
    outline: none !important;
}

.qpy-product-detail-layout-page .qpy-product-3d-viewer.is-keyboard-active {
    box-shadow: 0 0 0 2px rgba(95,179,0,.18) inset !important;
}

.qpy-product-detail-layout-page .qpy-product-3d-viewer .qpy-product-3d-status {
    pointer-events: none !important;
}

/* step214_mobile_wechat_start */
/*
=========================================================
step214：移动端 / 微信公众号首页与顶部菜单第一轮适配
页面：common-header / common-nav / home
区块：手机顶部菜单 mobile-header-menu；首页移动端单栏 mobile-home-layout
对应模板：templates/front_v2/components/header.html；templates/front_v2/components/nav.html；site_style_theme.home_template_html
对应 HTML 标记：qpy-mobile-menu-toggle；qpyMobileNavPanel；old-home-step96

可调参数：
1. 手机断点：@media (max-width: 768px)
2. 手机顶部高度：.site-header-inner height / min-height
3. LOGO 最大宽高：.site-logo-box width / max-height
4. 菜单按钮尺寸：.qpy-mobile-menu-toggle width / height
5. 弹层位置：.qpy-mobile-nav-panel top / left / right
6. 首页标题字号：.old-box-title span font-size
7. 首页产品与平台列数：grid-template-columns
=========================================================
*/

.qpy-mobile-menu-toggle,
.qpy-mobile-nav-panel {
    display: none;
}

@media (max-width: 768px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        font-size: 16px !important;
        background-color: #f4ffe6 !important;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box !important;
    }

    img,
    video,
    iframe,
    table {
        max-width: 100% !important;
    }

    .site-wrap,
    .site-header-inner,
    .site-main,
    .site-footer-inner,
    .site-nav,
    .site-slider,
    .old-home-step96,
    .old-home-step96 .old-layout,
    .column-layout,
    .detail-panel,
    .product-detail-layout,
    .qpy-product-list-layout-page,
    .qpy-product-detail-layout-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* step214 页面：common-header 区块：手机顶部 LOGO 与菜单按钮 */
    .site-header {
        min-width: 0 !important;
        background: #ffffff !important;
        border-bottom: 1px solid #d8e5cf !important;
    }

    .site-header-inner {
        height: 120px !important;
        min-height: 120px !important;
        padding: 0 22px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        overflow: hidden !important;
    }

    .site-logo,
    .site-logo-box {
        width: 230px !important;
        max-width: 68% !important;
        height: 96px !important;
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    .site-logo img,
    .site-logo-box img {
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 92px !important;
        object-fit: contain !important;
    }

    .site-top-banner,
    .site-top-banner-box {
        display: none !important;
    }

    .qpy-mobile-menu-toggle {
        display: inline-flex !important;
        width: 58px !important;
        height: 58px !important;
        padding: 0 !important;
        border: 2px solid #b6b6b6 !important;
        border-radius: 9px !important;
        background: #ffffff !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 6px !important;
        cursor: pointer !important;
        flex: 0 0 auto !important;
    }

    .qpy-mobile-menu-toggle span {
        display: block !important;
        width: 28px !important;
        height: 3px !important;
        background: #999999 !important;
        border-radius: 2px !important;
    }

    /* step214 页面：common-nav 区块：手机白色竖向弹层菜单 */
    .site-nav-wrap {
        display: none !important;
    }

    .qpy-mobile-nav-panel {
        display: none !important;
        position: absolute !important;
        z-index: 99999 !important;
        left: 8px !important;
        right: 8px !important;
        top: 118px !important;
        background: #ffffff !important;
        border: 1px solid #b6b6b6 !important;
        border-radius: 4px !important;
        box-shadow: 0 4px 18px rgba(0,0,0,.12) !important;
        padding: 18px 0 !important;
    }

    body.qpy-mobile-nav-open .qpy-mobile-nav-panel {
        display: block !important;
    }

    .qpy-mobile-nav-list {
        margin: 0 !important;
        padding: 0 22px !important;
        list-style: none !important;
    }

    .qpy-mobile-nav-item {
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #eeeeee !important;
        text-align: center !important;
    }

    .qpy-mobile-nav-item:last-child {
        border-bottom: 0 !important;
    }

    .qpy-mobile-nav-link {
        display: block !important;
        padding: 22px 0 !important;
        color: #000000 !important;
        font-size: 26px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
        text-decoration: none !important;
    }

    .qpy-mobile-nav-link:hover,
    .qpy-mobile-nav-link:active,
    .qpy-mobile-nav-link.active {
        color: #55a800 !important;
        text-decoration: none !important;
    }

    /* step214 页面：home 区块：首页轮播移动端宽度 */
    .site-slider-wrap {
        width: 100% !important;
        overflow: hidden !important;
    }

    .site-slider {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 2 / 1 !important;
        margin: 0 auto !important;
    }

    .site-slide,
    .site-slide img {
        width: 100% !important;
        height: 100% !important;
    }

    .site-slide img {
        object-fit: cover !important;
    }

    .site-slider-arrow {
        width: 54px !important;
        height: 72px !important;
        line-height: 72px !important;
        font-size: 54px !important;
        border-radius: 32px !important;
        background: rgba(0,0,0,.35) !important;
    }

    .site-slider-prev {
        left: 18px !important;
    }

    .site-slider-next {
        right: 18px !important;
    }

    /* step214 页面：home 区块：首页 PC 双栏在手机端改单栏 */
    .old-home-step96 {
        padding: 0 !important;
        background: #ffffff !important;
    }

    .old-home-step96 .old-layout {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .old-home-step96 .old-left-col,
    .old-home-step96 .old-right-col {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        overflow: visible !important;
    }

    .old-home-step96 .old-box,
    .old-home-step96 .module {
        width: 100% !important;
        margin: 0 0 18px 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-top: 0 !important;
        background: #ffffff !important;
        overflow: hidden !important;
    }

    /* step214 页面：home 区块：首页手机端模块标题 */
    .old-home-step96 .old-box-title,
    .old-home-step96 .module-title {
        height: 72px !important;
        line-height: 72px !important;
        padding: 0 20px 0 34px !important;
        background: #ffffff !important;
        border-bottom: 1px solid #dddddd !important;
        position: relative !important;
    }

    .old-home-step96 .old-box-title::before,
    .old-home-step96 .module-title::before {
        content: "" !important;
        position: absolute !important;
        left: 18px !important;
        top: 20px !important;
        width: 7px !important;
        height: 34px !important;
        background: #62b900 !important;
        border-radius: 1px !important;
    }

    .old-home-step96 .old-box-title span,
    .old-home-step96 .module-title span {
        width: auto !important;
        height: auto !important;
        line-height: 72px !important;
        padding: 0 !important;
        background: none !important;
        color: #55a800 !important;
        font-size: 26px !important;
        font-weight: 700 !important;
    }

    .old-home-step96 .old-more,
    .old-home-step96 .home-module-more {
        right: 18px !important;
        top: 0 !important;
        height: 72px !important;
        line-height: 72px !important;
        color: #999999 !important;
        font-size: 18px !important;
    }

    /* step214 页面：home 区块：公司介绍手机端阅读 */
    .old-home-step96 .home-company-intro-body,
    .old-home-step96 .old-company-body {
        display: block !important;
        padding: 20px 18px !important;
    }

    .old-home-step96 .home-company-intro-image,
    .old-home-step96 .old-company-img {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 18px 0 !important;
        float: none !important;
        text-align: center !important;
    }

    .old-home-step96 .home-company-intro-img,
    .old-home-step96 .old-company-img img {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: cover !important;
    }

    .old-home-step96 .home-company-intro-text,
    .old-home-step96 .old-company-text {
        width: 100% !important;
        float: none !important;
        font-size: 24px !important;
        line-height: 1.9 !important;
        color: #222222 !important;
        text-align: justify !important;
    }

    .old-home-step96 .home-company-intro-text p,
    .old-home-step96 .old-company-text p {
        margin: 0 0 18px 0 !important;
        text-indent: 2em !important;
    }

    /* step214 页面：home 区块：业务范围、拍卖信息和资讯列表 */
    .old-home-step96 .old-two-box-row {
        display: block !important;
        width: 100% !important;
    }

    .old-home-step96 .old-half-box {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 18px !important;
    }

    .old-home-step96 .old-list-body {
        padding: 0 !important;
    }

    .old-home-step96 .old-news-list,
    .old-home-step96 .home-business-list,
    .old-home-step96 .home-auction-list,
    .old-home-step96 .home-news-grid {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .old-home-step96 .old-news-list li,
    .old-home-step96 .home-news-grid-item {
        height: auto !important;
        min-height: 58px !important;
        line-height: 1.5 !important;
        padding: 16px 18px !important;
        border-bottom: 1px dashed #dddddd !important;
        font-size: 22px !important;
        overflow: hidden !important;
    }

    .old-home-step96 .old-news-list li a,
    .old-home-step96 .home-news-grid-item a {
        display: block !important;
        color: #333333 !important;
        font-size: 22px !important;
        line-height: 1.5 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .old-home-step96 .home-news-feature,
    .old-home-step96 .old-news-feature {
        display: block !important;
        padding: 18px !important;
    }

    .old-home-step96 .home-news-feature-cover,
    .old-home-step96 .old-news-img {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 14px 0 !important;
        float: none !important;
    }

    .old-home-step96 .home-news-feature-cover img,
    .old-home-step96 .old-news-img img {
        width: 100% !important;
        height: auto !important;
    }

    .old-home-step96 .home-news-feature-title,
    .old-home-step96 .old-news-text h3 {
        font-size: 24px !important;
        line-height: 1.5 !important;
        text-align: left !important;
    }

    .old-home-step96 .home-news-feature-desc,
    .old-home-step96 .old-news-text p {
        font-size: 20px !important;
        line-height: 1.8 !important;
    }

    /* step214 页面：home 区块：媒体视频 */
    .old-home-step96 .home-media-video,
    .old-home-step96 .home-media-video .home-media-video-body,
    .old-home-step96 .old-video-body {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .old-home-step96 .home-media-video .home-media-video-body,
    .old-home-step96 .old-video-body {
        padding: 18px !important;
    }

    .old-home-step96 .home-media-video .home-media-video-frame,
    .old-home-step96 .home-media-video-frame,
    .old-home-step96 video {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
    }

    .old-home-step96 .home-media-video .home-media-video-player {
        width: 100% !important;
        height: 100% !important;
    }

    /* step214 页面：home 区块：合作平台与藏品展示 */
    .old-home-step96 .home-partner-grid,
    .old-home-step96 .old-platform-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        padding: 18px !important;
    }

    .old-home-step96 .home-partner-item,
    .old-home-step96 .old-platform-grid a {
        width: 100% !important;
        max-width: 100% !important;
    }

    .old-home-step96 .home-product-grid,
    .old-home-step96 .old-product-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px 12px !important;
        padding: 18px !important;
    }

    .old-home-step96 .home-product-card,
    .old-home-step96 .old-product-item {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    .old-home-step96 .home-product-img-box,
    .old-home-step96 .old-product-img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .old-home-step96 .home-product-img,
    .old-home-step96 .old-product-img img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .old-home-step96 .home-product-title,
    .old-home-step96 .old-product-title {
        margin-top: 8px !important;
        font-size: 18px !important;
        line-height: 1.5 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* step214 页面：common-footer 区块：手机端底部 */
    .site-footer-inner {
        width: 100% !important;
        padding: 18px 12px 28px !important;
        font-size: 13px !important;
        line-height: 1.8 !important;
    }
}
/* step214_mobile_wechat_end */

/* step215_mobile_hide_sidebar_start */
/*
=========================================================
step215：移动端二级页面隐藏 PC 左侧公共栏
页面：article-list / article-detail / product-list / product-detail
区块：二级页面公共左侧栏 common-sidebar
对应模板：templates/front_v2/partials/qpy_left_sidebar.html
对应 HTML 标记：#qpyLeftSidebar / .qpy-left-sidebar / .qpy-detail-sidebar / .qpy-list-sidebar

说明：
1. 仅在手机端 max-width:768px 生效；
2. PC 端保留“公司资料 / 藏品类别 / 行业资讯”左侧公共栏；
3. 手机端二级页面只显示顶部、正文、底部；
4. 不删除模板，不影响后台风格编辑和 PC 页面。

可调参数：
1. 手机断点：@media (max-width: 768px)
2. 正文左右内边距：padding-left / padding-right
3. 正文宽度：width / max-width
=========================================================
*/

@media (max-width: 768px) {

    /* step215 二级页面公共左栏隐藏 */
    #qpyLeftSidebar,
    .qpy-left-sidebar {
        display: none !important;
    }

    /* step215 如果左栏外层容器只包裹公共左栏，也一起隐藏，避免手机端留下空白栏。 */
    .column-sidebar:has(#qpyLeftSidebar),
    .column-sidebar:has(.qpy-left-sidebar),
    .qpy-list-sidebar:has(#qpyLeftSidebar),
    .qpy-detail-sidebar:has(#qpyLeftSidebar),
    .qpy-product-list-sidebar:has(#qpyLeftSidebar),
    .qpy-product-detail-sidebar:has(#qpyLeftSidebar) {
        display: none !important;
    }

    /* step215 兼容不支持 :has 的旧浏览器：这些 sidebar 在当前二级模板中只用于左侧公共栏。 */
    .column-sidebar,
    .qpy-list-sidebar,
    .qpy-detail-sidebar,
    .qpy-product-list-sidebar,
    .qpy-product-detail-sidebar {
        display: none !important;
    }

    /* step215 二级页面布局改单栏 */
    .column-layout,
    .qpy-list-layout-page,
    .qpy-detail-layout-page,
    .qpy-image-list-layout-page,
    .qpy-product-list-layout-page,
    .qpy-product-detail-layout-page {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: 1fr !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* step215 正文内容区占满宽度 */
    .column-content,
    .qpy-list-main,
    .qpy-detail-main,
    .qpy-image-list-main,
    .qpy-product-list-main,
    .qpy-product-detail-main,
    .qpy-product-list-article-box,
    .qpy-product-detail-article-box {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }

    /* step215 二级页面正文图片和表格防溢出 */
    .column-content img,
    .qpy-list-main img,
    .qpy-detail-main img,
    .qpy-product-list-main img,
    .qpy-product-detail-main img,
    .detail-body img,
    .qpy-detail-content img {
        max-width: 100% !important;
        height: auto !important;
    }

    .column-content table,
    .qpy-list-main table,
    .qpy-detail-main table,
    .qpy-product-list-main table,
    .qpy-product-detail-main table,
    .detail-body table,
    .qpy-detail-content table {
        max-width: 100% !important;
        width: 100% !important;
        table-layout: auto !important;
        word-break: break-all !important;
    }
}
/* step215_mobile_hide_sidebar_end */

/* step216_mobile_home_simplify_start */
/*
=========================================================
step216：移动端首页结构精简
页面：首页 home
区块：移动端首页精简 mobile-home-simplify
对应模板：site_style_theme.home_template_html
对应 HTML 标记：old-home-step96 / home-media-video / home-partner-platform / home-news-feature / home-product-grid

说明：
1. 仅在手机端 max-width:768px 生效；
2. PC 端首页保持原媒体视频、合作平台和双栏布局；
3. 手机端隐藏媒体视频和合作平台；
4. 手机端首页显示顺序：顶部 -> 公司介绍 -> 业务范围 -> 拍卖信息 -> 行业资讯列表 -> 藏品展示 -> 页底；
5. 行业资讯手机端只显示列表，不显示推荐大图和简介。

可调参数：
1. 手机断点：@media (max-width: 768px)
2. 公司介绍正文字号：font-size
3. 列表项高度和字号：min-height / font-size
4. 藏品展示列数：grid-template-columns
5. 藏品展示间距：column-gap / row-gap
=========================================================
*/

@media (max-width: 768px) {

    /* step216 首页右侧栏里的媒体视频、合作平台在手机端隐藏 */
    .old-home-step96 .home-media-video,
    .old-home-step96 .home-partner-platform {
        display: none !important;
    }

    /* step216 手机端首页右侧栏不保留多余宽度，PC 端不受影响。 */
    .old-home-step96 .old-right-col {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .old-home-step96 .old-right-col:empty {
        display: none !important;
    }

    /* step216 公司介绍：图片上、正文下 */
    .old-home-step96 .home-company-intro-body {
        display: block !important;
        padding: 20px 18px 24px !important;
    }

    .old-home-step96 .home-company-intro-image {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 20px 0 !important;
        text-align: center !important;
    }

    .old-home-step96 .home-company-intro-image a {
        display: block !important;
        width: 100% !important;
    }

    .old-home-step96 .home-company-intro-img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: cover !important;
    }

    .old-home-step96 .home-company-intro-text {
        display: block !important;
        width: 100% !important;
        float: none !important;
        clear: both !important;
        font-size: 24px !important;
        line-height: 1.9 !important;
        color: #222222 !important;
        text-align: justify !important;
    }

    .old-home-step96 .home-company-intro-text p {
        margin: 0 0 18px 0 !important;
        text-indent: 2em !important;
    }

    /* step216 业务范围、拍卖信息：手机单栏列表 */
    .old-home-step96 .home-business-scope,
    .old-home-step96 .home-auction-info {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .old-home-step96 .home-business-list li,
    .old-home-step96 .home-auction-list li {
        min-height: 58px !important;
        padding: 16px 18px !important;
        border-bottom: 1px dashed #dddddd !important;
        font-size: 22px !important;
        line-height: 1.5 !important;
    }

    .old-home-step96 .home-business-list li a,
    .old-home-step96 .home-auction-list li a {
        display: block !important;
        font-size: 22px !important;
        line-height: 1.5 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .old-home-step96 .home-auction-date {
        display: none !important;
    }

    /* step216 行业资讯：手机端只显示标题列表，不显示推荐图文块 */
    .old-home-step96 .home-news-feature,
    .old-home-step96 .old-news-feature {
        display: none !important;
    }

    .old-home-step96 .home-news-grid,
    .old-home-step96 .old-news-list-bottom {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .old-home-step96 .home-news-grid-item {
        display: block !important;
        min-height: 58px !important;
        padding: 16px 18px !important;
        border-bottom: 1px dashed #dddddd !important;
        font-size: 22px !important;
        line-height: 1.5 !important;
    }

    .old-home-step96 .home-news-grid-item a {
        display: block !important;
        font-size: 22px !important;
        line-height: 1.5 !important;
        color: #333333 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        text-decoration: none !important;
    }

    /* step216 藏品展示：手机端每行两个产品 */
    .old-home-step96 .home-product-showcase {
        display: block !important;
        width: 100% !important;
    }

    .old-home-step96 .home-product-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 12px !important;
        row-gap: 20px !important;
        padding: 18px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .old-home-step96 .home-product-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        text-decoration: none !important;
    }

    .old-home-step96 .home-product-img-box {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .old-home-step96 .home-product-img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .old-home-step96 .home-product-title {
        margin-top: 8px !important;
        font-size: 18px !important;
        line-height: 1.5 !important;
        color: #333333 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}
/* step216_mobile_home_simplify_end */

/* step216B_mobile_home_finetune_start */
/*
=========================================================
step216B：移动端首页精修
页面：首页 home
区块：移动端首页精修 mobile-home-finetune
对应模板：site_style_theme.home_template_html
对应 HTML 标记：site-header-inner / qpy-mobile-menu-toggle / site-slider / old-home-step96 / home-news-feature / home-product-grid

修复：
1. 顶部菜单按钮掉到 LOGO 下方；
2. Banner 下方大片空白；
3. 栏目标题过高；
4. 公司介绍改为图片上、正文下；
5. 业务范围/拍卖信息显示不全或被覆盖；
6. 行业资讯只显示单列列表，隐藏推荐图文；
7. 藏品展示每行两个产品图。
仅 max-width:768px 生效，PC 不受影响。
=========================================================
*/

@media (max-width: 768px) {

    /* step216B 1. 顶部 LOGO 左、菜单按钮右，禁止换行和掉行 */
    .site-header,
    .site-header-inner {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .site-header-inner {
        height: 96px !important;
        min-height: 96px !important;
        padding: 10px 18px !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        background: #ffffff !important;
    }

    .site-logo,
    .site-logo-box,
    .site-header-logo {
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: calc(100% - 76px) !important;
        height: 76px !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    .site-logo img,
    .site-logo-box img,
    .site-header-logo img {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 72px !important;
        object-fit: contain !important;
    }

    .site-top-banner,
    .site-top-banner-box,
    .top-banner,
    .header-banner {
        display: none !important;
    }

    .qpy-mobile-menu-toggle {
        position: static !important;
        flex: 0 0 52px !important;
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 5px !important;
        float: none !important;
        clear: none !important;
        box-sizing: border-box !important;
        z-index: 100000 !important;
    }

    .qpy-mobile-menu-toggle span {
        width: 26px !important;
        height: 3px !important;
    }

    .qpy-mobile-nav-panel {
        top: 96px !important;
        left: 8px !important;
        right: 8px !important;
    }

    /* step216B 2. 清除轮播图下面大片空白 */
    .site-slider-wrap,
    .slider-wrap,
    .home-slider-wrap,
    .site-slider,
    .slider,
    .home-slider,
    .swiper,
    .swiper-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .site-slider,
    .slider,
    .home-slider,
    .swiper,
    .swiper-container {
        aspect-ratio: 2 / 1 !important;
    }

    .site-slide,
    .slide,
    .swiper-slide {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .site-slide img,
    .slide img,
    .swiper-slide img,
    .site-slider img,
    .slider img,
    .home-slider img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .old-home-step96 {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* step216B 3. 栏目标题高度压低 */
    .old-home-step96 .old-box-title,
    .old-home-step96 .module-title,
    .old-home-step96 .home-module-title-with-more {
        height: 54px !important;
        min-height: 54px !important;
        line-height: 54px !important;
        padding: 0 16px 0 28px !important;
        margin: 0 !important;
        overflow: hidden !important;
        border-bottom: 1px solid #dddddd !important;
    }

    .old-home-step96 .old-box-title::before,
    .old-home-step96 .module-title::before,
    .old-home-step96 .home-module-title-with-more::before {
        left: 14px !important;
        top: 14px !important;
        width: 6px !important;
        height: 28px !important;
    }

    .old-home-step96 .old-box-title span,
    .old-home-step96 .module-title span,
    .old-home-step96 .home-module-title-with-more span {
        height: 54px !important;
        line-height: 54px !important;
        font-size: 24px !important;
        font-weight: 700 !important;
    }

    .old-home-step96 .old-more,
    .old-home-step96 .home-module-more {
        height: 54px !important;
        line-height: 54px !important;
        top: 0 !important;
        right: 16px !important;
        font-size: 18px !important;
    }

    /* step216B 所有首页模块高度自动，避免内容被盖 */
    .old-home-step96 .old-box,
    .old-home-step96 .module,
    .old-home-step96 .old-list-body,
    .old-home-step96 .old-two-box-row,
    .old-home-step96 .old-left-col,
    .old-home-step96 .old-right-col {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* step216B 4. 公司介绍：图片上，文字下 */
    .old-home-step96 .home-company-intro-body {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
        padding: 16px !important;
        height: auto !important;
        overflow: visible !important;
    }

    .old-home-step96 .home-company-intro-image,
    .old-home-step96 .home-company-intro-image[style] {
        order: 1 !important;
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        overflow: hidden !important;
    }

    .old-home-step96 .home-company-intro-image a {
        display: block !important;
        width: 100% !important;
    }

    .old-home-step96 .home-company-intro-img,
    .old-home-step96 .home-company-intro-img[style] {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: cover !important;
        margin: 0 auto !important;
    }

    .old-home-step96 .home-company-intro-text {
        order: 2 !important;
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        font-size: 21px !important;
        line-height: 1.85 !important;
        color: #222222 !important;
        text-align: justify !important;
    }

    .old-home-step96 .home-company-intro-text p {
        margin: 0 0 14px 0 !important;
        text-indent: 2em !important;
    }

    /* step216B 5/6. 业务范围、拍卖信息完整显示，不被覆盖 */
    .old-home-step96 .home-business-scope,
    .old-home-step96 .home-auction-info {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        display: block !important;
        width: 100% !important;
        clear: both !important;
    }

    .old-home-step96 .home-business-list,
    .old-home-step96 .home-auction-list {
        display: block !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .old-home-step96 .home-business-list li,
    .old-home-step96 .home-auction-list li {
        display: block !important;
        position: relative !important;
        height: auto !important;
        min-height: 42px !important;
        line-height: 1.45 !important;
        padding: 11px 16px 11px 34px !important;
        margin: 0 !important;
        border-bottom: 1px dashed #dddddd !important;
        overflow: hidden !important;
        font-size: 18px !important;
        box-sizing: border-box !important;
    }

    .old-home-step96 .home-business-list li a,
    .old-home-step96 .home-auction-list li a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        line-height: 1.45 !important;
        font-size: 18px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }

    .old-home-step96 .home-auction-list li a {
        padding-right: 86px !important;
    }

    .old-home-step96 .home-auction-date {
        display: block !important;
        position: absolute !important;
        right: 16px !important;
        top: 11px !important;
        width: 82px !important;
        text-align: right !important;
        color: #999999 !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    /* step216B 7. 行业资讯：隐藏推荐图文，只显示单列列表 */
    .old-home-step96 .home-news-list .home-news-feature,
    .old-home-step96 .home-news-list .old-news-feature,
    .old-home-step96 .home-news-feature,
    .old-home-step96 .old-news-feature {
        display: none !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .old-home-step96 .home-news-grid,
    .old-home-step96 .old-news-list-bottom {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        columns: auto !important;
        column-count: 1 !important;
    }

    .old-home-step96 .home-news-grid-item,
    .old-home-step96 .home-news-grid li,
    .old-home-step96 .old-news-list-bottom li {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 42px !important;
        line-height: 1.45 !important;
        padding: 11px 16px 11px 34px !important;
        margin: 0 !important;
        border-bottom: 1px dashed #dddddd !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .old-home-step96 .home-news-grid-item a,
    .old-home-step96 .home-news-grid li a,
    .old-home-step96 .old-news-list-bottom li a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        line-height: 1.45 !important;
        font-size: 18px !important;
        color: #333333 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        text-decoration: none !important;
    }

    /* step216B 8. 藏品展示：每行两个，不横向溢出 */
    .old-home-step96 .home-product-showcase,
    .old-home-step96 .old-products-box {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        display: block !important;
        clear: both !important;
    }

    .old-home-step96 .old-product-list.home-product-grid,
    .old-home-step96 .home-product-grid,
    .old-home-step96 .old-product-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 12px !important;
        padding: 14px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .old-home-step96 .old-product-item.home-product-card,
    .old-home-step96 .home-product-card,
    .old-home-step96 .old-product-item {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .old-home-step96 .home-product-img-box,
    .old-home-step96 .home-product-img-box[style] {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        padding: 2px !important;
        border: 1px solid #dddddd !important;
        box-sizing: border-box !important;
    }

    .old-home-step96 .home-product-img,
    .old-home-step96 .home-product-img[style] {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        object-fit: cover !important;
    }

    .old-home-step96 .home-product-title {
        display: block !important;
        margin-top: 8px !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
        color: #333333 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}
/* step216B_mobile_home_finetune_end */

/* step216C_mobile_home_business_news_list_start */
/*
=========================================================
step216C：移动端首页业务范围高度修正 + 行业资讯改单列
页面：首页 home
区块：业务范围 business-scope；行业资讯 news-list
对应模板：site_style_theme.home_template_html
对应 HTML 标记：home-business-list / home-news-grid / home-news-grid-item / old-news-list-bottom

说明：
1. 仅 max-width:768px 生效；
2. 修复业务范围底部被下一模块覆盖；
3. 行业资讯强制改单列标题列表；
4. 样式参考拍卖信息：小绿梅花点、标题、虚线分隔；
5. PC 端不受影响。
=========================================================
*/

@media (max-width: 768px) {

    /* step216C 业务范围：完整显示，避免底部被拍卖信息盖住 */
    .old-home-step96 .home-business-scope {
        display: block !important;
        position: relative !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        margin-bottom: 20px !important;
        padding-bottom: 6px !important;
        clear: both !important;
    }

    .old-home-step96 .home-business-scope .old-list-body,
    .old-home-step96 .home-business-list {
        display: block !important;
        position: relative !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 0 8px 0 !important;
        clear: both !important;
    }

    .old-home-step96 .home-business-list li {
        display: block !important;
        height: auto !important;
        min-height: 46px !important;
        line-height: 1.45 !important;
        padding: 12px 16px 12px 36px !important;
        margin: 0 !important;
        border-bottom: 1px dashed #dddddd !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .old-home-step96 .home-business-list li a {
        display: block !important;
        width: 100% !important;
        line-height: 1.45 !important;
        font-size: 18px !important;
        color: #333333 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* step216C 拍卖信息：保证不会压住前一个模块 */
    .old-home-step96 .home-auction-info {
        display: block !important;
        position: relative !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        clear: both !important;
        margin-top: 0 !important;
    }

    /* step216C 行业资讯：隐藏推荐图文，只保留列表 */
    .old-home-step96 .home-news-list .home-news-feature,
    .old-home-step96 .home-news-list .old-news-feature,
    .old-home-step96 .home-news-feature,
    .old-home-step96 .old-news-feature {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /*
      step216C 行业资讯列表强制改单列：
      覆盖旧 PC 端两列 / grid / float / width:50% 等规则。
    */
    .old-home-step96 .home-news-list .home-news-grid,
    .old-home-step96 .home-news-list .old-news-list-bottom,
    .old-home-step96 .home-news-grid,
    .old-home-step96 .old-news-list-bottom {
        display: block !important;
        grid-template-columns: none !important;
        columns: auto !important;
        column-count: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 0 8px 0 !important;
        overflow: visible !important;
        list-style: none !important;
        clear: both !important;
    }

    .old-home-step96 .home-news-list .home-news-grid-item,
    .old-home-step96 .home-news-list .home-news-grid li,
    .old-home-step96 .home-news-list .old-news-list-bottom li,
    .old-home-step96 .home-news-grid-item,
    .old-home-step96 .home-news-grid li,
    .old-home-step96 .old-news-list-bottom li {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 42px !important;
        line-height: 1.45 !important;
        padding: 11px 16px 11px 36px !important;
        margin: 0 !important;
        border-bottom: 1px dashed #dddddd !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        position: relative !important;
        clear: both !important;
    }

    .old-home-step96 .home-news-list .home-news-grid-item a,
    .old-home-step96 .home-news-list .home-news-grid li a,
    .old-home-step96 .home-news-list .old-news-list-bottom li a,
    .old-home-step96 .home-news-grid-item a,
    .old-home-step96 .home-news-grid li a,
    .old-home-step96 .old-news-list-bottom li a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        line-height: 1.45 !important;
        font-size: 18px !important;
        color: #333333 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    /* step216C 避免行业资讯内部仍保留两列宽度或 inline-block。 */
    .old-home-step96 .home-news-list li * {
        max-width: 100% !important;
    }
}
/* step216C_mobile_home_business_news_list_end */

/* step217_mobile_product_image_list_start */
/*
=========================================================
step217：移动端产品列表页 + 图片列表页两列适配
页面：product-list / article-list
区块：产品列表 product-grid；图片列表 image-grid
对应模板字段：site_style_theme.product_item_list_template_html；site_style_theme.column_image_list_template_html
对应 HTML 标记：qpy-product-filter-box / qpy-product-grid / qpy-product-card / qpy-image-grid / qpy-image-card

说明：
1. 仅 max-width:768px 生效；
2. 产品列表每行 2 列；
3. 产品筛选框不超出边线；
4. 每页条数 / 分页控件居中；
5. 图片列表每行 2 列；
6. PC 端不受影响。
=========================================================
*/

@media (max-width: 768px) {

    /* step217 产品列表页整体 */
    .qpy-product-list-layout-page,
    .qpy-product-list-main,
    .qpy-product-list-article-box,
    .qpy-product-list-content,
    .qpy-product-list-content-box,
    .qpy-product-list-page,
    .qpy-product-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    /* step217 产品筛选框：防止输入框和下拉框超出边线 */
    .qpy-product-filter,
    .qpy-product-filter-box,
    .qpy-product-filter-panel,
    .qpy-product-filter-form,
    .qpy-product-filter-wrap {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 14px 0 !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-filter-box form,
    .qpy-product-filter-row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 10px 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 10px 0 !important;
        box-sizing: border-box !important;
    }

    .qpy-product-filter-item {
        display: flex !important;
        flex: 1 1 138px !important;
        min-width: 0 !important;
        max-width: 100% !important;
        align-items: center !important;
        gap: 6px !important;
        box-sizing: border-box !important;
    }

    .qpy-product-keyword-filter-item {
        flex: 1 1 100% !important;
    }

    .qpy-product-filter-row label,
    .qpy-product-filter-label,
    .qpy-product-filter-group-title,
    .qpy-product-filter-item label {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        font-size: 15px !important;
        line-height: 34px !important;
        white-space: nowrap !important;
    }

    .qpy-product-filter input,
    .qpy-product-filter select,
    .qpy-product-filter-box input,
    .qpy-product-filter-box select,
    .qpy-product-keyword-input,
    .qpy-product-filter-select,
    #qpyProductKeyword {
        max-width: 100% !important;
        height: 34px !important;
        line-height: 34px !important;
        padding: 0 8px !important;
        font-size: 15px !important;
        box-sizing: border-box !important;
        border-radius: 6px !important;
    }

    #qpyProductKeyword,
    .qpy-product-keyword-input {
        flex: 1 1 160px !important;
        min-width: 0 !important;
        width: auto !important;
    }

    .qpy-product-filter select,
    .qpy-product-filter-box select,
    .qpy-product-filter-select {
        flex: 1 1 92px !important;
        min-width: 92px !important;
        width: auto !important;
    }

    .qpy-product-filter button,
    .qpy-product-filter .btn,
    .qpy-product-filter-button,
    .qpy-product-filter-btn,
    .qpy-product-filter-reset {
        min-width: 72px !important;
        height: 36px !important;
        line-height: 36px !important;
        padding: 0 14px !important;
        font-size: 15px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    /* step217 产品列表：移动端强制每行 2 列 */
    .qpy-product-grid,
    .qpy-product-list,
    .qpy-product-card-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-card,
    .qpy-product-item {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-cover-box,
    .qpy-product-img-box,
    .qpy-product-card-img-box {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
        padding: 2px !important;
        border: 1px solid #dddddd !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #ffffff !important;
    }

    .qpy-product-cover,
    .qpy-product-img,
    .qpy-product-card img,
    .qpy-product-cover-box img,
    .qpy-product-img-box img,
    .qpy-product-cover-img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        object-fit: cover !important;
        margin: 0 auto !important;
    }

    .qpy-product-title,
    .qpy-product-card-title,
    .qpy-product-name {
        display: block !important;
        margin-top: 8px !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
        color: #333333 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        text-align: center !important;
    }
    /* step217 图片列表页：移动端每行 2 列 */
    .qpy-image-list-layout-page,
    .qpy-image-list-main,
    .qpy-image-list-content,
    .qpy-image-list-content-box,
    .qpy-image-list-page,
    .qpy-gallery-list-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .qpy-image-grid,
    .qpy-image-list,
    .qpy-gallery-grid,
    .qpy-photo-grid,
    .image-list-grid,
    .image-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-image-card,
    .qpy-image-item,
    .qpy-gallery-item,
    .qpy-photo-item,
    .image-list-item,
    .image-grid-item {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-image-cover-box,
    .qpy-image-thumb,
    .qpy-image-cover,
    .qpy-gallery-thumb,
    .qpy-photo-thumb,
    .image-list-thumb,
    .image-cover {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
        padding: 2px !important;
        border: 1px solid #dddddd !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        background: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .qpy-image-cover-box img,
    .qpy-image-cover-img,
    .qpy-image-thumb img,
    .qpy-image-cover img,
    .qpy-gallery-thumb img,
    .qpy-photo-thumb img,
    .image-list-thumb img,
    .image-cover img,
    .qpy-image-item img,
    .qpy-image-card img,
    .qpy-gallery-item img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        object-fit: cover !important;
        margin: 0 auto !important;
    }

    .qpy-image-title,
    .qpy-gallery-title,
    .qpy-photo-title,
    .image-list-title,
    .image-title {
        display: block !important;
        margin-top: 8px !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
        color: #333333 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        text-align: center !important;
    }

    /* step217 图片列表分页也居中 */
    .qpy-image-pagination,
    .qpy-gallery-pagination,
    .image-pagination,
    .qpy-image-pagebar,
    .qpy-list-pagebar {
        width: 100% !important;
        max-width: 100% !important;
        margin: 18px auto 0 !important;
        text-align: center !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        box-sizing: border-box !important;
        clear: both !important;
    }
}
/* step217_mobile_product_image_list_end */

/* step220_keep_3d_overlay_after_product_rollback_start */
/*
step220：
产品列表移动端失败补丁已回滚。
本区块只保留产品详情页 3D 模拟全屏 CSS，不参与产品列表、不参与图片列表。
*/

body.qpy-product-3d-overlay-open {
    overflow: hidden !important;
}

.qpy-product-3d-mobile-overlay {
    position: fixed !important;
    z-index: 2147483000 !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #000000 !important;
    padding: 48px 10px 10px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.qpy-product-3d-mobile-overlay .qpy-product-model3d-box,
.qpy-product-3d-mobile-overlay .qpy-product-3d-viewer {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
}

.qpy-product-3d-overlay-close {
    position: absolute !important;
    right: 12px !important;
    top: 8px !important;
    z-index: 2147483001 !important;
    width: 76px !important;
    height: 34px !important;
    line-height: 34px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: rgba(255,255,255,.9) !important;
    color: #111111 !important;
    font-size: 14px !important;
    text-align: center !important;
}

.qpy-product-3d-status {
    position: absolute !important;
    left: 50% !important;
    bottom: 18px !important;
    transform: translateX(-50%) !important;
    z-index: 2147483002 !important;
    padding: 8px 14px !important;
    border-radius: 18px !important;
    background: rgba(0,0,0,.72) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transition: opacity .2s ease !important;
}

.qpy-product-3d-status.is-visible {
    opacity: 1 !important;
}
/* step220_keep_3d_overlay_after_product_rollback_end */

/* step224_mobile_product_independent_right_start */
/*
step224：
产品列表移动端彻底回滚重做。
PC端继续显示 qpy-product-pc-right-wrap 和原 qpy-product-grid；
移动端只显示 qpy-product-mobile-right-wrap，使用独立 qpy-product-mobile-grid。
不影响 qpy-image-grid、产品详情页3D和后台风格编辑窗口结构。
*/

@media (min-width: 769px) {
    .qpy-product-pc-right-wrap {
        display: block !important;
    }

    .qpy-product-mobile-right-wrap {
        display: none !important;
    }
}

@media (max-width: 768px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .qpy-product-list-layout-page {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .qpy-product-list-layout-page > .left,
    .qpy-product-list-layout-page > .qpy-product-pc-right-wrap {
        display: none !important;
    }

    .qpy-product-mobile-right-wrap {
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .qpy-product-mobile-main,
    .qpy-product-mobile-content-box {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .qpy-product-mobile-section-bar,
    .qpy-product-mobile-location {
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere !important;
    }

    .qpy-product-mobile-filter-box {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 16px 0 !important;
        padding: 12px !important;
        border: 1px solid #d6efc8 !important;
        background: #f3fbef !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-filter-row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 10px 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-bottom: 10px !important;
    }

    .qpy-product-mobile-filter-item {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-item label,
    .qpy-product-mobile-filter-group-title {
        color: #2c5b22 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        white-space: nowrap !important;
    }

    #qpyProductMobileKeyword {
        width: 170px !important;
        max-width: calc(100vw - 150px) !important;
        height: 34px !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-select {
        width: 112px !important;
        max-width: calc(50vw - 55px) !important;
        height: 34px !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-btn,
    .qpy-product-mobile-filter-reset {
        height: 34px !important;
        min-width: 64px !important;
        padding: 0 14px !important;
        border: 0 !important;
        background: #43b000 !important;
        color: #ffffff !important;
        font-size: 15px !important;
        line-height: 34px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        text-align: center !important;
        color: #333333 !important;
        text-decoration: none !important;
    }

    .qpy-product-mobile-cover-box {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 4 / 3 !important;
        padding: 2px !important;
        border: 1px solid #dddddd !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-cover-img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        object-fit: cover !important;
        margin: 0 auto !important;
        border: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-title {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 8px !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
        color: #333333 !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-empty {
        display: none;
        padding: 18px 0 !important;
        color: #888888 !important;
        text-align: center !important;
        font-size: 15px !important;
    }

    .qpy-product-mobile-pagebar {
        margin-top: 18px !important;
        text-align: center !important;
    }
}
/* step224_mobile_product_independent_right_end */

/* step226B_mobile_product_css_fix_start */
/*
step226B：
产品列表页移动端图片尺寸和筛选框精修。
依据 step226A：移动端独立 HTML 已生成，PC/mobile 右侧区是兄弟节点。
本区块只修产品列表页移动端 CSS：
1. 移动端断点从 768 扩展到 1024，兼容 iPhone Chrome / 微信视口差异；
2. 强制只显示 qpy-product-mobile-right-wrap；
3. qpy-product-mobile-grid 固定两列；
4. 筛选框自动换行，避免横向溢出；
5. 不影响图片列表页和 3D。
*/

@media (min-width: 1025px) {
    .qpy-product-mobile-right-wrap {
        display: none !important;
    }

    .qpy-product-pc-right-wrap {
        display: block !important;
    }
}

@media (max-width: 1024px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .qpy-product-list-layout-page {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .qpy-product-list-layout-page > .left,
    .qpy-product-list-layout-page > .qpy-product-pc-right-wrap {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-right-wrap,
    .qpy-product-mobile-main,
    .qpy-product-mobile-content-box {
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .qpy-product-mobile-filter-box {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 16px 0 !important;
        padding: 12px !important;
        border: 1px solid #d6efc8 !important;
        background: #f3fbef !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-filter-row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-filter-item {
        display: flex !important;
        align-items: center !important;
        flex: 0 1 auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 6px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }

    .qpy-product-mobile-filter-item label,
    .qpy-product-mobile-filter-group-title {
        flex: 0 0 auto !important;
        max-width: 82px !important;
        color: #2c5b22 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    #qpyProductMobileKeyword {
        flex: 1 1 auto !important;
        width: 180px !important;
        max-width: calc(100vw - 150px) !important;
        min-width: 120px !important;
        height: 34px !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-select {
        flex: 0 1 auto !important;
        width: 112px !important;
        max-width: calc(50vw - 54px) !important;
        min-width: 92px !important;
        height: 34px !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-btn,
    .qpy-product-mobile-filter-reset,
    #qpyProductMobileFilterApply,
    #qpyProductMobileFilterReset {
        display: inline-block !important;
        height: 34px !important;
        min-width: 64px !important;
        max-width: calc(50vw - 18px) !important;
        padding: 0 14px !important;
        border: 0 !important;
        background: #43b000 !important;
        color: #ffffff !important;
        font-size: 15px !important;
        line-height: 34px !important;
        text-align: center !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }

    .qpy-product-mobile-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        text-align: center !important;
        color: #333333 !important;
        text-decoration: none !important;
    }

    .qpy-product-mobile-cover-box {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
        padding: 2px !important;
        border: 1px solid #dddddd !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-cover-img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        object-fit: cover !important;
        margin: 0 auto !important;
        border: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-title {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-top: 8px !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
        color: #333333 !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-empty {
        padding: 18px 0 !important;
        color: #888888 !important;
        text-align: center !important;
        font-size: 15px !important;
    }

    .qpy-product-mobile-pagebar {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 18px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
}
/* step226B_mobile_product_css_fix_end */

/* step227_mobile_product_size_filter_page_start */
/*
step227：
产品列表页移动端最终尺寸修复。
当前 mobile HTML 已生成，且为双列，但列宽和图片框被撑大，手机只看到 1、3、5。
本区块固定移动端尺寸，不再跟随 PC 端 step187 参数。

移动端固定参数：
- 产品列表容器宽度：calc(100vw - 24px)
- 产品两列间距：12px
- 产品图片框高度：128px
- 产品图片框边框：1px solid #dddddd
- 产品图片框内边距：2px
- 图片 object-fit：contain
- 标题：单行省略
*/

@media (min-width: 1025px) {
    .qpy-product-mobile-right-wrap {
        display: none !important;
    }

    .qpy-product-pc-right-wrap {
        display: block !important;
    }
}

@media (max-width: 1024px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .qpy-product-list-layout-page {
        display: block !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .qpy-product-list-layout-page > .left,
    .qpy-product-list-layout-page > .qpy-product-pc-right-wrap {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-right-wrap,
    .qpy-product-mobile-main,
    .qpy-product-mobile-content-box {
        display: block !important;
        float: none !important;
        clear: both !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .qpy-product-mobile-filter-box {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 16px 0 !important;
        padding: 12px !important;
        border: 1px solid #d6efc8 !important;
        background: #f3fbef !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-filter-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-filter-item {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-filter-item-keyword {
        grid-column: 1 / -1 !important;
    }

    .qpy-product-mobile-filter-row-actions {
        display: flex !important;
        grid-template-columns: none !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
        gap: 10px 10px !important;
        margin-bottom: 0 !important;
    }

    .qpy-product-mobile-filter-item label,
    .qpy-product-mobile-filter-group-title {
        display: block !important;
        max-width: 74px !important;
        min-width: 0 !important;
        color: #2c5b22 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }

    #qpyProductMobileKeyword {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 34px !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-select {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 34px !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-btn,
    .qpy-product-mobile-filter-reset,
    #qpyProductMobileFilterApply,
    #qpyProductMobileFilterReset {
        display: inline-block !important;
        height: 34px !important;
        min-width: 72px !important;
        max-width: 120px !important;
        padding: 0 14px !important;
        border: 0 !important;
        background: #43b000 !important;
        color: #ffffff !important;
        font-size: 15px !important;
        line-height: 34px !important;
        text-align: center !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }

    .qpy-product-mobile-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 12px !important;
        row-gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        text-align: center !important;
        color: #333333 !important;
        text-decoration: none !important;
    }

    .qpy-product-mobile-cover-box {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 128px !important;
        max-height: 128px !important;
        aspect-ratio: auto !important;
        padding: 2px !important;
        border: 1px solid #dddddd !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-cover-img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        min-width: 0 !important;
        object-fit: contain !important;
        margin: 0 auto !important;
        border: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-title {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-top: 8px !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
        color: #333333 !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-empty {
        padding: 18px 0 !important;
        color: #888888 !important;
        text-align: center !important;
        font-size: 15px !important;
    }

    .qpy-product-mobile-pagebar {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 18px auto 0 !important;
        padding: 0 !important;
        text-align: center !important;
        color: #777777 !important;
        font-size: 14px !important;
        line-height: 1.8 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
}
/* step227_mobile_product_size_filter_page_end */

/* step228_mobile_product_filter_popup_start */
/*
step228：
产品列表页移动端筛选改为弹窗模式。
原因：正文内筛选框会横向撑宽产品列表区域，导致产品双列右偏。
移动端正文只保留“筛选条件”按钮，筛选控件放入固定弹窗。
不影响 PC 端产品筛选，不影响图片列表页，不影响 3D。
*/

@media (min-width: 1025px) {
    .qpy-product-mobile-filter-toolbar,
    .qpy-product-mobile-filter-mask,
    .qpy-product-mobile-filter-popup {
        display: none !important;
    }
}

@media (max-width: 1024px) {
    body.qpy-product-mobile-filter-opened {
        overflow: hidden !important;
    }

    .qpy-product-mobile-right-wrap,
    .qpy-product-mobile-main,
    .qpy-product-mobile-content-box {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .qpy-product-mobile-filter-toolbar {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-open {
        display: inline-block !important;
        min-width: 96px !important;
        height: 36px !important;
        line-height: 36px !important;
        padding: 0 16px !important;
        border: 0 !important;
        border-radius: 4px !important;
        background: #43b000 !important;
        color: #ffffff !important;
        font-size: 15px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-mask[hidden],
    .qpy-product-mobile-filter-popup[hidden] {
        display: none !important;
    }

    .qpy-product-mobile-filter-mask {
        display: block !important;
        position: fixed !important;
        left: 0 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 2147482000 !important;
        background: rgba(0, 0, 0, 0.45) !important;
    }

    .qpy-product-mobile-filter-popup {
        display: block !important;
        position: fixed !important;
        left: 50% !important;
        top: 50% !important;
        z-index: 2147482001 !important;
        transform: translate(-50%, -50%) !important;
        width: calc(100vw - 36px) !important;
        max-width: 420px !important;
        max-height: calc(100vh - 90px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 0 !important;
        border-radius: 6px !important;
        background: #ffffff !important;
        box-shadow: 0 8px 28px rgba(0,0,0,.28) !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-popup-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        height: 46px !important;
        padding: 0 14px !important;
        border-bottom: 1px solid #e6e6e6 !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-popup-head strong {
        color: #2c5b22 !important;
        font-size: 16px !important;
        line-height: 46px !important;
    }

    .qpy-product-mobile-filter-close {
        display: inline-block !important;
        height: 32px !important;
        line-height: 32px !important;
        min-width: 64px !important;
        padding: 0 12px !important;
        border: 0 !important;
        border-radius: 4px !important;
        background: #eeeeee !important;
        color: #333333 !important;
        font-size: 14px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-box {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 14px !important;
        border: 0 !important;
        background: #f3fbef !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-item {
        display: grid !important;
        grid-template-columns: 82px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-item label,
    .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-group-title {
        display: block !important;
        width: 82px !important;
        max-width: 82px !important;
        min-width: 0 !important;
        color: #2c5b22 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .qpy-product-mobile-filter-popup #qpyProductMobileKeyword,
    .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-select {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 34px !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-row-actions {
        display: flex !important;
        grid-template-columns: none !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-btn,
    .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-reset,
    .qpy-product-mobile-filter-popup #qpyProductMobileFilterApply,
    .qpy-product-mobile-filter-popup #qpyProductMobileFilterReset {
        display: inline-block !important;
        height: 34px !important;
        min-width: 76px !important;
        max-width: 120px !important;
        padding: 0 14px !important;
        border: 0 !important;
        border-radius: 4px !important;
        background: #43b000 !important;
        color: #ffffff !important;
        font-size: 15px !important;
        line-height: 34px !important;
        text-align: center !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .qpy-product-mobile-cover-box {
        height: 128px !important;
        max-height: 128px !important;
    }

    .qpy-product-mobile-pagebar {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 18px auto 0 !important;
        text-align: center !important;
    }
}
/* step228_mobile_product_filter_popup_end */

/* step229_mobile_product_detach_from_pc_layout_start */
/*
step229：
产品列表页移动端从 PC 左右栏框架中彻底分离。
原因：移动端 qpy-product-mobile-right-wrap 放在 PC main 内时，会被 left/right 旧布局推到右侧。
本区块让 PC main 和移动端 main 互相隐藏：
PC端显示 qpy-product-pc-layout；
移动端显示 qpy-product-mobile-layout。
*/

@media (min-width: 1025px) {
    .qpy-product-mobile-layout {
        display: none !important;
    }

    /* step231：PC 端不再强制 .qpy-product-pc-layout 为 display:block，保留原 qpy-list-layout-page 左右栏 flex 布局。 */
}

@media (max-width: 1024px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .qpy-product-pc-layout {
        display: none !important;
    }

    .qpy-product-mobile-layout {
        display: block !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        float: none !important;
        clear: both !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    .qpy-product-mobile-layout .qpy-product-mobile-right-wrap,
    .qpy-product-mobile-layout .qpy-product-mobile-main,
    .qpy-product-mobile-layout .qpy-product-mobile-content-box {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        float: none !important;
        clear: both !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    .qpy-product-mobile-layout .qpy-product-mobile-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 12px !important;
        row-gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-layout .qpy-product-mobile-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        text-align: center !important;
        text-decoration: none !important;
        color: #333333 !important;
    }

    .qpy-product-mobile-layout .qpy-product-mobile-cover-box {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 128px !important;
        max-height: 128px !important;
        padding: 2px !important;
        border: 1px solid #dddddd !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qpy-product-mobile-layout .qpy-product-mobile-cover-img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        margin: 0 auto !important;
        border: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-layout .qpy-product-mobile-title {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 8px !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
        color: #333333 !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-layout .qpy-product-mobile-filter-toolbar {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
}
/* step229_mobile_product_detach_from_pc_layout_end */

/* step230_product_filter_popup_pc_mobile_start */
/*
step230：
产品列表筛选框 PC/移动端弹窗化。
PC端不再把所有筛选条件横排塞进正文，改为“筛选条件”按钮 + 弹窗；
弹窗内按大类别分组，灰白相间显示；
没有筛选条件的大类不显示。
同时微调移动端产品图片边框内距，减少左右留白。
*/

.qpy-product-pc-filter-toolbar {
    margin: 0 0 12px 0;
    text-align: left;
}

.qpy-product-pc-filter-open {
    display: inline-block;
    min-width: 88px;
    height: 30px;
    line-height: 30px;
    padding: 0 14px;
    border: 0;
    border-radius: 3px;
    background: #43b000;
    color: #ffffff;
    font-size: 14px;
    text-align: center;
    cursor: pointer;
}

.qpy-product-pc-filter-mask[hidden],
.qpy-product-pc-filter-popup[hidden] {
    display: none !important;
}

.qpy-product-pc-filter-mask {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2147481000;
    background: rgba(0,0,0,.35);
}

.qpy-product-pc-filter-popup {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 2147481001;
    transform: translate(-50%, -50%);
    width: 760px;
    max-width: calc(100vw - 60px);
    max-height: calc(100vh - 80px);
    overflow: hidden;
    background: #ffffff;
    border-radius: 6px;
    box-shadow: 0 8px 30px rgba(0,0,0,.25);
    box-sizing: border-box;
}

.qpy-product-pc-filter-popup-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 46px;
    padding: 0 16px;
    border-bottom: 1px solid #e5e5e5;
    box-sizing: border-box;
}

.qpy-product-pc-filter-popup-head strong {
    color: #2c5b22;
    font-size: 16px;
}

.qpy-product-pc-filter-close {
    height: 30px;
    line-height: 30px;
    min-width: 60px;
    padding: 0 12px;
    border: 0;
    border-radius: 3px;
    background: #eeeeee;
    color: #333333;
    font-size: 14px;
    cursor: pointer;
}

.qpy-product-pc-filter-popup-body {
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 14px;
    box-sizing: border-box;
}

.qpy-product-pc-filter-group {
    padding: 12px;
    margin-bottom: 10px;
    border: 1px solid #e0efd8;
    box-sizing: border-box;
}

.qpy-product-pc-filter-group:nth-child(odd) {
    background: #f7f7f7;
}

.qpy-product-pc-filter-group:nth-child(even) {
    background: #ffffff;
}

.qpy-product-pc-filter-group-title {
    display: block;
    margin-bottom: 10px;
    padding-left: 8px;
    border-left: 4px solid #43b000;
    color: #2c5b22;
    font-weight: bold;
    font-size: 15px;
    line-height: 1.4;
}

.qpy-product-pc-filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
}

.qpy-product-pc-filter-item {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 150px;
    max-width: 230px;
    box-sizing: border-box;
}

.qpy-product-pc-filter-item label,
.qpy-product-pc-filter-item .qpy-product-filter-label {
    flex: 0 0 auto;
    color: #2c5b22;
    white-space: nowrap;
}

.qpy-product-pc-filter-item input,
.qpy-product-pc-filter-item select {
    max-width: 150px;
    box-sizing: border-box;
}

.qpy-product-pc-filter-actions {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

body.qpy-product-pc-filter-opened {
    overflow: hidden;
}

/* 移动端图片边框内距微调：减少左右留白，让上下左右更接近 */
@media (max-width: 1024px) {
    .qpy-product-mobile-layout .qpy-product-mobile-cover-box,
    .qpy-product-mobile-cover-box {
        height: 128px !important;
        max-height: 128px !important;
        padding: 1px !important;
        border: 1px solid #dddddd !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
    }

    .qpy-product-mobile-layout .qpy-product-mobile-cover-img,
    .qpy-product-mobile-cover-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
    }
}
/* step230_product_filter_popup_pc_mobile_end */

/* step231_fix_pc_product_layout_start */
/*
step231：
修复产品列表页 PC 端错位。
原因：step229 曾把 .qpy-product-pc-layout 强制 display:block，
覆盖了原 qpy-list-layout-page 左右栏 flex 布局，导致右侧产品区掉到左侧栏下面。
PC端只隐藏 mobile layout，不再重写 pc layout 的 display。
移动端规则保持原样。
*/

@media (min-width: 1025px) {
    .qpy-product-mobile-layout {
        display: none !important;
    }

    /* 不设置 .qpy-product-pc-layout display，让原 .qpy-list-layout-page display:flex 生效。 */
}

@media (max-width: 1024px) {
    .qpy-product-pc-layout {
        display: none !important;
    }

    .qpy-product-mobile-layout {
        display: block !important;
    }
}
/* step231_fix_pc_product_layout_end */

/* =====================================================
   step260_product_param_under_gallery_start
   产品详情页布局调整：
   1. 展示模块从“左展示、右参数”改为单独居中；
   2. 参数表格移动到展示模块下方；
   3. 参数标题在上、参数表在下；
   4. 参数表宽度与下方“描述”正文区域左右对齐；
   5. 移动端仍保持参数表格左右两列表格结构，不改成上下堆叠。
   保存位置：后台风格编辑窗口 -> CSS 细节调节 / custom_css
   ===================================================== */

.qpy-product-detail-layout-page .qpy-product-detail-top-row,
.qpy-product-detail-layout-page .qpy-product-detail-media-row {
    display: block !important;
    width: 100% !important;
    margin: 12px auto 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.qpy-product-detail-layout-page .qpy-product-media-column {
    display: block !important;
    width: 620px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    float: none !important;
    flex: none !important;
}

.qpy-product-detail-layout-page .qpy-product-gallery {
    margin-left: auto !important;
    margin-right: auto !important;
}

.qpy-product-detail-layout-page .qpy-product-media-tabs,
.qpy-product-detail-layout-page .qpy-product-media-thumbs {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.qpy-product-detail-layout-page .qpy-product-param-column,
.qpy-product-detail-layout-page .qpy-product-param-section-under-gallery {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    flex: none !important;
    min-width: 0 !important;
}

.qpy-product-detail-layout-page .qpy-product-param-title,
.qpy-product-detail-layout-page .qpy-product-description-title {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

.qpy-product-detail-layout-page .qpy-product-param-table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    box-sizing: border-box !important;
}

.qpy-product-detail-layout-page .qpy-product-param-table th {
    width: 86px !important;
    min-width: 86px !important;
    padding: 8px 6px !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    box-sizing: border-box !important;
}

.qpy-product-detail-layout-page .qpy-product-param-table td {
    padding: 8px 10px !important;
    text-align: left !important;
    vertical-align: middle !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    box-sizing: border-box !important;
}

.qpy-product-detail-layout-page .qpy-product-description-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 24px !important;
    box-sizing: border-box !important;
}

@media (max-width: 900px) {
    .qpy-product-detail-layout-page .qpy-product-detail-top-row,
    .qpy-product-detail-layout-page .qpy-product-detail-media-row {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }

    .qpy-product-detail-layout-page .qpy-product-media-column {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }

    .qpy-product-detail-layout-page .qpy-product-param-column,
    .qpy-product-detail-layout-page .qpy-product-param-section-under-gallery {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 22px !important;
    }

    .qpy-product-detail-layout-page .qpy-product-param-table {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .qpy-product-detail-layout-page .qpy-product-param-table th {
        width: 110px !important;
        min-width: 110px !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
    }

    .qpy-product-detail-layout-page .qpy-product-param-table td {
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }
}

/* step260_product_param_under_gallery_end */

/* =========================================================
   园林风格 garden：覆盖春绿视觉皮肤
   版本：garden_step001_home_skin_20260520
   使用方式：
   1. 本段建议放在 custom_css 最底部，覆盖春绿颜色和背景。
   2. 不改 Python，不改上传组件，不改 UEditor，不破坏产品模块。
   3. HTML 结构继续沿用春绿模板，布局宽度继续保持 1200px。
   4. 上传资源目录：
      /site/219/theme/garden/images/
   5. 如资源上传后文件名不同，只改下面 :root 里的图片文件名。
   ========================================================= */

:root {
    --site-width: 1200px;
    --header-height: 130px;
    --logo-width: 200px;
    --logo-height: 130px;
    --top-banner-width: 1000px;
    --top-banner-height: 130px;
    --slider-width: 1200px;
    --slider-height: 500px;

    --garden-bg: #0a0f10;
    --garden-bg-2: #111719;
    --garden-panel: #10171a;
    --garden-panel-soft: #151d20;
    --garden-paper: #11191b;
    --garden-border: rgba(171, 111, 52, .78);
    --garden-border-soft: rgba(171, 111, 52, .42);
    --garden-gold: #d5ae6a;
    --garden-gold-light: #eed29a;
    --garden-text: #d9c9a6;
    --garden-text-soft: #a99671;
    --garden-link: #e0ba78;
    --garden-link-hover: #ffd98f;

    /* ========== 已上传资源：如后台改名，请只改这里 ========== */
    --garden-top-brand: url("/site/219/theme/garden/images/image_20260520_063108.png");
    --garden-top-repeat: url("/site/219/theme/garden/images/image_20260520_063120.png");
    --garden-top-repeat-right: url("/site/219/theme/garden/images/image_20260520_063129.png");
    --garden-nav-bg: url("/site/219/theme/garden/images/image_20260520_063238.png");
    --garden-nav-repeat: url("/site/219/theme/garden/images/image_20260520_063246.png");
    --garden-slider-placeholder: url("/site/219/theme/garden/images/image_20260520_063339.png");
    --garden-slider-left-arrow: url("/site/219/theme/garden/images/image_20260520_063357.png");
    --garden-slider-right-arrow: url("/site/219/theme/garden/images/image_20260520_063408.png");
    --garden-slider-dots: url("/site/219/theme/garden/images/image_20260520_063448.png");
    --garden-border-top: url("/site/219/theme/garden/images/image_20260520_063521.png");
    --garden-border-left: url("/site/219/theme/garden/images/image_20260520_063551.png");
}

/* =========================================================
   01、全局深色宣纸 / 墙面底色
   ========================================================= */

html,
body {
    margin: 0 !important;
    padding: 0 !important;
    background-color: var(--garden-bg) !important;
    background-image:
        radial-gradient(circle at center top, rgba(42,54,56,.32), rgba(8,12,13,.92) 42%, #080c0d 100%),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px) !important;
    background-size: auto, 16px 16px, 16px 16px !important;
    color: var(--garden-text) !important;
    font-family: "Microsoft YaHei", "Noto Serif SC", SimSun, Arial, sans-serif !important;
}

a {
    color: var(--garden-link) !important;
    text-decoration: none !important;
}

a:hover {
    color: var(--garden-link-hover) !important;
    text-decoration: none !important;
}

.site-wrap,
.site-header-inner,
.site-main,
.site-footer-inner {
    width: var(--site-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =========================================================
   02、顶部 200×130 LOGO + 1000×130 顶部 Banner
   ========================================================= */

/* 顶部两侧使用暗纹平铺，避免大屏幕留空或硬切 */
.site-header {
    height: 130px !important;
    background-color: #090e10 !important;
    background-image: var(--garden-top-repeat) !important;
    background-repeat: repeat-x !important;
    background-position: center top !important;
    overflow: hidden !important;
}

/* 中间 1200×130 使用切好的品牌主图 */
.site-header-inner {
    width: 1200px !important;
    height: 130px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: stretch !important;
    overflow: hidden !important;
    background-color: transparent !important;
    background-image: var(--garden-top-brand) !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: 1200px 130px !important;
}

/* 保留结构尺寸，但隐藏原春绿上传图，避免双层 Logo/Banner 叠加 */
.site-logo {
    width: 200px !important;
    height: 130px !important;
    flex: 0 0 200px !important;
    overflow: hidden !important;
    background: transparent !important;
}

.site-top-banner {
    width: 1000px !important;
    height: 130px !important;
    flex: 0 0 1000px !important;
    overflow: hidden !important;
    background: transparent !important;
}

.site-logo img,
.site-top-banner img {
    opacity: 0 !important;
    visibility: hidden !important;
}

/* =========================================================
   03、通栏导航：30px 深色金边
   ========================================================= */

.site-nav-wrap {
    width: 100% !important;
    height: 30px !important;
    min-height: 30px !important;
    background-color: #080d0f !important;
    background-image: var(--garden-nav-bg) !important;
    background-repeat: repeat-x !important;
    background-position: center top !important;
    border-top: 1px solid rgba(194, 137, 72, .70) !important;
    border-bottom: 1px solid rgba(194, 137, 72, .70) !important;
    box-shadow: none !important;
}

.site-nav {
    width: 1200px !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 auto !important;
    background: transparent !important;
    display: flex !important;
    justify-content: center !important;
}

.site-nav-list {
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    list-style: none !important;
}

.site-nav-link {
    height: 30px !important;
    line-height: 30px !important;
    padding: 0 30px !important;
    color: var(--garden-gold-light) !important;
    font-size: 14px !important;
    letter-spacing: .08em !important;
    border-left: 1px solid rgba(194,137,72,.25) !important;
    border-right: 1px solid rgba(0,0,0,.45) !important;
    background: transparent !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.65) !important;
}

.site-nav-item:hover > .site-nav-link,
.site-nav-link.active {
    background: linear-gradient(to bottom, rgba(148,93,42,.22), rgba(0,0,0,.05)) !important;
    color: #fff0bd !important;
}

.site-subnav {
    top: 30px !important;
    background: #10171a !important;
    border: 1px solid var(--garden-border) !important;
}

.site-subnav a {
    color: var(--garden-gold-light) !important;
    border-bottom: 1px solid rgba(171,111,52,.25) !important;
}

.site-subnav a:hover {
    background: rgba(171,111,52,.22) !important;
}

/* =========================================================
   04、滚动 Banner：1200×500，后台图片正常显示
   ========================================================= */

.site-slider,
.slider,
.banner-container {
    width: 1200px !important;
    height: 500px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    position: relative !important;
    background-color: #0a0f10 !important;
    background-image: var(--garden-slider-placeholder) !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
    border-left: 1px solid var(--garden-border) !important;
    border-right: 1px solid var(--garden-border) !important;
    border-bottom: 1px solid var(--garden-border) !important;
    box-sizing: border-box !important;
}

.site-slider::before,
.slider::before,
.banner-container::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 1px !important;
    background: rgba(213,174,106,.70) !important;
    z-index: 4 !important;
    pointer-events: none !important;
}

.site-slider img,
.slider img,
.banner-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.slider-prev,
.slider-next,
.prev,
.next {
    width: 48px !important;
    height: 80px !important;
    line-height: 80px !important;
    top: 50% !important;
    margin-top: -40px !important;
    transform: none !important;
    border-radius: 0 !important;
    background-color: rgba(0,0,0,.38) !important;
    color: var(--garden-gold-light) !important;
    font-size: 42px !important;
    font-family: SimSun, serif !important;
    z-index: 8 !important;
}

.slider-prev,
.prev { left: 0 !important; }

.slider-next,
.next { right: 0 !important; }

.slider-prev:hover,
.slider-next:hover,
.prev:hover,
.next:hover {
    background-color: rgba(91, 57, 28, .65) !important;
    color: #fff0bd !important;
}

.slider-dots,
.banner-dots,
.site-slider-dots {
    bottom: 18px !important;
    z-index: 8 !important;
}

.slider-dot,
.banner-dot,
.site-slider-dots span {
    width: 8px !important;
    height: 8px !important;
    margin: 0 5px !important;
    border-radius: 50% !important;
    background: rgba(226,206,161,.75) !important;
}

.slider-dot.active,
.banner-dot.active,
.site-slider-dots span.active {
    background: var(--garden-gold-light) !important;
}

/* =========================================================
   05、首页正文：深色宣纸底 + 春绿原框架
   ========================================================= */

.site-main,
.old-home-step96 {
    width: 1200px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: var(--garden-text) !important;
    background-color: var(--garden-paper) !important;
    background-image:
        radial-gradient(circle at 50% 0, rgba(255,255,255,.045), transparent 38%),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px) !important;
    background-size: auto, 11px 11px, 11px 11px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-layout {
    width: 1200px !important;
    max-width: 1200px !important;
    display: grid !important;
    grid-template-columns: 835px 350px !important;
    column-gap: 15px !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-left-col {
    width: 835px !important;
    max-width: 835px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.old-home-step96 .old-right-col {
    width: 350px !important;
    max-width: 350px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* 模块统一：直角、细金铜边框、深色宣纸面板 */
.old-home-step96 .module,
.old-home-step96 .old-box,
.column-sidebar,
.column-content,
.detail-panel,
.product-detail-layout,
.qpy-detail-article-box,
.qpy-list-article-box,
.qpy-image-list-article-box,
.qpy-product-list-article-box,
.qpy-product-detail-box {
    background-color: rgba(13, 19, 21, .96) !important;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px) !important;
    background-size: 10px 10px !important;
    border: 1px solid var(--garden-border-soft) !important;
    color: var(--garden-text) !important;
    box-sizing: border-box !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,235,180,.035),
        0 0 16px rgba(0,0,0,.18) !important;
}

.old-home-step96 .module,
.old-home-step96 .old-box {
    margin: 0 0 12px 0 !important;
    overflow: hidden !important;
}

/* 标题条：用 CSS 做签牌，标题文字仍由模板输出 */
.old-home-step96 .module-title,
.old-home-step96 .old-box-title,
.module-title,
.module-header,
.block-title,
.column-sidebar-title,
.column-content-title,
.qpy-detail-section-bar,
.qpy-list-section-bar,
.qpy-image-list-section-bar,
.qpy-product-param-title,
.qpy-product-description-title {
    position: relative !important;
    height: 32px !important;
    line-height: 32px !important;
    padding: 0 12px !important;
    color: var(--garden-gold-light) !important;
    font-weight: bold !important;
    font-size: 14px !important;
    background: linear-gradient(to right, rgba(100,61,28,.50), rgba(22,29,30,.96) 55%, rgba(100,61,28,.18)) !important;
    border-bottom: 1px solid var(--garden-border-soft) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-box-title span,
.old-home-step96 .module-title span,
.module-title span,
.block-title span,
.column-sidebar-title,
.column-content-title,
.qpy-detail-section-name,
.qpy-list-section-name {
    display: inline-block !important;
    min-width: 86px !important;
    height: 28px !important;
    line-height: 28px !important;
    padding: 0 18px !important;
    color: var(--garden-gold-light) !important;
    font-size: 14px !important;
    font-weight: bold !important;
    background:
        linear-gradient(to right, rgba(60,34,16,.95), rgba(22,29,30,.90), rgba(60,34,16,.95)) !important;
    border: 1px solid rgba(171,111,52,.70) !important;
    box-sizing: border-box !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.7) !important;
}

.old-home-step96 .old-more,
.old-home-step96 .home-module-more,
.module-more,
.more {
    color: var(--garden-text-soft) !important;
    top: 0 !important;
    right: 8px !important;
    height: 32px !important;
    line-height: 32px !important;
}

.old-home-step96 .old-more:hover,
.old-home-step96 .home-module-more:hover,
.module-more:hover,
.more:hover {
    color: var(--garden-link-hover) !important;
}

/* 内容区 */
.old-home-step96 .module-body,
.old-home-step96 .module-content,
.old-home-step96 .block-content,
.old-home-step96 .old-list-body,
.column-sidebar-body,
.column-content-body {
    background: transparent !important;
    color: var(--garden-text) !important;
}

.old-home-step96 p,
.old-home-step96 li,
.old-home-step96 .home-company-intro-text,
.old-home-step96 .home-news-feature-desc,
.detail-body,
.detail-content,
.qpy-detail-content {
    color: var(--garden-text) !important;
}

.old-home-step96 .old-news-list li,
.news-list li,
.qpy-article-title-list li {
    border-bottom: 1px dotted rgba(171,111,52,.35) !important;
}

.old-home-step96 .old-news-list a,
.news-list a,
.qpy-article-title-list a {
    color: var(--garden-text) !important;
}

.old-home-step96 .old-news-list a:hover,
.news-list a:hover,
.qpy-article-title-list a:hover {
    color: var(--garden-link-hover) !important;
}

/* 首页公司介绍 */
.old-home-step96 .home-company-intro {
    height: 258px !important;
}

.old-home-step96 .home-company-intro-body {
    height: 220px !important;
    padding: 12px !important;
    display: flex !important;
    gap: 12px !important;
}

.old-home-step96 .home-company-intro-image {
    border: 1px solid var(--garden-border-soft) !important;
    background: rgba(255,255,255,.04) !important;
}

.old-home-step96 .home-company-intro-text {
    line-height: 1.85 !important;
}

/* 媒体视频 */
.old-home-step96 .home-media-video {
    height: 258px !important;
}

.old-home-step96 .home-media-video-frame {
    border: 1px solid var(--garden-border-soft) !important;
    background: rgba(255,255,255,.04) !important;
}

/* 业务 / 拍卖 / 行业 / 合作平台高度继续对齐春绿结构 */
.old-home-step96 .home-business-scope,
.old-home-step96 .home-auction-info {
    height: 258px !important;
}

.old-home-step96 .home-news-list {
    height: 272px !important;
}

.old-home-step96 .home-partner-platform {
    /* step277_garden_home_partner_align：覆盖园林深色段高度，保持与上方集中参数一致 */
    height: 552px !important;
    min-height: 552px !important;
    max-height: 552px !important;
}

.old-home-step96 .home-partner-item,
.old-home-step96 .home-partner-cell {
    background: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(171,111,52,.42) !important;
}

.old-home-step96 .home-product-showcase {
    min-height: 238px !important;
}

.old-home-step96 .home-product-img-box,
.product-card,
.qpy-product-cover-box,
.qpy-image-card-img,
.qpy-product-thumb {
    background: rgba(255,255,255,.055) !important;
    border-color: rgba(171,111,52,.50) !important;
}

/* 产品标题、列表日期等 */
.old-home-step96 .home-product-title,
.product-card-title,
.qpy-product-title,
.news-date,
.qpy-list-date,
.home-auction-date {
    color: var(--garden-text-soft) !important;
}

/* =========================================================
   06、列表页 / 详情页 / 产品页共用深色皮肤
   ========================================================= */

.column-layout,
.renderer-list-body,
.renderer-detail-body,
.qpy-detail-page,
.qpy-list-page {
    width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    background: var(--garden-paper) !important;
    color: var(--garden-text) !important;
    box-sizing: border-box !important;
}

.column-layout {
    padding: 16px 0 !important;
}

.column-sidebar,
.column-content {
    background: rgba(13,19,21,.96) !important;
}

.detail-panel,
.qpy-detail-article-box {
    background: rgba(13,19,21,.96) !important;
}

.detail-title,
.qpy-detail-title,
.qpy-product-detail-title {
    color: var(--garden-gold-light) !important;
}

.detail-meta,
.qpy-detail-meta,
.qpy-product-detail-subtitle {
    color: var(--garden-text-soft) !important;
    border-bottom-color: rgba(171,111,52,.35) !important;
}

.detail-body,
.qpy-detail-richtext-box,
.qpy-detail-content,
.qpy-image-article-text,
.qpy-product-description-content {
    color: var(--garden-text) !important;
    line-height: 2 !important;
}

.qpy-product-filter-box {
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(171,111,52,.45) !important;
}

.qpy-product-filter-item,
.qpy-product-filter-item label {
    color: var(--garden-text) !important;
}

.qpy-product-filter-item select {
    background: #10171a !important;
    color: var(--garden-text) !important;
    border-color: rgba(171,111,52,.55) !important;
}

.qpy-product-filter-btn,
.qpy-product-filter-reset,
.qpy-list-pagebar a,
.qpy-list-pagebar span.current {
    background: rgba(91,57,28,.85) !important;
    border-color: rgba(213,174,106,.72) !important;
    color: var(--garden-gold-light) !important;
}

.qpy-product-gallery,
.qpy-image-article-gallery {
    background: #0b1113 !important;
    border-color: rgba(171,111,52,.65) !important;
}

.qpy-product-param-table {
    background: rgba(13,19,21,.96) !important;
    color: var(--garden-text) !important;
}

.qpy-product-param-table th,
.qpy-product-param-table td {
    border-color: rgba(171,111,52,.35) !important;
    color: var(--garden-text) !important;
    background: transparent !important;
}

.qpy-product-param-table th {
    color: var(--garden-gold-light) !important;
    background: rgba(171,111,52,.12) !important;
}

.qpy-product-media-tab {
    background: #10171a !important;
    color: var(--garden-text) !important;
    border-color: rgba(171,111,52,.50) !important;
}

.qpy-product-media-tab.active {
    background: rgba(171,111,52,.75) !important;
    color: #fff0bd !important;
}

/* =========================================================
   07、底部版权区
   ========================================================= */

.site-footer,
.footer,
.site-footer-wrap {
    background-color: #070c0d !important;
    background-image:
        radial-gradient(circle at center top, rgba(38,48,49,.35), transparent 55%),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px) !important;
    background-size: auto, 14px 14px !important;
    border-top: 1px solid rgba(171,111,52,.72) !important;
    color: var(--garden-text-soft) !important;
}

.site-footer-inner {
    min-height: 130px !important;
    color: var(--garden-text-soft) !important;
}

.site-footer a,
.footer a {
    color: var(--garden-text-soft) !important;
}

/* =========================================================
   08、移动端基础适配：保持原功能，不硬撑 1200
   ========================================================= */

@media (max-width: 768px) {
    .site-wrap,
    .site-header-inner,
    .site-main,
    .site-footer-inner,
    .old-home-step96,
    .old-home-step96 .old-layout,
    .renderer-list-body,
    .renderer-detail-body,
    .qpy-detail-page,
    .qpy-list-page {
        width: 100% !important;
        max-width: 100% !important;
    }

    .site-header,
    .site-header-inner {
        height: auto !important;
        min-height: 130px !important;
    }

    .site-nav,
    .site-nav-list {
        width: 100% !important;
        overflow-x: auto !important;
        justify-content: flex-start !important;
    }

    .site-nav-link {
        padding: 0 16px !important;
        white-space: nowrap !important;
    }

    .site-slider,
    .slider,
    .banner-container {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 12 / 5 !important;
    }

    .old-home-step96 .old-layout {
        display: block !important;
    }

    .old-home-step96 .old-left-col,
    .old-home-step96 .old-right-col {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* garden_step001_home_skin_20260520_end */

/* =====================================================
   STEP270_GARDEN_FULL_TOP_FIX_START
   园林风格覆盖版：顶部 300×156 + 900×156、全站深色底、白色默认文字
   说明：本文件是“覆盖保存版”，不是追加片段；本段放在全文底部用于压过前面春绿遗留规则。
   资源目录：/site/219/theme/garden/images/
   ===================================================== */

:root {
    --site-width: 1200px !important;
    --header-height: 156px !important;
    --logo-width: 300px !important;
    --logo-height: 156px !important;
    --top-banner-width: 900px !important;
    --top-banner-height: 156px !important;
    --nav-height: 44px !important;
    --slider-width: 1200px !important;
    --slider-height: 500px !important;

    --garden-page-bg: #12161E !important;
    --garden-main-bg: #10151c !important;
    --garden-panel-bg: rgba(12, 16, 22, .96) !important;
    --garden-line: rgba(160, 103, 55, .82) !important;
    --garden-line-soft: rgba(160, 103, 55, .48) !important;
    --garden-gold: #d7ad67 !important;
    --garden-gold-light: #f0d28b !important;
    --garden-text: #ffffff !important;
    --garden-text-soft: #d7d1c4 !important;
}

html,
body {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--garden-text) !important;
    background-color: #12161E !important;
    background-image: none !important;
    background-size: auto !important;
    font-family: "Microsoft YaHei", Arial, SimSun, sans-serif !important;
}

body,
div,
p,
span,
li,
td,
th,
em,
strong,
label,
section,
article,
aside {
    color: var(--garden-text) !important;
}

a,
a:link,
a:visited {
    color: var(--garden-gold-light) !important;
    text-decoration: none !important;
}

a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

.site-wrap,
.site-main-wrap,
.site-container,
.page-wrap,
.main-wrap,
.content-wrap,
.outer-bg {
    background: transparent !important;
}

/* 顶部 LOGO + Banner：总高 156，左 300，右 900 */
.site-header {
    width: 100% !important;
    height: 156px !important;
    min-height: 156px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background-color: #12161E !important;
    background-image:
        url("/site/219/theme/garden/images/TOP_LEFT_200X390.png"),
        url("/site/219/theme/garden/images/TOP_RIGHT_200X390.png");
    background-repeat: repeat-x, repeat-x !important;
    background-position: left top, right top !important;
    background-size: 80px 156px, 80px 156px !important;
    border-bottom: 0 !important;
}

.site-header-inner {
    width: 1200px !important;
    max-width: 1200px !important;
    height: 156px !important;
    min-height: 156px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: transparent !important;
}

.site-logo,
.site-logo-box {
    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;
    height: 156px !important;
    min-height: 156px !important;
    flex: 0 0 300px !important;
    overflow: hidden !important;
    display: block !important;
    background: #12161E !important;
}

.site-logo img,
.site-logo-box img {
    width: 300px !important;
    height: 156px !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.site-top-banner,
.site-top-banner-box {
    width: 900px !important;
    min-width: 900px !important;
    max-width: 900px !important;
    height: 156px !important;
    min-height: 156px !important;
    flex: 0 0 900px !important;
    overflow: hidden !important;
    display: block !important;
    background: #12161E !important;
}

.site-top-banner img,
.site-top-banner-box img {
    width: 900px !important;
    height: 156px !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* 导航：44px 高，通栏深色暗纹 */
.site-nav-wrap {
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #0b0f15 !important;
    background-image: url("/site/219/theme/garden/images/NAV_BACK_10X110.png") !important;
    background-repeat: repeat-x !important;
    background-position: center top !important;
    background-size: 4px 44px !important;
    border-top: 1px solid rgba(181, 120, 58, .85) !important;
    /* step290_garden_home_slider_topline_fix：去掉导航下边线，避免显示成滚动 Banner 上边框线 */
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.site-nav {
    width: 1200px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: transparent !important;
}

.site-nav-list {
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
}

.site-nav-item,
.site-nav-list li {
    height: 44px !important;
    line-height: 44px !important;
    background: transparent !important;
}

.site-nav-link,
.site-nav-item > a {
    display: block !important;
    height: 44px !important;
    line-height: 44px !important;
    padding: 0 24px !important;
    color: var(--garden-gold-light) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    background: transparent !important;
    background-image: none !important;
    border-left: 1px solid rgba(181, 120, 58, .28) !important;
    border-right: 1px solid rgba(0, 0, 0, .45) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.8) !important;
    box-sizing: border-box !important;
}

.site-nav-link.active,
.site-nav-item.active,
.site-nav-item.current,
.site-nav-list li.active,
.site-nav-list li.current {
    background: transparent !important;
    background-image: none !important;
}

.site-nav-item:hover > .site-nav-link,
.site-nav-link:hover,
.site-nav-item > a:hover,
.site-nav-list li:hover > a {
    color: #ffffff !important;
    background: rgba(120, 74, 35, .38) !important;
    background-image: none !important;
}

.site-subnav,
.site-nav-item ul {
    top: 44px !important;
    background: #10151c !important;
    border: 1px solid rgba(181, 120, 58, .75) !important;
}

.site-subnav a,
.site-nav-item ul li a {
    color: var(--garden-gold-light) !important;
    background: transparent !important;
}

.site-subnav a:hover,
.site-nav-item ul li a:hover {
    color: #ffffff !important;
    background: rgba(120, 74, 35, .42) !important;
}

/* =========================================================
   页面：首页 home
   区块：滚动 Banner home-slider
   对应模板：front_v2/components/slider.html
   对应 HTML 标记：
       .site-slider-wrap
       .site-slider
       .site-slide
       .site-slide.active

   step290_garden_home_slider_topline_fix_start
   当前修复目标：
   1. 轮播图外层保持 100% 通栏深色背景；
   2. 轮播主体固定 1200×500，并强制在页面中水平居中；
   3. 清除 float / left / transform 等旧规则干扰，避免轮播左偏；
   4. 轮播上、下各保留 5px 深色间距；
   5. 去掉轮播主体白色/浅色边线，尤其清除滚动 Banner 上边框线；
   6. 恢复轮播结构：普通 .site-slide 默认隐藏，只有 .site-slide.active 显示；
   7. 只修 CSS，不改首页模板、上传组件、UEditor、产品模块和生成链路。

   可调参数：
   1. 上下间距：.site-slider-wrap padding，当前 5px 0；
   2. 轮播宽度：.site-slider width / .site-slide width，当前 1200px；
   3. 轮播高度：.site-slider height / .site-slide height，当前 500px；
   4. 轮播背景：.site-slider-wrap background-color；
   5. 顶部边线：.site-nav-wrap border-bottom 与 .site-slider* border-top，当前均为 0。
   step290_garden_home_slider_topline_fix_end
   ========================================================= */

html body .site-slider-wrap,
html body .banner-wrap,
html body .slider-wrap,
html body .home-slider-wrap {
    width: 100% !important;
    min-width: 1200px !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 5px 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    clear: both !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    background-color: #12161E !important;
    background-image: none !important;
    background-repeat: no-repeat !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

html body .site-slider,
html body .slider,
html body .banner-container {
    flex: 0 0 1200px !important;
    width: 1200px !important;
    min-width: 1200px !important;
    max-width: 1200px !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    clear: both !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    overflow: hidden !important;
    background-color: #0b1012 !important;
    background-image: none !important;
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

html body .site-slider .site-slide,
html body .site-slider .slide,
html body .slider .site-slide,
html body .banner-container .site-slide {
    width: 1200px !important;
    min-width: 1200px !important;
    max-width: 1200px !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: none !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    overflow: hidden !important;
    background-color: #0b1012 !important;
    background-image: none !important;
    border: 0 !important;
    border-top: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

html body .site-slider .site-slide.active,
html body .site-slider .slide.active,
html body .slider .site-slide.active,
html body .banner-container .site-slide.active {
    display: block !important;
}

html body .site-slider .site-slide img,
html body .site-slider .slide img,
html body .site-slider img,
html body .slider img,
html body .banner-container img {
    width: 1200px !important;
    min-width: 1200px !important;
    max-width: 1200px !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    float: none !important;
    object-fit: cover !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

/* step290：清除轮播容器/图片上可能由旧样式残留的伪元素边线 */
html body .site-slider::before,
html body .site-slider::after,
html body .slider::before,
html body .slider::after,
html body .banner-container::before,
html body .banner-container::after,
html body .site-slide::before,
html body .site-slide::after,
html body .slide::before,
html body .slide::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

.site-slider-arrow,
.slider-prev,
.slider-next,
.prev,
.next {
    color: var(--garden-gold-light) !important;
    background: rgba(0,0,0,.42) !important;
    border: 1px solid rgba(181,120,58,.65) !important;
    border-radius: 0 !important;
}

.site-slider-dots span,
.slider-dot,
.banner-dot {
    background: rgba(232, 207, 154, .70) !important;
}

.site-slider-dots span.active,
.slider-dot.active,
.banner-dot.active {
    background: #f0d28b !important;
}

/* 主体背景 */
.site-main,
.home-main,
.home-grid,
.home-content,
.old-home,
.old-home-step96,
.old-home-step96 .old-layout {
    background: #12161E !important;
    color: #ffffff !important;
}

.site-main,
.old-home-step96 {
    width: 1200px !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* 栏目边框与标题 */
.old-home-step96 .old-box,
.module,
.home-company-intro,
.home-media-video,
.home-business-scope,
.home-auction-info,
.home-news-list,
.home-partner-platform,
.home-product-showcase {
    position: relative !important;
    background: rgba(13, 18, 24, .96) !important;
    border: 1px solid var(--garden-line) !important;
    color: #ffffff !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.old-home-step96 .old-box-title,
.module-title,
.module-header,
.block-title {
    position: relative !important;
    height: 26px !important;
    line-height: 26px !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--garden-line-soft) !important;
    background: transparent !important;
    color: var(--garden-gold-light) !important;
    overflow: hidden !important;
}

.old-home-step96 .old-box-title span,
.module-title > span,
.module-header > span,
.block-title > span {
    display: inline-block !important;
    min-width: 110px !important;
    width: 110px !important;
    height: 26px !important;
    line-height: 24px !important;
    padding-left: 15px !important;
    color: var(--garden-gold-light) !important;
    font-size: 13px !important;
    font-weight: bold !important;
    background: url("/site/219/theme/garden/images/Column Title_275X64.png") no-repeat left top !important;
    background-size: 110px 26px !important;
    box-sizing: border-box !important;
}

.old-home-step96 .old-more,
.home-module-more,
.module-more,
.more {
    position: absolute !important;
    top: 0 !important;
    right: 8px !important;
    height: 26px !important;
    line-height: 26px !important;
    color: var(--garden-gold-light) !important;
    font-size: 10px !important;
    font-family: Arial, sans-serif !important;
    background: transparent !important;
}

.old-home-step96 .old-more:hover,
.home-module-more:hover {
    color: #ffffff !important;
}

.module-body,
.module-content,
.block-content,
.old-list-body,
.home-company-intro-body,
.old-video-body,
.home-partner-grid,
.home-news-feature,
.old-product-list {
    background: transparent !important;
    color: #ffffff !important;
}

.home-company-intro::after,
.home-media-video::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 110px;
    height: 26px;
    background: url("/site/219/theme/garden/images/Column LINE_RIHT_TOP_275X64.png") no-repeat right top;
    background-size: 110px 26px;
    pointer-events: none;
}

.home-business-scope::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 56px;
    height: 60px;
    background: url("/site/219/theme/garden/images/Column LINE_RIHT_DOWN1_140X150.png") no-repeat right bottom;
    background-size: 56px 60px;
    pointer-events: none;
}

.home-auction-info::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 66px;
    height: 76px;
    background: url("/site/219/theme/garden/images/Column LINE_RIHT_DOWN2_215X190.png") no-repeat right bottom;
    background-size: 66px 76px;
    pointer-events: none;
}

.home-news-list::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 42px;
    height: 62px;
    background: url("/site/219/theme/garden/images/Column LINE_RIHT_DOWN3_105X155.png") no-repeat right bottom;
    background-size: 42px 62px;
    pointer-events: none;
}

/* 文字可读性 */
.home-company-intro-text,
.home-company-intro-text p,
.home-news-feature-desc,
.old-news-list li,
.old-news-list a,
.home-business-list a,
.home-auction-list a,
.home-news-grid a,
.home-auction-date,
.old-product-title,
.home-product-title,
.home-media-video-title a {
    color: #ffffff !important;
}

.old-news-list li,
.home-news-grid-item,
.home-auction-list li {
    border-bottom-color: rgba(160, 103, 55, .36) !important;
}

.old-news-list li::before,
.home-news-grid-item::before {
    color: #4bd000 !important;
}

.home-partner-cell,
.home-partner-item {
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(160, 103, 55, .72) !important;
}

/* =========================================================
   step289_garden_home_corner_and_rightline_align_start
   页面：首页 home
   区块：首页栏目边框细节 + 底部装饰 home-border-footer-corner
   对应模板：后台风格编辑窗口 -> 首页模板
   对应 HTML 标记：
       .old-home-step96 .home-company-intro
       .old-home-step96 .home-media-video
       .old-home-step96 .home-business-scope
       .old-home-step96 .home-auction-info
       .old-home-step96 .home-news-list
       .old-home-step96 .home-partner-platform
       .old-home-step96 .home-product-showcase
       .site-footer

   当前修复目标：
   1. 继续沿用 step285/step286：MORE+ 已从首页模板源头删除，栏目标题签牌本身作为链接；
   2. 继续沿用 step285/step286：业务范围列表正文只显示普通文字，不再作为链接；
   3. 修复业务范围、拍卖信息、行业资讯右下角装饰盖住文字的问题：装饰层下沉，正文层提升；
   4. 修复部分栏目右侧竖向边框线缺失：右线使用 ::before 独立绘制；
   5. 右侧竖线从标题中线位置开始，和下移后的上边框横线对齐；
   6. 公司介绍、媒体视频右上角装饰图 Column LINE_RIHT_TOP_275X64.png 保持 55×13，并在 step288 基础上继续上移 1px；
   7. 底部版权区上侧居中装饰 DOWN_CENTER_170X40.png 保持上移，同时增加正文区与版权区间距，避免遮挡装饰图；
   8. 媒体视频框内背景保持网站深色背景，不显示白底；
   9. 修复媒体视频、藏品展示右侧边框线条：取消完整 border-right，改为从上横线位置开始绘制，使右线顶部与上边框线对齐；
   10. 媒体视频中的视频在栏目内容区上下居中。

   可调参数：
   1. 横线垂直位置：--garden-home-title-line-top，当前 13px；
   2. 标题标签宽高：110×26；
   3. 公司介绍/媒体视频右上角装饰：55×13；
   4. 公司介绍/媒体视频右上角装饰位置：--garden-home-corner-top，当前 5px；
   5. 底部居中装饰上移：--garden-footer-deco-top，当前 -16px；
   6. 正文区与版权区间距：--garden-footer-top-gap，当前 22px。
   ========================================================= */

:root {
    --garden-home-title-line-top: 13px !important;
    --garden-home-title-w: 110px !important;
    --garden-home-title-h: 26px !important;
    --garden-home-corner-w: 55px !important;
    --garden-home-corner-h: 13px !important;
    --garden-home-corner-top: 5px !important;
    --garden-footer-deco-w: 68px !important;
    --garden-footer-deco-h: 16px !important;
    --garden-footer-deco-top: -16px !important;
    --garden-home-line-h-img: url("/site/219/theme/garden/images/LINE_H_10X3.png");
    --garden-home-title-img: url("/site/219/theme/garden/images/Column Title_275X64.png");
    --garden-home-corner-img: url("/site/219/theme/garden/images/Column LINE_RIHT_TOP_275X64.png");
    --garden-footer-deco-img: url("/site/219/theme/garden/images/DOWN_CENTER_170X40.png");
}

/* step289 首页栏目框：外框只保留左边框和底边框；上横线、右竖线统一交给 ::before 绘制 */
.old-home-step96 .old-box,
.old-home-step96 .module,
.old-home-step96 .home-company-intro,
.old-home-step96 .home-media-video,
.old-home-step96 .home-business-scope,
.old-home-step96 .home-auction-info,
.old-home-step96 .home-news-list,
.old-home-step96 .home-partner-platform,
.old-home-step96 .home-product-showcase {
    position: relative !important;
    border-top: 0 !important;
    border-left: 1px solid var(--garden-line) !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--garden-line) !important;
    background-color: rgba(13, 18, 24, .96) !important;
    background-image: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* step289 首页栏目线条：横线下移到标题箭头中线；右侧竖线从同一高度开始 */
.old-home-step96 .old-box::before,
.old-home-step96 .module::before,
.old-home-step96 .home-company-intro::before,
.old-home-step96 .home-media-video::before,
.old-home-step96 .home-business-scope::before,
.old-home-step96 .home-auction-info::before,
.old-home-step96 .home-news-list::before,
.old-home-step96 .home-partner-platform::before,
.old-home-step96 .home-product-showcase::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 2 !important;
    width: auto !important;
    height: auto !important;
    background-image:
        var(--garden-home-line-h-img),
        linear-gradient(var(--garden-line), var(--garden-line)) !important;
    background-repeat:
        repeat-x,
        no-repeat !important;
    background-position:
        left var(--garden-home-title-line-top),
        right var(--garden-home-title-line-top) !important;
    background-size:
        4px 1px,
        1px calc(100% - var(--garden-home-title-line-top)) !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

/* step289 首页主体内容层：提升到装饰层上方，避免右下角装饰盖住文字 */
.old-home-step96 .module-body,
.old-home-step96 .module-content,
.old-home-step96 .block-content,
.old-home-step96 .old-list-body,
.old-home-step96 .home-company-intro-body,
.old-home-step96 .old-video-body,
.old-home-step96 .home-media-video-body,
.old-home-step96 .home-partner-grid,
.old-home-step96 .home-news-feature,
.old-home-step96 .old-news-feature,
.old-home-step96 .home-news-grid,
.old-home-step96 .old-product-list,
.old-home-step96 .home-product-grid,
.old-home-step96 .old-news-list,
.old-home-step96 .home-business-list,
.old-home-step96 .home-auction-list,
.old-home-step96 .home-news-list .home-news-grid,
.old-home-step96 .home-business-scope .old-list-body,
.old-home-step96 .home-auction-info .old-list-body,
.old-home-step96 .home-news-list .old-news-list-bottom {
    position: relative !important;
    z-index: 5 !important;
}

/* step289 首页标题条：公司介绍 module-title 与其他 old-box-title 统一 */
.old-home-step96 .old-box-title,
.old-home-step96 .module-title,
.old-home-step96 .home-company-intro .module-title,
.old-home-step96 .home-module-title-with-more {
    position: relative !important;
    z-index: 6 !important;
    height: var(--garden-home-title-h) !important;
    min-height: var(--garden-home-title-h) !important;
    line-height: var(--garden-home-title-h) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    color: var(--garden-gold-light) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* step289 栏目标题链接：标题签牌本身可点击，不显示下划线 */
.old-home-step96 .home-title-link,
.old-home-step96 .old-box-title > .home-title-link,
.old-home-step96 .module-title > .home-title-link,
.old-home-step96 .home-module-title-with-more > .home-title-link {
    position: relative !important;
    z-index: 7 !important;
    display: inline-block !important;
    width: var(--garden-home-title-w) !important;
    min-width: var(--garden-home-title-w) !important;
    max-width: var(--garden-home-title-w) !important;
    height: var(--garden-home-title-h) !important;
    min-height: var(--garden-home-title-h) !important;
    max-height: var(--garden-home-title-h) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--garden-gold-light) !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-title-link:hover,
.old-home-step96 .home-title-link:focus {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* step289 首页标题签牌：兼容旧 span 结构和新 a.home-title-link > span 结构 */
.old-home-step96 .old-box-title > span,
.old-home-step96 .module-title > span,
.old-home-step96 .home-company-intro .module-title > span,
.old-home-step96 .home-module-title-with-more > span,
.old-home-step96 .old-box-title > .home-title-link > span,
.old-home-step96 .module-title > .home-title-link > span,
.old-home-step96 .home-company-intro .module-title > .home-title-link > span,
.old-home-step96 .home-module-title-with-more > .home-title-link > span {
    position: relative !important;
    z-index: 7 !important;
    display: inline-block !important;
    width: var(--garden-home-title-w) !important;
    min-width: var(--garden-home-title-w) !important;
    max-width: var(--garden-home-title-w) !important;
    height: var(--garden-home-title-h) !important;
    min-height: var(--garden-home-title-h) !important;
    max-height: var(--garden-home-title-h) !important;
    line-height: 24px !important;
    margin: 0 !important;
    padding: 0 0 0 15px !important;
    color: var(--garden-gold-light) !important;
    -webkit-text-fill-color: var(--garden-gold-light) !important;
    font-size: 13px !important;
    font-weight: bold !important;
    background: var(--garden-home-title-img) no-repeat left top !important;
    background-size: 110px 26px !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.75) !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-title-link:hover > span,
.old-home-step96 .home-title-link:focus > span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* step289 公司介绍标题兼容：清除旧 module-title 的绿色/金边遗留 */
.old-home-step96 .home-company-intro .module-title,
.old-home-step96 .home-company-intro .home-module-title-with-more,
.old-home-step96 .home-company-intro .module-title > span,
.old-home-step96 .home-company-intro .home-module-title-with-more > span,
.old-home-step96 .home-company-intro .module-title > .home-title-link,
.old-home-step96 .home-company-intro .home-module-title-with-more > .home-title-link,
.old-home-step96 .home-company-intro .module-title > .home-title-link > span,
.old-home-step96 .home-company-intro .home-module-title-with-more > .home-title-link > span {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* step289 旧 MORE 样式保留为空兼容；模板源头已删除 MORE+ 链接 */
.old-home-step96 .old-more,
.old-home-step96 .home-module-more,
.old-home-step96 .module-more,
.old-home-step96 .more {
    border: 0 !important;
    background: transparent !important;
}

/* step289 首页右上角装饰：公司介绍、媒体视频保持 55×13，在 step288 基础上上移 1px，贴右侧边线 */
.old-home-step96 .home-company-intro::after,
.old-home-step96 .home-media-video::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    top: var(--garden-home-corner-top) !important;
    z-index: 8 !important;
    width: var(--garden-home-corner-w) !important;
    height: var(--garden-home-corner-h) !important;
    background: var(--garden-home-corner-img) no-repeat right top !important;
    background-size: var(--garden-home-corner-w) var(--garden-home-corner-h) !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

/* step289 业务范围、拍卖信息、行业资讯右下角装饰：装饰层下沉，不再盖住右下角文字 */
.old-home-step96 .home-business-scope::after,
.old-home-step96 .home-auction-info::after,
.old-home-step96 .home-news-list::after {
    z-index: 1 !important;
    opacity: .45 !important;
    pointer-events: none !important;
}

.old-home-step96 .home-business-scope .old-list-body,
.old-home-step96 .home-auction-info .old-list-body,
.old-home-step96 .home-news-list .home-news-feature,
.old-home-step96 .home-news-list .home-news-grid,
.old-home-step96 .home-business-list,
.old-home-step96 .home-auction-list,
.old-home-step96 .home-news-grid,
.old-home-step96 .home-business-list li,
.old-home-step96 .home-auction-list li,
.old-home-step96 .home-news-grid-item,
.old-home-step96 .home-business-text,
.old-home-step96 .home-auction-list a,
.old-home-step96 .home-news-grid-item a,
.old-home-step96 .home-news-feature-title,
.old-home-step96 .home-news-feature-desc,
.old-home-step96 .home-auction-date {
    position: relative !important;
    z-index: 6 !important;
}

/* step289 业务范围列表：文字不再作为链接显示，保留原行距与小点 */
.old-home-step96 .home-business-list .home-business-text {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 8px 0 18px !important;
    color: #D6B36A !important;
    -webkit-text-fill-color: #D6B36A !important;
    font-size: 12px !important;
    line-height: inherit !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    cursor: default !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-business-list .home-business-text::before {
    content: "✦" !important;
    position: absolute !important;
    left: 5px !important;
    top: 0 !important;
    color: var(--garden-gold-light) !important;
    font-size: 10px !important;
    line-height: inherit !important;
}

.old-home-step96 .home-business-list li {
    position: relative !important;
}

/* step289 媒体视频框：去掉白底，改为网站深色底 */
.old-home-step96 .home-media-video .home-media-video-body,
.old-home-step96 .old-video-body,
.old-home-step96 .home-media-video-frame-wrap,
.old-home-step96 .home-media-video .home-media-video-frame,
.old-home-step96 .home-media-video-frame,
.old-home-step96 .home-media-video-empty {
    background-color: #12161E !important;
    background-image: none !important;
    color: var(--garden-gold-light) !important;
}

.old-home-step96 .home-media-video .home-media-video-frame,
.old-home-step96 .home-media-video-frame {
    border: 1px solid rgba(160, 103, 55, .72) !important;
    box-shadow: none !important;
}

.old-home-step96 .home-media-video .home-media-video-player,
.old-home-step96 .home-media-video-player,
.old-home-step96 .home-media-video video {
    background-color: #0b1012 !important;
}

/* step289 媒体视频、藏品展示右侧边框线：取消完整 border-right，改由 ::before 从上横线位置开始绘制，右线顶部对齐上边框线 */
.old-home-step96 .home-media-video,
.old-home-step96 .home-product-showcase,
.old-home-step96 .old-video-box,
.old-home-step96 .old-products-box,
.old-home-step96 .step211-home-product-module {
    position: relative !important;
    border-right: 0 !important;
    overflow: hidden !important;
}

.old-home-step96 .home-media-video::before,
.old-home-step96 .home-product-showcase::before,
.old-home-step96 .old-video-box::before,
.old-home-step96 .old-products-box::before,
.old-home-step96 .step211-home-product-module::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 6 !important;
    width: auto !important;
    height: auto !important;
    background-image:
        var(--garden-home-line-h-img),
        linear-gradient(var(--garden-line), var(--garden-line)) !important;
    background-repeat:
        repeat-x,
        no-repeat !important;
    background-position:
        left var(--garden-home-title-line-top),
        right var(--garden-home-title-line-top) !important;
    background-size:
        4px 1px,
        1px calc(100% - var(--garden-home-title-line-top)) !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

/* step289 媒体视频内容区：视频在栏目内部上下居中 */
.old-home-step96 .home-media-video .home-media-video-body,
.old-home-step96 .home-media-video .old-video-body,
.old-home-step96 .old-video-box .home-media-video-body,
.old-home-step96 .old-video-box .old-video-body {
    height: calc(100% - var(--garden-home-title-h)) !important;
    min-height: calc(100% - var(--garden-home-title-h)) !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-media-video-frame-wrap {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

/* step289 首页正文区与版权区：增加间距，给底部中间装饰留出空间 */
.old-home-step96 {
    margin-bottom: var(--garden-footer-top-gap) !important;
}

/* step289 底部版权区上侧居中装饰：图片上移，图片下边对齐通栏装饰线 */
.site-footer {
    position: relative !important;
    margin-top: var(--garden-footer-top-gap) !important;
    border-top: 1px solid var(--garden-line) !important;
}

.site-footer:before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: var(--garden-footer-deco-top) !important;
    z-index: 3 !important;
    display: block !important;
    width: var(--garden-footer-deco-w) !important;
    height: var(--garden-footer-deco-h) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    background: var(--garden-footer-deco-img) no-repeat center center !important;
    background-size: var(--garden-footer-deco-w) var(--garden-footer-deco-h) !important;
    pointer-events: none !important;
}
/* step289_garden_home_corner_and_rightline_align_end */

/* =========================================================
   step283_garden_secondary_pages_common_sidebar_start
   页面：栏目列表页 / 图片列表页 / 文章详情页 / 图片文章详情页 / 产品列表页 / 产品详情页
   区块：二级页面公共左侧栏 common-sidebar + 二级页面右侧标题条 secondary-section-bar
   对应模板：
       - templates/front_v2/partials/qpy_left_sidebar.html
       - 文章列表页 HTML 模板
       - 栏目图片列表式 HTML 模板
       - 文章内容详情页 HTML 模板
       - 图片文章详情页 HTML 模板
       - 产品列表页 HTML 模板
       - 产品详情页 HTML 模板

   当前修复目标：
   1. 统一修复左侧公共栏目“公司介绍 / 藏品类别 / 行业资讯”的春绿白底样式；
   2. 左侧栏目框改为园林深色底 + 金铜边框；
   3. 栏目标题使用 Column Title_275X64.png，按 110×26 缩放；
   4. 栏目右上角装饰使用 Column LINE_RIHT_TOP_275X64.png，按 110×26 缩放；
   5. 横向分隔线使用 LINE_H_10X3.png，按 4×1 缩放；
   6. 竖向边线使用 LINE_V_3X10.png，按 1×4 缩放；
   7. 藏品类别展开树的 +/- 图标改为园林金铜色，不再使用春绿绿色方块；
   8. 二级页面右侧标题条同步改为园林风，去掉绿色竖条；
   9. 本区块只修 CSS，不改模板变量、不改上传组件、不改产品模块逻辑。

   后期维护：
   1. 左侧公共栏目继续在本区块修改；
   2. 首页样式不要写进本区块；
   3. 产品列表/详情主体网格仍在 09B 产品模块区维护。
   ========================================================= */

/* 二级页面通用变量：只在园林二级页样式内使用 */
:root {
    --garden-side-width: 300px !important;
    --garden-side-gap: 14px !important;
    --garden-side-title-w: 110px !important;
    --garden-side-title-h: 26px !important;
    --garden-side-line-h: url("/site/219/theme/garden/images/LINE_H_10X3.png");
    --garden-side-line-v: url("/site/219/theme/garden/images/LINE_V_3X10.png");
    --garden-side-title-img: url("/site/219/theme/garden/images/Column Title_275X64.png");
    --garden-side-corner-img: url("/site/219/theme/garden/images/Column LINE_RIHT_TOP_275X64.png");
    --garden-down-center-img: url("/site/219/theme/garden/images/DOWN_CENTER_170X40.png");
}

/* 二级页整体布局：保持左 300 + 间距 14 + 右侧自适应，不改变模板结构 */
html body .qpy-detail-page,
html body .qpy-list-layout-page,
html body .qpy-detail-layout-page,
html body .qpy-image-list-layout-page,
html body .qpy-product-list-layout-page,
html body .qpy-product-detail-layout-page,
html body .column-layout {
    width: 1200px !important;
    max-width: 1200px !important;
    min-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: var(--qpy-detail-top-gap, 2px) !important;
    background: #12161E !important;
    color: #ffffff !important;
    box-sizing: border-box !important;
}

html body .qpy-detail-sidebar,
html body .qpy-list-sidebar,
html body .qpy-image-list-sidebar,
html body .qpy-product-list-sidebar,
html body .qpy-product-detail-sidebar,
html body .column-sidebar {
    width: var(--garden-side-width) !important;
    min-width: var(--garden-side-width) !important;
    max-width: var(--garden-side-width) !important;
    flex: 0 0 var(--garden-side-width) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

html body .qpy-detail-main,
html body .qpy-list-main,
html body .qpy-image-list-main,
html body .qpy-product-list-main,
html body .qpy-product-detail-main,
html body .column-content,
html body .qpy-product-pc-right-wrap,
html body .qpy-detail-page > .right,
html body .qpy-list-layout-page > .right,
html body .qpy-product-list-layout-page > .right {
    min-width: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* 左侧公共栏目框：兼容 qpy-side-box、module、old-box、column-sidebar 内部旧结构 */
html body .qpy-detail-sidebar .qpy-side-box,
html body .qpy-list-sidebar .qpy-side-box,
html body .qpy-image-list-sidebar .qpy-side-box,
html body .qpy-product-list-sidebar .qpy-side-box,
html body .qpy-product-detail-sidebar .qpy-side-box,
html body .column-sidebar .qpy-side-box,
html body #qpyLeftSidebar .qpy-side-box,
html body .qpy-left-sidebar .qpy-side-box,
html body #qpyLeftSidebar > .module,
html body #qpyLeftSidebar > .old-box,
html body .qpy-left-sidebar > .module,
html body .qpy-left-sidebar > .old-box,
html body .column-sidebar > .module,
html body .column-sidebar > .old-box {
    position: relative !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    background-color: rgba(13, 18, 24, .96) !important;
    background-image:
        var(--garden-side-line-v),
        var(--garden-side-line-v),
        var(--garden-side-line-h),
        var(--garden-side-line-h) !important;
    background-repeat: repeat-y, repeat-y, repeat-x, repeat-x !important;
    background-position: left top, right top, left top, left bottom !important;
    background-size: 1px 4px, 1px 4px, 4px 1px, 4px 1px !important;
    border: 1px solid var(--garden-line) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,235,180,.04),
        0 0 14px rgba(0,0,0,.20) !important;
    color: #ffffff !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* 左侧栏目右上角装饰 */
html body .qpy-detail-sidebar .qpy-side-box::after,
html body .qpy-list-sidebar .qpy-side-box::after,
html body .qpy-image-list-sidebar .qpy-side-box::after,
html body .qpy-product-list-sidebar .qpy-side-box::after,
html body .qpy-product-detail-sidebar .qpy-side-box::after,
html body .column-sidebar .qpy-side-box::after,
html body #qpyLeftSidebar .qpy-side-box::after,
html body .qpy-left-sidebar .qpy-side-box::after,
html body #qpyLeftSidebar > .module::after,
html body #qpyLeftSidebar > .old-box::after,
html body .qpy-left-sidebar > .module::after,
html body .qpy-left-sidebar > .old-box::after,
html body .column-sidebar > .module::after,
html body .column-sidebar > .old-box::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    z-index: 2 !important;
    width: 110px !important;
    height: 26px !important;
    background: var(--garden-side-corner-img) no-repeat right top !important;
    background-size: 110px 26px !important;
    pointer-events: none !important;
}

/* 左侧栏目标题：替换春绿绿色标题与箭头 */
html body .qpy-detail-sidebar .qpy-side-title,
html body .qpy-detail-sidebar .qpy-side-title-with-more,
html body .qpy-list-sidebar .qpy-side-title,
html body .qpy-list-sidebar .qpy-side-title-with-more,
html body .qpy-image-list-sidebar .qpy-side-title,
html body .qpy-image-list-sidebar .qpy-side-title-with-more,
html body .qpy-product-list-sidebar .qpy-side-title,
html body .qpy-product-list-sidebar .qpy-side-title-with-more,
html body .qpy-product-detail-sidebar .qpy-side-title,
html body .qpy-product-detail-sidebar .qpy-side-title-with-more,
html body #qpyLeftSidebar .qpy-side-title,
html body #qpyLeftSidebar .qpy-side-title-with-more,
html body .qpy-left-sidebar .qpy-side-title,
html body .qpy-left-sidebar .qpy-side-title-with-more,
html body .column-sidebar-title,
html body .column-sidebar .module-title,
html body .column-sidebar .old-box-title {
    position: relative !important;
    z-index: 3 !important;
    height: 26px !important;
    min-height: 26px !important;
    line-height: 26px !important;
    margin: 0 !important;
    padding: 0 56px 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(160, 103, 55, .48) !important;
    color: var(--garden-gold-light) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

html body .qpy-detail-sidebar .qpy-side-title > span:first-child,
html body .qpy-detail-sidebar .qpy-side-title-with-more > span:first-child,
html body .qpy-list-sidebar .qpy-side-title > span:first-child,
html body .qpy-list-sidebar .qpy-side-title-with-more > span:first-child,
html body .qpy-image-list-sidebar .qpy-side-title > span:first-child,
html body .qpy-image-list-sidebar .qpy-side-title-with-more > span:first-child,
html body .qpy-product-list-sidebar .qpy-side-title > span:first-child,
html body .qpy-product-list-sidebar .qpy-side-title-with-more > span:first-child,
html body .qpy-product-detail-sidebar .qpy-side-title > span:first-child,
html body .qpy-product-detail-sidebar .qpy-side-title-with-more > span:first-child,
html body #qpyLeftSidebar .qpy-side-title > span:first-child,
html body #qpyLeftSidebar .qpy-side-title-with-more > span:first-child,
html body .qpy-left-sidebar .qpy-side-title > span:first-child,
html body .qpy-left-sidebar .qpy-side-title-with-more > span:first-child,
html body .column-sidebar-title,
html body .column-sidebar .module-title > span,
html body .column-sidebar .old-box-title > span {
    position: relative !important;
    display: inline-block !important;
    min-width: 110px !important;
    width: 110px !important;
    height: 26px !important;
    line-height: 24px !important;
    margin: 0 !important;
    padding: 0 0 0 15px !important;
    background: var(--garden-side-title-img) no-repeat left top !important;
    background-size: 110px 26px !important;
    border: 0 !important;
    color: var(--garden-gold-light) !important;
    font-size: 13px !important;
    font-weight: bold !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.75) !important;
    box-sizing: border-box !important;
}

html body .qpy-side-title > span:first-child::after,
html body .qpy-side-title-with-more > span:first-child::after,
html body .column-sidebar-title::after,
html body .column-sidebar .module-title > span::after,
html body .column-sidebar .old-box-title > span::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

html body .qpy-side-title-with-more .qpy-side-more,
html body .qpy-side-more,
html body .column-sidebar .module-more,
html body .column-sidebar .more,
html body #qpyLeftSidebar .module-more,
html body #qpyLeftSidebar .more,
html body .qpy-left-sidebar .module-more,
html body .qpy-left-sidebar .more {
    position: absolute !important;
    top: 0 !important;
    right: 8px !important;
    z-index: 4 !important;
    height: 26px !important;
    line-height: 26px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: var(--garden-gold-light) !important;
    font-size: 10px !important;
    font-family: Arial, sans-serif !important;
    background: transparent !important;
    text-decoration: none !important;
}

html body .qpy-side-title-with-more .qpy-side-more:hover,
html body .qpy-side-more:hover,
html body .column-sidebar .module-more:hover,
html body .column-sidebar .more:hover {
    color: #ffffff !important;
}

/* =========================================================
   step293_common_left_sidebar_template_db_start
   页面：二级页面 secondary
   区块：左侧公共栏目 common-sidebar
   对应模板：templates/front_v2/partials/qpy_left_sidebar.html
   对应 HTML 标记：#qpyLeftSidebar .qpy-side-box / .qpy-garden-side-title

   可调参数：
   1. 横线垂直位置：--garden-secondary-title-line-top
   2. 标题标签宽高：--garden-secondary-title-w / --garden-secondary-title-h
   3. 标题文字左内边距：padding-left
   4. 栏目外框边线颜色：--garden-line
   ========================================================= */
:root {
    --garden-secondary-title-line-top: 13px !important;
    --garden-secondary-title-w: 110px !important;
    --garden-secondary-title-h: 26px !important;
}

html body #qpyLeftSidebar .qpy-side-box,
html body .qpy-left-sidebar .qpy-side-box {
    border-top: 0 !important;
    border-right: 0 !important;
    background-image: none !important;
    overflow: hidden !important;
}

html body #qpyLeftSidebar .qpy-side-box::before,
html body .qpy-left-sidebar .qpy-side-box::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 2 !important;
    width: auto !important;
    height: auto !important;
    background-image:
        var(--garden-home-line-h-img),
        linear-gradient(var(--garden-line), var(--garden-line)) !important;
    background-repeat:
        repeat-x,
        no-repeat !important;
    background-position:
        left var(--garden-secondary-title-line-top),
        right var(--garden-secondary-title-line-top) !important;
    background-size:
        4px 1px,
        1px calc(100% - var(--garden-secondary-title-line-top)) !important;
    border: 0 !important;
    pointer-events: none !important;
}

html body #qpyLeftSidebar .qpy-side-box::after,
html body .qpy-left-sidebar .qpy-side-box::after {
    content: none !important;
    display: none !important;
}

html body #qpyLeftSidebar .qpy-garden-side-title,
html body .qpy-left-sidebar .qpy-garden-side-title {
    position: relative !important;
    z-index: 6 !important;
    height: var(--garden-secondary-title-h) !important;
    min-height: var(--garden-secondary-title-h) !important;
    line-height: var(--garden-secondary-title-h) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

html body #qpyLeftSidebar .qpy-garden-side-title-link,
html body .qpy-left-sidebar .qpy-garden-side-title-link {
    position: relative !important;
    z-index: 7 !important;
    display: inline-block !important;
    width: var(--garden-secondary-title-w) !important;
    min-width: var(--garden-secondary-title-w) !important;
    height: var(--garden-secondary-title-h) !important;
    line-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--garden-gold-light) !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

html body #qpyLeftSidebar .qpy-garden-side-title-link > span,
html body .qpy-left-sidebar .qpy-garden-side-title-link > span {
    position: relative !important;
    display: block !important;
    width: var(--garden-secondary-title-w) !important;
    height: var(--garden-secondary-title-h) !important;
    line-height: 24px !important;
    padding: 0 0 0 15px !important;
    color: var(--garden-gold-light) !important;
    font-size: 13px !important;
    font-weight: bold !important;
    background: var(--garden-home-title-img) no-repeat left top !important;
    background-size: var(--garden-secondary-title-w) var(--garden-secondary-title-h) !important;
    border: 0 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.75) !important;
    box-sizing: border-box !important;
}

html body #qpyLeftSidebar .qpy-garden-side-title-link:hover > span,
html body .qpy-left-sidebar .qpy-garden-side-title-link:hover > span,
html body #qpyLeftSidebar .qpy-garden-side-title-link:focus > span,
html body .qpy-left-sidebar .qpy-garden-side-title-link:focus > span {
    color: #ffffff !important;
}

html body #qpyLeftSidebar .qpy-side-list,
html body #qpyLeftSidebar .qpy-category-tree-list,
html body .qpy-left-sidebar .qpy-side-list,
html body .qpy-left-sidebar .qpy-category-tree-list {
    position: relative !important;
    z-index: 5 !important;
}

/* 左侧公共栏目内容与普通列表 */
html body .qpy-side-list,
html body #qpyLeftSidebar .qpy-side-list,
html body .qpy-left-sidebar .qpy-side-list,
html body .column-sidebar .news-list,
html body .column-sidebar ul {
    margin: 0 !important;
    padding: 7px 10px 9px 10px !important;
    list-style: none !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

html body .qpy-side-list li,
html body #qpyLeftSidebar .qpy-side-list li,
html body .qpy-left-sidebar .qpy-side-list li,
html body .column-sidebar .news-list li,
html body .column-sidebar li {
    position: relative !important;
    height: auto !important;
    min-height: 30px !important;
    line-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
    background: var(--garden-side-line-h) repeat-x left bottom !important;
    background-size: 4px 1px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

html body .qpy-side-list li:last-child,
html body .column-sidebar li:last-child {
    background-image: none !important;
}

html body .qpy-side-list a,
html body #qpyLeftSidebar .qpy-side-list a,
html body .qpy-left-sidebar .qpy-side-list a,
html body .column-sidebar .news-list a,
html body .column-sidebar li > a {
    position: relative !important;
    display: block !important;
    padding: 7px 4px 7px 18px !important;
    color: #ffffff !important;
    font-size: 12px !important;
    line-height: 20px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

html body .qpy-side-list a::before,
html body #qpyLeftSidebar .qpy-side-list a::before,
html body .qpy-left-sidebar .qpy-side-list a::before,
html body .column-sidebar .news-list a::before,
html body .column-sidebar li > a::before {
    content: "" !important;
    position: absolute !important;
    left: 6px !important;
    top: 50% !important;
    width: 4px !important;
    height: 4px !important;
    margin-top: -2px !important;
    border-radius: 50% !important;
    background: var(--garden-gold-light) !important;
    opacity: .92 !important;
}

html body .qpy-side-list a:hover,
html body .qpy-side-list .is-current,
html body .column-sidebar li > a:hover,
html body .column-sidebar li.current > a,
html body .column-sidebar li.active > a {
    color: #ffffff !important;
    background-color: rgba(120, 74, 35, .24) !important;
}

html body .qpy-side-news-list a {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* 藏品类别树：覆盖 step184 春绿色图标与白底子级 */
html body .qpy-detail-sidebar .step184-category-tree-list,
html body .qpy-detail-sidebar .qpy-category-tree-list,
html body .qpy-list-sidebar .step184-category-tree-list,
html body .qpy-list-sidebar .qpy-category-tree-list,
html body #qpyLeftSidebar .step184-category-tree-list,
html body #qpyLeftSidebar .qpy-category-tree-list,
html body .qpy-left-sidebar .step184-category-tree-list,
html body .qpy-left-sidebar .qpy-category-tree-list {
    margin: 0 !important;
    padding: 6px 10px 8px 10px !important;
    background: transparent !important;
    list-style: none !important;
}

html body .qpy-category-tree-list li,
html body .step184-category-tree-list li {
    border: 0 !important;
    background: var(--garden-side-line-h) repeat-x left bottom !important;
    background-size: 4px 1px !important;
}

html body .qpy-category-tree-list li:last-child,
html body .step184-category-tree-list li:last-child {
    background-image: none !important;
}

html body #qpyLeftSidebar .qpy-left-tree-toggle,
html body #qpyLeftSidebar .qpy-category-plus,
html body .qpy-left-sidebar .qpy-left-tree-toggle,
html body .qpy-left-sidebar .qpy-category-plus,
html body .qpy-detail-sidebar .qpy-left-tree-toggle,
html body .qpy-detail-sidebar .qpy-category-plus,
html body .qpy-list-sidebar .qpy-left-tree-toggle,
html body .qpy-list-sidebar .qpy-category-plus {
    width: 13px !important;
    height: 13px !important;
    flex: 0 0 13px !important;
    margin: 0 7px 0 2px !important;
    border: 1px solid rgba(215,173,103,.82) !important;
    background: #0f151c !important;
    box-shadow: inset 0 0 0 1px rgba(255,235,180,.05) !important;
}

html body #qpyLeftSidebar .qpy-left-tree-toggle::before,
html body #qpyLeftSidebar .qpy-left-tree-toggle::after,
html body #qpyLeftSidebar .qpy-category-plus::before,
html body #qpyLeftSidebar .qpy-category-plus::after,
html body .qpy-left-sidebar .qpy-left-tree-toggle::before,
html body .qpy-left-sidebar .qpy-left-tree-toggle::after,
html body .qpy-left-sidebar .qpy-category-plus::before,
html body .qpy-left-sidebar .qpy-category-plus::after,
html body .qpy-detail-sidebar .qpy-left-tree-toggle::before,
html body .qpy-detail-sidebar .qpy-left-tree-toggle::after,
html body .qpy-detail-sidebar .qpy-category-plus::before,
html body .qpy-detail-sidebar .qpy-category-plus::after,
html body .qpy-list-sidebar .qpy-left-tree-toggle::before,
html body .qpy-list-sidebar .qpy-left-tree-toggle::after,
html body .qpy-list-sidebar .qpy-category-plus::before,
html body .qpy-list-sidebar .qpy-category-plus::after {
    background: var(--garden-gold-light) !important;
}

html body .qpy-category-summary {
    min-height: 32px !important;
    color: #ffffff !important;
}

html body .qpy-category-dot {
    background: var(--garden-gold-light) !important;
}

html body .qpy-category-link,
html body .qpy-category-child-link,
html body .qpy-category-grand-link {
    color: #ffffff !important;
}

html body .qpy-category-link {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

html body .qpy-category-summary .qpy-category-link {
    padding-left: 0 !important;
}

html body .qpy-category-children,
html body .qpy-category-children-level-3 {
    background: transparent !important;
    padding-bottom: 6px !important;
}

html body .qpy-category-child-link,
html body .qpy-category-grand-link {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

html body .qpy-category-child-link::after,
html body .qpy-category-grand-link::after {
    background: var(--garden-gold) !important;
}

html body .qpy-category-link:hover,
html body .qpy-category-link.is-current,
html body .qpy-category-child-link:hover,
html body .qpy-category-child-link.is-current,
html body .qpy-category-grand-link:hover,
html body .qpy-category-grand-link.is-current {
    color: #ffffff !important;
    background-color: rgba(120, 74, 35, .24) !important;
}

/* 二级页面右侧标题条：同步园林风，避免绿色竖条和白底 */
html body .qpy-detail-section-bar,
html body .qpy-list-section-bar,
html body .qpy-image-list-section-bar {
    position: relative !important;
    width: 100% !important;
    min-height: 28px !important;
    height: 28px !important;
    margin: 0 0 10px 0 !important;
    padding: 0 12px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background-color: rgba(13, 18, 24, .96) !important;
    background-image:
        var(--garden-side-line-v),
        var(--garden-side-line-v),
        var(--garden-side-line-h),
        var(--garden-side-line-h) !important;
    background-repeat: repeat-y, repeat-y, repeat-x, repeat-x !important;
    background-position: left top, right top, left top, left bottom !important;
    background-size: 1px 4px, 1px 4px, 4px 1px, 4px 1px !important;
    border: 1px solid var(--garden-line) !important;
    color: var(--garden-gold-light) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

html body .qpy-detail-section-mark,
html body .qpy-list-section-mark {
    display: none !important;
}

html body .qpy-detail-section-left,
html body .qpy-list-section-left {
    height: 26px !important;
    min-width: 110px !important;
    display: flex !important;
    align-items: center !important;
}

html body .qpy-detail-section-name,
html body .qpy-list-section-name {
    display: inline-block !important;
    width: 110px !important;
    height: 26px !important;
    line-height: 24px !important;
    padding-left: 15px !important;
    background: var(--garden-side-title-img) no-repeat left top !important;
    background-size: 110px 26px !important;
    color: var(--garden-gold-light) !important;
    font-size: 13px !important;
    font-weight: bold !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.75) !important;
    box-sizing: border-box !important;
}

html body .qpy-detail-location,
html body .qpy-list-location {
    color: var(--garden-gold-light) !important;
    font-size: 11px !important;
    line-height: 26px !important;
    text-align: right !important;
}

html body .qpy-detail-location a,
html body .qpy-list-location a {
    color: var(--garden-gold-light) !important;
}

html body .qpy-detail-location a:hover,
html body .qpy-list-location a:hover {
    color: #ffffff !important;
}

/* step293_common_left_sidebar_template_db_end */

/* =========================================================
   step293_common_left_sidebar_template_db_start
   页面：二级页面 secondary
   区块：右侧正文标题栏 content-title-bar
   对应模板：后台风格编辑窗口二级页模板
   对应 HTML 标记：.qpy-detail-section-bar / .qpy-detail-section-mark

   可调参数：
   1. 横线垂直位置：--garden-secondary-title-line-top
   2. 方形标签尺寸：.qpy-detail-section-mark width / height
   3. 标题栏高度：height / min-height
   4. 标题文字字号：font-size
   ========================================================= */
html body .qpy-detail-section-bar,
html body .qpy-list-section-bar,
html body .qpy-image-list-section-bar,
html body .qpy-product-list-section-bar {
    position: relative !important;
    border-top: 0 !important;
    border-right: 0 !important;
    background-image: none !important;
    overflow: hidden !important;
}

html body .qpy-detail-section-bar::before,
html body .qpy-list-section-bar::before,
html body .qpy-image-list-section-bar::before,
html body .qpy-product-list-section-bar::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 2 !important;
    width: auto !important;
    height: auto !important;
    background-image:
        var(--garden-home-line-h-img),
        linear-gradient(var(--garden-line), var(--garden-line)) !important;
    background-repeat:
        repeat-x,
        no-repeat !important;
    background-position:
        left var(--garden-secondary-title-line-top),
        right var(--garden-secondary-title-line-top) !important;
    background-size:
        4px 1px,
        1px calc(100% - var(--garden-secondary-title-line-top)) !important;
    border: 0 !important;
    pointer-events: none !important;
}

html body .qpy-detail-section-left,
html body .qpy-list-section-left {
    position: relative !important;
    z-index: 5 !important;
    min-width: 0 !important;
    height: 26px !important;
    padding-left: 14px !important;
    background: transparent !important;
}

html body .qpy-detail-section-mark,
html body .qpy-list-section-mark {
    display: block !important;
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 8px !important;
    margin: 0 8px 0 0 !important;
    background: var(--garden-gold-light) !important;
    border: 1px solid rgba(255,235,180,.35) !important;
    border-radius: 0 !important;
    box-shadow: 0 0 0 1px rgba(0,0,0,.45) !important;
}

html body .qpy-detail-section-name,
html body .qpy-list-section-name {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    height: 26px !important;
    line-height: 26px !important;
    padding: 0 !important;
    background: none !important;
    color: var(--garden-gold-light) !important;
    font-size: 13px !important;
    font-weight: bold !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.75) !important;
}

html body .qpy-detail-location,
html body .qpy-list-location {
    position: relative !important;
    z-index: 5 !important;
}

/* 二级页面正文框：只补园林边框和底部中间装饰，不改富文本内容 */
html body .qpy-detail-article-box,
html body .qpy-list-article-box,
html body .qpy-image-list-article-box,
html body .qpy-product-list-article-box,
html body .qpy-product-detail-box,
html body .column-content,
html body .detail-panel {
    position: relative !important;
    background-color: rgba(13, 18, 24, .96) !important;
    background-image:
        var(--garden-side-line-v),
        var(--garden-side-line-v),
        var(--garden-side-line-h),
        var(--garden-side-line-h) !important;
    background-repeat: repeat-y, repeat-y, repeat-x, repeat-x !important;
    background-position: left top, right top, left top, left bottom !important;
    background-size: 1px 4px, 1px 4px, 4px 1px, 4px 1px !important;
    border: 1px solid var(--garden-line) !important;
    color: #ffffff !important;
    box-sizing: border-box !important;
}

html body .qpy-detail-article-box::after,
html body .qpy-list-article-box::after,
html body .qpy-image-list-article-box::after,
html body .qpy-product-list-article-box::after,
html body .qpy-product-detail-box::after,
html body .column-content::after,
html body .detail-panel::after {
    content: "" !important;
    display: block !important;
    width: 68px !important;
    height: 16px !important;
    margin: 18px auto 0 auto !important;
    clear: both !important;
    background: var(--garden-down-center-img) no-repeat center center !important;
    background-size: 68px 16px !important;
    opacity: .96 !important;
}
/* step293_common_left_sidebar_template_db_end */

/* =========================================================
   step300_garden_sidebar_db_template_visual_restore_start
   页面：二级页面 secondary
   区块：左侧公共栏 common-left-sidebar
   对应模板：site_style_theme.common_left_sidebar_template_html
   对应 HTML 标记：#qpyLeftSidebar.qpy-left-sidebar / .qpy-left-box.qpy-side-box / .qpy-left-sidebar-link

   可调参数：
   1. 左侧栏目上边框线位置：--garden-secondary-sidebar-line-top
   2. 左侧栏目边框颜色：--garden-secondary-sidebar-border
   3. 左侧栏目文字颜色：color / -webkit-text-fill-color
   4. 左侧列表行分隔线：border-bottom
   ========================================================= */
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box,
html body .qpy-detail-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box,
html body .qpy-list-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box,
html body .qpy-product-detail-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box,
html body .qpy-product-list-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box {
    --garden-secondary-sidebar-line-top: 15px;
    --garden-secondary-sidebar-border: rgba(171, 111, 52, .78);
    position: relative !important;
    border: 1px solid var(--garden-secondary-sidebar-border) !important;
    border-top: 0 !important;
    border-right: 0 !important;
    background-color: rgba(13, 18, 24, .92) !important;
    background-image: none !important;
    color: #d5a642 !important;
    -webkit-text-fill-color: #d5a642 !important;
    box-shadow: none !important;
}

html body #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box::before,
html body .qpy-detail-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box::before,
html body .qpy-list-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box::before,
html body .qpy-product-detail-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box::before,
html body .qpy-product-list-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    border: 0 !important;
    background-image:
        linear-gradient(to right, var(--garden-secondary-sidebar-border), var(--garden-secondary-sidebar-border)),
        linear-gradient(to bottom, var(--garden-secondary-sidebar-border), var(--garden-secondary-sidebar-border)) !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: left var(--garden-secondary-sidebar-line-top), right var(--garden-secondary-sidebar-line-top) !important;
    background-size: 100% 1px, 1px calc(100% - var(--garden-secondary-sidebar-line-top)) !important;
}

html body #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box::after,
html body .qpy-detail-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box::after,
html body .qpy-list-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box::after,
html body .qpy-product-detail-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box::after,
html body .qpy-product-list-sidebar #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box.qpy-side-box::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

html body #qpyLeftSidebar.qpy-left-sidebar .qpy-left-box-title,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-side-title,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-garden-side-title,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-garden-side-title-link,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-garden-side-title-link > span {
    color: #f0d28b !important;
    -webkit-text-fill-color: #f0d28b !important;
    text-decoration: none !important;
}

html body #qpyLeftSidebar.qpy-left-sidebar .qpy-left-list,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-left-tree,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-category-tree-list {
    background: transparent !important;
}

html body #qpyLeftSidebar.qpy-left-sidebar .qpy-left-list > li,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-left-tree > li,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-category-tree-list li,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-category-children li,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-category-children-level-3 li {
    border-top: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-bottom: 1px dashed rgba(232, 235, 226, .24) !important;
    background-image: none !important;
    background-color: transparent !important;
}

html body #qpyLeftSidebar.qpy-left-sidebar a.qpy-left-sidebar-link,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-side-list a.qpy-left-sidebar-link,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-category-link,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-category-child-link,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-category-grand-link,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-category-parent-link,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-left-tree-row a.qpy-left-sidebar-link {
    color: #d5a642 !important;
    -webkit-text-fill-color: #d5a642 !important;
    text-decoration: none !important;
    background-color: transparent !important;
}

html body #qpyLeftSidebar.qpy-left-sidebar a.qpy-left-sidebar-link:hover,
html body #qpyLeftSidebar.qpy-left-sidebar a.qpy-left-sidebar-link.is-current,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-category-link:hover,
html body #qpyLeftSidebar.qpy-left-sidebar .qpy-category-link.is-current {
    color: #fff2c5 !important;
    -webkit-text-fill-color: #fff2c5 !important;
    background-color: rgba(111, 85, 27, .20) !important;
}

/* =========================================================
   页面：二级页面 secondary
   区块：右侧正文标题栏 content-title-bar
   对应模板：栏目列表、文章详情、产品列表、产品详情数据库模板
   对应 HTML 标记：.qpy-detail-section-bar / .qpy-detail-section-name

   可调参数：
   1. 标题栏高度：height / min-height
   2. 标题栏边框颜色：border-color
   3. 标题标签背景色：background-color
   4. 标题文字颜色：color
   ========================================================= */
html body .qpy-detail-main > .qpy-detail-section-bar,
html body .qpy-list-main > .qpy-detail-section-bar,
html body .qpy-image-list-main > .qpy-detail-section-bar,
html body .qpy-product-list-main > .qpy-detail-section-bar,
html body .qpy-product-detail-main > .qpy-detail-section-bar,
html body .qpy-detail-section-bar.qpy-list-section-bar,
html body .qpy-detail-section-bar.qpy-image-list-section-bar,
html body .qpy-detail-section-bar.qpy-product-list-section-bar,
html body .qpy-detail-section-bar.qpy-product-detail-section-bar {
    position: relative !important;
    height: 28px !important;
    min-height: 28px !important;
    margin: 0 0 10px 0 !important;
    padding: 0 12px 0 0 !important;
    border: 1px solid rgba(171, 111, 52, .78) !important;
    border-left: 0 !important;
    border-bottom: 0 !important;
    background-color: rgba(13, 18, 24, .96) !important;
    background-image: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

html body .qpy-detail-main > .qpy-detail-section-bar::before,
html body .qpy-list-main > .qpy-detail-section-bar::before,
html body .qpy-image-list-main > .qpy-detail-section-bar::before,
html body .qpy-product-list-main > .qpy-detail-section-bar::before,
html body .qpy-product-detail-main > .qpy-detail-section-bar::before,
html body .qpy-detail-section-bar.qpy-list-section-bar::before,
html body .qpy-detail-section-bar.qpy-image-list-section-bar::before,
html body .qpy-detail-section-bar.qpy-product-list-section-bar::before,
html body .qpy-detail-section-bar.qpy-product-detail-section-bar::before {
    content: none !important;
    display: none !important;
    background: none !important;
}

html body .qpy-detail-section-bar .qpy-detail-section-left,
html body .qpy-detail-section-bar .qpy-list-section-left,
html body .qpy-detail-section-bar .qpy-image-list-section-left,
html body .qpy-detail-section-bar .qpy-product-list-section-left,
html body .qpy-detail-section-bar .qpy-product-detail-section-left {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    min-width: 110px !important;
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 !important;
    margin: -1px 0 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body .qpy-detail-section-bar .qpy-detail-section-mark,
html body .qpy-detail-section-bar .qpy-list-section-mark,
html body .qpy-detail-section-bar .qpy-image-list-section-mark,
html body .qpy-detail-section-bar .qpy-product-list-section-mark,
html body .qpy-detail-section-bar .qpy-product-detail-section-mark {
    display: none !important;
    content: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

html body .qpy-detail-section-bar .qpy-detail-section-name,
html body .qpy-detail-section-bar .qpy-list-section-name,
html body .qpy-detail-section-bar .qpy-image-list-section-name,
html body .qpy-detail-section-bar .qpy-product-list-section-name,
html body .qpy-detail-section-bar .qpy-product-detail-section-name {
    position: relative !important;
    z-index: 4 !important;
    display: inline-block !important;
    width: auto !important;
    min-width: 110px !important;
    height: 26px !important;
    line-height: 26px !important;
    padding: 0 18px !important;
    color: #f0d28b !important;
    -webkit-text-fill-color: #f0d28b !important;
    font-size: 13px !important;
    font-weight: bold !important;
    background-color: #6f551b !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.75) !important;
    box-sizing: border-box !important;
}

html body .qpy-detail-section-bar .qpy-detail-location,
html body .qpy-detail-section-bar .qpy-list-location,
html body .qpy-detail-section-bar .qpy-product-list-location,
html body .qpy-detail-section-bar .qpy-product-detail-location {
    position: relative !important;
    z-index: 3 !important;
}

/* =========================================================
   step301_garden_right_title_border_intro_bg_fix_start
   页面：二级页面 secondary
   区块：右侧正文标题栏 content-title-bar
   对应模板：栏目列表、文章详情、产品列表、产品详情数据库模板
   对应 HTML 标记：.qpy-detail-section-bar / .qpy-detail-section-left / .qpy-detail-section-name / .qpy-detail-location

   可调参数：
   1. 标题栏外框颜色：border-color
   2. 标题栏外框线型：border-style
   3. 标题栏背景色：background-color
   ========================================================= */
html body .qpy-detail-main > .qpy-detail-section-bar,
html body .qpy-list-main > .qpy-detail-section-bar,
html body .qpy-image-list-main > .qpy-detail-section-bar,
html body .qpy-product-list-main > .qpy-detail-section-bar,
html body .qpy-product-detail-main > .qpy-detail-section-bar,
html body .qpy-detail-section-bar.qpy-list-section-bar,
html body .qpy-detail-section-bar.qpy-image-list-section-bar,
html body .qpy-detail-section-bar.qpy-product-list-section-bar,
html body .qpy-detail-section-bar.qpy-product-detail-section-bar {
    border: 1px solid rgba(171, 111, 52, .78) !important;
    border-top-color: rgba(171, 111, 52, .78) !important;
    border-right-color: rgba(171, 111, 52, .78) !important;
    border-bottom-color: rgba(171, 111, 52, .78) !important;
    border-left-color: rgba(171, 111, 52, .78) !important;
    border-style: solid !important;
    background-color: rgba(13, 18, 24, .96) !important;
    background-image: none !important;
}

/* =========================================================
   页面：文章详情 article-detail
   区块：文章简介框 detail-intro
   对应模板：site_style_theme.article_detail_template_html / 图片文章详情模板字段
   对应 HTML 标记：.qpy-detail-article-box .qpy-detail-intro

   可调参数：
   1. 简介框背景色：background-color
   2. 简介框文字颜色：color
   3. 简介框边框颜色：border-color
   ========================================================= */
html body .qpy-detail-main .qpy-detail-intro,
html body .qpy-detail-article-box .qpy-detail-intro,
html body .qpy-image-detail-main .qpy-detail-intro,
html body .qpy-image-detail-article-box .qpy-detail-intro,
html body article.qpy-detail-article-box .qpy-detail-intro {
    background: #20262c !important;
    background-color: #20262c !important;
    background-image: none !important;
    border: 1px solid rgba(171, 111, 52, .58) !important;
    color: #d8c99b !important;
    -webkit-text-fill-color: #d8c99b !important;
    box-shadow: inset 0 0 0 1px rgba(255, 244, 201, .04) !important;
}
/* step301_garden_right_title_border_intro_bg_fix_end */

/* =========================================================
   页面：二级页面 secondary
   区块：右侧正文底部装饰图 content-bottom-decoration
   对应模板：栏目列表、文章详情、产品列表、产品详情数据库模板
   对应 HTML 标记：.qpy-detail-article-box::after / .qpy-product-detail-box::after

   可调参数：无，二级页正文底部中间装饰图固定关闭
   ========================================================= */
html body .qpy-detail-article-box::after,
html body .qpy-list-article-box::after,
html body .qpy-image-list-article-box::after,
html body .qpy-product-list-article-box::after,
html body .qpy-product-detail-box::after,
html body .column-content::after,
html body .detail-panel::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    clear: none !important;
    background: none !important;
    opacity: 0 !important;
}

/* =========================================================
   页面：产品详情 product-detail
   区块：参数表 product-param-table
   对应模板：site_style_theme.product_item_detail_template_html
   对应 HTML 标记：.qpy-product-detail-layout-page .qpy-product-param-table / th / td

   可调参数：
   1. 参数表整体背景：background-color
   2. 奇偶行背景：nth-child odd / even
   3. th / td 文字颜色：color
   4. 边框颜色：border-color
   ========================================================= */
html body .qpy-product-detail-layout-page .qpy-product-param-table,
html body .qpy-product-detail-layout-page table.qpy-product-param-table {
    width: 100% !important;
    border-collapse: collapse !important;
    background-color: #11171e !important;
    background-image: none !important;
    border: 1px solid rgba(180, 143, 58, .50) !important;
    color: #d5a642 !important;
}

html body .qpy-product-detail-layout-page .qpy-product-param-table tbody tr:nth-child(odd),
html body .qpy-product-detail-layout-page .qpy-product-param-table tr:nth-child(odd) {
    background-color: #1e242b !important;
    background-image: none !important;
}

html body .qpy-product-detail-layout-page .qpy-product-param-table tbody tr:nth-child(even),
html body .qpy-product-detail-layout-page .qpy-product-param-table tr:nth-child(even) {
    background-color: #10161d !important;
    background-image: none !important;
}

html body .qpy-product-detail-layout-page .qpy-product-param-table tr > th,
html body .qpy-product-detail-layout-page .qpy-product-param-table tbody tr > th,
html body .qpy-product-detail-layout-page .qpy-product-param-table tr > td,
html body .qpy-product-detail-layout-page .qpy-product-param-table tbody tr > td {
    color: #d5a642 !important;
    -webkit-text-fill-color: #d5a642 !important;
    border: 1px solid rgba(180, 143, 58, .42) !important;
}

html body .qpy-product-detail-layout-page .qpy-product-param-table tr > th,
html body .qpy-product-detail-layout-page .qpy-product-param-table tbody tr > th {
    background-color: rgba(65, 55, 31, .92) !important;
    background-image: none !important;
    color: #f0d28b !important;
    -webkit-text-fill-color: #f0d28b !important;
}

html body .qpy-product-detail-layout-page .qpy-product-param-table tr:nth-child(odd) > td,
html body .qpy-product-detail-layout-page .qpy-product-param-table tbody tr:nth-child(odd) > td {
    background-color: #1e242b !important;
    background-image: none !important;
}

html body .qpy-product-detail-layout-page .qpy-product-param-table tr:nth-child(even) > td,
html body .qpy-product-detail-layout-page .qpy-product-param-table tbody tr:nth-child(even) > td {
    background-color: #10161d !important;
    background-image: none !important;
}

/* =========================================================
   页面：产品列表 product-list
   区块：筛选按钮和筛选弹窗 product-filter-popup
   对应模板：site_style_theme.product_item_list_template_html
   对应 HTML 标记：.qpy-product-pc-filter-open / .qpy-product-pc-filter-popup / .qpy-product-mobile-filter-popup

   可调参数：
   1. 筛选按钮背景：background-color
   2. 弹窗背景：background-color
   3. 奇偶筛选组背景：nth-child odd / even
   4. 输入框文字和边框：color / border-color
   ========================================================= */
html body .qpy-product-list-layout-page .qpy-product-pc-filter-open,
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-open,
html body .qpy-product-list-layout-page .qpy-product-filter-btn,
html body .qpy-product-list-layout-page .qpy-product-filter-reset,
html body .qpy-product-list-layout-page .qpy-product-pc-filter-apply,
html body .qpy-product-list-layout-page .qpy-product-pc-filter-reset,
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-btn,
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-reset {
    background-color: #6f551b !important;
    background-image: none !important;
    border: 1px solid rgba(180, 143, 58, .88) !important;
    color: #f4e5bc !important;
    -webkit-text-fill-color: #f4e5bc !important;
}

html body .qpy-product-list-layout-page .qpy-product-pc-filter-open:hover,
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-open:hover,
html body .qpy-product-list-layout-page .qpy-product-filter-btn:hover {
    background-color: #8a6921 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body .qpy-product-list-layout-page .qpy-product-pc-filter-popup,
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-popup,
html body .qpy-product-list-layout-page .qpy-product-filter-box {
    background-color: #141a21 !important;
    background-image: none !important;
    color: #d9d2c3 !important;
    border-color: rgba(180, 143, 58, .58) !important;
}

html body .qpy-product-list-layout-page .qpy-product-pc-filter-popup-head,
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-popup-head,
html body .qpy-product-list-layout-page .qpy-product-pc-filter-group:nth-child(odd),
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-row:nth-child(odd) {
    background-color: #1d232b !important;
    background-image: none !important;
}

html body .qpy-product-list-layout-page .qpy-product-pc-filter-group:nth-child(even),
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-row:nth-child(even),
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-box {
    background-color: #10161d !important;
    background-image: none !important;
}

html body .qpy-product-list-layout-page .qpy-product-pc-filter-popup label,
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-popup label,
html body .qpy-product-list-layout-page .qpy-product-pc-filter-group-title,
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-group-title {
    color: #d5a642 !important;
    -webkit-text-fill-color: #d5a642 !important;
}

html body .qpy-product-list-layout-page .qpy-product-pc-filter-popup input,
html body .qpy-product-list-layout-page .qpy-product-pc-filter-popup select,
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-popup input,
html body .qpy-product-list-layout-page .qpy-product-mobile-filter-popup select,
html body .qpy-product-list-layout-page .qpy-product-filter-select {
    background-color: #0f151c !important;
    background-image: none !important;
    border: 1px solid rgba(180, 143, 58, .68) !important;
    color: #f2ead6 !important;
    -webkit-text-fill-color: #f2ead6 !important;
}

/* step300_garden_sidebar_db_template_visual_restore_end */

/* step283_garden_secondary_pages_common_sidebar_end */

/* 底部：去掉春绿锯齿，改深色 */
.site-footer {
    width: 100% !important;
    min-height: 80px !important;
    margin-top: var(--garden-footer-top-gap, 22px) !important;
    background: #0b0f15 !important;
    color: var(--garden-gold-light) !important;
    border-top: 1px solid var(--garden-line) !important;
    position: relative !important;
}

.site-footer:before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: var(--garden-footer-deco-top, -16px) !important;
    z-index: 3 !important;
    display: block !important;
    width: var(--garden-footer-deco-w, 68px) !important;
    height: var(--garden-footer-deco-h, 16px) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    background: url("/site/219/theme/garden/images/DOWN_CENTER_170X40.png") no-repeat center center !important;
    background-size: var(--garden-footer-deco-w, 68px) var(--garden-footer-deco-h, 16px) !important;
    pointer-events: none !important;
}

.site-footer-inner {
    color: var(--garden-gold-light) !important;
    background: transparent !important;
}

.site-footer a {
    color: var(--garden-gold-light) !important;
}

/* 手机端保持基本可见，避免固定 1200 造成异常 */
@media (max-width: 900px) {
    .site-header,
    .site-header-inner,
    .site-nav,
    .site-main,
    .old-home-step96,
    .site-footer-inner {
        width: 100% !important;
        max-width: 100% !important;
    }
    .site-header-inner {
        height: auto !important;
        display: block !important;
    }
    .site-logo,
    .site-logo-box,
    .site-logo img,
    .site-logo-box img,
    .site-top-banner,
    .site-top-banner-box,
    .site-top-banner img,
    .site-top-banner-box img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }
}

/* STEP270_GARDEN_FULL_TOP_FIX_END */

/* =========================================================
   Step273 garden 顶部左右过渡图与正文默认文字色
   页面：首页 home / 前台通用正文
   区块：common-header / home-content-text
   对应模板：templates/front_v2/components/header.html；templates/front_v2/index.html
   对应 HTML 标记：site-header / site-header-inner / old-home-step96 / site-main
   可调参数：过渡图宽度 80px；顶部高度 156px；正文默认文字色 #C8A45A
   ========================================================= */
html,
body {
    background-color: #12161E !important;
}

.site-header {
    position: relative !important;
    height: 156px !important;
    min-height: 156px !important;
    overflow: hidden !important;
    background-color: #12161E !important;
    background-image: none !important;
}

.site-header::before,
.site-header::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    z-index: 0 !important;
    width: 80px !important;
    height: 156px !important;
    pointer-events: none !important;
    background-repeat: no-repeat !important;
    background-size: 80px 156px !important;
}

.site-header::before {
    right: calc(50% + 600px) !important;
    background-image: url("/site/219/theme/garden/images/TOP_LEFT_200X390.png") !important;
    background-position: right top !important;
}

.site-header::after {
    left: calc(50% + 600px) !important;
    background-image: url("/site/219/theme/garden/images/TOP_RIGHT_200X390.png") !important;
    background-position: left top !important;
}

.site-header-inner {
    position: relative !important;
    z-index: 1 !important;
    width: 1200px !important;
    max-width: 1200px !important;
    height: 156px !important;
    min-height: 156px !important;
}

.site-main,
.old-home-step96 {
    color: #C8A45A !important;
}

.site-main .old-home-step96 .module-body,
.site-main .old-home-step96 .old-list-body,
.site-main .old-home-step96 .home-company-intro-text,
.site-main .old-home-step96 .home-news-feature-desc,
.site-main .old-home-step96 .home-product-title,
.site-main .old-home-step96 .home-auction-list,
.site-main .old-home-step96 .home-business-list,
.site-main .old-home-step96 .old-news-list,
.site-main .old-home-step96 .home-news-grid,
.site-main .article-detail-content,
.site-main .detail-content,
.site-main .page-content,
.site-main .rich-text,
.site-main .qpy-richtext {
    color: #C8A45A !important;
}

.site-main .old-home-step96 .module-body :where(p, span, div, li, dd, dt, td, th, em, strong),
.site-main .old-home-step96 .old-list-body :where(p, span, div, li, dd, dt, td, th, em, strong),
.site-main .old-home-step96 .home-company-intro-text :where(p, span, div, li, dd, dt, td, th, em, strong),
.site-main .article-detail-content :where(p, span, div, li, dd, dt, td, th, em, strong),
.site-main .detail-content :where(p, span, div, li, dd, dt, td, th, em, strong),
.site-main .page-content :where(p, span, div, li, dd, dt, td, th, em, strong),
.site-main .rich-text :where(p, span, div, li, dd, dt, td, th, em, strong),
.site-main .qpy-richtext :where(p, span, div, li, dd, dt, td, th, em, strong) {
    color: #C8A45A !important;
}

.site-main .old-home-step96 .module-body a,
.site-main .old-home-step96 .old-list-body a,
.site-main .article-detail-content a,
.site-main .detail-content a,
.site-main .page-content a,
.site-main .rich-text a,
.site-main .qpy-richtext a {
    color: #D6B36A !important;
}

.site-main .old-home-step96 .module-body a:hover,
.site-main .old-home-step96 .old-list-body a:hover,
.site-main .article-detail-content a:hover,
.site-main .detail-content a:hover,
.site-main .page-content a:hover,
.site-main .rich-text a:hover,
.site-main .qpy-richtext a:hover {
    color: #F0D28B !important;
}

/* ===== STEP274_GARDEN_CSS_TEMPLATE_ONLY_TOP_EXTEND_TEXT_COLOR_START ===== */
/* 说明：仅作用于 garden 风格 custom_css，不写入 Python 生成逻辑。 */
/* =========================================================
   页面：首页 home / 前台通用正文 common-content
   区块：顶部左右过渡图 common-header / 正文文字颜色 content-text
   对应模板：templates/front_v2/components/header.html；templates/front_v2/index.html
   对应 HTML 标记：site-header-inner / site-logo-box / site-top-banner-box / site-main

   可调参数：
   1. 顶部主体宽度：.site-header-inner width
   2. 顶部主体高度：height
   3. 左右过渡图视觉宽度：width / left / right
   4. Logo 与顶部 Banner 尺寸：width / height / flex-basis
   5. 正文默认文字色：color
   6. 正文链接色：color / hover color
   ========================================================= */

html,
body {
    background-color: #12161E !important;
}

.site-header {
    position: relative !important;
    overflow: visible !important;
    height: 156px !important;
    min-height: 156px !important;
    background-color: #12161E !important;
    background-image: none !important;
}

.site-header-inner {
    position: relative !important;
    overflow: visible !important;
    width: 1200px !important;
    max-width: 1200px !important;
    height: 156px !important;
    min-height: 156px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    background-color: #12161E !important;
    box-sizing: border-box !important;
}

.site-header-inner::before {
    content: "" !important;
    position: absolute !important;
    left: -80px !important;
    top: 0 !important;
    width: 80px !important;
    height: 156px !important;
    background-image: url("/site/219/theme/garden/images/TOP_LEFT_200X390.png") !important;
    background-repeat: no-repeat !important;
    background-position: right top !important;
    background-size: 80px 156px !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

.site-header-inner::after {
    content: "" !important;
    position: absolute !important;
    right: -80px !important;
    top: 0 !important;
    width: 80px !important;
    height: 156px !important;
    background-image: url("/site/219/theme/garden/images/TOP_RIGHT_200X390.png") !important;
    background-repeat: no-repeat !important;
    background-position: left top !important;
    background-size: 80px 156px !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

.site-logo-box,
.site-top-banner-box {
    position: relative !important;
    z-index: 2 !important;
}

.site-logo-box {
    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;
    height: 156px !important;
    min-height: 156px !important;
    flex: 0 0 300px !important;
    overflow: hidden !important;
}

.site-logo-box img {
    width: 300px !important;
    height: 156px !important;
    display: block !important;
    object-fit: cover !important;
}

.site-top-banner-box {
    width: 900px !important;
    min-width: 900px !important;
    max-width: 900px !important;
    height: 156px !important;
    min-height: 156px !important;
    flex: 0 0 900px !important;
    overflow: hidden !important;
}

.site-top-banner-box img {
    width: 900px !important;
    height: 156px !important;
    display: block !important;
    object-fit: cover !important;
}

.site-main,
.site-main *,
.old-home-step96,
.old-home-step96 *,
.module-body,
.module-body *,
.module-content,
.module-content *,
.block-content,
.block-content *,
.old-list-body,
.old-list-body *,
.home-company-intro-text,
.home-company-intro-text *,
.home-news-feature-desc,
.home-news-feature-desc *,
.old-news-list,
.old-news-list *,
.home-business-list,
.home-business-list *,
.home-auction-list,
.home-auction-list * {
    color: #C8A45A !important;
}

.home-auction-date,
.home-news-date,
.home-news-time,
.article-list-date,
.product-list-desc,
.site-main .date,
.site-main .time,
.site-main .meta,
.site-main .summary {
    color: #B8AA8A !important;
}

.site-main a,
.old-home-step96 a,
.module-body a,
.old-list-body a,
.home-company-intro-text a,
.old-news-list a {
    color: #D6B36A !important;
}

.site-main a:hover,
.old-home-step96 a:hover {
    color: #F0D28B !important;
}

.old-home-step96 [style*="color"],
.qpy-detail-content [style*="color"],
.renderer-article-content [style*="color"] {
    color: #C8A45A !important;
}
/* ===== STEP274_GARDEN_CSS_TEMPLATE_ONLY_TOP_EXTEND_TEXT_COLOR_END ===== */

/* ===== STEP275_GARDEN_BODY_BG_AND_TEXT_COLOR_FIX_START ===== */
/* 说明：仅修复 garden 前台页面背景色和正文文字颜色，不修改生成逻辑。 */
/* =========================================================
   页面：首页 home / 前台通用 common
   区块：页面背景 body-bg / 正文文字 content-text
   对应模板：templates/front_v2/index.html；templates/front_v2/components/header.html
   对应 HTML 标记：body / site-header / old-home-step96 / home-news-grid

   可调参数：
   1. 页面背景色：background-color
   2. 正文默认文字色：color
   3. 链接颜色：color
   4. 链接 hover 颜色：color
   5. 日期和辅助文字颜色：color
   ========================================================= */

html,
body {
    background-color: #12161E !important;
    background-image: none !important;
}

body::before,
body::after {
    background: none !important;
    background-image: none !important;
}

.site-wrap,
.site-main-wrap,
.site-container,
.page-wrap,
.main-wrap,
.content-wrap,
.outer-bg,
.site-header,
.site-slider-wrap,
.site-main,
.site-footer,
.old-home,
.old-home-step96 {
    background-color: #12161E !important;
}

.site-wrap,
.site-main-wrap,
.site-container,
.page-wrap,
.main-wrap,
.content-wrap,
.outer-bg,
.site-header,
.old-home,
.old-home-step96 {
    background-image: none !important;
}

.old-home-step96,
.old-home-step96 p,
.old-home-step96 div,
.old-home-step96 span,
.old-home-step96 li,
.old-home-step96 em,
.old-home-step96 td,
.old-home-step96 th,
.old-home-step96 dd,
.old-home-step96 dt,
.old-home-step96 strong,
.old-home-step96 b,
.old-home-step96 font,
.home-company-intro-text,
.home-company-intro-text *,
.home-news-feature-text,
.home-news-feature-text *,
.home-news-feature-title,
.home-news-feature-title *,
.home-news-feature-desc,
.home-news-feature-desc *,
.home-news-grid,
.home-news-grid *,
.home-news-grid-item,
.home-news-grid-item *,
.old-news-list,
.old-news-list *,
.old-news-list-bottom,
.old-news-list-bottom *,
.home-business-list,
.home-business-list *,
.home-auction-list,
.home-auction-list *,
.home-auction-date,
.old-list-body,
.old-list-body *,
.module-body,
.module-body *,
.old-news-text,
.old-news-text * {
    color: #C8A45A !important;
}

.old-home-step96 a,
.home-company-intro-text a,
.home-news-feature-title a,
.home-news-grid a,
.home-news-grid-item a,
.old-news-list a,
.home-business-list a,
.home-auction-list a,
.old-list-body a,
.module-body a {
    color: #D6B36A !important;
}

.old-home-step96 a:hover,
.home-news-grid a:hover,
.old-news-list a:hover,
.home-business-list a:hover,
.home-auction-list a:hover {
    color: #F0D28B !important;
    text-decoration: none !important;
}

.home-auction-date,
.news-date,
.old-date {
    color: #B8AA8A !important;
}

.old-home-step96 [style*="color"],
.home-company-intro-text [style*="color"],
.home-news-feature-desc [style*="color"],
.old-news-text [style*="color"],
.qpy-detail-content [style*="color"],
.renderer-article-content [style*="color"] {
    color: #C8A45A !important;
}

.old-home-step96 p,
.old-home-step96 span,
.old-home-step96 li,
.old-home-step96 em,
.old-home-step96 td,
.old-home-step96 th,
.old-home-step96 dd,
.old-home-step96 dt,
.old-home-step96 strong,
.old-home-step96 b,
.old-home-step96 font,
.home-company-intro-text,
.home-company-intro-text p,
.home-news-feature-text,
.home-news-feature-title,
.home-news-feature-desc,
.home-news-grid-item,
.old-news-list li,
.old-list-body li,
.module-body li,
.old-news-text,
.old-news-text p {
    opacity: 1 !important;
    filter: none !important;
    color: #C8A45A !important;
    -webkit-text-fill-color: #C8A45A !important;
}

.old-home-step96 a,
.home-company-intro-text a,
.home-news-feature-title a,
.home-news-grid a,
.home-news-grid-item a,
.old-news-list a,
.home-business-list a,
.home-auction-list a,
.old-list-body a,
.module-body a {
    opacity: 1 !important;
    filter: none !important;
    color: #D6B36A !important;
    -webkit-text-fill-color: #D6B36A !important;
}

.home-auction-date,
.news-date,
.old-date {
    opacity: 1 !important;
    filter: none !important;
    color: #B8AA8A !important;
    -webkit-text-fill-color: #B8AA8A !important;
}
/* ===== STEP275_GARDEN_BODY_BG_AND_TEXT_COLOR_FIX_END ===== */

/* ===== STEP276_GARDEN_OUTER_BG_PRODUCT_SHOWCASE_FIX_START ===== */
/* 说明：仅修复 garden 前台外层背景与藏品展示留白，不修改生成逻辑。 */
/* =========================================================
   页面：首页 home
   区块：外层背景 outer-bg / 顶部过渡图 common-header / 藏品展示 home-product-showcase
   对应模板：templates/front_v2/base.html；templates/front_v2/index.html
   对应 HTML 标记：body / site-header / site-header-inner / home-product-showcase / home-product-grid

   可调参数：
   1. 外层背景色：background-color
   2. 顶部过渡图视觉宽度：width / left / right
   3. 藏品展示背景：background
   4. 藏品展示内边距：padding
   5. 藏品展示一行数量：grid-template-columns
   6. 产品标题颜色：color
   ========================================================= */

html,
body {
    background-color: #12161E !important;
    background-image: none !important;
}

body > *,
.site-wrap,
.site-main-wrap,
.site-container,
.page-wrap,
.main-wrap,
.content-wrap,
.outer-bg,
.site-header,
.site-header-wrap,
.site-slider-wrap,
.site-main,
.old-home,
.old-home-step96 {
    background-color: #12161E !important;
}

body,
body > *,
.site-wrap,
.site-main-wrap,
.site-container,
.page-wrap,
.main-wrap,
.content-wrap,
.outer-bg,
.site-header,
.site-header-wrap,
.old-home,
.old-home-step96 {
    background-image: none !important;
}

body::before,
body::after,
.site-header::before,
.site-header::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
}

.site-header {
    position: relative !important;
    overflow: visible !important;
    width: 100% !important;
    height: 156px !important;
    min-height: 156px !important;
    background: #12161E !important;
}

html body .site-header,
html body header.site-header,
body .site-header,
body header.site-header {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    height: 156px !important;
    min-height: 156px !important;
    overflow: visible !important;
    background-color: #12161E !important;
    background-image: none !important;
    background-size: auto !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
}

.site-header-inner {
    position: relative !important;
    overflow: visible !important;
    width: 1200px !important;
    max-width: 1200px !important;
    height: 156px !important;
    min-height: 156px !important;
    margin: 0 auto !important;
    background: #12161E !important;
}

html body .site-header .site-header-inner,
html body header.site-header .site-header-inner,
body .site-header .site-header-inner {
    position: relative !important;
    overflow: visible !important;
    width: 1200px !important;
    max-width: 1200px !important;
    height: 156px !important;
    min-height: 156px !important;
    margin: 0 auto !important;
    background-color: #12161E !important;
    background-image: none !important;
}

.site-header-inner::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: -80px !important;
    top: 0 !important;
    width: 80px !important;
    height: 156px !important;
    background-image: url("/site/219/theme/garden/images/TOP_LEFT_200X390.png") !important;
    background-repeat: no-repeat !important;
    background-position: right top !important;
    background-size: 80px 156px !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.site-header-inner::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    right: -80px !important;
    top: 0 !important;
    width: 80px !important;
    height: 156px !important;
    background-image: url("/site/219/theme/garden/images/TOP_RIGHT_200X390.png") !important;
    background-repeat: no-repeat !important;
    background-position: left top !important;
    background-size: 80px 156px !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.site-logo-box,
.site-top-banner-box {
    position: relative !important;
    z-index: 2 !important;
}

.old-home-step96 .old-products-box,
.old-home-step96 .home-product-showcase,
.old-home-step96 .step211-home-product-module {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    background: #0b1010 !important;
    background-image: none !important;
    border-color: rgba(143, 92, 42, .75) !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
}

.old-home-step96 .old-product-list,
.old-home-step96 .old-product-list.home-product-grid,
.old-home-step96 .home-product-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 18px 14px !important;
    gap: 0 !important;
    align-items: start !important;
    justify-items: center !important;
    background: #0b1010 !important;
    background-image: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.old-home-step96 .old-product-item,
.old-home-step96 .old-product-item.home-product-card,
.old-home-step96 .home-product-card {
    width: 210px !important;
    max-width: 210px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    background: transparent !important;
    background-image: none !important;
    text-align: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.old-home-step96 .home-product-img-box,
.old-home-step96 .home-product-img-box[style] {
    background: #0f1516 !important;
    border-color: rgba(171, 111, 52, .72) !important;
    margin: 0 auto 8px auto !important;
}

.old-home-step96 .home-product-img,
.old-home-step96 .old-product-img {
    display: block !important;
    background: transparent !important;
}

.old-home-step96 .home-product-card span,
.old-home-step96 .home-product-card a,
.old-home-step96 .old-product-title,
.old-home-step96 .home-product-title {
    color: #D6B36A !important;
    -webkit-text-fill-color: #D6B36A !important;
    background: transparent !important;
}

.old-home-step96 .home-product-card:hover .home-product-title {
    color: #F0D28B !important;
    -webkit-text-fill-color: #F0D28B !important;
    text-decoration: none !important;
}

/* =========================================================
   step304_pc_header_logo_banner_white_fix_start
   页面：全站通用顶部 common-header / PC端
   区块：LOGO + 顶部 Banner 尺寸锁定
   对应模板：front_v2/components/header.html
   对应 HTML 标记：site-header / site-header-inner / site-logo-box / site-top-banner-box

   修复原因：
   step302/step303 移动端适配中，移动端 header 规则容易覆盖到窄屏 PC 预览，
   导致 PC 端 300×156 LOGO + 900×156 顶部 Banner 未填满，底部露出白底。

   当前规则：
   1. 仅在 PC 端 min-width:769px 生效；
   2. PC 顶部固定 1200×156；
   3. LOGO 固定 300×156；顶部 Banner 固定 900×156；
   4. 背景统一为园林深色 #12161E，防止图片未填满时露白；
   5. 不改 Python，不改首页模板，不影响移动端折叠菜单。
   ========================================================= */
@media (min-width: 769px) {
    html body .site-header,
    html body header.site-header {
        position: relative !important;
        width: 100% !important;
        min-width: 1200px !important;
        height: 156px !important;
        min-height: 156px !important;
        max-height: 156px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background-color: #12161E !important;
        background-image: none !important;
        box-sizing: border-box !important;
    }

    html body .site-header .site-header-inner,
    html body header.site-header .site-header-inner,
    html body .site-header-inner {
        position: relative !important;
        z-index: 1 !important;
        width: 1200px !important;
        min-width: 1200px !important;
        max-width: 1200px !important;
        height: 156px !important;
        min-height: 156px !important;
        max-height: 156px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        line-height: 0 !important;
        overflow: visible !important;
        background-color: #12161E !important;
        box-sizing: border-box !important;
    }

    html body .site-header-inner::before {
        content: "" !important;
        position: absolute !important;
        left: -80px !important;
        top: 0 !important;
        z-index: 0 !important;
        width: 80px !important;
        height: 156px !important;
        background: url("/site/219/theme/garden/images/TOP_LEFT_200X390.png") no-repeat right top !important;
        background-size: 80px 156px !important;
        pointer-events: none !important;
    }

    html body .site-header-inner::after {
        content: "" !important;
        position: absolute !important;
        right: -80px !important;
        top: 0 !important;
        z-index: 0 !important;
        width: 80px !important;
        height: 156px !important;
        background: url("/site/219/theme/garden/images/TOP_RIGHT_200X390.png") no-repeat left top !important;
        background-size: 80px 156px !important;
        pointer-events: none !important;
    }

    html body .site-logo,
    html body .site-logo-box,
    html body .site-header-logo {
        position: relative !important;
        z-index: 2 !important;
        display: block !important;
        flex: 0 0 300px !important;
        width: 300px !important;
        min-width: 300px !important;
        max-width: 300px !important;
        height: 156px !important;
        min-height: 156px !important;
        max-height: 156px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        line-height: 0 !important;
        background-color: #12161E !important;
        box-sizing: border-box !important;
    }

    html body .site-top-banner,
    html body .site-top-banner-box,
    html body .top-banner,
    html body .header-banner {
        position: relative !important;
        z-index: 2 !important;
        display: block !important;
        flex: 0 0 900px !important;
        width: 900px !important;
        min-width: 900px !important;
        max-width: 900px !important;
        height: 156px !important;
        min-height: 156px !important;
        max-height: 156px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        line-height: 0 !important;
        background-color: #12161E !important;
        box-sizing: border-box !important;
    }

    html body .site-logo img,
    html body .site-logo-box img,
    html body .site-header-logo img,
    html body .site-top-banner img,
    html body .site-top-banner-box img,
    html body .top-banner img,
    html body .header-banner img {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: 156px !important;
        min-height: 156px !important;
        max-height: 156px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        object-fit: cover !important;
        object-position: center center !important;
        vertical-align: top !important;
        background-color: #12161E !important;
        box-sizing: border-box !important;
    }

    html body .qpy-mobile-menu-toggle,
    html body .qpy-mobile-nav-panel {
        display: none !important;
    }
}
/* step304_pc_header_logo_banner_white_fix_end */

/* =========================================================
   step302_garden_mobile_responsive_and_home_business_line_start
   页面：首页 home / 二级页面 secondary / 产品页 product
   区块：首页业务范围分隔线、移动端 header/nav、slider、首页布局、二级页布局、产品页、详情富文本
   对应模板：site_style_theme.home_template_html；front_v2/components/header.html；front_v2/components/nav.html；栏目/详情/产品页数据库模板字段
   对应 HTML 标记：home-business-list / qpy-mobile-menu-toggle / qpyMobileNavPanel / site-slider / old-home-step96 / qpy-detail-layout-page / qpy-product-list-layout-page

   可调参数：
   1. 手机断点：@media (max-width: 768px)
   2. 移动端导航背景色：.qpy-mobile-nav-panel background-color
   3. 移动端导航按钮尺寸：.qpy-mobile-menu-toggle width / height
   4. 移动端轮播比例：.site-slider aspect-ratio
   5. 首页行业资讯显示条数：nth-child(n+7)
   6. 首页藏品展示显示条数：nth-child(n+3)
   ========================================================= */

/* 首页 home / 业务范围 business-scope：分隔线对齐拍卖信息 auction-info，PC 与移动端共用。 */
.old-home-step96 .step147-business-list > li,
.old-home-step96 .home-business-list > li,
.old-home-step96 .step147-business-list.home-business-list > li {
    border-bottom: 1px dotted #d7e6c5 !important;
    background: none !important;
    background-image: none !important;
}

.old-home-step96 .home-business-list .home-business-text {
    text-decoration: none !important;
}

@media (max-width: 768px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        background: #0b1010 !important;
        color: #d6b36a !important;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box !important;
    }

    img,
    video,
    iframe,
    embed,
    object {
        max-width: 100% !important;
    }

    /* common-header / mobile-nav：只覆盖 garden 视觉，不改通用模板结构。 */
    .site-header {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 76px !important;
        background: #10161d !important;
        border-bottom: 1px solid rgba(171, 111, 52, .78) !important;
        overflow: visible !important;
    }

    .site-header-inner {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 76px !important;
        min-height: 76px !important;
        padding: 8px 12px !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        background: #10161d !important;
        overflow: visible !important;
    }

    .site-logo,
    .site-logo-box,
    .site-header-logo {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 62px) !important;
        height: 60px !important;
        min-height: 60px !important;
        max-height: 60px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
        background: transparent !important;
    }

    .site-logo img,
    .site-logo-box img,
    .site-header-logo img {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 58px !important;
        object-fit: contain !important;
        background: transparent !important;
    }

    .site-top-banner,
    .site-top-banner-box,
    .top-banner,
    .header-banner {
        display: none !important;
    }

    .site-nav-wrap {
        display: none !important;
    }

    .qpy-mobile-menu-toggle {
        position: static !important;
        display: inline-flex !important;
        flex: 0 0 48px !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 5px !important;
        border: 1px solid rgba(171, 111, 52, .86) !important;
        border-radius: 6px !important;
        background: #2a3036 !important;
        box-shadow: none !important;
        cursor: pointer !important;
        z-index: 100000 !important;
    }

    .qpy-mobile-menu-toggle span {
        display: block !important;
        width: 24px !important;
        height: 2px !important;
        border-radius: 2px !important;
        background: #d6b36a !important;
    }

    .qpy-mobile-nav-panel {
        display: none !important;
        position: absolute !important;
        z-index: 99999 !important;
        left: 10px !important;
        right: 10px !important;
        top: 76px !important;
        padding: 8px 0 !important;
        background: #171d23 !important;
        background-image: none !important;
        border: 1px solid rgba(171, 111, 52, .78) !important;
        border-radius: 4px !important;
        box-shadow: 0 10px 24px rgba(0,0,0,.36) !important;
    }

    body.qpy-mobile-nav-open .qpy-mobile-nav-panel {
        display: block !important;
    }

    .qpy-mobile-nav-list {
        margin: 0 !important;
        padding: 0 12px !important;
        list-style: none !important;
    }

    .qpy-mobile-nav-item {
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(232, 235, 226, .18) !important;
        text-align: center !important;
        background: transparent !important;
    }

    .qpy-mobile-nav-item:last-child {
        border-bottom: 0 !important;
    }

    .qpy-mobile-nav-link {
        display: block !important;
        padding: 14px 0 !important;
        color: #d6b36a !important;
        -webkit-text-fill-color: #d6b36a !important;
        font-size: 18px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        background: transparent !important;
    }

    .qpy-mobile-nav-link:hover,
    .qpy-mobile-nav-link:active,
    .qpy-mobile-nav-link.active {
        color: #fff2c5 !important;
        -webkit-text-fill-color: #fff2c5 !important;
        background: rgba(111, 85, 27, .26) !important;
        text-decoration: none !important;
    }

    /* common-slider / mobile-slider：移动端轮播缩放，不影响 PC 端 1200x500。 */
    .site-slider-wrap,
    .slider-wrap,
    .home-slider-wrap,
    .banner-wrap {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #0b1010 !important;
    }

    .site-slider,
    .slider,
    .home-slider,
    .swiper,
    .swiper-container,
    .banner-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 240px !important;
        aspect-ratio: 2 / 1 !important;
        margin: 0 auto !important;
        overflow: hidden !important;
        background: #0b1010 !important;
    }

    .site-slide,
    .slide,
    .swiper-slide {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    .site-slide img,
    .slide img,
    .swiper-slide img,
    .site-slider img,
    .slider img,
    .home-slider img,
    .banner-container img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-slider-arrow,
    .slider-prev,
    .slider-next,
    .site-slider-prev,
    .site-slider-next {
        width: 32px !important;
        height: 44px !important;
        line-height: 44px !important;
        font-size: 28px !important;
        border-radius: 4px !important;
        background: rgba(0,0,0,.42) !important;
        color: #f0d28b !important;
    }

    .site-slider-prev,
    .slider-prev {
        left: 8px !important;
    }

    .site-slider-next,
    .slider-next {
        right: 8px !important;
    }

    .site-slider-dots,
    .slider-dots,
    .banner-dots {
        bottom: 8px !important;
    }

    .site-slider-dots span,
    .slider-dot,
    .banner-dot {
        width: 8px !important;
        height: 8px !important;
        margin: 0 3px !important;
        background: rgba(214, 179, 106, .42) !important;
    }

    .site-slider-dots span.active,
    .slider-dot.active,
    .banner-dot.active {
        background: #d6b36a !important;
    }

    /* home / mobile-layout：使用 garden 深色视觉覆盖旧移动端春绿视觉。 */
    .site-main,
    .old-home-step96 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #0b1010 !important;
        color: #d6b36a !important;
    }

    .old-home-step96 .old-layout,
    .old-home-step96 .old-left-col,
    .old-home-step96 .old-right-col,
    .old-home-step96 .old-two-box-row {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .old-home-step96 .old-box,
    .old-home-step96 .module,
    .old-home-step96 .home-business-scope,
    .old-home-step96 .home-auction-info,
    .old-home-step96 .home-news-list,
    .old-home-step96 .home-product-showcase,
    .old-home-step96 .home-company-intro {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #0f1516 !important;
        background-image: none !important;
        border: 1px solid rgba(171, 111, 52, .72) !important;
        box-shadow: none !important;
    }

    .old-home-step96 .home-media-video,
    .old-home-step96 .home-partner-platform {
        display: none !important;
    }

    .old-home-step96 .old-box-title,
    .old-home-step96 .module-title,
    .old-home-step96 .home-module-title-with-more {
        height: 44px !important;
        min-height: 44px !important;
        line-height: 44px !important;
        margin: 0 !important;
        padding: 0 12px 0 18px !important;
        overflow: hidden !important;
        background: #151b20 !important;
        border-bottom: 1px solid rgba(171, 111, 52, .60) !important;
    }

    .old-home-step96 .old-box-title::before,
    .old-home-step96 .module-title::before,
    .old-home-step96 .home-module-title-with-more::before {
        content: none !important;
        display: none !important;
    }

    .old-home-step96 .old-box-title span,
    .old-home-step96 .module-title span,
    .old-home-step96 .home-module-title-with-more span,
    .old-home-step96 .home-title-link span {
        height: 44px !important;
        line-height: 44px !important;
        padding: 0 !important;
        background: none !important;
        color: #f0d28b !important;
        -webkit-text-fill-color: #f0d28b !important;
        font-size: 18px !important;
        font-weight: 700 !important;
    }

    .old-home-step96 .old-more,
    .old-home-step96 .home-module-more {
        height: 44px !important;
        line-height: 44px !important;
        top: 0 !important;
        right: 12px !important;
        color: rgba(214, 179, 106, .76) !important;
        font-size: 13px !important;
    }

    .old-home-step96 .home-company-intro-body {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        padding: 12px !important;
        height: auto !important;
        overflow: visible !important;
    }

    .old-home-step96 .home-company-intro-image,
    .old-home-step96 .home-company-intro-image[style] {
        order: 1 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 2px !important;
        float: none !important;
        overflow: hidden !important;
        border: 1px solid rgba(171, 111, 52, .56) !important;
        background: #0b1010 !important;
    }

    .old-home-step96 .home-company-intro-img,
    .old-home-step96 .home-company-intro-img[style] {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: cover !important;
    }

    .old-home-step96 .home-company-intro-text {
        order: 2 !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        color: #d8c99b !important;
        -webkit-text-fill-color: #d8c99b !important;
        font-size: 16px !important;
        line-height: 1.8 !important;
        text-align: justify !important;
    }

    .old-home-step96 .home-business-list,
    .old-home-step96 .home-auction-list,
    .old-home-step96 .home-news-grid,
    .old-home-step96 .old-news-list-bottom {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        overflow: visible !important;
        columns: auto !important;
        column-count: 1 !important;
        background: transparent !important;
    }

    .old-home-step96 .home-business-list li,
    .old-home-step96 .home-auction-list li,
    .old-home-step96 .home-news-grid-item,
    .old-home-step96 .old-news-list-bottom li {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 10px 12px 10px 28px !important;
        border-bottom: 1px dotted #d7e6c5 !important;
        background: transparent !important;
        color: #d6b36a !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
        overflow: hidden !important;
    }

    .old-home-step96 .home-business-list li::before,
    .old-home-step96 .home-auction-list li::before,
    .old-home-step96 .home-news-grid-item::before,
    .old-home-step96 .old-news-list-bottom li::before {
        content: "✦" !important;
        display: block !important;
        position: absolute !important;
        left: 10px !important;
        top: 10px !important;
        width: 12px !important;
        height: 20px !important;
        line-height: 20px !important;
        color: #d6b36a !important;
        font-size: 10px !important;
        background: none !important;
    }

    .old-home-step96 .home-business-text,
    .old-home-step96 .home-business-list a,
    .old-home-step96 .home-auction-list a,
    .old-home-step96 .home-news-grid-item a,
    .old-home-step96 .old-news-list-bottom li a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        line-height: 1.45 !important;
        color: #d6b36a !important;
        -webkit-text-fill-color: #d6b36a !important;
        font-size: 16px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        text-decoration: none !important;
        background: transparent !important;
    }

    .old-home-step96 .home-auction-date {
        display: none !important;
    }

    .old-home-step96 .home-news-feature,
    .old-home-step96 .old-news-feature,
    .old-home-step96 .home-news-feature-cover,
    .old-home-step96 .home-news-feature-desc,
    .old-home-step96 .old-news-img,
    .old-home-step96 .old-news-text p {
        display: none !important;
        height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .old-home-step96 .home-news-grid-item:nth-child(n+7),
    .old-home-step96 .old-news-list-bottom li:nth-child(n+7) {
        display: none !important;
    }

    .old-home-step96 .old-product-list.home-product-grid,
    .old-home-step96 .home-product-grid,
    .old-home-step96 .old-product-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 12px !important;
        overflow: hidden !important;
        background: transparent !important;
    }

    .old-home-step96 .home-product-card,
    .old-home-step96 .old-product-item,
    .old-home-step96 .old-product-item.home-product-card {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        flex-direction: column !important;
        align-items: center !important;
        overflow: hidden !important;
    }

    .old-home-step96 .home-product-card:nth-child(n+3),
    .old-home-step96 .old-product-item:nth-child(n+3) {
        display: none !important;
    }

    .old-home-step96 .home-product-img-box,
    .old-home-step96 .home-product-img-box[style] {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
        margin: 0 0 6px 0 !important;
        padding: 2px !important;
        background: #0b1010 !important;
        border: 1px solid rgba(171, 111, 52, .60) !important;
    }

    .old-home-step96 .home-product-img,
    .old-home-step96 .home-product-img[style] {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .old-home-step96 .home-product-title {
        display: block !important;
        max-width: 100% !important;
        color: #d6b36a !important;
        -webkit-text-fill-color: #d6b36a !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* secondary / mobile-layout：隐藏左侧公共栏，右侧内容全宽。 */
    #qpyLeftSidebar,
    .qpy-left-sidebar,
    .column-sidebar,
    .qpy-list-sidebar,
    .qpy-detail-sidebar,
    .qpy-image-list-sidebar,
    .qpy-product-list-sidebar,
    .qpy-product-detail-sidebar {
        display: none !important;
    }

    .column-layout,
    .qpy-list-layout-page,
    .qpy-image-list-layout-page,
    .qpy-detail-layout-page,
    .qpy-product-list-layout-page,
    .qpy-product-detail-layout-page,
    .qpy-product-detail-wrap,
    .qpy-product-list-wrap {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        grid-template-columns: 1fr !important;
        background: #0b1010 !important;
        overflow: visible !important;
    }

    .column-content,
    .qpy-list-main,
    .qpy-image-list-main,
    .qpy-detail-main,
    .qpy-product-list-main,
    .qpy-product-detail-main,
    .qpy-product-pc-right-wrap,
    .qpy-product-detail-content,
    .qpy-product-detail-article-box,
    .qpy-product-list-article-box {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 10px !important;
        float: none !important;
        flex: 0 0 100% !important;
        background: #0b1010 !important;
        box-sizing: border-box !important;
    }

    .qpy-detail-section-bar,
    .qpy-detail-section-bar.qpy-list-section-bar,
    .qpy-detail-section-bar.qpy-product-list-section-bar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 38px !important;
        margin: 0 0 10px 0 !important;
        padding: 0 8px !important;
        border: 1px solid rgba(171, 111, 52, .78) !important;
        background: #10161d !important;
        overflow: visible !important;
    }

    .qpy-detail-section-bar .qpy-detail-section-left,
    .qpy-detail-section-bar .qpy-list-section-left,
    .qpy-detail-section-bar .qpy-product-list-section-left {
        min-width: 0 !important;
        height: 36px !important;
        min-height: 36px !important;
        margin: 0 !important;
    }

    .qpy-detail-section-bar .qpy-detail-section-name,
    .qpy-detail-section-bar .qpy-list-section-name,
    .qpy-detail-section-bar .qpy-product-list-section-name {
        min-width: 82px !important;
        height: 30px !important;
        line-height: 30px !important;
        padding: 0 12px !important;
        color: #f0d28b !important;
        -webkit-text-fill-color: #f0d28b !important;
        background: #6f551b !important;
        font-size: 14px !important;
    }

    .qpy-detail-location,
    .qpy-list-location,
    .qpy-product-list-location,
    .qpy-product-detail-location {
        display: block !important;
        width: 100% !important;
        padding: 4px 0 8px !important;
        color: #d8c99b !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        white-space: normal !important;
    }

    .qpy-detail-article-box,
    .qpy-list-article-box,
    .qpy-image-list-article-box,
    .qpy-product-detail-box,
    .qpy-product-list-content-box,
    .qpy-product-detail-layout-page .qpy-product-detail-main {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 10px !important;
        overflow: visible !important;
        background: #10161d !important;
        border-color: rgba(171, 111, 52, .58) !important;
    }

    .qpy-detail-content,
    .qpy-detail-content-wrap,
    .qpy-detail-richtext-box,
    .renderer-article-content,
    .qpy-image-article-text {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    .qpy-detail-content img,
    .qpy-detail-content video,
    .qpy-detail-content iframe,
    .qpy-detail-content embed,
    .qpy-detail-content object,
    .renderer-article-content img,
    .qpy-product-detail-main img {
        max-width: 100% !important;
        height: auto !important;
    }

    .qpy-detail-content table,
    .renderer-article-content table,
    .qpy-product-detail-main table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        word-break: break-word !important;
    }

    /* product-list / mobile-product：产品网格和筛选弹窗不撑破屏幕。 */
    .qpy-product-grid,
    .qpy-product-list-main .qpy-product-grid,
    .qpy-product-card-grid,
    .qpy-image-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .qpy-product-card,
    .qpy-product-item,
    .qpy-image-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .qpy-product-cover-box,
    .qpy-product-card-img-box,
    .qpy-image-card-cover {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        background: #0b1010 !important;
        border-color: rgba(171, 111, 52, .58) !important;
        overflow: hidden !important;
    }

    .qpy-product-cover-img,
    .qpy-product-cover-box img,
    .qpy-product-card img,
    .qpy-image-card img {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }

    .qpy-product-title,
    .qpy-product-card-title,
    .qpy-image-card-title {
        max-width: 100% !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .qpy-product-pc-filter-popup,
    .qpy-product-mobile-filter-popup,
    .qpy-product-filter-box {
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        max-width: calc(100vw - 20px) !important;
        background: #141a21 !important;
        border-color: rgba(171, 111, 52, .58) !important;
        color: #d8c99b !important;
    }

    /* product-detail / mobile-param-table：参数表在手机端换行，不横向撑爆。 */
    .qpy-product-detail-layout-page .qpy-product-param-table,
    .qpy-product-detail-layout-page table.qpy-product-param-table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        font-size: 12px !important;
    }

    .qpy-product-detail-layout-page .qpy-product-param-table th,
    .qpy-product-detail-layout-page .qpy-product-param-table td {
        width: auto !important;
        max-width: 50% !important;
        padding: 7px 6px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        color: #d6b36a !important;
        -webkit-text-fill-color: #d6b36a !important;
    }

    .site-footer,
    .site-footer-inner {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        background: #0b0f15 !important;
        color: #d6b36a !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
        text-align: center !important;
    }
}
/* step302_garden_mobile_responsive_and_home_business_line_end */

/* =========================================================
   页面：common-header / home / article-list / product-list / article-detail / product-detail
   区块：移动端 banner 与二级页布局 step303
   对应模板：site_style_theme 数据库模板字段 + templates/front_v2/base.html
   对应 HTML 标记：site-slider-wrap；qpy-mobile-menu-toggle；qpy-detail-layout-page；qpy-product-list-layout-page

   可调参数：
   1. 手机断点：@media (max-width: 1200px)
   2. 轮播高度：height: clamp(160px, 46vw, 210px)
   3. 页面边距：padding-left / padding-right
   4. 产品移动端列数：grid-template-columns
   5. 参数表字号：font-size
   step303_garden_mobile_banner_and_secondary_pages_fix_start
   ========================================================= */
@media (max-width: 768px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    html body .site-page,
    html body .site-main,
    html body .site-header,
    html body .site-header-inner,
    html body .site-footer,
    html body .site-footer-inner {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* 页面：common-header；区块：移动端导航；旧模板兼容，不建议新增使用 */
    html body .site-header {
        position: relative !important;
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
        overflow: visible !important;
        background: #151719 !important;
        border-bottom: 1px solid #6d5724 !important;
    }

    html body .site-header-inner {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
        padding: 8px 12px !important;
        overflow: visible !important;
    }

    html body .site-logo-box {
        display: block !important;
        flex: 0 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 58px) !important;
        height: 56px !important;
        min-height: 56px !important;
    }

    html body .site-logo-box img {
        width: auto !important;
        max-width: 100% !important;
        height: 56px !important;
        max-height: 56px !important;
        object-fit: contain !important;
    }

    html body .site-top-banner,
    html body .site-top-banner-box {
        display: none !important;
    }

    html body .site-nav-wrap,
    html body .site-nav {
        display: none !important;
    }

    html body .qpy-mobile-menu-toggle {
        position: fixed !important;
        top: 17px !important;
        right: 12px !important;
        z-index: 200000 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 5px !important;
        flex: 0 0 42px !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 38px !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        border: 1px solid #8a6c2c !important;
        border-radius: 4px !important;
        background: #24282c !important;
        box-shadow: none !important;
    }

    html body .qpy-mobile-menu-toggle span {
        display: block !important;
        width: 24px !important;
        height: 2px !important;
        border-radius: 2px !important;
        background: #d8b85c !important;
        border-color: #d8b85c !important;
    }

    html body .qpy-mobile-nav-panel {
        top: 72px !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        max-width: none !important;
        background: #1c2023 !important;
        border: 1px solid #7d642d !important;
        box-shadow: 0 10px 24px rgba(0, 0, 0, .42) !important;
    }

    html body .qpy-mobile-nav-link,
    html body .qpy-mobile-nav-item a {
        color: #d9bc69 !important;
        background: transparent !important;
        border-bottom: 1px dashed rgba(219, 210, 176, .28) !important;
    }

    html body .qpy-mobile-nav-link:hover,
    html body .qpy-mobile-nav-link.active {
        color: #fff2b0 !important;
        background: #2b2a22 !important;
    }

    /* 页面：首页 home；区块：滚动 banner home-slider */
    html body .site-slider-wrap,
    html body .site-slider,
    html body .slider,
    html body .banner-container,
    html body .slider-container,
    html body .qpy-slider,
    html body .qpy-slider-wrap,
    html body .site-banner-slider,
    html body .site-rolling-banner,
    html body .rolling-banner,
    html body .top-slider,
    html body .top-banner-slider {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: clamp(160px, 46vw, 210px) !important;
        min-height: 160px !important;
        max-height: 210px !important;
        aspect-ratio: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    html body .site-slide,
    html body .slide,
    html body .swiper-slide,
    html body .banner-slide {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: 210px !important;
        overflow: hidden !important;
    }

    html body .site-slider img,
    html body .site-slider-wrap img,
    html body .site-slide img,
    html body .slider img,
    html body .banner-container img,
    html body .slider-container img,
    html body .qpy-slider img,
    html body .qpy-slider-wrap img,
    html body .site-banner-slider img,
    html body .site-rolling-banner img,
    html body .rolling-banner img,
    html body .top-slider img,
    html body .top-banner-slider img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: 210px !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    html body .site-slider-arrow,
    html body .slider-prev,
    html body .slider-next {
        width: 28px !important;
        height: 34px !important;
        line-height: 34px !important;
        font-size: 24px !important;
        opacity: .82 !important;
    }

    html body .site-slider-prev,
    html body .slider-prev {
        left: 8px !important;
    }

    html body .site-slider-next,
    html body .slider-next {
        right: 8px !important;
    }

    html body .site-slider-dots,
    html body .slider-dots,
    html body .banner-dots {
        bottom: 7px !important;
        gap: 5px !important;
    }

    html body .site-slider-dots span,
    html body .slider-dot,
    html body .banner-dot {
        width: 6px !important;
        height: 6px !important;
    }

    /* 页面：首页 home；区块：首页移动端布局 home-mobile-layout */
    html body .old-home-step96,
    html body .old-home-step96 .old-home-main,
    html body .old-home-step96 .old-home-container,
    html body .old-home-step96 .old-home-left,
    html body .old-home-step96 .old-home-right,
    html body .old-home-step96 .old-home-row,
    html body .old-home-step96 .old-two-col-row,
    html body .old-home-step96 .old-box,
    html body .old-home-step96 .module {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    html body .old-home-step96 .old-home-main,
    html body .old-home-step96 .old-home-container {
        display: block !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    html body .old-home-step96 .old-home-left,
    html body .old-home-step96 .old-home-right,
    html body .old-home-step96 .old-home-row,
    html body .old-home-step96 .old-two-col-row {
        display: block !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html body .old-home-step96 .home-company-intro-body {
        display: block !important;
    }

    html body .old-home-step96 .home-company-intro-image,
    html body .old-home-step96 .home-company-intro-image[style] {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 0 12px 0 !important;
        background: #171b1e !important;
        border-color: #6d5724 !important;
    }

    html body .old-home-step96 .home-company-intro-img {
        width: 100% !important;
        height: auto !important;
        max-height: 220px !important;
        object-fit: contain !important;
    }

    html body .old-home-step96 .home-company-intro-text {
        width: 100% !important;
        max-width: 100% !important;
        color: #d9c987 !important;
    }

    html body .old-home-step96 .home-media-video,
    html body .old-home-step96 .home-partner-platform {
        display: none !important;
    }

    html body .old-home-step96 .home-business-scope,
    html body .old-home-step96 .home-auction-info,
    html body .old-home-step96 .home-news-list,
    html body .old-home-step96 .home-product-showcase {
        display: block !important;
        margin: 0 0 14px 0 !important;
    }

    html body .old-home-step96 .home-news-list .old-news-feature,
    html body .old-home-step96 .home-news-list .home-news-feature,
    html body .old-home-step96 .home-news-list .home-news-feature-cover,
    html body .old-home-step96 .home-news-list .home-news-feature-img,
    html body .old-home-step96 .home-news-list .home-news-feature-desc,
    html body .old-home-step96 .home-news-list .home-news-summary,
    html body .old-home-step96 .home-news-list .home-news-img,
    html body .old-home-step96 .home-news-list img {
        display: none !important;
    }

    html body .old-home-step96 .home-news-list .old-news-list,
    html body .old-home-step96 .home-news-list .home-news-grid,
    html body .old-home-step96 .home-news-list ul {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body .old-home-step96 .home-news-list li,
    html body .old-home-step96 .home-news-list .home-news-item,
    html body .old-home-step96 .home-news-list .home-news-grid-item {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body .old-home-step96 .home-news-list li:nth-of-type(n+7),
    html body .old-home-step96 .home-news-list .home-news-item:nth-of-type(n+7),
    html body .old-home-step96 .home-news-list .home-news-grid-item:nth-of-type(n+7) {
        display: none !important;
    }

    html body .old-home-step96 .home-product-showcase .home-product-grid,
    html body .old-home-step96 .home-product-showcase .old-product-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    html body .old-home-step96 .home-product-showcase .home-product-card:nth-of-type(n+3),
    html body .old-home-step96 .home-product-showcase .old-product-item:nth-of-type(n+3) {
        display: none !important;
    }

    html body .old-home-step96 .home-product-showcase .home-product-card,
    html body .old-home-step96 .home-product-showcase .old-product-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    html body .old-home-step96 .home-product-showcase .home-product-img-box,
    html body .old-home-step96 .home-product-showcase .home-product-img-box[style] {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
        background: #171b1e !important;
        border-color: #6d5724 !important;
    }

    html body .old-home-step96 .home-product-showcase .home-product-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }

    /* 页面：article-list / article-detail；区块：二级页移动端布局 secondary-mobile-layout */
    html body .qpy-detail-layout-page,
    html body .qpy-list-layout-page,
    html body .qpy-image-list-layout-page,
    html body .qpy-product-list-layout-page,
    html body .qpy-product-detail-layout-page,
    html body .column-layout,
    html body .product-detail-layout {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }

    html body .qpy-detail-sidebar,
    html body .qpy-list-sidebar,
    html body .qpy-image-list-sidebar,
    html body .qpy-product-list-sidebar,
    html body .qpy-product-detail-sidebar,
    html body .column-sidebar,
    html body .qpy-left-sidebar {
        display: none !important;
    }

    html body .qpy-detail-main,
    html body .qpy-list-main,
    html body .qpy-image-list-main,
    html body .qpy-product-list-main,
    html body .qpy-product-detail-main,
    html body .column-content,
    html body .qpy-detail-article-box,
    html body .qpy-list-article-box,
    html body .qpy-image-list-article-box,
    html body .qpy-product-list-article-box,
    html body .qpy-product-detail-box {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    html body .qpy-detail-section-bar,
    html body .qpy-list-section-bar,
    html body .qpy-image-list-section-bar,
    html body .qpy-product-list-section-bar,
    html body .qpy-product-detail-section-bar {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 40px !important;
        margin: 0 0 10px 0 !important;
        padding: 0 10px 8px 10px !important;
        border: 1px solid #6d5724 !important;
        border-top: 1px solid #6d5724 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    html body .qpy-detail-section-left,
    html body .qpy-list-section-left,
    html body .qpy-image-list-section-left {
        display: inline-flex !important;
        align-items: center !important;
        max-width: 100% !important;
        margin: -1px 0 6px -1px !important;
    }

    html body .qpy-detail-location,
    html body .qpy-list-location,
    html body .qpy-image-list-location {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 2px 0 0 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        color: #cdbf83 !important;
        text-align: left !important;
    }

    html body .qpy-detail-header,
    html body .qpy-detail-intro,
    html body .qpy-detail-richtext-box,
    html body .qpy-detail-content-wrap,
    html body .qpy-detail-content,
    html body .renderer-article-content,
    html body .qpy-list-content,
    html body .qpy-image-list-content,
    html body .qpy-product-list-content-box,
    html body .qpy-product-description {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    html body .qpy-detail-content img,
    html body .qpy-detail-content video,
    html body .qpy-detail-content iframe,
    html body .renderer-article-content img,
    html body .qpy-image-list-content img,
    html body .qpy-product-description img {
        max-width: 100% !important;
        height: auto !important;
    }

    html body .qpy-detail-content table,
    html body .renderer-article-content table,
    html body .qpy-product-param-table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        word-break: break-word !important;
    }

    html body .qpy-detail-content th,
    html body .qpy-detail-content td,
    html body .renderer-article-content th,
    html body .renderer-article-content td,
    html body .qpy-product-param-table th,
    html body .qpy-product-param-table td {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    html body .qpy-pagination,
    html body .pagination,
    html body .qpy-pager,
    html body .qpy-list-pagination,
    html body .qpy-product-pagination,
    html body .step187-product-pager-links,
    html body .step187-product-pager-info {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 页面：product-list；区块：产品列表移动端 product-list-mobile */
    html body .qpy-product-grid,
    html body .qpy-product-list-main .qpy-product-grid,
    html body .qpy-product-list-main .product-grid,
    html body .qpy-product-list-main .product-list,
    html body .qpy-list-product-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    html body .qpy-product-card,
    html body .qpy-product-item,
    html body .qpy-product-list-main .qpy-product-card,
    html body .qpy-product-list-main .qpy-product-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    html body .qpy-product-cover-box,
    html body .qpy-product-list-main .qpy-product-cover-box {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1 / 1 !important;
        background: #171b1e !important;
        border-color: #6d5724 !important;
    }

    html body .qpy-product-cover-img,
    html body .qpy-product-cover-box img,
    html body .qpy-product-list-main .qpy-product-cover-img,
    html body .qpy-product-list-main .qpy-product-cover-box img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }

    html body .qpy-product-filter-box,
    html body .qpy-product-filter-modal,
    html body .qpy-product-filter-panel {
        width: 100% !important;
        max-width: calc(100vw - 20px) !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        background: #1f2326 !important;
        border-color: #6d5724 !important;
    }

    html body .qpy-product-filter-box form,
    html body .qpy-product-filter-form {
        display: block !important;
        width: 100% !important;
    }

    html body .qpy-product-filter-item,
    html body .qpy-product-filter-item select,
    html body .qpy-product-filter-item input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 页面：product-detail；区块：产品详情移动端 product-detail-mobile */
    html body .qpy-product-detail-top-row,
    html body .qpy-product-media-column,
    html body .qpy-product-param-column,
    html body .qpy-product-gallery,
    html body .qpy-product-gallery-stage,
    html body .qpy-product-media-thumbs,
    html body .qpy-product-description-section {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        box-sizing: border-box !important;
    }

    html body .qpy-product-gallery,
    html body .qpy-product-gallery-stage {
        height: auto !important;
        min-height: 0 !important;
    }

    html body .qpy-product-gallery-slide,
    html body .qpy-product-gallery-slide.is-active {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
    }

    html body .qpy-product-gallery-img,
    html body .qpy-product-gallery-slide img,
    html body .qpy-product-detail-box img {
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    html body .qpy-product-thumb-group {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body .qpy-product-thumb,
    html body .qpy-product-thumb-frame {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        aspect-ratio: 1 / 1 !important;
    }

    html body .qpy-product-param-table th,
    html body .qpy-product-param-table td {
        padding: 8px 7px !important;
        font-size: 12px !important;
        line-height: 1.55 !important;
    }

    html body .qpy-product-param-table th {
        width: 34% !important;
    }

    html body .qpy-product-param-table td {
        width: 66% !important;
    }

    /* 页面：common-footer；区块：移动端页脚 footer-mobile */
    html body .site-footer,
    html body .site-footer * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    html body .site-footer {
        text-align: center !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        overflow-wrap: anywhere !important;
    }
}
/* step303_garden_mobile_banner_and_secondary_pages_fix_end */

/* step306_garden_mobile_slider_product_white_fix_start
   页面：garden 移动端首页
   修复：
   1. 移动端滚动 Banner 外框缩小后，内部图片仍按 PC 大图裁切，只显示局部；
   2. 移动端“藏品展示”模块上下出现白色背景漏出。
   原则：
   - 仅 max-width:768px 生效；
   - 不影响 PC 端；
   - 不改 Python，不改模板；
   - CSS 源头保存到 site_style_theme.custom_css，并同步静态 custom.css。
*/
@media (max-width: 768px) {
    /* step306-1：移动端滚动 Banner：外框和图片同步缩小，避免只看到局部 */
    html body .site-slider,
    html body .site-slider-wrap,
    html body .home-slider,
    html body .home-slider-wrap,
    html body .slider,
    html body .slider-wrap,
    html body .swiper,
    html body .swiper-container,
    html body .banner-slider,
    html body .top-banner-slider {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        height: clamp(155px, 41.6667vw, 220px) !important;
        min-height: clamp(155px, 41.6667vw, 220px) !important;
        max-height: 220px !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        overflow: hidden !important;
        background: #10151c !important;
        box-sizing: border-box !important;
    }

    html body .site-slider-inner,
    html body .slider-inner,
    html body .swiper-wrapper,
    html body .banner-slider-inner,
    html body .top-banner-slider-inner {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    html body .site-slider .slide,
    html body .site-slider .slider-item,
    html body .site-slider .swiper-slide,
    html body .slider .slide,
    html body .slider .slider-item,
    html body .slider .swiper-slide,
    html body .swiper-slide,
    html body .banner-slider .slide,
    html body .banner-slider .slider-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
        background-color: #10151c !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-position: center center !important;
        box-sizing: border-box !important;
    }

    html body .site-slider img,
    html body .home-slider img,
    html body .slider img,
    html body .swiper img,
    html body .swiper-slide img,
    html body .banner-slider img,
    html body .top-banner-slider img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: 0 !important;
        background: #10151c !important;
        box-sizing: border-box !important;
    }

    /* 移动端轮播箭头和圆点缩小，避免压住画面 */
    html body .site-slider .slider-arrow,
    html body .slider .slider-arrow,
    html body .banner-slider .slider-arrow,
    html body .swiper-button-prev,
    html body .swiper-button-next {
        width: 28px !important;
        height: 42px !important;
        line-height: 42px !important;
        font-size: 22px !important;
        background: rgba(12, 16, 22, .55) !important;
        border: 1px solid rgba(215, 173, 103, .75) !important;
        color: #f0d28b !important;
    }

    html body .site-slider .slider-dots,
    html body .slider .slider-dots,
    html body .banner-slider .slider-dots,
    html body .swiper-pagination {
        bottom: 8px !important;
        transform: scale(.78) !important;
        transform-origin: center center !important;
    }

    /* step306-2：藏品展示模块上下漏白修复 */
    html body,
    html body .site-main,
    html body .site-content,
    html body .content-wrap,
    html body .old-home,
    html body .old-home-step96 {
        background-color: #12161E !important;
    }

    html body .old-home-step96 .home-product-showcase,
    html body .old-home-step96 .home-product-showcase .module-body,
    html body .old-home-step96 .home-product-showcase .home-product-body,
    html body .old-home-step96 .home-product-showcase .home-product-grid,
    html body .old-home-step96 .old-product-list,
    html body .old-home-step96 .product-grid {
        background-color: #10151c !important;
        background-image: none !important;
        box-sizing: border-box !important;
    }

    html body .old-home-step96 .home-product-showcase {
        margin-top: 14px !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 14px !important;
        border-top: 1px solid rgba(160, 103, 55, .82) !important;
        border-bottom: 1px solid rgba(160, 103, 55, .82) !important;
    }

    html body .old-home-step96 .home-product-showcase::before,
    html body .old-home-step96 .home-product-showcase::after,
    html body .old-home-step96 .home-product-grid::before,
    html body .old-home-step96 .home-product-grid::after,
    html body .old-home-step96 .old-product-list::before,
    html body .old-home-step96 .old-product-list::after {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    html body .old-home-step96 .home-product-showcase .home-product-item,
    html body .old-home-step96 .home-product-showcase .product-item,
    html body .old-home-step96 .old-product-list li,
    html body .old-home-step96 .product-grid li {
        background-color: #10151c !important;
        border-color: rgba(160, 103, 55, .82) !important;
        box-sizing: border-box !important;
    }
}
/* step306_garden_mobile_slider_product_white_fix_end */

/* step307_garden_mobile_slider_specificity_fix_start
   页面：garden 移动端首页滚动 Banner
   问题：移动端 Banner 外框已缩小，但旧 PC 端规则仍以更高选择器权重锁定
         .site-slider .site-slide / img 为 1200×500，导致手机端只看到图片局部。
   判断：本问题优先由 CSS 权重冲突引起，不需要先改 JS。
   修复：
   1. 只在 max-width:768px 手机端生效；
   2. 用真实 DOM 类名 .site-slider-wrap / .site-slider / .site-slide / .site-slide img；
   3. 用更高权重压过旧的 1200×500 规则；
   4. slide 和 img 同步缩到手机 Banner 窗口；
   5. 保留 PC 端 1200×500 效果，不影响桌面端。
*/
@media (max-width: 768px) {
    html body .site-slider-wrap {
        display: block !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #0b1010 !important;
        box-sizing: border-box !important;
    }

    html body .site-slider-wrap > .site-slider,
    html body #siteSlider.site-slider,
    html body .site-slider {
        display: block !important;
        position: relative !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        height: clamp(150px, 41.6667vw, 220px) !important;
        min-height: clamp(150px, 41.6667vw, 220px) !important;
        max-height: 220px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #0b1010 !important;
        box-sizing: border-box !important;
    }

    html body .site-slider-wrap > .site-slider > .site-slide,
    html body #siteSlider.site-slider > .site-slide,
    html body .site-slider .site-slide {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        right: auto !important;
        bottom: auto !important;
        display: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #0b1010 !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    html body .site-slider-wrap > .site-slider > .site-slide.active,
    html body #siteSlider.site-slider > .site-slide.active,
    html body .site-slider .site-slide.active {
        display: block !important;
    }

    html body .site-slider-wrap > .site-slider > .site-slide > img,
    html body #siteSlider.site-slider > .site-slide > img,
    html body .site-slider .site-slide img,
    html body .site-slider .site-slide.active img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
        background: #0b1010 !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    html body .site-slider .site-slide::before,
    html body .site-slider .site-slide::after,
    html body .site-slider::before,
    html body .site-slider::after {
        content: none !important;
        display: none !important;
    }

    html body .site-slider .site-slider-arrow,
    html body .site-slider-arrow,
    html body .site-slider-prev,
    html body .site-slider-next {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 28px !important;
        height: 42px !important;
        line-height: 40px !important;
        font-size: 26px !important;
        z-index: 30 !important;
        background: rgba(0, 0, 0, .36) !important;
        border: 1px solid rgba(214, 179, 106, .72) !important;
        color: #f0d28b !important;
        box-sizing: border-box !important;
    }

    html body .site-slider-prev {
        left: 8px !important;
    }

    html body .site-slider-next {
        right: 8px !important;
    }

    html body .site-slider .site-slider-dots,
    html body .site-slider-dots {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 7px !important;
        z-index: 31 !important;
        height: 12px !important;
        line-height: 12px !important;
        text-align: center !important;
    }

    html body .site-slider .site-slider-dots span,
    html body .site-slider-dots span {
        width: 7px !important;
        height: 7px !important;
        margin: 0 3px !important;
        border-radius: 50% !important;
        background: rgba(214, 179, 106, .48) !important;
    }

    html body .site-slider .site-slider-dots span.active,
    html body .site-slider-dots span.active {
        background: #d6b36a !important;
    }
}
/* step307_garden_mobile_slider_specificity_fix_end */

/* step308_garden_mobile_location_inline_titlebar_fix_start
   页面：garden 移动端二级页
   问题：step302/step303 移动端适配中把 .qpy-detail-location / .qpy-list-location
         设置成 display:block + width:100%，导致“当前位置”掉到标题栏下一行。
   修复：
   1. 只在手机端 max-width:768px 生效；
   2. 标题栏恢复为一行 flex 布局；
   3. 左侧标题标签在左，当前位置在右；
   4. 当前位置过长时单行省略，不再撑开标题栏；
   5. 不改模板、不改 Python，不影响 PC 端。
*/
@media (max-width: 768px) {
    html body .qpy-detail-main > .qpy-detail-section-bar,
    html body .qpy-list-main > .qpy-detail-section-bar,
    html body .qpy-image-list-main > .qpy-detail-section-bar,
    html body .qpy-product-list-main > .qpy-detail-section-bar,
    html body .qpy-product-detail-main > .qpy-detail-section-bar,
    html body .qpy-detail-section-bar,
    html body .qpy-detail-section-bar.qpy-list-section-bar,
    html body .qpy-detail-section-bar.qpy-image-list-section-bar,
    html body .qpy-detail-section-bar.qpy-product-list-section-bar,
    html body .qpy-detail-section-bar.qpy-product-detail-section-bar {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        margin: 0 0 10px 0 !important;
        padding: 0 8px 0 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        border: 1px solid rgba(171, 111, 52, .78) !important;
        background: #10161d !important;
    }

    html body .qpy-detail-section-bar .qpy-detail-section-left,
    html body .qpy-detail-section-bar .qpy-list-section-left,
    html body .qpy-detail-section-bar .qpy-image-list-section-left,
    html body .qpy-detail-section-bar .qpy-product-list-section-left,
    html body .qpy-detail-section-bar .qpy-product-detail-section-left {
        display: flex !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 45% !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: center !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    html body .qpy-detail-section-bar .qpy-detail-section-name,
    html body .qpy-detail-section-bar .qpy-list-section-name,
    html body .qpy-detail-section-bar .qpy-image-list-section-name,
    html body .qpy-detail-section-bar .qpy-product-list-section-name,
    html body .qpy-detail-section-bar .qpy-product-detail-section-name {
        display: inline-block !important;
        flex: 0 0 auto !important;
        min-width: 96px !important;
        max-width: 100% !important;
        width: auto !important;
        height: 32px !important;
        line-height: 32px !important;
        margin: 0 !important;
        padding: 0 18px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        color: #f0d28b !important;
        -webkit-text-fill-color: #f0d28b !important;
        background: #6f551b !important;
        font-size: 14px !important;
        font-weight: bold !important;
        box-sizing: border-box !important;
    }

    html body .qpy-detail-section-bar .qpy-detail-location,
    html body .qpy-detail-section-bar .qpy-list-location,
    html body .qpy-detail-section-bar .qpy-image-list-location,
    html body .qpy-detail-section-bar .qpy-product-list-location,
    html body .qpy-detail-section-bar .qpy-product-detail-location,
    html body .qpy-detail-location,
    html body .qpy-list-location,
    html body .qpy-image-list-location,
    html body .qpy-product-list-location,
    html body .qpy-product-detail-location {
        display: block !important;
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 36px !important;
        line-height: 36px !important;
        margin: 0 0 0 8px !important;
        padding: 0 2px 0 6px !important;
        text-align: right !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        overflow-wrap: normal !important;
        word-break: keep-all !important;
        color: #d8c99b !important;
        -webkit-text-fill-color: #d8c99b !important;
        font-size: 11px !important;
        box-sizing: border-box !important;
    }

    html body .qpy-detail-section-bar .qpy-detail-location a,
    html body .qpy-detail-section-bar .qpy-list-location a,
    html body .qpy-detail-section-bar .qpy-image-list-location a,
    html body .qpy-detail-section-bar .qpy-product-list-location a,
    html body .qpy-detail-section-bar .qpy-product-detail-location a {
        display: inline !important;
        color: #d8c99b !important;
        -webkit-text-fill-color: #d8c99b !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }
}
/* step308_garden_mobile_location_inline_titlebar_fix_end */

/* ===== STEP276_GARDEN_OUTER_BG_PRODUCT_SHOWCASE_FIX_END ===== */

/* =====================================================
   STEP305_GARDEN_PC_LOGO_300X156_ALIGNMENT_FIX_START
   园林风格 PC 顶部 LOGO 精确 300×156 对齐修复
   目的：压过前面所有顶部规则，锁定 LOGO 外框、链接层、图片层三层尺寸一致，
         保证左侧 LOGO 与右侧顶部 banner 无白边、无错位、无不自然过渡。
   说明：仅作用于 PC 端，移动端不受影响。
   ===================================================== */
@media (min-width: 769px) {
    html body .site-header,
    html body header.site-header {
        height: 156px !important;
        min-height: 156px !important;
        overflow: hidden !important;
        background-color: #12161E !important;
    }

    html body .site-header .site-header-inner,
    html body header.site-header .site-header-inner {
        width: 1200px !important;
        max-width: 1200px !important;
        min-width: 1200px !important;
        height: 156px !important;
        min-height: 156px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    html body .site-header .site-logo,
    html body .site-header .site-logo-box,
    html body header.site-header .site-logo,
    html body header.site-header .site-logo-box {
        width: 300px !important;
        min-width: 300px !important;
        max-width: 300px !important;
        flex: 0 0 300px !important;
        height: 156px !important;
        min-height: 156px !important;
        max-height: 156px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        background: #12161E !important;
        border: 0 !important;
    }

    html body .site-header .site-logo a,
    html body .site-header .site-logo-box a,
    html body header.site-header .site-logo a,
    html body header.site-header .site-logo-box a {
        display: block !important;
        width: 300px !important;
        min-width: 300px !important;
        max-width: 300px !important;
        height: 156px !important;
        min-height: 156px !important;
        max-height: 156px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        background: #12161E !important;
        border: 0 !important;
    }

    html body .site-header .site-logo img,
    html body .site-header .site-logo-box img,
    html body header.site-header .site-logo img,
    html body header.site-header .site-logo-box img {
        display: block !important;
        width: 300px !important;
        min-width: 300px !important;
        max-width: 300px !important;
        height: 156px !important;
        min-height: 156px !important;
        max-height: 156px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        object-fit: fill !important;
        object-position: left top !important;
        background: #12161E !important;
        box-sizing: border-box !important;
    }

    html body .site-header .site-top-banner,
    html body .site-header .site-top-banner-box,
    html body header.site-header .site-top-banner,
    html body header.site-header .site-top-banner-box {
        width: 900px !important;
        min-width: 900px !important;
        max-width: 900px !important;
        flex: 0 0 900px !important;
        height: 156px !important;
        min-height: 156px !important;
        max-height: 156px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        background: #12161E !important;
        border: 0 !important;
    }

    html body .site-header .site-top-banner a,
    html body .site-header .site-top-banner-box a,
    html body header.site-header .site-top-banner a,
    html body header.site-header .site-top-banner-box a {
        display: block !important;
        width: 900px !important;
        min-width: 900px !important;
        max-width: 900px !important;
        height: 156px !important;
        min-height: 156px !important;
        max-height: 156px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        background: #12161E !important;
        border: 0 !important;
    }

    html body .site-header .site-top-banner img,
    html body .site-header .site-top-banner-box img,
    html body header.site-header .site-top-banner img,
    html body header.site-header .site-top-banner-box img {
        display: block !important;
        width: 900px !important;
        min-width: 900px !important;
        max-width: 900px !important;
        height: 156px !important;
        min-height: 156px !important;
        max-height: 156px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        object-fit: fill !important;
        object-position: left top !important;
        background: #12161E !important;
        box-sizing: border-box !important;
    }
}
/* STEP305_GARDEN_PC_LOGO_300X156_ALIGNMENT_FIX_END */

/* =========================================================
   页面：产品列表 product-list
   区块：移动端筛选弹窗 product-filter-popup
   对应模板：site_style_theme.product_item_list_template_html
   对应 HTML 标记：#qpyProductMobileFilterOpen / #qpyProductMobileFilterPopup / #qpyProductPcFilterOpen / #qpyProductPcFilterPopup

   可调参数：
   1. 移动端筛选按钮背景：background-color / background-image
   2. 弹窗居中位置：left / top / transform
   3. 弹窗宽高：width / max-height
   4. 弹窗深灰背景：background-color
   5. 暗金边框和文字：border-color / color
   step310_garden_mobile_product_filter_popup_source_fix_start
   ========================================================= */
@media (max-width: 768px) {
    html body .qpy-product-mobile-filter-toolbar,
    html body .qpy-product-pc-filter-toolbar {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    html body #qpyProductMobileFilterOpen,
    html body .qpy-product-mobile-filter-open,
    html body #qpyProductPcFilterOpen,
    html body .qpy-product-pc-filter-open,
    html body .qpy-product-filter-btn,
    html body .qpy-product-filter-reset {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 96px !important;
        height: 36px !important;
        line-height: 34px !important;
        padding: 0 16px !important;
        border: 1px solid rgba(199, 151, 46, .95) !important;
        border-radius: 4px !important;
        background-color: #6f551b !important;
        background-image: linear-gradient(to bottom, #8a6b22 0%, #6f551b 58%, #574014 100%) !important;
        color: #f4e5bc !important;
        -webkit-text-fill-color: #f4e5bc !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        text-align: center !important;
        text-decoration: none !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 1px 3px rgba(0,0,0,.30) !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }

    html body #qpyProductMobileFilterOpen:hover,
    html body .qpy-product-mobile-filter-open:hover,
    html body #qpyProductMobileFilterOpen:active,
    html body .qpy-product-mobile-filter-open:active,
    html body #qpyProductPcFilterOpen:hover,
    html body .qpy-product-pc-filter-open:hover,
    html body #qpyProductPcFilterOpen:active,
    html body .qpy-product-pc-filter-open:active,
    html body .qpy-product-filter-btn:hover,
    html body .qpy-product-filter-btn:active,
    html body .qpy-product-filter-reset:hover,
    html body .qpy-product-filter-reset:active {
        border-color: rgba(217, 174, 72, .98) !important;
        background-color: #80621f !important;
        background-image: linear-gradient(to bottom, #97742a 0%, #80621f 58%, #604816 100%) !important;
        color: #fff3cf !important;
        -webkit-text-fill-color: #fff3cf !important;
    }

    html body #qpyProductMobileFilterMask,
    html body .qpy-product-mobile-filter-mask,
    html body #qpyProductPcFilterMask,
    html body .qpy-product-pc-filter-mask {
        display: block !important;
        position: fixed !important;
        left: 0 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 2147482000 !important;
        background: rgba(0, 0, 0, .62) !important;
        box-sizing: border-box !important;
    }

    html body #qpyProductMobileFilterPopup,
    html body .qpy-product-mobile-filter-popup,
    html body #qpyProductPcFilterPopup,
    html body .qpy-product-pc-filter-popup {
        display: block !important;
        position: fixed !important;
        left: 50vw !important;
        top: 50dvh !important;
        right: auto !important;
        bottom: auto !important;
        z-index: 2147482001 !important;
        transform: translate(-50%, -50%) !important;
        width: min(92vw, 420px) !important;
        max-width: min(92vw, 420px) !important;
        min-width: 0 !important;
        max-height: 82dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 1px solid rgba(180, 143, 58, .82) !important;
        border-radius: 6px !important;
        background-color: #10161d !important;
        background-image: none !important;
        box-shadow: 0 14px 34px rgba(0,0,0,.58) !important;
        box-sizing: border-box !important;
        color: #d9d2c3 !important;
        -webkit-text-fill-color: inherit !important;
    }

    @supports not (height: 100dvh) {
        html body #qpyProductMobileFilterPopup,
        html body .qpy-product-mobile-filter-popup,
        html body #qpyProductPcFilterPopup,
        html body .qpy-product-pc-filter-popup {
            top: 50vh !important;
            max-height: 82vh !important;
        }
    }

    html body .qpy-product-mobile-filter-popup-head,
    html body .qpy-product-pc-filter-popup-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 12px !important;
        border-bottom: 1px solid rgba(180, 143, 58, .62) !important;
        background-color: #1d232b !important;
        background-image: none !important;
        box-sizing: border-box !important;
    }

    html body .qpy-product-mobile-filter-popup-head strong,
    html body .qpy-product-pc-filter-popup-head strong {
        color: #d5a642 !important;
        -webkit-text-fill-color: #d5a642 !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 44px !important;
    }

    html body #qpyProductMobileFilterClose,
    html body .qpy-product-mobile-filter-close,
    html body #qpyProductPcFilterClose,
    html body .qpy-product-pc-filter-close {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 56px !important;
        height: 28px !important;
        line-height: 26px !important;
        padding: 0 10px !important;
        border: 1px solid rgba(180, 143, 58, .62) !important;
        border-radius: 4px !important;
        background-color: #2a3038 !important;
        background-image: none !important;
        color: #f4e5bc !important;
        -webkit-text-fill-color: #f4e5bc !important;
        font-size: 13px !important;
        box-sizing: border-box !important;
    }

    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-box,
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-box,
    html body .qpy-product-mobile-filter-box,
    html body #qpyProductPcFilterPopup .qpy-product-pc-filter-popup-body,
    html body .qpy-product-pc-filter-popup-body {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        max-height: calc(82dvh - 44px) !important;
        margin: 0 !important;
        padding: 12px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        background-color: #10161d !important;
        background-image: none !important;
        box-sizing: border-box !important;
    }

    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-form,
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-form,
    html body .qpy-product-mobile-filter-form,
    html body #qpyProductPcFilterPopup .qpy-product-pc-filter-popup-body form,
    html body .qpy-product-pc-filter-popup-body form {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-row,
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-row,
    html body .qpy-product-mobile-filter-row,
    html body #qpyProductPcFilterPopup .qpy-product-pc-filter-group,
    html body .qpy-product-pc-filter-group {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 10px 0 !important;
        padding: 10px !important;
        border: 1px solid rgba(180, 143, 58, .30) !important;
        border-radius: 3px !important;
        background-color: #1d232b !important;
        background-image: none !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-row:nth-child(even),
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-row:nth-child(even),
    html body .qpy-product-mobile-filter-row:nth-child(even),
    html body #qpyProductPcFilterPopup .qpy-product-pc-filter-group:nth-child(even),
    html body .qpy-product-pc-filter-group:nth-child(even) {
        background-color: #10161d !important;
    }

    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-group-title,
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-group-title,
    html body .qpy-product-mobile-filter-group-title,
    html body #qpyProductPcFilterPopup .qpy-product-pc-filter-group-title,
    html body .qpy-product-pc-filter-group-title {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 0 8px 0 !important;
        padding: 0 0 0 8px !important;
        border-left: 4px solid #8a6921 !important;
        color: #d5a642 !important;
        -webkit-text-fill-color: #d5a642 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 20px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }

    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-item,
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-item,
    html body .qpy-product-mobile-filter-item,
    html body #qpyProductPcFilterPopup .qpy-product-pc-filter-item,
    html body .qpy-product-pc-filter-item {
        display: grid !important;
        grid-template-columns: 74px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-item label,
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-item label,
    html body .qpy-product-mobile-filter-item label,
    html body #qpyProductPcFilterPopup .qpy-product-pc-filter-item label,
    html body .qpy-product-pc-filter-item label,
    html body .qpy-product-filter-label {
        display: block !important;
        width: 74px !important;
        max-width: 74px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #c8a45a !important;
        -webkit-text-fill-color: #c8a45a !important;
        font-size: 12px !important;
        line-height: 30px !important;
        text-align: left !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }

    html body #qpyProductMobileFilterPopup #qpyProductMobileKeyword,
    html body #qpyProductMobileFilterPopup .qpy-product-mobile-keyword-input,
    html body .qpy-product-mobile-filter-popup #qpyProductMobileKeyword,
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-keyword-input,
    html body #qpyProductMobileKeyword,
    html body .qpy-product-mobile-keyword-input,
    html body #qpyProductKeyword,
    html body .qpy-product-keyword-input,
    html body .qpy-product-mobile-filter-select,
    html body .qpy-product-filter-select {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 32px !important;
        line-height: 30px !important;
        margin: 0 !important;
        padding: 0 8px !important;
        border: 1px solid rgba(180, 143, 58, .48) !important;
        border-radius: 2px !important;
        background-color: #20262e !important;
        background-image: none !important;
        color: #f0d28b !important;
        -webkit-text-fill-color: #f0d28b !important;
        font-size: 12px !important;
        box-sizing: border-box !important;
        outline: none !important;
    }

    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-select option,
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-select option,
    html body .qpy-product-mobile-filter-select option,
    html body #qpyProductPcFilterPopup .qpy-product-filter-select option,
    html body .qpy-product-filter-select option {
        background-color: #20262e !important;
        color: #f0d28b !important;
    }

    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-actions,
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-actions,
    html body .qpy-product-mobile-filter-actions,
    html body #qpyProductPcFilterPopup .qpy-product-pc-filter-actions,
    html body .qpy-product-pc-filter-actions {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 10px !important;
        border: 1px solid rgba(180, 143, 58, .30) !important;
        background-color: #10161d !important;
        box-sizing: border-box !important;
    }

    html body #qpyProductMobileFilterApply,
    html body .qpy-product-mobile-filter-btn,
    html body #qpy-product-filter-apply,
    html body .qpy-product-filter-btn,
    html body #qpyProductMobileFilterReset,
    html body .qpy-product-mobile-filter-reset,
    html body #qpy-product-filter-reset,
    html body .qpy-product-filter-reset {
        min-width: 72px !important;
        height: 32px !important;
        line-height: 30px !important;
        font-size: 12px !important;
    }

    html body #qpyProductMobileFilterMask[hidden],
    html body .qpy-product-mobile-filter-mask[hidden],
    html body #qpyProductPcFilterMask[hidden],
    html body .qpy-product-pc-filter-mask[hidden],
    html body #qpyProductMobileFilterPopup[hidden],
    html body .qpy-product-mobile-filter-popup[hidden],
    html body #qpyProductPcFilterPopup[hidden],
    html body .qpy-product-pc-filter-popup[hidden] {
        display: none !important;
    }

    html body.qpy-product-mobile-filter-opened,
    html body.qpy-product-pc-filter-opened {
        overflow: hidden !important;
        touch-action: none !important;
    }
}
/* step310_garden_mobile_product_filter_popup_source_fix_end */

/* =========================================================
   页面：产品列表 / 产品详情 product-list / product-detail
   区块：移动端筛选弹窗按钮 / 产品详情展示标签 mobile-filter-actions / product-detail-tabs
   对应模板：site_style_theme.product_item_list_template_html；site_style_theme.product_item_detail_template_html
   对应 HTML 标记：#qpyProductMobileFilterPopup .qpy-product-mobile-filter-btn；.qpy-product-gallery-slide；.qpy-product-thumb-group

   可调参数：
   1. 筛选/重置按钮背景：background-color / background-image
   2. 筛选/重置按钮边框：border-color
   3. 筛选/重置按钮文字：color
   4. 展示模块激活状态：.is-active / .active
   5. 移动端展示模块布局：display / width / height
   step311_garden_mobile_filter_buttons_and_product_detail_tabs_fix_start
   ========================================================= */
@media (max-width: 768px) {
    html body #qpyProductMobileFilterPopup #qpyProductMobileFilterApply,
    html body #qpyProductMobileFilterPopup #qpyProductMobileFilterReset,
    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-btn,
    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-reset,
    html body .qpy-product-mobile-filter-popup #qpyProductMobileFilterApply,
    html body .qpy-product-mobile-filter-popup #qpyProductMobileFilterReset,
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-btn,
    html body .qpy-product-mobile-filter-popup .qpy-product-mobile-filter-reset {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 72px !important;
        height: 32px !important;
        line-height: 30px !important;
        padding: 0 12px !important;
        border: 1px solid #b3833e !important;
        border-radius: 3px !important;
        background-color: #5f4314 !important;
        background-image: linear-gradient(180deg, #7a5a1e 0%, #5f4314 100%) !important;
        color: #f3d994 !important;
        -webkit-text-fill-color: #f3d994 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 1px 2px rgba(0,0,0,.32) !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }

    html body #qpyProductMobileFilterPopup #qpyProductMobileFilterApply:hover,
    html body #qpyProductMobileFilterPopup #qpyProductMobileFilterApply:active,
    html body #qpyProductMobileFilterPopup #qpyProductMobileFilterApply:focus,
    html body #qpyProductMobileFilterPopup #qpyProductMobileFilterReset:hover,
    html body #qpyProductMobileFilterPopup #qpyProductMobileFilterReset:active,
    html body #qpyProductMobileFilterPopup #qpyProductMobileFilterReset:focus,
    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-btn:hover,
    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-btn:active,
    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-btn:focus,
    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-reset:hover,
    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-reset:active,
    html body #qpyProductMobileFilterPopup .qpy-product-mobile-filter-reset:focus {
        border-color: #c7973d !important;
        background-color: #6f551b !important;
        background-image: linear-gradient(180deg, #8a6921 0%, #6f551b 100%) !important;
        color: #fff0bf !important;
        -webkit-text-fill-color: #fff0bf !important;
        outline: none !important;
    }

    html body .qpy-product-detail-layout-page .qpy-product-gallery-slide,
    html body .qpy-product-detail-layout-page [data-qpy-product-slide] {
        display: none !important;
    }

    html body .qpy-product-detail-layout-page .qpy-product-gallery-slide.is-active,
    html body .qpy-product-detail-layout-page [data-qpy-product-slide].is-active {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        box-sizing: border-box !important;
    }

    html body .qpy-product-detail-layout-page .qpy-product-thumb-group,
    html body .qpy-product-detail-layout-page [data-qpy-product-thumb-group] {
        display: none !important;
    }

    html body .qpy-product-detail-layout-page .qpy-product-thumb-group.active,
    html body .qpy-product-detail-layout-page [data-qpy-product-thumb-group].active {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}
/* step311_garden_mobile_filter_buttons_and_product_detail_tabs_fix_end */

/* =========================================================
   页面：产品列表 product-list
   区块：移动端商品标题 mobile-product-title
   对应模板：site_style_theme.product_item_list_template_html
   对应 HTML 标记：.qpy-product-mobile-card / .qpy-product-mobile-title

   可调参数：
   1. 标题文字颜色：color
   2. 标题访问状态颜色：:hover / :active / :visited
   3. 省略显示：white-space / overflow / text-overflow
   step312_garden_mobile_product_list_title_color_fix_start
   ========================================================= */
@media (max-width: 768px) {
    html body .qpy-product-mobile-card .qpy-product-mobile-title,
    html body .qpy-product-mobile-card:link .qpy-product-mobile-title,
    html body .qpy-product-mobile-card:visited .qpy-product-mobile-title,
    html body .qpy-product-mobile-card:hover .qpy-product-mobile-title,
    html body .qpy-product-mobile-card:active .qpy-product-mobile-title {
        color: #f0d28b !important;
        -webkit-text-fill-color: #f0d28b !important;
        text-decoration: none !important;
    }

    html body .qpy-product-mobile-title {
        color: #f0d28b !important;
        -webkit-text-fill-color: #f0d28b !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}
/* step312_garden_mobile_product_list_title_color_fix_end */

/* =========================================================
   页面：产品详情 product-detail
   区块：移动端参数表列宽 mobile-product-param-table
   对应模板：site_style_theme.product_item_detail_template_html
   对应 HTML 标记：.qpy-product-detail-layout-page .qpy-product-param-table / th / td

   可调参数：
   1. 左侧字段列宽度：th width / min-width / max-width
   2. 单元格内边距：padding-left / padding-right
   3. 参数值换行策略：word-break / overflow-wrap
   4. 参数表字体大小：font-size
   step313_garden_mobile_product_param_table_width_fix_start
   ========================================================= */
@media (max-width: 768px) {
    html body .qpy-product-detail-layout-page .qpy-product-param-table,
    html body .qpy-product-detail-layout-page table.qpy-product-param-table {
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }

    html body .qpy-product-detail-layout-page .qpy-product-param-table tr > th,
    html body .qpy-product-detail-layout-page .qpy-product-param-table tbody tr > th,
    html body .qpy-product-detail-layout-page table.qpy-product-param-table tr > th,
    html body .qpy-product-detail-layout-page table.qpy-product-param-table tbody tr > th {
        width: 74px !important;
        min-width: 74px !important;
        max-width: 74px !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        text-align: center !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        box-sizing: border-box !important;
    }

    html body .qpy-product-detail-layout-page .qpy-product-param-table tr > td,
    html body .qpy-product-detail-layout-page .qpy-product-param-table tbody tr > td,
    html body .qpy-product-detail-layout-page table.qpy-product-param-table tr > td,
    html body .qpy-product-detail-layout-page table.qpy-product-param-table tbody tr > td {
        width: auto !important;
        min-width: 0 !important;
        padding-left: 8px !important;
        padding-right: 6px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        color: #d5a642 !important;
        -webkit-text-fill-color: #d5a642 !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: break-word !important;
        box-sizing: border-box !important;
    }
}
/* step313_garden_mobile_product_param_table_width_fix_end */

/* step402_member_nav_entry_two_themes_front_integration_start
   页面：公共导航 common-nav
   区块：会员导航入口 member-nav
   对应模板：site_style_theme.member_nav_template_html
   对应 HTML 标记：qpyMemberNavMount / qpyMobileMemberNavMount
   可调参数：文字颜色、边框颜色、按钮间距、移动端宽度
*/
.site-nav {
    position: relative;
}

.qpy-member-nav-mount {
    position: absolute;
    right: 0;
    top: 0;
    min-height: 38px;
    display: flex;
    align-items: center;
}

.qpy-member-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.qpy-member-nav--garden .qpy-member-nav-user {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #f1d58b;
    font-size: 13px;
}

.qpy-member-nav--garden .qpy-member-nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid rgba(194, 152, 69, .72);
    color: #f3d78d !important;
    background: rgba(34, 30, 22, .42);
    font-size: 13px;
    line-height: 1;
    text-decoration: none !important;
}

.qpy-member-nav--garden .qpy-member-nav-link:hover {
    color: #20170b !important;
    background: #d5ac56;
    border-color: #e7c776;
}

@media (max-width: 1200px) {
    .qpy-member-nav-mount {
        display: none !important;
    }

    .qpy-mobile-member-nav-mount {
        display: block;
        padding: 10px 14px 14px;
        border-top: 1px solid rgba(194, 152, 69, .34);
        background: rgba(24, 21, 16, .94);
    }

    .qpy-mobile-member-nav-mount .qpy-member-nav {
        flex-wrap: wrap;
        gap: 8px;
    }

    .qpy-mobile-member-nav-mount .qpy-member-nav-user {
        width: 100%;
        max-width: none;
        color: #f1d58b;
    }

    .qpy-mobile-member-nav-mount .qpy-member-nav--garden .qpy-member-nav-link {
        flex: 1 1 86px;
        min-height: 34px;
        color: #f3d78d !important;
        border-color: rgba(194, 152, 69, .78);
        background: rgba(34, 30, 22, .72);
    }

    .qpy-mobile-member-nav-mount .qpy-member-nav--garden .qpy-member-nav-link:hover {
        color: #20170b !important;
        background: #d5ac56;
        border-color: #e7c776;
    }
}
/* step402_member_nav_entry_two_themes_front_integration_end */

/* step403_member_popup_login_and_theme_center_layout_start
   页面：会员动态页 member
   区块：会员弹窗与会员中心 member-popup/member-center
   对应模板：templates/members/member_base.html；templates/members/login.html；templates/members/register.html；templates/members/center.html；templates/members/password.html；templates/front_v2/components/nav.html
   对应 HTML 标记：qpy-member-modal-mask / qpy-member-main / qpy-member-card / qpy-member-dashboard
   可调参数：
   1. 页面背景：body.theme-garden.qpy-member-page background-color
   2. 正文宽度：.qpy-member-main max-width
   3. 卡片边框：.qpy-member-card border-color
   4. 输入框高度：.qpy-member-field input height
   5. 主按钮颜色：.qpy-member-btn background
   6. 弹窗宽度：.qpy-member-modal width / max-width
   ========================================================= */
body.theme-garden.qpy-member-page {
    background-color: #0f151b !important;
    background-image: none !important;
    color: #d8c08a !important;
    font-family: "Microsoft YaHei", Arial, sans-serif !important;
}

body.theme-garden .qpy-member-main {
    width: min(1200px, calc(100% - 24px)) !important;
    margin: 24px auto 34px !important;
    box-sizing: border-box !important;
}

body.theme-garden .qpy-member-card {
    min-height: 360px !important;
    padding: 28px !important;
    background: #10161d !important;
    border: 1px solid #6f551b !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .34) !important;
    box-sizing: border-box !important;
}

body.theme-garden .qpy-member-auth-card {
    max-width: 460px !important;
    margin: 0 auto !important;
}

body.theme-garden .qpy-member-panel h2,
body.theme-garden .qpy-member-card h1 {
    margin: 0 0 18px !important;
    color: #d6b36a !important;
    font-size: 24px !important;
    line-height: 1.4 !important;
}

body.theme-garden .qpy-member-field,
body.theme-garden .qpy-member-radio-row {
    margin-bottom: 14px !important;
}

body.theme-garden .qpy-member-field label,
body.theme-garden .qpy-member-radio-row label {
    display: block !important;
    margin-bottom: 6px !important;
    color: #d8c08a !important;
    font-size: 14px !important;
}

body.theme-garden .qpy-member-radio-row label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 16px !important;
}

body.theme-garden .qpy-member-field input {
    width: 100% !important;
    height: 38px !important;
    padding: 0 10px !important;
    border: 1px solid #6f551b !important;
    background: #20262e !important;
    color: #f1dfaa !important;
    box-sizing: border-box !important;
}

body.theme-garden .qpy-member-field input:focus {
    border-color: #d6b36a !important;
    outline: 2px solid rgba(214, 179, 106, .20) !important;
}

body.theme-garden .qpy-member-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 36px !important;
    padding: 0 18px !important;
    border: 1px solid #8a6921 !important;
    background: linear-gradient(180deg, #7a5a1e 0%, #5f4314 100%) !important;
    color: #f7e6b2 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}

body.theme-garden .qpy-member-btn:hover {
    background: linear-gradient(180deg, #8a6921 0%, #6f551b 100%) !important;
    border-color: #d6b36a !important;
    color: #ffffff !important;
}

body.theme-garden .qpy-member-btn-secondary,
body.theme-garden .qpy-member-panel-actions a {
    background: #1d232b !important;
    border: 1px solid #6f551b !important;
    color: #d6b36a !important;
}

body.theme-garden .qpy-member-actions,
body.theme-garden .qpy-member-panel-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

body.theme-garden .qpy-member-panel-actions a {
    min-height: 32px !important;
    line-height: 32px !important;
    padding: 0 12px !important;
    text-decoration: none !important;
}

body.theme-garden .qpy-member-errors,
body.theme-garden .qpy-member-message,
body.theme-garden .qpy-member-success {
    margin: 0 0 14px !important;
    padding: 10px 12px !important;
    line-height: 1.7 !important;
    box-sizing: border-box !important;
}

body.theme-garden .qpy-member-errors {
    border: 1px solid #7b3028 !important;
    background: #281918 !important;
    color: #f0aaa0 !important;
}

body.theme-garden .qpy-member-message,
body.theme-garden .qpy-member-success {
    border: 1px solid #6f551b !important;
    background: #1d232b !important;
    color: #d6b36a !important;
}

body.theme-garden .qpy-member-muted {
    margin-top: 6px !important;
    color: #a99767 !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

body.theme-garden .qpy-member-profile-head {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin-bottom: 20px !important;
}

body.theme-garden .qpy-member-profile-head p {
    margin: 0 !important;
    color: #a99767 !important;
}

body.theme-garden .qpy-member-avatar {
    width: 76px !important;
    height: 76px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #1d232b !important;
    border: 1px solid #6f551b !important;
    color: #d6b36a !important;
    font-weight: bold !important;
}

body.theme-garden .qpy-member-info-table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: #10161d !important;
    table-layout: fixed !important;
}

body.theme-garden .qpy-member-info-table th,
body.theme-garden .qpy-member-info-table td {
    padding: 12px 10px !important;
    border: 1px solid #443714 !important;
    text-align: left !important;
    color: #d8c08a !important;
}

body.theme-garden .qpy-member-info-table th {
    width: 150px !important;
    background: #1d232b !important;
    color: #d6b36a !important;
}

body.theme-garden .qpy-member-reserve-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 22px !important;
}

body.theme-garden .qpy-member-reserve-card {
    min-height: 92px !important;
    padding: 16px !important;
    border: 1px solid #443714 !important;
    background: #151b22 !important;
    box-sizing: border-box !important;
}

body.theme-garden .qpy-member-reserve-card strong,
body.theme-garden .qpy-member-reserve-card span {
    display: block !important;
}

body.theme-garden .qpy-member-reserve-card strong {
    color: #d6b36a !important;
    margin-bottom: 8px !important;
}

body.theme-garden .qpy-member-reserve-card span {
    color: #a99767 !important;
}

body.theme-garden .qpy-member-modal-mask,
.qpy-member-modal-mask {
    position: fixed !important;
    inset: 0 !important;
    z-index: 300000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    background: rgba(0, 0, 0, .62) !important;
    box-sizing: border-box !important;
}

.qpy-member-modal-mask[hidden] {
    display: none !important;
}

body.theme-garden .qpy-member-modal {
    width: min(460px, 100%) !important;
    max-height: calc(100vh - 36px) !important;
    overflow: auto !important;
    position: relative !important;
    padding: 26px !important;
    background: #10161d !important;
    border: 1px solid #6f551b !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .58) !important;
    box-sizing: border-box !important;
}

body.theme-garden .qpy-member-modal-close {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    width: 30px !important;
    height: 30px !important;
    border: 1px solid #6f551b !important;
    background: #1d232b !important;
    color: #d6b36a !important;
    font-size: 22px !important;
    line-height: 26px !important;
    cursor: pointer !important;
}

body.qpy-member-modal-open {
    overflow: hidden !important;
}

@media (max-width: 768px) {
    body.theme-garden .qpy-member-card {
        padding: 18px !important;
    }
    body.theme-garden .qpy-member-reserve-grid {
        grid-template-columns: 1fr !important;
    }
    body.theme-garden .qpy-member-info-table th {
        width: 105px !important;
    }
}
/* step403_member_popup_login_and_theme_center_layout_end */

/* step403B_fix_member_popup_trigger_and_nav_right_buttons_start
   页面：公共导航 common-nav / 会员弹窗 member-popup
   区块：导航右侧会员入口 member-nav-right
   对应模板：templates/front_v2/components/nav.html；site_style_theme.member_nav_template_html
   对应 HTML 标记：qpyMemberNavMount / qpyMobileMemberNavMount / data-qpy-member-popup
   可调参数：
   1. PC 右侧入口位置：.qpy-member-nav-mount right / min-height
   2. 会员按钮尺寸：.qpy-member-nav-link min-height / padding
   3. 会员名称宽度：.qpy-member-nav-name max-width
   4. 移动端按钮高度：.qpy-mobile-member-nav-mount .qpy-member-nav-link min-height
   5. 弹窗遮罩层级：.qpy-member-modal-mask z-index
   ========================================================= */
body.theme-garden .site-nav {
    position: relative !important;
    padding-right: 168px !important;
    box-sizing: border-box !important;
}

body.theme-garden .qpy-member-nav-mount {
    position: absolute !important;
    right: 8px !important;
    top: 0 !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

body.theme-garden .qpy-member-nav-mount:empty,
body.theme-garden .qpy-mobile-member-nav-mount:empty {
    display: none !important;
}

body.theme-garden .qpy-member-nav--garden {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    white-space: nowrap !important;
}

body.theme-garden .qpy-member-nav--garden .qpy-member-nav-link,
body.theme-garden .qpy-member-nav--garden .qpy-member-nav-user-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 26px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(194, 152, 69, .76) !important;
    color: #f3d78d !important;
    background: rgba(34, 30, 22, .46) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

body.theme-garden .qpy-member-nav--garden .qpy-member-nav-link:hover,
body.theme-garden .qpy-member-nav--garden .qpy-member-nav-user-link:hover {
    color: #20170b !important;
    background: #d5ac56 !important;
    border-color: #e7c776 !important;
}

body.theme-garden .qpy-member-nav--garden .qpy-member-nav-icon {
    margin-right: 5px !important;
    font-size: 14px !important;
}

body.theme-garden .qpy-member-nav--garden .qpy-member-nav-name {
    display: inline-block !important;
    max-width: 104px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    vertical-align: middle !important;
}

@media (max-width: 1200px) {
    body.theme-garden .site-nav {
        padding-right: 0 !important;
    }

    body.theme-garden .qpy-member-nav-mount {
        display: none !important;
    }

    body.theme-garden .qpy-mobile-member-nav-mount {
        display: block !important;
        padding: 10px 14px 14px !important;
        border-top: 1px solid rgba(194, 152, 69, .34) !important;
        background: rgba(24, 21, 16, .94) !important;
    }

    body.theme-garden .qpy-mobile-member-nav-mount .qpy-member-nav--garden {
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: 8px !important;
    }

    body.theme-garden .qpy-mobile-member-nav-mount .qpy-member-nav--garden .qpy-member-nav-link,
    body.theme-garden .qpy-mobile-member-nav-mount .qpy-member-nav--garden .qpy-member-nav-user-link {
        flex: 1 1 96px !important;
        min-height: 34px !important;
        color: #f3d78d !important;
        border-color: rgba(194, 152, 69, .78) !important;
        background: rgba(34, 30, 22, .72) !important;
    }

    body.theme-garden .qpy-mobile-member-nav-mount .qpy-member-nav--garden .qpy-member-nav-user-link {
        flex-basis: 100% !important;
        justify-content: flex-start !important;
    }
}
/* step403B_fix_member_popup_trigger_and_nav_right_buttons_end */

/* step403C_remove_default_modal_and_create_popup_on_demand_start
   页面：公共导航 common-nav
   区块：按需创建会员弹窗 member-popup-on-demand
   对应模板：templates/front_v2/components/nav.html
   对应 HTML 标记：#qpyMemberModal / qpy-member-modal-mask / qpy-member-modal-box
   可调参数：
   1. 遮罩透明度：.qpy-member-modal-mask background
   2. 弹窗宽度：.qpy-member-modal-box width / max-width
   3. 弹窗内边距：.qpy-member-modal-box padding
   4. 关闭按钮层级：.qpy-member-modal-close z-index
   ========================================================= */
body.theme-garden #qpyMemberModal.qpy-member-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 300000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    padding: 18px !important;
    overflow: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

#qpyMemberModal[hidden] {
    display: none !important;
}

body.theme-garden #qpyMemberModal .qpy-member-modal-mask {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    background: rgba(0, 0, 0, .62) !important;
    box-sizing: border-box !important;
}

body.theme-garden #qpyMemberModal .qpy-member-modal-box {
    position: relative !important;
    z-index: 2 !important;
    width: min(460px, 100%) !important;
    max-height: calc(100vh - 36px) !important;
    overflow: auto !important;
    padding: 26px !important;
    background: #10161d !important;
    border: 1px solid #6f551b !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .58) !important;
    box-sizing: border-box !important;
}

body.theme-garden #qpyMemberModal .qpy-member-modal-close {
    z-index: 3 !important;
}
/* step403C_remove_default_modal_and_create_popup_on_demand_end */

/* step403E_garden_pc_mobile_nav_leak_fix_start */
/*
=========================================================
step403E：园林风格 PC 端误露移动端导航按钮修复
保存位置：后台风格编辑窗口 -> CSS 细节调节 / custom_css

问题说明：
1. 当前 CSS 中存在多段历史移动端导航规则；
2. .qpy-mobile-menu-toggle / .qpy-mobile-nav-panel 在移动端应显示或展开；
3. 但 PC 端偶发露出三横线按钮，说明后置规则或缓存导致 display 状态被覆盖；
4. 本补丁只做响应式隔离，不删除 HTML，不影响手机端菜单；
5. 请整段保留，后续调整仍集中在本 step403E 区块内。

规则：
1. 默认 / PC 端：强制隐藏移动端按钮和移动端菜单；
2. 769px 以上：再次强制隐藏，防止历史 CSS 泄漏；
3. 768px 以下：恢复移动端按钮；
4. 手机端菜单面板默认隐藏，body.qpy-mobile-nav-open 时显示；
5. 同时兼容 button.qpy-mobile-menu-toggle、#qpyMobileNavPanel 等真实 HTML 标记。
=========================================================
*/

/* 默认状态：移动端按钮和移动端菜单面板彻底隐藏，防止 PC 端露出 */
html body .qpy-mobile-menu-toggle,
html body button.qpy-mobile-menu-toggle,
html body .qpy-mobile-nav-panel,
html body nav.qpy-mobile-nav-panel,
html body #qpyMobileNavPanel {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    left: -99999px !important;
    top: -99999px !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    transform: none !important;
}

/* PC 端兜底：769px 以上绝不显示移动端导航按钮和菜单 */
@media screen and (min-width: 769px) {
    html body .qpy-mobile-menu-toggle,
    html body button.qpy-mobile-menu-toggle,
    html body .qpy-mobile-nav-panel,
    html body nav.qpy-mobile-nav-panel,
    html body #qpyMobileNavPanel {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        position: absolute !important;
        left: -99999px !important;
        top: -99999px !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        transform: none !important;
    }
}

/* 移动端：768px 以下才恢复三横线按钮 */
@media screen and (max-width: 768px) {
    html body .qpy-mobile-menu-toggle,
    html body button.qpy-mobile-menu-toggle {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(171, 111, 52, .86) !important;
        border-radius: 6px !important;
        background: #2a3036 !important;
        box-shadow: none !important;
        overflow: hidden !important;
        transform: none !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 5px !important;
        cursor: pointer !important;
        z-index: 100000 !important;
    }

    html body .qpy-mobile-menu-toggle span,
    html body button.qpy-mobile-menu-toggle span {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 24px !important;
        height: 2px !important;
        min-height: 2px !important;
        max-height: 2px !important;
        border-radius: 2px !important;
        background: #d6b36a !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    html body .qpy-mobile-nav-panel,
    html body nav.qpy-mobile-nav-panel,
    html body #qpyMobileNavPanel {
        display: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        position: absolute !important;
        left: 10px !important;
        right: 10px !important;
        top: 76px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 8px 0 !important;
        border: 1px solid rgba(171, 111, 52, .78) !important;
        border-radius: 4px !important;
        background: #171d23 !important;
        background-image: none !important;
        box-shadow: 0 10px 24px rgba(0,0,0,.36) !important;
        overflow: visible !important;
        transform: none !important;
        z-index: 99999 !important;
    }

    html body.qpy-mobile-nav-open .qpy-mobile-nav-panel,
    html body.qpy-mobile-nav-open nav.qpy-mobile-nav-panel,
    html body.qpy-mobile-nav-open #qpyMobileNavPanel {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

/*
step403E 备注：
前台会员登录和后台登录状态冲突属于 Python/session 逻辑问题，
不能用 CSS 修复；需要后续单独检查 members/views.py 中 login/logout/session 处理。
*/
/* step403E_garden_pc_mobile_nav_leak_fix_end */

/* step405C_member_center_style_polish_start */
/*
 * step405C：园林风格会员中心页面整理
 * 作用范围：仅会员中心相关 qpy-member-center-step405 结构。
 * 不改登录逻辑，不改生成中心，不影响上传组件。
 */
html body .qpy-member-center-step405 {
    width: 100%;
    box-sizing: border-box;
    padding: 24px 26px 26px;
    color: #d8b85c;
}

html body .qpy-member-center-step405 .qpy-member-center-head {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(171, 111, 52, .42);
}

html body .qpy-member-center-step405 .qpy-member-avatar {
    width: 64px;
    height: 64px;
    min-width: 64px;
    border-radius: 50%;
    border: 1px solid rgba(214, 179, 106, .78);
    background: radial-gradient(circle at 40% 30%, rgba(214,179,106,.16), rgba(21,25,29,.95));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f1d484;
    font-size: 14px;
    box-shadow: 0 0 18px rgba(0,0,0,.26);
}

html body .qpy-member-center-step405 .qpy-member-head-text h1 {
    margin: 0 0 8px;
    font-size: 24px;
    line-height: 1.2;
    color: #f0c76d;
    font-weight: 700;
}

html body .qpy-member-center-step405 .qpy-member-head-text p {
    margin: 0;
    color: #bfa15e;
    font-size: 14px;
}

html body .qpy-member-center-step405 .qpy-member-info-card {
    margin-top: 0;
    padding: 0;
    border: 1px solid rgba(171, 111, 52, .50);
    background: rgba(14, 20, 26, .72);
}

html body .qpy-member-center-step405 .qpy-member-info-title {
    padding: 12px 16px;
    font-size: 15px;
    color: #f1d484;
    font-weight: 700;
    border-bottom: 1px solid rgba(171, 111, 52, .38);
    background: rgba(120, 83, 32, .18);
}

html body .qpy-member-center-step405 .qpy-member-info-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

html body .qpy-member-center-step405 .qpy-member-info-table th,
html body .qpy-member-center-step405 .qpy-member-info-table td {
    height: 42px;
    padding: 8px 14px;
    border-bottom: 1px solid rgba(171, 111, 52, .25);
    font-size: 14px;
    line-height: 1.5;
}

html body .qpy-member-center-step405 .qpy-member-info-table th {
    width: 150px;
    color: #f1d484;
    font-weight: 700;
    text-align: left;
    background: rgba(120, 83, 32, .12);
}

html body .qpy-member-center-step405 .qpy-member-info-table td {
    color: #d9c082;
}

html body .qpy-member-center-step405 .qpy-member-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0 20px;
}

html body .qpy-member-center-step405 .qpy-member-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    height: 36px;
    padding: 0 16px;
    box-sizing: border-box;
    border: 1px solid rgba(171, 111, 52, .72);
    background: rgba(35, 42, 48, .85);
    color: #e8cf83;
    font-size: 14px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}

html body .qpy-member-center-step405 .qpy-member-btn:hover {
    background: rgba(120, 83, 32, .46);
    color: #fff0b0;
    border-color: rgba(240, 199, 109, .95);
}

html body .qpy-member-center-step405 .qpy-member-btn-primary {
    background: rgba(120, 83, 32, .72);
    color: #fff0b0;
    border-color: rgba(240, 199, 109, .95);
}

html body .qpy-member-center-step405 .qpy-member-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 8px;
}

html body .qpy-member-center-step405 .qpy-member-dashboard-item {
    min-height: 86px;
    padding: 18px 16px;
    box-sizing: border-box;
    border: 1px solid rgba(171, 111, 52, .48);
    background: rgba(14, 20, 26, .68);
}

html body .qpy-member-center-step405 .qpy-member-dashboard-title {
    margin-bottom: 10px;
    color: #f1d484;
    font-size: 15px;
    font-weight: 700;
}

html body .qpy-member-center-step405 .qpy-member-dashboard-desc {
    color: #a88b4e;
    font-size: 13px;
}

@media (max-width: 768px) {
    html body .qpy-member-center-step405 {
        padding: 18px 14px;
    }

    html body .qpy-member-center-step405 .qpy-member-center-head {
        align-items: flex-start;
    }

    html body .qpy-member-center-step405 .qpy-member-info-table th {
        width: 96px;
    }

    html body .qpy-member-center-step405 .qpy-member-dashboard-grid {
        grid-template-columns: 1fr;
    }

    html body .qpy-member-center-step405 .qpy-member-action-row {
        gap: 10px;
    }

    html body .qpy-member-center-step405 .qpy-member-btn {
        min-width: 0;
        flex: 1 1 auto;
    }
}
/* step405C_member_center_style_polish_end */

/* step406_member_login_register_popup_style_polish_start */
/*
 * step406：园林风格登录/注册弹窗样式整理
 * 作用范围：仅 .qpy-member-modal 弹窗内部。
 * 不改登录逻辑，不改会员 session，不改生成中心，不影响上传组件。
 */
html body.qpy-member-modal-open {
    overflow: hidden;
}

html body .qpy-member-modal {
    position: fixed;
    inset: 0;
    z-index: 300000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    box-sizing: border-box;
}

html body .qpy-member-modal-mask {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .62);
    backdrop-filter: blur(2px);
}

html body .qpy-member-modal-box {
    position: relative;
    z-index: 2;
    width: 420px;
    max-width: calc(100vw - 36px);
    max-height: calc(100vh - 36px);
    overflow: auto;
    box-sizing: border-box;
    border: 1px solid rgba(171, 111, 52, .72);
    background: #12191f;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .42);
}

html body .qpy-member-modal-close {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 28px;
    height: 28px;
    line-height: 26px;
    padding: 0;
    border: 1px solid rgba(171, 111, 52, .68);
    background: rgba(35, 42, 48, .92);
    color: #f0c76d;
    font-size: 18px;
    cursor: pointer;
    z-index: 3;
}

html body .qpy-member-modal-close:hover {
    background: rgba(120, 83, 32, .72);
    color: #fff0b0;
}

html body .qpy-member-modal-body {
    padding: 30px 30px 28px;
    color: #d9c082;
}

html body .qpy-member-modal h1,
html body .qpy-member-modal h2,
html body .qpy-member-modal h3,
html body .qpy-member-panel-title {
    margin: 0 0 18px;
    color: #f0c76d;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
    text-align: center;
}

html body .qpy-member-modal form {
    margin: 0;
}

html body .qpy-member-modal label {
    display: block;
    margin: 12px 0 6px;
    color: #f1d484;
    font-size: 14px;
}

html body .qpy-member-modal input[type="text"],
html body .qpy-member-modal input[type="tel"],
html body .qpy-member-modal input[type="password"],
html body .qpy-member-modal input[type="number"],
html body .qpy-member-modal input[type="email"] {
    width: 100%;
    height: 38px;
    box-sizing: border-box;
    padding: 0 12px;
    border: 1px solid rgba(171, 111, 52, .52);
    background: #0e141a;
    color: #f4e2ad;
    outline: none;
    font-size: 14px;
}

html body .qpy-member-modal input:focus {
    border-color: rgba(240, 199, 109, .95);
    box-shadow: 0 0 0 2px rgba(240, 199, 109, .12);
}

html body .qpy-member-modal button,
html body .qpy-member-modal .qpy-member-btn,
html body .qpy-member-modal input[type="submit"] {
    min-height: 36px;
    box-sizing: border-box;
    border: 1px solid rgba(171, 111, 52, .78);
    background: rgba(120, 83, 32, .72);
    color: #fff0b0;
    cursor: pointer;
    font-size: 14px;
}

html body .qpy-member-modal button:hover,
html body .qpy-member-modal .qpy-member-btn:hover,
html body .qpy-member-modal input[type="submit"]:hover {
    background: rgba(150, 102, 42, .86);
    border-color: rgba(240, 199, 109, .95);
}

html body .qpy-member-modal .qpy-member-form-row,
html body .qpy-member-modal .form-row,
html body .qpy-member-modal .field-row {
    margin-bottom: 12px;
}

html body .qpy-member-modal .qpy-member-message,
html body .qpy-member-modal .qpy-member-panel-message,
html body .qpy-member-modal .errorlist,
html body .qpy-member-modal .errors {
    margin: 12px 0;
    padding: 10px 12px;
    border: 1px solid rgba(180, 90, 70, .55);
    background: rgba(80, 24, 18, .28);
    color: #ffd0bd;
    font-size: 13px;
    line-height: 1.6;
}

html body .qpy-member-modal a {
    color: #f0c76d;
    text-decoration: none;
}

html body .qpy-member-modal a:hover {
    color: #fff0b0;
    text-decoration: underline;
}

html body .qpy-member-modal .qpy-member-panel-foot,
html body .qpy-member-modal .qpy-member-form-extra {
    margin-top: 14px;
    text-align: center;
    color: #a88b4e;
    font-size: 13px;
}

@media (max-width: 768px) {
    html body .qpy-member-modal {
        align-items: flex-start;
        padding-top: 88px;
    }

    html body .qpy-member-modal-body {
        padding: 28px 18px 22px;
    }

    html body .qpy-member-modal-box {
        width: 100%;
    }
}
/* step406_member_login_register_popup_style_polish_end */
/* step428B_member_login_required_style_start
   页面：文章详情 article-detail / 产品详情 product-detail
   区块：会员登录提示 member-login-required
   对应模板：dashboard/site_renderer/static_article_detail.py；dashboard/site_renderer/product_static.py
   对应 HTML 标记：member-visible-login-required / qpy-member-login-required-inner
   可调参数：宽度、间距、边框、按钮颜色、标题字号
*/
.member-visible-login-required {
    max-width: 980px;
    margin: 36px auto;
    padding: 0 16px;
}
.qpy-member-login-required-inner {
    background: #ffffff;
    border: 1px solid #cfe6d2;
    padding: 32px 28px;
    text-align: center;
    color: #2d4f35;
}
.qpy-member-login-required-title {
    margin: 0 0 14px;
    font-size: 24px;
    font-weight: 700;
    color: #245236;
}
.qpy-member-login-required-message {
    margin: 0 0 22px;
    font-size: 16px;
    line-height: 1.8;
    color: #5b705f;
}
.qpy-member-login-required-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.qpy-member-login-required-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    min-height: 38px;
    padding: 8px 18px;
    background: #3b8f50;
    color: #ffffff;
    text-decoration: none;
    border: 1px solid #3b8f50;
}
.qpy-member-login-required-register {
    background: #ffffff;
    color: #3b8f50;
}
.qpy-member-login-required-btn:hover {
    text-decoration: none;
}
/* step428B_member_login_required_style_end */
/* step410C_comment_style_static_regression_start
   页面：详情页 article-detail / product-detail
   区块：评论系统 comment-system
   对应模板：site_style_theme.article_detail_template_html / product_item_detail_template_html
   对应 HTML 标记：qpy-comment-box
   可调参数：背景、边框、标题、正文、输入框、按钮、提示文字颜色
*/
.qpy-comment-box {
    margin-top: 28px;
    padding: 20px 22px;
    border: 1px solid rgba(171,111,52,.58);
    background: linear-gradient(180deg, rgba(15,22,28,.98), rgba(10,15,20,.96));
    box-shadow: inset 0 0 0 1px rgba(240,199,109,.08);
}
.qpy-comment-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(171,111,52,.42);
    padding-bottom: 10px;
}
.qpy-comment-head h2 {
    margin: 0;
    font-size: 18px;
    color: #f1d484;
}
.qpy-comment-count,
.qpy-comment-empty,
.qpy-comment-message,
.qpy-comment-login-tip {
    color: #bfa16f;
    font-size: 13px;
}
.qpy-comment-item {
    padding: 12px 0;
    border-bottom: 1px dashed rgba(171,111,52,.38);
}
.qpy-comment-item:last-child {
    border-bottom: 0;
}
.qpy-comment-meta {
    margin-bottom: 6px;
    color: #bfa16f;
    font-size: 13px;
}
.qpy-comment-content {
    color: #eadbb9;
    line-height: 1.8;
    white-space: pre-wrap;
    word-break: break-word;
}
.qpy-comment-form {
    margin-top: 16px;
}
.qpy-comment-form textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 92px;
    padding: 10px 12px;
    border: 1px solid rgba(171,111,52,.65);
    background: rgba(8,13,18,.92);
    color: #f3e4c0;
    resize: vertical;
}
.qpy-comment-form textarea::placeholder {
    color: #9e855c;
}
.qpy-comment-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
}
.qpy-comment-actions button {
    border: 1px solid rgba(240,199,109,.35);
    padding: 8px 18px;
    background: #9b642e;
    color: #fff4d1;
    cursor: pointer;
}
.qpy-comment-actions button:hover {
    background: #b77935;
}
.qpy-comment-login-tip {
    margin-top: 8px;
}
.qpy-comment-login-tip a {
    color: #f0c76d;
}
/* step410C_comment_style_static_regression_end */
/* =========================================================
   页面：产品详情 product-detail
   区块：商城购买入口 shop-purchase
   对应模板：site_style_theme.product_item_detail_template_html
   对应 HTML 标记：qpy-product-shop-panel

   可调参数：
   1. 模块间距：margin / padding
   2. 价格字号：font-size
   3. 按钮背景：background
   4. 禁用按钮颜色：color / background
   5. 库存提示颜色：color
   ========================================================= */
.qpy-product-shop-panel{margin:18px 0 0;padding:16px 18px;border:1px solid var(--qpy-border-color,#3f4b37);background:var(--qpy-card-bg,#172015);border-radius:6px}
.qpy-product-shop-price-row{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.qpy-product-shop-price{font-size:24px;font-weight:700;color:var(--qpy-primary,#b8d46a)}
.qpy-product-shop-market{font-size:14px;color:var(--qpy-muted,#9aa38d);text-decoration:line-through}
.qpy-product-shop-stock{margin:8px 0;color:var(--qpy-text,#e6eadf)}
.qpy-product-shop-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.qpy-product-shop-actions form{margin:0}
.qpy-product-shop-actions input[type=number]{width:76px;height:34px;margin-right:8px}
.qpy-product-shop-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 16px;border:1px solid var(--qpy-primary,#b8d46a);background:var(--qpy-primary,#b8d46a);color:var(--qpy-primary-text,#1b2118);text-decoration:none;border-radius:4px;cursor:pointer}
.qpy-product-shop-btn-secondary{background:transparent;color:var(--qpy-primary,#b8d46a)}
.qpy-product-shop-btn-disabled{border-color:var(--qpy-border-color,#3f4b37);background:var(--qpy-disabled-bg,#2a3126);color:var(--qpy-muted,#9aa38d);cursor:not-allowed}

/* =========================================================
   页面：会员商城 member-shop
   区块：购物车/订单/结算 shop-member-pages
   对应模板：templates/members/cart.html 等
   对应 HTML 标记：qpy-member-shop

   可调参数：
   1. 表格边框：border-color
   2. 表头背景：background
   3. 按钮间距：gap / margin
   4. 表单宽度：max-width
   ========================================================= */
.qpy-member-shop h1{margin:0 0 18px;font-size:24px}
.qpy-shop-table{width:100%;border-collapse:collapse;margin:10px 0 16px;background:var(--qpy-card-bg,#172015)}
.qpy-shop-table th,.qpy-shop-table td{border:1px solid var(--qpy-border-color,#3f4b37);padding:10px;text-align:left;vertical-align:top}
.qpy-shop-table th{background:var(--qpy-table-head-bg,#20291c);font-weight:600}
.qpy-shop-inline-form{display:flex;align-items:center;gap:8px;margin:0}
.qpy-shop-inline-form input[type=number]{width:72px}
.qpy-shop-total{margin:12px 0;font-size:18px;font-weight:700;color:var(--qpy-primary,#b8d46a)}
.qpy-shop-form{display:grid;gap:12px;max-width:620px}
.qpy-shop-form label{display:grid;gap:6px;font-weight:600}
.qpy-shop-form input,.qpy-shop-form textarea{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid var(--qpy-border-color,#3f4b37);border-radius:4px;background:var(--qpy-input-bg,#10170f);color:var(--qpy-text,#e6eadf)}
.qpy-shop-empty{color:var(--qpy-muted,#9aa38d)}
.qpy-shop-order-meta{margin-bottom:14px;padding:12px;border:1px solid var(--qpy-border-color,#3f4b37);background:var(--qpy-card-bg,#172015);border-radius:6px}
.qpy-shop-shipment{margin-top:16px}
/* step412_shop_order_filter_cart_order_ui_polish_start
   页面：会员商城 member-shop
   区块：购物车 / 确认订单 / 我的订单 / 订单详情
   对应模板：templates/members/cart.html, checkout.html, orders.html, order_detail.html
   对应 HTML 标记：qpy-member-shop
   可调参数：缩略图尺寸、状态筛选按钮、错误提示、库存提示、表格行间距
*/
.qpy-member-shop .qpy-shop-product-cell{display:flex;align-items:center;gap:12px;min-width:220px}
.qpy-member-shop .qpy-shop-thumb{width:64px;height:64px;object-fit:cover;border:1px solid var(--qpy-border-color,#3f4b37);border-radius:4px;background:var(--qpy-card-bg,#172015)}
.qpy-member-shop .qpy-shop-product-title{font-weight:600;color:var(--qpy-text,#e6eadf)}
.qpy-member-shop .qpy-shop-warning{margin-top:4px;font-size:13px;color:var(--qpy-danger,#f0b37e)}
.qpy-member-shop .qpy-shop-error-list{margin:0 0 14px;padding:10px 12px;border:1px solid var(--qpy-danger-border,#6d4932);background:var(--qpy-danger-bg,#2b1d16);color:var(--qpy-danger,#f0b37e);border-radius:4px}
.qpy-member-shop .qpy-shop-status-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.qpy-member-shop .qpy-shop-status-tabs a{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid var(--qpy-border-color,#3f4b37);border-radius:4px;color:var(--qpy-primary,#b8d46a);text-decoration:none;background:var(--qpy-card-bg,#172015)}
.qpy-member-shop .qpy-shop-status-tabs a.is-active{background:var(--qpy-primary,#b8d46a);border-color:var(--qpy-primary,#b8d46a);color:var(--qpy-primary-text,#1b2118)}
.qpy-member-shop .qpy-shop-count{margin:0 0 10px;color:var(--qpy-muted,#9aa38d)}
.qpy-member-shop .qpy-shop-detail-link{color:var(--qpy-primary,#b8d46a);text-decoration:none;font-weight:600}
.qpy-member-shop .qpy-shop-form input:focus,.qpy-member-shop .qpy-shop-form textarea:focus,.qpy-member-shop .qpy-shop-inline-form input:focus{outline:2px solid var(--qpy-focus,#7f9651);outline-offset:1px}
/* step412_shop_order_filter_cart_order_ui_polish_end */
/* step413_payment_config_preparation_start
   页面：会员商城 member-shop
   区块：支付入口预备 payment-entry
   对应模板：templates/members/checkout.html / order_detail.html / orders.html
   对应 HTML 标记：qpy-shop-payment-preview / qpy-shop-pay-panel / qpy-shop-pay-hint
   可调参数：提示框边框、按钮间距、支付标签颜色
*/
.qpy-member-shop .qpy-shop-payment-preview,.qpy-member-shop .qpy-shop-pay-panel{margin:14px 0;padding:12px 14px;border:1px solid var(--qpy-border-color,#3f4b37);background:var(--qpy-card-bg,#172015);border-radius:6px}
.qpy-member-shop .qpy-shop-payment-preview span{display:inline-flex;margin-right:10px;color:var(--qpy-primary,#b8d46a);font-weight:600}
.qpy-member-shop .qpy-shop-pay-panel h2{margin:0 0 10px;font-size:18px;color:var(--qpy-text,#e6eadf)}
.qpy-member-shop .qpy-shop-pay-panel .qpy-member-btn{margin-right:8px;margin-bottom:8px}
.qpy-member-shop .qpy-shop-pay-hint{display:inline-flex;margin-left:8px;color:var(--qpy-primary,#b8d46a);font-weight:600}
/* step413_payment_config_preparation_end */
/* =========================================================
   页面：会员商城 member-shop
   区块：线下支付凭证 offline-payment
   对应模板：templates/members/order_detail.html
   对应 HTML 标记：qpy-offline-pay-box

   可调参数：
   1. 区块边框颜色：border-color
   2. 区块背景色：background
   3. 收款码尺寸：.qpy-offline-pay-qrcode img width / height
   4. 表单网格列数：.qpy-offline-proof-form grid-template-columns
   5. 表单控件边框色：border-color
   ========================================================= */
.qpy-offline-pay-box {
    margin: 18px 0;
    padding: 18px;
    border: 1px solid rgba(198, 150, 76, .42);
    background: rgba(35, 26, 17, .72);
    color: #f2dfbd;
}

.qpy-offline-pay-box h2,
.qpy-offline-pay-box h3 {
    color: #f2c879;
}

.qpy-offline-pay-qrcodes {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin: 12px 0;
}

.qpy-offline-pay-qrcode {
    max-width: 180px;
}

.qpy-offline-pay-qrcode img {
    width: 150px;
    height: 150px;
    object-fit: contain;
    padding: 6px;
    background: #fff;
    border: 1px solid rgba(198, 150, 76, .55);
}

.qpy-offline-pay-bank,
.qpy-offline-pay-instruction,
.qpy-offline-proof-history {
    margin-top: 12px;
}

.qpy-offline-proof-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.qpy-offline-proof-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.qpy-offline-proof-form input,
.qpy-offline-proof-form select,
.qpy-offline-proof-form textarea {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid rgba(198, 150, 76, .48);
    background: rgba(255, 255, 255, .96);
    color: #2b2118;
}

.qpy-offline-proof-form textarea {
    min-height: 78px;
}
/* step416C_member_center_cart_entry_and_offline_qr_preview_start
   页面：会员中心 / 会员订单详情
   区块：购物车入口 / 线下收款码放大预览
   对应模板：templates/members/center.html / templates/members/order_detail.html
   对应 HTML 标记：qpy-member-dashboard-cart / qpy-offline-qr-modal
   可调参数：购物车卡片边框色、收款码缩略图尺寸、弹窗大图宽度、遮罩透明度
*/
.qpy-member-center-step405 .qpy-member-dashboard-cart {
    border-color: rgba(198, 150, 76, .62);
}

.qpy-offline-pay-box .qpy-offline-qr-trigger {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

.qpy-offline-pay-box .qpy-offline-qr-trigger img {
    width: 180px;
    height: 180px;
}

.qpy-offline-qr-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(0, 0, 0, .68);
}

.qpy-offline-qr-modal.is-open {
    display: flex;
}

.qpy-offline-qr-modal-inner {
    position: relative;
    width: min(520px, 94vw);
    padding: 22px;
    border: 1px solid rgba(198, 150, 76, .58);
    background: #1f1710;
    color: #f2dfbd;
    text-align: center;
}

.qpy-offline-qr-modal-inner h2 {
    margin: 0 42px 14px;
    color: #f2c879;
    font-size: 20px;
}

.qpy-offline-qr-modal-img {
    width: min(420px, 82vw);
    max-height: 72vh;
    object-fit: contain;
    padding: 8px;
    background: #fff;
}

.qpy-offline-qr-modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(198, 150, 76, .58);
    background: rgba(255, 255, 255, .08);
    color: #f2dfbd;
    font-size: 24px;
    line-height: 30px;
    cursor: pointer;
}
/* step416C_member_center_cart_entry_and_offline_qr_preview_end */
/* =========================================================
   页面：会员中心 / 会员商城 member-shop
   区块：收货地址与物流 member-address-logistics
   对应模板：templates/members/center.html / address_list.html / address_form.html / checkout.html / order_detail.html
   对应 HTML 标记：qpy-member-address / qpy-checkout-address / qpy-logistics-box

   可调参数：
   1. 地址卡片列数：grid-template-columns
   2. 地址卡片边框：border-color
   3. 表单输入框背景：background
   4. 物流轨迹节点间距：gap / padding
   5. 地图预留区高度：min-height
   ========================================================= */
/* step417_member_address_and_logistics_tracking_config_start */
.qpy-member-center-step405 .qpy-member-dashboard-address {
    border-color: rgba(198, 150, 76, .58);
}

.qpy-member-address,
.qpy-member-shop .qpy-checkout-address,
.qpy-member-shop .qpy-logistics-box {
    margin: 18px 0;
    padding: 18px;
    border: 1px solid rgba(198, 150, 76, .42);
    background: rgba(35, 26, 17, .72);
    color: #f2dfbd;
}

.qpy-member-address h1,
.qpy-member-address h2,
.qpy-member-shop .qpy-logistics-box h2 {
    color: #f2c879;
}

.qpy-address-list,
.qpy-checkout-address-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
}

.qpy-address-card,
.qpy-address-item,
.qpy-checkout-address-item {
    display: block;
    padding: 12px;
    border: 1px solid rgba(198, 150, 76, .38);
    background: rgba(255, 255, 255, .06);
}

.qpy-checkout-address-item {
    cursor: pointer;
}

.qpy-checkout-address-item input {
    margin-right: 6px;
}

.qpy-checkout-address-name,
.qpy-checkout-address-detail {
    display: block;
    margin-top: 4px;
}

.qpy-address-default,
.qpy-checkout-address-default {
    display: inline-flex;
    margin-top: 6px;
    padding: 2px 8px;
    border: 1px solid rgba(242, 200, 121, .5);
    color: #f2c879;
    font-style: normal;
}

.qpy-address-form {
    display: grid;
    gap: 12px;
}

.qpy-address-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.qpy-address-form input,
.qpy-address-form textarea {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid rgba(198, 150, 76, .48);
    background: rgba(255, 255, 255, .96);
    color: #2b2118;
}

.qpy-address-form textarea {
    min-height: 88px;
}

.qpy-checkout-address-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.qpy-checkout-address-empty,
.qpy-logistics-map-empty,
.qpy-logistics-query-status {
    color: #d9bd83;
}

.qpy-logistics-timeline {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.qpy-logistics-timeline-item {
    padding: 10px 12px;
    border-left: 3px solid rgba(242, 200, 121, .65);
    background: rgba(255, 255, 255, .06);
}

.qpy-logistics-time,
.qpy-logistics-status {
    color: #d9bd83;
    font-size: 13px;
}

.qpy-logistics-map {
    min-height: 140px;
    margin-top: 12px;
    padding: 12px;
    border: 1px dashed rgba(242, 200, 121, .48);
    background: rgba(255, 255, 255, .04);
}
/* step417_member_address_and_logistics_tracking_config_end */

/* step417B_mobile_shop_table_and_payment_qr_reference_fix_start
   页面：会员商城 member-shop
   区块：移动端购物车 cart / 我的订单 order-list
   对应模板：templates/members/cart.html、templates/members/orders.html
   对应 HTML 标记：qpy-cart-page、qpy-cart-mobile-list、qpy-order-page、qpy-order-mobile-list
   可调参数：
   1. 移动端断点：max-width
   2. 表格最小宽度：min-width
   3. 商品图片尺寸：width / height
   4. 卡片间距：gap / padding
   5. 数量输入宽度：width
   ========================================================= */
.qpy-member-shop.qpy-cart-page,
.qpy-member-shop.qpy-order-page {
    max-width: 100%;
    overflow-x: hidden;
}

.qpy-cart-table-wrap,
.qpy-order-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.qpy-cart-table,
.qpy-order-table {
    min-width: 720px;
}

.qpy-cart-mobile-list,
.qpy-order-mobile-list {
    display: none;
}

@media (max-width: 640px) {
    .qpy-cart-page .qpy-cart-table-wrap,
    .qpy-order-page .qpy-order-table-wrap {
        display: none;
    }

    .qpy-cart-mobile-list,
    .qpy-order-mobile-list {
        display: grid;
        gap: 12px;
        margin-top: 12px;
    }

    .qpy-cart-mobile-card,
    .qpy-order-card {
        box-sizing: border-box;
        width: 100%;
        padding: 12px;
        border: 1px solid rgba(198, 150, 76, .42);
        background: rgba(255, 255, 255, .07);
        color: #f6ead0;
    }

    .qpy-cart-mobile-product {
        display: grid;
        grid-template-columns: 74px minmax(0, 1fr);
        gap: 10px;
        align-items: center;
    }

    .qpy-cart-mobile-thumb {
        width: 74px;
        height: 58px;
        object-fit: cover;
        border: 1px solid rgba(242, 200, 121, .35);
        background: rgba(255, 255, 255, .08);
    }

    .qpy-cart-mobile-title,
    .qpy-order-card-no {
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
        font-weight: 600;
        line-height: 1.55;
    }

    .qpy-cart-mobile-meta,
    .qpy-order-card-grid {
        display: grid;
        gap: 6px;
        margin-top: 10px;
        color: #d9bd83;
        line-height: 1.55;
    }

    .qpy-cart-mobile-actions,
    .qpy-order-card-actions,
    .qpy-cart-page .qpy-member-action-row {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
        margin-top: 12px;
    }

    .qpy-cart-page .qpy-shop-inline-form {
        display: inline-flex;
        flex-wrap: nowrap;
        gap: 6px;
        align-items: center;
        max-width: 100%;
    }

    .qpy-cart-page .qpy-shop-inline-form input[type="number"] {
        box-sizing: border-box;
        width: 76px;
        max-width: 38vw;
    }

    .qpy-cart-page .qpy-member-btn,
    .qpy-order-page .qpy-shop-detail-link {
        max-width: 100%;
        white-space: normal;
        text-align: center;
    }

    .qpy-order-page .qpy-shop-status-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .qpy-order-page .qpy-shop-status-tabs a {
        flex: 0 1 auto;
        white-space: nowrap;
    }
}
/* step417B_mobile_shop_table_and_payment_qr_reference_fix_end */
/* step419_shop_auction_flash_sale_basic_flow_full_plan_start
   页面：产品列表/产品详情 product-list/product-detail
   区块：商城/拍卖/秒杀销售印章与基础面板 sale-badge-and-panels
   对应模板：site_style_theme.product_item_list_template_html / product_item_detail_template_html
   对应 HTML 标记：qpy-sale-badge / qpy-product-auction-panel / qpy-product-flash-panel
   可调参数：印章字号、边框颜色、面板边框、价格颜色、按钮颜色
*/
.qpy-sale-badges{display:inline-flex;gap:3px;align-items:center;margin-left:6px;vertical-align:middle;white-space:nowrap;}
.qpy-sale-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 3px;border:1px solid #b61e1e;border-radius:3px;color:#f1c07a;background:#1f1710;font-size:12px;font-weight:700;line-height:1;}
.qpy-product-title-line{display:inline-flex;align-items:center;max-width:100%;}
.qpy-product-title-line .qpy-product-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.qpy-product-auction-panel,.qpy-product-flash-panel{margin:12px 0;padding:12px 14px;border:1px solid #7c5a31;background:#211810;color:#f4dfbd;}
.qpy-auction-price,.qpy-flash-price{color:#f0b45b;font-size:20px;font-weight:700;}
.qpy-auction-deposit{color:#ffd18a;font-weight:600;}
.qpy-auction-bid-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;}
.qpy-auction-bid-form input{width:130px;max-width:100%;padding:5px 7px;border:1px solid #7c5a31;background:#120d09;color:#f4dfbd;}
.qpy-product-flash-panel del{color:#b79b75;margin-left:8px;}
/* step419_shop_auction_flash_sale_basic_flow_full_plan_end */

/* step419B_fix_product_theme_switch_and_auction_flash_front_display_start
   页面：产品列表/产品详情 product-list/product-detail
   区块：拍卖秒杀前台信息与倒计时 auction-flash-display
   对应模板：site_style_theme.product_item_list_template_html / product_item_detail_template_html
   对应 HTML 标记：qpy-product-sale-info / qpy-flash-countdown
   可调参数：信息字号、价格颜色、倒计时背景、移动端换行
*/
.qpy-product-sale-info{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:#d9bd85;white-space:normal;}
.qpy-product-sale-info--auction strong,.qpy-product-sale-info--flash strong{color:#f0b45b;font-weight:700;}
.qpy-flash-countdown{display:inline-flex;align-items:center;margin-left:8px;padding:2px 6px;border-radius:3px;background:#352719;color:#ffd18a;font-size:12px;font-weight:700;white-space:nowrap;vertical-align:middle;}
.qpy-flash-countdown-ended{background:#2a2118;color:#a78b62;}
.qpy-product-flash-panel.is-ended .qpy-product-shop-btn{pointer-events:none;opacity:.55;}
@media (max-width: 640px){
    .qpy-flash-countdown{margin-left:0;margin-top:4px;display:inline-flex;}
    .qpy-product-sale-info{font-size:12px;}
}
/* step419B_fix_product_theme_switch_and_auction_flash_front_display_end */

/* step419C_fix_auction_deposit_payment_flow_admin_pages_and_spring_product_code_start
   页面：产品详情 product-detail
   区块：标题下方产品编码 product-code
   对应模板：site_style_theme.product_item_detail_template_html
   对应 HTML 标记：qpy-product-code-line
   可调参数：编码字号、编码颜色、标题与编码间距
*/
.qpy-product-code-line{margin:6px 0 12px;color:#d9bd85;font-size:13px;line-height:1.6;}
.qpy-product-code-label{color:#f0c070;font-weight:700;}
/* step419C_fix_auction_deposit_payment_flow_admin_pages_and_spring_product_code_end */

/* step423_product_list_sale_filter_price_start
   页面：产品列表 product-list
   区块：筛选条件旁“商/拍/秒”印章筛选 + 商城价格行
   对应模板：site_style_theme.product_item_list_template_html
   对应 HTML 标记：qpy-sale-filter-btn / qpy-product-shop-price-line
   说明：
   1. 只限定产品列表页作用域，不污染全局按钮。
   2. “商/拍/秒”按钮是前端静态页筛选，配合 data-shop-enabled / data-sale-mode。
   3. 产品标题下方统一显示销售价、市场价。
*/
.qpy-product-sale-filter-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.qpy-sale-filter-buttons {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    vertical-align: middle !important;
}

.qpy-sale-filter-btn {
    width: 26px !important;
    height: 26px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    cursor: pointer !important;
    line-height: 1 !important;
}

.qpy-sale-filter-stamp {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    border: 1px solid #b61e1e !important;
    border-radius: 4px !important;
    background: rgba(120, 18, 18, .92) !important;
    color: #ffd9a0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    font-family: "Microsoft YaHei", SimSun, serif !important;
    box-shadow: inset 0 0 0 1px rgba(255, 218, 160, .35), 0 1px 3px rgba(0,0,0,.18) !important;
}

.qpy-sale-filter-btn:hover .qpy-sale-filter-stamp,
.qpy-sale-filter-btn.is-active .qpy-sale-filter-stamp {
    background: #b61e1e !important;
    color: #fff2cf !important;
    border-color: #ffcf77 !important;
    transform: translateY(-1px) !important;
}

.qpy-product-shop-price-line {
    display: block !important;
    margin: 3px auto 0 !important;
    color: #d9bd85 !important;
    font-size: 12px !important;
    line-height: 18px !important;
    text-align: center !important;
    white-space: normal !important;
}

.qpy-product-shop-price-line strong {
    color: #f0b45b !important;
    font-weight: 700 !important;
}

.qpy-product-shop-market-item {
    display: inline-block !important;
    margin-left: 4px !important;
    color: #a98b5c !important;
}

.qpy-product-shop-market-item del {
    color: #a98b5c !important;
    text-decoration: line-through !important;
}

.qpy-product-mobile-title-line {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 100% !important;
    gap: 4px !important;
}

.qpy-product-mobile-title-line .qpy-product-mobile-title {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.qpy-product-shop-price-line--mobile {
    font-size: 12px !important;
    line-height: 20px !important;
    margin-top: 4px !important;
}

@media (max-width: 640px) {
    .qpy-product-sale-filter-toolbar {
        gap: 8px !important;
    }

    .qpy-sale-filter-buttons {
        gap: 8px !important;
    }

    .qpy-sale-filter-btn,
    .qpy-sale-filter-stamp {
        width: 30px !important;
        height: 30px !important;
    }
}
/* step423_product_list_sale_filter_price_end */

/* step425_garden_sale_filter_button_visibility_start
   页面：园林风格产品列表页。
   作用：
   1. 配合 product_item_list_template_html 中 step425 脚本；
   2. “商 / 拍 / 秒”印章按钮默认 hidden；
   3. 只有当前页面存在对应商城 / 拍卖 / 秒杀产品时，脚本才放开按钮。
   注意：只限定产品列表页作用域，不污染其它按钮。
*/
.qpy-product-list-article-box .qpy-sale-filter-buttons[hidden],
.qpy-product-list-article-box .qpy-sale-filter-btn[hidden] {
    display: none !important;
}

.qpy-product-list-article-box .qpy-sale-filter-buttons:not([hidden]) {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.qpy-product-list-article-box .qpy-sale-filter-btn:not([hidden]) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* step425_garden_sale_filter_button_visibility_end */

/* step425B_product_list_sale_buttons_style_start
   页面：产品列表 product-list
   区块：商城/拍卖/秒杀印章筛选 sale-buttons
   对应模板：site_style_theme.product_item_list_template_html
   对应 HTML 标记：qpy-sale-filter-buttons / qpy-sale-filter-btn
   可调参数：
   1. 按钮组间距：gap
   2. 印章尺寸：width / height
   3. 印章颜色：background / color / border-color
   4. 激活状态：.is-active
   5. 移动端尺寸：@media max-width
   ========================================================= */
.qpy-product-list-article-box .qpy-sale-filter-buttons:empty,
.qpy-product-mobile-article-box .qpy-sale-filter-buttons:empty {
    display: none !important;
}

.qpy-product-list-article-box .qpy-sale-filter-buttons,
.qpy-product-mobile-article-box .qpy-sale-filter-buttons {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.qpy-product-list-article-box .qpy-sale-filter-btn,
.qpy-product-mobile-article-box .qpy-sale-filter-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* step425B_product_list_sale_buttons_style_end */
/* =========================================================
   页面：首页/文章列表/产品列表 member-inline-badge
   区块：会员内容融合印章 member-inline-badge
   对应模板：site_style_theme.home_template_html / column_text_list_template_html / product_item_list_template_html
   对应 HTML 标记：qpy-member-badge

   可调参数：
   1. 印章宽高：width / height
   2. 印章字号：font-size
   3. 印章颜色：color / border-color
   4. 标题间距：margin-left
   ========================================================= */
.qpy-member-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 5px;
    border: 1px solid #c62828;
    border-radius: 50%;
    color: #c62828;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    vertical-align: middle;
    box-sizing: border-box;
}

.qpy-product-title .qpy-member-badge,
.home-product-title .qpy-member-badge {
    flex: 0 0 auto;
}

/* step430_member_comment_favorite_badge_start */
.qpy-member-sms-row,
.qpy-member-captcha-row{display:flex;gap:8px;align-items:center;}
.qpy-member-sms-row input,
.qpy-member-captcha-row input{flex:1;min-width:0;}
.qpy-member-send-code{height:34px;padding:0 12px;border:1px solid #b8d46a;background:#172015;color:#b8d46a;border-radius:4px;cursor:pointer;white-space:nowrap;}
.qpy-member-captcha-img{width:96px;height:34px;border:1px solid #3f4b37;border-radius:4px;cursor:pointer;object-fit:cover;}
.qpy-favorite-row{display:flex;align-items:center;gap:10px;margin:10px 0 12px;}
.qpy-favorite-btn{height:32px;padding:0 14px;border:1px solid #f1c07a;background:#172015;color:#f1c07a;border-radius:4px;cursor:pointer;font-size:13px;}
.qpy-favorite-message{font-size:13px;color:#9aa38d;}
.qpy-member-simple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;}
.qpy-member-simple-panel{border:1px solid #3f4b37;background:#172015;border-radius:6px;padding:16px;}
.qpy-member-simple-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.qpy-member-simple-head h1,.qpy-member-simple-head h2{margin:0;font-size:18px;color:#e6eadf;}
.qpy-member-simple-head a{color:#b8d46a;text-decoration:none;}
.qpy-member-simple-list{display:flex;flex-direction:column;gap:0;}
.qpy-member-simple-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dotted #3f4b37;color:#e6eadf;text-decoration:none;}
.qpy-member-simple-item a{display:flex;flex-direction:column;gap:4px;min-width:0;color:inherit;text-decoration:none;}
.qpy-member-simple-item span{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.qpy-member-simple-item small{font-size:12px;color:#b9c0ad;line-height:1.5;}
.qpy-member-simple-item em{flex:0 0 auto;font-style:normal;font-size:12px;color:#9aa38d;}
.qpy-member-simple-item form{flex:0 0 auto;margin:0;}
.qpy-member-simple-item button{height:26px;padding:0 10px;border:1px solid #f1c07a;background:#172015;color:#f1c07a;border-radius:4px;cursor:pointer;font-size:12px;white-space:nowrap;}
.qpy-member-simple-empty{padding:14px 0;color:#9aa38d;}
.qpy-member-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:18px;}
.qpy-member-pagination a{color:#b8d46a;text-decoration:none;}
@media (max-width: 720px){.qpy-member-simple-grid{grid-template-columns:1fr;}.qpy-member-sms-row,.qpy-member-captcha-row{align-items:stretch;}.qpy-member-send-code{height:auto;min-height:34px;}}
/* step430_member_comment_favorite_badge_end */
/* step431_garden_product_list_member_badge_start */
.qpy-product-list-layout-page .qpy-product-title,
.qpy-product-list-layout-page .qpy-product-title-line,
.qpy-product-list-layout-page .product-title {
    color: #f4f7e8 !important;
}

.qpy-product-list-layout-page .qpy-product-title .qpy-member-badge,
.qpy-product-list-layout-page .qpy-product-title-line .qpy-member-badge {
    width: 18px;
    height: 18px;
    border: 1px solid #d83a32;
    border-radius: 3px;
    background: rgba(216, 58, 50, 0.12);
    color: #ff756d;
    font-size: 12px;
    font-weight: 700;
    transform: rotate(-6deg);
    box-shadow: inset 0 0 0 1px rgba(216, 58, 50, 0.18);
}
/* step431_garden_product_list_member_badge_end */
/* step432_garden_product_title_member_badge_start */
.qpy-product-list-layout-page .qpy-product-title,
.qpy-product-list-layout-page .qpy-product-title-line,
.qpy-product-list-layout-page .product-title {
    color: #d8ae63 !important;
    font-family: "Microsoft YaHei", "Noto Serif SC", SimSun, serif !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .45) !important;
}

.qpy-product-list-layout-page .qpy-product-title-line {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    max-width: 100% !important;
}

.qpy-product-list-layout-page .qpy-product-title-line .qpy-product-title {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.qpy-product-list-layout-page .qpy-product-title-line .qpy-member-badge,
.qpy-product-list-layout-page .qpy-product-title .qpy-member-badge {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    margin-left: 0 !important;
    border: 1px solid #c92825 !important;
    border-radius: 3px !important;
    background: rgba(115, 14, 12, .72) !important;
    color: #ffd6b6 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    transform: rotate(-6deg) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 214, 182, .25), 0 1px 2px rgba(0,0,0,.35) !important;
    text-shadow: none !important;
}
/* step432_garden_product_title_member_badge_end */

/* =========================================================
   step434_garden_product_list_member_badge_fix_start
   页面：园林风格产品列表 product-list
   区块：会员产品标题“会”字印章 member-product-badge
   对应模板：site_style_theme.product_item_list_template_html
   修复原因：
   1. 会员登录后，产品列表由动态接口 /member-content/product-list-inline/ 融合会员产品。
   2. 原 step187 标题截留脚本会把 qpy-member-badge 重写成普通文字。
   3. 本区块配合产品列表模板 step434，把标题文字和“会”印章拆成两个独立节点。
   可调参数：
   - 标题颜色：#d8ae63
   - 印章大小：16px
   - 印章颜色：#c83228
   ========================================================= */

.qpy-product-list-layout-page .qpy-product-title-line,
.qpy-product-mobile-layout .qpy-product-mobile-title-line {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    max-width: 100% !important;
    margin: 6px auto 0 auto !important;
    line-height: 20px !important;
    vertical-align: middle !important;
}

.qpy-product-list-layout-page .qpy-product-title,
.qpy-product-mobile-layout .qpy-product-mobile-title {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #d8ae63 !important;
    font-family: "Microsoft YaHei", "Noto Serif SC", "STSong", SimSun, serif !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .45) !important;
    text-decoration: none !important;
}

.qpy-product-list-layout-page .qpy-product-title-text,
.qpy-product-mobile-layout .qpy-product-title-text {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #d8ae63 !important;
    font-family: "Microsoft YaHei", "Noto Serif SC", "STSong", SimSun, serif !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .45) !important;
}

.qpy-product-list-layout-page .qpy-product-card:hover .qpy-product-title,
.qpy-product-list-layout-page .qpy-product-card:hover .qpy-product-title-text,
.qpy-product-mobile-layout .qpy-product-mobile-card:hover .qpy-product-mobile-title,
.qpy-product-mobile-layout .qpy-product-mobile-card:hover .qpy-product-title-text {
    color: #f3c985 !important;
    text-decoration: none !important;
}

/* 会员“会”字：独立红色印章，不参与标题截断 */
.qpy-product-list-layout-page .qpy-product-title-line > .qpy-member-badge,
.qpy-product-list-layout-page .qpy-product-title-line > .qpy-product-member-badge,
.qpy-product-list-layout-page .qpy-member-badge.qpy-product-member-badge,
.qpy-product-mobile-layout .qpy-product-mobile-title-line > .qpy-member-badge,
.qpy-product-mobile-layout .qpy-product-mobile-title-line > .qpy-product-member-badge,
.qpy-product-mobile-layout .qpy-member-badge.qpy-product-member-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    margin: 0 0 0 3px !important;
    padding: 0 !important;
    border: 1.5px solid #c83228 !important;
    border-radius: 50% !important;
    background: rgba(255, 248, 236, .96) !important;
    color: #c83228 !important;
    font-family: SimSun, "STSong", serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    transform: rotate(-10deg) !important;
    box-shadow:
        inset 0 0 0 1px rgba(200, 50, 40, .16),
        0 1px 2px rgba(0, 0, 0, .22) !important;
    text-shadow: none !important;
    text-decoration: none !important;
    overflow: visible !important;
}

/* 兜底：若动态接口仍把印章放在标题内部，也强制按印章显示 */
.qpy-product-list-layout-page .qpy-product-title .qpy-member-badge,
.qpy-product-list-layout-page .qpy-product-title .qpy-product-member-badge,
.qpy-product-mobile-layout .qpy-product-mobile-title .qpy-member-badge,
.qpy-product-mobile-layout .qpy-product-mobile-title .qpy-product-member-badge {
    display: inline-flex !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    border: 1.5px solid #c83228 !important;
    border-radius: 50% !important;
    background: rgba(255, 248, 236, .96) !important;
    color: #c83228 !important;
    font-family: SimSun, "STSong", serif !important;
    font-size: 11px !important;
    line-height: 1 !important;
    transform: rotate(-10deg) !important;
    text-shadow: none !important;
}

/* step434_garden_product_list_member_badge_fix_end */

/* step442_payment_audit_customer_privacy_aftersale_return_start */
.qpy-footer-audit-links {
    margin-top: 10px;
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.qpy-footer-audit-links a {
    color: #d8ae63;
    text-decoration: none;
}
.qpy-footer-audit-links a:hover {
    color: #f3c985;
}
.qpy-floating-customer-service {
    position: fixed;
    right: 18px;
    bottom: 78px;
    z-index: 9998;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.qpy-floating-customer-item {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 88px;
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 8px;
    background: #6b4428;
    color: #fff8ec !important;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .22);
    font-size: 13px;
    line-height: 1.3;
    box-sizing: border-box;
}
.qpy-floating-customer-item-robot {
    background: #8a643c;
}
.qpy-floating-customer-item img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}
.qpy-policy-page,
.qpy-customer-service-page,
.qpy-return-page {
    max-width: 960px;
    margin: 0 auto;
}
.qpy-policy-version {
    margin: 6px 0 16px;
    color: #8a643c;
}
.qpy-policy-content,
.qpy-privacy-gate-content {
    line-height: 1.9;
    color: #3d2b1f;
}
.qpy-privacy-gate {
    border: 1px solid rgba(216, 174, 99, .45);
    border-radius: 8px;
    padding: 16px;
    background: #fff8ec;
}
.qpy-privacy-gate-content {
    max-height: 260px;
    overflow: auto;
    margin: 12px 0;
    padding: 12px;
    background: #ffffff;
    border: 1px solid rgba(216, 174, 99, .35);
}
.qpy-customer-card-grid,
.qpy-return-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin: 16px 0;
}
.qpy-customer-card,
.qpy-return-card {
    display: block;
    padding: 16px;
    border: 1px solid rgba(216, 174, 99, .35);
    border-radius: 8px;
    background: #ffffff;
    color: #3d2b1f;
    text-decoration: none;
}
.qpy-customer-card strong,
.qpy-return-card strong {
    display: block;
    margin-bottom: 6px;
    color: #6b4428;
}
.qpy-customer-card-muted {
    color: #6b5a4c;
    background: #fffaf2;
}
.qpy-return-form label,
.qpy-return-logistics-form label {
    display: block;
    margin-bottom: 12px;
}
.qpy-return-form input,
.qpy-return-form select,
.qpy-return-form textarea,
.qpy-return-logistics-form input {
    width: 100%;
    box-sizing: border-box;
}
.qpy-return-images {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.qpy-return-images img {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid rgba(216, 174, 99, .35);
}
@media (max-width: 640px) {
    .qpy-floating-customer-service {
        right: 10px;
        bottom: 64px;
        gap: 8px;
    }
    .qpy-floating-customer-item {
        min-width: 68px;
        min-height: 34px;
        padding: 7px 9px;
        font-size: 12px;
    }
    .qpy-floating-customer-item img {
        width: 18px;
        height: 18px;
    }
}
/* step442_payment_audit_customer_privacy_aftersale_return_end */

/* step443_footer_policy_links_position_and_register_privacy_countdown_start */
.qpy-footer-policy-links {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
    margin: 6px 0 8px;
    line-height: 1.8;
}
.qpy-footer-policy-links a {
    color: #d8ae63;
    text-decoration: none;
}
.qpy-footer-policy-links a:hover {
    color: #f3c985;
}
.qpy-footer-info .qpy-footer-policy-links {
    width: 100%;
}
.qpy-privacy-gate-btn[disabled] {
    cursor: not-allowed;
    opacity: .68;
}
/* step443_footer_policy_links_position_and_register_privacy_countdown_end */

/* step444_customer_footer_register_fix_start */
.qpy-customer-service-page {
    max-width: 920px;
    margin: 0 auto;
    padding: 24px 28px 38px;
    box-sizing: border-box;
}

.qpy-customer-service-card {
    padding: 26px 30px 32px;
    background: rgba(7, 13, 19, 0.55);
    border: 1px solid rgba(173, 122, 54, 0.48);
    color: #d8c99d;
}

.qpy-customer-service-card h1 {
    margin: 0 0 14px;
    color: #e6be72;
    font-size: 24px;
    letter-spacing: 1px;
}

.qpy-service-desc,
.qpy-service-time {
    margin: 8px 0;
    color: #d8d0bd;
    line-height: 1.8;
}

.qpy-service-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.qpy-service-btn {
    display: inline-block;
    min-width: 132px;
    padding: 10px 18px;
    text-align: center;
    color: #f5d58a !important;
    text-decoration: none !important;
    background: linear-gradient(180deg, #9a6a1f, #6f4b13);
    border: 1px solid rgba(224, 186, 106, 0.75);
    border-radius: 3px;
    box-sizing: border-box;
}

.qpy-service-btn:hover {
    color: #fff2bd !important;
    background: linear-gradient(180deg, #b98226, #7c5518);
}

.qpy-service-btn-light {
    background: rgba(128, 86, 25, 0.62);
}

.qpy-service-warning {
    width: 100%;
    padding: 10px 14px;
    color: #f0cc80;
    background: rgba(173, 122, 54, 0.12);
    border: 1px dashed rgba(173, 122, 54, 0.55);
}

@media screen and (max-width: 768px) {
    .qpy-customer-service-page {
        padding: 18px 14px 26px;
    }
    .qpy-customer-service-card {
        padding: 20px 16px 24px;
    }
    .qpy-service-actions {
        display: block;
    }
    .qpy-service-btn {
        display: block;
        width: 100%;
        margin: 10px 0;
    }
}
/* step444_customer_footer_register_fix_end */

/* step448_register_privacy_footer_source_clean_start */
.qpy-member-modal-box .qpy-register-privacy-box {
    padding: 16px;
    border: 1px solid rgba(190, 139, 65, 0.62);
    border-radius: 6px;
    background: rgba(5, 11, 17, 0.92);
    color: #e2d5b3;
    box-shadow: inset 0 0 0 1px rgba(255, 225, 153, 0.05);
}
.qpy-member-modal-box .qpy-register-privacy-title {
    margin: 0 0 10px;
    color: #e6be72;
    font-size: 18px;
    line-height: 1.45;
    font-weight: 600;
}
.qpy-member-modal-box .qpy-register-privacy-scroll {
    max-height: 210px;
    overflow-y: auto;
    margin: 10px 0 14px;
    padding: 12px 14px;
    border: 1px solid rgba(190, 139, 65, 0.42);
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.30);
    color: #dfd6c3;
    line-height: 1.85;
    font-size: 14px;
}
.qpy-member-modal-box .qpy-register-privacy-scroll .qpy-policy-page,
.qpy-member-modal-box .qpy-register-privacy-scroll .qpy-privacy-policy,
.qpy-member-modal-box .qpy-register-privacy-scroll .qpy-policy-content {
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
}
.qpy-member-modal-box .qpy-register-privacy-scroll p,
.qpy-member-modal-box .qpy-register-privacy-scroll div,
.qpy-member-modal-box .qpy-register-privacy-scroll li,
.qpy-member-modal-box .qpy-register-privacy-scroll span {
    color: inherit;
}
.qpy-member-modal-box .qpy-register-privacy-scroll a {
    color: #e6be72;
}
.qpy-register-privacy-action {
    margin-top: 12px;
    text-align: center;
}
.qpy-register-privacy-next[disabled] {
    cursor: not-allowed;
    opacity: 0.68;
}
.qpy-register-privacy-next:not([disabled]) {
    cursor: pointer;
}
.qpy-footer-info .qpy-footer-policy-links,
.qpy-footer-policy-links {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin: 0 0 7px;
    padding: 0;
    text-align: center;
    line-height: 1.8;
}
.qpy-footer-policy-links a {
    display: inline-block;
    color: #e6be72 !important;
    text-decoration: none !important;
}
.qpy-footer-policy-links a:hover {
    color: #fff2bd !important;
}
@media screen and (max-width: 768px) {
    .qpy-member-modal-box .qpy-register-privacy-box {
        padding: 13px;
    }
    .qpy-member-modal-box .qpy-register-privacy-scroll {
        max-height: 180px;
        padding: 10px;
        font-size: 13px;
    }
    .qpy-footer-policy-links {
        gap: 12px;
        font-size: 12px;
    }
}
/* step448_register_privacy_footer_source_clean_end */
