:root{
  --pl-green:#2E5E4E;
  --pl-green-d:#244A3E;
  --pl-ink:#23201C;
  --pl-gray:#5A534A;
  --pl-cream:#FAF7F1;
  --pl-sand:#F1E9DD;
  --pl-gold:#B08D57;
  --pl-radius:14px;
}
body{
  background:#FAF7F1;
  color:#5A534A;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
h1,h2,h3,h4,.hero-title{ font-family:'Fraunces',Georgia,serif; color:#23201C; }

/* ===== 页眉 ===== */
.ct-header{ background:#fff; border-bottom:1px solid #EFE9DF; box-shadow:0 2px 14px rgba(35,32,28,.05); }
.ct-header [data-id="logo"]{ --logoMaxHeight:72px; }
.ct-header .site-logo-container img{ max-height:72px !important; width:auto !important; height:auto !important; }
.site-title-container{ display:none; }
.home .entry-header{ display:none; }

/* ===== 全局容器 ===== */
.bs-wrap{ max-width:1240px; margin:0 auto; padding:0 20px; }
.bs-sec{ padding:64px 0; }
.bs-sec-tight{ padding:40px 0; }
.bs-eyebrow{
  display:inline-block; color:#B08D57; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; font-size:.78rem; margin:0 0 12px;
}
.bs-h2{ font-size:clamp(1.6rem,3.2vw,2.3rem); line-height:1.2; margin:0 0 10px; letter-spacing:-.015em; }
.bs-lead{ color:#5A534A; font-size:1.02rem; max-width:640px; margin:0 0 36px; line-height:1.65; }

/* ===== 按钮 ===== */
.wp-block-button__link,
.button, button, .wp-block-button a,
.wc-block-components-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  border-radius:999px !important;
  background-color:#2E5E4E !important;
  color:#fff !important;
  border:none !important;
  font-weight:600;
  transition:background-color .25s ease, transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s ease;
}
.wp-block-button__link:hover,
.button:hover, button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover{
  background-color:#244A3E !important;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(46,94,78,.25);
}
.bs-btn{
  display:inline-block; padding:14px 30px; border-radius:999px;
  background:#2E5E4E; color:#fff; text-decoration:none; font-weight:600; font-size:.98rem;
  transition:background .25s ease, transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s ease;
}
.bs-btn:hover{ background:#244A3E; transform:translateY(-2px); box-shadow:0 10px 24px rgba(46,94,78,.28); color:#fff; }
.bs-btn-ghost{
  display:inline-block; padding:14px 30px; border-radius:999px;
  background:transparent; color:#2E5E4E; text-decoration:none; font-weight:600; font-size:.98rem;
  border:1.5px solid #2E5E4E;
  transition:background .25s ease, color .25s ease, transform .25s cubic-bezier(.22,.61,.36,1);
}
.bs-btn-ghost:hover{ background:#2E5E4E; color:#fff; transform:translateY(-2px); }
.bs-btn-light{
  display:inline-block; padding:14px 30px; border-radius:999px;
  background:#fff; color:#244A3E; text-decoration:none; font-weight:600; font-size:.98rem;
  transition:transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s ease;
}
.bs-btn-light:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.22); color:#244A3E; }
.bs-btn-out{
  display:inline-block; padding:14px 30px; border-radius:999px;
  background:transparent; color:#fff; text-decoration:none; font-weight:600; font-size:.98rem;
  border:1.5px solid rgba(255,255,255,.6);
  transition:background .25s ease, transform .25s cubic-bezier(.22,.61,.36,1);
}
.bs-btn-out:hover{ background:rgba(255,255,255,.12); transform:translateY(-2px); color:#fff; }

/* ===== HERO ===== */
.bs-hero{ background:linear-gradient(180deg,#F1E9DD 0%,#FAF7F1 100%); padding:56px 0 0; }
.bs-hero-grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:52px; align-items:center; }
.bs-hero h1{ font-size:clamp(2.1rem,4.6vw,3.4rem); line-height:1.12; margin:0 0 18px; letter-spacing:-.025em; }
.bs-hero p.bs-hero-sub{ font-size:1.08rem; line-height:1.7; color:#5A534A; max-width:520px; margin:0 0 26px; }
.bs-hero-cta{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:26px; }
.bs-hero-points{ display:flex; flex-wrap:wrap; gap:8px 22px; list-style:none; margin:0; padding:0; }
.bs-hero-points li{ display:flex; align-items:center; gap:8px; font-size:.93rem; color:#3A342C; font-weight:500; }
.bs-hero-points li::before{
  content:''; width:18px; height:18px; flex:none; border-radius:50%;
  background:#2E5E4E url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath d='M7.6 13.9l-4-4 1.4-1.4 2.6 2.6 7-7L16 5.5z'/%3E%3C/svg%3E") center/12px no-repeat;
}
.bs-hero-media{ position:relative; }
.bs-hero-media img{
  width:100%; border-radius:18px; display:block;
  box-shadow:0 24px 60px rgba(35,32,28,.18);
  aspect-ratio:3/2; object-fit:cover;
}
.bs-hero-badge{
  position:absolute; left:-18px; bottom:26px; background:#fff; border:1px solid #EFE9DF;
  border-radius:14px; padding:14px 20px; box-shadow:0 14px 34px rgba(35,32,28,.13);
}
.bs-hero-badge strong{ display:block; font-family:'Fraunces',Georgia,serif; font-size:1.5rem; color:#23201C; line-height:1.2; }
.bs-hero-badge span{ font-size:.82rem; color:#5A534A; }

/* ===== 信任条 ===== */
.bs-trust{ background:#fff; border-top:1px solid #EFE9DF; border-bottom:1px solid #EFE9DF; padding:22px 0; }
.bs-trust-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.bs-trust-item{ display:flex; align-items:center; gap:11px; }
.bs-trust-item .ic{
  width:38px; height:38px; flex:none; border-radius:10px; background:#F1E9DD;
  display:flex; align-items:center; justify-content:center;
}
.bs-trust-item .ic svg{ width:20px; height:20px; fill:#2E5E4E; }
.bs-trust-item b{ display:block; font-size:.92rem; color:#23201C; font-weight:600; line-height:1.25; }
.bs-trust-item span{ font-size:.8rem; color:#5A534A; }

/* ===== 分类卡 ===== */
.bs-cats{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.bs-cat{
  position:relative; display:block; border-radius:16px; overflow:hidden;
  text-decoration:none; height:320px;
  box-shadow:0 8px 24px rgba(35,32,28,.08);
  transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease;
}
.bs-cat img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.22,.61,.36,1); }
.bs-cat:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(35,32,28,.16); }
.bs-cat:hover img{ transform:scale(1.06); }
.bs-cat::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(35,32,28,0) 35%,rgba(35,32,28,.72) 100%);
}
.bs-cat-body{ position:absolute; left:24px; right:24px; bottom:22px; z-index:2; color:#fff; }
.bs-cat-body h3{ color:#fff; font-size:1.28rem; margin:0 0 5px; line-height:1.25; }
.bs-cat-body p{ margin:0 0 12px; font-size:.9rem; color:rgba(255,255,255,.86); line-height:1.5; }
.bs-cat-body .go{ font-size:.88rem; font-weight:600; color:#fff; text-decoration:none; }
.bs-cat-body .go::after{ content:' →'; }

/* ===== 能力卡 ===== */
.bs-why{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.bs-why-card{
  background:#fff; border:1px solid #EFE9DF; border-radius:14px; padding:28px 24px;
  transition:transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s ease;
}
.bs-why-card:hover{ transform:translateY(-5px); box-shadow:0 14px 34px rgba(35,32,28,.09); }
.bs-why-card .ic{
  width:44px; height:44px; border-radius:11px; background:#F1E9DD;
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.bs-why-card .ic svg{ width:22px; height:22px; fill:#2E5E4E; }
.bs-why-card h3{ font-size:1.05rem; margin:0 0 8px; line-height:1.35; }
.bs-why-card p{ margin:0; font-size:.93rem; line-height:1.6; color:#5A534A; }

/* ===== 流程 ===== */
.bs-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.bs-step{ position:relative; padding-top:14px; }
.bs-step .num{
  width:44px; height:44px; border-radius:50%; background:#2E5E4E; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces',Georgia,serif; font-size:1.15rem; font-weight:700; margin-bottom:16px;
}
.bs-step h3{ font-size:1.06rem; margin:0 0 8px; }
.bs-step p{ margin:0; font-size:.94rem; line-height:1.65; color:#5A534A; }

/* ===== 工厂图片带 ===== */
.bs-strip{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:18px; }
.bs-strip a{
  position:relative; display:block; height:360px; border-radius:16px; overflow:hidden;
  box-shadow:0 10px 30px rgba(35,32,28,.10);
}
.bs-strip img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .55s cubic-bezier(.22,.61,.36,1); }
.bs-strip a:hover img{ transform:scale(1.055); }
.bs-strip a::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(35,32,28,0) 45%,rgba(35,32,28,.66) 100%);
}
.bs-strip .cap{
  position:absolute; left:22px; right:22px; bottom:18px; z-index:2;
  color:#fff; font-weight:600; font-size:.98rem; text-shadow:0 1px 8px rgba(35,32,28,.4);
}
.bs-strip .cap small{ display:block; font-weight:400; font-size:.84rem; opacity:.88; margin-top:3px; }

/* ===== CTA 背景图版 ===== */
.bs-cta{ position:relative; overflow:hidden; background-size:cover; background-position:center; }
.bs-cta::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(36,74,62,.93) 0%,rgba(35,61,51,.90) 100%);
}
.bs-cta > .bs-wrap{ position:relative; z-index:2; }

/* ===== CTA ===== */
.bs-cta{ background:#2E5E4E; color:#fff; padding:58px 0; text-align:center; }
.bs-cta h2{ color:#fff; font-size:clamp(1.5rem,3vw,2.1rem); margin:0 0 12px; }
.bs-cta p{ color:rgba(255,255,255,.88); font-size:1.02rem; margin:0 auto 26px; max-width:560px; line-height:1.65; }
.bs-cta-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ===== 产品卡（WooCommerce）===== */
ul.products li.product{
  background:#fff;
  border-radius:14px;
  border:1px solid #EFE9DF;
  overflow:hidden;
  transition:transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s ease;
  padding-bottom:1.2rem;
}
ul.products li.product:hover{ transform:translateY(-6px); box-shadow:0 14px 34px rgba(35,32,28,.08); }
ul.products li.product img{ aspect-ratio:1/1; object-fit:cover; }
ul.products li.product .woocommerce-loop-product__title{
  color:#23201C; font-weight:600;
  font-family:'Fraunces',Georgia,serif;
  font-size:1.02rem; line-height:1.35;
}
ul.products li.product .price{ color:#2E5E4E; font-weight:700; }
ul.products li.product .star-rating,
.single-product .summary .star-rating{ display:none; }
.onsale{ background:#B08D57 !important; color:#fff !important; border-radius:999px !important; font-weight:700; }

/* ===== 商品详情页 ===== */
.single-product .summary .product_title{ color:#23201C; }
.single-product .summary .price{ color:#2E5E4E; font-size:1.6rem; font-weight:700; }
.single-product .woocommerce-product-details__short-description{ font-size:1.02rem; line-height:1.7; color:#3A342C; }
.single-product .entry-content ul{ padding-left:1.2rem; }
.single-product .entry-content h3{ color:#23201C; }

/* ===== 页脚 ===== */
footer.ct-footer, .site-footer{ background:#23201C; color:#B9B2A8; }
footer.ct-footer a, .site-footer a{ color:#F1E9DD; }

/* ===== 旧版首页栅格（保留兼容）===== */
.p-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; }
.p-3col{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.p-2col{ display:grid; grid-template-columns:1fr 1fr; gap:44px; }
.p-scene{
  display:block; background:#fff; border:1px solid #EFE9DF;
  border-radius:14px; overflow:hidden; text-decoration:none; color:inherit;
}
.p-scene img{ width:100%; height:200px; object-fit:cover; display:block; }

/* ===== 体检修复（2026-10-22）===== */
/* 产品图铺满卡片 —— 修移动端图片缩成小方块的问题 */
ul.products li.product img{ width:100% !important; height:auto; }
ul.products li.product a.woocommerce-LoopProduct-link,
ul.products li.product .woocommerce-loop-product__link{ display:block; }

/* 商店/分类页顶部标题区压缩（原占屏 1/4 太空） */
body.archive .entry-header,
body.woocommerce-archive .entry-header,
.ct-archive-title-wrapper{
  padding-top:34px !important; padding-bottom:34px !important;
}
/* Blocksy 给 hero 区设了 min-height:250px，压掉 */
.hero-section .entry-header{
  min-height:0 !important;
  padding-top:36px !important; padding-bottom:36px !important;
}
body.archive .entry-header .ct-breadcrumbs{ margin-bottom:8px !important; }

/* 产品图加载占位（懒加载空档不突兀） */
ul.products li.product img{ background:#F1E9DD; }

/* 分类卡遮罩 —— 只压底部，保持图片明亮通透 */
.bs-cat::after{
  background:linear-gradient(180deg,rgba(35,32,28,0) 38%,rgba(35,32,28,.30) 68%,rgba(35,32,28,.78) 100%);
}
.bs-cat-body h3{ text-shadow:0 1px 8px rgba(35,32,28,.35); }
.bs-cat-body p{ text-shadow:0 1px 6px rgba(35,32,28,.35); }

/* 结算/购物车页表单更聚焦 */
.woocommerce-checkout form.checkout,
.wc-block-checkout{ background:#fff; border:1px solid #EFE9DF; border-radius:16px; padding:28px; }
@media (max-width:768px){
  .woocommerce-checkout form.checkout, .wc-block-checkout{ padding:18px; }
}

/* ===== 响应式 ===== */
@media (max-width:1000px){
  .bs-trust-grid{ grid-template-columns:repeat(2,1fr); }
  .bs-why{ grid-template-columns:repeat(2,1fr); }
  .bs-cats{ grid-template-columns:1fr; }
  .bs-cat{ height:260px; }
  .bs-strip{ grid-template-columns:1fr 1fr; }
  .bs-strip a:first-child{ grid-column:1 / -1; height:260px; }
  .bs-strip a{ height:200px; }
}
@media (max-width:560px){
  .bs-strip{ grid-template-columns:1fr; }
  .bs-strip a{ height:220px; }
}
@media (max-width:900px){
  .bs-hero-grid{ grid-template-columns:1fr; gap:34px; }
  .bs-hero-badge{ left:14px; bottom:14px; }
  .bs-steps{ grid-template-columns:1fr; }
  .p-hero-grid{ grid-template-columns:1fr; }
  .p-3col{ grid-template-columns:1fr; }
  .p-2col{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .bs-sec{ padding:44px 0; }
  .bs-trust-grid{ grid-template-columns:1fr; }
  .bs-why{ grid-template-columns:1fr; }
  .bs-hero-cta .bs-btn, .bs-hero-cta .bs-btn-ghost{ width:100%; text-align:center; }
}
