/* ═══════════════════════════════════════════════════════════
   臻选猕猴桃 · 全站样式
   调性：品牌红 60% × 纯白卡片 30% × 促销橙 10%（鞋服电商常用模式）
   说明：CSS 变量名沿用旧版（--sand / --sea / --accent …），
        仅重映射色值，保证购物车弹层与各子页面零改动即可换肤。
   ═══════════════════════════════════════════════════════════ */

:root{
  --sand:#F4F4F6;          /* 页面底（浅灰，衬托白卡） */
  --paper:#FFFFFF;         /* 卡片 */
  --sea-ink:#1B1B1F;       /* 标题近黑 */
  --sea:#FF6A00;           /* 促销橙 */
  --sea-soft:#FFF3EA;      /* 浅橙底 */
  --accent:#FF2E4D;        /* 品牌红（价格 / 主 CTA） */
  --accent-deep:#E31B3C;
  --ink:#1B1B1F;           /* 正文 */
  --muted:#9A9AA2;         /* 次要文字 */
  --line:#EDEDF0;          /* 描边 */
  --ochre:#C08A3E;
  --gold:#FFB100;

  --fs-xs:11px; --fs-sm:12.5px; --fs-md:14px; --fs-lg:16px;
  --fs-xl:19px; --fs-2xl:24px; --fs-3xl:32px;

  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-pill:999px;

  --sh-1:0 1px 3px rgba(24,24,32,.05);
  --sh-2:0 6px 18px rgba(24,24,32,.08);
  --sh-3:0 18px 48px rgba(24,24,32,.18);
}

/* ── 基础 ── */
*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0;
  text-align:left;
  background:var(--sand);
  font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei','Helvetica Neue',Arial,sans-serif;
  color:var(--ink);
  letter-spacing:0;
  line-height:1.6;
  -webkit-text-size-adjust:100%;
  word-break:break-word;
}
.serif{font-family:inherit;}
a{color:inherit;text-decoration:none;}
img{border:0;max-width:100%;}
button{font:inherit;cursor:pointer;border:none;background:none;}

/* 固定底部导航时页面预留空间 */
.has-bnav{padding-bottom:64px;}
.has-cartbar{padding-bottom:126px;}
.has-detbar{padding-bottom:146px;}
#bottomNav{position:fixed;bottom:0;left:0;width:100%;z-index:999;}

/* ── 通用组件 ── */
.tag{display:inline-block;font-size:var(--fs-xs);line-height:1;padding:4px 7px;border-radius:6px;}
.tag-sea{background:var(--sea-soft);color:#D95600;}
.tag-gray{background:#F0F1F4;color:#6A6A73;}
.tag-city{background:rgba(79,168,220,.14);color:#0B5C86;}
.tag-gen{background:rgba(255,75,92,.12);color:#C2182B;}
.tag-fire{background:rgba(255,46,77,.09);color:var(--accent);}
.tag-ochre{background:rgba(192,138,62,.12);color:var(--ochre);}
.tag-gold{background:rgba(255,255,255,.18);color:#fff;}

.btn-fire{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;background:linear-gradient(135deg,#FF6A3D,#FF2E4D);color:#FFF;
  border-radius:var(--r-pill);font-size:var(--fs-md);font-weight:700;
  box-shadow:0 6px 16px rgba(255,46,77,.28);
  transition:transform 160ms ease-out,filter 160ms;
}
.btn-fire.w-full{width:100%;}
.btn-fire:hover{filter:brightness(.95);}
.btn-fire:active{transform:scale(.97);}
.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  border:1.5px solid var(--sea);color:var(--sea);border-radius:var(--r-pill);
  font-size:var(--fs-md);font-weight:700;transition:background 160ms;
}
.btn-ghost.w-full{width:100%;}
.btn-ghost:hover{background:var(--sea-soft);}
/* 促销橙主按钮（立即购买等） */
.btn-sea{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 22px;border-radius:var(--r-pill);
  font-size:var(--fs-md);text-decoration:none;cursor:pointer;
  background:linear-gradient(135deg,#FF8A2B,#FF5A00);color:#FFF;font-weight:700;border:none;
  box-shadow:0 4px 12px rgba(255,106,0,.3);
}
.btn-sea:hover{filter:brightness(.95);}
.btn-sea.w-full{width:100%;}
.btn-sea:active{transform:scale(.97);}
.det-bar .btn-sea{flex:1;}

/* 小号文字按钮（区块右上「查看全部」） */
.btn-sm{
  display:inline-flex;align-items:center;min-height:24px;padding:0 10px;
  border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;
  border:1px solid var(--line);color:var(--muted);background:var(--paper);
}
.btn-promo{border-color:rgba(255,46,77,.35);color:var(--accent);background:rgba(255,46,77,.06);}

/* 商品图容器 */
.platter{position:relative;overflow:hidden;background:#F6F6F8;}
.platter img{width:100%;height:100%;object-fit:contain;display:block;}

/* 旧版装饰（东山岛版）保留为空操作，避免残留元素撑高 */
.wave-div{display:none;}
.net-bg{background-image:none;}

/* ═══════════ 首页 ═══════════ */

/* 顶部品牌红区 */
.home-top{
  background:linear-gradient(135deg,#FF7A45 0%,#FF2E4D 58%,#F0193C 100%);
  color:#FFF;padding:12px 14px 14px;position:relative;overflow:hidden;
}
.home-top::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(28rem 14rem at 88% -30%,rgba(255,255,255,.22),transparent 62%);
}
.top-bar{display:flex;align-items:center;justify-content:space-between;position:relative;}
.brand-row{display:flex;align-items:center;justify-content:space-between;position:relative;}
.brand{font-weight:900;font-size:20px;letter-spacing:.02em;line-height:1.15;}
.brand small{display:block;font-weight:400;font-size:9.5px;opacity:.82;letter-spacing:.2em;margin-top:1px;}
.top-icons{display:flex;align-items:center;gap:6px;position:relative;}
.top-icons a{
  width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;
}
.top-icons a svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.top-icons a:active{opacity:.75;}

/* 搜索：白底胶囊 */
.search{
  display:flex;align-items:center;gap:8px;
  background:#FFF;border:none;border-radius:var(--r-pill);
  padding:0 4px 0 13px;height:38px;margin-top:11px;position:relative;
  box-shadow:0 4px 14px rgba(120,10,30,.16);
}
.search .s-ico{display:flex;align-items:center;}
.search .s-ico svg{width:16px;height:16px;stroke:#B9B9C2;fill:none;stroke-width:2;stroke-linecap:round;}
.search input{
  flex:1;min-width:0;background:none;border:none;outline:none;height:100%;
  color:var(--ink);font-size:13px;
}
.search input::placeholder{color:#B9B9C2;}
.search .search-btn{
  flex:none;background:linear-gradient(135deg,#FF6A3D,#FF2E4D);color:#FFF;border:none;border-radius:var(--r-pill);
  height:30px;padding:0 16px;font-size:13px;font-weight:700;
}
.search .search-btn:active{filter:brightness(.93);}

/* 公告条（白卡） */
.notice{
  margin:10px 12px 0;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r-md);overflow:hidden;display:flex;align-items:center;height:34px;
  box-shadow:var(--sh-1);position:relative;
}
.notice .horn{flex:none;padding:0 6px 0 10px;font-size:13px;line-height:1;}
.notice .nb-tag{
  flex:none;margin-left:10px;font-size:10px;font-weight:700;color:var(--accent);
  border:1px solid rgba(255,46,77,.3);background:rgba(255,46,77,.07);
  border-radius:4px;padding:2px 5px;line-height:1.2;
}
.notice .roll{flex:1;overflow:hidden;min-width:0;padding-left:8px;}
/* 公告逐条向上滚动 */
.notice .ggv{height:32px;}
.ggv-track{will-change:transform;}
.ggv-item{height:32px;line-height:32px;font-size:var(--fs-xs);color:#000000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px;}
.notice .gg-more{flex:none;padding:0 12px 0 6px;font-size:var(--fs-xs);color:var(--accent);white-space:nowrap;font-weight:600;}

/* 公告/资讯列表卡 */
.news-card{margin-bottom:12px;cursor:pointer;}
.news-card .nc-tt{font-weight:700;font-size:var(--fs-md);line-height:1.4;}
.news-card .nc-meta{margin-top:4px;font-size:var(--fs-xs);color:var(--muted);}
.news-card .nc-pic{margin-top:10px;border-radius:var(--r-sm);overflow:hidden;background:#F0F0F3;}
.news-card .nc-pic img{display:block;width:100%;object-fit:cover;max-height:170px;}
.news-card .nc-more{margin-top:8px;text-align:right;font-size:var(--fs-xs);color:var(--accent);}

/* 旧版 hero（保留兼容） */
.hero{position:relative;padding:14px;color:#FFF;background:linear-gradient(135deg,#FF7A45,#FF2E4D);}
.hero h2{font-weight:900;font-size:22px;line-height:1.2;margin:0;}
.hero h2 i{font-style:normal;color:#FFE9A8;}
.hero p{margin-top:5px;font-size:11.5px;color:rgba(255,255,255,.82);max-width:70%;}
.hero .coord{display:none;}
.hero .stone{display:none;}

/* 轮播 */
.hbanner{margin:10px 12px 0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-1);position:relative;background:#F0F0F3;}
.hbanner .swiper-container{overflow:hidden;width:100%;}
.hbanner .swiper-slide img,.hbanner > img{display:block;width:100%;height:150px;object-fit:cover;}
.hbanner .swiper-pagination{bottom:6px;}
.hbanner .swiper-pagination-bullet{background:#FFF;opacity:.6;width:6px;height:6px;transition:all 200ms;}
.hbanner .swiper-pagination-bullet-active{background:var(--accent);opacity:1;width:16px;border-radius:3px;}

/* 广告图卡 */
.ad-band{margin:10px 12px 0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-1);border:1px solid var(--line);position:relative;background:#F0F0F3;display:block;}
.ad-band img{display:block;width:100%;height:100px;object-fit:cover;}
.ad-band .ad-chip{
  position:absolute;top:0;right:0;z-index:2;background:rgba(0,0,0,.38);
  color:#FFF;font-size:9px;line-height:1;padding:4px 7px;border-radius:0 0 0 10px;letter-spacing:.16em;
}
.ad-band .ad-tx{
  position:absolute;left:0;bottom:0;right:0;z-index:1;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));
  color:#FFF;font-size:var(--fs-sm);font-weight:700;letter-spacing:.04em;
  padding:22px 14px 10px;text-align:left;
}

/* 首页导航（VIP专区上方，a_d「导航」）：4 等分横排 */
/* 图标 = 彩色圆角色块 + 白色内联 SVG（不用上传图，避免露出白底/粉色底框） */
.hnav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 12px;margin-top:14px;}
.hnav-item{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--sh-1);padding:14px 4px 12px;overflow:hidden;transition:transform 200ms ease;
}
.hnav-item:active{transform:scale(.97);}
.hnav-ic{
  width:46px;height:46px;border-radius:15px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(19,41,58,.18);
}
.hnav-ic svg{width:25px;height:25px;display:block;fill:none;stroke:#FFF;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;}
.hnav-item b{font-size:12px;font-weight:600;color:var(--sea-ink);letter-spacing:.02em;}

/* 区块 */
.sect{padding:0 12px;margin-top:14px;}
.sect-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.sect-head h3{font-weight:800;font-size:17px;color:var(--sea-ink);margin:0;display:flex;align-items:baseline;gap:6px;}
.sect-head h3 em{font-style:normal;font-size:11.5px;font-weight:500;color:var(--muted);}
.sect-head a{font-size:var(--fs-sm);color:var(--muted);}
.hscroll{display:flex;gap:10px;overflow-x:auto;padding:0 0 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.hscroll::-webkit-scrollbar{display:none;}

/* 横滑礼盒卡（旧版组件保留） */
.gift{
  flex:0 0 132px;background:var(--paper);border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--sh-1);border:1px solid var(--line);
  transition:transform 280ms cubic-bezier(.16,1,.3,1);
}
.gift:hover{transform:translateY(-3px);}
.gift .platter{height:0;padding-bottom:100%;border-radius:0;}
.gift .platter img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.gift .bd{padding:8px 10px 10px;}
.gift .nm{font-size:var(--fs-sm);font-weight:600;color:var(--sea-ink);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gift .pr{margin-top:5px;font-weight:900;color:var(--accent);font-size:var(--fs-lg);}
.gift .pr small{font-size:var(--fs-xs);font-weight:400;color:var(--muted);margin-left:4px;}

/* 分类宫格（旧版 5 列，保留兼容） */
.grid8{display:grid;grid-template-columns:repeat(5,1fr);gap:2px 0;background:var(--paper);border-radius:var(--r-lg);padding:12px 4px 8px;border:1px solid var(--line);box-shadow:var(--sh-1);}
.cat{display:block;text-align:center;padding:6px 0;}
.cat .em{font-size:23px;display:block;line-height:1.25;}
.cat b{display:block;margin-top:4px;font-size:11px;color:#3A3A42;font-weight:500;}
.cat:hover{opacity:.85;}
.cat-promo .em{font-size:24px;}
.cat-promo b{color:var(--accent);}

/* ── 金刚区（分类图标网格） ── */
.kingkong{
  display:grid;grid-template-columns:repeat(5,1fr);gap:10px 0;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  margin:10px 12px 0;padding:14px 4px 10px;box-shadow:var(--sh-1);
}
.kk{display:block;text-align:center;}
.kk .ico{
  width:44px;height:44px;margin:0 auto;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#FFF2F4,#FFE2E8);
  overflow:hidden;
}
.kk .ico em{font-size:22px;font-style:normal;line-height:1;}
.kk .ico img{width:100%;height:100%;object-fit:cover;}
.kk b{display:block;margin-top:6px;font-size:11px;font-weight:500;color:#3A3A42;line-height:1.3;}
.kk:active{opacity:.72;}

/* ── 限时特惠 / 秒杀 ── */
.sk{
  margin:12px 12px 0;border-radius:var(--r-lg);border:1px solid #FFDDE3;
  background:linear-gradient(170deg,#FFF4F6 0%,#FFFFFF 46%);padding:12px 0 10px;
  box-shadow:var(--sh-1);
}
.sk-head{display:flex;align-items:center;gap:8px;padding:0 12px 10px;}
.sk-head h3{margin:0;font-size:17px;font-weight:800;color:var(--sea-ink);}
.sk-head h3 em{font-style:normal;font-size:11px;font-weight:600;color:var(--accent);margin-left:5px;}
.sk-timer{display:flex;align-items:center;gap:3px;font-size:11px;color:#7A7A83;}
.sk-timer b{
  background:#1B1B1F;color:#FFF;border-radius:4px;padding:2px 4px;
  font-weight:700;font-variant-numeric:tabular-nums;min-width:19px;text-align:center;display:inline-block;
}
.sk-head .sk-more{margin-left:auto;font-size:var(--fs-xs);color:var(--muted);}
.sk-scroll{display:flex;gap:10px;overflow-x:auto;padding:0 12px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.sk-scroll::-webkit-scrollbar{display:none;}
.skcard{
  flex:0 0 104px;background:var(--paper);border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--sh-1);position:relative;
}
.skcard .platter{height:0;padding-bottom:100%;}
.skcard .platter img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
.skcard .sk-flag{
  position:absolute;top:0;left:0;z-index:2;background:linear-gradient(135deg,#FF6A3D,#FF2E4D);
  color:#FFF;font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:0 0 8px 0;letter-spacing:.04em;
}
.skcard .bd{padding:6px 8px 9px;}
.skcard .nm{font-size:11.5px;line-height:1.35;height:2.7em;color:#3A3A42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.skcard .pr{margin-top:4px;color:var(--accent);font-weight:800;font-size:15px;line-height:1;}
.skcard .pr::before{content:"¥";font-size:10px;font-weight:600;margin-right:1px;}

/* ── 服务承诺条 ── */
.promise{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  margin:12px 12px 0;padding:12px 0;box-shadow:var(--sh-1);
}
.promise span{
  display:flex;align-items:center;justify-content:center;gap:5px;
  font-size:11.5px;color:#5A5A63;
}
.promise span + span{border-left:1px solid var(--line);}
.promise span i{font-style:normal;font-size:14px;}

/* 推荐流（旧版组件保留） */
.flow{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-1);display:block;transition:transform 280ms cubic-bezier(.16,1,.3,1);}
.card:hover{transform:translateY(-3px);}
.card .platter{height:0;padding-bottom:100%;border-radius:0;}
.card .platter img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
.card .bd{padding:8px 10px 12px;}
.card .nm{font-size:var(--fs-sm);font-weight:600;color:var(--sea-ink);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card .tg{margin-top:5px;display:flex;gap:4px;flex-wrap:wrap;}
.card .ft{margin-top:6px;display:flex;align-items:flex-end;justify-content:space-between;}
.card .pr{font-weight:900;color:var(--accent);font-size:16px;line-height:1;}
.card .pr::before{content:"¥";font-size:10px;font-weight:600;margin-right:1px;}
.card .sold{font-size:var(--fs-xs);color:var(--muted);}

/* 双列商品瀑布流（一行两个：上图，下名称两行 + 价格 + 右下角加购；整行价格/按钮对齐） */
.tjlist{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch;}
.tjitem{
  display:flex;flex-direction:column;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--sh-1);transition:transform 280ms cubic-bezier(.16,1,.3,1);
}
.tjitem:hover{transform:translateY(-3px);}
.tjitem .platter{flex:0 0 auto;display:block;height:0;padding-top:100%;border-radius:0;}
.tjitem .platter img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
.tjitem .tg{display:flex;gap:4px;padding:8px 10px 0;flex-wrap:wrap;}
.tjitem .bd{flex:1 1 auto;display:flex;align-items:flex-end;justify-content:space-between;gap:6px;padding:6px 10px 11px;}
.tjitem .info{flex:1 1 auto;min-width:0;}
.tjitem .nm{min-height:2.9em;font-size:var(--fs-sm);font-weight:600;color:var(--sea-ink);line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tjitem .pr{margin-top:5px;font-weight:900;color:var(--accent);font-size:16px;line-height:1;}
.tjitem .pr::before{content:"¥";font-size:10px;font-weight:600;margin-right:1px;}
.tjitem .pr small{font-size:10px;font-weight:400;color:var(--muted);margin-left:3px;}
.tjitem .cart{
  flex:0 0 auto;width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,#FF6A3D,#FF2E4D);color:#FFF;
  display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(255,46,77,.28);
  transition:filter 200ms,transform 200ms;
}
.tjitem .cart svg{width:15px;height:15px;display:block;stroke:currentColor;fill:none;}
.tjitem .cart:hover{filter:brightness(.94);transform:scale(1.05);}
.tjitem .cart:active{transform:scale(.92);}

/* VIP专区：一行一个（上图 5:3 容器 → 名称 → 价格 + 右下角加购）
   容器固定 5:3（高 = 宽 × 0.6）；图片按**自身原比例完整显示**（object-fit:contain），
   不裁剪、不变形，比例不足的地方留浅色底（上下或左右补白） */
.vzlist{display:flex;flex-direction:column;gap:12px;}
.vzitem{
  display:flex;flex-direction:column;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--sh-1);transition:transform 280ms cubic-bezier(.16,1,.3,1);
}
.vzitem:hover{transform:translateY(-3px);}
.vzitem .vz-pic{flex:0 0 auto;position:relative;display:block;height:0;padding-top:60%;overflow:hidden;border-radius:0;background:#F7F5F1;}
.vzitem .vz-pic img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;}
.vzitem .vz-bd{flex:1 1 auto;display:flex;flex-direction:column;gap:8px;padding:11px 12px 12px;}
.vzitem .vz-nm{
  font-size:var(--fs-md);font-weight:600;color:var(--sea-ink);line-height:1.45;text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.vzitem .vz-ft{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.vzitem .vz-pr{font-weight:900;color:var(--accent);font-size:19px;line-height:1;font-family:'Noto Serif SC','Songti SC','SimSun',serif;}
.vzitem .vz-pr::before{content:"¥";font-size:11px;font-weight:600;margin-right:1px;}
.vzitem .vz-pr small{font-size:11px;font-weight:400;color:var(--muted);margin-left:3px;}
.vzitem .cart{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,#FF6A3D,#FF2E4D);color:#FFF;
  display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(255,46,77,.28);
  transition:filter 200ms,transform 200ms;
}
.vzitem .cart svg{width:17px;height:17px;display:block;stroke:currentColor;fill:none;}
.vzitem .cart:hover{filter:brightness(.94);transform:scale(1.05);}
.vzitem .cart:active{transform:scale(.92);}

/* 品牌故事条（旧版保留，改为浅色卡） */
.story{
  margin:12px;background:var(--paper);color:var(--ink);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;position:relative;overflow:hidden;box-shadow:var(--sh-1);
}
.story::before{content:"";position:absolute;inset:0;background:radial-gradient(18rem 9rem at 100% 0,rgba(255,46,77,.08),transparent 62%);}
.story h4{font-weight:800;font-size:var(--fs-lg);letter-spacing:.02em;margin:0;color:var(--sea-ink);}
.story p{font-size:var(--fs-xs);color:var(--muted);margin-top:6px;max-width:80%;line-height:1.7;}
.story .isle{display:none;}
.story .chips{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;position:relative;}
.story .chips span{font-size:var(--fs-xs);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 10px;color:#5A5A63;}

/* ── 底部导航 ── */
.bnav{
  display:flex;background:rgba(255,255,255,.98);
  backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:5px 0 calc(8px + env(safe-area-inset-bottom,0px));
}
.bnav a{flex:1;text-align:center;font-size:10.5px;color:#9A9AA2;padding:4px 0 2px;position:relative;transition:color 160ms;}
.bnav a svg{display:block;margin:0 auto 2px;width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:all 160ms;}
.bnav a.on{color:var(--accent);font-weight:700;}
.bnav a.on svg{stroke:var(--accent);fill:none;stroke-width:2;}
.bnav a.on::before{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:18px;height:2.5px;border-radius:0 0 3px 3px;background:var(--accent);}
.bnav a:active{opacity:.7;}

/* ── 购物车 ── */
.cart-top{background:linear-gradient(135deg,#FF7A45,#FF2E4D);color:#FFF;padding:14px;}
.cart-top h1{font-weight:800;font-size:var(--fs-xl);margin:0;}
.cart-top .sub{font-size:var(--fs-xs);color:rgba(255,255,255,.82);margin-top:2px;}
.cart-list{padding:12px 12px 0;display:flex;flex-direction:column;gap:10px;}
/* 购物车空态 */
.cart-empty{margin:20px 12px 4px;padding:28px 16px 24px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);}
.cart-empty .ce-ic{font-size:38px;line-height:1;}
.cart-empty .ce-t{margin-top:12px;font-weight:800;font-size:var(--fs-lg);color:var(--sea-ink);}
.cart-empty .ce-s{margin-top:4px;font-size:var(--fs-xs);color:var(--muted);}
.cart-empty .btn-sea{margin-top:18px;padding:0 28px;}
.crow{display:flex;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:10px;box-shadow:var(--sh-1);align-items:center;}
.crow .platter{width:76px;height:76px;flex:none;border-radius:var(--r-sm);}
.crow .cbd{flex:1;min-width:0;text-align:left;}
.crow .nm{font-size:var(--fs-sm);font-weight:600;color:var(--sea-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.crow .ft{margin-top:8px;display:flex;align-items:center;gap:10px;}
.crow .pr{font-weight:900;color:var(--accent);font-size:var(--fs-lg);flex:1;}
.crow .pr::before{content:"¥";font-size:10px;font-weight:600;margin-right:1px;}
.crow select{
  height:32px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:#FAFAFC;color:var(--ink);font-size:var(--fs-sm);padding:0 6px;outline:none;
}
.crow select:focus{border-color:var(--accent);}
.crow .del{font-size:var(--fs-xs);color:var(--muted);padding:4px 6px;}
.crow .del:hover{color:var(--accent);}
.cart-bar{
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,.98);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);padding:10px 14px;
}
.cart-bar .sum{flex:1;font-size:var(--fs-xs);color:var(--muted);}
.cart-bar .sum b{font-weight:900;color:var(--accent);font-size:var(--fs-xl);margin-left:4px;}
.cart-bar .sum b::before{content:"¥";font-size:var(--fs-sm);margin-right:1px;}
.cart-bar .btn-sea{flex:none;min-width:120px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-pill);font-size:var(--fs-md);padding:0 22px;}

/* ── 商城（左类目 · 右商品流） ── */
.mall-top{background:linear-gradient(135deg,#FF7A45,#FF2E4D);color:#FFF;padding:12px 14px 14px;}
.mall-top .mall-title{font-weight:800;font-size:var(--fs-lg);}
.mall-top .tag-gold{background:rgba(255,255,255,.2);color:#FFF;}
.mall-body{display:flex;align-items:stretch;min-height:60vh;}
.side{width:92px;flex:none;background:#F0F0F3;overflow:hidden;}
.side a{display:block;width:100%;text-align:center;padding:14px 4px;font-size:var(--fs-sm);color:#6A6A73;border-left:3px solid transparent;transition:all 160ms;box-sizing:border-box;}
.side a.on{background:var(--paper);color:var(--accent);font-weight:700;border-left-color:var(--accent);}
.goods{flex:1;min-width:0;padding:10px;display:flex;flex-direction:column;gap:10px;background:var(--sand);}
.grow{display:flex;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:8px;box-shadow:var(--sh-1);transition:transform 280ms cubic-bezier(.16,1,.3,1);}
.grow:hover{transform:translateY(-2px);}
.grow .platter{width:92px;height:92px;flex:none;border-radius:var(--r-sm);}
.grow .bd{flex:1;min-width:0;}
.grow .nm{font-size:var(--fs-sm);font-weight:600;color:var(--sea-ink);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.grow .desc{font-size:var(--fs-xs);color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.grow .ft{margin-top:6px;display:flex;justify-content:space-between;align-items:flex-end;}
.grow .pr{font-weight:900;color:var(--accent);font-size:16px;line-height:1;}
.grow .pr::before{content:"¥";font-size:10px;font-weight:600;}
.plus{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#FF6A3D,#FF2E4D);color:#FFF;display:flex;align-items:center;justify-content:center;font-size:17px;box-shadow:0 3px 10px rgba(255,46,77,.28);}

/* ── 商品详情 ── */
/* 主图按**产品自身正常比例**完整显示：容器高度 = auto 跟着图片走，不裁剪、不变形 */
.det-hero{position:relative;overflow:hidden;background:#F0F0F3;}
.det-hero .platter{height:auto;}
.det-hero .platter img{height:auto;width:100%;object-fit:contain;background:#FFF;display:block;}
.det-hero .back{
  position:absolute;top:12px;left:12px;width:34px;height:34px;border-radius:50%;
  background:rgba(0,0,0,.32);display:flex;align-items:center;justify-content:center;
  color:#FFF;font-size:20px;z-index:2;
}
/* 主图轮播：多张主图时启用，横向滑动（原生滚动 + scroll-snap，无第三方依赖） */
.det-sw-track{
  display:flex;overflow-x:auto;overflow-y:hidden;cursor:grab;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none;
  transition:height 220ms ease;
}
.det-sw-track::-webkit-scrollbar{width:0;height:0;display:none;}
.det-sw-slide{
  flex:0 0 100%;height:100%;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;
  display:flex;align-items:center;justify-content:center;background:#FFF;
}
.det-sw-slide img{width:100%;height:auto;display:block;object-fit:contain;background:#FFF;-webkit-user-drag:none;user-select:none;}
.det-sw-dots{
  position:absolute;left:0;right:0;bottom:12px;z-index:2;
  display:flex;justify-content:center;gap:6px;pointer-events:none;
}
.det-sw-dots i{
  width:6px;height:6px;border-radius:var(--r-pill);cursor:pointer;pointer-events:auto;
  background:rgba(255,255,255,.85);box-shadow:0 0 0 1px rgba(0,0,0,.08);
  transition:width 200ms,background 200ms;
}
.det-sw-dots i.on{width:16px;background:var(--accent);}
.det-sw-count{
  position:absolute;top:12px;right:12px;z-index:2;
  padding:3px 10px;border-radius:var(--r-pill);
  background:rgba(0,0,0,.36);color:#FFF;
  font-size:var(--fs-xs);line-height:1.6;letter-spacing:.04em;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.det-sw-count b{font-weight:600;}

/* 价格区：品牌红大价格 + 白卡 */
.det-bd{padding:14px;}
.det-bd .price{font-weight:900;color:var(--accent);font-size:var(--fs-3xl);line-height:1;margin-top:6px;letter-spacing:-.01em;}
.det-bd .price::before{content:"¥";font-size:var(--fs-lg);margin-right:2px;font-weight:700;}
.det-bd .price small{font-size:var(--fs-sm);color:var(--muted);font-weight:400;margin-left:8px;text-decoration:line-through;}
.det-bd h1{font-weight:700;font-size:var(--fs-lg);color:var(--sea-ink);margin-top:8px;line-height:1.45;}
.det-bd .sub{color:var(--muted);font-size:var(--fs-sm);margin-top:4px;}
.svc{display:flex;gap:16px;margin-top:12px;padding:10px 12px;background:#FAFAFC;border-radius:var(--r-md);font-size:var(--fs-xs);color:#5A5A63;flex-wrap:wrap;}
.svc span{display:flex;align-items:center;gap:4px;}
.spec{margin-top:16px;}
.spec h5,.sec-t{font-size:var(--fs-sm);color:var(--muted);font-weight:500;margin:0;}
.spec .opts{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.spec .opts a{
  display:inline-block;border:1px solid var(--line);background:#FAFAFC;border-radius:var(--r-sm);
  padding:9px 16px;font-size:var(--fs-sm);color:var(--ink);transition:all 160ms;
}
.spec .opts a.on{border-color:var(--accent);color:var(--accent);background:rgba(255,46,77,.06);font-weight:700;}
.det-content{margin-top:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;font-size:var(--fs-md);line-height:1.9;color:var(--ink);word-break:break-word;}
.det-content img{max-width:100%;height:auto;}
.det-bar{
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.98);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);padding:9px 14px calc(10px + env(safe-area-inset-bottom,0px));
}
.det-bar .cart{flex:none;text-align:center;font-size:10.5px;color:#6A6A73;min-width:44px;}
.det-bar .cart svg{width:22px;height:22px;stroke:#4A4A52;fill:none;stroke-width:1.8;display:block;margin:0 auto 1px;stroke-linecap:round;stroke-linejoin:round;}
.det-bar .btn-ghost,.det-bar .btn-fire{flex:1;}
/* 详情页「加入购物车」= 橙、「立即购买」= 红（鞋服电商常见配色分工） */
.det-bar .btn-ghost{
  background:linear-gradient(135deg,#FFA23D,#FF7A00);color:#FFF;border:none;
  box-shadow:0 4px 12px rgba(255,122,0,.28);
}
.det-bar .btn-ghost:hover{filter:brightness(.95);background:linear-gradient(135deg,#FFA23D,#FF7A00);}
.det-bar .btn-sea{background:linear-gradient(135deg,#FF5A72,#FF2E4D);box-shadow:0 4px 12px rgba(255,46,77,.3);}
.det-bar .btn-sea:hover{filter:brightness(.95);background:linear-gradient(135deg,#FF5A72,#FF2E4D);}
.det-soldout{
  display:flex;align-items:center;justify-content:center;min-height:44px;
  background:#C9C9CF;color:#FFF;border-radius:var(--r-pill);font-weight:700;
}

/* ── 会员中心 ── */
.me-head{background:linear-gradient(135deg,#FF7A45 0%,#FF2E4D 62%,#F0193C 100%);color:#FFF;padding:22px 14px 40px;position:relative;overflow:hidden;}
.me-row{display:flex;align-items:center;gap:12px;position:relative;}
.me-ava{width:58px;height:58px;border-radius:50%;background:#FFF;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-1);flex:none;}
.me-ava img{width:100%;height:100%;object-fit:cover;}
/* 文字头像（无图片时的品牌占位） */
.me-ava .avt{font-weight:900;font-size:24px;color:var(--accent);letter-spacing:0;}
.me-name{font-weight:800;font-size:var(--fs-lg);display:flex;align-items:center;gap:8px;}
.lv{font-weight:700;font-size:var(--fs-xs);background:rgba(255,255,255,.22);color:#FFF;border-radius:var(--r-pill);padding:2px 10px;letter-spacing:.04em;}
.lv-vip{background:linear-gradient(135deg,#FFE08A,#F4C97B);color:#7A4A10;}
.lv-city{background:linear-gradient(135deg,#8FD6FF,#4FA8DC);color:#0B3A55;}
.lv-gen{background:linear-gradient(135deg,#FF9A8B,#FF4B5C);color:#5A0C14;}
.lv-new{background:rgba(255,255,255,.22);color:#FFF;}
.me-acc{font-size:var(--fs-xs);color:rgba(255,255,255,.8);margin-top:4px;}
.me-wave{display:none;}
.assets{margin:-26px 12px 0;background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-2);border:1px solid var(--line);position:relative;}
.assets .grid3{display:grid;grid-template-columns:repeat(3,1fr);row-gap:14px;padding:16px 0 12px;text-align:center;}
.assets .grid3 > *{text-align:center;}
/* 分隔线：兼容子元素是 <a> 或 <div>（原写法只认 a + a，改成通用相邻兄弟） */
.assets .grid3 > * + *{border-left:1px solid var(--line);}
.assets .grid2{display:grid;grid-template-columns:repeat(2,1fr);row-gap:16px;padding:16px 0 14px;text-align:center;}
.assets .grid2 > *{text-align:center;}
.assets .grid2 > *:nth-child(odd){border-right:1px solid var(--line);}
.assets .num{font-weight:900;font-size:var(--fs-xl);color:var(--sea-ink);}
.assets .num.acc{color:var(--accent);}
.assets .cap{font-size:var(--fs-xs);color:var(--muted);margin-top:2px;}
.assets .rule{height:1px;background:var(--line);margin:0 16px;}
.assets .hint{padding:10px 16px;display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-xs);color:var(--muted);}
.assets .hint b{color:var(--accent);}
.order5{margin:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:12px 0 8px;}
.order5 .hd{display:flex;justify-content:space-between;padding:0 16px 8px;align-items:baseline;}
.order5 .hd b{font-size:var(--fs-md);color:var(--sea-ink);font-weight:800;}
.order5 .hd a{font-size:var(--fs-xs);color:var(--muted);}
.o5grid{display:grid;grid-template-columns:repeat(5,1fr);}
.o5grid a{text-align:center;padding:6px 0;color:#6A6A73;font-size:var(--fs-xs);}
.o5grid a svg{width:23px;height:23px;stroke:#5A5A63;fill:none;stroke-width:1.7;display:block;margin:0 auto 4px;stroke-linecap:round;stroke-linejoin:round;}
.o5grid .bdg{position:relative;display:block;}
.o5grid .bdg i{position:absolute;top:-4px;right:18%;min-width:16px;height:16px;border-radius:8px;background:var(--accent);color:#FFF;font-style:normal;font-size:10px;line-height:16px;padding:0 4px;}
.mlist{margin:12px 12px 24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden;}
.mrow{display:flex;align-items:center;gap:12px;padding:0 16px;min-height:52px;transition:background 160ms;}
.mrow:hover{background:#FAFAFC;}
.mrow + .mrow{border-top:1px solid var(--line);}
.mrow .ic{width:32px;height:32px;border-radius:9px;background:var(--sea-soft);display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;}
.mrow b{flex:1;font-size:var(--fs-md);color:var(--sea-ink);font-weight:500;}
.mrow .arr{color:#C2C2C9;font-size:14px;}

/* ═══ PV 值（业绩积分，奖金与分红的计算基数）═══ */
/* 显示在价格后面；pv<=0 时不输出 HTML */
.pv{
  display:inline-block;margin-left:8px;padding:1px 8px;border-radius:10px;
  background:rgba(20,112,140,.1);border:1px solid rgba(20,112,140,.24);
  font-size:var(--fs-xs);font-weight:700;color:#14708C;
  vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums;
}
/* ⚠️ PV 徽标绝对不能带 .price 类 —— `.det-bd .price::before{content:"¥"}` 会给它也加上人民币符号。
   详情页用专用类名 .price-pv，下面再补一条 content:"" 双保险。 */
.price-pv{font-size:var(--fs-sm);padding:2px 10px;vertical-align:4px;}
.price-pv::before{content:"" !important;margin:0;}
.pvm{margin-top:3px;min-height:16px;font-size:var(--fs-xs);font-weight:700;color:#14708C;}

/* ═══ 积分帐户（m/mx_xj.php · pay/jf_pay.php）═══ */
/* 充值 / 转账 两个操作入口 */
.jf-ops{display:flex;gap:10px;margin:12px 0 14px;}
.jf-op{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;
  padding:14px 0;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--sh-1);text-decoration:none;
}
.jf-op:active{opacity:.7;}
.jf-op-ic{
  width:40px;height:40px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  background:rgba(20,112,140,.1);
}
.jf-op-ic svg{width:22px;height:22px;fill:none;stroke:#14708C;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.jf-op b{font-size:var(--fs-sm);font-weight:700;color:var(--sea-ink);}
/* 转账表单：复用 .flt 的外观（class="flt jf-zz"），只额外处理标题 */
.jf-zz .sec-t{margin:0 0 12px !important;}
/* 充值金额档位 */
.jf-amts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px;}
.jf-amt{
  position:relative;display:flex;align-items:baseline;justify-content:center;gap:2px;
  padding:14px 6px;border-radius:var(--r-md);
  background:var(--paper);border:1px solid var(--line);text-decoration:none;
}
.jf-amt b{font-size:var(--fs-lg);font-weight:900;color:var(--sea-ink);font-variant-numeric:tabular-nums;}
.jf-amt i{font-style:normal;font-size:var(--fs-xs);color:var(--muted);}
.jf-amt em{
  position:absolute;top:-8px;right:-4px;font-style:normal;
  font-size:10px;font-weight:700;color:#FFF;background:var(--accent);
  padding:1px 6px;border-radius:8px;
}
.jf-amt.on{background:rgba(20,112,140,.1);border-color:#14708C;}
.jf-amt.on b{color:#14708C;}
/* 佣金页提现按钮 */
.jf-tx-btn{display:block;width:100%;margin:12px 0 4px;height:46px;line-height:46px;}

/* ── 我的应用（九宫格） ── */
.app-wrap{margin:12px 12px 24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:14px 4px 6px;}
.app-hd{padding:0 12px 4px;font-size:var(--fs-md);font-weight:800;color:var(--sea-ink);}
.appgrid{display:grid;grid-template-columns:repeat(3,1fr);row-gap:16px;}
.appgrid a{display:flex;flex-direction:column;align-items:center;gap:7px;padding:4px 0;text-align:center;}
.appgrid a b{font-size:var(--fs-xs);font-weight:500;color:#4A4A53;letter-spacing:.02em;}
.appgrid a:active{opacity:.6;}
.appgrid .ai{
  width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:var(--sea-soft);
}
.appgrid .ai svg{
  width:23px;height:23px;stroke:#FF5A00;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
}
/* 九宫格配色（每格一色，冷暖交替，图标保持白描） */
.appgrid .ai-1{background:#FFEDE2;} .appgrid .ai-1 svg{stroke:#FF6A00;}
.appgrid .ai-2{background:#FFE9EC;} .appgrid .ai-2 svg{stroke:#E31B3C;}
.appgrid .ai-3{background:#E7F4FF;} .appgrid .ai-3 svg{stroke:#1E7FC2;}
.appgrid .ai-4{background:#EEEAFE;} .appgrid .ai-4 svg{stroke:#6B4CE6;}
.appgrid .ai-5{background:#FFF4E0;} .appgrid .ai-5 svg{stroke:#D98A0B;}
.appgrid .ai-6{background:#E6F7EF;} .appgrid .ai-6 svg{stroke:#128A5A;}
.appgrid .ai-7{background:#EAF0FB;} .appgrid .ai-7 svg{stroke:#3B62C9;}
.appgrid .ai-8{background:#FDEDF6;} .appgrid .ai-8 svg{stroke:#C2369A;}
.appgrid .ai-9{background:#E9F6F7;} .appgrid .ai-9 svg{stroke:#12808C;}
.logout-btn{
  display:block;margin:4px 12px 24px;min-height:46px;border-radius:var(--r-pill);
  background:var(--paper);border:1px solid var(--line);color:#6A6A73;
  font-size:var(--fs-md);font-weight:700;text-align:center;line-height:44px;
}

/* ── 登录 / 注册 ── */
.auth{
  min-height:100vh;display:flex;flex-direction:column;
  background:
    radial-gradient(38rem 20rem at 110% -10%,rgba(255,255,255,.3),transparent 55%),
    linear-gradient(160deg,#FF7A45 0%,#FF2E4D 58%,#F0193C 100%);
}
.auth .brandline{padding:34px 20px 0;color:#FFF;}
.auth .brandline .big{font-weight:900;font-size:var(--fs-2xl);letter-spacing:.02em;}
.auth .brandline .slg{font-size:var(--fs-sm);color:rgba(255,255,255,.82);margin-top:6px;letter-spacing:.14em;}
.auth-card{margin:28px 14px 24px;background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:22px 16px 16px;}
.auth-tabs{display:flex;gap:16px;margin-bottom:16px;}
.auth-tabs button,.auth-tabs span{font-size:var(--fs-lg);font-weight:800;color:var(--muted);padding:4px 2px;position:relative;}
.auth-tabs .on{color:var(--sea-ink);}
.auth-tabs .on::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;border-radius:2px;background:var(--accent);}
.fld{margin-top:12px;}
.fld label{display:block;font-size:var(--fs-xs);color:var(--muted);margin-bottom:6px;}
.fld input{
  width:100%;height:46px;border:1px solid var(--line);border-radius:var(--r-md);
  background:#FAFAFC;padding:0 14px;font-size:var(--fs-md);color:var(--ink);
  transition:border 160ms,box-shadow 160ms;box-sizing:border-box;outline:none;
}
.fld input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,46,77,.1);}
.fld input::placeholder{color:#B9B9C2;}
.w-full{width:100%;margin-top:16px;}
.auth-foot{text-align:center;font-size:var(--fs-xs);color:var(--muted);margin-top:12px;}
.auth-foot a{color:var(--accent);font-weight:700;}
.auth .shore{display:none;}
.auth .auth-ad{margin:0 14px 20px;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-2);}
.auth .auth-ad img{display:block;width:100%;}

/* ── 我的订单 ── */
.ord-top{background:linear-gradient(135deg,#FF7A45,#FF2E4D);padding:14px 14px 0;color:#FFF;}
.ord-top h1{font-weight:800;font-size:var(--fs-xl);margin:0;}
.ord-tabs{display:flex;margin-top:12px;}
.ord-tabs a{flex:1;text-align:center;font-size:var(--fs-sm);color:rgba(255,255,255,.72);padding:10px 0 12px;position:relative;}
.ord-tabs a.on{color:#FFF;font-weight:700;}
.ord-tabs a.on::after{content:"";position:absolute;left:30%;right:30%;bottom:6px;height:3px;border-radius:2px;background:#FFF;}
.ord-body{padding:12px;display:flex;flex-direction:column;gap:10px;}
.oc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1);padding:12px 14px;}
.oc .top{display:flex;justify-content:space-between;font-size:var(--fs-xs);align-items:center;}
.oc .no{color:var(--muted);font-variant-numeric:tabular-nums;}
.oc .st{color:#1E8E5A;font-weight:700;}
.oc .st.pay{color:var(--accent);}
.oc .it{display:flex;gap:12px;margin-top:8px;align-items:center;}
.oc .it .platter{width:56px;height:56px;flex:none;border-radius:var(--r-sm);}
.oc .it .nm{font-size:var(--fs-sm);font-weight:600;color:var(--sea-ink);line-height:1.45;}
.oc .it .sp{font-size:var(--fs-xs);color:var(--muted);margin-top:2px;}
.oc .it .pr-r{text-align:right;font-size:var(--fs-md);color:var(--ink);}
.oc .it .pr-r small{display:block;font-size:var(--fs-xs);color:var(--muted);}
.oc .ft{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);}
.oc .sum{font-size:var(--fs-xs);color:var(--muted);}
.oc .sum .date{display:block;}
.oc .sum .payline{display:block;margin-top:3px;font-size:var(--fs-sm);color:var(--ink);}
.oc .sum b{color:var(--accent);font-size:var(--fs-lg);font-weight:900;}
.oc .acts{display:flex;gap:8px;}
.oc .acts a{font-size:var(--fs-xs);border-radius:var(--r-pill);padding:7px 14px;border:1px solid var(--line);color:#6A6A73;background:var(--paper);min-height:32px;line-height:18px;box-sizing:border-box;transition:all 160ms;}
.oc .acts a.fire{border:none;background:linear-gradient(135deg,#FF5A72,#FF2E4D);color:#FFF;font-weight:700;box-shadow:0 3px 10px rgba(255,46,77,.24);}
.oc .acts a:hover{transform:translateY(-1px);}
.empty{margin:40px auto;text-align:center;color:var(--muted);font-size:var(--fs-sm);}

/* 滚动入场 */
.reveal{opacity:0;transform:translateY(18px);}
.reveal.in{opacity:1;transform:none;transition:opacity 320ms cubic-bezier(.16,1,.3,1),transform 320ms cubic-bezier(.16,1,.3,1);}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ═══ 二级页通用（会员中心子页） ═══ */
.sub-top{background:linear-gradient(135deg,#FF7A45,#FF2E4D);color:#FFF;padding:12px 14px 14px;display:flex;align-items:center;gap:12px;}
.sub-top .back{width:32px;height:32px;flex:none;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;color:#FFF;}
.sub-top .tt{font-size:var(--fs-lg);font-weight:800;letter-spacing:.04em;}
.sub-top .tail{margin-left:auto;font-size:var(--fs-xs);color:rgba(255,255,255,.8);}
.sub-body{padding:14px 14px 24px;}
.pcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;box-shadow:var(--sh-1);}
.stat-hero{background:linear-gradient(135deg,#FF7A45,#FF2E4D);color:#FFF;border-radius:var(--r-lg);padding:20px 16px;text-align:center;box-shadow:var(--sh-2);}
.stat-hero .cap{font-size:var(--fs-sm);color:rgba(255,255,255,.85);}
.stat-hero .val{font-size:var(--fs-2xl);font-weight:900;margin-top:2px;}
.stat2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.stat1{display:block;}
.cell{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 14px;margin-bottom:10px;box-shadow:var(--sh-1);}
.cell .ct{flex:1;min-width:0;}
.cell .ct-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cell .ct-hd b{display:block;font-size:var(--fs-md);color:var(--sea-ink);}
.cell .ct b{display:block;font-size:var(--fs-md);color:var(--sea-ink);}
.cell .ct i{font-style:normal;font-size:var(--fs-xs);color:var(--muted);display:block;margin-top:4px;}
.cell .ct i em{font-style:normal;font-weight:700;color:var(--accent);}
.cell .chg{font-weight:900;font-size:var(--fs-lg);flex:none;}
.chg.up{color:var(--accent);}
.chg.down{color:#1E8E5A;}
.sub-sec{margin-top:14px;font-size:var(--fs-md);font-weight:700;color:var(--sea-ink);display:flex;align-items:baseline;justify-content:space-between;}

/* ── 排序切换条（m/wdfx.php 我的推荐会员） ── */
.sortbar{
  margin-top:10px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--sh-1);padding:9px 11px;
}
.sortbar-t{flex:none;font-size:var(--fs-xs);font-weight:700;color:var(--muted);letter-spacing:.06em;}
.sortbar-b{
  flex:none;padding:5px 11px;border-radius:var(--r-pill);
  background:#F4F1EA;border:1px solid var(--line);
  font-size:var(--fs-xs);font-weight:600;color:#4A4A53;
  text-decoration:none;white-space:nowrap;transition:all 160ms;
}
.sortbar-b:active{opacity:.7;}
.sortbar-b.on{background:linear-gradient(135deg,#FF7A45,#FF2E4D);border-color:transparent;color:#FFF;font-weight:700;}

/* ═══ 筛选条 / 表单（.flt 系列，全站通用）═══
   多条件 AND：日期区间 + 类型下拉 + 备注输入，全部为空 = 全部。
   佣金明细（mx_yj）、积分明细（mx_xj）、转账表单、充值自定义金额共用这一套外观。 */
.flt{margin-top:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1);padding:14px;}
.flt .flt-row{display:flex;align-items:flex-end;gap:8px;margin-top:10px;}
.flt .flt-row:first-child{margin-top:0;}
.flt .flt-cell{flex:1;min-width:0;}
.flt .flt-cell label{display:block;font-size:var(--fs-xs);color:var(--muted);margin-bottom:6px;}
.flt .flt-cell input,.flt .flt-cell select{
  width:100%;height:42px;border:1px solid var(--line);border-radius:var(--r-md);
  background:#FAFAFC;padding:0 12px;font-size:var(--fs-sm);color:var(--ink);
  box-sizing:border-box;outline:none;font-family:inherit;
  transition:border 160ms,box-shadow 160ms;
}
.flt .flt-cell select{
  -webkit-appearance:none;appearance:none;cursor:pointer;padding-right:30px;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 9px center;background-size:15px;
}
.flt .flt-cell input:focus,.flt .flt-cell select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,46,77,.1);}
.flt .flt-cell input::placeholder{color:#B9B9C2;}
/* iOS Safari 的 date 输入默认偏窄/不撑满，统一处理 */
.flt input[type="date"]{-webkit-appearance:none;appearance:none;min-height:42px;}
.flt .flt-sep{font-size:var(--fs-xs);color:var(--muted);padding-bottom:13px;flex:none;}
/* 按钮行：查询（主）+ 重置（次），两页同宽同高 */
.flt .flt-btns{display:flex;gap:10px;margin-top:12px;}
.flt .flt-go{
  flex:1;height:44px;border:none;border-radius:var(--r-md);
  background:var(--accent);color:#FFF;font-size:var(--fs-md);font-weight:700;
  font-family:inherit;line-height:44px;text-align:center;white-space:nowrap;cursor:pointer;
}
.flt .flt-go:active{opacity:.86;}
.flt .flt-reset{
  flex:none;display:flex;align-items:center;justify-content:center;
  min-width:86px;height:44px;padding:0 18px;border-radius:var(--r-md);
  background:#F3F3F6;color:#4A4A53;font-size:var(--fs-sm);text-decoration:none;
}
.flt .flt-reset.off{opacity:.5;pointer-events:none;}
.sub-sec i{font-style:normal;font-size:var(--fs-xs);font-weight:400;color:var(--muted);}
.fld select{width:100%;height:46px;border:1px solid var(--line);border-radius:var(--r-md);background:#FAFAFC;padding:0 12px;font-size:var(--fs-md);color:var(--ink);box-sizing:border-box;outline:none;}
.fld textarea{width:100%;min-height:70px;border:1px solid var(--line);border-radius:var(--r-md);background:#FAFAFC;padding:10px 14px;font-size:var(--fs-md);color:var(--ink);box-sizing:border-box;outline:none;font-family:inherit;}
.addr-card{position:relative;}
.addr-card .mr{position:absolute;top:10px;right:10px;}
.addr-ops{display:flex;border-top:1px solid var(--line);margin-top:10px;padding-top:10px;}
.addr-ops a{flex:1;text-align:center;font-size:var(--fs-sm);}
.addr-ops a.edit{color:var(--accent);font-weight:700;}
.addr-ops a.del{color:#6A6A73;}
.addr-ops a + a{border-left:1px solid var(--line);}
.qr-stage{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:20px;text-align:center;}
.qr-stage img{display:block;width:76%;margin:0 auto;border-radius:var(--r-md);box-shadow:var(--sh-1);}
.share-link{display:flex;align-items:center;gap:8px;margin-top:14px;background:#FAFAFC;border:1px dashed var(--line);border-radius:var(--r-sm);padding:10px 12px;}
.share-link code{flex:1;min-width:0;font-size:var(--fs-xs);color:var(--accent);word-break:break-all;font-family:inherit;}
.share-link .cp{flex:none;background:linear-gradient(135deg,#FF5A72,#FF2E4D);color:#FFF;border-radius:var(--r-pill);font-size:var(--fs-xs);padding:6px 14px;font-weight:700;}
.news-body{font-size:var(--fs-md);color:var(--ink);line-height:2;}
.news-body img{max-width:100%;height:auto;border-radius:var(--r-sm);}
.art-head{font-size:var(--fs-xl);font-weight:800;color:var(--sea-ink);}
.art-meta{font-size:var(--fs-xs);color:var(--muted);margin-top:6px;padding-bottom:12px;border-bottom:1px solid var(--line);}

/* ── 公众号关注卡 ── */
.gzh{
  margin:0 12px 20px;
  padding:18px 16px 16px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  text-align:center;
  box-shadow:var(--sh-1);
}
.gzh .gzh-t{
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:var(--fs-md);color:var(--sea-ink);font-weight:700;
  letter-spacing:.06em;margin-bottom:12px;
}
.gzh .gzh-t::before,.gzh .gzh-t::after{content:"";width:26px;height:1px;background:var(--line);}
.gzh img{display:block;width:148px;height:148px;margin:0 auto;border-radius:var(--r-sm);}
.gzh p{margin:10px 0 0;font-size:var(--fs-xs);color:var(--muted);letter-spacing:.04em;}

/* ── 列表卡片加购圆钮（_cart_layer.php 使用） ── */
.cart-ic{width:28px;height:28px;flex:none;border-radius:50%;
  background:linear-gradient(135deg,#FF6A3D,#FF2E4D);color:#FFF;
  display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(255,46,77,.28);
  text-decoration:none;}
.cart-ic svg{width:15px;height:15px;display:block;stroke:currentColor;fill:none;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;}
.cart-ic:active{transform:scale(.92);}

/* ═══ 业务中心（m/wycenter.php） ═══ */
.biz-tabs{
  display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.biz-tabs::-webkit-scrollbar{display:none;}
.biz-tab{
  flex:none;padding:7px 16px;border-radius:var(--r-pill);
  background:var(--paper);border:1px solid var(--line);
  font-size:var(--fs-sm);color:#4A4A53;font-weight:600;
  text-decoration:none;white-space:nowrap;transition:all 160ms;
}
.biz-tab.on{background:linear-gradient(135deg,#FF7A45,#FF2E4D);border-color:transparent;color:#FFF;font-weight:700;}
.biz-sec{
  margin-bottom:14px;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--sh-1);padding:14px 0 16px;
}
.biz-sec-hd{padding:0 16px 16px;display:flex;align-items:baseline;gap:8px;}
.biz-sec-hd b{font-size:var(--fs-md);font-weight:800;color:var(--sea-ink);}
.biz-sec-hd i{font-style:normal;font-size:var(--fs-xs);color:var(--muted);}
.biz-grid3{display:grid;grid-template-columns:repeat(3,1fr);row-gap:18px;}
.biz-grid2{display:grid;grid-template-columns:repeat(2,1fr);row-gap:20px;}
.biz-cell{text-align:center;padding:0 6px;position:relative;}
/* 列分隔线：2 列时只给第2/4 格（偶数）画，3 列时给非每行首个的格子画。
   ⚠️ 不能用 `.biz-cell + .biz-cell` —— 那会给第二行左侧格也画一条贴在卡片左内边上的竖线。 */
.biz-grid2 .biz-cell:nth-child(even)::before,
.biz-grid3 .biz-cell:not(:nth-child(3n+1))::before{
  content:"";position:absolute;left:0;top:10%;bottom:10%;width:1px;background:var(--line);
}
/* 行分隔线：每行首个格画横线（上半格高度），让 2×2 / 3×2 的两行视觉分组更清楚 */
.biz-grid2 .biz-cell:nth-child(n+3)::after,
.biz-grid3 .biz-cell:nth-child(n+4)::after{
  content:"";position:absolute;left:10%;right:10%;top:-10px;height:1px;background:var(--line);
}
.biz-num{
  font-weight:900;font-size:var(--fs-xl);color:var(--sea-ink);
  font-variant-numeric:tabular-nums;line-height:1.2;
  word-break:break-all;
}
.biz-num.acc{color:var(--accent);}
.biz-cap{font-size:var(--fs-xs);color:var(--muted);margin-top:6px;}
/* 顶部总览：4 项 2×2，深色渐变卡，与下方白卡拉开层次 */
.biz-top{
  background:linear-gradient(140deg,#0E5A73,#14708C 62%,#1B8AA6);
  border-color:transparent;box-shadow:0 6px 18px rgba(14,90,115,.26);
  padding:16px 0 20px;
}
.biz-top .biz-sec-hd b{color:#FFF;}
.biz-top .biz-sec-hd i{color:rgba(255,255,255,.72);}
.biz-top .biz-grid2 .biz-cell:nth-child(even)::before{background:rgba(255,255,255,.18);}
.biz-top .biz-grid2 .biz-cell:nth-child(n+3)::after{background:rgba(255,255,255,.18);}
.biz-top .biz-num{color:#FFF;}
.biz-top .biz-num.acc{color:#FFD9A8;}
.biz-top .biz-cap{color:rgba(255,255,255,.8);}
/* 档位下方的当前日期 / 月份 */
.biz-range{
  margin:-6px 0 14px;padding:9px 14px;border-radius:var(--r-md);
  background:rgba(20,112,140,.07);border:1px dashed rgba(20,112,140,.28);
  font-size:var(--fs-sm);font-weight:700;color:#14708C;
  text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.04em;
}

/* ═══ 客服留言（m/kf.php） ═══ */
.msg-ok,.msg-err{
  margin-bottom:12px;padding:11px 14px;border-radius:var(--r-md);
  font-size:var(--fs-sm);line-height:1.6;
}
.msg-ok{background:rgba(30,142,90,.1);border:1px solid rgba(30,142,90,.28);color:#14663F;}
.msg-err{background:rgba(255,46,77,.08);border:1px solid rgba(255,46,77,.28);color:var(--accent);}
.kf-form{
  background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:14px 14px 16px;
}
.kf-form .fld textarea{
  width:100%;border:1px solid var(--line);border-radius:var(--r-md);
  background:#FAFAFC;padding:12px 14px;font-size:var(--fs-md);color:var(--ink);
  line-height:1.6;box-sizing:border-box;outline:none;
  resize:vertical;font-family:inherit;display:block;
}
.kf-form .fld textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,46,77,.1);}
.kf-form .fld textarea::placeholder{color:#B9B9C2;}
.kf-list{margin-top:14px;display:flex;flex-direction:column;gap:12px;}
.kf-item{
  background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:14px;
}
.kf-item .hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;}
.kf-item .hd b{font-size:var(--fs-sm);font-weight:800;color:var(--sea-ink);}
.kf-item .hd span{font-size:var(--fs-xs);color:var(--muted);}
.kf-item .ct{
  font-size:var(--fs-sm);color:var(--ink);line-height:1.68;
  white-space:pre-wrap;word-break:break-word;
}
.kf-wait{margin-top:10px;font-size:var(--fs-xs);color:var(--muted);}
.kf-item .rp{
  margin-top:12px;padding:12px 13px;border-radius:var(--r-md);
  background:rgba(255,46,77,.05);border:1px solid rgba(255,46,77,.16);
}
.kf-item .rp-hd{font-size:var(--fs-xs);color:var(--accent);font-weight:700;margin-bottom:6px;}
.kf-item .rp-ct{
  font-size:var(--fs-sm);color:var(--ink);line-height:1.68;
  white-space:pre-wrap;word-break:break-word;
}
