/*
 * 电商杂志风主题（版式参考 Ueeshop t122：大标题 + 四列商品栅格 + 社交图墙 + 黑色页脚）
 * 配色与排版都收在上面的变量里，改一行就能换整体色调。
 * 字体是思源宋体（Noto Serif SC），自托管在 /assets/fonts/noto-serif-sc，
 * 不依赖任何外部 CDN；本机装了思源宋体就直接用本机的。
 */

:root {
    /* ---------- 主配色：深墨蓝 / 沙金 / 象牙白 ---------- */
    --ue-navy: #2A3B4E;        /* 标题、深色分区、主按钮 */
    --ue-sand: #E4B388;        /* 点缀：按钮悬停、序号、深色上的高亮 */
    --ue-ivory: #F8F5EE;       /* 页面底色 */

    /* ---------- 由三色派生的深浅（同一色系，不引入杂色） ---------- */
    --ue-navy-deep: #1F2B38;   /* 页脚和首屏这种要更沉的地方 */
    --ue-sand-deep: #B5844F;   /* 沙金的文字版（浅底上保证看得清） */
    --ue-ivory-deep: #EFE9DD;  /* 浅米色分区 / 商品卡 / 占位图 */
    --ue-line: #E6DFD2;        /* 暖色细线，替掉原来的冷灰 */
    --ue-surface: #FFFFFF;     /* 卡片白 */

    --ue-ink: var(--ue-navy);
    --ue-text: #4C5866;
    --ue-muted: #8B9098;
    --ue-footer: var(--ue-navy-deep);

    /* 旧变量名保留成同色系，主题里散落的老写法不用一个个改 */
    --ue-pink: var(--ue-sand-deep);
    --ue-plum: var(--ue-navy);
    --ue-blue: var(--ue-navy);
    /*
     * 正文字体：思源宋体。
     * 前面几个是系统里可能已经装好的同名/同源字体，装了就直连本机（零下载、离线也能看）；
     * 没装才走 /assets/fonts/noto-serif-sc 里自托管的思源宋体切片；
     * 最后兜底到各系统的宋体/衬线体。
     */
    --ue-font: "Source Han Serif SC", "Noto Serif SC", "Source Han Serif CN", "Source Han Serif",
               "Songti SC", "STSong", "SimSun", "Times New Roman", serif;
    --ue-wrap: 1440px;
}

* { box-sizing: border-box; }

body.ue {
    margin: 0;
    background: var(--ue-ivory);
    color: var(--ue-text);
    font-family: var(--ue-font);
    font-size: 14px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

body.ue a { color: inherit; text-decoration: none; }
body.ue img { max-width: 100%; display: block; }
body.ue h1, body.ue h2, body.ue h3, body.ue h4 { margin: 0; font-weight: 700; line-height: 1.12; }
body.ue p { margin: 0 0 12px; }

.ue-wrap { width: 100%; max-width: var(--ue-wrap); margin: 0 auto; padding: 0 60px; }
.ue-center { text-align: center; }
.ue-muted { color: var(--ue-muted); }

/* ---------- 顶部条 ---------- */

.ue-topbar {
    background: var(--ue-footer);
    /* 深底上的小字要够亮才看得清 */
    color: rgba(248, 245, 238, .9);
    font-size: 12px;
    letter-spacing: .04em;
}
.ue-topbar .ue-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6px 18px;
    padding-top: 9px;
    padding-bottom: 9px;
}
.ue-topbar b { color: var(--ue-sand); font-weight: 500; }
.ue-topbar a { color: rgba(248, 245, 238, .92); }
.ue-topbar a:hover { color: var(--ue-sand); }

/* ---------- 头部 ---------- */

.ue-header {
    position: sticky;
    top: 0;
    z-index: 60;
    background: var(--ue-ivory);
    border-bottom: 1px solid var(--ue-line);
}
.ue-header-inner {
    display: flex;
    align-items: center;
    gap: 28px;
    padding-top: 18px;
    padding-bottom: 18px;
}
.ue-logo {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .22em;
    color: var(--ue-ink);
    white-space: nowrap;
}
.ue-nav {
    display: flex;
    gap: 26px;
    margin-left: 14px;
}
.ue-nav-item { position: relative; }
.ue-nav-item > a {
    display: inline-block;
    padding: 8px 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    /* 导航用主色，比原来的灰蓝明显 */
    color: var(--ue-ink);
    border-bottom: 2px solid transparent;
}
.ue-nav-item > a:hover { color: var(--ue-sand-deep); border-bottom-color: var(--ue-ink); }

/* 「你在哪里」：当前板块那一项只在下面加一条线 */
.ue-nav-item > a.on { border-bottom-color: var(--ue-navy); }

.ue-mega {
    position: absolute;
    top: 100%;
    left: -24px;
    display: none;
    /* 只有一列分类，收窄一点 */
    min-width: 260px;
    padding: 26px 30px;
    background: var(--ue-surface);
    border: 1px solid var(--ue-line);
    box-shadow: 0 18px 40px rgba(42, 59, 78, .10);
}
.ue-nav-item:hover .ue-mega { display: flex; gap: 40px; }
.ue-mega-col { min-width: 180px; }
.ue-mega-col h4 {
    margin-bottom: 10px;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ue-muted);
}
.ue-mega-col a {
    display: block;
    padding: 5px 0;
    font-size: 14px;
    color: var(--ue-text);
}
.ue-mega-col a:hover { color: var(--ue-pink); }

.ue-header-right {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: auto;
}
/*
 * 语言切换：语言多了以后收成一个下拉，默认只显示当前语言。
 * 顶栏要盖住下面的吸顶头部，所以给它更高的层级。
 */
.ue-topbar { position: relative; z-index: 70; }

.ue-langs { position: relative; display: inline-block; font-size: 12px; }
.ue-langs > summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    list-style: none;
    color: rgba(248, 245, 238, .88);
    cursor: pointer;
}
.ue-langs > summary::-webkit-details-marker { display: none; }
.ue-langs > summary::after {
    content: '▾';
    font-size: 10px;
    line-height: 1;
    color: rgba(248, 245, 238, .7);
}
.ue-langs > summary:hover { color: var(--ue-sand); }
.ue-langs[open] > summary { color: var(--ue-sand); }
.ue-langs .globe { font-size: 12px; line-height: 1; }

.ue-langs-menu {
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 90;
    min-width: 150px;
    margin-top: 10px;
    padding: 8px 0;
    border: 1px solid var(--ue-line);
    background: var(--ue-surface);
    box-shadow: 0 18px 40px rgba(31, 43, 56, .18);
    text-align: left;
}
/* 带 body.ue 是为了压过 body.ue a { color: inherit }，否则菜单会继承顶栏的浅色，白底上看不清 */
body.ue .ue-langs-menu a {
    display: block;
    padding: 8px 18px;
    font-size: 13px;
    color: var(--ue-ink);
}
body.ue .ue-langs-menu a:hover { background: var(--ue-ivory); color: var(--ue-sand-deep); }
body.ue .ue-langs-menu a.on { color: var(--ue-sand-deep); font-weight: 700; }

.ue-btn {
    display: inline-block;
    padding: 12px 22px;
    border: 1px solid var(--ue-ink);
    background: transparent;
    color: var(--ue-ink);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
}
.ue-btn:hover { background: var(--ue-navy); color: var(--ue-ivory); }
/* 深墨蓝填充按钮上的字用沙金：暖色压在冷色底上比象牙白更跳，也不会糊成一片灰 */
.ue-btn-pink { background: var(--ue-navy); border-color: var(--ue-navy); color: var(--ue-sand); }
.ue-btn-pink:hover { background: var(--ue-sand); border-color: var(--ue-sand); color: var(--ue-navy); }
.ue-btn-light { background: var(--ue-ivory); border-color: var(--ue-ivory); color: var(--ue-navy); }
.ue-btn-light:hover { background: var(--ue-sand); border-color: var(--ue-sand); color: var(--ue-navy); }

/*
 * 按钮写成 <a class="ue-btn …"> 时，会被上面那条 body.ue a { color: inherit } 吃掉颜色
 * （它的优先级比单个 class 高），导航栏「索取报价」就是这样变灰的。
 * 这里补一组带 body.ue 的选择器把颜色抢回来。
 */
body.ue a.ue-btn { color: var(--ue-ink); }
body.ue a.ue-btn:hover { color: var(--ue-ivory); }
body.ue a.ue-btn-pink { color: var(--ue-sand); }
body.ue a.ue-btn-pink:hover { color: var(--ue-navy); }
body.ue a.ue-btn-light { color: var(--ue-navy); }
body.ue a.ue-btn-light:hover { color: var(--ue-navy); }

/* 沙金实底按钮（首页索取报价横幅那种），深墨蓝字 */
.ue-btn-sand { background: var(--ue-sand); border-color: var(--ue-sand); color: var(--ue-navy); }
.ue-btn-sand:hover { background: var(--ue-navy); border-color: var(--ue-navy); color: var(--ue-sand); }
body.ue a.ue-btn-sand { color: var(--ue-navy); }
body.ue a.ue-btn-sand:hover { color: var(--ue-sand); }

/* ---------- 首屏轮播 ---------- */

.ue-hero { position: relative; overflow: hidden; background: var(--ue-navy-deep); }
.ue-slide {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: opacity .7s ease;
    background: var(--ue-navy-deep) center/cover no-repeat;
}
.ue-slide.on { opacity: 1; position: relative; }

/* ---------- 首屏：一张图或一段视频 + 文案（不再轮播） ---------- */

.ue-hero-single {
    display: flex;
    align-items: center;
    min-height: 620px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
/* 图上压一层墨蓝渐变，白色标题才读得清 */
.ue-hero-single::after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: linear-gradient(90deg, rgba(31, 43, 56, .78), rgba(31, 43, 56, .22));
}
.ue-hero-single > .ue-wrap { position: relative; z-index: 2; }

.ue-hero-video {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    overflow: hidden;
}
.ue-hero-video iframe,
.ue-hero-video video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    min-width: 177.78vh;
    min-height: 56.25vw;
    border: 0;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.ue-hero-eyebrow {
    display: block;
    margin-bottom: 14px;
    font-size: 13px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ue-sand);
}

/* 文案排版沿用原来首屏的那一套（大标题 + 副标题 + 按钮靠左） */
.ue-hero-single h2 {
    /* 字号收小一点，同时把宽度放宽，标题就不会再被挤成两行 */
    max-width: 760px;
    font-size: 56px;
    letter-spacing: .01em;
    color: #FFFFFF;
}
.ue-hero-single p {
    margin-top: 14px;
    font-size: 20px;
    font-weight: 300;
    color: rgba(248, 245, 238, .84);
}
.ue-hero-single .ue-btn { margin-top: 26px; align-self: flex-start; }

@media (max-width: 1000px) {
    .ue-hero-single { min-height: 460px; }
    .ue-hero-single h2 { font-size: 36px; }
    .ue-hero-single p { font-size: 16px; }
}
.ue-slide::after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: linear-gradient(90deg, rgba(31, 43, 56, .72), rgba(31, 43, 56, .18));
}
.ue-slide-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 620px;
    padding-top: 40px;
    padding-bottom: 40px;
    color: #fff;
}
.ue-slide h2 {
    max-width: 16ch;
    font-size: 72px;
    letter-spacing: .01em;
}
.ue-slide p {
    margin-top: 14px;
    font-size: 20px;
    font-weight: 300;
    color: rgba(248, 245, 238, .84);
}
.ue-slide .ue-btn { margin-top: 26px; align-self: flex-start; }

.ue-dots {
    position: absolute;
    left: 60px;
    bottom: 28px;
    z-index: 5;
    display: flex;
    gap: 10px;
}
.ue-dots button {
    width: 34px;
    height: 3px;
    padding: 0;
    border: 0;
    background: rgba(248, 245, 238, .5);
    cursor: pointer;
}
.ue-dots button.on { background: var(--ue-sand); }

/* ---------- 通用区块头 ---------- */

.ue-section { padding: 90px 0; }
.ue-section.tight { padding: 60px 0; }
.ue-section.alt { background: var(--ue-surface); }
.ue-head { margin-bottom: 40px; text-align: center; }
.ue-head h2 { font-size: 62px; color: var(--ue-ink); }
.ue-head p { margin-top: 12px; font-size: 18px; font-weight: 300; color: var(--ue-muted); }
.ue-head.left { text-align: left; }

/* ---------- 分类瓷砖 ---------- */

.ue-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ue-tile { display: block; }
.ue-tile .ue-thumb {
    position: relative;
    padding-top: 118%;
    overflow: hidden;
    background: linear-gradient(135deg, #f2f2f2, #e6e6e6);
}
.ue-tile .ue-thumb img {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.ue-tile:hover .ue-thumb img { transform: scale(1.04); }
.ue-tile .ue-thumb span {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #b5b5b5;
}
.ue-tile h3 { margin-top: 14px; font-size: 16px; color: var(--ue-ink); }
.ue-tile em { font-style: normal; font-size: 13px; color: var(--ue-muted); }

/* ---------- 编辑式大图区块 ---------- */

.ue-split { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 60px; }
.ue-split.reverse { grid-template-columns: 1fr 1.15fr; }
.ue-split.reverse .ue-split-media { order: 2; }
.ue-split-media {
    position: relative;
    padding-top: 74%;
    overflow: hidden;
    background: linear-gradient(135deg, #f4f4f4, #e3e3e3);
}
.ue-split-media img {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.ue-split-media:hover img { transform: scale(1.02); }
.ue-split-media span {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #b5b5b5;
}
.ue-split-body h2 { font-size: 46px; color: var(--ue-ink); }
.ue-split-body p { margin-top: 16px; font-size: 15px; color: #666; }
.ue-split-body .ue-btn { margin-top: 24px; }

/* ---------- 商品栅格 + 选项卡 ---------- */

.ue-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 38px;
    margin-bottom: 50px;
}
.ue-tabs a {
    padding-bottom: 15px;
    font-size: 30px;
    font-weight: 700;
    color: var(--ue-muted);
    border-bottom: 2px solid transparent;
}
.ue-tabs a.on { color: var(--ue-ink); border-bottom-color: var(--ue-ink); }

.ue-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 30px; }

/* 商品详情页的「相关产品」：一排 5 个（窄屏由下面 .ue-grid 的媒体查询降到 3 个 / 2 个） */
.ue-grid-related { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 34px 22px; }

/*
 * 「全部商品」页的商品墙：一排 5 个、块间距 0.5cm、每块最大 8cm 宽 × 10cm 高。
 * 一页正好 30 个（5 个 × 6 排），第 31 个起翻到下一页，所以列数固定 5 列，
 * 不用 auto-fit（窗口不够宽时它会把一排挤成 4 个）。
 */
.ue-grid-shop {
    /* 固定 5 列：每列最多 8cm，容器窄了列跟着缩，始终保持一排 5 个 */
    grid-template-columns: repeat(5, minmax(0, 8cm));
    justify-content: center;
    gap: 0.5cm;
}

/* 5 个 8cm 块 + 4 个 0.5cm 间距 ≈ 1587px，容器放宽到 1720 才放得下 */
.ue-wrap-wide { max-width: 1720px; }

@media (max-width: 1780px) {
    .ue-wrap-wide { max-width: 100%; }
}
/*
 * 卡片版式和首页「热销产品」完全同步：浅米色方卡 + 品类 + 标题 + FOB报价 + 起订量。
 * 全部商品这边只把尺寸固定成 8cm 宽 × 10cm 高（图片按 8:10 裁切），并保留圆角。
 */
.ue-grid-shop .ue-feat-card {
    border-radius: 10px;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}
.ue-grid-shop .ue-feat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .1);
}
.ue-grid-shop .ue-feat-media { padding-top: 125%; }
.ue-grid-shop .ue-feat-card:hover .ue-feat-media img { transform: scale(1.05); }

.ue-grid-shop .ue-feat-cat { margin-top: 12px; font-size: 11px; }
.ue-grid-shop .ue-feat-title {
    margin-top: 4px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ue-ink);
}
/* 商品卡上的价格：小灰字「FOB报价」+ 大号加粗金额，价格一眼就能看到 */
.ue-grid-shop .ue-feat-price { margin-top: 6px; }
.ue-grid-shop .ue-feat-price b { font-size: 17px; }
.ue-grid-shop .ue-feat-moq { margin-top: 4px; margin-bottom: 0; font-size: 11px; }

/* 图片下面只有「加入购物车」 */
.ue-grid-shop .ue-feat-add { margin: auto 0 0; padding-top: 10px; }
.ue-grid-shop .ue-feat-add button {
    display: block;
    width: 100%;
    padding: 9px 12px;
    border: 0;
    border-radius: 6px;
    background: var(--ue-navy);
    color: var(--ue-ivory);
    font: inherit;
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
}
.ue-grid-shop .ue-feat-add button:hover { background: var(--ue-sand); color: var(--ue-navy); }

@media (max-width: 1000px) {
    /* 窄屏放不下 8cm 的块时，允许列再窄一点，但仍然一排 5 个 */
    .ue-grid-shop { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.3cm; }
}

/*
 * 前台翻页：和后台「全部商品」的翻页按钮同一套长相
 * （胶囊描边按钮 + 悬停填充主色 + 当前页/总页数 + 商品总数）。
 */
.ue-pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: fit-content;
    margin: 44px auto 8px;
    padding: 8px 14px 8px 10px;
    border: 1px solid var(--ue-line);
    border-radius: 999px;
    background: var(--ue-surface);
    box-shadow: 0 10px 28px rgba(31, 43, 56, .10);
    font-size: 13px;
    color: var(--ue-muted);
}
.ue-pager .ue-pager-step {
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    border: 1px solid var(--ue-line);
    border-radius: 999px;
    background: var(--ue-surface);
    font-size: 13px;
    font-weight: 600;
    color: var(--ue-ink);
    text-decoration: none;
    white-space: nowrap;
}
.ue-pager a.ue-pager-step:hover { border-color: var(--ue-navy); background: var(--ue-navy); color: var(--ue-ivory); }
.ue-pager .ue-pager-step.is-off { background: #fafafa; border-color: #f0f0f0; color: #c2c6cc; cursor: default; }
.ue-pager .ue-pager-now {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    padding: 0 4px;
    color: var(--ue-muted);
}
.ue-pager .ue-pager-now b { font-size: 19px; color: var(--ue-navy); }
.ue-pager .ue-pager-now em { font-style: normal; font-size: 13px; }
.ue-pager .ue-pager-total { padding-right: 4px; font-size: 12px; color: var(--ue-muted); white-space: nowrap; }

/*
 * 全部商品的翻页：滚动时贴在窗口底部中间（商品多也不用滚到底才能翻页），
 * 滚到页脚之前就停在栅格下面那一行，不会再跟着动。
 */
.ue-pager.ue-pager-float {
    position: sticky;
    bottom: 22px;
    z-index: 30;
}

/* 停在原位时和页脚之间留一点空 */
.ue-section:has(.ue-pager-float) { padding-bottom: 44px; }

@media (max-width: 760px) {
    /* 手机上一排 5 个太挤，降到一排 2 个；平板以上仍然是一排 5 个 */
    .ue-grid-shop { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

    .ue-pager { gap: 8px; padding: 6px 10px; margin-top: 30px; }
    .ue-pager .ue-pager-total { display: none; }
}

.ue-product { text-align: center; }
.ue-product-media {
    position: relative;
    padding-top: 100%;
    overflow: hidden;
    background: linear-gradient(135deg, #f5f5f5, #e8e8e8);
}
.ue-product-media img {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.ue-product:hover .ue-product-media img { transform: scale(1.04); }
.ue-product-media .ue-ph {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #b5b5b5;
}
.ue-actions {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    transform: translateY(100%);
    transition: transform .25s ease;
}
.ue-product:hover .ue-actions { transform: translateY(0); }
.ue-actions a {
    flex: 1;
    padding: 14px 8px;
    background: rgba(42, 59, 78, .94);
    color: var(--ue-ivory);
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.ue-actions a.buy { background: var(--ue-navy); }
.ue-actions a:hover { opacity: .9; color: var(--ue-ivory); }
/* 加购是 GET 表单（静态页上不需要 CSRF 令牌），按钮长得和旁边的链接一样 */
.ue-actions form { display: flex; flex: 1; margin: 0; }
.ue-actions button {
    flex: 1;
    padding: 14px 8px;
    border: 0;
    background: var(--ue-navy);
    color: var(--ue-ivory);
    font: inherit;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
}
.ue-actions button:hover { opacity: .9; }
.ue-product h3 { margin-top: 16px; font-size: 14px; font-weight: 400; color: var(--ue-text); letter-spacing: .02em; }
.ue-product h3:hover { color: var(--ue-pink); }
.ue-product .price { margin-top: 8px; font-size: 15px; font-weight: 700; color: var(--ue-ink); }
.ue-product .moq { font-size: 12px; color: var(--ue-muted); }

/* ---------- 数字条 ---------- */

.ue-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; text-align: center; }
.ue-stats b { display: block; font-size: 54px; color: var(--ue-ink); line-height: 1; }
.ue-stats span { display: block; margin-top: 10px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--ue-muted); }

/* ---------- 当季新品（版式参考 coach.com.cn：居中大标题 + 竖版大图 + 一排商品卡） ---------- */

/* ---------- 搜索 ---------- */

.ue-search-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    max-width: 560px;
    margin: 0 auto 40px;
}
.ue-search-bar input {
    flex: 1 1 220px;
    height: 48px;
    padding: 0 16px;
    border: 1px solid var(--ue-line);
    background: var(--ue-surface);
    color: var(--ue-ink);
    font: inherit;
    font-size: 14px;
}
.ue-search-bar input:focus { outline: 0; border-color: var(--ue-ink); }
.ue-search-bar .ue-btn { padding: 0 26px; height: 48px; line-height: 46px; }

.ue-search-mini { display: flex; align-items: center; }
.ue-search-mini input {
    width: 170px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid var(--ue-line);
    background: var(--ue-surface);
    color: var(--ue-ink);
    font: inherit;
    font-size: 13px;
}
.ue-search-mini input::placeholder { color: rgba(42, 59, 78, .55); }
.ue-search-mini input:focus { outline: 0; border-color: var(--ue-ink); }

/* ---------- 产品筛选器 ---------- */

.ue-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 24px;
}
.ue-filter-bar .ue-filter { margin-bottom: 0; }

.ue-filter-toggle { position: relative; }
.ue-filter-toggle > summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    border: 1px solid var(--ue-line);
    background: var(--ue-surface);
    color: var(--ue-ink);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}
.ue-filter-toggle > summary::-webkit-details-marker { display: none; }
.ue-filter-toggle > summary::after { content: '▾'; font-size: 11px; color: var(--ue-muted); }
.ue-filter-toggle > summary:hover { border-color: var(--ue-ink); }
.ue-filter-toggle[open] > summary { border-color: var(--ue-ink); }
.ue-filter-toggle .dot { color: var(--ue-pink); font-size: 20px; line-height: 1; }

.ue-filter-panel {
    position: absolute;
    right: 0;
    z-index: 30;
    width: 580px;
    max-width: 92vw;
    margin-top: 10px;
    padding: 24px;
    border: 1px solid var(--ue-line);
    background: var(--ue-surface);
    box-shadow: 0 20px 44px rgba(42, 59, 78, .12);
    text-align: left;
}
.ue-filter-group + .ue-filter-group {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--ue-line);
}

/* 筛选面板里每一组都可以折叠：点标题收起 / 展开 */
.ue-filter-group > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ue-muted);
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.ue-filter-group > summary::-webkit-details-marker { display: none; }
.ue-filter-group > summary::after {
    content: '▾';
    font-size: 11px;
    line-height: 1;
    color: var(--ue-muted);
    transition: transform .2s ease;
}
.ue-filter-group[open] > summary::after { transform: rotate(180deg); }
.ue-filter-group > summary:hover { color: var(--ue-ink); }
.ue-filter-group > summary:hover::after { color: var(--ue-ink); }
.ue-filter-group h4 {
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    color: var(--ue-muted);
}
.ue-filter-options { display: flex; flex-wrap: wrap; gap: 8px; }
.ue-filter-group > summary + .ue-filter-options { margin-top: 12px; }
.ue-filter-options a {
    padding: 6px 14px;
    border: 1px solid var(--ue-line);
    font-size: 13px;
    color: var(--ue-text);
}
.ue-filter-options a:hover { border-color: var(--ue-sand-deep); color: var(--ue-sand-deep); }
.ue-filter-options a.on { background: var(--ue-navy); border-color: var(--ue-navy); color: var(--ue-ivory); }

/*
 * 筛选器改成「先选条件、再点确认」之后，选项从链接换成了单选框：
 * 选中的样子跟原来完全一样（大分类是带下划线的大字，面板里是深色胶囊），
 * 区别只是点了不跳页，要点「确认」才生效。
 */
.ue-filter .ue-tab { position: relative; display: inline-flex; cursor: pointer; }
.ue-filter .ue-tab input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ue-filter .ue-tab > span {
    padding-bottom: 12px;
    font-size: 20px;
    font-weight: 700;
    color: var(--ue-muted);
    border-bottom: 2px solid transparent;
    transition: color .15s, border-color .15s;
}
.ue-filter .ue-tab:hover > span { color: var(--ue-ink); }
.ue-filter .ue-tab input:checked + span { color: var(--ue-ink); border-bottom-color: var(--ue-ink); }
.ue-filter .ue-tab input:focus-visible + span { box-shadow: 0 3px 0 0 var(--ue-sand); }

.ue-filter-options .ue-opt { position: relative; display: inline-flex; cursor: pointer; }
.ue-filter-options .ue-opt input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ue-filter-options .ue-opt > span {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid var(--ue-line);
    background: var(--ue-surface);
    font-size: 13px;
    color: var(--ue-text);
    transition: border-color .15s, color .15s, background .15s;
}
.ue-filter-options .ue-opt:hover > span { border-color: var(--ue-sand-deep); color: var(--ue-sand-deep); }
.ue-filter-options .ue-opt input:checked + span { background: var(--ue-navy); border-color: var(--ue-navy); color: var(--ue-ivory); }
.ue-filter-options .ue-opt.on > span { background: var(--ue-navy); border-color: var(--ue-navy); color: var(--ue-ivory); }
.ue-filter-options .ue-opt input:focus-visible + span { border-color: var(--ue-sand-deep); }

.ue-filter-apply { padding: 11px 22px; }
/* 改了条件但还没点确认时，按钮亮一圈沙金，提示「点我」 */
.ue-filter-apply.is-dirty { box-shadow: 0 0 0 3px rgba(228, 179, 136, .45); }
.ue-filter-dirty { font-size: 12px; color: var(--ue-sand-deep); }

.ue-filter-panel-foot {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--ue-line);
}
.ue-filter-panel-foot .ue-filter-clear { margin-top: 0; }

.ue-filter-clear { display: inline-block; margin-top: 18px; font-size: 13px; color: var(--ue-pink); }
.ue-filter-clear:hover { text-decoration: underline; }

.ue-filter-active {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 18px;
    font-size: 13px;
}
.ue-filter-active .chip {
    padding: 4px 12px;
    border: 1px solid var(--ue-line);
    border-radius: 999px;
    color: var(--ue-text);
}
.ue-filter-active .chip:hover { border-color: var(--ue-pink); color: var(--ue-pink); }

.ue-season { padding: 90px 0; background: var(--ue-surface); }
.ue-season + .ue-season { padding-top: 0; }

.ue-season-head { margin-bottom: 60px; text-align: center; }
.ue-season-head h2 {
    font-size: 40px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 1px;
    color: var(--ue-ink);
}
.ue-season-head p { margin-top: 13px; font-size: 14px; color: #666; }

.ue-season-body {
    display: grid;
    /* 左边一块竖版大图 + 右边一排 4 个商品（第二块左右翻转） */
    grid-template-columns: min(440px, 36.5%) minmax(0, 1fr);
    column-gap: 32px;
    align-items: stretch;
}
.ue-season--flip .ue-season-body { grid-template-columns: minmax(0, 1fr) min(440px, 36.5%); }
.ue-season--flip .ue-season-promo { grid-column: 2; grid-row: 1; }
.ue-season--flip .ue-season-products { grid-column: 1; grid-row: 1; }

.ue-season-promo {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    display: block;
    aspect-ratio: 464 / 600;
    overflow: hidden;
    background: var(--ue-ivory-deep);
}
.ue-season-promo img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.ue-season-promo:hover img { transform: scale(1.04); }
.ue-season-promo span {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #b5b5b5;
}

.ue-season-products {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}
.ue-season-track {
    /* 一排 4 个、一屏 4 个：多出来的用箭头（或直接滑动）向后翻 */
    display: flex;
    gap: 20px;
    overflow-x: auto;
    /* 不做自动吸附：拖动进度条和箭头动画都是平滑的，不会被系统「吸」一下打断 */
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 4px;
}
.ue-season-track::-webkit-scrollbar { display: none; }

/* 卡片刚好占 1/4 宽（三个 20px 间距），翻页时对齐到卡片边缘 */
.ue-season-card { flex: 0 0 calc((100% - 60px) / 4); }

/* 左右翻页箭头：放在商品上方右角 */
.ue-season-nav { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 14px; }
.ue-season-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid var(--ue-line);
    border-radius: 50%;
    background: var(--ue-surface);
    color: var(--ue-ink);
    font: inherit;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
}
.ue-season-arrow:hover:not(:disabled) { background: var(--ue-navy); border-color: var(--ue-navy); color: var(--ue-ivory); }
.ue-season-arrow:disabled { opacity: .3; cursor: default; }

/*
 * 商品底部的进度条：细线 + 淡色。
 * 外面那层留了 15px 高（好按），真正看到的只有中间那条 3px 的线。
 */
.ue-season-progress {
    position: relative;
    height: 15px;
    margin-top: 14px;
    cursor: pointer;
    touch-action: none;
}
.ue-season-progress::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 3px;
    margin-top: -1.5px;
    border-radius: 999px;
    background: #EFE9DD;
}
.ue-season-progress-thumb {
    position: absolute;
    top: 50%;
    left: 0;
    height: 3px;
    margin-top: -1.5px;
    border-radius: 999px;
    background: var(--ue-sand);
    cursor: grab;
    transition: background .15s;
}
.ue-season-progress-thumb:hover { background: var(--ue-sand-deep); }
.ue-season-progress-thumb:active { background: var(--ue-sand-deep); cursor: grabbing; }

.ue-season-card { display: block; }
.ue-season-card-img {
    position: relative;
    aspect-ratio: 288 / 384;
    overflow: hidden;
    background: var(--ue-ivory-deep);
}
.ue-season-card-img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.ue-season-card:hover .ue-season-card-img img { transform: scale(1.04); }
.ue-season-card-img .ue-ph {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #b5b5b5;
}
.ue-season-card b { display: block; margin-top: 14px; font-size: 14px; font-weight: 400; color: var(--ue-text); }
.ue-season-card:hover b { color: var(--ue-pink); }
.ue-season-card span { display: block; margin-top: 4px; font-size: 12px; color: var(--ue-muted); }
.ue-season-card .ue-season-price { margin-top: 8px; font-size: 17px; font-weight: 700; color: var(--ue-navy); }

.ue-season-cta { margin-top: 44px; text-align: center; }

/* ---------- 案例 ---------- */

/* ---------- 为什么选我们 + 合作流程（并排两栏） ---------- */

.ue-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
    align-items: start;
}
.ue-pair-col h2 { font-size: 34px; color: var(--ue-ink); }
.ue-pair-lead { margin-top: 14px; font-size: 15px; line-height: 1.7; color: #666; }

.ue-list { list-style: none; margin: 26px 0 0; padding: 0; }
.ue-list li {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 14px;
    padding: 13px 0;
    border-top: 1px solid var(--ue-line);
    font-size: 14px;
}
.ue-list li b { flex: 0 0 96px; color: var(--ue-ink); font-weight: 700; }
.ue-list li span { flex: 1 1 160px; color: #666; }
.ue-pair-col .ue-btn { margin-top: 28px; }

.ue-cases { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.ue-case { padding: 30px; border: 1px solid var(--ue-line); }
.ue-case b { display: block; font-size: 20px; color: var(--ue-ink); }
.ue-case p { margin-top: 10px; font-size: 14px; color: #666; }
.ue-case dl { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 14px 0 0; }
.ue-case dt { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ue-muted); }
.ue-case dd { margin: 2px 0 0; font-size: 14px; font-weight: 700; color: var(--ue-ink); }
.ue-case > div { display: flex; flex-direction: column; }

/* ---------- 社交图墙 ---------- */

/* ---------- 联系我们：工厂环境 / 为什么选我们 ---------- */

.ue-factory-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 30px; }
.ue-factory-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: linear-gradient(135deg, #f5f5f5, #e8e8e8);
}
.ue-factory-copy { max-width: 900px; margin: 0 auto; font-size: 15px; color: #555; text-align: center; }
.ue-factory-copy p { margin-bottom: 16px; }
/* 关于我们·工厂地址：始终居中。
   注意别写成单个类：`body.ue p { margin: 0 0 12px }` 权重比单个类高，
   会把 margin:auto 盖掉，盒子贴左，看着就不居中了。 */
body.ue .ue-about-factory-address {
    max-width: 900px;
    margin: 6px auto 0;
    font-size: 15px;
    color: #555;
    text-align: center;
}
body.ue .ue-about-factory-address b { color: #2A3B4E; margin-right: 6px; }

/* 为什么选择我们：两列浅灰圆角小块，前面一个小圆点（不用图标） */
.ue-why-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
.ue-why-grid > div {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 18px;
    border: 1px solid var(--ue-line);
    border-radius: 8px;
    background: var(--ue-ivory);
}
.ue-why-grid > div::before {
    content: '';
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin-top: 7px;
    border-radius: 50%;
    background: #CFC7B8;
}
.ue-why-grid b { font-size: 15px; font-weight: 600; color: var(--ue-ink); }
.ue-why-grid span { font-size: 13px; color: var(--ue-muted); }
.ue-why-grid b + span::before { content: ' · '; }

/* 首页「为什么选择我们」：一个米色盒子装标题 + 条目（参考 beelle.cn 首页那块 container） */
.ue-why-box {
    padding: 54px 46px 48px;
    border: 1px solid var(--ue-line);
    background: var(--ue-ivory-deep);
}
.ue-why-box .ue-head { margin-bottom: 32px; }
.ue-why-box .ue-why-grid > div { background: var(--ue-surface); }

.ue-eyebrow {
    display: block;
    margin-bottom: 10px;
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ue-sand-deep);
}

@media (max-width: 1000px) {
    .ue-why-box { padding: 34px 20px 30px; }
}

.ue-wall { display: grid; grid-template-columns: repeat(6, 1fr); }
.ue-wall a {
    position: relative;
    padding-top: 100%;
    overflow: hidden;
    background: linear-gradient(135deg, #f5f5f5, #e8e8e8);
}
.ue-wall img {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ue-wall a::after {
    content: attr(data-label);
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .55);
    color: var(--ue-ink);
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: 0;
    transition: opacity .3s ease;
}
.ue-wall a:hover::after { opacity: 1; }

/* ---------- 询盘区 ---------- */

/* 询盘区用白底：文字和分隔线都翻成深色版本 */
.ue-cta {
    background: var(--ue-surface);
    color: var(--ue-text);
    border-top: 1px solid var(--ue-line);
}
.ue-cta .ue-head h2 { color: var(--ue-ink); }
.ue-cta .ue-head p { color: var(--ue-muted); }
/* 表单在上、联系方式在下面一行 */
.ue-cta-inner { display: block; }
.ue-cta-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px 48px;
    max-width: 980px;
    margin: 34px auto 0;
    padding-top: 26px;
    border-top: 1px solid var(--ue-line);
    font-size: 15px;
    color: #666;
    text-align: center;
}
.ue-cta-list > div { display: flex; flex-direction: column; gap: 4px; }
.ue-cta-list b { color: var(--ue-ink); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }

/* ---------- 询盘表单（主题自带完整样式，不依赖默认主题的 CSS） ---------- */

.ue .inquiry-form {
    max-width: 860px;
    margin: 0 auto;
    padding: 32px;
    /* 区块本身是白底，表单用浅灰底 + 细边框，才不会糊成一片 */
    border: 1px solid var(--ue-line);
    background: var(--ue-ivory);
}
.ue .form-title {
    margin: 0 0 18px;
    font-size: 20px;
    font-weight: 700;
    color: var(--ue-ink);
}

/* 两列栅格：标签用 flex 竖向排，输入框高度一致，不会错位 */
.ue .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
}
.ue .inquiry-form label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
    color: #666;
}
.ue .inquiry-form label.wide { grid-column: 1 / -1; }
.ue .inquiry-form input,
.ue .inquiry-form select,
.ue .inquiry-form textarea {
    display: block;
    width: 100%;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--ue-line);
    border-radius: 0;
    background: var(--ue-surface);
    color: var(--ue-ink);
    font: inherit;
    font-size: 14px;
    line-height: 1.5;
}
.ue .inquiry-form input:focus,
.ue .inquiry-form select:focus,
.ue .inquiry-form textarea:focus {
    outline: 0;
    border-color: var(--ue-ink);
}
.ue .inquiry-form textarea { min-height: 96px; resize: vertical; }
.ue .inquiry-form button { margin-top: 22px; }

/* 输入框和下拉框高度统一，同一行的控件才是齐的 */
.ue .inquiry-form input[type="text"],
.ue .inquiry-form input[type="email"],
.ue .inquiry-form input[type="tel"],
.ue .inquiry-form input[type="search"],
.ue .inquiry-form select { height: 48px; }

.ue .form-note { margin: 12px 0 0; font-size: 12px; color: var(--ue-muted); }

.ue .notice { padding: 12px 14px; margin-bottom: 16px; font-size: 14px; }
.ue .notice ul { margin: 0; padding-left: 18px; }
.ue .notice.ok { background: #f6fbf6; border: 1px solid #cfe6cf; color: #24632a; }
.ue .notice.err { background: #fdf0ef; border: 1px solid #f3cfcb; color: #8c2a20; }

/* 蜜罐字段必须藏起来，不能让访客看到 */
.ue .honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

@media (max-width: 700px) {
    .ue .form-grid { grid-template-columns: 1fr; }
    .ue .inquiry-form { padding: 22px 18px; }
}

/* ---------- 页脚 ---------- */

.ue-footer { background: var(--ue-footer); color: rgba(248, 245, 238, .62); font-size: 13px; padding: 70px 0 22px; }
.ue-footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.ue-footer h4 { margin-bottom: 14px; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--ue-sand); }
.ue-footer a, .ue-footer span { display: block; margin-bottom: 8px; color: rgba(248, 245, 238, .62); }
.ue-footer a:hover { color: var(--ue-sand); }
.ue-footer-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    margin-top: 40px;
    padding-top: 18px;
    border-top: 1px solid rgba(248, 245, 238, .14);
    font-size: 12px;
}

/* ---------- 内页 ---------- */

.ue-pagehead {
    position: relative;
    background: var(--ue-ivory);
    border-bottom: 1px solid var(--ue-line);
    padding: 70px 0 60px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.ue-pagehead h1 { font-size: 52px; color: var(--ue-ink); }
.ue-pagehead p { margin-top: 12px; font-size: 16px; color: var(--ue-muted); font-weight: 300; }

/* 后台设了头图：压一层暗色渐变，保证白字读得清 */
.ue-pagehead.has-image { border-bottom: 0; }
.ue-pagehead.has-image::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(90deg, rgba(31, 43, 56, .74), rgba(31, 43, 56, .28));
}
.ue-pagehead.has-image .ue-wrap { position: relative; z-index: 2; }
.ue-pagehead.has-image h1 { color: var(--ue-ivory); }
.ue-pagehead.has-image p { color: rgba(248, 245, 238, .82); }

.ue-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 32px; margin-bottom: 46px; }
.ue-filter a {
    padding-bottom: 12px;
    font-size: 20px;
    font-weight: 700;
    color: var(--ue-muted);
    border-bottom: 2px solid transparent;
}
.ue-filter a.on { color: var(--ue-ink); border-bottom-color: var(--ue-ink); }

.ue-detail { display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: start; }
.ue-detail-main {
    position: relative;
    padding-top: 100%;
    overflow: hidden;
    background: linear-gradient(135deg, #f5f5f5, #e8e8e8);
}
.ue-detail-main img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.ue-detail-main span {
    position: absolute; top: 0; right: 0; bottom: 0; left: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: #b5b5b5;
}
.ue-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 14px; }
.ue-thumbs img { aspect-ratio: 1 / 1; width: 100%; object-fit: cover; border: 1px solid var(--ue-line); }
.ue-detail-body h1 { font-size: 42px; color: var(--ue-ink); }
.ue-detail-body .ue-lead { margin-top: 14px; font-size: 16px; color: #666; }
.ue-facts { display: flex; flex-wrap: wrap; gap: 28px; margin: 26px 0 0; padding: 22px 0; border-top: 1px solid var(--ue-line); border-bottom: 1px solid var(--ue-line); }
.ue-facts dt { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ue-muted); }
.ue-facts dd { margin: 4px 0 0; font-size: 15px; font-weight: 700; color: var(--ue-ink); }
.ue-spec { margin-top: 40px; border-top: 1px solid var(--ue-line); }
.ue-spec div { display: grid; grid-template-columns: 34% 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--ue-line); font-size: 14px; }
.ue-spec span { color: var(--ue-muted); }
.ue-downloads { list-style: none; margin: 22px 0 0; padding: 0; }
.ue-downloads li { padding: 8px 0; font-size: 14px; }
.ue-downloads a { color: var(--ue-sand-deep); }

/* 规格书 / 报告下载：做成一个能点的按钮块，买家一眼看到（B2B 高频动作） */
.ue-download {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border: 1px solid var(--ue-line);
    background: var(--ue-surface);
    transition: border-color .15s, box-shadow .15s, transform .15s;
}
.ue-download:hover {
    border-color: var(--ue-navy);
    box-shadow: 0 6px 18px rgba(42, 59, 78, .1);
    transform: translateY(-1px);
}
.ue-download-ico {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(228, 179, 136, .22);
    color: var(--ue-navy);
    font-size: 16px;
}
.ue-download-text { display: flex; flex-direction: column; }
.ue-download-text b { font-size: 14px; font-weight: 600; color: var(--ue-ink); }
.ue-download-text em { margin-top: 2px; font-style: normal; font-size: 12px; color: var(--ue-muted); }

.ue-prose { max-width: 820px; margin: 0 auto; font-size: 15px; color: #555; }
.ue-prose h2 { margin: 30px 0 14px; font-size: 28px; color: var(--ue-ink); }

.ue-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.ue-post { border: 1px solid var(--ue-line); padding: 26px; }
.ue-post b { display: block; font-size: 18px; color: var(--ue-ink); }
.ue-post span { display: block; margin-top: 10px; font-size: 14px; color: #666; }
.ue-post em { display: block; margin-top: 14px; font-style: normal; font-size: 12px; letter-spacing: .1em; color: var(--ue-muted); }

/* ---------- 响应式 ---------- */

/* ---------- 常见问题（FAQ）：搜索 + 分类胶囊 + 手风琴 ---------- */

/* ---------- 定制服务页：四张服务卡片 ---------- */

/* ---------- 首页「三大设计系列」：三个深色大卡 ---------- */

.ue-series { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }

.ue-series-card {
    display: block;
    padding: 26px 26px 22px;
    background: var(--ue-navy);
    color: var(--ue-ivory);
}

.ue-series-media {
    position: relative;
    display: block;
    padding-top: 104%;
    overflow: hidden;
    background: var(--ue-ivory-deep);
}
.ue-series-media img {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.ue-series-card:hover .ue-series-media img { transform: scale(1.04); }
.ue-series-media .ue-ph {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ue-muted);
}

.ue-series-count {
    display: block;
    margin-top: 20px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--ue-sand);
}
.ue-series-card b {
    display: block;
    margin-top: 6px;
    font-size: 34px;
    line-height: 1.15;
    color: var(--ue-ivory);
}
.ue-series-link { display: block; margin-top: 10px; font-size: 13px; color: rgba(248, 245, 238, .66); }
.ue-series-card:hover .ue-series-link { color: var(--ue-sand); }

@media (max-width: 1000px) {
    .ue-series { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .ue-series-card { padding: 18px; }
    .ue-series-card b { font-size: 26px; }
}
@media (max-width: 640px) {
    .ue-series { grid-template-columns: 1fr; }
}

.ue-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ue-service-card {
    padding: 26px 24px;
    border: 1px solid var(--ue-line);
    border-radius: 10px;
    background: var(--ue-surface);
}
.ue-service-card b { display: block; margin-bottom: 10px; font-size: 18px; color: var(--ue-ink); }
.ue-service-card span { font-size: 14px; line-height: 1.7; color: var(--ue-text); }

@media (max-width: 1000px) {
    .ue-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 640px) {
    .ue-service-grid { grid-template-columns: 1fr; }
    .ue-service-card { padding: 20px 18px; }
}

/*
 * 常见问题：和 beelle.cn/faq.php 一样的单列手风琴 ——
 * 一行一个问题、只有下细分隔线（没有卡片框和阴影），右侧箭头展开时转 180°。
 */
.ue-faq { max-width: 820px; margin: 0 auto; }

.ue-faq-item { border-bottom: 1px solid var(--ue-line); }
.ue-faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    padding: 22px 0;
    border: 0;
    background: none;
    font: inherit;
    font-size: 18px;
    line-height: 1.5;
    color: var(--ue-ink);
    text-align: left;
    cursor: pointer;
    transition: color .25s ease;
}
.ue-faq-q:hover { color: var(--ue-sand-deep); }
.ue-faq-q svg { flex: 0 0 auto; color: var(--ue-pink); transition: transform .3s ease; }
.ue-faq-item.open .ue-faq-q svg { transform: rotate(180deg); }

.ue-faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease, padding .35s ease; }
.ue-faq-item.open .ue-faq-a { max-height: 600px; padding-bottom: 24px; }
.ue-faq-a p { margin: 0; font-size: 14.5px; line-height: 1.95; color: var(--ue-muted); }
.ue-faq-more { display: inline-block; margin-top: 10px; font-size: 13px; color: var(--ue-pink); }
.ue-faq-more:hover { color: var(--ue-sand-deep); }

@media (max-width: 640px) {
    .ue-faq-q { padding: 18px 0; font-size: 16px; }
}

@media (max-width: 1200px) {
    .ue-wrap { padding: 0 30px; }
    .ue-head h2 { font-size: 44px; }
    .ue-slide h2 { font-size: 52px; }
    .ue-slide-inner { min-height: 480px; }
    .ue-grid { grid-template-columns: repeat(3, 1fr); }
    .ue-tiles { grid-template-columns: repeat(2, 1fr); }
    .ue-wall { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1000px) {
    .ue-nav { display: none; }
    .ue-search-mini { display: none; }
    .ue-section { padding: 54px 0; }
    .ue-head { margin-bottom: 26px; }
    .ue-head h2 { font-size: 34px; }
    .ue-head p { font-size: 15px; }
    .ue-slide h2 { font-size: 36px; }
    .ue-slide p { font-size: 16px; }
    .ue-slide-inner { min-height: 380px; }
    .ue-dots { left: 30px; }
    .ue-split, .ue-split.reverse, .ue-detail, .ue-cta-inner, .ue-pair { grid-template-columns: 1fr; gap: 34px; }

    /* 当季新品：手机上大图在上、商品在下，两列排 */
    .ue-season { padding: 54px 0; }
    .ue-season + .ue-season { padding-top: 0; }
    .ue-season-head { margin-bottom: 28px; }
    .ue-season-head h2 { font-size: 26px; letter-spacing: .5px; }
    .ue-season-body,
    .ue-season--flip .ue-season-body { grid-template-columns: 1fr; row-gap: 24px; }
    .ue-season-promo,
    .ue-season--flip .ue-season-promo { grid-column: 1; grid-row: 1; }
    .ue-season-products,
    .ue-season--flip .ue-season-products { grid-column: 1; grid-row: 2; }
    .ue-season-track { gap: 16px; }
    .ue-season-card { flex: 0 0 calc((100% - 16px) / 2); }
    .ue-season-cta { margin-top: 28px; }
    .ue-split.reverse .ue-split-media { order: 0; }
    .ue-split-body h2 { font-size: 30px; }
    .ue-grid { grid-template-columns: repeat(2, 1fr); gap: 26px 16px; }
    .ue-stats { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .ue-stats b { font-size: 36px; }
    .ue-cases, .ue-posts { grid-template-columns: 1fr; }
    .ue-tabs a { font-size: 20px; }
    .ue-tabs { gap: 0 20px; }
    .ue-pagehead h1 { font-size: 32px; }
    .ue-detail-body h1 { font-size: 28px; }
    .ue-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .ue-wrap { padding: 0 18px; }
    .ue-header-inner { flex-wrap: wrap; gap: 12px; }
    .ue-header-right { width: 100%; justify-content: space-between; }
    .ue-hero .ue-btn { padding: 10px 16px; }
    .ue-tiles, .ue-wall, .ue-footer-grid { grid-template-columns: repeat(2, 1fr); }
    .ue-thumbs { grid-template-columns: repeat(3, 1fr); }
    .ue-spec div { grid-template-columns: 1fr; gap: 2px; }
}

/* ---------- 商城：购物车 / 结算 / 会员中心 / 订单查询 ---------- */

.ue-shop { padding: 56px 0 80px; }
.ue-shop-narrow .ue-wrap, .ue-wrap.ue-shop-narrow { max-width: 760px; }
.ue-shop-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 40px; align-items: start; }

.ue-card { border: 1px solid var(--ue-line); background: #fff; padding: 28px; }
.ue-card + .ue-card { margin-top: 22px; }
.ue-card h2 { margin-bottom: 16px; font-size: 20px; color: var(--ue-ink); }

.ue-table { width: 100%; border-collapse: collapse; }
.ue-table th {
    padding: 0 0 12px;
    border-bottom: 1px solid var(--ue-line);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ue-muted);
    text-align: left;
}
.ue-table td { padding: 16px 0; border-bottom: 1px solid var(--ue-line); vertical-align: middle; font-size: 14px; }
.ue-table tbody tr:last-child td { border-bottom: 0; }
.ue-table .num { text-align: right; }
.ue-table td.num { text-align: right; }
.ue-table th:first-child, .ue-table td:first-child { padding-right: 16px; }

.ue-line-item { display: flex; align-items: center; gap: 14px; }
.ue-line-item img { width: 76px; height: 76px; object-fit: cover; border: 1px solid var(--ue-line); }

.ue-field { display: flex; flex-direction: column; gap: 7px; font-size: 13px; color: #666; }
.ue-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.ue-form-grid .wide { grid-column: 1 / -1; }

.ue-input {
    display: block;
    width: 100%;
    height: 46px;
    padding: 0 14px;
    border: 1px solid var(--ue-line);
    border-radius: 0;
    background: #fff;
    color: var(--ue-ink);
    font: inherit;
    font-size: 14px;
}
.ue-input:focus { outline: 0; border-color: var(--ue-ink); }
textarea.ue-input { height: auto; min-height: 96px; padding: 12px 14px; line-height: 1.6; resize: vertical; }
.ue-table .ue-input { width: 96px; text-align: center; margin-left: auto; }

.ue-sum { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--ue-line); font-size: 14px; }
.ue-sum > div { display: flex; justify-content: space-between; gap: 16px; padding: 7px 0; }
.ue-sum > div.total {
    margin-top: 8px;
    padding-top: 14px;
    border-top: 1px solid var(--ue-line);
    font-size: 18px;
    font-weight: 700;
    color: var(--ue-ink);
}

.ue-alert { margin-bottom: 20px; padding: 14px 16px; border: 1px solid; font-size: 14px; }
.ue-alert ul { margin: 0; padding-left: 18px; }
.ue-alert.ok { background: #f6fbf6; border-color: #cfe6cf; color: #24632a; }
.ue-alert.err { background: #fdf0ef; border-color: #f3cfcb; color: #8c2a20; }

.ue-badge { display: inline-block; padding: 4px 10px; border: 1px solid var(--ue-line); background: var(--ue-surface); font-size: 12px; color: var(--ue-text); }
.ue-badge.pending { border-color: #f0d9a8; background: #fdf7e8; color: #8a6a12; }
.ue-badge.paid { border-color: #b8d4f0; background: #f0f6fd; color: #1d5c99; }
.ue-badge.shipped { border-color: #c4e0d0; background: #f1faf5; color: #216b45; }
.ue-badge.completed { border-color: var(--ue-line); background: var(--ue-ivory-deep); color: var(--ue-text); }
.ue-badge.cancelled { border-color: #e8cfcf; background: #fdf2f2; color: #8c2a20; }

.ue-steps { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--ue-muted); }
.ue-steps li.on { color: var(--ue-ink); font-weight: 700; }

.ue-account-nav { display: flex; flex-wrap: wrap; gap: 8px 26px; margin-bottom: 30px; border-bottom: 1px solid var(--ue-line); }
.ue-account-nav a { padding-bottom: 12px; border-bottom: 2px solid transparent; font-size: 14px; color: var(--ue-muted); }
.ue-account-nav a.on { border-bottom-color: var(--ue-ink); color: var(--ue-ink); font-weight: 700; }
.ue-account-nav form { margin: 0 0 12px auto; }

.ue-bank { margin: 0; padding: 0; list-style: none; font-size: 13px; color: #666; }
.ue-bank li { padding: 4px 0; }
.ue-bank-box { margin-top: 20px; padding: 16px; border: 1px dashed var(--ue-line); background: var(--ue-ivory); }
.ue-bank-box b { display: block; margin-bottom: 8px; font-size: 13px; color: var(--ue-ink); }

.ue-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ue-choice { display: flex; align-items: center; gap: 10px; padding: 13px 14px; border: 1px solid var(--ue-line); font-size: 14px; cursor: pointer; }
.ue-choice input { margin: 0; }
.ue-choice:hover { border-color: var(--ue-ink); }

.ue-auth-card { max-width: 560px; margin: 0 auto; padding: 36px; }
.ue-auth-card h2 { font-size: 26px; }
.ue-auth-card .ue-field { margin-top: 18px; }
.ue-auth-foot { margin: 20px 0 0; font-size: 13px; text-align: center; }
.ue-auth-foot a { color: var(--ue-pink); }

.ue-pager { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 24px; font-size: 14px; }

.ue-link-btn { padding: 0; border: 0; background: none; color: var(--ue-muted); font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; }
.ue-link-btn:hover { color: var(--ue-pink); }

.ue-header-right .ue-plain { font-size: 13px; color: var(--ue-ink); }
.ue-header-right .ue-plain:hover { color: var(--ue-pink); }
.ue-cart-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--ue-ink); }
.ue-cart-link b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: var(--ue-navy);
    color: var(--ue-ivory);
    font-size: 11px;
}
.ue-logout-btn { padding: 0; border: 0; background: none; color: var(--ue-muted); font: inherit; font-size: 13px; cursor: pointer; }
.ue-logout-btn:hover { color: var(--ue-pink); }

.ue-buy-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; }
.ue-buy-row .ue-input { width: 110px; text-align: center; }

@media (max-width: 1000px) {
    .ue-shop-grid { grid-template-columns: 1fr; gap: 26px; }
    .ue-form-grid, .ue-choices { grid-template-columns: 1fr; }
    .ue-shop { padding: 40px 0 60px; }
    .ue-card { padding: 22px 18px; }
    .ue-auth-card { padding: 26px 20px; }
}

@media (max-width: 640px) {
    .ue-table th, .ue-table td { font-size: 13px; }
    .ue-line-item img { width: 56px; height: 56px; }
}

@media (max-width: 1000px) {
    .ue-factory-grid { grid-template-columns: repeat(2, 1fr); }
    .ue-why-grid { grid-template-columns: 1fr; gap: 22px; }
    .ue-factory-copy { text-align: left; }
    /* 工厂地址这一行在手机上也不动位置，保持居中 */
}

@media (max-width: 640px) {
    .ue-factory-grid { grid-template-columns: 1fr; }
}

/* ---------- 首页「热销产品」：浅米色方卡 + FEATURED 角标 ---------- */

.ue-feat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }

/* 热销产品下面那个「查看全部」，和「当季新品」那两块下面的按钮同一个位置感 */
.ue-feat-cta { margin-top: 44px; text-align: center; }

.ue-feat-card {
    display: flex;
    flex-direction: column;
    padding: 12px;
    background: var(--ue-ivory-deep);
    text-align: center;
}

.ue-feat-media {
    position: relative;
    display: block;
    padding-top: 100%;
    overflow: hidden;
}
.ue-feat-media img {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.ue-feat-card:hover .ue-feat-media img { transform: scale(1.03); }
.ue-feat-media .ue-ph {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ue-muted);
    /* 没图时让卡片的米色透上来，比压一块纯白更统一 */
    background: transparent;
}

.ue-feat-cat {
    margin-top: 16px;
    font-size: 12px;
    color: var(--ue-muted);
}
.ue-feat-title {
    margin-top: 6px;
    padding: 0 8px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--ue-navy);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ue-feat-title:hover { color: var(--ue-sand-deep); }
.ue-feat-price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 400;
    color: var(--ue-muted);
}
.ue-feat-price b {
    font-size: 19px;
    font-weight: 700;
    color: var(--ue-navy);
    letter-spacing: .01em;
}
.ue-feat-moq { margin-top: 8px; margin-bottom: 4px; font-size: 13px; color: var(--ue-text); }

@media (max-width: 1000px) {
    .ue-feat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .ue-feat-title { font-size: 14px; }
}

/* ---------- 首页索取报价横幅：背景图 + 按钮 ---------- */

.ue-quote-banner {
    position: relative;
    padding: 130px 0;
    background: var(--ue-navy-deep) center / cover no-repeat;
    text-align: center;
}
.ue-quote-banner.has-image::after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: rgba(0, 0, 0, .34);
}
.ue-quote-banner .ue-cta-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* 横幅文案：前半段白字 + 后半段沙金高亮，下面是说明，再下面是沙金按钮 */
.ue-banner-title {
    font-size: 54px;
    line-height: 1.2;
    color: #F8F5EE;
}
.ue-banner-title em { font-style: normal; color: var(--ue-sand); }
.ue-banner-sub {
    max-width: 720px;
    margin: 18px 0 0;
    color: rgba(248, 245, 238, .86);
    font-size: 15px;
    line-height: 1.7;
}
.ue-quote-banner .ue-btn {
    margin-top: 30px;
    padding: 16px 46px;
    font-size: 14px;
}

@media (max-width: 1000px) {
    .ue-banner-title { font-size: 34px; }
}

@media (max-width: 1000px) {
    .ue-quote-banner { padding: 80px 0; }
}

/* ---------- 索取报价页：整页只有一张询盘表单，让它落在页面正中间 ---------- */

.ue-quote {
    display: flex;
    align-items: center;
    justify-content: center;
    /* 去掉页头、页脚占掉的高度，剩下的区域里居中 */
    min-height: calc(100vh - 360px);
}
.ue-quote > .ue-wrap { width: 100%; }

/* 左边联系方式、右边询盘表单；表单不再自己居中，跟着网格走 */
.ue-quote-grid {
    display: grid;
    grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
    align-items: start;
    gap: 56px;
}
.ue-quote .inquiry-form { max-width: 760px; margin: 0; }

/* 左栏：标题 + 联系方式，一条一条竖着排 */
.ue-quote-side-title {
    margin-bottom: 18px;
    font-size: 20px;
    color: var(--ue-ink);
}
.ue-quote-side .ue-cta-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    max-width: none;
    margin: 0;
    padding-top: 0;
    border-top: 0;
    text-align: left;
    font-size: 14px;
}
.ue-quote-side .ue-cta-list > div { gap: 2px; }

/* 询价单左边那份清单 */
.ue-rfq-list { border: 1px solid var(--ue-line); background: var(--ue-surface); }
.ue-rfq-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--ue-line);
}
.ue-rfq-item img,
.ue-rfq-ph {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    object-fit: cover;
    border-radius: 6px;
    background: var(--ue-ivory-deep);
}
.ue-rfq-item b { display: block; font-size: 14px; color: var(--ue-ink); }
.ue-rfq-item span { display: block; margin-top: 2px; font-size: 12px; color: var(--ue-muted); }
.ue-rfq-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    background: var(--ue-ivory);
    font-size: 14px;
}
.ue-rfq-total b { font-size: 16px; color: var(--ue-ink); }

@media (max-width: 1000px) {
    .ue-quote { min-height: 0; }
    .ue-quote-grid { grid-template-columns: 1fr; gap: 34px; }
    .ue-quote-side .ue-cta-list { gap: 12px; }
}

/* ==========================================================================
 * 配色统一层：把散落在各处的冷灰/纯黑/纯白收进 #2A3B4E / #E4B388 / #F8F5EE 这套里。
 * 只做颜色，不动排版和尺寸。
 * ========================================================================== */

/* 首屏白字改用象牙白，比纯白柔和 */
.ue-slide-inner { color: var(--ue-ivory); }

/* 正文、说明文字统一成墨蓝系的灰，不再用中性的 #666 / #555 */
.ue-split-body p,
.ue-season-head p,
.ue-pair-lead,
.ue-list li span,
.ue-case p,
.ue-prose,
.ue-post span,
.ue-factory-copy,
.ue-detail-body .ue-lead,
.ue-cta-list,
.ue .inquiry-form label,
.ue-field,
.ue-bank { color: var(--ue-text); }

/* 没上传图片时的占位块：暖米色渐变，替掉原来的冷灰渐变 */
.ue-tile .ue-thumb,
.ue-split-media,
.ue-product-media,
.ue-factory-grid img,
.ue-wall a,
.ue-detail-main { background: linear-gradient(135deg, var(--ue-ivory-deep), #E9E2D4); }

/* 占位块里的小字统一成暖灰 */
.ue-tile .ue-thumb span,
.ue-split-media span,
.ue-product-media .ue-ph,
.ue-season-promo span,
.ue-season-card-img .ue-ph,
.ue-detail-main span { color: var(--ue-muted); }

/* 输入框一律白底 */
.ue-input { background: var(--ue-surface); }

/* ---------- 商品详情页：视频 / 规格库存 / 服务 / 详情长图 ---------- */

.ue-video {
    position: relative;
    margin-top: 14px;
    padding-top: 56.25%;      /* 16:9 */
    overflow: hidden;
    background: var(--ue-navy-deep);
}
.ue-video iframe,
.ue-video video {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: contain;
}

.ue-promo {
    display: inline-block;
    margin-top: 18px;
    padding: 8px 16px;
    background: var(--ue-sand);
    color: var(--ue-navy);
    font-size: 13px;
    font-weight: 700;
}

.ue-sub-title {
    margin-top: 34px;
    font-size: 14px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ue-services { list-style: none; margin: 14px 0 0; padding: 0; }
.ue-services li {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px 16px;
    padding: 11px 0;
    border-bottom: 1px solid var(--ue-line);
    font-size: 14px;
}
.ue-services b { font-weight: 600; color: var(--ue-ink); }
.ue-services a { color: var(--ue-sand-deep); font-size: 13px; }
.ue-services a:hover { color: var(--ue-navy); }

.ue-sku-table { width: 100%; border-collapse: collapse; margin-top: 6px; }
.ue-sku-table th,
.ue-sku-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--ue-line);
    font-size: 14px;
    text-align: left;
}
.ue-sku-table th {
    background: var(--ue-ivory-deep);
    color: var(--ue-muted);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ue-sku-table td:first-child { font-weight: 600; color: var(--ue-ink); }

.ue-detail-gallery { display: flex; flex-direction: column; gap: 18px; max-width: 980px; margin: 0 auto; }

/* ---------- 商品图放大（灯箱） ---------- */

.ue-thumbs .ue-thumb {
    display: block;
    width: 100%;
    padding: 0;
    border: 1px solid var(--ue-line);
    background: none;
    cursor: zoom-in;
    overflow: hidden;
}
.ue-thumbs .ue-thumb img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border: 0; }
.ue-thumbs .ue-thumb:hover { border-color: var(--ue-sand-deep); }
.ue-thumbs-hint { margin: 10px 0 0; font-size: 12px; color: var(--ue-muted); }
.ue-detail-main img { cursor: zoom-in; }

.ue-lightbox {
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    z-index: 200;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(15, 22, 31, .92);
}
.ue-lightbox.on { display: flex; }
.ue-lightbox img {
    max-width: 90vw;
    max-height: 86vh;
    object-fit: contain;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .5);
    cursor: default;
}
.ue-lightbox-close,
.ue-lightbox-nav {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(248, 245, 238, .3);
    border-radius: 50%;
    background: rgba(31, 43, 56, .6);
    color: #F8F5EE;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}
.ue-lightbox-close:hover,
.ue-lightbox-nav:hover { border-color: var(--ue-sand); color: var(--ue-sand); }
.ue-lightbox-close { top: 26px; right: 30px; }
.ue-lightbox-nav.prev { left: 30px; top: 50%; transform: translateY(-50%); }
.ue-lightbox-nav.next { right: 30px; top: 50%; transform: translateY(-50%); }

@media (max-width: 700px) {
    .ue-lightbox-nav { width: 38px; height: 38px; font-size: 18px; }
    .ue-lightbox-nav.prev { left: 12px; }
    .ue-lightbox-nav.next { right: 12px; }
    .ue-lightbox-close { top: 14px; right: 14px; }
}
.ue-detail-gallery img { width: 100%; display: block; border-radius: 10px; }

/*
 * 两个区块并排（商品详情页的「规格参数」+「规格与库存」）。
 * 两块各自保留自己的底色，所以看上去是一条分成两半的色带；
 * 只剩一块时（比如产品没填规格）自动占满整行。
 */
.ue-section-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.ue-section-pair > .ue-section { padding: 74px 0; }
.ue-section-pair > .ue-section > .ue-wrap { padding: 0 40px; }
.ue-section-pair > .ue-section:only-child { grid-column: 1 / -1; }
.ue-section-pair > .ue-section:only-child > .ue-wrap { padding: 0 60px; }

@media (max-width: 1000px) {
    .ue-section-pair { grid-template-columns: 1fr; }
    .ue-section-pair > .ue-section { padding: 60px 0; }
    .ue-section-pair > .ue-section > .ue-wrap { padding: 0 30px; }
}

/* ---------- 商品左边那块：颜色 / 库存 / 每色数量 ---------- */

/* ---------- 页脚社媒图标 ---------- */

.ue-social { display: flex; gap: 10px; margin-top: 14px; }
.ue-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(248, 245, 238, .28);
    border-radius: 50%;
    color: rgba(248, 245, 238, .82);
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.ue-social a:hover {
    border-color: var(--ue-sand);
    background: var(--ue-sand);
    color: var(--ue-navy);
}

.ue-options {
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid var(--ue-line);
}
.ue-options-title {
    margin-bottom: 14px;
    font-size: 15px;
    font-weight: 600;
    color: var(--ue-ink);
}

.ue-option-list { list-style: none; margin: 0; padding: 0; }
.ue-option {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto auto;
    gap: 6px 14px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid var(--ue-line);
}
.ue-option-thumb {
    display: block;
    width: 34px;
    height: 34px;
    overflow: hidden;
    border: 1px solid var(--ue-line);
    border-radius: 6px;
    background: var(--ue-ivory-deep);
}
.ue-option-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ue-swatch {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1px solid rgba(42, 59, 78, .16);
}
.ue-option-name { font-size: 14px; color: var(--ue-ink); }
.ue-option-name em {
    display: block;
    margin-top: 2px;
    font-style: normal;
    font-size: 12px;
    color: var(--ue-muted);
}
.ue-option-stock { font-size: 13px; color: var(--ue-muted); white-space: nowrap; }

/* 颜色行可以点：点了左边主图换成这个颜色的图，选中的那一行淡沙金底 */
.ue-option.is-pick { cursor: pointer; transition: background .15s ease; }
.ue-option.is-pick:hover { background: rgba(228, 179, 136, .14); }
.ue-option.is-on { background: rgba(228, 179, 136, .22); }
.ue-option.is-on .ue-option-thumb { border-color: var(--ue-sand-deep); }

.ue-stepper { display: inline-flex; align-items: center; gap: 6px; }
.ue-stepper button {
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: var(--ue-ivory-deep);
    color: var(--ue-navy);
    font: inherit;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    transition: background .2s ease;
}
.ue-stepper button:hover { background: var(--ue-sand); }
.ue-stepper input {
    width: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ue-ink);
    font: inherit;
    font-size: 14px;
    text-align: center;
    -moz-appearance: textfield;
}
.ue-stepper input::-webkit-outer-spin-button,
.ue-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.ue-total-qty { font-size: 13px; color: var(--ue-muted); white-space: nowrap; }
.ue-total-qty b { color: var(--ue-ink); font-size: 15px; }

@media (max-width: 700px) {
    .ue-option { grid-template-columns: 34px minmax(0, 1fr) auto; }
    .ue-option-stock { grid-column: 2 / 3; }
}

/* ── 右下角浮窗（WhatsApp 咨询那种小圆按钮）─────────────────────────────
   位置 / 图标 / 文字 / 颜色都在后台「站点设置 → 站点基本设置 → 右下角浮窗」里改 */
.ue-float { position: fixed; z-index: 70; right: 22px; bottom: 26px; pointer-events: none; }
.ue-float--left-bottom { right: auto; left: 22px; }
.ue-float--right-middle { bottom: auto; top: 50%; transform: translateY(-50%); }

.ue-float-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    pointer-events: auto;
}

.ue-float-tip {
    position: relative;
    padding: 10px 15px;
    border-radius: 9px;
    background: #16181a;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
}
.ue-float-tip::after {
    content: '';
    position: absolute;
    right: -6px;
    top: 50%;
    margin-top: -7px;
    border: 7px solid transparent;
    border-right-width: 0;
    border-left-color: #16181a;
}

/* 放左下角时，气泡在按钮右边，箭头也翻过来 */
.ue-float--left-bottom .ue-float-link { flex-direction: row-reverse; }
.ue-float--left-bottom .ue-float-tip::after {
    right: auto;
    left: -6px;
    border-left-width: 0;
    border-right-width: 7px;
    border-left-color: transparent;
    border-right-color: #16181a;
}

.ue-float-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--ue-float-color, #25D366);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .2);
    transition: transform .18s ease;
}
/* 呼吸光圈：颜色跟着按钮走，纯装饰 */
.ue-float-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--ue-float-color, #25D366);
    opacity: .5;
    animation: ue-float-pulse 2.6s ease-out infinite;
}
.ue-float-btn svg { position: relative; z-index: 1; display: block; }
.ue-float-link:hover .ue-float-btn { transform: translateY(-2px) scale(1.04); }

@keyframes ue-float-pulse {
    0% { transform: scale(1); opacity: .45; }
    70% { transform: scale(1.75); opacity: 0; }
    100% { transform: scale(1.75); opacity: 0; }
}

@media (max-width: 720px) {
    .ue-float { right: 14px; bottom: 18px; }
    .ue-float--left-bottom { right: auto; left: 14px; }
    /* 手机上只留圆按钮，气泡文字不挡内容 */
    .ue-float-tip { display: none; }
    .ue-float-btn { width: 50px; height: 50px; }
}

@media (prefers-reduced-motion: reduce) {
    .ue-float-btn::before { animation: none; opacity: 0; }
}

/* 「全部商品」页搜索：结果提示就显示在搜索栏下面（搜不到也不跳页） */
.ue-search-result {
    margin: 12px auto 0;
    max-width: 760px;
    text-align: center;
    font-size: 14px;
    color: var(--ue-muted);
}

/* 合规页面（隐私政策 / 服务条款 / Cookie 说明）正文 */
.ue-legal {
    max-width: 900px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.95;
    color: #3f4750;
}
.ue-legal a { color: var(--ue-navy); text-decoration: underline; }

/* 顶部导航里「产品目录」按钮（紧挨着索取报价） */
.ue-nav-catalog {
    background: transparent;
    border: 1px solid var(--ue-sand);
    color: var(--ue-navy);
    margin-right: 8px;
}
.ue-nav-catalog:hover { background: var(--ue-sand); color: var(--ue-navy); }
@media (max-width: 1000px) {
    .ue-nav-catalog { display: none; }
}
