* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: "Microsoft YaHei", "Microsoft YaHei UI", "PingFang SC", sans-serif;
  font-size: 13px;
  color: #333;
  background: #fff;
}
a { color: #333; text-decoration: none; }
a:hover { color: #c8102e; }
ul, ol, dl, dd, h1, h2, h3, p { margin: 0; padding: 0; }
img { border: 0; vertical-align: middle; }
button, input { font-family: inherit; }

.ls-shell { min-width: 1200px; background: #fff; }
.ls-w { width: 1190px; margin: 0 auto; }

.ls-top {
  height: 32px;
  border-bottom: 1px solid #eee;
  background: #fff;
  color: #333;
  font-size: 12px;
  line-height: 32px;
}
.ls-top-inner { display: flex; justify-content: space-between; }
.ls-top-nav { display: flex; gap: 18px; }
.ls-top-user a { margin-left: 8px; }

.ls-mast {
  display: flex;
  align-items: center;
  height: 120px;
}
.ls-logo { display: block; width: 450px; height: 93px; flex: 0 0 450px; }
.ls-logo img { display: block; width: 450px; height: 93px; }
.ls-search {
  display: flex;
  align-items: center;
  margin-left: 8px;
  flex: 1;
}
.ls-search input {
  width: 290px;
  height: 39px;
  border: 2px solid #c8102e;
  border-right: 0;
  padding: 0 12px;
  font-size: 14px;
  color: #333;
  outline: none;
  border-radius: 4px 0 0 4px;
}
.ls-search button {
  width: 90px;
  height: 39px;
  border: 0;
  background: #c8102e;
  color: #fff;
  font-size: 16px;
  cursor: pointer;
  border-radius: 0 10px 10px 0;
}
.ls-search-promo {
  display: inline-block;
  width: 100px;
  height: 39px;
  line-height: 39px;
  text-align: center;
  background: #c8102e;
  color: #fff !important;
  border-radius: 10px;
  margin-left: 10px;
  font-size: 14px;
}
.ls-search-extra {
  display: block;
  width: 129px;
  height: 39px;
  margin-left: 10px;
  background: #fff url("../img/icon-1.png") center / contain no-repeat;
  text-indent: -999px;
  overflow: hidden;
}

.ls-bar {
  display: flex;
  align-items: stretch;
  height: 36px;
  border-bottom: 1px solid #c8102e;
}
.ls-market {
  width: 240px;
  background: #c8102e;
  color: #fff;
  font-size: 14px;
  line-height: 36px;
  padding-left: 12px;
  border-radius: 10px 10px 0 0;
}
.ls-market i {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  vertical-align: -4px;
  background: url("../img/icon-1.png") center / 20px 20px no-repeat;
}
.ls-bar-links { display: flex; align-items: center; padding-left: 18px; gap: 8px; }
.ls-bar-links a {
  width: 120px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #c8102e;
}

.ls-stage {
  display: grid;
  grid-template-columns: 240px 670px 240px;
  gap: 20px;
  min-height: 596px;
  padding: 12px 0 8px;
}
.ls-cats {
  background: #fff;
  border-radius: 10px;
  padding: 8px 10px 10px 14px;
}
.ls-cat-g { margin-bottom: 8px; }
.ls-cat-g h3 {
  color: #c8102e;
  font-size: 13px;
  font-weight: 700;
  height: 28px;
  line-height: 28px;
}
.ls-cat-g ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  list-style: none;
}
.ls-cat-g a { color: #414141; line-height: 26px; }
.ls-cat-g a:hover { color: #c8102e; }

.ls-mid { min-width: 0; }
.ls-slide {
  position: relative;
  width: 670px;
  height: 280px;
  border-radius: 10px;
  overflow: hidden;
  background: #111;
}
.ls-slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ls-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  text-align: center;
  z-index: 2;
}
.ls-dots b {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 4px;
  border-radius: 50%;
  background: rgba(255,255,255,.45);
  cursor: pointer;
}
.ls-dots b.on { background: #fff; }
.ls-prev, .ls-next {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 28px;
  height: 44px;
  margin-top: -22px;
  border: 0;
  background: rgba(0,0,0,.28);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}
.ls-prev { left: 0; border-radius: 0 4px 4px 0; }
.ls-next { right: 0; border-radius: 4px 0 0 4px; }

.ls-feed { margin-top: 10px; }
.ls-feed h2 {
  font-size: 16px;
  font-weight: 700;
  padding-left: 16px;
  position: relative;
  height: 46px;
  line-height: 46px;
}
.ls-feed h2:before {
  content: "";
  position: absolute;
  left: 0;
  top: 15px;
  width: 4px;
  height: 16px;
  background: #c8102e;
  border-radius: 2px;
}
.ls-feed-box {
  height: 200px;
  overflow: hidden;
  position: relative;
}
.ls-feed ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  animation: lsScroll 40s linear infinite;
}
.ls-feed-box:hover ul { animation-play-state: paused; }
@keyframes lsScroll {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}
.ls-feed li {
  list-style: none;
  height: 24px;
  overflow: hidden;
  line-height: 24px;
  color: #6b6060;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-right: 8px;
}
.ls-feed li span {
  display: inline-block;
  margin-right: 4px;
  padding: 0 7px;
  background: #fdf0ef;
  border-radius: 4px;
  color: #c8102e;
  font-size: 12px;
  line-height: 19px;
}

.ls-enter {
  border-top: 1px solid #c8102e;
  border-radius: 10px;
  padding: 10px 12px 8px;
  background: #fff;
}
.ls-enter a {
  display: block;
  width: 61%;
  margin: 15px auto 0;
  height: 35px;
  line-height: 35px;
  text-align: center;
  border-radius: 20px;
  font-size: 14px;
}
.ls-enter .go-in { background: #c8102e; color: #fff !important; }
.ls-enter .go-reg { border: 1px solid #c8102e; color: #c8102e !important; }
.ls-enter p {
  color: #666;
  line-height: 20px;
  padding: 10px 16px 8px;
  font-size: 12px;
  width: 80%;
  margin: 0 auto;
}
.ls-note { margin-top: 8px; }
.ls-note h2 {
  font-size: 15px;
  font-weight: 700;
  padding-left: 16px;
  position: relative;
  height: 44px;
  line-height: 44px;
}
.ls-note h2:before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  width: 4px;
  height: 15px;
  background: #c8102e;
  border-radius: 2px;
}
.ls-note li { list-style: none; line-height: 28px; overflow: hidden; height: 28px; }
.ls-note a { color: #5a5252; }

.ls-block { margin: 18px auto 0; }
.ls-ttl {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 10px;
}
.ls-ttl h2 {
  font-size: 16px;
  color: #e10;
  font-weight: 700;
}
.ls-ttl .more { font-size: 12px; color: #888; padding-right: 20px; }
.ls-ttl .more a { margin-left: 10px; color: #666; }
.ls-sec {
  font-size: 16px;
  font-weight: 700;
  color: #2b2222;
  height: 50px;
  line-height: 50px;
  padding-left: 16px;
  position: relative;
}
.ls-sec:before {
  content: "";
  position: absolute;
  left: 0;
  top: 17px;
  width: 4px;
  height: 16px;
  background: #c8102e;
  border-radius: 2px;
}

.ls-sup {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1px;
  background: #f0f0f0;
}
.ls-sup a {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  padding: 20px 8px 30px;
  color: #999;
  text-align: center;
  font-size: 12px;
}
.ls-sup img {
  width: 120px;
  height: 100px;
  object-fit: contain;
}
.ls-sup strong {
  display: block;
  margin-top: 8px;
  color: #222;
  font-weight: 400;
  max-width: 170px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ls-sup em {
  font-style: normal;
  font-size: 12px;
  color: #999;
  max-width: 170px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ls-city { padding: 8px 0 8px; }
.ls-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 2px 16px 6px; }
.ls-chips a {
  padding: 5px 14px;
  background: #f6f2f0;
  border-radius: 8px;
  color: #5a5252;
}
.ls-chips a.hot { background: #fdf0ef; color: #c8102e; font-weight: 600; }
.ls-chips a.more { background: none; color: #c8102e; }
.ls-chips a:hover { background: #c8102e; color: #fff; }
.ls-sites {
  margin: 10px 16px 0;
  background: #faf7f6;
  border-radius: 10px;
  padding: 8px 14px;
  color: #8a7f7f;
  line-height: 2;
  font-size: 12.5px;
}
.ls-sites b { margin-right: 10px; color: #b04a4a; }
.ls-sites a { margin-right: 14px; color: #8a7f7f; }
.ls-sites a:hover { color: #c8102e; }

.ls-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 8px;
}
.ls-tags { padding: 2px 16px 8px; display: flex; flex-wrap: wrap; gap: 8px; }
.ls-tags a {
  padding: 5px 13px;
  background: #f6f2f0;
  border-radius: 8px;
  color: #5a5252;
}
.ls-tags a.alt { background: #fdf0ef; color: #8c4a42; }
.ls-tags a:hover { background: #c8102e; color: #fff; }

.ls-ind { padding: 0 0 8px; }
.ls-ind-grid {
  display: flex;
  flex-wrap: wrap;
}
.ls-ind-card {
  width: 49.2%;
  min-height: 136px;
  margin: 0 0.4% 10px;
  padding: 14px 14px 12px 138px;
  position: relative;
  background: #fbf8f7;
  border-radius: 12px;
}
.ls-ind-card:hover { background: #fdf0ef; }
.ls-ind-card img {
  position: absolute;
  left: 14px;
  top: 50%;
  width: 106px;
  height: 106px;
  margin-top: -53px;
  object-fit: contain;
  background: #fff;
  border-radius: 10px;
}
.ls-ind-card h3 { font-size: 16.5px; margin-bottom: 4px; }
.ls-ind-card h3 a { font-weight: 700; color: #2b2222; }
.ls-ind-card p { color: #8a7f7f; line-height: 2; }
.ls-ind-card p a { margin-right: 12px; color: #8a7f7f; font-size: 12.5px; }

.ls-abc { padding: 6px 16px 16px; }
.ls-abc a {
  display: inline-block;
  background: #f6f2f0;
  border-radius: 6px;
  margin: 3px 2px;
  padding: 2px 8px;
  color: #6b6060;
}
.ls-abc a:hover { background: #c8102e; color: #fff; }

.ls-news-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  padding: 4px 0 16px;
}
.ls-news-card {
  background: #fbf8f7;
  border-radius: 12px;
  padding: 10px;
}
.ls-news-card:hover { background: #fdf0ef; }
.ls-news-card img {
  width: 100%;
  height: 118px;
  object-fit: cover;
  border-radius: 8px;
  background: #fff;
}
.ls-news-card b {
  display: block;
  height: 40px;
  overflow: hidden;
  margin: 8px 0 4px;
  font-weight: 600;
  color: #2b2222;
  line-height: 1.5;
}
.ls-news-card span { color: #b3a6a6; font-size: 12px; }

.ls-links { padding: 12px 0 20px; }
.ls-link-g { margin-bottom: 8px; overflow: hidden; }
.ls-link-g dt { float: left; width: 140px; font-weight: 700; }
.ls-link-g dd { margin-left: 140px; }
.ls-link-g a { margin-right: 16px; line-height: 24px; }

.ls-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  padding: 10px 16px;
  background: #c8102e;
  color: #fff;
}
.ls-cta a { color: #fff !important; font-weight: 700; }

.ls-foot {
  padding: 20px 0 28px;
  text-align: center;
  color: #888;
  font-size: 12px;
  line-height: 22px;
  background: #fff;
  border-top: 1px solid #eee;
}
.ls-foot a { color: #666; margin: 0 6px; }

/* ---- site.css (demo-today) ---- */
:root {
  --bg: #fbfbfe;
  --surface: #ffffff;
  --ink: #131c33;
  --deep: #0f1b3d;
  --deep-2: #0a1330;
  --muted: #5a6478;
  --dim: #97a0b5;
  --line: #e9e9f2;
  --line-2: #d9dbe8;
  --brand: #f4442e;
  --brand-2: #ff8a00;
  --brand-soft: #fff1ee;
  --tint-cool: #f2f6ff;
  --blue: #2e5bff;
  --shadow: 0 1px 2px rgba(19, 28, 51, 0.04), 0 8px 28px rgba(19, 28, 51, 0.07);
  --radius: 10px;
  --radius-sm: 6px;
  --grad: linear-gradient(94deg, #f4442e 10%, #ff8a00 90%);
  --ls-page-w: 1190px;
  --ls-col-left: 240px;
  --ls-col-right: 248px;
  --ls-col-gap: 28px;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  font-size: 13px;
  color: var(--ink);
  background: var(--bg);
}
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--brand); }
ul, ol, dl, dd, h1, h2, h3, p { margin: 0; padding: 0; }
img { border: 0; vertical-align: middle; }
button, input { font-family: inherit; }

.ls-shell { min-width: 1200px; background: var(--bg); }
.ls-w { width: var(--ls-page-w); margin: 0 auto; }

.ls-top {
  position: sticky;
  top: 0;
  z-index: 200;
  height: 34px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: var(--deep);
  color: #c5cce0;
  font-size: 12px;
  line-height: 34px;
  box-shadow: 0 8px 20px rgba(10, 16, 40, 0.12);
}
.ls-top a { color: #e8ecf7; }
.ls-top a:hover { color: #fff; }
.ls-top-inner { display: flex; justify-content: space-between; }
.ls-top-nav { display: flex; gap: 18px; align-items: center; }
.ls-top-nav a.on { color: #fff; font-weight: 700; }
.ls-top-user a { margin-left: 8px; color: #ffb38a; }
.ls-dd { position: relative; display: inline-block; }
.ls-dd > a { cursor: pointer; }
.ls-dd-panel {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 50;
  min-width: 320px;
  padding: 10px 12px;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: var(--radius-sm);
  line-height: 28px;
}
.ls-dd-panel a {
  display: inline-block;
  margin-right: 12px;
  white-space: nowrap;
  color: var(--muted);
}
.ls-dd.open .ls-dd-panel,
.ls-dd:hover .ls-dd-panel { display: block; }

.ls-mast {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
.ls-mast-inner {
  display: grid;
  grid-template-columns: var(--ls-col-left) minmax(0, 1fr) var(--ls-col-right);
  column-gap: var(--ls-col-gap);
  align-items: center;
  height: 92px;
}
.ls-mast-cta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.ls-logo {
  display: block;
  height: 52px;
}
.ls-logo img {
  display: block;
  height: 52px;
  width: auto;
}
.ls-search {
  display: flex;
  align-items: center;
  justify-self: end;
}
.ls-search input {
  width: 280px;
  height: 40px;
  border: 1.5px solid var(--line-2);
  border-right: 0;
  padding: 0 14px;
  font-size: 14px;
  color: var(--ink);
  outline: none;
  border-radius: var(--radius) 0 0 var(--radius);
  background: var(--bg);
}
.ls-search input:focus { border-color: var(--ink); background: var(--surface); }
.ls-search button {
  width: 88px;
  height: 40px;
  border: 0;
  background: var(--grad);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  border-radius: 0 var(--radius) var(--radius) 0;
}
.ls-search-promo,
.ls-search-diag {
  display: inline-block;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: var(--radius);
  font-size: 14px;
  padding: 0 16px;
  white-space: nowrap;
}
.ls-search-promo {
  min-width: 96px;
  background: var(--deep);
  color: #fff !important;
}
.ls-search-promo:hover { background: var(--deep-2); color: #fff !important; }
.ls-search-diag {
  background: var(--brand);
  color: #fff !important;
}
.ls-search-diag:hover { background: #d93a26; color: #fff !important; }

.ls-bar-wrap {
  position: sticky;
  top: 34px;
  z-index: 190;
  background: var(--surface);
  border-bottom: 2px solid var(--deep);
}
.ls-bar {
  position: relative;
  display: flex;
  align-items: stretch;
  height: 40px;
}
.ls-market {
  position: relative;
  width: var(--ls-col-left);
  flex: 0 0 var(--ls-col-left);
  background: var(--deep);
  color: #fff;
  font-size: 16px;
  line-height: 40px;
}
.ls-market-btn {
  display: block;
  padding-left: 14px;
  color: #fff !important;
}
.ls-market-btn:hover { color: #fff !important; }
.ls-market i {
  display: inline-block;
  width: 14px;
  height: 12px;
  margin-right: 8px;
  vertical-align: -1px;
  background:
    linear-gradient(#fff,#fff) 0 0 / 14px 2px no-repeat,
    linear-gradient(#fff,#fff) 0 5px / 14px 2px no-repeat,
    linear-gradient(#fff,#fff) 0 10px / 14px 2px no-repeat;
}
.ls-market-panel {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 220;
  width: var(--ls-page-w);
  padding: 16px 22px 20px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 2px solid var(--deep);
  box-shadow: var(--shadow);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px 28px;
  line-height: 1.4;
}
.ls-market:hover .ls-market-panel,
.ls-market.open .ls-market-panel { display: grid; }
.ls-market-h {
  display: block;
  margin-bottom: 6px;
  color: var(--brand) !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
}
.ls-market-col p {
  display: flex;
  flex-wrap: wrap;
  gap: 0 12px;
}
.ls-market-col a {
  color: #445066 !important;
  font-size: 13px;
  font-weight: 400;
  line-height: 26px;
  white-space: nowrap;
}
.ls-market-col a:hover { color: var(--brand) !important; }
.ls-bar-links { display: flex; align-items: center; padding-left: 18px; gap: 4px; }
.ls-bar-links a {
  min-width: 110px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  height: 40px;
  line-height: 40px;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
}
.ls-bar-links a:hover { color: var(--brand); }
.ls-bar-links a.on { color: var(--brand); border-bottom-color: var(--brand); }
.ls-bar-plain .ls-bar-links { padding-left: 0; }

.ls-stage {
  display: grid;
  grid-template-columns: var(--ls-col-left) minmax(0, 1fr) var(--ls-col-right);
  gap: 16px var(--ls-col-gap);
  align-items: stretch;
  padding: 14px 0 16px;
}
.ls-cats {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 6px 10px 8px 14px;
  height: 100%;
  box-sizing: border-box;
}
.ls-cat-g { margin-bottom: 4px; }
.ls-cat-g:last-child { margin-bottom: 0; }
.ls-cat-g h3 {
  color: var(--brand);
  font-size: 13px;
  font-weight: 700;
  height: 28px;
  line-height: 28px;
}
.ls-cat-g ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  list-style: none;
}
.ls-cat-g a { color: #414141; line-height: 24px; }
.ls-cat-g a:hover { color: var(--brand); }

.ls-mid {
  min-width: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.ls-slide {
  position: relative;
  width: 100%;
  min-height: 260px;
  flex: 1 1 auto;
  border-radius: 10px;
  overflow: hidden;
  background: #0f1b3d;
}
.ls-slide > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .35s;
}
.ls-slide > img.on { opacity: 1; }
.ls-hero {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .4s;
  color: #fff;
  z-index: 0;
}
.ls-hero.on { opacity: 1; z-index: 1; }
.ls-hero:hover { color: #fff; }
.ls-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 1;
}
.ls-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}
.ls-hero-tags span {
  padding: 2px 8px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 4px;
  font-size: 12px;
  color: #e8ecf7;
}
.ls-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  text-align: center;
  z-index: 2;
}
.ls-dots b {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 4px;
  border-radius: 50%;
  background: rgba(255,255,255,.45);
  cursor: pointer;
}
.ls-dots b.on { background: #fff; }
.ls-prev, .ls-next {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 28px;
  height: 44px;
  margin-top: -22px;
  border: 0;
  background: rgba(0,0,0,.28);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}
.ls-prev { left: 0; border-radius: 0 4px 4px 0; }
.ls-next { right: 0; border-radius: 4px 0 0 4px; }

.ls-feed {
  margin-top: 12px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 2px 16px 10px;
  flex: 0 0 auto;
}
.ls-feed h2 {
  font-size: 16px;
  font-weight: 700;
  padding-left: 16px;
  position: relative;
  height: 44px;
  line-height: 44px;
}
.ls-feed h2:before {
  content: "";
  position: absolute;
  left: 0;
  top: 15px;
  width: 4px;
  height: 16px;
  background: var(--brand);
  border-radius: 2px;
}
.ls-feed-box {
  height: 216px;
  overflow: hidden;
  position: relative;
}
.ls-feed ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: 24px;
  margin: 0;
  padding: 0;
  animation: lsScroll 28s linear infinite;
}
.ls-feed-box:hover ul { animation-play-state: paused; }
@keyframes lsScroll {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}
.ls-feed li {
  list-style: none;
  height: 24px;
  overflow: hidden;
  line-height: 24px;
  color: var(--muted);
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-right: 8px;
}
.ls-feed li span {
  display: inline-block;
  margin-right: 4px;
  padding: 0 7px;
  background: var(--brand-soft);
  border-radius: 4px;
  color: var(--brand);
  font-size: 12px;
  line-height: 19px;
}

.ls-side {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  align-self: stretch;
}
.ls-enter {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-top: 3px solid var(--deep);
  border-radius: var(--radius);
  padding: 12px 14px 10px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.ls-enter-avatar {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  margin: 4px auto 12px;
  border-radius: 50%;
  background: var(--tint-cool);
  border: 2px solid var(--line-2);
  color: var(--deep);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ls-enter-avatar svg { display: block; }
.ls-enter .go-in,
.ls-enter .go-reg {
  display: block;
  width: 100%;
  margin: 0 0 10px;
  height: 38px;
  line-height: 38px;
  text-align: center;
  border-radius: var(--radius);
  font-size: 14px;
  font-weight: 700;
}
.ls-enter .go-reg { margin-bottom: 0; }
.ls-enter .go-in { background: var(--grad); color: #fff !important; }
.ls-enter .go-reg { border: 1.5px solid var(--deep); color: var(--deep) !important; }
.ls-enter p {
  color: var(--muted);
  line-height: 20px;
  padding: 10px 2px 0;
  font-size: 12px;
  margin-top: auto;
}
.ls-note {
  margin-top: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 2px 14px 8px;
}
.ls-note h2 {
  font-size: 15px;
  font-weight: 700;
  padding-left: 16px;
  position: relative;
  height: 42px;
  line-height: 42px;
}
.ls-note h2:before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  width: 4px;
  height: 15px;
  background: var(--brand);
  border-radius: 2px;
}
.ls-note li { list-style: none; line-height: 28px; overflow: hidden; height: 28px; }
.ls-note a { color: var(--muted); }
.ls-note a:hover { color: var(--brand); }

.ls-block { margin: 18px auto 0; }
.ls-diag {
  margin: 28px auto 48px;
  padding: 36px 40px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.ls-diag h1 { font-size: 22px; margin-bottom: 10px; }
.ls-diag p { color: var(--muted); line-height: 1.7; }
.ls-diag-actions { display: flex; gap: 10px; margin-top: 20px; }
.ls-ttl {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 10px;
}
.ls-ttl h2 {
  font-size: 16px;
  color: var(--brand);
  font-weight: 700;
}
.ls-ttl .more { font-size: 12px; color: #888; padding-right: 20px; }
.ls-ttl .more a { margin-left: 10px; color: #666; }
.ls-sec {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  height: 50px;
  line-height: 50px;
  padding-left: 16px;
  position: relative;
}
.ls-sec:before {
  content: "";
  position: absolute;
  left: 0;
  top: 17px;
  width: 4px;
  height: 16px;
  background: var(--brand);
  border-radius: 2px;
}
.ls-sec-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ls-sec-more {
  font-size: 12px;
  color: var(--muted);
}

.ls-sup-wrap {
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.ls-sup-lane { overflow: hidden; }
.ls-sup-lane + .ls-sup-lane { border-top: 1px solid var(--line); }
.ls-sup {
  display: flex;
  width: max-content;
  animation: lsSupScroll 36s linear infinite;
}
.ls-sup-rev { animation-name: lsSupScrollRev; animation-duration: 42s; }
.ls-sup-wrap:hover .ls-sup { animation-play-state: paused; }
@keyframes lsSupScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes lsSupScrollRev {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}
.ls-sup-row { display: flex; }
.ls-sup a {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 198px;
  width: 198px;
  padding: 18px 12px 16px;
  color: var(--muted);
  text-align: center;
  font-size: 12px;
  border-right: 1px solid var(--line);
}
.ls-sup a:hover { background: var(--tint-cool); }
.ls-sup img {
  width: 148px;
  height: 72px;
  object-fit: contain;
  background: #fff;
}
.ls-sup strong {
  display: block;
  margin-top: 10px;
  color: var(--ink);
  font-weight: 700;
  max-width: 170px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ls-sup em {
  font-style: normal;
  font-size: 12px;
  color: var(--dim);
  max-width: 170px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media (prefers-reduced-motion: reduce) {
  .ls-sup, .ls-sup-rev, .ls-feed ul { animation: none; }
}

.ls-city { padding: 8px 0 8px; }
.ls-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 2px 16px 6px; }
.ls-chips a {
  padding: 5px 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
}
.ls-chips a.hot { background: var(--brand-soft); color: var(--brand); font-weight: 600; border-color: transparent; }
.ls-chips a.more { background: none; color: var(--brand); border: 0; }
.ls-chips a:hover { background: var(--deep); color: #fff; border-color: var(--deep); }
.ls-sites {
  margin: 10px 16px 0;
  background: var(--tint-cool);
  border-radius: 10px;
  padding: 8px 14px;
  color: var(--muted);
  line-height: 2;
  font-size: 12.5px;
}
.ls-sites b { margin-right: 10px; color: var(--brand); }
.ls-sites a { margin-right: 14px; color: var(--muted); }
.ls-sites a:hover { color: var(--brand); }

.ls-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 8px;
}
.ls-tags { padding: 2px 16px 8px; display: flex; flex-wrap: wrap; gap: 8px; }
.ls-tags a {
  padding: 5px 13px;
  background: var(--tint-cool);
  border-radius: 8px;
  color: var(--muted);
}
.ls-tags a.alt { background: var(--brand-soft); color: var(--muted); }
.ls-tags a:hover { background: var(--deep); color: #fff; }

.ls-sec-sub {
  margin-left: 10px;
  font-size: 12px;
  font-weight: 400;
  color: var(--dim);
}
.ls-adbar {
  display: flex;
  align-items: center;
  height: 38px;
  margin: 16px auto 0;
  padding: 0 12px;
  border-radius: 6px;
  background: linear-gradient(94deg, #0f1b3d 0%, #1a2a58 72%, #24356a 100%);
  color: #e8ecf7;
  overflow: hidden;
}
.ls-adbar-tag {
  flex: 0 0 auto;
  margin-right: 10px;
  padding: 0 6px;
  height: 18px;
  line-height: 18px;
  border-radius: 3px;
  background: var(--grad);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
.ls-adbar b {
  flex: 0 0 auto;
  margin-right: 10px;
  font-size: 13px;
  color: #fff;
}
.ls-adbar em {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-style: normal;
  font-size: 12px;
  color: #c5cce0;
}
.ls-adbar-go {
  flex: 0 0 auto;
  margin-left: 12px;
  font-size: 12px;
  color: #ffb38a;
}
.ls-adbar:hover { color: #e8ecf7; }
.ls-adbar:hover .ls-adbar-go { color: #fff; }
.ls-adbar + .ls-mall,
.ls-adbar + .ls-block { margin-top: 10px; }

.ls-mall { padding: 0 0 4px; }
.ls-mall-body {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}
.ls-mall-side {
  position: relative;
  min-height: 320px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--tint-cool);
}
.ls-mall-side > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.55) brightness(1.18);
  opacity: 0.4;
}
.ls-mall-side:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(242, 246, 255, 0.8));
}
.ls-mall-l1 {
  position: relative;
  z-index: 1;
  padding: 16px 18px 14px;
}
.ls-mall-l1 > em {
  display: block;
  margin: 0 0 14px;
  font-style: normal;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  color: var(--brand);
}
.ls-mall-l1 nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 8px;
}
.ls-mall-l1 a {
  font-size: 13px;
  font-weight: 600;
  line-height: 30px;
  color: var(--ink);
}
.ls-mall-l1 a:hover { color: var(--brand); }
.ls-mall-keys {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  column-gap: 4px;
  align-content: start;
  padding: 14px 14px 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.ls-mall-keys a {
  font-size: 13px;
  line-height: 32px;
  color: var(--muted);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ls-mall-keys a:hover { color: var(--brand); }

.ls-abc { padding: 6px 16px 16px; }
.ls-abc a {
  display: inline-block;
  background: var(--tint-cool);
  border-radius: 6px;
  margin: 3px 2px;
  padding: 2px 8px;
  color: var(--muted);
}
.ls-abc a:hover, .ls-abc a.on { background: var(--deep); color: #fff; }
.ls-abc-page { padding: 0 0 16px; }
.ls-letter-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 2px 16px;
  padding: 8px 4px 24px;
}
.ls-letter-grid a {
  line-height: 32px;
  color: var(--ink);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ls-letter-grid a:hover { color: var(--brand); }
.ls-letter-empty { color: var(--muted); padding: 12px 4px 28px; }

.ls-news-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px 14px;
  padding: 4px 0 16px;
}
.ls-news-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px 8px 10px;
}
.ls-news-card:hover { border-color: #f0c8be; background: var(--brand-soft); }
.ls-news-card img {
  width: 100%;
  height: 128px;
  object-fit: cover;
  border-radius: 8px;
  background: #eef1f6;
}
.ls-news-card b {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 40px;
  margin: 8px 0 4px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.45;
}
.ls-news-card span { color: var(--dim); font-size: 12px; }

.ls-briefs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 28px;
  padding: 4px 16px 8px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.ls-brief {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed #eee;
}
.ls-brief:nth-child(9),
.ls-brief:nth-child(10) { border-bottom: 0; }
.ls-brief:hover b { color: var(--brand); }
.ls-brief img {
  flex: 0 0 96px;
  width: 96px;
  height: 64px;
  object-fit: cover;
  border-radius: var(--radius-sm);
  background: var(--tint-cool);
}
.ls-brief-copy {
  min-width: 0;
  flex: 1;
}
.ls-brief-copy b {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  line-height: 20px;
  height: 20px;
}
.ls-brief-copy time {
  display: block;
  margin: 2px 0 4px;
  color: var(--dim);
  font-size: 12px;
  line-height: 18px;
}
.ls-brief-copy em {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-style: normal;
  font-size: 12px;
  line-height: 20px;
  height: 40px;
  color: var(--muted);
}
.ls-pages {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 4px 0 8px;
}
.ls-pages a {
  min-width: 32px;
  height: 32px;
  padding: 0 10px;
  line-height: 30px;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
}
.ls-pages a:hover { border-color: var(--deep); color: var(--deep); }
.ls-pages a.on {
  background: var(--deep);
  border-color: var(--deep);
  color: #fff;
}
.ls-pages-gap {
  min-width: 24px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  color: var(--muted);
  font-size: 13px;
  letter-spacing: 1px;
  user-select: none;
}

.ls-footer {
  margin-top: 40px;
  background: linear-gradient(180deg, #101a3a 0%, #0a1230 72%);
  color: #9aa3bb;
}
.ls-ft-feats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  padding: 40px 0 32px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.ls-ft-feat {
  display: flex;
  align-items: center;
  gap: 16px;
}
.ls-ft-feat i {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.28);
  color: #fff;
  background:
    radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.16), transparent 58%),
    rgba(255, 255, 255, 0.04);
  box-shadow:
    0 0 0 6px rgba(255, 255, 255, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
}
.ls-ft-feat b {
  display: block;
  color: #fff;
  font-size: 16px;
  margin-bottom: 6px;
}
.ls-ft-feat span {
  display: block;
  font-size: 12px;
  line-height: 1.65;
  color: #7d879e;
}
.ls-ft-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.95fr;
  gap: 36px 56px;
  padding: 32px 0 8px;
}
.ls-ft-col h3 {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 14px;
}
.ls-ft-col a {
  display: block;
  margin: 0 0 8px;
  color: #9aa3bb;
  font-size: 13px;
  line-height: 1.5;
}
.ls-ft-col a:hover { color: #ffb38a; }
.ls-ft-sites {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0 12px;
}
.ls-ft-sites a { margin-bottom: 8px; }
.ls-ft-serve {
  justify-self: end;
  text-align: left;
}
.ls-ft-serve h3,
.ls-ft-reach,
.ls-ft-reach a,
.ls-ft-addr,
.ls-ft-addr b,
.ls-ft-addr span {
  text-align: left;
}
.ls-ft-serve-body {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 22px;
}
.ls-ft-qr {
  flex: 0 0 100px;
  width: 100px;
  margin-top: 0;
}
.ls-ft-qr img {
  display: block;
  width: 100px;
  height: 100px;
  padding: 6px;
  background: #fff;
  border-radius: 6px;
}
.ls-ft-qr span {
  display: block;
  margin-top: 10px;
  color: #8fa3c4;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}
.ls-ft-reach .ls-ft-tel {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
}
.ls-ft-reach .ls-ft-tel:hover { color: #ffb38a; }
.ls-ft-addr {
  margin: 10px 0 14px;
}
.ls-ft-addr b {
  display: block;
  margin-bottom: 4px;
  color: #c5cce0;
  font-size: 12px;
}
.ls-ft-addr span {
  display: block;
  color: #7d879e;
  font-size: 12px;
  line-height: 1.65;
}
.ls-ft-friends {
  margin-top: 12px;
  padding: 16px 0 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 12px;
  line-height: 1.8;
  color: #7d879e;
}
.ls-ft-friends b {
  margin-right: 12px;
  color: #c5cce0;
}
.ls-ft-friends a {
  margin-right: 14px;
  color: #7d879e;
}
.ls-ft-friends a:hover { color: #fff; }
.ls-ft-copy {
  background: #070b1a;
  padding: 16px 0 20px;
  text-align: center;
  color: #6b7388;
  font-size: 12px;
  line-height: 22px;
}
.ls-ft-copy a { color: #8b95ae; margin: 0 6px; }
.ls-ft-copy a:hover { color: #fff; }
.ls-ft-legal {
  margin: 4px 0 0;
}
.ls-ft-legal .ls-ft-icp {
  margin-left: 16px;
}
.ls-ft-legal .ls-ft-icp img {
  width: 14px;
  height: 14px;
  margin-right: 4px;
  vertical-align: -2px;
}

/* 内页通用 */
.ls-page { padding: 12px 0 24px; }
.ls-crumb {
  padding: 8px 0 12px;
  color: #888;
  font-size: 12px;
}
.ls-crumb a { color: #666; }
.ls-crumb span { margin: 0 6px; color: #ccc; }
.ls-page-h1 {
  font-size: 20px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 12px;
}
.ls-page-switch {
  margin: 0 0 12px;
  font-size: 13px;
}
.ls-page-switch a {
  display: inline-block;
  margin-right: 8px;
  padding: 4px 12px;
  border: 1px solid var(--line-2);
  border-radius: 3px;
  color: #555;
}
.ls-page-switch a.on,
.ls-page-switch a:hover {
  border-color: var(--brand);
  color: var(--brand);
}
.ls-page-body {
  color: #333;
  line-height: 1.85;
  font-size: 14px;
  max-width: 860px;
}
.ls-page-body h2 {
  font-size: 16px;
  margin: 22px 0 10px;
  color: var(--ink);
}
.ls-page-body p { margin: 0 0 10px; }
.ls-page-body a { color: var(--blue); }
.ls-page-body a:hover { text-decoration: underline; }
.ls-panel {
  background: var(--tint-cool);
  border-radius: 6px;
  padding: 14px 16px;
  margin-bottom: 14px;
}
.ls-pager {
  text-align: center;
  padding: 20px 0;
}
.ls-pager a, .ls-pager b {
  display: inline-block;
  min-width: 32px;
  height: 32px;
  line-height: 32px;
  margin: 0 3px;
  border-radius: 4px;
  background: var(--tint-cool);
  color: #666;
}
.ls-pager b, .ls-pager a.on { background: var(--deep); color: #fff; }

/* 企业列表 */
.ls-co-row {
  display: flex;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid #eee;
}
.ls-co-row img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 4px;
  flex: 0 0 80px;
}
.ls-co-row h3 { font-size: 15px; margin-bottom: 6px; }
.ls-co-row h3 a { color: var(--brand); font-weight: 700; }
.ls-co-row p { color: #888; line-height: 1.7; font-size: 12px; }
.ls-co-meta { margin-top: 6px; color: var(--dim); font-size: 12px; }
.ls-co-meta a { margin-right: 10px; }

/* 产品卡片网格 */
.ls-prod-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.ls-prod-card {
  background: var(--tint-cool);
  border-radius: 6px;
  padding: 10px;
  text-align: center;
}
.ls-prod-card img {
  width: 100%;
  height: 120px;
  object-fit: contain;
  background: #fff;
  border-radius: 4px;
}
.ls-prod-card b {
  display: block;
  margin: 8px 0 4px;
  height: 36px;
  overflow: hidden;
  font-weight: 600;
  line-height: 1.4;
}
.ls-prod-card em {
  font-style: normal;
  color: #999;
  font-size: 12px;
}

/* 产品条目 */
.ls-buy-item {
  padding: 12px 0;
  border-bottom: 1px dashed var(--line);
}
.ls-buy-item h3 { font-size: 14px; margin-bottom: 6px; }
.ls-buy-item h3 a { color: #333; font-weight: 700; }
.ls-buy-item h3 a:hover { color: var(--brand); }
.ls-buy-tags span {
  display: inline-block;
  margin-right: 6px;
  padding: 0 8px;
  background: var(--brand-soft);
  color: var(--brand);
  border-radius: 4px;
  font-size: 12px;
}
.ls-buy-act { margin-top: 8px; }
.ls-buy-act a {
  display: inline-block;
  padding: 4px 14px;
  background: var(--grad);
  color: #fff !important;
  border-radius: var(--radius-sm);
}

/* 资讯列表 */
.ls-news-list li {
  list-style: none;
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.ls-news-list a { flex: 1; padding-right: 12px; }
.ls-news-list time { color: var(--dim); font-size: 12px; white-space: nowrap; }

/* 搜索 */
.ls-scope-tabs { display: flex; gap: 12px; margin-bottom: 12px; }
.ls-scope-tabs a { color: #666; padding-bottom: 4px; }
.ls-scope-tabs a.on { color: var(--brand); font-weight: 700; border-bottom: 2px solid var(--brand); }
.ls-search-hd { font-size: 14px; color: #666; margin-bottom: 14px; }
.ls-search-hd em { color: var(--brand); font-style: normal; font-weight: 700; }

/* 表单 */
.ls-form {
  max-width: 420px;
  margin: 24px auto;
  padding: 24px;
  background: var(--tint-cool);
  border-radius: 6px;
}
.ls-form h2 { text-align: center; margin-bottom: 18px; font-size: 18px; }
.ls-form label {
  display: block;
  margin-bottom: 12px;
  color: #666;
}
.ls-form input[type="text"],
.ls-form input[type="password"],
.ls-form input[type="email"] {
  width: 100%;
  height: 36px;
  margin-top: 4px;
  border: 1px solid #ddd;
  padding: 0 10px;
  border-radius: 4px;
}
.ls-form button {
  width: 100%;
  height: 40px;
  border: 0;
  background: var(--grad);
  color: #fff;
  font-size: 15px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  margin-top: 8px;
}
.ls-form-foot { text-align: center; margin-top: 12px; font-size: 12px; color: #888; }
.ls-form-tip { color: #888; font-size: 12px; line-height: 1.6; margin: -8px 0 14px; text-align: center; }
.ls-form-err { color: #c0392b; font-size: 13px; margin-bottom: 10px; }
.ls-captcha {
  min-height: 40px;
  margin: 6px 0;
  background: #fff;
  border: 1px dashed #ddd;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 12px;
  cursor: pointer;
}
.ls-captcha svg { height: 40px; width: auto; }

.ls-auth {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  min-height: 560px;
  margin: 8px 0 28px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}
.ls-auth-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 32px 28px 24px;
  background: var(--deep);
  color: #c5cce0;
  text-align: center;
}
.ls-auth-side-hd {
  width: 100%;
}
.ls-auth-side i {
  display: inline-block;
  margin-bottom: 12px;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0.06em;
  color: #ffb38a;
}
.ls-auth-side h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.ls-auth-side-hd p {
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
  color: #aeb6cb;
}
.ls-auth-side ul {
  width: 100%;
  margin: 0;
  padding: 16px 0 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.ls-auth-side li {
  margin: 0 0 8px;
  padding: 0;
  font-size: 12px;
  line-height: 1.6;
  color: #d5dceb;
}
.ls-auth-side li:last-child { margin-bottom: 0; }
.ls-auth-side li:before { display: none; }
.ls-auth-ask {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: auto 0;
  padding: 28px 0;
}
.ls-auth-qr {
  width: 112px;
  height: 112px;
  padding: 8px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}
.ls-auth-qr img {
  width: 96px;
  height: 96px;
  display: block;
}
.ls-auth-ask em {
  display: block;
  margin: 12px 0 10px;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #ffb38a;
}
.ls-auth-ask b {
  display: block;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.ls-auth-ask b a { color: #fff; }
.ls-auth-ask b a:hover { color: #ffb38a; }
.ls-auth-ask span {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #97a0b5;
}
.ls-auth-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 40px;
  background: var(--surface);
}
.ls-auth .ls-form {
  width: 100%;
  max-width: 360px;
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
}
.ls-auth-hd {
  margin: 0 0 18px;
}
.ls-auth .ls-form .ls-auth-title {
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
  color: var(--ink);
  text-align: left;
}
.ls-auth-mode {
  display: flex;
  gap: 24px;
  margin: 0 0 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.ls-auth-mode a {
  position: relative;
  padding: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
  color: var(--dim);
}
.ls-auth-mode a:hover { color: var(--brand); }
.ls-auth-mode a.on { color: var(--ink); }
.ls-auth-mode a.on:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -11px;
  height: 2px;
  background: var(--brand);
}
.ls-auth .ls-form-tip {
  margin: 0 0 18px;
  text-align: left;
  color: var(--muted);
  line-height: 1.7;
}
.ls-auth .ls-form-err {
  padding: 8px 10px;
  margin-bottom: 12px;
  background: #fdecea;
  border-radius: 4px;
}
.ls-auth-field { margin-bottom: 14px; }
.ls-auth .ls-form label {
  margin: 0 0 6px;
  color: var(--muted);
  font-weight: 600;
}
.ls-auth .ls-form input[type="text"],
.ls-auth .ls-form input[type="tel"],
.ls-auth .ls-form input[type="password"] {
  display: block;
  width: 100%;
  height: 44px;
  margin-top: 0;
  border: 1px solid var(--line-2);
  border-radius: 6px;
  padding: 0 12px;
  font-size: 14px;
  background: #fff;
}
.ls-auth .ls-form input:focus {
  outline: 0;
  border-color: var(--deep);
}
.ls-auth-cap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 118px;
  gap: 10px;
  align-items: stretch;
}
.ls-auth .ls-captcha {
  min-height: 44px;
  height: 44px;
  margin: 0;
  border: 1px solid var(--line-2);
  border-radius: 6px;
  background: #f7f8fa;
  overflow: hidden;
}
.ls-auth .ls-captcha svg {
  height: 42px;
  max-width: 100%;
}
.ls-auth .ls-captcha.is-locked {
  pointer-events: none;
  cursor: default;
  opacity: 0.72;
}
.ls-auth .ls-form input:disabled {
  background: #f3f4f6;
  color: #888;
  cursor: not-allowed;
}
.ls-auth .ls-form .ls-sms-btn {
  width: auto;
  height: 44px;
  margin: 0;
  border: 1px solid var(--deep);
  background: #fff;
  color: var(--deep);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  padding: 0 8px;
}
.ls-auth .ls-form .ls-sms-btn:hover {
  color: var(--brand);
  border-color: var(--brand);
  background: #fff;
}
.ls-auth .ls-form .ls-sms-btn:disabled {
  color: var(--dim);
  border-color: var(--line);
  background: var(--bg);
  cursor: default;
}
.ls-auth .ls-form button[type="submit"] {
  width: 100%;
  height: 44px;
  margin-top: 6px;
  font-size: 16px;
  font-weight: 700;
}
.ls-auth .ls-form-foot {
  margin-top: 16px;
  color: var(--muted);
}
.ls-auth .ls-form-foot a { color: var(--brand); font-weight: 700; }

.ls-form-wide { max-width: 720px; margin: 0 0 24px; }

.ac {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin: 8px 0 36px;
}
.ac-side {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 8px 0 12px;
  position: sticky;
  top: 76px;
}
.ac-k {
  margin: 12px 16px 6px;
  font-size: 12px;
  font-weight: 700;
  color: #98a0ae;
  letter-spacing: 0.04em;
}
.ac-item {
  display: block;
  width: calc(100% - 20px);
  margin: 2px 10px;
  padding: 9px 12px 9px 22px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #334;
  font-size: 14px;
  text-align: left;
  cursor: pointer;
  position: relative;
}
.ac-item:before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #e4e7ee;
}
.ac-item:after {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  width: 8px;
  height: 1px;
  background: #e4e7ee;
}
.ac-item:hover { background: #f6f7fb; }
.ac-item.on {
  background: #fff1ee;
  color: var(--brand);
  font-weight: 700;
}
.ac-item.on:before,
.ac-item.on:after { background: #f3b2a8; }
.ac-body {
  min-width: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px 22px 22px;
}
.ac-body h2 {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 700;
}
.ac-hint { color: #888; font-size: 12px; margin: 0 0 12px; }
.ac-form { max-width: none; margin: 0; padding: 0; background: transparent; }
.ac-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 18px;
}
.ac-grid-narrow { max-width: 640px; }
.ac-span { grid-column: 1 / -1; }
.ac-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  color: #5c6570;
  font-size: 13px;
  font-weight: 600;
}
.ac-form input:not([type]),
.ac-form input[type="text"],
.ac-form input[type="password"],
.ac-form input[type="tel"],
.ac-form input[type="url"],
.ac-form input[type="number"],
.ac-form textarea,
.ac-form select {
  display: block;
  width: 100%;
  margin: 0;
  border: 1px solid #e3e6ee;
  background: #fff;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 14px;
  font-weight: 400;
  color: #222;
}
.ac-form input:not([type]),
.ac-form input[type="text"],
.ac-form input[type="password"],
.ac-form input[type="tel"],
.ac-form input[type="url"],
.ac-form input[type="number"],
.ac-form select { height: 40px; }
.ac-form textarea { min-height: 96px; resize: vertical; }
.ac-form input:focus,
.ac-form textarea:focus,
.ac-form select:focus {
  outline: 0;
  border-color: var(--brand);
}
.ac-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ac-form .ac-host { display: flex; align-items: center; gap: 8px; }
.ac-form .ac-host input { flex: 1; width: auto; min-width: 0; }
.ac-form .ac-host input:disabled { background: #f4f5f7; color: #667085; }
.ac-host-suffix { flex: none; color: #1f2937; font-size: 14px; font-weight: 600; }
.ac-host-rand {
  flex: none;
  height: 40px;
  padding: 0 14px;
  border: 1px solid #e3e6ee;
  border-radius: 6px;
  background: #fff;
  color: #1f2937;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.ac-host-rand[hidden] { display: none; }
.ac-host-rand:disabled { opacity: .6; cursor: default; }
.ac-host-state { min-height: 18px; font-size: 12px; font-weight: 500; }
.ac-host-state.ok { color: #0a7a32; }
.ac-host-state.bad { color: #c2410c; }
.ac-span > .ac-hint { margin: 0; font-weight: 400; }
.ac-pair select { width: 100%; }
.ac-ups { display: flex; gap: 16px; }
.ac-up { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 0; }
.ac-pick {
  position: relative;
  width: 96px;
  height: 96px;
  border: 1px dashed #c5cad3;
  border-radius: 10px;
  background: #f7f8fa;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  cursor: pointer;
}
.ac-pick .ac-plus {
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
  color: #98a2b3;
  pointer-events: none;
}
.ac-pick img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #fff;
}
.ac-pick img:not([src]),
.ac-pick img[src=""] { display: none; }
.ac-pick:has(img[src]:not([src=""])) .ac-plus { display: none; }
.ac-pick:has(img[src]:not([src=""])):hover::after {
  content: "更换";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, .45);
  color: #fff;
  font-size: 13px;
  pointer-events: none;
}
.ac-pick input[type="file"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  font-size: 0;
}
.ac-pick-tip { color: #98a2b3; font-size: 12px; font-weight: 400; }
.ac-picks { display: flex; flex-wrap: wrap; gap: 8px; }
.ac-picks .ac-pick { width: 72px; height: 72px; }
.ac-save { margin-top: 16px; }
.ac-save[hidden] { display: none; }
.ac-form .ac-save button,
.ac .ac-save button {
  width: auto;
  min-width: 120px;
  height: 40px;
  padding: 0 22px;
  border: 0;
  border-radius: 6px;
  background: var(--brand);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.ac-pane-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ac-pane-hd h2 { margin: 0; }
.ac .ls-admin-table { margin-top: 8px; }
.ac .ls-admin-table th {
  background: #f7f8fb;
  font-weight: 700;
  text-align: left;
}
.ac .ls-admin-table button {
  border: 0;
  background: transparent;
  color: var(--brand);
  cursor: pointer;
  padding: 0 6px;
}
.ac .ls-audit {
  margin-bottom: 14px;
  border: 1px solid #e7ebf2;
}
.ls-audit-pending { background: #fff8ee; border-color: #f0d7a8; color: #8a5a12; }
.ls-form textarea, .ls-form select {
  width: 100%;
  margin-top: 4px;
  border: 1px solid #ddd;
  padding: 8px 10px;
  border-radius: 4px;
}
.ls-form input[type="color"] { height: 36px; width: 80px; padding: 0; border: 0; }
.ls-up-prev { display: block; width: 72px; height: 72px; object-fit: contain; background: #fff; margin: 6px 0; }
.ls-audit { padding: 10px 14px; border-radius: 6px; margin-bottom: 14px; background: var(--tint-cool); }
.ls-audit-approved { background: #e8f7ee; border-color: #b7e4c7; }
.ls-audit-rejected { background: #fdecea; }
.ls-admin-table { width: 100%; border-collapse: collapse; margin-bottom: 10px; }
.ls-admin-table th, .ls-admin-table td { border: 1px solid #eee; padding: 8px; font-size: 13px; }
.ls-admin-table img { width: 48px; height: 36px; object-fit: cover; }
.ls-btn {
  padding: 6px 14px;
  border: 0;
  background: var(--deep);
  color: #fff;
  border-radius: 4px;
  cursor: pointer;
}
.ls-btn:disabled { opacity: .5; cursor: not-allowed; }
.ls-modal {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 64px 16px 24px;
}
.ls-modal[hidden] { display: none !important; }
.ls-modal-mask { position: absolute; inset: 0; background: rgba(15, 23, 42, .45); }
.ls-modal-card {
  position: relative;
  z-index: 1;
  width: 560px;
  max-width: 100%;
  margin: 0;
  background: #fff;
  padding: 20px 22px 16px;
  border-radius: 12px;
  max-height: calc(100vh - 88px);
  overflow: auto;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .22);
}
.ls-modal-card h3 { margin: 0 0 14px; font-size: 18px; }
.ls-modal-card label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 12px;
  color: #5c6570;
  font-size: 13px;
  font-weight: 600;
}
.ls-modal-card input:not([type]),
.ls-modal-card input[type="text"],
.ls-modal-card textarea,
.ls-modal-card select {
  width: 100%;
  margin: 0;
  border: 1px solid #e3e6ee;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 14px;
  font-weight: 400;
  color: #222;
  background: #fff;
}
.ls-modal-card select { height: 40px; }
.ls-modal-card textarea { min-height: 72px; resize: vertical; }
.ls-modal-card .ac-pick { align-self: flex-start; }
.ls-modal-card .ac-pair { margin-top: 0; }
.ls-modal-actions { display: flex; gap: 8px; margin: 4px 0 0; }
.ls-modal-actions button {
  height: 36px;
  padding: 0 16px;
  border-radius: 6px;
  border: 1px solid #e3e6ee;
  background: #fff;
  cursor: pointer;
}
.ls-modal-actions button[type="submit"] {
  border: 0;
  background: var(--brand);
  color: #fff;
  font-weight: 700;
}

/* 企业店铺 */
.ls-shop-hd {
  display: flex;
  gap: 16px;
  padding: 16px;
  background: linear-gradient(90deg, var(--brand-soft), #fff);
  border-radius: 6px;
  margin-bottom: 14px;
}
.ls-shop-hd img {
  width: 100px;
  height: 100px;
  object-fit: contain;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 4px;
}
.ls-shop-hd h1 { font-size: 22px; margin-bottom: 8px; }
.ls-shop-hd p { color: #888; line-height: 1.8; }
.ls-shop-phone {
  margin-top: 10px;
  font-size: 16px;
  color: var(--brand);
  font-weight: 700;
}
.ls-cert {
  display: inline-block;
  margin-left: 8px;
  font-style: normal;
  font-size: 12px;
  color: #fff;
  background: var(--brand);
  border-radius: 3px;
  padding: 2px 6px;
  vertical-align: middle;
}
.ls-shop-qr { text-align: center; font-size: 12px; color: #888; }
.ls-shop-qr img { width: 88px; height: 88px; background: #fff; border: 1px solid #eee; }
.ls-co-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--ls-col-right); gap: var(--ls-col-gap); }
.ls-co-side h2 { font-size: 15px; margin: 0 0 10px; }
.ls-co-side a { display: flex; gap: 8px; align-items: center; padding: 8px 0; border-bottom: 1px dashed #eee; color: inherit; text-decoration: none; font-size: 13px; }
.ls-co-side img { width: 36px; height: 36px; object-fit: contain; border: 1px solid #eee; border-radius: 4px; }
.ls-info-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.ls-info-table th, .ls-info-table td {
  border: 1px solid #eee;
  padding: 8px 10px;
  text-align: left;
}
.ls-info-table th { width: 120px; background: var(--tint-cool); color: #888; font-weight: 400; }

/* VIP */
.ls-vip-banner {
  height: 180px;
  background: linear-gradient(100deg, var(--deep) 10%, #1a2d66 55%, var(--brand) 120%);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 16px;
  text-shadow: 0 2px 8px rgba(0,0,0,.25);
}
.ls-vip-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.ls-vip-box {
  background: var(--tint-cool);
  border-radius: 6px;
  padding: 16px;
}
.ls-vip-box h3 { color: var(--brand); margin-bottom: 8px; }

/* 城市 / 目录 */
.ls-city-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px 0 12px;
}
.ls-city-grid a {
  padding: 5px 12px;
  background: var(--tint-cool);
  border-radius: 4px;
  color: var(--muted);
}
.ls-city-grid a:hover { background: var(--deep); color: #fff; }

/* 行业频道侧栏 */
.ls-layout-2 {
  display: grid;
  grid-template-columns: var(--ls-col-left) minmax(0, 1fr);
  gap: var(--ls-col-gap);
}
.ls-side-menu {
  background: var(--tint-cool);
  border-radius: 6px;
  padding: 8px 0;
}
.ls-side-menu a {
  display: block;
  padding: 8px 14px;
  color: #666;
  border-left: 3px solid transparent;
}
.ls-side-menu a.on, .ls-side-menu a:hover {
  color: var(--brand);
  background: var(--brand-soft);
  border-left-color: var(--brand);
}

/* Tabs */
.ls-tabs-head { display: flex; border-bottom: 2px solid #eee; margin-bottom: 12px; }
.ls-tabs-head a, .ls-tabs-head button {
  border: 0;
  background: none;
  padding: 10px 18px;
  font-size: 14px;
  cursor: pointer;
  color: #666;
}
.ls-tabs-head .on { color: var(--brand); font-weight: 700; border-bottom: 2px solid var(--brand); margin-bottom: -2px; }
[data-ls-tab-panel] { display: none; }
[data-ls-tab-panel].on { display: block; }

/* 文章详情 */
.ls-article { max-width: 900px; margin: 0 auto; }
.ls-article h1 { font-size: 22px; line-height: 1.5; margin-bottom: 10px; }
.ls-article-meta { color: var(--dim); font-size: 12px; margin-bottom: 16px; }
.ls-article-body { line-height: 1.9; color: #444; font-size: 14px; }
.ls-article-body p { margin-bottom: 12px; }
.ls-article-body img { max-width: 100%; border-radius: 4px; margin: 12px 0; }

.ls-feed li a { color: inherit; }
.ls-feed li a:hover { color: var(--brand); }

.ls-market-btn { color: #fff !important; text-decoration: none; }
.ls-city-biz { display: flex; gap: 12px; padding: 6px 0; border-bottom: 1px dashed #eee; line-height: 1.9; }
.ls-city-biz b { flex: 0 0 160px; color: var(--brand); }
.ls-city-biz span a { margin-right: 12px; color: #555; }
.ls-city-ind { padding: 8px 12px; }
.ls-city-ind h3 { font-size: 14px; margin-bottom: 4px; }
.ls-city-ind h3 a { color: var(--brand); font-weight: 700; }
.ls-city-ind p a { margin-right: 10px; color: #666; font-size: 12px; }
.ls-top-nav a.on { color: var(--brand); font-weight: 700; }

/* 产品供应三层分类 */
.ls-floor { margin-bottom: 28px; }
.ls-floor-hd {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--deep);
}
.ls-floor-hd h2 { font-size: 18px; color: var(--ink); }
.ls-floor-hd a { font-size: 12px; color: #888; }
.ls-floor-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.ls-floor-card {
  display: flex;
  gap: 10px;
  padding: 10px;
  background: var(--tint-cool);
  border-radius: 6px;
}
.ls-floor-thumb img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 4px;
  background: #fff;
}
.ls-floor-body h3 { font-size: 14px; margin-bottom: 4px; }
.ls-floor-body h3 a { color: var(--brand); font-weight: 700; }
.ls-floor-body p a {
  display: inline-block;
  margin: 0 8px 4px 0;
  font-size: 12px;
  color: #666;
}

/* 资讯博客列表 */
.ls-news-list.ls-news-blog li {
  display: block;
  padding: 14px 0;
}
.ls-news-blog-main time {
  display: inline-block;
  color: var(--dim);
  font-size: 12px;
  margin-right: 10px;
}
.ls-news-blog-main > a { font-weight: 700; font-size: 14px; }
.ls-news-blog-main p {
  margin-top: 6px;
  color: #888;
  line-height: 1.7;
  font-size: 12px;
}

/* 推广服务 */
.ls-vip-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 8px;
}
.ls-vip-stats div {
  text-align: center;
  padding: 14px;
  background: var(--tint-cool);
  border-radius: 6px;
}
.ls-vip-stats b { display: block; font-size: 20px; color: var(--brand); margin-bottom: 4px; }
.ls-vip-stats span { font-size: 12px; color: #888; }
.ls-vip-cols-4 { grid-template-columns: repeat(4, 1fr); }
.ls-vip-ticker {
  height: 72px;
  overflow: hidden;
  position: relative;
}
.ls-vip-ticker ul {
  list-style: none;
  margin: 0;
  padding: 0;
  animation: ls-ticker 18s linear infinite;
}
.ls-vip-ticker li {
  line-height: 24px;
  color: #666;
  font-size: 12px;
}
@keyframes ls-ticker {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}
.ls-vip-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 12px 0 20px;
}
.ls-vip-logos img {
  width: 88px;
  height: 44px;
  object-fit: contain;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 4px;
  padding: 4px;
}

.ls-svc {
  position: fixed;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99;
  background: #fff;
  border: 1px solid #e2eaf7;
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14);
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ls-svc-item {
  position: relative;
  width: 50px;
  padding: 9px 0 7px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  cursor: pointer;
  color: #475569;
  background: none;
  border: 0;
  font: inherit;
  text-decoration: none;
  transition: 0.15s;
}
.ls-svc-item svg { width: 18px; height: 18px; }
.ls-svc-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 2px 8px rgba(244, 68, 46, 0.18);
  transition: 0.2s;
}
.ls-svc-item:hover .ls-svc-avatar { transform: scale(1.1); }
.ls-svc-item em { font-style: normal; font-size: 11px; }
.ls-svc-item:hover { background: var(--brand-soft); color: var(--brand); }
.ls-svc-pop {
  position: absolute;
  right: 62px;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: 1px solid #e2eaf7;
  border-radius: 12px;
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.16);
  padding: 14px 18px;
  font-size: 12px;
  color: #475569;
  white-space: nowrap;
  display: none;
  text-align: center;
  line-height: 1.7;
}
.ls-svc-pop::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 0;
  width: 16px;
  height: 100%;
}
.ls-svc-item:hover .ls-svc-pop,
.ls-svc-item:focus-within .ls-svc-pop { display: block; }
.ls-svc-pop b { display: block; color: #0b1220; font-size: 15px; margin-bottom: 2px; }
.ls-svc-qr img {
  width: 112px;
  height: 112px;
  max-width: none;
  display: block;
  margin: 0 auto 6px;
  border-radius: 8px;
}
.ls-svc-line { height: 1px; background: #eef2f9; margin: 2px 8px; }

.ls-wx {
  position: fixed;
  inset: 0;
  z-index: 220;
  display: grid;
  place-items: center;
  padding: 20px;
}
.ls-wx[hidden] { display: none !important; }
.ls-wx-mask {
  position: absolute;
  inset: 0;
  background: rgba(19, 28, 51, 0.48);
}
.ls-wx-card {
  position: relative;
  z-index: 1;
  width: min(400px, 100%);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 36px 28px 28px;
  text-align: center;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.22);
}
.ls-wx-close {
  position: absolute;
  top: 10px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  font-size: 26px;
  line-height: 1;
  color: var(--dim);
  cursor: pointer;
}
.ls-wx-close:hover { color: var(--ink); }
.ls-wx-card h3 { font-size: 22px; font-weight: 800; color: var(--ink); }
.ls-wx-card p { color: var(--muted); margin-top: 10px; font-size: 14.5px; line-height: 1.6; }
.ls-wx-qr {
  width: 188px;
  height: 188px;
  object-fit: cover;
  border-radius: 14px;
  margin: 22px auto 12px;
  display: block;
  border: 1px solid var(--line);
}
.ls-wx-tip { display: block; font-size: 13px; color: var(--muted); }
.ls-wx-tel {
  display: inline-block;
  margin-top: 16px;
  font-size: 13.5px;
  color: var(--brand);
  font-weight: 600;
}

@media (max-width: 1380px) {
  .ls-svc { right: 8px; padding: 4px; }
  .ls-svc-item { width: 42px; padding: 7px 0 5px; }
  .ls-svc-item svg { width: 16px; height: 16px; }
  .ls-svc-avatar { width: 28px; height: 28px; }
  .ls-svc-item em { font-size: 10px; }
  .ls-svc-pop { right: 54px; }
}
@media (max-width: 640px) {
  .ls-svc { display: none; }
}

/* ---- channel.css (demo-today) ---- */
/* 栏目内容区：与主站同一套令牌，不再使用独立站头 */
.ch-body {
  background: var(--bg);
}
.ch-body .ls-shell {
  background: var(--bg);
  min-width: 1200px;
}
.ch-w {
  width: var(--ls-page-w);
  margin: 0 auto;
}
.ch-crumb {
  padding: 14px 0 8px;
  font-size: 13px;
  color: var(--muted);
}
.ch-crumb a { color: var(--muted); }
.ch-crumb span { margin: 0 6px; color: var(--dim); }

.ch-page-h1 {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.3;
}
.ch-page-lead {
  margin: 0 0 14px;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
}

.hy-dir {
  display: grid;
  grid-template-columns: var(--ls-col-left) minmax(0, 1fr) var(--ls-col-right);
  column-gap: var(--ls-col-gap);
  row-gap: 16px;
  align-items: start;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
  padding: 14px 0 16px;
  margin: 0 0 28px;
}
.hy-col-hd {
  height: 42px;
  line-height: 42px;
  padding: 0 14px;
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  background: var(--deep);
}
.hy-side {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.hy-side-all,
.hy-side a {
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}
.hy-side-all {
  display: block;
  padding: 10px 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}
.hy-side-g { padding: 6px 8px 8px; border-bottom: 1px dashed var(--line); }
.hy-side-g:last-child { border-bottom: 0; }
.hy-l1 {
  display: block;
  padding: 0 2px 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}
.hy-l2s {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2px 6px;
}
.hy-l2 {
  display: block;
  padding: 3px 2px;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.45;
  min-width: 0;
}
.hy-side a:hover { color: var(--brand); }
.hy-side a.on {
  color: var(--brand);
  font-weight: 700;
}
.hy-main {
  padding: 0;
  min-width: 0;
}
.hy-keys {
  padding: 12px 16px 8px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-bottom: 12px;
}
.hy-line {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 10px;
}
.hy-line b {
  flex: 0 0 42px;
  padding-top: 5px;
  font-size: 13px;
  color: var(--muted);
}
.hy-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  min-width: 0;
}
.hy-chips button,
.hy-chips a {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 13px;
  line-height: 1.4;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}
.hy-chips button:hover,
.hy-chips button.on,
.hy-chips a:hover,
.hy-chips a.on {
  color: var(--brand);
  border-color: #ffc4b8;
  background: var(--brand-soft);
}
.hy-chips button[hidden] { display: none; }
.hy-line-search input {
  flex: 1;
  min-width: 0;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 0 12px;
  font-size: 13px;
  color: var(--ink);
  background: #fff;
}
.hy-line-search input:focus {
  outline: none;
  border-color: var(--brand);
}
.hy-board {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 4px 16px 12px;
}
.hy-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 0 8px;
  font-size: 13px;
  color: var(--ink);
}
.hy-bar-search {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}
.hy-bar-search input {
  width: 180px;
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 0 10px;
  font-size: 13px;
}
.hy-bar-search input:focus {
  outline: none;
  border-color: var(--brand);
}
.hy-bar-search button {
  height: 32px;
  border: 0;
  background: var(--deep);
  color: #fff;
  border-radius: 4px;
  padding: 0 14px;
  cursor: pointer;
}
.hy-bar-tip { color: var(--dim); }
.hy-list { padding-bottom: 8px; }
.hy-row {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 120px;
  gap: 14px;
  align-items: center;
  padding: 14px 4px;
  border-bottom: 1px solid var(--line);
  color: inherit;
}
.hy-row:hover { background: var(--tint-cool); text-decoration: none; }
.hy-row img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.hy-row-body strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 4px;
}
.hy-row:hover strong { color: var(--brand); }
.hy-row-body p {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.5;
}
.hy-row-meta {
  text-align: right;
  font-size: 12px;
  line-height: 1.7;
}
.hy-row-meta em {
  display: block;
  font-style: normal;
  color: var(--brand);
  font-weight: 700;
}
.hy-row-meta span { color: var(--muted); }
.hy-empty {
  padding: 36px 0 28px;
  text-align: center;
  color: var(--muted);
  font-size: 14px;
}
.hy-rec {
  position: sticky;
  top: 76px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  padding: 0 0 8px;
}
.hy-rec h2 {
  font-size: 14px;
  margin: 0 0 10px;
}
.hy-rec a {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 9px 12px;
  border-bottom: 1px dashed var(--line);
  color: var(--ink);
  text-decoration: none;
  font-size: 13px;
}
.hy-rec a:last-child { border-bottom: 0; }
.hy-rec a span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hy-rec img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  flex: 0 0 36px;
}
.hy-line-search form { display: flex; gap: 8px; flex: 1; }
.hy-line-search button {
  height: 34px;
  border: 0;
  background: var(--brand);
  color: #fff;
  border-radius: 4px;
  padding: 0 12px;
  cursor: pointer;
}

.ch-box {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  margin-bottom: 16px;
  overflow: hidden;
}
.ch-box-hd {
  height: 42px;
  line-height: 42px;
  padding: 0 16px;
  font-size: 15px;
  color: var(--ink);
  font-weight: 700;
}
.ch-box-hd i {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--deep);
  color: #fff;
  font-style: normal;
  font-size: 12px;
  line-height: 16px;
  text-align: center;
  font-weight: 700;
  vertical-align: 1px;
}

.ch-catgrid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  padding: 4px 16px 14px;
}
.ch-catgrid a {
  display: block;
  background: var(--tint-cool);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 5px 8px;
  text-align: center;
  font-size: 13px;
  color: var(--ink);
  line-height: 1.4;
}
.ch-catgrid a:hover {
  color: var(--brand);
  border-color: #ffc4b8;
  background: var(--brand-soft);
  text-decoration: none;
}

.ch-cogrid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  padding: 4px 16px 16px;
}
.ch-cocard {
  display: block;
  text-align: center;
  padding: 8px 6px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.ch-cocard img {
  width: 100%;
  height: 72px;
  object-fit: contain;
  background: #fff;
  border-radius: 4px;
}
.ch-cocard-name {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.35;
  height: 32px;
  overflow: hidden;
}
.ch-cocard em {
  display: block;
  margin-top: 4px;
  font-style: normal;
  font-size: 13px;
  color: var(--ink);
  line-height: 1.4;
  font-weight: 600;
}
.ch-cocard:hover {
  border-color: #ffc4b8;
  background: var(--brand-soft);
}
.ch-cocard:hover em { color: var(--brand); }

.ch-citygrid { padding: 4px 18px 14px; }
.ch-city-row {
  display: flex;
  padding: 7px 0;
  border-bottom: 1px dashed var(--line);
  line-height: 1.8;
  font-size: 13px;
}
.ch-city-row b {
  flex: 0 0 72px;
  color: var(--brand);
  font-weight: 700;
}
.ch-city-row span a {
  display: inline-block;
  margin-right: 12px;
  color: #444;
}
.ch-city-more {
  padding: 10px 0 4px;
  margin: 0;
}

.ch-hotlist {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 4px 16px 14px;
}
.ch-hotlist a {
  font-size: 13px;
  color: var(--ink);
  line-height: 1.6;
}
.ch-hotlist a:hover { color: var(--brand); }

.ch-regbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px 20px;
}
.ch-regbox p { color: var(--muted); font-size: 14px; }
.ch-regbox a {
  display: inline-block;
  background: var(--grad);
  color: #fff !important;
  padding: 8px 22px;
  border-radius: var(--radius-sm);
}

/* 产品供应：左分类 + 右轮播 */
.ch-prod-top,
.gy-stage {
  display: grid;
  grid-template-columns: var(--ls-col-left) minmax(0, 1fr);
  column-gap: var(--ls-col-gap);
  padding: 14px 0 8px;
  align-items: start;
}
.gy-main { min-width: 0; }
.ch-ind {
  background: #fff;
  border-radius: 12px;
  padding: 14px 0 8px;
  position: relative;
}
.ch-ind-title {
  padding: 0 18px 10px;
  font-size: 16px;
  font-weight: 700;
}
.ch-ind-title:before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 14px;
  background: var(--brand);
  border-radius: 2px;
  margin-right: 8px;
  vertical-align: -2px;
}
.ch-ind-row {
  position: relative;
}
.ch-ind-line {
  display: flex;
  align-items: center;
  padding: 0 16px;
  height: 38px;
  cursor: default;
}
.ch-ind-line:hover { background: var(--tint-cool); }
.ch-ind-ico {
  width: 18px;
  margin-right: 8px;
  color: var(--dim);
  font-size: 13px;
  text-align: center;
}
.ch-ind-links {
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 13px;
}
.ch-ind-links a { color: var(--ink); }
.ch-ind-links a:hover { color: var(--brand); }
.ch-ind-arrow { color: #ccc; font-size: 16px; }
.ch-ind-panel {
  display: none;
  position: absolute;
  left: 100%;
  top: 0;
  z-index: 20;
  width: 420px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  padding: 12px 16px;
}
.ch-ind-row:hover .ch-ind-panel { display: block; }
.ch-ind-sec { margin-bottom: 10px; }
.ch-ind-sec h4 {
  font-size: 13px;
  color: var(--brand);
  margin-bottom: 4px;
}
.ch-ind-sec a {
  display: inline-block;
  margin: 0 10px 4px 0;
  font-size: 12px;
  color: var(--muted);
}

.ch-prod-right { min-width: 0; }
.ch-banner,
.gy-hero-box {
  position: relative;
  height: 320px;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--deep);
}
.ch-banner > a,
.gy-hero-box > a {
  position: absolute;
  inset: 0;
}
.ch-banner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}
.ch-banner img.on,
.gy-hero-box .ls-hero-bg { opacity: 1; }
.ch-banner .ls-prev, .ch-banner .ls-next { z-index: 3; }

.ch-rec {
  background: #fff;
  border-radius: 12px;
  margin-top: 14px;
  padding: 12px 16px 16px;
}
.ch-rec-hd {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
}
.ch-rec-hd:before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 14px;
  background: var(--brand);
  border-radius: 2px;
  margin-right: 8px;
  vertical-align: -2px;
}
.ch-rec-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.ch-rec-card img {
  width: 100%;
  height: 118px;
  object-fit: cover;
  border-radius: 8px;
  background: var(--tint-cool);
}
.ch-rec-card b {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ch-rec-card em {
  display: block;
  margin-top: 4px;
  font-style: normal;
  font-size: 12px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ch-floor {
  background: #fff;
  border-radius: 12px;
  margin: 16px 0;
  padding: 16px 20px 8px;
}
.ch-floor-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}
.ch-floor-hd > span {
  display: inline-flex;
  align-items: center;
}
.ch-floor-hd > span:before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 16px;
  margin-right: 8px;
  background: var(--brand);
  border-radius: 2px;
}
.ch-floor-hd a {
  font-size: 13px;
  font-weight: 400;
  color: var(--muted);
}
.ch-floor-hd a:hover { color: var(--brand); }
.gy-floor-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px 12px;
  padding-bottom: 14px;
}
.gy-floor-grid .ls-prod-card {
  padding: 8px;
  background: #fff;
  border: 1px solid var(--line);
  text-align: left;
}
.gy-floor-grid .ls-prod-card img {
  height: 86px;
  object-fit: cover;
}
.gy-floor-grid .ls-prod-card b {
  height: auto;
  margin: 6px 0 4px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.gy-floor-grid .ls-prod-card p {
  color: #888;
  font-size: 12px;
  line-height: 1.45;
  height: 34px;
  overflow: hidden;
  margin: 0 0 4px;
}
.gy-floor-grid .ls-prod-card em {
  font-size: 12px;
  color: var(--muted);
}
.gy-floor-grid .ls-prod-card span {
  display: block;
  margin-top: 2px;
  color: #999;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gy-floor-grid .ls-prod-card span a { color: var(--brand); }
.ch-floor-item {
  display: grid;
  grid-template-columns: 168px 1fr;
  gap: 20px;
  padding: 18px 0;
  border-top: 1px solid var(--tint-cool);
}
.ch-floor-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.ch-floor-photos img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 6px;
  background: var(--bg);
}
.ch-floor-body h3 {
  font-size: 16px;
  margin-bottom: 8px;
}
.ch-floor-body h3 a { color: var(--ink); font-weight: 700; }
.ch-floor-keys {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 24px;
}
.ch-floor-keys a {
  color: #555;
  font-size: 13px;
  line-height: 1.9;
}

.gy-tree-sub { padding-left: 22px !important; font-size: 12px; }
.gy-q { display: flex; gap: 8px; margin: 0 0 10px; }
.gy-q input[type="search"] {
  flex: 1;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 0 10px;
}
.gy-q button {
  height: 34px;
  padding: 0 16px;
  border: 0;
  border-radius: 4px;
  background: var(--deep);
  color: #fff;
  cursor: pointer;
}
.gy-count { color: #888; font-size: 12px; margin-bottom: 12px; }
.gy-list-grid { grid-template-columns: repeat(4, 1fr); }
.gy-list-grid .ls-prod-card { text-align: left; }
.gy-list-grid .ls-prod-card p {
  color: #888;
  font-size: 12px;
  line-height: 1.6;
  height: 38px;
  overflow: hidden;
  margin: 4px 0;
}
.gy-list-grid .ls-prod-card span {
  display: block;
  margin-top: 6px;
  color: #999;
  font-size: 12px;
}
.gy-list-grid .ls-prod-card span a { color: var(--brand); }

.gy-head {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 24px;
  margin-bottom: 20px;
}
.gy-gallery img#gyMain {
  width: 100%;
  height: 280px;
  object-fit: cover;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 6px;
}
.gy-thumbs { display: flex; gap: 8px; margin-top: 10px; }
.gy-thumbs button {
  padding: 0;
  border: 1px solid #eee;
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
}
.gy-thumbs img { width: 64px; height: 48px; object-fit: cover; display: block; }
.gy-price { color: var(--brand); font-size: 22px; font-weight: 700; margin: 8px 0; }
.gy-kv { color: #888; font-size: 13px; margin: 6px 0; }
.gy-co {
  display: flex;
  gap: 12px;
  align-items: center;
  background: var(--tint-cool);
  border-radius: 6px;
  padding: 12px;
  margin: 14px 0;
  color: inherit;
  text-decoration: none;
}
.gy-co:hover { box-shadow: inset 0 0 0 1px var(--brand); }
.gy-co:hover b { color: var(--brand); }
.gy-co img { width: 48px; height: 48px; object-fit: contain; background: #fff; border-radius: 4px; }
.gy-co b { display: block; }
.gy-co em { color: #888; font-style: normal; font-size: 12px; }
.gy-acts a {
  display: inline-block;
  padding: 8px 18px;
  margin-right: 10px;
  border-radius: 4px;
  background: var(--deep);
  color: #fff !important;
}
.gy-acts .gy-tel { background: var(--brand); }
.gy-body { line-height: 1.8; margin-bottom: 20px; }
.gy-body table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.gy-body th, .gy-body td { border: 1px solid #eee; padding: 8px 10px; text-align: left; }
.gy-body th { background: var(--tint-cool); width: 120px; }

/* 产品列表 */
.ch-buy-item {
  display: grid;
  grid-template-columns: 1fr 160px 80px 90px 88px;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}
.ch-buy-item:hover { background: var(--tint-cool); }
.ch-buy-item h3 {
  font-size: 15px;
  font-weight: 400;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ch-buy-item h3 a { color: var(--ink); }
.ch-buy-item .qty { color: var(--muted); }
.ch-buy-item .city { color: var(--muted); }
.ch-buy-item .date { color: var(--dim); }
.ch-quote {
  display: inline-block;
  background: var(--grad);
  color: #fff !important;
  height: 30px;
  line-height: 30px;
  padding: 0 12px;
  border-radius: var(--radius-sm);
  text-align: center;
}

/* 资讯门户：blog.11467.com */
.ch-blog {
  display: grid;
  grid-template-columns: 866px 310px;
  gap: 16px;
  padding: 16px 0 24px;
  align-items: start;
}
.ch-blog-hero {
  position: relative;
  height: 286px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--deep);
  margin-bottom: 18px;
}
.ch-blog-slide {
  display: none;
  height: 286px;
}
.ch-blog-slide.on { display: grid; grid-template-columns: 1fr 1fr; }
.ch-blog-copy {
  padding: 28px 26px 40px;
  color: #fff;
}
.ch-blog-copy em {
  display: block;
  font-style: normal;
  color: var(--dim);
  font-size: 12px;
  margin-bottom: 10px;
}
.ch-blog-copy strong {
  display: block;
  font-size: 22px;
  line-height: 1.35;
  margin-bottom: 12px;
  color: #fff;
}
.ch-blog-copy span {
  display: block;
  color: #ddd;
  font-size: 13px;
  line-height: 1.7;
}
.ch-blog-pic {
  display: block;
  height: 286px;
}
.ch-blog-pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ch-blog-dots {
  position: absolute;
  left: 26px;
  bottom: 16px;
  z-index: 2;
}
.ch-blog-dots b {
  display: inline-block;
  width: 18px;
  height: 3px;
  margin-right: 6px;
  background: rgba(255,255,255,.35);
  cursor: pointer;
}
.ch-blog-dots b.on { background: #fff; }

.ch-blog-sec,
.ch-blog-box {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  margin-bottom: 18px;
}
.ch-blog-sec > h2,
.ch-blog-box > h2 {
  font-size: 22px;
  font-weight: 700;
  line-height: 30px;
  margin: 0;
  padding: 15px 18px 12px;
  color: var(--deep);
  border-bottom: 1px solid var(--line);
}
.ch-blog-cards {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 18px 9px 4px;
}
.ch-blog-card {
  width: 33.333%;
  box-sizing: border-box;
  padding: 0 9px 22px;
  background: transparent;
}
.ch-blog-card-inner {
  display: block;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 5px;
  box-shadow: 0 6px 16px rgba(18, 24, 38, 0.035);
  overflow: hidden;
  height: 265px;
}
a.ch-blog-card-inner,
.ch-blog-card-inner { color: inherit; text-decoration: none; }
.ch-blog-card .ch-blog-pic {
  display: block;
  height: 142px;
  overflow: hidden;
  background: var(--tint-cool);
}
.ch-blog-card .ch-blog-pic img,
.ch-blog-card-inner > img {
  display: block;
  width: 100%;
  height: 142px;
  object-fit: cover;
  background: var(--tint-cool);
}
.ch-blog-card-body { padding: 0; }
.ch-blog-card h3 {
  font-size: 17px;
  font-weight: 700;
  line-height: 24px;
  height: 48px;
  overflow: hidden;
  margin: 0 12px 8px;
  color: var(--ink);
}
.ch-blog-card h3 a { color: var(--ink); }
.ch-blog-card p {
  color: var(--muted);
  font-size: 13px;
  line-height: 21px;
  height: 42px;
  overflow: hidden;
  margin: 0 12px 9px;
}
.ch-blog-meta {
  margin: 0 12px;
  font-size: 13px;
  line-height: 22px;
}
.ch-blog-meta .co,
.ch-blog-card .co {
  display: block;
  color: var(--ink);
  font-size: 13px;
  line-height: 22px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ch-blog-card time,
.ch-blog-meta time {
  color: var(--dim);
  font-size: 13px;
  line-height: 22px;
}

.ch-side-box {
  background: #fff;
  border-radius: 10px;
  padding: 12px 14px 14px;
  margin-bottom: 14px;
}
.ch-side-box h2 {
  font-size: 15px;
  margin: 0 0 10px;
  font-weight: 700;
}
.ch-city-hot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ch-city-hot a {
  display: inline-block;
  padding: 4px 10px;
  background: var(--tint-cool);
  border-radius: 6px;
  font-size: 13px;
  color: var(--ink);
}
.ch-city-hot a.hot { background: var(--brand-soft); color: var(--brand); }
.ch-blog-ind a {
  display: inline-block;
  margin-right: 8px;
  line-height: 1.9;
  font-size: 13px;
  color: var(--ink);
}
.ch-blog-ind p {
  padding: 4px 0;
  border-bottom: 1px dashed var(--line);
}

.ch-article {
  background: #fff;
  border-radius: 12px;
  padding: 22px 28px 28px;
}
.ch-article h1 {
  font-size: 24px;
  line-height: 1.4;
  color: var(--ink);
  height: auto;
  text-indent: 0;
  margin-bottom: 10px;
}
.ch-article-meta { color: var(--dim); font-size: 12px; margin-bottom: 18px; }
.ch-article-body p {
  font-size: 15px;
  line-height: 1.9;
  color: var(--ink);
  margin-bottom: 14px;
}
.ch-article-body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 8px 0 16px;
  border-radius: 8px;
}

/* VIP */
.ch-vip-hero {
  background: linear-gradient(100deg, var(--deep), #1a2d66 55%, var(--brand));
  color: #fff;
  border-radius: 12px;
  padding: 36px 40px;
  margin: 16px 0;
}
.ch-vip-hero h2 { font-size: 28px; font-weight: 700; margin-bottom: 8px; }
.ch-vip-hero p { opacity: .92; }
.ch-vip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 16px;
}
.ch-vip-card {
  background: #fff;
  border-radius: 10px;
  padding: 18px 16px;
  min-height: 160px;
}
.ch-vip-card h3 { font-size: 16px; margin-bottom: 8px; color: var(--brand); }
.ch-vip-card p { color: var(--muted); font-size: 13px; line-height: 1.7; }

.ch-tuiguang,
.ch-tuiguang .ls-shell {
  background: var(--bg);
}
.ch-tuiguang .ls-footer { margin-top: 0; }

.tg-hero {
  padding: 72px 0 68px;
  text-align: center;
  color: #fff;
  background:
    radial-gradient(520px 240px at 88% 0%, rgba(244, 68, 46, 0.18), transparent 58%),
    linear-gradient(118deg, var(--deep-2), var(--deep) 52%, #1a2248);
}
.tg-hero-inner { max-width: 860px; }
.tg-hero i {
  display: inline-block;
  margin-bottom: 18px;
  padding: 0 12px;
  height: 28px;
  line-height: 28px;
  border-radius: var(--radius-sm);
  background: rgba(255, 179, 138, 0.16);
  color: #ffb38a;
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
}
.tg-hero h1 {
  font-size: 48px;
  line-height: 62px;
  font-weight: 700;
  margin: 0 0 16px;
  letter-spacing: 0.4px;
}
.tg-hero h1 b {
  color: #ffb38a;
  font-weight: 700;
}
.tg-hero-inner > p {
  margin: 0 auto 28px;
  max-width: 640px;
  font-size: 17px;
  line-height: 28px;
  color: #c5cce0;
}
.tg-hero-cta,
.tg-end-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.tg-btn {
  display: inline-block;
  height: 44px;
  line-height: 44px;
  padding: 0 22px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: transparent;
  color: #fff;
  font-size: 15px;
}
.tg-btn:hover { color: #fff; background: rgba(255, 255, 255, 0.08); }
.tg-btn-on {
  border-color: transparent;
  background: var(--grad);
  color: #fff;
}
.tg-block { padding: 64px 0 16px; }
.tg-block-tint { background: var(--tint-cool); }
.tg-hd { margin: 0 0 32px; text-align: center; }
.tg-hd h2 {
  font-size: 32px;
  line-height: 44px;
  margin: 0 0 12px;
  color: var(--ink);
}
.tg-hd p {
  margin: 0 auto;
  max-width: 720px;
  font-size: 16px;
  line-height: 26px;
  color: var(--muted);
}
.tg-copy {
  max-width: 860px;
  margin: 0 auto;
  text-align: left;
}
.tg-copy h2:first-child { margin-top: 0; }
.tg-insight,
.tg-rank ol,
.tg-paths {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.tg-insight { margin-bottom: 16px; }
.tg-insight > div,
.tg-paths > div,
.tg-loop li,
.tg-door,
.tg-rank li {
  padding: 28px 24px 24px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.tg-insight b { display: block; font-size: 18px; margin-bottom: 10px; color: var(--ink); }
.tg-insight p { margin: 0; font-size: 15px; line-height: 24px; color: var(--muted); }
.tg-rank { margin: 0; }
.tg-rank > em {
  display: block;
  margin-bottom: 14px;
  font-style: normal;
  font-size: 15px;
  color: var(--brand);
}
.tg-rank ol { margin: 0; padding: 0; list-style: none; }
.tg-rank li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin: 0;
}
.tg-rank li.on {
  border-color: #f0c8be;
  background: var(--brand-soft);
}
.tg-rank li > i {
  flex: 0 0 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  border-radius: 50%;
  background: var(--tint-cool);
  color: var(--ink);
  font-style: normal;
  font-size: 14px;
  font-weight: 700;
}
.tg-rank li.on > i { background: var(--grad); color: #fff; }
.tg-rank b { display: block; font-size: 18px; margin-bottom: 6px; }
.tg-rank span { font-size: 14px; line-height: 22px; color: var(--muted); }
.tg-paths em {
  display: block;
  margin-bottom: 10px;
  color: var(--brand);
  font-style: normal;
  font-size: 14px;
  font-weight: 700;
}
.tg-paths h3 { font-size: 20px; margin: 0 0 10px; }
.tg-paths p { margin: 0; font-size: 15px; line-height: 24px; color: var(--muted); }
.tg-doors {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.tg-door { display: block; }
.tg-door.on {
  border-color: #f0c8be;
  background: var(--brand-soft);
}
.tg-door em {
  display: block;
  margin-bottom: 10px;
  color: var(--brand);
  font-style: normal;
  font-size: 14px;
  font-weight: 700;
}
.tg-door b { display: block; font-size: 22px; margin-bottom: 10px; color: var(--ink); }
.tg-door p { margin: 0 0 16px; font-size: 15px; line-height: 24px; color: var(--muted); }
.tg-door span { color: var(--brand); font-size: 15px; font-weight: 700; }
.tg-door:hover { color: inherit; }
.tg-loop {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: loop;
}
.tg-loop li { counter-increment: loop; }
.tg-loop li:before {
  content: counter(loop);
  display: block;
  margin-bottom: 10px;
  color: var(--brand);
  font-size: 15px;
  font-weight: 700;
}
.tg-loop b { display: block; margin-bottom: 8px; font-size: 16px; }
.tg-loop span { font-size: 14px; line-height: 22px; color: var(--muted); }
.tg-faq {
  padding: 8px 32px 12px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.tg-faq details { border-bottom: 1px solid var(--line); }
.tg-faq details:last-child { border-bottom: 0; }
.tg-faq summary {
  list-style: none;
  cursor: pointer;
  padding: 20px 0;
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
}
.tg-faq summary::-webkit-details-marker { display: none; }
.tg-faq details p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 26px;
  color: var(--muted);
}
.tg-end {
  margin-top: 48px;
  padding: 64px 0;
  text-align: center;
  color: #fff;
  background: linear-gradient(118deg, var(--deep-2), var(--deep));
}
.tg-end h2 {
  font-size: 32px;
  line-height: 44px;
  margin: 0 0 12px;
  color: #fff;
}
.tg-end p {
  margin: 0 0 24px;
  font-size: 16px;
  color: #c5cce0;
}
.tg-consult {
  padding: 56px 0 64px;
  background: var(--surface);
  border-top: 1px solid var(--line);
  scroll-margin-top: 56px;
}
.tg-consult-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 200px;
  gap: 36px;
  align-items: center;
}
.tg-consult-copy > i {
  display: inline-block;
  margin-bottom: 10px;
  padding: 0 8px;
  height: 22px;
  line-height: 22px;
  border-radius: var(--radius-sm);
  background: var(--brand-soft);
  color: var(--brand);
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
}
.tg-consult h2 { font-size: 28px; margin: 0 0 10px; }
.tg-consult-copy p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 26px;
  color: var(--muted);
}
.tg-tel {
  display: block;
  margin-bottom: 8px;
  font-size: 36px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.4px;
}
.tg-tel:hover { color: var(--brand); }
.tg-mail {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 13px;
}
.tg-consult-copy span {
  display: block;
  font-size: 12px;
  color: var(--dim);
}
.tg-consult-qr { text-align: center; }
.tg-consult-qr img {
  width: 148px;
  height: 148px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.tg-consult-qr em {
  display: block;
  margin-top: 8px;
  font-style: normal;
  font-size: 12px;
  color: var(--dim);
}

.tg-single {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 32px;
  padding: 24px 0 48px;
}
.tg-single-main h1 { font-size: 28px; margin-bottom: 16px; }
.tg-single-body { line-height: 1.8; }
.tg-single-body h2 { font-size: 18px; margin: 20px 0 8px; }
.tg-single-side {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
}
.tg-single-side h2 { font-size: 16px; margin-bottom: 8px; }
.tg-single-side .tg-tel, .tg-single-side .tg-mail { display: block; margin: 8px 0; }

.ch-body .ls-footer { margin-top: 40px; }

.ch-news { padding: 14px 0 28px; }
.zx-tabs,
.se-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.zx-tabs a,
.se-tabs a {
  position: relative;
  padding: 0 0 10px;
  font-size: 14px;
  color: var(--muted);
}
.zx-tabs a:hover,
.se-tabs a:hover { color: var(--brand); }
.zx-tabs a.on,
.se-tabs a.on {
  color: var(--brand);
  font-weight: 700;
}
.zx-tabs a.on:after,
.se-tabs a.on:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -11px;
  height: 2px;
  background: var(--brand);
}
.zx-chip {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 3px;
  background: var(--brand-soft);
  color: var(--brand);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
}
.ch-news-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--ls-col-right);
  column-gap: var(--ls-col-gap);
  align-items: start;
}
.zx-item {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
  margin-bottom: 12px;
  color: inherit;
}
.zx-item:hover { border-color: #ffc4b8; }
.zx-item img {
  width: 200px;
  height: 128px;
  object-fit: cover;
  border-radius: 6px;
  background: var(--tint-cool);
}
.zx-item > div { min-width: 0; }
.zx-item b {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--ink);
}
.zx-item:hover b,
.zx-item:hover b a { color: var(--brand); }
.zx-item b a { color: inherit; }
.zx-item-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 8px 0 6px;
  font-size: 12px;
  color: var(--dim);
}
.zx-item-meta a { color: var(--dim); }
.zx-item-meta a:hover { color: var(--brand); }
.zx-item-meta .zx-co {
  color: var(--brand);
  font-weight: 700;
}
.zx-dir { padding-top: 0; margin-bottom: 0; }
.zx-dir .hy-l2s { grid-template-columns: 1fr 1fr; }
.zx-side-cat {
  display: block;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--line);
}
.zx-side-cat:last-child { border-bottom: 0; }
.zx-side-cat:hover,
.zx-side-cat.on { color: var(--brand); font-weight: 700; }
.zx-item p {
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted);
  height: 42px;
  overflow: hidden;
}
.ch-news-main .ls-pages { padding: 10px 0 0; }
.zx-side { position: sticky; top: 76px; }
.zx-side .hy-rec { position: static; margin-bottom: 16px; }
.zx-side .hy-rec:last-child { margin-bottom: 0; }
.zx-hot a {
  align-items: flex-start;
}
.zx-hot a i {
  flex: 0 0 18px;
  font-style: normal;
  font-weight: 700;
  color: var(--brand);
  line-height: 20px;
}
.zx-hot a:nth-child(n+5) i { color: var(--dim); }
.zx-hot a span { white-space: normal; }
.zx-hot a b {
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.zx-hot a em {
  display: block;
  margin-top: 2px;
  font-style: normal;
  font-size: 12px;
  color: var(--muted);
}
.ch-news-art {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px 26px 26px;
}
.ch-news-art h1 {
  font-size: 24px;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 12px;
}
.ch-news-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 16px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
  color: var(--dim);
}
.ch-news-content h2 {
  font-size: 18px;
  font-weight: 700;
  margin: 28px 0 12px;
  color: var(--ink);
}
.ch-news-content h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 18px 0 8px;
  color: var(--ink);
}
.ch-news-content p {
  margin-bottom: 14px;
  font-size: 15px;
  line-height: 1.9;
  color: var(--ink);
}
.ch-news-content ul,
.ch-news-content ol {
  margin: 0 0 14px 18px;
  font-size: 15px;
  line-height: 1.9;
}
.ch-news-content img {
  display: block;
  width: 100%;
  max-height: 360px;
  object-fit: cover;
  margin: 0 0 16px;
  border-radius: 8px;
  background: var(--tint-cool);
}
.ch-news-pn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.ch-news-pn a,
.ch-news-pn span {
  display: block;
  min-width: 0;
  padding: 12px 14px;
  background: var(--tint-cool);
  border-radius: 6px;
  color: var(--ink);
}
.ch-news-pn a:hover { background: var(--brand-soft); }
.ch-news-pn i {
  display: block;
  margin-bottom: 4px;
  font-style: normal;
  font-size: 12px;
  color: var(--dim);
}
.ch-news-pn b {
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ch-news-pn a:hover b { color: var(--brand); }

.co-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--ls-col-right);
  column-gap: var(--ls-col-gap);
  align-items: start;
}
.co-hd {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 3px solid var(--brand);
  border-radius: var(--radius);
  padding: 20px 22px;
  margin-bottom: 16px;
}
.co-hd-logo {
  width: 96px;
  height: 96px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px;
}
.co-hd h1 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 8px;
}
.co-hd-meta {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
}
.co-hd-meta a { color: var(--muted); }
.co-hd-meta a:hover { color: var(--brand); }
.co-hd-meta span { margin: 0 6px; color: var(--dim); }
.co-hd-lead {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--ink);
}
.co-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.co-facts li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
  font-size: 13px;
}
.co-facts i {
  font-style: normal;
  color: var(--dim);
}
.co-facts b {
  font-weight: 600;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.co-facts .co-tel b,
.co-facts .co-tel b a {
  color: var(--brand);
  font-size: 16px;
}
.co-jump {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 0 0 16px;
}
.co-jump a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}
.co-jump a:hover {
  color: var(--brand);
  border-color: #ffc4b8;
  background: var(--brand-soft);
}
.co-jump a.on {
  color: #fff;
  background: var(--deep);
  border-color: var(--deep);
}
.co-sec { display: none; margin: 0; }
.co-sec.on { display: block; }
.co-tab-more {
  margin: 0 0 12px;
  text-align: right;
  font-size: 13px;
}
.co-tab-more a { color: var(--muted); }
.co-tab-more a:hover { color: var(--brand); }
.co-news .zx-item:last-child { margin-bottom: 0; }
.co-news-note {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--dim);
}
.co-intro {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px 18px;
  font-size: 14px;
  line-height: 1.85;
}
.co-intro-body p { margin: 0 0 10px; }
.co-intro-body h3 { margin: 14px 0 8px; font-size: 16px; }
.co-intro-body ul, .co-intro-body ol { margin: 0 0 10px 1.2em; }
.co-intro-main { margin: 8px 0 0; color: var(--muted); }
.ac-editor { margin-top: 6px; border: 1px solid #e3e6ee; border-radius: 8px; background: #fff; overflow: hidden; }
.ac-editor-bar { display: flex; gap: 6px; padding: 8px; background: #f7f8fb; border-bottom: 1px solid #eef0f4; }
.ac-editor-bar button {
  width: auto;
  height: 30px;
  padding: 0 10px;
  border: 1px solid #e3e6ee;
  border-radius: 4px;
  background: #fff;
  color: #333;
  font-size: 12px;
  cursor: pointer;
}
.ac-editor-body {
  min-height: 180px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.7;
  outline: none;
}
.ac-editor-body:empty:before {
  content: attr(data-placeholder);
  color: #b0b6c2;
}
.ac-editor-body h3 { margin: 8px 0; font-size: 16px; }
.ac-editor-body p { margin: 0 0 8px; }
.co-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.co-tags span {
  padding: 4px 10px;
  background: var(--tint-cool);
  border-radius: 4px;
  font-size: 12px;
  color: var(--muted);
}
.co-prod-grid .ls-prod-card {
  background: #fff;
  border: 1px solid var(--line);
  text-align: left;
}
.co-prod-grid .ls-prod-card:hover { border-color: #ffc4b8; }
.co-empty {
  padding: 20px 0;
  color: var(--muted);
}
.co-side { position: sticky; top: 76px; }
.co-side .hy-rec { position: static; }
.co-ask {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 16px;
}
.co-ask-body { padding: 14px 14px 16px; }
.co-ask-phone {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 700;
}
.co-ask-phone a { color: var(--brand); }
.co-ask-body > p {
  font-size: 12px;
  line-height: 1.7;
  color: var(--muted);
}
.co-ask-qr {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0;
}
.co-ask-qr img {
  width: 72px;
  height: 72px;
  background: #fff;
  border: 1px solid var(--line);
}
.co-ask-qr span {
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}
.co-ask .co-tel-btn {
  display: block;
  padding: 8px 18px;
  border-radius: 4px;
  background: var(--brand);
  color: #fff !important;
  text-align: center;
}
.co-rel a span {
  display: block;
  min-width: 0;
}
.co-rel a b {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}
.co-rel a em {
  display: block;
  font-style: normal;
  font-size: 12px;
  color: var(--muted);
}

.se-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--ls-col-right);
  column-gap: var(--ls-col-gap);
  align-items: start;
}
.se-bar {
  margin: 0 0 14px;
  font-size: 13px;
  color: var(--muted);
}
.se-bar em {
  color: var(--brand);
  font-style: normal;
  font-weight: 700;
}
.se-list { margin-bottom: 18px; }
.se-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 140px;
  gap: 14px;
  align-items: center;
  padding: 12px;
  margin-bottom: 10px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: inherit;
}
.se-row:hover { border-color: #ffc4b8; }
.se-row img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.se-row img.se-pic { object-fit: cover; }
.se-row b {
  display: block;
  margin-bottom: 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
}
.se-row:hover b { color: var(--brand); }
.se-row p {
  font-size: 12px;
  line-height: 1.55;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.se-row span {
  text-align: right;
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}
.se-row span em {
  display: block;
  font-style: normal;
  color: var(--brand);
  font-weight: 700;
}
.se-empty {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px 22px;
  text-align: center;
}
.se-empty p {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}
.se-empty em {
  display: block;
  margin: 8px 0 16px;
  font-style: normal;
  font-size: 13px;
  color: var(--muted);
}
.se-hots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.se-hots a {
  padding: 5px 12px;
  background: var(--tint-cool);
  border-radius: 4px;
  font-size: 13px;
  color: var(--muted);
}
.se-hots a:hover {
  background: var(--brand-soft);
  color: var(--brand);
}
.nf-wrap {
  padding: 36px 0 56px;
  background:
    radial-gradient(900px 280px at 50% -40px, rgba(244, 68, 46, 0.08), transparent 70%),
    var(--tint-cool);
}
.nf-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 40px 48px 36px;
  text-align: center;
}
.nf-mark {
  font-size: 92px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 6px;
  color: var(--deep);
  font-variant-numeric: tabular-nums;
}
.nf-mark b {
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.nf-kicker {
  display: block;
  margin: 8px 0 6px;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--dim);
}
.nf-panel h1 {
  margin: 0 0 10px;
  font-size: 28px;
  font-weight: 800;
  color: var(--deep);
  letter-spacing: 0.5px;
}
.nf-lead {
  max-width: 520px;
  margin: 0 auto 22px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--muted);
}
.nf-search {
  display: flex;
  justify-content: center;
  max-width: 520px;
  margin: 0 auto 12px;
}
.nf-search input {
  flex: 1;
  height: 44px;
  border: 2px solid var(--deep);
  border-right: 0;
  border-radius: var(--radius) 0 0 var(--radius);
  padding: 0 14px;
  font-size: 14px;
  color: var(--ink);
  outline: none;
  background: #fff;
}
.nf-search input:focus { border-color: var(--ink); }
.nf-search button {
  width: 108px;
  height: 44px;
  border: 0;
  background: var(--deep);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  border-radius: 0 var(--radius) var(--radius) 0;
}
.nf-search button:hover { background: var(--deep-2); }
.nf-hots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 22px;
}
.nf-hots a {
  padding: 5px 12px;
  background: var(--tint-cool);
  border-radius: 999px;
  font-size: 12px;
  color: var(--muted);
}
.nf-hots a:hover {
  background: var(--brand-soft);
  color: var(--brand);
}
.nf-home {
  display: inline-block;
  min-width: 148px;
  height: 42px;
  line-height: 42px;
  padding: 0 22px;
  background: var(--grad);
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  border-radius: 999px;
  margin-bottom: 28px;
}
.nf-home:hover { filter: brightness(1.05); color: #fff !important; }
.nf-doors {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  text-align: left;
}
.nf-doors a {
  display: block;
  padding: 16px 16px 14px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.nf-doors a:hover {
  border-color: #ffc4b8;
  background: var(--brand-soft);
}
.nf-doors em {
  display: block;
  font-style: normal;
  font-size: 11px;
  letter-spacing: 1px;
  color: var(--brand);
  margin-bottom: 6px;
}
.nf-doors b {
  display: block;
  font-size: 15px;
  color: var(--deep);
  margin-bottom: 4px;
}
.nf-doors span {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted);
}
