/* ==========================================================================
   云朵果冻主题 · 前台
   覆盖 style.css / mobile.css 的视觉层，不改结构、不改交互。
   造型：大圆角云朵卡片 · 柔和渐变 · 无锐角
   质感：轻透玻璃 + 果冻光泽 + 扁平插画感
   氛围：温暖治愈、轻松活泼
   ========================================================================== */

:root:root{
  --c1:#FF8E7F;              /* 主色：暖珊瑚 */
  --c2:#FFB78F;              /* 辅色：蜜桃 */
  --c-price:#FF6B6B;         /* 价格 */
  --text:#4B3F45;            /* 暖调深棕灰 */
  --text-2:#6F5F66;
  --muted:#A59299;
  --line:rgba(255,196,180,.40);
  --line-2:rgba(255,214,201,.45);
  --bg:#FFF8F3;
  --card:rgba(255,255,255,.78);
  --ok:#4FA98F;
  --warn:#D99A3E;
  --radius:24px;
  --radius-s:14px;
  --shadow:0 12px 30px -22px rgba(214,150,150,.65);
  --shadow-2:0 26px 50px -26px rgba(214,138,138,.55);
  --head-h:64px;
  --tab-h:64px;
}

/* 背景：奶油 → 樱粉 → 天蓝 的柔和渐变，外加固定云絮光斑 */
body{
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"HarmonyOS Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  letter-spacing:.1px;
}
body:not(.has-bg){
  background:
    radial-gradient(1100px 620px at 6% -8%, #FFE6D6 0%, rgba(255,230,214,0) 62%),
    radial-gradient(980px 640px at 98% 2%, #E3EEFF 0%, rgba(227,238,255,0) 58%),
    radial-gradient(900px 660px at 46% 108%, #DFF6EA 0%, rgba(223,246,234,0) 60%),
    linear-gradient(180deg,#FFFAF5 0%,#FEF6FA 42%,#F4F9FF 100%);
  background-attachment:fixed;
}
body.has-bg::before{display:none;}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(360px 200px at 14% 16%, rgba(255,255,255,.72), rgba(255,255,255,0) 70%),
    radial-gradient(460px 250px at 86% 10%, rgba(255,255,255,.6), rgba(255,255,255,0) 72%),
    radial-gradient(420px 260px at 72% 84%, rgba(255,255,255,.5), rgba(255,255,255,0) 74%);
  filter:blur(2px);
}
.main{position:relative;z-index:1;}
.header{position:sticky;}

/* 选中态、滚动条 */
::selection{background:#FFC8BC;color:#5A3E3A;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:#FFD3C6;border:2px solid transparent;background-clip:padding-box;border-radius:99px;}
::-webkit-scrollbar-thumb:hover{background:#FFBCAA;background-clip:padding-box;}
::-webkit-scrollbar-track{background:transparent;}

/* ==========================================================================
   顶部
   ========================================================================== */
.header{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.76));
  -webkit-backdrop-filter:blur(18px) saturate(170%);
  backdrop-filter:blur(18px) saturate(170%);
  border-bottom:1px solid rgba(255,255,255,.9);
  border-radius:0 0 26px 26px;
  box-shadow:0 16px 34px -26px rgba(203,140,140,.75);
}
.logo{color:#F87F6E;letter-spacing:.3px;}
.logo .dot{
  border-radius:14px 16px 13px 15px;
  background:linear-gradient(135deg,#FF9C8A,#FFC29B);
  box-shadow:0 8px 18px -10px rgba(255,140,120,.9), inset 0 1px 0 rgba(255,255,255,.55);
}
.nav a{border-radius:999px;color:#7A6670;}
.nav a:hover{background:rgba(255,226,215,.75);color:#F5795F;}
.nav a.on{
  background:linear-gradient(135deg,#FFE7DC,#FFF3EC);
  color:#F2735B;font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(255,178,158,.35);
}
.btn-user{
  border:1px solid rgba(255,190,175,.45);
  background:rgba(255,255,255,.7);
  border-radius:999px;color:#7A6670;
  box-shadow:0 8px 20px -18px rgba(214,140,140,.9);
}
.btn-user:hover{border-color:rgba(255,150,130,.7);color:#F2735B;background:#fff;}
.btn-user .av{
  background:linear-gradient(135deg,#FFA38F,#FFC5A3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
}
.search input{
  background:rgba(255,247,243,.9);
  border:1px solid rgba(255,196,180,.45);
  border-radius:999px;color:#5C4A4F;
}
.search input::placeholder{color:#C0A6AC;}
.search input:focus{
  background:#fff;border-color:#FFAD98;
  box-shadow:0 0 0 4px rgba(255,153,130,.16);
}
.search button{
  border-radius:50%;
  background:linear-gradient(135deg,#FF9787,#FFBE96);
  box-shadow:0 8px 16px -9px rgba(255,132,110,.95);
}
.search button:hover{background:linear-gradient(135deg,#FF8977,#FFB189);}
.search-big input{border-radius:999px;}
.search-big button{border-radius:50%;}

/* ==========================================================================
   公告 / 轮播
   ========================================================================== */
.notice-bar{
  background:linear-gradient(135deg,rgba(255,246,222,.95),rgba(255,238,224,.9));
  border:1px solid rgba(255,214,160,.6);
  color:#9A6B35;border-radius:20px;
  box-shadow:0 10px 24px -22px rgba(200,150,80,.8);
}
.notice-bar .close{color:#C99B62;}
body .notice-bar[style]{
  background:linear-gradient(135deg,rgba(232,247,245,.95),rgba(226,242,255,.9)) !important;
  border-color:rgba(150,213,201,.55) !important;
  color:#4A7C74 !important;
}
.banner{
  border-radius:32px;background:linear-gradient(135deg,#FFE7DA,#E7F1FF);
  box-shadow:0 30px 56px -30px rgba(198,140,140,.7);
}
.banner::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 30%);
}
.banner-dots i{background:rgba(255,255,255,.6);}
.banner-dots i.on{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18);}
.banner-nav{background:rgba(255,255,255,.55);color:#6B565C;box-shadow:0 6px 16px rgba(60,40,50,.16);}
.banner-nav:hover{background:rgba(255,255,255,.85);}

/* ==========================================================================
   卡片：云朵 + 玻璃
   ========================================================================== */
.card{
  background:linear-gradient(158deg,rgba(255,255,255,.94),rgba(255,255,255,.66));
  border:1px solid rgba(255,255,255,.92);
  border-radius:30px;
  box-shadow:
    0 24px 48px -30px rgba(206,142,142,.55),
    0 2px 0 rgba(255,255,255,.85) inset;
  -webkit-backdrop-filter:blur(14px) saturate(155%);
  backdrop-filter:blur(14px) saturate(155%);
}
.card-hd{border-bottom:1px dashed rgba(255,205,190,.55);}
.card-hd h2,.card-hd h3{letter-spacing:.2px;color:#574249;}
.card-hd h2::before,.card-hd h3::before{
  content:"";display:inline-block;width:6px;height:17px;margin-right:8px;
  vertical-align:-2px;border-radius:99px;
  background:linear-gradient(180deg,#FFA08C,#FFCAA6);
  box-shadow:0 3px 8px -3px rgba(255,140,110,.8);
}
.card-hd .more{color:#B08E95;}
.card-hd .more:hover{color:#F2735B;}
body .notice-card .card-bd,
body .card-bd[style]{color:#6E5C63 !important;}

/* 分类导航 ---------------------------------------------------------------- */
.cate-nav{gap:14px;}
.cate-nav a{
  background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,255,255,.7));
  border:1px solid rgba(255,255,255,.9);
  border-radius:26px;
  box-shadow:0 16px 32px -26px rgba(200,145,145,.6);
}
.cate-nav a:hover{
  border-color:rgba(255,190,175,.6);
  transform:translateY(-4px);
  box-shadow:0 24px 40px -26px rgba(203,140,140,.7);
}
.cate-nav .ico{
  border-radius:18px 20px 17px 19px;
  background:linear-gradient(135deg,#FF9E8B,#FFC49B);
  box-shadow:0 10px 20px -12px rgba(255,140,110,.75), inset 0 1px 0 rgba(255,255,255,.55);
}
.cate-nav a:nth-child(5n+1) .ico{background:linear-gradient(135deg,#FF9C8C,#FFC3A4);}
.cate-nav a:nth-child(5n+2) .ico{background:linear-gradient(135deg,#FFC98C,#FFE0A8);}
.cate-nav a:nth-child(5n+3) .ico{background:linear-gradient(135deg,#8FDCC9,#B9EBD9);}
.cate-nav a:nth-child(5n+4) .ico{background:linear-gradient(135deg,#9CC5FF,#C2DCFF);}
.cate-nav a:nth-child(5n+5) .ico{background:linear-gradient(135deg,#B9A8FF,#D9CEFF);}
.cate-nav a:nth-child(5n+2) .ico{color:#8A5A2B;}
.cate-nav a:nth-child(5n+3) .ico{color:#2F7D6B;}
.cate-nav a:nth-child(5n+4) .ico{color:#3A5C8A;}
.cate-nav a:nth-child(5n+5) .ico{color:#574A8A;}
.cate-nav .nm{color:#5C4A4F;}
.cate-nav .ct{color:#B49AA0;}

/* ==========================================================================
   商品卡
   ========================================================================== */
.goods-list{gap:16px;}
.goods-item{
  background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(255,255,255,.72));
  border:1px solid rgba(255,255,255,.92);
  border-radius:28px;
  padding:9px;
  box-shadow:0 18px 36px -28px rgba(200,140,140,.6);
  -webkit-backdrop-filter:blur(10px) saturate(150%);
  backdrop-filter:blur(10px) saturate(150%);
  transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,border-color .22s;
}
.goods-item:hover{
  border-color:rgba(255,186,168,.65);
  transform:translateY(-5px) rotate(-.35deg);
  box-shadow:0 30px 52px -30px rgba(198,132,132,.7);
}
.goods-item .pic{
  border-radius:21px;overflow:hidden;background:linear-gradient(150deg,#FFF0E9,#EEF5FF);
}
.goods-item .pic img{border-radius:21px;}
.goods-item .info{padding:11px 6px 5px;}
.goods-item .nm{color:#58454B;font-weight:500;}
.goods-item .price{color:#FF6B6B;font-weight:800;letter-spacing:-.3px;}
.goods-item .origin{color:#BBA6AC;}
.goods-item .sold{color:#B49AA0;}
.goods-item .ph{color:#D9C2C7;}
.goods-list.g4 .pic{border-radius:18px;}
.goods-list.g4 .desc{color:#A59299;}

.badge{
  border-radius:999px;padding:3px 10px;
  background:linear-gradient(135deg,#FF9C8A,#FFBFA0);
  box-shadow:0 6px 14px -8px rgba(255,120,100,.85), inset 0 1px 0 rgba(255,255,255,.5);
  font-weight:600;
}
.badge.hot{background:linear-gradient(135deg,#FF7B7B,#FF9E8E);}
.badge.rec{background:linear-gradient(135deg,#FFC26B,#FFDB94);color:#7A561F;}
.badge.out{background:linear-gradient(135deg,#C9C2CE,#E0DBE4);color:#6E6472;}

.stock-tag{padding:2px 10px;border-radius:999px;background:rgba(143,220,201,.16);}
.stock-tag.on{color:#3F9C83;}
.stock-tag.low{color:#C98A32;background:rgba(255,206,140,.2);}
.stock-tag.off{color:#A59299;background:rgba(200,190,205,.2);}
.stock-tag::before{width:7px;height:7px;}

/* ==========================================================================
   筛选条 / 标题
   ========================================================================== */
.sort-bar{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.74));
  border:1px solid rgba(255,255,255,.9);
  border-radius:999px;
  box-shadow:0 16px 32px -28px rgba(200,140,140,.7);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  backdrop-filter:blur(14px) saturate(160%);
}
.sort-bar a{color:#7A6670;}
.sort-bar a.on{color:#F2735B;}
.sort-bar a.on::after{display:none;}
.sort-bar a.on{
  background:linear-gradient(135deg,#FFE7DC,#FFF3EC);
  border-radius:999px;
}
.sort-bar a{padding:9px 16px;margin:5px 2px;}
.page-title h1{color:#574249;letter-spacing:.2px;}
/* 非首页不渲染顶栏，筛选条直接吸顶，避免上方空 60px */
body.is-sub .sort-bar{top:0;}

/* ==========================================================================
   按钮 / 表单
   ========================================================================== */
.btn{
  border-radius:999px;border:0;
  background:linear-gradient(135deg,#FF9787,#FFBC96);
  color:#fff;font-weight:600;letter-spacing:.2px;
  box-shadow:0 14px 26px -14px rgba(255,126,105,.95), inset 0 1px 0 rgba(255,255,255,.55);
  transition:transform .16s,box-shadow .18s,filter .18s;
}
.btn:hover{background:linear-gradient(135deg,#FF8A78,#FFB088);filter:saturate(1.5);}
.btn:active{transform:translateY(1px) scale(.99);}
.btn.buy{background:linear-gradient(135deg,#FF7A7A,#FF9E86);box-shadow:0 14px 26px -14px rgba(255,100,100,.95), inset 0 1px 0 rgba(255,255,255,.5);}
.btn.buy:hover{background:linear-gradient(135deg,#FF6D6D,#FF9478);}
.btn.ghost{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,186,168,.55);
  color:#8A6E75;box-shadow:0 10px 22px -20px rgba(200,140,140,.8);
}
.btn.ghost:hover{border-color:rgba(255,150,130,.8);color:#F2735B;background:#fff;}
.btn.sm,.btn.lg{}

.input,.textarea,.select{
  background:rgba(255,251,249,.92);
  border:1px solid rgba(255,194,178,.5);
  border-radius:16px;color:#57474D;
}
.input:focus,.textarea:focus,.select:focus{
  background:#fff;border-color:#FFAE99;
  box-shadow:0 0 0 4px rgba(255,153,130,.15);
}
.input::placeholder,.textarea::placeholder{color:#C4ADB3;}
.field label{color:#7A6670;}
.field .tip{color:#B49AA0;}
.cap-row img{border-radius:14px;border-color:rgba(255,194,178,.5);background:#FFF7F4;}

/* ==========================================================================
   商品详情
   ========================================================================== */
.gd-pic .big{
  border-radius:28px;background:linear-gradient(150deg,#FFF0E9,#EEF5FF);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 22px 44px -32px rgba(200,140,140,.7);
}
.gd-pic .big img{border-radius:27px;}
.gd-info h1{color:#54414A;letter-spacing:.2px;}
.gd-price-box{
  background:linear-gradient(135deg,rgba(255,226,214,.7),rgba(255,244,239,.75));
  border:1px solid rgba(255,255,255,.9);
  border-radius:24px;padding:18px 20px;
}
.gd-price{color:#FF6B6B;font-weight:800;letter-spacing:-.5px;}
.gd-price-box .tips{color:#A58C93;}
.num-box{border-radius:999px;border-color:rgba(255,190,175,.55);background:#fff;}
.num-box button{background:rgba(255,244,239,.95);color:#9A7B82;}
.num-box button:hover{background:#FFE9DF;color:#F2735B;}
.num-box input{border-color:rgba(255,205,190,.6);}
.pay-item{
  border-radius:999px;border-color:rgba(255,196,180,.55);
  background:rgba(255,255,255,.9);color:#6E5A61;
}
.pay-item:hover{border-color:#FFAD98;}
.pay-item.on{
  border-color:#FF9F8B;
  background:linear-gradient(135deg,#FFEDE4,#FFF6F1);
  color:#F2735B;
}
.detail-tabs{border-bottom:1px dashed rgba(255,205,190,.6);}
.detail-tabs a{color:#7A6670;border-radius:999px;}
.detail-tabs a.on{color:#F2735B;}
.detail-tabs a.on::after{display:none;}
.detail-tabs a.on{background:linear-gradient(135deg,#FFE9DE,#FFF5EF);}
.detail-body{color:#6E5C63;}
.detail-body img{border-radius:18px;}
.gd-actions{gap:14px;}

/* ==========================================================================
   文章
   ========================================================================== */
.art-list li{border-bottom:1px dashed rgba(255,205,190,.5);}
.art-list li:last-child{border-bottom:0;}
.art-list li:hover{background:rgba(255,240,234,.55);border-radius:18px;}
.art-list .t{color:#5C4A4F;}
.art-list .d{color:#B49AA0;}
.art-body{color:#6E5C63;}
.art-body h1{color:#54414A;}
.art-meta{border-bottom:1px dashed rgba(255,205,190,.55);color:#B49AA0;}
.art-body img{border-radius:18px;}
body .art-list li{border-bottom:1px dashed rgba(255,205,190,.5);}
body .art-list a{color:#5C4A4F;}
body .art-list a:hover{color:#F2735B;}

/* ==========================================================================
   订单
   ========================================================================== */
.order-item{border-bottom:1px dashed rgba(255,205,190,.5);}
.order-item:last-child{border-bottom:0;}
.order-hd{color:#B49AA0;}
.order-hd .no{color:#8A7480;}
.order-bd .pic{border-radius:16px;background:linear-gradient(150deg,#FFF0E9,#EEF5FF);}
.order-bd .nm b{color:#58454B;}
.order-bd .mo{color:#FF6B6B;}
.st-tag{border-radius:999px;padding:3px 11px;}
.st-tag.unpaid{background:rgba(255,214,160,.35);color:#B5792A;}
.st-tag.paid{background:rgba(255,214,201,.45);color:#E0705A;}
.st-tag.done{background:rgba(143,220,201,.3);color:#3F9C83;}
.st-tag.refund{background:rgba(255,177,177,.3);color:#D65252;}
.card-box{
  background:linear-gradient(160deg,#4A3A42,#3A2C33);
  border-radius:20px;color:#FFE9E1;
  font-size:13.5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 16px 30px -24px rgba(60,30,40,.9);
}
.card-box .cp{border-radius:999px;background:rgba(255,255,255,.16);}
.ship-box,.addr-block{border-radius:20px;}

/* ==========================================================================
   个人中心
   ========================================================================== */
.user-hd{
  background:
    radial-gradient(280px 180px at 88% 8%, rgba(255,255,255,.38), rgba(255,255,255,0) 70%),
    radial-gradient(220px 150px at 10% 96%, rgba(255,255,255,.22), rgba(255,255,255,0) 72%),
    linear-gradient(135deg,#FF9A88 0%,#FFB794 55%,#FFD2AE 100%);
  border-radius:32px;
  box-shadow:0 26px 50px -30px rgba(214,132,120,.85), inset 0 1px 0 rgba(255,255,255,.4);
}
.user-hd .av{
  background:rgba(255,255,255,.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 8px 18px -12px rgba(120,60,50,.8);
}
.user-hd .nm{letter-spacing:.3px;}
.user-hd .money b{letter-spacing:-.3px;}
.grid-menu{background:transparent;gap:10px;padding:14px;}
.grid-menu a{
  background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(255,255,255,.74));
  border:1px solid rgba(255,255,255,.9);
  border-radius:22px;
  box-shadow:0 14px 26px -24px rgba(200,140,140,.8);
}
.grid-menu a:hover{
  background:linear-gradient(160deg,#FFF6F1,#FFEFEA);
  transform:translateY(-2px);
}
.grid-menu .ico{color:#F58A73;}
.grid-menu .t{color:#7A6670;}

body .uid-copy{border-radius:999px;border-color:rgba(255,190,175,.6);background:rgba(255,255,255,.7);color:#9A7B82;}
body .uid-text{color:#FFD9CE;}
body .set-gear{background:rgba(255,255,255,.24);}
body .set-menu{
  background:rgba(255,255,255,.97);
  border:1px solid rgba(255,255,255,.95);
  border-radius:22px;
  box-shadow:0 22px 44px -22px rgba(120,70,70,.55);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
body .set-menu button{border-radius:14px;color:#5C4A4F;}
body .set-menu button:active{background:#FFF0EA;}
body .set-menu button.danger{color:#EE6A5F;}
body .copy-toast{border-radius:999px;background:rgba(74,58,64,.9);}

/* ==========================================================================
   购物车（main.css 未加载，这里补齐并统一主题）
   ========================================================================== */
.cart-wrap{padding-bottom:8px;}
.cart-loading,.cart-empty{padding:52px 20px;text-align:center;color:#B49AA0;}
.cart-empty .ce-ico{font-size:40px;margin-bottom:10px;opacity:.7;}
.cart-empty p{margin:0 0 16px;font-size:14px;}
.cart-item{
  display:flex;align-items:flex-start;gap:12px;
  padding:16px 18px;border-bottom:1px dashed rgba(255,205,190,.5);
}
.cart-item:last-child{border-bottom:0;}
.ci-pic{
  flex:0 0 64px;width:64px;height:64px;border-radius:18px;overflow:hidden;
  background:linear-gradient(150deg,#FFF0E9,#EEF5FF);
  display:flex;align-items:center;justify-content:center;
}
.ci-pic img{width:100%;height:100%;object-fit:cover;display:block;}
.ci-noimg{font-size:11px;color:#C4ADB3;}
.ci-main{flex:1;min-width:0;}
.ci-name{
  display:block;color:#58454B;font-size:14.5px;line-height:1.5;margin-bottom:5px;
  overflow:hidden;text-overflow:ellipsis;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.ci-name:hover{color:#F2735B;}
.ci-price{color:#B49AA0;font-size:13px;}
.ci-warn{margin-top:5px;font-size:12.5px;color:#D65252;}
.ci-side{flex:0 0 auto;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:7px;}
.ci-num{display:inline-flex;align-items:stretch;border:1px solid rgba(255,196,180,.55);border-radius:999px;overflow:hidden;background:#fff;}
.ci-num a{width:30px;line-height:30px;text-align:center;color:#9A7B82;background:rgba(255,244,239,.9);font-size:15px;}
.ci-num a:hover{background:#FFE9DF;color:#F2735B;}
.ci-num input{width:42px;border:0;border-left:1px solid rgba(255,205,190,.6);border-right:1px solid rgba(255,205,190,.6);text-align:center;font-size:13.5px;color:#57474D;outline:none;background:#fff;}
.ci-sub{font-size:15px;font-weight:700;color:#FF6B6B;}
.ci-del{font-size:12.5px;color:#C4ADB3;}
.ci-del:hover{color:#FF6B6B;}
.cart-bar{
  display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 18px;
  background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,255,255,.72));
  border:1px solid rgba(255,255,255,.9);border-radius:26px;
  box-shadow:0 22px 44px -30px rgba(200,140,140,.8);
}
.cart-bar-info{flex:1;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.cart-bar-info .t{color:#B49AA0;font-size:13.5px;}
.cart-bar-info .m{font-size:22px;font-weight:800;color:#FF6B6B;letter-spacing:-.3px;}
.cart-bar-info .n{color:#B49AA0;font-size:12.5px;}
.cart-mask{position:fixed;inset:0;z-index:9000;background:rgba(74,52,60,.42);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
.cart-dialog{
  width:calc(100% - 40px);max-width:420px;background:rgba(255,255,255,.97);border-radius:28px;
  box-shadow:0 30px 70px -30px rgba(90,50,60,.55);overflow:hidden;
  animation:ckIn .24s cubic-bezier(.2,.9,.3,1);
}
@keyframes ckIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.cart-dialog .cd-hd{padding:16px 20px;border-bottom:1px dashed rgba(255,205,190,.55);display:flex;align-items:center;font-size:15.5px;color:#574249;}
.cart-dialog .cd-hd b{flex:1;}
.cart-dialog .cd-close{font-size:24px;line-height:1;color:#C4ADB3;cursor:pointer;padding:0 4px;}
.cart-dialog .cd-close:hover{color:#7A6670;}
.cart-dialog .cd-bd{padding:18px 20px;}
.cart-dialog .cd-bd label{display:block;font-size:13.5px;color:#7A6670;margin-bottom:6px;}
.cart-dialog .cd-ft{padding:0 20px 20px;display:flex;gap:10px;}
.cart-dialog .cd-ft .btn{flex:1;}
.ck-sum{margin-top:14px;padding:12px 14px;background:rgba(255,240,234,.8);border-radius:18px;font-size:13.5px;color:#7A6670;}
.ck-sum .money{color:#FF6B6B;font-size:16px;}
.ck-addr-hd{display:flex;align-items:baseline;gap:8px;margin:14px 0 8px;font-size:13.5px;color:#7A6670;font-weight:600;}
.ck-addr-hd span{font-weight:400;font-size:12.5px;color:#B49AA0;}
.ck-addr-row{display:flex;gap:9px;margin-bottom:9px;}
.ck-addr-row .input{flex:1;min-width:0;}
#ckAddr textarea.input{width:100%;resize:vertical;}
.addr-block{
  margin-top:12px;padding:14px;border-radius:20px;
  background:linear-gradient(150deg,rgba(226,247,242,.75),rgba(240,250,247,.85));
  border:1px solid rgba(255,255,255,.9);
}
.addr-block .ab-hd{display:flex;align-items:center;gap:10px;margin-bottom:9px;font-size:13.5px;color:#5A7C76;}
.addr-block .ab-hd > span:first-child{flex:1;font-weight:600;}
.addr-block .ab-pick{max-width:58%;padding:6px 10px;font-size:12.5px;border:1px solid rgba(150,213,201,.55);border-radius:999px;background:#fff;color:#5A7C76;}
.addr-block .ab-link{font-size:12.5px;color:#3F9C83;}
.addr-block .ab-row{display:flex;gap:9px;margin-bottom:9px;}
.addr-block .ab-row .input{flex:1;min-width:0;}
.addr-block textarea.input{width:100%;resize:vertical;}
.addr-block .ab-tip{margin-top:7px;font-size:12.5px;color:#8FA8A2;}
.ship-box{margin-top:10px;padding:12px 14px;background:rgba(232,242,255,.85);border-radius:18px;font-size:13.5px;line-height:1.8;color:#5A6B80;}
.ship-box .sb-t{color:#8FA0B5;font-size:12.5px;margin-bottom:3px;}
.ship-box .sb-no{font-family:Consolas,Menlo,monospace;font-weight:600;color:#4A5A6E;}
.ship-box .sb-addr{margin-top:5px;color:#7E8FA3;font-size:12.5px;}

/* ==========================================================================
   分站排行
   ========================================================================== */
.rank-item{padding:13px 4px;border-bottom:1px dashed rgba(255,205,190,.5);}
.rank-item:last-child{border-bottom:0;}
.rk-no{border-radius:12px;background:rgba(255,240,234,.9);color:#B49AA0;font-weight:700;}
.rk-1{background:linear-gradient(135deg,#FFC46B,#FFDE9B);color:#7A561F;}
.rk-2{background:linear-gradient(135deg,#C9D6E6,#E4ECF7);color:#5E6C7E;}
.rk-3{background:linear-gradient(135deg,#F0C39B,#FBDCC2);color:#8A5A34;}
.rk-name{color:#58454B;}
.rk-tag{background:rgba(255,234,225,.9);color:#E0705A;border-radius:999px;font-size:11.5px;}
.rk-sub{color:#B49AA0;}
.rk-num .v{color:#FF6B6B;}
.rk-num .t{color:#B49AA0;}
.rank-cta{background:linear-gradient(135deg,rgba(255,240,232,.9),rgba(238,245,255,.9));border-radius:20px;color:#7A6670;}
.rank-cta a{color:#F2735B;}

/* ==========================================================================
   分页 / 空态 / 提示 / 弹层
   ========================================================================== */
.pager{gap:8px;}
.pager a,.pager span{
  border-radius:999px;border:1px solid rgba(255,196,180,.5);
  background:rgba(255,255,255,.85);color:#8A7480;
  box-shadow:0 10px 20px -20px rgba(200,140,140,.9);
}
.pager a:hover{border-color:#FFAD98;color:#F2735B;background:#fff;}
.pager .on{background:linear-gradient(135deg,#FF9787,#FFBC96);border-color:transparent;color:#fff;box-shadow:0 12px 22px -14px rgba(255,126,105,.9);}
.empty .ico{
  width:78px;height:78px;line-height:78px;margin:0 auto 14px;border-radius:28px;
  background:linear-gradient(150deg,#FFF0E9,#EEF5FF);color:#D9BFC5;font-size:34px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.empty .t{color:#7A6670;}
.empty .s{color:#B49AA0;}
.toast{
  border-radius:999px;background:rgba(74,58,64,.92);
  box-shadow:0 18px 36px -18px rgba(60,30,40,.8);
  padding:12px 22px;
}
.modal-mask{background:rgba(74,52,60,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
.modal-box{
  border-radius:30px;
  background:linear-gradient(170deg,rgba(255,255,255,.98),rgba(255,250,247,.97));
  box-shadow:0 34px 80px -34px rgba(90,50,60,.6);
  border:1px solid rgba(255,255,255,.9);
}
.modal-hd{border-bottom:1px dashed rgba(255,205,190,.55);}
.modal-hd h3{color:#574249;}
.modal-hd .x{color:#C4ADB3;}
.modal-ft{border-top:1px dashed rgba(255,205,190,.55);background:transparent;}
.to-top{
  border-radius:50%;border:1px solid rgba(255,255,255,.95);
  background:rgba(255,255,255,.85);color:#9A7B82;
  box-shadow:0 16px 32px -18px rgba(200,140,140,.85);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.to-top:hover{color:#F2735B;border-color:rgba(255,180,160,.8);}

/* 骨架屏 ---------------------------------------------------------------- */
.skeleton,.u-skeleton{background:linear-gradient(90deg,#FFF2EC 25%,#FFE7DE 37%,#FFF2EC 63%);background-size:400% 100%;border-radius:14px;}
.sk-item{background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.9);border-radius:26px;}

/* ==========================================================================
   页脚 / 底部导航
   ========================================================================== */
.footer{
  position:relative;z-index:1;
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.8));
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  color:#A59299;border-radius:34px 34px 0 0;
  margin-top:44px;padding:34px 0 28px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.footer a{color:#9A8490;}
.footer a:hover{color:#F2735B;}
.footer-cr .sm{opacity:.8;}

.tabbar{
  background:rgba(255,255,255,.88) !important;
  -webkit-backdrop-filter:blur(20px) saturate(180%) !important;
  backdrop-filter:blur(20px) saturate(180%) !important;
  border-top:1px solid rgba(255,255,255,.95) !important;
  box-shadow:0 -14px 34px -22px rgba(200,140,140,.8);
}
.tabbar a{color:#B49AA0;}
.tabbar a.on{
  color:#F2735B;font-weight:700;
  background:linear-gradient(135deg,#FFE7DC,#FFF3EC);
  border-radius:18px;
}
.tabbar a.on .ico{transform:translateY(-1px);}
.tabbar .tb-badge{background:linear-gradient(135deg,#FF7B7B,#FF9E8E);border-radius:999px;}
.nav-badge{background:linear-gradient(135deg,#FF8F7E,#FFB18C);border-radius:999px;}

/* 插画感小装饰：商品/分类图片统一柔化边缘 */
.cate-cover,.cate-ico{border-radius:18px;background:linear-gradient(150deg,#FFF0E9,#EEF5FF);}

/* ==========================================================================
   邀请好友
   ========================================================================== */
body .iv-head h1{color:#574249;letter-spacing:.2px;}
body .iv-head p{color:#A59299;}
body .iv-back-btn{
  background:rgba(255,255,255,.85);color:#8A6E75;
  border:1px solid rgba(255,196,180,.5);
  box-shadow:0 8px 18px -14px rgba(200,140,140,.9);
}
body .iv-back-btn:active{background:#FFF0EA;color:#F2735B;}
body .iv-poster{
  border-radius:22px;
  box-shadow:0 24px 44px -26px rgba(190,120,120,.65), 0 0 0 1px rgba(255,255,255,.9) inset;
}
body .iv-block{
  background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,255,255,.72));
  border:1px solid rgba(255,255,255,.92);
  border-radius:22px;
  box-shadow:0 16px 32px -28px rgba(200,142,142,.8);
}
body .iv-label{color:#A59299;}
body .iv-code{color:#F2735B;letter-spacing:2px;}
body .iv-copy-row .input{border-radius:14px;}
body .iv-item{border-bottom:1px dashed rgba(255,205,190,.55);}
body .iv-av{
  background:linear-gradient(135deg,#FFD9C8,#FFE7DC);color:#E0705A;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
body .iv-nm{color:#5C4A4F;}
body .iv-time{color:#B49AA0;}
body .iv-empty{color:#B49AA0;}

/* ==========================================================================
   访问密码页
   ========================================================================== */
body .enc-box{
  width:420px;max-width:100%;
  background:linear-gradient(165deg,rgba(255,255,255,.97),rgba(255,252,250,.9));
  border:1px solid rgba(255,255,255,.95);
  border-radius:32px;padding:32px 30px 28px;
  box-shadow:0 40px 80px -40px rgba(190,120,120,.75), inset 0 1px 0 #fff;
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  backdrop-filter:blur(18px) saturate(160%);
}
body .enc-box h1{color:#54414A;font-weight:700;letter-spacing:.2px;}
body .enc-box h1 .i{
  border-radius:11px;
  background:linear-gradient(135deg,#FF9C8A,#FFC29B);
  box-shadow:0 8px 16px -10px rgba(255,140,120,.9);
}
body .enc-box .tip{color:#A59299;}
body .enc-err{border-radius:14px;background:rgba(255,232,228,.9);color:#D65252;}
body .slide-box{
  border-radius:999px;border-color:rgba(255,196,180,.55);
  background:rgba(255,247,243,.95);
}
body .slide-box .fill{background:linear-gradient(90deg,rgba(255,190,168,.35),rgba(255,160,140,.35));border-radius:999px;}
body .slide-box .handle{
  border-radius:999px;border-color:rgba(255,186,168,.7);background:#fff;
  color:#F2735B;box-shadow:0 8px 18px -10px rgba(200,130,120,.85);
}
body .slide-box.ok .handle{color:#3F9C83;}
body .slide-box.ok .txt{color:#3F9C83;}

/* ==========================================================================
   手机端
   ========================================================================== */
@media (max-width:767px){
  :root:root{--head-h:56px;--tab-h:62px;}
  body:not(.has-bg){background:
    radial-gradient(560px 340px at 0% 0%, #FFE6D6 0%, rgba(255,230,214,0) 60%),
    radial-gradient(520px 320px at 100% 2%, #E3EEFF 0%, rgba(227,238,255,0) 58%),
    linear-gradient(180deg,#FFFAF5 0%,#FDF6FB 45%,#F4F9FF 100%);
    background-attachment:scroll;
    padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 14px);
  }
  .header{border-radius:0 0 22px 22px;}
  .card{border-radius:24px;}
  .card-hd{padding:13px 15px;}
  .card-bd{padding:15px;}
  .notice-bar{border-radius:16px;}
  .banner{border-radius:24px;}
  .cate-nav a{border-radius:20px;}
  .cate-nav .ico{border-radius:14px 16px 13px 15px;}
  .goods-list{gap:11px;}
  .goods-item{border-radius:22px;padding:7px;}
  .goods-item .pic{border-radius:16px;}
  .goods-item .info{padding:9px 4px 4px;}
  .goods-list.g4 .pic{border-radius:14px;}
  .sort-bar{border-radius:0;border-left:0;border-right:0;box-shadow:none;}
  .sort-bar a{padding:11px 15px;margin:0;border-radius:999px;}
  .sort-bar a.on{border-radius:999px;}
  .tabbar a.on{margin:5px 2px;border-radius:18px;}
  .footer{margin-top:22px;}
  body .user-hd{border-radius:26px;}
  .grid-menu{padding:10px;gap:8px;}
  .grid-menu a{border-radius:18px;}
  .gd-pic .big{border-radius:0;}
  .gd-pic .big img{border-radius:0;}
  .gd-price-box{border-radius:20px;padding:14px 15px;}
  .gd-actions{
    background:rgba(255,255,255,.92);
    -webkit-backdrop-filter:blur(18px) saturate(180%);
    backdrop-filter:blur(18px) saturate(180%);
    border-top:1px solid rgba(255,255,255,.95);
    border-radius:24px 24px 0 0;
    box-shadow:0 -16px 36px -24px rgba(200,140,140,.8);
  }
  .modal{padding:0;align-items:flex-end;}
  .modal-box{border-radius:28px 28px 0 0;}
  .cart-bar{
    position:fixed;left:10px;right:10px;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 10px);
    z-index:900;margin:0;border-radius:24px;
    background:rgba(255,255,255,.93);
    -webkit-backdrop-filter:blur(18px) saturate(180%);
    backdrop-filter:blur(18px) saturate(180%);
    box-shadow:0 18px 40px -18px rgba(150,90,90,.45);
    padding:11px 14px;
  }
  .cart-wrap{padding-bottom:86px;}
  .cart-dialog{border-radius:28px 28px 0 0;width:100%;max-width:none;position:fixed;left:0;right:0;bottom:0;}
  .cart-mask{align-items:flex-end;}
  .tabbar{
    left:12px;right:12px;bottom:10px;
    height:calc(var(--tab-h) + env(safe-area-inset-bottom));
    border-radius:26px;
    border:1px solid rgba(255,255,255,.95) !important;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .tabbar a{font-size:10.5px;}
  .footer{border-radius:26px 26px 0 0;margin-top:24px;padding:26px 0 20px;}
  .to-top{bottom:calc(var(--tab-h) + 22px + env(safe-area-inset-bottom));background:rgba(255,255,255,.92);}
  .art-list li:hover{background:transparent;}
  .empty .ico{width:66px;height:66px;line-height:66px;font-size:28px;border-radius:22px;}
}

@media (max-width:359px){
  .goods-item{border-radius:20px;}
  .tabbar{left:8px;right:8px;bottom:8px;}
}

/* 尊重「减少动态效果」偏好 */
@media (prefers-reduced-motion: reduce){
  .goods-item,.cate-nav a,.btn,.to-top{transition:none !important;}
  .goods-item:hover,.cate-nav a:hover{transform:none;}
}
