/* 城市报考页：地图坐标 + 右侧常驻咨询卡 + 班期表 */
:root{--acc:#2F5A46;--acc-deep:#244336}

.city-meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:28px;align-items:center}
.city-meta .cm-pin{display:flex;align-items:center;gap:9px;font-size:12.5px;color:rgba(246,238,221,.7)}
.city-meta .cm-pin svg{width:15px;height:15px;stroke:#E2C58C;fill:none;stroke-width:1.6}
.city-meta .cm-pin b{color:#F5E8CB;font-family:var(--serif);font-size:15px}
.city-meta .cm-stamp{border:1px dashed rgba(226,197,140,.5);padding:6px 14px;font-family:var(--serif);font-size:12px;letter-spacing:.16em;color:#E2C58C}

.city-wrap{display:grid;grid-template-columns:1fr 330px;gap:50px;align-items:start;padding:clamp(46px,5.4vw,78px) 0}
.city-main{min-width:0}
.city-section{padding:clamp(28px,3.2vw,44px) 0;border-bottom:1px solid var(--line)}
.city-section:first-child{padding-top:0}
.city-section:last-child{border-bottom:0}
.city-section .cs-head{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}
.city-section .cs-head h2{font-size:clamp(20px,2.2vw,27px)}
.city-section .cs-head span{font-family:var(--serif);font-size:11px;letter-spacing:.18em;color:var(--brass)}
.city-section p{font-size:15px;line-height:2;margin-bottom:12px}

.city-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}
.city-fact{background:var(--paper);border:1px solid var(--line);padding:18px 20px;display:flex;gap:14px;align-items:flex-start}
.city-fact svg{width:19px;height:19px;stroke:var(--acc-deep);fill:none;stroke-width:1.5;flex:none;margin-top:4px}
.city-fact span{display:block;font-size:11px;letter-spacing:.14em;color:var(--ink-3)}
.city-fact b{display:block;font-size:14.5px;color:var(--ink);margin-top:2px;line-height:1.5}

.city-side{position:sticky;top:calc(var(--header-h) + 24px);display:grid;gap:18px}
.side-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-s)}
.side-card .sc-head{background:var(--green);color:#F6EEDD;padding:16px 22px;display:flex;align-items:center;justify-content:space-between}
.side-card .sc-head strong{font-family:var(--serif);font-size:16px;letter-spacing:.06em}
.side-card .sc-head span{font-size:10px;letter-spacing:.18em;color:#E2C58C}
.side-card .sc-body{padding:18px 22px 22px;display:grid;gap:12px}
.side-card .sc-contact{display:grid;gap:9px}
.side-card .sc-contact a{display:flex;align-items:center;gap:9px;font-size:13.4px;color:var(--ink-2)}
.side-card .sc-contact a b{font-family:var(--serif);font-size:17px;color:var(--green)}
.side-card .sc-contact svg{width:15px;height:15px;stroke:var(--caramel);fill:none;stroke-width:1.7}
.side-card .sc-note{font-size:11.8px;color:var(--ink-3);line-height:1.7;border-top:1px dashed var(--line);padding-top:12px}
.side-card .btn{width:100%}
.side-list{background:var(--cream-2);border:1px solid var(--line);padding:20px 22px}
.side-list h5{font-family:var(--serif);font-size:13.5px;letter-spacing:.1em;color:var(--green);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.side-list a{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:12.8px;color:var(--ink-2)}
.side-list a:hover{color:var(--acc-deep)}
.side-list a span{color:var(--ink-3);font-size:11px}

.city-schedule{background:var(--paper);border:1px solid var(--line);margin-top:22px}
.city-schedule table{width:100%;border-collapse:collapse;font-size:13.4px}
.city-schedule th{background:var(--paper-2);padding:10px 16px;text-align:left;font-size:11px;letter-spacing:.14em;color:var(--green);font-weight:600}
.city-schedule td{padding:11px 16px;border-top:1px solid var(--line);color:var(--ink-2)}
.city-schedule td b{color:var(--ink);font-family:var(--serif)}
.city-schedule td .st{display:inline-block;padding:2px 9px;font-size:11px;background:rgba(49,91,73,.1);color:var(--green-2)}
.city-schedule td .st-hot{background:rgba(169,97,44,.12);color:var(--acc-deep)}

.route-list{display:grid;gap:12px;margin-top:18px}
.route-list .route{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:14px 16px;background:var(--paper);border:1px solid var(--line)}
.route-list .route b{font-family:var(--serif);font-size:13px;color:var(--acc-deep);letter-spacing:.06em}
.route-list .route p{margin:0;font-size:13.6px;line-height:1.8}
.route-list .route span{display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px}

.city-local{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.city-local div{background:var(--paper-2);border:1px solid var(--line);padding:16px 18px}
.city-local h4{font-size:14px;margin-bottom:4px}
.city-local p{font-size:12.8px;margin:0;color:var(--ink-3);line-height:1.7}

.city-cta{margin-top:30px;background:var(--green);color:#F6EEDD;padding:28px 30px;position:relative;overflow:hidden}
.city-cta::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 18px,transparent 18px 46px)}
.city-cta>*{position:relative;z-index:2}
.city-cta h3{color:#F8F0DF;font-size:20px}
.city-cta p{color:rgba(246,238,221,.7);font-size:13.4px;margin-top:4px}
.city-cta .btn{margin-top:18px}

@media (max-width:1024px){
  .city-wrap{grid-template-columns:1fr;gap:34px}
  .city-side{position:static;grid-template-columns:1fr 1fr}
  .city-local{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .city-side{grid-template-columns:1fr}
  .city-facts,.city-local{grid-template-columns:1fr}
  .city-schedule{overflow-x:auto}
}
