.shop-page{--paper: #fff;--ink: #191b1c;--paper-2: #f6f2ea;--line: rgba(0,0,0,.1);--sans: "Work Sans Variable", "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--shop-pad: clamp(64px, 10vh, 152px);--shop-gutter: clamp(18px, 4vw, 60px);background:var(--paper);color:var(--ink)}.shop-page .header a{color:#ffffffdb}.shop-page .header a:hover{color:var(--hot)}.shop-page .header{position:sticky;top:0;z-index:200;background:var(--black);border-bottom:1px solid rgba(255,255,255,.08)}.cart-btn{position:relative;background:transparent;border:0;cursor:pointer;color:var(--white);font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:8px 4px 8px 10px}.cart-btn:hover{color:var(--hot)}.cart-badge{position:absolute;top:-2px;right:-8px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--hot);color:#fff;font-size:11px;font-family:var(--sans);letter-spacing:0;display:grid;place-items:center;line-height:1}.shop-hero{padding:clamp(40px,9vh,120px) var(--shop-gutter) clamp(22px,4vh,40px);max-width:760px}.shop-eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#00000080;font-weight:400;margin:0 0 14px}.shop-title{font-family:var(--sans);font-weight:400;font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.1;letter-spacing:0;margin:0}.shop-intro{max-width:58ch;margin:16px 0 0;color:#0000008c;font-family:var(--sans);font-size:clamp(14px,1.05vw,16px);line-height:1.65}.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px 28px;flex-wrap:wrap;padding:12px var(--shop-gutter);border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}.shop-filter{display:flex;flex-wrap:wrap;gap:6px 26px;align-items:baseline}.chip{background:transparent;border:0;border-bottom:1px solid transparent;border-radius:0;padding:2px 0 3px;cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:400;letter-spacing:normal;color:#00000075;transition:color .3s ease,border-color .3s ease}.chip:hover{color:var(--ink)}.chip--on{color:var(--ink);border-bottom-color:var(--ink)}.shop-sort{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.shop-sort-label{font-family:var(--sans);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#00000080}.shop-sort-sel{font-family:var(--sans);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);background:transparent;border:0;cursor:pointer;padding:4px 18px 4px 2px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23191b1c' stroke-width='1.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center}.shop-sort-sel:focus{outline:none;color:var(--hot)}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:0 0 var(--shop-pad);background:#fff}.gtile{display:block;text-decoration:none}.gtile-media{position:relative;aspect-ratio:4 / 5;overflow:hidden;background:var(--paper-2)}.gtile--big{grid-column:auto}.gtile--big .gtile-media{aspect-ratio:4 / 5}.save-heart{position:absolute;top:10px;right:10px;z-index:3;width:34px;height:34px;border:0;border-radius:999px;padding:0;cursor:pointer;display:grid;place-items:center;background:#ffffffd1;color:var(--ink);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 1px 6px #0000001f;transition:transform .25s cubic-bezier(.16,1,.3,1),color .25s,background .25s}.save-heart svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;transition:fill .2s ease}.save-heart:hover{transform:scale(1.09);background:#fff}.save-heart.is-on{color:var(--hot)}.save-heart.is-on svg{fill:var(--hot);stroke:var(--hot)}.pdp-heart{top:14px;right:14px;width:40px;height:40px}.saved-line-name{text-decoration:none;color:inherit}.saved-line-name:hover{color:var(--hot)}.saved-add{align-self:flex-start;margin-top:8px;background:none;border:1px solid var(--ink);color:var(--ink);font-family:var(--sans);font-size:12px;letter-spacing:.02em;padding:7px 13px;cursor:pointer;transition:background .25s ease,color .25s ease}.saved-add:hover{background:var(--ink);color:#fff}.ph-mark{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--song);font-size:clamp(3rem,8vw,7rem);color:#0a0a0a24;-webkit-user-select:none;user-select:none}.media-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.gtile-media,.media-img,.ph-mark{transition:transform .8s cubic-bezier(.16,1,.3,1)}.gtile:hover .media-img,.gtile:hover .ph-mark{transform:scale(1.045)}.gtile-view{display:none}.gtile-body{padding:14px 16px 40px}.gtile-name{font-family:var(--sans);font-weight:400;font-size:12px;line-height:1.35;margin:0;color:var(--ink)}.gtile-blurb{display:none}.gtile-price{font-family:var(--sans);font-size:12px;font-weight:500;margin-top:8px;letter-spacing:normal;color:var(--ink);font-variant-numeric:tabular-nums}.reveal-up{opacity:0;transform:translateY(26px);transition:opacity .9s,transform .9s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.reveal-up.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal-up{opacity:1;transform:none;transition:none}}.pdp{padding:0 0 var(--shop-pad)}.pdp-back,.link-hot{display:inline-block;font-family:var(--sans);font-size:12px;letter-spacing:.01em;color:#00000080;padding:clamp(18px,3.4vh,30px) 0 clamp(12px,2vh,18px);margin:0 var(--shop-gutter)}.pdp-back:hover,.link-hot:hover,.link-hot{color:var(--hot)}.pdp-wrap{display:grid;grid-template-columns:1fr 1fr;align-items:center}.pdp-gallery{position:relative;display:flex;flex-direction:column;gap:2px}.pdp-media{position:relative;aspect-ratio:4 / 5;overflow:hidden;background:var(--paper-2)}.pdp-info{padding:clamp(36px,6vh,80px) clamp(24px,5vw,64px)}.pdp-eyebrow{display:none}.pdp-name{font-family:var(--sans);font-weight:400;font-size:clamp(21px,1.9vw,27px);line-height:1.12;letter-spacing:0;color:var(--ink);margin:0}.pdp-price{font-family:var(--sans);font-size:14px;font-weight:500;line-height:1.5;color:var(--ink);margin:8px 0 0;font-variant-numeric:tabular-nums}.pdp-hr{height:1px;background:#e9e9e9;margin:24px 0 0}.pdp-group{margin-top:28px}.pdp-label{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0;text-transform:uppercase;color:var(--ink);margin:0 0 16px}.pdp-variants{display:flex;flex-wrap:wrap;gap:8px}.vbtn{background:#fff;border:1px solid #e9e9e9;border-radius:0;min-width:80px;min-height:52px;padding:8px 18px;cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:400;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;transition:border-color .25s ease}.vbtn:hover{border-color:#0000006b}.vbtn--on{border-color:var(--ink)}.pdp-qty{display:inline-flex;align-items:center;border:1px solid #e9e9e9}.pdp-qty .qty-btn{width:50px;height:52px}.pdp-qty .qty-n{min-width:46px;font-size:14px}.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px}.qty-btn{width:40px;height:40px;background:transparent;border:0;cursor:pointer;font-size:18px;color:var(--ink);font-family:var(--sans)}.qty-btn:hover{color:var(--hot)}.qty-n{min-width:34px;text-align:center;font-family:var(--sans);font-size:15px;font-variant-numeric:tabular-nums}.pdp-add{display:block;width:100%;height:58px;margin-top:32px;border:0;border-radius:6px;background:var(--ink);color:#fff;cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;transition:background .25s ease}.pdp-add:hover{background:#333}.blockbtn-hot,.blockbtn-line{display:block;width:100%;text-align:center;cursor:pointer;font-family:var(--sans);font-size:14px;letter-spacing:.12em;text-transform:uppercase;padding:18px;border:0;transition:all .3s ease}.blockbtn-hot{background:var(--ink);color:#fff}.blockbtn-hot:hover{background:#000000b8}.blockbtn-line{background:transparent;color:var(--ink);border:1px solid var(--ink)}.blockbtn-line:hover{background:var(--ink);color:#fff}.pdp-links{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:32px}.pdp-link,.pdp-acc>summary{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:#00000059;cursor:pointer;transition:color .25s ease,text-decoration-color .25s ease}.pdp-link:hover,.pdp-acc>summary:hover{color:var(--hot);text-decoration-color:var(--hot)}.pdp-acc{width:100%}.pdp-acc>summary{list-style:none;display:inline-block}.pdp-acc>summary::-webkit-details-marker{display:none}.pdp-acc[open]>summary{margin-bottom:14px}.pdp-acc-body{font-family:var(--sans);font-size:14px;line-height:1.7;color:#0000009e;max-width:46ch}.pdp-acc-body p{margin:0 0 10px}.pdp-missing{font-family:var(--sans);font-size:22px;padding:80px var(--shop-gutter) 12px}.pdp-related{margin-top:clamp(64px,10vh,128px);padding:0 var(--shop-gutter)}.pdp-related-h{font-family:var(--sans);font-weight:400;font-size:clamp(1.2rem,2vw,1.7rem);letter-spacing:0;margin:0 0 28px}.pdp-related-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,40px)}.rtile{display:block}.rtile-media{position:relative;aspect-ratio:4 / 5;overflow:hidden;background:var(--paper-2)}.rtile-name{font-family:var(--sans);font-size:14px;margin-top:12px}.rtile-price{font-family:var(--sans);font-size:13px;color:#0000008c;margin-top:4px;font-variant-numeric:tabular-nums}.cart-backdrop{position:fixed;inset:0;z-index:900;background:#00000073;opacity:0;transition:opacity .38s ease}.cart-backdrop.on{opacity:1}.cart-drawer{position:fixed;top:0;right:0;bottom:0;z-index:901;width:min(440px,92vw);background:var(--paper);color:var(--ink);display:flex;flex-direction:column;box-shadow:-20px 0 60px #0000002e;transform:translate(100%);transition:transform .42s cubic-bezier(.16,1,.3,1)}.cart-drawer.on{transform:none}.cart-head{display:flex;align-items:center;justify-content:space-between;padding:26px 26px 18px;border-bottom:1px solid var(--line)}.cart-title{font-family:var(--sans);font-weight:400;font-size:18px;letter-spacing:.01em;margin:0}.cart-x{background:none;border:0;font-size:18px;cursor:pointer;color:var(--ink)}.cart-x:hover{color:var(--hot)}.cart-body{flex:1;overflow-y:auto;padding:8px 26px}.cart-empty{padding:60px 0;text-align:center}.cart-empty-msg{font-family:var(--song);font-size:18px;color:#0000008c}.cart-line{display:grid;grid-template-columns:68px 1fr auto;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.cart-thumb{position:relative;width:68px;height:84px;overflow:hidden;background:var(--paper-2);border:1px solid var(--line)}.cart-thumb .ph-mark{font-size:1.8rem}.cart-line-mid{display:flex;flex-direction:column;gap:4px}.cart-line-name{font-family:var(--sans);font-size:14px}.cart-line-var{font-family:var(--sans);font-size:12px;color:#00000080}.cart-line-mid .qty{margin-top:8px;align-self:flex-start}.cart-line-mid .qty-btn{width:32px;height:32px;font-size:15px}.cart-line-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}.cart-line-price{font-family:var(--sans);font-size:15px}.cart-remove{background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#0006}.cart-remove:hover{color:var(--hot)}.cart-foot{padding:20px 26px 26px;border-top:1px solid var(--line)}.cart-subtotal{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--sans);font-size:14px;letter-spacing:.1em;text-transform:uppercase}.cart-sub-val{font-size:20px;letter-spacing:0}.cart-note{font-family:var(--sans);font-size:12px;color:#00000080;margin:10px 0 18px;line-height:1.5}.blockbtn-hot+.cart-note,.cart-foot .blockbtn-line{margin-top:10px}.confirm-line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-family:var(--sans);font-size:14px}.confirm-price{white-space:nowrap}.cart-subtotal--confirm{padding:16px 0 4px}.confirm-wechat{text-align:center;margin-top:22px}.confirm-qr{width:132px;height:132px;object-fit:contain}.confirm-wechat-id{font-family:var(--sans);font-size:13px;letter-spacing:.08em;color:#000000a6;margin-top:8px}.cart-gift{margin:4px 0 16px}.cart-gift-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-family:var(--sans);font-size:13px;letter-spacing:.03em;color:var(--ink)}.cart-gift-toggle input{width:16px;height:16px;accent-color:var(--hot);cursor:pointer}.cart-gift-fields{margin-top:12px;display:grid;gap:12px}.cart-gift-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cart-gift-field{display:flex;flex-direction:column;gap:4px}.cart-gift-field label{font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#0000008c}.cart-gift-field input,.cart-gift-field textarea{font-family:var(--sans);font-size:14px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);color:var(--ink)}.cart-gift-field input:focus,.cart-gift-field textarea:focus{outline:none;border-color:var(--hot)}.cart-gift-field textarea{resize:vertical;min-height:62px}.confirm-gift{margin-top:18px;padding:14px 16px;background:var(--paper-2);border-radius:10px;font-family:var(--sans);font-size:13px;line-height:1.5}.confirm-gift-h{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--hot);margin-bottom:6px}.confirm-gift-line{color:#000000bf}.confirm-gift-msg{margin-top:6px;font-style:italic;color:#000000b3}@media(max-width:480px){.cart-gift-row{grid-template-columns:1fr}}@media(max-width:1200px){.shop-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){.pdp-wrap{grid-template-columns:1fr;align-items:stretch}.pdp-info{padding:30px clamp(18px,5vw,40px) 8px;max-width:620px}}@media(max-width:860px){.shop-grid{grid-template-columns:repeat(2,1fr)}.pdp-related-row{grid-template-columns:1fr 1fr}}
