/* ============================================================
   THEMARMOHOME — Design System (WordPress / WooCommerce)
   独立品牌 · 独立运营 · 不与任何其他站点共享品牌与联系方式
   视觉：米白底 #faf7f2 + 黄铜金 #9a7b3f + 促销红 #c0392b
   排版针对欧美阅读习惯：16px 正文 / 1.72 行高 / 正文左对齐
   编辑风铁律：不居中标题、不等分网格、卡片无白底边框阴影
   ============================================================ */
:root{
  --bg:#faf7f2; --bg-2:#f3ede3; --bg-3:#efe8dc;
  --ink:#2b2620; --ink-2:#4a4239; --ink-soft:#7a7064;
  --gold:#9a7b3f; --gold-deep:#6b5a3e; --gold-lt:#d9b15a;
  --line:#e7ddcd; --sale:#c0392b; --card:#ffffff;
  --shadow:0 12px 34px rgba(60,48,30,.09);
  --shadow-sm:0 4px 14px rgba(60,48,30,.07);
  --serif:'Cormorant Garamond','Playfair Display',Georgia,'Times New Roman',serif;
  --serif-d:'Cormorant Garamond','Playfair Display',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --wrap:1320px;
  --gut:clamp(20px,3.4vw,54px);
}

/* ---------- Reset（压掉 Blocksy / WP 默认观感） ---------- */
body.tmh{font-family:var(--sans);background:var(--bg);color:var(--ink);
  font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  margin:0;overflow-x:hidden}
body.tmh *{box-sizing:border-box}
body.tmh img{max-width:100%;display:block;height:auto}
body.tmh a{color:inherit;text-decoration:none}
body.tmh button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
body.tmh p{margin:0 0 1.05em}
body.tmh ul,body.tmh ol{margin:0;padding:0}
body.tmh h1,body.tmh h2,body.tmh h3,body.tmh h4,body.tmh h5,body.tmh h6{
  font-family:var(--serif);margin:0;font-weight:400;line-height:1.15}
body.tmh input,body.tmh select,body.tmh textarea{font-family:var(--sans);font-size:15px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.note{font-size:11.5px;color:var(--gold-deep);letter-spacing:.14em;text-transform:uppercase;font-weight:600}

/* 文章正文（WC 描述 / 页面正文）统一样式 */
.tmh-prose{font-size:16.5px;color:var(--ink-2);line-height:1.78}
.tmh-prose h2{font-family:var(--serif-d);font-size:30px;margin:38px 0 14px;color:var(--ink)}
.tmh-prose h3{font-family:var(--serif-d);font-size:22px;margin:28px 0 10px;color:var(--ink)}
.tmh-prose p{margin-bottom:16px}
.tmh-prose ul,.tmh-prose ol{margin:0 0 18px 24px}
.tmh-prose li{margin-bottom:8px}
.tmh-prose a{color:var(--gold);text-decoration:underline}
.tmh-prose img{margin:24px 0}
.tmh-prose table{width:100%;border-collapse:collapse;margin:22px 0}
.tmh-prose th,.tmh-prose td{border:1px solid var(--line);padding:11px 14px;text-align:left;font-size:15px}
.tmh-prose th{background:var(--bg-2);font-weight:600}

/* ---------- 公告条（单条静态，全站禁止跑马灯） ---------- */
.notice{background:#241f18;color:#d8ccb6;font-size:11.5px;letter-spacing:.15em;
  text-transform:uppercase;padding:13px 0}
.notice .nw{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;
  max-width:var(--wrap);margin:0 auto;padding:0 28px}
.notice .nw i{font-style:normal;position:relative;padding:0 26px;white-space:nowrap;line-height:1.6}
.notice .nw i+i::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:11px;background:rgba(216,204,182,.28)}
.notice .nw b{color:var(--gold-lt);font-weight:500}
@media(max-width:1040px){.notice .nw i:nth-child(3){display:none}}
@media(max-width:640px){.notice{padding:10px 0}.notice .nw{padding:0 14px}
  .notice .nw i{padding:0 15px;letter-spacing:.09em;font-size:10px}
  .notice .nw i:nth-child(2){display:none}}

/* ---------- Header（三分布局：logo 左 / 菜单严格居中 / 工具右） ---------- */
header.site{position:sticky;top:0;z-index:60;background:rgba(250,247,242,.94);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);
  transition:box-shadow .45s ease}
header.site.shrink{box-shadow:0 10px 30px rgba(60,48,30,.055)}
.nav{display:flex;align-items:center;justify-content:space-between;height:86px;gap:22px;
  transition:height .45s cubic-bezier(.22,.7,.2,1)}
header.site.shrink .nav{height:68px}
.logo{font-family:var(--serif);font-size:22px;letter-spacing:.12em;font-weight:600;white-space:nowrap;
  transition:font-size .45s cubic-bezier(.22,.7,.2,1)}
header.site.shrink .logo{font-size:20px}
.logo a{display:block}
.logo small{display:block;font-family:var(--sans);font-size:8.5px;letter-spacing:.34em;
  color:var(--ink-soft);font-weight:500;margin-top:3px}
.menu{display:flex;flex:1;justify-content:center;gap:clamp(18px,2vw,30px);font-size:12px;
  font-weight:500;white-space:nowrap;align-items:center;letter-spacing:.1em;text-transform:uppercase;
  list-style:none;margin:0;padding:0}
.menu>li{list-style:none;position:relative}
.menu>li>a{position:relative;padding:11px 0;display:inline-block;transition:color .3s;color:var(--ink)}
.menu>li>a::after{content:"";position:absolute;left:0;bottom:5px;width:100%;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform .45s cubic-bezier(.22,.7,.2,1)}
.menu>li:hover>a::after{transform:scaleX(1)}
.menu>li>a:hover{color:var(--gold-deep)}
.menu .chev{opacity:.5;margin-left:7px;vertical-align:1px;transition:.3s;display:inline-block}
.menu>li:hover .chev{opacity:1;transform:translateY(1.5px)}
.menu .drop{position:absolute;top:100%;left:-22px;background:var(--card);border:1px solid var(--line);
  border-radius:0;padding:16px 8px;min-width:250px;box-shadow:0 22px 50px rgba(60,48,30,.11);
  display:none;z-index:70;list-style:none;margin:0}
.menu>li:hover .drop{display:block}
.menu .drop a{display:block;padding:8px 18px;font-size:12.5px;letter-spacing:.05em;
  text-transform:none;color:var(--ink-2);transition:.2s}
.menu .drop a:hover{background:var(--bg-2);color:var(--gold-deep)}
.badge-sale{color:var(--gold-deep);font-size:9px;letter-spacing:.12em;margin-left:6px;
  vertical-align:super;font-weight:600;text-transform:uppercase}
.util{display:flex;align-items:center;gap:6px;font-size:13px}
.util select{background:transparent;border:1px solid var(--line);border-radius:0;
  padding:7px 9px;font-family:var(--sans);color:var(--ink);font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;cursor:pointer}
.iconbtn{width:40px;height:40px;border-radius:0;display:flex;align-items:center;justify-content:center;
  color:var(--ink);border:1px solid transparent;transition:.28s;cursor:pointer;position:relative}
.iconbtn:hover{border-color:var(--line);background:var(--bg-2)}
.iconbtn svg{display:block}
/* 货币：WC 单币种下为静态指示（多币种切换器需另装插件，避免做假控件） */
.tmh-cur{border:1px solid var(--line);padding:8px 11px;font-size:11.5px;letter-spacing:.1em;
  color:var(--ink-soft);white-space:nowrap}
/* 站内搜索条：默认收起，点放大镜展开 */
.tmh-search{max-height:0;overflow:hidden;border-top:1px solid transparent;
  transition:max-height .42s cubic-bezier(.22,.7,.2,1),border-color .3s;background:var(--bg)}
.tmh-search.on{max-height:110px;border-top-color:var(--line)}
.tmh-search form{display:flex;gap:12px;align-items:center;max-width:var(--wrap);margin:0 auto;
  padding:16px 28px}
.tmh-search input[type=search]{flex:1;border:1px solid var(--line);background:var(--card);
  padding:13px 16px;font-size:15px;border-radius:0}
.tmh-search input[type=search]:focus{outline:none;border-color:var(--gold)}
@media(min-width:1101px){
  .nav>.logo,.nav>.util{flex:0 0 clamp(200px,17.5vw,240px)}
  .nav>.util{justify-content:flex-end}
}
.cart b{position:absolute;top:-2px;right:-2px;background:var(--gold);color:#fff;border-radius:50%;
  width:17px;height:17px;font-size:10.5px;display:flex;align-items:center;justify-content:center;font-weight:700}
.burger{display:none}

/* 移动端抽屉 */
.tmh-drawer{position:fixed;inset:0;z-index:120;background:rgba(20,16,11,.5);opacity:0;
  pointer-events:none;transition:.32s}
.tmh-drawer.on{opacity:1;pointer-events:auto}
.tmh-drawer .panel{position:absolute;top:0;right:0;bottom:0;width:min(360px,86vw);background:var(--bg);
  padding:26px;overflow-y:auto;transform:translateX(100%);transition:transform .38s cubic-bezier(.22,.7,.2,1)}
.tmh-drawer.on .panel{transform:none}
.tmh-drawer .x{font-size:22px;color:var(--ink-soft);margin-bottom:18px}
.tmh-drawer a{display:block;padding:13px 0;border-bottom:1px solid var(--line);
  font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.tmh-drawer .sub a{padding:10px 0 10px 16px;font-size:12.5px;text-transform:none;letter-spacing:.03em;
  border-bottom:0;color:var(--ink-soft)}

/* ---------- 面包屑 · 变体 G：箭头链（chevron 互锁，当前项黄铜金填充） ---------- */
/* 同时覆盖两套面包屑：tmh_breadcrumbs() 输出的 .crumbs（商城/分类页）
   与 Blocksy 默认 nav.ct-breadcrumbs（详情页等）。分隔符（/ 或 svg）隐藏，由箭头承担视觉分隔。 */
.crumbs,.ct-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0;
  font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-2);margin:0 0 14px;padding:18px 0}
.crumbs .sep,.ct-breadcrumbs .ct-separator{display:none}
.crumbs a,.crumbs .cur,
.ct-breadcrumbs .first-item a,.ct-breadcrumbs [class^="item-"] a,
.ct-breadcrumbs .last-item{
  position:relative;display:inline-block;color:var(--ink-2);background:var(--bg-2);
  padding:9px 22px 9px 30px;margin-right:-12px;
  clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 50%,100% 100%,14px 100%,0 50%)}
/* 首项（Home）左缘收平，不作内凹 */
.crumbs a:first-child,.crumbs .cur:first-child,
.ct-breadcrumbs .first-item a{
  padding-left:22px;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%)}
.crumbs a:hover,.ct-breadcrumbs a:hover{color:var(--gold);background:var(--bg-3)}
/* 当前项（最后一级）黄铜金填充、文字反白 */
.crumbs .cur,.ct-breadcrumbs .last-item{background:var(--gold);color:#fff;z-index:2}
/* 当前项过长时截断省略，金带不撑满整行 */
.crumbs .cur,.ct-breadcrumbs .last-item{max-width:min(58vw,560px);white-space:nowrap;overflow:hidden}
.crumbs .cur,.ct-breadcrumbs .last-item span{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
.ct-breadcrumbs .last-item span{color:#fff}

/* ---------- Buttons（编辑风：直角 + 大写 + 字距） ---------- */
.btn,.tmh-btn{display:inline-block;background:var(--gold);color:#fff;padding:17px 38px;border-radius:0;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:.28s;font-size:11.5px;
  line-height:1;border:1px solid transparent;text-align:center}
.btn:hover,.tmh-btn:hover{background:var(--gold-deep);color:#fff}
.btn.ghost{background:transparent;border:1px solid var(--gold);color:var(--gold)}
.btn.ghost:hover{background:var(--gold);color:#fff}
.btn.dark{background:var(--ink)}
.btn.dark:hover{background:#463d33}
.btn.sm{padding:13px 24px;font-size:10.5px}
.btn.block{display:block;width:100%}
body.tmh .button,body.tmh .button.alt,body.tmh button[type=submit],body.tmh input[type=submit]{
  background:var(--gold);color:#fff;border-radius:0;border:1px solid var(--gold);font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;font-size:11.5px;padding:16px 32px;transition:.28s;
  cursor:pointer;font-family:var(--sans)}
body.tmh .button:hover,body.tmh button[type=submit]:hover,body.tmh input[type=submit]:hover{
  background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}

/* ---------- Hero ---------- */
.hero{position:relative;height:min(92vh,780px);min-height:540px;overflow:hidden;background:#171410}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;display:flex;align-items:flex-end}
.slide.on{opacity:1}
.slide .bg{position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.045);transition:transform 8.2s cubic-bezier(.22,.6,.3,1)}
.slide.on .bg{transform:scale(1)}
.slide .bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,11,7,.52) 0%,rgba(14,11,7,.06) 32%,rgba(14,11,7,.80) 100%)}
.slide .cap{position:relative;z-index:2;color:#f9f4ea;padding:0 var(--gut) clamp(96px,11vh,132px);
  max-width:900px;text-shadow:0 2px 26px rgba(0,0,0,.42)}
.slide .cap .note,.slide .cap h1,.slide .cap p,.slide .cap .btn{opacity:0;transform:translateY(18px)}
.slide.on .cap .note,.slide.on .cap h1,.slide.on .cap p,.slide.on .cap .btn{
  opacity:1;transform:translateY(0)}
.slide.on .cap .note{transition:opacity .7s ease .35s,transform .7s ease .35s}
.slide.on .cap h1{transition:opacity .8s ease .5s,transform .8s ease .5s}
.slide.on .cap p{transition:opacity .8s ease .65s,transform .8s ease .65s}
.slide.on .cap .btn{transition:opacity .8s ease .8s,transform .8s ease .8s,background .2s ease,color .2s ease,border-color .2s ease}
.slide .cap .note{display:inline-flex;align-items:center;gap:16px;color:#e2c98f;
  font-size:10.5px;letter-spacing:.3em}
.slide .cap .note::before{content:"";width:46px;height:1px;background:#e2c98f;opacity:.75}
.slide h1{font-family:var(--serif-d);font-size:clamp(44px,6.3vw,92px);line-height:.96;font-weight:400;
  letter-spacing:-.02em;margin:24px 0 22px;color:#f9f4ea;text-shadow:0 2px 30px rgba(0,0,0,.28)}
.slide p{font-size:clamp(15.5px,1.25vw,18.5px);color:#d8ccb6;max-width:520px;line-height:1.72;
  font-weight:300;margin-bottom:30px}
.slide .btn{background:#faf7f2;color:#241f18}
.slide .btn:hover{background:#e2c98f;color:#241f18}
.slide .btn.ghost{background:rgba(255,255,255,.04);border-color:rgba(250,247,242,.5);color:#faf7f2}
.slide .btn.ghost:hover{background:#faf7f2;color:#241f18;border-color:#faf7f2}
.hero-foot{position:absolute;left:var(--gut);right:var(--gut);bottom:36px;z-index:4;
  display:flex;align-items:center;gap:24px;color:#cbbfa5}
.hcount{font-family:var(--serif-d);font-size:15px;letter-spacing:.16em}
.hcount b{font-size:24px;color:#fff;font-weight:400}
.hbar{display:flex;gap:9px;align-items:center}
.hbar i{width:58px;height:1px;background:rgba(250,247,242,.32);cursor:pointer;transition:.35s}
.hbar i.on{background:#e2c98f}
.hnav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:54px;height:54px;
  border:1px solid rgba(250,247,242,.32);color:#faf7f2;background:transparent;font-size:19px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.3s;opacity:.7}
.hnav:hover{background:#faf7f2;color:#241f18;border-color:#faf7f2;opacity:1}
.hnav.prev{left:var(--gut)}.hnav.next{right:var(--gut)}

/* ---------- Trust（发丝线分隔，无框无图标） ---------- */
.trust{display:grid;grid-template-columns:repeat(4,1fr);background:transparent;
  border-bottom:1px solid var(--line)}
.trust div{border-right:1px solid var(--line);padding:34px 26px;font-size:10.5px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);line-height:1.9;text-align:center}
.trust div:last-child{border-right:0}
.trust b{display:block;font-size:11px;letter-spacing:.17em;color:var(--ink);font-weight:600;margin-bottom:12px}
.trust b::before{content:"";display:block;width:20px;height:1px;background:var(--gold);margin:0 auto 13px}

/* ---------- Sections ---------- */
/* 只设纵向内边距：避免与 .wrap 的特异性冲突（两者同为 0,1,0，
   用 padding 简写会把 .wrap 的左右留白覆盖成 0，导致内容贴边） */
.sec{padding-top:clamp(74px,9.5vw,132px);padding-bottom:clamp(74px,9.5vw,132px)}
.sec.tight{padding-top:0}
.sec h2{font-family:var(--serif-d);font-size:clamp(30px,3.5vw,50px);font-weight:400;text-align:left;
  line-height:1.02;letter-spacing:-.012em}
.sec .sub{color:var(--ink-soft);margin:14px 0 46px;max-width:640px;font-size:16px}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px;
  border-bottom:1px solid var(--line);padding-bottom:16px}

/* 区块头（左对齐 + 发丝底边 + 右侧 VIEW ALL） */
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;
  margin-bottom:clamp(30px,3.4vw,46px);padding-bottom:20px;border-bottom:1px solid var(--line)}
.shead h2{font-family:var(--serif-d);font-size:clamp(30px,3.5vw,50px);font-weight:400;text-align:left;
  line-height:1.02;letter-spacing:-.012em;margin-top:12px;color:var(--ink)}
.slink{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ink);
  white-space:nowrap;padding-bottom:5px;border-bottom:1px solid var(--ink);transition:.25s;
  display:inline-block}
.slink:hover{color:var(--gold);border-color:var(--gold)}
.eyebrow{display:block;text-align:left}

/* ---------- The Edit 双轨切换 ---------- */
.edit-bar{display:flex;align-items:center;gap:clamp(24px,3.4vw,48px);flex-wrap:wrap}
.edit-tabs{display:flex;gap:24px}
.edit-tabs button{font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:var(--ink-soft);padding:0 0 6px;border:0;border-bottom:1px solid transparent;
  background:none;transition:.32s;cursor:pointer}
.edit-tabs button:hover{color:var(--gold-deep)}
.edit-tabs button.on{color:var(--ink);border-bottom-color:var(--gold)}
.edit-pane{display:none}
.edit-pane.on{display:block}
.edit-pane .pcarousel{padding-top:6px}

/* ---------- 编者引言 ---------- */
.st-wrap{display:grid;grid-template-columns:minmax(140px,210px) 1fr;gap:clamp(30px,5vw,86px);align-items:start}
.st-side{display:flex;flex-direction:column;gap:10px;padding-top:16px}
.st-side .idx{font-family:var(--serif-d);font-size:clamp(42px,5vw,64px);line-height:.9;
  color:var(--gold);font-weight:300}
.st-main{border-top:1px solid var(--line);padding-top:26px}
.st-lead{font-family:var(--serif-d);font-size:clamp(28px,3.5vw,50px);line-height:1.16;
  font-weight:400;letter-spacing:-.012em;color:var(--ink);max-width:940px;margin:0}
.st-sub{margin-top:26px;font-size:17px;color:var(--ink-soft);max-width:580px;line-height:1.82}

/* ---------- 分类：非对称主次格 ---------- */
.coll-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;
  grid-template-rows:clamp(240px,24vw,318px) clamp(240px,24vw,318px);gap:14px}
.coll-grid .ccard{position:relative;height:100%;border-radius:0;overflow:hidden;display:flex;
  align-items:flex-end;color:#fff;background:#241f18}
.coll-grid .ccard:first-child{grid-row:span 2}
.coll-grid .ccard .cb{position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform 1s cubic-bezier(.22,.7,.2,1)}
.coll-grid .ccard:hover .cb{transform:scale(1.055)}
.coll-grid .ccard .cb::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(12,9,6,.90) 0%,rgba(12,9,6,.58) 38%,rgba(12,9,6,.20) 72%,rgba(12,9,6,.04) 100%)}
.coll-grid .ccard .ct{position:relative;z-index:2;padding:26px 28px;text-shadow:0 1px 20px rgba(0,0,0,.55)}
.coll-grid .ccard:first-child .ct{padding:clamp(28px,3vw,44px)}
.coll-grid .ccard h3{font-family:var(--serif-d);font-weight:400;font-size:clamp(21px,1.7vw,29px);
  line-height:1.1;letter-spacing:-.008em;color:#fff}
.coll-grid .ccard:first-child h3{font-size:clamp(30px,3.4vw,52px);line-height:1.02}
.coll-grid .ccard .cnt{font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.88;margin-top:12px}
.coll-grid .arw{display:block;margin-top:18px;font-size:19px;color:#e2c98f;
  transition:transform .4s cubic-bezier(.22,.7,.2,1)}
.coll-grid .ccard:hover .arw{transform:translateX(10px)}

/* ---------- 新到货：主推大图 + 侧栏清单 ---------- */
.feat{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(26px,3.6vw,62px);align-items:start}
.fp{display:block}
.fp .fimg{aspect-ratio:5/4;overflow:hidden;background:var(--bg-3)}
.fp .fimg img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.22,.7,.2,1)}
.fp:hover .fimg img{transform:scale(1.04)}
.fp .fbody{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}
.fp h3{font-family:var(--serif-d);font-size:clamp(24px,2.5vw,38px);font-weight:400;line-height:1.12;
  margin:10px 0 16px;letter-spacing:-.01em;color:var(--ink)}
.fp .fprice{display:flex;align-items:baseline;gap:12px}
.fp .fprice .now{font-size:16px;font-weight:600;letter-spacing:.04em}
.fp .fprice .now.sale{color:var(--sale)}
.fp .fprice .reg{color:var(--ink-soft);text-decoration:line-through;font-size:13px}
.fside{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.fitem{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:center;
  padding:22px 0;border-bottom:1px solid var(--line)}
.fitem .fth{aspect-ratio:1;overflow:hidden;background:var(--bg-3)}
.fitem .fth img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,.7,.2,1)}
.fitem:hover .fth img{transform:scale(1.06)}
.fitem .fmeta{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.fitem .fnm{font-size:14.5px;line-height:1.45;margin-bottom:10px;transition:color .2s;color:var(--ink)}
.fitem:hover .fnm{color:var(--gold-deep)}
.fitem .fpr{font-size:13.5px;font-weight:600;letter-spacing:.04em}
.fitem .fpr .reg{color:var(--ink-soft);text-decoration:line-through;font-size:12px;
  font-weight:400;margin-left:8px}
.fitem .fpr.sale{color:var(--sale)}

/* ---------- 商品卡（无边框编辑风，全站统一） ---------- */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:44px 26px}
.pcarousel{display:flex;gap:26px;overflow-x:auto;padding:4px 2px 20px;scroll-snap-type:x mandatory}
.pcarousel::-webkit-scrollbar{height:6px}
.pcarousel::-webkit-scrollbar-thumb{background:var(--line);border-radius:0}
.pcarousel .pcard{flex:0 0 292px;scroll-snap-align:start}
.pcard{background:transparent;border:0;border-radius:0;overflow:visible;
  position:relative;display:flex;flex-direction:column;list-style:none;margin:0;padding:0}
.pcard .ph{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg-3)}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.7,.2,1)}
.pcard:hover .ph img{transform:scale(1.045)}
.tag{position:absolute;top:12px;left:12px;background:rgba(252,250,246,.94);color:var(--sale);font-size:9.5px;
  font-weight:600;padding:7px 11px;border-radius:0;z-index:2;letter-spacing:.16em;text-transform:uppercase}
.off{position:absolute;top:12px;right:12px;background:rgba(24,20,15,.74);color:#ecdcb4;font-size:9.5px;
  font-weight:600;padding:7px 11px;border-radius:0;z-index:2;letter-spacing:.1em}
.tag.ready{background:rgba(252,250,246,.94);color:#2f6b4f}
.tag.mto{background:rgba(252,250,246,.94);color:var(--ink-2)}
.quick{position:absolute;left:0;right:0;bottom:0;background:rgba(250,247,242,.95);color:var(--ink);
  text-align:center;padding:14px;font-size:10.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;opacity:0;transform:translateY(100%);transition:.32s ease;z-index:2}
.pcard:hover .quick{opacity:1;transform:translateY(0)}
.pcard .pi{padding:16px 0 0;display:flex;flex-direction:column;flex:1}
.pcard .pi .mt{font-size:10.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.16em;
  margin-bottom:9px;font-weight:500}
.pcard .pi .nm{font-size:15px;font-weight:400;line-height:1.5;margin-bottom:12px;color:var(--ink);
  transition:color .2s;font-family:var(--sans)}
.pcard:hover .pi .nm{color:var(--gold-deep)}
.price{display:flex;align-items:baseline;gap:11px;margin-top:auto;border-top:1px solid var(--line);
  padding-top:12px;flex-wrap:wrap}
.price .now{color:var(--ink);font-size:14.5px;font-weight:600;font-family:var(--sans);letter-spacing:.04em}
.price .now.sale,.price .now:not(.plain):not(.from){}
.price .now.on-sale{color:var(--sale)}
.price .reg{color:var(--ink-soft);text-decoration:line-through;font-size:12.5px}
.price .from{font-size:12.5px;color:var(--ink-soft);font-weight:400;font-family:var(--sans)}
.pcard-swatches{display:flex;gap:5px;margin-top:10px}
.pcard-swatches i{width:13px;height:13px;border-radius:50%;border:1px solid var(--line);display:block}

/* ---------- 商城：筛选侧栏 + 工具条 + 分页 ---------- */
.shop-layout{display:grid;grid-template-columns:250px 1fr;gap:44px;align-items:start}
.filters{position:sticky;top:110px}
.fgroup{border-bottom:1px solid var(--line);padding:18px 0}
.fgroup:first-child{padding-top:0}
.fgroup h4{font-size:10.5px;text-transform:uppercase;letter-spacing:.2em;color:var(--ink);
  margin-bottom:12px;font-weight:600;font-family:var(--sans)}
.fgroup a{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--ink-2);
  padding:5px 0;cursor:pointer;transition:.2s}
.fgroup a:hover{color:var(--gold)}
.fgroup a.on{color:var(--gold-deep);font-weight:600}
.fgroup .n{color:var(--ink-soft);font-size:12.5px;margin-left:auto}
.shop-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:16px;
  flex-wrap:wrap}
.shop-bar .count{font-size:14.5px;color:var(--ink-soft)}
.shop-bar select{padding:10px 14px;border:1px solid var(--line);border-radius:0;background:var(--card);
  font-family:var(--sans);font-size:13px;color:var(--ink);letter-spacing:.04em}
.shop-bar form{display:flex;align-items:center;gap:10px;margin:0}
.pager{display:flex;justify-content:center;gap:8px;margin-top:64px}
.pager .page-numbers{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);font-size:14px;background:transparent;color:var(--ink-2);transition:.2s}
.pager .page-numbers:hover{border-color:var(--gold);color:var(--gold)}
.pager .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.tmh-empty{padding:80px 0;text-align:center;color:var(--ink-soft)}
.tmh-empty h2{font-size:30px;margin-bottom:12px;color:var(--ink)}

/* ---------- 商品详情页 ---------- */
.pd{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.tmh-gallery .main{overflow:hidden;background:var(--bg-3);aspect-ratio:1/1;position:relative}
.tmh-gallery .main img{width:100%;height:100%;object-fit:cover}
.tmh-gallery .thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:12px}
.tmh-gallery .thumbs img{aspect-ratio:1/1;object-fit:cover;cursor:pointer;opacity:.72;transition:.2s}
.tmh-gallery .thumbs img:hover,.tmh-gallery .thumbs img.on{opacity:1;outline:1px solid var(--gold)}
.pd-info .cat{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.pd-info h1{font-family:var(--serif-d);font-size:clamp(28px,3vw,40px);line-height:1.14;margin:10px 0 16px;
  font-weight:400;letter-spacing:-.01em;color:var(--ink)}
.pd-price{display:flex;align-items:baseline;gap:14px;margin:0 0 22px}
.pd-price .now{color:var(--sale);font-size:30px;font-weight:600;font-family:var(--serif);letter-spacing:.01em}
.pd-price .reg{color:var(--ink-soft);text-decoration:line-through;font-size:17px}
.pd-info .lead{color:var(--ink-2);font-size:16px;line-height:1.78;margin-bottom:26px}
.opt{margin-bottom:20px}
.opt .olabel{font-size:13px;font-weight:400;text-transform:none;letter-spacing:.01em;color:var(--ink-soft);margin-bottom:9px;display:block}
.opt .olabel span{display:none}
.vals{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.vals a{border:1px solid #d9d2c5;border-radius:11px;padding:11px 20px;font-size:14px;transition:.18s;
  display:inline-block;background:#fff;color:var(--ink)}
.vals a:hover{border-color:var(--ink)}
.vals a.on,.vals span.on{border-radius:11px;padding:11px 20px;font-size:14px;
  background:#1c1a17;color:#faf7f2;border-color:#1c1a17;font-weight:500}
.vals span.on{display:inline-block}
/* Quantity 标签（tmh.js 在步进器前插入，独立于 Blocksy 盒子） */
.single-product form.cart .ct-cart-actions{flex-wrap:wrap;gap:14px}
.single-product form.cart .tmh-qtywrap{display:inline-flex;flex-direction:column;gap:9px;
  justify-content:center;flex:0 0 130px;order:1}
.single-product form.cart .ct-cart-actions .single_add_to_cart_button{order:2}
.single-product form.cart .tmh-qtywrap .qlabel{font-size:13px;color:var(--ink-soft);line-height:1}
.single-product form.cart .tmh-qtywrap .quantity{border-radius:11px}
/* 价格下 Shipping 行 */
.tmh-ship-hint{font-size:13.5px;color:var(--ink-soft);margin:10px 0 24px}
.tmh-ship-hint a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}
.tmh-ship-hint a:hover{color:var(--gold-deep)}
/* 单品静态胶囊与表单内顺序微调 */
.opt.tmh-static{margin-bottom:18px}
form.cart .tmh-note{margin-top:18px}
.pd-actions{display:flex;gap:14px;margin:26px 0 0;align-items:stretch}
.pd-actions .btn{flex:1}
.pd-actions .tmh-btn-ghost{border:1px solid var(--ink);color:var(--ink);display:flex;align-items:center;
  justify-content:center;padding:0 26px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;transition:.28s}
.pd-actions .tmh-btn-ghost:hover{background:var(--ink);color:#fff}
.pd-meta{margin-top:32px;border-top:1px solid var(--line)}
.acc{border-bottom:1px solid var(--line)}
.acc summary{padding:19px 0;font-size:15.5px;font-weight:600;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:20px;color:var(--gold);font-weight:400}
.acc[open] summary::after{content:"–"}
.acc .body{padding:0 0 22px;font-size:15.5px;color:var(--ink-2);line-height:1.78}
.acc .body p{margin-bottom:12px}
.acc .body ul{margin:0 0 12px 20px}
.acc .body li{margin-bottom:6px}
.pd-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px;padding:20px;
  background:var(--bg-2);text-align:center;font-size:10.5px;color:var(--ink-soft);
  letter-spacing:.1em;text-transform:uppercase;line-height:1.8}
.pd-trust b{display:block;font-size:11.5px;color:var(--ink);margin-bottom:5px;letter-spacing:.14em}

/* WC 变体下拉 / 数量 / 加购 */
body.tmh .woocommerce div.product form.cart{margin:0;display:flex;flex-direction:column;gap:0}
body.tmh .woocommerce-variation-price{margin-bottom:18px}
body.tmh table.variations{width:auto;margin:0;border:0}
body.tmh table.variations tr{display:block;margin-bottom:20px}
body.tmh table.variations th,body.tmh table.variations td{display:block;border:0;padding:0;background:none}
body.tmh table.variations th.label label{font-size:10.5px;font-weight:600;text-transform:uppercase;
  letter-spacing:.2em;margin-bottom:9px;display:block;color:var(--ink)}
body.tmh table.variations select{padding:12px 40px 12px 14px;border:1px solid var(--line);border-radius:0;
  background:var(--card);font-size:14.5px;min-width:260px;color:var(--ink);appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%237a7064' stroke-width='1.1'><path d='M1 1.3L5 4.7 9 1.3'/></svg>");
  background-repeat:no-repeat;background-position:right 15px center}
body.tmh .reset_variations{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);
  margin-top:8px;display:inline-block}
body.tmh .quantity input.qty{width:56px;border:1px solid var(--line);border-radius:0;padding:15px 8px;
  text-align:center;font-size:15px;background:transparent}
body.tmh .single_add_to_cart_button{background:var(--gold);border-radius:0;padding:17px 38px;
  letter-spacing:.14em;text-transform:uppercase;font-size:11.5px;font-weight:600;flex:1}
body.tmh .single_add_to_cart_button:hover{background:var(--gold-deep)}
body.tmh .stock.in-stock,body.tmh .stock.out-of-stock{font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:#2f6b4f;margin-bottom:14px;display:block}
body.tmh .stock.out-of-stock{color:var(--sale)}
body.tmh .product_meta{display:none}

/* ---------- 详情页 TAB · 变体 F：交错鱼骨（相邻骨片一正一反、上下错位 8px，连续脊） ---------- */
/* 用 body.tmh 前缀提高特异性，压过 Blocksy 自带的 WOO 标签样式 */
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs{border-bottom:0;padding:0;
  display:flex;flex-wrap:wrap;align-items:flex-end;margin:0 0 6px}
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs::before,
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs::after{display:none}
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs li{background:var(--bg-2);border:0;border-radius:0;margin:0 0 0 -10px;padding:0;
  clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
/* WC 默认样式用 li 伪元素画旧式标签盒，残留深色角 → 整体隐藏 */
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs li::before,
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs li::after{display:none!important}
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs li:first-child{margin-left:0}
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs li a{display:block;padding:15px 28px;
  font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-2);background:none;border:0;text-decoration:none}
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs li:hover a{color:var(--gold)}
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs li.active{background:var(--gold);position:relative;z-index:2}
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs li.active a{color:#fff;border:0}
body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs li:nth-child(even){transform:translateY(8px)}
body.tmh .woocommerce-tabs .woocommerce-Tabs-panel{padding-top:32px}
@media(max-width:560px){
  body.tmh.woocommerce.single-product div.product .woocommerce-tabs ul.wc-tabs li:nth-child(even){transform:none}
}

/* ---------- 购物车 / 结账 ---------- */
body.tmh table.shop_table{border:1px solid var(--line);border-collapse:collapse;width:100%}
body.tmh table.shop_table th{background:var(--bg-2);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);padding:14px;text-align:left}
body.tmh table.shop_table td{padding:16px 14px;border-top:1px solid var(--line);vertical-align:middle}
body.tmh .cart_totals h2,body.tmh .woocommerce-checkout h3{font-family:var(--serif-d);font-size:24px;
  margin-bottom:16px}
body.tmh .checkout-button,body.tmh #place_order{background:var(--gold);color:#fff;border-radius:0;
  letter-spacing:.14em;text-transform:uppercase;font-size:11.5px;font-weight:600;padding:17px 30px}
body.tmh .woocommerce-message,body.tmh .woocommerce-info,body.tmh .woocommerce-error{
  border-top:2px solid var(--gold);background:var(--bg-2);color:var(--ink-2);font-size:14.5px;padding:16px 20px}
body.tmh .form-row input.input-text,body.tmh .form-row textarea,
body.tmh .woocommerce-input-wrapper input,body.tmh .woocommerce-input-wrapper select,
body.tmh .woocommerce-input-wrapper textarea{border:1px solid var(--line);border-radius:0;padding:13px 14px;
  background:var(--card);font-size:15px;width:100%}
body.tmh .select2-container .select2-selection--single{height:48px;border:1px solid var(--line);
  border-radius:0}

/* ---------- 石材色卡墙（无边框 + 极淡石纹） ---------- */
.lib{display:grid;grid-template-columns:repeat(7,1fr);gap:30px 18px}
.sw{border-radius:0;border:0;position:relative;overflow:visible;cursor:pointer;
  display:flex;flex-direction:column;color:inherit}
.sw i{display:block;aspect-ratio:1;position:relative;overflow:hidden;
  transition:transform .55s cubic-bezier(.22,.7,.2,1)}
.sw i::after{content:"";position:absolute;inset:0;mix-blend-mode:soft-light;opacity:.4;
  background:
    repeating-linear-gradient(107deg,transparent 0 11px,rgba(255,255,255,.6) 11px 12px,transparent 12px 29px),
    repeating-linear-gradient(61deg,transparent 0 23px,rgba(84,72,54,.28) 23px 24px,transparent 24px 53px)}
.sw:nth-child(3n+2) i::after{background:
    repeating-linear-gradient(122deg,transparent 0 15px,rgba(255,255,255,.5) 15px 16px,transparent 16px 37px),
    repeating-linear-gradient(48deg,transparent 0 19px,rgba(84,72,54,.22) 19px 20px,transparent 20px 45px)}
.sw:hover i{transform:scale(1.06)}
.sw small{color:var(--ink-soft);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  padding:10px 0 0;line-height:1.4;transition:color .2s}
.sw:hover small{color:var(--gold-deep)}

/* ---------- 评价 ---------- */
.rev2{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rev-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(34px,5vw,88px);align-items:start}
.rev-lead .big2{font-family:var(--serif-d);font-size:clamp(56px,7vw,104px);line-height:.86;
  color:var(--gold);font-weight:300;margin:18px 0 16px}
.rev-lead h2{font-family:var(--serif-d);font-size:clamp(26px,2.7vw,38px);font-weight:400;text-align:left;
  line-height:1.16;margin-bottom:16px;color:var(--ink)}
.rev-lead .note2{font-size:11px;color:var(--ink-soft);letter-spacing:.04em;line-height:1.8}
.rev-list{border-top:1px solid var(--line);min-width:0;height:clamp(430px,44vw,560px);overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent)}
.rev-list-track{display:flex;flex-direction:column;animation:tmh-vmar 74s linear infinite}
.rev-list:hover .rev-list-track,.rev-list:focus-within .rev-list-track{animation-play-state:paused}
.rev-list-half.dup{display:contents}
@keyframes tmh-vmar{to{transform:translateY(-50%)}}
.rev-row{padding:24px 0;border-bottom:1px solid var(--line)}
.rev-row .stars{color:var(--gold);font-size:10px;letter-spacing:.34em;margin-bottom:12px}
.rev-row .q{font-family:var(--serif-d);font-size:clamp(18px,1.65vw,23px);line-height:1.52;color:var(--ink-2);
  font-weight:400;margin:0}
.rev-row .who{margin-top:12px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}

/* ---------- 品牌故事 / 流程 ---------- */
.story2{display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(34px,5vw,88px);align-items:start}
.story2 .st-col{border-top:1px solid var(--line);padding-top:26px}
.story2 h2{font-family:var(--serif-d);font-size:clamp(28px,3.1vw,44px);font-weight:400;
  text-align:left;line-height:1.1;margin:14px 0 20px;color:var(--ink)}
.story2 p{color:var(--ink-soft);font-size:16.5px;line-height:1.82;max-width:520px}
.story2 .slink{margin-top:28px}
.steps2{list-style:none;border-top:1px solid var(--line);margin:0;padding:0}
.steps2 li{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:24px 0;
  border-bottom:1px solid var(--line);align-items:baseline}
.steps2 b{font-family:var(--serif-d);font-size:23px;color:var(--gold);font-weight:400}
.steps2 span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:600;margin-bottom:7px}
.steps2 p{font-size:14.5px;color:var(--ink-soft);line-height:1.72;max-width:none;margin:0}

/* ---------- 定制 CTA ---------- */
.bespoke{background:#1f1a14;padding:clamp(86px,10vw,150px) 0 clamp(54px,6vw,88px);text-align:left}
.bespoke-in{max-width:1360px;margin:0 auto;padding:0 var(--gut);
  display:grid;grid-template-columns:1.5fr .5fr;gap:clamp(30px,4vw,64px);align-items:end}
.bespoke-in h2{font-family:var(--serif-d);font-size:clamp(32px,4.5vw,68px);font-weight:400;
  line-height:1.04;letter-spacing:-.015em;color:#f6f1e6;text-align:left}
.bespoke-in p{color:#b3a68e;max-width:600px;margin:22px 0 0;font-size:16.5px;line-height:1.82}
.bespoke-cta{text-align:right;padding-bottom:6px}
.bespoke-cta .btn{background:#e2c98f;color:#241f18}
.bespoke-cta .btn:hover{background:#faf7f2;color:#241f18}
.bespoke-foot{margin:clamp(48px,5vw,72px) auto 0;padding:22px var(--gut) 0;max-width:1360px;
  border-top:1px solid rgba(250,247,242,.14);display:flex;flex-wrap:wrap;gap:12px 40px}
.bespoke-foot span{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#8b7f69}

/* ---------- Journal ---------- */
.blog3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px)}
.bcard{border:0;border-radius:0;background:transparent;display:block}
.bcard .bh{aspect-ratio:4/3;overflow:hidden;background-size:cover;background-position:center;
  background-color:var(--bg-3);transition:transform 1s cubic-bezier(.22,.7,.2,1)}
.bcard:hover .bh{transform:scale(1.03)}
.bcard .bt{padding:20px 0 0;border-top:1px solid var(--line);margin-top:18px}
.bcard .bt h4{font-family:var(--serif-d);font-size:clamp(20px,1.8vw,26px);font-weight:400;
  line-height:1.24;margin:10px 0 12px;transition:color .2s;color:var(--ink)}
.bcard:hover .bt h4{color:var(--gold-deep)}
.bcard .bt .k{font-size:10px;letter-spacing:.2em;font-weight:600;color:var(--gold-deep);
  text-transform:uppercase}
.bcard .bt .meta{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}

/* ---------- 页面（页头 + 正文） ---------- */
.page-head{background:var(--bg-2);padding:72px 0 58px;border-bottom:1px solid var(--line)}
.page-head h1{font-family:var(--serif-d);font-size:clamp(34px,4.4vw,58px);font-weight:400;
  letter-spacing:-.015em;color:var(--ink);line-height:1.04}
.page-head .note{display:block;margin-bottom:16px}
.page-head p{color:var(--ink-soft);margin-top:16px;max-width:660px;font-size:16.5px}
.page-body{padding:clamp(52px,6vw,86px) 0}
.page-body .tmh-prose{max-width:820px}
.page-body .tmh-prose img{margin:28px 0}

/* ---------- Footer ---------- */
footer.site-footer{background:#221d17;color:#c9beaa;padding:clamp(64px,7vw,100px) 0 34px;margin:0}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:clamp(26px,3vw,46px)}
footer.site-footer h5{color:#8d826d;font-size:10.5px;margin-bottom:20px;letter-spacing:.2em;
  text-transform:uppercase;font-weight:600;font-family:var(--sans)}
footer.site-footer a{display:block;font-size:13.5px;color:#c6bba4;padding:6px 0;transition:.18s}
footer.site-footer a:hover{color:#e6c98a}
.flogo{font-family:var(--serif-d);font-size:28px;color:#fff;letter-spacing:.2em}
.fsub{font-size:11px;letter-spacing:.34em;color:#8d826d;margin-top:6px}
footer.site-footer p.desc{font-size:13.5px;color:#9d927c;margin-top:16px;max-width:280px;line-height:1.7}
.pay{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.pay span{background:#2f2820;border:1px solid #423928;color:#e6c98a;font-size:11px;padding:7px 11px;
  font-weight:600;letter-spacing:.04em}
.copy{border-top:1px solid #332c22;margin-top:44px;padding-top:20px;font-size:12.5px;color:#8d826d;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.copy .ph{color:#8a6a20;background:#fff3d6;border:1px dashed #d9b15a;padding:1px 7px;font-size:11.5px}

/* ---------- 浮窗 + 订阅弹窗 ---------- */
/* 2026-09-28 改版：原为 #241f18 实黑方块，在米白页面上就是「两个黑点」，
   看不清是什么。改为米白底 + 黄铜金发丝描边 + 金色图标，并加悬停标签说明身份。 */
.float{position:fixed;right:28px;bottom:28px;width:48px;height:48px;border-radius:0;display:flex;
  align-items:center;justify-content:center;background:var(--bg);color:var(--gold);z-index:60;
  border:1px solid var(--gold);cursor:pointer;transition:.32s;box-shadow:0 8px 22px rgba(60,48,30,.13)}
.float:hover{background:var(--gold);color:var(--bg);border-color:var(--gold);transform:translateY(-3px)}
.float svg{display:block}
.float.wa{bottom:88px}
/* 悬停标签（内容取 data-label） */
.float::after{content:attr(data-label);position:absolute;right:calc(100% + 12px);top:50%;
  transform:translateY(-50%) translateX(6px);white-space:nowrap;font-size:10.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--bg);background:var(--ink);padding:8px 12px;
  opacity:0;pointer-events:none;transition:opacity .28s ease,transform .28s ease}
.float:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}
.float.wa:hover{background:#25d366;border-color:#25d366;color:#fff}   /* WA 悬停给平台色，一眼可辨 */
.float.wa:hover::after{background:#25d366}
.modal{position:fixed;inset:0;background:rgba(20,15,10,.66);display:flex;align-items:center;
  justify-content:center;z-index:90;opacity:1;transition:.3s;padding:20px}
.modal.hide{opacity:0;pointer-events:none}
.mbox{background:var(--card);max-width:470px;width:100%;padding:46px 44px;text-align:center;
  position:relative;border:1px solid var(--line)}
.mbox .x{position:absolute;top:14px;right:18px;cursor:pointer;font-size:18px;color:var(--ink-soft)}
.mbox h3{font-family:var(--serif-d);font-size:32px;font-weight:400;margin-bottom:12px}
.mbox p{font-size:14.5px;color:var(--ink-2);margin-bottom:24px}
.mbox input{width:100%;padding:15px 14px;border:1px solid var(--line);border-radius:0;margin-bottom:12px;
  font-size:15px;text-align:center}
.mbox .btn{width:100%;background:var(--ink)}
.mbox a.btn{color:#fff}  /* body.tmh a{color:inherit} turned the label ink-on-ink */
.mbox .btn:hover{background:var(--gold-deep)}
.mbox .decline{display:block;margin-top:16px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);cursor:pointer}

/* ---------- 占位符高亮（仅登录管理员可见，便于上线体检） ---------- */
body.logged-in .tmh-ph{background:#fff3d6;border:1px dashed #d9b15a;color:#8a6a20;
  padding:2px 7px;font-size:.92em}

/* ---------- 滚动入场 ---------- */
.rv{opacity:0;transform:translateY(24px)}
@media(prefers-reduced-motion:no-preference){
  .rv{transition:opacity .95s cubic-bezier(.22,.7,.2,1),transform .95s cubic-bezier(.22,.7,.2,1)}
}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* ---------- 响应式 ---------- */
@media(max-width:1100px){
  .pgrid{grid-template-columns:repeat(3,1fr)}
  .fgrid{grid-template-columns:1fr 1fr 1fr}
  .lib{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:1080px){
  .coll-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .coll-grid .ccard{height:clamp(230px,32vw,320px)}
  .coll-grid .ccard:first-child{grid-column:span 2;grid-row:auto;height:clamp(300px,42vw,420px)}
}
@media(max-width:900px){
  .menu{display:none}.burger{display:flex}
  .hero{height:82vh;min-height:500px}
  .slide{align-items:center}
  .slide .bg::after{background:linear-gradient(180deg,rgba(14,11,7,.66) 0%,rgba(14,11,7,.44) 42%,rgba(14,11,7,.88) 100%)}
  .slide h1{text-shadow:0 2px 22px rgba(0,0,0,.6)}
  .slide .cap{padding-bottom:76px}
  .hnav{display:none}
  .st-wrap,.feat,.rev-wrap,.story2,.bespoke-in{grid-template-columns:1fr;gap:34px}
  .rev-list{height:380px}
  .rev-list-track{animation-duration:58s}
  .bespoke-cta{text-align:left}
  .trust{grid-template-columns:repeat(2,1fr)}
  .trust div{padding:24px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .trust div:nth-child(2n){border-right:0}
  .trust div:nth-last-child(-n+2){border-bottom:0}
  .rev-lead .big2{font-size:64px}
  .shop-layout{grid-template-columns:1fr;gap:26px}
  .filters{position:static}
  .pd{grid-template-columns:1fr;gap:34px}
  .pgrid{grid-template-columns:1fr 1fr;gap:34px 18px}
  .sec{padding-top:52px;padding-bottom:52px}
  .blog3{grid-template-columns:1fr 1fr}
  .slide p{font-size:16px}
}
@media(max-width:900px) and (min-width:561px){
  .util select{display:none}
}
@media(max-width:560px){
  .pgrid,.blog3,.trust{grid-template-columns:1fr}
  .lib{grid-template-columns:repeat(3,1fr)}
  .tmh-gallery .thumbs{grid-template-columns:repeat(4,1fr)}
  .wrap,.nav{padding-left:18px;padding-right:18px}
  :root{--gut:18px}
  .slide h1{font-size:clamp(34px,10vw,44px);margin:16px 0 16px}
  .slide p{font-size:14.5px;line-height:1.62}
  .hero-foot{bottom:24px}
  .hbar i{width:34px}
  .coll-grid{grid-template-columns:1fr}
  .coll-grid .ccard:first-child{grid-column:auto}
  .fitem{grid-template-columns:92px 1fr;gap:16px}
  .steps2 li{grid-template-columns:44px 1fr;gap:14px}
  .st-side{flex-direction:row;align-items:baseline;gap:14px;padding-top:0}
  .st-side .idx{font-size:38px}
  .sec{padding-top:56px;padding-bottom:56px}
  .shead{flex-direction:column;align-items:flex-start;gap:18px}
  .edit-bar{width:100%;gap:18px}
  .edit-tabs{gap:18px}
  .trust{grid-template-columns:1fr}
  .trust div{border-right:0;border-bottom:1px solid var(--line)}
  .trust div:last-child{border-bottom:0}
  footer.site-footer .fgrid{grid-template-columns:1fr}
  .nav{height:66px;gap:10px}
  .logo{font-size:18px;letter-spacing:.1em}
  header.site.shrink .nav{height:58px}
  header.site.shrink .logo{font-size:16px}
  .logo small{display:none}
  .util{gap:4px}
  .iconbtn{width:34px;height:34px}
  .float{width:44px;height:44px;right:18px;bottom:18px}
  .float.wa{bottom:72px}
  .float::after{display:none}   /* 触屏没有 hover，标签只会在长按后黏住 */
  .pgrid{gap:38px 0}
}

/* ============================================================
   商城归档补充：章节头 / 筛选侧栏 / 促销徽章 / 压掉 Blocksy 默认观感
   （放在文件末尾，同特异性下后者胜）
   ============================================================ */
.shead h1{font-family:var(--serif-d);font-size:clamp(32px,3.8vw,54px);font-weight:400;text-align:left;
  line-height:1.02;letter-spacing:-.012em;margin-top:12px;color:var(--ink)}
.shead-lead{font-size:15.5px;color:var(--ink-2);line-height:1.72;max-width:62ch;margin-top:14px}
.shead-count{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  color:var(--ink-soft);white-space:nowrap;padding-bottom:6px}

.shop-bar .count p{margin:0;font-size:13.5px;color:var(--ink-soft)}
.shop-bar .woocommerce-ordering{margin:0}
.shop-bar select{min-width:196px;cursor:pointer}

.fgroup a.reset{margin-top:10px;color:var(--gold-deep);font-size:13px;
  border-bottom:1px solid var(--line);display:inline-block;padding:0 0 2px}
.fgroup a .dot{width:12px;height:12px;border-radius:50%;border:1px solid var(--line);
  display:block;flex:0 0 auto}

/* 促销徽章：压掉 WooCommerce / Blocksy 默认蓝底胶囊 */
body.tmh span.onsale,body.tmh .onsale{
  position:absolute;top:14px;left:14px;right:auto;bottom:auto;
  min-height:0;min-width:0;line-height:1;border-radius:0;height:auto;width:auto;
  background:var(--sale);color:#fff;font-family:var(--sans);
  font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  padding:6px 11px;z-index:3}
body.tmh .woocommerce-product-gallery{position:relative}

/* 悬浮 UI（Blocksy 抽屉/提示）不应产生横向滚动条；clip 不创建滚动容器、不破坏 sticky */
html,body{overflow-x:clip}

/* 商品卡：压掉 Blocksy 的 figure/border 观感，统一为编辑风 */
body.tmh ul.pgrid,body.tmh ul.products{list-style:none;margin:0;padding:0}
body.tmh ul.pgrid>li.pcard,body.tmh ul.products>li.pcard{
  background:transparent;border:0;box-shadow:none;padding:0;margin:0;width:auto;float:none}
body.tmh ul.pgrid>li.pcard::before,body.tmh ul.products>li.pcard::before{display:none}

/* 分页：WC 默认圆角 → 直角发丝线 */
body.tmh .woocommerce-pagination ul{border:0;margin:0;padding:0;display:flex;gap:8px;justify-content:center}
body.tmh .woocommerce-pagination ul li{border:0;margin:0}

/* 下拉分组分隔：Special Collection / 辅助链接 */
.menu .drop .drop-sep{border-top:1px solid var(--line);margin:8px 0 2px;padding:0}
.menu .drop .drop-sep span{display:block;padding:10px 18px 4px;font-size:9.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold-deep);font-weight:600}
.menu .drop .drop-sep a{color:var(--gold-deep);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}

/* ============================================================
   单品页扩展：定制备注 / 运输·保养双栏 / 色卡选择
   ============================================================ */

/* ---- A. 加购表单内的定制备注 ---- */
.tmh-note{margin:26px 0 6px;padding-top:22px;border-top:1px solid var(--line)}
.tmh-note label{display:block;margin-bottom:12px}
.tmh-note label .note{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-deep);font-weight:600;margin-bottom:7px}
.tmh-note label b{display:block;position:static;width:auto;max-width:none;flex:none;
  background:none;padding:0;border:0;float:none;
  font-family:var(--serif-d);font-size:19px;font-weight:500;color:var(--ink);line-height:1.3}
.tmh-note label b em{font-family:var(--sans);font-style:normal;font-size:12.5px;
  color:var(--ink-soft);font-weight:400;letter-spacing:.02em}
.tmh-note label b em{font-family:var(--sans);font-style:normal;font-size:12.5px;
  color:var(--ink-soft);font-weight:400;letter-spacing:.02em}
.tmh-note textarea{width:100%;border:1px solid var(--line);background:var(--card);
  padding:14px 16px;font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--ink);
  border-radius:0;resize:vertical;min-height:84px;transition:border-color .25s}
.tmh-note textarea:focus{outline:none;border-color:var(--gold)}
.tmh-note textarea::placeholder{color:#b6ac9c}
.tmh-note .tmh-note-hint{margin-top:10px;font-size:13px;line-height:1.65;color:var(--ink-soft)}
.tmh-note .tmh-note-hint a{color:var(--gold-deep);border-bottom:1px solid var(--line);
  padding-bottom:1px;white-space:nowrap}
.tmh-note .tmh-note-hint a:hover{color:var(--gold);border-color:var(--gold)}

/* ---- B. 页面底部扩展区 ---- */
.tmh-pdp-extra{border-top:1px solid var(--line);margin-top:clamp(40px,6vw,84px)}
.tmh-pdp-extra .wrap{max-width:1360px;padding-left:var(--gut);padding-right:var(--gut)}
.tmh-pdp-extra .pdp-grid{display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(40px,5vw,96px);padding:clamp(56px,7vw,104px) 0 clamp(40px,5vw,72px)}
.tmh-pdp-extra .pdp-col .note{font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-deep);font-weight:600}
.tmh-pdp-extra .pdp-col h2{font-family:var(--serif-d);font-size:clamp(26px,2.6vw,38px);
  font-weight:400;line-height:1.1;letter-spacing:-.01em;margin:14px 0 26px;color:var(--ink)}
.pdp-list{list-style:none;margin:0;padding:0;counter-reset:pdp}
.pdp-list li{counter-increment:pdp;position:relative;padding:0 0 20px 54px;
  font-size:14.5px;line-height:1.7;color:var(--ink-2)}
.pdp-list li:last-child{padding-bottom:0}
.pdp-list li::before{content:"0" counter(pdp);position:absolute;left:0;top:2px;
  font-family:var(--serif-d);font-size:15px;color:var(--gold);letter-spacing:.04em}
.pdp-list li b{display:block;background:none;padding:0;border:0;float:none;color:var(--ink);font-weight:600;margin-bottom:3px}
.tmh-pdp-extra .slink{display:inline-block;margin-top:26px;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;
  border-bottom:1px solid var(--gold);padding-bottom:5px;transition:color .25s}
.tmh-pdp-extra .slink:hover{color:var(--gold)}

/* ---- C. 色卡选择 ---- */
.pdp-swatches{border-top:1px solid var(--line);padding:clamp(48px,6vw,84px) 0 clamp(64px,8vw,116px)}
.pdp-sw-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  flex-wrap:wrap;margin-bottom:14px}
.pdp-sw-head .note{font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-deep);font-weight:600}
.pdp-sw-head h2{font-family:var(--serif-d);font-size:clamp(26px,2.6vw,38px);
  font-weight:400;line-height:1.1;letter-spacing:-.01em;margin-top:14px;color:var(--ink)}
.pdp-swatches .st-sub{font-size:14.5px;color:var(--ink-2);line-height:1.7;
  max-width:62ch;margin:0 0 40px}
.pdp-lib{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.pdp-lib .sw{display:block;cursor:pointer;position:relative}
.pdp-lib .sw i{display:block;aspect-ratio:1;transition:transform .55s cubic-bezier(.22,.7,.2,1);
  position:relative;overflow:hidden;
  background-blend-mode:soft-light}
.pdp-lib .sw i::after{content:"";position:absolute;inset:0;mix-blend-mode:soft-light;opacity:.4;
  background:
    repeating-linear-gradient(107deg,transparent 0 5px,rgba(255,255,255,.72) 5px 6px,transparent 6px 16px),
    repeating-linear-gradient(61deg,transparent 0 13px,rgba(84,72,54,.30) 13px 14px,transparent 14px 31px)}
.pdp-lib .sw small{display:block;margin-top:10px;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-soft);text-align:left;line-height:1.5;
  min-height:26px}
.pdp-lib .sw:hover i{transform:translateY(-3px)}
.pdp-lib .sw:hover small{color:var(--gold-deep)}
.pdp-lib .sw.on i{outline:1px solid var(--gold);outline-offset:4px}
.pdp-lib .sw.on small{color:var(--gold-deep);font-weight:600}

@media(max-width:900px){
  .tmh-pdp-extra .pdp-grid{grid-template-columns:1fr;gap:44px;padding:52px 0 36px}
  .pdp-lib{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:560px){
  .pdp-lib{grid-template-columns:repeat(3,1fr);gap:12px}
}

/* ---------- Bespoke（custom-process）页 ---------- */
.cproc .note{display:inline-block;margin-bottom:14px}
.cproc .note.lt{color:#c9b183}
.cp-hero{padding:clamp(56px,7vw,104px) var(--gut) clamp(44px,5vw,72px);border-bottom:1px solid var(--line)}
.cp-grid{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,5vw,96px)}
.cp-hero h1{font-family:var(--serif-d);font-size:clamp(46px,6vw,92px);line-height:.98;font-weight:400;letter-spacing:-.014em;color:var(--ink)}
.cp-intro{align-self:end}
.cp-intro p{font-size:17.5px;line-height:1.82;color:var(--ink-2);max-width:460px;margin-bottom:26px}
.cp-facts{display:flex;gap:clamp(24px,3vw,48px);margin-top:34px;border-top:1px solid var(--line);padding-top:22px}
.cp-facts li{list-style:none}
.cp-facts b{display:block;font-family:var(--serif-d);font-size:24px;font-weight:500;color:var(--ink)}
.cp-facts span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.cp-pics{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(14px,1.6vw,26px);
  padding:clamp(40px,5vw,72px) var(--gut) 0;max-width:1440px;margin:0 auto}
.cp-pics figure{margin:0;overflow:hidden;background:var(--bg-3)}
.cp-pics .a{aspect-ratio:16/10}
.cp-pics .bc{display:grid;grid-template-rows:1fr 1fr;gap:clamp(14px,1.6vw,26px)}
.cp-pics .bc figure{aspect-ratio:4/3}
.cp-pics img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.22,.7,.2,1)}
.cp-pics figure:hover img{transform:scale(1.035)}
.cp-how{padding:clamp(64px,8vw,120px) var(--gut)}
.cp-how .cp-rail{position:sticky;top:110px;align-self:start}
.cp-how h2{font-family:var(--serif-d);font-size:clamp(32px,3.6vw,52px);font-weight:400;line-height:1.06;letter-spacing:-.012em;margin:0 0 18px;color:var(--ink)}
.rail-sub{font-size:15.5px;color:var(--ink-soft);line-height:1.8;max-width:340px}
.cp-rows{list-style:none}
.cp-rows li{display:grid;grid-template-columns:72px minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(18px,2.4vw,40px);
  padding:clamp(26px,3vw,40px) 0;border-top:1px solid var(--line);align-items:baseline}
.cp-rows li:last-child{border-bottom:1px solid var(--line)}
.cp-rows b{font-family:var(--serif-d);font-size:clamp(30px,3vw,44px);font-weight:300;color:var(--gold);line-height:1}
.cp-rows h3{font-family:var(--serif-d);font-size:clamp(21px,2vw,28px);font-weight:500;margin:0;color:var(--ink)}
.cp-rows p{font-size:15.5px;line-height:1.8;color:var(--ink-2);margin:0}
.cp-band{background:#241f18;padding:clamp(44px,5vw,68px) var(--gut)}
.cp-band-in{max-width:1360px;margin:0 auto}
.cp-band ol{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,32px);margin-top:26px;list-style:none}
.cp-band li{border-top:1px solid rgba(250,247,242,.18);padding-top:16px}
.cp-band b{display:block;font-family:var(--serif-d);font-size:19px;font-weight:500;color:#f4ead6;margin-bottom:6px}
.cp-band span{font-size:12.5px;color:#9a8f7c;line-height:1.6;display:block}
.cp-can{padding:clamp(64px,8vw,120px) var(--gut);max-width:1360px;margin:0 auto}
.cp-can h2{font-family:var(--serif-d);font-size:clamp(32px,3.6vw,52px);font-weight:400;line-height:1.06;letter-spacing:-.012em;margin:0 0 clamp(28px,3.5vw,52px);color:var(--ink)}
.cp-can-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.6vw,40px)}
.cp-can-grid>div{border-top:1px solid var(--ink);padding-top:20px}
.cp-can-grid h3{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:12px;color:var(--ink)}
.cp-can-grid p{font-size:14.5px;line-height:1.78;color:var(--ink-2)}
.cp-can-grid a{border-bottom:1px solid var(--gold);color:var(--ink)}
.cp-nature{padding:clamp(56px,7vw,96px) var(--gut);border-top:1px solid var(--line);max-width:1360px;margin:0 auto}
.cp-nature blockquote{font-family:var(--serif-d);font-size:clamp(26px,3.2vw,44px);line-height:1.28;font-weight:400;
  color:var(--ink);max-width:1020px;margin:0 0 22px}
.cp-nature p{font-size:14.5px;color:var(--ink-soft);max-width:620px;line-height:1.8;margin:0}
.cp-faq{padding:clamp(56px,7vw,96px) var(--gut);max-width:1360px;margin:0 auto;border-top:1px solid var(--line)}
.cp-faq h2{font-family:var(--serif-d);font-size:clamp(32px,3.6vw,52px);font-weight:400;margin:0 0 clamp(24px,3vw,44px);color:var(--ink)}
.cp-faq details{border-top:1px solid var(--line);padding:20px 0;max-width:860px}
.cp-faq details:last-child{border-bottom:1px solid var(--line)}
.cp-faq summary{cursor:pointer;font-family:var(--serif-d);font-size:clamp(19px,1.8vw,24px);font-weight:500;color:var(--ink);list-style:none;position:relative;padding-right:40px}
.cp-faq summary::-webkit-details-marker{display:none}
.cp-faq summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-family:var(--sans);font-size:20px;font-weight:300;color:var(--gold);transition:transform .25s}
.cp-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.cp-faq details p{font-size:15px;line-height:1.8;color:var(--ink-2);margin:14px 0 4px;max-width:700px}
.cp-cta{background:#241f18;padding:clamp(64px,8vw,112px) var(--gut);text-align:left}
.cp-cta>*{max-width:1360px;margin-left:auto;margin-right:auto}
.cp-cta h2{font-family:var(--serif-d);font-size:clamp(34px,4.4vw,64px);font-weight:400;line-height:1.05;
  color:#f4ead6;margin:0 0 20px;letter-spacing:-.012em}
.cp-cta p{font-size:16px;line-height:1.8;color:#9a8f7c;max-width:560px;margin:0 0 34px}
.cproc .btn.gold{display:inline-block;background:#e2c98f;color:#241f18;padding:15px 30px;
  font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.cproc .btn.gold:hover{background:#faf7f2}
@media(max-width:900px){
  .cp-hero .cp-grid,.cp-how .cp-grid{grid-template-columns:1fr;gap:36px}
  .cp-how .cp-rail{position:static}
  .cp-pics{grid-template-columns:1fr}
  .cp-pics .bc{grid-template-rows:none;grid-template-columns:1fr 1fr}
  .cp-rows li{grid-template-columns:52px 1fr;grid-template-rows:auto auto}
  .cp-rows b{grid-row:span 2}
  .cp-rows p{grid-column:2}
  .cp-band ol{grid-template-columns:repeat(2,1fr);gap:24px}
  .cp-can-grid{grid-template-columns:repeat(2,1fr);gap:28px}
}
@media(max-width:560px){
  .cp-facts{flex-wrap:wrap;gap:18px 28px}
  .cp-rows li{grid-template-columns:40px 1fr;gap:14px;padding:24px 0}
  .cp-band ol{grid-template-columns:1fr}
  .cp-can-grid{grid-template-columns:1fr}
}

/* Bespoke 流程区左栏加密 */
.cp-how .cp-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr)}
.rail-facts{list-style:none;margin:30px 0 26px}
.rail-facts li{border-top:1px solid var(--line);padding:15px 0}
.rail-facts b{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink);margin-bottom:5px}
.rail-facts span{font-size:13.5px;line-height:1.65;color:var(--ink-soft);display:block}
@media(max-width:900px){.rail-facts{margin:22px 0 20px}}
@media(max-width:900px){.cp-how .cp-grid{grid-template-columns:1fr}}

/* ---------- FAQ 页 ---------- */
.faq-pg .note{display:inline-block;margin-bottom:14px}
.fp-hero{padding:clamp(56px,7vw,104px) var(--gut) clamp(40px,4.5vw,64px);border-bottom:1px solid var(--line)}
.fp-hero-in{max-width:1360px;margin:0 auto}
.fp-hero h1{font-family:var(--serif-d);font-size:clamp(44px,6vw,90px);line-height:.98;font-weight:400;letter-spacing:-.014em;margin:0 0 24px;color:var(--ink)}
.fp-hero p{font-size:17px;line-height:1.8;color:var(--ink-2);max-width:520px;margin:0 0 30px}
.fp-hero p a{border-bottom:1px solid var(--gold);color:var(--ink)}
.fp-jump{display:flex;flex-wrap:wrap;gap:10px 28px}
.fp-jump a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink-soft);transition:color .25s}
.fp-jump a b{font-family:var(--serif-d);font-weight:500;color:var(--gold);margin-right:8px;font-size:14px}
.fp-jump a:hover{color:var(--ink)}
.fp-body{padding:clamp(56px,7vw,104px) var(--gut)}
.fp-grid{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.75fr);gap:clamp(36px,5vw,100px);align-items:start}
.fp-index{position:sticky;top:110px}
.fp-index ol{list-style:none;margin-top:8px}
.fp-index li a{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);transition:color .25s}
.fp-index b{font-family:var(--serif-d);font-size:22px;font-weight:300;color:var(--gold)}
.fp-index span{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.fp-index em{margin-left:auto;font-style:normal;font-size:12px;color:var(--ink-soft)}
.fp-group{margin-bottom:clamp(44px,5vw,72px)}
.fp-group:last-child{margin-bottom:0}
.fp-group h2{font-family:var(--serif-d);font-size:clamp(26px,2.6vw,38px);font-weight:400;margin:0 0 8px;color:var(--ink)}
.fp-group h2 b{font-family:var(--serif-d);font-weight:300;color:var(--gold);margin-right:16px;font-size:.75em}
.fp-group details{border-top:1px solid var(--line);padding:18px 0}
.fp-group details:last-of-type{border-bottom:1px solid var(--line)}
.fp-group summary{cursor:pointer;font-family:var(--serif-d);font-size:clamp(18px,1.7vw,23px);font-weight:500;color:var(--ink);list-style:none;position:relative;padding-right:44px;line-height:1.35}
.fp-group summary::-webkit-details-marker{display:none}
.fp-group summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:20px;font-weight:300;color:var(--gold);transition:transform .25s}
.fp-group details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.fp-group details p{font-size:15px;line-height:1.82;color:var(--ink-2);margin:14px 0 6px;max-width:700px}
.fp-cta{background:#241f18;padding:clamp(56px,7vw,96px) var(--gut)}
.fp-cta>*{max-width:1360px;margin-left:auto;margin-right:auto}
.fp-cta h2{font-family:var(--serif-d);font-size:clamp(30px,3.8vw,56px);font-weight:400;color:#f4ead6;margin:0 0 16px;letter-spacing:-.012em}
.fp-cta p{font-size:16px;line-height:1.8;color:#9a8f7c;max-width:540px;margin:0 0 32px}
.fp-cta-row{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.faq-pg .btn.gold{display:inline-block;background:#e2c98f;color:#241f18;padding:15px 30px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.faq-pg .btn.gold:hover{background:#faf7f2}
.fp-ghost{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#9a8f7c;border-bottom:1px solid #4a4239;padding-bottom:4px;transition:color .25s}
.fp-ghost:hover{color:#f4ead6}
@media(max-width:900px){
  .fp-grid{grid-template-columns:1fr;gap:40px}
  .fp-index{position:static}
}

/* ---------- 06 首页 · 聊天记录截图墙（IG/WA 复刻） ---------- */
.rev-wrap .wsp-head,.rev-wrap .wsp-rows{grid-column:1/-1;min-width:0}
.wsp-head{margin:72px 0 28px}
.wsp-title{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2.4vw,28px);margin:6px 0 0}
.wsp-rows{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,30px)}
.wsp-row{min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.wsp-track{display:flex;width:max-content;animation:tmh-mar 340s linear infinite}
.wsp-row.rev .wsp-track{animation-direction:reverse}
.wsp-row:hover .wsp-track,.wsp-row:focus-within .wsp-track{animation-play-state:paused}
.wsp-half{display:flex;align-items:flex-start;gap:clamp(16px,2vw,28px);padding-right:clamp(16px,2vw,28px)}
@keyframes tmh-mar{to{transform:translateX(-50%)}}
.phone{margin:0;font-family:-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;
  box-shadow:0 18px 44px rgba(28,26,23,.10);transform:rotate(var(--tilt,0deg))}
.wsp-half .phone{flex:0 0 292px}
.phone:nth-child(3n+1){--tilt:-1.2deg}.phone:nth-child(3n+2){--tilt:.8deg}.phone:nth-child(3n){--tilt:-.6deg}
.p-status{display:flex;justify-content:space-between;align-items:center;padding:9px 16px 7px;color:#0b0b0b}
.p-svg{display:block;opacity:.9}
.p-head{display:flex;align-items:center;gap:9px;padding:7px 14px 9px;border-bottom:1px solid #ececec}
.p-head.wa{gap:8px;padding:6px 12px 8px}
/* 会话头返回箭头 —— 真实 WhatsApp 客户端有，之前漏了 */
.p-back{flex:0 0 auto;display:flex;align-items:center;color:#0b0b0b;margin-left:-4px;margin-right:-1px}
.p-ava{width:32px;height:32px;border-radius:50%;flex:0 0 32px;object-fit:cover;display:block}
.p-head.wa .p-ava{width:30px;height:30px;flex-basis:30px}
.p-name{font-size:13px;font-weight:600;color:#0b0b0b;display:block;flex:1 1 auto;min-width:0;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-name b{display:block;font-weight:400;font-size:11px;color:#8e8e8e;white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.p-blur{display:inline-block;width:30px;height:9px;border-radius:5px;background:#b9b9b9;filter:blur(2px);transform:translateY(1px)}
.p-ico{margin-left:auto;color:#0b0b0b;font-size:15px;letter-spacing:2px}
/* WA 右侧是「视频通话 + 语音通话」两个动作图标（原来只有一个 ☎ emoji） */
.p-head.wa .p-ico{display:flex;align-items:center;gap:14px;font-size:0;letter-spacing:0}
.p-head.wa .p-name b{max-width:140px}   /* 头部多了返回箭头和两个动作图标，昵称副行要收窄 */
.p-body{display:flex;flex-direction:column;gap:7px;padding:14px 12px 12px;height:418px;overflow:hidden}
.phone.ig .p-body{background:#fff}
/* WA 会话背景：官方默认涂鸦墙纸（内联 SVG 平铺，无外部请求） */
.phone.wa .p-body{background:#efeae2;
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240' fill='none' stroke='%23cbc2b1' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M18 28h22v13a11 11 0 0 1-22 0z'/><path d='M40 31h5a5 5 0 0 1 0 10h-5'/><path d='M23 19c0-3 3-3 3-6M31 19c0-3 3-3 3-6'/><path d='M84 40c-4-5-13-2-13 5 0 6 13 14 13 14s13-8 13-14c0-7-9-10-13-5z'/><path d='M152 20v24M152 20l15-4v24'/><circle cx='147' cy='46' r='5'/><circle cx='167' cy='42' r='5'/><path d='M212 22c11 0 17 9 17 9s-6 13-17 13-15-7-15-7 4-15 15-15z'/><path d='M203 46l22-17'/><path d='M28 94h34a9 9 0 0 1 9 9v13a9 9 0 0 1-9 9H43l-11 10v-10h-4a9 9 0 0 1-9-9v-13a9 9 0 0 1 9-9z'/><path d='M114 90v32M99 98l30 16M129 98l-30 16'/><rect x='162' y='96' width='34' height='24' rx='4'/><circle cx='179' cy='108' r='6'/><path d='M172 96l3-5h8l3 5'/><path d='M20 158h32M42 148l10 10-10 10'/><circle cx='106' cy='162' r='6'/><path d='M106 142v13M106 169v13M86 162h13M113 162h13'/><rect x='154' y='146' width='38' height='30'/><path d='M154 170l11-11 6 6 7-8 14 13'/><circle cx='36' cy='216' r='12'/><path d='M24 216h24M36 204c9 8 9 16 0 24M36 204c-9 8-9 16 0 24'/><path d='M96 210l22 22M118 210l-22 22'/><circle cx='101' cy='205' r='4'/><circle cx='113' cy='205' r='4'/><circle cx='180' cy='210' r='9'/><path d='M180 192v6M180 222v6M162 210h6M192 210h6M167 197l4 4M189 219l4 4M193 197l-4 4M171 219l-4 4'/></svg>");
  background-size:240px 240px}
.bub{max-width:84%;padding:7px 11px;border-radius:13px;font-size:13.5px;line-height:1.4;color:#111;position:relative}
.bub::after{content:'';display:table;clear:both}   /* 收住下面那个右浮动的时间 */
.phone.ig .bub.r{align-self:flex-end;background:linear-gradient(135deg,#a870ff,#8a5cf0);color:#fff}
.phone.ig .bub.l{align-self:flex-start;background:#efefef}
/* 新版 WhatsApp 客户端已取消气泡尾巴 */
.phone.wa .bub{border-radius:11px}
.phone.wa .bub.r{align-self:flex-end;background:#d9fdd3}
.phone.wa .bub.l{align-self:flex-start;background:#fff}
/* 每条消息的「时间 + 蓝色双勾」：右浮动，会自动落在还能容下它的最后一行 ——
   这正是 WhatsApp 的行为（放得下就贴在文末，放不下就另起一行靠右） */
.bub .p-meta{float:right;margin:4px -2px -2px 9px;font-size:10.5px;line-height:1.4;color:#667781;white-space:nowrap}
.phone.ig .bub.r .p-meta{color:rgba(255,255,255,.78)}
.ticks{color:#53bdeb;font-size:11px;letter-spacing:-2px;margin-left:2px}
.ticks.grey{color:#8696a0}
.p-day{align-self:center;font-size:10px;font-weight:600;letter-spacing:.06em;color:#5a5a5a;text-transform:uppercase;
  background:rgba(255,255,255,.9);border-radius:7px;padding:3px 9px;margin:6px 0 3px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.p-photos{align-self:flex-start;display:flex;flex-direction:column;gap:5px;margin:2px 0}
.p-sent{font-size:11px;color:#8a8a8a;text-align:center}
.p-stack{display:flex;padding-left:26px}
.p-stack img{width:118px;height:118px;object-fit:cover;border-radius:13px;border:2px solid #fff;
  box-shadow:0 3px 10px rgba(0,0,0,.14)}
.p-stack img+img{margin-left:-34px;transform:rotate(4deg)}
.p-stack img:first-child{transform:rotate(-3deg)}
.p-photos.pair{flex-direction:row;gap:6px;padding-left:8px}
.p-photos.pair img{width:104px;height:104px;object-fit:cover;border-radius:11px;border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.14)}
/* WA 配图「附件卡」：左侧 发送者名 + 相机 Photo 标签，右侧缩略图，下面图注，时间单独一行靠右 */
.phone.wa .bub.p-media{max-width:88%;padding:9px 10px 7px;border-radius:11px}
.p-media-top{display:flex;align-items:flex-start;gap:10px}
.p-media-l{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.p-media-l em{font-style:normal;font-size:11.5px;font-weight:600;color:#9a7b3f;line-height:1.2}
.p-media-lbl{display:flex;align-items:center;gap:5px;font-size:11.5px;color:#6b6b6b;white-space:nowrap}
.p-media-lbl svg{flex:0 0 auto}
.p-media-thumbs{display:flex;flex:0 0 auto;gap:4px}
.p-media-thumbs img{width:58px;height:58px;object-fit:cover;border-radius:6px}
.p-cap{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin-top:7px;font-size:13.5px;line-height:1.38;color:#111}
/* 附件卡的时间按参考图单独起一行 */
.phone.wa .bub.p-media .p-meta{float:none;display:block;text-align:right;margin:5px 0 -1px}
.p-input{display:flex;align-items:center;gap:10px;padding:9px 12px 12px;border-top:1px solid #ececec;background:#fff}
.p-input:not(.wa) span{flex:1;background:#efefef;border-radius:18px;padding:8px 14px;font-size:13px;color:#9a9a9a}
.p-input em,.p-input i{font-style:normal;display:flex;align-items:center;gap:9px}
.p-input svg{display:block}
/* WA 输入栏：+ 圆钮 / 圆角输入框（右内嵌表情）/ 相机 / 绿色语音球 */
.p-input.wa{border-top:0;background:transparent;gap:8px;padding:8px 11px 13px}
.p-input.wa .p-plus{flex:0 0 30px;height:30px;border-radius:50%;padding:0;display:flex;
  align-items:center;justify-content:center;color:#00a884;border:1.5px solid #00a884;font-size:16px;line-height:1}
.p-input.wa .p-field{flex:1;min-width:0;height:34px;border-radius:18px;background:#fff;display:flex;
  align-items:center;justify-content:flex-end;padding:0 12px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.p-input.wa .p-cam{flex:0 0 auto;display:flex;align-items:center;color:#4a4a4a}
.p-input.wa .p-mic{flex:0 0 34px;height:34px;border-radius:50%;background:#00a884;color:#fff;display:flex;
  align-items:center;justify-content:center}
.vtag{font-style:normal;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--line);padding:1px 6px;margin:0 4px;vertical-align:1px}
@media(max-width:960px){
  .wsp-row{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;margin:0 calc(var(--gut) * -1);padding-left:var(--gut);padding-right:var(--gut);-webkit-mask-image:none;mask-image:none}
  /* width 必须是 max-content：.wsp-half 是 max-content 宽的 flex 项，
     卡片若给百分比（原来 flex:0 0 76%）会按那个巨大宽度解析 → 卡片被撑到 9000px+，
     手机端只能看到一张卡的左上角一小块。改成基于视口的固定宽度。 */
  .wsp-track{animation:none;width:max-content}
  .wsp-half{padding-right:0}
  .wsp-half.dup{display:none}
  .wsp-half .phone{flex:0 0 auto;width:74vw;max-width:292px;scroll-snap-align:center}
  .wsp-row::-webkit-scrollbar{display:none}
}
@media(prefers-reduced-motion:reduce){
  .wsp-track{animation:none}
  .wsp-row{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .rev-list-track{animation:none}
  .rev-list{overflow-y:auto;-webkit-mask-image:none;mask-image:none}
  .rev-list-half.dup{display:none}
  .slide .bg{transform:none;transition:none}
  .slide .cap .note,.slide .cap h1,.slide .cap p,.slide .cap .btn{opacity:1;transform:none;transition:none}
}
