/* xnn-citymod v1 · 问答页「同城校区 + 最近开班」模块  2026-11-05 */
.xnc{margin:26px 0 8px;padding:16px 16px 14px;background:#fbfcff;border:1px solid #e9eef6;border-radius:14px;font-family:inherit;color:#2b3a4a}
.xnc *{box-sizing:border-box}
.xnc-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.xnc-tt{display:flex;align-items:center;gap:9px;min-width:0}
.xnc-tt i{flex:none;width:8px;height:22px;border-radius:4px;background:linear-gradient(180deg,#ff7a3d,#e23a2e);display:block}
.xnc-tt h2{margin:0;font-size:19px;line-height:1.4;font-weight:800;color:#1f2c3d;letter-spacing:-.2px}
.xnc-tt h2 em{font-style:normal;color:#e23a2e}
.xnc-pick{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;color:#8b97a6}
.xnc-pick button{border:1px solid #e3e8f0;background:#fff;color:#4a5a6e;border-radius:14px;padding:5px 12px;font-size:12.5px;line-height:1.4;cursor:pointer;transition:.18s;font-family:inherit}
.xnc-pick button:hover{border-color:#ffb08a;color:#c8331f}
.xnc-pick button.on{background:linear-gradient(135deg,#ff6a34,#e23a2e);border-color:transparent;color:#fff;font-weight:700;box-shadow:0 4px 12px rgba(226,58,46,.22)}
.xnc-row{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:12px}
.xnc-card{background:#fff;border:1px solid #e6ebf3;border-radius:14px;padding:15px 16px;display:flex;flex-direction:column;min-height:150px;transition:.2s}
.xnc-card:hover{border-color:#ffc9b1;box-shadow:0 8px 20px rgba(226,58,46,.07)}
.xnc-card em{font-style:normal;font-size:12px;color:#9aa6b6;letter-spacing:.5px;margin-bottom:7px}
.xnc-card b{font-size:16px;font-weight:800;color:#1f2c3d;line-height:1.45;margin-bottom:5px}
.xnc-card p{margin:0 0 4px;font-size:13.2px;line-height:1.72;color:#4d5c6e}
.xnc-card p.sub{font-size:12.6px;color:#7b8797;line-height:1.7}
.xnc-card a{margin-top:auto;padding-top:9px;font-size:12.8px;color:#c8331f;text-decoration:none;font-weight:600}
.xnc-card a:hover{text-decoration:underline}
.xnc-hl{display:inline-block;background:#fff3ec;color:#c8331f;font-weight:700;border-radius:5px;padding:0 5px;margin:0 1px}
.xnc-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;background:linear-gradient(135deg,#fff6f0,#fff9f4);border:1px solid #ffd9c2;border-radius:14px;padding:13px 16px}
.xnc-fi{flex:1 1 300px;min-width:220px;line-height:1.5}
.xnc-fi b{display:block;font-size:14.5px;color:#b32d22;font-weight:800}
.xnc-fi b i{font-style:normal}
.xnc-fi span{display:block;font-size:12px;color:#946f5f;margin-top:3px}
.xnc-form input[type=tel],.xnc-form select{height:44px;border:1px solid #e6d5c9;border-radius:10px;background:#fff;padding:0 12px;font-size:14px;font-family:inherit;color:#2b3a4a;outline:none}
.xnc-form input[type=tel]{flex:0 1 168px;min-width:150px}
.xnc-form select{flex:0 1 118px;min-width:104px;color:#5b6a7d}
.xnc-form input[type=tel]:focus,.xnc-form select:focus{border-color:#ff8f5e;box-shadow:0 0 0 3px rgba(255,122,61,.13)}
.xnc-form button{flex:0 0 auto;height:44px;padding:0 22px;border:0;border-radius:22px;background:linear-gradient(135deg,#ff5a2a,#e0212a);color:#fff;font-size:15px;font-weight:800;font-family:inherit;cursor:pointer;box-shadow:0 6px 16px rgba(224,33,42,.24)}
.xnc-form button:active{transform:translateY(1px)}
.xnc-form button:disabled{opacity:.62;cursor:default}
.xnc-msg{flex:1 1 100%;font-size:12.8px;line-height:1.6;display:none}
.xnc-msg.ok{display:block;color:#1c7a4a}
.xnc-msg.err{display:block;color:#c8331f}
.xnc-tip{max-width:860px;margin:8px auto 0;font-size:12px;color:#9aa6b6;line-height:1.7}
@media(max-width:768px){
  .xnc{margin:22px 0 8px;padding:12px 12px 11px}
  .xnc-tt h2{font-size:16.5px}
  .xnc-pick{width:100%;gap:5px}
  .xnc-pick button{padding:4px 10px;font-size:12px}
  .xnc-row{grid-template-columns:1fr;gap:9px}
  .xnc-card{min-height:0;padding:13px 14px}
  .xnc-card b{font-size:15px}
  .xnc-form{padding:12px 13px;gap:8px}
  .xnc-fi{flex:1 1 100%}
  .xnc-form input[type=tel]{flex:1 1 100%}
  .xnc-form select{flex:1 1 100%}
  .xnc-form button{flex:1 1 100%}
}
