/* 本文件由 _convert_wxss.py 从小程序 app 自动生成，请勿手改（改了会被覆盖）*/
  background: #f4f6fb;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", sans-serif;
  color: #1c2333;
  font-size: calc(28 * var(--u));
}

/* 通用卡片 */
.card {
  background: #fff;
  border-radius: calc(20 * var(--u));
  padding: calc(30 * var(--u)) calc(32 * var(--u));
  box-shadow: 0 calc(6 * var(--u)) calc(24 * var(--u)) rgba(61, 109, 235, 0.06);
}

.section-title {
  margin: calc(36 * var(--u)) calc(32 * var(--u)) calc(18 * var(--u));
  font-size: calc(32 * var(--u));
  font-weight: 600;
}

/* 通用按钮 */
.btn {
  box-sizing: border-box;
  border-radius: calc(48 * var(--u));
  font-size: calc(32 * var(--u));
  font-weight: 600;
  line-height: 2.6;
}
.btn--primary {
  background: linear-gradient(90deg, #3d6deb, #5a8df5);
  color: #fff;
}
.btn--ghost {
  background: #fff;
  color: #3d6deb;
  border: calc(2 * var(--u)) solid #3d6deb;
}
.btn--gold {
  background: linear-gradient(90deg, #f0a93b, #f6c04a);
  color: #5a3b00;
}
.btn--disabled {
  background: #c9d0de;
  color: #fff;
}
/* 满宽按钮：display:block + width:auto 自适应父容器内容区，天然不溢出（不依赖 box-sizing）；
   padding 显式重置，抵消微信原生 button 的默认 padding:0 14px —— 那正是按钮溢出白卡的根因 */
.btn--block { display: block; width: 100%; max-width: 100%; padding: 0 calc(24 * var(--u)); box-sizing: border-box; }

/* 底部固定操作区 */
.footer {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  display: flex;
  gap: calc(24 * var(--u));
  padding: calc(20 * var(--u)) calc(32 * var(--u)) calc(calc(20 * var(--u)) + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 calc(-6 * var(--u)) calc(24 * var(--u)) rgba(28, 35, 51, 0.08);
}
.footer .btn { flex: 1; }

/* 标签 / 徽标 */
.tag {
  display: inline-block;
  padding: calc(4 * var(--u)) calc(16 * var(--u));
  border-radius: calc(20 * var(--u));
  font-size: calc(20 * var(--u));
  background: #eef3ff;
  color: #3d6deb;
}
.tag--hot { background: #fff1e6; color: #f0820b; }
.tag--gold { background: #fff7e0; color: #c8941f; }

/* 价格 */
.price { color: #ff5a3c; font-weight: 700; }
.price-del { color: #a4adc0; text-decoration: line-through; font-size: calc(22 * var(--u)); margin-left: calc(10 * var(--u)); }

/* 空态 */
.empty {
  text-align: center;
  color: #a4adc0;
  padding: calc(120 * var(--u)) calc(40 * var(--u));
  font-size: calc(26 * var(--u));
}

/* 一行省略 */
.ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ==== SVG ICONS START（由 tools/gen_icons.js 生成，勿手改）==== */
.ico {
  display: inline-block;
  width: calc(44 * var(--u)); height: calc(44 * var(--u));
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  flex-shrink: 0;
}
.ico-xs { width: calc(28 * var(--u)); height: calc(28 * var(--u)); }
.ico-sm { width: calc(36 * var(--u)); height: calc(36 * var(--u)); }
.ico-lg { width: calc(56 * var(--u)); height: calc(56 * var(--u)); }
.ico-xl { width: calc(76 * var(--u)); height: calc(76 * var(--u)); }
.ico-camera { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M23%2019a2%202%200%200%201-2%202H3a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h4l2-3h6l2%203h4a2%202%200%200%201%202%202z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'13'%20r%3D'4'%2F%3E%3C%2Fsvg%3E"); }
.ico-sparkle { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M11%203l1.7%204.3L17%209l-4.3%201.7L11%2015l-1.7-4.3L5%209l4.3-1.7z'%2F%3E%3Cpath%20d%3D'M18%2014.5l.9%202.1%202.1.9-2.1.9-.9%202.1-.9-2.1-2.1-.9%202.1-.9z'%2F%3E%3C%2Fsvg%3E"); }
.ico-resize { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'15%203%2021%203%2021%209'%2F%3E%3Cpolyline%20points%3D'9%2021%203%2021%203%2015'%2F%3E%3Cline%20x1%3D'21'%20y1%3D'3'%20x2%3D'14'%20y2%3D'10'%2F%3E%3Cline%20x1%3D'3'%20y1%3D'21'%20x2%3D'10'%20y2%3D'14'%2F%3E%3C%2Fsvg%3E"); }
.ico-compress { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'4%2014%2010%2014%2010%2020'%2F%3E%3Cpolyline%20points%3D'20%2010%2014%2010%2014%204'%2F%3E%3Cline%20x1%3D'14'%20y1%3D'10'%20x2%3D'21'%20y2%3D'3'%2F%3E%3Cline%20x1%3D'3'%20y1%3D'21'%20x2%3D'10'%20y2%3D'14'%2F%3E%3C%2Fsvg%3E"); }
.ico-print { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'6%209%206%202%2018%202%2018%209'%2F%3E%3Cpath%20d%3D'M6%2018H4a2%202%200%200%201-2-2v-5a2%202%200%200%201%202-2h16a2%202%200%200%201%202%202v5a2%202%200%200%201-2%202h-2'%2F%3E%3Crect%20x%3D'6'%20y%3D'14'%20width%3D'12'%20height%3D'8'%2F%3E%3C%2Fsvg%3E"); }
.ico-convert { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'23%204%2023%2010%2017%2010'%2F%3E%3Cpolyline%20points%3D'1%2020%201%2014%207%2014'%2F%3E%3Cpath%20d%3D'M20.5%209.5A9%209%200%200%200%205.6%206.3L1%2010'%2F%3E%3Cpath%20d%3D'M3.5%2014.5A9%209%200%200%200%2018.4%2017.7L23%2014'%2F%3E%3C%2Fsvg%3E"); }
.ico-order { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M21%2016V8a2%202%200%200%200-1-1.7l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.7l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016z'%2F%3E%3Cpolyline%20points%3D'3.3%207%2012%2012%2020.7%207'%2F%3E%3Cline%20x1%3D'12'%20y1%3D'22'%20x2%3D'12'%20y2%3D'12'%2F%3E%3C%2Fsvg%3E"); }
.ico-coupon { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%2012a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2H4a2%202%200%200%200-2%202v3a2%202%200%200%200%202%202%202%202%200%200%201%200%204%202%202%200%200%200-2%202v3a2%202%200%200%200%202%202h16a2%202%200%200%200%202-2v-3a2%202%200%200%200-2-2%202%202%200%200%201%200-4z'%2F%3E%3Cline%20x1%3D'12'%20y1%3D'5'%20x2%3D'12'%20y2%3D'19'%2F%3E%3C%2Fsvg%3E"); }
.ico-crown { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M2%2018h20l-1.5-9-5%203.5L12%205%208.5%2012.5l-5-3.5z'%2F%3E%3Cline%20x1%3D'4'%20y1%3D'21'%20x2%3D'20'%20y2%3D'21'%2F%3E%3C%2Fsvg%3E"); }
.ico-crown-gold { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23D99A2B'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M2%2018h20l-1.5-9-5%203.5L12%205%208.5%2012.5l-5-3.5z'%2F%3E%3Cline%20x1%3D'4'%20y1%3D'21'%20x2%3D'20'%20y2%3D'21'%2F%3E%3C%2Fsvg%3E"); }
.ico-crown-dark { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%235A3B00'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M2%2018h20l-1.5-9-5%203.5L12%205%208.5%2012.5l-5-3.5z'%2F%3E%3Cline%20x1%3D'4'%20y1%3D'21'%20x2%3D'20'%20y2%3D'21'%2F%3E%3C%2Fsvg%3E"); }
.ico-calendar { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'4'%20width%3D'18'%20height%3D'18'%20rx%3D'2'%2F%3E%3Cline%20x1%3D'16'%20y1%3D'2'%20x2%3D'16'%20y2%3D'6'%2F%3E%3Cline%20x1%3D'8'%20y1%3D'2'%20x2%3D'8'%20y2%3D'6'%2F%3E%3Cline%20x1%3D'3'%20y1%3D'10'%20x2%3D'21'%20y2%3D'10'%2F%3E%3C%2Fsvg%3E"); }
.ico-doc { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z'%2F%3E%3Cpolyline%20points%3D'14%202%2014%208%2020%208'%2F%3E%3Cline%20x1%3D'16'%20y1%3D'13'%20x2%3D'8'%20y2%3D'13'%2F%3E%3Cline%20x1%3D'16'%20y1%3D'17'%20x2%3D'8'%20y2%3D'17'%2F%3E%3C%2Fsvg%3E"); }
.ico-chat { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M21%2011.5a8.4%208.4%200%200%201-.9%203.8%208.5%208.5%200%200%201-7.6%204.7%208.4%208.4%200%200%201-3.8-.9L3%2021l1.9-5.7a8.4%208.4%200%200%201-.9-3.8%208.5%208.5%200%200%201%204.7-7.6%208.4%208.4%200%200%201%203.8-.9h.5a8.5%208.5%200%200%201%208%208z'%2F%3E%3C%2Fsvg%3E"); }
.ico-palette { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%202a10%2010%200%201%200%200%2020%202%202%200%200%200%202-2%202%202%200%200%201%202-2h2a4%204%200%200%200%204-4%2010%2010%200%200%200-10-10z'%2F%3E%3Ccircle%20cx%3D'7.5'%20cy%3D'11.5'%20r%3D'1'%2F%3E%3Ccircle%20cx%3D'10.5'%20cy%3D'7.5'%20r%3D'1'%2F%3E%3Ccircle%20cx%3D'14.5'%20cy%3D'7.5'%20r%3D'1'%2F%3E%3C%2Fsvg%3E"); }
.ico-receipt { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%202v20l2-1%202%201%202-1%202%201%202-1%202%201%202-1%202%201V2l-2%201-2-1-2%201-2-1-2%201-2-1-2%201z'%2F%3E%3Cline%20x1%3D'8'%20y1%3D'7'%20x2%3D'16'%20y2%3D'7'%2F%3E%3Cline%20x1%3D'8'%20y1%3D'11'%20x2%3D'16'%20y2%3D'11'%2F%3E%3Cline%20x1%3D'8'%20y1%3D'15'%20x2%3D'13'%20y2%3D'15'%2F%3E%3C%2Fsvg%3E"); }
.ico-mail { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2'%20y%3D'4'%20width%3D'20'%20height%3D'16'%20rx%3D'2'%2F%3E%3Cpolyline%20points%3D'22%206%2012%2013%202%206'%2F%3E%3C%2Fsvg%3E"); }
.ico-search { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%2398A1B3'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'11'%20cy%3D'11'%20r%3D'8'%2F%3E%3Cline%20x1%3D'21'%20y1%3D'21'%20x2%3D'16.7'%20y2%3D'16.7'%2F%3E%3C%2Fsvg%3E"); }
.ico-megaphone { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23F0820B'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%2011v2a1%201%200%200%200%201%201h2l4%204V6L6%2010H4a1%201%200%200%200-1%201z'%2F%3E%3Cpath%20d%3D'M15%208a4%204%200%200%201%200%208'%2F%3E%3C%2Fsvg%3E"); }
.ico-tool { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M8.6%205V4.3A1.4%201.4%200%200%201%2010%202.9h4A1.4%201.4%200%200%201%2015.4%204.3V5'%2F%3E%3Crect%20x%3D'3'%20y%3D'5'%20width%3D'18'%20height%3D'5'%20rx%3D'1.6'%2F%3E%3Crect%20x%3D'2'%20y%3D'10'%20width%3D'20'%20height%3D'10.4'%20rx%3D'2'%2F%3E%3Crect%20x%3D'10.3'%20y%3D'11.6'%20width%3D'3.4'%20height%3D'3.2'%20rx%3D'0.7'%2F%3E%3C%2Fsvg%3E"); }
.ico-shirt { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20.4%204.5L16%203a4%204%200%200%201-8%200L3.6%204.5a2%202%200%200%200-1.3%202.3l.7%203a2%202%200%200%200%202.4%201.5L7%2011v9a1%201%200%200%200%201%201h8a1%201%200%200%200%201-1v-9l1.6.3a2%202%200%200%200%202.4-1.5l.7-3a2%202%200%200%200-1.3-2.3z'%2F%3E%3C%2Fsvg%3E"); }
.ico-grid { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%233D6DEB'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3Crect%20x%3D'14'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3Crect%20x%3D'3'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3Crect%20x%3D'14'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3C%2Fsvg%3E"); }
.ico-warn { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23E5A400'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M10.3%203.9%201.8%2018a2%202%200%200%200%201.7%203h17a2%202%200%200%200%201.7-3L13.7%203.9a2%202%200%200%200-3.4%200z'%2F%3E%3Cline%20x1%3D'12'%20y1%3D'9'%20x2%3D'12'%20y2%3D'14'%2F%3E%3Cline%20x1%3D'12'%20y1%3D'17.4'%20x2%3D'12'%20y2%3D'17.4'%2F%3E%3C%2Fsvg%3E"); }
/* ==== SVG ICONS END ==== */
