@charset "utf-8";
/* ==========================================================
   远之杰手机站 · 设计系统 v3
   主色蓝 #2563eb / CTA 橙 #ff6a00
   ========================================================== */

:root{
  --brand:#2563eb; --brand-d:#1d4ed8; --brand-l:#eef4ff; --brand-xl:#f6f9ff;
  --cta:#ff6a00;  --cta-d:#e35c00;  --cta-l:#fff4ec;
  --t1:#141c2b;   --t2:#59637a;     --t3:#98a2b8;
  --line:#edf1f7; --bg:#f3f5fa;     --card:#fff;
  --ok:#12b76a;   --warn:#f79009;
  --r:14px; --r2:10px; --r3:6px;
  --sh:0 2px 10px rgba(18,32,64,.06);
  --sh2:0 6px 20px rgba(18,32,64,.10);
  /* 卡片通栏：外边距为 0，靠卡片内部 padding 留白 */
  --pad:0px;
  --in:14px;   /* 卡片内部左右 padding */
  --safe:env(safe-area-inset-bottom,0px);
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;max-width:100%}
body{
  background:var(--bg); color:var(--t1); overflow-x:hidden;
  font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;
  padding-bottom:calc(58px + var(--safe));
}
main.page{overflow-x:clip}
body.nonav{padding-bottom:calc(68px + var(--safe))}
img{display:block;max-width:100%;border:0}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,figure{margin:0}
input,select,button{font-family:inherit;font-size:14px;outline:none}

/* ================= 顶栏 ================= */
.topbar{
  position:sticky;top:0;z-index:60;height:48px;
  background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;padding:0 10px;
}
.topbar .tb-back,.topbar .tb-home,.topbar .tb-tel{
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--t1);flex:none;
}
.topbar .tb-tel{color:var(--brand)}
.tb-title{
  flex:1;text-align:center;font-size:16px;font-weight:600;color:var(--t1);
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 6px;
}
.tb-brand{flex:1;display:flex;align-items:center;gap:7px;min-width:0}
.tb-brand .lg{
  width:26px;height:26px;border-radius:8px;flex:none;
  background:linear-gradient(135deg,var(--brand),var(--brand-d));
  color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.tb-brand .nm{font-size:16px;font-weight:700;color:var(--t1);letter-spacing:.5px}
.tb-brand .nm b{color:var(--brand)}
.tb-city{
  display:flex;align-items:center;gap:3px;margin-right:10px;flex:none;
  font-size:12px;color:var(--brand);background:var(--brand-l);
  padding:4px 9px;border-radius:20px;
}
.tb-city svg{fill:var(--brand)}

/* ================= 页面容器 ================= */
.page{padding:0 0 8px}
.blk{background:var(--card);margin:0;padding:14px var(--in);border-bottom:1px solid var(--line)}
.blk.flat{box-shadow:none;padding:0;overflow:hidden}
.blk-hd{display:flex;align-items:baseline;gap:8px;margin:16px var(--in) 8px}
.blk-hd h2{font-size:16px;font-weight:700;color:var(--t1)}
.blk-hd .sub{font-size:12px;color:var(--t3);font-weight:400}
.blk-hd .more{margin-left:auto;font-size:12px;color:var(--t3)}

/* ================= 星级 ================= */
.mstars{display:inline-flex;align-items:center;gap:1px;vertical-align:middle}
.mstars .star{width:12px;height:12px;font-size:12px;line-height:12px;font-style:normal;display:inline-block}
.star.full::before{content:"★";color:#ff9f1a}
.star.half::before{
  content:"★";color:transparent;
  background:linear-gradient(90deg,#ff9f1a 50%,#dfe4ee 50%);
  -webkit-background-clip:text;background-clip:text;
}
.star.empty::before{content:"★";color:#dfe4ee}
.mstars b{margin-left:4px;font-size:12px;color:#ff9f1a;font-weight:600;font-style:normal}

/* ================= 图片占位 ================= */
.uiph{
  display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  color:#fff;font-size:20px;font-weight:700;
}
img.uiph{display:flex}

/* ================= 机构卡 ================= */
.orgcard{
  display:flex;gap:11px;padding:14px 0;background:var(--card);
  border-bottom:1px solid var(--line);
}
.orgcard:last-child{border-bottom:0}
.orgcard .thumb{
  position:relative;width:52px;height:52px;flex:none;border-radius:var(--r2);
  overflow:hidden;background:var(--brand-xl);
}
.orgcard .thumb img,.orgcard .thumb .uiph{width:100%;height:100%;object-fit:contain;padding:5px}
.orgcard.big .thumb{width:110px;height:80px;background:#eef1f6;border-radius:10px}
.orgcard.big .thumb img{object-fit:cover;padding:0}
.orgcard.big .thumb .uiph{font-size:28px}
.orgcard .thumb .badge{
  position:absolute;left:0;top:0;color:#fff;font-weight:600;
  font-size:10.5px;line-height:1;padding:4px 7px;border-radius:10px 0 8px 0;
  background:linear-gradient(135deg,#ff8a3d,#f0453a);
  box-shadow:0 1px 4px rgba(240,69,58,.4);
}
.orgcard .body{flex:1;min-width:0}
.orgcard .nm{font-size:15px;font-weight:600;color:var(--t1);line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.orgcard .rate{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:12px;color:var(--t2)}
.orgcard .rate .loc{color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.orgcard .tags{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}
.orgcard .tags i{
  font-style:normal;font-size:11px;color:var(--brand);background:var(--brand-l);
  padding:2px 7px;border-radius:4px;
}
.orgcard .foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.orgcard .foot .meta{font-size:12px;color:var(--t3)}
.orgcard .foot .meta b{color:var(--t2);font-weight:600}
.orgcard .foot .cta{
  font-size:12px;color:#fff;background:linear-gradient(135deg,var(--cta),var(--cta-d));
  padding:4px 12px;border-radius:20px;font-weight:500;
}
.orglist{background:var(--card);padding:0 var(--in)}
.orglist .orgcard:first-child{padding-top:14px}
.orglist .orgcard{margin-bottom:10px}

/* 机构网格小卡 */
.orggrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.orgcell{
  background:var(--brand-xl);border-radius:var(--r2);padding:12px 6px;text-align:center;
  min-width:0;overflow:hidden;
}
.orgcell .thumb{
  width:44px;height:44px;margin:0 auto 6px;border-radius:50%;overflow:hidden;background:var(--brand-xl);
}
.orgcell .thumb img,.orgcell .thumb .uiph{width:100%;height:100%;object-fit:contain;padding:4px}
.orgcell .thumb .uiph{font-size:18px}
.orgcell .nm{font-size:12.5px;font-weight:600;color:var(--t1);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.orgcell .ct{font-size:11px;color:var(--t3);margin-top:2px}

/* ================= 课程卡 ================= */
.csgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px var(--in);background:var(--card)}
.cscard{background:var(--card);border-radius:var(--r2);overflow:hidden;
  border:1px solid var(--line)}
.cscard .thumb{position:relative;height:96px;background:#f0f2f7}
.cscard .thumb img{width:100%;height:100%;object-fit:cover}
.cscard .thumb .uiph{font-size:28px}
.cscard .thumb .chip{
  position:absolute;left:6px;top:6px;font-size:10px;color:#fff;
  background:rgba(37,99,235,.88);padding:2px 7px;border-radius:4px;
}
.cscard .body{padding:9px 10px 11px}
.cscard .nm{font-size:13.5px;font-weight:600;color:var(--t1);line-height:1.4;height:38px;overflow:hidden}
.cscard .price{font-size:15px;font-weight:700;color:var(--cta);margin-top:4px}
.cscard .sub{display:flex;justify-content:space-between;gap:6px;margin-top:4px;font-size:11px;color:var(--t3)}
.cscard .sub .org{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.cscard .sub .hot{flex:none}

/* 课程横条 */
.csline{
  display:flex;align-items:center;gap:10px;background:var(--card);
  padding:11px 0;border-bottom:1px solid var(--line);
}
.csline:last-child{border-bottom:0}
.csline .thumb{width:58px;height:44px;flex:none;border-radius:var(--r3);overflow:hidden;background:#f0f2f7}
.csline .thumb img{width:100%;height:100%;object-fit:cover}
.csline .thumb .uiph{font-size:16px}
.csline .info{flex:1;min-width:0}
.csline .nm{font-size:13.5px;font-weight:600;color:var(--t1);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.csline .mt{font-size:12px;color:var(--cta);margin-top:3px}
.csline .cta{
  flex:none;font-size:12px;color:var(--brand);border:1px solid var(--brand);
  padding:3px 11px;border-radius:20px;
}

/* ================= 校区行 ================= */
.cprow{display:flex;align-items:center;gap:10px;background:var(--card);
  padding:13px 0;border-bottom:1px solid var(--line)}
.cprow:last-child{border-bottom:0}
.cprow .pin{
  width:32px;height:32px;flex:none;border-radius:50%;background:var(--brand-l);
  display:flex;align-items:center;justify-content:center;font-size:15px;
}
.cprow .info{flex:1;min-width:0}
.cprow .nm{font-size:14px;font-weight:600;color:var(--t1);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cprow .ad{font-size:12px;color:var(--t3);margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cprow .cta{flex:none;font-size:12px;color:var(--cta);border:1px solid var(--cta);
  padding:3px 11px;border-radius:20px}

/* ================= 通用块 ================= */
.blkhd{display:flex;align-items:baseline;gap:8px;margin:0;padding:16px var(--in) 10px;background:var(--card)}
.blkhd h2{font-size:16px;font-weight:700;color:var(--t1)}
.blkhd .sub{font-size:12px;color:var(--t3);font-weight:400}
.blkhd .more{margin-left:auto;font-size:12px;color:var(--t3)}

.emptybox{padding:46px 20px;text-align:center;color:var(--t3)}
.emptybox .ic{font-size:38px;opacity:.45}
.emptybox p{margin-top:10px;font-size:13px}

.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips i{font-style:normal;font-size:11.5px;color:var(--t2);background:#f1f4f9;
  padding:3px 9px;border-radius:4px}
.chips.blue i{color:var(--brand);background:var(--brand-l)}
.chips.orange i{color:var(--cta);background:var(--cta-l)}

.pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 0 4px}
.pager .pg{
  font-size:13px;color:var(--brand);border:1px solid var(--line);
  background:#fff;padding:7px 18px;border-radius:20px;
}
.pager .cur{font-size:13px;color:var(--t3)}

/* ================= 吸顶 tab ================= */
.tabs{
  position:sticky;top:48px;z-index:50;display:flex;background:#fff;
  border-bottom:1px solid var(--line);
  margin:0;border-radius:0;
  padding:0 4px;overflow-x:auto;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.tabs::-webkit-scrollbar{display:none}
.tabs a{
  flex:none;padding:12px 13px;font-size:14px;color:var(--t2);position:relative;white-space:nowrap;
}
.tabs a.on{color:var(--brand);font-weight:600}
.tabs a.on::after{
  content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:6px;
  width:20px;height:3px;border-radius:3px;background:var(--brand);
}

/* ================= 吸底动作栏 ================= */
.actbar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;gap:10px;
  padding:8px var(--pad) calc(8px + var(--safe));background:#fff;
  box-shadow:0 -2px 12px rgba(18,32,64,.08);
}
.actbar .ab{
  flex:1;height:44px;line-height:44px;text-align:center;border-radius:22px;
  font-size:15px;font-weight:600;
}
.actbar .ab.primary{background:linear-gradient(135deg,var(--cta),var(--cta-d));color:#fff}
.actbar .ab.ghost{background:linear-gradient(135deg,var(--brand),var(--brand-d));color:#fff}
.actbar .ab.line{background:#fff;color:var(--brand);border:1px solid var(--brand);line-height:42px}

/* ================= 底栏导航 ================= */
.tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;
  background:#fff;border-top:1px solid var(--line);
  padding-bottom:var(--safe);
}
.tabbar a{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  height:54px;color:var(--t3);font-size:11px;gap:2px;
}
.tabbar a.on{color:var(--brand)}

/* ================= 首页 hero ================= */
.hero{
  background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 55%,#163fae 100%);
  padding:16px var(--in) 18px;color:#fff;
}
.hero .slogan{font-size:19px;font-weight:700;letter-spacing:.5px}
.hero .desc{font-size:12.5px;opacity:.9;margin-top:5px}
.heroform{
  display:flex;align-items:center;gap:8px;background:#fff;border-radius:24px;
  padding:5px 5px 5px 14px;margin-top:14px;
}
.heroform input{
  flex:1;border:0;background:transparent;font-size:14px;color:var(--t1);height:32px;min-width:0;
}
.heroform input::placeholder{color:var(--t3)}
.heroform button{
  flex:none;border:0;height:32px;padding:0 18px;border-radius:20px;color:#fff;font-size:14px;font-weight:600;
  background:linear-gradient(135deg,var(--cta),var(--cta-d));
}
.heroform select{
  flex:none;border:0;background:var(--brand-l);color:var(--brand);
  height:32px;border-radius:16px;padding:0 8px;font-size:12px;max-width:88px;
}
.herostats{display:flex;margin-top:14px}
.herostats .it{flex:1;text-align:center;position:relative}
.herostats .it::after{
  content:"";position:absolute;right:0;top:4px;bottom:4px;width:1px;background:rgba(255,255,255,.25);
}
.herostats .it:last-child::after{display:none}
.herostats .v{font-size:18px;font-weight:700;line-height:1.2}
.herostats .l{font-size:11px;opacity:.85;margin-top:2px}
.herotips{display:flex;gap:14px;margin-top:12px;font-size:11.5px;opacity:.9}

/* 分类宫格 */
.catgrid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px 0;
  background:var(--card);padding:14px var(--in);
  border-bottom:1px solid var(--line);
}
.catgrid a{text-align:center;padding:6px 2px}
.catgrid .ic{
  width:42px;height:42px;margin:0 auto;border-radius:14px;background:var(--brand-xl);
  display:flex;align-items:center;justify-content:center;font-size:21px;
}
.catgrid .nm{font-size:11.5px;color:var(--t2);margin-top:5px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 快捷筛选 */
.quickbar{display:flex;gap:8px;padding:12px var(--in);background:var(--card)}
.quickbar a{
  flex:1;text-align:center;background:var(--bg);border-radius:var(--r2);
  padding:11px 0;font-size:13px;color:var(--t1);border:1px solid var(--line);
}
.quickbar a.on{background:linear-gradient(135deg,var(--brand),var(--brand-d));color:#fff}

/* 城市网格 */
.citygrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:4px var(--in) 14px;background:var(--card)}
.citygrid a{
  text-align:center;background:var(--bg);border-radius:var(--r2);padding:9px 2px;
  font-size:12.5px;color:var(--t2);border:1px solid var(--line);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* 评价卡 */
.revcard{background:var(--card);padding:14px 0;border-bottom:1px solid var(--line)}
.revcard:last-child{border-bottom:0}
.blk .revcard{padding:14px 0}
.blk .revcard:first-child{padding-top:0}
.revcard .hd{display:flex;align-items:center;gap:8px}
.revcard .av{
  width:32px;height:32px;flex:none;border-radius:50%;background:var(--brand-l);color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;
}
.revcard .who{font-size:13.5px;font-weight:600;color:var(--t1)}
.revcard .cr{font-size:11.5px;color:var(--t3)}
.revcard .ct{font-size:13px;color:var(--t2);line-height:1.7;margin-top:8px}
.revgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}

/* 资讯列表 */
.artlist{background:var(--card)}
.artlist a{
  display:flex;align-items:center;gap:8px;padding:13px 14px;font-size:13.5px;color:var(--t1);
  border-bottom:1px solid var(--line);
}
.artlist a:last-child{border-bottom:0}
.artlist .dot{width:5px;height:5px;border-radius:50%;background:var(--brand);flex:none}
.artlist .arrow{margin-left:auto;color:var(--t3)}

/* ================= 详情页 ================= */
.dhero{position:relative;background:#e9edf5;overflow:hidden}
.dhero > img{display:block;width:100%;height:auto;min-height:210px;object-fit:cover;font-size:0;color:transparent}
.dhero > .uiph{height:150px;font-size:52px}
/* 课程头图：封面多为带文字的宽图，用 contain + 深底避免裁掉标题 */
.dhero.wide{background:#141c2b}
.dhero.wide > img{width:100%;height:auto;max-height:300px;object-fit:contain;margin:0 auto}
.dhero.wide .mask{display:none}
.dhero .call{
  position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:50%;
  background:rgba(0,0,0,.42);display:flex;align-items:center;justify-content:center;
}
.dhero .call svg{fill:#fff}
.dhero .mask{display:none}

/* 机构信息卡 */
.dcard{margin:0;position:relative;z-index:2;background:var(--card);
  border-radius:0;padding:14px var(--in);box-shadow:var(--sh)}
.dcard .top{display:flex;gap:11px}
.dcard .lg{
  width:56px;height:56px;flex:none;border-radius:var(--r2);overflow:hidden;background:var(--brand-xl);
}
.dcard .lg img{width:100%;height:100%;object-fit:contain;padding:5px}
.dcard .lg .uiph{font-size:22px}
.dcard .inf{flex:1;min-width:0}
.dcard .nm{font-size:17px;font-weight:700;color:var(--t1);line-height:1.35}
.dcard .rt{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:12px;color:var(--t2);flex-wrap:wrap}
.dcard .rt .sc{color:var(--cta);font-weight:600}
.dcard .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}

/* 四格数据 */
.dstats{display:flex;background:var(--card);
  margin:0;padding:14px 0;border-bottom:1px solid var(--line)}
.dstats .it{flex:1;text-align:center;position:relative}
.dstats .it::after{content:"";position:absolute;right:0;top:6px;bottom:6px;width:1px;background:var(--line)}
.dstats .it:last-child::after{display:none}
.dstats .v{font-size:17px;font-weight:700;color:var(--brand)}
.dstats .v b{font-size:11px;font-weight:400;color:var(--t3);margin-left:1px}
.dstats .l{font-size:11.5px;color:var(--t3);margin-top:3px}

/* 区块 */
.dsec{background:var(--card);
  margin:0;padding:14px var(--in);scroll-margin-top:58px;
  border-bottom:1px solid var(--line)}
/* tab 之后的第一块：与 tab 拼成一张卡 */
.tabs + .dsec{margin-top:0}
.dsec > .h{font-size:15px;font-weight:700;color:var(--t1);margin-bottom:11px;
  display:flex;align-items:baseline;gap:7px}
.dsec > .h .cnt{font-size:12px;color:var(--t3);font-weight:400}

/* 信息列表 */
.infolist{border-radius:var(--r2);overflow:hidden;background:var(--brand-xl)}
.infolist .it{display:flex;gap:10px;padding:11px 12px;font-size:13px;border-bottom:1px solid #e8eefb}
.infolist .it:last-child{border-bottom:0}
.infolist .k{flex:none;width:66px;color:var(--t3)}
.infolist .v{flex:1;color:var(--t1);word-break:break-all}
.infolist .v a{color:var(--brand)}
.infolist .v.price{color:var(--cta);font-weight:700}
.infolist .v .morebtn{color:var(--brand);margin-left:2px;white-space:nowrap}

/* 富文本 */
.rich{font-size:13.5px;line-height:1.85;color:var(--t2);word-break:break-word;overflow:hidden}
.rich img{max-width:100%;height:auto;border-radius:var(--r3);margin:8px 0;display:block}
.rich p{margin:0 0 8px}
.rich a{color:var(--brand)}
.rich table{max-width:100%;overflow-x:auto;display:block}
.leadbox{
  background:var(--cta-l);border-left:3px solid var(--cta);border-radius:0 var(--r3) var(--r3) 0;
  padding:10px 12px;font-size:13px;color:#8a4b12;line-height:1.7;margin-bottom:12px;
}

/* 优势列表 */
.advlist{border-radius:var(--r2);overflow:hidden;background:var(--brand-xl)}
.advlist .it{display:flex;gap:9px;padding:11px 12px;border-bottom:1px solid #e8eefb}
.advlist .it:last-child{border-bottom:0}
.advlist .no{
  flex:none;width:18px;height:18px;border-radius:50%;background:var(--brand);color:#fff;
  font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:600;margin-top:2px;
}
.advlist .t{font-size:12.5px;color:var(--t2);line-height:1.6}
.advlist .t b{display:block;color:var(--t1);font-size:13.5px;margin-bottom:2px}

/* 评分头 */
.scorehd{display:flex;align-items:center;gap:16px;padding:12px;background:var(--brand-xl);
  border-radius:var(--r2);margin-bottom:12px}
.scorehd .big{font-size:32px;font-weight:700;color:var(--cta);line-height:1}
.scorehd .lb{font-size:11.5px;color:var(--t3);margin-top:4px;text-align:center}
.scorehd .rt .sr{font-size:12px;color:var(--t2);margin-top:5px}

/* 相册 */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.gallery img{width:100%;height:86px;object-fit:cover;border-radius:var(--r3)}
.introphoto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.introphoto figure{margin:0}
.introphoto img{width:100%;height:74px;object-fit:cover;border-radius:var(--r3)}
.introphoto figcaption{font-size:11px;color:var(--t3);text-align:center;margin-top:5px}

/* 地图 */
.mapbox{width:100%;border-radius:var(--r2);overflow:hidden;background:#e9edf5}
.maptip{font-size:11.5px;color:var(--t3);margin-top:6px;text-align:center}

/* 课程详情卡 */
.cocard{margin:0;position:relative;z-index:2;background:var(--card);
  border-radius:0;padding:15px var(--in);box-shadow:var(--sh)}
.cocard .nm{font-size:17px;font-weight:700;color:var(--t1);line-height:1.4}
.cocard .pr{display:flex;align-items:baseline;gap:8px;margin-top:10px}
.cocard .pr .p{font-size:22px;font-weight:700;color:var(--cta);line-height:1}
.cocard .pr .o{font-size:12px;color:var(--t3);text-decoration:line-through}
.cocard .pr .hot{margin-left:auto;font-size:12px;color:var(--t3)}
.cocard .metas{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.cocard .orglink{
  display:flex;align-items:center;gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line);
}
.cocard .orglink .lg{width:38px;height:38px;flex:none;border-radius:50%;overflow:hidden;background:var(--brand-xl)}
.cocard .orglink .lg img{width:100%;height:100%;object-fit:contain;padding:3px}
.cocard .orglink .lg .uiph{font-size:16px}

/* 白字透明底 logo（贴白底会隐形）单独给深底 */
.dcard .lg img[src*="brand_dianfeng"],
.orgcard .thumb img[src*="brand_dianfeng"],
.orgcell .thumb img[src*="brand_dianfeng"],
.cocard .orglink .lg img[src*="brand_dianfeng"]{
  background:#047857;border-radius:4px;padding:6px;
}
.cocard .orglink .oi{flex:1;min-width:0}
.cocard .orglink .on{font-size:14px;font-weight:600;color:var(--t1);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cocard .orglink .os{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--t3);margin-top:3px}
.cocard .orglink .go{flex:none;font-size:12px;color:var(--brand)}

/* 预约表单 */
.leadform{background:linear-gradient(135deg,#eef6ff,#f6fbff);border-radius:var(--r);padding:14px;margin-top:12px}
.leadform .lt{font-size:14px;font-weight:700;color:var(--t1)}
.leadform .row{display:flex;gap:8px;margin-top:10px}
.leadform input{
  flex:1;min-width:0;height:38px;border:1px solid #dbe5f5;border-radius:8px;
  background:#fff;padding:0 11px;font-size:13px;color:var(--t1);
}
.leadform input::placeholder{color:var(--t3)}
.leadform .sub{
  display:block;width:100%;height:42px;margin-top:10px;border:0;border-radius:21px;
  background:linear-gradient(135deg,#f0453a,#d92d20);color:#fff;font-size:15px;font-weight:600;
}
.leadform .tips{display:flex;gap:12px;margin-top:9px;font-size:11px;color:var(--t2);opacity:.85}

/* 校区头 */
.cphead{background:linear-gradient(135deg,var(--brand),var(--brand-d));padding:16px var(--in) 18px;color:#fff}
.cphead .nm{font-size:18px;font-weight:700;line-height:1.35}
.cphead .rt{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12.5px;opacity:.95;flex-wrap:wrap}
.cphead .rt .sc{font-weight:700}
.cphead .mstars b{color:#ffd7a1}
.cpgallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px var(--in);background:var(--card)}
.cpgallery img{width:100%;height:104px;object-fit:cover;border-radius:var(--r2)}
.cprows{background:var(--card);margin:0;overflow:hidden;border-bottom:1px solid var(--line)}
.cprows .r{display:flex;gap:10px;padding:12px 14px;font-size:13px;border-bottom:1px solid var(--line)}
.cprows .r:last-child{border-bottom:0}
.cprows .k{flex:none;width:66px;color:var(--t3)}
.cprows .v{flex:1;color:var(--t1)}
.cpstatus{display:flex;align-items:center;background:var(--card);
  margin:0;padding:12px var(--in);font-size:13px;border-bottom:1px solid var(--line)}
.cpstatus .st{color:var(--t2)}
.cpstatus .st b{color:var(--ok)}
.cpstatus .st.bad b{color:var(--warn)}
.cpstatus .go{margin-left:auto;color:var(--brand);font-size:13px}
.cpfeat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cpfeat .it{background:var(--brand-xl);border-radius:var(--r2);padding:10px;
  font-size:12.5px;color:var(--t2);text-align:center}
.transit{background:var(--brand-xl);border-radius:var(--r2);overflow:hidden}
.transit .it{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;
  font-size:12.5px;color:var(--t2);border-bottom:1px solid #e8eefb;line-height:1.6}
.transit .it:last-child{border-bottom:0}
.transit .no{flex:none;width:18px;height:18px;border-radius:50%;background:var(--brand);
  color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;margin-top:2px}
.transit .urge{margin-left:auto;flex:none;color:var(--cta);font-size:12.5px}

/* 分类页横幅 */
.catbanner{
  background:linear-gradient(135deg,var(--brand),#1746b5);padding:18px var(--in);
  color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.catbanner .nm{font-size:18px;font-weight:700}
.catbanner .ds{font-size:12px;opacity:.88;margin-top:4px}
.subcats{display:flex;gap:8px;overflow-x:auto;padding:12px var(--in);scrollbar-width:none;background:var(--card)}
.subcats::-webkit-scrollbar{display:none}
.subcats a{
  flex:none;font-size:13px;color:var(--t2);background:var(--bg);
  padding:7px 15px;border-radius:20px;border:1px solid var(--line);
}
.subcats a.on{background:var(--brand);color:#fff}

/* 搜索页 */
.srchbox{display:flex;align-items:center;gap:8px;background:#fff;padding:10px var(--in)}
.srchbox form{flex:1;display:flex;align-items:center;gap:7px;background:var(--bg);
  border-radius:20px;padding:0 12px;height:36px}
.srchbox input{flex:1;border:0;background:transparent;height:36px;font-size:13.5px;color:var(--t1);min-width:0}
.srchbox input::placeholder{color:var(--t3)}
.srchbox button{flex:none;border:0;background:var(--brand);color:#fff;height:28px;
  padding:0 14px;border-radius:14px;font-size:13px}
.filterbar{display:flex;gap:8px;overflow-x:auto;padding:11px var(--in);scrollbar-width:none;background:var(--card)}
.filterbar::-webkit-scrollbar{display:none}
.filterbar a{flex:none;font-size:12.5px;color:var(--t2);background:var(--bg);
  padding:6px 13px;border-radius:16px;border:1px solid var(--line)}
.filterbar a.on{background:var(--brand-l);color:var(--brand);font-weight:600}
.resultbar{padding:14px var(--in);font-size:12.5px;color:var(--t3);background:var(--card)}
.resultbar b{color:var(--cta);font-weight:600}

/* ================= 页脚 ================= */
.flink{background:var(--card);margin:0;padding:13px var(--in);border-bottom:1px solid var(--line)}
.flink .ft{font-size:13px;font-weight:600;color:var(--t1);margin-bottom:9px}
.flink .ls{display:flex;flex-wrap:wrap;gap:8px 14px}
.flink .ls a{font-size:12px;color:var(--t2)}
.copyright{text-align:center;font-size:11.5px;color:var(--t3);line-height:1.9;padding:18px 20px 6px}

/* ================= 详情头图无图时 ================= */
.dhero .uiph{width:100%;height:100%}

/* 机构卡标签（详情信息卡内） */
.dcard .tags i,.cocard .tags i{
  font-style:normal;font-size:11.5px;color:var(--brand);
  background:var(--brand-l);padding:3px 8px;border-radius:4px;
}
.cpgallery.single{grid-template-columns:1fr}
.cpgallery.single img{height:150px}

/* 轮播（首页） */
.slider{position:relative;overflow:hidden;border-radius:0;margin:0;box-shadow:none}
.slider .track{display:flex;transition:transform .45s ease}
.slider .slide{flex:0 0 100%;height:118px;display:flex;flex-direction:column;
  justify-content:center;padding:0 18px;color:#fff}
.slider .slide.s1{background:linear-gradient(120deg,#2563eb,#3b82f6)}
.slider .slide.s2{background:linear-gradient(120deg,#ff6a00,#ff9330)}
.slider .slide.s3{background:linear-gradient(120deg,#0ea5e9,#22d3ee)}
.slider .t{font-size:17px;font-weight:700}
.slider .d{font-size:12px;opacity:.92;margin-top:5px}
.slider .dots{position:absolute;right:14px;bottom:10px;display:flex;gap:5px}
.slider .dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}
.slider .dots i.on{background:#fff;width:14px;border-radius:3px}
