/* 商业化视觉覆盖：中文优先字体、层级、轮播比例、卡片。后于 Vite CSS 加载。 */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html, body, #app, .page, .mb-page, .ph-page, .form-page, .search-page, button, input, select, textarea {
  font-family: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Source Han Sans SC",
    "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
body {
  color: #1a2332;
  background: #f6f7f8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.01em;
}
.page-header, .nav {
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  font-size: 17px !important;
}

/* 公告：提示而非警报 */
.mb-notice, .ph-notice {
  background: #f7f4ea !important;
  border-bottom: 1px solid #eadfbe !important;
}
.mb-notice-text, .ph-notice-text, .ticker {
  color: #7a5c12 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.mb-notice-icon, .ph-notice-icon { color: #b0892e !important; }

/* 轮播：匹配 1200×500 */
.mb-hero .mb-swiper-img, .mb-hero .mb-swiper-slide img,
.ph-hero .ph-swiper-img, .ph-swiper-img {
  height: 41.67vw !important;
  max-height: 188px !important;
  min-height: 140px !important;
  object-fit: cover !important;
}
.ph-swiper, .ph-swiper-slide, .ph-hero-fallback, .ph-hero-bg {
  height: auto !important;
  min-height: 140px;
}

.mb-card, .form-card, .contact-card, .fb-card, .profile-card, .company-card, .bind-panel {
  box-shadow: 0 4px 18px rgba(16, 36, 24, 0.06) !important;
  border-radius: 14px !important;
}
.mb-card-title, .mb-grid-title, .form-title, .section-title, .ph-card-title {
  font-weight: 650;
  letter-spacing: 0.02em;
  color: #15231b !important;
}

.mb-grid-item {
  background: #fff !important;
  border: 1px solid #e8eee9 !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 10px rgba(16, 36, 24, 0.04) !important;
  padding: 14px 10px 12px !important;
}
.mb-biz-img {
  width: 64px !important;
  height: 64px !important;
  border-radius: 14px !important;
  object-fit: cover !important;
  background: #eef4ef !important;
  image-rendering: -webkit-optimize-contrast;
}
.mb-biz-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #15231b !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mb-biz-desc {
  font-size: 11px !important;
  line-height: 1.45 !important;
  color: #6b746e !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 32px;
}
.mb-biz-btn {
  font-size: 13px !important;
  font-weight: 600 !important;
  min-height: 32px;
  padding: 5px 16px !important;
  border-radius: 16px !important;
  border: 1px solid #2f8a4a !important;
  color: #1f7a3d !important;
  background: #f4faf5 !important;
}
.mb-search-logo {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  background: #fff;
}
.mb-search-btn, .search-btn-inner, .ph-search-btn-inner, .search-btn {
  font-weight: 600 !important;
  letter-spacing: 0.06em;
  min-height: 40px;
}
.mb-search-input, .search-input, .ph-search-input {
  font-size: 15px !important;
}

.tab-bar .tab-text, .ges-tabbar .tab-text {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em;
}
.tab-bar .tab-item.active .tab-text, .ges-tabbar .tab-item.active .tab-text {
  font-weight: 700 !important;
}
.btn, .submit-btn, .empty-cta {
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  border-radius: 12px !important;
  min-height: 44px;
}

.detail-intro-rich {
  margin: 0 16px 20px;
  padding: 16px 16px 20px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
  color: #3d4a44;
  font-size: 14px;
  line-height: 1.75;
}
.detail-intro-rich h3 {
  margin: 16px 0 8px;
  font-size: 15px;
  font-weight: 700;
  color: #1b3d28;
  letter-spacing: 0.02em;
}
.detail-intro-rich p { margin: 0 0 10px; }
.media-block { border-radius: 14px !important; }

.article-body {
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #2c3530 !important;
  padding: 20px 18px !important;
}
.article-body h3 {
  font-size: 16px;
  margin: 18px 0 8px;
  color: #1b3d28;
  font-weight: 700;
}
.article-body p { margin: 0 0 10px; }

.mb-footer-tip, .ph-footer-tip, .footer, .copy {
  font-size: 11px !important;
  letter-spacing: 0.04em;
  color: #8a938d !important;
}

.profile-card .name { letter-spacing: 0.02em; }
.menu button {
  font-weight: 500 !important;
  color: #1a2332 !important;
  min-height: 48px;
}
.order-item {
  box-shadow: 0 4px 14px rgba(16, 36, 24, 0.05);
  border-radius: 14px !important;
}
.order-item .title { font-weight: 650; color: #15231b; }
.qrcode {
  width: 196px !important;
  height: 196px !important;
  object-fit: contain !important;
  background: #fff;
  border: 1px solid #e8eee9;
  border-radius: 12px !important;
  padding: 8px;
  box-sizing: border-box;
}
.contact-card .title { letter-spacing: 0.04em; }
.filter-bar button { min-height: 40px; font-weight: 500; }
.c-go-btn { min-height: 40px; border-radius: 16px !important; font-weight: 600 !important; }
.field span, .option-row label, .biz-switch-label {
  font-size: 13px;
  font-weight: 600;
  color: #5b6560;
  letter-spacing: 0.02em;
}
input, select, textarea {
  font-size: 15px !important;
}
.tip {
  color: #7a5c12 !important;
  background: #f7f4ea !important;
  border-color: #eadfbe !important;
}
