@charset "utf-8";
/*
 * 万亿圆梦 - 公共样式
 * 兼容策略：面向手机端 + 老内核(Android 4.x / 旧版微信/QQ 浏览器)
 *  - 不使用 CSS 变量(var())，直接硬编码色值
 *  - 使用 -webkit- 前缀的弹性盒；用 margin 代替 flex gap
 *  - 全部 px 单位，容器 max-width 自适应各屏宽
 *
 * 调色板（来自 Figma 设计令牌）：
 *  主红 primary        #D01D21
 *  按钮渐变            #ED3726 -> #BB0A10
 *  次要背景(验证码底)   #FFEADC
 *  卡片渐变            #FFFDFA -> #FDEFE5
 *  正文/标签 深棕       #421C16
 *  弱化文字 muted      #978179
 *  输入分隔线          #F0E6DE
 *  卡片/输入框描边      #F2E5DB
 *  按钮文字/浅底        #FFFBF4
 *  标题金色            #EDA720
 *  底部备案文字        #FEF3EB
 */

/* ============ 重置 ============ */
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-box-sizing: border-box; -webkit-tap-highlight-color: rgba(0,0,0,0); }
html, body { height: 100%; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
  color: #421c16;
  background: #bb0a10;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
/* ⚠️ 修复「部分页面要先点一下屏幕才能上下滑动」
 *
 * 成因：本项目是图片密集型设计稿还原，每屏有 3~14 个 <img>，且不少是整屏级的
 *   背景 / 横幅 / 卡片图。移动端 WebView（iOS Safari 与 Android WebView 都一样）
 *   对 <img> 默认启用「原生图片拖拽 + 长按存图」手势 ——
 *   当手指的起手点落在图片上时，这个原生手势会把 touchmove 抢走，
 *   于是这一下滑动不会滚动页面；随后随便点一下屏幕会让手势状态复位，
 *   再滑就正常了。这正是「点一下才能滑」的由来。
 *
 * 修法：全局禁掉图片的拖拽与长按回调。
 *   这里【不能用 pointer-events:none】—— 全站有 12 处以上图片是包在
 *   <a>/<button> 里当按钮用的（如「查看更多 >」的箭头、悬浮返回键的图标），
 *   一旦禁用指针事件这些按钮会直接点不动。
 *   -webkit-user-drag 只关掉拖拽手势，点击照常，是精准的那一刀。 */
img {
  border: 0;
  display: block;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  user-drag: none;
  /* 长按不再弹出「存储图片 / 拷贝」菜单，该菜单同样会打断滑动 */
  -webkit-touch-callout: none;
  /* 图片本身没有取词需求，顺手关掉选中，避免长按拖出蓝色选区 */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
a { text-decoration: none; color: inherit; }
input, button { font-family: inherit; outline: none; border: none; background: none; -webkit-appearance: none; appearance: none; }
button { cursor: pointer; }

/* ============ 页面与背景 ============ */
.page {
  position: relative;
  width: 100%;
  max-width: 430px;
  min-height: 100vh;
  margin: 0 auto;
  background-image: url(../images/bg.png);
  background-repeat: no-repeat;
  background-position: top center;
  -webkit-background-size: cover;
  background-size: cover;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

/* ---- 长图海报页壳（一卡通 / 委员会 / 退赔 等共用，海报 390x1356 顶部外溢 35px） ---- */
.kpage {
  position: relative;
  width: 100%;
  max-width: 430px;
  min-height: 100vh;
  margin: 0 auto;
  padding-bottom: 74px;
  background-color: #bb0a10;
  overflow-x: hidden;
}
.kpage-bg {
  position: absolute;
  left: 0; top: -35px;
  width: 100%;
  height: auto;
  z-index: 0;
  pointer-events: none;
}
.kpage > .kpage-in { position: relative; z-index: 1; }
.kpage.no-tab { padding-bottom: 24px; }
.kpage-top { padding: 50px 0 0 15px; }

/* ============ 顶部品牌区 ============ */
.hero { padding-top: 35px; text-align: center; }
.hero .emblem { width: 108px; height: 112px; margin: 0 auto; }
.hero .emblem img { width: 100%; height: 100%; }
.hero .brand-title { width: 274px; height: 95px; margin: 0 auto; }
.hero .brand-title img { width: 100%; height: 100%; object-fit: contain; }
.hero .brand-sub {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  margin-top: 4px;
}
.hero .brand-sub .line { width: 27px; height: 1px; }
.hero .brand-sub .line img { width: 100%; height: 1px; }
.hero .brand-sub b {
  font-weight: 700;
  color: #eda720;
  font-size: 8px;
  letter-spacing: 2.8px;
  margin: 0 6px;
  white-space: nowrap;
}

/* ============ 认证卡片 ============ */
.auth-card {
  position: relative;
  margin: 15px 16px 0;
  padding: 0 20px 28px;
  border-radius: 24px;
  background: #fff9f4;
  background: -webkit-linear-gradient(top, #fffdfa 0%, #fdefe5 100%);
  background: linear-gradient(170deg, #fffdfa 0%, #fdefe5 100%);
  -webkit-box-shadow: 0 12px 20px rgba(134,19,9,0.22);
  box-shadow: 0 12px 20px rgba(134,19,9,0.22);
}

/* 卡片标题（左右装饰线 + 文字） */
.card-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 28px 0 4px;
}
.card-head .hx { width: 32px; height: 1px; background: rgba(208,29,33,0.6); }
.card-head h1 {
  font-size: 26px;
  line-height: 39px;
  font-weight: 800;
  color: #d01d21;
  letter-spacing: 3.9px;
  margin: 0 12px;
  white-space: nowrap;
  text-indent: 3.9px;
}

/* 卡片副标题 */
.card-sub {
  text-align: center;
  color: #978179;
  font-size: 15px;
  line-height: 22.5px;
}

/* ============ 输入行 field ============ */
.fields { margin-top: 21px; }
.field {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 14px;
  border: 1px solid #f2e5db;
  border-radius: 14px;
  background: rgba(255,255,255,0.9);
  -webkit-box-shadow: 0 1px 3px rgba(116,47,37,0.06);
  box-shadow: 0 1px 3px rgba(116,47,37,0.06);
  margin-bottom: 12px;
}
.field:last-child { margin-bottom: 0; }
.field .ico { width: 20px; height: 20px; -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto; }
.field .ico img { width: 20px; height: 20px; }
.field .label {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  color: #421c16;
  font-size: 15px;
  line-height: 22.5px;
  white-space: nowrap;
  margin-left: 10px;
}
.field .divider { width: 1px; height: 16px; background: #f0e6de; margin-left: 10px; -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto; }
.field .input {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0;
  flex: 1 1 0;
  min-width: 0;
  width: 100%;
  margin-left: 10px;
  color: #421c16;
  font-size: 15px;
  line-height: 22.5px;
  background: transparent;
}
.field .input::-webkit-input-placeholder { color: #bda99e; }
.field .input:-moz-placeholder { color: #bda99e; }
.field .input::-moz-placeholder { color: #bda99e; }
.field .input:-ms-input-placeholder { color: #bda99e; }
.field .input::placeholder { color: #bda99e; }
.field .eye { width: 20px; height: 20px; margin-left: 10px; -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto; }
.field .eye img { width: 20px; height: 20px; }

/* ============ 主按钮 ============ */
.btn-cta {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  padding: 14.4px 0;
  border-radius: 12px;
  color: #fffbf4;
  font-size: 18px;
  line-height: 27px;
  font-weight: 800;
  letter-spacing: 6.3px;
  text-indent: 6.3px;
  background: #d01d21;
  background: -webkit-linear-gradient(top, #ed3726 0%, #bb0a10 100%);
  background: linear-gradient(180deg, #ed3726 0%, #bb0a10 100%);
  -webkit-box-shadow: 0 8px 10px rgba(187,10,16,0.35);
  box-shadow: 0 8px 10px rgba(187,10,16,0.35);
}
.btn-cta:active { -webkit-transform: translateY(1px); transform: translateY(1px); }

/* ============ 底部备案 ============ */
.footer {
  margin-top: auto;
  padding: 14px 10px 12px;
  text-align: center;
  color: #fef3eb;
  font-size: 8px;
  line-height: 10px;
}
.footer p { margin: 0; }
/* 带徽标的备案行（国徽 + 主办单位 / 警徽 + 京公网安备）。
 * ⚠️ 徽标高度取 11px 而非常见的 14px：本页脚字号只有 8px、行高 10px，
 *    14px 的图会明显高过文字、把行距顶开。11px 与文字视觉等高。
 * 用 inline-flex 而非 float/absolute：这行要整体居中，
 *    而 .footer 是 text-align:center，inline-flex 能直接被居中。 */
.footer p.wb {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.footer p.wb img {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  margin-right: 3px;
  /* 图本身有留白，微调基线让它与 8px 文字看起来居中 */
  vertical-align: middle;
}

/* ============ 提示条(表单校验) ============ */
.toast {
  position: fixed;
  left: 50%;
  top: 42%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  max-width: 80%;
  padding: 10px 16px;
  border-radius: 8px;
  background: rgba(0,0,0,0.78);
  color: #fff;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  z-index: 9999;
  display: none;
}
.toast.show { display: block; }

/* ============ 公共品牌栏（国徽 + 万亿圆梦 + 标语） ============ */
.brand { -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto; }
.brand-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.brand-row .emblem { width: 39px; height: 41px; }
.brand-row .emblem img { width: 100%; height: 100%; }
.brand-row .logo { width: 103px; height: 34px; margin-left: 7px; }
.brand-row .logo img { width: 100%; height: 100%; object-fit: contain; }
.brand-slogan {
  margin-top: 5px;
  color: #f9f2a7;
  font-size: 7.5px;
  line-height: 11px;
  letter-spacing: 2.6px;
  white-space: nowrap;
  text-align: center;
}

/* ============ 公共底部导航 ============ */
.home-tabbar {
  position: fixed;
  left: 50%; bottom: 0;
  width: 100%;
  max-width: 430px;
  height: 74px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #fef9f4;
  border-top: 1px solid #f0e6de;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  z-index: 50;
}
.tab {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.tab .ico { width: 24px; height: 24px; }
.tab .ico img { width: 24px; height: 24px; }
.tab span { margin-top: 3px; color: #421c16; font-size: 11.5px; line-height: 17.25px; }
.tab.active span { color: #d01d21; }

/* ============ 公共红色标题栏（子页面用） ============ */
.tbar {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  height: 50px;
  background: #d01d21;
  background: -webkit-linear-gradient(top, #ed3726 0%, #bb0a10 100%);
  background: linear-gradient(180deg, #ed3726 0%, #bb0a10 100%);
  -webkit-box-shadow: 0 2px 6px rgba(92,2,4,0.25);
  box-shadow: 0 2px 6px rgba(92,2,4,0.25);
  z-index: 30;
}
.tbar .title {
  line-height: 50px;
  text-align: center;
  color: #fffbf4;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 1px;
}
.tbar .back {
  position: absolute;
  left: 0; top: 0;
  width: 48px; height: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.tbar .back img { width: 18px; height: 18px; }

/* ============ 公共区块小标题（红竖条 + 文字） ============ */
.sec-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.sec-head i { width: 4px; height: 16px; border-radius: 4px; background: #d01d21; }
.sec-head b { margin-left: 8px; color: #421c16; font-size: 16px; line-height: 24px; font-weight: 800; }

/* ============ 通用弹窗 ============ */
.modal-mask {
  position: fixed;
  left: 0; top: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.45);
  z-index: 9998;
  display: none;
}
.modal-mask.show {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.modal-box {
  position: relative;
  width: 300px;
  max-width: 84%;
  padding: 34px 24px 24px;
  border-radius: 18px;
  background: #fffdfa;
  background: -webkit-linear-gradient(top, #fffdfa 0%, #fdefe5 100%);
  background: linear-gradient(180deg, #fffdfa 0%, #fdefe5 100%);
  text-align: center;
  -webkit-box-shadow: 0 12px 30px rgba(92,2,4,0.35);
  box-shadow: 0 12px 30px rgba(92,2,4,0.35);
}
.modal-badge {
  position: absolute;
  left: 50%; top: -24px;
  margin-left: -24px;
  width: 48px; height: 48px;
  border-radius: 50%;
  background: #d01d21;
  background: -webkit-linear-gradient(top, #ed3726 0%, #bb0a10 100%);
  background: linear-gradient(180deg, #ed3726 0%, #bb0a10 100%);
  color: #fffbf4;
  font-size: 30px;
  font-weight: 700;
  line-height: 48px;
  text-align: center;
  -webkit-box-shadow: 0 6px 12px rgba(187,10,16,0.4);
  box-shadow: 0 6px 12px rgba(187,10,16,0.4);
}
.modal-title {
  color: #d01d21;
  font-size: 19px;
  font-weight: 800;
  line-height: 28px;
  letter-spacing: 1px;
}
.modal-msg {
  margin-top: 12px;
  color: #6b4b41;
  font-size: 14.5px;
  line-height: 22px;
}
.modal-btn {
  display: block;
  width: 100%;
  margin-top: 22px;
  padding: 12px 0;
  border-radius: 12px;
  color: #fffbf4;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 2px;
  background: #d01d21;
  background: -webkit-linear-gradient(top, #ed3726 0%, #bb0a10 100%);
  background: linear-gradient(180deg, #ed3726 0%, #bb0a10 100%);
  -webkit-box-shadow: 0 6px 10px rgba(187,10,16,0.35);
  box-shadow: 0 6px 10px rgba(187,10,16,0.35);
}
.modal-btn:active { -webkit-transform: translateY(1px); transform: translateY(1px); }
/* 可选取消按钮（仅 modal({cancel:'取消'}) 时显示），用于不可逆操作的二次确认 */
.modal-cancel {
  display: none;
  margin-top: 10px;
  color: #978179;
  font-size: 14px;
  line-height: 22px;
  text-align: center;
  text-decoration: none;
}
.modal-cancel.show { display: block; }

/* ============ 小屏适配 ============ */
@media screen and (max-width: 340px) {
  .card-head h1 { font-size: 23px; letter-spacing: 2px; text-indent: 2px; }
  .field .label { font-size: 14px; }
  .field .input { font-size: 14px; }
}

/* ---------- 悬浮返回键 ----------
 * 给那些【自带整页设计、没有标题栏】的页面用（名额查询、政策文件等）。
 * 绝对定位悬浮在左上角，不参与布局流，所以不会把原有 1:1 还原的版面顶偏。
 * 半透明深色底 + 白箭头，红底/浅底背景上都能看清。 */
.fab-back {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 20;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .28);
  text-decoration: none;
}
.fab-back img {
  width: 22px;
  height: 22px;
  /* 全局 img{display:block}，居中必须用 margin 而非 text-align */
  margin: 6px auto 0;
}
/* 右上变体：个别页面左上角被品牌块（国徽+logo）占满，放左边会和国徽叠在一起。
 * 名额查询页实测品牌区占 20,24→169,77，与 12,12 的返回键正面冲突，故改挂右上。 */
.fab-back.r { left: auto; right: 12px; }

/* ============ 客服 / 官方群 二维码弹窗 ============
 * 绑定 .js-service 与 .js-group，见 assets/js/contact.js
 * 放在 common.css 是因为这两类按键散布在首页、我的、登录页等多处，
 * 每个页面都要能用；单独出一个 css 文件反而要逐页引入、必漏。
 * 配色沿用站内体系：主红 #d01d21(渐变 #ed3726→#bb0a10)、米白卡 #fffdfa→#fdefe5、
 * 深文字 #421c16、次要 #978179、金饰 #ffefa9→#f5a420 */
.qr-mask {
  position: fixed;
  left: 0; top: 0; right: 0; bottom: 0;
  z-index: 9995;                 /* 高于弹窗公告(9990)，低于系统提示(9998) */
  display: none;
  background: rgba(0, 0, 0, .5);
}
.qr-mask.show {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.qr-box {
  position: relative;
  width: 300px;
  max-width: 84%;
  padding: 22px 22px 20px;
  border-radius: 18px;
  background: #fffdfa;
  background: -webkit-linear-gradient(top, #fffdfa 0%, #fdefe5 100%);
  background: linear-gradient(180deg, #fffdfa 0%, #fdefe5 100%);
  text-align: center;
  -webkit-box-shadow: 0 12px 30px rgba(92, 2, 4, .35);
  box-shadow: 0 12px 30px rgba(92, 2, 4, .35);
}
.qr-box .qr-t {
  color: #d01d21;
  font-size: 18.5px;
  font-weight: 800;
  line-height: 27px;
  letter-spacing: .5px;
}
/* 标题下的金色小分隔，与弹窗公告保持同一视觉语言 */
.qr-box .qr-t + .qr-s { margin-top: 7px; }
.qr-box .qr-s {
  color: #978179;
  font-size: 12.5px;
  line-height: 19px;
}
.qr-box .qr-img {
  margin: 14px auto 0;
  padding: 9px;
  width: 188px;
  border-radius: 12px;
  background: #fff;
  -webkit-box-shadow: 0 2px 8px rgba(92, 2, 4, .12);
  box-shadow: 0 2px 8px rgba(92, 2, 4, .12);
}
.qr-box .qr-img img {
  display: block;
  width: 170px;
  height: 170px;
  /* 二维码原图不是正方形（346x371 / 360x365），
     用 contain 而非 cover，避免把定位角裁掉导致扫不出来 */
  -o-object-fit: contain;
  object-fit: contain;
}
.qr-box .qr-tip {
  margin-top: 11px;
  color: #b0968c;
  font-size: 11.5px;
  line-height: 17px;
}
.qr-box .qr-btn {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 11px 0;
  border: 0;
  border-radius: 12px;
  color: #fffbf4;
  font-size: 15.5px;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: 1px;
  text-align: center;
  text-decoration: none;
  background: #d01d21;
  background: -webkit-linear-gradient(top, #ed3726 0%, #bb0a10 100%);
  background: linear-gradient(180deg, #ed3726 0%, #bb0a10 100%);
  -webkit-box-shadow: 0 6px 10px rgba(187, 10, 16, .35);
  box-shadow: 0 6px 10px rgba(187, 10, 16, .35);
}
.qr-box .qr-btn:active { -webkit-transform: translateY(1px); transform: translateY(1px); }
.qr-box .qr-btn.plain {
  margin-top: 9px;
  background: transparent;
  border: 1px solid #e6d3c8;
  color: #978179;
  font-weight: 600;
  -webkit-box-shadow: none;
  box-shadow: none;
}
/* 操作顺序提示：比 .qr-tip 更醒目（要让用户真的先去下载 APP），
   故用暖色底块 + 主色文字，而不是继续用灰色小字。 */
.qr-box .qr-note {
  margin-top: 10px;
  padding: 7px 10px;
  border-radius: 8px;
  background: #fff3ec;
  color: #c4161c;
  font-size: 11.5px;
  line-height: 17px;
}
/* 「立即下载XXAPP」：与主按钮同尺寸但降一级 —— 描边金底、非实心红。
   两个实心红按钮并排会分不出主次，用户容易点错顺序。
   不复用 .plain（那是「关闭」的中性灰），这个仍属正向操作。 */
.qr-box .qr-btn.app {
  margin-top: 9px;
  color: #c4161c;
  background: #fff6ea;
  border: 1px solid #efc98f;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.qr-box .qr-x {
  position: absolute;
  right: 8px; top: 8px;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: rgba(66, 28, 22, .1);
  color: #7a5c53;
  font-size: 16px;
  line-height: 30px;
  text-align: center;
  text-decoration: none;
}

/* 登录页信息行里的「在线客服」原本是死文字，现改为可点，给个可点的视觉暗示 */
.info-row .grp.js-service,
.info-row .grp.js-group { cursor: pointer; }
.info-row .grp.js-service:active,
.info-row .grp.js-group:active { opacity: .65; }

/* ============ 436万元申请入口横幅（Figma Group 66 / 7:8） ============
 * 「我的」与「首页」共用。放 common.css 而不是各自的页面样式里，
 * 是因为两边引的 CSS 不同（mine.css vs home.css），复制一份迟早会改漏一边。
 * 「立即进入」用百分比定位而非绝对像素：底图按宽度自适应缩放，
 * 用 px 会在不同屏宽下偏离按钮位置。 */
.mbanner { position: relative; display: block; margin-top: 8px; }
.mbanner img { width: 100%; height: auto; border-radius: 18px; }
.mbanner .ent {
  position: absolute;
  left: 59.84%;
  top: 69.91%;
  width: 35.05%;
  height: 16.02%;
  border-radius: 16px;
  background: #fff6e2;
  background: -webkit-linear-gradient(top, #fffaf0, #ffe9b8);
  background: linear-gradient(180deg, #fffaf0, #ffe9b8);
  box-shadow: 0 2px 6px rgba(120, 30, 0, .35);
  color: #c8151a;
  font-size: 14px;
  font-weight: 700;
  line-height: 30px;
  text-align: center;
  white-space: nowrap;
}
.mbanner .ent i { margin-left: 3px; font-style: normal; font-weight: 400; }

/* 首页版：上方是委员会横幅(左右 margin 12px)，下方是最新公告，
 * 对齐它们的左右边距并给出与 .banner 一致的上间距。 */
.mbanner.home-mbanner { margin: 13px 12px 0; }
