/* 小草职业教育学校 r112 · 草绿主题 · 移动端 H5 */
:root{
  --brand:#19b36b; --brand-d:#129a5a; --brand-l:#e7f8f0;
  --gold:#e8a317; --gold-l:#fdf3e0;
  --ink:#1f2933; --ink2:#52606d; --ink3:#9aa5b1;
  --line:#eef1f4; --bg:#f5f7fa; --card:#ffffff;
  --danger:#fa5252; --info:#2f6fed;
  --r:16px; --r2:12px; --shadow:0 6px 22px rgba(20,40,30,.08);
  --maxw:480px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--bg);color:var(--ink);font-size:14px;line-height:1.6;
  max-width:var(--maxw);margin:0 auto;padding-bottom:64px;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
.dim{color:var(--ink3);}

/* 顶部导航 */
.navbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;height:48px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:0 8px;}
.nb-back{font-size:26px;width:36px;color:var(--brand-d);line-height:1;}
.nb-title{flex:1;text-align:center;font-size:16px;font-weight:700;margin:0;}
.nb-right{width:36px;display:flex;align-items:center;justify-content:flex-end;}

/* 底部导航 */
.tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:var(--maxw);
  display:flex;background:#fff;border-top:1px solid var(--line);z-index:40;padding-bottom:env(safe-area-inset-bottom);}
.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:7px 0 6px;color:var(--ink3);font-size:11px;gap:2px;}
.tab-ic{font-size:20px;line-height:1;filter:grayscale(.4);}
.tab-item.on{color:var(--brand-d);font-weight:700;}
.tab-item.on .tab-ic{filter:none;transform:translateY(-1px);}

/* hero */
.hero{background:linear-gradient(150deg,#19b36b,#0f9d8f 70%,#2f6fed);color:#fff;padding:26px 18px 20px;}
.hero-top{display:flex;align-items:center;gap:12px;}
.hero-logo{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;border:2px solid rgba(255,255,255,.5);}
.hero-name{font-size:19px;font-weight:800;letter-spacing:.5px;}
.hero-en{font-size:10px;opacity:.8;margin-top:2px;}
.hero-slogan{margin-top:16px;font-size:17px;font-weight:700;letter-spacing:2px;}
.hero-code{margin-top:6px;font-size:11px;opacity:.9;background:rgba(0,0,0,.16);display:inline-block;
  padding:3px 10px;border-radius:20px;}
.hero-stats{display:flex;margin-top:18px;background:rgba(255,255,255,.14);border-radius:14px;padding:12px 4px;}
.hstat{flex:1;text-align:center;position:relative;}
.hstat:not(:last-child)::after{content:"";position:absolute;right:0;top:18%;height:64%;width:1px;background:rgba(255,255,255,.25);}
.hstat-v{font-size:19px;font-weight:800;}
.hstat-v i{font-size:11px;font-style:normal;margin-left:1px;font-weight:600;}
.hstat-l{font-size:10px;opacity:.85;margin-top:2px;}

/* 区块 */
.sec{padding:16px 16px 0;}
.sec-hd{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.sec-bar{width:4px;height:16px;border-radius:3px;background:var(--brand);}
.sec-hd h2{font-size:16px;margin:0;font-weight:800;}
.card{background:var(--card);border-radius:var(--r);padding:14px;box-shadow:var(--shadow);}
.card p{margin:0;color:var(--ink2);font-size:13.5px;text-align:justify;}

/* 办学特色 */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.feat{background:var(--card);border-radius:var(--r2);padding:12px 8px;text-align:center;box-shadow:var(--shadow);}
.feat-ic{font-size:24px;}
.feat-t{font-size:13px;font-weight:700;margin-top:5px;}
.feat-d{font-size:11px;color:var(--ink3);margin-top:2px;line-height:1.4;}

/* 快捷服务 */
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.quick{background:var(--card);border-radius:var(--r2);padding:12px 4px;text-align:center;box-shadow:var(--shadow);}
.q-ic{font-size:24px;display:block;}
.quick span:last-child{font-size:11.5px;margin-top:5px;display:block;color:var(--ink2);}

/* 报名 banner */
.banner-enroll{background:linear-gradient(120deg,var(--gold),#f08c00);border-radius:var(--r);
  padding:14px 16px;display:flex;align-items:center;justify-content:space-between;color:#fff;box-shadow:var(--shadow);}
.be-t{font-size:15px;font-weight:800;}
.be-s{font-size:11px;opacity:.92;margin-top:2px;}
.be-btn{background:#fff;color:var(--gold);font-weight:800;padding:8px 14px;border-radius:20px;font-size:13px;white-space:nowrap;}

/* 专业地图 */
.map-head{background:linear-gradient(135deg,var(--brand),#0f9d8f);color:#fff;padding:18px 16px 14px;}
.mh-title{font-size:18px;font-weight:800;}
.mh-sub{font-size:11.5px;opacity:.9;margin-top:3px;}
.cat-bar{position:sticky;top:48px;z-index:20;display:flex;gap:8px;overflow-x:auto;padding:10px 14px;
  background:var(--bg);border-bottom:1px solid var(--line);}
.cat-chip{flex:none;border:1px solid var(--line);background:#fff;color:var(--ink2);
  padding:6px 14px;border-radius:20px;font-size:12.5px;white-space:nowrap;}
.cat-chip.on{background:var(--c,#19b36b);border-color:var(--c,#19b36b);color:#fff;font-weight:700;}
.map-legend{display:flex;flex-wrap:wrap;gap:10px 14px;padding:10px 16px 2px;}
.lg{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ink2);}
.lg i{width:9px;height:9px;border-radius:3px;display:inline-block;}
.major-list{padding:8px 12px 16px;}
.mgroup{margin-bottom:8px;}
.mgroup-h{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:800;margin:12px 4px 8px;color:var(--ink);}
.mgroup-h i{width:10px;height:10px;border-radius:3px;}
.mcard{background:var(--card);border-radius:var(--r);padding:12px 14px;margin-bottom:10px;box-shadow:var(--shadow);
  border-left:4px solid var(--c,#19b36b);}
.mcard-top{display:flex;align-items:baseline;justify-content:space-between;}
.mcard-name{font-size:15px;font-weight:800;}
.mcard-code{font-size:11px;color:var(--ink3);}
.mcard-meta{font-size:12px;color:var(--ink2);margin-top:5px;}
.mcard-dir{font-size:12px;color:var(--ink2);margin-top:4px;line-height:1.5;}
.mcard-btn{margin-top:9px;background:var(--brand-l);color:var(--brand-d);border:none;font-weight:700;
  font-size:12.5px;padding:7px 14px;border-radius:20px;}

/* 表单 / 报名 */
.enroll-wrap{padding:0 0 20px;}
.enroll-hd{background:linear-gradient(135deg,var(--brand),#0f9d8f);color:#fff;padding:18px 16px;}
.eh-t{font-size:18px;font-weight:800;}
.eh-s{font-size:11.5px;opacity:.92;margin-top:3px;}
.form{background:var(--card);margin:14px 14px 0;border-radius:var(--r);padding:6px 14px;box-shadow:var(--shadow);}
.fld{display:block;padding:12px 0;border-bottom:1px solid var(--line);}
.fld:last-of-type{border-bottom:none;}
.fld-lab{display:block;font-size:13px;font-weight:700;margin-bottom:8px;}
.fld-lab i{color:var(--danger);font-style:normal;}
.fld input,.fld select,.fld textarea{width:100%;border:none;outline:none;font-size:14px;color:var(--ink);
  background:transparent;font-family:inherit;}
.fld textarea{resize:vertical;}
.radio-row{display:flex;gap:14px;}
.radio{display:flex;align-items:center;gap:5px;font-size:14px;}
.radio input{width:16px;height:16px;accent-color:var(--brand);}
.btn{display:inline-block;border:none;border-radius:24px;padding:11px 20px;font-size:14px;font-weight:700;
  cursor:pointer;font-family:inherit;}
.btn-block{width:100%;margin-top:14px;}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-d));color:#fff;box-shadow:0 6px 16px rgba(25,179,107,.3);}
.my-list{padding:8px 14px;}
.my-empty{color:var(--ink3);font-size:13px;text-align:center;padding:20px;}
.my-hd{font-size:13px;font-weight:700;color:var(--ink2);margin:8px 0;}
.my-card{background:var(--card);border-radius:var(--r2);padding:12px;margin-bottom:10px;box-shadow:var(--shadow);}
.my-top{display:flex;justify-content:space-between;align-items:center;}
.my-no{font-weight:800;color:var(--brand-d);font-size:13px;}
.my-st{font-size:11px;color:#fff;background:var(--brand);padding:2px 10px;border-radius:20px;}
.my-row{font-size:13px;margin-top:4px;}
.my-row.dim{color:var(--ink3);font-size:12px;}

/* 师资 */
.fac-summary{display:flex;gap:8px;padding:14px 14px 4px;}
.fs{flex:1;background:var(--card);border-radius:var(--r2);padding:12px 4px;text-align:center;box-shadow:var(--shadow);}
.fs-v{font-size:20px;font-weight:800;color:var(--brand-d);}
.fs-l{font-size:11px;color:var(--ink3);margin-top:2px;}
.fac-list{padding:10px 14px 16px;}
.tcard{display:flex;gap:12px;background:var(--card);border-radius:var(--r);padding:14px;margin-bottom:12px;box-shadow:var(--shadow);}
.t-avatar{width:54px;height:54px;border-radius:14px;background:var(--brand-l);display:flex;align-items:center;
  justify-content:center;font-size:30px;flex:none;}
.t-body{flex:1;min-width:0;}
.t-top{display:flex;align-items:baseline;justify-content:space-between;}
.t-name{font-size:15px;font-weight:800;}
.t-years{font-size:11px;color:var(--ink3);}
.t-title{font-size:12px;color:var(--brand-d);font-weight:700;margin-top:2px;}
.t-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;}
.t-tags span{font-size:10.5px;background:var(--gold-l);color:#b9760a;padding:2px 8px;border-radius:20px;}
.t-intro{font-size:12.5px;color:var(--ink2);margin-top:7px;line-height:1.55;}

/* 校园 */
.campus-hero{background:linear-gradient(135deg,var(--brand),#0f9d8f);color:#fff;padding:22px 16px;
  text-align:center;font-size:34px;}
.ch-t{font-size:17px;font-weight:800;margin-top:6px;}
.ch-s{font-size:11.5px;opacity:.9;margin-top:2px;}
.scene-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px;}
.scene{background:var(--card);border-radius:var(--r2);padding:14px;box-shadow:var(--shadow);}
.scene-ic{font-size:30px;}
.scene-name{font-size:14px;font-weight:700;margin-top:6px;}
.scene-desc{font-size:11.5px;color:var(--ink3);margin-top:3px;}
.base-list{padding:4px 14px 16px;}
.base{display:flex;gap:12px;background:var(--card);border-radius:var(--r);padding:12px;margin-bottom:10px;box-shadow:var(--shadow);}
.base-ic{width:46px;height:46px;border-radius:12px;background:var(--brand-l);display:flex;align-items:center;
  justify-content:center;font-size:24px;flex:none;}
.base-b{flex:1;}
.base-t{font-size:14px;font-weight:700;}
.base-d{font-size:12px;color:var(--ink2);margin-top:3px;}

/* 简章 */
.guide-hd{background:linear-gradient(135deg,var(--brand),#0f9d8f);color:#fff;text-align:center;
  font-size:17px;font-weight:800;padding:16px;}
.plan-tbl{background:var(--card);margin:14px 14px 0;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);}
.pt-h{padding:12px 14px;font-weight:800;font-size:14px;border-bottom:1px solid var(--line);}
.pt-row{display:grid;grid-template-columns:1.6fr .7fr .9fr 1fr;padding:11px 14px;font-size:12.5px;align-items:center;}
.pt-row:nth-child(even){background:var(--brand-l);}
.pt-head{background:var(--bg);font-weight:700;color:var(--ink2);}
.pt-head span:last-child{text-align:right;}
.pt-row span:last-child{text-align:right;color:var(--brand-d);font-weight:700;}
.way-list{padding:0 14px;}
.way{display:flex;gap:12px;background:var(--card);border-radius:var(--r2);padding:12px;margin-bottom:10px;box-shadow:var(--shadow);}
.way-ic{font-size:24px;flex:none;}
.way-t{font-size:14px;font-weight:700;}
.way-d{font-size:12px;color:var(--ink2);margin-top:2px;}
.aid-list{padding:0 14px;}
.aid{display:flex;gap:12px;background:var(--card);border-radius:var(--r2);padding:12px;margin-bottom:10px;box-shadow:var(--shadow);align-items:center;}
.aid-am{font-size:15px;font-weight:800;color:var(--gold);min-width:62px;text-align:center;
  background:var(--gold-l);border-radius:10px;padding:8px 4px;}
.aid-t{font-size:14px;font-weight:700;}
.aid-d{font-size:12px;color:var(--ink2);margin-top:2px;}
.faq{padding:0 14px;}
.faq-item{background:var(--card);border-radius:var(--r2);padding:0 14px;margin-bottom:10px;box-shadow:var(--shadow);}
.faq-item summary{font-size:13.5px;font-weight:700;padding:13px 0;cursor:pointer;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"›";float:right;transform:rotate(90deg);color:var(--ink3);font-weight:700;}
.faq-item[open] summary::after{transform:rotate(-90deg);}
.faq-a{font-size:12.5px;color:var(--ink2);padding:0 0 13px;line-height:1.6;}

/* 录取查询 */
.query-hd{background:linear-gradient(135deg,var(--brand),#0f9d8f);color:#fff;padding:18px 16px;font-size:17px;font-weight:800;}
.query-note{font-size:12px;color:var(--ink3);padding:14px 16px 4px;}
.query-form{display:flex;gap:8px;padding:8px 14px;}
.query-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:12px;padding:11px 12px;font-size:14px;outline:none;background:var(--card);}
.query-form .btn{flex:none;padding:11px 18px;}
.q-res{margin:12px 14px;border-radius:var(--r);padding:20px 16px;text-align:center;box-shadow:var(--shadow);}
.q-ok{background:var(--brand-l);}
.q-wait{background:#fff7e6;}
.qr-ic{font-size:40px;}
.q-ok .qr-ic{color:var(--brand);}
.q-wait .qr-ic{color:var(--gold);}
.qr-t{font-size:18px;font-weight:800;margin-top:6px;}
.qr-s{font-size:13px;color:var(--ink2);margin-top:6px;}
.qr-note{font-size:12.5px;color:var(--ink2);margin-top:8px;background:rgba(255,255,255,.6);border-radius:10px;padding:8px;}
.qr-no{font-size:11.5px;color:var(--ink3);margin-top:8px;}

/* 联系 / 新闻 */
.contact-hero{background:linear-gradient(135deg,var(--brand),#0f9d8f);color:#fff;text-align:center;
  font-size:32px;padding:20px 16px 16px;}
.contact-hero .ch-t{font-size:17px;font-weight:800;margin-top:4px;}
.contact-card{background:var(--card);margin:14px;border-radius:var(--r);padding:6px 14px;box-shadow:var(--shadow);}
.cc-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);}
.cc-row:last-child{border-bottom:none;}
.cc-ic{font-size:22px;width:30px;text-align:center;}
.cc-l{font-size:11.5px;color:var(--ink3);}
.cc-v{font-size:14px;font-weight:700;margin-top:1px;}
.map-box{margin:14px;border-radius:var(--r);background:linear-gradient(135deg,#e7f8f0,#dff1ff);
  padding:34px 16px;text-align:center;position:relative;overflow:hidden;}
.map-pin{font-size:40px;}
.map-tip{font-size:12px;color:var(--ink2);margin-top:8px;line-height:1.5;}
.news-list{padding:4px 14px 16px;}
.news{display:block;background:var(--card);border-radius:var(--r2);padding:13px 14px;margin-bottom:10px;box-shadow:var(--shadow);}
.news-meta{display:flex;gap:8px;align-items:center;margin-bottom:4px;}
.news-date{font-size:11px;color:var(--ink3);}
.news-cat{font-size:10.5px;background:var(--brand-l);color:var(--brand-d);padding:1px 8px;border-radius:20px;font-weight:700;}
.news-title{font-size:14px;font-weight:700;}
.news-sum{font-size:12px;color:var(--ink2);margin-top:3px;line-height:1.5;}

/* 通用提示 / 遮罩 / sheet */
.mask{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:90;align-items:center;justify-content:center;}
.mask.loading{display:flex;}
.mask.loading .spinner{width:34px;height:34px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.mask.sheet-on{display:block;background:rgba(0,0,0,.4);}
.sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:18px 18px 0 0;max-height:80vh;overflow:auto;animation:up .25s ease;}
@keyframes up{from{transform:translateY(100%);}}
.sheet-hd{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;font-weight:800;}
.sheet-x{border:none;background:none;font-size:16px;color:var(--ink3);}
.sheet-bd{padding:14px 16px 24px;}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:rgba(20,30,25,.9);
  color:#fff;padding:10px 18px;border-radius:24px;font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:99;max-width:80%;text-align:center;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.fail{text-align:center;padding:40px 16px;color:var(--ink3);}
.fail-ic{width:46px;height:46px;border-radius:50%;background:var(--danger);color:#fff;font-size:26px;
  line-height:46px;margin:0 auto 10px;}
