:root{--ink:#1a1f16;--forest:#2c3d2a;--moss:#3d5438;--gold:#c9a96e;--gold-light:#e8d5a8;--parchment:#f0ead8;--cream:#faf7f0;--muted:rgba(240,234,216,.66);--line:rgba(201,169,110,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--parchment);font-family:'PingFang TC','Microsoft JhengHei','Noto Sans TC',system-ui,sans-serif;font-weight:300;line-height:1.8}button,input,select,textarea{font:inherit}.shop-main{min-height:70vh}.shop-hero{position:relative;overflow:hidden;padding:6.5rem 2.5rem 4rem;border-bottom:1px solid var(--line);background:radial-gradient(circle at 78% 25%,rgba(61,84,56,.55),transparent 38%),linear-gradient(145deg,#171d14,#20291c)}.shop-hero:after{content:"";position:absolute;right:-5rem;top:-8rem;width:28rem;height:28rem;border:1px solid rgba(201,169,110,.16);border-radius:50%;box-shadow:0 0 0 3rem rgba(201,169,110,.025),0 0 0 7rem rgba(201,169,110,.018)}.shop-wrap{position:relative;z-index:1;max-width:1160px;margin:auto}.shop-kicker{display:block;color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:.24em}.shop-hero h1{margin:.5rem 0 .8rem;font-family:'Cormorant Garamond','Noto Serif TC',serif;font-size:clamp(3.2rem,8vw,6.2rem);font-weight:300;line-height:1;color:var(--cream)}.shop-lead{max-width:650px;margin:0;color:var(--muted);font-size:1.02rem}.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:2rem 2.5rem 1rem}.shop-filter{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin}.shop-filter button{white-space:nowrap;border:1px solid var(--line);background:transparent;color:var(--muted);padding:.45rem .9rem;border-radius:999px;cursor:pointer}.shop-filter button:hover,.shop-filter button.active{border-color:var(--gold);color:var(--gold-light);background:rgba(201,169,110,.08)}.shop-count{white-space:nowrap;color:rgba(240,234,216,.42);font-size:13px}.shop-content{max-width:1680px;margin:0 auto;padding:1rem 2.5rem 6rem}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;align-items:stretch}.product-card{min-width:0;height:100%;display:flex;flex-direction:column;background:rgba(250,247,240,.035);border:1px solid var(--line);transition:transform .2s,border-color .2s}.product-card:hover{transform:translateY(-4px);border-color:rgba(201,169,110,.48)}.product-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(145deg,rgba(61,84,56,.45),rgba(201,169,110,.08))}.product-image img{width:100%;height:100%;object-fit:cover;object-position:var(--cover-x,50%) var(--cover-y,50%);transform:scale(var(--cover-zoom,1));transition:transform .35s}.product-card:hover .product-image img{transform:scale(calc(var(--cover-zoom,1) + .025))}.product-image-placeholder{height:100%;display:grid;place-items:center;color:rgba(232,213,168,.48);font-family:'Cormorant Garamond',serif;letter-spacing:.16em}.product-badges{position:absolute;left:.8rem;top:.8rem;display:flex;gap:.45rem;flex-wrap:wrap}.product-badge{background:rgba(26,31,22,.88);border:1px solid rgba(201,169,110,.45);color:var(--gold-light);padding:.22rem .55rem;font-size:11px;letter-spacing:.08em}.product-body{display:flex;flex:1;flex-direction:column;padding:1.1rem}.product-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;color:rgba(240,234,216,.42);font-size:12px}.product-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:3.25em;max-height:3.25em;margin:.4rem 0 .2rem;color:var(--cream);font-family:'Noto Serif TC','PMingLiU',serif;font-size:1.18rem;font-weight:400;line-height:1.62}.product-desc{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:5.4em;max-height:5.4em;margin:.35rem 0 .9rem;color:var(--muted);font-size:14px;line-height:1.8;white-space:pre-line;text-overflow:ellipsis}.product-price{margin-top:.2rem;color:var(--gold-light);font-family:'Cormorant Garamond',serif;font-size:1.35rem;letter-spacing:.04em}.product-notes{display:none}.product-notes:empty{display:none}.product-notes .shop-purchase-note{display:none}.product-actions{display:flex;gap:.6rem;margin-top:.45rem}.shop-btn{flex:1;border:1px solid var(--gold);background:transparent;color:var(--gold-light);padding:.65rem .8rem;text-align:center;text-decoration:none;cursor:pointer}.shop-btn.primary{background:var(--gold);color:var(--ink)}.shop-btn[aria-disabled=true]{pointer-events:none;opacity:.4}.shop-state{grid-column:1/-1;padding:5rem 1.5rem;text-align:center;border:1px solid var(--line);color:var(--muted)}.shop-state strong{display:block;margin-bottom:.5rem;color:var(--gold-light);font-family:'Noto Serif TC',serif;font-size:1.25rem;font-weight:400}.product-dialog{width:min(880px,calc(100% - 2rem));max-height:90vh;padding:0;border:1px solid rgba(201,169,110,.4);background:#1c2419;color:var(--parchment);box-shadow:0 20px 80px rgba(0,0,0,.65)}.product-dialog::backdrop{background:rgba(5,8,4,.8);backdrop-filter:blur(4px)}.dialog-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.dialog-image{min-height:480px;background:#151b13}.dialog-image img{width:100%;height:100%;object-fit:cover}.dialog-content{position:relative;padding:2.2rem}.dialog-close{position:absolute;right:1rem;top:1rem;border:0;background:transparent;color:var(--gold-light);font-size:1.8rem;cursor:pointer}.dialog-content h2{margin:.5rem 2rem .5rem 0;color:var(--cream);font-family:'Noto Serif TC',serif;font-weight:400}.dialog-description{white-space:pre-line;color:var(--muted)}.dialog-content .shop-btn{display:block;margin-top:1.5rem}.shop-note{padding:1.25rem 2.5rem;border-top:1px solid var(--line);color:rgba(240,234,216,.45);font-size:12px;text-align:center}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog-grid{grid-template-columns:1fr}.dialog-image{min-height:0;aspect-ratio:4/5}.dialog-content{padding:1.5rem}}
@media(max-width:620px){.shop-hero{padding:4.8rem 1.25rem 3rem}.shop-toolbar{display:block;padding:1.5rem 1.25rem .5rem}.shop-count{display:block;margin-top:.6rem}.shop-content{padding:1rem 1.25rem 4rem}.product-grid{grid-template-columns:1fr}.shop-note{padding:1rem 1.25rem}}

/* v8.2: payment is intentionally disabled until checkout is connected */
.shop-btn[disabled], .shop-btn[aria-disabled="true"], .shop-btn.is-disabled {
  cursor: not-allowed;
  opacity: .58;
  pointer-events: none;
}

.shop-purchase-note{margin:.65rem 0 0;color:rgba(226,211,170,.72);font-size:.88rem;line-height:1.6}.dialog-actions{display:flex;gap:.7rem;flex-wrap:wrap}.dialog-actions .shop-btn{flex:1 1 180px;text-align:center}
.product-price del,[data-dialog-price] del{opacity:.55;font-size:.72em;margin-right:.35rem}

/* v8.8 mobile polish */
@media(max-width:700px){.shop-hero{padding:4.5rem 1rem 2.5rem}.shop-toolbar{padding:1.25rem 1rem .65rem;align-items:flex-start;flex-direction:column}.shop-filter{width:100%}.shop-content{padding:.7rem 1rem 4rem}.product-grid{grid-template-columns:1fr}.product-actions{display:grid;grid-template-columns:1fr}.dialog-grid{grid-template-columns:1fr}.dialog-image{min-height:280px;max-height:55vh}.dialog-content{padding:1.35rem}.product-dialog{width:calc(100% - 1rem);max-height:94dvh}}
