/* ===== 妮峰户外 · 门户金刚区骨架 SP-2026 ===== */
:root{
  --sp-ink:#20262B; --sp-brand:#2E4057; --sp-brand2:#42596F;
  --sp-gold:#D9A441; --sp-price:#C0563B; --sp-paper:#F6F5F1;
  --sp-line:#E4E1D8; --sp-mute:#6E747A;
}
*{box-sizing:border-box}
body.sp-home,body.sp-cat{margin:0;background:var(--sp-paper);color:var(--sp-ink);
  font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.55;
  padding-bottom:66px}
body.sp-home a,body.sp-cat a{text-decoration:none;color:inherit}
.sp-wrap{max-width:1120px;margin:0 auto;padding:0 14px}

/* 顶栏 */
.sp-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;
  padding:10px 14px;background:rgba(246,245,241,.94);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--sp-line)}
.sp-logo{font-size:17px;font-weight:800;letter-spacing:1px;color:var(--sp-brand);white-space:nowrap}
.sp-search{flex:1;display:flex;align-items:center;justify-content:space-between;
  height:34px;padding:0 14px;border-radius:18px;background:#fff;border:1px solid var(--sp-line);
  color:var(--sp-mute);font-size:13px;min-width:0}
.sp-search span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-search i{font-style:normal;color:var(--sp-brand);font-weight:700}
.sp-cart{font-size:13px;color:var(--sp-brand);border:1px solid var(--sp-brand);
  border-radius:16px;padding:6px 12px;white-space:nowrap}

/* Hero */
.sp-hero{background:linear-gradient(135deg,#2E4057 0%,#42596F 58%,#5A7086 100%);
  color:#fff;padding:26px 14px 22px}
.sp-hero-in{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.sp-hero-txt i{font-style:normal;font-size:11px;letter-spacing:3px;color:#C9D3DE}
.sp-hero-txt h1{margin:8px 0 6px;font-size:23px;line-height:1.35;font-weight:800}
.sp-hero-txt p{margin:0 0 14px;font-size:13px;color:#D8E0E8}
.sp-hero-txt a{display:inline-block;padding:8px 18px;border-radius:20px;background:var(--sp-gold);
  color:#2A2115;font-weight:700;font-size:13px}
.sp-hero-pics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sp-hero-pics a{background:#fff;border-radius:8px;overflow:hidden;display:block;line-height:0}
.sp-hero-pics img{width:100%;aspect-ratio:1/1;object-fit:cover}

/* 金刚区 */
.sp-king{background:#fff;padding:14px 8px 8px;border-bottom:1px solid var(--sp-line)}
.sp-king-in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:6px 4px}
.sp-king a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 2px;color:#31383E}
.sp-king .ico{width:46px;height:46px;border-radius:14px;background:#EEF1F3;display:flex;
  align-items:center;justify-content:center;font-size:22px}
.sp-king b{font-size:12px;font-weight:600;text-align:center}

/* 楼层 */
.sp-floor{padding:18px 14px 6px}
.sp-floor-in{max-width:1120px;margin:0 auto}
.sp-floor-hd{display:flex;align-items:flex-end;gap:10px;margin-bottom:12px}
.sp-floor-hd .no{font-size:26px;font-weight:800;color:var(--sp-gold);line-height:1;font-variant-numeric:tabular-nums}
.sp-floor-hd .tt{flex:1;min-width:0}
.sp-floor-hd b{display:block;font-size:17px;font-weight:800}
.sp-floor-hd i{display:block;font-style:normal;font-size:12px;color:var(--sp-mute);margin-top:2px}
.sp-floor-hd .more{font-size:12px;color:var(--sp-brand);white-space:nowrap;border-bottom:1px solid #C9D3DE}
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sp-card{background:#fff;border:1px solid var(--sp-line);border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column}
.sp-card .ph{background:#F2F3F0;line-height:0}
.sp-card .ph img{width:100%;aspect-ratio:1/1;object-fit:cover}
.sp-card .bd{padding:9px 10px 11px;display:flex;flex-direction:column;gap:6px}
.sp-card b{font-size:13px;font-weight:600;line-height:1.4;height:36px;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sp-card .pr{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.sp-card .pr em{font-style:normal;font-weight:800;color:var(--sp-price);font-size:16px}
.sp-card .pr s{color:#9AA0A6;font-size:11px}
.sp-card .sp-buy{margin-left:auto;font-size:11px;color:#fff;background:var(--sp-brand);
  border-radius:12px;padding:3px 10px;white-space:nowrap}

/* 服务条 */
.sp-serve{margin:20px 14px 6px;background:#fff;border:1px solid var(--sp-line);border-radius:12px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;overflow:hidden}
.sp-serve div{padding:12px 10px;font-size:12px;color:#3B4248;background:#fff;text-align:center}
.sp-serve div b{display:block;color:var(--sp-brand);font-size:13px;margin-bottom:2px}

/* 长文 */
.sp-note{max-width:1120px;margin:14px auto;padding:16px 14px;background:#fff;
  border:1px solid var(--sp-line);border-radius:12px}
.sp-note h3{margin:0 0 10px;font-size:16px}
.sp-note h4{margin:16px 0 6px;font-size:14px;color:var(--sp-brand)}
.sp-note p{margin:0;font-size:13px;color:#3B4248;line-height:1.8}

/* 分类页 */
.sp-cathead{background:linear-gradient(135deg,#2E4057,#42596F);color:#fff;padding:20px 14px}
.sp-cathead-in{max-width:1120px;margin:0 auto}
.sp-cathead h1{margin:0;font-size:21px}
.sp-cathead p{margin:6px 0 0;font-size:12px;color:#D8E0E8}
.sp-chips{position:sticky;top:55px;z-index:30;background:rgba(246,245,241,.96);
  border-bottom:1px solid var(--sp-line);overflow-x:auto;white-space:nowrap;padding:8px 12px;
  -webkit-overflow-scrolling:touch}
.sp-chips::-webkit-scrollbar{display:none}
.sp-chips a{display:inline-block;padding:6px 13px;margin-right:6px;border-radius:16px;
  background:#fff;border:1px solid var(--sp-line);font-size:12px;color:#3B4248}
.sp-chips a.on{background:var(--sp-brand);border-color:var(--sp-brand);color:#fff;font-weight:700}
.sp-catgrid{max-width:1120px;margin:14px auto;padding:0 14px;display:grid;
  grid-template-columns:1fr 1fr;gap:10px}
.sp-empty{text-align:center;color:var(--sp-mute);padding:40px 0;font-size:13px}
.sp-footinfo{max-width:1120px;margin:18px auto 0;padding:0 14px 10px;text-align:center;
  font-size:11px;color:var(--sp-mute);line-height:1.7}

@media(min-width:760px){
  .sp-hero-in{flex-direction:row;align-items:center;gap:34px}
  .sp-hero-txt{flex:1}
  .sp-hero-txt h1{font-size:30px}
  .sp-hero-pics{flex:0 0 46%;grid-template-columns:repeat(3,1fr)}
  .sp-king-in{grid-template-columns:repeat(8,1fr)}
  .sp-grid{grid-template-columns:repeat(4,1fr)}
  .sp-serve{grid-template-columns:repeat(4,1fr)}
  .sp-catgrid{grid-template-columns:repeat(4,1fr)}
  body.sp-home,body.sp-cat{padding-bottom:0}
  .tabbar{display:none}
}
