/* ==========================================================================
   简洁商务主题（参考支付宝官网视觉）
   白底 + 蓝色主色 + 系统无衬线字体，去掉纹理、印章、竖排等装饰
   该文件在 style.css / ui.css 之后加载，用于覆盖视觉层
   ========================================================================== */

:root {
  --paper: #f5f6f8;
  --paper-deep: #ebedf0;
  --card: #ffffff;
  --ink: #1a1a1a;
  --ink-2: #333333;
  --ink-3: #8b909a;
  --cinnabar: #1677ff;
  --cinnabar-2: #0f63e0;
  --gold: #1677ff;
  --celadon: #00a870;
  --line: rgba(0, 0, 0, 0.1);
  --line-soft: rgba(0, 0, 0, 0.06);
  --shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  --serif: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(0.25, 0.8, 0.3, 1);
  --radius: 12px;
}

/* 基础 -------------------------------------------------------------------- */
html { background: #f5f6f8; }
body {
  font-family: var(--sans);
  background: #f5f6f8;
  color: var(--ink);
}
.screen {
  background: #f5f6f8;
  background-image: none;
  box-shadow: none;
  max-width: 430px;
}
.screen::after { display: none; }
::selection { background: rgba(22, 119, 255, 0.14); }

/* 顶栏 -------------------------------------------------------------------- */
.topbar {
  height: 50px;
  padding: 0 16px;
  background: #ffffff;
  backdrop-filter: none;
  border-bottom: 1px solid var(--line-soft);
}
.topbar .brand {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
}
.topbar .status {
  font-size: 11px;
  letter-spacing: 0;
  color: var(--celadon);
  border: 0;
  padding: 0;
}
.status .dot { animation: none; box-shadow: none; }
.icon-btn {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  color: #5b6068;
}
.icon-btn:active { background: #f2f3f5; }

/* 首页头部：横向标题、白底 ------------------------------------------------- */
.hero {
  min-height: 0;
  padding: 18px 16px 16px;
  color: var(--ink);
  background: #ffffff;
  overflow: visible;
  border-bottom: 1px solid var(--line-soft);
}
.hero .hero-photo,
.hero .veil,
.hero .seal { display: none; }
.hero-inner {
  display: block;
  min-height: 0;
  gap: 0;
}
.hero-title {
  writing-mode: horizontal-tb;
  font-family: var(--sans);
  font-weight: 600;
  font-size: 21px;
  line-height: 1.35;
  letter-spacing: 0;
  color: var(--ink);
  text-shadow: none;
  animation: none;
}
.hero-title .thin {
  margin-left: 8px;
  font-family: var(--sans);
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0;
  color: var(--ink-3);
}
.hero-body {
  margin-left: 0;
  align-self: auto;
  text-align: left;
  gap: 6px;
  margin-top: 10px;
  animation: none;
}
.hero-since {
  font-size: 11px;
  letter-spacing: 0;
  color: var(--ink-3);
}
.hero-line {
  font-family: var(--sans);
  font-size: 14px;
  letter-spacing: 0;
  color: var(--ink-2);
}
.hero-tag {
  justify-self: start;
  font-size: 11px;
  letter-spacing: 0;
  color: #1677ff;
  background: #eef5ff;
  border: 0;
  border-radius: 4px;
  padding: 4px 8px;
}
.hero-bottom {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line-soft);
  font-size: 11.5px;
  letter-spacing: 0;
  color: var(--ink-3);
}
.hero-bottom b {
  font-weight: 500;
  color: var(--ink);
  letter-spacing: 0;
}

/* 公告条：静态、浅黄 ------------------------------------------------------- */
.ticker {
  height: auto;
  padding: 9px 16px;
  gap: 8px;
  background: #fff8e6;
  color: #8a5a00;
  font-size: 11.5px;
  letter-spacing: 0;
  overflow: hidden;
}
.ticker::before {
  content: "公告";
  padding: 1px 5px;
  border-radius: 3px;
  background: #f0a020;
  color: #ffffff;
  font-size: 10px;
  letter-spacing: 0;
}
.ticker-view { flex: 1; overflow: hidden; }
.ticker-track {
  display: block;
  animation: none;
}
.ticker-track span { display: block; white-space: normal; line-height: 1.6; }
.ticker-track span:nth-child(2) { display: none; }
.ticker-track i { display: none; }

/* 分类 -------------------------------------------------------------------- */
.cats {
  gap: 20px;
  padding: 0 16px;
  background: #ffffff;
  border-bottom: 1px solid var(--line-soft);
}
.cat {
  padding: 12px 0;
  font-size: 13.5px;
  letter-spacing: 0;
  color: #5b6068;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
}
.cat small {
  margin-left: 4px;
  font-size: 10px;
  letter-spacing: 0;
  color: #b0b5bd;
}
.cat.on {
  background: transparent;
  color: #1677ff;
  border-bottom-color: #1677ff;
  font-weight: 600;
}
.cat.on small { color: #1677ff; }

/* 区块标题 ---------------------------------------------------------------- */
.section { padding: 18px 16px 0; }
.sec-head {
  gap: 8px;
  padding: 0;
  border: 0;
}
.sec-head::after { display: none; }
.sec-no { display: none; }
.sec-title {
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--ink);
}
.sec-sub {
  font-size: 12px;
  letter-spacing: 0;
  color: var(--ink-3);
}

/* 招牌 -------------------------------------------------------------------- */
.feature {
  display: block;
  min-height: 0;
  color: var(--ink);
  background: #ffffff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.feature-photo {
  position: relative;
  inset: auto;
  width: 100%;
  height: 158px;
}
.feature-photo::after { display: none; }
.feature-info { padding: 12px 14px 14px; }
.badge-sign {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0;
  color: #1677ff;
  background: #eef5ff;
  border: 0;
  border-radius: 4px;
  padding: 3px 7px;
}
.feature-name {
  font-family: var(--sans);
  font-size: 16px;
  letter-spacing: 0;
  margin-top: 8px;
}
.feature-desc {
  font-size: 12px;
  line-height: 1.65;
  letter-spacing: 0;
  color: #6b7078;
}
.feature .price { color: #1677ff; }
.feature .price .num { font-family: var(--sans); }
.btn-xs {
  font-size: 12px;
  letter-spacing: 0;
  color: #1677ff;
  background: #eef5ff;
  border: 0;
  border-radius: 6px;
  padding: 6px 12px;
}
.btn-xs:active { background: #e0edff; transform: none; }

/* 菜品卡片 ---------------------------------------------------------------- */
.grid { gap: 10px; padding: 12px 16px 0; }
.card {
  background: #ffffff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  animation: none;
}
.card:active { transform: none; }
.card-photo { display: block; width: 100%; background-color: #eef0f3; }
.card-photo::after { display: none; }
.card-tag {
  writing-mode: horizontal-tb;
  white-space: nowrap;
  padding: 2px 6px;
  font-size: 10px;
  letter-spacing: 0;
  border-radius: 4px;
  background: #1677ff;
  color: #ffffff;
}
.card-tag.gold { background: #ff8f1f; color: #ffffff; }
.card-name {
  font-family: var(--sans);
  font-size: 13.5px;
  letter-spacing: 0;
}
.card-desc {
  font-size: 11px;
  letter-spacing: 0;
  color: #8b909a;
}
.price .num { font-family: var(--sans); }
.card .price { color: #1677ff; }
.add {
  background: #1677ff;
  color: #ffffff;
  border-radius: 50%;
}
.add:active { background: #0f63e0; transform: none; }
.sold { letter-spacing: 0; color: #a8adb5; }
.sold::before { display: none; }

/* 故事 / 门店 -------------------------------------------------------------- */
.story {
  margin: 16px;
  padding: 18px 16px;
  background: #ffffff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  color: var(--ink);
  text-align: left;
}
.story-mark { display: none; }
.story-quote {
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0;
  color: var(--ink-2);
}
.story-quote em { color: #1677ff; font-style: normal; }
.story-meta {
  margin-top: 8px;
  font-size: 12px;
  letter-spacing: 0;
  color: var(--ink-3);
}
.story-meta::before { display: none; }
.story-stats {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
}
.story-stats b {
  font-family: var(--sans);
  font-size: 18px;
  color: #1677ff;
}
.story-stats span {
  font-size: 11px;
  letter-spacing: 0;
  color: var(--ink-3);
}
.store {
  margin: 0 16px 16px;
  background: #ffffff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.store-photo { height: 110px; }
.store-photo::after { display: none; }
.store-photo span {
  font-size: 11px;
  letter-spacing: 0;
}
.store-body { padding: 14px 16px 16px; }
.store-name {
  font-family: var(--sans);
  font-size: 15px;
  letter-spacing: 0;
}
.store-name i {
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0;
  color: #00a870;
  background: #e8f7ef;
  border: 0;
  border-radius: 4px;
  padding: 2px 6px;
}
.store-rows { margin-top: 10px; gap: 6px; }
.store-rows p {
  font-size: 12px;
  letter-spacing: 0;
  color: #5b6068;
}
.store-rows b {
  font-weight: 500;
  color: var(--ink-3);
  letter-spacing: 0;
}
.store-actions { margin-top: 14px; gap: 10px; }
.store-actions a {
  font-size: 12.5px;
  letter-spacing: 0;
  border-radius: 8px;
  padding: 10px 0;
}
.store-actions a.primary {
  background: #1677ff;
  color: #ffffff;
  border-radius: 8px;
}

/* 服务保障 / 站点导航 ------------------------------------------------------- */
.assure {
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.assure a:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
.assure a {
  display: block;
  padding: 12px;
  background: #ffffff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.assure b {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}
.assure span {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  line-height: 1.6;
  color: var(--ink-3);
}

/* 页脚 -------------------------------------------------------------------- */
.foot {
  margin-top: 20px;
  padding: 22px 16px 18px;
  background: #ffffff;
  border-top: 1px solid var(--line-soft);
  text-align: center;
  font-size: 11.5px;
  line-height: 1.9;
  letter-spacing: 0;
  color: var(--ink-3);
}
.foot b {
  display: block;
  margin-bottom: 4px;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--ink-2);
}
.foot .legal { margin-top: 8px; font-size: 10.5px; letter-spacing: 0; line-height: 1.8; }
.foot-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 14px;
  margin: 8px 0 4px;
}
.foot-links a { font-size: 11.5px; color: #5b6068; }

/* 底部导航 ---------------------------------------------------------------- */
.tabbar {
  background: #ffffff;
  border-top: 1px solid var(--line-soft);
}
.tabbar a {
  font-size: 10px;
  letter-spacing: 0;
  color: #8b909a;
}
.tabbar a svg { stroke-width: 1.5; }
.tabbar a.on { color: #1677ff; }
.tabbar a.on svg { stroke-width: 1.8; }
.tabbar a .badge { background: #1677ff; }

/* 购物车浮条 -------------------------------------------------------------- */
.cart-bar {
  background: #ffffff;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
}
.cart-bar .n { background: #1677ff; color: #ffffff; }
.cart-bar .sum b {
  font-family: var(--sans);
  color: #1677ff;
}
.cart-bar .sum span { font-size: 10px; letter-spacing: 0; color: var(--ink-3); }
.cart-bar a {
  background: #1677ff;
  color: #ffffff;
  border-radius: 8px;
  font-size: 13px;
  letter-spacing: 0;
}

/* 通用按钮 ---------------------------------------------------------------- */
.btn { border-radius: 8px; letter-spacing: 0; }
.btn.dark { background: #1677ff; color: #ffffff; }
.btn.red { background: #1677ff; color: #ffffff; }
.btn.ghost { border-color: var(--line); border-radius: 8px; }

/* 二级页面（订单 / 结算 / 收银台 / 我的）统一视觉 ---------------------------- */
.nav-head {
  height: 50px;
  background: #ffffff;
  backdrop-filter: none;
  border-bottom: 1px solid var(--line-soft);
}
.nav-head .back,
.nav-head .act {
  border: 0;
  border-radius: 50%;
  color: #5b6068;
  font-size: 12px;
  letter-spacing: 0;
}
.nav-head .title {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
}
.sheet {
  margin: 12px 16px 0;
  padding: 16px;
  background: #ffffff;
  border: 0;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.sheet-head h3 {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
}
.sheet-head span { font-size: 11px; letter-spacing: 0; }
.sheet-head .mark {
  width: auto;
  height: auto;
  padding: 2px 6px;
  font-family: var(--sans);
  font-size: 10px;
  line-height: 1.5;
  color: #1677ff;
  background: #eef5ff;
  border-radius: 4px;
}

.field > label { font-size: 11px; letter-spacing: 0; color: var(--ink-3); }
.field input,
.field textarea,
.field select {
  padding: 10px 12px;
  font-size: 13px;
  letter-spacing: 0;
  background: #f7f8fa;
  border: 1px solid transparent;
  border-radius: 8px;
}
.field input:focus,
.field textarea:focus,
.field select:focus {
  border-color: #1677ff;
  background: #ffffff;
}
.field input::placeholder,
.field textarea::placeholder { color: #b0b5bd; }
.hint { font-size: 11px; letter-spacing: 0; }

.mode-tabs {
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  overflow: hidden;
}
.mode-tab {
  font-size: 12.5px;
  letter-spacing: 0;
  border-right: 1px solid var(--line-soft);
  padding: 10px 4px;
}
.mode-tab small { font-size: 10px; letter-spacing: 0; margin-top: 3px; }
.mode-tab.on { background: #1677ff; color: #ffffff; }
.mode-tab.on small { color: rgba(255, 255, 255, 0.8); }

.addr-card {
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: #fafbfc;
}
.addr-card.on { border-color: #1677ff; background: #f2f8ff; }
.addr-card.on .dot { border-color: #1677ff; }
.slot {
  border: 1px solid var(--line-soft);
  border-radius: 6px;
  font-size: 12px;
  letter-spacing: 0;
}
.slot.on { background: #1677ff; border-color: #1677ff; color: #ffffff; }

.line .info h4 { font-size: 13px; letter-spacing: 0; }
.line .info p { font-size: 11px; letter-spacing: 0; }
.cart-empty p { font-family: var(--sans); font-size: 13px; letter-spacing: 0; }
.cart-empty small { font-size: 11px; letter-spacing: 0; }
.qty-box { border-radius: 6px; }

.order-card {
  background: #ffffff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.order-top .no { font-size: 11px; letter-spacing: 0; }
.status-pill { font-size: 11px; letter-spacing: 0; border-radius: 4px; }
.status-pill.PENDING { color: #ff8f1f; background: #fff5e8; }
.status-pill.PAID { color: #00a870; background: #e8f7ef; }
.status-pill.CLOSED { color: #8b909a; background: #f2f3f5; }
.order-mid .txt h4 { font-size: 13px; letter-spacing: 0; }
.order-mid .txt p { font-size: 11px; letter-spacing: 0; }
.order-mid .amt b { font-family: var(--sans); }
.order-foot time { font-size: 11px; letter-spacing: 0; }
.mini-btn { border-radius: 6px; letter-spacing: 0; }
.mini-btn.dark { background: #1677ff; border-color: #1677ff; color: #ffffff; }
.mini-btn.solid { border-color: #1677ff; color: #1677ff; }

.empty p { font-family: var(--sans); font-size: 13px; letter-spacing: 0; }
.empty small { font-size: 11px; letter-spacing: 0; }

/* 登录 -------------------------------------------------------------------- */
.auth-hero {
  padding: 40px 22px 30px;
  background: linear-gradient(180deg, #1677ff 0%, #0e63db 100%);
  color: #ffffff;
}
.auth-hero .seal-sm { display: none; }
.auth-hero h1 {
  margin-top: 0;
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0;
}
.auth-hero p { margin-top: 8px; font-size: 12px; letter-spacing: 0; color: rgba(255, 255, 255, 0.78); }
.auth-body { margin: 18px 16px 0; }
.auth-tabs { border-bottom: 1px solid var(--line-soft); margin-bottom: 18px; }
.auth-tabs button {
  font-family: var(--sans);
  font-size: 14px;
  letter-spacing: 0;
  padding: 10px 0 12px;
}
.auth-tabs button.on { color: #1677ff; border-bottom-color: #1677ff; }
.auth-submit {
  height: 46px;
  margin-top: 22px;
  font-family: var(--sans);
  font-size: 15px;
  letter-spacing: 0;
  color: #ffffff;
  background: #1677ff;
  border-radius: 8px;
}
.auth-foot { font-size: 11px; line-height: 1.9; letter-spacing: 0; }

/* 我的 -------------------------------------------------------------------- */
.me-card {
  margin: 12px 16px;
  padding: 18px 16px;
  background: linear-gradient(135deg, #1677ff 0%, #3f8cff 100%);
  border-radius: var(--radius);
  color: #ffffff;
}
.me-card .avatar {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  font-family: var(--sans);
  font-size: 19px;
  border: 0;
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.me-card .meta b { font-family: var(--sans); font-size: 15px; letter-spacing: 0; }
.me-card .meta span { font-size: 11.5px; letter-spacing: 0; color: rgba(255, 255, 255, 0.78); }
.me-card .stamp { display: none; }
.me-rows {
  margin: 0 16px;
  border: 0;
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.me-row { font-size: 13px; letter-spacing: 0; border-top: 1px solid var(--line-soft); }
.me-row .rv { font-size: 11.5px; letter-spacing: 0; }
.me-row .arrow { color: #c4c8cf; }

/* 收银台 ------------------------------------------------------------------ */
.pay-head {
  padding: 14px 16px 0;
  background: linear-gradient(180deg, #1677ff 0%, #0e63db 100%);
  color: #ffffff;
}
.pay-head::before { display: none; }
.pay-nav .title { font-family: var(--sans); font-size: 15px; letter-spacing: 0; }
.pay-nav .close { color: rgba(255, 255, 255, 0.85); border-color: rgba(255, 255, 255, 0.35); border-radius: 50%; }
.pay-nav .back { color: #ffffff; }
.pay-amount { padding: 22px 0 18px; }
.pay-amount .label { font-size: 11px; letter-spacing: 0; color: rgba(255, 255, 255, 0.78); }
.pay-amount .value { font-family: var(--sans); font-size: 38px; font-weight: 600; }
.pay-amount .value i { font-size: 17px; color: rgba(255, 255, 255, 0.85); }
.pay-amount .value small { font-size: 11px; letter-spacing: 0; color: rgba(255, 255, 255, 0.7); }
.pay-timer { font-size: 11px; letter-spacing: 0; color: rgba(255, 255, 255, 0.85); }
.pay-timer b { font-family: var(--sans); font-size: 12px; letter-spacing: 0; color: #ffffff; }
.pay-timer .bar { background: rgba(255, 255, 255, 0.28); }
.pay-timer .bar::after { background: #ffffff; }
.pay-body { margin-top: 0; background: #f5f6f8; }
.pay-card {
  background: #ffffff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.pay-card-head h3 { font-family: var(--sans); font-size: 14px; letter-spacing: 0; }
.pay-methods .cap h3 { font-family: var(--sans); font-size: 14px; letter-spacing: 0; }
.pay-methods .cap span { font-size: 11px; letter-spacing: 0; }
.method { border-radius: 0; }
.method .txt b { font-size: 13px; letter-spacing: 0; }
.method .txt small { font-size: 11px; letter-spacing: 0; }
.pay-summary .total .k { font-family: var(--sans); font-size: 13px; letter-spacing: 0; }
.paybar .tip b { letter-spacing: 0; }
.paybar .tip span { font-size: 11px; letter-spacing: 0; }
.shop-line .n { letter-spacing: 0; }
.shop-line .d { font-size: 11px; letter-spacing: 0; }
.item .info h4 { letter-spacing: 0; }
.item .info p { font-size: 11px; letter-spacing: 0; }
.safe-note { border-radius: 8px; }

/* 结果页 ------------------------------------------------------------------ */
.result-wrap h2 { font-family: var(--sans); letter-spacing: 0; }
.result-wrap .amt { font-family: var(--sans); font-size: 32px; }
.result-wrap .desc { font-size: 12px; line-height: 1.9; letter-spacing: 0; }
.result-card {
  background: #ffffff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.result-acts a { border-radius: 8px; letter-spacing: 0; }
.result-acts a.solid { background: #1677ff; border-color: #1677ff; color: #ffffff; }
.result-seal { border-radius: 50%; }

/* 详情页 ------------------------------------------------------------------ */
.goods-hero::after { display: none; }
.goods-sheet {
  background: #f5f6f8;
  border-radius: 0;
}
.goods-name { font-family: var(--sans); letter-spacing: 0; }
.goods-sub { font-size: 12px; letter-spacing: 0; }
.price-row .price .num { font-family: var(--sans); }
.tag { border-radius: 4px; letter-spacing: 0; font-size: 10px; }
.opt-head h3 { font-family: var(--sans); font-size: 14px; letter-spacing: 0; }
.opt-head span { font-size: 11px; letter-spacing: 0; }
.chip { border-radius: 6px; letter-spacing: 0; }
.chip.on { background: #1677ff; border-color: #1677ff; color: #ffffff; }
.chip.on b,
.chip.on small { color: rgba(255, 255, 255, 0.85); }
.chip.on::after { display: none; }
.extra { letter-spacing: 0; }
.extra .name { font-size: 13px; letter-spacing: 0; }
.extra .p { font-family: var(--sans); font-size: 13px; }
.sq { border-radius: 4px; }
.sq.on { background: #1677ff; border-color: #1677ff; color: #ffffff; }
.serv p { letter-spacing: 0; }
.block h2 { font-family: var(--sans); font-size: 14px; letter-spacing: 0; }
.block p { font-size: 12.5px; line-height: 1.85; letter-spacing: 0; }
.spec-table dt { font-size: 11.5px; letter-spacing: 0; }
.review p { font-size: 12px; letter-spacing: 0; }
.stars { color: #ff8f1f; }
.reco .n { font-family: var(--sans); letter-spacing: 0; }
.buybar { background: #ffffff; border-top: 1px solid var(--line-soft); }
.buybar .sum span { font-size: 11px; letter-spacing: 0; }
.buybar .sum b { font-family: var(--sans); }
.cart-btn .badge { background: #1677ff; }

/* 旧版支付成功浮层 ---------------------------------------------------------- */
.success {
  background: #ffffff;
  color: var(--ink);
}
.stamp-ok {
  width: 76px;
  height: 76px;
  margin-bottom: 18px;
  color: #00a870;
  border: 2px solid #00a870;
  transform: none;
  animation: none;
}
.stamp-ok::after { display: none; }
.stamp-ok svg { width: 40px; height: 40px; }
.success h2 { font-family: var(--sans); font-size: 20px; letter-spacing: 0; }
.success .amt { font-family: var(--sans); font-size: 30px; color: #1677ff; }
.success .amt i { color: #1677ff; }
.success .desc { font-size: 12px; letter-spacing: 0; color: var(--ink-3); }
.success .meta { border-top: 1px solid var(--line-soft); }
.success .meta b { font-size: 11px; letter-spacing: 0; color: var(--ink-2); }
.success .meta span { font-size: 11px; letter-spacing: 0; color: var(--ink-3); }
.success .acts a { border-radius: 8px; letter-spacing: 0; }
.success .acts a.solid { background: #1677ff; color: #ffffff; border-color: #1677ff; }

/* ==========================================================================
   内容型二级页面（关于门店 / 配送 / 答疑 / 售后 / 协议 / 隐私）
   ========================================================================== */
.doc { padding: 12px 16px 0; display: grid; gap: 10px; }
.doc-card {
  padding: 16px;
  background: #ffffff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.doc-card h2 {
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 10px;
}
.doc-card h3 {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
  margin: 14px 0 6px;
}
.doc-card h3:first-child { margin-top: 0; }
.doc-card p {
  font-size: 12.5px;
  line-height: 1.95;
  color: #5b6068;
}
.doc-card p + p { margin-top: 8px; }
.doc-card ul { display: grid; gap: 5px; margin: 4px 0; }
.doc-card li {
  position: relative;
  padding-left: 14px;
  font-size: 12.5px;
  line-height: 1.9;
  color: #5b6068;
}
.doc-card li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 9px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #c4c8cf;
}
.doc-card dl { display: grid; gap: 8px; }
.doc-card dt { font-size: 12.5px; font-weight: 600; color: var(--ink-2); }
.doc-card dd { font-size: 12.5px; line-height: 1.9; color: #5b6068; }
.doc-card .meta { font-size: 11.5px; color: var(--ink-3); }
.doc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}
.doc-table th,
.doc-table td {
  padding: 9px 8px;
  text-align: left;
  border-bottom: 1px solid var(--line-soft);
  color: #5b6068;
  line-height: 1.7;
}
.doc-table th {
  font-weight: 500;
  color: var(--ink-3);
  background: #fafbfc;
}
.doc-table tr:last-child td { border-bottom: 0; }
.doc-cta {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}
.doc-cta a {
  flex: 1;
  height: 42px;
  display: grid;
  place-items: center;
  font-size: 13px;
  border-radius: 8px;
  color: #1677ff;
  background: #eef5ff;
}
.doc-cta a.solid { color: #ffffff; background: #1677ff; }

/* 内容页补充 -------------------------------------------------------------- */
.story .assure a {
  background: #fafbfc;
  box-shadow: none;
  border: 1px solid var(--line-soft);
}
.doc-lead {
  font-size: 12.5px;
  line-height: 1.95;
  color: #5b6068;
}
.doc-note {
  margin-top: 10px;
  padding: 10px 12px;
  font-size: 11.5px;
  line-height: 1.8;
  color: #8a5a00;
  background: #fff8e6;
  border-radius: 8px;
}
.doc-foot {
  padding: 16px 16px 26px;
  font-size: 11px;
  line-height: 1.9;
  text-align: center;
  color: var(--ink-3);
}
.doc-foot a { color: #1677ff; }
.foot-links + br { display: none; }

/* 收银台 · 支付宝界面规范 -------------------------------------------------- */
.pay-methods { margin: 16px 18px 0; }
.pay-methods .cap { align-items: center; padding: 0 2px 8px; }
.pay-methods .cap h3 { font-size: 14px; font-weight: 600; color: #1a1a1a; }
.pay-methods .cap span { font-size: 11px; color: #8b909a; }

.method {
  gap: 12px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid #e6e8eb;
  border-radius: 10px;
  box-shadow: var(--shadow);
}
.method:last-of-type { border-bottom: 1px solid #e6e8eb; }
.method.on {
  background: #f5f9ff;
  border-color: #1677ff;
  box-shadow: none;
}

.method .logo,
.method .logo.ali {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border-radius: 6px;
}
.method .logo svg { display: block; width: 32px; height: 32px; }

.method .txt { gap: 3px; }
.method .txt b {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 500;
  color: #1a1a1a;
}
.method .txt small { font-size: 12px; color: #8b909a; }
.method .rec {
  margin-left: 0;
  padding: 1px 5px;
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: 0;
  color: #ffffff;
  background: #ff6a00;
  border: 0;
  border-radius: 3px;
}
.method .radio {
  width: 18px;
  height: 18px;
  border: 1.5px solid #c8ccd2;
  background: #ffffff;
}
.method.on .radio { border-color: #1677ff; }
.method.on .radio::after {
  width: 10px;
  height: 10px;
  background: #1677ff;
}
