/* ============================================================
   mqxn.cn 报考专题 / 证书服务 / 功能页 / 城市页 / 通用页样式
   ============================================================ */

/* ---------- 报考流程：编号阶梯（专题页主用） ---------- */
.baoming-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media (max-width:1024px){.baoming-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.baoming-steps{grid-template-columns:1fr}}
.baoming-steps .bs{position:relative;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px 16px;text-align:center;transition:.3s}
.baoming-steps .bs:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--blue)}
.baoming-steps .bs .bs-no{width:40px;height:40px;margin:0 auto 12px;border-radius:50%;background:linear-gradient(135deg,var(--blue),#57b3ff);color:#fff;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px rgba(46,158,245,.32)}
.baoming-steps .bs h3{font-size:14.5px;font-weight:700;margin-bottom:6px}
.baoming-steps .bs p{font-size:12.5px;color:var(--ink2);line-height:1.75}
.baoming-steps .bs::after{content:"→";position:absolute;right:-13px;top:44px;color:var(--blue);font-weight:800;z-index:1}
.baoming-steps .bs:last-child::after{display:none}
@media (max-width:1024px){.baoming-steps .bs::after{display:none}}

/* ---------- 材料清单（勾选清单） ---------- */
.material-check{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (max-width:640px){.material-check{grid-template-columns:1fr}}
.material-check .mc{display:flex;gap:13px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:15px 18px;transition:.25s}
.material-check .mc:hover{border-color:var(--blue);box-shadow:var(--shadow)}
.material-check .mc .mc-ck{width:24px;height:24px;border-radius:7px;background:var(--sky);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.material-check .mc .mc-ck svg{width:14px;height:14px;color:var(--blue-d)}
.material-check .mc b{font-size:14.5px;display:block;margin-bottom:3px}
.material-check .mc span{font-size:12.5px;color:var(--ink3)}

/* ---------- 费用卡（费用说明页） ---------- */
.fee-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:1024px){.fee-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.fee-cards{grid-template-columns:1fr}}
.fee-cards .fc{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:28px 24px;transition:.3s;position:relative;overflow:hidden}
.fee-cards .fc.hot{border-color:var(--blue);box-shadow:0 14px 34px rgba(46,158,245,.2)}
.fee-cards .fc.hot::before{content:"推荐";position:absolute;right:-30px;top:14px;transform:rotate(45deg);background:var(--blue);color:#fff;font-size:11px;padding:3px 34px}
.fee-cards .fc h3{font-size:16px;font-weight:700;margin-bottom:6px}
.fee-cards .fc .fc-price{font-size:30px;font-weight:800;color:var(--blue-d);margin:10px 0 14px;letter-spacing:1px}
.fee-cards .fc .fc-price small{font-size:13px;color:var(--ink3);font-weight:400}
.fee-cards .fc ul li{font-size:13px;color:var(--ink2);padding:7px 0;border-bottom:1px dashed var(--line);display:flex;gap:8px}
.fee-cards .fc ul li::before{content:"·";color:var(--blue);font-weight:800}
.fee-cards .fc ul li:last-child{border-bottom:none}
.fee-cards .fc .fc-btn{margin-top:16px;width:100%}

/* ---------- 考试批次表（专题页） ---------- */
.batch-table .tbl-a th{background:var(--blue-dd);color:#fff}
.batch-table .tbl-a td .bd{display:inline-block;background:var(--sky);color:var(--blue-d);padding:2px 12px;border-radius:99px;font-size:12px;font-weight:600}

/* ---------- 双栏讲解（专题页） ---------- */
.split-2{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}
@media (max-width:1024px){.split-2{grid-template-columns:1fr}}
.split-2 .s2-img{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg)}
.split-2 .s2-img img{width:100%;height:100%;object-fit:cover;min-height:300px}
.split-2 .s2-txt h3{font-size:22px;font-weight:700;margin-bottom:14px;line-height:1.5}
.split-2 .s2-txt h3 em{font-style:normal;color:var(--blue-d)}
.split-2 .s2-txt p{color:var(--ink2);font-size:14.5px;line-height:1.95;margin-bottom:10px}
.split-2 .s2-txt ul li{font-size:14px;color:var(--ink2);display:flex;gap:9px;margin:7px 0}
.split-2 .s2-txt ul li::before{content:"✓";color:var(--blue);font-weight:800}

/* ---------- 服务亮点（功能页） ---------- */
.svc-adv{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1024px){.svc-adv{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.svc-adv{grid-template-columns:1fr}}
.svc-adv .sa{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px 20px;text-align:center;transition:.3s}
.svc-adv .sa:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.svc-adv .sa .sa-ico{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:linear-gradient(135deg,var(--sky),#cfe9ff);display:flex;align-items:center;justify-content:center}
.svc-adv .sa .sa-ico svg{width:26px;height:26px;color:var(--blue-d)}
.svc-adv .sa h3{font-size:15px;font-weight:700;margin-bottom:7px}
.svc-adv .sa p{font-size:13px;color:var(--ink2);line-height:1.8}

/* ---------- 表单页双栏（预约/预审/团报） ---------- */
.form-page{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;align-items:start}
@media (max-width:1024px){.form-page{grid-template-columns:1fr}}
.form-page .fp-info .fi-item{display:flex;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:14px;transition:.25s}
.form-page .fp-info .fi-item:hover{border-color:var(--blue)}
.form-page .fp-info .fi-item svg{width:22px;height:22px;color:var(--blue-d);flex-shrink:0;margin-top:3px}
.form-page .fp-info .fi-item b{font-size:15px;display:block}
.form-page .fp-info .fi-item span{font-size:13px;color:var(--ink2)}

/* 表单页时间提示卡 */
.quick-tip{display:flex;gap:12px;background:var(--sky2);border:1px solid #d9ecfd;border-radius:12px;padding:16px 18px;font-size:13px;color:var(--ink2);line-height:1.8;margin-bottom:18px}
.quick-tip svg{width:18px;height:18px;color:var(--blue-d);flex-shrink:0;margin-top:3px}

/* ---------- 企业团报 ---------- */
.tb-adv{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:1024px){.tb-adv{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.tb-adv{grid-template-columns:1fr}}
.tb-adv .ta{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:26px 22px;position:relative;overflow:hidden;transition:.3s}
.tb-adv .ta::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue);opacity:0;transition:.3s}
.tb-adv .ta:hover::before{opacity:1}
.tb-adv .ta:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.tb-adv .ta h3{font-size:16px;font-weight:700;margin-bottom:9px}
.tb-adv .ta p{font-size:13.5px;color:var(--ink2);line-height:1.85}

/* 团报数据条 */
.tb-band{background:var(--blue-dd);border-radius:18px;padding:34px;color:#fff;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
@media (max-width:1024px){.tb-band{grid-template-columns:repeat(2,1fr)}}
.tb-band b{font-size:32px;display:block;line-height:1.2}
.tb-band span{font-size:13px;color:rgba(255,255,255,.8);display:block;margin-top:6px}

/* 案例卡 */
.case-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:1024px){.case-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.case-cards{grid-template-columns:1fr}}
.case-cards .cs{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.3s}
.case-cards .cs:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.case-cards .cs .cs-img{aspect-ratio:16/8;overflow:hidden}
.case-cards .cs .cs-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.case-cards .cs:hover .cs-img img{transform:scale(1.06)}
.case-cards .cs .cs-body{padding:18px 20px}
.case-cards .cs .cs-body h3{font-size:15px;font-weight:700;margin-bottom:8px}
.case-cards .cs .cs-body p{font-size:13px;color:var(--ink2);line-height:1.8}
.case-cards .cs .cs-body .cs-tag{display:inline-flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.case-cards .cs .cs-body .cs-tag span{font-size:11.5px;background:var(--sky);color:var(--blue-d);padding:3px 10px;border-radius:99px}

/* ---------- 城市页 ---------- */
.city-hero{position:relative;border-radius:20px;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;background-size:cover;background-position:center}
.city-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,45,84,0) 30%,rgba(8,32,58,.9) 100%)}
.city-hero .ch-txt{position:relative;z-index:1;padding:40px 36px;color:#fff}
.city-hero .ch-txt h2{font-size:30px;font-weight:800;letter-spacing:2px}
.city-hero .ch-txt p{font-size:14px;color:rgba(255,255,255,.82);margin-top:8px;max-width:640px}
@media (max-width:640px){.city-hero .ch-txt{padding:26px 20px}.city-hero .ch-txt h2{font-size:24px}}

/* 城市服务清单 */
.city-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (max-width:640px){.city-list{grid-template-columns:1fr}}
.city-list .cl{display:flex;gap:12px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:16px 18px;transition:.25s}
.city-list .cl:hover{border-color:var(--blue);box-shadow:var(--shadow)}
.city-list .cl svg{width:22px;height:22px;color:var(--blue-d);flex-shrink:0;margin-top:2px}
.city-list .cl b{font-size:14.5px;display:block;margin-bottom:3px}
.city-list .cl span{font-size:13px;color:var(--ink2)}

/* 周边县市跳转 */
.nearby{display:flex;flex-wrap:wrap;gap:10px}
.nearby a{font-size:13px;padding:8px 18px;border-radius:99px;background:var(--white);border:1.5px solid var(--line);color:var(--ink2);transition:.25s}
.nearby a:hover{border-color:var(--blue);color:var(--blue-d);background:var(--sky)}

/* ---------- 关于我们 ---------- */
.about-timeline{position:relative;padding-left:30px}
.about-timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--line)}
.about-timeline .at{position:relative;padding:0 0 26px 26px}
.about-timeline .at:last-child{padding-bottom:0}
.about-timeline .at::before{content:"";position:absolute;left:-25px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--white);border:3px solid var(--blue);box-shadow:0 0 0 5px var(--sky)}
.about-timeline .at b{font-size:15.5px;display:block;margin-bottom:4px}
.about-timeline .at b i{font-style:normal;color:var(--blue-d);margin-right:8px}
.about-timeline .at p{font-size:13.5px;color:var(--ink2);line-height:1.85}

/* 承诺卡 */
.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:1024px){.promise-grid{grid-template-columns:1fr}}
.promise-grid .pm{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px 22px;text-align:center;transition:.3s}
.promise-grid .pm:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.promise-grid .pm .pm-ico{width:50px;height:50px;margin:0 auto 12px;border-radius:50%;background:var(--sky);display:flex;align-items:center;justify-content:center}
.promise-grid .pm .pm-ico svg{width:25px;height:25px;color:var(--blue-d)}
.promise-grid .pm h3{font-size:15.5px;font-weight:700;margin-bottom:8px}
.promise-grid .pm p{font-size:13px;color:var(--ink2);line-height:1.8}

/* ---------- 联系我们 ---------- */
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1024px){.contact-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.contact-cards{grid-template-columns:1fr}}
.contact-cards .cc{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:26px 20px;text-align:center;transition:.3s}
.contact-cards .cc:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.contact-cards .cc .cc-ico{width:56px;height:56px;margin:0 auto 14px;border-radius:16px;background:linear-gradient(135deg,var(--blue),#57b3ff);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(46,158,245,.32)}
.contact-cards .cc .cc-ico svg{width:28px;height:28px;color:#fff}
.contact-cards .cc b{font-size:16px;display:block;margin-bottom:6px}
.contact-cards .cc span{font-size:13.5px;color:var(--ink2);line-height:1.8;display:block}

/* ---------- 常见问题页 ---------- */
.faq-layout{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}
@media (max-width:1024px){.faq-layout{grid-template-columns:1fr}}
.faq-cat{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.faq-cat a{font-size:13.5px;padding:8px 18px;border-radius:99px;border:1.5px solid var(--line);color:var(--ink2);background:var(--white);transition:.25s}
.faq-cat a.on,.faq-cat a:hover{background:var(--blue);border-color:var(--blue);color:#fff}

/* ---------- 网站地图 ---------- */
.map-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:1024px){.map-cols{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.map-cols{grid-template-columns:1fr}}
.map-cols .mp{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px}
.map-cols .mp h3{font-size:15.5px;font-weight:700;padding-bottom:10px;margin-bottom:12px;border-bottom:2px solid var(--sky);position:relative}
.map-cols .mp h3::after{content:"";position:absolute;left:0;bottom:-2px;width:40px;height:2px;background:var(--blue)}
.map-cols .mp a{display:block;padding:7px 2px;font-size:13.5px;color:var(--ink2);transition:.2s}
.map-cols .mp a:hover{color:var(--blue-d);padding-left:6px}

/* ---------- 404 ---------- */
.err-404{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 20px;position:relative;overflow:hidden}
.err-404 .e-num{font-size:160px;font-weight:800;color:var(--sky);line-height:1;letter-spacing:6px;position:absolute;left:50%;top:60px;transform:translateX(-50%);z-index:-1;white-space:nowrap}
.err-404 h1{font-size:30px;font-weight:800;margin:10px 0;white-space:nowrap}
.err-404 h1 em{font-style:normal;color:var(--blue-d)}
.err-404 p{color:var(--ink2);font-size:15px;margin-bottom:24px}
@media (max-width:640px){.err-404 .e-num{font-size:100px}}

/* ===== 网站地图 ===== */
.sitemap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sm-col{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px 24px;transition:.3s}
.sm-col:hover{box-shadow:var(--shadow-lg);border-color:#bfdcf6}
.sm-col h3{font-size:15px;font-weight:700;color:var(--blue-dd);padding-bottom:12px;margin-bottom:14px;border-bottom:2px solid var(--sky);position:relative;letter-spacing:.5px}
.sm-col h3::after{content:"";position:absolute;left:0;bottom:-2px;width:42px;height:2px;background:var(--blue)}
.sm-col a{display:block;padding:7px 2px;font-size:13.5px;color:var(--ink2);border-bottom:1px dashed var(--line);transition:.2s}
.sm-col a:hover{color:var(--blue-d);padding-left:8px}
.sm-col a:last-child{border-bottom:none}
@media (max-width:960px){.sitemap-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.sitemap-grid{grid-template-columns:1fr}}
/* ===== 404 按钮与提示 ===== */
.e-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:8px 0 16px}
.e-tip{font-size:13px;color:var(--ink3)}
@media (max-width:640px){.e-actions .btn{width:100%}}
