
:root{--ink:#0b0b0c;--ink2:#131316;--paper:#f5f2ea;--paper2:#e9e4d8;--red:#d8402c;--red-l:#ff5c43;
--muted:rgba(245,242,234,.58);--muted-d:#6d6558;--line:rgba(245,242,234,.16);--line-d:rgba(11,11,12,.14);
--serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",-apple-system,"Segoe UI",sans-serif;--pad:clamp(1.15rem,3.6vw,4.2rem)}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font:400 15.5px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
.wrap{max-width:1520px;margin:0 auto;padding:0 var(--pad)}
.lbl{font:600 9.5px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.lbl--red{color:var(--red-l)}.lbl--dark{color:var(--muted-d)}
/* header */
.hdr{position:sticky;top:0;z-index:60;background:rgba(11,11,12,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:1.6rem;padding:1rem var(--pad);max-width:1520px;margin:0 auto}
.logo{font:500 1rem/1 var(--serif);letter-spacing:.34em;text-transform:uppercase}
.logo i{font-style:normal;font-size:.46em;letter-spacing:.3em;vertical-align:super;color:var(--red-l);margin-left:.35em}
.nav__links{display:flex;gap:1.4rem;margin-left:auto}
.nav__links a{font:600 9.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(245,242,234,.7)}
.nav__links a:hover{color:var(--red-l)}
.nav__cta{font:600 9.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--line);padding:.6rem .9rem}
.cbanner{position:relative;height:clamp(140px,20vw,260px);overflow:hidden;border-bottom:1px solid var(--line)}
.cbanner__im{position:absolute;inset:0}
.cbanner__im img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(.92) contrast(1.02)}
.cbanner__im img{object-fit:cover;object-position:50% 40%}
.cbanner__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,12,.88),rgba(11,11,12,.28) 60%,rgba(11,11,12,.72)),linear-gradient(180deg,rgba(11,11,12,.25),rgba(11,11,12,.62))}
/* category head */
.chead{padding:clamp(2.2rem,5vw,4rem) 0 clamp(1.4rem,2.6vw,2rem);border-bottom:1px solid var(--line)}
.crumb{display:flex;gap:.5rem;font:600 8.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.chead h1{font:300 clamp(2.2rem,4.6vw,4rem)/1.02 var(--serif);letter-spacing:-.02em;margin:1rem 0 0}
.chead .sub{color:rgba(245,242,234,.7);margin:.7rem 0 0;max-width:56ch}
.chip{display:inline-block;border:1px solid var(--line);padding:.42rem .7rem;font:600 8.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--red-l);margin-bottom:1rem}
/* answer block */
.answer{border-bottom:1px solid var(--line);padding:clamp(1.6rem,3vw,2.4rem) 0;background:var(--ink2)}
.answer h2{font:400 clamp(1.1rem,1.6vw,1.35rem)/1.3 var(--serif);margin:0 0 .6rem}
.answer p{margin:0;max-width:88ch;color:rgba(245,242,234,.74);font-size:.92rem}
.shortans{margin-top:1.6rem;border-left:2px solid var(--red);padding-left:1rem;max-width:92ch}
.shortans .sa-t{margin:.5rem 0 0;color:rgba(245,242,234,.84);font-size:.95rem}
.shortans .sa-d{margin:.7rem 0 0;font:600 8.5px/1.6 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.sgrid{min-width:0}
.nav__links{display:flex;gap:1.05rem;flex-wrap:wrap;justify-content:flex-end}
.nav__links a{font-size:9px;letter-spacing:.15em}
@media(max-width:1000px){.nav__links{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;max-width:70vw}.nav__links::-webkit-scrollbar{display:none}}
.navdrop{display:none;position:relative}
.nav__cta{flex:0 0 auto}
.navdrop summary{cursor:pointer;list-style:none;font:600 9px/1 var(--sans);letter-spacing:.18em;color:var(--paper);padding:.35rem 0}
.navdrop summary::-webkit-details-marker{display:none}
.navdrop summary:after{content:" ▾"}
.navdrop__in{position:absolute;right:0;top:1.5rem;background:var(--ink);border:1px solid var(--line);padding:.9rem 1rem;display:grid;grid-template-columns:1fr 1fr;gap:.45rem 1.6rem;z-index:95;min-width:330px}
.navdrop__in a{font:600 9px/1.6 var(--sans);letter-spacing:.14em;color:rgba(245,242,234,.82);text-decoration:none}
.navdrop__in a:hover{color:var(--red-l)}
@media(max-width:1560px){.nav__links{display:none}.navdrop{display:block}.nav{{gap:1rem}}}
/* layout */
.pg{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(1.4rem,3vw,2.8rem);padding:clamp(1.6rem,3vw,2.6rem) clamp(1rem,2.4vw,2.5rem) clamp(3rem,6vw,5rem);align-items:start}
.side{position:sticky;top:5.2rem}
.side section{margin-bottom:1.6rem;border-top:1px solid var(--line);padding-top:.9rem}
.side h3{font:600 8.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0 0 .8rem}
.range{display:flex;justify-content:space-between;font:400 .95rem/1 var(--serif);color:var(--paper);margin-bottom:.7rem}
.bar{height:2px;background:rgba(245,242,234,.18);position:relative;margin:.2rem 0 1rem}
.bar i{position:absolute;inset:0 auto 0 0;width:100%;background:var(--red)}
.side ul{list-style:none;margin:0;padding:0}
.side li a,.side li label{display:flex;justify-content:space-between;gap:.55rem;align-items:center;padding:.42rem 0;font-size:.86rem;color:rgba(245,242,234,.8);cursor:pointer}
.side li a:hover,.side li label:hover{color:var(--red-l)}
.side li b{font:600 9px/1 var(--sans);letter-spacing:.1em;color:var(--muted)}
.side input[type=checkbox]{accent-color:var(--red);width:12px;height:12px;margin:0;flex:0 0 auto}
.side li label span,.side li a span{flex:1 1 auto;min-width:0}
.side li.on a{color:var(--ink);background:var(--paper);padding:.42rem .6rem;margin:0 -.6rem}
/* results bar */
.rbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.9rem;margin-bottom:1.2rem}
.rbar .n{font:600 9px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
select{background:transparent;color:var(--paper);border:1px solid var(--line);padding:.55rem .7rem;font:600 9px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
select option{background:var(--ink)}
/* grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.card{background:var(--ink2);border:1px solid rgba(245,242,234,.09);display:block;transition:border-color .35s}
.card:hover{border-color:rgba(245,242,234,.4)}
.card .im{position:relative;aspect-ratio:1;background:#fbfaf7;padding:9%;overflow:hidden}
.card .im img{width:100%;height:100%;object-fit:contain;transition:transform 1s cubic-bezier(.19,1,.22,1)}
.card:hover .im img{transform:scale(1.04)}
.card .tag{position:absolute;top:0;left:0;background:var(--red);color:#fff;font:600 8px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:.4rem .5rem;z-index:2}
.card .info{padding:.7rem .75rem .85rem;border-top:1px solid rgba(245,242,234,.12)}
.card .row{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}
.card h3{font:400 .98rem/1.25 var(--serif);margin:0}
.card .price{font:400 .95rem/1 var(--serif);color:var(--red-l);white-space:nowrap}
.card .meta{margin:.3rem 0 0;font:600 7.5px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
/* pager */
.pager{display:flex;gap:.4rem;justify-content:center;margin-top:2rem}
.pager a,.pager span{border:1px solid var(--line);padding:.55rem .8rem;font:600 9px/1 var(--sans);letter-spacing:.16em}
.pager .on{background:var(--paper);color:var(--ink);border-color:var(--paper)}
/* related */
.rel{border-top:1px solid var(--line);padding:clamp(2rem,4vw,3rem) 0}
.rel ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem 2rem}
.rel li{display:flex;justify-content:space-between;border-bottom:1px solid rgba(245,242,234,.1);padding:.55rem 0;font-size:.9rem}
.rel li span{color:var(--muted)}
/* cta */
.cta{background:var(--red);color:#fff;padding:clamp(1.8rem,3.4vw,2.8rem);margin:0 0 clamp(2rem,4vw,3rem);
display:grid;grid-template-columns:1.2fr .8fr;gap:1.4rem;align-items:center}
.cta h2{font:300 clamp(1.4rem,2.4vw,2.1rem)/1.1 var(--serif);margin:0}
.cta p{margin:.5rem 0 0;font-size:.9rem;color:rgba(255,255,255,.88)}
.cta form{display:flex;gap:.5rem}
.cta input{flex:1;border:0;padding:.85rem 1rem;font:400 .85rem var(--sans)}
.cta button{background:var(--ink);color:#fff;border:0;padding:.85rem 1.2rem;font:600 9px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
/* footer */
.ft{border-top:1px solid var(--line);padding:2.4rem 0 1.6rem;margin-top:1rem}
.ft .mark{font:300 clamp(1.6rem,5.6vw,3.6rem)/.9 var(--serif);letter-spacing:.05em;text-transform:uppercase}
.ft .mark i{font-style:normal;color:var(--red-l)}
.ft .row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:1rem;font:600 8px/1.8 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
@media(max-width:1100px){.grid{grid-template-columns:repeat(3,1fr)}.pg{grid-template-columns:1fr}.side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}}
@media(max-width:760px){.grid{grid-template-columns:1fr 1fr}.cta{grid-template-columns:1fr}.rel ul{grid-template-columns:1fr}.nav__links{display:none}}
@media(max-width:480px){.grid{grid-template-columns:1fr}}

.pdp{padding:clamp(1.4rem,2.6vw,2.2rem) clamp(1rem,2.4vw,2.5rem) clamp(3rem,6vw,5rem)}
.pdp__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.4rem,3vw,2.8rem);align-items:start}
.gal{position:sticky;top:76px}
.gal__main{height:clamp(340px,58vh,620px);display:flex;align-items:center;justify-content:center;background:#fbfaf7;border:1px solid var(--line);position:relative;overflow:hidden}
.gal__main img{max-height:100%;width:100%;height:100%;object-fit:contain;padding:5%}
.gal__count{position:absolute;right:.7rem;bottom:.7rem;font:600 9px/1 var(--sans);letter-spacing:.14em;color:#111;background:#fff;border:1px solid #e7e2d8;padding:.35rem .5rem}
.gal__thumbs{display:flex;gap:.4rem;overflow-x:auto;margin-top:.5rem;padding-bottom:.35rem;scrollbar-width:thin}
.gal__thumbs .t{flex:0 0 auto;width:56px;height:56px;padding:0;border:1px solid var(--line);background:#fbfaf7}
.gal__thumbs .t.on{border-color:var(--red-l)}
.gal__thumbs img{width:100%;height:100%;object-fit:cover}
.buy__fact{font:600 9px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--red-l)}
.buy{position:sticky;top:76px}
.buyans{margin-top:1.3rem;border-top:1px solid var(--line);padding-top:1rem}
.buyans .sa-t{margin:.5rem 0 0;font-size:.86rem;line-height:1.6;color:rgba(245,242,234,.8)}
.buyans .sa-d{margin:.55rem 0 0;font:600 8px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.buyspecs{margin:1.2rem 0 0;border-top:1px solid var(--line)}
.buyspecs .br{display:grid;grid-template-columns:96px minmax(0,1fr);gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.buyspecs dt{font:600 8px/1.7 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.buyspecs dd{margin:0;font-size:.82rem;color:rgba(245,242,234,.86)}
.buytrust{list-style:none;padding:0;margin:1.1rem 0 0;border-top:1px solid var(--line)}
.buytrust li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.8rem;color:rgba(245,242,234,.72)}
.buytrust b{font:300 1.1rem/1 var(--serif);color:var(--paper)}
.buytrust a{color:var(--red-l);text-decoration:none}
.buy h1{font:300 clamp(1.6rem,2.6vw,2.3rem)/1.12 var(--serif);margin:.7rem 0 0}
.buy .ref{color:var(--muted);font-size:.9rem;margin:.4rem 0 0}
.buy .price{font:300 clamp(1.7rem,2.6vw,2.2rem)/1 var(--serif);margin:1rem 0 0}
.buy .usps{list-style:none;padding:0;margin:1.1rem 0 0;border-top:1px solid var(--line)}
.buy .usps li{display:flex;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.86rem;color:rgba(245,242,234,.8)}
.buycta{display:flex;gap:.55rem;margin-top:1.2rem;flex-wrap:wrap;background:none}
.buycta a{flex:1 1 0;text-align:center;display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.btn-p{background:var(--red);color:#fff;border:1px solid var(--red);padding:.85rem 1.15rem;font:600 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none}
.btn-s{background:transparent;color:var(--paper);border:1px solid rgba(245,242,234,.35);padding:.85rem 1.15rem;font:600 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none}
.specgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}
.specrow{display:grid;grid-template-columns:170px minmax(0,1fr);gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.88rem}
.specrow dt{color:var(--muted);font:600 9px/1.6 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.specrow dd{margin:0;text-align:left;color:rgba(245,242,234,.9)}
.frames{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.fr{margin:0;position:relative;background:#fbfaf7;aspect-ratio:1;overflow:hidden}
.fr.is-extra{display:none}
.fr.is-extra.on{display:block}
.more{margin-top:.9rem;background:none;border:1px solid rgba(245,242,234,.3);color:var(--paper);padding:.6rem 1rem;font:600 9px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.fr img{width:100%;height:100%;object-fit:cover}
.fr figcaption{position:absolute;left:.4rem;bottom:.4rem;font:600 8px/1 var(--sans);letter-spacing:.12em;color:#111;background:#fff;padding:.2rem .3rem}
.cmp{width:100%;max-width:70ch;border-collapse:collapse;font-size:.88rem;border-top:1px solid var(--line)}
.cmp td{padding:.5rem 0;border-bottom:1px solid var(--line)}
.cmp td.p{text-align:right;color:var(--red-l)}
.gal__cap{margin:.7rem 0 0;font-size:.76rem;line-height:1.6;color:var(--muted);max-width:52ch}
.gal__main{cursor:zoom-in}
.gal__zoom{position:absolute;right:.7rem;top:.7rem;font:600 8px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#111;background:#fff;border:1px solid #e7e2d8;padding:.3rem .45rem;opacity:0;transition:opacity .2s}
.gal__main:hover .gal__zoom{opacity:1}
.pack{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:1rem}
.pack__lbl{font:600 8.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.pack__opt{display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;border:1px solid var(--line);margin-bottom:.4rem;cursor:pointer;font-size:.85rem;color:rgba(245,242,234,.86)}
.pack__opt.on{border-color:var(--red-l);background:rgba(210,58,40,.08)}
.pack__opt input{accent-color:var(--red);margin:0}
.pack__opt span{flex:1}
.pack__opt b{font:600 9px/1 var(--sans);letter-spacing:.08em;color:var(--paper)}
.acc__opt{border-style:dashed}
.acc__opt input{border-radius:2px}
.pack__note{font-size:.74rem;color:var(--muted);margin-top:.3rem}
.reviews-empty{margin-top:.9rem;border:1px dashed rgba(245,242,234,.22);padding:1.1rem 1.2rem;max-width:80ch}
.reviews-empty p{margin:0;font-size:.86rem;color:rgba(245,242,234,.72)}
.reviews-empty a{display:inline-block;margin-top:.7rem;font:600 9px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red-l);text-decoration:none}
.morelink{margin-top:1rem;display:flex;gap:1.4rem;flex-wrap:wrap}
.morelink a{font:600 9px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red-l);text-decoration:none;border-bottom:1px solid rgba(210,58,40,.4);padding-bottom:.25rem}
.mini-actions{display:flex;gap:1rem;margin-top:.9rem}
.mini-actions a{font:600 8.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid rgba(245,242,234,.25);padding-bottom:.25rem}
.mini-actions a:hover{color:var(--red-l);border-color:var(--red-l)}
.checklist{list-style:none;padding:0;margin:.9rem 0 0;max-width:92ch}
.checklist li{display:grid;grid-template-columns:190px minmax(0,1fr);gap:1rem;padding:.7rem 0 .7rem .9rem;border-bottom:1px solid var(--line);border-left:2px solid var(--red);font-size:.86rem;color:rgba(245,242,234,.88)}
.checklist b{font:600 9px/1.7 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--paper)}
.relgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.relc{text-decoration:none;color:inherit;border:1px solid var(--line);background:var(--ink2)}
.relc__im{aspect-ratio:1;background:#fbfaf7}
.relc__im img{width:100%;height:100%;object-fit:contain;padding:8%}
.relc__b{padding:.6rem .65rem}
.relc__b span{display:block;font-size:.78rem;color:rgba(245,242,234,.75);line-height:1.35}
.relc__b b{display:block;margin-top:.25rem;font:300 1rem/1 var(--serif);color:var(--red-l)}
.mailband{background:var(--red);margin-top:clamp(2rem,4vw,3.4rem)}
.mailband__in{max-width:1280px;margin:0 auto;padding:clamp(1.6rem,3vw,2.6rem) clamp(1rem,2.4vw,2.5rem);display:flex;gap:2rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.mailband h2{font:300 clamp(1.4rem,2.4vw,2rem)/1.1 var(--serif);margin:.4rem 0 0;color:#fff}
.mailband .lead-s{color:rgba(255,255,255,.82);margin:.5rem 0 0}
.mailband .lbl--red{color:rgba(255,255,255,.72)}
.mailband__f{display:flex;gap:.5rem}
.mailband__f input{padding:.8rem 1rem;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:.85rem;min-width:220px}
.mailband__f input::placeholder{color:rgba(255,255,255,.75)}
.mailband__f button{padding:.8rem 1.2rem;background:#111;color:#fff;border:1px solid #111;font:600 9px/1 var(--sans);letter-spacing:.16em;cursor:pointer}
.lb{position:fixed;inset:0;background:rgba(5,5,6,.94);display:none;align-items:center;justify-content:center;z-index:200;cursor:zoom-out}
.lb.on{display:flex}
.lb img{max-width:92vw;max-height:92vh;object-fit:contain}
.stickybar{display:none}
@media(max-width:900px){
  .stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:150;background:#111;border-top:1px solid rgba(245,242,234,.2);padding:.6rem .8rem;align-items:center;gap:.8rem}
  .stickybar .sb-p{font:300 1.2rem/1 var(--serif);color:var(--paper)}
  .stickybar .sb-b{flex:1;text-align:center;background:var(--red);color:#fff;text-decoration:none;padding:.75rem;font:600 9px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
  .relgrid{grid-template-columns:1fr 1fr}
  .checklist li{grid-template-columns:1fr;gap:.25rem}
}
@media(max-width:900px){.specgrid{grid-template-columns:1fr}.pdp__grid{grid-template-columns:1fr}.frames{grid-template-columns:1fr 1fr}}

/* v2.1 缩略图放大 + 允许换行 */
.gal__thumbs{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.7rem}
.gal__thumbs .t{width:70px;height:70px;flex:0 0 70px;padding:0;border:1px solid rgba(245,242,234,.14);background:#0f0f10;overflow:hidden;cursor:pointer}
.gal__thumbs .t img{width:100%;height:100%;object-fit:cover;display:block}
.gal__thumbs .t.on{border-color:#d8402c}
@media(max-width:900px){.gal__thumbs .t{width:56px;height:56px;flex:0 0 56px}}

/* v2.2 面包屑与内容之间保留安全间距（含移动端） */
.pdp .wrap > .crumb{margin:0 0 1.5rem}
.pdp{padding-top:1.1rem}
@media(max-width:900px){.pdp .wrap > .crumb{margin-bottom:1rem}.gal{position:static;top:auto}}
