/* ==========================================================
   造口袋网 zaokoudai.com  样式稿 v2.0  「高端 + 移动优先」
   行业：医疗器械 / 造口护理
   设计语言：深青主色 · 香槟金点缀 · 大留白 · 细边框 · 柔阴影
   ========================================================== */

:root{
  /* ---- 尺寸 / 阴影（与色系无关） ---- */
  --r:14px;--r-s:10px;--r-l:20px;--maxw:1200px;
  --sd:0 1px 2px rgba(var(--sh),.05),0 8px 24px rgba(var(--sh),.07);
  --sd-h:0 4px 12px rgba(var(--sh),.09),0 16px 40px rgba(var(--sh),.13);
}

/* =========== 配色 A：暖赤陶（默认） terra =========== */
:root,html[data-theme="terra"]{
  --brand:#C4552E;--brand-d:#A33F1F;--brand-2:#E07A4F;--brand-soft:#FDF0E9;
  --gold:#D9A441;--gold-rgb:217,164,65;--gold-soft:#FAF1DF;--gold-ink:#8A6E33;--gold-d:#D4B673;--on-gold:#2A2113;
  --accent:#E8724C;--accent-d:#C4552E;--accent-soft:#FBF0EA;
  --price:#C0392B;--price-soft:#FBEAE7;
  --ok:#2F8A4E;--ok-soft:#ECF5EE;
  --blue:#3A5E86;--blue-soft:#ECF1F6;
  --ink:#2B1E1A;--ink-2:#5F4A40;--muted:#9A857A;--muted-2:#B3A094;--muted-3:#D9C9BE;
  --line:#EFE0D6;--line-2:#CFCCC4;--line-3:#E8D3C6;
  --bg:#FDFAF7;--white-2:#FCFCFB;--fill:#F6F5F2;--fill-warm:#F6EDE6;
  --panel-soft:#FBF3EE;--panel-soft-2:#FDF8F4;--gray-soft:#F5EFE9;
  --soft-a:#FDF6F1;--soft-b:#F7E7DE;
  --deep:#4A211A;--deep-2:#5E2A20;
  --on-deep:#D8C3B8;--on-deep-2:#C4A99C;--on-deep-3:#A98D7E;
  --admin-bg:#F7F2EE;
  --sh:74,33,26;
  --glow-1:rgba(224,122,79,.36);--glow-2:rgba(217,164,65,.24);
}

/* =========== 配色 B：深青 · 专业 teal =========== */
html[data-theme="teal"]{
  --brand:#0C5F5C;--brand-d:#08474A;--brand-2:#17837E;--brand-soft:#EAF3F2;
  --gold:#C0A062;--gold-rgb:192,160,98;--gold-soft:#F8F2E5;--gold-ink:#7E6631;--gold-d:#EBD5A8;--on-gold:#2A2113;
  --accent:#D9694A;--accent-d:#BB5436;--accent-soft:#FBEFE9;
  --price:#D03A2C;--price-soft:#FBEAE7;
  --ok:#2F8A4E;--ok-soft:#ECF5EE;
  --blue:#3A5E86;--blue-soft:#ECF1F6;
  --ink:#16232A;--ink-2:#46585F;--muted:#8A969B;--muted-2:#AFB7B9;--muted-3:#C9CFD2;
  --line:#EAE7E1;--line-2:#CFCCC4;--line-3:#DDE7E6;
  --bg:#FAFAF8;--white-2:#FCFCFB;--fill:#F3F2EE;--fill-warm:#EAEFEF;
  --panel-soft:#F7F8F8;--panel-soft-2:#FAFCFC;--gray-soft:#F2F1EE;
  --soft-a:#F7F9F9;--soft-b:#EDF2F1;
  --deep:#0A2E33;--deep-2:#123b41;
  --on-deep:#9FB2B4;--on-deep-2:#93A7AA;--on-deep-3:#7A8E92;
  --admin-bg:#EFF2F3;
  --sh:16,40,45;
  --glow-1:rgba(23,131,126,.34);--glow-2:rgba(192,160,98,.20);
}

/* =========== 配色 C：琥珀金 · 高端 amber =========== */
html[data-theme="amber"]{
  --brand:#D98026;--brand-d:#B4621A;--brand-2:#EDA45C;--brand-soft:#FEF3E4;
  --gold:#E3B23C;--gold-rgb:227,178,60;--gold-soft:#FDF3DC;--gold-ink:#8A6416;--gold-d:#F0D28A;--on-gold:#2E2208;
  --accent:#E8923A;--accent-d:#C97B26;--accent-soft:#FDECD8;
  --price:#C0392B;--price-soft:#FBEAE7;
  --ok:#3E8C5A;--ok-soft:#EDF5EC;
  --blue:#3A5E86;--blue-soft:#EDF2F7;
  --ink:#2A2114;--ink-2:#5C4A33;--muted:#98866B;--muted-2:#B5A48A;--muted-3:#D8CBB6;
  --line:#EFE2CC;--line-2:#D2C8B4;--line-3:#E8D6B6;
  --bg:#FEFCF6;--white-2:#FDFBF4;--fill:#F7F3EA;--fill-warm:#F8EFDD;
  --panel-soft:#FDF6E9;--panel-soft-2:#FDF9EF;--gray-soft:#F5F0E4;
  --soft-a:#FDF6E9;--soft-b:#F8E8CE;
  --deep:#3E2A0F;--deep-2:#523A16;
  --on-deep:#D9C6A5;--on-deep-2:#C4AE8B;--on-deep-3:#A99372;
  --admin-bg:#F8F4EA;
  --sh:62,42,15;
  --glow-1:rgba(237,164,92,.38);--glow-2:rgba(227,178,60,.26);
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{-webkit-text-size-adjust:100%;}
body{
  font:14px/1.72 "PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
img{display:block;max-width:100%;}
button,input,select,textarea{font-family:inherit;outline:none;}
input,select,textarea{border:1px solid var(--line);border-radius:var(--r-s);padding:10px 13px;font-size:14px;color:var(--ink);background:#fff;}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--sh),.10);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.mt10{margin-top:10px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mt32{margin-top:32px}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 22px;border-radius:var(--r-s);font-size:14px;border:1px solid transparent;cursor:pointer;
  transition:.2s cubic-bezier(.3,.7,.4,1);white-space:nowrap;letter-spacing:.3px;}
.btn-primary{background:var(--brand);color:#fff;}
.btn-primary:hover{background:var(--brand-d);}
.btn-accent{background:var(--accent);color:#fff;}
.btn-accent:hover{background:var(--accent-d);}
.btn-gold{background:var(--deep);color:var(--gold);border:1px solid rgba(var(--gold-rgb),.4);}
.btn-gold:hover{background:var(--deep-2);}
.btn-ghost{background:#fff;color:var(--brand);border-color:rgba(var(--sh),.35);}
.btn-ghost:hover{background:var(--brand-soft);}
.btn-line{border-color:var(--line);background:#fff;color:var(--ink-2);}
.btn-line:hover{border-color:var(--brand);color:var(--brand);}
.btn-sm{padding:6px 14px;font-size:13px;border-radius:8px;}
.btn-lg{padding:14px 34px;font-size:15px;border-radius:12px;}
.btn-block{width:100%;}

/* ---------- 标签 ---------- */
.tag{display:inline-block;padding:2px 9px;border-radius:5px;font-size:12px;line-height:19px;
  background:var(--brand-soft);color:var(--brand);letter-spacing:.2px;}
.tag-g{background:var(--ok-soft);color:var(--ok);}
.tag-o{background:var(--accent-soft);color:var(--accent-d);}
.tag-r{background:var(--price-soft);color:var(--price);}
.tag-b{background:var(--blue-soft);color:var(--blue);}
.tag-gray{background:var(--gray-soft);color:var(--muted);}
.tag-gold{background:var(--gold-soft);color:var(--gold-ink);}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);}
.pad{padding:20px;}

/* ---------- 章节标题（高端 eyebrow 样式） ---------- */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:12px;}
.sec-head h2{font-size:22px;font-weight:600;letter-spacing:.5px;color:var(--ink);}
.sec-head .eyebrow{display:block;font-size:11px;font-weight:500;letter-spacing:2.4px;color:var(--gold);
  text-transform:uppercase;margin-bottom:6px;}
.sec-head .more{font-size:13px;color:var(--muted);letter-spacing:.3px;white-space:nowrap;}
.sec-head .more:hover{color:var(--brand);}
.sec-line{width:34px;height:2px;background:var(--gold);margin-bottom:10px;}
.section{padding:44px 0;}
.section-alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

.crumb{padding:14px 0;font-size:13px;color:var(--muted);}
.crumb a{color:var(--muted);}
.crumb a:hover{color:var(--brand);}
.crumb span{margin:0 6px;color:var(--line-2);}

.pager{display:flex;justify-content:center;gap:6px;margin:30px 0;}
.pager a,.pager span{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);background:#fff;border-radius:9px;font-size:13px;color:var(--ink-2);}
.pager a:hover{border-color:var(--brand);color:var(--brand);}
.pager .on{background:var(--brand);border-color:var(--brand);color:#fff;}

/* ==========================================================
   顶部
   ========================================================== */
.topbar{background:var(--deep);color:var(--on-deep);font-size:12.5px;letter-spacing:.3px;}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:36px;}
.topbar .left span{margin-right:18px;}
.topbar .left span:first-child{color:var(--gold);}
.topbar .right a{margin-left:15px;color:var(--on-deep);}
.topbar .right a:hover{color:#fff;}
.topbar .right a.hi{color:var(--gold);}

.header{background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:90;}
.header .wrap{display:flex;align-items:center;height:80px;gap:26px;}
.logo{display:flex;align-items:center;gap:11px;flex-shrink:0;}
.logo .mark{width:42px;height:42px;border-radius:12px;background:var(--deep);
  display:flex;align-items:center;justify-content:center;color:var(--gold);font-weight:600;font-size:14px;letter-spacing:1px;}
.logo .txt strong{display:block;font-size:20px;letter-spacing:2px;color:var(--deep);line-height:1.25;font-weight:600;}
.logo .txt em{font-style:normal;font-size:10px;color:var(--muted);letter-spacing:2.6px;}

.nav{display:flex;gap:0;flex:1;min-width:0;}
.nav a{padding:9px 14px;font-size:15px;color:var(--ink-2);position:relative;letter-spacing:.4px;transition:.2s;
  white-space:nowrap;flex-shrink:0;}
.nav a:hover{color:var(--brand);}
.nav a.on{color:var(--brand);font-weight:600;}
.nav a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--gold);border-radius:2px;}

.search{position:relative;width:236px;flex:0 1 236px;min-width:120px;}
/* 锚点目标留出固定顶栏高度，避免跳转后被顶栏盖住 */
.card[id],section[id],div[id]{scroll-margin-top:96px;}
.search input{width:100%;padding-right:44px;border-radius:22px;background:var(--fill);border:1px solid transparent;}
.search input:focus{background:#fff;border-color:var(--brand);}
.search .ico{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;
  background:var(--deep);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:12.5px;cursor:pointer;}
.hd-act{display:flex;gap:10px;flex-shrink:0;align-items:center;}

/* ==========================================================
   HERO（深色高端版）
   ========================================================== */
.hero{background:var(--deep);position:relative;overflow:hidden;color:#fff;}
.hero::before{content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 420px at 12% 8%,var(--glow-1),transparent 62%),
    radial-gradient(700px 380px at 88% 92%,var(--glow-2),transparent 66%);}
.hero::after{content:"";position:absolute;inset:0;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:52px 52px;mask-image:radial-gradient(circle at 50% 40%,#000,transparent 78%);}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;
  align-items:center;padding-top:56px;padding-bottom:56px;}
.hero .eyebrow{font-size:11.5px;letter-spacing:3px;color:var(--gold);margin-bottom:16px;}
.hero h1{font-size:38px;line-height:1.42;font-weight:600;letter-spacing:1px;}
.hero h1 b{color:var(--gold);font-weight:600;}
.hero .sub{margin-top:16px;color:rgba(255,255,255,.72);font-size:14.5px;line-height:1.95;letter-spacing:.3px;}
.hero-search{margin-top:26px;display:flex;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);
  border-radius:14px;padding:5px;backdrop-filter:blur(6px);}
.hero-search input{flex:1;background:transparent;border:none;color:#fff;padding:12px 16px;font-size:14.5px;}
.hero-search input::placeholder{color:rgba(255,255,255,.5);}
.hero-search button{padding:12px 28px;border:none;border-radius:10px;background:var(--gold);color:var(--on-gold);
  font-size:14.5px;font-weight:600;cursor:pointer;letter-spacing:.5px;}
.hero-search button:hover{background:var(--gold-d);}
.hero-tags{margin-top:16px;font-size:13px;color:rgba(255,255,255,.55);display:flex;gap:9px;flex-wrap:wrap;align-items:center;}
.hero-tags a{padding:4px 12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:16px;color:rgba(255,255,255,.78);}
.hero-tags a:hover{border-color:var(--gold);color:var(--gold);}
.hero-badges{display:flex;gap:26px;margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);}
.hero-badges div b{display:block;font-size:19px;color:var(--gold);letter-spacing:.5px;}
.hero-badges div span{font-size:12px;color:rgba(255,255,255,.55);}

/* 造口类型卡（浮在深色 hero 上） */
.type-card{background:#fff;border-radius:var(--r-l);padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.28);}
.type-card h3{font-size:14.5px;margin-bottom:14px;display:flex;align-items:center;gap:8px;color:var(--deep);font-weight:600;}
.type-card h3 i{width:16px;height:2px;background:var(--gold);display:inline-block;}
.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.type-grid a{border:1px solid var(--line);border-radius:12px;padding:14px 8px;text-align:center;transition:.2s;background:var(--white-2);}
.type-grid a:hover{border-color:var(--brand);background:var(--brand-soft);transform:translateY(-2px);}
.type-grid .em{width:42px;height:42px;margin:0 auto 9px;border-radius:50%;background:var(--brand-soft);
  display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--brand);font-weight:600;}
.type-grid b{display:block;font-size:13.5px;}
.type-grid span{font-size:11.5px;color:var(--muted);}
.type-card .tip{margin-top:15px;background:var(--gold-soft);border-radius:10px;padding:11px 13px;font-size:12.5px;color:var(--gold-ink);line-height:1.75;}
.type-card .acts{display:flex;gap:10px;margin-top:14px;}
.type-card .acts .btn{flex:1;}

/* 数据条 */
.stats{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:22px 8px;
  display:grid;grid-template-columns:repeat(6,1fr);box-shadow:var(--sd);}
.stats div{text-align:center;border-right:1px solid var(--line);}
.stats div:last-child{border-right:none;}
.stats b{display:block;font-size:23px;color:var(--brand-d);font-weight:600;letter-spacing:.5px;}
.stats b i{font-style:normal;font-size:12px;color:var(--muted);margin-left:2px;}
.stats span{font-size:12.5px;color:var(--muted);}

/* 快捷入口 */
.quick{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.quick a{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 12px;text-align:center;
  transition:.25s cubic-bezier(.3,.7,.4,1);}
.quick a:hover{box-shadow:var(--sd-h);border-color:rgba(var(--sh),.3);transform:translateY(-4px);}
.quick .em{width:48px;height:48px;margin:0 auto 12px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:19px;font-weight:600;background:var(--brand-soft);color:var(--brand);}
.quick b{display:block;font-size:14.5px;letter-spacing:.3px;}
.quick span{font-size:12px;color:var(--muted);}
.q2 .em{background:var(--accent-soft);color:var(--accent-d);}
.q3 .em{background:var(--blue-soft);color:var(--blue);}
.q4 .em{background:var(--gold-soft);color:var(--gold-ink);}
.q5 .em{background:var(--ok-soft);color:var(--ok);}

/* 通用栅格 */
.grid{display:grid;gap:16px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g4{grid-template-columns:repeat(4,1fr);}
.g5{grid-template-columns:repeat(5,1fr);}
.main-side{display:grid;grid-template-columns:1fr 296px;gap:24px;}
.main-side-r{display:grid;grid-template-columns:248px 1fr;gap:24px;}
/* 商品详情：主图 400px + 信息区（原为内联样式，手机端无法塌缩导致横向溢出） */
.pd-grid{display:grid;grid-template-columns:400px 1fr;gap:28px;}

/* 商品卡 */
.goods{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  transition:.25s cubic-bezier(.3,.7,.4,1);position:relative;display:block;}
.goods:hover{box-shadow:var(--sd-h);transform:translateY(-4px);border-color:rgba(var(--sh),.28);}
.goods .pic{height:180px;background:linear-gradient(165deg,var(--soft-a),var(--soft-b));display:flex;align-items:center;
  justify-content:center;position:relative;}
.goods .pic .ph{width:98px;height:124px;border-radius:10px 10px 32px 32px;background:#fff;border:1px solid var(--line-3);
  box-shadow:0 4px 14px rgba(var(--sh),.07);display:flex;align-items:center;justify-content:center;
  color:var(--brand);font-size:12.5px;text-align:center;letter-spacing:.5px;}
.goods .pic .badge{position:absolute;left:0;top:12px;background:var(--price);color:#fff;font-size:11.5px;
  padding:3px 10px;border-radius:0 12px 12px 0;letter-spacing:.3px;}
.goods .pic .rx{position:absolute;right:9px;top:9px;background:rgba(255,255,255,.94);color:var(--brand);
  font-size:11px;padding:2px 8px;border-radius:5px;}
.goods .info{padding:14px;}
.goods .name{font-size:14px;line-height:1.6;height:45px;overflow:hidden;color:var(--ink);}
.goods .meta{font-size:12px;color:var(--muted);margin-top:6px;display:flex;gap:7px;flex-wrap:wrap;}
.goods .price{margin-top:10px;display:flex;align-items:baseline;gap:7px;}
.goods .price b{color:var(--price);font-size:19px;font-weight:600;}
.goods .price b i{font-size:13px;font-style:normal;}
.goods .price del{font-size:12px;color:var(--muted);}
.goods .foot{margin-top:11px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);}

/* 品牌墙 */
.brandwall{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.brandwall a{background:#fff;border:1px solid var(--line);border-radius:var(--r);height:86px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:.22s;}
.brandwall a:hover{border-color:var(--brand);box-shadow:var(--sd);transform:translateY(-3px);}
.brandwall .lg{font-size:15.5px;font-weight:600;color:var(--deep);letter-spacing:1px;}
.brandwall .lg.en{font-size:11px;font-weight:500;color:var(--muted);letter-spacing:1.2px;}
.brandwall span.n{font-size:11.5px;color:var(--muted);}

/* 资讯列表 */
.news-list li{display:flex;gap:16px;padding:16px 0;border-bottom:1px dashed var(--line);}
.news-list li:last-child{border-bottom:none;}
.news-list .thumb{width:140px;height:88px;flex-shrink:0;border-radius:10px;background:linear-gradient(150deg,var(--soft-a),var(--soft-b));
  display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--brand);letter-spacing:1px;}
.news-list .t{flex:1;}
.news-list h4{font-size:16px;font-weight:600;line-height:1.6;letter-spacing:.3px;}
.news-list h4:hover{color:var(--brand);}
.news-list p{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.7;height:44px;overflow:hidden;}
.news-list .m{font-size:12px;color:var(--muted-2);margin-top:8px;display:flex;gap:14px;}

/* 侧栏 */
.side-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:16px;overflow:hidden;}
.side-box>h3{padding:14px 18px;font-size:15px;border-bottom:1px solid var(--line);display:flex;
  justify-content:space-between;align-items:center;letter-spacing:.5px;}
.side-box>h3 a{font-size:12px;color:var(--muted);font-weight:400;}
.side-box .bd{padding:16px 18px;}
.rank li{display:flex;gap:10px;padding:8px 0;font-size:13.5px;align-items:flex-start;}
.rank li i{width:20px;height:20px;flex-shrink:0;border-radius:5px;background:var(--fill-warm);color:var(--muted);
  font-style:normal;font-size:12px;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.rank li:nth-child(1) i{background:var(--price);color:#fff;}
.rank li:nth-child(2) i{background:var(--accent);color:#fff;}
.rank li:nth-child(3) i{background:var(--brand);color:#fff;}
.rank li p{flex:1;line-height:1.6;}
.rank li p:hover{color:var(--brand);}
.rank li em{font-style:normal;font-size:12px;color:var(--muted-3);}

/* 问答卡 */
.qa-item{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;transition:.22s;}
.qa-item:hover{border-color:rgba(var(--sh),.3);box-shadow:var(--sd);}
.qa-item .q{font-size:15.5px;font-weight:600;display:flex;gap:9px;line-height:1.65;letter-spacing:.3px;}
.qa-item .q i{color:var(--accent);font-style:normal;font-weight:700;flex-shrink:0;}
.qa-item .a{font-size:13.5px;color:var(--ink-2);margin-top:10px;display:flex;gap:9px;line-height:1.85;}
.qa-item .a i{color:var(--brand);font-style:normal;font-weight:700;flex-shrink:0;}
.qa-item .foot{margin-top:13px;padding-top:12px;border-top:1px dashed var(--line);display:flex;justify-content:space-between;
  align-items:center;font-size:12.5px;color:var(--muted);}
.qa-item .foot .doc{display:flex;align-items:center;gap:7px;color:var(--ink-2);}
.qa-item .foot .ava{width:24px;height:24px;border-radius:50%;background:var(--brand-soft);color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-size:11px;}

/* 医院/厂商卡 */
.org{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;gap:15px;transition:.22s;}
.org:hover{border-color:rgba(var(--sh),.3);box-shadow:var(--sd);}
.org .logo{width:58px;height:58px;flex-shrink:0;border-radius:12px;background:var(--brand-soft);color:var(--brand-d);
  display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;text-align:center;line-height:1.25;letter-spacing:.5px;}
.org .bd{flex:1;min-width:0;}
.org h4{font-size:15.5px;display:flex;align-items:center;gap:8px;letter-spacing:.3px;}
.org .m{font-size:12.5px;color:var(--muted);margin-top:5px;}
.org .desc{font-size:13px;color:var(--ink-2);margin-top:8px;line-height:1.75;}
.org .tags{margin-top:10px;display:flex;gap:7px;flex-wrap:wrap;}
.org .act{flex-shrink:0;display:flex;flex-direction:column;gap:8px;justify-content:center;}

/* 预约 */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 16px;position:relative;}
.step .n{width:32px;height:32px;border-radius:50%;background:var(--deep);color:var(--gold);display:flex;align-items:center;
  justify-content:center;font-size:13px;font-weight:600;margin-bottom:12px;}
.step h4{font-size:15px;margin-bottom:6px;letter-spacing:.3px;}
.step p{font-size:12.5px;color:var(--muted);line-height:1.75;}

.book-form{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:28px;}
.book-form .row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;}
.book-form .f label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:7px;letter-spacing:.3px;}
.book-form .f label b{color:var(--price);margin-right:3px;}
.book-form .f input,.book-form .f select,.book-form .f textarea{width:100%;}
.book-form .f textarea{height:84px;resize:vertical;}
.chips{display:flex;gap:9px;flex-wrap:wrap;}
.chips span{padding:7px 15px;border:1px solid var(--line);border-radius:20px;font-size:13px;cursor:pointer;background:#fff;transition:.18s;}
.chips span.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-d);font-weight:500;}

/* 筛选条 */
.filter{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2px 18px;margin-bottom:16px;}
.filter .line-f{display:flex;padding:12px 0;border-bottom:1px dashed var(--line);font-size:13px;}
.filter .line-f:last-child{border-bottom:none;}
.filter .line-f .k{width:76px;flex-shrink:0;color:var(--muted);letter-spacing:.5px;}
.filter .line-f .v{display:flex;gap:9px;flex-wrap:wrap;flex:1;}
.filter .line-f .v a{padding:4px 12px;border-radius:16px;color:var(--ink-2);}
.filter .line-f .v a:hover{background:var(--brand-soft);color:var(--brand);}
.filter .line-f .v a.on{background:var(--brand);color:#fff;}
.sortbar{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:11px 18px;margin-bottom:16px;font-size:13px;}
.sortbar .s{display:flex;gap:6px;}
.sortbar .s a{padding:5px 14px;border-radius:8px;color:var(--ink-2);}
.sortbar .s a:hover,.sortbar .s a.on{background:var(--brand-soft);color:var(--brand-d);}

/* 文章详情 */
.article{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:36px 40px;}
.article h1{font-size:27px;line-height:1.55;letter-spacing:.5px;}
.article .m{padding:14px 0 20px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);display:flex;gap:16px;}
.article .body{padding-top:20px;font-size:15.5px;line-height:2.05;color:var(--ink-2);letter-spacing:.2px;}
.article .body p{margin-bottom:18px;}
.article .body h3{font-size:17.5px;color:var(--ink);margin:26px 0 12px;padding-left:12px;border-left:3px solid var(--gold);letter-spacing:.5px;}
.article .body .tipbox{background:var(--gold-soft);border-radius:12px;padding:16px 18px;font-size:14px;color:var(--gold-ink);margin:18px 0;line-height:1.9;}

.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);}
.panel>h3{padding:15px 20px;border-bottom:1px solid var(--line);font-size:16px;letter-spacing:.5px;}
.panel .bd{padding:20px;}

/* 底部 */
.footer{background:var(--deep);color:var(--on-deep);margin-top:0;font-size:13px;}
.footer .ftop{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:26px;padding:46px 0 30px;}
.footer h4{color:#fff;font-size:14.5px;margin-bottom:14px;font-weight:600;letter-spacing:1px;}
.footer li{padding:5px 0;}
.footer li a:hover{color:var(--gold);}
.footer .about .lg{font-size:19px;color:#fff;font-weight:600;margin-bottom:14px;letter-spacing:2px;}
.footer .about p{line-height:2;color:var(--on-deep-2);}
.footer .contact{margin-top:16px;font-size:13px;}
.footer .contact b{color:var(--gold);font-size:20px;letter-spacing:1px;font-weight:600;}
.footer .fbot{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;justify-content:space-between;color:var(--on-deep-3);flex-wrap:wrap;gap:8px;}
.footer .fbot .links a{margin-left:16px;}

/* 桌面悬浮工具条 */
.fixedbar{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:80;display:flex;flex-direction:column;gap:8px;}
.fixedbar a{width:54px;height:54px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--sd);
  display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:var(--ink-2);gap:2px;}
.fixedbar a i{font-style:normal;font-size:15px;}
.fixedbar a:hover{background:var(--brand);color:#fff;border-color:var(--brand);}
.fixedbar .ai{background:var(--deep);color:var(--gold);border:none;}

/* ==========================================================
   后台 admin
   ========================================================== */
.admin{display:grid;grid-template-columns:212px 1fr;min-height:100vh;background:var(--admin-bg);}
.admin .side{background:var(--deep);color:var(--on-deep);display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;overflow:hidden;}
.admin .side .lg{height:60px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 20px;color:#fff;font-size:16px;
  font-weight:600;letter-spacing:1.5px;border-bottom:1px solid rgba(255,255,255,.08);}
.admin .side .lg em{width:28px;height:28px;flex-shrink:0;border-radius:8px;background:var(--gold);color:var(--on-gold);display:flex;
  align-items:center;justify-content:center;font-style:normal;font-size:12px;}
/* 导航区独立滚动：logo 与底部版本块始终固定，避免双滚动条 */
/* 关键：显式 display:block，抵消前台 .nav{display:flex} 水平导航规则对侧栏的污染 */
.admin .side .nav{display:block;flex:1;min-height:0;padding:6px 0 16px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;}
.admin .side .nav::-webkit-scrollbar{width:5px;}
.admin .side .nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:3px;}
.admin .side .nav::-webkit-scrollbar-track{background:transparent;}
.admin .side .nav .g{font-size:11px;color:var(--on-deep-2);padding:16px 20px 6px;letter-spacing:1.6px;
  border-top:1px solid rgba(255,255,255,.07);margin-top:6px;}
.admin .side .nav .g:first-child{border-top:none;margin-top:0;padding-top:8px;}
.admin .side .nav a{display:flex;align-items:center;gap:10px;padding:9px 20px;font-size:13.5px;color:var(--on-deep);
  white-space:nowrap;line-height:1.5;border-left:3px solid transparent;transition:.16s;position:static;}
.admin .side .nav a:hover{background:var(--deep-2);color:#fff;}
.admin .side .nav a.on{background:var(--brand);color:#fff;border-left-color:var(--gold);}
.admin .side .nav a.on::after{display:none;}
.admin .side .nav a i{font-style:normal;width:20px;min-width:20px;flex-shrink:0;text-align:center;font-size:12px;
  opacity:.9;}
.admin .side .nav a .bdg{margin-left:auto;flex-shrink:0;background:var(--price);color:#fff;font-size:11px;
  padding:1px 7px;border-radius:9px;line-height:1.6;}
.admin .side .ft{flex-shrink:0;border-top:1px solid rgba(255,255,255,.08);}
.admin .main{display:flex;flex-direction:column;min-width:0;}
.admin .top{height:60px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;
  justify-content:space-between;padding:0 22px;gap:14px;position:sticky;top:0;z-index:30;flex-wrap:wrap;}
.admin .top .r{display:flex;align-items:center;gap:18px;font-size:13px;color:var(--ink-2);}
.admin .top .ava{width:32px;height:32px;border-radius:50%;background:var(--brand-soft);color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-size:13px;}
.admin .content{padding:20px 22px;flex:1;min-width:0;overflow-x:clip;}
.admin .page-title{font-size:18px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tbl-wrap .tbl{min-width:720px;}
.admin .r{flex-wrap:wrap;gap:12px;}
.admin .page-title .crumb-a{font-size:12.5px;color:var(--muted);}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.kpi .c{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;min-width:0;}
.kpi .c .t{font-size:12.5px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;}
.kpi .c .n{font-size:27px;font-weight:600;margin-top:6px;color:var(--ink);letter-spacing:.5px;}
.kpi .c .d{font-size:12px;margin-top:5px;color:var(--muted);}
.kpi .c .d b{color:var(--ok);}
.kpi .c .d b.down{color:var(--price);}
.admin .row2{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-top:16px;}
.chart-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;}
.chart-box h4{font-size:15px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;letter-spacing:.5px;}
.chart{height:200px;display:flex;align-items:flex-end;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);min-width:0;}
.chart .b{flex:1;min-width:0;background:linear-gradient(180deg,var(--brand-2),var(--soft-b));border-radius:5px 5px 0 0;position:relative;}
.chart .b:hover{background:var(--brand);}
.chart .b em{position:absolute;top:-19px;left:0;right:0;text-align:center;font-size:11px;color:var(--muted);font-style:normal;}
.chart-x{display:flex;gap:12px;font-size:11.5px;color:var(--muted);padding-top:7px;min-width:0;}
.chart-x span{flex:1;min-width:0;text-align:center;}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px;}
.tbl th{background:var(--panel-soft);color:var(--ink-2);font-weight:600;text-align:left;padding:11px 13px;border-bottom:1px solid var(--line);white-space:nowrap;}
.tbl td{padding:12px 13px;border-bottom:1px solid var(--line);}
.tbl tbody tr:hover{background:var(--panel-soft-2);}
.tbl .op a{color:var(--brand);margin-right:12px;}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px;}
.dot.on{background:var(--ok);} .dot.off{background:var(--muted-3);} .dot.warn{background:var(--accent);}
.prog{height:6px;border-radius:4px;background:var(--fill-warm);overflow:hidden;}
.prog i{display:block;height:100%;background:var(--brand);}
.chat{height:290px;overflow:auto;padding:6px 2px;}
.chat .msg{display:flex;gap:9px;margin-bottom:15px;}
.chat .msg .ava{width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--brand-soft);color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-size:12px;}
.chat .msg.me{flex-direction:row-reverse;}
.chat .msg.me .ava{background:var(--accent-soft);color:var(--accent-d);}
.chat .msg .bub{background:var(--panel-soft);border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.8;max-width:78%;}
.chat .msg.me .bub{background:var(--brand);color:#fff;}
.chat .msg .tm{font-size:11px;color:var(--muted-3);margin-top:5px;}
.side-list li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--line);font-size:13px;}
.side-list li:last-child{border-bottom:none;}
.side-list li b{font-weight:600;}

/* ==========================================================
   移动端专属组件（移动优先强化）
   ========================================================== */
.mtop,.mtabbar,.msheet,.buybar,.mask,.mcat{display:none;}

/* 后台：中屏即转单列，避免双列挤压错位 */
@media(max-width:1400px){
  .admin .row2{grid-template-columns:1fr;}
  .kpi{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:1280px){
  .nav a{padding:9px 10px;font-size:14px;}
  .search{flex-basis:200px;}
}
@media(max-width:1200px){
  .nav a{padding:9px 7px;font-size:13.5px;letter-spacing:0;}
  .search{flex-basis:170px;}
  .header .wrap{gap:18px;}
}
@media(max-width:1100px){
  .nav a{padding:9px 6px;font-size:13px;letter-spacing:0;}
  .search{flex-basis:150px;}
  .brandwall{grid-template-columns:repeat(4,1fr);}
  .quick{grid-template-columns:repeat(3,1fr);}
  .stats{grid-template-columns:repeat(3,1fr);}
  .stats div:nth-child(3){border-right:none;}
  .footer .ftop{grid-template-columns:1fr 1fr 1fr;}
}
/* 桌面导航临界宽度：隐藏桌面搜索框（手机顶栏有独立搜索），保证菜单永不重叠 */
@media(max-width:1140px) and (min-width:941px){
  .header .search{display:none;}
}
@media(max-width:940px){
  .hero .wrap{grid-template-columns:1fr;gap:26px;}
  .main-side,.main-side-r{grid-template-columns:1fr;}
  .main-side-r>aside{order:2;}   /* 手机端商城：商品列表在前，侧栏盒子垫后 */
  .pd-grid{grid-template-columns:1fr;gap:18px;}   /* 商品详情：主图+信息 单列 */
  .g4{grid-template-columns:repeat(3,1fr);}
  /* 后台中屏：保留侧栏但收窄，保证导航不丢（侧栏到 768px 才隐藏） */
  .admin{grid-template-columns:192px 1fr;}
  .admin .side .nav a{padding:9px 14px;font-size:13px;gap:8px;}
  .admin .side .nav .g{padding-left:14px;}
  .admin .side .nav a i{width:18px;min-width:18px;}
  .admin .top{padding:0 14px;height:auto;min-height:56px;}
  .admin .top .r{font-size:12.5px;gap:12px;}
  .admin .content{padding:14px;}
  .admin .page-title{font-size:16px;}
  .kpi{grid-template-columns:repeat(2,1fr);gap:12px;}
  .kpi .c{padding:14px 16px;}
  .kpi .c .n{font-size:22px;}
}
@media(max-width:600px){
  /* 手机后台：KPI 两列更紧凑，表格压缩减少横滚距离 */
  .kpi{grid-template-columns:repeat(2,1fr);gap:10px;}
  .kpi .c{padding:12px 13px;}
  .kpi .c .n{font-size:19px;margin-top:4px;}
  .kpi .c .d{font-size:11px;}
  .tbl{font-size:12.5px;}
  .tbl th{padding:9px 10px;}
  .tbl td{padding:9px 10px;}
  .chart{gap:7px;}
  .chart .b em{font-size:10px;top:-16px;}
}

/* ---------- 手机端 ---------- */
@media(max-width:768px){
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom));font-size:14px;}
  .wrap{padding:0 14px;}
  .topbar,.header{display:none;}
  .fixedbar{display:none !important;}
  .hd-act,.header .search{display:none;}
  .section{padding:26px 0 18px;}

  /* 后台手机端：侧栏隐藏 → 单列，顶栏取消 sticky 避免与模块条层叠 */
  .admin{grid-template-columns:1fr;min-height:0;}
  .admin .side{display:none;}
  .admin .top{position:static;height:auto;padding:10px 14px;min-height:0;}
  .admin .content{padding:14px;}
  .admin-page .mcat{top:56px;}

  /* 移动端顶部条 */
  .mtop{display:flex;align-items:center;gap:10px;background:#fff;padding:10px 14px;
    border-bottom:1px solid var(--line);position:sticky;top:0;z-index:95;
    padding-top:calc(10px + env(safe-area-inset-top));}
  .mtop .mlogo{display:flex;align-items:center;gap:7px;flex-shrink:0;}
  .mtop .mlogo b{font-size:16px;letter-spacing:1.5px;color:var(--deep);font-weight:600;}
  .mtop .mlogo i{width:26px;height:26px;border-radius:7px;background:var(--deep);color:var(--gold);
    font-style:normal;font-size:11px;display:flex;align-items:center;justify-content:center;}
  .mtop .msearch{flex:1;position:relative;}
  .mtop .msearch input{width:100%;height:38px;border-radius:19px;background:var(--fill);border:1px solid transparent;
    padding:0 34px 0 14px;font-size:13.5px;}
  .mtop .msearch span,.mtop .msearch button{position:absolute;right:5px;top:4px;width:30px;height:30px;border-radius:50%;
    background:var(--deep);color:var(--gold);font-size:11px;display:flex;align-items:center;justify-content:center;
    border:none;padding:0;cursor:pointer;}
  .mtop .mico{width:38px;height:38px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--ink-2);}

  /* 移动端分类横向条 */
  .mcat{display:flex;gap:14px;overflow-x:auto;padding:11px 14px;background:#fff;border-bottom:1px solid var(--line);
    position:sticky;top:58px;z-index:88;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .mcat::-webkit-scrollbar{display:none;}
  .mcat a{font-size:14px;color:var(--ink-2);white-space:nowrap;position:relative;padding-bottom:5px;flex-shrink:0;}
  .mcat a.on{color:var(--brand);font-weight:600;}
  .mcat a.on::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:16px;height:2px;
    background:var(--gold);border-radius:2px;}

  /* HERO */
  .hero .wrap{padding-top:26px;padding-bottom:26px;}
  .hero h1{font-size:24px;letter-spacing:.5px;line-height:1.5;}
  .hero .sub{font-size:13.5px;margin-top:12px;}
  .hero-search{margin-top:18px;}
  .hero-search input{padding:11px 12px;font-size:14px;}
  .hero-search button{padding:11px 18px;font-size:14px;}
  .hero-tags{margin-top:12px;font-size:12.5px;gap:7px;max-height:66px;overflow:hidden;}
  .hero-badges{gap:16px;margin-top:20px;padding-top:18px;}
  .hero-badges div b{font-size:16px;}
  .type-card{padding:18px;box-shadow:var(--sd);}
  .type-grid{gap:8px;}
  .type-grid .em{width:36px;height:36px;font-size:14px;}

  /* 数据条：横向滑动 */
  .stats{margin-top:14px;padding:16px 0;grid-template-columns:repeat(3,1fr);gap:0;border-radius:var(--r);}
  .stats div{padding:8px 0;}
  .stats div:nth-child(3n){border-right:none;}
  .stats b{font-size:19px;}

  /* 快捷入口：横滑卡片 */
  .quick{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;}
  .quick::-webkit-scrollbar{display:none;}
  .quick a{flex:0 0 88px;padding:14px 8px;}
  .quick .em{width:42px;height:42px;font-size:17px;}
  .quick b{font-size:13.5px;}
  .quick span{font-size:11px;}

  /* 章节 */
  .section{padding:26px 0;}
  .sec-head{margin-bottom:14px;}
  .sec-head h2{font-size:18px;}
  .sec-head .more{font-size:12.5px;}

  /* 栅格：商品双列 */
  .g3,.g4,.g5{grid-template-columns:repeat(2,1fr);gap:10px;}
  .g2{grid-template-columns:1fr;}
  .goods .pic{height:150px;}
  .goods .pic .ph{width:74px;height:96px;font-size:11.5px;}
  .goods .info{padding:10px;}
  .goods .name{font-size:13px;height:38px;}
  .goods .price b{font-size:17px;}

  /* 品牌墙横滑 */
  .brandwall{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;}
  .brandwall::-webkit-scrollbar{display:none;}
  .brandwall a{flex:0 0 calc((100% - 20px)/3);height:74px;}

  /* 资讯：图右文左紧凑 */
  .news-list li{gap:11px;padding:13px 0;}
  .news-list .thumb{width:104px;height:68px;}
  .news-list h4{font-size:14.5px;line-height:1.55;}
  .news-list p{display:none;}
  .news-list .m{gap:9px;font-size:11.5px;margin-top:6px;}

  /* 筛选：横向滚动 chips */
  .filter{padding:0 14px;margin-bottom:12px;}
  .filter .line-f{flex-direction:column;gap:8px;padding:11px 0;}
  .filter .line-f .k{width:auto;font-size:12px;}
  .filter .line-f .v{flex-wrap:nowrap;overflow-x:auto;gap:8px;scrollbar-width:none;padding-bottom:2px;}
  .filter .line-f .v::-webkit-scrollbar{display:none;}
  .filter .line-f .v a{flex-shrink:0;padding:5px 13px;border:1px solid var(--line);border-radius:16px;}
  .sortbar{padding:9px 14px;flex-wrap:wrap;gap:8px;}
  .sortbar .s{overflow-x:auto;flex:1;gap:0;scrollbar-width:none;}
  .sortbar .s::-webkit-scrollbar{display:none;}
  .sortbar .s a{flex-shrink:0;}

  /* 步骤/表单 */
  .steps{grid-template-columns:1fr 1fr;gap:10px;}
  .step{padding:14px 12px;}
  .book-form{padding:18px;border-radius:var(--r);}
  .book-form .row{grid-template-columns:1fr;gap:14px;margin-bottom:14px;}
  .book-form .f input,.book-form .f select,.book-form .f textarea{height:46px;font-size:15px;}
  .book-form .f textarea{height:80px;}
  .chips span{padding:9px 15px;}

  /* 机构卡 */
  .org{padding:14px;gap:11px;}
  .org .logo{width:46px;height:46px;font-size:11px;}
  .org .act{flex-direction:row;}

  /* 文章 */
  .article{padding:18px 16px;}
  .article h1{font-size:21px;}
  .article .body{font-size:15.5px;line-height:2;}

  /* 按钮触控尺寸 */
  .btn{min-height:44px;padding:11px 20px;font-size:14.5px;}
  .btn-sm{min-height:34px;padding:6px 12px;font-size:12.5px;}
  .btn-lg{min-height:50px;font-size:15.5px;}

  /* 侧栏卡片 */
  .side-box{border-radius:12px;margin-bottom:12px;}
  .side-box>h3{padding:12px 15px;font-size:14.5px;}
  .side-box .bd{padding:14px 15px;}

  /* 底部 tabbar */
  .mtabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99;background:rgba(255,255,255,.97);
    backdrop-filter:blur(12px);border-top:1px solid var(--line);
    padding-bottom:env(safe-area-inset-bottom);}
  .mtabbar a{flex:1;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:2px;font-size:11px;color:var(--muted);position:relative;}
  .mtabbar a i{font-style:normal;width:24px;height:24px;display:flex;align-items:center;justify-content:center;
    font-size:15px;line-height:1;}
  .mtabbar a.on{color:var(--brand);font-weight:600;}
  .mtabbar a.on i{color:var(--brand);}
  .mtabbar a .bdg{position:absolute;top:6px;right:calc(50% - 20px);background:var(--price);color:#fff;
    font-size:10px;min-width:15px;height:15px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
  .mtabbar .mid i{width:44px;height:44px;margin-top:-18px;border-radius:50%;background:var(--deep);color:var(--gold);
    font-size:20px;box-shadow:0 4px 14px rgba(var(--sh),.3);}

  /* 商品详情底部购买栏 */
  .buybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99;background:rgba(255,255,255,.97);
    backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px 12px;gap:10px;align-items:center;
    padding-bottom:calc(8px + env(safe-area-inset-bottom));}
  .buybar .ico{width:44px;height:44px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;
    justify-content:center;font-size:10.5px;color:var(--muted);gap:1px;}
  .buybar .ico b{font-size:15px;line-height:1;color:var(--ink-2);}
  .buybar .btn{flex:1;min-height:44px;border-radius:22px;}

  /* 弹出面板 */
  .msheet{display:block;position:fixed;inset:0;z-index:120;transform:translateY(100%);transition:transform .28s cubic-bezier(.3,.7,.4,1);}
  .msheet.open{transform:translateY(0);}
  .msheet .inner{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:20px 20px 0 0;
    padding:20px 18px calc(26px + env(safe-area-inset-bottom));max-height:82vh;overflow:auto;}
  .msheet .inner h4{font-size:16px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;}
  .msheet .catgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
  .msheet .catgrid a{text-align:center;font-size:12.5px;color:var(--ink-2);}
  .msheet .catgrid .em{width:46px;height:46px;margin:0 auto 7px;border-radius:14px;background:var(--brand-soft);
    color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:16px;}
  .mask{display:block;position:fixed;inset:0;background:rgba(var(--sh),.45);z-index:110;opacity:0;pointer-events:none;transition:.25s;}
  .mask.open{opacity:1;pointer-events:auto;}
}

/* ==========================================================
   产品图位（真实图片：assets/img/*.svg，可替换为实拍 jpg/png）
   ========================================================== */
.goods .pic img{width:100%;height:100%;object-fit:contain;padding:6px;}
.goods .pic .ph{display:none;}
.pmain{width:100%;height:340px;object-fit:contain;background:linear-gradient(160deg,var(--soft-a),var(--soft-b));
  border-radius:12px;padding:10px;}
.pthumb{width:100%;height:72px;object-fit:contain;background:var(--panel-soft);border:1px solid var(--line);
  border-radius:9px;padding:4px;cursor:pointer;}
.pthumb.on{border-color:var(--brand);background:var(--brand-soft);}
.news-list .thumb img{width:100%;height:100%;object-fit:cover;border-radius:10px;}
.mini-thumb{width:46px;height:58px;object-fit:contain;background:var(--panel-soft);border:1px solid var(--line);
  border-radius:7px;padding:3px;flex-shrink:0;}
@media(max-width:768px){
  .pmain{height:260px;}
  .pthumb{height:64px;}
}

/* ==========================================================
   地图（高德地图 JS API）
   ========================================================== */
.map-wrap{position:relative;width:100%;height:420px;border-radius:var(--r);overflow:hidden;
  border:1px solid var(--line);background:var(--panel-soft);}
.map-wrap #amap{width:100%;height:100%;}
.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;text-align:center;padding:24px;color:var(--ink-2);font-size:13.5px;}
.map-fallback b{font-size:15px;color:var(--ink);}
.map-tools{position:absolute;right:12px;top:12px;z-index:5;display:flex;flex-direction:column;gap:8px;}
.map-tools a{width:36px;height:36px;border-radius:9px;background:#fff;border:1px solid var(--line);
  box-shadow:var(--sd);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--ink-2);}
.map-tools a:hover{background:var(--brand);color:#fff;}
.map-list li{padding:12px 14px;border-bottom:1px dashed var(--line);cursor:pointer;transition:.18s;}
.map-list li:last-child{border-bottom:none;}
.map-list li:hover,.map-list li.on{background:var(--brand-soft);}
.map-list li b{font-size:14.5px;}
.map-list li .m{font-size:12.5px;color:var(--muted);margin-top:4px;}
@media(max-width:768px){.map-wrap{height:280px;}}

/* ============================================================
   PHP 版本新增样式（后台表单 / 通用工具类）
   ============================================================ */
.mt12{margin-top:12px;}
.kpi .c .s{font-size:12px;margin-top:5px;color:var(--muted);}

/* 通用输入框 */
.ipt{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;
  font-size:14px;color:var(--ink);outline:none;transition:.16s;}
.ipt:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.12);}
.search input,.msearch input,.hero-search input{border-radius:8px;}
select.ipt{height:40px;}

/* 后台表单字段 */
.fld{margin-bottom:16px;}
.fld>label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:7px;font-weight:600;}
.fld input,.fld select,.fld textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:9px;
  background:#fff;font-size:14px;color:var(--ink);outline:none;font-family:inherit;}
.fld input,.fld select{max-width:420px;}          /* 输入框别拉满整行，适当即可 */
.fld input[type=number]{max-width:200px;}
.fld textarea{resize:vertical;line-height:1.8;max-width:680px;}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.12);}
.fld input[type=file]{padding:6px;border-style:dashed;background:var(--white-2);}
.fld .help{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.7;}
.btns{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap;}
.editor{min-height:260px;font-size:14px;line-height:1.9;}

/* 后台筛选条 */
.searchbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px;padding:14px 16px;}
.searchbar .k{font-size:13px;color:var(--muted);}
.searchbar input,.searchbar select{padding:8px 11px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;background:#fff;max-width:220px;}
.msg-ok{border-color:var(--brand);color:var(--brand-d);background:var(--soft-a);margin-bottom:14px;padding:11px 16px;}
.bdg-mini{background:var(--price);color:#fff;font-size:11px;padding:1px 7px;border-radius:9px;}
.page-title{font-size:18px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.page-title .acts{display:flex;gap:10px;align-items:center;}
.admin .side .nav a .bdg{margin-left:auto;background:var(--price);color:#fff;font-size:11px;padding:1px 7px;border-radius:9px;}
.side-foot{margin-top:auto;}
.admin .side{justify-content:flex-start;}

/* 分类树 */
.cat-tree{font-size:14px;}
.cat-tree li{margin:2px 0;}
.cat-tree a{display:block;padding:7px 10px;border-radius:8px;color:var(--ink-2);}
.cat-tree a:hover{background:var(--soft-a);color:var(--brand);}
.cat-tree a.on{background:var(--soft-a);color:var(--brand);font-weight:600;}
.cat-tree ul{margin-left:6px;}

/* 卡片网格自适应 */
.grid{display:grid;gap:16px;}
@media(max-width:900px){
  .grid[style*="1.6fr"],.grid[style*="1.4fr"]{grid-template-columns:1fr !important;}
  .searchbar input,.searchbar select{max-width:100%;flex:1;}
}
@media(max-width:600px){
  .fld input,.fld select,.fld textarea{font-size:16px;}  /* 防 iOS 聚焦缩放 */
  .searchbar{padding:12px;}
  .page-title{font-size:16px;}
}
