/** Shopify CDN: Minification failed

Line 941:74 Expected identifier but found "14px"
Line 942:29 Unexpected ";"
Line 944:0 Unexpected "}"

**/
/* 自动生成，勿手工编辑 */
/* Olivria — 由 OL_UI.html 原型转换生成的主题样式
   转换规则：移除原型脚手架（手机外框/标注圆点/说明面板），
   页面级前缀改写为 Shopify 模板类名（.template-index / .template-product / .template-cart） */
.ol-scope{color-scheme:light;
  --cream:#F6F2EB; --paper:#FFFFFF; --ink:#211C15; --ink2:#736A5C; --line:#E7E0D3;
  --sage:#6E6B45; --sale:#B0392C; --stock:#2E7D57; --pre:#B07A1E; --hair:rgba(33,28,21,.08);
  --fs:1px;}
.ol-scope .serif{font-family:"Hoefler Text",Georgia,"Times New Roman",serif}
.ol-scope .hd{position:sticky;top:0;z-index:4;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;padding:11px 15px}
.ol-scope .logo{font-size:calc(20*var(--fs,1px));letter-spacing:.32em;font-weight:600;padding-left:.32em}
.ol-scope .hd .ic{font-size:calc(15*var(--fs,1px));color:var(--ink)}
.ol-scope .ann-bar{background:#211C15;color:#F6F2EB;text-align:center;font-size:calc(11*var(--fs,1px));padding:6px;letter-spacing:.02em}
.ol-scope .pnav{display:flex;gap:2px;overflow-x:auto;padding:9px 15px;font-size:calc(11.5*var(--fs,1px));letter-spacing:.08em;font-weight:600;color:#4a4335;border-bottom:1px solid var(--line);background:var(--paper)}
.ol-scope .pnav span{white-space:nowrap}
.ol-scope .pnav .on{color:var(--ink);border-bottom:2px solid var(--sage);padding-bottom:6px}
.ol-scope .pad{padding:14px 15px}
.ol-scope .sect-l{font-size:calc(11*var(--fs,1px));letter-spacing:.18em;text-transform:uppercase;color:var(--sage);font-weight:700;margin:0 0 9px}
.ol-scope .row{display:flex;gap:8px}
.ol-scope .pill{display:inline-flex;align-items:center;gap:4px;font-size:calc(11*var(--fs,1px));font-weight:700;padding:3px 9px;border-radius:20px}
.ol-scope .pill.stock{background:rgba(46,125,87,.13);color:var(--stock)}
.ol-scope .pill.pre{background:rgba(176,122,30,.15);color:var(--pre)}
.ol-scope .pill.sale{background:var(--sale);color:#fff}
.ol-scope .stars{color:#C58A2E;font-size:calc(13*var(--fs,1px));letter-spacing:1px}
.ol-scope .price{font-size:calc(20*var(--fs,1px));font-weight:800}
.ol-scope .was{color:var(--ink2);text-decoration:line-through;font-size:calc(13*var(--fs,1px));font-weight:500}
.ol-scope .save{color:var(--sale);font-weight:800;font-size:calc(13*var(--fs,1px))}
.ol-scope .btn{display:block;text-align:center;border-radius:11px;padding:13px;font-weight:800;font-size:calc(14*var(--fs,1px));border:none;cursor:default;letter-spacing:.02em}
.ol-scope .btn.cart{background:var(--ink);color:var(--cream)}
.ol-scope .btn.pp{background:#F7C557;color:#182648;margin-top:8px}
.ol-scope .btn.gp{background:#1a1a1a;color:#fff}
.ol-scope .btn.ghost{background:var(--paper);border:1px solid var(--line);color:var(--ink);font-weight:700}
.ol-scope .card{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ol-scope .card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.ol-scope .card .ci{padding:7px 8px 9px}
.ol-scope .card .ct{font-size:calc(10.5*var(--fs,1px));line-height:1.3;color:#42392c;height:27px;overflow:hidden}
.ol-scope .card .cp{font-weight:800;font-size:calc(12*var(--fs,1px));margin-top:3px}
.ol-scope .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ol-scope .grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.ol-scope .hrow{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.ol-scope .hrow .card{flex:0 0 116px}
.ol-scope .swatch{width:24px;height:24px;border-radius:50%;border:1px solid var(--line);display:inline-block}
.ol-scope .szbox{border:1px solid var(--line);border-radius:8px;padding:8px 0;text-align:center;font-size:calc(12*var(--fs,1px));font-weight:600;background:var(--paper)}
.ol-scope .szbox.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.ol-scope .szbox.off{color:#c3bcac;background:#efeade}
.ol-scope .note{font-size:calc(11*var(--fs,1px));color:var(--ink2);line-height:1.5}
.ol-scope .acc{border-top:1px solid var(--line);padding:11px 0;font-size:calc(13*var(--fs,1px));font-weight:600;display:flex;justify-content:space-between}
.ol-scope .new-tag{position:absolute;top:8px;right:8px;background:var(--stock);color:#fff;font-size:calc(9*var(--fs,1px));font-weight:800;padding:2px 7px;border-radius:20px;z-index:2}
.ol-scope .new-tag.pre{background:var(--pre)}
.ol-scope .new-tag.sale{background:var(--sale)}
.ol-scope .ctl{background:linear-gradient(135deg,rgba(110,107,69,.10),rgba(110,107,69,.05));border:1px solid rgba(110,107,69,.35);border-radius:12px;padding:11px}
.ol-scope .progress{height:7px;background:#e3ddcf;border-radius:5px;overflow:hidden;margin:5px 0}
.ol-scope .progress i{display:block;height:100%;background:var(--sage)}
.ol-scope .rev{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:calc(11.5*var(--fs,1px));color:#4a4335}
.ol-scope .rev .rt{color:#C58A2E;font-size:calc(11*var(--fs,1px))}
.ol-scope .bars{display:flex;flex-direction:column;gap:3px;margin:6px 0}
.ol-scope .bar{display:flex;align-items:center;gap:6px;font-size:calc(10*var(--fs,1px));color:var(--ink2)}
.ol-scope .bar .bg{flex:1;height:6px;background:#eae4d7;border-radius:3px;overflow:hidden}
.ol-scope .bar .bg i{display:block;height:100%;background:#C58A2E}
.ol-scope .ugc{display:flex;gap:5px;overflow-x:auto}
.ol-scope .ugc img{width:56px;height:70px;object-fit:cover;border-radius:6px;flex:none}
.ol-scope .legend{max-width:900px;margin:30px auto 0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.ol-scope .legend h3{margin:0 0 10px;font-size:calc(15*var(--fs,1px))}
.ol-scope .legend ol{margin:0;padding-left:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 20px}
.ol-scope .legend li{font-size:calc(13*var(--fs,1px));color:#42392c;padding-left:26px;position:relative;line-height:1.45}
.ol-scope .legend li .b{position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:var(--stock);color:#fff;font-size:calc(10*var(--fs,1px));font-weight:800;display:flex;align-items:center;justify-content:center}
.ol-scope .legend li b{color:var(--ink)}
.ol-scope .ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.ol-scope .ladder .l{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:8px 4px;text-align:center}
.ol-scope .ladder .l b{display:block;font-size:calc(14*var(--fs,1px));color:var(--sale)}
.ol-scope .ladder .l span{font-size:calc(9.5*var(--fs,1px));color:var(--ink2)}
.ol-scope .floor-hd{display:flex;justify-content:space-between;align-items:baseline}
.ol-scope .floor-hd a{font-size:calc(10.5*var(--fs,1px));color:var(--sage);font-weight:700;letter-spacing:.05em}
.ol-scope .foryou{background:linear-gradient(135deg,rgba(110,107,69,.08),transparent);border:1px solid rgba(110,107,69,.28);border-radius:12px;padding:11px}
.ol-scope .news{background:#211C15;color:var(--cream);border-radius:14px;padding:16px;text-align:center}
.ol-scope .news input{width:100%;border:none;border-radius:9px;padding:11px;font-size:calc(12*var(--fs,1px));margin-top:9px}
.ol-scope .news .btn{margin-top:8px;background:var(--cream);color:#211C15}
.ol-scope .fbar{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:3}
.ol-scope .fbar .f{font-size:calc(13*var(--fs,1px));font-weight:700;display:flex;align-items:center;gap:6px;margin-left:auto;justify-content:flex-end}
.ol-scope .chipsf{display:flex;gap:6px;overflow-x:auto;padding:9px 15px;background:var(--paper);border-bottom:1px solid var(--line)}
.ol-scope .cf{font-size:calc(11.5*var(--fs,1px));font-weight:600;padding:5px 11px;border-radius:20px;border:1px solid var(--line);white-space:nowrap;color:#4a4335;background:var(--paper)}
.ol-scope .cf.new{border:1.5px dashed var(--stock);color:var(--stock)}
.ol-scope .cf.act{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.ol-scope .ol-filter{background:var(--paper);border-bottom:1px solid var(--line);padding:4px 15px 12px}
.ol-scope .fopt{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:calc(13*var(--fs,1px));font-weight:600}
.ol-scope .fopt.newf{color:var(--stock)}
.ol-scope .szpick{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:4px 0 6px}
.ol-scope .catpick{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 6px}
.ol-scope .catpick .c{font-size:calc(11*var(--fs,1px));border:1px solid var(--line);border-radius:16px;padding:5px 11px;background:var(--paper)}
.ol-scope .catpick .c.on{background:rgba(46,125,87,.13);border-color:var(--stock);color:var(--stock);font-weight:700}
.ol-scope .plp{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:12px 15px}
.ol-scope .pcard{position:relative}
.ol-scope .pcard .cmedia{position:relative;display:block}
.ol-scope .pcard img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;display:block}
.ol-scope .pcard .qadd{position:absolute;right:7px;bottom:64px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.94);border:1px solid var(--line);font-size:calc(15*var(--fs,1px));display:flex;align-items:center;justify-content:center;font-weight:700}
.ol-scope .pcard .pt{font-size:calc(10.5*var(--fs,1px));line-height:1.3;margin-top:6px;color:#42392c;height:27px;overflow:hidden}
.ol-scope .pcard .pp{display:flex;align-items:baseline;gap:5px;margin-top:2px}
.ol-scope .pcard .pp b{font-size:calc(12*var(--fs,1px))}
.ol-scope .pcard .pp s{font-size:calc(10*var(--fs,1px));color:var(--ink2)}
.ol-scope .pcard .badge{position:absolute;top:7px;left:7px}
.ol-scope .swi-row{display:flex;gap:5px;margin-top:6px}
.ol-scope .swi{width:32px;height:32px;border-radius:7px;border:1px solid rgba(0,0,0,.10);
  background-size:cover;background-position:center top;background-color:#e6e0d4;
  display:inline-block;cursor:pointer}
.ol-scope .swi.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
/* 色块内的图片跟随外框圆角：.pcard img 的 10px 圆角会在方框里再套一层圆形，这里清掉并由外框裁切 */
.ol-scope .swi{overflow:hidden}
.ol-scope .swi img,.ol-scope .pcard .swi img,.ol-scope .card .swi img{border-radius:0;width:100%;height:100%;object-fit:cover;display:block}
.ol-scope .co-h{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border-bottom:1px solid var(--line);background:var(--paper)}
.ol-scope .co-h .lk{font-size:calc(11.5*var(--fs,1px));font-weight:800;color:var(--stock);letter-spacing:.03em}
.ol-scope .exp{display:grid;gap:7px;padding:13px 15px 6px}
.ol-scope .exp .e{border-radius:9px;padding:12px;text-align:center;font-weight:800;font-size:calc(13*var(--fs,1px))}
.ol-scope .e.shop{background:#5a31f4;color:#fff}
.ol-scope .e.epp{background:#F7C557;color:#182648}
.ol-scope .e.egp{background:#000;color:#fff}
.ol-scope .ordiv{display:flex;align-items:center;gap:10px;color:var(--ink2);font-size:calc(11*var(--fs,1px));padding:6px 15px 2px}
.ol-scope .ordiv:before,.ol-scope .ordiv:after{content:"";flex:1;height:1px;background:var(--line)}
.ol-scope .cosec{padding:13px 15px;border-top:7px solid #ece6da}
.ol-scope .cosec .h{font-size:calc(11.5*var(--fs,1px));letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:#4a4335;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.ol-scope .field{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px;font-size:calc(12.5*var(--fs,1px));background:var(--paper);margin-bottom:8px;color:#8a8272}
.ol-scope .frow{display:flex;gap:8px}
.ol-scope .frow .field{flex:1}
.ol-scope .chk{font-size:calc(11*var(--fs,1px));color:var(--ink2);display:flex;gap:7px;align-items:center;margin-top:2px}
.ol-scope .chk .bx{width:15px;height:15px;border:1.5px solid var(--sage);border-radius:4px;flex:none;color:var(--sage);font-size:calc(11*var(--fs,1px));text-align:center;line-height:13px}
.ol-scope .radio{border:1px solid var(--line);border-radius:9px;padding:11px;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:calc(12.5*var(--fs,1px))}
.ol-scope .radio.on{border:1.5px solid var(--ink);background:#faf8f3}
.ol-scope .radio .r{width:15px;height:15px;border-radius:50%;border:2px solid #c3bcac;flex:none;margin-right:9px}
.ol-scope .radio.on .r{border-color:var(--ink);background:radial-gradient(var(--ink) 38%,#fff 42%)}
.ol-scope .radio .rl{flex:1;display:flex;align-items:center}
.ol-scope .summ{display:flex;justify-content:space-between;font-size:calc(12.5*var(--fs,1px));padding:3px 0;color:#4a4335}
.ol-scope .summ.tot{font-size:calc(16*var(--fs,1px));font-weight:800;color:var(--ink);border-top:1px solid var(--line);padding-top:9px;margin-top:6px}
.ol-scope .oi{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.ol-scope .oi img{width:50px;height:64px;object-fit:cover;border-radius:7px}
.ol-scope .trust{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:13px 15px;background:#faf8f3}
.ol-scope .trust .t{font-size:calc(11*var(--fs,1px));color:#4a4335;display:flex;align-items:center;gap:6px;font-weight:600}
.ol-scope .paybar{position:sticky;bottom:0;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);border-top:1px solid var(--line);padding:11px 15px}
.ol-scope .deliv{background:rgba(46,125,87,.09);border:1px solid rgba(46,125,87,.3);border-radius:10px;padding:11px}
.ol-scope .deliv .d{font-size:calc(12*var(--fs,1px));display:flex;gap:7px;align-items:flex-start;margin-bottom:5px}
.ol-scope .savechip{background:rgba(176,57,44,.1);color:var(--sale);border-radius:7px;padding:6px 9px;font-size:calc(11.5*var(--fs,1px));font-weight:800;text-align:center;margin-top:6px}
.ol-scope .pnav,.ol-scope .hrow,.ol-scope .chipsf,.ol-scope .ugc,.ol-scope .exp{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto}
.ol-scope .pnav::-webkit-scrollbar,.ol-scope .hrow::-webkit-scrollbar,.ol-scope .chipsf::-webkit-scrollbar,.ol-scope .ugc::-webkit-scrollbar{display:none;width:0;height:0}
.template-index .ol-scope .ann-bar{position:sticky;top:0;z-index:7}
.template-index .ol-scope .hd{top:25px}
.ol-scope .hero{position:relative}
.ol-scope .hslides{position:relative;aspect-ratio:3/4;overflow:hidden;background:#ded7c9}
.ol-scope .hslides .s{position:absolute;inset:0;opacity:0;animation:heroFade 9s ease-in-out infinite}
.ol-scope .hslides .s:nth-child(2){animation-delay:4.5s}
.ol-scope .hslides .s img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
@keyframes heroFade{0%{opacity:0}
2%{opacity:1}
50%{opacity:1}
55%{opacity:0}
100%{opacity:0}
}
.ol-scope .hcap{position:absolute;left:16px;bottom:30px;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.ol-scope .hcap .t{font-size:calc(25*var(--fs,1px));line-height:1.12}
.ol-scope .hcap .sb{font-size:calc(11*var(--fs,1px));letter-spacing:.05em;margin-top:4px;opacity:.95}
.ol-scope .hcap .cta{margin-top:9px;display:inline-block;background:#fff;color:#211C15;font-size:calc(11.5*var(--fs,1px));font-weight:800;padding:7px 18px;border-radius:24px}
.ol-scope .hdots{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;display:flex;gap:5px;z-index:2;background:rgba(0,0,0,.30);padding:5px 8px;border-radius:20px;backdrop-filter:blur(2px)}
.ol-scope .hdots i{width:17px;height:3px;border-radius:2px;background:rgba(255,255,255,.45);animation:dotA 9s infinite}
.ol-scope .hdots i:nth-child(2){animation-delay:4.5s}
@keyframes dotA{0%,52%{background:rgba(255,255,255,.45)}
2%,50%{background:#fff}
}

/* offer strip — does NOT rotate: sits across both slides */
.ol-scope .offer{position:relative;z-index:3;margin:-20px 12px 0;background:var(--paper);border:1px solid var(--line);
  border-radius:12px;padding:8px 11px 9px;box-shadow:0 8px 22px rgba(33,28,21,.16)}
.ol-scope .offer .otop{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ol-scope .offer .ttl{font-weight:800;font-size:calc(13*var(--fs,1px))}
.ol-scope .offer .ttl b{color:var(--sale)}
.ol-scope .offer .tmr{font-size:calc(10*var(--fs,1px));font-weight:800;color:var(--sale);background:rgba(176,57,44,.1);padding:2px 7px;border-radius:6px;white-space:nowrap}
.ol-scope .tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:13px}
.ol-scope .tier{border:1px solid var(--line);border-radius:9px;padding:7px 2px 6px;text-align:center;position:relative;background:var(--paper)}
.ol-scope .tier .sp{font-size:calc(9*var(--fs,1px));color:var(--ink2);display:block;line-height:1.2}
.ol-scope .tier b{font-size:calc(12.5*var(--fs,1px));color:var(--sale);font-variant-numeric:tabular-nums}
.ol-scope .tier.hot{border-color:var(--sale);background:rgba(176,57,44,.06)}
.ol-scope .tier.hot .lb{position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:var(--sale);color:#fff;
  font-size:calc(8.5*var(--fs,1px));font-weight:800;padding:1px 6px;border-radius:20px;white-space:nowrap;letter-spacing:.02em}
.ol-scope .offer .obtm{display:flex;justify-content:space-between;align-items:center;margin-top:9px;font-size:calc(10.5*var(--fs,1px));color:var(--ink2)}
.ol-scope .offer .obtm b{color:var(--sage);font-weight:800}
@media (prefers-reduced-motion:reduce){
.ol-scope .hslides .s{animation:none}
.ol-scope .hslides .s:nth-child(1){opacity:1}
.ol-scope .hdots i{animation:none}
.ol-scope .hdots i:nth-child(1){background:#fff}
}
.ol-scope .orow{display:flex;align-items:center;gap:7px}
.ol-scope .omain{font-size:calc(14*var(--fs,1px));font-weight:800;white-space:nowrap;letter-spacing:.01em}
.ol-scope .omain b{color:var(--sale)}
.ol-scope .ohot{font-size:calc(8.5*var(--fs,1px));font-weight:800;background:var(--sale);color:#fff;padding:2px 6px;border-radius:20px;white-space:nowrap}
.ol-scope .orow .tmr{margin-left:auto;font-size:calc(10*var(--fs,1px));font-weight:800;color:var(--sale);background:rgba(176,57,44,.1);
  padding:2px 6px;border-radius:6px;white-space:nowrap;font-variant-numeric:tabular-nums}
.ol-scope .osub{display:flex;align-items:center;gap:5px;margin-top:6px;font-size:calc(10*var(--fs,1px));color:var(--ink2);font-variant-numeric:tabular-nums}
.ol-scope .osub i{opacity:.45;font-style:normal}
.ol-scope .osub b{margin-left:auto;color:var(--sage);font-weight:800;font-size:calc(10.5*var(--fs,1px));white-space:nowrap}
.ol-scope .offer{padding:7px 10px 9px;border-radius:12px}
.ol-scope .offer .otop{justify-content:flex-start;gap:7px}
.ol-scope .offer .ttl{font-size:calc(12*var(--fs,1px));white-space:nowrap}
.ol-scope .offer .tmr{font-size:calc(9.5*var(--fs,1px));padding:2px 6px;font-variant-numeric:tabular-nums}
.ol-scope .offer .ogo{margin-left:auto;color:var(--sage);font-weight:800;font-size:calc(10*var(--fs,1px));white-space:nowrap}
.ol-scope .tiers{margin-top:11px;gap:5px}
.ol-scope .tier{padding:5px 2px;border-radius:8px}
.ol-scope .tier .sp{font-size:calc(8.5*var(--fs,1px))}
.ol-scope .tier b{font-size:calc(12*var(--fs,1px))}
.ol-scope .tier.hot .lb{top:-7px;font-size:calc(8*var(--fs,1px));padding:1px 5px}
.ol-scope .offer{padding:4px 9px 5px;border-radius:11px;margin:-16px 12px 0}
.ol-scope .offer .otop{gap:6px;align-items:center}
.ol-scope .offer .ttl{font-size:calc(10*var(--fs,1px));font-weight:800;white-space:nowrap}
.ol-scope .offer .tmr{font-size:calc(9*var(--fs,1px));padding:1px 5px}
.ol-scope .offer .ogo{font-size:calc(9.5*var(--fs,1px))}
.ol-scope .tiers{margin-top:5px;gap:4px}
.ol-scope .tier{padding:4px 2px;border-radius:6px;font-size:calc(9.5*var(--fs,1px));line-height:1.15;
  display:flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap}
.ol-scope .tier b{font-size:calc(11*var(--fs,1px))}
.ol-scope .tier.hot{background:var(--sale);border-color:var(--sale)}
.ol-scope .tier.hot,.ol-scope .tier.hot b{color:#fff}
.ol-scope .offer{padding:3px 9px 4px;border-radius:10px;margin:-14px 12px 0}
.ol-scope .offer .ttl{font-size:calc(9.5*var(--fs,1px))}
.ol-scope .offer .tmr{font-size:calc(8.5*var(--fs,1px));padding:1px 4px}
.ol-scope .offer .ogo{font-size:calc(9*var(--fs,1px))}
.ol-scope .tiers{margin-top:4px;gap:4px}
.ol-scope .tier{padding:3px 2px;font-size:calc(9*var(--fs,1px))}
.ol-scope .tier b{font-size:calc(10.5*var(--fs,1px))}
.ol-scope .offer{margin:0;border-radius:0;border-left:0;border-right:0;border-top:0;box-shadow:none;
  background:rgba(176,57,44,.05);border-bottom:1px solid var(--line);padding:6px 12px 7px}
.ol-scope .tier{background:var(--paper)}
.ol-scope .pnav,.ol-scope .chipsf{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent 100%);
  mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent 100%);
  -webkit-overflow-scrolling:touch}
.ol-scope .catlbl{font-size:calc(9.5*var(--fs,1px));margin-top:5px;font-weight:700;line-height:1.25;text-align:center;
  min-height:23px;letter-spacing:.01em;color:#42392c}
.ol-scope .floor-hd.fh2{align-items:flex-end;margin-bottom:9px}
.ol-scope .fl-t{font-size:calc(15*var(--fs,1px));font-weight:600;margin:0;letter-spacing:.01em;color:var(--ink);line-height:1.2}
.ol-scope .fl-s{font-size:calc(10.5*var(--fs,1px));margin:2px 0 0;color:var(--ink2);font-weight:500;letter-spacing:.02em}
.ol-scope .floor-hd.fh2 a{white-space:nowrap;padding-bottom:1px}
.ol-scope .crow{gap:9px}
.ol-scope .ccard{flex:0 0 96px;display:block;text-decoration:none;color:inherit}
.ol-scope .cimg{width:96px;height:110px;border-radius:10px;overflow:hidden;background:#e6e0d4}
.ol-scope .cimg img{width:100%;height:100%;object-fit:cover;display:block}
.ol-scope .cname{display:flex;align-items:center;gap:5px;margin-top:6px;font-size:calc(10*var(--fs,1px));font-weight:700;color:#42392c}
.ol-scope .cname i{width:9px;height:9px;border-radius:50%;flex:none;border:1px solid rgba(33,28,21,.18)}
.ol-scope .cp .now{color:inherit} /* 与列表页 .pcard .pp b 一致，不标红 */
.ol-scope .cp s{color:var(--ink2);font-weight:500;font-size:calc(10*var(--fs,1px));margin-left:2px}
.ol-scope a.cta-sale{color:var(--sale) !important;font-weight:800}
.template-index .ol-scope .pnav span{padding-bottom:6px}
.ol-scope .fbar{gap:8px}
.ol-scope .fbtn{font-size:calc(13*var(--fs,1px));font-weight:800;display:flex;align-items:center;gap:6px;
  border:1px solid var(--ink);border-radius:20px;padding:5px 12px;background:var(--paper)}
.ol-scope .fcount{background:var(--ink);color:var(--cream);border-radius:20px;font-size:calc(10*var(--fs,1px));padding:0 6px;line-height:16px}
.ol-scope .cf.clr{border:none;color:var(--ink2);text-decoration:underline;padding-left:2px}
.ol-scope .ol-filter{padding:0 0 10px}
.ol-scope .dhd{display:flex;align-items:baseline;justify-content:space-between;padding:11px 15px 8px;
  font-size:calc(13*var(--fs,1px));font-weight:800;border-bottom:1px solid var(--line)}
.ol-scope .dhd span{font-size:calc(10*var(--fs,1px));font-weight:600;color:var(--sage)}
.ol-scope .fgrp{padding:11px 15px 3px;border-bottom:1px solid var(--line)}
.ol-scope .fgrp.last{border-bottom:none}
.ol-scope .flabel{font-size:calc(11.5*var(--fs,1px));font-weight:800;color:#42392c;margin-bottom:8px;letter-spacing:.02em}
.ol-scope .flabel em{font-style:normal;font-size:calc(9*var(--fs,1px));font-weight:800;color:var(--stock);
  border:1px dashed var(--stock);border-radius:5px;padding:1px 5px;margin-left:6px}
.ol-scope .cpick{display:flex;gap:8px;padding-bottom:9px}
.ol-scope .cpick i{width:22px;height:22px;border-radius:50%;border:1px solid rgba(33,28,21,.18);display:inline-block}
.ol-scope .prange{display:flex;align-items:center;gap:9px;font-size:calc(11*var(--fs,1px));color:var(--ink2);padding-bottom:11px}
.ol-scope .ptrack{flex:1;height:4px;background:#e6e0d2;border-radius:3px;position:relative}
.ol-scope .ptrack i{position:absolute;left:12%;right:28%;top:0;bottom:0;background:var(--ink);border-radius:3px}
.ol-scope .tgl{display:flex;justify-content:space-between;align-items:center;font-size:calc(12.5*var(--fs,1px));font-weight:600;padding-bottom:11px}
.ol-scope .tgl .sw-on{width:34px;height:19px;border-radius:20px;background:var(--stock);position:relative;display:inline-block}
.ol-scope .tgl .sw-on:after{content:"";position:absolute;right:2px;top:2px;width:15px;height:15px;border-radius:50%;background:#fff}
.ol-scope .dact{display:flex;gap:9px;padding:11px 15px 2px;align-items:center}
.ol-scope .dact .reset{flex:0 0 84px;text-align:center;border:1px solid var(--line);border-radius:10px;padding:10px 0;font-size:calc(12.5*var(--fs,1px));font-weight:700;background:var(--paper)}
.ol-scope .dact .apply{flex:1;text-align:center;background:var(--ink);color:var(--cream);border-radius:10px;padding:10px 0;font-size:calc(12.5*var(--fs,1px));font-weight:800}
.ol-scope .pager{padding:10px 15px 22px;text-align:center}
.ol-scope .pnote{font-size:calc(11.5*var(--fs,1px));color:var(--ink2)}
.ol-scope .pnote b{color:var(--ink)}
.ol-scope .pbar{height:4px;background:#e6e0d2;border-radius:3px;margin:7px auto 11px;max-width:180px;overflow:hidden}
.ol-scope .pbar i{display:block;height:100%;background:var(--sage)}
.ol-scope .loadmore{border:1px solid var(--ink);border-radius:22px;padding:11px;font-size:calc(12.5*var(--fs,1px));font-weight:800;letter-spacing:.06em;background:var(--paper)}
.ol-scope .frow{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 15px;border-bottom:1px solid var(--line);font-size:calc(12.5*var(--fs,1px))}
.ol-scope .frow.last{border-bottom:none}
.ol-scope .frow .fk{font-weight:700;color:#42392c;display:flex;align-items:center}
.ol-scope .frow .fk em{font-style:normal;font-size:calc(8.5*var(--fs,1px));font-weight:800;color:var(--stock);
  border:1px dashed var(--stock);border-radius:5px;padding:0 4px;margin-left:6px}
.ol-scope .frow .fv{color:var(--ink2);display:flex;align-items:center;gap:6px;white-space:nowrap}
.ol-scope .frow .fv .sel{color:var(--ink);font-weight:800}
.ol-scope .frow.op{border-bottom:none;padding-bottom:4px}
.ol-scope .fopen{padding:0 15px 10px;border-bottom:1px solid var(--line)}
.ol-scope .fopen .szpick{margin:0}
.ol-scope .fchips{display:flex;flex-wrap:wrap;gap:6px}
.ol-scope .fchip{font-size:calc(11*var(--fs,1px));font-weight:600;padding:7px 10px;border-radius:18px;border:1px solid var(--line);
  background:var(--paper);color:#42392c;white-space:nowrap}
.ol-scope .fchip b{font-weight:800;color:var(--ink2);font-size:calc(9.5*var(--fs,1px));margin-left:4px;font-variant-numeric:tabular-nums}
.ol-scope .fchip.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.ol-scope .fchip.on b{color:#bdb5a3}
.ol-scope .frow.acc{cursor:pointer;-webkit-tap-highlight-color:transparent}
.ol-scope .chev{font-style:normal;display:inline-block;color:var(--ink2);font-size:calc(13*var(--fs,1px));
  transition:transform .15s;min-width:9px;text-align:center}
.ol-scope .fopen[hidden]{display:none}
.ol-scope .fchip .cdot{width:11px;height:11px;border-radius:50%;display:inline-block;margin-right:6px;
  vertical-align:-1px;background:var(--c);border:1px solid var(--b)}
.ol-scope .fchip.cchip{font-weight:700}
.ol-scope .fchip.cchip.on{background:var(--c);color:var(--t);border-color:var(--b)}
.ol-scope .fchip.cchip.on .cdot{display:none}
.ol-scope .fchip.cchip.on::before{content:"✓";font-weight:800;margin-right:5px}
.ol-scope .fhint{font-size:calc(9*var(--fs,1px));color:var(--ink2);margin-top:8px;line-height:1.5}
.ol-scope .imgdots{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);display:flex;gap:3.5px;
  z-index:2;background:rgba(0,0,0,.28);padding:3.5px 6px;border-radius:20px;
  backdrop-filter:blur(2px);pointer-events:none}
.ol-scope .imgdots i{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.55)}
.ol-scope .imgdots i.on{background:#fff}
@media (prefers-reduced-motion:reduce){
.ol-scope .chev{transition:none}
}
.ol-scope .frow .fk em.cond{color:var(--pre);border-color:var(--pre)}
.ol-scope .fnote{font-size:calc(9.5*var(--fs,1px));color:var(--ink2);padding:2px 15px 10px;border-bottom:1px solid var(--line);line-height:1.5}
.ol-scope .dots{display:flex;gap:3px}
.ol-scope .dots i{width:13px;height:13px;border-radius:50%;border:1px solid rgba(33,28,21,.18);display:inline-block}
.ol-scope .frow .sw-on{width:30px;height:17px;border-radius:20px;background:var(--stock);position:relative;display:inline-block}
.ol-scope .frow .sw-on:after{content:"";position:absolute;right:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff}
.ol-scope .dact{padding:10px 15px 12px}
.ol-scope .pnav{padding:0 15px}
.ol-scope .pnav span,.template-index .ol-scope .pnav span{padding:14px 9px !important;display:inline-block}
.ol-scope .pnav .on{padding-bottom:12px !important}
.ol-scope .chipsf{padding:7px 15px}
.ol-scope .cf{padding:11px 13px;border-radius:22px}
.ol-scope .cf.clr{padding:11px 4px}
.ol-scope .frow{padding:13px 15px;min-height:44px}
.ol-scope .fbtn{padding:10px 14px;min-height:44px}
.ol-scope .szbox{min-height:44px;display:flex;align-items:center;justify-content:center;padding:0}
.ol-scope .dact .reset,.ol-scope .dact .apply{padding:14px 0;min-height:48px}
.ol-scope .loadmore{padding:15px;min-height:48px}
.ol-scope .pcard .qadd{width:40px;height:40px;font-size:calc(19*var(--fs,1px));right:6px;bottom:58px}
.template-product .ol-scope .swatch{width:34px;height:34px;position:relative}
.template-product .ol-scope .swatch:after{content:"";position:absolute;inset:-5px}
.template-product .ol-scope .szbox{min-height:44px}
.ol-scope .offer .ogo{padding:10px 2px;display:inline-block}
.ol-scope .catlbl{padding-bottom:6px}
.ol-scope .cf{padding:13px 13px}
.ol-scope .pcard .qadd{width:44px;height:44px;font-size:calc(20*var(--fs,1px));bottom:56px}
.template-product .ol-scope .swatch{width:38px;height:38px}
.template-product .ol-scope .swatch:after{inset:-3px}
.ol-scope .pcard .sw i{width:14px;height:14px}
.ol-scope .offer{cursor:pointer}
.ol-scope .offer .ogo{padding:12px 2px}
.ol-scope .frow .fk em.tagreq{color:var(--pre);border-color:var(--pre);border-style:dashed}
.ol-scope .gal{position:relative}
.ol-scope .gtrack{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.ol-scope .gtrack img{flex:0 0 100%;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%;scroll-snap-align:center;display:block}
.ol-scope .gcount{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.55);color:#fff;font-size:calc(10.5*var(--fs,1px));
  font-weight:800;padding:4px 9px;border-radius:20px;backdrop-filter:blur(3px);font-variant-numeric:tabular-nums}
.ol-scope .gdots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:5px;align-items:center;
  background:rgba(0,0,0,.30);padding:6px 9px;border-radius:20px;backdrop-filter:blur(2px)}
.ol-scope .gdots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);display:block}
.ol-scope .gdots i.on{background:#fff;width:17px;border-radius:3px}
.ol-scope .btn.ap{background:#000;color:#fff;margin-top:8px;font-size:calc(15*var(--fs,1px));letter-spacing:.02em}
.ol-scope .e.eap{background:#000;color:#fff}
.ol-scope .selall{display:flex;align-items:center;padding:2px 0 4px;border-bottom:1px solid var(--line);font-size:calc(12.5*var(--fs,1px));font-weight:700}
.ol-scope .cksel{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;margin-left:-11px}
.ol-scope .ckbox{width:21px;height:21px;border-radius:50%;border:1.5px solid #c3bcac;background:var(--paper);
  display:flex;align-items:center;justify-content:center;font-size:0;font-style:normal}
.ol-scope .ckbox.on{background:var(--ink);border-color:var(--ink);color:#fff;font-size:calc(12*var(--fs,1px));font-weight:800}
.ol-scope .citem{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}
.ol-scope .citem>img{width:66px;height:84px;object-fit:cover;border-radius:8px;flex:none}

/* （已删除：原型手机壳滚动容器的误映射，会压掉抽屉定位） */
.ol-scope .cart-wrap{position:absolute;top:0;right:0;bottom:0;width:88%;background:var(--cream);
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:-16px 0 44px rgba(0,0,0,.30);border-radius:14px 0 0 14px}
.ol-scope .cart-wrap .hd{border-radius:14px 0 0 0;position:static}
.ol-scope .cart-wrap .cbody{flex:1;overflow-y:auto;padding:14px 15px 16px}
.ol-scope .cdx{cursor:pointer;font-size:calc(17*var(--fs,1px))}
.ol-scope .chg{color:var(--sage);font-weight:700;text-decoration:underline;margin-left:5px;cursor:pointer}
.ol-scope .cartnote{margin-top:12px}
.ol-scope .cartnote label{display:block;font-size:calc(11*var(--fs,1px));font-weight:700;color:#42392c;margin-bottom:5px}
.ol-scope .cartnote textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 11px;
  font-size:calc(12*var(--fs,1px));font-family:inherit;background:var(--paper);color:var(--ink);resize:none;line-height:1.5}
.ol-scope .cartnote textarea::placeholder{color:#b3ab99}
.ol-scope .taxnote{font-size:calc(10*var(--fs,1px));color:var(--ink2);margin-top:9px;text-align:center}
.ol-scope .paymarks{display:flex;justify-content:center;gap:5px;margin-top:10px;flex-wrap:wrap}
.ol-scope .paymarks i{font-style:normal;font-size:calc(8.5*var(--fs,1px));font-weight:800;letter-spacing:.03em;color:var(--ink2);
  border:1px solid var(--line);border-radius:4px;padding:3px 6px;background:var(--paper);line-height:1}
.ol-scope .trustrow{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}
.ol-scope .trustrow span{font-size:calc(10.5*var(--fs,1px));color:var(--ink2);display:flex;align-items:center;gap:7px}
.ol-scope .trustrow b{color:var(--stock);font-size:calc(11*var(--fs,1px));width:13px;text-align:center}
.ol-scope .contshop{text-align:center;font-size:calc(11.5*var(--fs,1px));font-weight:700;color:var(--sage);
  margin-top:12px;padding:11px 9px 4px;border-top:1px solid var(--line);cursor:pointer}
.ol-scope .shipbar{background:var(--paper);border-bottom:1px solid var(--line);padding:11px 15px 12px;text-align:center}
.ol-scope .shipmsg{font-size:calc(12*var(--fs,1px));color:#42392c;font-weight:600}
.ol-scope .shipmsg b{color:var(--stock);font-weight:800}
.ol-scope .shipprog{height:6px;border-radius:6px;background:#e3ddcf;overflow:hidden;margin:8px auto 6px;max-width:210px}
.ol-scope .shipprog i{display:block;height:100%;background:var(--stock);border-radius:6px}
.ol-scope .shipsub{font-size:calc(9.5*var(--fs,1px));color:var(--ink2)}
.ol-scope .citem .cksel{margin-top:18px}
.ol-scope .qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper)}
.ol-scope .qty i{width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:calc(15*var(--fs,1px));color:#42392c;position:relative}
.ol-scope .qty i:after{content:"";position:absolute;inset:-5px}
.ol-scope .qty b{min-width:28px;text-align:center;font-size:calc(12.5*var(--fs,1px));border-left:1px solid var(--line);border-right:1px solid var(--line);line-height:34px}
.ol-scope .cact{display:flex;gap:14px;margin-top:7px;font-size:calc(10.5*var(--fs,1px));color:var(--ink2)}
.ol-scope .cact span{padding:4px 0}
.ol-scope .cksel{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;margin-left:-11px;position:relative;cursor:pointer}
.ol-scope .cksel input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:2}
.ol-scope .ckbox{width:21px;height:21px;border-radius:50%;border:1.5px solid #c3bcac;background:var(--paper);
  display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}
.ol-scope .ckbox:after{content:"✓";color:#fff;font-size:calc(12*var(--fs,1px));font-weight:800;line-height:1;opacity:0;transform:scale(.6);transition:opacity .12s,transform .12s}
.ol-scope .cksel input:checked + .ckbox{background:var(--ink);border-color:var(--ink)}
.ol-scope .cksel input:checked + .ckbox:after{opacity:1;transform:scale(1)}
.ol-scope .cksel input:focus-visible + .ckbox{outline:2px solid var(--sage);outline-offset:3px}
.ol-scope .citem>img,.ol-scope .citem .cinfo{transition:opacity .15s}
.ol-scope .citem:has(input:not(:checked))>img,.ol-scope .citem:has(input:not(:checked)) .cinfo{opacity:.4}
.ol-scope .tierd{margin-top:11px;padding-top:10px;border-top:1px solid var(--ink)}
.ol-scope .tiernudge{display:flex;align-items:center;gap:7px;font-size:calc(13*var(--fs,1px));font-weight:700;
  color:var(--sale);letter-spacing:-.005em}
.ol-scope .tiernudge:before{content:"";width:6px;height:6px;border-radius:50%;flex:none;background:var(--sale)}
.ol-scope .tiernudge b{font-weight:800}
.ol-scope .tierline{font-size:calc(10.5*var(--fs,1px));line-height:1.5;color:var(--ink2);margin-top:6px;
  white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.ol-scope .tierline .tg{margin-right:5px;font-size:calc(10*var(--fs,1px))}
.ol-scope .tierline b{font-weight:600;color:var(--ink2)}
.ol-scope .tierline i{color:#ddd6c6;font-style:normal;margin:0 4px;font-weight:400}
.ol-scope .gdots{bottom:12px}
.ol-scope .gcount b{font-variant-numeric:tabular-nums}
.ol-scope .ptitle{margin:0;font-size:calc(17*var(--fs,1px));line-height:1.35;font-weight:500;letter-spacing:-.005em;color:var(--ink)}
.ol-scope .optlbl{font-size:calc(12*var(--fs,1px));font-weight:700;color:#42392c;margin-bottom:9px}
.ol-scope .optlbl span{font-weight:500;color:var(--ink2)}
.ol-scope .optbtns{display:flex;flex-wrap:wrap;gap:10px}
/* 详情页颜色缩略图：外观与列表页商品卡的 .swi 一致（圆角方块 + 细边，选中加深），不再用圆形 */
.ol-scope .optsw{width:32px;height:32px;border-radius:7px;flex:none;cursor:pointer;position:relative;
  background-size:cover;background-position:center top;background-color:#e6e0d4;
  border:1px solid rgba(0,0,0,.10)}
.ol-scope .optsw.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.ol-scope .optsw:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ol-scope .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ol-scope .pieces{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}
.ol-scope .piece{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--cream);cursor:pointer}
.ol-scope .pcmedia{position:relative;display:block}
.ol-scope .piece img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.ol-scope .pckind{position:absolute;top:6px;left:6px;background:rgba(33,28,21,.78);color:var(--cream);
  font-size:calc(8*var(--fs,1px));font-weight:800;letter-spacing:.09em;padding:2px 6px;border-radius:20px}
.ol-scope .pcname{font-size:calc(10.5*var(--fs,1px));line-height:1.3;color:#42392c;padding:7px 9px 0;min-height:27px}
.ol-scope .pcfoot{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:1px 9px 8px}
.ol-scope .pcprice{font-size:calc(12.5*var(--fs,1px));font-weight:800;color:var(--ink)}
.ol-scope .pcgo{color:var(--ink2);font-size:calc(14*var(--fs,1px));line-height:1}
.ol-scope .pcnote{font-size:calc(10.5*var(--fs,1px));color:var(--ink2);margin-top:9px;text-align:center}
.ol-scope .pcnote b{color:var(--ink);font-weight:800}
.ol-scope .pcnote .pcsave{color:var(--sale)}
.ol-scope .szhd{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.ol-scope .szchart{font-size:calc(10.5*var(--fs,1px));font-weight:700;color:var(--sage);text-decoration:underline;
  white-space:nowrap;cursor:pointer}
.ol-scope .szmodal{position:absolute;top:30px;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:flex-end}
.ol-scope .szmodal[hidden]{display:none}
.ol-scope .szscrim{position:absolute;inset:0;background:rgba(20,16,11,.46)}
.ol-scope .szpanel{position:relative;width:100%;max-height:88%;background:var(--cream);
  border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 -14px 40px rgba(0,0,0,.28)}
.ol-scope .szhd2{display:flex;align-items:center;justify-content:space-between;padding:14px 15px 11px;
  border-bottom:1px solid var(--line);font-size:calc(14*var(--fs,1px));font-weight:700;background:var(--paper)}
.ol-scope .szx{background:none;border:0;font-size:calc(16*var(--fs,1px));color:var(--ink2);cursor:pointer;padding:0 2px;font-family:inherit}
.ol-scope .szunit{display:flex;gap:0;padding:11px 15px 0}
.ol-scope .szunit button{font:inherit;font-size:calc(10.5*var(--fs,1px));font-weight:700;padding:5px 14px;cursor:pointer;
  border:1px solid var(--line);background:var(--paper);color:var(--ink2)}
.ol-scope .szunit button:first-child{border-radius:16px 0 0 16px}
.ol-scope .szunit button:last-child{border-radius:0 16px 16px 0;border-left:0}
.ol-scope .szunit button.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.ol-scope .szbody{overflow-y:auto;padding:12px 15px 18px}
.ol-scope .szgrp{font-size:calc(9.5*var(--fs,1px));font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:var(--sage);margin:10px 0 6px}
.ol-scope .sztab{width:100%;border-collapse:collapse;font-size:calc(10.5*var(--fs,1px));font-variant-numeric:tabular-nums}
.ol-scope .sztab th{font-size:calc(8.5*var(--fs,1px));letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);
  font-weight:700;text-align:right;padding:0 0 6px;white-space:nowrap}
.ol-scope .sztab th:first-child{text-align:left}
.ol-scope .sztab td{padding:7px 0;border-top:1px solid var(--line);text-align:right;color:#42392c}
.ol-scope .sztab td.szs{text-align:left;font-weight:800;color:var(--ink)}
.ol-scope .sznote{font-size:calc(9.5*var(--fs,1px));color:var(--ink2);line-height:1.55;margin:14px 0 0}
.ol-scope .morepay{text-align:center;font-size:calc(11.5*var(--fs,1px));font-weight:700;color:var(--sage);
  text-decoration:underline;margin-top:9px;padding:4px;cursor:pointer}
.ol-scope .card.addable{position:relative}
.ol-scope .qadd-sm{position:absolute;right:6px;bottom:71px;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.95);border:1px solid var(--line);box-shadow:0 2px 8px rgba(33,28,21,.18);
  display:flex;align-items:center;justify-content:center;font-size:calc(18*var(--fs,1px));font-weight:700;color:var(--ink);z-index:3}
.ol-scope .qadd-sm:after{content:"";position:absolute;inset:-5px}
.ol-scope .bnpl{font-size:calc(11*var(--fs,1px));color:#4a4335;margin-top:6px;position:relative}
.ol-scope .bnpl b{font-weight:800}
.ol-scope .bnpl .bk{font-weight:800;letter-spacing:.01em;background:#f3eee3;border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:calc(10*var(--fs,1px))}
.ol-scope .bnpl .bk i{font-style:normal;font-size:calc(8*var(--fs,1px));vertical-align:super}
.ol-scope .bnpl .bdot{color:var(--ink2)}
.ol-scope .fitrow{margin-top:12px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.ol-scope .fitlbl{font-size:calc(10*var(--fs,1px));letter-spacing:.12em;text-transform:uppercase;color:var(--sage);font-weight:800}
.ol-scope .fitbar{display:flex;align-items:center;gap:8px;font-size:calc(9.5*var(--fs,1px));color:var(--ink2);margin-top:6px}
.ol-scope .fitbar i{flex:1;height:4px;background:#eae4d7;border-radius:3px;position:relative}
.ol-scope .fitbar i b{position:absolute;top:50%;transform:translate(-50%,-50%);width:13px;height:13px;border-radius:50%;
  background:var(--ink);border:2.5px solid var(--paper);box-shadow:0 0 0 1px var(--line)}
.ol-scope .fitnote{font-size:calc(10.5*var(--fs,1px));color:#4a4335;margin-top:6px}
.ol-scope .fitnote b{color:var(--stock)}
.ol-scope .rmeta{font-size:calc(10*var(--fs,1px));color:var(--ink2);margin-top:5px}
.ol-scope .rmeta b{color:var(--stock)}
.ol-scope .fav{position:absolute;top:7px;right:7px;z-index:3;width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.92);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  font-size:calc(15*var(--fs,1px));color:#42392c}
.ol-scope .fav:after{content:"";position:absolute;inset:-6px}
.ol-scope .cmedia{position:relative;display:block}
.ol-scope .addbag{position:absolute;right:7px;bottom:7px;width:28px;height:28px;padding:0;border-radius:50%;
  background:rgba(255,255,255,.94);border:1px solid var(--line);color:#42392c;cursor:default;
  display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(33,28,21,.14)}
.ol-scope .addbag svg{width:17px;height:17px;display:block}
.ol-scope .addbag:after{content:"";position:absolute;inset:-8px}
.ol-scope .bsbanner{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);
  background:#ded7c9;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ol-scope .bsbanner img{width:100%;height:auto;object-fit:cover;display:block}
.ol-scope .bsbanner.wide img,.ol-scope .bsbanner.r32 img{aspect-ratio:3/2}
.ol-scope .bsbanner.r43 img{aspect-ratio:4/3}
.ol-scope .bsbanner.r219 img{aspect-ratio:21/9}
.ol-scope .bpair .bsbanner img{aspect-ratio:4/3}
.ol-scope .flash{background:linear-gradient(135deg,rgba(176,57,44,.09),rgba(176,57,44,.04));
  border:1px solid rgba(176,57,44,.30);border-radius:12px;padding:13px 13px 12px;text-align:center}
.ol-scope .flash .ft{font-size:calc(17*var(--fs,1px));letter-spacing:.01em}
.ol-scope .flash .ft b{color:var(--sale)}
.ol-scope .flash .fs{font-size:calc(10*var(--fs,1px));letter-spacing:.14em;text-transform:uppercase;color:var(--sale);font-weight:800;margin-top:3px}
.ol-scope .cd{display:flex;justify-content:center;align-items:flex-start;gap:5px;margin:11px 0 8px}
.ol-scope .cd .u{display:flex;flex-direction:column;align-items:center;gap:3px}
.ol-scope .cd .n{background:var(--ink);color:var(--cream);border-radius:8px;min-width:38px;padding:6px 4px;
  font-size:calc(16*var(--fs,1px));font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.ol-scope .cd .l{font-size:calc(8.5*var(--fs,1px));letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);font-weight:700}
.ol-scope .cd .c{color:var(--ink);font-weight:800;font-size:calc(15*var(--fs,1px));padding-top:6px}
.ol-scope .flash .fe{font-size:calc(10*var(--fs,1px));color:var(--ink2)}
.ol-scope .flash .fb{margin-top:10px;background:var(--sale);color:#fff;border-radius:10px;padding:11px;
  font-size:calc(12.5*var(--fs,1px));font-weight:800;letter-spacing:.04em}
.ol-scope .card .crate{display:flex;align-items:center;gap:3px;margin-top:3px;font-size:calc(9*var(--fs,1px));color:var(--ink2)}
.ol-scope .card .crate .stars{font-size:calc(9*var(--fs,1px));letter-spacing:0}
.ol-scope .look{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ol-scope .look a{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#e6e0d4}
.ol-scope .look img{width:100%;aspect-ratio:3/5;object-fit:cover;display:block}
.ol-scope .trust{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ol-scope .trust>div,.ol-scope .trust>a{background:var(--paper);padding:13px 8px;text-align:center}
.ol-scope .trust .ti{font-size:calc(15*var(--fs,1px));line-height:1;color:var(--sage)}
.ol-scope .trust .ti.stars{color:#C58A2E;font-size:calc(11*var(--fs,1px))}
.ol-scope .trust .tt{font-size:calc(10*var(--fs,1px));font-weight:700;margin-top:5px;color:#42392c}
.ol-scope .ftr{padding:14px 15px 16px;border-top:1px solid var(--line);margin-top:12px}
.ol-scope .ftr .fsoc{display:flex;gap:16px;font-size:calc(11*var(--fs,1px));font-weight:600;color:var(--ink2);padding-bottom:12px}
.ol-scope .facc{border-top:1px solid var(--line)}
.ol-scope .faccq{width:100%;display:flex;align-items:center;justify-content:space-between;
  background:none;border:0;padding:13px 0;min-height:44px;cursor:pointer;
  font:inherit;font-size:calc(11.5*var(--fs,1px));font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#42392c}
.ol-scope .faccq i{font-style:normal;font-size:calc(15*var(--fs,1px));font-weight:400;color:var(--ink2);line-height:1}
.ol-scope .faccp{display:flex;flex-direction:column;gap:9px;padding:0 0 13px}
.ol-scope .faccp[hidden]{display:none}
.ol-scope .faccp a{font-size:calc(11.5*var(--fs,1px));color:var(--ink2);text-decoration:none}
.ol-scope .ftr .fcopy{margin-top:2px;padding-top:13px;border-top:1px solid var(--line);
  font-size:calc(10*var(--fs,1px));color:var(--ink2);text-align:center;letter-spacing:.02em}
.ol-scope .ftr .fcopy b{color:var(--ink);font-weight:700}
.ol-scope .bag-hd{display:flex;justify-content:space-between;align-items:baseline;font-size:calc(14*var(--fs,1px));font-weight:800;
  padding:2px 0 8px;border-bottom:1px solid var(--line);position:relative}
.ol-scope .cact .sfl{color:var(--sage);font-weight:700}
.ol-scope .savedsec{margin-top:20px;border-top:7px solid #ece6de;padding-top:12px}
.ol-scope .citem.saved>img{opacity:.92}
.ol-scope .mtb{border:1px solid var(--ink);border-radius:20px;padding:8px 14px;font-size:calc(11*var(--fs,1px));font-weight:800;background:var(--paper)}
.ol-scope .cact span{position:relative}
.ol-scope .cact span:after{content:"";position:absolute;inset:-10px -8px}
.ol-scope .mtb{position:relative}
.ol-scope .mtb:after{content:"";position:absolute;inset:-5px}
.ol-scope .fav{width:28px;height:28px;font-size:calc(14*var(--fs,1px));background:rgba(255,255,255,.78);border:none;
  box-shadow:0 1px 4px rgba(33,28,21,.16)}
.ol-scope .fav:after{inset:-8px}
.ol-scope .hrow .fav,.ol-scope .grid3 .fav{width:25px;height:25px;font-size:calc(12.5*var(--fs,1px));top:6px;right:6px}
.ol-scope .hrow .fav:after,.ol-scope .grid3 .fav:after{inset:-10px}


/* ============================================================
   主题布局层 —— 原型为 390px 手机稿，这里补齐容器与响应式断点
   ============================================================ */
.ol-scope{margin:0;background:var(--cream);color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}

/* img 的 width/height 属性（防布局抖动）会作为呈现属性压过 aspect-ratio，
   这里统一 height:auto 交还给 CSS；带类选择器的规则（如 .cimg img{height:100%}）优先级更高，不受影响 */
.ol-scope img{max-width:100%;height:auto}
.ol-scope a{color:inherit;text-decoration:none}
.ol-scope .page-main{min-height:60vh}
.ol-scope .container{max-width:1280px;margin:0 auto}
.ol-scope .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ol-scope .btn{cursor:pointer}
.ol-scope .szbox,.ol-scope .fchip,.ol-scope .optsw,.ol-scope .qty i,.ol-scope .addbag{cursor:pointer}


/* 商品网格：移动 2 列 → 平板 3 列 → 桌面 4 列 */
.ol-scope .plp{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:12px 15px}
@media(min-width:700px){
.ol-scope .plp{grid-template-columns:repeat(3,1fr);gap:14px;padding:16px 24px}
}
@media(min-width:1024px){
.ol-scope .plp{grid-template-columns:repeat(4,1fr);gap:18px;padding:20px 32px}
}


/* 横滑楼层在宽屏改为网格 */
@media(min-width:1024px){
.ol-scope .hrow{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible}
.ol-scope .hrow .card{flex:none}
.ol-scope .crow{display:grid;grid-template-columns:repeat(6,1fr);overflow:visible}
.ol-scope .pad{padding:18px 32px}
.ol-scope .card .ct{font-size:calc(13*var(--fs,1px));height:auto;min-height:34px}
.ol-scope .card .cp{font-size:calc(14*var(--fs,1px))}
}
@media(min-width:700px) and (max-width:1023px){
.ol-scope .hrow .card{flex:0 0 168px}
.ol-scope .pad{padding:16px 24px}
}


/* 详情页：宽屏左右分栏（图库 / 购买区） */
@media(min-width:1024px){
.ol-scope .pdp-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;
    max-width:1480px;margin:0 auto;padding:24px 32px;align-items:start}
.ol-scope .pdp-layout .gal{position:sticky;top:0}
.ol-scope .gtrack img{aspect-ratio:3/4}
.ol-scope .ptitle{font-size:calc(22*var(--fs,1px))}
}


/* 购物车页：按原型呈现为右侧抽屉——左侧留缝透出底层页面骨架 */
.ol-scope .cart-stage{position:relative;height:100dvh;background:var(--cream);overflow:hidden}
.ol-scope .cart-stage .cart-under{position:absolute;inset:0}
.ol-scope .cart-stage .cart-scrim{position:absolute;inset:0;background:rgba(20,16,10,.38);display:block}
.ol-scope .cart-wrap{position:absolute;top:0;right:0;bottom:0;width:88%;max-width:480px;margin:0;
  background:var(--cream);border-radius:14px 0 0 14px;box-shadow:-14px 0 40px rgba(0,0,0,.22);
  display:flex;flex-direction:column}
.ol-scope .cart-wrap .cbody{flex:1;overflow-y:auto;padding:14px 15px 16px}
@media(min-width:1024px){
.ol-scope .cart-wrap{max-width:520px}
}


/* 筛选抽屉：默认收起，点击 Filter 展开 */
.ol-scope .ol-filter{display:none}
.ol-scope .ol-filter.open{display:block}


/* 图库：img 带 width/height 属性时，flex 的默认 stretch 会压过 aspect-ratio，
   显式 height:auto + align-self 让 3:4 生效 */
.ol-scope .gtrack img{height:auto;align-self:flex-start}


/* 购物车行项目：主题把缩略图包进了 <a>（可点进商品），
   补一条与原型 .citem>img 等价的规则，避免选择器失配导致图片撑满 */
.ol-scope .citem > a > img{width:66px;height:84px;object-fit:cover;border-radius:8px;flex:none}
.ol-scope .citem > a{flex:none;display:block}


/* 列表页排序下拉在窄屏不挤压 Filter 按钮 */
.ol-scope .fbar select{max-width:60vw;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:var(--paper);font-size:calc(12*var(--fs,1px))}


/* 主 CTA：原型用 <div class="btn">，主题改成 <button>/<a> 后 width:auto 会收缩到文字宽，
   这里显式撑满（.dact .apply、.szunit button 等有自己的类，不受影响） */
.ol-scope .btn{width:100%;box-sizing:border-box}
.ol-scope a.btn{text-decoration:none}


/* 表单元素统一盒模型，避免 width:100% + padding 溢出容器 */
.ol-scope input,.ol-scope textarea,.ol-scope select,.ol-scope button{font:inherit}
.ol-scope input,.ol-scope textarea,.ol-scope select{box-sizing:border-box;max-width:100%}


/* ============================================================
   移动端可读性修正层
   原型为 390px 画框内的设计稿，字号被压到 9.5~12px（商品标题仅 10.5px），
   低于真实设备可读下限。此层整体上调约 25%，仅改字号与行高，不动布局结构。
   若需像素级还原原型，整块删除即可。
   ============================================================ */
.ol-scope .ann-bar{font-size:calc(12*var(--fs,1px))}
.ol-scope .pnav{font-size:calc(13*var(--fs,1px))}
.ol-scope .pnav span{font-size:calc(13*var(--fs,1px))}
.ol-scope .catlbl{font-size:calc(12*var(--fs,1px));line-height:1.3}
.ol-scope .fl-t{font-size:calc(18*var(--fs,1px))}
.ol-scope .fl-s{font-size:calc(12.5*var(--fs,1px))}
.ol-scope .floor-hd.fh2 a{font-size:calc(12*var(--fs,1px))}
.ol-scope .sect-l{font-size:calc(12*var(--fs,1px))}
.ol-scope .note{font-size:calc(12.5*var(--fs,1px))}


/* 商品卡：原型给标题写了固定 height:27px，字号调大后会截断，改为最小高度 */
.ol-scope .card .ct{font-size:calc(13*var(--fs,1px));line-height:1.35;height:auto;min-height:36px}
.ol-scope .card .cp{font-size:calc(14*var(--fs,1px))}
.ol-scope .card .crate{font-size:calc(12*var(--fs,1px))}
.ol-scope .pcard .pt{font-size:calc(13*var(--fs,1px));line-height:1.35;height:auto;min-height:36px}
.ol-scope .pcard .pp b{font-size:calc(14*var(--fs,1px))}
.ol-scope .pcard .pp s{font-size:calc(12*var(--fs,1px))}


/* 详情页 */
.ol-scope .ptitle{font-size:calc(19*var(--fs,1px));line-height:1.3}
.ol-scope .optlbl{font-size:calc(13*var(--fs,1px))}
.ol-scope .szbox{font-size:calc(13*var(--fs,1px))}
.ol-scope .szchart{font-size:calc(12.5*var(--fs,1px))}
.ol-scope .tierline{font-size:calc(12*var(--fs,1px))}
.ol-scope .tiernudge{font-size:calc(13*var(--fs,1px))}
.ol-scope .pcname{font-size:calc(12.5*var(--fs,1px))}
.ol-scope .pcprice{font-size:calc(13*var(--fs,1px))}
.ol-scope .rmeta{font-size:calc(12*var(--fs,1px))}


/* 列表页筛选 */
.ol-scope .fbar,.ol-scope .fbtn,.ol-scope .cf,.ol-scope .fchip,.ol-scope .frow .fk,.ol-scope .frow .fv{font-size:calc(13*var(--fs,1px))}
.ol-scope .fhint{font-size:calc(11.5*var(--fs,1px))}


/* 购物车 */
.ol-scope .taxnote,.ol-scope .shipsub{font-size:calc(12*var(--fs,1px))}
.ol-scope .shipmsg{font-size:calc(13*var(--fs,1px))}
.ol-scope .qty b{font-size:calc(14*var(--fs,1px))}


/* 首屏文案：浅色图上仅靠 text-shadow 不足以保证对比度，加一层底部渐变遮罩（仅有标题/副标题的幻灯片才加） */
.ol-scope .hslides .s.has-cap::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;
  background:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0));pointer-events:none}
.ol-scope .hcap{z-index:1}


/* PC 端 Shop by Color：原型 .ccard/.cimg 是手机横滑用的固定 96px 宽，
   桌面 6 等分网格里会缩在列角显得松散——让卡片撑满列宽并按比例放大 */
@media(min-width:1024px){
.ol-scope .crow .ccard{flex:none;width:auto}
.ol-scope .crow .cimg{width:100%;height:auto;aspect-ratio:4/5}
.ol-scope .crow .cname{font-size:calc(13*var(--fs,1px));gap:7px;margin-top:9px;justify-content:center}
.ol-scope .crow .cname i{width:11px;height:11px}
}
@media(min-width:700px) and (max-width:1023px){
.ol-scope .crow{display:grid;grid-template-columns:repeat(6,1fr);overflow:visible}
.ol-scope .crow .ccard{flex:none;width:auto}
.ol-scope .crow .cimg{width:100%;height:auto;aspect-ratio:4/5}
}


/* 信任标可点击时保持原视觉 */
.ol-scope .trust a{display:block;text-decoration:none;color:inherit}


/* 分类快捷导航：链接化后保持原型视觉 */
.ol-scope .pnav a{text-decoration:none;color:inherit;display:inline-flex}


/* 促销条按钮：原型为 div，链接化(<a>)后需恢复块级，否则 margin-top 失效叠住上方文字 */
.ol-scope .flash .fb{display:block;text-decoration:none}


/* 图片加载中的占位底色：懒加载/慢网时商品卡不再是一片空白 */
.ol-scope .card img,.ol-scope .pcard img,.ol-scope .gtrack img,.ol-scope .cimg img,.ol-scope .bsbanner img,.ol-scope .look img{background:#EAE3D6}


/* Shopify 动态支付按钮（Buy it now / Shop Pay / PayPal）：与主按钮同风格 */
.ol-scope .shopify-payment-button{margin-top:8px}
.ol-scope .shopify-payment-button__button{border-radius:11px;overflow:hidden;min-height:47px;
  font-weight:800;font-size:calc(14*var(--fs,1px));letter-spacing:.02em}
.ol-scope .shopify-payment-button__button--unbranded{background:var(--sage);color:#fff}
.ol-scope .shopify-payment-button__button--unbranded:hover{background:#5c5a3a}
.ol-scope .shopify-payment-button__more-options{margin-top:6px;font-size:calc(12*var(--fs,1px));color:var(--ink2)}


/* 列表卡：主图滑动轨道 + 详情页同款圆点 + 缩略图行横滑 */
.ol-scope .pcard .pimgs,.ol-scope .card .pimgs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;border-radius:10px}
.ol-scope .pcard .pimgs::-webkit-scrollbar,.ol-scope .card .pimgs::-webkit-scrollbar{display:none}
.ol-scope .pcard .pimgs img,.ol-scope .card .pimgs img{flex:0 0 100%;scroll-snap-align:center}
.ol-scope .pcard .imgdots i.on,.ol-scope .card .imgdots i.on{background:#fff;width:17px;border-radius:3px}
.ol-scope .swi-row{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}
.ol-scope .swi-row::-webkit-scrollbar{display:none}
.ol-scope .swi{flex:none}


/* grid 单元格允许收缩，缩略图行被卡片宽度约束后才会横滑 */
.ol-scope .plp .pcard{min-width:0}
.ol-scope .swi-row{max-width:100%}


/* 首页轮播：由自动淡切改为 scroll-snap 滑动轨道（与列表/详情一致） */
.ol-scope .hslides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;aspect-ratio:auto}
.ol-scope .hslides::-webkit-scrollbar{display:none}
.ol-scope .hslides .s{position:relative;inset:auto;flex:0 0 100%;opacity:1;animation:none;
  scroll-snap-align:center;aspect-ratio:3/4}
.ol-scope .hslides .s img{width:100%;height:100%;object-fit:cover}
.ol-scope .hero{position:relative}
.ol-scope .hero .hdots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);
  display:flex;gap:5px;z-index:2}
.ol-scope .hero .hdots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);
  display:block;cursor:pointer;transition:width .2s}
.ol-scope .hero .hdots i.on{background:#fff;width:18px;border-radius:3px}
@media(min-width:1024px){
.ol-scope .hslides .s{aspect-ratio:21/9}
}


/* 分类快捷条只服务移动端——桌面端(≥768px) Symmetry 主导航已展示同一菜单，避免两行重复 */
@media(min-width:768px){
.ol-scope .pnav{display:none}
}


/* 双横幅：移动堆叠，桌面并排 */
.ol-scope .bpair{display:grid;gap:8px}
.ol-scope .bpair .bsbanner{margin:0}
@media(min-width:768px){
.ol-scope .bpair{grid-template-columns:1fr 1fr;gap:14px}
}


/* 商品横滑楼层：移动端露 2.5 卡、桌面端露 4.5 卡，半个身位提示可滑 */
.ol-scope .hrow{display:flex;overflow-x:auto;scroll-snap-type:x proximity;
  scrollbar-width:none;-ms-overflow-style:none}
.ol-scope .hrow::-webkit-scrollbar{display:none}
.ol-scope .hrow .card{flex:0 0 calc((100% - 16px) / 2.5);scroll-snap-align:start;min-width:0}
@media(min-width:700px) and (max-width:1023px){
.ol-scope .hrow .card{flex:0 0 calc((100% - 32px) / 3.5)}
}
@media(min-width:1024px){
.ol-scope .hrow{display:flex;overflow-x:auto;gap:14px}
.ol-scope .hrow .card{flex:0 0 calc((100% - 56px) / 4.5)}
}


/* 横滑楼层内图轨道：禁边界橡皮筋，保证到界即接力楼层滚动 */
.ol-scope .hrow .pimgs{overscroll-behavior-x:none}


/* 商品卡标题截断：移动端 2 行省略，桌面端 1 行省略（覆盖首页楼层/列表页/详情页推荐位） */
.ol-scope .card .ct,.ol-scope .pcard .pt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;text-overflow:ellipsis}
@media(min-width:1024px){
.ol-scope .card .ct,.ol-scope .pcard .pt{-webkit-line-clamp:1;min-height:0;height:auto}
}


/* 穿搭图集：由 2×2 网格改为单行横滑，露半张提示可滑 */
.ol-scope .look{display:flex;overflow-x:auto;gap:8px;scroll-snap-type:x proximity;
  scrollbar-width:none;-ms-overflow-style:none}
.ol-scope .look::-webkit-scrollbar{display:none}
.ol-scope .look a{flex:0 0 calc((100% - 11px) / 2.3);scroll-snap-align:start}
@media(min-width:1024px){
.ol-scope .look{gap:14px}
.ol-scope .look a{flex:0 0 calc((100% - 49px) / 4.5)}
}


/* 页脚社交：圆形描边图标按钮，悬停反色 */
.ol-scope .fsoc--icons{display:flex;gap:12px;align-items:center;justify-content:center}
.ol-scope .fsoc--icons a{display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:var(--paper);color:#42392c;transition:background .15s,color .15s}
.ol-scope .fsoc--icons a:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}


/* PC 端筛选：常驻侧栏样式但可折叠——默认收起商品区全宽，点 Filter 展开左侧栏、商品区让位 */
@media(min-width:1024px){
.ol-scope .fbar{display:flex;justify-content:space-between;align-items:center;padding:14px 32px}
.ol-scope .chipsf{padding-left:32px;padding-right:32px}
.ol-scope .fbar .f{display:flex;justify-content:flex-end}
.ol-scope .fbar select{max-width:none}
.ol-scope:has(> .ol-filter.open) .chipsf{padding-right:0}
.ol-scope:has(> .ol-filter.open){display:grid;grid-template-columns:260px minmax(0,1fr);
    column-gap:32px;align-items:start;padding:0 32px}
.ol-scope:has(> .ol-filter.open) .fbar{grid-column:1 / -1;margin:0 -32px;padding:14px 32px}
.ol-scope:has(> .ol-filter.open) .chipsf{grid-column:2;padding-left:0}
.ol-scope:has(> .ol-filter.open) .ol-filter{display:block;grid-column:1;grid-row:2 / span 4;
    position:sticky;top:calc(var(--theme-sticky-header-height, 0px) + 16px);margin-top:20px;
    max-height:calc(100vh - var(--theme-sticky-header-height, 0px) - 32px);overflow-y:auto;
    border:1px solid var(--line);border-radius:12px;
    background:var(--paper);overflow:hidden}
.ol-scope:has(> .ol-filter.open) .plp{grid-column:2;padding:20px 0 12px}
.ol-scope:has(> .ol-filter.open) .pager{grid-column:2}
.ol-scope .ol-filter .dhd span{display:none}
}


/* 工具栏美化：Filter 药丸带滑杆图标，Sort 自绘下拉，同高同风格 */
.ol-scope .fbtn{display:inline-flex;align-items:center;gap:8px;padding:0 18px;height:40px;
  border:1.5px solid var(--ink);border-radius:22px;font-size:calc(13*var(--fs,1px));font-weight:700;
  letter-spacing:.02em;background:var(--paper);color:var(--ink);cursor:pointer;
  transition:background .15s,color .15s}
.ol-scope .fbtn::before{content:'';width:14px;height:14px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><path d='M4 21v-6M4 11V3M12 21v-10M12 7V3M20 21v-4M20 13V3M1 15h6M9 11h6M17 17h6'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><path d='M4 21v-6M4 11V3M12 21v-10M12 7V3M20 21v-4M20 13V3M1 15h6M9 11h6M17 17h6'/></svg>") center/contain no-repeat}
.ol-scope .fbtn:hover,.ol-scope .fbtn.on{background:var(--ink);color:var(--cream)}
.ol-scope .fbtn .fcount{background:var(--sale);color:#fff;border-radius:10px;min-width:18px;height:18px;
  display:inline-flex;align-items:center;justify-content:center;font-size:calc(11*var(--fs,1px));padding:0 5px}
.ol-scope .fbar select{appearance:none;-webkit-appearance:none;height:40px;padding:0 40px 0 16px;
  border:1.5px solid var(--ink);border-radius:22px;font-size:calc(13*var(--fs,1px));font-weight:700;
  color:var(--ink);cursor:pointer;
  background:var(--paper) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23211C15' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 14px center/13px}
.ol-scope .fbar select:hover{border-color:var(--sage)}
.ol-scope .fbar select:focus-visible{outline:2px solid var(--sage);outline-offset:2px}


/* 价格区间输入：两框各半、带小标签，不溢出侧栏 */
.ol-scope .ol-filter .prange{display:flex;gap:10px;padding:2px 0 4px}
.ol-scope .ol-filter .prange label{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;
  font-size:calc(11*var(--fs,1px));color:var(--ink2);font-weight:600}
.ol-scope .ol-filter .prange input{width:100%;box-sizing:border-box;border:1px solid var(--line);
  border-radius:9px;padding:9px 10px;background:var(--paper);font-size:calc(13*var(--fs,1px));color:var(--ink)}
.ol-scope .ol-filter .prange input:focus-visible{outline:2px solid var(--sage);outline-offset:1px}


/* 排序下拉：展开选项字号、选中态可读性 */
.ol-scope .fbar select option{font-size:calc(14*var(--fs,1px));font-weight:500;padding:6px 8px}

/* 列表页：一键返回顶部悬浮按钮 */
.ol-scope .totop{position:fixed;right:14px;bottom:92px;z-index:5;width:44px;height:44px;border-radius:50%;
  border:1px solid var(--ink);background:var(--paper);color:var(--ink);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 4px 14px rgba(33,28,21,.18);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s,visibility .25s,transform .25s}
.ol-scope .totop.show{opacity:1;visibility:visible;transform:none}
.ol-scope .totop svg{width:16px;height:16px}
.ol-scope .totop:hover{border-color:var(--sage)}
.ol-scope .totop:focus-visible{outline:2px solid var(--sage);outline-offset:2px}

/* PC 详情页右栏：购买按钮下方信息区（≥1024px 显示；移动端沿用原全宽楼层） */
.ol-scope .psku{font-size:calc(13.5*var(--fs,1px));color:var(--ink);letter-spacing:.02em}
.ol-scope .psku-m{margin:14px 0 0}
.ol-scope .pdp-more{display:none}
@media(min-width:1024px){
  .ol-scope .pdp-more{display:block;margin-top:16px}
  .ol-scope .pinfo-sec,.ol-scope .pieces-sec{display:none}
  .ol-scope .pdp-more .accgroup{border-bottom:1px solid var(--line);margin:6px 0 28px}
  .ol-scope .pdp-more .accmount:empty{display:none}
  .ol-scope .pdp-more .pinfo-sec{display:block;padding:0;background:none}
  .ol-scope .pdp-more .piecesmount:empty{display:none}
  .ol-scope .pdp-more .pieces-sec{display:block;padding:16px 16px 18px;border-radius:14px;background:var(--paper)!important;border:1px solid var(--line)!important}
  .ol-scope .pdp-more .psku-m{margin:16px 0 18px}
  .ol-scope .pdp-more .acc{font-size:calc(13.5*var(--fs,1px));padding:14px 0;cursor:pointer;align-items:center}
  .ol-scope .pdp-more .acc span{font-weight:400;font-size:calc(17*var(--fs,1px));line-height:1}
  .ol-scope .pdp-more .accp{padding:0 0 16px;font-size:calc(13.5*var(--fs,1px));line-height:1.6}
    padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:14px}
    text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
  .ol-scope .psku b{font-weight:800}
}

/* mey-link 尺码表链接：注入于 SIZE 标题行右侧的样式兜底 */
.ol-scope .szhd .my-ks-chart-container{margin:0;line-height:1}

/* mey-link 尺码表弹窗：移动端改为底部抽屉上滑（弹窗挂在 body 下、.ol-scope 之外，
   选择器不加前缀；双写类名压过挂件运行时注入的同名规则） */
@media(max-width:1023px){
  .szc-modal.szc-modal{align-items:flex-end;justify-content:stretch}
  .szc-modal .szc-modal-inner{width:100%;max-width:none;border-radius:14px 14px 0 0;
    max-height:85vh;animation:olSzcSheetUp .28s ease}
}
@keyframes olSzcSheetUp{from{transform:translateY(100%)}to{transform:none}}

/* PC 详情页图库：主图下方全量缩略图条（移动端沿用圆点） */
.ol-scope .gthumbs{display:none}
@media(min-width:1024px){
  .ol-scope .gthumbs{position:absolute;left:0;top:0;bottom:0;width:76px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;overflow-x:hidden;margin-top:0;scrollbar-width:none}
  .ol-scope .gthumbs::-webkit-scrollbar{display:none}
  .ol-scope .gthumb{position:relative;flex:0 0 auto;padding:0;background:none;cursor:pointer;border:2px solid transparent}
  .ol-scope .gthumb img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block}
  .ol-scope .gthumb.on{border-color:var(--ink)}
  .ol-scope .gal .gtrack{margin-left:88px}
  .ol-scope .gthumb .gplay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:calc(20*var(--fs,1px));text-shadow:0 1px 6px rgba(0,0,0,.5)}
  .ol-scope .pdp-layout .gal .gdots{display:none}
}

/* More payment options：按原型样式（橄榄色加粗下划线） */
.ol-scope .shopify-payment-button__more-options{color:var(--sage);font-weight:700;font-size:calc(12.5*var(--fs,1px));
  text-decoration:underline;text-underline-offset:3px;letter-spacing:.01em}
.ol-scope .shopify-payment-button__more-options:hover{color:var(--ink)}

/* 详情页图库：非当前颜色的图与缩略图隐藏（按颜色变体主图位置分组） */
.ol-scope .gtrack .goff,.ol-scope .gthumb.goff{display:none!important}

/* 图库视频：与图片同规格，静音自动循环内联播放 */
.ol-scope .gtrack video{flex:0 0 100%;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%;
  scroll-snap-align:center;display:block;height:auto;align-self:flex-start;background:#000}

/* 满减凑单提示：优惠金额闪烁强调（尊重系统减弱动效偏好） */
.ol-scope .tiernudge .tier-hot{font-weight:800;font-size:1.1em;color:#d4a017;text-shadow:0 0 6px rgba(212,160,23,.55);display:inline-block;
  animation:olTierBlink 1.1s ease-in-out infinite}
@keyframes olTierBlink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.ol-scope .tiernudge .tier-hot{animation:none}}

/* 满减档位行：金额加深 */
.ol-scope .tierline .tier-amt{color:#5c5344;font-weight:700}

/* 列表页快速加购弹窗：PC 居中，移动端底部弹出 3/4 屏（挂 body 下，olqa- 独立前缀防冲突） */
.olqa-overlay{position:fixed;inset:0;background:rgba(20,16,10,.45);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.olqa-modal{background:var(--paper,#fdfcf9);border-radius:14px;width:100%;max-width:780px;max-height:90vh;overflow-y:auto;position:relative;padding:26px;box-shadow:0 25px 60px rgba(0,0,0,.3)}
.olqa-close{position:absolute;top:10px;right:12px;width:32px;height:32px;border:none;background:none;font-size:calc(16*var(--fs,1px));cursor:pointer;color:var(--ink,#211c15);z-index:2}
.olqa-body{display:grid;grid-template-columns:300px 1fr;grid-template-rows:auto 1fr;gap:4px 26px}
.olqa-media{grid-row:1/3}
.olqa-media{position:relative}
.olqa-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:10px}
.olqa-track::-webkit-scrollbar{display:none}
.olqa-track img{flex:0 0 100%;width:100%;aspect-ratio:3/4;object-fit:cover;scroll-snap-align:center;display:block}
.olqa-gprev,.olqa-gnext{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:none;background:rgba(255,255,255,.85);color:var(--ink,#211c15);font-size:calc(18*var(--fs,1px));line-height:1;cursor:pointer;display:none;z-index:1}
.olqa-gprev{left:8px}.olqa-gnext{right:8px}
@media(min-width:1024px){.olqa-gprev,.olqa-gnext{display:block}}
.olqa-dots{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:flex;gap:4px;background:rgba(0,0,0,.28);padding:4px 7px;border-radius:20px}
.olqa-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55)}
.olqa-dots i.on{background:#fff}
.olqa-title{display:block;font-size:calc(15*var(--fs,1px));font-weight:700;color:var(--ink,#211c15);text-decoration:none;margin:2px 26px 6px 0;line-height:1.35}
.olqa-price b{font-size:calc(16*var(--fs,1px))}
.olqa-price s{color:var(--ink2,#8a8071);font-size:calc(12.5*var(--fs,1px));margin-left:7px}
.olqa-optlbl{font-size:calc(11*var(--fs,1px));letter-spacing:.14em;text-transform:uppercase;color:var(--sage,#6e6b45);font-weight:700;margin:13px 0 6px}
.olqa-optlbl span{color:var(--ink,#211c15);letter-spacing:0;text-transform:none}
.olqa-opts{display:flex;flex-wrap:wrap;gap:7px}
.olqa-opt{border:1px solid var(--line,#e5dfd2);border-radius:9px;padding:8px 13px;font-size:calc(12.5*var(--fs,1px));font-weight:600;cursor:pointer;background:var(--paper,#fdfcf9);color:var(--ink,#211c15)}
.olqa-opt.on{background:var(--ink,#211c15);color:var(--cream,#faf6ee);border-color:var(--ink,#211c15)}
.olqa-opt.off{opacity:.35;text-decoration:line-through;cursor:not-allowed}
/* 快速加购颜色缩略图：与商品卡 .swi / 详情页 .optsw 一致的圆角方块，不用圆形 */
.olqa-sw{width:40px;height:40px;border-radius:7px;padding:0;background-size:cover;background-position:center top;
  border:1px solid rgba(0,0,0,.10)}
.olqa-sw.on{border-color:var(--ink,#211c15);box-shadow:0 0 0 1px var(--ink,#211c15)}
.olqa-add,.olqa-buy{display:block;width:100%;margin-top:10px;border-radius:11px;padding:12px;font-size:calc(13*var(--fs,1px));font-weight:800;letter-spacing:.05em;cursor:pointer}
.olqa-add{background:var(--ink,#211c15);color:var(--cream,#faf6ee);border:1px solid var(--ink,#211c15);margin-top:16px}
.olqa-buy{background:var(--paper,#fdfcf9);color:var(--ink,#211c15);border:1px solid var(--ink,#211c15)}
.olqa-add[disabled],.olqa-buy[disabled]{opacity:.5;cursor:not-allowed}
@media(max-width:1023px){
  .olqa-overlay{align-items:flex-end;padding:0}
  .olqa-modal{max-width:none;height:75vh;max-height:75vh;border-radius:14px 14px 0 0;animation:olSzcSheetUp .28s ease}
  .olqa-body{grid-template-columns:96px 1fr;grid-template-rows:auto auto}
  .olqa-media{grid-row:auto}
  .olqa-info{grid-column:1/-1}
}

/* 快速加购弹窗：图片点击全屏放大预览 */
.olqa-track img{cursor:zoom-in}
.olqa-zoom{position:fixed;inset:0;background:rgba(12,10,7,.92);z-index:1200;display:none;flex-direction:column}
.olqa-zoom-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border:none;border-radius:50%;
  background:rgba(255,255,255,.14);color:#fff;font-size:calc(17*var(--fs,1px));cursor:pointer;z-index:2}
.olqa-zoom-track{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.olqa-zoom-track::-webkit-scrollbar{display:none}
.olqa-zoom-cell{flex:0 0 100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;padding:22px}
.olqa-zoom-cell img{max-width:100%;max-height:100%;object-fit:contain;cursor:default}

/* 放大预览：PC 左右切换箭头 */
.olqa-zoom-prev,.olqa-zoom-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;
  border:none;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:calc(26*var(--fs,1px));line-height:1;
  cursor:pointer;z-index:2;display:none}
.olqa-zoom-prev{left:18px}.olqa-zoom-next{right:18px}
.olqa-zoom-prev:hover,.olqa-zoom-next:hover{background:rgba(255,255,255,.3)}
@media(min-width:1024px){.olqa-zoom-prev,.olqa-zoom-next{display:block}}

/* 闪购楼层：PC 端按钮收窄至与标题相仿并居中 */
@media(min-width:1024px){
  .ol-scope .flash .fb{width:max-content;min-width:300px;margin-left:auto;margin-right:auto;padding:11px 40px}
}

/* 信任徽章：PC 端一行四列，放大图标与文案 */
@media(min-width:1024px){
  .ol-scope .trust{grid-template-columns:repeat(4,1fr)}
  .ol-scope .trust>div,.ol-scope .trust>a{padding:22px 12px}
  .ol-scope .trust .ti{font-size:calc(26*var(--fs,1px))}
  .ol-scope .trust .ti.stars{font-size:calc(18*var(--fs,1px));letter-spacing:2px}
  .ol-scope .trust .tt{font-size:calc(14*var(--fs,1px));margin-top:9px}
}

/* 订阅楼层：宽屏下卡片整体收窄居中，输入框与按钮宽度与标题相仿 */
@media(min-width:700px){
  .ol-scope .nl-sec .news{max-width:520px;margin-left:auto;margin-right:auto}
  .ol-scope .news input,.ol-scope .news .btn{max-width:420px;margin-left:auto;margin-right:auto;display:block}
}

/* PC 页脚：三列布局（订阅卡 | 菜单×2），菜单默认展开；订阅原位隐藏由 JS 移入页脚 */
@media(min-width:1024px){
  .ol-scope .nl-sec{display:none}
  .ol-scope .ftr{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:6px 48px;align-items:start;padding:26px 32px 18px}
  .ol-scope .ftr .fnews-slot{grid-column:3;grid-row:1}
  .ol-scope .ftr>.fsoc{grid-column:1/-1}
  .ol-scope .ftr .fnews-slot:empty{display:none}
  .ol-scope .ftr .facc{border-top:none}
  .ol-scope .ftr .faccq{pointer-events:none;font-size:calc(12*var(--fs,1px));letter-spacing:.08em;text-transform:uppercase;padding:6px 0 10px}
  .ol-scope .ftr .faccq i{display:none}
  .ol-scope .ftr .faccp[hidden]{display:flex}
  .ol-scope .ftr .faccp a{font-size:calc(12*var(--fs,1px));line-height:1.7}
  .ol-scope .ftr .fcopy{grid-column:1/-1;margin-top:14px}
  .ol-scope .ftr .news{text-align:left;padding:18px 20px;max-width:460px;margin-left:auto}
  .ol-scope .ftr .fnews-slot .fsoc{max-width:460px;margin-left:auto}
  .ol-scope .ftr .news input,.ol-scope .ftr .news .btn{max-width:none;margin-left:0;margin-right:0}
  .ol-scope .ftr .fnews-slot .fsoc{padding:14px 0 0;justify-content:center}
}

/* Shop by Color：≥700px 恢复 6 列网格铺满（豁免于「商品横滑楼层」对 .hrow 的全宽 flex 覆盖，
   该层与 .crow 网格同优先级且靠后，故此处用双类名提权并置于文件末尾）；<700px 维持横滑 */
@media(min-width:700px){
  .ol-scope .crow.crow{display:grid;grid-template-columns:repeat(6,1fr);overflow:visible;gap:12px}
}

/* Clearance / Ships in 24h：PC 端整行 5 列网格（豁免横滑层，双类名提权）；Styled by Olivria：按块数等分铺满 */
@media(min-width:1024px){
  .ol-scope .hgrid5.hgrid5{display:grid;grid-template-columns:repeat(5,1fr);overflow:visible;gap:14px}
  .ol-scope .hgrid5 .card{flex:none;width:auto;min-width:0}
  .ol-scope .look{display:flex;gap:12px}
  .ol-scope .look a{flex:1 1 0;min-width:0}
}

/* 穿搭图集：<1024px 单行横滑，两张整图 + 第三张露 1/4 提示可滑 */
@media(max-width:1023px){
  .ol-scope .look.look{display:flex;gap:5px;overflow-x:auto}
  .ol-scope .look.look a{flex:0 0 calc((100% - 10px)/2.25);width:auto}
}

/* 商品卡（.card 形态）补定位上下文：折扣角标锚定在卡内，防止逃逸到外层定位容器 */
.ol-scope .card{position:relative}

/* 相关推荐（评价下方全宽楼层）：PC 一行 5 列铺满 */
@media(min-width:1024px){
  .ol-scope .rel-sec .grid3{grid-template-columns:repeat(5,1fr);gap:14px}
}

/* 相关推荐：<1024px 单行横滑（露2.5卡），隐藏滚动条 */
@media(max-width:1023px){
  .ol-scope .rel-sec .grid3{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x proximity;
    scrollbar-width:none;-ms-overflow-style:none}
  .ol-scope .rel-sec .grid3::-webkit-scrollbar{display:none}
  .ol-scope .rel-sec .grid3>*{flex:0 0 calc((100% - 16px)/2.5);scroll-snap-align:start;min-width:0}
}

/* PC 详情页右栏：与左侧主图等高 + 内部滚动 */
@media(min-width:1024px){
  .ol-scope .pdp-layout{align-items:stretch}
  .ol-scope .pdp-layout .gal{margin-bottom:0}
  .ol-scope .pdp-layout .pdp-buy{position:relative}
  .ol-scope .pdp-layout .pdp-buy>.pad{position:absolute;inset:0;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain;
    scrollbar-color:rgba(33,28,21,.09) transparent}
  /* 右栏滚动条压暗：细、半透明、无轨道，悬停时略加深 */
  .ol-scope .pdp-layout .pdp-buy>.pad::-webkit-scrollbar{width:5px}
  .ol-scope .pdp-layout .pdp-buy>.pad::-webkit-scrollbar-track{background:transparent}
  .ol-scope .pdp-layout .pdp-buy>.pad::-webkit-scrollbar-thumb{background:rgba(33,28,21,.09);border-radius:6px}
  .ol-scope .pdp-layout .pdp-buy>.pad:hover::-webkit-scrollbar-thumb{background:rgba(33,28,21,.18)}
}

/* 拆件单买卡片：隐藏图上左上角的类型角标 */
.ol-scope .pckind{display:none}

/* 购物车 Order note：折叠开关 */
.ol-scope .notetgl{display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#b3a996}
.ol-scope .notetgl i{font-style:normal;font-size:calc(15*var(--fs,1px));color:var(--ink2);line-height:1}
.ol-scope .notetgl.op i::before{content:"\2212"}
.ol-scope .notetgl.op i{font-size:0}
.ol-scope .notetgl.op i::before{font-size:calc(15*var(--fs,1px))}
.ol-scope #ordernote[hidden]{display:none}

/* 快速加购：选中色块不覆盖图片（选中态只用外圈描边）；BUY NOW 与详情页 Buy it now 同风格 */
.olqa-sw.olqa-opt.on{background-color:transparent;border-color:var(--ink,#211c15);background-size:cover;background-position:center top}
.olqa-buy{background:var(--sage,#6e6b45);color:#fff;border-color:var(--sage,#6e6b45)}
.olqa-buy:hover{background:#5c5a3a}

/* 快速加购圆点：与详情页 gdots 一致（最多5个、活动点拉长） */
.olqa-dots i{transition:width .2s}
.olqa-dots i.on{width:14px;border-radius:3px}

/* 快速加购：官方动态支付按钮容器（弹窗位于 .ol-scope 外，样式不加前缀） */
.olqa-pay{margin-top:10px}
.olqa-pay .shopify-payment-button__button{border-radius:11px;overflow:hidden;min-height:47px}
.olqa-pay .shopify-payment-button__button--unbranded{background:var(--sage,#6e6b45);color:#fff}
.olqa-pay .shopify-payment-button__more-options{display:block;margin:8px auto 0;text-align:center;
  color:var(--sage,#6e6b45);font-weight:700;font-size:calc(12.5*var(--fs,1px));text-decoration:underline;text-underline-offset:3px}
.olqa-pay .shopify-payment-button__more-options:hover{color:var(--ink,#211c15)}

/* 拆件单买卡片：标题最多两行，超出省略号 */
.ol-scope .pcname{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

/* 筛选侧栏：底部操作条钉住，中间条件区域独立上下滚动 */
@media(min-width:1024px){
  .ol-scope:has(> .ol-filter.open) .ol-filter{overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;scrollbar-width:thin}
  .ol-scope:has(> .ol-filter.open) .ol-filter > *{flex:0 0 auto}
  .ol-scope:has(> .ol-filter.open) .ol-filter .dact{position:sticky;bottom:0;margin-top:auto;z-index:1;
    background:var(--paper);border-top:1px solid var(--line);padding-top:10px;padding-bottom:12px}
}

/* Filter 按钮与已选条件 chip：压扁一点、拉长一点（PC） */
@media(min-width:1024px){
  .ol-scope .fbtn{height:34px;padding:0 24px}
  .ol-scope .cf{display:inline-flex;align-items:center;height:30px;padding:0 16px;line-height:1}
}

/* 筛选相关按钮：黑底改深灰底（Filter 激活态 / 已选 chip / View Results） */
.ol-scope .fbtn:hover,.ol-scope .fbtn.on{background:#363129;border-color:#363129;color:var(--cream)}
.ol-scope .cf.act{background:#363129;border-color:#363129}
.ol-scope .dact .apply{background:#363129}

/* Filter 按钮与排序下拉：高度 30px；交互态边框浅黑 */
@media(min-width:1024px){
  .ol-scope .fbtn{height:30px;padding:0 20px}
  .ol-scope .fbar select{height:30px;padding-top:0;padding-bottom:0;line-height:28px;border-radius:20px}
}
.ol-scope .fbar select:hover,.ol-scope .fbar select:focus,.ol-scope .fbar select:focus-visible{border-color:#363129;outline-color:#363129}
.ol-scope .fbtn:hover,.ol-scope .fbtn.on{border-color:#363129}

/* 筛选控件统一浅黑 + 尺寸（M/PC 通用）：面板内选中项、chip、Filter 按钮、排序下拉 */
.ol-scope .fchip.on{background:#363129;border-color:#363129}
.ol-scope .cf{display:inline-flex;align-items:center;height:30px;padding:0 16px;line-height:1}
.ol-scope .fbtn{height:30px;padding:0 20px}
.ol-scope .fbar select{height:30px;padding-top:0;padding-bottom:0;line-height:28px;border-radius:20px}

/* 排序下拉：去外框胶囊，仅文字+箭头 */
.ol-scope .fbar select,.ol-scope .fbar select:hover,.ol-scope .fbar select:focus{border:none;border-radius:0;background-color:transparent;outline:none}

/* PC 全局字号缩放：所有 font-size 均已改写为 calc(N*var(--fs))，此处统一放大 15% */
@media(min-width:1024px){
  .ol-scope{--fs:1.15px}
}

/* PC 商品卡标题：首页(.card .ct)/列表页(.pcard .pt)加大加深 */
@media(min-width:1024px){
  .ol-scope .card .ct,.ol-scope .pcard .pt{font-size:calc(15*var(--fs,1px));font-weight:500;
    line-height:1.35;min-height:0}
}

/* PC 分类圆图标签加大 */
@media(min-width:1024px){
  .ol-scope .catlbl{font-size:calc(15*var(--fs,1px));margin-top:10px}
}

/* PC 分类圆图：缩小至列宽 60% 居中，一行均分、列间自然留空（移动端保持满宽） */
.ol-scope .catimg{width:100%}
@media(min-width:1024px){
  .ol-scope .catgrid{gap:7px 32px}
  .ol-scope .catimg{width:80%;margin:0 auto}
}

/* 横幅类图片悬浮按钮：九宫位（横幅/双横幅/穿搭图集/轮播通用） */
.ol-scope .bsbanner,.ol-scope .look a{position:relative}
.ol-scope .bcta{position:absolute;display:inline-block;background:#fff;color:#211C15;
  font-size:calc(11.5*var(--fs,1px));font-weight:800;padding:7px 18px;border-radius:24px;
  box-shadow:0 1px 8px rgba(0,0,0,.18);white-space:nowrap;z-index:1}
.ol-scope .bcta.tl{top:6%;left:5%}
.ol-scope .bcta.tc{top:6%;left:50%;transform:translateX(-50%)}
.ol-scope .bcta.tr{top:6%;right:5%}
.ol-scope .bcta.ml{top:50%;left:5%;transform:translateY(-50%)}
.ol-scope .bcta.mc{top:50%;left:50%;transform:translate(-50%,-50%)}
.ol-scope .bcta.mr{top:50%;right:5%;transform:translateY(-50%)}
.ol-scope .bcta.bl{bottom:7%;left:5%}
.ol-scope .bcta.bc{bottom:7%;left:50%;transform:translateX(-50%)}
.ol-scope .bcta.br{bottom:7%;right:5%}

/* 页脚贴底：短内容页（政策页等）正文撑满剩余视口，页脚下不留白 */
body{display:flex;flex-direction:column;min-height:100dvh}
main#content{flex:1 0 auto}

/* 详情页折叠内容里的超链接：蓝色 + 下划线 */
.ol-scope .accp a{color:#1a56b0;text-decoration:underline;text-underline-offset:2px}


/* 全站页面底色统一为奶油色：内容页、政策页，以及详情页评价区/推荐位这类非 .ol-scope 的第三方或 Symmetry 区块，背后都不再露白，
   Symmetry 默认配色 section 背景透明，只需覆盖 body 变量即可 */
body{--body-bg-color:246 242 235;background:#F6F2EB}


/* 购物车顶部（/cart 页与浮层共用）：标题左对齐 "Your cart (N)"，免邮条左对齐 + 通栏进度条 */
.ol-scope .cart-hd{padding:16px 20px 14px;border-bottom:0}
.ol-scope .cart-title{font-size:calc(22*var(--fs,1px));font-weight:400;letter-spacing:.01em;color:var(--ink)}
.ol-scope .cart-title b{font-weight:400}
.ol-scope .cart-hd .ic{font-size:calc(20*var(--fs,1px))}
.ol-scope .shipbar{text-align:left;padding:2px 20px 16px;border-bottom:0}
.ol-scope .shipmsg{font-size:calc(15*var(--fs,1px));font-weight:400;color:#4a4335}
.ol-scope .shipprog{max-width:none;margin:14px 0 0;height:7px;background:#e3ddcf}
.ol-scope .shipprog i{background:#0a8a0a}

/* 首屏轮播：配了链接时整张图可点 */
.ol-scope .hslides .s .slink{display:block;width:100%;height:100%;cursor:pointer}
.ol-scope .hslides .s .slink picture,.ol-scope .hslides .s .slink img{width:100%;height:100%}


/* Ratevo 评价插件（myrv-*）：页面底色已统一为奶油，插件会跟随页面变奶油；
   这里把评价卡片、表单、下拉、翻页等面板固定回白色，与奶油底形成分区。
   插件样式来自第三方 CDN、优先级更高，故用 !important。仅 B 主题加载本文件，不影响 A。 */
.myrv .myrv-card,.myrv .myrv-formwrap,.myrv .myrv-sort__select,.myrv .myrv-pager__btn,
.myrv .myrv-form__fitopt,.myrv .myrv-input,.myrv .myrv-btn:not(.myrv-btn--primary),
.myrv-card,.myrv-formwrap,.myrv-sort__select,.myrv-pager__btn,
.myrv-form__fitopt,.myrv-input,.myrv-btn:not(.myrv-btn--primary){background:#FFFFFF !important}
.myrv .myrv-card__thumb,.myrv-card__thumb{background:#F2F2F2 !important}
/* 评分分布条：奶油底上白槽会飘，空槽改暖灰细条；填充保持插件原本的金色，宽度保持默认 */
.myrv .myrv-hist .myrv-hist__track,.myrv-hist__track{background:rgba(33,28,21,.10) !important;height:6px !important;border-radius:3px !important}
.myrv .myrv-hist .myrv-hist__bar,.myrv-hist__bar{border-radius:3px !important}
.myrv .myrv-hist .myrv-hist__label{color:#8b8175 !important;font-size:calc(11*var(--fs,1px)) !important}

/* 列表页 ajax 筛选加载态：只压暗商品区，筛选面板保持可操作 */
.ol-scope[data-plp-root].plp-loading .plp{opacity:.45;transition:opacity .15s;pointer-events:none}

/* 详情页吸底购买栏：主加购按钮滚出视口后出现 */
.ol-scope .pdp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.97);
  backdrop-filter:blur(8px);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(33,28,21,.10);
  transform:translateY(100%);transition:transform .22s ease}
.ol-scope .pdp-sticky.on{transform:translateY(0)}
/* 右侧留出客服悬浮球的位置，避免按钮被压住 */
.ol-scope .pdp-sticky .ps-in{display:flex;align-items:center;gap:11px;padding:9px 15px;padding-right:76px;max-width:1480px;margin:0 auto}
.ol-scope .pdp-sticky .ps-img{width:44px;height:56px;object-fit:cover;border-radius:7px;flex:none}
.ol-scope .pdp-sticky .ps-txt{flex:1;min-width:0}
.ol-scope .pdp-sticky .ps-title{font-size:calc(12.5*var(--fs,1px));font-weight:500;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ol-scope .pdp-sticky .ps-row{display:flex;align-items:baseline;gap:8px;margin-top:2px;flex-wrap:wrap}
.ol-scope .pdp-sticky .ps-meta{font-size:calc(11*var(--fs,1px));color:var(--ink2);white-space:nowrap}
.ol-scope .pdp-sticky .ps-price{display:inline-flex;align-items:baseline;gap:6px}
.ol-scope .pdp-sticky .ps-price .price{font-size:calc(14*var(--fs,1px));font-weight:800}
.ol-scope .pdp-sticky .ps-price .was{font-size:calc(11*var(--fs,1px));color:var(--ink2);text-decoration:line-through}
.ol-scope .pdp-sticky .ps-btn{width:auto;min-width:150px;padding:12px 20px;margin:0;flex:none}
/* 移动端：缩略图/标题/已选规格都保留，按钮收窄让出空间 */
@media(max-width:520px){
  .ol-scope .pdp-sticky .ps-in{gap:9px;padding:8px 12px;padding-right:74px}
  .ol-scope .pdp-sticky .ps-img{width:40px;height:50px}
  .ol-scope .pdp-sticky .ps-title{font-size:calc(11.5*var(--fs,1px));line-height:1.25}
  .ol-scope .pdp-sticky .ps-meta{font-size:calc(10.5*var(--fs,1px))}
  .ol-scope .pdp-sticky .ps-price .price{font-size:calc(12.5*var(--fs,1px))}
  .ol-scope .pdp-sticky .ps-price .was{font-size:calc(10*var(--fs,1px))}
  .ol-scope .pdp-sticky .ps-btn{min-width:0;width:auto;padding:11px 14px;font-size:calc(11.5*var(--fs,1px));letter-spacing:.04em}
}

/* 无障碍：读屏专用文本（视觉隐藏但可被朗读） */
.ol-scope .vh,#ol-plp-live{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* 无障碍：键盘焦点可见 —— 关键交互统一描边（鼠标点击不显示，仅键盘导航时出现） */
.ol-scope [role="button"]:focus-visible,
.ol-scope .fbtn:focus-visible,.ol-scope .acc:focus-visible,.ol-scope .swi:focus-visible,
.ol-scope .addbag:focus-visible,.ol-scope .btn:focus-visible,.ol-scope .fchip:focus-visible,
.ol-scope .szbox:focus-visible,.ol-scope .cf:focus-visible,.ol-scope .pt:focus-visible,
.ol-scope .ct:focus-visible,.ol-scope .cmedia:focus-visible,.ol-scope .ccard:focus-visible,
.ol-scope .loadmore:focus-visible,.ol-scope .ps-btn:focus-visible,.ol-scope .notetgl:focus-visible{
  outline:2px solid var(--sage);outline-offset:2px;border-radius:6px}


/* 购物车抽屉：商品区滚动，汇总/结算区吸底（参考 A 主题） */
.ol-scope .cart-wrap .cbody{display:flex;flex-direction:column;padding:0;overflow:hidden}
.ol-scope .cart-wrap .cbody>form{display:flex;flex-direction:column;flex:1;min-height:0}
.ol-scope .cart-wrap .citems{flex:1;min-height:0;overflow-y:auto;padding:14px 15px 10px}
.ol-scope .cart-wrap .csum{flex:none;background:var(--paper);border-top:1px solid var(--line);
  padding:12px 15px 14px;box-shadow:0 -8px 24px rgba(33,28,21,.08)}
.ol-scope .cart-wrap .cbody>.note,.ol-scope .cart-wrap .cbody>.btn{margin:14px 15px 0}

/* 详情页评价区：左右边界对齐上方主体（缩略图左缘 → 右栏右缘），即 .pdp-layout 1480px 减两侧 32px 内边距 */
.template-product .section-apps .container{padding-left:32px;padding-right:32px}
.myrv.myrv-main{max-width:1416px !important;margin-left:auto !important;margin-right:auto !important}

/* 移动导航抽屉里的推广商品：ol 卡片横滑，去掉 Symmetry 网格留白 */
.mobile-navigation-drawer .nav-mob-ol{padding:6px 0 18px;background:transparent}
.mobile-navigation-drawer .nav-mob-ol .floor-hd{padding:0 15px 8px}
.mobile-navigation-drawer .nav-mob-ol .hrow{padding:0 15px}
.mobile-navigation-drawer .nav-mob-ol .card{flex:0 0 46%}
.mobile-navigation-drawer .nav-mob-ol .hrow{scroll-padding-left:15px;scroll-padding-right:15px}
