/* shop.lumipath.cn 根域名的介绍页与政策页共用皮肤。配色变量与 storefront.css 保持一致,
   但这些页面是纯静态文档,不依赖 product-renderer。 */
:root{--skin-canvas:#f2f3ff;--skin-surface:#ffffff;--skin-ink:#111431;--skin-ink-muted:#5c617c;--skin-line:#d6d9ed;--skin-accent:#5560e0;--skin-accent-strong:#4650c9;--skin-accent-soft:#e9eaff;--skin-inverse:#101335;--skin-radius:14px;--skin-content:760px;--skin-shell:1100px;--skin-gutter:clamp(22px,5vw,72px);--skin-serif:Georgia,"Songti SC","Noto Serif CJK SC",serif;--skin-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB",sans-serif}
*{box-sizing:border-box}
html{background:var(--skin-surface);scroll-behavior:smooth}
body{margin:0;background:var(--skin-surface);color:var(--skin-ink);font-family:var(--skin-sans);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--skin-accent)}
a:hover{color:var(--skin-accent-strong)}

.site-header{width:min(100%,var(--skin-shell));margin:0 auto;padding:22px var(--skin-gutter);display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-brand{display:inline-flex;align-items:center;gap:10px;color:var(--skin-ink);text-decoration:none;font-weight:800;font-size:19px;letter-spacing:-.02em;white-space:nowrap}
.site-brand img{width:32px;height:32px;border-radius:8px}
.site-nav{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.site-nav a{color:var(--skin-ink-muted);text-decoration:none;font-weight:600}
.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--skin-ink)}
.site-header-shop{gap:26px;--skin-shell:1240px}
.site-search{flex:1;display:flex;max-width:560px;border:1.5px solid var(--skin-ink);border-radius:999px;background:var(--skin-surface);overflow:hidden}
.site-search input{flex:1;min-width:0;padding:10px 18px;border:0;background:transparent;font-size:15px;color:var(--skin-ink)}
.site-search input:focus{outline:0}
.site-search:focus-within{box-shadow:0 0 0 3px var(--skin-accent-soft)}
.site-search button{padding:0 18px;border:0;border-left:1.5px solid var(--skin-ink);background:var(--skin-ink);color:#fff;font-weight:700;cursor:pointer}

/* ---- 商城首页 ---- */
.shop{--skin-shell:1240px;width:min(100%,var(--skin-shell));margin:0 auto;padding:0 var(--skin-gutter) 72px}
.shop-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border:1.5px solid var(--skin-ink);border-radius:999px;background:var(--skin-surface);color:var(--skin-ink);font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;white-space:nowrap}
.shop-btn:hover{background:var(--skin-accent-soft)}
.shop-btn:focus-visible{outline:3px solid var(--skin-accent-soft);outline-offset:2px}
.shop-btn:disabled{cursor:progress;opacity:.7}
.shop-btn-primary{background:var(--skin-ink);color:#fff}
.shop-btn-primary:hover{background:var(--skin-accent-strong);border-color:var(--skin-accent-strong)}
.shop-btn-ghost{border-color:var(--skin-line)}
.shop-btn-small{min-height:34px;padding:5px 14px;font-size:13px}
.shop-btn.is-off{border-style:dashed;color:var(--skin-ink-muted);cursor:default}
.shop-btn.is-off:hover{background:var(--skin-surface)}
.shop-price{font-weight:800;font-size:17px;letter-spacing:-.02em;display:inline-flex;gap:8px;align-items:baseline}
.shop-price s{color:var(--skin-ink-muted);font-weight:500;font-size:.85em}
.shop-price-lg{font-size:clamp(28px,3vw,36px)}
.shop-dot{display:inline-block;width:3px;height:3px;margin:0 8px;border-radius:50%;background:currentColor;vertical-align:middle;opacity:.6}

/* 主推商品:一整块淡紫底,封面在左,购买在右 */
.shop-featured{margin:6px 0 34px;padding:clamp(26px,4vw,44px);background:var(--skin-canvas);border-radius:calc(var(--skin-radius) + 6px)}
.shop-featured-inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,56px);align-items:center}
.shop-featured-cover{display:block;text-decoration:none;aspect-ratio:4/3;border-radius:var(--skin-radius);overflow:hidden;border:1px solid var(--skin-line)}
.shop-featured-label{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--skin-accent)}
.shop-featured-title{margin:0 0 14px;font-family:var(--skin-serif);font-size:clamp(28px,3.6vw,44px);font-weight:500;line-height:1.12;letter-spacing:-.03em;text-wrap:balance}
.shop-featured-title a{color:inherit;text-decoration:none}
.shop-featured-title a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.shop-featured-summary{margin:0 0 14px;max-width:560px;color:var(--skin-ink-muted);font-size:15px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.shop-featured-by{margin:0 0 22px;font-size:14px;color:var(--skin-ink-muted)}
.shop-featured-buy{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px}
.shop-featured-note{margin:14px 0 0;font-size:13px;color:var(--skin-ink-muted)}
.shop-featured-note a{font-weight:650}

/* 封面:有图放图,没图用版式封面(标题排在色板上) */
.shop-cover-img{display:block;width:100%;height:100%;object-fit:cover}
.shop-cover-type{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:clamp(14px,6%,26px);color:#fff;background:var(--tone-bg);background-image:radial-gradient(circle at 100% 0,rgba(255,255,255,.18),transparent 55%)}
.shop-cover-type[data-tone=indigo]{--tone-bg:#2a2f87}
.shop-cover-type[data-tone=teal]{--tone-bg:#0f5c63}
.shop-cover-type[data-tone=plum]{--tone-bg:#4a2b6b}
.shop-cover-type[data-tone=ochre]{--tone-bg:#7a4a12}
.shop-cover-type[data-tone=moss]{--tone-bg:#2f5a2c}
.shop-cover-kind{align-self:flex-start;padding:4px 10px;border:1px solid rgba(255,255,255,.55);border-radius:999px;font-size:12px;font-weight:600}
.shop-cover-title{font-family:var(--skin-serif);font-size:clamp(18px,2.2vw,30px);line-height:1.2;letter-spacing:-.02em;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.shop-featured-cover .shop-cover-title{font-size:clamp(24px,3vw,40px)}

/* 分类与网格 */
.shop-catalog{padding-top:6px}
.shop-filter{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;background:var(--skin-surface);border-bottom:1px solid var(--skin-line)}
.shop-chips{display:flex;flex-wrap:wrap;gap:8px}
.shop-chip{padding:7px 16px;border:1.5px solid var(--skin-line);border-radius:999px;background:var(--skin-surface);color:var(--skin-ink);font-size:14px;font-weight:600;cursor:pointer}
.shop-chip:hover{border-color:var(--skin-ink)}
.shop-chip[aria-selected=true]{background:var(--skin-ink);border-color:var(--skin-ink);color:#fff}
.shop-chip:focus-visible{outline:3px solid var(--skin-accent-soft);outline-offset:2px}
.shop-count{margin:0;font-size:13px;color:var(--skin-ink-muted);white-space:nowrap}
.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 24px;padding:28px 0 8px}
.shop-card{display:flex;flex-direction:column;gap:8px;min-width:0}
.shop-card-cover{display:block;text-decoration:none;aspect-ratio:4/3;border-radius:var(--skin-radius);overflow:hidden;border:1px solid var(--skin-line);background:var(--skin-canvas)}
.shop-card:hover .shop-card-cover{border-color:var(--skin-ink)}
.shop-card-title{margin:6px 0 0;font-family:var(--skin-serif);font-size:19px;font-weight:500;line-height:1.3;letter-spacing:-.015em}
.shop-card-title a{color:inherit;text-decoration:none}
.shop-card-title a:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.shop-card-by{margin:0;font-size:13px;color:var(--skin-ink-muted)}
.shop-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--skin-line)}
.shop-loading,.shop-empty{grid-column:1/-1;padding:48px 0;color:var(--skin-ink-muted);text-align:center}
.shop-empty p{margin:0 0 14px;font-size:16px}

/* 购买流程:三步确实是顺序,所以用编号 */
.shop-how{margin-top:64px;padding-top:44px;border-top:1px solid var(--skin-line)}
.shop-how h2{margin:0 0 22px;font-family:var(--skin-serif);font-size:clamp(24px,3vw,32px);font-weight:500;letter-spacing:-.02em}
.shop-steps{margin:0;padding:0;list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.shop-steps li{position:relative;padding:0 0 0 46px;counter-increment:step}
.shop-steps li::before{content:counter(step);position:absolute;left:0;top:0;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--skin-accent-soft);color:var(--skin-accent);font-weight:750;font-size:14px}
.shop-steps strong{display:block;margin-bottom:4px;font-size:15px}
.shop-steps p{margin:0;color:var(--skin-ink-muted);font-size:14px}

.shop-notice{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);max-width:min(92vw,520px);padding:12px 18px;border-radius:12px;background:var(--skin-ink);color:#fff;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.shop-notice.is-on{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.shop-notice{transition:none}}

/* 文档页 */
.doc{width:min(100%,var(--skin-shell));margin:0 auto;padding:0 var(--skin-gutter) 80px}
.doc-card{max-width:var(--skin-content);padding:clamp(28px,4vw,52px);background:var(--skin-surface);border:1px solid var(--skin-line);border-radius:calc(var(--skin-radius) + 8px)}
.doc-updated{margin:0 0 18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--skin-accent);font-weight:750}
.doc h1{margin:0 0 8px;font-family:var(--skin-serif);font-size:clamp(32px,4.5vw,48px);font-weight:500;letter-spacing:-.035em;line-height:1.1}
.doc .doc-subtitle{margin:0 0 30px;color:var(--skin-ink-muted);font-size:15px}
.doc h2{margin:38px 0 12px;font-size:20px;font-weight:700;letter-spacing:-.01em}
.doc h3{margin:22px 0 8px;font-size:16px;font-weight:700}
.doc p{margin:0 0 12px;font-size:15px}
.doc ul,.doc ol{margin:0 0 14px;padding-left:22px;font-size:15px}
.doc li{margin:4px 0}
.doc-lang{display:flex;gap:8px;margin:0 0 26px}
.doc-lang a{padding:6px 12px;border:1px solid var(--skin-line);border-radius:999px;font-size:13px;font-weight:650;color:var(--skin-ink-muted);text-decoration:none}
.doc-lang a:hover{color:var(--skin-ink)}
.doc-divider{margin:44px 0 30px;border:0;border-top:1px dashed var(--skin-line)}
.doc-en{color:var(--skin-ink)}
.doc-note{margin:0 0 18px;padding:14px 16px;background:var(--skin-accent-soft);border-radius:10px;font-size:14px;color:var(--skin-ink)}
.doc-contact{list-style:none;padding:0}
.doc-contact li{padding:12px 0;border-bottom:1px solid var(--skin-line)}
.doc-contact li:last-child{border-bottom:0}
.doc-contact span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--skin-ink-muted);font-weight:700}

/* 页脚:风控要求四个政策页链接必须在每页底部明确可见 */
.site-footer{background:var(--skin-inverse);color:#b7bde0}
.site-footer-inner{width:min(100%,var(--skin-shell));margin:0 auto;padding:44px var(--skin-gutter) 36px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px}
.site-footer-brand{color:#fff;font-weight:800;font-size:18px;margin:0 0 8px}
.site-footer p{margin:0;font-size:13px;line-height:1.7}
.site-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0;padding:0;list-style:none}
.site-footer-links a{color:#fff;text-decoration:none;font-size:14px;font-weight:600}
.site-footer-links a:hover{text-decoration:underline}
.site-footer-links small{display:block;color:#8b92c4;font-size:12px;font-weight:400}
.site-footer-legal{width:min(100%,var(--skin-shell));margin:0 auto;padding:18px var(--skin-gutter) 30px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#8b92c4;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
.site-footer-legal a{color:#b7bde0}

@media (max-width:1100px){
  .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  .site-header{flex-wrap:wrap;padding:16px 22px;gap:12px}
  .site-header-shop .site-nav{display:none}
  .site-search{flex-basis:100%;max-width:none;order:3}
  .shop,.doc{padding-left:16px;padding-right:16px}
  .shop-featured{padding:18px;margin-top:0}
  .shop-featured-inner{grid-template-columns:1fr;gap:18px}
  .shop-filter{position:static;flex-wrap:wrap}
  .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .shop-card-title{font-size:16px}
  .shop-steps{grid-template-columns:1fr}
  .site-footer-inner{grid-template-columns:1fr;gap:26px}
  .site-footer-links{grid-template-columns:1fr}
}
@media (max-width:420px){
  .shop-grid{grid-template-columns:1fr}
}
