/* ═══════════════════════════════════════════════════════════
   柔姿恒 · 全站样式（柔姿恒版）
   调性：沙滩米 60% × 深海墨蓝 30% × 渔火朱红 10%
   记忆点：海浪分割 · 灯塔线描 · 晒匾商品图 · 北纬23.7°
   ═══════════════════════════════════════════════════════════ */

:root{
  --sand:#E6F4F7;
  --paper:#FFFFFF;
  --sea-ink:#2C6B6B;
  --sea:#48A8A8;
  --sea-soft:#D5EBEE;
  --accent:#2F8E8E;
  --accent-deep:#267878;
  --ink:#222222;
  --muted:#6B7B7B;
  --line:rgba(44,107,107,.14);
  --ochre:#B9954F;
  --gold:#E3CE9E;

  --fs-xs:11px; --fs-sm:12.5px; --fs-md:14px; --fs-lg:16px;
  --fs-xl:20px; --fs-2xl:26px; --fs-3xl:34px;

  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-pill:999px;

  --sh-1:0 2px 8px rgba(44,107,107,.08);
  --sh-2:0 8px 28px rgba(44,107,107,.14);
  --sh-3:0 24px 64px rgba(44,107,107,.22);
}

/* ── 基础 ── */
body{
  margin:0;
  text-align:left;
  background:var(--sand);
  font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;
  color:var(--ink);
  letter-spacing:.02em;
  line-height:1.7;
  -webkit-text-size-adjust:100%;
  word-break:break-word;
}
.serif{font-family:'Noto Serif SC','Songti SC','STSong','SimSun',serif;}
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:70px;}
.has-cartbar{padding-bottom:132px;}
.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 8px;border-radius:var(--r-pill);}
.tag-sea{background:var(--sea-soft);color:var(--sea);}
.tag-fire{background:rgba(47,142,142,.1);color:var(--accent);}
.tag-ochre{background:rgba(185,149,79,.12);color:var(--ochre);}
.btn-fire{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;background:var(--accent);color:#FFFFFF;
  border-radius:var(--r-pill);font-size:var(--fs-md);font-weight:700;
  box-shadow:0 6px 16px rgba(47,142,142,.32);
  transition:transform 160ms ease-out,background 160ms;
}
.btn-fire:hover{background:var(--accent-deep);}
.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:hover{background:var(--sea-soft);}
/* 海蓝主按钮（立即购买等）——基础形态对齐 .btn-ghost，兼容 a/button 两种标签 */
.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:var(--sea);color:#FFFFFF;font-weight:700;border:none;
  box-shadow:0 4px 12px rgba(72,168,168,.32);
  box-sizing:border-box; /* 关键：<a>/<div> 用 .btn-sea.w-full 时，padding 会被算进 100% 宽度，
                            否则左右各溢 22px（移动端出现横向滚动） */
}
.btn-sea:hover{background:#3A8E8E;}
.btn-sea:active{transform:scale(.97);}
.det-bar .btn-sea{flex:1;}

/* 晒匾图容器（商品图） */
.platter{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,#E9F3F4,#EAF4F5);
}
.platter img{width:100%;height:100%;object-fit:contain;display:block;}

/* 海浪分割线 */
.wave-div{display:block;width:100%;height:26px;}

/* 渔网纹 */
.net-bg{
  background-image:
    repeating-linear-gradient(45deg,rgba(72,168,168,.05) 0 1px,transparent 1px 14px),
    repeating-linear-gradient(-45deg,rgba(72,168,168,.05) 0 1px,transparent 1px 14px);
}

/* ── 首页固定品牌栏 ── */
.home-head{
  position:fixed;top:0;left:0;right:0;z-index:900;
  background:linear-gradient(135deg,#2C6B6B 0%,#48A8A8 62%,#6FC2C2 100%);
  color:#FFFFFF;padding:11px 16px 12px;overflow:hidden;
  box-shadow:0 4px 18px rgba(44,107,107,.26);
}
.home-head::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(30rem 16rem at 85% -20%,rgba(255,255,255,.16),transparent 60%);
}
.home-head .brand-row{align-items:center;}
.home-head .brand{font-size:22px;}
.home-head .brand small{font-size:10px;letter-spacing:.24em;margin-top:1px;}
.home-head .tag-gold{background:rgba(255,255,255,.14);color:var(--gold);}
/* 固定栏占位：高度由 JS 实测写入 --hh */
.has-homehead{padding-top:var(--hh,82px);}
.brand-row{display:flex;align-items:baseline;justify-content:space-between;position:relative;}
.brand{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;font-size:var(--fs-2xl);letter-spacing:.06em;}
.brand small{display:block;font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;font-weight:400;font-size:var(--fs-xs);opacity:.75;letter-spacing:.3em;margin-top:2px;}
.search{
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);
  border-radius:var(--r-pill);padding:0 14px;height:40px;
  font-size:var(--fs-sm);backdrop-filter:blur(4px);
}
.search input{
  flex:1;background:none;border:none;outline:none;height:100%;
  color:#FFFFFF;font-size:var(--fs-sm);
}
.search input::placeholder{color:rgba(255,255,255,.6);}
.search .search-btn{
  flex:none;background:var(--accent);color:#FFFFFF;border:none;border-radius:var(--r-pill);
  height:30px;padding:0 14px;font-size:var(--fs-sm);font-weight:700;
}
.notice{
  margin:10px 16px 0;background:#FFFFFF;border-radius:var(--r-pill);
  overflow:hidden;display:flex;align-items:center;height:32px;
  border:1px solid var(--line);box-shadow:var(--sh-1);
}
.notice .horn{flex:none;padding:0 10px;font-size:var(--fs-sm);}
.notice .roll{flex:1;overflow:hidden;}
/* 公告逐条向上滚动 */
.notice .ggv{height:30px;}
.ggv-track{will-change:transform;}
.ggv-item{height:30px;line-height:30px;font-size:var(--fs-xs);color:var(--sea);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(--sea);white-space:nowrap;}
/* 公告/资讯列表卡 */
.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:#EAF4F5;}
.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(--sea);}
.hero{position:relative;padding:24px 16px 24px;}
.hero h2{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;font-size:var(--fs-3xl);line-height:1.12;letter-spacing:-.01em;}
.hero h2 i{font-style:normal;color:var(--gold);}
.hero p{margin-top:8px;font-size:var(--fs-sm);color:rgba(255,255,255,.78);max-width:70%;}
.hero .coord{
  display:inline-flex;gap:6px;align-items:center;margin-top:12px;
  font-size:var(--fs-xs);color:#FFFFFF;background:rgba(47,142,142,.85);
  border-radius:var(--r-pill);padding:5px 12px;box-shadow:var(--sh-1);
}
.hero .stone{position:absolute;right:-26px;bottom:8px;opacity:.5;pointer-events:none;}

/* 轮播 */
.hbanner{margin:0 16px;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-2);position:relative;background:#EAF4F5;}
.hbanner .swiper-container{overflow:hidden;width:100%;}
.hbanner .swiper-slide img,.hbanner > img{display:block;width:100%;height:158px;object-fit:cover;}
.hbanner .swiper-pagination{bottom:8px;}
.hbanner .swiper-pagination-bullet{background:#FFFFFF;opacity:.55;width:7px;height:7px;transition:all 200ms;}
.hbanner .swiper-pagination-bullet-active{background:var(--gold);opacity:1;width:16px;border-radius:4px;}

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

/* 区块 */
.sect{padding:16px;}
.sect-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;}
.sect-head h3{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;font-size:var(--fs-xl);color:var(--sea-ink);}
.sect-head h3 em{font-style:normal;color:var(--accent);}
.sect-head a{font-size:var(--fs-sm);color:var(--muted);}
.hscroll{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.hscroll::-webkit-scrollbar{display:none;}
/* VIP 专区（报单商品）：一行一个 —— 上：商品图（5:3）／中：名称／下：价格 + 购物车按钮 */
.vip-list{display:flex;flex-direction:column;gap:12px;}
.vip{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-2);
  transition:transform 320ms cubic-bezier(.16,1,.3,1),box-shadow 320ms;
}
.vip:hover{transform:translateY(-3px);box-shadow:var(--sh-3);}
.vip .thumb{display:block;}
/* 图片比例固定 5:3（等比裁切铺满，不留白） */
.vip .platter{height:0;padding-bottom:60%;border-radius:0;}
.vip .platter img{
  position:absolute;top:0;left:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center;
}
.vip .nm{padding:12px 14px 0;font-size:var(--fs-md);font-weight:700;color:var(--sea-ink);line-height:1.45;}
.vip .ft{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px 14px;}
.vip .pr{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;color:var(--accent);font-size:var(--fs-xl);}
.vip .pr small{font-size:var(--fs-xs);font-weight:400;color:var(--muted);margin-left:6px;font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;}
.vip-cart{
  flex:none;width:38px;height:38px;border-radius:50%;background:var(--accent);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(47,142,142,.32);
  transition:transform 200ms ease-out,background 200ms;
}
.vip-cart:hover{background:var(--accent-deep);}
.vip-cart:active{transform:scale(.92);}
.vip-cart svg{width:20px;height:20px;stroke:#FFFFFF;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;}
.vip-cart svg circle{fill:#FFFFFF;stroke:none;}

/* 分类宫格 */
.grid8{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.cat{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 4px;text-align:center;box-shadow:var(--sh-1);display:block;transition:transform 160ms ease-out;}
.cat:hover{transform:translateY(-3px);}
.cat .em{font-size:26px;display:block;line-height:1.2;}
.cat b{display:block;margin-top:6px;font-size:var(--fs-xs);color:var(--sea-ink);font-weight:700;}

/* 推荐流 */
.flow{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-1);display:block;transition:transform 320ms cubic-bezier(.16,1,.3,1),box-shadow 320ms;}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);}
.card .platter{height:130px;border-radius:0;}
.card .platter img{object-fit:cover;height:130px;}
.card .bd{padding:10px 12px 14px;}
.card .nm{font-size:var(--fs-md);font-weight:700;color:var(--sea-ink);}
.card .tg{margin-top:6px;display:flex;gap:4px;}
.card .ft{margin-top:8px;display:flex;align-items:baseline;justify-content:space-between;}
.card .pr{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;color:var(--accent);font-size:var(--fs-lg);}
.card .pr::before{content:"¥";font-size:var(--fs-xs);margin-right:1px;}
.card .sold{font-size:var(--fs-xs);color:var(--muted);}

/* 品牌故事条 */
.story{
  margin:8px 16px 16px;background:var(--sea-ink);color:#EDF5F5;
  border-radius:var(--r-lg);padding:16px;position:relative;overflow:hidden;box-shadow:var(--sh-2);
}
.story::before{content:"";position:absolute;inset:0;background:radial-gradient(20rem 10rem at 100% 0,rgba(227,206,158,.2),transparent 60%);}
.story h4{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;font-size:var(--fs-lg);letter-spacing:.04em;}
.story p{font-size:var(--fs-xs);color:rgba(233,243,244,.8);margin-top:6px;max-width:80%;}
.story .isle{position:absolute;right:8px;bottom:6px;opacity:.6;pointer-events: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 rgba(233,243,244,.35);border-radius:var(--r-pill);padding:3px 10px;}

/* ── 底部导航 ── */
.bnav{
  display:flex;background:rgba(255,255,255,.97);
  backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:6px 0 10px;
}
.bnav a{flex:1;text-align:center;font-size:var(--fs-xs);color:var(--muted);padding:5px 0 4px;position:relative;letter-spacing:.08em;transition:color 160ms;}
.bnav a svg{display:block;margin:0 auto 3px;width:23px;height:23px;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:rgba(47,142,142,.1);stroke-width:2;}
.bnav a.on::before{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:20px;height:3px;border-radius:0 0 3px 3px;background:var(--accent);}
.bnav a:active{transform:scale(.94);}

/* ── 购物车 ── */
.cart-top{background:linear-gradient(180deg,#48A8A8,#6FC2C2);color:#FFFFFF;padding:16px 16px 14px;}
.cart-top h1{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;font-size:var(--fs-xl);margin:0;}
.cart-top .sub{font-size:var(--fs-xs);color:rgba(255,255,255,.72);margin-top:2px;}
.cart-list{padding:12px 16px 0;display:flex;flex-direction:column;gap:12px;background:var(--sand);}
.crow{display:flex;gap:12px;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:78px;height:78px;flex:none;border-radius:var(--r-sm);}
.crow .cbd{flex:1;min-width:0;text-align:left;}
.crow .nm{font-size:var(--fs-md);font-weight:700;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-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;color:var(--accent);font-size:var(--fs-lg);flex:1;}
.crow .pr::before{content:"¥";font-size:var(--fs-xs);margin-right:1px;}
.crow select{
  height:32px;border:1.5px solid var(--line);border-radius:var(--r-sm);
  background:#F7FBFB;color:var(--ink);font-size:var(--fs-sm);padding:0 6px;outline:none;
}
.crow select:focus{border-color:var(--sea);}
.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,.97);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);padding:10px 16px;
}
.cart-bar .sum{flex:1;font-size:var(--fs-xs);color:var(--muted);}
.cart-bar .sum b{font-family:'Noto Serif SC','Songti SC','SimSun',serif;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(180deg,#48A8A8,#6FC2C2);color:#FFFFFF;padding:16px;}
.mall-top .mall-title{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;font-size:var(--fs-lg);}
.mall-body{display:flex;align-items:stretch;min-height:60vh;}
.side{width:88px;flex:none;background:#E4EFF0;}
.side a{display:block;width:100%;text-align:center;padding:14px 4px;font-size:var(--fs-sm);color:var(--muted);border-left:3px solid transparent;transition:all 160ms;box-sizing:border-box;}
.side a.on{background:var(--paper);color:var(--sea);font-weight:700;border-left-color:var(--accent);}
.goods{flex:1;min-width:0;padding:12px;display:flex;flex-direction:column;gap:12px;background:var(--sand);}
.grow{display:flex;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:8px;box-shadow:var(--sh-1);transition:transform 320ms cubic-bezier(.16,1,.3,1);}
.grow:hover{transform:translateY(-3px);}
.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-md);font-weight:700;color:var(--sea-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.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:center;}
.grow .pr{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;color:var(--accent);font-size:var(--fs-lg);}
.grow .pr::before{content:"¥";font-size:var(--fs-xs);}
.plus{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 4px 10px rgba(47,142,142,.3);}

/* ── 商品详情 ── */
.det-hero{position:relative;overflow:hidden;background:#EAF4F5;}
.det-hero .platter{height:auto;}
.det-hero .platter img{height:auto;object-fit:contain;background:#F7FBFB;}
.det-hero .back{
  position:absolute;top:14px;left:14px;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;
  box-shadow:var(--sh-1);color:var(--sea-ink);font-size:20px;z-index:2;
}
.det-bd{padding:16px;}
.det-bd .price{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;color:var(--accent);font-size:var(--fs-3xl);line-height:1;margin-top:10px;}
.det-bd .price::before{content:"¥";font-size:var(--fs-lg);margin-right:2px;}
.det-bd .price small{font-size:var(--fs-sm);color:var(--muted);font-weight:400;margin-left:8px;text-decoration:line-through;font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;}
/* 未定价商品（sc_j<=0）：价格位显示为「预约价 · 待公布」，下单入口改走预约 */
.det-bd .price-noc{
  font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;color:var(--accent);
  font-size:var(--fs-xl);line-height:1.25;margin-top:10px;letter-spacing:.04em;
}
.det-bd .price-noc small{
  display:block;font-size:var(--fs-xs);color:var(--muted);font-weight:400;
  margin-top:8px;letter-spacing:.02em;
  font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;
}
.grow .pr-noc{font-size:var(--fs-sm);font-weight:700;color:var(--accent);letter-spacing:.02em;}
.det-bd h1{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;font-size:var(--fs-xl);color:var(--sea-ink);margin-top:8px;line-height:1.4;}
.det-bd .sub{color:var(--muted);font-size:var(--fs-sm);margin-top:4px;}
.svc{display:flex;gap:12px;margin-top:12px;padding:12px;background:var(--sea-soft);border-radius:var(--r-md);font-size:var(--fs-xs);color:var(--sea);}
.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:1.5px solid var(--line);background:var(--paper);border-radius:var(--r-pill);
  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(47,142,142,.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:12px;
  background:rgba(255,255,255,.95);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);padding:10px 16px 12px;
}
.det-bar .cart{flex:none;text-align:center;font-size:var(--fs-xs);color:var(--muted);}
.det-bar .cart svg{width:24px;height:24px;stroke:var(--sea-ink);fill:none;stroke-width:1.8;display:block;margin:0 auto;stroke-linecap:round;stroke-linejoin:round;}
.det-bar .btn-ghost,.det-bar .btn-fire{flex:1;}
.det-soldout{
  display:flex;align-items:center;justify-content:center;min-height:44px;
  background:var(--accent);color:#FFFFFF;border-radius:var(--r-pill);font-weight:700;
}

/* ── 会员中心 ── */
.me-head{background:linear-gradient(178deg,#2C6B6B,#48A8A8 70%,#5BB5B5);color:#FFFFFF;padding:24px 16px 44px;position:relative;overflow:hidden;}
.me-row{display:flex;align-items:center;gap:12px;position:relative;}
.me-ava{width:60px;height:60px;border-radius:50%;background:#FFFFFF;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-name{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;font-size:var(--fs-lg);display:flex;align-items:center;gap:8px;}
.lv{font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;font-weight:700;font-size:var(--fs-xs);background:#48A8A8;color:#FFFFFF;border-radius:var(--r-pill);padding:2px 10px;letter-spacing:.06em;}
.me-acc{font-size:var(--fs-xs);color:rgba(255,255,255,.7);margin-top:4px;}
.me-wave{display:block;width:100%;height:26px;margin-top:-25px;position:relative;}
.assets{margin:-30px 16px 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:1fr 1fr 1fr;padding:16px 0 12px;}
.assets .grid3 a{text-align:center;min-width:0;}
.assets .grid3 a + a{border-left:1px solid var(--line);}
.assets .grid3 .num{font-size:var(--fs-lg);}
.assets .num{font-family:'Noto Serif SC','Songti SC','SimSun',serif;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 16px;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-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;}
.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:var(--muted);font-size:var(--fs-xs);}
.o5grid a svg{width:24px;height:24px;stroke:var(--sea);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:#FFFFFF;font-style:normal;font-size:10px;line-height:16px;padding:0 4px;}
.mlist{margin:12px 16px 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:#F3F9FA;}
.mrow + .mrow{border-top:1px solid rgba(44,107,107,.07);}
.mrow .ic{width:34px;height:34px;border-radius:10px;background:var(--sea-soft);display:flex;align-items:center;justify-content:center;font-size:16px;flex:none;}
.mrow b{flex:1;font-size:var(--fs-md);color:var(--sea-ink);font-weight:500;}
.mrow .arr{color:#A8B8B8;font-size:14px;}
.logout-btn{
  display:block;margin:4px 16px 24px;min-height:46px;border-radius:var(--r-pill);
  background:var(--paper);border:1.5px solid var(--line);color:var(--sea);
  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(40rem 22rem at 110% -10%,rgba(227,206,158,.35),transparent 55%),
    linear-gradient(178deg,#2C6B6B 0%,#48A8A8 55%,#6FC2C2 100%);
}
.auth .brandline{padding:36px 20px 0;color:#FFFFFF;}
.auth .brandline .big{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;font-size:var(--fs-2xl);letter-spacing:.04em;}
.auth .brandline .slg{font-size:var(--fs-sm);color:rgba(255,255,255,.72);margin-top:6px;letter-spacing:.24em;}
.auth-card{margin:32px 16px 24px;background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:24px 16px 16px;}
.auth-tabs{display:flex;gap:16px;margin-bottom:16px;}
.auth-tabs button,.auth-tabs span{font-size:var(--fs-lg);font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;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:1.5px solid var(--line);border-radius:var(--r-md);
  background:#F7FBFB;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(--sea);box-shadow:0 0 0 3px rgba(72,168,168,.12);}
.fld input::placeholder{color:#A8B8B8;}
.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(--sea);font-weight:700;}
.auth .shore{margin-top:auto;height:30px;flex:none;}
.auth .auth-ad{margin:0 16px 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(180deg,#48A8A8,#6FC2C2);padding:16px 16px 0;color:#FFFFFF;}
.ord-top h1{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:900;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,.65);padding:10px 0 12px;position:relative;}
.ord-tabs a.on{color:#FFFFFF;font-weight:700;}
.ord-tabs a.on::after{content:"";position:absolute;left:30%;right:30%;bottom:6px;height:3px;border-radius:2px;background:var(--gold);}
.ord-body{padding:12px 16px 24px;display:flex;flex-direction:column;gap:12px;background:var(--sand);}
.oc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1);padding:12px 16px;}
.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:var(--sea);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-md);font-weight:700;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 dashed 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{font-family:'Noto Serif SC','Songti SC','SimSun',serif;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:var(--muted);background:var(--paper);min-height:32px;line-height:18px;box-sizing:border-box;transition:all 160ms;}
.oc .acts a.fire{border:none;background:var(--accent);color:#FFFFFF;font-weight:700;box-shadow:0 4px 10px rgba(47,142,142,.25);}
.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(22px);}
.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(180deg,#2C6B6B,#48A8A8);color:#FFFFFF;padding:14px 16px 16px;display:flex;align-items:center;gap:12px;}
.sub-top .back{width:34px;height:34px;flex:none;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:#FFFFFF;}
.sub-top .tt{font-family:'Noto Serif SC','Songti SC','STSong','SimSun',serif;font-size:var(--fs-lg);font-weight:900;letter-spacing:.14em;}
.sub-top .tail{margin-left:auto;font-size:var(--fs-xs);color:rgba(255,255,255,.72);}
.sub-body{padding:16px 16px 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(160deg,#2C6B6B,#48A8A8 58%,#6FC2C2);color:#FFFFFF;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,.75);}
.stat-hero .val{font-family:'Noto Serif SC','Songti SC','STSong','SimSun',serif;font-size:var(--fs-2xl);font-weight:900;margin-top:2px;}
.stat2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.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 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);}
.cell .chg{font-family:'Noto Serif SC','Songti SC','STSong','SimSun',serif;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;}
.sub-sec i{font-style:normal;font-size:var(--fs-xs);font-weight:400;color:var(--muted);}
.fld select{width:100%;height:46px;border:1.5px solid var(--line);border-radius:var(--r-md);background:#F7FBFB;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:1.5px solid var(--line);border-radius:var(--r-md);background:#F7FBFB;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 dashed 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(--sea);font-weight:700;}
.addr-ops a.del{color:var(--muted);}
.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:#F7FBFB;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(--sea);word-break:break-all;font-family:inherit;}
.share-link .cp{flex:none;background:var(--sea);color:#FFFFFF;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-family:'Noto Serif SC','Songti SC','STSong','SimSun',serif;font-size:var(--fs-xl);font-weight:900;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 16px 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:.12em;margin-bottom:12px;
}
.gzh .gzh-t::before,.gzh .gzh-t::after{content:"";width:28px;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:.08em;}
