/* ==========================================================
   造口袋网 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;}
/* 防横向溢出：任何内容都不得把文档撑宽，否则手机端会出现横向滚动、
   底部 mtabbar 跟着「变长」。overflow-x:clip 不产生滚动容器，不影响 sticky 顶栏 */
html,body{max-width:100%;overflow-x:clip;}
@supports not (overflow:clip){html,body{overflow-x:hidden;}}
/* 栅格子项允许收缩，长英文串/长型号名不得撑破卡片与栅格 */
.grid>*,.main-side>*,.main-side-r>*,.main-side-r>aside,.admin>*{min-width:0;}
.goods .meta span,.goods .name,.crumb,.filter .line-f .k{overflow-wrap:anywhere;}
.mtabbar,.buybar,.mhd,.mnav,.mquick,.mcat{max-width:100%;}
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;gap:18px;height:38px;}
.topbar .left{flex:1;min-width:0;white-space:nowrap;overflow:hidden;}
.topbar .left span{margin-right:18px;}
.topbar .left span:first-child{color:var(--gold);}
/* 顶栏搜索（PC 端搜索框新位置：顶部深色条右侧，主菜单从此不再被挤压） */
.topbar .tsearch{position:relative;width:240px;flex:0 1 240px;min-width:130px;}
.topbar .tsearch input{width:100%;height:27px;padding:2px 34px 2px 12px;font-size:12.5px;
  background:rgba(255,255,255,.14);border-color:transparent;color:var(--on-deep);border-radius:14px;}
.topbar .tsearch input::placeholder{color:rgba(255,255,255,.6);}
.topbar .tsearch input:focus{background:#fff;color:var(--ink);box-shadow:none;border-color:transparent;}
.topbar .tsearch .ico{position:absolute;right:3px;top:3px;width:21px;height:21px;border:none;padding:0;
  background:var(--gold);color:var(--deep);border-radius:50%;font-size:11px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;}
.topbar .right{flex-shrink:0;}
.topbar .right a{margin-left:15px;color:var(--on-deep);}
.topbar .right a:hover{color:#fff;}
.topbar .right a.hi{color:var(--gold);}
@media(max-width:1500px){.topbar .left span:nth-child(2){display:none;}}
@media(max-width:1280px){.topbar .left{display:none;}.topbar .wrap{justify-content:flex-end;}}

.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;justify-content:center;}
.nav a{padding:9px 11px;font-size:14px;color:var(--ink-2);position:relative;letter-spacing:.2px;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:11px;right:11px;bottom:2px;height:2px;background:var(--gold);border-radius:2px;}

.search{position:relative;width:200px;flex:0 1 200px;min-width:110px;}
/* 锚点目标留出固定顶栏高度，避免跳转后被顶栏盖住 */
.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:minmax(0,1.15fr) minmax(0,.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);}
/* v1.7.27：浅色卡片内复用深色 Hero 组件的配色修正（搜索页 search-compact）
   原样式 input 白字/透明背景是给首页深色 hero 用的，放白卡片上文字不可见 */
.search-compact{background:var(--fill);border-color:var(--line);backdrop-filter:none;}
.search-compact input{color:var(--ink);}
.search-compact input::placeholder{color:var(--muted);}
.card .hero-tags{color:var(--muted);}
.card .hero-tags a{background:#fff;border-color:var(--line);color:var(--ink-2);}
.card .hero-tags a:hover{border-color:var(--brand);color:var(--brand);}
.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,minmax(0,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-wrap{position:relative;z-index:3;margin-top:-30px;}
.stats{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:22px 8px;
  display:grid;grid-template-columns:repeat(6,minmax(0,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,minmax(0,1fr));gap:14px;}
/* v1.7.24：快捷入口栏目挑选（后台可配）；v1.7.31 起双端生效——PC 与手机端都隐藏未勾选项 */
.quick a.qk-hide{display:none;}
.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;}
/* 栅格一律 minmax(0,1fr)：普通 1fr 的 min 是 auto（内容 min-content），
   长规格名/长标签会把轨道撑破视口 —— 这就是手机端商城横向溢出的根因 */
.g2{grid-template-columns:repeat(2,minmax(0,1fr));}
.g3{grid-template-columns:repeat(3,minmax(0,1fr));}
.g4{grid-template-columns:repeat(4,minmax(0,1fr));}
.g5{grid-template-columns:repeat(5,minmax(0,1fr));}
.main-side{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:24px;}
.main-side-r{display:grid;grid-template-columns:248px minmax(0,1fr);gap:24px;}
/* 商品详情：主图 400px + 信息区（原为内联样式，手机端无法塌缩导致横向溢出） */
.pd-grid{display:grid;grid-template-columns:400px minmax(0,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,minmax(0,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;min-width:0;}   /* v1.7.31：min-width:0 必须加，否则标题 nowrap 时 flex 子项不收缩、整行撑破屏幕 */
.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,minmax(0,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,minmax(0,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);}
/* v1.7.13：问答页数据统计条（有 X 个问题 · X 条答案 · X 人提问） */
.qa-stats{display:flex;align-items:center;gap:26px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:14px 20px;margin-bottom:14px;}
.qa-stats .it{display:flex;align-items:baseline;gap:6px;}
.qa-stats .it b{font-size:21px;color:var(--brand);letter-spacing:.3px;}
.qa-stats .it span{font-size:12.8px;color:var(--ink-2);}
.qa-stats .rt{margin-left:auto;font-size:12.3px;color:var(--muted);}
@media(max-width:768px){
  .qa-stats{gap:16px;padding:11px 14px;flex-wrap:wrap;}
  .qa-stats .it b{font-size:17px;}
  .qa-stats .rt{display:none;}
}
/* v1.7.10：首页精选 Tab 条（替代原来「标题旁标签 + Tab 条」两排重复的摆法） */
.home-tabs{margin-bottom:14px;}
.home-tabs .ht-note{font-size:12.5px;color:var(--muted);}

/* 文章详情 */
.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:minmax(0,1.5fr) repeat(4,minmax(0,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 minmax(0,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,minmax(0,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:minmax(0,1.6fr) minmax(0,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;}

/* ---------- 通用页签条（前台 PC / 手机都可见） ---------- */
/* v1.6.1：去掉横向滚动，页签多了一律换行（手机端不再左右滑） */
.tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center;row-gap:8px;}
.tabs a{padding:7px 16px;border:1px solid var(--line);border-radius:18px;background:#fff;
  font-size:13.5px;color:var(--ink-2);white-space:nowrap;}
.tabs a:hover{border-color:var(--brand);color:var(--brand);}
.tabs a.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:600;}

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

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

@media(max-width:1100px){
  .brandwall{grid-template-columns:repeat(4,minmax(0,1fr));}
  .quick{grid-template-columns:repeat(3,minmax(0,1fr));}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr));}
  .stats div:nth-child(3){border-right:none;}
  .footer .ftop{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:1100px) and (min-width:941px){
  .nav a{padding:9px 6px;font-size:13px;letter-spacing:0;}
}
/* 桌面导航空间分配（v1.2.1 起搜索框移入顶部深色条，主菜单行=logo+栏目+按钮，
   11 个栏目在 941~1200px 收缩字号/间距即可放下，永不重叠 */
@media(max-width:1020px) and (min-width:941px){
  .hd-act{display:none;}
}
@media(max-width:940px){
  .hero .wrap{grid-template-columns:minmax(0,1fr);gap:26px;}
  .main-side,.main-side-r{grid-template-columns:minmax(0,1fr);}
  .main-side-r>aside{order:2;}   /* 手机端商城：商品列表在前，侧栏盒子垫后 */
  .pd-grid{grid-template-columns:minmax(0,1fr);gap:18px;}   /* 商品详情：主图+信息 单列 */
  .g4{grid-template-columns:repeat(3,minmax(0,1fr));}
  /* 后台中屏：保留侧栏但收窄，保证导航不丢（侧栏到 768px 才隐藏） */
  .admin{grid-template-columns:192px minmax(0,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,minmax(0,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,minmax(0,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:minmax(0,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;}

  /* 移动端顶栏：方案 B · 品牌沉浸版（深色品牌区 + 嵌入式搜索 + 信任数据） */
  .mhd{display:block;background:linear-gradient(160deg,#54390F 0%,var(--deep) 55%,#2C1E0B 100%);
    padding:calc(12px + env(safe-area-inset-top)) 14px 30px;color:#F6E8C8;}
  .mhd-top{display:flex;align-items:center;gap:10px;}
  .mhd-logo{flex:1;display:flex;align-items:center;gap:8px;min-width:0;}
  .mhd-logo i{width:34px;height:34px;border-radius:10px;background:rgba(227,178,60,.16);
    border:1px solid rgba(227,178,60,.45);color:var(--gold);font-style:normal;font-size:13px;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .mhd-logo span{min-width:0;}
  .mhd-logo b{color:#F6E8C8;font-size:17px;letter-spacing:1.5px;font-weight:600;display:block;line-height:1.3;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .mhd-logo em{font-style:normal;color:rgba(246,232,200,.55);font-size:9.5px;letter-spacing:2px;}
  .mhd-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#C98F2B);
    color:#3E2A0F;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;flex-shrink:0;}
  .mhd-search{margin-top:12px;display:flex;align-items:center;gap:8px;height:40px;border-radius:20px;
    background:rgba(255,255,255,.96);padding:0 5px 0 14px;box-shadow:0 4px 14px rgba(0,0,0,.18);}
  .mhd-search input{flex:1;min-width:0;height:34px;border:none;background:transparent;padding:0;
    font-size:13.5px;color:var(--ink);}
  .mhd-search input:focus{box-shadow:none;border-color:transparent;}
  .mhd-search button{height:32px;padding:0 18px;border:none;border-radius:16px;flex-shrink:0;cursor:pointer;
    background:linear-gradient(135deg,#C98F2B,var(--gold));color:#3E2A0F;font-size:13px;font-weight:600;letter-spacing:2px;}
  .mhd-stats{margin-top:12px;display:flex;gap:18px;flex-wrap:wrap;color:rgba(246,232,200,.85);font-size:11.5px;}
  .mhd-stats b{color:var(--gold);font-size:14px;font-weight:600;margin-right:3px;}

  /* 移动端栏目导航（吸顶）：首页 = A 卡片版（与快捷四宫格同款），内页 = B 胶囊版（更省空间）
     v1.7.10：后台「mnav_sticky」关掉吸顶跟随（.nst = no sticky），导航随页面滚走不挡内容 */
  .mnav{background:var(--bg);border-radius:16px 16px 0 0;margin-top:-16px;position:sticky;top:0;z-index:94;}
  .mnav.nst{position:static;}
  .mnav.nav-a{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:10px 12px 12px;}
  .mnav.nav-a a{background:#fff;border:1px solid var(--line);border-radius:10px;text-align:center;
    padding:7px 2px 6px;font-size:11px;color:var(--ink-2);line-height:1.25;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .mnav.nav-a a i{font-style:normal;display:flex;width:26px;height:26px;border-radius:50%;
    margin:0 auto 3px;align-items:center;justify-content:center;flex-shrink:0;}
  .mnav.nav-a a i svg{width:15px;height:15px;display:block;}
  .mnav.nav-a a.on{color:var(--brand);font-weight:600;border-color:var(--brand);}
  .mnav.nav-a a.all{background:#FDF1E9;border:1px dashed var(--brand);color:var(--brand);}
  .mnav.nav-b{display:flex;flex-wrap:wrap;gap:7px;padding:10px 12px;}
  .mnav.nav-b a{font-size:12px;color:var(--ink-2);background:#F1EFE8;border-radius:999px;
    padding:6px 13px;line-height:1.35;white-space:nowrap;}
  .mnav.nav-b a.on{background:var(--brand);color:#fff;font-weight:600;}
  .mnav.nav-b a.all{background:#fff;border:1px solid var(--brand);color:var(--brand);}

  /* 首页快捷宫格（仅首页，内页不占版面） */
  .mquick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 14px 0;background:var(--bg);}
  .mquick a{background:#fff;border:1px solid var(--line);border-radius:12px;text-align:center;
    padding:10px 4px 8px;font-size:11.5px;color:var(--ink-2);}
  .mquick a i{font-style:normal;display:flex;width:34px;height:34px;margin:0 auto 4px;border-radius:10px;
    background:var(--bg);align-items:center;justify-content:center;font-size:15px;}

  /* 移动端分类横向条 */
  .mcat{display:flex;flex-wrap:wrap;gap:10px 16px;padding:9px 14px;background:#fff;border-bottom:1px solid var(--line);
    position:sticky;top:52px;z-index:88;}
  .mcat a{font-size:13.5px;color:var(--ink-2);white-space:nowrap;position:relative;padding-bottom:5px;}
  .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;}

  /* 数据条：v1.6.0 手机端不再上提（桌面上提 -30px 是为了压住 hero 底部，
     手机端 hero 竖排后上提会盖住「造口类型卡」的圆形图标，数字被挡）
     v1.7.31：手机端改「一行横滑」——六个小方格排成一行，放不下的左右滑动看 */
  .stats-wrap{margin-top:0;}
  .stats{margin-top:12px;padding:12px 4px;display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:var(--r);}
  .stats::-webkit-scrollbar{display:none;}
  .stats div{flex:0 0 auto;padding:8px 13px;white-space:nowrap;}
  .stats div:nth-child(3){border-right:1px solid var(--line);}
  .stats div:nth-child(3n){border-right:1px solid var(--line);}
  .stats div:nth-child(-n+3){border-bottom:none;}
  .stats div:last-child{border-right:none;}
  .stats b{font-size:17px;}
  .stats span{font-size:11px;}

  /* 快捷入口：v1.6.0 由横滑改为三列换行（横滑在手机上不好点、也看不出后面还有） */
  .quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .quick a{padding:14px 6px;}
  .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,minmax(0,1fr));gap:10px;}
  .g2{grid-template-columns:minmax(0,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;}

  /* 品牌墙：v1.6.0 由横滑改为三列换行 */
  .brandwall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .brandwall a{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：v1.6.0 改为换行展示（横滑在手机上不好操作也不好发现） */
  .filter{padding:0 14px;margin-bottom:12px;max-width:100%;}
  .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:wrap;gap:8px;min-width:0;max-width:100%;}
  .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;max-width:100%;}
  .sortbar .s{display:flex;flex-wrap:wrap;gap:0 4px;min-width:0;}
  .sortbar .s a{flex-shrink:0;}
  /* v1.7.10：首页「造口产品精选」Tab 条 —— 手机端单行横滑，右侧说明隐藏，不再和标题挤成一团 */
  .home-tabs{flex-wrap:nowrap;align-items:center;gap:8px;}
  .home-tabs .s{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;min-width:0;}
  .home-tabs .s::-webkit-scrollbar{display:none;}
  .home-tabs .s a{white-space:nowrap;padding:6px 13px;border-radius:999px;background:#F1EFE8;color:var(--ink-2);font-size:12.5px;}
  .home-tabs .s a.on{background:var(--brand);color:#fff;font-weight:600;}
  .home-tabs .ht-note{display:none;flex-shrink:0;}
  /* v1.7.10：首页「医院门诊与厂商」手机端 —— 卡片改竖排，按钮通栏，去掉挤成一团的两列布局 */
  .net-grid{gap:10px;}
  .net-grid .org{flex-wrap:wrap;padding:13px 13px 12px;gap:9px;}
  .net-grid .org .logo{width:40px;height:40px;border-radius:10px;}
  .net-grid .org .bd{flex:1 1 calc(100% - 49px);min-width:0;}
  .net-grid .org h4{font-size:14.5px;flex-wrap:wrap;gap:6px;}
  .net-grid .org .m{margin-top:3px;font-size:12px;}
  .net-grid .org .desc{display:none;}
  .net-grid .org .tags{margin-top:7px;gap:6px;}
  .net-grid .org .act{flex:1 1 100%;flex-direction:row;gap:8px;margin-top:3px;}
  .net-grid .org .act .btn{flex:1;text-align:center;justify-content:center;}
  /* 底部 tabbar：显式锁宽，杜绝被撑出视口 */
  .mtabbar{width:100%;}

  /* 步骤/表单 */
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .step{padding:14px 12px;}
  .book-form{padding:18px;border-radius:var(--r);}
  .book-form .row{grid-template-columns:minmax(0,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,minmax(0,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);}

/* 比价表 */
.cmp-k{color:var(--muted);white-space:nowrap;background:var(--panel-soft);font-weight:600;font-size:13px;}
.cmp-tbl td{vertical-align:middle;text-align:center;}
.cmp-tbl th{text-align:center;}
.cmp-item{position:relative;}

/* 费用计算器选择列表 */
.calc-list{display:flex;flex-direction:column;}
.calc-item{display:flex;align-items:center;gap:10px;padding:10px 10px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;cursor:pointer;background:#fff;transition:.15s;}
.calc-item:hover{border-color:var(--brand);background:var(--panel-soft-2);}
.calc-item input[type=checkbox]{width:17px;height:17px;flex-shrink:0;}
.calc-item img{width:46px;height:46px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);flex-shrink:0;}

/* 互动投票选项 */
.poll-opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px;cursor:pointer;background:var(--white-2);transition:.15s;}
.poll-opt:hover{border-color:var(--brand);background:var(--brand-soft);}
.poll-opt input{width:16px;height:16px;flex-shrink:0;}

/* 通用输入框 */
.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;}

/* 后台编辑表单：双列布局，减少右侧大片空白（富文本/文本域/文件上传占满整行） */
.zkd-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;align-items:start;}
.zkd-form .fld{margin-bottom:0;}
.zkd-form .fld:has(.editor),
.zkd-form .fld:has(textarea),
.zkd-form .fld:has(input[type="file"]){grid-column:1 / -1;}
.zkd-form .btns{grid-column:1 / -1;margin-top:6px;}

/* wangEditor 富文本编辑器：适配后台主题 + 移动端换行 */
.zkd-ed{margin-bottom:10px;}
.zkd-ed .w-e-toolbar{background:var(--panel-soft-2,#fafafa);flex-wrap:wrap;}
.zkd-ed .w-e-text-container{background:#fff;}
.zkd-ed .w-e-bar-item{padding:2px 4px;}
.zkd-ed .w-e-bar-item button{color:var(--ink,#333);}
.zkd-ed .w-e-full-screen-container{z-index:300;}

/* 后台表单：手机端输入控件一律占满整行，方便手指操作 */
@media(max-width:768px){
  .zkd-form{grid-template-columns:1fr;}
  .zkd-form .btns{grid-column:auto;margin-top:10px;}
  .fld input,.fld select,.fld textarea{max-width:100%;}
  .fld input[type=number]{max-width:100%;}
  .fld textarea{max-width:100%;}
  .fld .editor{min-height:200px;}
  .searchbar input,.searchbar select{max-width:100%;}
  .zkd-ed .w-e-toolbar{max-width:100%;overflow-x:auto;flex-wrap:nowrap;}
  .btns .btn{flex:1;min-width:120px;}
}

/* 后台筛选条 */
.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;}
.msg-err{border:1px solid #E7B7AD;color:#C0392B;background:#FDF3F2;margin-bottom:14px;padding:11px 16px;}
.hint{display:block;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.6;}
.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:minmax(0,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;}
}

/* ==========================================================
   会员消息中心 v1.3.0
   铃铛入口（手机 .mhd-bell / 桌面 .tmsg）+ 未读角标 + 消息列表与详情
   ========================================================== */

/* ---------- 未读角标 / 小红点 ---------- */
.side-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;
  padding:0 6px;border-radius:9px;background:var(--price);color:#fff;font-size:11px;font-weight:600;line-height:1;}
.msg-dot{width:7px;height:7px;border-radius:50%;background:var(--price);flex-shrink:0;}

/* ---------- 桌面顶栏消息入口 ---------- */
.topbar .tmsg{display:inline-flex;align-items:center;gap:5px;}
.topbar .tmsg em{font-style:normal;display:inline-flex;align-items:center;justify-content:center;
  min-width:16px;height:16px;padding:0 5px;border-radius:8px;background:var(--price);color:#fff;
  font-size:10.5px;font-weight:600;line-height:1;}

/* ---------- 消息列表页头部 ---------- */
.msg-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.msg-head-l{display:flex;flex-direction:column;gap:3px;min-width:0;}
.msg-head-l b{font-size:15px;}
.msg-head-l span{font-size:12.5px;color:var(--muted);}
.msg-tabs{margin:14px 0;}
.msg-tabs a em{font-style:normal;display:inline-block;margin-left:5px;padding:0 6px;border-radius:8px;
  background:var(--price);color:#fff;font-size:11px;font-weight:600;line-height:16px;vertical-align:1px;}
.msg-tabs a.on em{background:var(--brand);}

/* ---------- 消息列表 ---------- */
.msg-list{overflow:hidden;padding:0;}
.msg-item{display:flex;align-items:flex-start;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);
  position:relative;transition:background .18s;min-width:0;}
.msg-item:last-child{border-bottom:none;}
.msg-item:hover{background:var(--soft-a);}
.msg-item.unread{background:var(--panel-soft-2);}
.msg-item.unread .msg-ttl{font-weight:700;color:var(--ink);}
.msg-ico{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:17px;flex-shrink:0;line-height:1;border:none;padding:0;}
.msg-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.msg-ttl{font-size:14.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.msg-ttl i{font-style:normal;display:inline-block;margin-right:6px;padding:1px 6px;border-radius:4px;
  background:var(--price-soft);color:var(--price);font-size:11px;font-weight:400;vertical-align:1px;}
.msg-sum{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.msg-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);}
.msg-meta em{font-style:normal;}
.msg-item .msg-dot{position:absolute;right:16px;top:50%;transform:translateY(-50%);}
.msg-body{font-size:14.5px;line-height:2;color:var(--ink-2);word-break:break-word;overflow-wrap:anywhere;}

/* ---------- 手机端 ---------- */
@media(max-width:768px){
  /* 顶栏铃铛（与「方案 B · 品牌沉浸版」样稿一致：圆形描边 + 右上角红点） */
  .mhd-bell{position:relative;width:36px;height:36px;border-radius:50%;flex-shrink:0;
    border:1px solid rgba(246,232,200,.35);background:transparent;color:#F6E8C8;
    display:flex;align-items:center;justify-content:center;}
  .mhd-bell i{font-style:normal;font-size:15px;line-height:1;}
  .mhd-bell:active{background:rgba(255,255,255,.16);}
  .mhd-bell em{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;
    border-radius:8px;background:var(--price);color:#fff;font-size:10px;font-weight:600;
    line-height:16px;text-align:center;font-style:normal;}
  /* 列表更紧凑 */
  .msg-item{padding:13px 14px;gap:10px;}
  .msg-ico{width:34px;height:34px;font-size:15px;border-radius:10px;}
  .msg-ttl{font-size:14px;}
  .msg-sum{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;}
  .msg-item .msg-dot{right:12px;}
  .msg-head{padding:16px;}
  .msg-body{font-size:14px;}
}

/* ============================================================
   v1.4.0：社群瀑布流 / 话题详情 / 护理师 / 标签筛选 / 积分 / 悬浮客服
   ============================================================ */

/* ---------- 标签筛选条（城市/等级/服务 chips，替代下拉） ---------- */
.chip-bar{background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;}
.chip-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.chip-row .chip-label{font-size:12.5px;color:var(--muted);flex-shrink:0;width:36px;}
.chip{border:1px solid var(--line);background:#fff;border-radius:18px;padding:5px 14px;font-size:13px;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:all .15s;}
.chip:hover{border-color:var(--brand);color:var(--brand);}
.chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600;}
@media(max-width:768px){
  /* v1.6.0：改换行，不再横滑 */
  .chip-row{flex-wrap:wrap;gap:6px;overflow:visible;padding-bottom:0;}
  .chip-row .chip-label{position:static;background:transparent;}
}

/* ---------- 机构卡片墙 ---------- */
.hosp-card .org-logo{width:46px;height:46px;border-radius:10px;background:var(--soft-a);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0;}

/* ---------- 护理师卡片（列表） ---------- */
.nurse-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
.nurse-card{display:flex;gap:14px;align-items:flex-start;background:var(--card,#fff);border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;position:relative;}
.nurse-card:hover{border-color:rgba(var(--gold-rgb),.5);box-shadow:0 4px 18px rgba(0,0,0,.06);}
.nc-av{width:58px;height:58px;border-radius:50%;background:var(--soft-a);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;line-height:1.15;text-align:center;flex-shrink:0;}
.nc-av small{font-size:10px;font-weight:600;letter-spacing:1px;}
.nc-bd{flex:1;min-width:0;}
.nc-nm{font-size:15.5px;font-weight:700;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.nc-rate{color:#e8a23a;font-size:13.5px;font-weight:600;}
.nc-meta{font-size:12.5px;color:var(--muted);margin-top:3px;}
.nc-stat{font-size:12.5px;color:var(--ink-2);margin-top:5px;}
.nc-desc{font-size:13px;color:var(--ink-2);margin-top:6px;line-height:1.7;}
.nc-tags{margin-top:7px;display:flex;gap:6px;flex-wrap:wrap;}
.nc-act{display:flex;flex-direction:column;gap:8px;flex-shrink:0;}
.nc-go{position:absolute;right:16px;bottom:14px;font-size:12.5px;color:var(--brand);}
@media(max-width:768px){
  .nurse-card{flex-wrap:wrap;}
  .nc-act{flex-direction:row;width:100%;}
  .nc-act .btn{flex:1;}
  .nc-go{display:none;}
}

/* ---------- 护理师详情 ---------- */
.nurse-hero{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;}
.nh-av{width:84px;height:84px;border-radius:50%;background:var(--soft-a);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;line-height:1.15;text-align:center;flex-shrink:0;}
.nh-av small{font-size:12px;letter-spacing:1px;}
.nh-bd{flex:1;min-width:240px;}
.nh-stars{display:flex;gap:8px;align-items:center;margin-top:8px;}
.nh-act{display:flex;gap:10px;flex-wrap:wrap;}
.nh-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;}
.nh-stat{background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;padding:14px 10px;text-align:center;}
.nh-stat b{display:block;font-size:22px;color:var(--brand);}
.nh-stat span{font-size:12px;color:var(--muted);}
@media(max-width:600px){.nh-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.nh-act{width:100%;}.nh-act .btn{flex:1;}}

/* ---------- 评价列表 ---------- */
.rv{padding:14px 0;border-bottom:1px dashed var(--line);}
.rv:last-child{border-bottom:none;}
.rv-hd{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.rv-av{width:30px;height:30px;border-radius:50%;background:var(--soft-a);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}
.rv-stars{color:#e8a23a;font-size:13px;letter-spacing:1px;}
.rv-bd{font-size:13.5px;line-height:1.9;color:var(--ink-2);margin-top:8px;}
.rv-reply{margin-top:10px;background:var(--soft-a);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--brand-d);}
.rate-row{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--muted);padding:4px 0;}
.rate-bar{flex:1;height:8px;background:var(--soft-a);border-radius:4px;overflow:hidden;}
.rate-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold,#e8b96a),#e8a23a);border-radius:4px;}

/* ---------- 话题详情 ---------- */
.detail-pics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;}
.detail-pics img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;}
.rp{padding:13px 0;border-bottom:1px dashed var(--line);}
.rp:last-child{border-bottom:none;}
.rp-hd{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.rp-av{width:28px;height:28px;border-radius:50%;background:var(--soft-a);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;}
.rp-floor{font-size:11.5px;color:var(--muted);margin-left:2px;}
.rp-bd{font-size:14px;line-height:1.9;color:var(--ink-2);margin-top:6px;}

/* ---------- 社群瀑布流（方案C） ---------- */
.wf-grid{columns:2;column-gap:12px;}
.wf-card{break-inside:avoid;display:block;background:var(--card,#fff);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:12px;text-decoration:none;color:inherit;transition:box-shadow .15s;}
.wf-card:hover{box-shadow:0 4px 18px rgba(0,0,0,.07);}
.wf-img{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;background-color:var(--soft-a);position:relative;}
.wf-imgnum{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;border-radius:10px;padding:2px 8px;}
.wf-bd{padding:12px 14px 10px;}
.wf-tt{font-size:14px;font-weight:700;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.wf-txt{font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.wf-meta{display:flex;gap:8px;align-items:center;margin-top:9px;font-size:11.5px;color:var(--muted);}
.wf-av{width:20px;height:20px;border-radius:50%;background:var(--soft-a);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;}
.wf-nick{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:72px;}
.wf-stat{flex-shrink:0;}
.wf-src{margin-left:auto;color:var(--brand);flex-shrink:0;}
@media(max-width:600px){.wf-grid{columns:2;column-gap:8px;}.wf-bd{padding:10px 11px 8px;}.wf-tt{font-size:13px;}}

/* ---------- 会员积分中心 ---------- */
.pt-hero{display:flex;gap:24px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,var(--soft-a),transparent);}
.pt-num{font-size:38px;font-weight:800;color:var(--brand);line-height:1;}
.pt-num small{font-size:14px;font-weight:400;color:var(--muted);}
.pt-progress{flex:1;min-width:220px;}
.pt-bar{height:12px;background:var(--soft-a);border-radius:6px;overflow:hidden;}
.pt-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--gold,#e8b96a));border-radius:6px;transition:width .3s;}
.lv-badge{display:inline-flex;align-items:center;gap:4px;border-radius:16px;padding:3px 12px;font-size:12px;font-weight:600;background:var(--soft-a);color:var(--brand);border:1px solid rgba(var(--gold-rgb),.35);}
.lv-badge.lv5{background:linear-gradient(135deg,#2c3e50,#4a6274);color:#F6E8C8;border:none;}
.lv-badge.lv4{background:linear-gradient(135deg,#8a6d3b,#B8860B);color:#fff;border:none;}

/* ---------- 悬浮在线客服 ---------- */
.float-kf{position:fixed;right:14px;bottom:78px;z-index:60;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-d));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;line-height:1.3;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.18);}
.float-kf i{font-style:normal;font-size:18px;line-height:1;}
.float-kf em{position:absolute;top:-8px;right:-2px;background:#fff;color:var(--muted);font-size:9.5px;font-style:normal;border-radius:8px;padding:1px 6px;border:1px solid var(--line);white-space:nowrap;}
@media(min-width:769px){.float-kf{bottom:30px;right:24px;}}

/* ================================================================
   v1.6.0：广告位 / 品牌页 hero / 预约机构列表卡 / 悬浮客服移动端优化
   ================================================================ */

/* ---------- 广告位 ---------- */
.ad-slot{margin:0 0 6px;}
.ad-slot img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);}
.ad-top{margin:10px auto 0;max-width:1200px;}
.ad-top:empty{display:none;}
.ad-inline{margin:22px 0;}
.ad-article_bottom{margin-top:20px;}
.ad-home-mall{margin-bottom:14px;}
.ad-custom{margin:14px 0;}

/* ---------- 品牌页 hero（替代原本空旷的页头） ---------- */
.brand-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin-top:20px;padding:26px 30px;border-radius:var(--r-l);
  background:linear-gradient(120deg,var(--brand) 0%,var(--brand-d) 100%);color:#fff;
  box-shadow:0 14px 34px rgba(var(--brand-rgb),.25);}
.brand-hero h2{font-size:23px;margin:6px 0 6px;color:#fff;}
.brand-hero p{font-size:13.5px;opacity:.92;margin:0;}
.brand-hero .bh-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.brand-hero .bh-tags a{padding:5px 14px;border-radius:16px;background:rgba(255,255,255,.16);color:#fff;font-size:12.5px;text-decoration:none;transition:.15s;}
.brand-hero .bh-tags a:hover{background:rgba(255,255,255,.3);}
.brand-hero .bh-apply{text-align:center;color:#fff;text-decoration:none;font-size:15px;font-weight:600;line-height:1.6;
  border:1.5px solid rgba(255,255,255,.55);border-radius:12px;padding:12px 22px;transition:.15s;flex-shrink:0;}
.brand-hero .bh-apply em{display:block;font-style:normal;font-size:11.5px;font-weight:400;opacity:.85;}
.brand-hero .bh-apply:hover{background:rgba(255,255,255,.14);}

/* ---------- 预约机构：列表式卡片（替代换行难看的三列卡） ---------- */
.hosp-list{display:flex;flex-direction:column;gap:10px;}
.hosp-item{display:flex;align-items:center;gap:14px;background:var(--card,#fff);border:1px solid var(--line);
  border-radius:12px;padding:14px 18px;transition:.15s;flex-wrap:wrap;}
.hosp-item:hover{border-color:var(--brand);box-shadow:0 6px 18px rgba(var(--brand-rgb),.10);}
.hosp-item .org-logo{width:48px;height:48px;border-radius:10px;background:var(--soft-a);color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;flex-shrink:0;}
.hosp-item .hbd{flex:1;min-width:220px;}
.hosp-item .hrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.hosp-item .hname{font-size:15.5px;font-weight:600;margin:0;}
.hosp-item .haddr{font-size:12.5px;color:var(--muted);margin-top:5px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:560px;}
.hosp-item .hact{display:flex;gap:8px;flex-shrink:0;margin-left:auto;}
@media(max-width:640px){
  .hosp-item .hact{margin-left:62px;}
  .hosp-item .haddr{white-space:normal;max-width:none;}
}

/* ---------- 悬浮客服：缩小 + 不做时间角标，避免压住正文数字/标签 ---------- */
/* 中屏（平板 / 窄窗口）同样会压住数据条，这一档也隐藏角标并收窄 */
@media(max-width:1200px){
  .float-kf{width:48px;height:48px;right:12px;font-size:9.5px;}
  .float-kf i{font-size:16px;}
  .float-kf em{display:none;}
}
@media(max-width:768px){
  .float-kf{width:44px;height:44px;right:10px;bottom:86px;font-size:8.5px;}
  .float-kf i{font-size:15px;}
  .float-kf em{display:none;}
  .float-kf span{font-size:8.5px;}
}
/* 数据条：窄屏时数值/文字不换行错位，统一收紧 */
@media(max-width:940px){
  .stats b{font-size:20px;}
  .stats span{font-size:12px;display:block;line-height:1.5;}
}

/* ---------- sec-head 通用美化：左侧标题加渐变竖条 + more 变胶囊按钮 ---------- */
.sec-head h2{position:relative;padding-left:14px;}
.sec-head h2::before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:4px;border-radius:3px;
  background:linear-gradient(180deg,var(--brand),var(--brand-d));}
.sec-head .more{padding:6px 14px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--brand);transition:.15s;}
.sec-head .more:hover{border-color:var(--brand);background:var(--brand-soft);}

/* ================================================================
   v1.6.1 补充
   ① 悬浮客服：手机端继续缩小 + 滚动时自动避让（不再压住正文/数字）
   ② 表格：手机端整行转卡片，彻底告别左右横滑
   ================================================================ */

/* ---------- ① 悬浮客服避让 ---------- */
.float-kf{transition:transform .25s cubic-bezier(.3,.7,.4,1),opacity .25s,width .25s,height .25s;}
/* 页面滚动时缩成小圆点并半透明，停下 1.2s 后恢复，避免挡住正在看的内容 */
.float-kf.kf-min{transform:scale(.68);opacity:.55;}
.float-kf{transform-origin:100% 100%;}
/* iOS 全面屏安全区：不会被 home 指示条压住 */
@supports (bottom:env(safe-area-inset-bottom)){
  .float-kf{bottom:calc(78px + env(safe-area-inset-bottom));}
  @media(min-width:769px){.float-kf{bottom:calc(30px + env(safe-area-inset-bottom));}}
}
@media(max-width:768px){
  /* 手机端：只留气泡图标，直径 40px，抬到底部导航之上 */
  .float-kf{width:40px;height:40px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom,0px));
    box-shadow:0 4px 14px rgba(0,0,0,.16);}
  .float-kf i{font-size:16px;}
  .float-kf span{display:none;}      /* 隐藏「在线客服」文字，避免压字 */
  .float-kf em{display:none;}
  .float-kf.kf-min{transform:scale(.72);opacity:.42;}
}
@media(max-width:400px){
  .float-kf{width:36px;height:36px;right:6px;}
  .float-kf i{font-size:14px;}
}

/* ---------- ② 手机端表格不再横滑：一行 = 一张卡片 ---------- */
@media(max-width:768px){
  .tbl-stack{overflow-x:visible;}
  .tbl-stack .tbl{min-width:0 !important;width:100%;}
  .tbl-stack .tbl thead{display:none;}
  .tbl-stack .tbl tbody,
  .tbl-stack .tbl tbody tr,
  .tbl-stack .tbl tbody td{display:block;width:100%;}
  .tbl-stack .tbl tbody tr{border:1px solid var(--line);border-radius:12px;padding:8px 13px;margin-bottom:10px;background:#fff;}
  .tbl-stack .tbl tbody tr:last-child{margin-bottom:0;}
  .tbl-stack .tbl tbody td{border:none;padding:5px 0;display:flex;gap:12px;align-items:flex-start;
    justify-content:space-between;font-size:13.5px;line-height:1.6;min-width:0;word-break:break-word;}
  .tbl-stack .tbl tbody td::before{content:attr(data-k);color:var(--muted);font-size:12.5px;flex:0 0 auto;}
  .tbl-stack .tbl tbody td[data-k=""]::before,
  .tbl-stack .tbl tbody td[colspan]::before{display:none;}
  .tbl-stack .tbl tbody td[colspan]{justify-content:center;text-align:center;}
  /* 商品/订单这类「首列是主内容」的表：首列不显示标签、整行独占 */
  .tbl-stack .tbl tbody td.k-main{display:block;}
  .tbl-stack .tbl tbody td.k-main::before{display:none;}
  /* 比价表：列是商品，按「对比项」分块，值前面带上商品名 */
  .tbl-stack .tbl.cmp-tbl tbody td::before{content:attr(data-p);}
  .tbl-stack .tbl.cmp-tbl tbody td.cmp-k{font-weight:700;color:var(--ink);
    border-bottom:1px dashed var(--line);padding-bottom:6px;margin-bottom:2px;}
  .tbl-stack .tbl.cmp-tbl tbody td.cmp-k::before{content:none;}
}

/* ================================================================
   v1.6.2 后台表单两列（显式类，不依赖 :has；修复编辑页右侧大片空白）
   ================================================================ */
.zkd-form .fld.flh{grid-column:auto;}
.zkd-form .fld.flf{grid-column:1 / -1;}
.zkd-form .fld.flh input,.zkd-form .fld.flh select{max-width:100%;}
.zkd-form .fld.flh input[type=number]{max-width:100%;}
/* 窄屏退回单列，字段占满 */
@media(max-width:768px){
  .zkd-form{grid-template-columns:1fr;}
  .zkd-form .fld.flh,.zkd-form .fld.flf{grid-column:auto;}
  .zkd-form .fld input,.zkd-form .fld select{max-width:100%;}
}

/* ================================================================
   v1.6.4 后台导入表单：上传进度条
   ================================================================ */
.imp-prog{margin-top:12px;display:flex;align-items:center;gap:10px;}
.imp-prog .bar{flex:1;height:8px;border-radius:99px;background:var(--line);overflow:hidden;min-width:120px;}
.imp-prog .bar i{display:block;height:100%;width:0;border-radius:99px;
  background:linear-gradient(90deg,var(--brand),var(--gold));transition:width .18s ease;}
.imp-prog .txt{font-size:12px;color:var(--muted);white-space:nowrap;}
.imp-prog.err .bar i{background:var(--price);}
.imp-prog.err .txt{color:var(--price);}

/* ================================================================
   v1.6.7
   ① 全站 SVG 图标库（.zi）与各容器尺寸适配
   ② 悬浮按钮组：客服 + 邮件 + 换色，统一竖排队列（不再互相遮挡）
   ③ 预约页「服务类型」两套新版面（svc-list / svc-seg）
   ④ 栏目底部版权条（.copy-note）
   ⑤ 手机端页脚整理 + 翻页条优化
   ================================================================ */

/* ---------- ① 图标基础 ---------- */
.zi{width:1em;height:1em;display:block;flex-shrink:0;}
.zi-tile{display:flex;align-items:center;justify-content:center;}
.zi-tile .zi{width:46%;height:46%;}
/* 快捷入口 / 类型卡 / 分类面板里的图标在彩色底上放大 */
.quick .em .zi{width:22px;height:22px;}
.type-grid .em .zi{width:19px;height:19px;}
.msheet .catgrid .em .zi{width:20px;height:20px;}
.mquick a i .zi{width:17px;height:17px;}
.mtabbar a i .zi{width:20px;height:20px;}
.mtabbar .mid .zi{width:22px;height:22px;}
/* 机构卡 logo：彩色浅底 + 主题色图标 */
.org .logo.zi-tile .zi{width:24px;height:24px;}
.hosp-item .org-logo .zi{width:20px;height:20px;}
.topbar .tsearch .ico .zi{width:12px;height:12px;}
/* 移动端导航「全部分类」：两版都带栅格图标，更醒目 */
.mnav a.all .all-i{display:flex;width:26px;height:26px;border-radius:50%;margin:0 auto 3px;
  align-items:center;justify-content:center;background:var(--brand-soft);color:var(--brand);}
.mnav a.all .all-i .zi{width:15px;height:15px;}
.mnav.nav-b a.all{display:inline-flex;align-items:center;gap:6px;}
.mnav.nav-b a.all .all-i{width:16px;height:16px;margin:0;background:transparent;border-radius:0;}
.mnav.nav-b a.all .all-i .zi{width:15px;height:15px;}
/* 悬浮按钮里的图标 */
.float-kf i .zi,.float-mail i .zi{width:20px;height:20px;}

/* ---------- ② 悬浮按钮组（客服/邮件/换色 同一队列） ---------- */
/* .zkd-sw 的定位由 theme.js 注入；这里只管队列内对齐 */
.float-bar .zkd-sw{flex-shrink:0;}

/* ---------- ③ 预约页「服务类型」版面 A：横排服务大卡 ---------- */
.svc-list{display:flex;flex-direction:column;gap:12px;}
.svc-row{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:18px 20px;transition:.18s;}
.svc-row:hover{border-color:rgba(var(--sh),.3);box-shadow:var(--sd);}
.svc-row.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand);}
.svc-row .svc-ic{width:52px;height:52px;flex-shrink:0;border-radius:14px;background:var(--brand-soft);
  color:var(--brand);display:flex;align-items:center;justify-content:center;}
.svc-row.on .svc-ic{background:#fff;}
.svc-row .svc-ic .zi{width:26px;height:26px;}
.svc-row .svc-bd{flex:1;min-width:0;}
.svc-row .svc-bd b{font-size:15.5px;display:flex;align-items:center;gap:8px;letter-spacing:.3px;}
.svc-row .svc-bd .d{display:block;font-size:12.5px;color:var(--muted);margin-top:3px;}
.svc-row .svc-bd .t{display:block;font-size:12px;color:var(--muted-2);margin-top:6px;line-height:1.7;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.svc-row .svc-pr{flex-shrink:0;text-align:right;}
.svc-row .svc-pr b{display:block;color:var(--price);font-size:21px;font-weight:600;}
.svc-row .svc-pr i{font-style:normal;font-size:11.5px;color:var(--muted);}
.svc-row .btn{flex-shrink:0;min-width:104px;}

/* ---------- ③ 预约页「服务类型」版面 B：分段选择 + 详情面板 ---------- */
.svc-seg{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.svc-tabs{display:flex;border-bottom:1px solid var(--line);background:var(--panel-soft-2);overflow-x:auto;}
.svc-tabs button{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:7px;
  padding:13px 10px;border:none;background:transparent;font-size:13.5px;color:var(--ink-2);cursor:pointer;
  border-bottom:2px solid transparent;white-space:nowrap;transition:.15s;}
.svc-tabs button .zi{width:17px;height:17px;}
.svc-tabs button:hover{color:var(--brand);}
.svc-tabs button.on{background:#fff;color:var(--brand);font-weight:600;border-bottom-color:var(--brand);}
.svc-panel{padding:20px 22px;min-height:150px;}
.svc-p-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.svc-p-head .svc-ic{width:46px;height:46px;border-radius:12px;background:var(--brand-soft);color:var(--brand);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.svc-p-head .svc-ic .zi{width:23px;height:23px;}
.svc-p-head b{font-size:16.5px;display:block;}
.svc-p-head .d{display:block;font-size:12.5px;color:var(--muted);margin-top:2px;}
.svc-p-head .svc-pr{margin-left:auto;text-align:right;}
.svc-p-head .svc-pr b{display:block;color:var(--price);font-size:22px;font-weight:600;}
.svc-p-head .svc-pr i{font-style:normal;font-size:11.5px;color:var(--muted);}
.svc-p-tips{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);
  display:flex;flex-wrap:wrap;gap:7px 16px;font-size:12.5px;color:var(--ink-2);}
.svc-p-tips li{position:relative;padding-left:14px;line-height:1.9;}
.svc-p-tips li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:50%;background:var(--gold);}
.svc-panel .btn{margin-top:14px;}

@media(max-width:768px){
  .svc-row{flex-wrap:wrap;gap:10px;padding:14px;}
  .svc-row .svc-ic{width:42px;height:42px;border-radius:11px;}
  .svc-row .svc-ic .zi{width:21px;height:21px;}
  .svc-row .svc-bd{flex:1;min-width:calc(100% - 120px);}
  .svc-row .svc-bd .t{white-space:normal;}
  .svc-row .svc-pr{width:50%;text-align:left;order:4;}
  .svc-row .svc-pr b{display:inline;font-size:18px;margin-right:4px;}
  .svc-row .btn{min-width:96px;min-height:38px;padding:6px 14px;font-size:13px;}
  .svc-tabs button{min-width:96px;padding:11px 8px;font-size:12.5px;}
  .svc-panel{padding:14px;}
  .svc-p-head .svc-pr{width:100%;text-align:left;margin-left:0;}
  .svc-p-head .svc-pr b{display:inline;margin-right:4px;}
}

/* ---------- ④ 栏目底部版权条 ---------- */
.copy-note{display:flex;gap:10px;align-items:flex-start;background:var(--panel-soft);
  border:1px dashed var(--line-2);border-radius:var(--r-s);padding:13px 16px;margin:22px 0 26px;
  color:var(--muted);font-size:12.5px;line-height:1.9;}
.copy-note .zi-cn{width:16px;height:16px;color:var(--gold-ink);margin-top:3px;}
.copy-note p{margin:0;flex:1;min-width:0;overflow-wrap:anywhere;}
.copy-note .cn-x{display:block;margin-top:2px;}
.copy-note .cn-c{display:block;margin-top:2px;color:var(--muted-2);}

/* ---------- ⑤ 手机端页脚整理：两列栅格、关于块整行、底部居中 ---------- */
@media(max-width:768px){
  .footer .ftop{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:28px 0 18px;}
  .footer .ftop .about{grid-column:1 / -1;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:18px;margin-bottom:6px;}
  .footer .ftop .about .lg{font-size:17px;margin-bottom:8px;}
  .footer .ftop .about p{font-size:12.5px;line-height:1.9;}
  .footer .ftop>div:not(.about){padding-top:12px;}
  .footer h4{font-size:13.5px;margin-bottom:8px;}
  .footer li{padding:3px 0;font-size:12.5px;}
  .footer .contact{margin-top:10px;}
  .footer .contact b{font-size:17px;}
  .footer .fbot{padding:14px 0;justify-content:center;text-align:center;}
  .footer .fbot-in{display:flex;flex-direction:column;align-items:center;gap:6px;}
  .footer .fbot-c{font-size:11.5px;line-height:1.8;}
  .footer .fbot .links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;font-size:11.5px;}
  .footer .fbot .links a{margin-left:0;}
  .footer .fbot .links .f-dis{margin-right:0;width:100%;text-align:center;line-height:1.7;}
  /* 翻页条：手机端可换行、不溢出 */
  .pager{flex-wrap:wrap;padding:0 10px;}
  .pager a,.pager span{min-width:34px;height:34px;}
  .pager em{width:100%;text-align:center;font-style:normal;font-size:11.5px;color:var(--muted);margin-top:4px;}
  /* 栏目版权条收紧 */
  .copy-note{margin:16px 0 20px;padding:11px 13px;font-size:12px;}
}


/* ================================================================
   v1.6.5
   ① 医院地图：未配置/加载失败时的紧凑提示卡（不再留 480px 空白）
   ② 悬浮按钮组：客服 + 发邮件，统一 .float-bar 容器
   ================================================================ */

/* ---------- ① 地图提示卡 ---------- */
.map-col{min-width:0;}
.map-notice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  min-height:180px;padding:26px 22px;text-align:center;
  border:1px dashed var(--line);border-radius:var(--r);background:var(--soft-a, #FAF7F1);}
.map-notice i{font-style:normal;font-size:26px;opacity:.75;}
.map-notice b{font-size:14.5px;color:var(--brand-d);}
.map-notice p{margin:0;font-size:13px;line-height:1.9;color:var(--ink-2);max-width:520px;}
.map-notice p.tip{font-size:12.5px;color:var(--muted);}
@media(max-width:900px){.map-notice{min-height:150px;padding:20px 16px;}}

/* ---------- ② 悬浮按钮组 ---------- */
.float-bar{position:fixed;right:14px;bottom:78px;z-index:60;display:flex;flex-direction:column;
  gap:10px;align-items:flex-end;
  transition:transform .25s cubic-bezier(.3,.7,.4,1),opacity .25s;}
.float-bar.kf-min{transform:scale(.78);opacity:.5;}
.float-bar .float-kf,
.float-bar .float-mail{position:static;right:auto;bottom:auto;transform-origin:100% 100%;}
.float-mail{width:56px;height:56px;border-radius:50%;color:#fff;display:flex;flex-direction:column;
  align-items:center;justify-content:center;font-size:10px;line-height:1.3;text-decoration:none;
  background:linear-gradient(135deg,#4E9FB8,#2F6E86);box-shadow:0 6px 20px rgba(0,0,0,.18);}
.float-mail i{font-style:normal;font-size:18px;line-height:1;}
.float-mail span{font-size:10px;margin-top:1px;}

@media(min-width:769px){
  .float-bar{right:24px;bottom:30px;}
}
@supports (bottom:env(safe-area-inset-bottom)){
  .float-bar{bottom:calc(78px + env(safe-area-inset-bottom));}
  @media(min-width:769px){.float-bar{bottom:calc(30px + env(safe-area-inset-bottom));}}
}
@media(max-width:768px){
  .float-bar{right:8px;bottom:calc(72px + env(safe-area-inset-bottom,0px));gap:8px;}
  .float-mail{width:40px;height:40px;box-shadow:0 4px 14px rgba(0,0,0,.16);}
  .float-mail i{font-size:16px;}
  .float-mail span{display:none;}
  .float-bar.kf-min{transform:scale(.82);opacity:.45;}
}
@media(max-width:400px){
  .float-mail{width:36px;height:36px;}
  .float-mail i{font-size:14px;}
}

/* ================================================================
   v1.6.8
   ① 站点设置：左侧分组导航 + 右侧卡片，一次一组（页面不再无限长）
   ================================================================ */
.set-act{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:14px;}
.set-act .set-dirty{display:none;font-size:12px;color:var(--price);background:var(--price-soft);
  padding:5px 11px;border-radius:20px;}
.set-act .set-dirty.on{display:inline-block;}
.set-x{display:grid;grid-template-columns:206px minmax(0,1fr);gap:16px;align-items:start;}
.set-nav{position:sticky;top:12px;padding:7px;}
.set-nav .cap{font-size:11px;color:var(--muted);letter-spacing:1.4px;padding:8px 11px 6px;}
.set-nav a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px;font-size:13.5px;
  color:var(--ink-2);cursor:pointer;text-decoration:none;border-left:3px solid transparent;transition:.16s;}
.set-nav a:hover{background:var(--fill);}
.set-nav a.on{background:var(--brand-soft);color:var(--brand);border-left-color:var(--brand);font-weight:600;}
.set-nav a em{width:24px;height:24px;border-radius:7px;background:var(--fill);color:var(--ink-2);font-style:normal;
  font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.set-nav a.on em{background:var(--brand);color:#fff;}
.set-nav a .n{margin-left:auto;font-size:11px;color:var(--muted);}
.set-nav a.on .n{color:var(--brand);}
.set-pane{display:none;}
.set-pane.on{display:block;animation:setIn .26s cubic-bezier(.3,.7,.4,1);}
@keyframes setIn{from{opacity:0;transform:translateX(14px);}to{opacity:1;transform:none;}}
.set-hd{padding:15px 18px 13px;border-bottom:1px solid var(--line);}
.set-hd b{font-size:15px;display:flex;align-items:center;gap:8px;}
.set-hd b::before{content:'';width:3px;height:15px;border-radius:2px;background:var(--brand);}
.set-hd span{display:block;font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.75;}
.set-bd{padding:16px 18px 18px;}
.set-ft{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line);
  background:var(--white-2,#fcfcfb);border-radius:0 0 var(--r) var(--r);flex-wrap:wrap;}
.set-ft .mid{font-size:12.5px;color:var(--muted);margin:0 auto;}
.set-ft .btn[disabled]{opacity:.4;cursor:not-allowed;}
/* 设置字段双列 */
.set-bd .fld-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 22px;align-items:start;}
.set-bd .fld-grid .fld{margin-bottom:0;}
.set-bd .fld-grid .fld-full{grid-column:1 / -1;}
.set-bd .fld-grid .fld input,.set-bd .fld-grid .fld select{max-width:none;}
.set-bd .fld-grid .fld input[type=number]{max-width:200px;}
.set-bd .fld-grid .fld textarea{max-width:none;}
.set-bd .imgrow{display:flex;align-items:center;gap:10px;margin-bottom:7px;}
.set-bd .imgrow .thumb{width:56px;height:56px;object-fit:contain;border:1px solid var(--line);
  border-radius:9px;background:#fff;flex-shrink:0;}
.set-bd .imgrow .del{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:4px;margin:0;font-weight:400;}
.set-bd .imgrow .del input{width:auto;max-width:none;}
@media(max-width:1100px){
  .set-bd .fld-grid{grid-template-columns:1fr;}
}
@media(max-width:900px){
  .set-x{grid-template-columns:minmax(0,1fr);}
  .set-nav{position:static;display:flex;gap:6px;overflow-x:auto;padding:6px;}
  .set-nav .cap{display:none;}
  .set-nav a{flex:0 0 auto;padding:7px 13px;border-radius:20px;background:var(--fill);
    border-left:none;white-space:nowrap;}
  .set-nav a.on{background:var(--brand);color:#fff;border-left:none;}
  .set-nav a em,.set-nav a .n{display:none;}
  .set-hd,.set-bd,.set-ft{padding-left:13px;padding-right:13px;}
  .set-ft .mid{width:100%;text-align:center;order:3;margin:6px 0 0;}
  .set-ft .btn{flex:1;}
}

/* ================================================================
   v1.6.8 ② 预约页重排版（A 稿：边选边填 + 右栏实时摘要）
   全部选择器限定在 .bk（= 预约表单容器）内，不影响其它页面
   ================================================================ */
.bk .bk-flow{display:flex;align-items:center;gap:10px;background:var(--gold-soft);
  border:1px solid rgba(var(--gold-rgb),.35);border-radius:12px;padding:10px 16px;
  font-size:12.5px;color:var(--gold-ink);margin:14px 0 18px;flex-wrap:wrap;}
.bk .bk-flow i{font-style:normal;font-weight:600;}
.bk .bk-flow .ar{color:var(--gold);opacity:.75;margin:0 1px;}
.bk .bkA{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:18px;align-items:start;}
.bk .bk-seg{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sd);
  padding:16px 18px;margin-bottom:14px;}
.bk .bk-seg-hd{display:flex;align-items:center;gap:9px;margin-bottom:13px;flex-wrap:wrap;}
.bk .bk-seg-hd .no{width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;
  font-style:normal;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;}
.bk .bk-seg-hd b{font-size:15px;}
.bk .bk-seg-hd .tip{font-size:11.5px;color:var(--muted);margin-left:auto;}
.bk .svc-list{margin:0;}
.bk .svc-row{cursor:pointer;}
.bk .svc-row .btn{cursor:default;}
/* 方式 chip */
.bk .bk-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.bk .bk-chips button{padding:8px 16px;border-radius:20px;border:1px solid var(--line);background:#fff;
  font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer;transition:.16s;}
.bk .bk-chips button:hover{border-color:rgba(var(--sh),.35);}
.bk .bk-chips button.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600;}
.bk .bk-way{font-size:12.5px;color:var(--ink-2);background:var(--soft-a,#FAF7F1);border:1px dashed var(--line);
  border-radius:10px;padding:11px 13px;line-height:1.95;}
/* 医院迷你列表 */
.bk .bk-hs{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:232px;overflow-y:auto;padding:2px;margin-top:8px;}
.bk .bk-hs-i{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);
  border-radius:11px;cursor:pointer;transition:.15s;background:#fff;}
.bk .bk-hs-i:hover{border-color:rgba(var(--sh),.35);}
.bk .bk-hs-i.on{border-color:var(--brand);background:var(--brand-soft);}
.bk .bk-hs-i .ic{width:32px;height:32px;border-radius:8px;background:var(--brand-soft);color:var(--brand);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bk .bk-hs-i.on .ic{background:var(--brand);color:#fff;}
.bk .bk-hs-i .ic .zi{width:18px;height:18px;}
.bk .bk-hs-i .nm{font-size:13px;font-weight:600;line-height:1.45;}
.bk .bk-hs-i .ad{font-size:11.5px;color:var(--muted);}
.bk .bk-hs-i .ck{margin-left:auto;color:var(--brand);opacity:0;flex-shrink:0;display:flex;}
.bk .bk-hs-i .ck .zi{width:16px;height:16px;}
.bk .bk-hs-i.on .ck{opacity:1;}
/* 表单字段 */
.bk .f label{display:block;font-size:12.5px;color:var(--ink-2);margin-bottom:6px;font-weight:600;}
.bk .f label b{color:var(--price);margin-right:2px;}
.bk .f input,.bk .f select,.bk .f textarea{width:100%;}
.bk .f .region-pick{display:flex;gap:8px;flex-wrap:wrap;}
.bk .f .region-pick select{flex:1;min-width:104px;width:auto;}
.bk .f2{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;}
.bk .f2 .fld-full{grid-column:1/-1;}
.bk .f textarea{min-height:76px;resize:vertical;}
/* 右栏「预约摘要」 */
.bk .bk-side{position:sticky;top:14px;}
.bk .bk-sum{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sd);padding:15px 16px;}
.bk .bk-sum .cap{font-size:11.5px;color:var(--muted);letter-spacing:1.4px;margin-bottom:10px;font-weight:600;}
.bk .bk-sum .svc{display:flex;align-items:center;gap:10px;padding-bottom:11px;border-bottom:1px dashed var(--line);}
.bk .bk-sum .svc .ic{width:40px;height:40px;border-radius:10px;background:var(--brand-soft);color:var(--brand);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bk .bk-sum .svc .ic .zi{width:20px;height:20px;}
.bk .bk-sum .svc b{font-size:14.5px;display:block;line-height:1.4;}
.bk .bk-sum .svc span{font-size:11.5px;color:var(--muted);}
.bk .bk-sum .rows{padding-top:11px;}
.bk .bk-sum .rows>div{display:flex;gap:10px;padding:5px 0;font-size:12.5px;align-items:baseline;}
.bk .bk-sum .rows i{font-style:normal;color:var(--muted);width:44px;flex-shrink:0;font-size:11.5px;}
.bk .bk-sum .rows b{font-weight:600;color:var(--ink);line-height:1.5;word-break:break-all;}
.bk .bk-sum .rows b.mut{color:var(--muted-3);font-weight:400;}
.bk .bk-sum .go{width:100%;padding:12px;margin-top:13px;font-size:15px;}
.bk .bk-sum .mini{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px;}
.bk .bk-sum .mini-t{font-size:11px;color:var(--muted);letter-spacing:1.2px;margin-bottom:6px;}
.bk .bk-sum .mini .mr{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ink-2);padding:3px 0;}
.bk .bk-sum .mini .mr span{width:16px;height:16px;border-radius:50%;background:var(--fill);color:var(--ink-2);
  font-size:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bk .bk-ann{font-size:11.5px;color:var(--muted);line-height:1.95;margin-top:10px;padding:0 4px;}
/* 底部折叠区（机构墙 / 护理师） */
.bk .bk-fold{margin-top:20px;}
.bk .bk-fold>button{width:100%;padding:13px;border:1px dashed var(--line);border-radius:12px;background:#fff;
  font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer;transition:.16s;text-align:center;}
.bk .bk-fold>button:hover{border-color:var(--brand);color:var(--brand);}
.bk .bk-fold .bd{display:none;margin-top:12px;}
.bk .bk-fold.open .bd{display:block;}
.bk .bk-fold.open>button{border-style:solid;color:var(--brand);}
@media(max-width:1100px){
  .bk .bkA{grid-template-columns:minmax(0,1fr);}
}
@media(max-width:900px){
  .bk .bk-hs{grid-template-columns:1fr;max-height:210px;}
  .bk .bk-side{position:sticky;top:auto;bottom:58px;z-index:60;}
  .bk .bk-sum{padding:10px 12px;border-radius:14px;box-shadow:0 -8px 26px rgba(74,33,26,.16);
    display:flex;align-items:center;gap:10px;}
  .bk .bk-sum .cap,.bk .bk-sum .rows,.bk .bk-sum .mini{display:none;}
  /* v1.7.6：手机端摘要条是 flex 横排，「登录后自动回到本页」这行小字
     不能参与排 flex（会把 flex-basis:0 的服务名挤成 0 宽，文字一字一行竖排） */
  .bk .bk-sum .go-hint{display:none;}
  .bk .bk-sum .svc{flex:1 1 0;min-width:120px;border-bottom:none;padding-bottom:0;}
  .bk .bk-sum .svc .ic{width:34px;height:34px;}
  .bk .bk-sum .svc .ic .zi{width:17px;height:17px;}
  .bk .bk-sum .svc b{font-size:13.5px;}
  .bk .bk-sum .go{width:auto;flex-shrink:0;margin-top:0;padding:11px 20px;font-size:14px;}
  .bk .bk-ann{display:none;}
  .bk .bk-seg{padding:14px;border-radius:12px;}
  .bk .bk-seg-hd .tip{display:none;}
  .bk .f2{grid-template-columns:1fr;}
  .bk .f input,.bk .f select{height:46px;font-size:15px;}
  .bk .f label{font-size:13px;}
}

/* ================================================================
   v1.6.9 ① 预约页：手机端悬浮按钮抬升到「提交预约」摘要条之上
   （bk-sum 底条 bottom:58px + 高约 64px，浮层从 72px 抬到 130px）
   ================================================================ */
@media(max-width:1100px){
  .float-bar.fb-bk{bottom:calc(130px + env(safe-area-inset-bottom,0px));}
}
/* v1.6.9 ② 服务项目较多：首屏只显示前 4 项，其余折叠；PC 宽屏双列 */
.bk .svc-row.svc-x{display:none;}
.bk .svc-list.open .svc-row.svc-x{display:flex;}
.bk .svc-list.open.svc-multi .svc-row.svc-x{display:flex;}
.bk .svc-toggle{width:100%;margin-top:10px;padding:11px;border:1px dashed var(--line);
  border-radius:12px;background:#fff;font:inherit;font-size:13px;color:var(--ink-2);
  cursor:pointer;transition:.16s;text-align:center;}
.bk .svc-toggle:hover{border-color:var(--brand);color:var(--brand);}
@media(min-width:901px){
  .bk .svc-list.svc-multi{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .bk .svc-list.svc-multi .svc-row{align-items:center;}
}

/* ================================================================
   v1.7.0
   ① 后台页签条（栏目/SEO/导航 · 会员/管理员 · 服务/护理师/评价 · 产品库导入抓取 共用）
   ② 列表「行内展开编辑」（预约订单等：不跳页直接改，带保存按钮）
   ③ 轻提示 toast（AJAX 保存结果 / 新订单实时提醒共用）
   ================================================================ */
.mtabs{display:flex;gap:0;border-bottom:2px solid var(--line);flex-wrap:wrap;margin-bottom:4px;}
.mtabs a{padding:11px 22px;font-size:14.5px;color:var(--ink-2);border-bottom:2px solid transparent;
  margin-bottom:-2px;white-space:nowrap;text-decoration:none;}
.mtabs a:hover{color:var(--brand);}
.mtabs a.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600;}
.mtabs a em{font-style:normal;background:var(--price);color:#fff;border-radius:9px;
  padding:1px 7px;font-size:11.5px;margin-left:5px;vertical-align:1px;}
@media(max-width:600px){.mtabs a{padding:9px 14px;font-size:13.5px;}}

/* ② 行内展开编辑 */
tr.zkd-erow>td{background:var(--white-2,#FBF9F6);padding:14px 16px;}
.zkd-inline{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;align-items:start;}
.zkd-inline .fld{margin-bottom:0;}
.zkd-inline .fld.flf{grid-column:1/-1;}
.zkd-inline .fld input,.zkd-inline .fld select{max-width:100%;}
.zkd-inline .btns{grid-column:1/-1;margin-top:4px;}
.zkd-inline-hd{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;
  padding-bottom:4px;border-bottom:1px dashed var(--line);}
.zkd-inline-hd span{font-weight:400;font-size:12.5px;color:var(--muted);}
@media(max-width:820px){.zkd-inline{grid-template-columns:1fr;}}
/* 窄屏下 .tbl-wrap 会横向滚动：让展开的表单「吸」在滚动容器左侧并按视口宽度收窄，
   否则用户要左右拖动才看得全 —— 行内编辑在手机上反而更难用。 */
@media(max-width:820px){
  tr.zkd-erow>td{padding:14px 0;}
  .zkd-inline{position:sticky;left:12px;max-width:calc(100vw - 54px);}
}

/* ③ toast */
#zkdToast{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:99999;
  display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;}
#zkdToast .t{padding:12px 26px;border-radius:10px;font-size:14.5px;color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.25);background:#1E8E4E;max-width:80vw;
  animation:zkdT .22s cubic-bezier(.3,.7,.4,1);}
#zkdToast .t.err{background:#C0392B;}
@keyframes zkdT{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}

/* ================================================================
   v1.7.2  后台体验优化
   ① 列表「行内展开编辑」紧凑版式（.zkd-inline-sm）
      —— 站长反馈：点「编辑」展开后太高、输入框太长，改一两个字段要拖半天。
         现在：宽屏三列 / 中等屏两列，输入框缩短，多行文本压到 2~3 行，
         一屏内改完直接保存。要写长内容仍可点「打开完整编辑页」。
   ② 行内「快捷操作」按钮条（.zkd-rops）—— 订单/预约常用的确认/完成/取消
      不用进详情页，行内一键完成。
   ③ 订单列表行内展开面板（.zkd-ox）—— 商品清单 + 发货/退款/备注同屏处理。
   ================================================================ */
.zkd-inline-sm{grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px 12px;}
.zkd-inline-sm .fld.flf{grid-column:1/-1;}
.zkd-inline-sm label{font-size:12px;color:var(--muted);margin-bottom:2px;display:block;}
.zkd-inline-sm input:not([type=checkbox]):not([type=radio]),
.zkd-inline-sm select,
.zkd-inline-sm textarea{padding:6px 10px;font-size:13px;line-height:1.5;border-radius:8px;min-height:32px;}
.zkd-inline-sm textarea{min-height:56px;}
/* 「输入框没必要那么长」：数字 / 日期这类短内容不必占满整列 */
.zkd-inline-sm input[type=number],
.zkd-inline-sm input[type=date],
.zkd-inline-sm input[type=datetime-local]{max-width:168px;}
.zkd-inline-sm .help{font-size:11.5px;margin-top:2px;}
.zkd-inline-sm .btns{margin-top:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.zkd-inline-sm .btns .btn{padding:6px 14px;font-size:12.5px;border-radius:9px;}
.zkd-inline-sm .zkd-inline-hd{font-size:13px;padding-bottom:6px;margin-bottom:2px;}
@media(max-width:1180px){.zkd-inline-sm{grid-template-columns:repeat(2,minmax(150px,1fr));}}
@media(max-width:820px){.zkd-inline-sm{grid-template-columns:1fr;}}

/* ② 行内快捷操作按钮条（放在「操作」单元格里，跟在编辑/删除后面） */
.zkd-rops{display:inline-flex;gap:6px;margin-left:8px;vertical-align:middle;}
.zkd-rops a{font-size:12px;padding:2px 9px;border:1px solid var(--line);border-radius:20px;
  color:var(--ink-2);text-decoration:none;background:#fff;white-space:nowrap;}
.zkd-rops a:hover{border-color:var(--brand);color:var(--brand);}
.zkd-rops a.ok:hover{border-color:#2F8A4E;color:#2F8A4E;}
.zkd-rops a.danger{color:var(--price);}
.zkd-rops a.danger:hover{border-color:var(--price);}

/* ③ 订单/预约列表行内展开面板 */
tr.zkd-orow>td{background:var(--white-2,#FBF9F6);padding:16px 18px;}
.zkd-ox{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start;}
.zkd-ox .box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;}
.zkd-ox .box>b{display:block;font-size:13.5px;margin-bottom:8px;}
.zkd-ox .kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px;}
.zkd-ox .kv i{font-style:normal;color:var(--muted);white-space:nowrap;}
.zkd-ox .ops form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-bottom:8px;}
.zkd-ox .ops form:last-child{margin-bottom:0;}
.zkd-ox .ops .fld{margin:0;min-width:130px;}
.zkd-ox .ops .fld input,.zkd-ox .ops .fld textarea{padding:6px 10px;font-size:13px;}
.zkd-ox table.tbl th,.zkd-ox table.tbl td{padding:6px 10px;font-size:13px;}
@media(max-width:900px){.zkd-ox{grid-template-columns:1fr;}}
@media(max-width:820px){
  tr.zkd-orow>td{padding:14px 0;}
  .zkd-ox{position:sticky;left:12px;max-width:calc(100vw - 54px);}
}

/* ============================================================
   v1.7.3 · 预约排期看板 + 详情抽屉（B 稿 admin/booking.php?view=board）
   ------------------------------------------------------------
   看板：四列（待确认/已确认/已完成/已取消），卡片就地确认/取消/完成/重开
   抽屉：右侧常驻，点卡片联动，改完保存只刷新看板与抽屉
   ============================================================ */
html.adm .bk-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:12px;}
html.adm .bk-toolbar .k{font-size:13px;color:var(--muted);}
html.adm .bk-toolbar .hint{font-size:12.5px;color:var(--muted);margin-left:auto;}
html.adm .bk-seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;}
html.adm .bk-seg a{padding:6px 14px;font-size:13px;color:var(--ink-2);text-decoration:none;border-left:1px solid var(--line);}
html.adm .bk-seg a:first-child{border-left:0;}
html.adm .bk-seg a:hover{background:var(--fill);}
html.adm .bk-seg a.on{background:var(--brand);color:#fff;font-weight:600;}
html.adm .bk-filters{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;}
html.adm .bk-filters select{width:auto;}

html.adm .bk-wrap{min-width:0;}
html.adm .bk-shell{display:grid;grid-template-columns:minmax(0,1fr) 344px;gap:12px;align-items:start;}
html.adm .bk-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start;}
html.adm .bk-col{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:var(--sd);}
html.adm .bk-col .hdl{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:13.5px;font-weight:600;}
html.adm .bk-col .hdl em{font-style:normal;background:var(--fill);color:var(--ink-2);border-radius:9px;padding:0 7px;font-size:11.5px;font-weight:600;}
html.adm .bk-col .hdl i{width:8px;height:8px;border-radius:50%;margin-left:auto;}
html.adm .bk-col.wait .hdl i{background:var(--brand);}
html.adm .bk-col.conf .hdl i{background:var(--blue);}
html.adm .bk-col.done .hdl i{background:var(--ok);}
html.adm .bk-col.cancel .hdl i{background:var(--muted-3);}
html.adm .bk-col .bd{padding:10px;display:flex;flex-direction:column;gap:9px;min-height:110px;}
html.adm .bk-col .none{font-size:12.5px;color:var(--muted);text-align:center;padding:12px 4px;}

html.adm .bk-card{border:1px solid var(--line);border-radius:11px;padding:10px 11px;background:var(--white-2);cursor:pointer;transition:border-color .15s,box-shadow .15s;}
html.adm .bk-card:hover{border-color:var(--brand);}
html.adm .bk-card.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft);background:#fff;}
html.adm .bk-card .t{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;}
html.adm .bk-card .t span{margin-left:auto;font-size:12px;color:var(--price);font-weight:700;}
html.adm .bk-card .m{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.6;}
html.adm .bk-card .m.warn{color:var(--brand);}
html.adm .bk-card .f{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap;}
html.adm .bk-card .f a{font-size:11.5px;padding:2px 9px;border:1px solid var(--line);border-radius:20px;text-decoration:none;color:var(--ink-2);background:#fff;}
html.adm .bk-card .f a:hover{border-color:var(--brand);}
html.adm .bk-card .f a.ok{border-color:#BEDCC7;color:var(--ok);}
html.adm .bk-card .f a.danger{border-color:#EBC7C1;color:var(--price);}
html.adm .bk-card .f a.link{border:0;background:transparent;color:var(--brand);padding-left:0;}

html.adm .bk-drawer{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--sd);position:sticky;top:10px;}
html.adm .bk-drawer .dh{padding:11px 13px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;}
html.adm .bk-drawer .dh b{font-size:14px;}
html.adm .bk-drawer .dh .tag{margin-left:auto;}
html.adm .bk-drawer .db{padding:12px 13px;}
html.adm .bk-drawer .kv{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;font-size:13px;margin-bottom:11px;}
html.adm .bk-drawer .kv i{font-style:normal;color:var(--muted);white-space:nowrap;}
html.adm .bk-drawer .kv span{word-break:break-all;}
html.adm .bk-drawer .fld{margin-bottom:8px;}
html.adm .bk-drawer .fld label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:3px;}
html.adm .bk-drawer .fld input,.bk-drawer .fld select,.bk-drawer .fld textarea{width:100%;}
html.adm .bk-drawer .fld textarea{min-height:58px;}
html.adm .bk-drawer .f2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
html.adm .bk-drawer .ops{display:flex;gap:7px;flex-wrap:wrap;padding-top:9px;border-top:1px dashed var(--line);}
html.adm .bk-drawer .tl{font-size:12.5px;color:var(--ink-2);line-height:1.95;margin-top:9px;border-top:1px dashed var(--line);padding-top:8px;}
html.adm .bk-drawer .tl b{color:var(--brand);}
html.adm .bk-drawer .none{font-size:12.5px;color:var(--muted);}
html.adm .bk-note{background:var(--brand-soft);border:1px solid var(--line-3);color:var(--brand-d);border-radius:9px;padding:7px 11px;font-size:12.5px;margin-bottom:10px;}

@media(max-width:1180px){
  html.adm .bk-board{grid-template-columns:repeat(2,minmax(0,1fr));}
  html.adm .bk-shell{grid-template-columns:1fr;}
  html.adm .bk-drawer{position:static;}
  html.adm .bk-toolbar .hint{margin-left:0;width:100%;}
}
@media(max-width:820px){
  html.adm .bk-board{grid-template-columns:1fr;}
  html.adm .bk-drawer .f2{grid-template-columns:1fr;}
  html.adm .bk-filters{width:100%;}
  html.adm .bk-filters input,.bk-filters select{flex:1 1 40%;min-width:0;}
}

/* ============================================================
   v1.7.3 · 内容管理 A 稿（admin/content.php 四合一页签页）
   ------------------------------------------------------------
   顶部四张概览卡（已发布资讯 / 待审核问答 / 待回复评价 / 进行中投票），
   点卡片直接切页签；页签上带待处理角标。
   ============================================================ */
.cms-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;}
.cms-stats a{display:block;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 15px;text-decoration:none;box-shadow:var(--sd);transition:border-color .15s;}
.cms-stats a:hover{border-color:var(--brand);}
.cms-stats b{display:block;font-size:22px;line-height:1.35;color:var(--ink);}
.cms-stats span{font-size:12.5px;color:var(--muted);}
.cms-stats a.warn b{color:var(--price);}
.cms-stats a.blue b{color:var(--blue);}
.mtabs a em{font-style:normal;font-size:11px;font-weight:600;background:var(--price);color:#fff;border-radius:9px;padding:1px 7px;margin-left:4px;vertical-align:2px;}
@media(max-width:1180px){.cms-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:820px){.cms-stats{grid-template-columns:1fr 1fr;}}

/* ============================================================
   v1.7.4 · 后台滚动条稳定（修「点页签/卡片时滚动条跳动」）
   ------------------------------------------------------------
   现象：内容管理里点不同概览卡片时，滚动条忽有忽无、页面横向抖一下。
   原因：整页重排时内容高度变化，滚动条出现/消失会把正文宽度推来推去。
   处理：后台（html.adm）预留滚动条占位，滚动条常驻不再挤压布局。
   不支持该属性的老浏览器自动忽略，不影响功能。
   ============================================================ */
html.adm{scrollbar-gutter:stable;}

/* ============================================================
   v1.7.5 · 商品编辑页新排版（站长选定：电商产品 B 稿 / 产品库 A 稿）
   ------------------------------------------------------------
   通用容器 .zkd-el = 左栏(可选大图/来源) + 左导航(可选锚点) + 主字段区
   字段三列栅格 w1/w2/w3 · 分组卡片 .zkd-grp · 折叠组 .zkd-fold · 底部保存条 .zkd-savebar
   命名全部落在 .zkd-* / form.zkd-edit 内，不污染前台样式。
   ============================================================ */
form.zkd-edit{display:block;}
form.zkd-edit .fld{margin-bottom:0;}
form.zkd-edit .fld>label{font-size:12.5px;color:var(--muted);margin-bottom:4px;font-weight:400;}
form.zkd-edit .fld input,form.zkd-edit .fld select,form.zkd-edit .fld textarea{max-width:100%;width:100%;padding:7px 11px;}
form.zkd-edit .fld input[type=number]{max-width:100%;}
form.zkd-edit .fld textarea{max-width:100%;min-height:62px;}

.zkd-el{display:grid;gap:14px;align-items:start;}
.zkd-el.has-aside{grid-template-columns:292px minmax(0,1fr);}
.zkd-el.has-nav{grid-template-columns:178px minmax(0,1fr);}
.zkd-el.has-aside.has-nav{grid-template-columns:292px 178px minmax(0,1fr);}
.zkd-el-main{min-width:0;}

/* 左侧锚点导航（电商产品 B 稿） */
.zkd-el-nav{position:sticky;top:72px;display:flex;flex-direction:column;gap:5px;background:#fff;
  border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:var(--sd);}
.zkd-el-nav>b{font-size:12px;color:var(--muted);letter-spacing:1px;padding:2px 6px 4px;font-weight:600;}
.zkd-el-nav a{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);text-decoration:none;
  padding:7px 9px;border-radius:8px;line-height:1.5;}
.zkd-el-nav a:hover{background:var(--fill);}
.zkd-el-nav a i{width:7px;height:7px;border-radius:50%;background:var(--line);flex-shrink:0;}
.zkd-el-nav a u{text-decoration:none;margin-left:auto;font-size:11px;color:var(--muted);}
.zkd-el-nav a.on{background:var(--brand-soft);color:var(--brand);font-weight:600;}
.zkd-el-nav a.on i{background:var(--brand);}
.zkd-nav-foot{border-top:1px dashed var(--line);margin-top:6px;padding:10px 6px 2px;font-size:12px;color:var(--muted);line-height:1.7;}
.zkd-nav-foot b{color:var(--brand);}

/* 左栏：大图 + 来源信息（产品库 A 稿） */
.zkd-el-aside{display:flex;flex-direction:column;gap:13px;min-width:0;}
.zkd-acard{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--sd);overflow:hidden;}
.zkd-acard .hd{padding:10px 14px;border-bottom:1px dashed var(--line);display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;}
.zkd-acard .hd span{margin-left:auto;font-size:11.5px;color:var(--muted);font-weight:400;}
.zkd-aimg{padding:14px;}
.zkd-aimg .ph{width:100%;aspect-ratio:1/1;border-radius:11px;border:1px solid var(--line);background:var(--fill);
  display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12.5px;overflow:hidden;}
.zkd-aimg .ph img{width:100%;height:100%;object-fit:cover;display:block;}
.zkd-aimg .ops{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap;}
.zkd-aimg .ops .btn{flex:1;justify-content:center;}
.zkd-aimg input[type=file]{width:100%;margin-top:8px;font-size:12px;}
.zkd-kv{padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 11px;font-size:12.5px;}
.zkd-kv i{font-style:normal;color:var(--muted);white-space:nowrap;}
.zkd-kv span{word-break:break-all;color:var(--ink-2);}

/* 顶部核对清单条（产品库 A 稿） */
.zkd-ckline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:11px 16px;margin-bottom:14px;box-shadow:var(--sd);font-size:12.5px;}
.zkd-ckline .ck{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);}
.zkd-ckline .ck i{width:17px;height:17px;border-radius:50%;font-style:normal;display:flex;align-items:center;
  justify-content:center;font-size:11px;background:var(--ok-soft);color:var(--ok);}
.zkd-ckline .ck.miss{color:var(--brand);font-weight:600;}
.zkd-ckline .ck.miss i{background:var(--brand-soft);color:var(--brand);}
.zkd-ckline .rt{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}

/* 分组卡片与三列栅格 */
.zkd-grp{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--sd);
  margin-bottom:13px;overflow:hidden;scroll-margin-top:12px;}
.zkd-grp-hd{display:flex;align-items:center;gap:9px;padding:11px 16px;border-bottom:1px dashed var(--line);}
.zkd-grp-hd i.n{width:22px;height:22px;flex-shrink:0;border-radius:7px;background:var(--brand-soft);color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:700;}
.zkd-grp-hd b{font-size:14px;flex:1;white-space:nowrap;}
.zkd-grp-hd span{font-size:12px;color:var(--muted);white-space:nowrap;}
.zkd-grp-hd .tgl{flex-shrink:0;cursor:pointer;font-size:12px;color:var(--brand);text-decoration:none;
  border:1px solid var(--line);border-radius:20px;padding:1px 10px;background:#fff;margin-left:12px;}
.zkd-fold-sum{display:flex;align-items:center;gap:9px;padding:10px 16px;font-size:12.5px;color:var(--muted);flex-wrap:wrap;}
.zkd-fold-sum b{color:var(--ink);}
.zkd-ggrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;padding:14px 16px;}
form.zkd-edit .fld.w1{grid-column:span 1;}
form.zkd-edit .fld.w2{grid-column:span 2;}
form.zkd-edit .fld.w3{grid-column:1/-1;}

/* 开关胶囊 */
.zkd-pills{display:flex;gap:8px;flex-wrap:wrap;}
.zkd-pill{position:relative;display:inline-flex;align-items:center;font-size:13px;color:var(--ink-2);
  background:var(--fill);border:1px solid var(--line);border-radius:9px;padding:6px 12px;cursor:pointer;user-select:none;}
.zkd-pill input{display:none;}
.zkd-pill span::before{content:'';display:inline-block;width:14px;height:14px;border:1px solid var(--line);
  border-radius:4px;background:#fff;margin-right:6px;vertical-align:-2px;text-align:center;line-height:12px;font-size:10px;}
.zkd-pill.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-d);font-weight:600;}
.zkd-pill.on span::before{content:'✓';background:var(--brand);border-color:var(--brand);color:#fff;}

/* 底部保存条（跨满内容区，含真实完成度） */
.zkd-savebar{position:sticky;bottom:0;z-index:6;margin:16px -22px -20px;padding:12px 22px;
  background:rgba(255,255,255,.97);border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;
  box-shadow:0 -6px 18px rgba(74,33,26,.07);}
.zkd-savebar .prog{font-size:12.5px;color:var(--muted);}
.zkd-savebar .prog b{color:var(--brand);}
.zkd-savebar .rt{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}

@media(max-width:1180px){
  .zkd-el.has-aside,.zkd-el.has-nav,.zkd-el.has-aside.has-nav{grid-template-columns:1fr;}
  .zkd-el-nav{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:8px;}
  .zkd-el-nav>b{display:none;}
  .zkd-el-nav a u{display:none;}
  .zkd-nav-foot{display:none;}
  .zkd-ggrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:820px){
  .zkd-ggrid{grid-template-columns:1fr;}
  form.zkd-edit .fld.w2,form.zkd-edit .fld.w3{grid-column:auto;}
  .zkd-savebar{margin:14px -16px -16px;flex-wrap:wrap;}
  .zkd-savebar .rt{width:100%;margin-left:0;margin-top:8px;}
  .zkd-savebar .rt .btn{flex:1;justify-content:center;}
}

/* ================================================================
   v1.7.6  SKU 管理 B 稿（.zkd-sku 命名空间，不影响前台/其他后台页）
   左栏商品列表常驻 + 右栏规格卡片（步进器 / 开关 / 拖拽排序 / 标色）
   ================================================================ */
.zkd-sku{display:grid;grid-template-columns:288px minmax(0,1fr);gap:14px;align-items:start;}
.zkd-sku .mut{color:var(--muted);font-size:12.5px;}
/* ---------- 左栏：商品列表 ---------- */
.zkd-sku .zs-pl{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--sd);overflow:hidden;position:sticky;top:10px;}
.zkd-sku .zs-psearch{display:flex;gap:7px;padding:11px 13px;border-bottom:1px dashed var(--line);}
.zkd-sku .zs-psearch input{flex:1;min-width:0;}
.zkd-sku .zs-pf{display:flex;gap:5px;flex-wrap:wrap;padding:10px 13px 6px;}
.zkd-sku .zs-pf a{font-size:12px;padding:3px 11px;border-radius:20px;background:var(--fill);color:var(--ink-2);text-decoration:none;}
.zkd-sku .zs-pf a:hover{background:#EFE6DE;color:var(--brand);}
.zkd-sku .zs-pf a.on{background:var(--brand);color:#fff;font-weight:600;}
.zkd-sku .zs-pf a.zl:not(.on){color:#B4571F;}
.zkd-sku .zs-pf a.zo:not(.on){color:var(--price);}
.zkd-sku .zs-plist{max-height:560px;overflow:auto;padding:4px 0 6px;}
.zkd-sku .zs-pitem{display:flex;gap:9px;padding:9px 13px;cursor:pointer;border-left:3px solid transparent;text-decoration:none;color:inherit;align-items:center;}
.zkd-sku .zs-pitem:hover{background:var(--white-2);}
.zkd-sku .zs-pitem.on{background:var(--brand-soft);border-left-color:var(--brand);}
.zkd-sku .zs-pitem .th{width:38px;height:38px;border-radius:8px;border:1px solid var(--line);background:#fff;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.zkd-sku .zs-pitem .th img{max-width:100%;max-height:100%;object-fit:contain;}
.zkd-sku .zs-pitem .tx{min-width:0;flex:1;}
.zkd-sku .zs-pitem .tx b{display:block;font-size:12.8px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.zkd-sku .zs-pitem .tx small{display:block;font-size:11.3px;color:var(--muted);margin-top:1px;}
.zkd-sku .zs-pitem .bg{align-self:center;font-size:11.5px;min-width:22px;text-align:center;padding:1px 7px;border-radius:20px;background:var(--ok-soft);color:var(--ok);font-weight:600;flex-shrink:0;}
.zkd-sku .zs-pitem .bg.zero{background:#F2EEEA;color:var(--muted);}
.zkd-sku .zs-pempty{padding:26px 14px;text-align:center;color:var(--muted);font-size:12.5px;}
.zkd-sku .zs-pfoot{padding:9px 13px;border-top:1px dashed var(--line);font-size:12px;color:var(--muted);text-align:center;}
.zkd-sku .zs-pl .pager{padding:6px 10px 10px;}
/* ---------- 右栏：头部 / 汇总 / 工具条 ---------- */
.zkd-sku .zs-rhead{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--sd);padding:12px 15px;display:flex;gap:13px;align-items:center;flex-wrap:wrap;}
.zkd-sku .zs-rhead .th{width:54px;height:54px;border-radius:11px;border:1px solid var(--line);background:#fff;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.zkd-sku .zs-rhead .th img{max-width:100%;max-height:100%;object-fit:contain;}
.zkd-sku .zs-rhead .tx{flex:1;min-width:220px;}
.zkd-sku .zs-rhead .tx b{font-size:15px;}
.zkd-sku .zs-rhead .tx small{display:block;font-size:12.3px;color:var(--muted);margin-top:3px;}
.zkd-sku .zs-rhead .ops{display:flex;gap:7px;}
.zkd-sku .zs-sum{display:flex;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sd);margin-top:10px;overflow:hidden;flex-wrap:wrap;}
.zkd-sku .zs-sum .it{flex:1;padding:10px 14px;border-left:1px dashed var(--line);min-width:120px;}
.zkd-sku .zs-sum .it:first-child{border-left:0;}
.zkd-sku .zs-sum .it u{display:block;text-decoration:none;font-size:11.5px;color:var(--muted);}
.zkd-sku .zs-sum .it b{font-size:16px;font-weight:700;display:block;margin-top:2px;}
.zkd-sku .zs-sum .it b.p{color:var(--price);}
.zkd-sku .zs-sum .it b.w{color:#B4571F;}
.zkd-sku .zs-sum .it b small{font-size:11.5px;color:var(--muted);font-weight:400;margin-left:3px;}
.zkd-sku .zs-tools{display:flex;align-items:center;gap:9px;margin:11px 0 10px;flex-wrap:wrap;}
.zkd-sku .zs-tools .rt{margin-left:auto;display:flex;gap:7px;align-items:center;}
.zkd-sku .zs-inl{display:flex;}
/* 批量导入面板 / 引导卡 */
.zkd-sku .zs-imp{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sd);padding:14px 16px;margin-bottom:12px;}
.zkd-sku .zs-guide{border:1.5px dashed #DDD0C4;border-radius:12px;padding:26px 18px;text-align:center;background:#FFFDFB;margin-bottom:12px;}
.zkd-sku .zs-guide b{font-size:15px;display:block;}
.zkd-sku .zs-guide span{display:block;font-size:12.5px;color:var(--muted);margin:7px auto 13px;max-width:520px;line-height:1.9;}
.zkd-sku .zs-guide > div{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;}
/* ---------- 规格卡片 ---------- */
.zkd-sku .zs-cards{display:flex;flex-direction:column;gap:9px;}
.zkd-sku .zs-c{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sd);padding:12px 14px;flex-wrap:wrap;}
.zkd-sku .zs-c:hover{border-color:#E2CDBE;}
.zkd-sku .zs-c.low{border-color:#EBD3B0;background:#FFFCF7;}
.zkd-sku .zs-c.out{border-color:#F0C9C3;background:#FFF9F8;}
.zkd-sku .zs-c.off{opacity:.62;}
.zkd-sku .zs-c.dragging{opacity:.45;border-style:dashed;}
.zkd-sku .zs-c .hd{color:var(--muted);cursor:grab;font-size:13px;letter-spacing:-2px;flex-shrink:0;user-select:none;padding:0 2px;}
.zkd-sku .zs-c .im{width:50px;height:50px;border-radius:10px;border:1px solid var(--line);background:#fff;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.zkd-sku .zs-c .im img{max-width:100%;max-height:100%;object-fit:contain;}
.zkd-sku .zs-c .nm{min-width:0;flex:1;}
.zkd-sku .zs-c .nm b{font-size:14px;}
.zkd-sku .zs-c .nm small{display:block;font-size:11.8px;color:var(--muted);margin-top:2px;word-break:break-all;}
.zkd-sku .zs-c .nm .tags{margin-top:5px;display:flex;gap:5px;flex-wrap:wrap;}
.zkd-sku .zs-c .num{text-align:right;min-width:96px;}
.zkd-sku .zs-c .num .pv{font-size:16px;font-weight:700;color:var(--price);}
.zkd-sku .zs-c .num .pv i{font-style:normal;font-size:12px;font-weight:400;color:var(--muted);margin-left:3px;}
.zkd-sku .zs-c .num small{display:block;font-size:11.5px;color:var(--muted);}
.zkd-sku .zs-c .stk{text-align:center;min-width:118px;}
.zkd-sku .zs-c .stk .stp{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;}
.zkd-sku .zs-c .stk .stp button{width:26px;height:30px;border:0;background:transparent;color:var(--ink-2);font-size:15px;cursor:pointer;font-family:inherit;}
.zkd-sku .zs-c .stk .stp button:hover{background:var(--fill);color:var(--brand);}
.zkd-sku .zs-c .stk .stp input{width:46px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;text-align:center;padding:4px 0;font-size:13px;font-weight:600;}
.zkd-sku .zs-c .stk u{display:block;text-decoration:none;font-size:11.5px;color:var(--muted);margin-top:3px;}
.zkd-sku .zs-c.out .stk input{color:var(--price);}
.zkd-sku .zs-c.low .stk input{color:#B4571F;}
.zkd-sku .zs-c .sw{text-align:center;min-width:64px;}
.zkd-sku .zs-sw{width:36px;height:20px;border-radius:20px;background:#DED5CC;border:0;position:relative;display:inline-block;cursor:pointer;padding:0;vertical-align:middle;}
.zkd-sku .zs-sw::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.15s;}
.zkd-sku .zs-sw.on{background:var(--ok);}
.zkd-sku .zs-sw.on::after{left:18px;}
.zkd-sku .zs-c .sw .lbl{display:block;font-size:11.5px;color:var(--muted);margin-top:3px;}
.zkd-sku .zs-c .ops{display:flex;flex-direction:column;gap:2px;min-width:52px;}
.zkd-sku .zs-c .ops button{background:transparent;border:0;font:inherit;font-size:12px;color:var(--muted);text-align:center;padding:2px 4px;border-radius:6px;cursor:pointer;}
.zkd-sku .zs-c .ops button:hover{background:var(--fill);color:var(--brand);}
.zkd-sku .zs-c .ops .mv{display:flex;gap:2px;justify-content:center;}
.zkd-sku .zs-c .ops .mv button{font-size:11px;padding:1px 6px;}
/* 编辑态 / 新增卡 */
.zkd-sku .zs-c.editing{display:block;}
.zkd-sku .zs-c.editing .zs-form{padding:4px 2px 0;}
.zkd-sku .zs-addc{display:block;border:1.5px dashed #DDD0C4;background:#FFFDFB;}
/* hidden 属性必须赢过上面的 display 规则（否则「新增规格/批量导入」默认就展开） */
.zkd-sku [hidden]{display:none !important;}
.zkd-sku .zs-ehd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.zkd-sku .zs-ehd b{font-size:13.5px;}
.zkd-sku .zs-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 13px;}
.zkd-sku .zs-form .fld label{display:block;font-size:12px;color:var(--muted);margin-bottom:3px;}
.zkd-sku .zs-form .fld label em{font-style:normal;color:var(--price);margin-right:2px;}
.zkd-sku .zs-form .fld input,.zs-form .fld select{width:100%;}
.zkd-sku .zs-form .fld.w2{grid-column:span 2;}
.zkd-sku .zs-c-ft{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);}
.zkd-sku .zs-c-ft .mut{margin-right:auto;}
/* 底部提示条 */
.zkd-sku .zs-savebar{margin-top:12px;background:rgba(255,255,255,.9);border:1px dashed var(--line);border-radius:11px;padding:9px 14px;font-size:12.3px;color:var(--muted);}
.zkd-sku .zs-savebar b{color:var(--brand);}
/* ---------- 响应式 ---------- */
@media(max-width:1180px){
  .zkd-sku{grid-template-columns:1fr;}
  .zkd-sku .zs-pl{position:static;}
  .zkd-sku .zs-plist{max-height:300px;}
  .zkd-sku .zs-form{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:820px){
  .zkd-sku .zs-form{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zkd-sku .zs-form .fld.w2{grid-column:span 2;}
  .zkd-sku .zs-c{gap:10px;}
  .zkd-sku .zs-c .nm{flex:1 1 100%;order:3;}
  .zkd-sku .zs-c .im{order:2;}
  .zkd-sku .zs-c .hd{order:1;}
  .zkd-sku .zs-c .num{order:4;text-align:left;}
  .zkd-sku .zs-c .stk{order:5;text-align:left;}
  .zkd-sku .zs-c .sw{order:6;}
  .zkd-sku .zs-c .ops{order:7;flex-direction:row;gap:6px;width:100%;justify-content:flex-end;}
}

/* ================================================================
   v1.7.7  商城重构 · 双商城（.mt-* 命名空间）
   /mall.php 电商产品（淘宝天猫来源→A 稿 / 京东来源→B 稿，自动匹配）
   /factory.php 工厂产品（A 稿 1688 批发风 / B 稿 采购工作台，后台可切）
   ================================================================ */
.mt-switch{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:var(--panel,#fff);border:1px solid var(--line,#EFE3DE);border-radius:12px;padding:9px 14px;margin-top:12px;font-size:13px;}
.mt-switch a{padding:5px 15px;border-radius:20px;background:var(--soft-a,#F7F5F3);color:var(--ink-2,#5B4A42);text-decoration:none;}
.mt-switch a:hover{color:var(--brand,#C4552E);}
.mt-switch a.on{background:var(--brand,#C4552E);color:#fff;font-weight:600;}
.mt-switch a.mt-home{background:transparent;color:var(--brand,#C4552E);font-weight:600;padding-left:0;}
.mt-switch .mt-sep{color:var(--muted,#9A857A);}
.mt-switch .mt-note{font-size:12px;color:var(--muted,#9A857A);}
.mt-switch .mt-tpl{margin-left:auto;font-size:11.8px;background:var(--gold-soft,#FBF3E4);color:var(--brand-d,#A33F1F);border-radius:20px;padding:2px 11px;}
.mt-cats{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:10px;}
.mt-cats a{font-size:12.5px;padding:3px 12px;border-radius:16px;background:var(--soft-a,#F7F5F3);color:var(--ink-2,#5B4A42);text-decoration:none;}
.mt-cats a:hover{color:var(--brand,#C4552E);background:var(--accent-soft,#FDF0E9);}
.mt-cats a.on{background:var(--brand,#C4552E);color:#fff;font-weight:600;}
/* v1.7.13：来源切换（a.src 天猫→A稿…）已从前端移除，对应样式一并删除 */
/* 已选条件 chips */
.mt-chips{display:flex;gap:7px;flex-wrap:wrap;align-items:center;font-size:12.3px;margin-top:10px;}
.mt-chips .c{background:var(--accent-soft,#FDF0E9);color:var(--brand,#C4552E);border-radius:5px;padding:2px 8px;}
.mt-chips .c a{color:inherit;text-decoration:none;margin-left:5px;opacity:.6;}
.mt-chips .clr{margin-left:auto;}
.mt-chips .clr a{color:var(--muted,#9A857A);font-size:12px;}
/* 排序条 */
.mt-sortbar{display:flex;align-items:center;background:var(--panel,#fff);border:1px solid var(--line,#EFE3DE);border-radius:10px;margin-top:10px;overflow:hidden;font-size:12.8px;}
.mt-sortbar a{padding:9px 15px;color:var(--ink-2,#5B4A42);text-decoration:none;border-right:1px solid var(--soft-a,#F7F5F3);}
.mt-sortbar a.on{background:var(--brand,#C4552E);color:#fff;font-weight:600;}
.mt-sortbar a:hover:not(.on){background:var(--accent-soft,#FDF0E9);color:var(--brand,#C4552E);}
.mt-sortbar .rt{margin-left:auto;padding:0 12px;color:var(--muted,#9A857A);font-size:12.3px;}
.mt-sortbar .rt b{color:var(--brand,#C4552E);}
.mt-cmpbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--gold-soft,#FBF3E4);border:1px solid rgba(184,147,74,.35);border-radius:10px;padding:8px 13px;margin-top:10px;font-size:12.3px;}
.mt-cmpbar .sm{color:var(--muted,#9A857A);font-size:11.8px;}
/* 两栏 / 网格 */
.mt-lay{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;align-items:start;margin-top:12px;}
.mt-lay>*{min-width:0;}
.mt-grid{display:grid;gap:11px;margin-top:12px;}
.mt-grid4{grid-template-columns:repeat(4,minmax(0,1fr));}
.mt-card{background:var(--panel,#fff);border:1px solid var(--line,#EFE3DE);border-radius:11px;overflow:hidden;transition:.15s;}
.mt-card:hover{border-color:var(--brand-l,#E2CDBE);box-shadow:0 8px 22px rgba(74,33,26,.10);}
.mt-card .im{display:block;position:relative;height:180px;background:var(--soft-a,#F7F5F3);}
.mt-card .im img{width:100%;height:100%;object-fit:cover;display:block;}
.mt-card .im .bdg{position:absolute;left:6px;top:6px;background:rgba(0,0,0,.55);color:#fff;font-size:10.5px;padding:1px 7px;border-radius:9px;}
.mt-card .bd{padding:9px 11px 11px;}
.mt-card .pr{color:var(--price,#C0392B);font-size:19px;font-weight:700;}
.mt-card .pr i{font-style:normal;font-size:12px;font-weight:400;}
.mt-card .pr s{color:var(--muted,#9A857A);font-size:11.5px;font-weight:400;margin-left:5px;}
.mt-card .stp{display:flex;gap:5px;background:var(--soft-a,#F7F5F3);border-radius:6px;padding:4px 5px;margin-bottom:7px;}
.mt-card .stp span{flex:1;text-align:center;font-size:11px;color:var(--muted,#9A857A);}
.mt-card .stp span b{display:block;color:var(--price,#C0392B);font-size:13.5px;}
.mt-card .stp span u{text-decoration:none;}
.mt-card .tt{display:block;font-size:12.8px;line-height:1.5;height:38px;overflow:hidden;color:var(--ink,#2B1E1A);text-decoration:none;}
.mt-card .tt:hover{color:var(--brand,#C4552E);}
.mt-card .moq,.mt-card .sup{font-size:11.5px;color:var(--muted,#9A857A);margin-top:4px;}
.mt-card .moq b,.mt-card .sup b{color:var(--brand,#C4552E);}
.mt-card .ft{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:7px;padding-top:7px;border-top:1px dashed var(--line,#EFE3DE);}
.mt-card .ft span,.mt-card .tg{font-size:10.5px;color:var(--brand,#C4552E);border:1px solid rgba(196,85,46,.3);border-radius:3px;padding:0 5px;background:var(--accent-soft,#FDF0E9);}
.mt-btn-s{margin-left:auto;font-size:11.5px;background:var(--brand,#C4552E);color:#fff;padding:2px 9px;border-radius:5px;text-decoration:none;}
/* 行式列表（电商 B 稿） */
.mt-rows{display:flex;flex-direction:column;gap:9px;margin-top:12px;}
.mt-row{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:14px;background:var(--panel,#fff);border:1px solid var(--line,#EFE3DE);border-radius:11px;padding:12px;align-items:center;}
.mt-row:hover{border-color:var(--brand-l,#E2CDBE);box-shadow:0 6px 18px rgba(74,33,26,.08);}
.mt-row .im{position:relative;height:120px;border-radius:8px;overflow:hidden;background:var(--soft-a,#F7F5F3);}
.mt-row .im img{width:100%;height:100%;object-fit:cover;display:block;}
.mt-row .im .zf{position:absolute;left:0;top:0;background:var(--price,#C0392B);color:#fff;font-size:10px;padding:1px 6px;border-radius:0 0 6px 0;}
.mt-row .mid h3{font-size:13.8px;font-weight:500;line-height:1.55;}
.mt-row .mid h3 a{color:var(--ink,#2B1E1A);text-decoration:none;}
.mt-row .mid h3 a:hover{color:var(--brand,#C4552E);}
.mt-row .mid .promo{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px;}
.mt-row .mid .promo span{font-size:11px;color:var(--brand,#C4552E);border:1px solid rgba(196,85,46,.3);background:var(--accent-soft,#FDF0E9);border-radius:3px;padding:0 5px;}
.mt-row .mid .meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11.8px;color:var(--muted,#9A857A);margin-top:6px;}
.mt-row .mid .meta em{font-style:normal;color:var(--price,#C0392B);}
.mt-row .prc{text-align:right;}
.mt-row .prc b{display:block;font-size:21px;color:var(--price,#C0392B);font-weight:700;}
.mt-row .prc b i{font-style:normal;font-size:13px;font-weight:400;}
.mt-row .prc s{font-size:11.5px;color:var(--muted,#9A857A);}
/* 采购工作台（工厂 B 稿） */
.mt-wb{display:grid;grid-template-columns:216px minmax(0,1fr);gap:14px;align-items:start;margin-top:12px;}

.mt-wb>*{min-width:0;}
.mt-wbside{background:var(--panel,#fff);border:1px solid var(--line,#EFE3DE);border-radius:11px;overflow:hidden;position:sticky;top:10px;}
.mt-wbside .hd{background:var(--ink,#2B1E1A);color:#fff;padding:9px 13px;font-size:13px;font-weight:600;}
.mt-wbside .grp{padding:9px 13px;border-bottom:1px dashed var(--line,#EFE3DE);}
.mt-wbside .grp:last-child{border-bottom:0;}
.mt-wbside .grp u{display:block;text-decoration:none;font-size:11.5px;color:var(--muted,#9A857A);margin-bottom:5px;}
.mt-wbside .grp .ln{display:flex;align-items:center;gap:6px;font-size:12.3px;padding:3px 0;color:var(--ink-2,#5B4A42);}
.mt-wbside .grp .ln b{margin-left:auto;color:var(--brand,#C4552E);}
.mt-wbside .grp .ln .dot{width:7px;height:7px;border-radius:50%;background:var(--ok,#2F8A4E);flex-shrink:0;}
.mt-qtable{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:12.5px;margin-top:12px;}
.mt-qtable th{text-align:left;font-size:11.8px;color:var(--muted,#9A857A);font-weight:400;padding:0 8px 2px;}
.mt-qtable tr.qr{background:var(--panel,#fff);box-shadow:0 1px 3px rgba(74,33,26,.07);}
.mt-qtable tr.qr td{padding:10px 8px;border-top:1px solid var(--line,#EFE3DE);border-bottom:1px solid var(--line,#EFE3DE);vertical-align:middle;}
.mt-qtable tr.qr td:first-child{border-left:1px solid var(--line,#EFE3DE);border-radius:8px 0 0 8px;}
.mt-qtable tr.qr td:last-child{border-right:1px solid var(--line,#EFE3DE);border-radius:0 8px 8px 0;}
.mt-qtable tr.qr.best td{background:var(--gold-soft,#FBF3E4);}
.mt-qtable .rk{text-align:center;}
.mt-qtable .rk b{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--soft-a,#F7F5F3);color:var(--muted,#9A857A);align-items:center;justify-content:center;font-size:11.5px;}
.mt-qtable tr.best .rk b{background:var(--brand,#C4552E);color:#fff;}
.mt-qtable .gp{display:flex;gap:9px;align-items:center;}
.mt-qtable .gp .im{width:56px;height:56px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--soft-a,#F7F5F3);}
.mt-qtable .gp .tx b{font-size:13px;display:block;line-height:1.5;}
.mt-qtable .gp .tx b a{color:var(--ink,#2B1E1A);text-decoration:none;}
.mt-qtable .gp .tx b a:hover{color:var(--brand,#C4552E);}
.mt-qtable .gp .tx small{display:block;color:var(--muted,#9A857A);font-size:11.3px;}
.mt-qtable .tier div{display:flex;justify-content:space-between;font-size:11.8px;color:var(--muted,#9A857A);}
.mt-qtable .tier b{color:var(--price,#C0392B);font-size:13.5px;}
.mt-qtable .tier u{text-decoration:none;}
.mt-qtable .kpi{font-size:11.8px;color:var(--muted,#9A857A);line-height:1.8;}
.mt-qtable .kpi b{color:var(--ink-2,#5B4A42);}
.mt-qtable .op{white-space:nowrap;}
/* 按钮 / 分页 / 空态 */
.mt-btn{display:inline-block;background:var(--brand,#C4552E);color:#fff;border:0;border-radius:6px;padding:5px 13px;font-size:12px;text-decoration:none;text-align:center;}
.mt-btn-g{display:block;margin-top:6px;border:1px solid var(--line,#EFE3DE);border-radius:6px;padding:5px 0;font-size:12px;color:var(--ink-2,#5B4A42);text-decoration:none;text-align:center;background:#fff;}
.mt-btn-g:hover{border-color:var(--brand,#C4552E);color:var(--brand,#C4552E);}
.mt-pager{display:flex;justify-content:center;gap:5px;margin:18px 0 0;font-size:12.5px;}
.mt-pager a{padding:4px 11px;border:1px solid var(--line,#EFE3DE);border-radius:6px;background:var(--panel,#fff);color:var(--ink-2,#5B4A42);text-decoration:none;}
.mt-pager a.on{background:var(--brand,#C4552E);color:#fff;border-color:var(--brand,#C4552E);}
.mt-pager span{color:var(--muted,#9A857A);padding:4px 4px;}
.mt-empty{background:var(--panel,#fff);border:1px dashed var(--line,#EFE3DE);border-radius:11px;padding:46px 20px;text-align:center;color:var(--muted,#9A857A);margin-top:12px;}
/* ===== 详情页 ===== */
.mt-item{display:grid;grid-template-columns:380px minmax(0,1fr) 270px;gap:16px;align-items:start;margin-top:12px;}
/* grid 子项默认 min-width:auto，内部宽内容（流程条 / 表格）会把整页撑破，必须显式归零 */
.mt-item>*{min-width:0;}
.mt-gal{background:var(--panel,#fff);border:1px solid var(--line,#EFE3DE);border-radius:12px;padding:10px;}
.mt-gal .pmain{width:100%;height:340px;object-fit:cover;border-radius:9px;display:block;background:var(--soft-a,#F7F5F3);}
.mt-ths{display:flex;gap:6px;margin-top:8px;}
.mt-ths img{width:56px;height:56px;object-fit:cover;border-radius:6px;border:2px solid transparent;cursor:pointer;background:var(--soft-a,#F7F5F3);}
.mt-ths img.on{border-color:var(--brand,#C4552E);}
.mt-gal-acts{display:flex;gap:14px;justify-content:center;margin-top:10px;font-size:12.3px;}
.mt-gal-acts a{color:var(--ink-2,#5B4A42);text-decoration:none;}
.mt-gal-acts a:hover{color:var(--brand,#C4552E);}
.mt-info{background:var(--panel,#fff);border:1px solid var(--line,#EFE3DE);border-radius:12px;padding:14px 16px;}
.mt-info h1{font-size:19px;line-height:1.5;margin-top:9px;}
.mt-info .mt-sub{font-size:12.8px;color:var(--brand,#C4552E);margin-top:5px;}
.mt-tags{display:flex;gap:6px;flex-wrap:wrap;}
.mt-tags .tg{font-size:11px;padding:1px 8px;border-radius:20px;background:var(--soft-a,#F7F5F3);color:var(--ink-2,#5B4A42);}
.mt-tags .tg-b{background:var(--blue-soft,#ECF1F6);color:var(--blue,#3A5E86);}
.mt-tags .tg-g{background:var(--ok-soft,#ECF5EE);color:var(--ok,#2F8A4E);}
.mt-tags .tg-o{background:var(--accent-soft,#FDF0E9);color:var(--brand,#C4552E);}
.mt-pzone{background:linear-gradient(180deg,var(--accent-soft,#FDF0E9),var(--soft-a,#F7F5F3));border:1px solid var(--line-3,#EFE0D6);border-radius:10px;padding:11px 13px;margin-top:11px;}
.mt-pzone.jd{background:linear-gradient(180deg,#FFF6F5,#FFF1EF);}
.mt-l1{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;}
.mt-l1 b{font-size:29px;color:var(--price,#C0392B);font-weight:800;}
.mt-l1 b i{font-style:normal;font-size:15px;}
.mt-l1 del{color:var(--muted,#9A857A);font-size:13px;}
.mt-l1 .zft{font-size:11.5px;border:1px solid var(--price,#C0392B);color:var(--price,#C0392B);border-radius:3px;padding:1px 7px;}
.mt-l2{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;font-size:11.8px;}
.mt-l2 .q{border:1px dashed var(--price,#C0392B);color:var(--price,#C0392B);border-radius:3px;padding:1px 8px;}
.mt-l2 .m{border:1px solid rgba(196,85,46,.35);color:var(--brand,#C4552E);border-radius:3px;padding:1px 8px;background:var(--panel,#fff);}
.mt-l3{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted,#9A857A);margin-top:8px;border-top:1px dashed var(--line-3,#EFE0D6);padding-top:7px;}
.mt-l3 b{color:var(--ink-2,#5B4A42);font-weight:600;}
/* 阶梯价（工厂） */
.mt-tiers{display:flex;border:1px solid var(--line-3,#EFE0D6);border-radius:8px;overflow:hidden;background:var(--panel,#fff);}
.mt-tiers div{flex:1;text-align:center;padding:7px 4px;border-left:1px solid var(--line-3,#EFE0D6);}
.mt-tiers div:first-child{border-left:0;}
.mt-tiers div.on{background:var(--accent-soft,#FDF0E9);}
.mt-tiers b{display:block;color:var(--price,#C0392B);font-size:16px;}
.mt-tiers u{text-decoration:none;display:block;color:var(--muted,#9A857A);font-size:11px;margin-top:1px;}
.mt-mix{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin-top:8px;color:var(--ink-2,#5B4A42);}
.mt-mix b{color:var(--brand,#C4552E);}
.mt-mix .fr{color:var(--muted,#9A857A);}
.mt-ship{margin-top:9px;background:var(--soft-a,#F7F5F3);border-radius:8px;padding:8px 11px;font-size:12.3px;color:var(--ink-2,#5B4A42);}
.mt-flow{display:flex;align-items:center;gap:2px;margin-top:11px;background:var(--panel,#fff);border:1px dashed var(--line-3,#EFE0D6);border-radius:8px;padding:9px 11px;overflow-x:auto;min-width:0;}
.mt-flow div{text-align:center;font-size:11.3px;color:var(--muted,#9A857A);flex:1;min-width:54px;}
.mt-flow div b{display:block;width:22px;height:22px;border-radius:50%;background:var(--soft-a,#F7F5F3);color:var(--ink-2,#5B4A42);margin:0 auto 3px;line-height:22px;font-size:11.5px;}
.mt-flow div.on{color:var(--brand,#C4552E);font-weight:600;}
.mt-flow div.on b{background:var(--brand,#C4552E);color:#fff;}
.mt-flow span{color:var(--muted,#9A857A);}
.mt-svc{display:flex;gap:13px;flex-wrap:wrap;font-size:12.3px;color:var(--ink-2,#5B4A42);margin-top:11px;padding-top:10px;border-top:1px dashed var(--line,#EFE3DE);}
.mt-svc span i{font-style:normal;color:var(--ok,#2F8A4E);margin-right:3px;}
.mt-attrs{margin-top:11px;font-size:13px;}
.mt-attrs>div{display:flex;padding:7px 0;border-bottom:1px dashed var(--line,#EFE3DE);gap:10px;flex-wrap:wrap;}
.mt-attrs>div u{text-decoration:none;width:74px;color:var(--muted,#9A857A);flex-shrink:0;}
.mt-attrs>div>div:last-child{flex:1;min-width:0;}
.mt-sku{margin-top:12px;}
.mt-sku .k{font-size:12.3px;color:var(--muted,#9A857A);margin-bottom:6px;}
.mt-sku-tip{font-size:12.3px;color:var(--muted,#9A857A);margin-top:7px;}
.mt-sku-tip b{color:var(--brand,#C4552E);}
.mt-buy{margin-top:14px;}
.mt-qty{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2,#5B4A42);}
.mt-stepper{display:inline-flex;border:1px solid var(--line,#EFE3DE);border-radius:7px;overflow:hidden;background:var(--panel,#fff);}
.mt-stepper button{width:30px;height:34px;border:0;background:transparent;cursor:pointer;font-size:15px;color:var(--ink-2,#5B4A42);font-family:inherit;}
.mt-stepper button:hover{background:var(--soft-a,#F7F5F3);color:var(--brand,#C4552E);}
.mt-stepper input{width:54px;height:34px;border:0;border-left:1px solid var(--line,#EFE3DE);border-right:1px solid var(--line,#EFE3DE);text-align:center;font-size:13px;font-weight:600;}
.mt-qty .mt-total{margin-left:auto;color:var(--brand,#C4552E);}
.mt-btns{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap;}
.mt-btns .b1,.mt-btns .b2{flex:1;min-width:140px;border:0;border-radius:8px;padding:12px 0;font:inherit;font-size:15px;font-weight:700;cursor:pointer;}
.mt-btns .b1{background:var(--brand,#C4552E);color:#fff;}
.mt-btns .b2{background:var(--price,#C0392B);color:#fff;}
.mt-btns .b3{min-width:100px;border:1px solid var(--line,#EFE3DE);background:var(--panel,#fff);border-radius:8px;font:inherit;font-size:13.5px;color:var(--ink-2,#5B4A42);cursor:pointer;text-align:center;text-decoration:none;padding:12px 0;}
.mt-points{margin-top:10px;font-size:12.5px;color:var(--muted,#9A857A);}
.mt-points b{color:var(--brand,#C4552E);}
/* 右侧栏 */
.mt-aside{display:flex;flex-direction:column;gap:12px;position:sticky;top:10px;}
.mt-box{background:var(--panel,#fff);border:1px solid var(--line,#EFE3DE);border-radius:12px;padding:12px;}
.mt-box h5{font-size:13.5px;}
.mt-supmeta{font-size:11.8px;color:var(--muted,#9A857A);margin-top:3px;}
.mt-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px;}
.mt-facts div{background:var(--soft-a,#F7F5F3);border-radius:6px;padding:6px;text-align:center;}
.mt-facts b{display:block;color:var(--brand,#C4552E);font-size:14.5px;}
.mt-facts u{text-decoration:none;color:var(--muted,#9A857A);font-size:10.8px;}
.mt-cert{display:flex;gap:4px;flex-wrap:wrap;margin-top:9px;}
.mt-cert i{font-style:normal;font-size:10.5px;border:1px solid var(--line,#EFE3DE);color:var(--ink-2,#5B4A42);border-radius:3px;padding:1px 6px;}
.mt-inq{margin-top:10px;background:var(--soft-a,#F7F5F3);border-radius:8px;padding:9px 10px;font-size:12px;}
.mt-inq .sum b{color:var(--price,#C0392B);font-size:16px;}
.mt-inq .r{display:flex;justify-content:space-between;margin-top:3px;color:var(--muted,#9A857A);font-size:11.5px;}
.mt-inq .mt-btn{display:block;margin-top:8px;}
.mt-rel{display:flex;gap:9px;padding:7px 0;border-bottom:1px dashed var(--line,#EFE3DE);text-decoration:none;color:inherit;}
.mt-rel:last-child{border-bottom:0;}
.mt-rel img{width:52px;height:52px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--soft-a,#F7F5F3);}
.mt-rel b{font-weight:400;font-size:12px;line-height:1.5;display:block;}
.mt-rel em{font-style:normal;color:var(--price,#C0392B);font-weight:600;font-size:12.5px;}
/* 下方详情 */
.mt-detail .mt-pane{padding-top:12px;}
.mt-cm{border-bottom:1px dashed var(--line,#EFE3DE);padding:11px 0;}
.mt-cm:last-child{border-bottom:0;}
.mt-cm .hd{display:flex;align-items:center;gap:8px;color:var(--muted,#9A857A);font-size:11.8px;}
.mt-cm .hd b{color:var(--ink,#2B1E1A);font-size:12.5px;}
.mt-cm .hd .star{color:#E8A33D;letter-spacing:-1px;}
.mt-cm .bd{margin-top:5px;font-size:13px;line-height:1.75;}
.mt-faq{padding:10px 0;border-bottom:1px dashed var(--line,#EFE3DE);}
.mt-faq:last-child{border-bottom:0;}
.mt-faq b{font-size:13.5px;}
.mt-faq p{font-size:13px;color:var(--ink-2,#5B4A42);margin-top:5px;line-height:1.8;}
@media(max-width:1180px){
  .mt-item{grid-template-columns:330px minmax(0,1fr);}
  .mt-aside{grid-column:1/-1;position:static;flex-direction:row;flex-wrap:wrap;}
  .mt-aside .mt-box{flex:1;min-width:260px;}
  .mt-grid4{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:900px){
  .mt-wb,.mt-lay{grid-template-columns:1fr;}
  .mt-wbside{position:static;}
}
@media(max-width:820px){
  .mt-item{grid-template-columns:1fr;}
  .mt-grid4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mt-row{grid-template-columns:120px minmax(0,1fr);}
  .mt-row .prc{grid-column:1/-1;text-align:left;display:flex;align-items:center;gap:14px;}
  .mt-qtable tr.qr{display:grid;grid-template-columns:1fr;gap:4px;box-shadow:none;border:1px solid var(--line,#EFE3DE);border-radius:8px;padding:8px;margin-bottom:8px;}
  .mt-qtable tr.qr td{border:0;padding:3px 6px;border-radius:0;}
  .mt-qtable thead,.mt-qtable th{display:none;}
}

/* ================================================================
   v1.7.7  后台 · 站点设置「商城模板」工厂 A/B 选用（html.adm 作用域，
   避免与前台 .mt-* 同名类互相污染 —— 见 v1.7.3 版教训）
   ================================================================ */
html.adm .mt-tplpick{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:12px;background:#fff;}
html.adm .mt-tplpick .cap{font-size:13px;font-weight:600;margin-bottom:10px;}
html.adm .mt-tplpick .cap b{color:var(--brand);}
html.adm .mt-tplpick .opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin-bottom:8px;cursor:pointer;background:#fff;}
html.adm .mt-tplpick .opt:hover{border-color:#E2CDBE;background:var(--brand-soft);}
html.adm .mt-tplpick .opt.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand) inset;}
html.adm .mt-tplpick .opt input{margin-top:3px;flex-shrink:0;}
html.adm .mt-tplpick .opt b{display:block;font-size:13px;}
html.adm .mt-tplpick .opt.on b{color:var(--brand);}
html.adm .mt-tplpick .opt span{display:block;font-size:12.3px;color:var(--ink-2);line-height:1.85;margin-top:3px;}
html.adm .mt-tplpick .note{font-size:12.3px;color:var(--muted);background:var(--fill);border-radius:8px;padding:9px 11px;line-height:1.95;}
html.adm .mt-tplpick .note b{color:var(--ink-2);}

/* ================================================================
   v1.7.8  后台 · 列表工具条：每页条数（20/50/100）+ 跳页
   （html.adm 作用域，避免污染前台）
   ================================================================ */
html.adm .zkd-lstbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:10px 16px;border-top:1px solid var(--line);background:var(--fill);font-size:12.5px;color:var(--muted);}
html.adm .zkd-lstbar .lb{color:var(--muted);}
html.adm .zkd-lstbar a.ps{min-width:34px;height:26px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--ink-2);text-decoration:none;font-size:12.5px;padding:0 9px;}
html.adm .zkd-lstbar a.ps:hover{border-color:var(--brand);color:var(--brand);}
html.adm .zkd-lstbar a.ps.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600;}
html.adm .zkd-lstbar .sum{margin-left:4px;}
html.adm .zkd-lstbar .sum b{color:var(--brand);}
html.adm .zkd-lstbar form.jump{display:flex;align-items:center;gap:6px;margin-left:auto;}
html.adm .zkd-lstbar form.jump input{width:66px;height:26px;padding:0 6px;font-size:12.5px;}
html.adm .zkd-lstbar form.jump .btn{height:26px;line-height:24px;padding:0 12px;}

/* ================================================================
   v1.7.8  前台 · 商品「平台标签」（卡片 / 行式 / 详情页右上角）
   淘宝天猫京东混在同一个列表里时，用它一眼分辨是哪个平台的货
   ================================================================ */
.mt-plat{position:absolute;right:6px;top:6px;z-index:2;font-size:10.5px;line-height:1.6;
  padding:1px 7px;border-radius:9px;color:#fff;font-weight:600;letter-spacing:.2px;
  box-shadow:0 1px 4px rgba(0,0,0,.18);white-space:nowrap;}
.mt-plat.p-taobao{background:#FF5000;}
.mt-plat.p-tmall{background:#E62E04;}
.mt-plat.p-jd{background:#C81623;}
.mt-plat.p-pdd{background:#E22E1F;}
.mt-plat.p-douyin{background:#111314;}
.mt-plat.p-1688,.mt-plat.p-alibaba{background:#FF7300;}
.mt-plat.p-self{background:#0F6E56;}
.mt-plat.p-other{background:rgba(0,0,0,.55);}
/* 详情页：标题行右侧的平台标签（静态定位版） */
.mt-plat-i{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:#fff;
  padding:2px 9px;border-radius:10px;vertical-align:middle;white-space:nowrap;}
.mt-plat-i.p-taobao{background:#FF5000;}
.mt-plat-i.p-tmall{background:#E62E04;}
.mt-plat-i.p-jd{background:#C81623;}
.mt-plat-i.p-pdd{background:#E22E1F;}
.mt-plat-i.p-douyin{background:#111314;}
.mt-plat-i.p-1688,.mt-plat-i.p-alibaba{background:#FF7300;}
.mt-plat-i.p-self{background:#0F6E56;}
.mt-plat-i.p-other{background:rgba(0,0,0,.55);}

/* ============================================================
   v1.7.9 · 后台「前台配色」三选一色卡（站点设置 → 前台漂浮与配色）
   作用域固定 html.adm，不会污染前台样式。
   ========================================================== */
html.adm .zkd-thcards{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px;}
html.adm .zkd-thcard{position:relative;display:flex;align-items:center;gap:10px;cursor:pointer;
  min-width:212px;flex:1 1 212px;padding:10px 12px;border:1px solid var(--line,#E8E1D8);
  border-radius:12px;background:var(--card,#fff);transition:.16s;}
html.adm .zkd-thcard:hover{border-color:var(--brand);box-shadow:0 3px 12px rgba(0,0,0,.06);}
html.adm .zkd-thcard input{position:absolute;opacity:0;pointer-events:none;}
html.adm .zkd-thcard .dots{display:flex;gap:3px;flex-shrink:0;}
html.adm .zkd-thcard .dots i{width:16px;height:16px;border-radius:50%;display:block;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.09);}
html.adm .zkd-thcard .tx b{display:block;font-size:13.5px;font-weight:600;color:var(--ink,#2B2622);line-height:1.35;}
html.adm .zkd-thcard .tx em{display:block;font-style:normal;font-size:11.5px;color:var(--muted,#9A857A);margin-top:2px;}
html.adm .zkd-thcard .ck{margin-left:auto;font-size:15px;font-weight:700;color:var(--brand);
  opacity:0;transition:.16s;}
html.adm .zkd-thcard.on{border-color:var(--brand);background:var(--brand-soft,rgba(217,128,38,.08));
  box-shadow:0 0 0 2px var(--brand-soft,rgba(217,128,38,.14));}
html.adm .zkd-thcard.on .ck{opacity:1;}

/* ============================================================
   v1.7.9 · 后台「演示数据」操作条
   之前导入按钮是说明卡角落里的小线框按钮，站长找不到；
   现在独立成条放在列表最上面，主按钮 + 清空按钮。
   ========================================================== */
html.adm .zkd-mockbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:12px 14px;margin:0 0 12px;border:1px solid var(--brand-soft,#F0DFC8);border-left:3px solid var(--brand);
  border-radius:12px;background:linear-gradient(90deg,var(--brand-soft,rgba(217,128,38,.08)),transparent 70%);}
html.adm .zkd-mockbar .mb-ic{flex:0 0 34px;height:34px;border-radius:9px;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;}
html.adm .zkd-mockbar .mb-tx{flex:1 1 320px;min-width:240px;line-height:1.75;}
html.adm .zkd-mockbar .mb-tx b{font-size:14px;color:var(--ink,#2B2622);}
html.adm .zkd-mockbar .mb-tx span{display:block;font-size:12.3px;color:var(--muted,#9A857A);margin-top:2px;}
html.adm .zkd-mockbar .mb-tx span b{font-size:12.3px;color:var(--brand);}
html.adm .zkd-mockbar .mb-op{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto;}
html.adm .zkd-mockbar .mb-op .btn{white-space:nowrap;}

/* ============================================================
   v1.7.9 · 分销 A 稿「身份价卡」（前台工厂产品详情页 / 列表卡）
   命名空间 .fx-* —— 只作用于分销相关元素，不碰商城原有 .mt-*
   ========================================================== */
.fx-cards{margin:12px 0;padding:12px 14px;border:1px solid var(--line,#E8E1D8);border-radius:12px;background:var(--card-2,#FBF9F7);}
.fx-cards .fx-hd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.fx-cards .fx-hd b{font-size:14px;color:var(--ink,#2B2622);}
.fx-cards .fx-hd span{font-size:12px;color:var(--muted,#9A857A);}
.fx-cards .fx-row{display:flex;gap:10px;flex-wrap:wrap;}
.fx-card{position:relative;flex:1 1 150px;min-width:132px;padding:10px 12px;border:1px solid var(--line,#E8E1D8);
  border-radius:10px;background:var(--card,#fff);text-align:center;transition:.16s;}
.fx-card:hover{border-color:var(--brand);transform:translateY(-1px);}
.fx-card.on{border-color:var(--brand);background:var(--brand-soft,rgba(217,128,38,.08));
  box-shadow:0 0 0 2px var(--brand-soft,rgba(217,128,38,.14));}
.fx-card .fx-tag{position:absolute;right:-1px;top:-1px;padding:1px 7px;border-radius:0 9px 0 9px;
  background:var(--brand);color:#fff;font-size:10.5px;line-height:1.6;}
.fx-card b{display:block;font-size:12.5px;font-weight:500;color:var(--muted,#9A857A);}
.fx-card em{display:block;font-style:normal;font-size:19px;font-weight:700;color:var(--price,#C81623);margin:3px 0 2px;line-height:1.2;}
.fx-card em i{font-size:12px;font-style:normal;font-weight:600;margin-right:1px;}
.fx-card u{display:block;font-size:11px;color:var(--muted,#9A857A);text-decoration:none;}
.fx-card.on u{color:var(--brand);}
.fx-tip{margin-top:9px;font-size:12.3px;color:var(--muted,#9A857A);line-height:1.8;}
.fx-tip b{color:var(--brand);}
.fx-tip a{color:var(--brand);text-decoration:underline;}
.fx-line{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;
  background:var(--brand-soft,rgba(217,128,38,.10));color:var(--brand);font-size:11px;line-height:1.7;white-space:nowrap;}
.fx-line i{font-style:normal;opacity:.75;margin-right:2px;}
@media(max-width:640px){
  .fx-cards{padding:10px 11px;}
  .fx-card{flex:1 1 100%;min-width:0;text-align:left;padding:9px 11px;}
  .fx-card em{font-size:17px;}
}

/* ============================================================
   v1.7.9 · 后台分销中心 + 身份徽章（作用域 html.adm，不污染前台）
   ========================================================== */
html.adm .fx-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 12px;}
html.adm .fx-kpi{padding:12px 14px;border:1px solid var(--line,#E8E1D8);border-radius:12px;background:var(--card,#fff);}
html.adm .fx-kpi span{display:block;font-size:12.5px;color:var(--muted,#9A857A);}
html.adm .fx-kpi b{display:block;font-size:20px;font-weight:700;color:var(--ink,#2B2622);margin:3px 0 2px;}
html.adm .fx-kpi em{display:block;font-style:normal;font-size:11.5px;color:var(--muted,#9A857A);}
html.adm .fx-b{display:inline-block;padding:1px 8px;border-radius:20px;font-size:11.5px;line-height:1.8;white-space:nowrap;}
html.adm .fx-member{background:#EEF3F8;color:#4A6A8A;}
html.adm .fx-vendor{background:#F1EFFB;color:#5F4FC7;}
html.adm .fx-agent {background:#FFF1DE;color:#B26A16;}
html.adm .fx-gold  {background:#FFF0D2;color:#9A6A12;}
html.adm .fx-silver{background:#F0F2F4;color:#5A6A78;}
html.adm .fx-normal{background:#F4F2EF;color:#7A6A5E;}
html.adm .fx-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 10px;}
html.adm .fx-filter select,html.adm .fx-filter input[type=text]{height:32px;padding:0 8px;
  border:1px solid var(--line,#E8E1D8);border-radius:8px;background:var(--card,#fff);font-size:13px;}
html.adm .fx-filter input[type=text]{min-width:200px;padding:0 10px;}
html.adm .fx-sum{margin-left:auto;font-size:12.5px;color:var(--muted,#9A857A);align-self:center;}
html.adm .fx-sum b{color:var(--brand);}
html.adm .fx-tbl td{vertical-align:middle;font-size:13px;}
html.adm .fx-tbl .fx-sel{height:28px;border:1px solid var(--line,#E8E1D8);border-radius:7px;
  background:var(--card,#fff);font-size:12.5px;padding:0 4px;max-width:104px;}
html.adm .fx-code{display:inline-block;padding:1px 6px;border-radius:6px;font-size:11.5px;
  background:var(--bg-2,#F7F4F0);color:var(--ink-2,#5A5048);font-family:Consolas,Menlo,monospace;}
html.adm .fx-copy{display:block;margin-top:2px;font-size:11.5px;color:var(--brand);}
@media(max-width:900px){
  html.adm .fx-kpis{grid-template-columns:repeat(2,1fr);}
  html.adm .fx-sum{margin-left:0;}
}

/* ============================================================
   v1.7.10 免费试用申领页 /trial.php（A 申领工作台 / B 试用装橱窗）
   ========================================================== */
.trial-hero{background:linear-gradient(135deg,var(--brand-d),var(--brand));color:#fff;
  padding:38px 0 34px;}
.trial-hero h1{font-size:26px;letter-spacing:1px;margin-top:8px;}
.trial-hero p{margin-top:10px;font-size:14px;opacity:.92;}
.trial-badges{margin-top:14px;display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;}
.trial-badges span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);
  border-radius:999px;padding:4px 13px;}
.trial-hero-b{text-align:center;padding:52px 0 46px;
  background:linear-gradient(135deg,var(--brand-d) 0%,var(--brand) 62%,var(--gold));}
.trial-hero-b h1{font-size:30px;}
.trial-hero-b p{font-size:14.5px;margin-top:12px;}
.trial-hero-b .btn{margin-top:22px;}
.trial-h{font-size:15.5px;letter-spacing:.3px;}
.trial-h .hl{color:var(--accent-d);font-size:18px;}
.trial-workbench{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start;}
.trial-goods{display:flex;flex-direction:column;gap:12px;margin-top:12px;}
.trial-goods li{display:flex;gap:11px;align-items:flex-start;list-style:none;}
.trial-goods .em{width:38px;height:38px;border-radius:10px;background:var(--brand-soft);color:var(--brand-d);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.trial-goods .em .zi{width:19px;height:19px;}
.trial-goods b{font-size:14px;display:block;}
.trial-goods li > div span{font-size:12.5px;color:var(--muted);}
.trial-steps{margin-top:14px;}
.trial-form label{display:block;font-size:13px;color:var(--ink-2);margin-top:12px;}
.trial-form label i{color:var(--accent);font-style:normal;}
.trial-form input,.trial-form select,.trial-form textarea{width:100%;margin-top:6px;}
.trial-err{margin-top:12px;background:#FDECEC;border:1px solid #F2C6C6;color:#A32D2D;
  border-radius:8px;padding:9px 12px;font-size:13px;}
.trial-privacy{margin-top:10px;font-size:11.5px;color:var(--muted);line-height:1.7;text-align:center;}
.trial-ok{text-align:center;padding:46px 20px;max-width:560px;margin:0 auto;}
.trial-ok .ico{width:56px;height:56px;border-radius:50%;background:var(--brand-soft);color:var(--brand-d);
  display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.trial-ok .ico .zi{width:26px;height:26px;}
.trial-ok h2{font-size:20px;}
.trial-ok p{color:var(--muted);margin-top:8px;}
.trial-ok .acts{display:flex;gap:10px;justify-content:center;margin-top:18px;flex-wrap:wrap;}
.trial-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
  margin-top:-26px;position:relative;z-index:2;}
.ts-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 16px;text-align:center;
  box-shadow:var(--sd);position:relative;}
.ts-card .em{width:52px;height:52px;border-radius:14px;background:var(--brand-soft);color:var(--brand-d);
  display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.ts-card .em .zi{width:26px;height:26px;}
.ts-card h4{font-size:15.5px;}
.ts-card p{font-size:12.5px;color:var(--muted);margin-top:7px;line-height:1.8;}
.ts-card .tag{position:absolute;top:12px;right:12px;}
.trial-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;}
.trial-fgrid label{display:block;font-size:13px;color:var(--ink-2);margin-top:12px;}
.trial-fgrid input,.trial-fgrid select{width:100%;margin-top:6px;}
.trial-form-wide{max-width:860px;margin:18px auto 0;}
@media (max-width:768px){
  .trial-hero{padding:28px 0 26px;}
  .trial-hero h1{font-size:22px;}
  .trial-hero-b h1{font-size:24px;}
  .trial-workbench{grid-template-columns:minmax(0,1fr);}
  .trial-showcase{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:-20px;}
  .ts-card{padding:14px 8px;}
  .ts-card .em{width:40px;height:40px;margin-bottom:8px;}
  .ts-card h4{font-size:13px;}
  .ts-card p{font-size:11px;line-height:1.7;}
  .trial-fgrid{grid-template-columns:minmax(0,1fr);}
}

/* ============================================================
   v1.7.11 产品 ID 徽章（前台列表 / 卡片）+ SKU 管理商城分库
   ========================================================== */
.mt-gid,.goods .gid{display:inline-block;font:11px/1.4 Consolas,Menlo,monospace;color:var(--muted);
  background:var(--white-2);border:1px solid var(--line);border-radius:6px;padding:1px 7px;
  vertical-align:middle;white-space:nowrap;letter-spacing:.3px;}
.mt-qtable .mt-gid{margin-left:6px;}
.mt-card .mt-gid{margin-right:6px;}
.mt-rows .meta span:first-child{font-family:Consolas,Menlo,monospace;color:var(--muted);}
html.adm .zs-pf-biz{margin-top:6px;border-top:1px dashed var(--line);padding-top:6px;}
html.adm .zs-pf-biz a{font-size:12px;}
html.adm .zs-pf-biz a.on{font-weight:600;}
html.adm .zsbiz{display:inline-block;margin-top:2px;font-size:11px;color:var(--muted);}
html.adm .zsbiz.fac{color:var(--gold-d, #B7791F);font-weight:600;}

/* v1.7.12 客服系统 · 全站动态类型角标 */
html.adm .zf-tag{display:inline-block;min-width:34px;text-align:center;font-size:11px;border-radius:6px;
  padding:2px 7px;background:var(--white-2);color:var(--muted);flex-shrink:0;}
html.adm .zf-tag.f-order{background:#EAF3DE;color:#3B6D11;}
html.adm .zf-tag.f-book{background:#E6F1FB;color:#185FA5;}
html.adm .zf-tag.f-vend{background:#FBEAF0;color:#993556;}
html.adm .zf-tag.f-trial{background:#FAEEDA;color:#854F0B;}
html.adm .zf-tag.f-reg{background:#EEEDFE;color:#534AB7;}
html.adm .zf-tag.f-msg{background:#FDF1E9;color:#C4552E;}
html.adm .zf-tag.f-chat{background:#E1F5EE;color:#0F6E56;}

/* ============================================================
   v1.7.12 活动促销（详情页 A 标签+领券中心 / B 大促横幅+券包）
   ========================================================== */
.pm-zone{margin:12px 0;}
.pm-hero{background:linear-gradient(120deg,#8C1F28,#C0392B 55%,#E67E22);color:#fff;border-radius:var(--r);
  padding:13px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.pm-hero-t b{font-size:16px;letter-spacing:.5px;}
.pm-hero-t span{display:block;font-size:12px;opacity:.9;margin-top:3px;}
.pm-hero-cd{margin-left:auto;font-size:12.5px;opacity:.95;}
.pm-hero-cd b{font-family:Consolas,Menlo,monospace;font-size:15px;margin:0 2px;}
.pm-bar{display:flex;align-items:flex-start;gap:9px;background:var(--white-2);border:1px solid var(--line);
  border-radius:var(--r);padding:10px 13px;margin-top:10px;}
.pm-ico{flex-shrink:0;width:20px;height:20px;border-radius:5px;background:#C0392B;color:#fff;font-size:12px;
  display:flex;align-items:center;justify-content:center;font-weight:700;margin-top:2px;}
.pm-tags{display:flex;flex-wrap:wrap;gap:6px 10px;flex:1;min-width:0;}
.pm-tag{font-size:12.5px;color:var(--ink-2);display:inline-flex;align-items:center;gap:5px;min-width:0;}
.pm-tag i{font-style:normal;color:#C0392B;border:1px solid #E8B7B0;border-radius:4px;padding:0 4px;
  font-size:11px;flex-shrink:0;}
.pm-tag em{font-style:normal;color:var(--muted);font-size:11.5px;}
.pm-tags .pm-more{display:none;}
.pm-tags.pm-open .pm-more{display:inline-flex;}
.pm-fold{flex-shrink:0;font-size:12px;color:var(--brand);}
.pm-coupons{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:stretch;}
.pm-coupon{display:inline-flex;align-items:center;gap:8px;border:1px dashed #E0A79E;border-radius:8px;
  padding:6px 10px;background:#FDF6F4;font-size:12px;color:var(--muted);}
.pm-coupon b{color:#C0392B;font-size:14.5px;font-weight:700;}
.pm-coupon i{font-style:normal;}
.pm-coupon .pm-claim{background:#C0392B;color:#fff;border-radius:6px;padding:4px 10px;font-size:12px;
  text-decoration:none;white-space:nowrap;}
.pm-coupon.got{opacity:.62;}
.pm-coupon.got .pm-claim{background:var(--muted);}
.pm-claim-all{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:linear-gradient(120deg,#8C1F28,#C0392B);color:#fff;border-radius:8px;padding:6px 14px;
  text-decoration:none;}
.pm-claim-all b{font-size:13px;}
.pm-claim-all i{font-style:normal;font-size:11px;opacity:.85;}
.pm-mini{display:inline-flex;gap:4px;margin-left:6px;}
.pm-mini i{font-style:normal;font-size:10.5px;color:#C0392B;border:1px solid #E8B7B0;border-radius:4px;padding:0 4px;}

/* ================================================================
   v1.7.13  手机端商城 / 预约页瘦身（后台「站点设置 → 手机端版式」A/B 可切）
   ------------------------------------------------------------
   商城 A 稿 = 筛选收纳版：侧栏默认隐藏，排序条上「筛选」按钮点开；
   商城 B 稿 = 侧栏沉底版：侧栏整体挪到商品下面，排序条吸顶；
   预约 A 稿 = 极简头部：登录提示一行化 + 标题瘦身 + 流程条隐藏；
   预约 B 稿 = 一屏见服务：顶部标题区 / 登录卡 / 流程条整块收起。
   PC 端（>900px）完全不受影响。
   ================================================================ */
@media(max-width:900px){
  /* ---- 共用：类目快捷条单行横滑（不再换行堆三四排） ---- */
  .mt-cats{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none;}
  .mt-cats::-webkit-scrollbar{display:none;}
  .mt-cats a{white-space:nowrap;flex-shrink:0;}
  /* ---- 共用：排序条单行化（原来换行堆成竖排，丑且占地方） ---- */
  .mt-sortbar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .mt-sortbar::-webkit-scrollbar{display:none;}
  .mt-sortbar a{white-space:nowrap;flex-shrink:0;padding:10px 13px;}
  .mt-sortbar .rt{margin-left:auto;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 10px;white-space:nowrap;}
  .mt-fbtn{display:none;}

  /* ---- A 稿：筛选收纳 ---- */
  .wrap.mtm-a .mt-fbtn{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line,#EFE3DE);
    background:#fff;color:var(--ink-2,#5B4A42);border-radius:15px;padding:3px 11px;font-size:12px;cursor:pointer;font-family:inherit;}
  .wrap.mtm-a .mt-lay>aside,.wrap.mtm-a .mt-wb .mt-wbside{display:none;}
  .wrap.mtm-a.mfopen .mt-lay>aside,.wrap.mtm-a.mfopen .mt-wb .mt-wbside{display:block;order:-1;
    border:1px solid var(--line,#EFE3DE);border-radius:12px;background:#fff;padding:10px;margin-top:10px;}
  .wrap.mtm-a.mfopen aside .side-box{margin-bottom:10px;box-shadow:none;border:1px solid var(--line,#EFE3DE);}
  .wrap.mtm-a.mfopen aside .side-box:last-child{margin-bottom:0;}
  .wrap.mtm-a.mfopen .mt-fbtn::after{content:' ▴';}

  /* ---- B 稿：侧栏沉底 + 排序条吸顶 ---- */
  .wrap.mtm-b .mt-lay,.wrap.mtm-b .mt-wb{display:flex;flex-direction:column;}
  .wrap.mtm-b .mt-lay>aside,.wrap.mtm-b .mt-wbside{order:2;margin-top:14px;}
  /* 分类与顶部快捷条重复，沉底的侧栏里不再出第一块分类 */
  .wrap.mtm-b .mt-lay>aside .side-box:first-child{display:none;}
  .wrap.mtm-b .mt-sortbar{position:sticky;top:0;z-index:40;background:var(--panel,#fff);
    box-shadow:0 2px 10px rgba(var(--sh,74,33,26),.06);}
}

@media(max-width:900px){
  /* ---- 预约 A 稿：极简头部 ---- */
  .wrap.bkm-a .bk-login{padding:9px 13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;line-height:1.6;}
  .wrap.bkm-a .bk-login b{font-size:13px;flex-shrink:0;}
  .wrap.bkm-a .bk-login>span{display:none;}
  .wrap.bkm-a .bk-login .btn{margin-top:0;margin-left:auto;padding:6px 14px;font-size:13px;}
  .wrap.bkm-a .sec-head.mt24{margin-top:12px;}
  .wrap.bkm-a .sec-head h2{font-size:16px;}
  .wrap.bkm-a .sec-head .eyebrow{display:none;}
  .wrap.bkm-a .sec-head h2 small{display:none;}
  .wrap.bkm-a .bk .bk-flow{display:none;}

  /* ---- 预约 B 稿：一屏见服务 ---- */
  .wrap.bkm-b .crumb{display:none;}
  .wrap.bkm-b .bk-login{display:none;}
  .wrap.bkm-b .sec-head{display:none;}
  .wrap.bkm-b .bk .bk-flow{display:none;}
  .bk-hint1{font-size:12px;color:var(--muted);line-height:1.8;padding:0 2px;}
}

/* ================================================================
   v1.7.14  活动促销增强：A 稿倒计时 / 到手价条 / C 秒杀专场 / D 聚合横幅
   + 广告联动促销条 + 后台商品选择器
   ================================================================ */

/* ---- A 稿促销条右侧倒计时 ---- */
.pm-bar-cd{flex-shrink:0;font-size:12px;color:var(--muted,#9A857A);white-space:nowrap;}
.pm-bar-cd b{color:var(--price,#D4380D);font-variant-numeric:tabular-nums;}

/* ---- 到手价条（A / C / D 稿，促销配了促销价时出现） ---- */
.pm-deal{display:flex;align-items:baseline;gap:8px;margin-top:8px;padding:8px 12px;
  background:linear-gradient(90deg,rgba(212,56,13,.08),rgba(212,56,13,.02));border:1px solid rgba(212,56,13,.18);border-radius:10px;}
.pm-deal i{font-style:normal;font-size:12px;color:#D4380D;font-weight:600;}
.pm-deal b{font-size:20px;color:#D4380D;font-weight:800;}
.pm-deal del{font-size:12.5px;color:var(--muted,#9A857A);}
.pm-deal span{font-size:12px;color:var(--ink-2,#5B4A42);margin-left:auto;}

/* ---- C 稿：限时秒杀专场 ---- */
.pm-sk{margin-top:8px;padding:12px 14px;border-radius:12px;color:#fff;
  background:linear-gradient(135deg,#E5270E 0%,#FF5B2E 55%,#FF8A3C 100%);
  box-shadow:0 6px 18px rgba(229,39,14,.22);}
.pm-sk-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.pm-sk-badge{background:#fff;color:#E5270E;font-weight:800;font-size:13px;
  padding:3px 10px;border-radius:14px;letter-spacing:1px;}
.pm-sk-t{font-size:15px;font-weight:700;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pm-sk-cd{margin-left:auto;display:inline-flex;align-items:center;gap:3px;}
.pm-sk-cd b{display:inline-block;min-width:24px;text-align:center;background:rgba(0,0,0,.35);
  border-radius:5px;padding:3px 4px;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;}
.pm-sk-cd u{text-decoration:none;font-size:12px;opacity:.9;}
.pm-sk-price{display:flex;align-items:baseline;gap:10px;margin-top:10px;}
.pm-sk-price b{font-size:28px;font-weight:900;text-shadow:0 1px 0 rgba(0,0,0,.15);}
.pm-sk-price b::before{content:'¥';font-size:16px;font-weight:700;}
.pm-sk-price del{font-size:13px;opacity:.75;}
.pm-sk-price em{font-style:normal;background:#FFF3C4;color:#B4260C;font-size:12px;font-weight:700;
  padding:2px 8px;border-radius:10px;}
.pm-sk-bar{position:relative;margin-top:10px;height:18px;background:rgba(0,0,0,.28);border-radius:9px;overflow:hidden;}
.pm-sk-bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#FFE27A,#FFB13C);border-radius:9px;}
.pm-sk-bar span{position:relative;z-index:1;display:block;text-align:center;font-size:11.5px;line-height:18px;
  color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);}
.pm-sk-r{margin-top:8px;font-size:12.5px;opacity:.92;line-height:1.6;}

/* ---- D 稿：大促聚合横幅 ---- */
.pm-fest{margin-top:8px;border-radius:12px;overflow:hidden;border:1px solid rgba(212,56,13,.25);}
.pm-fest-head{display:flex;align-items:center;gap:12px;padding:12px 14px;color:#fff;
  background:linear-gradient(120deg,#8B1E12 0%,#D4380D 60%,#F4502A 100%);}
.pm-fest-t{min-width:0;}
.pm-fest-t b{display:block;font-size:16px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pm-fest-t span{display:block;font-size:12px;opacity:.88;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pm-fest-cd{margin-left:auto;flex-shrink:0;font-size:12px;background:rgba(0,0,0,.25);
  padding:5px 10px;border-radius:8px;white-space:nowrap;}
.pm-fest-cd b{color:#FFE27A;font-variant-numeric:tabular-nums;}
.pm-fest-list{display:flex;background:#fff;}
.pm-fest-item{flex:1;min-width:0;padding:9px 12px;display:flex;align-items:center;gap:6px;border-right:1px dashed var(--line,#EFE3DE);}
.pm-fest-item:last-child{border-right:0;}
.pm-fest-item i{font-style:normal;flex-shrink:0;font-size:11px;color:#D4380D;border:1px solid #D4380D;
  border-radius:4px;padding:0 4px;line-height:16px;}
.pm-fest-item span{font-size:12.5px;color:var(--ink-2,#5B4A42);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pm-fest-item b{margin-left:auto;color:#D4380D;font-size:13px;flex-shrink:0;}

/* ---- 广告联动促销条（ad_slot promo_id>0 时挂在广告图下） ---- */
.ad-slot{position:relative;}
.ad-pm{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-top:-2px;
  background:linear-gradient(90deg,#FFF3EC,#FFF9F4);border:1px solid var(--line,#EFE3DE);border-top:0;
  border-radius:0 0 10px 10px;font-size:13px;}
.ad-pm i{font-style:normal;flex-shrink:0;width:20px;height:20px;border-radius:5px;background:#D4380D;
  color:#fff;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;}
.ad-pm span{color:var(--ink,#3D2B23);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ad-pm b{flex-shrink:0;color:#D4380D;font-size:12px;font-variant-numeric:tabular-nums;}
.ad-pm a{margin-left:auto;flex-shrink:0;color:#D4380D;font-weight:700;text-decoration:none;}

/* ---- 手机端：C/D 稿与到手价条自适应 ---- */
@media(max-width:900px){
  .pm-fest-list{flex-wrap:wrap;}
  .pm-fest-item{flex:1 1 50%;border-bottom:1px dashed var(--line,#EFE3DE);}
  .pm-sk-price b{font-size:24px;}
  .pm-bar{flex-wrap:nowrap;overflow-x:auto;}
}

/* ================================================================
   v1.7.14  后台商品选择器（zkd_admin_goods_picker）
   ================================================================ */
html.adm .zkd-gpk{position:fixed;inset:0;z-index:9999;}
html.adm .zkd-gpk[hidden]{display:none;}
html.adm .zkd-gpk-mask{position:absolute;inset:0;background:rgba(30,20,15,.45);}
html.adm .zkd-gpk-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(720px,94vw);max-height:82vh;display:flex;flex-direction:column;
  background:#fff;border-radius:14px;box-shadow:0 18px 60px rgba(30,20,15,.35);overflow:hidden;}
html.adm .zkd-gpk-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line,#EFE3DE);}
html.adm .zkd-gpk-head b{font-size:15px;}
html.adm .zkd-gpk-head span{font-size:12px;color:var(--muted,#9A857A);}
html.adm .zkd-gpk-x{margin-left:auto;color:var(--muted,#9A857A);text-decoration:none;font-size:16px;padding:2px 6px;}
html.adm .zkd-gpk-tools{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--line,#EFE3DE);}
html.adm .zkd-gpk-q{flex:1;border:1px solid var(--line,#EFE3DE);border-radius:8px;padding:7px 10px;font-size:13px;}
html.adm .zkd-gpk-f{font-size:13px;color:var(--ink-2,#5B4A42);display:inline-flex;align-items:center;gap:4px;}
html.adm .zkd-gpk-list{flex:1;overflow-y:auto;padding:8px 12px;}
html.adm .zkd-gpk-it{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;}
html.adm .zkd-gpk-it:hover{background:var(--brand-soft,#FBF1EA);}
html.adm .zkd-gpk-it.on{background:var(--brand-soft,#FBF1EA);box-shadow:inset 0 0 0 1px var(--brand,#C4552E);}
html.adm .zkd-gpk-it b{flex-shrink:0;font-family:Consolas,Menlo,monospace;color:var(--brand,#C4552E);min-width:44px;}
html.adm .zkd-gpk-it span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink,#3D2B23);}
html.adm .zkd-gpk-it i.b{font-style:normal;flex-shrink:0;font-size:11px;border-radius:4px;padding:1px 6px;line-height:16px;}
html.adm .zkd-gpk-it i.b.ec{color:#B4700C;background:#FFF3DC;}
html.adm .zkd-gpk-it i.b.fac{color:#1D6F5C;background:#E2F3EE;}
html.adm .zkd-gpk-it em{flex-shrink:0;font-style:normal;font-size:12px;color:var(--muted,#9A857A);}
html.adm .zkd-gpk-empty{padding:30px 0;text-align:center;color:var(--muted,#9A857A);font-size:13px;}
html.adm .zkd-gpk-foot{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line,#EFE3DE);}
html.adm .zkd-gpk-foot .zkd-gpk-n{font-size:13px;color:var(--ink-2,#5B4A42);}
html.adm .zkd-gpk-foot .zkd-gpk-n b{color:var(--brand,#C4552E);}
html.adm .zkd-gpk-clear{font-size:13px;color:var(--muted,#9A857A);text-decoration:none;}
html.adm .zkd-gpk-ok{margin-left:auto;}
html.adm .zkd-gpk-btn{margin-left:8px;white-space:nowrap;}

/* ================================================================
   v1.7.30  手机端首页两版块一行化 + 右侧回到顶部 + 资讯列表紧凑 + 翻页禁用态
   ================================================================ */

/* ---- 右侧漂浮「回到顶部」（PC / 手机端通用） ---- */
.backtop{position:fixed;right:14px;bottom:120px;z-index:96;width:44px;height:44px;border-radius:12px;
  background:var(--brand,#B4623C);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:0;box-shadow:0 6px 18px rgba(0,0,0,.18);text-decoration:none;opacity:0;transform:translateY(8px);
  transition:opacity .25s,transform .25s;}
.backtop.show{opacity:1;transform:translateY(0);}
.backtop i{font-style:normal;font-size:16px;line-height:1;font-weight:700;}
.backtop span{font-size:10px;line-height:1.3;letter-spacing:1px;}
.backtop:hover{filter:brightness(1.08);}

/* ---- 翻页条：边界页码 / 上一页下一页的禁用态 ---- */
.pager .dis{color:var(--muted-2,#B8AFA6);background:var(--panel-soft,#FAF6F2);border:1px solid var(--line,#EFE3DE);cursor:default;}

@media(max-width:900px){
  /* ---- 手机端首页「预约护理服务」四步：一行展示（内容不变） ---- */
  .wrap .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
  .wrap .step{padding:9px 5px;text-align:center;}
  .wrap .step .n{width:20px;height:20px;font-size:12px;margin:0 auto 5px;}
  .wrap .step h4{font-size:12px;margin-bottom:2px;letter-spacing:0;}
  .wrap .step p{font-size:10.5px;line-height:1.45;}

  /* ---- 手机端首页「本月服务数据」：一行横滑（内容不变） ---- */
  .sv-data .bd{padding:7px 8px;}
  .sv-data .side-list{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .sv-data .side-list::-webkit-scrollbar{display:none;}
  .sv-data .side-list li{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;
    border-bottom:none;border-right:1px dashed var(--line,#EFE3DE);padding:5px 11px;font-size:12px;}
  .sv-data .side-list li:last-child{border-right:none;}
  .sv-data .side-list li b{font-weight:600;}

  /* ---- 手机端资讯列表：标题一行 + 图片缩小 ---- */
  .news-list .thumb{width:82px;height:56px;}
  .news-list h4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .news-list li{gap:10px;padding:11px 0;}

  /* ---- 手机端回到顶部：只缩尺寸；垂直位置见文件末尾 v1.7.31 自适应规则 ---- */
  .backtop{right:10px;width:40px;height:40px;}
  .backtop span{font-size:9px;}
}

/* ================================================================
   v1.7.31  回到顶部避开在线客服 + 详情页长标题防溢出
   ================================================================ */

/* ---- 回到顶部垂直位置自适应 ----
   手机端漂浮客服组(.float-bar)占位 bottom:78px + 高约 56px ≈ 到 134px；
   预约页整组抬高到 130px ≈ 到 186px。回到顶部按钮必须悬在它们上方。 */
@media(max-width:768px){
  .backtop{bottom:150px;}              /* 78 + 56 + 16 间距，正好在客服头顶 */
  .backtop.bt-bk{bottom:202px;}        /* 预约页：130 + 56 + 16 */
  .backtop.bt-nofloat{bottom:86px;}    /* 本页没开漂浮客服：贴底即可 */
}
/* PC 端漂浮客服在 bottom:30px（占到 86px），默认 120px 本就在其上方，无需改 */

/* ---- 资讯详情页 h1：超长英文/数字串不撑破容器 ---- */
.card.pad > h1{overflow-wrap:anywhere;word-break:break-word;}

/* ================================================================
   v1.7.37  通用 404 页面（前台死链 / 内容已删除统一落这里）
   inc/err404.php 与 404.php 共用
   ================================================================ */
.zkd-404{max-width:560px;margin:38px auto 56px;text-align:center;padding:0 16px;}
.zkd-404-em{width:64px;height:64px;border-radius:18px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;
  background:var(--brand-soft,#FDF0E9);color:var(--brand,#C4552E);font-size:22px;font-weight:700;letter-spacing:1px;}
.zkd-404-code{font-size:72px;font-weight:800;line-height:1;color:var(--brand,#C4552E);margin:0;letter-spacing:2px;}
.zkd-404-msg{font-size:16px;color:var(--ink-2,#5B4A42);margin:14px 0 22px;line-height:1.8;}
.zkd-404-search{display:flex;max-width:420px;margin:0 auto 18px;border:1px solid var(--line,#EFE3DE);border-radius:999px;overflow:hidden;background:#fff;}
.zkd-404-search input{flex:1;min-width:0;border:0;padding:12px 18px;font-size:14px;font-family:inherit;color:var(--ink,#2B1E1A);}
.zkd-404-search input:focus{outline:none;}
.zkd-404-search button{border:0;background:var(--brand,#C4552E);color:#fff;padding:0 22px;font-size:14px;font-family:inherit;cursor:pointer;white-space:nowrap;}
.zkd-404-search button:hover{filter:brightness(1.05);}
.zkd-404-hint{font-size:13px;color:var(--muted,#9A857A);margin:0 0 14px;line-height:1.8;}
.zkd-404-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 24px;}
.zkd-404-links a{font-size:13px;padding:6px 14px;border-radius:999px;background:var(--soft-a,#F7F5F3);color:var(--ink-2,#5B4A42);text-decoration:none;transition:.15s;}
.zkd-404-links a:hover{background:var(--brand-soft,#FDF0E9);color:var(--brand,#C4552E);}
.zkd-404-back{margin:0;}
.zkd-404-back .btn{display:inline-block;padding:11px 30px;font-size:14px;}
@media(max-width:768px){
  .zkd-404{margin:26px auto 40px;}
  .zkd-404-code{font-size:58px;}
  .zkd-404-msg{font-size:15px;}
  .zkd-404-search button{padding:0 16px;font-size:13px;}
}
