/* ==========================================================================
   CoreVive — design system
   融合参考：Oura（衬线大标题/暖白底）/ kGoal（圆角内嵌首屏/真人/数据卡）
             Dame（信任条/双CTA）/ Maude（跑马灯/克制排版）
   ========================================================================== */

/* ---------- FONTS (self-hosted) ---------- */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/instrument-serif-400.woff2') format('woff2');}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;
  src:url('assets/fonts/instrument-serif-400-italic.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('assets/fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/space-mono-400.woff2') format('woff2');}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/space-mono-700.woff2') format('woff2');}

/* ---------- TOKENS ---------- */
:root{
  --paper:#FBFAF7;
  --paper-2:#F4F1EA;
  --paper-3:#EAE6DC;
  --ink:#17150F;
  --ink-2:rgba(23,21,15,.68);
  --ink-3:rgba(23,21,15,.46);
  --line:rgba(23,21,15,.13);
  --line-2:rgba(23,21,15,.07);
  --clay:#B4553A;
  --clay-d:#96432C;
  --clay-t:#F5E7E1;
  --sage:#42564B;
  --white:#FFFFFF;

  --disp:'Instrument Serif',Georgia,'Times New Roman',serif;
  --body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Space Mono',ui-monospace,SFMono-Regular,monospace;

  --radius:24px;
  --radius-s:14px;
  --radius-xs:10px;
  --pill:999px;
  --maxw:1320px;
  --pad:clamp(18px,4vw,56px);
  --sec:clamp(64px,8.5vw,132px);
  --ease:cubic-bezier(.19,1,.22,1);
}

/* ---------- BASE ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
/* 横向溢出裁切必须放在 html 上，不能放在 body：
   body 一旦带 overflow-x:hidden，浏览器会把 body 变成独立滚动容器，
   导致 IntersectionObserver（默认以视口为根）永远不相交 —— 滚动显现全部失效。
   clip 比 hidden 更彻底：它不产生滚动容器，sticky 也不受影响。 */
html{overflow-x:hidden;}
@supports (overflow:clip){html{overflow-x:clip;}}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:16px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{display:block;max-width:100%;}
/* 注意：不要给全局 svg 设 max-width/display —— 第三方组件（如分享按钮）的 SVG
   没有宽高属性时会被撑满容器，曾导致出现整屏黑色方块。本主题自有 SVG 均带 width/height。 */
a{color:inherit;text-decoration:none;}
button,input{font:inherit;color:inherit;}
button{background:none;border:none;cursor:pointer;}
::selection{background:var(--clay);color:#fff;}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:4px;}

/* ---------- TYPE ---------- */
.d1,.d2,.d3,.d4{font-family:var(--disp);font-weight:400;letter-spacing:-.02em;}
.d1{font-size:clamp(44px,7vw,104px);line-height:1.0;}
.d2{font-size:clamp(34px,4.7vw,68px);line-height:1.03;letter-spacing:-.018em;}
.d3{font-size:clamp(24px,2.7vw,40px);line-height:1.12;letter-spacing:-.012em;}
.d4{font-size:clamp(19px,1.7vw,25px);line-height:1.25;letter-spacing:-.008em;}
.it{font-style:italic;}
.lead{font-size:clamp(16px,1.25vw,18.5px);line-height:1.7;color:var(--ink-2);}
.small{font-size:14.5px;line-height:1.6;color:var(--ink-2);}

/* 父主题（Blocksy）样式在部分选择器上会盖过本文件，这里用 .cv 提高优先级把基调锁死 */
.cv h1,.cv h2,.cv h3,.cv h4,.cv h5,
.cv .d1,.cv .d2,.cv .d3,.cv .d4{font-family:var(--disp);font-weight:400;}
.cv .d1{font-size:clamp(44px,7vw,104px);line-height:1.0;letter-spacing:-.02em;}
.cv .d2{font-size:clamp(34px,4.7vw,68px);line-height:1.03;letter-spacing:-.018em;}
.cv .d3{font-size:clamp(24px,2.7vw,40px);line-height:1.12;letter-spacing:-.012em;}
.cv .d4{font-size:clamp(19px,1.7vw,25px);line-height:1.25;letter-spacing:-.008em;}

.eyebrow{
  font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.26em;
  text-transform:uppercase;color:var(--clay);display:block;
}
.eyebrow--ink{color:var(--ink-3);}

/* ---------- LAYOUT ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.wrap--narrow{max-width:920px;}
section{position:relative;}
.sec{padding:var(--sec) 0;}
.sec--tight{padding:clamp(44px,5.5vw,80px) 0;}
.sec--band{background:var(--paper-2);}
.sec--ink{background:var(--ink);color:var(--paper);}
.sec--ink .lead,.sec--ink .small{color:rgba(251,250,247,.72);}
.sec--ink .eyebrow{color:rgba(251,250,247,.55);}
.sec--ink .eyebrow--ink{color:rgba(251,250,247,.5);}

.head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;
  margin-bottom:clamp(36px,4.5vw,60px);}
.head .eyebrow{margin-bottom:14px;}
.head .link{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-2);border-bottom:1px solid var(--line);padding-bottom:4px;white-space:nowrap;
  transition:color .3s,border-color .3s;}
.head .link:hover{color:var(--clay);border-color:var(--clay);}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:17px 30px;border-radius:var(--pill);border:1px solid transparent;
  transition:transform .4s var(--ease),background .3s,color .3s,border-color .3s,box-shadow .4s var(--ease);
  white-space:nowrap;cursor:pointer;
}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
.btn--ink{background:var(--ink);color:var(--paper);}
.btn--ink:hover{box-shadow:0 14px 30px rgba(23,21,15,.22);}
.btn--clay{background:var(--clay);color:#fff;}
.btn--clay:hover{background:var(--clay-d);box-shadow:0 14px 30px rgba(180,85,58,.28);}
.btn--ghost{border-color:var(--line);color:var(--ink);background:transparent;}
.btn--ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--paper);}
.btn--ghost-l{border-color:rgba(251,250,247,.3);color:var(--paper);}
.btn--ghost-l:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);}
.btn--sm{padding:13px 22px;font-size:10.5px;}
.btn--wide{width:100%;}
.arrow{transition:transform .4s var(--ease);}
.btn:hover .arrow{transform:translateX(4px);}

/* ---------- PROMO BAR ---------- */
.promo{
  background:var(--ink);color:var(--paper);text-align:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding:11px var(--pad);line-height:1.4;
}
.promo b{color:#E8A78C;font-weight:700;}

/* ---------- HEADER ---------- */
.hdr{position:sticky;top:0;z-index:80;background:rgba(251,250,247,.86);
  backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line-2);transition:transform .45s var(--ease);}
.hdr-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  height:74px;display:flex;align-items:center;gap:40px;}
.brand{font-family:var(--disp);font-size:29px;letter-spacing:-.01em;line-height:1;white-space:nowrap;}
.brand sup{font-family:var(--mono);font-size:8px;vertical-align:super;letter-spacing:0;margin-left:2px;color:var(--ink-3);}
.nav{display:flex;gap:32px;margin-left:auto;}
.nav a{font-size:14.5px;font-weight:500;color:var(--ink-2);position:relative;padding:6px 0;
  transition:color .3s;}
.nav a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--clay);
  transition:right .4s var(--ease);}
.nav a:hover{color:var(--ink);}
.nav a:hover::after{right:0;}
.hdr-act{display:flex;align-items:center;gap:6px;margin-left:auto;}
.iconbtn{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;
  color:var(--ink);transition:background .3s;position:relative;}
.iconbtn:hover{background:var(--paper-3);}
.iconbtn .count{position:absolute;top:4px;right:3px;min-width:17px;height:17px;padding:0 4px;
  background:var(--clay);color:#fff;border-radius:var(--pill);font-family:var(--mono);font-size:9px;
  font-weight:700;display:grid;place-items:center;line-height:1;}
.burger{display:none;}
.searchbar{border-bottom:1px solid var(--line-2);background:var(--paper);display:none;}
.searchbar.on{display:block;}
.searchbar form{max-width:var(--maxw);margin:0 auto;padding:20px var(--pad);display:flex;gap:14px;align-items:center;}
.searchbar input{flex:1;background:none;border:none;font-family:var(--disp);font-size:26px;outline:none;}
.searchbar input::placeholder{color:var(--ink-3);}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;justify-content:space-between;
  align-items:center;gap:26px;transition:color .3s;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--clay);}
.faq summary .q{font-family:var(--disp);font-size:clamp(18px,1.75vw,24px);line-height:1.3;letter-spacing:-.01em;}
.faq summary .pm{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;position:relative;transition:background .3s,border-color .3s,transform .4s var(--ease);}
.faq summary .pm::before,.faq summary .pm::after{content:'';position:absolute;background:currentColor;
  border-radius:2px;transition:transform .4s var(--ease),opacity .3s;}
.faq summary .pm::before{width:12px;height:1.5px;}
.faq summary .pm::after{width:1.5px;height:12px;}
.faq details[open] summary .pm{background:var(--clay);border-color:var(--clay);color:#fff;}
.faq details[open] summary .pm::after{opacity:0;transform:scaleY(0);}
.faq details[open] summary{color:var(--ink);}
.faq .a{padding:0 clamp(46px,5vw,80px) 26px 0;font-size:15px;line-height:1.72;color:var(--ink-2);
  max-width:78ch;}

/* ---------- FOOTER ---------- */
.ftr{background:var(--ink);color:var(--paper);padding:clamp(52px,6.5vw,96px) 0 0;}
.ftr-top{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:clamp(24px,3vw,44px);
  padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid rgba(251,250,247,.13);}
.ftr-brand .brand{color:var(--paper);font-size:32px;margin-bottom:16px;}
.ftr-brand p{font-size:14px;line-height:1.68;color:rgba(251,250,247,.6);max-width:34ch;}
.socials{display:flex;gap:9px;margin-top:22px;}
.socials a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(251,250,247,.2);
  display:grid;place-items:center;color:rgba(251,250,247,.72);transition:all .3s;}
.socials a:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);}
.ftr-col h4{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(251,250,247,.45);margin-bottom:18px;}
.ftr-col ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
.ftr-col a{font-size:14px;color:rgba(251,250,247,.76);transition:color .3s;}
.ftr-col a:hover{color:#fff;}
.ftr-bot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  padding:26px 0 34px;}
.ftr-bot .cp{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:rgba(251,250,247,.42);}
.pays{display:flex;gap:8px;align-items:center;}
.pays span{display:grid;place-items:center;height:26px;padding:0 9px;border-radius:5px;
  background:rgba(251,250,247,.1);font-family:var(--mono);font-size:9px;letter-spacing:.08em;
  color:rgba(251,250,247,.62);}
.ftr-legal{display:flex;gap:20px;flex-wrap:wrap;}
.ftr-legal a{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:rgba(251,250,247,.42);}
.ftr-legal a:hover{color:var(--paper);}

/* ---------- REVEAL ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.rv.in{opacity:1;transform:none;}
.rv-d1{transition-delay:.09s}.rv-d2{transition-delay:.18s}.rv-d3{transition-delay:.27s}
.rv-d4{transition-delay:.36s}.rv-d5{transition-delay:.45s}.rv-d6{transition-delay:.54s}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .ftr-top{grid-template-columns:1fr 1fr 1fr;}
  .ftr-brand{grid-column:1/-1;}
}
@media (max-width:900px){
  .nav,.hdr-act .opt{display:none;}
  .burger{display:grid;}
  .hdr-act{margin-left:auto;}
}
@media (max-width:640px){
  :root{--radius:18px;--sec:clamp(52px,11vw,72px);}
  .promo{font-size:10px;letter-spacing:.08em;}
  .hdr-in{height:64px;gap:16px;}
  .brand{font-size:25px;}
  .head{flex-direction:column;align-items:flex-start;gap:18px;}
  .faq .a{padding-right:0;}
  .ftr-top{grid-template-columns:1fr 1fr;gap:30px 20px;}
  .ftr-bot{flex-direction:column;align-items:flex-start;gap:16px;}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;}
  .rv{opacity:1;transform:none;}
}

/* ---------- SKIP LINK ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:var(--paper);
  padding:12px 20px;border-radius:0 0 var(--radius-xs) 0;font-size:13px;}
.skip:focus{left:0;}

/* ---------- MOBILE NAV ---------- */
@media (max-width:900px){
  .hdr{position:sticky;}
  .nav{
    position:absolute;top:100%;left:0;right:0;display:none;
    flex-direction:column;gap:0;margin:0;
    background:var(--paper);border-bottom:1px solid var(--line);
    padding:6px var(--pad) 18px;box-shadow:0 20px 40px rgba(23,21,15,.08);
  }
  .nav.nav--open{display:flex;}
  .nav a{font-size:16.5px;padding:15px 0;border-bottom:1px solid var(--line-2);color:var(--ink);}
  .nav a:last-child{border-bottom:none;}
  .nav a::after{display:none;}
}

/* ==========================================================================
   INNER PAGES — 让商店 / 商品 / 购物车等页面纳入同一套设计语言
   ========================================================================== */
.cv-inner #main-container{padding-bottom:clamp(56px,7vw,104px);overflow:visible;
  min-height:0 !important;display:block !important;}

/* 页面标题横幅（父主题 hero）重绘 */
.cv-inner .hero-section{
  background:var(--paper-2) !important;
  border-bottom:1px solid var(--line);
  padding:clamp(26px,3vw,44px) 0 !important;
  margin-bottom:clamp(32px,4vw,56px) !important;
  min-height:0 !important;
}
/* 父主题给标题容器设了 min-height:250px + 50px 内边距，必须清掉，否则一个标题占 370px */
.cv-inner .hero-section .entry-header,
.cv-inner .hero-section .ct-container-narrow{
  min-height:0 !important;padding:0 !important;margin:0 !important;display:block !important;
}
.cv-inner .hero-section .ct-container{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.cv-inner .hero-section h1,.cv-inner .hero-section .page-title{
  font-family:var(--disp) !important;font-weight:400 !important;
  font-size:clamp(30px,4vw,56px) !important;line-height:1.04 !important;
  letter-spacing:-.02em !important;color:var(--ink) !important;
}
.cv-inner .hero-section p{font-size:15.5px;color:var(--ink-2);max-width:70ch;}
.cv-inner .ct-breadcrumbs,.cv-inner .hero-section .breadcrumbs{
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3) !important;
}

/* 内容容器留白 */
.cv-inner .ct-container,.cv-inner .ct-container-full{
  max-width:var(--maxw);margin-left:auto;margin-right:auto;
}
.cv-inner .entry-content > *{max-width:100%;}
.cv-inner .entry-content h2,.cv-inner .entry-content h3{
  font-family:var(--disp);font-weight:400;letter-spacing:-.015em;
}
.cv-inner .entry-content h2{font-size:clamp(26px,3vw,38px);line-height:1.1;margin-top:1.4em;}
.cv-inner .entry-content h3{font-size:clamp(20px,2.2vw,27px);line-height:1.2;margin-top:1.3em;}
.cv-inner .entry-content p,.cv-inner .entry-content li{font-size:16px;line-height:1.75;color:var(--ink-2);}
.cv-inner .entry-content a{color:var(--clay);text-decoration:underline;text-underline-offset:3px;}

/* ---------- SHOP：商品网格 ---------- */
/* 父主题（Blocksy）对商品卡也用了 !important，这里统一用 .cv 提权压过它 */
.cv .woocommerce ul.products{
  display:grid !important;grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2vw,28px);margin:0 !important;padding:0 !important;
}
.cv .woocommerce ul.products::before,.cv .woocommerce ul.products::after{display:none !important;}
.cv .woocommerce ul.products li.product{
  width:auto !important;float:none !important;margin:0 !important;padding:0 !important;
  display:flex;flex-direction:column;text-align:left;
}
.cv .woocommerce ul.products li.product .woocommerce-loop-product__link{display:flex;flex-direction:column;height:100%;}
.cv .woocommerce ul.products li.product img{
  border-radius:var(--radius-s) !important;background:var(--paper-2);
  margin:0 0 15px !important;aspect-ratio:1/1;object-fit:cover;
  transition:transform .8s var(--ease);
}
.cv .woocommerce ul.products li.product:hover img{transform:scale(1.03);}
.cv .woocommerce ul.products li.product .woocommerce-loop-product__title,
.cv .woocommerce ul.products li.product h2{
  font-family:var(--disp) !important;font-size:20px !important;font-weight:400 !important;
  line-height:1.24 !important;padding:0 !important;color:var(--ink) !important;
  letter-spacing:-.01em;margin-bottom:2px !important;
}
.cv .woocommerce ul.products li.product .price{
  font-family:var(--mono) !important;font-size:13.5px !important;font-weight:700 !important;
  color:var(--ink) !important;margin-top:4px !important;
}
.cv .woocommerce ul.products li.product .price del{color:var(--ink-3) !important;font-weight:400;font-size:12px;}
.cv .woocommerce ul.products li.product .price ins{text-decoration:none;background:none;}
/* 隐藏父主题漏出的分类/标签行，保持卡片高度一致 */
.cv .woocommerce ul.products li.product ul.entry-meta,
.cv .woocommerce ul.products li.product .meta-categories,
.cv .woocommerce ul.products li.product .ct-product-categories{display:none !important;}
.cv .woocommerce ul.products li.product .button,
.cv .woocommerce ul.products li.product .add_to_cart_button{
  margin-top:14px !important;background:var(--ink) !important;color:var(--paper) !important;
  border-radius:var(--pill) !important;border:none !important;
  font-family:var(--mono) !important;font-size:10.5px !important;font-weight:700 !important;
  letter-spacing:.16em !important;text-transform:uppercase !important;
  padding:14px 22px !important;line-height:1 !important;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease) !important;
}
.cv .woocommerce ul.products li.product .button:hover{
  transform:translateY(-2px);box-shadow:0 14px 30px rgba(23,21,15,.2);
  background:var(--clay) !important;color:#fff !important;
}
.cv .woocommerce ul.products li.product .button.loading{opacity:.65;}
.cv .woocommerce .star-rating span,.cv .woocommerce .star-rating::before{color:#C4643F !important;}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
  background:var(--clay) !important;color:#fff !important;border-radius:var(--pill) !important;
  font-family:var(--mono) !important;font-size:9.5px !important;font-weight:700 !important;
  letter-spacing:.14em;text-transform:uppercase;padding:7px 12px !important;
  min-height:0 !important;min-width:0 !important;line-height:1 !important;
  top:12px !important;left:12px !important;right:auto !important;margin:0 !important;
}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering select{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);
}

/* ---------- 单品页 ---------- */
.single-product div.product{display:grid !important;grid-template-columns:1.05fr 1fr;
  gap:clamp(28px,4vw,72px);align-items:start;}
.single-product div.product .woocommerce-product-gallery{width:100% !important;float:none !important;}
.single-product div.product .summary{margin:0 !important;float:none !important;width:100% !important;}
.single-product div.product .woocommerce-product-gallery__image img{border-radius:var(--radius);}
.single-product div.product .product_title{
  font-family:var(--disp) !important;font-weight:400 !important;
  font-size:clamp(28px,3.4vw,46px) !important;line-height:1.06 !important;
  letter-spacing:-.02em !important;margin-bottom:14px !important;
}
.single-product div.product p.price{
  font-family:var(--mono) !important;font-size:22px !important;font-weight:700 !important;
  color:var(--ink) !important;margin-bottom:18px !important;
}
.single-product div.product p.price del{color:var(--ink-3) !important;font-size:16px;font-weight:400;}
.single-product div.product p.price ins{text-decoration:none;}
.single-product div.product .woocommerce-product-details__short-description{
  font-size:16px;line-height:1.72;color:var(--ink-2);margin-bottom:26px;}
.single-product div.product form.cart{margin:0 0 24px !important;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.single-product div.product form.cart .quantity input{
  border:1px solid var(--line) !important;border-radius:var(--pill) !important;
  padding:15px 8px !important;width:82px !important;text-align:center;
  font-family:var(--mono);font-size:14px;background:var(--white);}
.single-product div.product form.cart .single_add_to_cart_button{
  background:var(--clay) !important;color:#fff !important;border:none !important;
  border-radius:var(--pill) !important;padding:17px 34px !important;
  font-family:var(--mono) !important;font-size:11.5px !important;font-weight:700 !important;
  letter-spacing:.16em !important;text-transform:uppercase !important;line-height:1 !important;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease) !important;}
.single-product div.product form.cart .single_add_to_cart_button:hover{
  transform:translateY(-2px);box-shadow:0 14px 30px rgba(180,85,58,.26);}
.single-product div.product .product_meta{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);border-top:1px solid var(--line);padding-top:18px;}
.single-product div.product .product_meta a{color:var(--ink-2);}
.single-product .woocommerce-tabs{border-top:1px solid var(--line);margin-top:clamp(40px,5vw,72px) !important;
  padding-top:clamp(8px,1.5vw,20px);}
.single-product .woocommerce-tabs ul.tabs{padding:0 !important;margin:0 0 6px !important;display:flex;gap:28px;}
.single-product .woocommerce-tabs ul.tabs::before{display:none !important;}
.single-product .woocommerce-tabs ul.tabs li{
  background:none !important;border:none !important;border-radius:0 !important;
  margin:0 !important;padding:0 !important;box-shadow:none !important;}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{display:none !important;}
.single-product .woocommerce-tabs ul.tabs li a{
  font-family:var(--mono)!important;font-size:11px!important;font-weight:700!important;
  letter-spacing:.16em!important;text-transform:uppercase!important;
  color:var(--ink-3)!important;padding:14px 0!important;border-bottom:2px solid transparent;}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--ink)!important;border-bottom-color:var(--clay);}
.single-product .woocommerce-tabs .panel h2{font-family:var(--disp);font-weight:400;
  font-size:clamp(22px,2.4vw,30px);margin-bottom:14px;}
.single-product .woocommerce-tabs .panel p,.single-product .woocommerce-tabs .panel li{
  font-size:15.5px;line-height:1.75;color:var(--ink-2);}
.related.products,.upsells.products{margin-top:clamp(48px,6vw,88px) !important;}
.related.products > h2,.upsells.products > h2{
  font-family:var(--disp) !important;font-weight:400 !important;
  font-size:clamp(24px,2.8vw,36px) !important;letter-spacing:-.015em;margin-bottom:26px;}

/* ---------- 购物车 / 结算 ---------- */
.woocommerce table.shop_table{border:1px solid var(--line) !important;border-radius:var(--radius-s) !important;
  border-collapse:separate !important;overflow:hidden;}
.woocommerce table.shop_table th{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);font-weight:700;background:var(--paper-2);}
.woocommerce table.shop_table td{border-top:1px solid var(--line-2) !important;font-size:15px;}
.woocommerce .cart .button,.woocommerce .cart input.button,
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,
.woocommerce .wc-block-components-button{
  background:var(--ink) !important;color:var(--paper) !important;border-radius:var(--pill) !important;
  border:none !important;font-family:var(--mono) !important;font-size:11px !important;
  font-weight:700 !important;letter-spacing:.16em !important;text-transform:uppercase !important;
  padding:16px 28px !important;line-height:1 !important;
  transition:transform .4s var(--ease),background .3s !important;}
.woocommerce .cart .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{
  background:var(--clay) !important;color:#fff !important;transform:translateY(-2px);}
.woocommerce .cart .button.alt,.woocommerce a.button.alt,.woocommerce button.button.alt{
  background:var(--clay) !important;color:#fff !important;}
.woocommerce .cart_totals h2,.woocommerce #order_review_heading,.woocommerce h3#order_review_heading{
  font-family:var(--disp) !important;font-weight:400 !important;font-size:26px !important;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,.woocommerce .select2-container .select2-selection--single{
  border:1px solid var(--line) !important;border-radius:var(--radius-xs) !important;
  padding:14px 16px !important;background:var(--white) !important;font-size:15px;height:auto !important;}
.woocommerce form .form-row label{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-2);}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register,
.woocommerce-checkout #payment{
  border:1px solid var(--line) !important;border-radius:var(--radius-s) !important;background:var(--white) !important;}
.woocommerce-checkout #payment{background:var(--paper-2) !important;}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top-color:var(--clay) !important;background:var(--paper-2) !important;
  border-radius:var(--radius-xs);font-size:15px;}
.woocommerce-message::before,.woocommerce-info::before{color:var(--clay) !important;}
.woocommerce nav.woocommerce-pagination ul{border:none !important;display:flex;gap:8px;justify-content:center;}
.woocommerce nav.woocommerce-pagination ul li{border:none !important;margin:0 !important;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border-radius:50% !important;width:42px;height:42px;display:grid;place-items:center;
  font-family:var(--mono);font-size:12px;border:1px solid var(--line) !important;}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ink) !important;color:var(--paper) !important;}

@media (max-width:1080px){
  .cv .woocommerce ul.products{grid-template-columns:repeat(3,1fr) !important;}
  .cv .single-product div.product{grid-template-columns:1fr !important;}
}
@media (max-width:782px){
  .cv .woocommerce ul.products{grid-template-columns:repeat(2,1fr) !important;}
  .cv-inner .hero-section{padding:22px 0 !important;}
  .cv .wc-block-components-button,.cv .woocommerce a.button,.cv .woocommerce button.button{padding:15px 22px !important;}
}
@media (max-width:520px){
  /* 商店页也改双列，避免手机上商品列表过长 */
  .cv .woocommerce ul.products{grid-template-columns:repeat(2,1fr) !important;gap:14px !important;}
  .cv .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .cv .woocommerce ul.products li.product h2{font-size:16px !important;}
  .cv .woocommerce ul.products li.product .price{font-size:12px !important;}
  .cv .woocommerce ul.products li.product .button{
    padding:11px 10px !important;font-size:8.5px !important;letter-spacing:.1em !important;margin-top:10px !important;}
  .cv .woocommerce ul.products li.product .onsale,.cv .woocommerce span.onsale{
    font-size:8.5px !important;padding:6px 9px !important;top:9px !important;left:9px !important;}
}

/* ==========================================================================
   分享按钮（插件 corevive-enhancements 输出 .cv-share）
   要点：SVG 必须显式给宽高，否则会被撑满；用官方品牌色圆形徽标
   ========================================================================== */
.cv-share{
  margin-top:clamp(36px,4.4vw,60px);
  padding-top:clamp(22px,2.8vw,32px);
  border-top:1px solid var(--line);
}
.cv-share-label{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-3);margin:0 0 16px;
}
.cv-share-list{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:9px;align-items:center;
}
.cv-share-list li{margin:0;padding:0;list-style:none;}
.cv-share-list a{
  display:inline-flex;align-items:center;gap:9px;
  padding:8px 15px 8px 8px;border:1px solid var(--line);border-radius:var(--pill);
  background:var(--white);color:var(--ink);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s;
}
.cv-share-list a:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(23,21,15,.1);border-color:transparent;}
/* 关键：固定尺寸，避免被容器撑大 */
.cv-share-list a > svg{
  width:30px;height:30px;padding:7px;border-radius:50%;flex:none;
  background:var(--ink);fill:#fff;color:#fff;
  box-sizing:border-box;
}
/* 官方品牌色（按分享链接域名匹配，比 nth-child 稳） */
.cv-share-list a[href*="facebook.com"] > svg{background:#1877F2;}
.cv-share-list a[href*="twitter.com"] > svg,
.cv-share-list a[href*="x.com"] > svg{background:#0F1419;}
.cv-share-list a[href*="pinterest.com"] > svg{background:#E60023;}
.cv-share-list a[href*="linkedin.com"] > svg{background:#0A66C2;}
.cv-share-list a[href*="whatsapp.com"] > svg{background:#25D366;}
.cv-share-list a[href*="t.me"] > svg{background:#229ED9;}
.cv-share-list a[href^="mailto:"] > svg{background:var(--clay);}
/* 产品页分享块上方紧贴摘要，缩一点间距 */
.single-product .cv-share{margin-top:26px;padding-top:22px;}

@media (max-width:640px){
  .cv-share-list a{padding:7px 0;border:none;background:none;justify-content:center;}
  .cv-share-list a span{display:none;}
  .cv-share-list{gap:8px;}
  .cv-share-list a > svg{width:36px;height:36px;padding:9px;}
}

/* ==========================================================================
   文章正文（博客）—— 简约高级排版 + 克制的滚动动效
   ========================================================================== */
.cv-inner .entry-content > p,
.cv-inner .entry-content > h2,
.cv-inner .entry-content > h3,
.cv-inner .entry-content > ul,
.cv-inner .entry-content > ol,
.cv-inner .entry-content > blockquote,
.cv-inner .entry-content > figure{max-width:74ch;}
.cv-inner .entry-content > p{font-size:17px;line-height:1.78;color:rgba(23,21,15,.76);}
.cv-inner .entry-content > p + p{margin-top:1.15em;}
.cv-inner .entry-content h2{
  font-family:var(--disp);font-weight:400;font-size:clamp(27px,3.2vw,42px);
  line-height:1.1;letter-spacing:-.02em;color:var(--ink);
  margin:2.1em 0 .55em;
}
.cv-inner .entry-content h3{
  font-family:var(--disp);font-weight:400;font-size:clamp(21px,2.2vw,28px);
  line-height:1.2;letter-spacing:-.012em;color:var(--ink);
  margin:1.7em 0 .5em;
}
.cv-inner .entry-content ul,.cv-inner .entry-content ol{margin:1.1em 0;padding-left:1.25em;}
.cv-inner .entry-content li{font-size:16.5px;line-height:1.75;color:rgba(23,21,15,.76);margin-bottom:.45em;}
.cv-inner .entry-content li::marker{color:var(--clay);}
.cv-inner .entry-content blockquote{
  margin:2em 0;padding:4px 0 4px 26px;border-left:2px solid var(--clay);
  font-family:var(--disp);font-size:clamp(20px,2.1vw,27px);line-height:1.38;
  letter-spacing:-.015em;color:var(--ink);font-style:normal;
}
.cv-inner .entry-content blockquote p{font-size:inherit !important;color:inherit !important;
  font-family:inherit;line-height:inherit;}
.cv-inner .entry-content figure{margin:2.2em 0;}
.cv-inner .entry-content img{border-radius:var(--radius-s);}
.cv-inner .entry-content figcaption{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);margin-top:12px;
}
.cv-inner .entry-content hr{
  border:none;height:1px;background:var(--line);margin:2.6em 0;
}
/* 关键数字/对照小卡（用于文章内嵌） */
.cv-note{
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;
  padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius-s);
  background:var(--paper-2);margin:1.8em 0;
}
.cv-note b{font-family:var(--disp);font-size:clamp(30px,3.2vw,42px);font-weight:400;
  color:var(--clay);line-height:1;letter-spacing:-.02em;}
.cv-note span{font-size:15px;line-height:1.6;color:var(--ink-2);}

/* 文章内文逐段浮现（只加在博客正文，首页不动） */
@media (prefers-reduced-motion:no-preference){
  .cv-inner.single-post .entry-content > p,
  .cv-inner.single-post .entry-content > h2,
  .cv-inner.single-post .entry-content > h3,
  .cv-inner.single-post .entry-content > blockquote,
  .cv-inner.single-post .entry-content > ul,
  .cv-inner.single-post .entry-content > ol,
  .cv-inner.single-post .entry-content > .cv-note{
    opacity:0;transform:translateY(18px);
    transition:opacity .85s var(--ease),transform .85s var(--ease);
    will-change:opacity,transform;
  }
  .cv-inner.single-post .entry-content > .cv-in{
    opacity:1;transform:none;
  }
  /* 章节标题下的陶土色短线，滚动到时从 0 展开 */
  .cv-inner.single-post .entry-content h2::after{
    content:'';display:block;width:52px;height:2px;background:var(--clay);
    margin-top:14px;transform:scaleX(0);transform-origin:left;
    transition:transform 1s var(--ease) .18s;
  }
  .cv-inner.single-post .entry-content h2.cv-in{transform:none;}
  .cv-inner.single-post .entry-content h2.cv-in::after{transform:scaleX(1);}
}

/* ==========================================================================
   区块化购物车 / 结账（wc-block-*）配色与按钮对齐品牌
   —— 区块组件默认用 WooCommerce 蓝色，这里统一成陶土/墨色
   ========================================================================== */
.cv .wc-block-components-button:not(.is-link):not(.wc-block-components-express-payment__event-buttons button){
  background:var(--ink) !important;color:var(--paper) !important;
  border:none !important;border-radius:var(--pill) !important;
  font-family:var(--mono) !important;font-size:11.5px !important;font-weight:700 !important;
  letter-spacing:.16em !important;text-transform:uppercase !important;
  padding:16px 30px !important;line-height:1 !important;
  transition:transform .35s var(--ease),background .3s !important;
}
.cv .wc-block-components-button:not(.is-link):hover{
  background:var(--clay) !important;color:#fff !important;transform:translateY(-2px);
}
.cv .wc-block-components-button.is-link,
.cv .wc-block-components-totals-coupon-link,
.cv .wc-block-components-panel__button{
  color:var(--clay) !important;
}
.cv .wc-block-components-text-input input, .cv .wc-block-components-text-input select,
.cv .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input{
  border-radius:var(--radius-xs) !important;border-color:var(--line) !important;
}
.cv .wc-block-components-text-input input:focus,
.cv .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus{
  border-color:var(--ink) !important;box-shadow:0 0 0 1px var(--ink) !important;
}
.cv .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked{
  background-color:var(--clay) !important;border-color:var(--clay) !important;
}
.cv .wc-block-components-order-summary,
.cv .wc-block-components-totals-wrapper,
.cv .wc-block-components-sidebar-layout .wc-block-components-sidebar .wc-block-components-order-summary{
  border-color:var(--line-2) !important;
}
/* 快递结账标题默认绝对定位会压住按钮，改成常规流 */
.cv .wc-block-components-express-payment .wc-block-components-express-payment__title{
  position:static !important;margin-bottom:10px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-3);
}
.cv .wc-block-components-express-payment__event-buttons{margin-top:0 !important;}
.cv .wc-block-components-title,
.cv .wc-block-components-checkout-step__title{
  font-family:var(--mono) !important;font-size:11px !important;font-weight:700 !important;
  letter-spacing:.16em !important;text-transform:uppercase !important;color:var(--ink) !important;
}
.cv .wc-block-components-order-summary-item__description,
.cv .wc-block-components-product-name{font-size:14.5px;}
.cv .wc-block-cart-item__image img, .cv .wc-block-components-order-summary-item__image img{
  border-radius:var(--radius-xs);
}




/* ==========================================================================
   v2.2 — 商品页 / 商店 / 购物车 深度修复（2026-09-25 QA）
   ========================================================================== */

/* ---- 单品页：grid 修到正确层级 ----
   Blocksy 结构：div.product > .product-entry-wrapper(图+摘要) + .woocommerce-tabs + .related。
   旧版在 div.product 上做两列 grid，把 tabs 挤进了右列，移动端更不重置（44px 横向溢出）。
   改为：div.product 普通块级，grid 只作用于 wrapper 内部。 */
.single-product div.product{display:block !important;}
.single-product .product-entry-wrapper{
  display:grid !important;grid-template-columns:1.02fr 1fr;
  gap:clamp(30px,4.5vw,80px);align-items:start;
}
.single-product .product-entry-wrapper .woocommerce-product-gallery{width:100% !important;max-width:100% !important;}
.single-product .product-entry-wrapper .summary{width:100% !important;max-width:100% !important;}
@media(min-width:1000px){
  .single-product .product-entry-wrapper .woocommerce-product-gallery{position:sticky;top:108px;}
}
@media(max-width:900px){
  .single-product .product-entry-wrapper{display:block !important;}
  .single-product .product-entry-wrapper .summary{margin-top:30px !important;}
}
/* 单品页顶部面包屑带：压扁，去掉空旷感 */
.single-product .hero-section{padding:16px 0 !important;min-height:0 !important;}
.single-product .hero-section .entry-header{padding:0 !important;}

/* ---- 商店：分类行彻底隐藏（旧选择器 .cv .woocommerce 是后代关系，两个类都在 body 上，永不命中） ---- */
.cv ul.products li.product .entry-meta,
.cv ul.products li.product .meta-categories{display:none !important;}

/* ---- 商店移动工具栏：排序图标与下拉重叠破碎；4 个商品无需排序，移动端隐藏整条 ---- */
@media(max-width:699px){
  .woo-listing-top{display:none !important;}
}

/* ---- 空购物车：去掉巨大黑色哭脸，安静品牌化 ---- */
.with-empty-cart-icon::before{display:none !important;}
.wp-block-woocommerce-empty-cart-block{padding:clamp(26px,4vw,64px) 0 clamp(40px,5vw,80px);}
.cv .wc-block-cart__empty-cart__title{
  font-family:var(--disp) !important;font-weight:400 !important;
  font-size:clamp(26px,3vw,38px) !important;letter-spacing:-.015em !important;
}
.wp-block-woocommerce-empty-cart-block .wp-block-separator{display:none !important;}
.wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title){
  font-family:var(--disp) !important;font-weight:400 !important;
  font-size:clamp(22px,2.4vw,30px) !important;letter-spacing:-.01em !important;
}

/* ---- New in store（wc-block-grid）品牌化：蓝按钮/陶土下划线标题 → 品牌组件 ---- */
.cv .wc-block-grid__product{border:1px solid var(--line-2);border-radius:var(--radius-s);
  padding:14px 14px 18px;text-align:left;background:var(--white);}
.cv .wc-block-grid__product-image img{border-radius:var(--radius-xs);}
.cv .wc-block-grid__product-title,
.cv .wc-block-grid__product-title a{
  font-family:var(--disp) !important;font-weight:400 !important;color:var(--ink) !important;
  text-decoration:none !important;font-size:19px !important;line-height:1.28 !important;letter-spacing:-.008em;}
.cv .wc-block-grid__product-title a:hover{color:var(--clay) !important;}
.cv .wc-block-grid__product-price,
.cv .wc-block-grid__product-price span,
.cv .wc-block-grid__product-price bdi{
  font-family:var(--mono) !important;color:var(--ink) !important;font-size:14px !important;font-weight:700;}
.cv .wc-block-grid__product-price del,
.cv .wc-block-grid__product-price del *{color:var(--ink-3) !important;font-weight:400 !important;font-size:12.5px !important;}
.cv .wc-block-grid__product .wp-block-button__link,
.cv .wc-block-grid__product a.add_to_cart_button,
.cv .wc-block-grid__product button.add_to_cart_button{
  background:var(--ink) !important;color:var(--paper) !important;border:none !important;
  border-radius:var(--pill) !important;padding:14px 24px !important;
  font-family:var(--mono) !important;font-size:10.5px !important;font-weight:700 !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;line-height:1 !important;
  transition:background .3s,transform .4s var(--ease) !important;}
.cv .wc-block-grid__product .wp-block-button__link:hover,
.cv .wc-block-grid__product .add_to_cart_button:hover{background:var(--clay) !important;transform:translateY(-2px);}
.cv .wc-block-grid__product .onsale{
  background:var(--clay) !important;color:#fff !important;border:none !important;
  border-radius:var(--pill) !important;font-family:var(--mono) !important;font-size:9.5px !important;
  font-weight:700 !important;letter-spacing:.14em !important;padding:6px 12px !important;}

/* ---- 商品页返回商店的 wc 提示条、数量框等小件统一 ---- */
.cv .woocommerce-message, .cv .woocommerce-info{
  border-top-color:var(--clay) !important;background:var(--paper-2) !important;
  font-size:14.5px;color:var(--ink-2);}
.cv .woocommerce-message a, .cv .woocommerce-info a{color:var(--clay) !important;}

/* ---- v2.2.1 补丁：New in store 标题在 <a> 内、角标是 __product-onsale ---- */
.cv a.wc-block-grid__product-link,
.cv a.wc-block-grid__product-link:hover{color:var(--ink) !important;text-decoration:none !important;}
.cv a.wc-block-grid__product-link:hover .wc-block-grid__product-title{color:var(--clay) !important;}
.cv .wc-block-grid__product-onsale{
  background:var(--clay) !important;color:#fff !important;border:none !important;
  border-radius:var(--pill) !important;padding:6px 13px !important;margin:10px !important;
  font-family:var(--mono) !important;font-size:9.5px !important;font-weight:700 !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;}
.cv .wc-block-grid__product-onsale span{color:#fff !important;font:inherit !important;}

/* ---- v2.2.2 补丁：购物车条目商品名统一墨色无下划线 ---- */
.cv .wc-block-cart-item__product-name,
.cv .wc-block-cart-item__product-name a,
.cv .wc-block-components-product-name,
.cv .wc-block-components-product-name a{color:var(--ink) !important;text-decoration:none !important;}
