﻿

/* ===== 通栏大图（全站共用栏目 banner） ===== */
/* .page-hero{min-height:220px;background:linear-gradient(120deg,#07214A 0%,#0C447C 55%,#1A56DB 100%);padding:0;color:#fff;text-align:center;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}
 */
 
/* ===== 页面标题（左栏顶部 H1） ===== */
.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;padding:12px 32px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.page-head h1{font-size:26px;font-weight:900;color:var(--ink);margin:0}
.page-head p{margin:0;font-size:14px;color:var(--ink-faint);line-height:1.6}

/* ===== 左右布局 ===== */
.bro-layout{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;padding:48px 0 72px;align-items:start}

/* ===== 联系我们内容 ===== */
.contact-sec{padding:0 32px 4px;margin-top:48px}
.contact-sec:first-child{padding-top:30px;margin-top:0}
.contact-sec:last-child{padding-bottom:30px;margin-bottom:0}
.contact-sec h2{font-size:20px;font-weight:900;color:var(--ink);margin:0 0 14px;padding-left:13px;border-left:4px solid var(--primary);line-height:1.3}
.contact-sec .cs-desc{font-size:14px;color:var(--ink-soft);margin:0 0 20px;line-height:1.85}
.info-rows{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:4px 0}
.info-row{background:#F5F7FB;border:1px solid var(--line);border-radius:12px;padding:15px 18px;display:flex;flex-direction:column;gap:5px}
.info-row .ir-label{font-size:12.5px;color:var(--ink-faint);font-weight:600;letter-spacing:.5px}
.info-row .ir-val{font-size:15.5px;color:var(--ink);font-weight:700;line-height:1.55}
.info-row .ir-val a{color:var(--primary)}
.info-row.full{grid-column:1/-1}
.info-row .ir-sub{font-size:12.5px;color:var(--ink-faint);font-weight:500}
/* 联系方式两列：左=办公电话+公众号，右=手机微信+二维码 */
.info-cols{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:4px 0}
.info-col{display:flex;flex-direction:column;gap:14px}
.info-row.qr-card{align-items:flex-start}
/* 官方公众号卡：文字居左、小码居右横排（与左栏大码微信卡形成主次；qr_gzh 未配时文字区独占） */
.info-row.gzh-card{flex-direction:row;align-items:center;justify-content:space-between;gap:14px}
.gzh-card .gz-txt{display:flex;flex-direction:column;gap:5px}
.gzh-card .qr-sm{width:96px;height:96px;flex-shrink:0;margin-top:0}
.qr-sm{width:128px;height:128px;object-fit:cover;border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff;margin-top:3px}
.route-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px}
.route-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.route-card h3{font-size:17px;font-weight:800;color:var(--primary);margin:0 0 8px;display:flex;align-items:center;gap:8px}
.route-card h3 .ric{width:26px;height:26px;border-radius:8px;background:rgba(26,86,219,.1);display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.route-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.95;margin:0}
/* 路线卡正文容器（后台 prose 版块输出，可能含多个 p 段落） */
.route-card .rc-txt{font-size:13.5px;color:var(--ink-soft);line-height:1.95}
.route-card .rc-txt p{margin:0 0 8px}
.route-card .rc-txt p:last-child{margin-bottom:0}
/* 地图截图（后台「地图截图」上传后输出） */
.map-shot{width:100%;display:block}
.map-card .map-bar{border-top:1px solid var(--line)}
.map-card .map-shot + .map-bar{border-top:none}
/* 咨询时间行（prose 输出容器 div.ir-val，内部 p 行内化避免破坏行式布局） */
.info-row .ir-val p{margin:0;display:inline;font:inherit}
.map-card{margin-top:8px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.map-placeholder{aspect-ratio:16/7;background:linear-gradient(135deg,#EAF0F8,#DCE6F4);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:20px;color:#5B6B7F}
.map-placeholder .mp-pin{font-size:32px;line-height:1}
.map-placeholder .mp-addr{font-size:16px;font-weight:800;color:var(--ink)}
.map-placeholder .mp-tip{font-size:12.5px;color:#8A99AC}
.map-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;background:#fff;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-soft);flex-wrap:wrap}
.map-bar .mb-left{display:flex;align-items:center;gap:7px;font-weight:700;color:var(--ink)}
.map-bar a{font-weight:700;color:var(--primary);white-space:nowrap}
.side-body{padding:14px 14px 16px}
.side-cta .btn{width:100%;justify-content:center;padding:11px 0;font-size:13.5px}
.visit-card .side-body{font-size:13.5px;color:var(--ink-soft);line-height:1.9}
.visit-card .side-body b{color:var(--ink);font-weight:700}

/* ===== CTA 区 ===== */
.cta-banner{width:100%;background:linear-gradient(120deg,#07214A 0%,#1A56DB 70%,#2E7BEA 100%);border-radius:28px;padding:46px 36px;text-align:center;color:#fff;position:relative;overflow:hidden;box-shadow:0 22px 56px rgba(12,68,124,.3)}
.cta-banner h2{font-size:30px;font-weight:900;letter-spacing:1.5px;margin-bottom:10px;line-height:1.5}
.cta-banner p{font-size:15px;color:rgba(255,255,255,.78);margin-bottom:24px}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.copy a{color:#6C7A96}
.ab-form input,.ab-form textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 16px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff;transition:.2s;outline:none}
.ab-foot .btn{padding:12px 34px;font-size:14.5px}
.ab-foot .btn-accent{background:#EAF1FC;color:var(--primary);border:1.5px solid #C9D8EC;box-shadow:none;font-weight:700}
.ab-foot .btn-accent:hover{background:#DCE8FB;box-shadow:none;transform:none}

/* ===== 响应式 ===== */
@media(max-width:1200px){
  .menu a{padding:8px 6px;font-size:12.8px}
  .nav-phone{display:none}
}
@media(max-width:1024px){
  .menu a{padding:8px 7px;font-size:12.5px}
  .nav-phone{display:none}
  .footer-inner{grid-template-columns:1fr 1fr;gap:36px 28px}
  .footer-contact{flex-direction:column;gap:16px}
  .bro-layout{grid-template-columns:1fr;gap:24px;padding:28px 20px 48px}
  .bro-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}
}
@media(max-width:640px){
  .page-hero{min-height:170px;padding:0}
  .page-head{flex-direction:column;align-items:flex-start;gap:14px;padding:12px 20px 22px}
  .page-head h1{font-size:22px}
  .crumbs-inner .crumbs-right{display:none}
  .contact-sec{padding:0 20px}
  .contact-sec:first-child{padding-top:24px}
  .info-rows,.route-wrap,.info-cols{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .menu{display:none}
  .cta-banner{padding:38px 22px;border-radius:20px}
  .cta-banner h2{font-size:23px}
  .bro-side{grid-template-columns:1fr}
  .apply-box{padding:24px 20px 24px}
  .ab-row{grid-template-columns:1fr}
  .ab-foot .btn{width:100%;justify-content:center}
}
