/* 珠宝线：壳层跟随官网（近黑 + 银灰），内容模块用香槟金点缀区分气质 */

body.jewelry{
  --accent:var(--gold);
  --accent-dim:var(--gold-dim);
  --ff-display-jewelry:var(--ff-display);
}

/* 标题用衬线，壳层字体不变 */
body.jewelry .page-hero h1,
body.jewelry .sec-title,
body.jewelry .c4 h3,
body.jewelry .swatch b,
body.jewelry .shape b,
body.jewelry .gal-item h3,
body.jewelry .cert h4,
body.jewelry .lede{
  font-family:var(--ff-display-jewelry);font-weight:600;letter-spacing:.01em;
  font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1,"onum" 0;
}
body.jewelry .page-hero h1{font-weight:700}
body.jewelry .c4 .letter,body.jewelry .swatch b,body.jewelry .shape b{
  font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1,"onum" 0;
}

/* 内容点缀：香槟金仅用于珠宝模块，不改壳层主交互色 */
body.jewelry .c4 .letter{color:rgba(200,164,99,.32)}
body.jewelry .c4 .rangev,
body.jewelry .carat-item b,
body.jewelry .shape .fig,
body.jewelry .cert b,
body.jewelry .gal-item .meta span{
  color:var(--accent);
}
body.jewelry .carat-item .gem{background:linear-gradient(135deg,#e0c690 0%,#c8a463 55%,#a8863f 100%);opacity:.85}
body.jewelry .page-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:radial-gradient(ellipse 60% 70% at 78% 30%,rgba(200,164,99,.12),transparent 70%);
}

.gold-rule{height:1px;background:linear-gradient(90deg,transparent,var(--accent,#c8a463),transparent);opacity:.5;margin:0}

.jewelry-tabs{border-top:1px solid rgba(200,164,99,.28)}
.jewelry-tab-list{
  display:flex;align-items:stretch;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;
  position:sticky;top:70px;z-index:40;background:rgba(10,14,20,.94);backdrop-filter:blur(16px);
}
.jewelry-tab-list::-webkit-scrollbar{display:none}
.jewelry-tab{
  min-width:180px;padding:18px 24px;border-right:1px solid var(--line);border-bottom:2px solid transparent;
  color:var(--text-soft);font:600 15px/1.2 var(--ff-display);cursor:pointer;text-align:left;
  transition:color .25s,background .25s,border-color .25s;
}
a.jewelry-tab{display:block;text-decoration:none;box-sizing:border-box;background:transparent}
.jewelry-tab span{display:inline-block;margin-right:14px;color:var(--text-dim);font:500 11px var(--ff-mono)}
.jewelry-tab:hover{color:#fff;background:rgba(255,255,255,.025)}
.jewelry-tab.on{color:#fff;border-bottom-color:var(--accent);background:rgba(200,164,99,.07)}
.jewelry-tab.on span{color:var(--accent)}
.jewelry-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.jewelry-tab-panel{padding-top:42px}
.jewelry-tab-panel[hidden]{display:none}
.finished-gallery .gal-item .pic{background:#080808}
.finished-gallery .gal-item .pic img{filter:saturate(.9) contrast(1.03);transition:transform .45s}
.finished-gallery .gal-item:hover .pic img{transform:scale(1.025)}

.c4-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.c4{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
  padding:36px 30px;position:relative;transition:border-color .35s,transform .35s;
}
.c4:hover{border-color:var(--line-strong);transform:translateY(-5px)}
.c4 .letter{
  font-family:var(--ff-display-jewelry,var(--ff-display));font-size:56px;line-height:1;color:rgba(201,205,210,.28);
}
.c4 h3{font-size:19px;margin:12px 0 12px}
.c4 p{font-size:14px;color:var(--text-soft);line-height:1.85}
.c4 .rangev{margin-top:18px;font-family:var(--ff-mono);font-size:12.5px;color:var(--cyan);letter-spacing:.04em}

.carat-scale{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:44px 40px;
}
.carat-row{display:flex;align-items:flex-end;gap:clamp(14px,3vw,40px);justify-content:space-between}
.carat-item{text-align:center;flex:1}
.carat-item .gem{
  margin:0 auto 18px;background:var(--cyan);opacity:.85;
  clip-path:polygon(50% 0,100% 38%,50% 100%,0 38%);
  transition:transform .35s,opacity .35s;
}
.carat-item:hover .gem{transform:translateY(-6px) scale(1.06);opacity:1}
.carat-item b{display:block;font-family:var(--ff-mono);font-size:15px;color:var(--text)}
.carat-item span{display:block;font-size:12px;color:var(--text-dim);margin-top:7px}

.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px}
.swatch{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
  padding:26px 24px;text-align:center;transition:border-color .3s,transform .3s;
}
.swatch:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.swatch .chip{
  width:62px;height:62px;border-radius:50%;margin:0 auto 20px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 8px 22px -8px rgba(0,0,0,.6);
}
.swatch b{display:block;font-size:18px}
.swatch span{display:block;font-size:12px;color:var(--text-dim);margin-top:8px;line-height:1.7}

.shape-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.shape{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
  padding:34px 24px;text-align:center;transition:border-color .3s,transform .3s;
}
.shape:hover{border-color:var(--cyan);transform:translateY(-5px)}
.shape .fig{width:66px;height:66px;margin:0 auto 20px;color:var(--cyan);opacity:.85}
.shape .fig svg{width:100%;height:100%}
.shape b{display:block;font-size:19px}
.shape span{display:block;font-size:12px;color:var(--text-dim);margin-top:8px}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gal-item{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);
  transition:transform .35s,border-color .35s;
}
.gal-item:hover{transform:translateY(-6px);border-color:var(--line-strong)}
.gal-item.is-disabled{cursor:default}
.gal-item.is-disabled:hover{transform:none;border-color:var(--line)}
.gal-item .pic{
  aspect-ratio:1;background:var(--grad-dark);display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid var(--line);position:relative;
}
.gal-item .pic img{width:100%;height:100%;object-fit:cover}
.gal-item .pic .ph{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-dim)}
.gal-item .pic .ph svg{width:34px;height:34px;opacity:.4}
.gal-item .pic .ph span{font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em}
.gal-item .bd{padding:22px 24px}
.gal-item h3{font-size:18px;margin-bottom:8px}
.gal-item p{font-size:13px;color:var(--text-soft);line-height:1.8}
.gal-item .meta{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.gal-item .meta span{
  font-family:var(--ff-mono);font-size:11px;padding:4px 10px;border-radius:3px;
  border:1px solid var(--line-strong);color:var(--text-soft);
}

.cert-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cert{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:32px 30px;
}
.cert b{display:block;font-family:var(--ff-mono);font-size:19px;color:var(--cyan);letter-spacing:.06em}
.cert h4{font-size:16px;margin:12px 0 10px}
.cert p{font-size:13.5px;color:var(--text-soft);line-height:1.85}

@media (max-width:1024px){
  .c4-grid,.shape-grid{grid-template-columns:repeat(2,1fr)}
  .gallery,.cert-row{grid-template-columns:repeat(2,1fr)}
}
.finished-gallery .gal-item--selectable{cursor:pointer}
.finished-gallery .gal-item.is-picked{
  border-color:var(--accent);
  box-shadow:inset 0 0 0 1px var(--accent);
  transform:none;
}
.gal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.gal-action{
  display:inline-flex;align-items:center;padding:7px 12px;
  border:1px solid var(--line-strong);border-radius:2px;
  font:600 12px/1.2 var(--ff-display);color:var(--text-soft);
}
.gal-action:hover{color:#fff;border-color:var(--accent)}
.gal-action-pick{background:var(--accent);border-color:var(--accent);color:#141414}
.gal-action-pick:hover{color:#141414;background:#ffd15a}

.jd-brief-lead{
  margin:28px 0 0;color:var(--text-soft);font-size:14px;line-height:1.8;
}
.jd-brief{
  position:relative;
  margin-top:28px;
  border:1px solid rgba(200,164,99,.28);
  background:linear-gradient(180deg,rgba(200,164,99,.06),transparent 120px),var(--surface);
  padding:32px 28px 36px;
}
.jd-brief-head h3{
  font-family:var(--ff-display-jewelry);font-size:clamp(22px,2.4vw,30px);font-weight:600;margin-bottom:10px;
}
.jd-brief-head p{max-width:46em;color:var(--text-soft);font-size:14px;line-height:1.85}
.jd-brief-contact{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;
  margin-top:22px;padding:16px 0 4px 18px;
  border-left:3px solid var(--accent);
}
.jd-brief-contact-copy p{margin:0 0 10px;color:var(--text-soft);font-size:13.5px;line-height:1.8;max-width:42em}
.jd-brief-contact-copy ul{margin:0 0 10px;padding:0;list-style:none;display:grid;gap:6px}
.jd-brief-contact-copy li{color:var(--text);font-size:14px;line-height:1.55}
.jd-brief-contact-copy a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent}
.jd-brief-contact-copy a:hover{border-bottom-color:var(--accent)}
.jd-brief-qr{display:flex;gap:16px;align-items:flex-start}
.jd-brief-qr figure{margin:0;text-align:center}
.jd-brief-qr img{display:block;width:88px;height:88px;background:#fff;padding:4px}
.jd-brief-qr figcaption{margin-top:6px;color:var(--text-dim);font-size:12px}
.jd-guestbook-host{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.jd-brief-picked{
  display:flex;align-items:center;gap:14px;margin:22px 0 0;padding:12px 14px;
  border:1px dashed var(--line-strong);color:var(--text-soft);font-size:13.5px;
}
.jd-brief-picked.is-on{border-style:solid;border-color:rgba(200,164,99,.45);color:var(--text)}
.jd-brief-picked img{width:44px;height:44px;object-fit:cover;flex:none;background:#080808}
.jd-brief-steps{
  display:grid;grid-template-columns:repeat(4,1fr);margin:28px 0 0;border-bottom:1px solid var(--line);
}
.jd-brief-step{
  padding:14px 10px 12px;text-align:left;color:var(--text-dim);cursor:pointer;
  border-bottom:2px solid transparent;font:600 14px/1.25 var(--ff-display);
}
.jd-brief-step b{display:block;font:500 11px var(--ff-mono);color:var(--text-dim);margin-bottom:4px}
.jd-brief-step:hover{color:#fff}
.jd-brief-step.on{color:#fff;border-bottom-color:var(--accent);background:rgba(200,164,99,.07)}
.jd-brief-step.on b{color:var(--accent)}
.jd-brief-step:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.jd-brief-form{margin-top:28px}
.jd-pane[hidden]{display:none}
.jd-pane-note{margin:0 0 18px;color:var(--text-soft);font-size:13.5px;line-height:1.8}
.jd-group{margin:0 0 22px}
.jd-group h4{font-size:15px;font-weight:600;margin:0 0 10px}
.jd-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.jd-chip{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;
  border:1px solid var(--line-strong);color:var(--text-soft);font-size:13px;line-height:1.3;
}
.jd-chip input{accent-color:var(--accent)}
.jd-chip:has(:checked){border-color:var(--accent);color:#fff;background:rgba(200,164,99,.1)}
.jd-chip small{color:var(--text-dim);font-size:11px}
.jd-extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.jd-extra[hidden]{display:none}
.jd-field{display:flex;flex-direction:column;gap:6px}
.jd-field[hidden]{display:none}
.jd-field.span-2{grid-column:1 / -1}
.jd-field span{font-size:13px;color:var(--text-soft)}
.jd-field input[type="text"],
.jd-field input[type="tel"],
.jd-field input[type="file"],
.jd-field textarea{
  width:100%;padding:11px 12px;border:1px solid var(--line-strong);background:rgba(0,0,0,.22);
  color:var(--text);font-size:14px;
}
.jd-field input:focus,
.jd-field textarea:focus{border-color:var(--accent)}
.jd-field textarea{min-height:110px;resize:vertical}
.jd-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.jd-brief-result{
  margin-top:22px;padding:18px;border:1px solid rgba(200,164,99,.35);background:rgba(0,0,0,.18);
  white-space:pre-wrap;font-size:13.5px;line-height:1.75;color:var(--text);
}
.jd-brief-result[hidden]{display:none}
.jd-brief-status{
  margin-top:16px;padding:12px 14px;font-size:14px;line-height:1.7;
  border:1px solid var(--line-strong);color:var(--text);
}
.jd-brief-status[hidden]{display:none}
.jd-brief-status.is-ok{border-color:rgba(200,164,99,.5);color:#ead7ae}
.jd-brief-status.is-err{border-color:rgba(196,92,92,.55);color:#f0c4c4}
.jd-field.is-need span::after{content:" *";color:var(--accent)}

@media (max-width:768px){
  .c4-grid,.shape-grid,.gallery,.cert-row{grid-template-columns:1fr}
  .carat-scale{padding:30px 22px}
  .carat-row{flex-wrap:wrap;gap:24px}
  .carat-item{flex:0 0 40%}
  .jewelry-tab{min-width:145px;padding:16px 18px}
  .jewelry-tab-panel{padding-top:32px}
  .jd-brief{padding:24px 16px 28px}
  .jd-brief-steps{grid-template-columns:repeat(2,1fr)}
  .jd-extra{grid-template-columns:1fr}
  .jd-brief-contact{grid-template-columns:1fr;padding-left:14px}
}
