/* ==========================================================================
   小吃培训网 前台补充样式（配合原型 jm_css 使用）
   主色：蓝 #008fd7  橙 #ff5400  红 #db4339
   ========================================================================== */
body { background: #fff; }
img { border: 0; }
.xc-w1200 { width: 1200px; margin: 0 auto; }
.xc-clearfix::after { content: ''; display: block; clear: both; }

/* ---------- 头部 LOGO（图标 + 站名组合，替换整图 logo） ---------- */
.topLogo { width: 228px !important; overflow: visible; }
.topLogo .xc-logo { display: flex; align-items: center; gap: 12px; width: max-content; }
.topLogo .xc-logo-ico { width: 58px !important; height: 58px !important; display: block; }
.xc-logo-txt { display: flex; flex-direction: column; line-height: 1; }
.xc-logo-txt b { font-size: 30px; font-weight: 800; color: #2b2b2b; letter-spacing: 2px; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; }
.xc-logo-txt i { font-style: normal; font-size: 11px; color: #d8502e; letter-spacing: 3.5px; margin-top: 7px; font-family: Arial, sans-serif; }
.topLogo .xc-logo:hover .xc-logo-txt b { color: #d8502e; }

/* ---------- 面包屑 ---------- */
.xc-crumb { height: 44px; line-height: 44px; font-size: 13px; color: #888; }
.xc-crumb a { color: #666; }
.xc-crumb a:hover { color: #ff5400; }
.xc-crumb span.sep { margin: 0 6px; color: #ccc; }

/* ---------- 页面容器 ---------- */
.xc-main { padding-bottom: 30px; }
.xc-panel { background: #fff; border: 1px solid #e8ebf0; border-radius: 4px; margin-bottom: 18px; }
.xc-panel-hd { height: 46px; line-height: 46px; padding: 0 16px; border-bottom: 1px solid #eef1f5; font-size: 16px; font-weight: bold; color: #333; }
.xc-panel-hd small { font-weight: normal; font-size: 12px; color: #999; margin-left: 8px; }
.xc-panel-hd .more { float: right; font-size: 12px; font-weight: normal; color: #999; }
.xc-panel-hd .more:hover { color: #ff5400; }
.xc-panel-bd { padding: 16px; }

/* ---------- 筛选条 ---------- */
.xc-filter { background: #fff; border: 1px solid #e8ebf0; border-radius: 4px; padding: 12px 16px; margin-bottom: 16px; }
.xc-filter dl { display: flex; flex-wrap: wrap; padding: 6px 0; border-bottom: 1px dashed #f0f2f5; }
.xc-filter dl:last-child { border-bottom: 0; }
.xc-filter dt { width: 84px; color: #999; font-size: 13px; line-height: 26px; flex: none; }
.xc-filter dd { flex: 1; min-width: 0; }
.xc-filter dd a { display: inline-block; padding: 2px 11px; margin: 0 8px 6px 0; font-size: 13px; color: #555; border-radius: 13px; line-height: 22px; }
.xc-filter dd a:hover { color: #ff5400; }
.xc-filter dd a.cur { background: #ff5400; color: #fff; }

/* ---------- 通用列表卡片 ---------- */
/* 搜索结果卡片：CSS Grid 自适应列数（auto-fit），卡片自动拉伸填满整行，
   结果不足一行时也不会在右侧留下大块空白（原 flex 定宽 4 列，少量结果会空出第 4 列） */
.xc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; justify-content: start; }
.xc-card { margin: 0; background: #fff; border: 1px solid #e8ebf0; border-radius: 4px; overflow: hidden; transition: box-shadow .2s; }
.xc-card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.09); }
.xc-card .thumb { display: block; height: 150px; overflow: hidden; background: #eef1f5; }
.xc-card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.xc-card:hover .thumb img { transform: scale(1.05); }
.xc-card .bd { padding: 10px 12px 14px; }
.xc-card .bd h4 { font-size: 14px; line-height: 22px; color: #333; height: 44px; overflow: hidden; margin-bottom: 6px; }
.xc-card .bd h4 a { color: #333; }
.xc-card .bd h4 a:hover { color: #ff5400; }
.xc-card .bd p { font-size: 12px; color: #999; line-height: 20px; height: 40px; overflow: hidden; }
.xc-card .bd .row { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #999; margin-top: 8px; }
.xc-card .bd .price { color: #db4339; font-weight: bold; font-size: 14px; }
/* 卡片底部 CTA：立即咨询 / 在线报名 / 领取资料（打开悬浮留资弹框 #xcDialogMask） */
.xc-card .actions { display: flex; gap: 6px; margin-top: 10px; }
.xc-card .actions a { flex: 1; text-align: center; height: 30px; line-height: 30px; font-size: 12px; border-radius: 3px; text-decoration: none; box-sizing: border-box; white-space: nowrap; }
.xc-card .actions a:hover { opacity: .9; }
.xc-card .actions .a-consult { background: #fff; border: 1px solid #ff5400; color: #ff5400; }
.xc-card .actions .a-apply { background: #ff5400; color: #fff; }
.xc-card .actions .a-doc { background: #fff; border: 1px solid #008fd7; color: #008fd7; }

/* 横向列表（学校 / 加盟 / 新闻） */
.xc-list { background: #fff; border: 1px solid #e8ebf0; border-radius: 4px; }
.xc-item { display: flex; padding: 18px 16px; border-bottom: 1px solid #f2f4f7; }
.xc-item:last-child { border-bottom: 0; }
.xc-item .pic { width: 180px; height: 126px; flex: none; margin-right: 16px; border-radius: 4px; overflow: hidden; background: #eef1f5; }
.xc-item .pic img { width: 100%; height: 100%; object-fit: cover; }
.xc-item .info { flex: 1; min-width: 0; position: relative; }
.xc-item .info h3 { font-size: 17px; font-weight: bold; line-height: 24px; margin-bottom: 8px; }
.xc-item .info h3 a { color: #222; }
.xc-item .info h3 a:hover { color: #ff5400; }
.xc-item .info .tags { margin-bottom: 8px; }
.xc-item .info .tags span { display: inline-block; font-size: 12px; color: #008fd7; border: 1px solid #cfe8f8; background: #f2faff; border-radius: 3px; padding: 0 6px; line-height: 18px; margin-right: 6px; }
.xc-item .info .tags span.hot { color: #db4339; border-color: #f8d3d1; background: #fff4f3; }
.xc-item .info .desc { font-size: 13px; color: #888; line-height: 22px; max-height: 44px; overflow: hidden; }
.xc-item .info .meta { margin-top: 10px; font-size: 12px; color: #999; }
.xc-item .info .meta em { font-style: normal; margin-right: 18px; }
.xc-item .info .meta em b { color: #db4339; font-weight: bold; }
.xc-item .side { width: 168px; flex: none; text-align: center; border-left: 1px dashed #eef1f5; padding-left: 16px; }
.xc-item .side .tel { font-size: 18px; color: #db4339; font-weight: bold; margin-bottom: 8px; }
.xc-item .side .btn { display: block; height: 32px; line-height: 32px; border-radius: 16px; font-size: 13px; margin-top: 8px; }
.xc-item .side .btn-org { background: #ff5400; color: #fff; }
.xc-item .side .btn-blue { background: #008fd7; color: #fff; }
.xc-item .side .btn-ghost { border: 1px solid #ff5400; color: #ff5400; }
.xc-item .side .btn:hover { opacity: .9; color: #fff; }
.xc-item .side .btn-ghost:hover { color: #ff5400; }

/* ---------- 分页 ---------- */
.xc-pager { text-align: center; padding: 24px 0 10px; }
.xc-pager a, .xc-pager span { display: inline-block; min-width: 34px; height: 34px; line-height: 32px; padding: 0 10px; margin: 0 3px; border: 1px solid #e2e6ec; background: #fff; font-size: 13px; color: #555; border-radius: 3px; }
.xc-pager a:hover { border-color: #ff5400; color: #ff5400; }
.xc-pager span.cur { background: #ff5400; border-color: #ff5400; color: #fff; }
.xc-pager span.dis { color: #ccc; }

/* ---------- 详情页 ---------- */
.xc-layout { display: flex; align-items: flex-start; }
.xc-layout .left { flex: 1; min-width: 0; }
.xc-layout .right { width: 300px; flex: none; margin-left: 18px; }
.xc-article { background: #fff; border: 1px solid #e8ebf0; border-radius: 4px; padding: 24px 28px 30px; }
.xc-article h1 { font-size: 24px; line-height: 34px; color: #222; font-weight: bold; }
.xc-article .art-meta { font-size: 12px; color: #999; padding: 12px 0 16px; border-bottom: 1px solid #f0f2f5; margin-bottom: 18px; }
.xc-article .art-meta em { font-style: normal; margin-right: 16px; }
.xc-article .art-body { font-size: 15px; line-height: 30px; color: #444; }
.xc-article .art-body h3 { font-size: 17px; font-weight: bold; color: #222; margin: 22px 0 10px; padding-left: 11px; border-left: 4px solid #ff5400; }
.xc-article .art-body p { margin-bottom: 12px; }
.xc-article .art-body ul, .xc-article .art-body ol { margin: 0 0 14px 22px; }
.xc-article .art-body li { list-style: disc; line-height: 30px; }
.xc-article .art-body ol li { list-style: decimal; }
.xc-article .art-body img { max-width: 100%; }
.xc-article .art-tags { margin-top: 26px; padding-top: 16px; border-top: 1px dashed #eef1f5; font-size: 13px; color: #999; }
.xc-article .art-tags a { display: inline-block; margin: 0 8px 8px 0; padding: 2px 10px; background: #f5f7fa; border-radius: 12px; color: #666; }
.xc-article .art-tags a:hover { background: #ff5400; color: #fff; }

/* 侧栏 widget */
.xc-widget { background: #fff; border: 1px solid #e8ebf0; border-radius: 4px; margin-bottom: 18px; }
.xc-widget-hd { height: 44px; line-height: 44px; padding: 0 14px; border-bottom: 1px solid #eef1f5; font-size: 15px; font-weight: bold; color: #333; }
.xc-widget-bd { padding: 12px 14px; }
.xc-widget-bd ul li { display: flex; align-items: center; padding: 8px 0; border-bottom: 1px dashed #f2f4f7; font-size: 13px; }
.xc-widget-bd ul li:last-child { border-bottom: 0; }
.xc-widget-bd ul li a { color: #555; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xc-widget-bd ul li a:hover { color: #ff5400; }
.xc-widget-bd ul li i { flex: none; font-style: normal; display: inline-block; width: 18px; height: 18px; line-height: 18px; text-align: center; background: #dfe3e9; color: #fff; border-radius: 2px; font-size: 11px; margin-right: 8px; }
.xc-widget-bd ul li:nth-child(1) i { background: #ff5400; }
.xc-widget-bd ul li:nth-child(2) i { background: #ff9142; }
.xc-widget-bd ul li:nth-child(3) i { background: #ffb87a; }

/* 侧栏留资 */
.xc-side-form { background: linear-gradient(180deg, #eaf6ff, #ffffff); border: 1px solid #cfe8f8; border-radius: 4px; padding: 16px; margin-bottom: 18px; }
.xc-side-form h4 { font-size: 15px; font-weight: bold; color: #0079b8; margin-bottom: 6px; }
.xc-side-form p.sub { font-size: 12px; color: #7a8b99; margin-bottom: 12px; }
.xc-side-form input, .xc-side-form select, .xc-side-form textarea { width: 100%; height: 36px; line-height: 36px; border: 1px solid #d8e3ec; border-radius: 3px; padding: 0 10px; font-size: 13px; margin-bottom: 10px; box-sizing: border-box; background: #fff; }
.xc-side-form textarea { height: 62px; line-height: 20px; padding: 8px 10px; resize: none; }
.xc-side-form button { width: 100%; height: 38px; line-height: 38px; background: #ff5400; color: #fff; border: 0; border-radius: 3px; font-size: 15px; cursor: pointer; }
.xc-side-form button:hover { background: #e64a00; }
.xc-side-form .tip { font-size: 11px; color: #9aa7b3; margin: 8px 0 0; line-height: 16px; }

/* ---------- 表格（参数） ---------- */
.xc-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.xc-table th, .xc-table td { border: 1px solid #eef1f5; padding: 10px 14px; text-align: left; }
.xc-table th { background: #f7f9fc; color: #666; font-weight: normal; width: 140px; }

/* ---------- 右侧悬浮在线服务（样式参照原型 jm_school_list.htm .floating_ck 咨询热线） ---------- */
.xc-floatbar { position: fixed; right: 20px; top: 30%; width: 80px; z-index: 900; }
.xc-fb-head {
  background: #383838; color: #fff; font-size: 13px; line-height: 34px; text-align: center; letter-spacing: 2px;
}
.xc-fb-item {
  position: relative; display: block; width: 80px; height: 80px; text-align: center; cursor: pointer;
  background-repeat: no-repeat; background-position: center 20%; background-size: 30px auto;
  text-decoration: none;
}
.xc-fb-item:hover { background-color: #e40231; }
.xc-fb-item:hover .xc-fb-pop { display: block; }
.xc-fb-txt { color: #fff; display: block; padding-top: 54px; font-size: 12px; line-height: 16px; }
.xc-fb-glyph { position: absolute; top: 13px; left: 0; right: 0; font-style: normal; font-size: 27px; line-height: 30px; color: #fff; font-weight: 700; }
.xc-fb-glyph.sm { font-size: 24px; top: 15px; }
/* 槽位配色（原型 palette） */
.xc-c-phone { background-color: #ff5a00; background-image: url('/jm_img/sub/zxicon.png'); }
.xc-c-qq { background-color: #ff7f00; }
.xc-c-wechat { background-color: #ffae00; }
.xc-c-form { background-color: #ff7f00; background-image: url('/jm_img/sub/zxliuyan.png'); }
.xc-c-bxk { background-color: #ffae00; background-image: url('/jm_img/sub/zxxf.png'); }
.xc-c-callback { background-color: #383838; background-image: url('/jm_img/sub/zxphone.png'); }
.xc-c-link { background-color: #383838; }
.xc-c-top { background-color: #666; background-image: url('/jm_img/sub/zxtop.png'); }
/* 悬停左侧红色面板（原型 .floating_left） */
.xc-fb-pop {
  display: none; position: absolute; left: -246px; top: 0; width: 246px; height: 80px;
  background: #e40231; color: #fff; font-style: normal; font-size: 13px; line-height: 20px;
  padding: 0 12px; box-sizing: border-box;
}
.xc-fb-pop b { font-weight: 700; }
.xc-fb-tel { display: block; font-size: 28px; line-height: 30px; padding-top: 14px; font-family: Arial, sans-serif; }
.xc-fb-pop em { display: block; font-style: normal; font-size: 12px; opacity: .85; margin-top: 2px; }
/* 回电预约输入面板 */
.xc-fb-pop-form { padding-top: 19px; }
.xc-fb-pop-form input {
  display: block; width: 124px; height: 42px; float: left; border: none; outline: 0;
  border-radius: 21px 0 0 21px; padding: 0 14px; font-size: 13px; color: #333; background: #fff;
  box-sizing: border-box;
}
.xc-fb-callbtn {
  display: block; width: 72px; height: 42px; float: left; line-height: 42px; text-align: center;
  background: #e9a210; color: #fff; font-size: 14px; border-radius: 0 21px 21px 0; text-decoration: none;
}
.xc-fb-callbtn:hover { background: #fe8433; }
.xc-fb-callmsg { display: block; clear: both; font-size: 12px; color: #ffe08a; padding-top: 6px; }

/* 移动端提示条 */
.xc-mobile-tip { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 800; background: rgba(0,0,0,.78); color: #fff; font-size: 13px; padding: 10px 14px; text-align: center; }
.xc-mobile-tip a { color: #ffb84d; text-decoration: underline; }

/* ---------- 弹窗 ---------- */
.xc-dialog-mask { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 5000; }
.xc-dialog { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 420px; background: #fff; border-radius: 8px; padding: 26px 28px 24px; z-index: 5001; }
.xc-dialog h3 { font-size: 19px; font-weight: bold; color: #222; margin-bottom: 6px; }
.xc-dialog-sub { font-size: 13px; color: #999; margin-bottom: 18px; }
.xc-dialog-close { position: absolute; right: 14px; top: 10px; font-size: 24px; color: #bbb; line-height: 1; }
.xc-dialog-close:hover { color: #ff5400; }
.xc-form-row { margin-bottom: 12px; }
.xc-form-row input, .xc-form-row select, .xc-form-row textarea { width: 100%; height: 42px; line-height: 42px; border: 1px solid #dfe4ea; border-radius: 4px; padding: 0 12px; font-size: 14px; box-sizing: border-box; }
.xc-form-row textarea { height: 62px; line-height: 22px; padding: 9px 12px; resize: none; }
.xc-form-row input:focus, .xc-form-row select:focus, .xc-form-row textarea:focus { border-color: #008fd7; outline: none; }
.xc-dialog button[type=submit] { width: 100%; height: 44px; line-height: 44px; background: #ff5400; color: #fff; border: 0; border-radius: 4px; font-size: 16px; cursor: pointer; }
.xc-dialog button[type=submit]:hover { background: #e64a00; }
.xc-dialog .xc-form-tip { font-size: 11px; color: #9aa7b3; margin-top: 10px; text-align: center; }

/* ---------- 通用表单页 ---------- */
.xc-page-box { width: 520px; margin: 40px auto 60px; background: #fff; border: 1px solid #e8ebf0; border-radius: 6px; padding: 32px 36px; }
.xc-page-box h2 { font-size: 22px; font-weight: bold; color: #222; margin-bottom: 6px; }
.xc-page-box .sub { font-size: 13px; color: #999; margin-bottom: 22px; }
.xc-page-box .row { margin-bottom: 14px; }
.xc-page-box .row label { display: block; font-size: 13px; color: #555; margin-bottom: 6px; }
.xc-page-box .row input, .xc-page-box .row select, .xc-page-box .row textarea { width: 100%; height: 42px; line-height: 42px; border: 1px solid #dfe4ea; border-radius: 4px; padding: 0 12px; font-size: 14px; box-sizing: border-box; }
.xc-page-box .row textarea { height: 90px; line-height: 22px; padding: 10px 12px; resize: vertical; }
/* 表单主按钮：统一全站主色红 #db4339（hover #c53328，与「复制」按钮/导航/价格一致）；
 * 原蓝色 #008fd7 与全站红色系不协调（友链申请页、立即提交页共用此类） */
.xc-page-box .submit {
  width: 100%; height: 46px; line-height: 46px;
  background: #db4339; color: #fff; border: 0; border-radius: 4px;
  font-size: 16px; font-weight: 600; letter-spacing: 2px; cursor: pointer;
  box-shadow: 0 2px 8px rgba(219, 67, 57, .28);
  transition: background .2s, box-shadow .2s, transform .1s;
}
.xc-page-box .submit:hover { background: #c53328; box-shadow: 0 4px 12px rgba(219, 67, 57, .34); }
.xc-page-box .submit:active { transform: translateY(1px); box-shadow: 0 1px 4px rgba(219, 67, 57, .3); }
.xc-page-box .tab-switch { display: flex; border-bottom: 1px solid #eef1f5; margin-bottom: 22px; }
.xc-page-box .tab-switch a { flex: 1; text-align: center; line-height: 42px; font-size: 15px; color: #666; }
.xc-page-box .tab-switch a.cur { color: #008fd7; border-bottom: 2px solid #008fd7; font-weight: bold; }
.xc-msg { padding: 10px 14px; border-radius: 4px; font-size: 13px; margin-bottom: 16px; }
.xc-msg.ok { background: #eafaf1; color: #12945a; border: 1px solid #c6efd9; }
.xc-msg.err { background: #fdeeee; color: #c0392b; border: 1px solid #f6d2cd; }

/* ---------- 静态页 ---------- */
.xc-page-article { background: #fff; border: 1px solid #e8ebf0; border-radius: 4px; padding: 30px 40px 40px; font-size: 15px; line-height: 32px; color: #444; }
.xc-page-article h1 { font-size: 26px; color: #222; margin-bottom: 20px; }
.xc-page-article p { margin-bottom: 14px; }

/* ---------- 空状态 ---------- */
.xc-empty { text-align: center; padding: 60px 0; color: #aaa; font-size: 14px; }
.xc-empty .big { font-size: 46px; line-height: 1; margin-bottom: 12px; color: #dfe4ea; }

/* ---------- 响应式（窄屏 PC 也优雅） ---------- */
@media screen and (max-width: 1240px) {
  .xc-w1200 { width: 100%; padding: 0 12px; box-sizing: border-box; }
}
@media screen and (max-width: 1100px) {
  .xc-layout { display: block; }
  .xc-layout .right { width: auto; margin-left: 0; }
}
@media screen and (max-width: 939px) {
  /* 窄窗下子页面为固定宽版式（需横向滚动才能看全），右侧悬浮条会压住左栏内容
     （如新闻详情留资表单的「立即领取」按钮），先隐藏，≥940px 再恢复 */
  .xc-floatbar { display: none; }
}
@media screen and (max-width: 760px) {
  .xc-mobile-tip { display: block; }
  .xc-floatbar { display: none; }
  .xc-cards { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .xc-item { flex-wrap: wrap; }
  .xc-item .pic { width: 110px; height: 82px; }
  .xc-item .side { width: 100%; border-left: 0; padding-left: 0; margin-top: 10px; text-align: left; border-top: 1px dashed #eef1f5; padding-top: 10px; }
  .xc-page-box { width: auto; margin: 20px 12px; padding: 22px; }
}

/* ========== 子页面（sub 版式）补充 ========== */
/* 2026-10-23 排序栏改 flex 单行：原 float 布局下「共 N 家…」计数 + 右浮动搜索框总宽超过
   左栏 810px 可用宽时，搜索框掉到第二行（1376 家实测即掉行）；且 total 每增加一位数字
   再挤约 13px。改为 flex + 计数 nowrap + 数字等宽（tabular-nums）+ 搜索框 110~200px
   可收缩，学校数量涨到 5~6 位、城市名变长也保持单行。 */
.paixu-nav{display:flex;align-items:center;flex-wrap:nowrap;height:auto;min-height:24px}
/* h1（course/brand 列表页排序标题）浏览器默认 margin 在 flex item 上会生效，压低视觉位置，须清零 */
.paixu-nav h1{flex:none;margin-top:0;margin-bottom:0;margin-right:15px;font-size:16px;font-weight:600;line-height:24px}
.paixu-nav .pxname{flex:none;margin-right:14px;color:#333}
.paixu-nav .px-btn{flex:none;margin-right:10px}
.paixu-nav .px-btn a{padding:0 10px;color:#555;text-decoration:none}
.paixu-nav .px-btn a.o{color:#fff;background:#eb3d31;border-radius:2px}
.paixu-nav .pxcount{flex:none;margin-left:8px;color:#999;white-space:nowrap}
.paixu-nav .pxcount b{color:#db4339;margin:0 3px;font-variant-numeric:tabular-nums}
.paixu-nav .px-search{flex:0 1 auto;display:flex;height:24px;margin-left:auto;min-width:0}
.paixu-nav .px-search input{flex:1 1 auto;min-width:110px;width:200px;height:22px;line-height:20px;padding:0 8px;border:1px solid #d9d9d9;border-right:0;border-radius:3px 0 0 3px;font-size:12px;color:#333;background:#fff;outline:none;box-sizing:content-box}
.paixu-nav .px-search input:focus{border-color:#db4339}
.paixu-nav .px-search button{flex:none;width:52px;height:24px;border:1px solid #db4339;background:#db4339;color:#fff;font-size:12px;line-height:22px;text-align:center;cursor:pointer;border-radius:0 3px 3px 0}
.paixu-nav .px-search button:hover{background:#c33026;border-color:#c33026}
.xc-empty2{background:#fff;border:1px solid #eee;text-align:center;padding:60px 0;color:#999}
.xc-empty2 .big{font-size:18px;color:#333;margin-bottom:10px}
/* 学校详情封面多图：sub.css .reveal img 默认 display:none，.on 为当前展示张 */
.datum-left .reveal img.on{display:block}
.datum-left .reveal img{object-fit:cover}
/* 收藏选中态由原型 sub.css「.collect_da li.fav a.on i」图标位移表达，此处仅加文字色强调 */
.collect_da li.fav a.on{color:#eb3d31}
/* 分享入口（收藏右侧横排，结构与收藏一致：30px 图标 + 11px 文字）。
   类名用 xc-share-entry 而非 xc-share-btn——后者已被新闻详情页分享条占用（float 胶囊按钮），避免撞车 */
.xc-share-wrap{position:relative;margin:2px 0 0 14px}
.xc-share-entry{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#999;font-size:11px;cursor:pointer}
.xc-share-entry i{width:30px;height:30px;display:block;margin:2px auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.6' y1='10.5' x2='15.4' y2='6.5'/%3E%3Cline x1='8.6' y1='13.5' x2='15.4' y2='17.5'/%3E%3C/svg%3E") no-repeat center/16px 16px}
.xc-share-entry:hover{color:#eb3d31}
.xc-share-entry:hover i{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23eb3d31' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.6' y1='10.5' x2='15.4' y2='6.5'/%3E%3Cline x1='8.6' y1='13.5' x2='15.4' y2='17.5'/%3E%3C/svg%3E")}
/* 分享浮层（fixed + 挂 body：datum 容器 overflow:hidden 会裁掉绝对定位面板，JS 打开时挂到 body 并按按钮视口坐标定位） */
.xc-share-pop{display:none;position:fixed;top:0;left:0;z-index:300;width:132px;background:#fff;border:1px solid #e6e6e6;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.12);padding:8px 0;text-align:left}
.xc-share-pop .xc-share-title{margin:0 0 4px;padding:0 12px 6px;font-size:12px;color:#999;border-bottom:1px solid #f2f2f2}
.xc-share-item{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:13px;color:#333;text-decoration:none;cursor:pointer}
/* IE11 不支持 flex gap：图标与文字间用 margin 等价补距 */
.xc-share-item i{margin-right:8px}
.xc-share-item:hover{background:#faf5f4;color:#eb3d31}
.xc-share-item i{width:16px;height:16px;flex:none;background:no-repeat center/contain}
.xc-share-item .s-qzone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f7b32b' d='M12 2a10 10 0 100 20 10 10 0 000-20zm0 3.5v13a6.5 6.5 0 010-13z'/%3E%3C/svg%3E")}
.xc-share-item .s-weibo{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e6162d' d='M9.5 20C5.4 20 2 17.9 2 15.3c0-1.4.9-3 2.5-4.4 2.2-1.9 4.8-2.8 5.8-1.9.4.4.4 1.1.1 1.9-.1.4.4.2.4.2 2.1-.9 4-.7 4.6.4.3.5.3 1.2 0 1.9-.1.3.1.4.3.4 1.2.4 2.5 1.3 2.5 3 0 2.3-3.3 4.2-8.7 4.2zm7.7-11.6c-.3-.1-.5-.2-.4-.5.2-.5.1-1-.3-1.4-.7-.7-1.9-.7-3.4-.2-.4.1-.6-.2-.5-.6.5-1.6.4-2.8-.5-3.4-.8-.5-1.9-.2-3 .8C7.8 3.7 6.6 5.2 6.6 5.2s-.1.2.1.1c1.5-.6 3-.8 3.8-.3.6.4.5 1.2.2 2 0 .3.1.4.3.4 1.9.3 3.4 1.2 3.9 2.3.2.5.2 1 .1 1.5 0 .3.2.4.4.3.9-.4 1.7-.9 2.2-1.5.6-.8.6-1.7-.2-2.4l-.2-.2zM18.7 3c-.4-.1-.6-.3-.5-.6.3-.9.2-1.7-.4-2.2-1-.9-2.8-.6-4.8.5-.5.3-.8 0-.6-.6.8-2 .5-3.5-.6-4.2C11.1-4.6 9.6-4 8.2-2.7c0 0-.2.2-.1.3 1.4-1 2.9-1.3 3.7-.8.6.4.6 1.2.3 2.1-.1.3 0 .4.2.4 2.2.2 4 1.2 4.6 2.7.2.6.2 1.2 0 1.8 0 .3.2.4.4.3 1.2-.3 2.3-.8 3-1.6.8-1 .8-2.2-.6-3z'/%3E%3C/svg%3E")}
.xc-share-item .s-copy{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1'/%3E%3C/svg%3E")}
/* 详情页「其他培训学校」标题区：原型 .boutique-top 定宽 320（右栏专用），左栏复用需跟容器宽，「更多」才能贴右 */
.xc-other-schools .boutique-top{width:100%}
/* 课程详情「同类培训项目推荐」多列：原型 .boutique-content ul li 为右栏整行占位（height:210px、img 320px），
   左栏此处改为双列填满宽、右侧不再留白；右栏未用 .boutique-content（用 .swiper/.boutique-list），故不影响。
   2026-10-24 兼容：grid 改浮动百分比（IE/360 兼容内核不支持 grid 会整列掉行） */
.xc-rel-courses .boutique-top{width:100%}
.area-right .boutique-content.xc-rel-grid ul{display:block;margin:0;padding:0;list-style:none}
.area-right .boutique-content.xc-rel-grid ul li{float:left;width:48.8%;margin:16px 0 0 2.4%;height:auto}
.area-right .boutique-content.xc-rel-grid ul li:nth-child(odd){margin-left:0;clear:left}
.area-right .boutique-content.xc-rel-grid .boutique-img{position:relative;width:100%;height:auto;margin:0;overflow:hidden;border-radius:4px;font-size:0;line-height:0}
.area-right .boutique-content.xc-rel-grid .boutique-img a{display:block}
.area-right .boutique-content.xc-rel-grid .boutique-img img{width:100%;height:150px;object-fit:cover;display:block}
/* 价格悬浮图片右下角：红色徽标 + 白字加粗（原为图下方独立一行，现改为贴图右下角浮层）。
   height:auto 覆盖原型 sub.css 的 .boutique-img{height:180px} 与 .boutique-text{height:55px}（否则容器比图高 30px、价格块被撑到 61px 落到图外）；
   nowrap + 固定行高防换行；容器 font-size:0/line-height:0 消行盒 strut，保证容器=图高、bottom:0 恰好贴图片底边 */
.area-right .boutique-content.xc-rel-grid .boutique-img .boutique-text{position:absolute;right:0;bottom:0;height:auto;margin:0;padding:3px 10px;font-size:13px;line-height:20px;font-weight:700;color:#fff;background:#d43a2f;border-top-left-radius:4px;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.18)}
/* 课程名：图下方白底深色加粗（最多两行），整段可点，hover 变红 */
.area-right .boutique-content.xc-rel-grid .boutique-name{margin:8px 0 0;padding:0;font-size:14px;line-height:1.4;font-weight:600;color:#333;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-all}
.area-right .boutique-content.xc-rel-grid .boutique-name a{color:#333;text-decoration:none}
.area-right .boutique-content.xc-rel-grid .boutique-name a:hover{color:#db4339}
/* 快捷咨询默认态提清晰：原型 #db4339 亮红白字对比度约 3.5:1 偏低，加深底色 + 加粗 + 轻投影。
   hover 态沿用原型 sub.css（透明底 + 橙图标 + 红字），其 background 简写会自然清掉这里的加深色。
   坑：详情页整页被 .inter-link 包裹，原型 `.inter-link p{color:#999}`（0-1-1）会盖过 `.kuaijiebtn`（0-1-0），
   把红底按钮文字染成灰色（默认态看不清的真凶）。故补 `.inter-link .kuaijiebtn`（0-2-0）抢回白字，
   并显式声明 hover 红字——site.css 在 sub.css 之后加载、同特异性会胜出，不写则白字会反盖 hover 红字。 */
.kuaijiebtn,.inter-link .kuaijiebtn{background-color:#c33026;font-weight:600;text-shadow:0 1px 1px rgba(0,0,0,.28);color:#fff}
.kuaijiebtn:hover,.inter-link .kuaijiebtn:hover{color:#e60012;text-shadow:none}
/* 认领机构「进入学校管理后台」入口条（仅认领人登录可见） */
.xc-owner-bar{background:#fff;border:1px solid #eee;padding:10px 12px;margin-bottom:10px;text-align:center}
.xc-owner-btn{display:inline-block;padding:8px 22px;background:#eb3d31;color:#fff;border-radius:3px;text-decoration:none;font-size:13px}
.xc-owner-btn:hover{background:#c33026;color:#fff}
/* 学校详情页「认领此学校」入口（与收藏/分享同行，f-l 行内元素；浮层 fixed 挂 body 不占行内空间） */
.xc-claim-wrap{margin:11px 0 0 14px}
/* 详情页左栏容器宽度修复：原型 .container 定宽 905px（全站容器），而左栏只有 850px，
   不修则 datum/area 容器横向溢出 55px，与右栏重叠并把 flex 行挤变形 */
.school_left .datum .container,.school_left .area .container{width:100%}
/* det-xm 原型定宽 433px 超出 datum-cen 内容区（433-20padding=413），改自适应，qita 两列改百分比 */
.datum-cen .det-xm{width:100%;box-sizing:border-box}
.datum-cen .det-xm .qita li{width:50%;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis}
.xc-claim-btn{display:inline-block;padding:5px 14px;border:1px solid #eb3d31;color:#eb3d31;border-radius:3px;font-size:12px;text-decoration:none;cursor:pointer;background:#fff}
.xc-claim-btn:hover{background:#eb3d31;color:#fff}
.xc-claim-btn.ghost{border-color:#bbb;color:#888}
.xc-claim-btn.ghost:hover{background:#bbb;color:#fff;border-color:#bbb}
/* 未认领学校：电话不直接显示，改为「电话咨询」按钮，点击弹留资对话（js-lead-open）
   设计：红底白字常态；hover 反白（白底红字+红边），文字永远清晰可见、不会因全局 a:hover 被盖色 */
.xc-phone-consult{display:inline-flex;align-items:center;gap:4px;padding:5px 16px;background:#eb3d31;color:#fff!important;border:1px solid #eb3d31;border-radius:4px;font-style:normal;font-weight:600;font-size:13px;line-height:18px;text-decoration:none!important;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.xc-phone-consult:before{content:"";width:13px;height:13px;flex:0 0 auto;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.4c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.2 1l-2.2 2.2z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.4c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.2 1l-2.2 2.2z'/></svg>") center/contain no-repeat}
.xc-phone-consult:hover{background:#fff;color:#eb3d31!important;border-color:#eb3d31;box-shadow:0 2px 8px rgba(235,61,49,.28);transform:translateY(-1px)}
.xc-phone-consult:active{transform:translateY(0)}
/* 已认领学校：真实手机号作为可点击 tel 链接（继承所在 <i>/<b> 颜色） */
.xc-tel{color:inherit;text-decoration:none}
.xc-tel:hover{text-decoration:underline}
/* 认领表单浮层（同分享面板：fixed + JS 挂 body，避开 datum 容器裁剪） */
.xc-claim-box{position:fixed;top:0;left:0;z-index:300;width:300px;background:#fff;border:1px solid #eee;border-radius:4px;padding:12px;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.xc-claim-form input,.xc-claim-form textarea{display:block;width:100%;box-sizing:border-box;margin-bottom:8px;padding:6px 8px;border:1px solid #ddd;border-radius:3px;font-size:12px}
.xc-claim-form button{width:100%;padding:7px 0;background:#eb3d31;color:#fff;border:0;border-radius:3px;font-size:13px;cursor:pointer}
.xc-claim-form button:hover{background:#c33026}
.xc-claim-tip{margin:6px 0 0;font-size:11px;color:#999;line-height:1.6}
/* ========== 认领机构管理页（/user/school/:id）与用户中心补充 ========== */
.xc-us-alert{padding:10px 14px;border-radius:4px;margin-bottom:14px;font-size:13px}
.xc-us-alert.ok{background:#f0f9eb;border:1px solid #d5ecc7;color:#5a8a3c}
.xc-us-alert.err{background:#fef0f0;border:1px solid #fde2e2;color:#c04040}
/* 2026-10-24 v16 兼容：grid 改浮动双列（IE/360 兼容内核忽略 grid 会整列堆叠）；
   li/label 无 padding，但统一 box-sizing + 48.6% 余量防取整溢出 */
.xc-us-form .xc-us-grid{display:block;margin-bottom:12px}
.xc-us-form .xc-us-grid::after{content:'';display:block;clear:both}
.xc-us-form .xc-us-grid > *{float:left;width:48.6%;margin:0 0 12px 2.4%;box-sizing:border-box}
.xc-us-form .xc-us-grid > *:nth-child(odd){margin-left:0;clear:left}
.xc-us-form label{display:block;font-size:13px;color:#333;font-weight:600}
.xc-us-form label input,.xc-us-form label select,.xc-us-form label textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:7px 9px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-weight:400;color:#333}
.xc-us-form label input:focus,.xc-us-form label textarea:focus,.xc-us-form label select:focus{border-color:#eb3d31;outline:none}
.xc-us-block{display:block;font-size:13px;color:#333;font-weight:600;margin-bottom:12px}
.xc-us-block textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:7px 9px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-weight:400}
.xc-us-imgfield .xc-us-flabel{display:block;font-size:13px;color:#333;font-weight:600;margin-bottom:5px}
.xc-us-imgfield .xc-us-preview{width:180px;height:110px;object-fit:cover;border:1px solid #e7eaef;border-radius:6px;background:#f9fafb}
.xc-us-imgfield .xc-us-imgops{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}
.xc-us-imgfield .xc-us-imgops input[type=text]{flex:1;min-width:160px;height:32px;padding:0 8px;border:1px solid #ddd;border-radius:4px;font-size:12px;margin-right:8px}
.xc-us-imgfield textarea{width:100%;box-sizing:border-box;padding:7px 9px;border:1px solid #ddd;border-radius:4px;font-size:12px;line-height:1.7}
.xc-us-imgpreview{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
/* IE11 不支持 flex gap：图片间用 margin 等价补距 */
.xc-us-imgpreview img{width:96px;height:64px;object-fit:cover;border:1px solid #e7eaef;border-radius:4px;background:#f9fafb;margin:0 8px 8px 0}
.xc-us-actions{display:flex;gap:10px;align-items:center;margin-top:6px}
/* IE11 不支持 flex gap */
.xc-us-actions > *{margin-right:10px}
.xc-us-actions .btn{height:36px;line-height:34px;padding:0 18px;border-radius:6px;border:1px solid #d0d5dd;background:#fff;color:#344054;font-size:13px;cursor:pointer;text-decoration:none;display:inline-block}
.xc-us-actions .btn.primary{background:#eb3d31;border-color:#eb3d31;color:#fff}
.xc-us-actions .btn.primary:hover{background:#c33026}
.xc-us-tip{font-size:12px;color:#999;line-height:1.7;margin:8px 0 0}
.xc-us-del{border:1px solid #f0c0c0;background:#fff;color:#c04040;border-radius:4px;padding:3px 10px;font-size:12px;cursor:pointer}
.xc-us-del:hover{background:#fef0f0}
.xc-us-linkbtn{display:inline-block;padding:4px 12px;background:#eb3d31;color:#fff;border-radius:4px;font-size:12px;text-decoration:none}
.xc-us-linkbtn:hover{background:#c33026;color:#fff}
@media (max-width: 768px) {
  .xc-us-form .xc-us-grid > *{float:none;width:100%;margin-left:0}
  .xc-claim-box{width:100%}
}
/* ========== 学校详情页：学校介绍 / 其他培训学校（2026-10-23） ========== */
/* 学校介绍标签页：标题红线点缀 + 正文两端对齐（原内联样式提类） */
.xc-school-intro{padding:18px 22px}
.xc-school-intro .xc-intro-title{margin:0 0 12px;font-size:17px;font-weight:600;color:#333;padding-left:10px;border-left:4px solid #eb3d31;line-height:1.4}
.xc-school-intro .xc-intro-body{font-size:14px;line-height:28px;color:#333;text-align:justify}
.xc-school-intro .xc-intro-body p{margin:0 0 10px;text-indent:2em}
.xc-school-intro .xc-intro-body p:last-child{margin-bottom:0}
/* 其他培训学校：原型卡定宽 848px，本栏仅 ~790px → 自适应 + 清浮动 + 按钮缩放，并与边框留间隙 */
.xc-other-schools .mainsrp_content{margin-top:14px}
.xc-other-schools .mainsrp_ul{width:100%}
.xc-other-schools .mainsrp_li{width:100%;box-sizing:border-box;height:auto;min-height:0;margin-bottom:12px;border:1px solid #e6e6e6;border-radius:4px;overflow:hidden}
.xc-other-schools .mainsrp_li:last-child{margin-bottom:0}
.xc-other-schools .mainsrp-box{width:100%;height:auto;padding:12px;box-sizing:border-box;overflow:hidden;background:#fff}
.xc-other-schools .mainsrp-box > ul{display:flex;align-items:flex-start;margin:0;padding:0}
.xc-other-schools .mainsrp-box > ul > a.mainsrp-li-a{display:flex;flex:1;min-width:0;text-decoration:none;color:inherit}
.xc-other-schools .mainsrp-box > ul > a.mainsrp-li-a > li{float:none}
.xc-other-schools .mainsrp-img{width:170px;height:118px;flex:none}
.xc-other-schools .mainsrp-img img{width:170px;height:118px}
.xc-other-schools .mainsrp-content{flex:1;min-width:0;padding:2px 0 0 14px}
.xc-other-schools .mainsrp-like{width:150px;margin-left:16px;margin-top:6px;flex:none}
.xc-other-schools .kuaijiebtn{width:128px;height:34px;line-height:32px;padding-left:24px;font-size:14px;background-position:35px 9px}
.xc-other-schools .zixunnumber{font-size:13px;margin-top:8px}
.xc-other-schools .knowzixun{font-size:13px}
@media (max-width: 768px) {
  .xc-other-schools .mainsrp-box > ul{flex-wrap:wrap}
  .xc-other-schools .mainsrp-like{width:100%;margin-left:0;display:flex;gap:10px;align-items:center;justify-content:space-between}
  .xc-other-schools .kuaijiebtn{margin:0}
}
.boutique-list{padding:10px 12px;background:#fff;border:1px solid #eee}
.boutique-list dl{display:flex;margin-bottom:10px}
.boutique-list dl:last-child{margin-bottom:0}
.boutique-list dt{width:96px;height:64px;flex:none;overflow:hidden;margin-right:10px}
.boutique-list dt img{width:100%;height:100%;object-fit:cover}
.boutique-list dd{flex:1;font-size:13px;line-height:20px;color:#555;display:flex;flex-direction:column;min-width:0}
.boutique-list dd a{color:#555;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.boutique-list dd a:hover{color:#eb3d31}
/* 2026-10-23 菜谱推荐：图片右侧标题下方补两行简介，填充原来的空白（无 summary 时不渲染） */
.boutique-list dd .xc-recipe-desc{margin:2px 0 0;font-size:12px;line-height:18px;color:#999;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-all}
.boutique-img{position:relative}
.boutique-img img{width:100%;height:96px;object-fit:cover;display:block}
.boutique-img .boutique-name{position:absolute;left:0;right:0;bottom:0;margin:0;padding:0 6px;height:26px;line-height:26px;font-size:12px;color:#fff;background:rgba(0,0,0,.5);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.boutique-text{font-size:13px;color:#db4339;padding:6px 0}
/* 右栏「精品项目 / 菜谱推荐」记录数（全局在架课程 / 菜谱总数） */
.school_right .boutique .boutique-list-p1 .boutique-cnt { font-size: 13px; font-weight: normal; color: #999; margin-left: 10px; }

/* 新闻列表：去掉原型固定 2700px 右栏高度，消除横幅上方大段空白 */
.news-school .school_right { height: auto; }

/* 新闻列表右栏「精品项目」无缝向上滚动（Swiper 垂直，对标城市分站首页热门专业） */
.news-boutique-swp { width: 100%; height: 300px; overflow: hidden; }
.news-boutique-swp .swiper-wrapper { display: flex; flex-direction: column; }
.news-boutique-swp .swiper-slide { height: 150px; flex-shrink: 0; }
.news-boutique-swp .boutique-item { height: 150px; box-sizing: border-box; padding: 8px 10px 0; }
.news-boutique-swp .boutique-img { height: 108px; overflow: hidden; line-height: 0; }
.news-boutique-swp .boutique-img a { display: block; }
.news-boutique-swp .boutique-img img { display: block; width: 100%; height: 108px; object-fit: cover; }
.news-boutique-swp .boutique-text { height: 34px; box-sizing: border-box; padding: 8px 0 0; line-height: 26px; }
.news-boutique-swp .boutique-text-p1 { margin: 0; height: 26px; line-height: 26px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.news-boutique-swp .boutique-text-p1 a { color: #db4339; text-decoration: none; font-size: 13px; }
.news-boutique-swp .boutique-text-p1 a:hover { color: #e4393c; }
.point-form input,.point-form select{display:block;width:100%;box-sizing:border-box;height:34px;line-height:34px;border:1px solid #e0e0e0;border-radius:3px;margin-bottom:10px;padding:0 8px;font-size:13px}
.point-form button{display:block;width:100%;height:38px;border:0;background:#eb3d31;color:#fff;border-radius:3px;font-size:15px;cursor:pointer}
.point-desc{padding:6px 0 10px;font-size:13px;color:#666;text-align:center}
.point-title{font-size:22px;font-weight:bold;color:#fff;text-align:center;position:absolute;top:16px;left:0;right:0;text-shadow:0 1px 2px rgba(0,0,0,.15)}

/* ---------- 新闻列表补充 ---------- */
.xc-news-meta { color: #999; margin-right: 16px; }
.xc-news-views { color: #bbb; }
.list726_ul li p { margin: 0; }
/* 2026-10-23：原 .boutique-list-p1 与侧栏标题类重名（sub.css 的 18px 浮动标题），
   曾把标题 <p> 撑高 20px 溢出 .boutique-top 的 50px 框、压乱下方列表第一条。
   列表容器改用独立类名 .xc-side-news，标题恢复 50px 不再溢出。 */
.xc-side-news { padding: 10px 14px; }
.xc-side-news ul { list-style: none; margin: 0; padding: 0; }
.xc-side-news li { border-bottom: 1px dashed #eee; padding: 8px 0; }
.xc-side-news li:last-child { border-bottom: 0; }
.xc-side-news li a { color: #333; font-size: 13px; line-height: 1.6; text-decoration: none; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xc-side-news li a:hover { color: #e4393c; }
/* 版块标题双 <p> 是浮动元素：border-box 保证将来加 padding 也不会撑破 50px 高度溢出到内容区 */
.boutique-top p { box-sizing: border-box; }

/* ---------- 详情页补充 ---------- */
/* 2026-10-24 v16 兼容：flex+gap 改浮动（IE11 不支持 flex gap 会贴死；float+margin 全引擎一致） */
.xc-course-grid { list-style: none; margin: 0; padding: 0; display: block; }
.xc-course-grid::after { content: ''; display: block; clear: both; }
.xc-course-grid li { float: left; width: 176px; margin: 0 14px 14px 0; }
.xc-course-grid li a { text-decoration: none; display: block; }
.xc-course-grid img { width: 176px; height: 118px; object-fit: cover; display: block; border-radius: 4px; }
.xc-course-grid .t { color: #333; font-size: 13px; margin: 6px 0 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xc-course-grid .p { color: #e4393c; font-size: 14px; font-weight: 700; margin: 0; }
.xc-contact-list { list-style: none; margin: 0; padding: 10px 4px; }
.xc-contact-list li { line-height: 32px; color: #666; font-size: 14px; border-bottom: 1px dashed #eee; }
.xc-contact-list li:last-child { border-bottom: 0; }
.xc-contact-list b { color: #333; font-weight: normal; }

/* 2026-10-24 课程详情内容区美化：tab 导航、正文排版、信息栏卡片化 */
.school_left #state .state-nav ul { display: flex; border-bottom: 2px solid #f0f0f0; height: 48px; margin-bottom: 0; }
.school_left #state .state-nav ul li { width: auto; flex: 0 0 auto; padding: 0 22px; margin-bottom: 0; height: 46px; line-height: 46px; border-bottom: 2px solid transparent; margin-bottom: -2px; }
.school_left #state .state-nav ul li a { font-size: 16px; color: #666; transition: color .15s; }
.school_left #state .state-nav ul li:hover a { color: #eb3d31; }
.school_left #state .state-nav ul .active { border-bottom-color: #eb3d31; }
.school_left #state .state-nav ul .active a { color: #eb3d31; font-weight: 700; }
.school_left #state .state-tab { padding: 16px 4px 4px; font-size: 14px; line-height: 28px; color: #444; }
.school_left #state .state-tab p { margin: 0 0 12px; text-indent: 2em; text-align: justify; }
.school_left #state .state-tab p:last-child { margin-bottom: 0; }
.school_left #state .state-tab b { color: #eb3d31; }
/* 资料区信息列表：两列、标签弱化、数值突出，行底细分隔 */
.school_left .det-xm .qita { margin: 4px 0 0; }
.school_left .det-xm .qita li { line-height: 34px; border-bottom: 1px dashed #f0f0f0; color: #999; }
.school_left .det-xm .qita li span { color: #333; font-weight: 600; }
.school_left .det-xm .qita li i { color: #e4393c; font-style: normal; }
.school_left .det-xm .qita li:nth-child(2n+1) { padding-right: 24px; }
.school_left .det-xm .qita li:nth-child(2n) { padding-left: 24px; border-left: 1px dashed #f0f0f0; }
.xc-recipe-cover { text-align: center; margin: 14px 0; }
.xc-recipe-cover img { max-width: 560px; width: 100%; border-radius: 6px; }
.xc-recipe-summary { background: #faf7f2; border: 1px solid #f0e6d8; border-radius: 4px; padding: 10px 14px; color: #666; line-height: 26px; }
.xc-recipe-h { font-size: 18px; color: #333; margin: 22px 0 10px; padding-left: 10px; border-left: 4px solid #e4393c; }
/* 2026-10-24 所需食材分组行（主料/辅料/调料）：原 33.33% 窄列致「调料」长内容折行拥挤，
   改为整行「标签徽章 + 内容」，长内容单行放得下、折行也对齐整齐 */
.xc-recipe-ings { list-style: none; padding: 6px 16px; margin: 0; display: block; background: #faf7f2; border: 1px solid #f0e6d8; border-radius: 4px; }
.xc-recipe-ings li { display: flex; align-items: flex-start; line-height: 30px; color: #555; font-size: 14px; border-bottom: 1px dashed #eadfd0; }
.xc-recipe-ings li:last-child { border-bottom: none; }
.xc-ing-tag { flex: none; min-width: 40px; text-align: center; margin: 6px 12px 0 0; padding: 0 6px; line-height: 18px; font-style: normal; font-size: 12px; color: #fff; background: #e4393c; border-radius: 3px; }
.xc-ing-txt { flex: 1; min-width: 0; padding-bottom: 2px; }
.xc-recipe-steps { padding-left: 0; margin: 0; list-style: none; }
.xc-recipe-steps li { line-height: 28px; color: #444; font-size: 14px; margin-bottom: 12px; }
.xc-recipe-steps li b { display: inline-block; background: #e4393c; color: #fff; font-size: 12px; padding: 1px 8px; border-radius: 10px; margin-right: 8px; }
.xc-recipe-tips { background: #fffaf0; border: 1px dashed #f0d8a8; border-radius: 4px; padding: 10px 14px; color: #8a6d3b; line-height: 26px; }

/* 2026-10-24 相关菜谱推荐：标题统一为 .boutique-top（与其他栏目一致），列表由原型整行占位（li 210px/img 320px）
   改一行 3 列网格；标题移到图下方（图面黑条白字在 248px 小图上可读性差，与课程详情同类推荐版式统一）。
   注意原型 .boutique-img/.boutique-name/.boutique-content ul li 的固定宽高与绝对定位，须在作用域内逐属性覆盖 */
.xc-rel-recipes .boutique-top { width: 100%; }
.xc-rel-recipes .boutique-content ul { display: block; margin: 0; padding: 0; list-style: none; }
.xc-rel-recipes .boutique-content ul li { float: left; width: 32%; margin: 18px 0 0 2%; height: auto; padding: 0; cursor: default; }
.xc-rel-recipes .boutique-content ul li:nth-child(3n+1) { margin-left: 0; clear: left; }
.xc-rel-recipes .boutique-img { position: relative; width: 100%; height: auto; margin: 0; overflow: hidden; border-radius: 4px; font-size: 0; line-height: 0; }
.xc-rel-recipes .boutique-img a { display: block; }
.xc-rel-recipes .boutique-img img { width: 100%; height: 150px; object-fit: cover; display: block; transition: all .8s; }
.xc-rel-recipes .boutique-img img:hover { opacity: .7; transform: scale(1.1); }
.xc-rel-recipes .boutique-name { position: static; margin: 8px 0 0; padding: 0; height: auto; background: none; font-size: 14px; line-height: 1.4; font-weight: 600; color: #333; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; word-break: break-all; white-space: normal; }
.xc-rel-recipes .boutique-name a { color: #333; text-decoration: none; }
.xc-rel-recipes .boutique-name a:hover { color: #db4339; }
.xc-rel-recipes .xc-rel-meta { margin: 4px 0 0; font-size: 12px; line-height: 18px; color: #999; }
@media (max-width: 768px) {
  .xc-rel-recipes .boutique-content ul li { width: 48.8%; margin-left: 2.4%; }
  .xc-rel-recipes .boutique-content ul li:nth-child(3n+1) { margin-left: 2.4%; clear: none; }
  .xc-rel-recipes .boutique-content ul li:nth-child(odd) { margin-left: 0; clear: left; }
  .xc-rel-recipes .boutique-img img { height: 110px; }
}

/* 2026-10-24 菜谱列表右栏「最新新闻」（原「热门菜谱」位置改为新闻列表；菜谱详情右栏同款复用） */
.xc-side-news { padding: 10px 12px; background: #fff; border: 1px solid #eee; }
.xc-side-news ul { list-style: none; margin: 0; padding: 0; }
.xc-side-news li { display: flex; align-items: center; line-height: 34px; font-size: 13px; border-bottom: 1px dotted #f0f0f0; }
.xc-side-news li:last-child { border-bottom: none; }
.xc-side-news li i { flex: none; width: 16px; height: 16px; line-height: 16px; text-align: center; font-style: normal; font-size: 11px; color: #fff; background: #bbb; border-radius: 2px; margin-right: 8px; }
.xc-side-news li i.hot { background: #db4339; }
.xc-side-news li a { flex: 1; min-width: 0; color: #555; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xc-side-news li a:hover { color: #eb3d31; }
.xc-side-news li span { flex: none; margin-left: 8px; font-size: 12px; color: #999; }

/* 2026-10-24 列表/楼层图片统一 cover 裁切：封面源图比例不一（1.18~1.82），原型固定宽高且无 object-fit
   （默认 fill）会把食物图拉伸变形——菜谱列表/课程列表(含学校列表)/全国+城市首页楼层/首页加盟模块/推荐项目 */
.case-lists ul li h4 img { object-fit: cover; }
.mainsrp-img img { object-fit: cover; }
.list_2 .clr_img img { object-fit: cover; }
#pxkw_info .pxkw_wrap img { object-fit: cover; }
.einli2 li img { object-fit: cover; }
.recommend-img img { object-fit: cover; }

/* 2026-10-24 菜谱列表两按钮改一行：文字列仅 150px 放不下 112+90（「查看做法」被挤到第二行、内容溢出卡片 19px）；
   按钮容器左移 40px 借图片右侧空间、flex 定宽 202px 恰好并排（210~412px，卡片内容右缘 413px 内） */
.case-lists ul li div .x-sworks-item-list-mk-btn { display: flex; width: 202px; margin-left: -40px; }
.case-lists ul li div .x-sworks-item-list-mk-btn a { float: none; flex: none; }
.case-lists ul li div .x-sworks-item-list-mk-btn a.x-sworks-item-list-mk-btn-left { margin-left: 0; }

/* 2026-10-24 课程/学校列表卡片间距：原型 border-top:none 共享边框、0 间距糊成一片；
   改独立卡片 + 12px 间距，列表层次更清晰 */
.mainsrp_li { border: 1px solid #e6e6e6; margin-bottom: 12px; }

/* 2026-10-24 跨浏览器兼容（360 兼容内核/IE）：
   ① 原型 .school_school 用 flex + gap:30px，IE11 等不支持 flex gap 会致左右栏贴死——
   改 margin-right 实现同款间距（全引擎一致）；grid 布局全部改为浮动百分比（见下方各列表规则），
   老内核忽略 grid 声明会整列掉行成「一行一条」；
   ② head.ejs 的 X-UA-Compatible 已加 chrome=1，360 浏览器会优先走极速内核 */
.school_school { gap: 0; }
.school_left { margin-right: 30px; }

/* 2026-10-24 列表双列兼容方案（360/IE 兼容内核不支持 CSS grid，grid 会被忽略致整列掉行成「一行一条」）：
   菜谱列表 + 餐饮加盟列表统一改**浮动百分比双列**（IE6+ 全引擎支持），卡片随容器伸缩；
   ≥1240px 桌面观感与原型一致（415px 卡片、图文左右排），1101~1239px 列表宽跟随视口 + 内部弹性，
   ≤1100px 卡片转图上文下结构，任何宽度/内核都稳定一行 2 条。
   ⚠️ 盒模型雷坑：li 自带 border/padding，width 百分比默认 content-box 会算出
   「48.8%+padding/border」实际占 51%+，两列名义 100% 实际 105% → 第二列被挤下去（v16 实测掉行）。
   故必须 box-sizing:border-box，并留 0.4% 余量（48.6%+2.4%=99.6%）防老引擎取整溢出 */
.case-lists ul { width: auto; display: block; margin-left: 0; }
.case-lists ul li { float: left; width: 48.6%; margin: 10px 0 0 2.4%; height: auto; min-height: 191px; box-sizing: border-box; }
.case-lists ul li:nth-child(odd) { margin-left: 0; clear: left; }
/* 视口 <1240px：整页原型固定 1200px 会横向溢出致第二列不可见，列表宽跟随视口（保底 440px） */
@media (max-width: 1239px) {
  .case-lists ul { width: max(calc(100vw - 430px), 440px); }
  .case-lists ul li h4 { width: 165px; }
  .case-lists ul li h4 img { width: 180px; height: 136px; }
  .case-lists ul li div { width: auto; margin-left: 16px; }
  .case-lists ul li div p { width: auto; }
  .case-lists ul li div .x-sworks-item-list-mk-btn { width: auto; margin-left: 0; flex-wrap: wrap; row-gap: 6px; }
  /* IE11 不支持 flex row-gap：换行时用 margin-bottom 等价补距 */
  .case-lists ul li div .x-sworks-item-list-mk-btn a { margin-right: 8px; margin-bottom: 6px; }
}
@media (max-width: 1100px) {
  .case-lists ul li h4 { float: none; width: 100%; padding: 12px 12px 0; }
  .case-lists ul li h4 img { width: 100%; height: 130px; }
  .case-lists ul li div { float: none; width: auto; margin: 0; padding: 0 12px 12px; }
  .case-lists ul li div .x-sworks-item-list-mk-btn { width: auto; margin-left: 0; }
}

/* 餐饮加盟列表：原型 ul 固定 870px 刚好并排 2 个 435px 卡片（393+10*2+1*2+20），
   引擎差异/缩放/窄窗都会让第二列掉行；改浮动百分比双列 + 同样的响应式断点。
   盒模型同上：li 有 padding:10px + border，必须 box-sizing:border-box + 48.6% 余量 */
.xm-main { float: none; width: auto; }
.xm-list { width: auto; margin-left: 0; }
.xm-list li { float: left; width: 48.6%; margin: 20px 0 0 2.4%; height: auto; min-height: 180px; box-sizing: border-box; }
.xm-list li:nth-child(odd) { margin-left: 0; clear: left; }
@media (max-width: 1239px) {
  .xm-list { width: max(calc(100vw - 430px), 440px); }
  .xm-list .top .r { float: none; width: auto; margin-left: 182px; }
  .xm-list .bot span { width: auto; float: none; }
}
@media (max-width: 1100px) {
  .xm-list .top { height: auto; padding-bottom: 10px; }
  .xm-list .top img { float: none; width: 100%; height: 130px; margin: 0 0 8px; }
  .xm-list .top .r { float: none; width: auto; margin-left: 0; }
}
.xc-news-tags { margin-top: 20px; }
.mt10 { margin-top: 10px !important; }
/* datum 主图默认隐藏的覆盖：首图显示 */
.reveal img.on { display: block !important; }

/* ---------- 新闻详情留资表单（对齐原型 jm_news_article.htm：背景横幅 + 黄字大标题 + 三横排输入 + 黄色按钮） ---------- */
.details-form.pcdetail-form { width: 100%; height: 200px; padding: 0; background: #a5a5a5; border: 0; border-radius: 0; overflow: visible; position: relative; }
.details-form.pcdetail-form .form-box { width: 100%; height: 100%; padding: 0; border: 0; background: #a5a5a5; }
.details-form.pcdetail-form .form-header { width: 100%; height: 100%; padding: 0; border: 0; background: #a5a5a5; position: relative; overflow: hidden; }
.details-form.pcdetail-form .form-header img { display: block; width: 100%; height: 200px; position: absolute; left: 0; bottom: 0; opacity: 1; object-fit: cover; }
/* 背景图为浅灰抽象底图，加一层左深右浅的渐变遮罩保证黄/白文字可读 */
.details-form.pcdetail-form .form-header-mask { position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .58) 0%, rgba(0, 0, 0, .42) 55%, rgba(0, 0, 0, .10) 100%); }
.details-form.pcdetail-form .form-position { position: absolute; left: 0; }
.details-form.pcdetail-form .form-position.pH2 { width: auto; height: 30px; margin: 0 0 0 32px; top: 21px; font-size: 30px; line-height: 30px; text-align: left; color: #ffff00; }
.details-form.pcdetail-form .form-position.pH3 { width: auto; margin: 0 0 0 32px; top: 56px; font-size: 16px; line-height: 22px; text-align: left; color: #fff; }
.details-form.pcdetail-form .detail-forms { position: absolute; bottom: 40px; left: 32px; }
.details-form.pcdetail-form .detail-forms .form-tips { margin: 0 0 2px; font-size: 14px; line-height: 20px; text-align: left; color: #fff; }
.details-form.pcdetail-form .detail-forms .details-group { height: 40px; margin: 10px 60px 0 0; }
.details-form.pcdetail-form .detail-forms .details-group .common-form { width: 100%; min-width: 0; margin: 0; }
.details-form.pcdetail-form .detail-forms .common-input { width: 100%; height: 40px; padding: 0 10px; font-size: 14px; line-height: 40px; color: #333; border: 1px solid #fff; border-radius: 2px; background: #fff; float: none; }
.details-form.pcdetail-form .detail-forms .details-form-button { width: 96px; min-width: 96px; height: 40px; margin: 10px 0 0 60px; display: inline-block; float: left; font-size: 16px; line-height: 40px; text-align: center; color: #fff; border: 0; border-radius: 2px; background: #ffcc00; cursor: pointer; }
.details-form.pcdetail-form .detail-forms .details-form-button:hover { background: #f5c400; }

/* ---------- 注册/找回密码页：清除浮动 + 内容居中收窄 ---------- */
.passbody::after { content: ''; display: block; clear: both; }
#regleft { margin-bottom: 40px; }

/* ---------- 全站头部下拉与城市切换修复 ---------- */
.fn-hide { display: none !important; }
/* #LogoNav 提升到高于首页各楼层（部分楼层 z-index 高达 1000），
   确保「切换城市」悬浮框不被导航栏/banner/楼层遮住 */
#LogoNav { position: relative; z-index: 2000; }
#sNav { position: relative; z-index: 55; }
.topWebs { position: relative; margin-left: 12px; margin-top: 10px; }
.topWebWrap { position: relative; float: left; }
.topWebList { position: static !important; overflow: visible !important; }
.topWebList .webMoredown { z-index: 999 !important; }
.webMoredown ul li a.xc-city-cur { color: #db4339; font-weight: 700; }

/* ---------- 切换城市弹框：热门 + 五个字母标签 + 简称/拼音搜索 ---------- */
.topWebList .webMoredown {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 9999 !important;
  width: 468px; padding: 0;
  max-height: 72vh !important; overflow-x: hidden !important; overflow-y: auto !important;
}
.xc-citypick { font-size: 13px; }
.xc-cp-search { padding: 10px 12px 8px; }
.xc-cp-search input {
  width: 100%; height: 32px; box-sizing: border-box;
  border: 1px solid #e0e0e0; border-radius: 3px; padding: 0 10px;
  font-size: 13px; color: #333; outline: none; background: #fafafa;
}
.xc-cp-search input:focus { border-color: #db4339; background: #fff; }
.xc-cp-tabs { padding: 0 8px; border-bottom: 1px solid #eee; white-space: nowrap; overflow-x: auto; }
.xc-cp-tab {
  display: inline-block; padding: 7px 8px; color: #666; cursor: pointer;
  border-bottom: 2px solid transparent; line-height: 1.2;
}
.xc-cp-tab:hover { color: #db4339; }
.xc-cp-tab.cur { color: #db4339; font-weight: 700; border-bottom-color: #db4339; }
.xc-cp-body { padding: 10px 12px 12px; }
.xc-cp-pane a {
  display: inline-block; min-width: 68px; margin: 0 8px 6px 0; padding: 4px 8px;
  border: 1px solid #f0f0f0; border-radius: 3px; background: #fafafa;
  color: #333; text-decoration: none; line-height: 1.4;
}
.xc-cp-pane a:hover { border-color: #db4339; color: #db4339; background: #fff; }
.xc-cp-pane a .s { display: inline-block; margin-left: 4px; font-size: 11px; color: #999; }
.xc-cp-pane a:hover .s { color: #db4339; }
.xc-cp-pane a.xc-city-cur { border-color: #db4339; color: #db4339; font-weight: 700; background: #fff5f4; }
.xc-cp-pane a.xc-cp-nat { min-width: 0; font-weight: 700; }
.xc-cp-empty { padding: 18px 0; text-align: center; color: #999; }
.xc-cp-foot { padding: 8px 12px; border-top: 1px solid #eee; text-align: right; background: #fafafa; }
.xc-cp-foot a { color: #666; text-decoration: none; font-size: 12px; }
.xc-cp-foot a:hover { color: #db4339; }
.xc-logo { display: flex; align-items: center; text-decoration: none; }
/* IE11 不支持 flex gap：LOGO 图标与文字间用 margin 等价补距 */
.xc-logo .xc-logo-ico { margin-right: 12px; }
.xc-logo-ico { width: 44px; height: 44px; margin-right: 8px; }
.xc-logo-txt b { display: block; font-size: 24px; color: #db4339; line-height: 1.2; letter-spacing: 1px; }
.xc-logo-txt i { display: block; font-style: normal; font-size: 12px; color: #999; letter-spacing: 3px; }

/* ---------- 右侧悬浮（找项目 + TOP，原型 .fixrightbox，定位沿用原型 CSS） ---------- */
.fixrightbox .selectbox a, .fixrightbox .gotop p { text-decoration: none; }
.fixrightbox .gotop:hover { filter: brightness(0.92); }

/* ---------- banner 左右切换箭头（原型 .prevNext 结构；iconfont 字体缺失，用内联 SVG 箭头兜底） ---------- */
.lunBox-big .prev .iconfont, .lunBox-big .next .iconfont {
  display: block; width: 30px; height: 68px; margin: 0 !important;
  font-size: 0 !important; line-height: 0; color: transparent; overflow: hidden;
  background-repeat: no-repeat; background-position: center; background-size: 14px 26px;
}
.lunBox-big .prev .iconfont:before, .lunBox-big .next .iconfont:before { content: none !important; }
.lunBox-big .prev .iconfont {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E");
}
.lunBox-big .next .iconfont {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
}
.lunBox-big .prev, .lunBox-big .next { cursor: pointer; }

/* ---------- 看点·热点版块细节修正 ---------- */
/* 菜谱大全 jbbjDl：dt/dd 均浮动，原型未清除导致条目重叠 */
.lryCont01 .jbbjDl { overflow: hidden; }
.lryCont01 .kj_xl { overflow: hidden; }
.lryCont01 .ylcy_box { overflow: hidden; }
/* 加盟新闻 3 张小图卡右侧标题：单行显示，超出省略号（原型缺 nowrap/ellipsis 导致长标题换两行） */
.lryCont01 .ylcy_box dd span,
.lryCont01 .ylcy_box dd span a,
.lryCont01 .ylcy_box dd span strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- 左侧楼层导航（分站首页 .floor-nav，样式取自原型 main.css） ---------- */
.floor-nav { display: none; height: auto; width: 50px; text-align: center; position: fixed; top: 50%; margin-top: -200px; right: 50%; margin-right: 610px; color: #fff; z-index: 11; }
.floor-nav.show { display: block; }
.floor-nav .scroll-nav { display: inline-block; background-color: rgba(0,0,0,0.4); width: 30px; height: 30px; text-align: center; font-size: 12px; line-height: 16px; padding: 5px 5px 5px 5px; cursor: pointer; border-top: 1px solid #fff; color: #fff; }
.floor-nav .scroll-nav.active { color: #fff; background: #db4339; font-weight: bold; }
.floor-nav .scroll-nav:hover { background: #c81623; }
@media screen and (max-width: 1260px) { .floor-nav { right: auto; left: 4px; margin-right: 0; } }

/* ---------- 头部三区统一：搜索区 / 电话区 绝对定位（全国站=分站=子页 位置一致） ---------- */
#topnav { position: relative; }
.sec-wrap,
.topSearch {
  position: absolute !important; left: 340px !important; top: 26px !important;
  width: 580px !important; margin: 0 !important; float: none !important; overflow: visible !important;
}
/* 子页 tab 行（项目/课程/机构）上浮，与首页 .inner-ull 一致，保证输入框三页同一水平线 */
.topSearch .sea1 { position: absolute; top: -30px; left: 0; width: 580px; height: 24px; }
/* ---------- 搜索框 tab 行三页统一（以培训学校等子页 .sSea11/.sSea12 为基准） ----------
   首页/分站原用 .sec-tab（固定 49px 宽 + margin-top:6px，底部紧贴输入框 0 间隙），
   子页用 .sSea11/.sSea12（auto 宽 + 无 margin，底部距输入框 6px）→ 切换页面时搜索区会跳动。
   此处把首页/分站也统一为子页基准：tab 底部距输入框 6px、宽度自适应。 */
.inner-ull { position: absolute; top: -30px; left: 0; height: 24px; font-size: 12px; }
.inner-ull .sec-tab { width: 49px; margin-top: 0; padding: 0 10px; color: #999; }
.inner-ull .sec-tab-active {
  color: #fff;
  background-image: linear-gradient(to bottom, #ff8b33 0%, #ed2f2e 100%);
}
.search-frame { width: 580px !important; }
/* ---------- 2026-10-24 头部搜索框全站统一（首页=子页同款） ----------
   子页头部改用与首页完全相同的 .sec-wrap>.search-frame>form.search-wrap 结构；
   以下规则复刻首页 index.css/common_qg.css 的表单边框与输入框尺寸（site.css 末加载，
   对首页是同值覆盖无变化，对子页则是把 sub/header.css 的 478px 带边框输入框改为同款）；
   按钮改绝对定位（float 时 504+78=582>580 会掉行），落点与首页一致 left:502px */
.search-frame { height: 38px; }
.search-wrap { width: 500px; height: 34px; border: 2px solid #00a2e9; border-image: linear-gradient(to right, #ff8b33, #ed2f2e) 1 10; }
.search-wrap .inner-inp { font-size: 14px; height: 32px; width: 320px; float: left; margin: 0 0 0 1px; border: none; outline: none; color: #999; box-sizing: border-box; padding: 0 10px; }
.search-frame .inner-sub { position: absolute; left: 502px; top: 0; float: none; }
.topSearch .sea2, .topSearch .sea3 { width: 580px; }
.sec-img {
  position: absolute !important; right: 0 !important; top: 18px !important;
  margin: 0 !important; float: none !important;
}
/* ---------- 2026-10-24 头部三问题修复 ----------
   ① 登录态「我的中心（积分 N）」分行/错乱：.topLogin 固定 111px 使文字换行溢出 35px 顶栏
      （实测文字渲染高 54px）→ 登录态 auto 宽 + 右 padding 给下拉箭头留位；
   ② 右上角下拉「显示不完整」：#LogoNav z-index:2000 会盖住 .lMoredown（z 12），
      下拉第 2 行起被 LOGO 区白底遮住 → 整条 #top 提到 2001，让顶栏下拉浮于 LOGO 区之上 */
#topbar .topLogin-user { width: auto; }
/* 登录态「我的中心（积分 N）」：padding-left 30px 给左侧 16×18 用户图标（left:7px，占 7~23px）留位，防文字遮图标 */
#topbar .topLogin-user > a.lMore { width: auto; min-width: 111px; padding: 0 26px 0 30px; background-position: calc(100% - 12px) 15px; }
#top { position: relative; z-index: 2001; }
/* 切换城市下拉：不超出视口，超出时可滚动（列表 36 城，原 overflow:hidden 会裁切） */
.webMoredown { max-height: 62vh; overflow-x: hidden; overflow-y: auto; }
.sNavRight .nav li a { position: relative; }
/* HOT/NEW 角标：完全落在 #sNav 内（#sNav z-index 低于 #LogoNav，
   向上溢出会被 LOGO 区盖住），故取消上下浮动动画并下移到导航条内 */
.sNavRight .nav-hot, .sNavRight .nav-new {
  position: absolute; top: 6px; right: -24px; margin: 0 !important; vertical-align: top;
  animation: none !important;
}

/* ---------- 全国城市分站页 /city ---------- */
.xc-city-hero { background: linear-gradient(135deg, #db4339 0%, #ff8b33 100%); color: #fff; padding: 42px 0 38px; }
.xc-city-hero h1 { font-size: 34px; margin: 0 0 10px; letter-spacing: 2px; }
.xc-city-hero p { font-size: 14px; opacity: .92; margin: 0; }
.xc-city-page { padding: 18px 0 40px; }
.xc-city-crumb { font-size: 12px; color: #999; padding: 8px 0 14px; }
.xc-city-crumb a { color: #666; }
.xc-city-crumb a:hover { color: #db4339; }
.xc-city-sec { margin-bottom: 34px; }
.xc-city-hd { border-bottom: 2px solid #db4339; padding-bottom: 8px; margin-bottom: 16px; position: relative; }
.xc-city-hd h2 { display: inline-block; font-size: 20px; color: #333; margin: 0; }
.xc-city-hd h2::before { content: ''; display: inline-block; width: 4px; height: 18px; background: #db4339; margin-right: 8px; vertical-align: -2px; }
.xc-city-hd-sub { font-size: 12px; color: #bbb; margin-left: 10px; letter-spacing: 1px; }
.xc-city-anchor { position: absolute; right: 0; bottom: 8px; }
.xc-city-anchor a { display: inline-block; min-width: 22px; text-align: center; font-size: 12px; color: #666; margin-left: 4px; padding: 2px 4px; border: 1px solid #eee; border-radius: 2px; background: #fafafa; }
.xc-city-anchor a:hover { color: #fff; background: #db4339; border-color: #db4339; }
/* 2026-10-24 v16 兼容：grid 改浮动 4 列（IE/360 兼容内核忽略 grid 会整列堆叠）；
   卡片有 padding+border，box-sizing:border-box；23.5%+1.8%×3=99.4% 留取整余量 */
.xc-city-grid { display: block; }
.xc-city-grid::after { content: ''; display: block; clear: both; }
.xc-city-grid > .xc-city-card { float: left; width: 23.5%; margin: 0 1.8% 14px 0; box-sizing: border-box; }
.xc-city-grid > .xc-city-card:nth-child(4n) { margin-right: 0; }
.xc-city-card {
  display: block; border: 1px solid #eee; border-radius: 6px; padding: 14px 16px;
  text-decoration: none; color: #333; background: #fff; transition: border-color .15s, box-shadow .15s;
}
.xc-city-card:hover { border-color: #db4339; box-shadow: 0 4px 14px rgba(219, 67, 57, .1); }
.xc-city-card .nm { font-size: 18px; font-weight: 700; }
.xc-city-card .st { display: inline-block; font-size: 11px; color: #999; border: 1px solid #eee; border-radius: 2px; padding: 0 4px; margin-left: 6px; vertical-align: 2px; }
.xc-city-card .pv { display: block; font-size: 12px; color: #999; margin-top: 4px; }
.xc-city-card .go { display: block; font-size: 12px; color: #db4339; margin-top: 8px; }
.xc-city-card.on { border-color: #db4339; background: #fff7f6; }
.xc-city-card.on .nm { color: #db4339; }
.xc-letter-row { display: flex; border-bottom: 1px dashed #eee; padding: 12px 0; }
.xc-letter-badge {
  flex: 0 0 44px; height: 44px; line-height: 44px; text-align: center;
  background: #f5f5f5; border-radius: 6px; font-size: 20px; font-weight: 700; color: #db4339; margin-right: 16px;
}
.xc-letter-cities { flex: 1; }
.xc-city-chip {
  display: inline-block; min-width: 92px; margin: 0 10px 8px 0; padding: 6px 10px;
  border: 1px solid #f0f0f0; border-radius: 4px; background: #fafafa;
  font-size: 14px; color: #333; text-decoration: none;
}
.xc-city-chip i { font-style: normal; font-size: 11px; color: #999; margin-left: 5px; }
.xc-city-chip:hover { border-color: #db4339; color: #db4339; background: #fff; }
.xc-city-chip:hover i { color: #db4339; }
.xc-city-chip.on { border-color: #db4339; color: #db4339; font-weight: 700; background: #fff5f4; }
@media screen and (max-width: 1260px) {
  /* v16：3 列断点同步改浮动（31.8%+2%×2=99.4%），并复位 4n 右边距 */
  .xc-city-grid > .xc-city-card { width: 31.8%; margin: 0 2% 14px 0; }
  .xc-city-grid > .xc-city-card:nth-child(4n) { margin-right: 2%; }
  .xc-city-grid > .xc-city-card:nth-child(3n) { margin-right: 0; }
}

/* ---------- 积分置顶推广卡（学校/课程/品牌详情页右栏） ---------- */
.xc-promo-card {
  background: #fff; border: 1px solid #eee; border-radius: 8px;
  padding: 16px 18px 18px; margin-bottom: 20px;
}
.xc-promo-title {
  font-size: 17px; font-weight: 700; color: #221815;
  display: flex; align-items: center; margin-bottom: 12px;
}
.xc-promo-title em { font-style: normal; font-size: 12px; color: #999; font-weight: 400; margin-left: 4px; }
.xc-promo-dot { width: 8px; height: 8px; border-radius: 50%; background: #db4339; margin-right: 8px; }
.xc-promo-status {
  font-size: 13px; color: #666; background: #fafafa; border-radius: 6px;
  padding: 9px 12px; margin-bottom: 10px; line-height: 1.6;
}
.xc-promo-status b { color: #221815; }
.xc-promo-status.on { background: #fff5f4; }
.xc-promo-status.on b { color: #db4339; }
.xc-promo-price {
  font-size: 20px; font-weight: 700; color: #db4339; margin-bottom: 12px;
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px;
}
/* IE11 不支持 flex gap */
.xc-promo-price > * { margin-right: 8px; }
.xc-promo-price span { font-size: 12px; font-weight: 400; color: #999; }
.xc-promo-price.off { font-size: 13px; color: #999; font-weight: 400; }
.xc-promo-row { display: flex; align-items: center; margin-bottom: 10px; }
.xc-promo-label { font-size: 13px; color: #666; width: 64px; flex: 0 0 64px; }
.xc-promo-qty {
  width: 76px; height: 34px; border: 1px solid #ddd; border-radius: 4px;
  padding: 0 8px; font-size: 14px; text-align: center; margin-right: 8px;
}
.xc-promo-qty:focus { border-color: #db4339; outline: none; }
.xc-promo-unit { font-size: 13px; color: #333; }
.xc-promo-total { font-size: 18px; color: #db4339; margin-right: 8px; }
.xc-promo-balance { font-size: 12px; color: #999; }
.xc-promo-balance b { color: #333; }
.xc-promo-btn {
  display: block; width: 100%; height: 40px; border: none; border-radius: 4px;
  background: linear-gradient(90deg, #e5420f, #db4339); color: #fff;
  font-size: 15px; font-weight: 700; cursor: pointer; text-align: center; line-height: 40px;
}
.xc-promo-btn:hover { opacity: 0.92; }
.xc-promo-btn:disabled { background: #bbb; cursor: default; }
.xc-promo-btn.ghost { background: #fff; color: #db4339; border: 1px solid #db4339; }
.xc-promo-msg { font-size: 12px; color: #999; margin-top: 8px; min-height: 18px; line-height: 1.5; }
.xc-promo-msg.ok { color: #2e9e4f; }
.xc-promo-msg.err { color: #e5420f; }
.xc-promo-link { display: inline-block; font-size: 12px; color: #999; margin-top: 6px; text-decoration: none; }
.xc-promo-link:hover { color: #db4339; }

/* ---------- 用户中心 ---------- */
.xc-uc-banner { background: linear-gradient(120deg, #2b1b16 0%, #5a2a20 55%, #7e3a2a 100%) !important; height: 160px; }
.xc-uc-cards { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
/* IE11 不支持 flex gap：卡片间用 margin 等价补距 */
.xc-uc-cards > * { margin: 0 16px 16px 0; }
.xc-uc-card {
  flex: 1 1 220px; background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 16px 18px;
}
.xc-uc-card-label { font-size: 13px; color: #999; margin-bottom: 6px; }
.xc-uc-card-value { font-size: 30px; font-weight: 700; color: #db4339; line-height: 1.2; }
.xc-uc-card-value.sm { font-size: 16px; color: #221815; line-height: 1.7; }
.xc-uc-card-tip { font-size: 12px; color: #999; margin-top: 8px; line-height: 1.6; }
.xc-uc-sec { background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 16px 18px; margin-bottom: 20px; }
.xc-uc-sec h5 { font-size: 16px; font-weight: 700; color: #221815; margin: 0 0 14px; padding-left: 9px; border-left: 3px solid #db4339; }
.xc-uc-table-wrap { overflow-x: auto; }
.xc-uc-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.xc-uc-table th {
  background: #fafafa; color: #666; font-weight: 400; text-align: left;
  padding: 9px 10px; border-bottom: 1px solid #eee; white-space: nowrap;
}
.xc-uc-table td { padding: 10px; border-bottom: 1px solid #f5f5f5; color: #333; white-space: nowrap; }
.xc-uc-table tr:hover td { background: #fffaf9; }
.xc-uc-table .nm { max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.xc-uc-table .nm a { color: #333; text-decoration: none; }
.xc-uc-table .nm a:hover { color: #db4339; }
.xc-uc-table .pts { color: #e5420f; font-weight: 700; }
.xc-uc-table .pts.plus { color: #2e9e4f; }
.xc-uc-table .rmk { max-width: 320px; overflow: hidden; text-overflow: ellipsis; color: #666; }
.xc-uc-tag { display: inline-block; padding: 2px 10px; border-radius: 10px; background: #f0f0f0; color: #999; font-size: 12px; }
.xc-uc-tag.on { background: #fff0ee; color: #db4339; }
.xc-form-row label { display: block; font-size: 13px; color: #666; margin-bottom: 5px; }
.xc-us-btn { display: inline-block; padding: 8px 18px; border: 1px solid #dddee3; background: #fff; color: #333; border-radius: 4px; cursor: pointer; font-size: 14px; margin-right: 8px; }
.xc-us-btn:hover { border-color: #db4339; color: #db4339; }
.xc-us-btn-primary { background: #db4339; border-color: #db4339; color: #fff; }
.xc-us-btn-primary:hover { background: #c33026; border-color: #c33026; color: #fff; }
.xc-us-linkbtn.xc-del { background: #999; }
.xc-us-linkbtn.xc-del:hover { background: #777; }
.xc-uc-empty { color: #999; font-size: 13px; padding: 12px 0; line-height: 1.7; }
.xc-us-tip { color: #999; font-size: 12px; margin-top: 8px; line-height: 1.7; }
.xc-lead-masked { color: #c00; font-weight: 600; letter-spacing: 1px; }
.xc-bind-search { display: flex; gap: 10px; align-items: center; margin-bottom: 14px; }
.xc-bind-search input { flex: 1; height: 38px; padding: 0 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; }
.xc-bind-results { list-style: none; margin: 0; padding: 0; }
.xc-bind-results li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f2f2f2; }
.xc-bind-results .xb-name { font-weight: 600; color: #333; flex: 1; }
.xc-bind-results .xb-tag { font-size: 12px; color: #2e9e4f; }
.xc-bind-results .xb-tag.off { color: #999; }
.xc-uc-empty { color: #999; font-size: 13px; padding: 18px 0; line-height: 1.8; }

/* ============================================================
 * 看点·热点（jm_qg_index.htm 版式）：三栏等高对齐 + 菜谱条目补白
 * ============================================================ */
.mt10.bigDiv .cont1L,
.mt10.bigDiv .cont1M,
.mt10.bigDiv .cont1R { min-height: 646px; }
/* 菜谱大全：原模板 dd 只有标题，图片右侧大片留白；按原型补「做法信息 + 浏览 + 查看做法」 */
.lryCont01 .cont1M .jbbjDl { margin-top: 7px; }   /* 5 条菜谱与左/右栏等高（646px） */
.lryCont01 .jbbjDl dd .rc-meta { display: block; color: #888; font-size: 12px; line-height: 20px; overflow: hidden; }
.lryCont01 .jbbjDl dd .rc-more { display: inline-block; line-height: 22px; font-size: 12px; }
.lryCont01 .jbbjDl dd p { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* 最新发布：改为 1 条图后，图文块右侧不再有空方块 */
.lryCont01 .txlr_box { clear: both; }
.lryCont01 .txlr_box > li { margin-bottom: 12px; }

/* ============================================================
 * 页脚「热门城市」：默认少量重点城市 + 「更多」展开全部
 * 选择器需盖过 index_qg.css 的 .hot_city_son a（否则 hover 会变成红底红字看不清）
 * ============================================================ */
.hot_city_son a.hc-more,
.hot_city_son a.hc-more:visited {
  display: inline-block; margin-left: 8px; padding: 4px 14px; border-radius: 14px;
  background: #db4339; color: #fff; font-size: 13px; font-weight: 700; line-height: 19px;
  vertical-align: middle; cursor: pointer; text-decoration: none;
  box-shadow: 0 1px 3px rgba(219, 67, 57, 0.35); transition: background .2s;
}
.hot_city_son a.hc-more:hover { background: #bf2a20; color: #fff; }
.hc-more .hc-arrow { font-style: normal; margin-left: 3px; font-size: 11px; }
.hc-all { padding-top: 6px; margin-top: 8px; border-top: 1px dashed #dfdfdf; }
/* 城市文字：原型色 #595757 偏浅，加深并放宽行距；补齐 padding-right 使子页城市链接与首页一致（首页原本由 index_qg.css 带 17px） */
.hot_city_son a { color: #333; font-size: 14px; line-height: 28px; padding-right: 17px; }
.hot_city_son a:hover { color: #db4339; }

/* 热门城市容器布局：原在 index_qg.css，下沉到全局 site.css，保证其他页面(footer_sub)与全国首页样式一致 */
.overhide2 { overflow: hidden; position: relative; }
.hot_city { background: #f0f0f0; }
.hot_city_son { width: 1200px; margin: 0 auto; padding-top: 14px; padding-bottom: 34px; text-align: left; }
.hot_city h3 { border-bottom: 1px solid #dddddd; padding-top: 27px; text-align: left; width: 1200px; margin: 0 auto; font-size: 24px; color: #221815; padding-bottom: 11px; font: 18px/25px "Impact"; }

/* ============================================================
 * 友情链接申请页
 * ============================================================ */
.xc-fl-tip {
  background: #fff8f6; border: 1px solid #ffe3dc; color: #8a5145;
  border-radius: 6px; padding: 13px 16px; font-size: 13px; line-height: 1.9; margin-bottom: 18px;
}
.xc-fl-tip b { color: #db4339; }
.xc-fl-tip ol { margin: 5px 0 0 18px; padding: 0; }
.xc-fl-tip li { list-style: decimal; }
.xc-fl-msg { border-radius: 6px; padding: 11px 14px; font-size: 13px; margin-bottom: 16px; line-height: 1.7; }
.xc-fl-msg.ok { background: #eefaf0; border: 1px solid #cdeed4; color: #1f7a3c; }
.xc-fl-msg.err { background: #fff2f0; border: 1px solid #ffd6cf; color: #c02a1a; }
.xc-fl-check {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 13px; color: #444; line-height: 1.7; margin: 2px 0 16px; cursor: pointer;
}
.xc-fl-check input { width: 16px; height: 16px; margin-top: 2px; margin-right: 8px; flex: none; accent-color: #db4339; }
.xc-fl-check b { color: #db4339; }
.xc-fl-site { background: #fafbfc; border: 1px dashed #dfe4ea; border-radius: 6px; padding: 11px 12px; font-size: 13px; color: #555; line-height: 1.9; }
.xc-fl-site b { color: #221815; }
.xc-fl-site .u { display: flex; gap: 6px; margin-top: 4px; }
/* IE11 不支持 flex gap：输入框与按钮间用 margin 等价补距 */
.xc-fl-site input {
  flex: 1; min-width: 0; height: 32px; border: 1px solid #dfe4ea; border-radius: 4px;
  padding: 0 8px; font-size: 12px; color: #333; background: #fff; margin-right: 6px;
}
.xc-fl-site button {
  flex: none; height: 32px; padding: 0 12px; border: 0; border-radius: 4px;
  background: #db4339; color: #fff; font-size: 12px; cursor: pointer;
}
.xc-fl-site button:hover { background: #c53328; }

/* 原型遗留「出头」兜底：内容 width 未含 padding，超出父级 8~18px，统一按 border-box 收口 */
.lryCont01 .cont1_L { box-sizing: border-box; }
.lryPic1 span { box-sizing: border-box; width: 330px; }
.lryCont01 .txlrDiv1 ul li { box-sizing: border-box; width: 408px; }

/* 看点·热点：热点新闻 / 最新发布 / 猜你喜欢 / 创业指南 列表右侧补日期 + 标题过长省略号 */
.lryCont01 .ylj li,
.lryCont01 .txlrDiv1 ul li,
.lryCont01 .botmDiv1 ul li {
  display: flex; align-items: center; line-height: 32px;
}
.lryCont01 .ylj li .hs-li-t,
.lryCont01 .txlrDiv1 ul li .hs-li-t,
.lryCont01 .botmDiv1 ul li .hs-li-t {
  flex: 1 1 auto; min-width: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.lryCont01 .hs-date {
  flex: 0 0 auto; margin-left: 10px;
  color: #999; font-size: 12px; white-space: nowrap;
}

/* 新闻列表页（行业动态/创业指南等分类列表）：原型 p{float:right} 在长标题下会被 overflow:hidden 裁掉；
   改 flex 一行对齐——标题省略号截断占满、发布日期稳定右对齐 */
.list726_ul ul li { display: flex; align-items: center; }
.list726_ul ul li h3 {
  float: none; flex: 1 1 auto; min-width: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.list726_ul ul li p { float: none; flex: 0 0 auto; margin-left: 14px; }

/* 精选课程卡片：原型按钮宽 32px 会把「立即报名」挤成两行，改为单行按钮 */
.list_2 .clr_part_name { width: 128px; }
.list_2 .clr_part_more a {
  width: 58px; box-sizing: border-box; padding: 5px 0;
  white-space: nowrap; letter-spacing: 0;
}

/* 城市站首页「2026热门专业项目」：原型 float 布局内层余量仅 ~4px，长课名会把右侧「点击报名」挤到下一行；
   改 flex 一行对齐——课名占满、按钮始终贴右，不再分行 */
.cour_list_right .clr_part { display: flex; align-items: center; }
.cour_list_right .clr_part_name { float: none; flex: 1 1 auto; min-width: 0; }
.cour_list_right .clr_part_more { float: none; flex: 0 0 auto; margin-left: 8px; }
/* 「点击报名」改为两行、每行两字（点击/报名），按钮变窄，课名区更宽，「报名人数」不再被挤掉 */
.cour_list_right .clr_part_more a {
  width: 38px; box-sizing: border-box; padding: 4px 2px;
  white-space: normal; text-align: center; line-height: 18px;
}

/* 六栏目热门课程：每行一条（长课名省略号截断），六列等距对齐 */
.newfooter .conten > div > a {
  display: block; width: 100%;
  font-size: 13px; line-height: 30px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* 城市分站首页：热门专业滚动（jm_index.htm Swiper 垂直无缝轮播，单列；标签为静态展示） */
.x_recruit .x_ret_nav li { flex: 1; }
.x_recruit .x_ret_swper .swiper-slide { height: auto; float: none; }
.x_recruit .mojar_list li { flex: none; }
.x_recruit .mojar_list li:first-child { flex: 1 1 auto; min-width: 0; justify-content: flex-start; padding-left: 16px; }
.x_recruit .mojar_list li:first-child a { display: block; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.x_recruit .mojar_list li:nth-child(2) { width: 200px; }
.x_recruit .mojar_list li:nth-child(3) { width: 250px; }
.x_recruit .mojar_list li a:hover { color: #d6251e; }

/* 城市分站首页：分类楼层「推荐项目」右侧栏（jm_index.htm .freint boutique 手风琴：hover 显示课程图） */
.freint .frint_box2 { background: #fff; border: 1px solid #e8e8e8; border-radius: 4px; overflow: hidden; flex: 1; display: flex; flex-direction: column; }
.freint .frtitle { display: flex; align-items: center; justify-content: space-between; height: 46px; padding: 0 14px; border-bottom: 1px solid #eee; background: #fafafa; overflow: visible; }
.freint .frtitle .fswint2 { list-style: none; margin: 0; padding: 0; float: none; overflow: visible; }
.freint .frtitle .fswint2 li { float: none; line-height: 46px; }
.freint .frtitle .fswint2 li a { font-size: 17px; font-weight: 600; color: #333; }
.freint .frtitle .moreing { float: none; font-size: 13px; color: #888; line-height: 46px; margin: 0; padding: 0; }
.freint .frtitle .moreing:hover { color: #db4339; }
.freint .list_cont { padding: 2px 0 6px; overflow: visible; }
.freint .swtbox2 { overflow: visible; }
.freint .list_4 { margin: 0; overflow: visible; }
.freint .boutique-content { margin: 0; }
.freint .boutique-content dl { margin: 0; font-size: 14px; color: #666; }
.freint .boutique-content dt { display: flex; align-items: center; height: 38px; padding: 0 14px; cursor: pointer; }
.freint .boutique-content dt i { flex: none; width: 20px; height: 20px; line-height: 20px; text-align: center; color: #fff; border-radius: 3px; font-style: normal; font-size: 12px; margin-right: 8px; }
.freint .boutique-content dt .xc-bq-name { flex: 1; min-width: 0; font-size: 14px; color: #444; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; }
.freint .boutique-content dt .xc-bq-name:hover { color: #db4339; }
.freint .boutique-content dt .xc-bq-qq { flex: none; margin: 0 6px; line-height: 1; }
.freint .boutique-content dt .xc-bq-qq img { width: 15px; height: 15px; display: block; }
.freint .boutique-content dt .xc-bq-xj { flex: none; font-size: 12px; color: #999; }
.freint .boutique-content .active dt .xc-bq-name { color: #db4339; font-weight: 600; }
.freint .boutique-content dd { display: none; margin: 0; }
.freint .boutique-content .active dd { display: block; }
.freint .boutique-bigbox { display: flex; align-items: flex-start; padding: 8px 14px 10px; }
.freint .boutique-imgbox { flex: none; }
.freint .boutique-imgbox img { width: 112px; height: 88px; object-fit: cover; border-radius: 3px; display: block; }
.freint .boutique-textbox { flex: 1; min-width: 0; margin-left: 12px; }
.freint .boutique-textbox p { margin: 0 0 10px; font-size: 13px; color: #666; }
.freint .boutique-textbox p span { color: #db4339; font-weight: bold; font-size: 16px; }
.freint .boutique-textbox .jm_zixun { display: inline-block; width: 88px; height: 28px; line-height: 28px; background: #db4339; color: #fff; font-size: 13px; text-align: center; border-radius: 4px; border: 1px solid #db4339; cursor: pointer; text-decoration: none; }
.freint .boutique-textbox .jm_zixun:hover { background: #fff; color: #db4339; }
.freint .hr2 { height: 1px; border-top: 1px dashed #f0f0f0; margin: 0 14px; }

/* ===== 横幅与分类楼层统一纯白背景（对齐原型 body #FFF）=====
   原型 main.css：.bfimg / .containg 均为 #f8f8f8，且仅 .floor1~.floor5 覆白，
   floor6~floor8（川菜·中餐 / 饮品·奶茶 / 西点·烘焙）与 6 个横幅条带残留浅灰 → 此处统一覆白 */
.bfimg { background: #fff; }
.containg { background: #fff; }

/* ===== 楼层三栏等高：早点大图(adcont1) / 6 课程(list_2) / 推荐项目(freint) ===== */
.containg .w1200.overhide { display: flex; justify-content: space-between; align-items: stretch; }
.containg .fleint { float: none; display: flex; flex-direction: column; width: 860px; }
.containg .freint { float: none; display: flex; flex-direction: column; width: 320px; }
/* 统一标题条高度，令 cainbox 与 list_cont 顶/底对齐 */
.containg .fleint .currtitle { height: 51px; margin-bottom: 0; }
.freint .frtitle { height: 51px; }
/* 内容区填满标题以下剩余高度 */
.containg .fleint .cainbox { flex: 1; display: flex; align-items: stretch; }
.freint .list_cont { flex: 1; }
/* 左图 + 6 课并排、等高；左图 object-fit 铺满 */
.containg .adcont1 { float: none; margin-top: 0; margin-right: 20px; height: auto; flex: none; width: 260px; }
.containg .adcont1 a { display: block; width: 100%; height: 100%; }
.containg .adcont1 img { width: 100%; height: 100%; object-fit: cover; display: block; }
.containg .list_2 { float: none; flex: 1; width: auto; }

/* ===== v17 首页多列课程列表·全浏览器兼容（360 兼容内核/缩放取整会挤掉行末列成「分行」）=====
   原型全是「固定像素精确拟合」：行末列零容错，360 兼容内核/125% 缩放/高清屏取整时整列掉行
   （5 列变 4+1、4 列变 3+1、3 列变 2+1——即用户反馈的「分行」）。统一改**百分比浮动 + box-sizing + 留余量**：
   ① 全国首页精选课程：ul 1230 + li 246px pitch（194 内容+10×2 padding+1×2 border+30 margin），
      5×246=1230 零余量 → 17.8%+2.5%×4=99%（卡片 214px/栏距 30px 与原型一致）；
   ② 城市首页优质课程：ul 1220 + li 305px pitch（253+15×2+1×2+20），4×305=1220 零余量
      → 23.3%+2%×3=99.2%；内部 pxkw 255px 定宽改弹性（否则溢出卡片被裁）；
   ③ 城市首页分类楼层：li 200px pitch（180+20），3×200=600 零余量 → 31.3%+2.75%×2=99.4%；
   ④ 全国首页餐饮加盟：li 203px pitch，6×203=1218 仅 2px 余量（预防性）
      → 15.2%+1.6%×5=99.2%（卡片 182px/栏距 19px 与原型一致）。
   作用域均用页面特有祖先限定，互不影响：.w1200>.list_2（全国精选）/ .fine-left-bottomR ul#pxkw_info（城市优质）
   / .containg .cainbox .list_2（城市楼层）/ .eincont2 .einli2（全国加盟）；
   新闻详情右栏同名 #pxkw_info 咨询卡不在这些作用域内，保持 255px 定宽不动 */
.w1200 > .list_2 ul { width: auto; margin-left: 0; }
.w1200 > .list_2 > ul > li { float: left; width: 17.8%; margin: 20px 2.5% 0 0; box-sizing: border-box; }
.w1200 > .list_2 > ul > li:nth-child(5n) { margin-right: 0; }
.w1200 > .list_2 > ul > li:nth-child(5n+1) { clear: left; }
.w1200 > .list_2 .clr_img img { width: 100%; height: 141px; }
.fine-left-bottomR ul#pxkw_info { width: auto; margin-left: 0; }
.fine-left-bottomR ul#pxkw_info > li { float: left; width: 23.3%; margin: 0 2% 10px 0; box-sizing: border-box; }
.fine-left-bottomR ul#pxkw_info > li:nth-child(4n) { margin-right: 0; }
.fine-left-bottomR ul#pxkw_info > li:nth-child(4n+1) { clear: left; }
.fine-left-bottomR .pxkw_wrap { width: 100%; }
.fine-left-bottomR .pxkw_wrap img { width: 100%; height: 160px; }
.fine-left-bottomR .pxkw_wrap div { width: 100%; }
.containg .cainbox .list_2 > ul > li { float: left; width: 31.3%; margin: 0 2.75% 20px 0; box-sizing: border-box; }
.containg .cainbox .list_2 > ul > li:nth-child(3n) { margin-right: 0; }
.containg .cainbox .list_2 > ul > li:nth-child(3n+1) { clear: left; }
.containg .cainbox .list_2 .clr_img img { width: 100%; height: 129px; }
.eincont2 .einli2 { width: auto; margin-left: 0; }
.eincont2 .einli2 li { float: left; width: 15.2%; margin: 20px 1.6% 0 0; box-sizing: border-box; }
.eincont2 .einli2 li:nth-child(6n) { margin-right: 0; }
.eincont2 .einli2 li:nth-child(6n+1) { clear: left; }

/* ===== v18 入驻优势/帮选课两页·全浏览器兼容（360 兼容内核/缩放取整会挤掉行末列成「分行」）=====
   与 v16/v17 同根因：原型多列全是「固定像素精确拟合」，行末列零容错。
   ① /rzys「入驻 5 大理由」.enter-reason dd：186px 边框盒 + 65px 栏距，
      5×188+4×65=1200 精确拟合 → 15.5%+5.4%×4=99.1%（卡 186px/栏距 65px 与原型一致）；
   ② /bxk banner「全程跟进」.point-list ul li：206px 内容盒 + padding 93 + border 1 = 300 盒，
      4×300=1200 精确拟合 → 24.8%×4=99.2%（内容区 204px≈原型 206px，左 padding 80px 图标位不变）；
   ③ /bxk 痛点图 .ccl_cases ul li：285px+20px pitch，ul 1220 负边距，4×305=1220 精确拟合
      → 23.6%+1.6%×3=99.2%（卡 283px/栏距 19px 与原型一致；图 285×310 改 width:100%;height:auto
      保比例，覆盖层 p 改 100%×100% + top:85.5% 维持 hover 上移动画）；
   ④ /bxk 痛点文字 .list-ul li：285px+20px pitch，ul 负边距 -20，4×305=1220 精确拟合 → 同 ③ 百分比；
   ⑤ /bxk 选课优势 .xc-bxk-adv-list li：230px+40px pitch，容器 1040，4×230+3×40=1040 精确拟合
      → 21.9%+3.8%×3=99.0%（卡 228px/栏距 39.5px 与原型一致）；
   ⑥ /bxk 选课流程 .xc-bxk-step-list li：220px+53px pitch，容器 1040，4×220+3×53=1039 仅 1px 余量
      → 21.9%+3.8%×3=99.0%；栏距由 53px 变 39.5px，步骤箭头 right:-47px 同步改 -30px 保持居中。
   有余量的模块不动：.eabout-list（261px+25px，约 56px 余量）、.we-load2 ul（平台数据，ul 1322 定宽
   但 4 个 li 总宽仅 1163，余量 159px）；flex 无 gap 的 .xc-bxk-grid/.xc-bxk-trust 按 v16 结论不丢行不动 */
.enter-reason dd { float: left; width: 15.5%; margin: 0 5.4% 0 0; box-sizing: border-box; height: auto; min-height: 242px; }
.enter-reason dd:nth-child(5n) { margin-right: 0; }
.enter-reason dd:nth-child(5n+1) { margin-left: 0; clear: left; }
.point-list { display: block; width: 100%; margin: 0; }
.point-list ul { margin: 0; padding: 0; overflow: hidden; }
.point-list ul li { float: left; width: 24.8%; margin: 0; padding: 0 13px 20px 80px; box-sizing: border-box; height: auto; min-height: 40px; border-right: solid 1px #e6e6e6; position: relative; }
.ccl_cases { width: auto; margin-left: 0; }
.ccl_cases ul li { float: left; width: 23.6%; margin: 0 1.6% 0 0; box-sizing: border-box; height: auto; min-height: 310px; }
.ccl_cases ul li:nth-child(4n) { margin-right: 0; }
.ccl_cases ul li:nth-child(4n+1) { margin-left: 0; clear: left; }
.ccl_cases a img { width: 100%; height: auto; }
.ccl_cases ul li p { width: 100%; height: 100%; top: 85.5%; }
.list-ul { margin-left: 0; }
.list-ul li { float: left; width: 23.6%; margin: 0 1.6% 0 0; box-sizing: border-box; }
.list-ul li:nth-child(4n) { margin-right: 0; }
.list-ul li:nth-child(4n+1) { margin-left: 0; clear: left; }
/* 注意：.xc-bxk-adv-list/.xc-bxk-step-list 的百分比化规则必须放在本文件后方原定义之后，
   否则同特异性下原 width:230px 会反插，且原 margin-left 会穿透 margin 简写导致掉行（v18 实测教训） */

/* ===== 新闻详情页·分享区（对标原型 .article-tabs > .bdshare-box，因无 bdshare 精灵图改用文字按钮） ===== */
.article-tabs { overflow: hidden; }
.article-tabs .bdshare-box { float: right; }
.xc-share-label { float: left; margin-right: 8px; color: #999; font-size: 12px; line-height: 26px; }
.xc-share-btn { float: left; margin-left: 6px; padding: 0 10px; height: 26px; line-height: 26px; border: 1px solid #e6e6e6; border-radius: 2px; color: #666; font-size: 13px; background: #fff; }
.xc-share-btn:hover { color: #fff; background: #db4339; border-color: #db4339; }
/* 相关阅读列表（原型 .left-list）：图左文右 */
.left-list .item-info-box h3 { font-size: 16px; font-weight: 600; }
.left-list .item-info-box .jingyan { display: inline-block; margin-right: 6px; padding: 0 4px; background: #db4339; color: #fff; font-size: 12px; border-radius: 2px; }

/* ===== 新闻栏目页（news_plus）版块等高：右栏只放 1 张图后比左栏矮，用 min-height 拉齐 =====
   注意：.lryCont01/.cont1_L/.cont1R 也被首页 hotspot.ejs 复用（那边 .mt10.bigDiv 已是 646px），
   故用 .nwplus-blk 限定只作用于新闻栏目页 ===== */
.nwplus-blk .cont1_L, .nwplus-blk .cont1R { min-height: 386px; }

/* ===== 新闻栏目页面板内文规则（第 23 轮）=====
   ① 头条图文详情限 2 行（.np-d2），与右栏「标题+内容」等高对齐；
   ② 菜谱大全面板右栏 3 个图文条目（原型 jm_news_plus.htm 菜谱大全版式）===== */
.nwplus-blk .txlr_box3 dd .np-d2,
.nwplus-blk .w360 .nrP .np-d2,
.nwplus-blk .cont1M .jbbjDl dd .np-d2 {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; line-height: 22px; height: 44px; font-size: 14px; color: #999;
}
/* 头条图文块与右栏「标题+内容」(lNrP 底 993) 底边对齐：min-height 138 + padding 4 + border 1 = 143 → 头底边 993 与 lNrP 齐，三头部同底后各列 6 条列表 gap 一致即 0 差 */
.nwplus-blk .txlr_box3 dl { min-height: 138px; }
.nwplus-blk .w360 > .nrP { min-height: 96px; }
/* 菜谱右栏 3 条目与左栏「头条图文 + 6 条列表」整体等高（min-height 97 + margin-top 6，实测底边 1703 与 d13/rD12 齐） */
.nwplus-blk .cont1M .jbbjDl { overflow: hidden; }
.nwplus-blk .cont1M .jbbjDl dd .np-d2 { height: 40px; line-height: 20px; }

/* ===== 第 24 轮：右面板图文卡与左栏头条块同高（min-height 130 → 含 padding/border 实测 143），
   使右栏 6 条列表底边与左栏两列 6 条列表底边齐平（1181=1181，原差 23px）===== */
.nwplus-blk .txlr_box2 dl { min-height: 138px; }
/* 头条块/图文卡与 6 条列表间距压缩（padding 8→4、margin 5→2、ul padding 3→1，左右同步不影响对齐；
   视觉间距 14px → ~6px，消除头条与 6 条列表间过空的观感，三栏底边仍 0 差齐平） */
.nwplus-blk .txlr_box3 dl, .nwplus-blk .txlr_box2 dl { padding-bottom: 4px; }
.nwplus-blk .txlrDiv13, .nwplus-blk .txlrDiv12 { margin-top: 2px; }
.nwplus-blk .txlrDiv13 ul, .nwplus-blk .txlrDiv12 ul { padding-top: 1px; }
/* 菜谱 trio 末条微补 2px，使 cont1M 底边与左栏 w280 齐平（min-height 97 + margin-top 6，实测底边 1703 与 d13/rD12 齐） */
.nwplus-blk .cont1M .jbbjDl { min-height: 97px; margin-top: 6px; }
/* .ylj 原 padding-top:8px 高于 txlrDiv13 ul 的 3px，致 w360 列 6 条列表比 w280 列高 5px → 统一为 2px */
.nwplus-blk .ylj { padding-top: 2px; }

/* ===== 第 24 轮：速递区（.qzzs）标题填充右侧空白 =====
   原型 h3 锁 287px 是给左侧 img 留位，本模板无图 → 标题行右侧约 268px 空白；
   放行全宽 555px，标题可显示字数翻倍（~20→~39 字），过长省略号；摘要仍 2 行，li 总高 91px 不变 */
.qzzs li h3 { width: 555px; }

/* ===== 页脚「六栏目热门课程导航」：原在 common_qg.css（仅首页加载），下沉到全局 site.css，
   保证子页面页脚（footer_sub）与全国首页底部构成一致 ===== */
.newfooter { background: #fff; margin-top: 20px; margin-bottom: 10px; }
.newfooter .conten { width: 1200px; margin: 0 auto; overflow: hidden; padding: 20px 0; }
.newfooter .ft1, .newfooter .ft2, .newfooter .ft3, .newfooter .ft4, .newfooter .ft5, .newfooter .ft6 {
  width: 200px; padding-right: 0px; float: left; line-height: 36px;
}
.newfooter .conten h3 { font-weight: bold; }
.newfooter .conten a { color: #999; display: inline-block; font-size: 14px; margin-right: 0px; }
.newfooter .conten a:hover { color: #db4339; }
.newfooter .conten h3 a { font-size: 16px; color: #666; }

/* ===== 新闻详情页右栏「精选课程」jbbjDl：清除上一区块残留浮动（首条 dt 被挤到右侧致图文重叠） ===== */
.school_right .boutique .jbbjDl { clear: both; overflow: hidden; }
.school_right .boutique .jbbjDl dd { overflow: hidden; max-height: 110px; }
.school_right .boutique .jbbjDl dd p { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- 帮选课页（/bxk）：选课优势/选课流程（对齐 jm_bxk.htm 原型）+ 表单 + FAQ ---------- */
.xc-bxk-adv { width: 1200px; margin: 44px auto 0; padding: 36px 0 44px; background: #2b2b33 url('/jm_img/sub/bxk_bg.jpg') no-repeat center top; background-size: cover; border-radius: 8px; overflow: hidden; }
.xc-bxk-adv-title, .xc-bxk-step-title { text-align: center; margin-bottom: 34px; }
.xc-bxk-adv-title h4, .xc-bxk-step-title h4 { display: inline-block; margin: 0; font-size: 26px; line-height: 34px; color: #333; padding: 0 18px; }
.xc-bxk-adv-title h4 { color: #fff; }
.xc-bxk-adv-title h4::after, .xc-bxk-step-title h4::after { content: ''; display: block; width: 44px; height: 4px; border-radius: 2px; background: #e4393c; margin: 10px auto 0; }
.xc-bxk-adv-list { width: 1040px; margin: 0 auto; padding: 0; list-style: none; }
.xc-bxk-adv-list li { float: left; width: 230px; margin-left: 40px; text-align: center; }
.xc-bxk-adv-list li:first-child { margin-left: 0; }
.xc-bxk-ico { display: flex; align-items: center; justify-content: center; width: 86px; height: 86px; margin: 0 auto; }
.xc-bxk-ico img, .xc-bxk-ico svg { width: 72px; height: 72px; display: block; }
.xc-bxk-adv-h { margin: 16px 0 0; font-size: 19px; line-height: 26px; color: #fff; }
.xc-bxk-adv-p { margin: 8px 0 0; font-size: 14px; line-height: 22px; color: rgba(255, 255, 255, .82); }
.xc-bxk-step { margin: 48px auto 0; }
.xc-bxk-step-list { width: 1040px; margin: 0 auto; padding: 0; list-style: none; }
.xc-bxk-step-list li { position: relative; float: left; width: 220px; margin-left: 53px; text-align: center; }
.xc-bxk-step-list li:first-child { margin-left: 0; }
/* 步骤间红色箭头（原型 xk_jiantou.png 缺失，改 CSS 绘制） */
.xc-bxk-step-list li:not(:last-child)::after { content: ''; position: absolute; right: -47px; top: 42px; width: 20px; height: 20px; border-top: 4px solid #e4393c; border-right: 4px solid #e4393c; transform: rotate(45deg); }
.xc-bxk-step-ico { display: flex; align-items: center; justify-content: center; width: 108px; height: 108px; margin: 0 auto; background: #f7f7f9; border-radius: 50%; }
.xc-bxk-step-ico img { width: 64px; height: 64px; display: block; }
.xc-bxk-step-list h4 { margin: 14px 0 0; font-size: 18px; line-height: 26px; color: #333; }
.xc-bxk-step-list p { margin: 6px 0 0; font-size: 13px; line-height: 20px; color: #999; }
/* ===== v18 选课优势/选课流程·全浏览器兼容（原 230px+40px/220px+53px pitch 对 1040 容器精确拟合，
   360 兼容内核/缩放取整会挤掉行末列；必须放在上方原定义之后，同特异性后声明者赢）===== */
.xc-bxk-adv-list li { float: left; width: 21.9%; margin: 0 3.8% 0 0; box-sizing: border-box; }
.xc-bxk-adv-list li:nth-child(4n) { margin-right: 0; }
.xc-bxk-adv-list li:nth-child(4n+1) { margin-left: 0; clear: left; }
.xc-bxk-step-list li { float: left; width: 21.9%; margin: 0 3.8% 0 0; box-sizing: border-box; }
.xc-bxk-step-list li:nth-child(4n) { margin-right: 0; }
.xc-bxk-step-list li:nth-child(4n+1) { margin-left: 0; clear: left; }
/* 栏距 53px→39.5px，箭头随栏距居中（原型 right:-47px） */
.xc-bxk-step-list li:not(:last-child)::after { right: -30px; }
/* 表单 */
.xc-bxk-form-wrap { margin-top: 50px; padding-bottom: 10px; }
.xc-bxk-form { width: 780px; margin: 0 auto; background: #fff; border: 1px solid #f0e3e3; border-top: 4px solid #e4393c; border-radius: 10px; box-shadow: 0 6px 24px rgba(180, 40, 40, .08); padding: 30px 40px 26px; box-sizing: border-box; }
.xc-bxk-form-head { text-align: center; margin-bottom: 22px; }
.xc-bxk-form-head h2 { margin: 0; font-size: 26px; color: #333; }
.xc-bxk-form-head p { margin: 8px 0 0; font-size: 14px; color: #999; }
.xc-bxk-grid { display: flex; flex-wrap: wrap; justify-content: space-between; }
.xc-bxk-field { width: 48%; margin-bottom: 14px; }
.xc-bxk-field-full { width: 100%; }
.xc-bxk-field label { display: block; margin-bottom: 6px; font-size: 13px; color: #555; }
.xc-bxk-field label i { color: #e4393c; font-style: normal; margin-left: 2px; }
.xc-bxk-field input, .xc-bxk-field select, .xc-bxk-field textarea { width: 100%; height: 40px; border: 1px solid #ddd; border-radius: 4px; padding: 0 12px; font-size: 14px; color: #333; box-sizing: border-box; background: #fff; }
.xc-bxk-field textarea { height: auto; padding: 8px 12px; resize: vertical; font-family: inherit; }
.xc-bxk-field input:focus, .xc-bxk-field select:focus, .xc-bxk-field textarea:focus { border-color: #e4393c; outline: 0; }
.xc-bxk-submit { display: block; width: 100%; height: 48px; margin-top: 4px; background: #e4393c; color: #fff; border: 0; border-radius: 4px; font-size: 17px; letter-spacing: 4px; cursor: pointer; }
.xc-bxk-submit:hover { background: #d23235; }
.xc-bxk-trust { display: flex; justify-content: center; margin: 14px 0 0; font-size: 12px; color: #b0b0b0; }
.xc-bxk-trust span { position: relative; padding: 0 14px; }
.xc-bxk-trust span + span::before { content: ''; position: absolute; left: 0; top: 3px; width: 1px; height: 12px; background: #ddd; }
/* FAQ */
.xc-bxk-faq { margin-top: 46px; padding-bottom: 50px; }
.xc-bxk-faq-list { width: 1040px; margin: 0 auto; }
.xc-bxk-faq-list dl { margin: 0 0 12px; padding: 14px 20px; background: #fafafa; border: 1px solid #f0f0f0; border-left: 3px solid #e4393c; border-radius: 4px; }
.xc-bxk-faq-list dt { font-size: 15px; font-weight: bold; color: #333; }
.xc-bxk-faq-list dd { margin: 6px 0 0; font-size: 13px; line-height: 22px; color: #777; }
@media screen and (max-width: 1240px) {
  .xc-bxk-adv { width: auto; margin: 44px 12px 0; }
  .xc-bxk-adv-list, .xc-bxk-step-list { width: auto; padding: 0 12px; }
  .xc-bxk-adv-list li { width: 46%; margin: 0 2% 22px; }
  .xc-bxk-step-list li { width: 46%; margin: 0 2% 22px; }
  /* v18：抵消桌面 nth-child(4n){margin-right:0}，窄屏 2 列时第 2 列右边距恢复 2% */
  .xc-bxk-adv-list li:nth-child(4n) { margin-right: 2%; }
  .xc-bxk-step-list li:nth-child(4n) { margin-right: 2%; }
  .xc-bxk-step-list li::after { display: none !important; }
  .xc-bxk-form { width: auto; margin: 0 12px; }
  .xc-bxk-field { width: 100%; }
  .xc-bxk-faq-list { width: auto; margin: 0 12px; }
}

/* 2026-10-22 修改意见：页脚声明 / 二维码文字占位 / 第三方标注 / 更新时间标签 / 表单协议提示 */
.xc-disclaimer { margin: 14px auto 0; max-width: 1200px; padding: 12px 16px; background: #f7f7f7; border-top: 1px solid #eee; border-bottom: 1px solid #eee; color: #999; font-size: 12px; line-height: 20px; }
.xc-disclaimer p { margin: 0 0 6px; }
.xc-disclaimer p:last-child { margin-bottom: 0; }
.xc-disclaimer a { color: #c0392b; text-decoration: none; }
.xc-disclaimer a:hover { text-decoration: underline; }

.xc-qr-texts { display: flex; gap: 18px; }
/* IE11 不支持 flex gap */
.xc-qr-texts > * { margin-right: 18px; }
.xc-qr-txt { width: 50%; }
.xc-qr-txt a { display: block; padding: 10px 12px; background: #fafafa; border: 1px solid #eee; border-radius: 6px; color: #555; text-decoration: none; transition: all .2s; }
.xc-qr-txt a:hover { border-color: #e4393c; color: #e4393c; }
.xc-qr-ic { font-size: 18px; margin-right: 6px; }
.xc-qr-txt b { font-size: 14px; color: #333; }
.xc-qr-txt em { display: block; font-style: normal; font-size: 12px; color: #999; margin-top: 4px; line-height: 18px; }

.xc-thirdparty-bar { margin: 0 0 16px; padding: 10px 14px; background: #fff8f3; border: 1px solid #f6e2d4; border-left: 3px solid #e8945a; color: #9a6b45; font-size: 13px; line-height: 22px; border-radius: 4px; }
.xc-thirdparty-note { margin: 10px 0 0; padding: 8px 12px; background: #fff8f3; border: 1px solid #f6e2d4; border-radius: 4px; color: #9a6b45; font-size: 12px; line-height: 20px; }

.xc-upd { color: #aaa; font-size: 12px; }
.xc-upd span { color: #888; }

.xc-bxk-tip { margin: 8px 0 0; padding: 7px 10px; background: #f7f7f7; border-radius: 4px; color: #999; font-size: 12px; line-height: 18px; }

.m-disclaimer { padding: 10px 12px; background: #f7f7f7; color: #999; font-size: 12px; line-height: 20px; text-align: center; }
.m-disclaimer a { color: #c0392b; text-decoration: none; }

@media screen and (max-width: 640px) {
  .xc-qr-texts { flex-direction: column; gap: 10px; }
  .xc-qr-txt { width: 100%; }
}

/* 2026-10-23 列表页分页统一改为原型 .fenye 数字分页（jm_school_list/jm_pxxm_list/jm_cyjm_list 均如此），
   原 .page 自绘样式已废弃删除；.fenye 容器 860px 比左栏 850px 宽，这里收窄防溢出 */
.school_left .fenye { width: 100%; }

/* 2026-10-23 区域选择两级联动：省份/直辖市 chips + 城市面板（避免 327 城平铺拉高页面） */
.xc-area-sift .xc-area-prov { font-weight: 600; color: #333; }
.xc-area-sift .xc-area-prov em { font-style: normal; font-size: 12px; color: #999; margin-left: 2px; }
.xc-area-sift .xc-area-prov.cur em { color: #ffd7d3; }
.xc-area-cities { clear: both; width: 100%; margin: 4px 0 0; }
/* overflow:hidden：面板内城市链接是 float，激活省份面板以浮动链接结尾会致面板高度塌陷、
   链接溢出面板底色（v16 修复，BFC 包含浮动） */
.xc-area-panel { line-height: 26px; background: #fafafa; border: 1px solid #f0f0f0; border-radius: 4px; padding: 4px 10px 6px; overflow: hidden; }
.xc-area-panel .xc-area-tip { display: block; clear: both; color: #999; font-size: 12px; padding: 0 2px; }
.xc-area-panel .xc-area-hint { color: #bbb; font-size: 12px; margin-top: 2px; }

/* 2026-10-24 列表页「区域选择」城市平铺（course/brand/recipe/news 通用，dl.t）：
   原型 .type-sift dd a 为 float + 自适应宽，城市名长短不一（"北京市""乌鲁木齐市"）导致折行凌乱、出现孤行。
   曾改 CSS Grid 等宽 11 列，但 v16 实测：IE/360 兼容内核整体忽略 grid 声明 → 标签竖堆「一行一条」。
   现改**浮动等宽 11 列**（8.5% + 左右 0.25% margin = 每片 9%，11 片 99% 留 1% 取整余量），
   整行均分、每行 11 个、两行排满 20 城；长城市名省略号 + title 悬浮可见；dd::after 清浮动撑高 */
.type-sift dl.t dd { display: block; }
.type-sift dl.t dd::after { content: ''; display: block; clear: both; }
/* ⚠️ 选择器必须覆盖「无 class 的 span」：全国站 dl.t 的当前城市 span 不带 .cur（_isSub=false），
   grid 时代子元素会被自动 blockify 成网格项所以没暴露；改浮动后漏掉它就会 inline 与 float 混排错位 */
.type-sift dl.t dd > a,
.type-sift dl.t dd > span { float: left; width: 8.5%; margin: 2px 0.25%; padding: 0 2px; box-sizing: border-box; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 2026-10-24 学校列表「区域选择」是两级结构（省份 chip + 城市面板 dl.t.xc-area-sift）：
   v16 兼容修正——原 auto-fill grid（minmax(82px,1fr)）同样不被老内核支持，省份 chips 改
   **inline-block 自适应宽**（min-width 82px 保底、不截断「黑龙江13」），自然换行；
   面板 .xc-area-cities 本就是块级 + clear:both，无需 grid-column 横跨；
   面板内城市链接保持原型 chip 样式（float+padding+hover 红），用子代选择器隔离不被上面平铺规则命中 */
.type-sift dl.t.xc-area-sift dd > a { float: none; display: inline-block; width: auto; min-width: 82px; margin: 2px; padding: 0 12px; box-sizing: border-box; white-space: nowrap; }
.type-sift dl.t dd .xc-area-panel a { float: left; width: auto; max-width: none; margin: 2px; padding: 0 12px; height: 24px; line-height: 24px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.type-sift dl.t dd span.cur { color: #eb3d31; font-weight: 600; height: 24px; line-height: 24px; }

/* 2026-10-23 排序栏搜索框：.px-search 原先无任何样式（浏览器默认 input/button，错乱难看）。
   已合并为上方「子页面补充」区块内的 flex 单行方案（含防搜索框掉行），此处不再重复定义。 */

/* 2026-10-24 餐饮加盟列表悬浮操作条：严格对标 jm_cyjm_list.htm 结构 + public_yellow.js 的 li:hover 行为。
   用户反馈「悬浮位置不对」——首轮把 .hover 做成盖在项目图片上的竖排遮罩（.xm-imgwrap 方案），已废弃；
   原型的 .hover 是 li 的直接子元素、排在「项目介绍(.bot)」之后：悬停整卡时 JS show(.hover)+hide(.bot)，
   按钮条「取而代之」占据项目介绍的位置；同时卡片上浮 2px + 阴影（原型 .on 类）、项目名 h4 变红。
   现按原型重构（.hover 已移回 li 层级），用纯 CSS :hover 复刻、无需 JS：
     ① li:hover>.bot{display:none} + li:hover>.hover{display:block} —— 按钮条落在项目介绍位置；
     ② li:hover{top:-2px;box-shadow} —— 上浮 + 投影（sub.css .xm-list li.on 同款）；
     ③ li:hover .top h4{color:#db3428} —— 项目名变红（sub.css li.on .top h4 同款）。
   按钮规格照抄原型 sub.css：查看详情 134×32 红描边红字 / 在线咨询 134×32 红底白字（与查看详情相邻成组）/
   立即报名 70×24 红底白字靠右；在线咨询/立即报名挂 js-open-dialog 弹悬浮报名框提交 /api/lead。
   项目名 h4 按原型：20px 加粗 #333 单行省略（sub.css 已有，color:#333 兜底防全局 a 颜色污染）。
   封面图尺寸不一，object-fit:cover 防拉伸（原型固定 170×128 会变形）；整卡 .top 包一层 a 保持可点。 */
.xm-list li{transition:top .3s ease,box-shadow .3s ease}
.xm-list li:hover{top:-2px;box-shadow:0 5px 6px rgba(0,0,0,.1);border-color:#eee}
.xm-list li:hover>.bot{display:none}
.xm-list li:hover>.hover{display:block}
.xm-list li:hover .top h4{color:#db3428}
.xm-list .top a{text-decoration:none}
.xm-list .top h4{color:#333}
.xm-list .top img{float:left;object-fit:cover}

/* ============================================================
   2026-10-26 顶栏「用户登录/用户注册」改直链（head.ejs _siteCssV 122）
   - 登录合并为统一单端口 /login；注册统一进 /regist 选择类型页
   - 特异性需高于 index.css / sub/header.css 的 .topLogin a.lMore（含下拉箭头背景图）
   ============================================================ */
.topLogin a.lMore.lMore-dir{background-image:none;color:#ff552e;font-weight:600}
.topLogin a.lMore.lMore-dir:hover{color:#ed302e;text-decoration:underline}

/* ============================================================
   2026-10-26 全站页脚统一（head.ejs _siteCssV 124）
   - 首页 / 内容页共用同一套链接列，删「手机访问」二维码块与「商务合作」列
   - 原右侧二维码块(240px)移除后，链接列加宽填满 1200 容器，避免右侧留空
   - 4×200 + 联系信息 350 = 1150 ≤ 1200，留 50px 余量，360 兼容内核不分行
   ============================================================ */
.end1{border-top:3px solid #db4339}
.end1C .end11{width:200px}
.end1C .end11 span,
.end1C .end11 ul,
.end1C .end11 ul li{width:200px}
.end1C .end11 span{color:#fff;font-weight:600}
.end1C .end11 ul li{height:30px;line-height:30px}
.end1C .end11 ul li a{color:#cfcfcf;transition:color .2s}
.end1C .end11 ul li a:hover{color:#fff}
/* 联系信息列右侧不再有二维码块，微调内边距让热线更醒目 */
.end1C .end12{padding-top:2px}
.end1C .end12_bot_r h3{letter-spacing:1px}
