/* jadehotan.com - 规格文档风格 jade 主题
   主色 Jade Green #2E5E4E，辅色 Gold #C8A35B，背景 #FAF8F3，文字 #1A1A1A */
:root{
  --jade:#2E5E4E;
  --jade-d:#234A3A;
  --jade-l:#4A8A75;
  --gold:#C8A35B;
  --gold-d:#A88A4B;
  --bg:#FAF8F3;
  --card:#FFFFFF;
  --ink:#1A1A1A;
  --mut:#6E6E6E;
  --bd:#E5E1D2;
  --warn:#B3261E;
  --ok:#1C7C43;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Inter","PingFang SC","Microsoft YaHei","Segoe UI",Roboto,sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--jade);text-decoration:none;transition:color .15s}
a:hover{color:var(--jade-d)}

/* ============ Header ============ */
.site-header{
  background:var(--card);border-bottom:1px solid var(--bd);
  position:sticky;top:0;z-index:50;
  padding:14px 24px;
  display:flex;align-items:center;gap:24px;
  flex-wrap:wrap;
}
.site-header .brand{
  font-family:"Playfair Display",Georgia,serif;
  font-size:22px;font-weight:700;color:var(--jade);
  display:flex;align-items:center;gap:8px;
}
.site-header .brand small{font-size:11px;color:var(--mut);font-weight:400}
.site-nav{flex:1;display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.site-nav a{color:var(--ink);font-size:14px;font-weight:500;padding:6px 10px;border-radius:6px}
.site-nav a:hover{background:var(--bg);color:var(--jade)}
.site-nav a.active{background:var(--jade);color:#fff}
.lang-switcher{display:flex;gap:6px}
.lang-switcher button{
  border:1px solid var(--bd);background:#fff;
  padding:6px 12px;border-radius:6px;
  font-size:13px;cursor:pointer;
}
.lang-switcher button.active{background:var(--jade);color:#fff;border-color:var(--jade)}

/* ============ Hero ============ */
.hero{
  position:relative;
  background:linear-gradient(180deg,rgba(250,248,243,.85) 0%,rgba(250,248,243,.95) 100%),
    url('../images/sample-white-jade-bamboo-bg.jpg') center/cover;
  padding:80px 24px 60px;
  text-align:center;
}
.hero h1{
  font-family:"Playfair Display",Georgia,serif;
  font-size:48px;font-weight:700;color:var(--jade);
  margin-bottom:14px;letter-spacing:.02em;
}
.hero .sub-title{
  font-size:20px;color:var(--jade-d);font-weight:500;
  margin-bottom:8px;
}
.hero p.tagline{
  font-size:16px;color:var(--mut);
  max-width:680px;margin:0 auto 30px;
}
.hero .cta-group{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{
  display:inline-block;padding:14px 32px;
  border-radius:8px;font-size:15px;font-weight:600;
  text-decoration:none;cursor:pointer;
  border:0;transition:all .15s;
}
.btn-primary{background:var(--jade);color:#fff}
.btn-primary:hover{background:var(--jade-d);color:#fff;transform:translateY(-1px)}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:var(--gold-d);color:#fff;transform:translateY(-1px)}
.btn-ghost{background:transparent;border:1px solid var(--jade);color:var(--jade)}
.btn-ghost:hover{background:var(--jade);color:#fff}
.btn-sm{padding:8px 18px;font-size:13px}

/* ============ Trust Bar ============ */
.trust-bar{
  background:var(--card);
  border-top:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  padding:20px 24px;
}
.trust-grid{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  text-align:center;
}
@media(max-width:768px){.trust-grid{grid-template-columns:repeat(2,1fr)}}
.trust-item .icon{font-size:28px;margin-bottom:6px}
.trust-item h4{font-size:14px;color:var(--jade);font-weight:600;margin-bottom:2px}
.trust-item p{font-size:12px;color:var(--mut)}

/* ============ Section 通用 ============ */
.section{padding:60px 24px}
.wrap{max-width:1180px;margin:0 auto}
.sec-title{
  font-family:"Playfair Display",Georgia,serif;
  font-size:32px;color:var(--jade);
  text-align:center;margin-bottom:8px;font-weight:700;
}
.sec-sub{
  text-align:center;color:var(--mut);
  margin-bottom:36px;font-size:14px;
}

/* ============ 产品网格 ============ */
.prod-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
@media(max-width:880px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.prod-grid{grid-template-columns:1fr}}
.prod-card{
  background:var(--card);
  border:1px solid var(--bd);
  border-radius:14px;overflow:hidden;
  transition:transform .15s,box-shadow .15s;
  cursor:pointer;
}
.prod-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(46,94,78,.12)}
.prod-card .img-wrap{
  aspect-ratio:1/1;background:#F1ECE0;
  background-size:cover;background-position:center;
  position:relative;
}
.prod-card .badge{
  position:absolute;top:12px;left:12px;
  background:var(--gold);color:#fff;
  font-size:11px;padding:4px 10px;border-radius:20px;
  font-weight:600;
}
.prod-card .badge.jade{background:var(--jade)}
.prod-card .body{padding:18px}
.prod-card h3{
  font-family:"Playfair Display",serif;
  font-size:18px;color:var(--ink);margin-bottom:6px;
}
.prod-card .meaning{font-size:12px;color:var(--jade);font-weight:500;margin-bottom:8px}
.prod-card .price{font-size:20px;color:var(--gold-d);font-weight:700}
.prod-card .price small{font-size:12px;color:var(--mut);font-weight:400;margin-left:4px}

/* ============ 寓意分类 ============ */
.meaning-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
@media(max-width:880px){.meaning-grid{grid-template-columns:repeat(2,1fr)}}
.meaning-card{
  background:var(--card);
  border:1px solid var(--bd);
  border-radius:14px;padding:30px 18px;
  text-align:center;cursor:pointer;
  transition:all .15s;
}
.meaning-card:hover{
  background:var(--jade);color:#fff;border-color:var(--jade);
  transform:translateY(-3px);
}
.meaning-card .icon{font-size:36px;margin-bottom:12px}
.meaning-card h4{font-size:16px;font-weight:600;margin-bottom:4px;font-family:"Playfair Display",serif}
.meaning-card p{font-size:12px;color:var(--mut)}
.meaning-card:hover p{color:rgba(255,255,255,.85)}

/* ============ 商品详情 ============ */
.detail-hero{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;
  margin-bottom:48px;
}
@media(max-width:880px){.detail-hero{grid-template-columns:1fr}}
.detail-gallery .main-img{
  aspect-ratio:1/1;background:#F1ECE0;
  background-size:cover;background-position:center;
  border-radius:14px;border:1px solid var(--bd);
  position:relative;overflow:hidden;
}
.detail-gallery .thumbs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;
}
.detail-gallery .thumbs div{
  aspect-ratio:1/1;background:#F1ECE0;
  background-size:cover;background-position:center;
  border-radius:8px;border:1px solid var(--bd);cursor:pointer;
  opacity:.7;transition:opacity .15s;
}
.detail-gallery .thumbs div:hover,.detail-gallery .thumbs div.active{opacity:1;border-color:var(--jade)}
.detail-info h1{
  font-family:"Playfair Display",serif;
  font-size:32px;line-height:1.2;color:var(--ink);margin-bottom:8px;
}
.detail-info .meaning{color:var(--jade);font-size:14px;font-weight:500;margin-bottom:14px}
.detail-info .price-row{
  display:flex;align-items:baseline;gap:14px;margin:20px 0;
  padding:18px 0;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);
}
.detail-info .price{
  font-size:36px;color:var(--gold-d);font-weight:700;
  font-family:"Playfair Display",serif;
}
.detail-info .price small{font-size:13px;color:var(--mut);font-weight:400}
.detail-info .treatment{
  background:#FAF8F3;padding:8px 14px;border-radius:6px;
  font-size:12px;color:var(--mut);margin-left:auto;
}
.bullets{margin:20px 0;list-style:none;padding:0}
.bullets li{
  padding:10px 0;border-bottom:1px solid var(--bd);
  font-size:14px;color:var(--ink);
}
.bullets li strong{
  color:var(--jade);font-weight:600;
  display:block;font-size:13px;text-transform:uppercase;letter-spacing:.05em;
  margin-bottom:4px;
}
.cert-block{
  background:#FAF8F3;border:1px solid var(--bd);
  border-radius:12px;padding:18px;margin:20px 0;
}
.cert-block h4{
  font-size:14px;color:var(--jade);font-weight:600;
  margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em;
}
.cert-block p{font-size:12px;color:var(--mut);margin:0}
.options{margin:20px 0}
.options h4{
  font-size:13px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--jade);margin-bottom:10px;
}
.options .chips{display:flex;gap:8px;flex-wrap:wrap}
.options .chip{
  padding:8px 16px;border:1px solid var(--bd);border-radius:8px;
  background:#fff;cursor:pointer;font-size:13px;
}
.options .chip.active{background:var(--jade);color:#fff;border-color:var(--jade)}
.buy-row{
  display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;
}
.buy-row .btn{flex:1;min-width:140px}

/* ============ 微信/支付宝弹窗 ============ */
.pay-modal-bg{
  position:fixed;inset:0;background:rgba(0,0,0,.5);
  display:none;align-items:center;justify-content:center;z-index:100;
}
.pay-modal-bg.show{display:flex}
.pay-modal{
  background:var(--card);border-radius:18px;
  padding:36px;max-width:440px;width:90%;
  text-align:center;position:relative;
}
.pay-modal h3{
  font-family:"Playfair Display",serif;
  font-size:22px;color:var(--jade);margin-bottom:18px;
}
.pay-modal .qr-img{
  width:280px;height:280px;margin:0 auto 14px;
  background:#fff;border:1px solid var(--bd);
  border-radius:12px;display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.pay-modal .qr-img img{width:100%;height:100%;object-fit:contain}
.pay-modal .pay-info{
  background:#FAF8F3;padding:14px;border-radius:8px;
  margin:14px 0;font-size:14px;color:var(--ink);
  text-align:left;
}
.pay-modal .pay-info strong{color:var(--jade)}
.pay-modal .close{
  position:absolute;top:14px;right:14px;
  background:transparent;border:0;font-size:24px;
  cursor:pointer;color:var(--mut);
}
.pay-modal .tabs{display:flex;gap:6px;margin-bottom:14px}
.pay-modal .tabs button{
  flex:1;padding:10px;border:1px solid var(--bd);
  background:#fff;cursor:pointer;font-size:13px;border-radius:6px;
}
.pay-modal .tabs button.active{background:var(--jade);color:#fff;border-color:var(--jade)}

/* ============ Footer ============ */
.site-footer{
  background:var(--jade-d);color:#FAF8F3;
  padding:50px 24px 30px;margin-top:60px;
}
.site-footer .row{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:30px;
}
@media(max-width:880px){.site-footer .row{grid-template-columns:repeat(2,1fr)}}
.site-footer h5{
  color:#C8A35B;font-size:14px;
  margin-bottom:14px;text-transform:uppercase;letter-spacing:.06em;
}
.site-footer p,.site-footer a{color:#D8D2C0;font-size:13px;line-height:1.7}
.site-footer a:hover{color:#fff}
.site-footer .bottom{
  border-top:1px solid rgba(255,255,255,.15);
  margin-top:30px;padding-top:18px;
  text-align:center;font-size:12px;color:#9FA095;
}