﻿/* ===== 金陵优品汇 日用百货多商户商城 · 暖调生活 · 装修增强版 ===== */
:root{
  /* ===== 色板 · 主色 朱砂橘 6 阶 ===== */
  --warm-50:#fdf3ec;
  --warm-100:#f9e3d5;
  --warm-200:#f3c9ae;
  --warm-300:#e8a482;
  --warm-400:#d96f45;
  --warm-500:#c2572e;
  --warm-600:#8a3e1e;
  /* ===== 色板 · 强调 鼠尾草绿 5 阶 ===== */
  --leaf-100:#e9eedd;
  --leaf-300:#c2cdac;
  --leaf-500:#9aab82;
  --leaf-700:#6b7f4e;
  --leaf-900:#4a5a36;
  /* ===== 色板 · 背景阶 ===== */
  --bg:#f7f1e6;
  --bg-2:#f0e5d2;
  --bg-3:#fbf7ef;
  --panel:#fffdf8;
  /* ===== 色板 · 文字阶 ===== */
  --ink-900:#2a231c;
  --ink-700:#3f352b;
  --ink-500:#6f6150;
  --ink-400:#8a7a66;
  /* ===== 色板 · 边框阶 ===== */
  --line-300:#ead9c0;
  --line-500:#d9c3a3;
  /* ===== 色板 · 语义色 ===== */
  --ok:#4e7d5c;
  --err:#c2442f;
  --warn:#b07d2b;
  --info:#4a6f8a;
  /* ===== 间距刻度 s1~s8 ===== */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px;
  --s5:24px; --s6:32px; --s7:48px; --s8:64px;
  /* ===== 字号刻度 xs~2xl ===== */
  --fs-xs:12px; --fs-sm:14px; --fs-md:16px;
  --fs-lg:20px; --fs-xl:24px; --fs-2xl:30px;
  /* ===== 圆角分级 ===== */
  --r-sm:6px; --r-md:10px; --r-lg:16px; --r-full:999px;
  /* ===== 阴影分级 ===== */
  --shadow-card:0 2px 10px rgba(138,62,30,.05),0 8px 24px rgba(138,62,30,.07);
  --shadow-hover:0 10px 24px rgba(138,62,30,.12),0 20px 44px rgba(138,62,30,.10);
  --shadow-sticky:0 4px 18px rgba(60,40,20,.08);
  --shadow-pop:0 16px 40px rgba(60,40,20,.16),0 4px 12px rgba(60,40,20,.10);
  /* ===== 兼容旧变量（映射到新令牌，旧规则无需改动） ===== */
  --bg2:var(--bg-2);
  --line:var(--line-300);
  --line2:rgba(214,138,74,.16);
  --tx:var(--ink-700);
  --dim:var(--ink-500);
  --warm:var(--warm-400);
  --warm2:var(--warm-300);
  --leaf:var(--leaf-500);
  --grad:linear-gradient(135deg,var(--warm-300),var(--warm-400));
  --shadow:var(--shadow-hover);
  --r:16px;
  --brand:var(--warm-400);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:
  radial-gradient(circle at 12% 8%,rgba(240,160,110,.10),transparent 32%),
  radial-gradient(circle at 88% 90%,rgba(154,171,130,.10),transparent 30%),
  var(--bg);color:var(--tx);font-family:'Microsoft YaHei','PingFang SC','Hiragino Sans GB',sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;font-family:inherit;}
::selection{background:rgba(217,111,69,.22);}
::-webkit-scrollbar{width:9px;height:9px;}
::-webkit-scrollbar-thumb{background:#d9c3a3;border-radius:6px;}
::-webkit-scrollbar-track{background:transparent;}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px;}
.topbar{position:sticky;top:0;z-index:50;background:rgba(247,241,230,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.topbar .wrap{display:flex;align-items:center;gap:22px;height:62px;}
.logo{font-size:21px;font-weight:900;letter-spacing:2px;color:var(--warm);display:flex;align-items:center;gap:6px;}
.logo::before{content:'';width:26px;height:26px;border-radius:8px;background:var(--grad);box-shadow:0 4px 10px rgba(217,111,69,.4);}
.logo b{color:#fff;font-size:12px;background:var(--grad);padding:3px 9px;border-radius:8px;margin-left:4px;letter-spacing:1px;}
.nav{display:flex;gap:6px;flex:1;overflow-x:auto;white-space:nowrap;scrollbar-width:none;}
.nav::-webkit-scrollbar{display:none;}
.nav button{border:1px solid transparent;background:none;color:var(--dim);font-size:14px;padding:8px 14px;border-radius:20px;transition:.2s;}
.nav button:hover{color:var(--warm);background:rgba(217,111,69,.08);}
.nav button.on{color:#fff;background:var(--grad);font-weight:800;box-shadow:0 6px 16px rgba(217,111,69,.35);}
.cartbtn{margin-left:auto;border:1px solid var(--line);background:var(--panel);color:var(--warm);font-size:14px;font-weight:700;padding:8px 16px;border-radius:20px;position:relative;transition:.2s;}
.cartbtn:hover{border-color:var(--warm2);transform:translateY(-1px);}
.badge{position:absolute;top:-8px;right:-6px;background:var(--warm);color:#fff;font-size:11px;font-weight:800;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:10px;padding:0 4px;box-shadow:0 3px 8px rgba(217,111,69,.5);}
/* 首屏 */
.hero{padding:64px 0 42px;text-align:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% -10%,rgba(240,160,110,.28),transparent 60%);}
.hero::before,.hero::after{content:'';position:absolute;border-radius:50%;opacity:.5;}
.hero::before{width:220px;height:220px;left:-60px;top:20px;background:radial-gradient(circle,rgba(240,160,110,.35),transparent 70%);}
.hero::after{width:260px;height:260px;right:-70px;bottom:-40px;background:radial-gradient(circle,rgba(154,171,130,.4),transparent 70%);}
.hero h1{font-size:42px;font-weight:900;letter-spacing:3px;color:var(--warm);margin-bottom:16px;text-shadow:0 2px 14px rgba(217,111,69,.2);}
.hero p{color:var(--dim);max-width:660px;margin:0 auto 28px;font-size:15px;}
.stats{display:flex;justify-content:center;gap:44px;color:var(--tx);font-size:15px;position:relative;z-index:1;}
.stats span{background:var(--panel);border:1px solid var(--line);padding:14px 30px;border-radius:16px;box-shadow:0 8px 20px rgba(200,160,110,.14);}
.stats em{color:var(--warm);font-style:normal;font-weight:900;font-size:24px;}
.sec{font-size:23px;font-weight:800;margin:42px 0 20px;display:flex;align-items:baseline;gap:12px;color:var(--tx);position:relative;padding-left:16px;}
.sec::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:24px;border-radius:4px;background:var(--grad);}
.sec small{font-size:12px;color:var(--dim);font-weight:400;letter-spacing:2px;}
.storegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;}
.storetile{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px 22px 20px;transition:.28s;display:block;position:relative;overflow:hidden;}
.storetile::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--grad);opacity:.85;}
.storetile::after{content:'';position:absolute;top:-40px;right:-40px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(240,160,110,.14),transparent 70%);}
.storetile:hover{border-color:var(--warm2);transform:translateY(-4px);box-shadow:var(--shadow);}
.storetile .sh{font-size:18px;font-weight:800;color:var(--warm);}
.storetile .sd{color:var(--dim);font-size:13px;margin:10px 0 16px;min-height:40px;}
.storetile .sc{display:flex;justify-content:space-between;align-items:center;color:var(--tx);font-size:13px;font-weight:700;}
.storetile .sc span{background:var(--bg);padding:4px 12px;border-radius:14px;}
.storetile .arrow{color:var(--warm);font-size:18px;font-weight:900;}
.catbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px;}
.catbar a{border:1px solid var(--line);background:var(--panel);color:var(--dim);font-size:13px;padding:7px 15px;border-radius:18px;transition:.2s;}
.catbar a:hover{color:var(--warm);border-color:var(--warm2);transform:translateY(-1px);}
.catbar a.on{color:#fff;background:var(--grad);border-color:transparent;font-weight:700;box-shadow:0 5px 14px rgba(217,111,69,.3);}
/* 商品网格 */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:20px;}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.28s;display:flex;flex-direction:column;}
.card:hover{transform:translateY(-5px);border-color:var(--warm2);box-shadow:var(--shadow);}
.card .ph{display:block;aspect-ratio:1/1;background:var(--bg2);overflow:hidden;position:relative;}
.card .ph::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 72%,rgba(60,40,20,.06));}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:.45s;}
.card:hover .ph img{transform:scale(1.07);}
.card .bd{padding:13px 14px 15px;display:flex;flex-direction:column;flex:1;}
.card .t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;min-height:44px;color:var(--tx);line-height:1.55;}
.card .t:hover{color:var(--warm);}
.meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;}
.pr{color:var(--warm);font-size:19px;font-weight:900;}
.pr i{font-style:normal;font-size:12px;}
.pr s{color:var(--dim);font-size:12px;font-weight:400;margin-left:6px;}
.sl{color:var(--dim);font-size:12px;}
.addbtn{border:none;background:var(--bg);color:var(--warm);width:100%;margin-top:12px;padding:10px 0;border-radius:10px;font-size:14px;font-weight:700;transition:.2s;}
.addbtn:hover{background:var(--grad);color:#fff;box-shadow:0 6px 16px rgba(217,111,69,.3);}
.storebanner{background:var(--grad);border-radius:18px;padding:32px;color:#fff;margin-top:26px;position:relative;overflow:hidden;}
.storebanner::after{content:'';position:absolute;right:-50px;top:-50px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.12);}
.storebanner h1{font-size:26px;font-weight:900;}
.storebanner p{opacity:.92;font-size:14px;margin:8px 0 12px;max-width:640px;}
.storebanner div{font-size:13px;background:rgba(255,255,255,.22);display:inline-block;padding:4px 14px;border-radius:14px;}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:36px 0;}
.dpic{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--bg2);aspect-ratio:1/1;box-shadow:0 10px 30px rgba(200,160,110,.18);}
.dpic img{width:100%;height:100%;object-fit:cover;}
.dinfo h1{font-size:22px;line-height:1.5;margin:10px 0 14px;}
.dtags{display:flex;gap:8px;align-items:center;}
.ctag{display:inline-block;background:var(--bg);color:var(--warm);font-size:12px;padding:3px 10px;border-radius:12px;font-weight:700;}
.ctag:hover{background:var(--grad);color:#fff;}
.dtag{display:inline-block;background:rgba(154,171,130,.2);color:#6b7f4e;font-size:12px;padding:3px 10px;border-radius:12px;}
.dprice{font-size:30px;font-weight:900;color:var(--warm);margin:14px 0 6px;}
.dprice s{color:var(--dim);font-size:15px;font-weight:400;margin-left:10px;}
.dsales{color:var(--dim);font-size:13px;}
.ddesc{margin-top:14px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--dim);font-size:14px;border-left:4px solid var(--warm2);}
.ddesc p{margin:0 0 10px;line-height:1.75;}
.ddesc p:last-child{margin-bottom:0;}
.dbtns{display:flex;gap:12px;margin-top:22px;}
.dbtns .addbtn{margin:0;padding:14px 0;flex:1;}
.dbtns .buy{flex:1;border:none;border-radius:10px;font-size:15px;font-weight:800;background:var(--grad);color:#fff;transition:.2s;}
.dbtns .buy:hover{filter:brightness(1.08);box-shadow:0 8px 22px rgba(217,111,69,.4);}
.carttable{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:8px 20px;box-shadow:0 8px 24px rgba(200,160,110,.1);}
.crow{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line2);font-size:14px;}
.crow:last-child{border-bottom:none;}
.crow img{width:56px;height:56px;border-radius:8px;object-fit:cover;}
.crow .t{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--tx);}
.crow .pr{font-weight:800;}
.qty{display:flex;align-items:center;gap:10px;}
.qty button{width:28px;height:28px;border:1px solid var(--line);background:var(--bg);color:var(--warm);border-radius:6px;font-size:15px;}
.qty button:hover{background:var(--warm);color:#fff;}
.qty span{min-width:22px;text-align:center;}
.crow .sub{font-weight:800;color:var(--warm);width:80px;text-align:right;}
.del{border:none;background:none;color:var(--dim);font-size:15px;}
.del:hover{color:#e07a5f;}
.summary{display:flex;align-items:center;gap:18px;justify-content:flex-end;padding:18px 4px;}
.summary .tt{color:var(--dim);font-size:14px;}
.summary .tot{font-size:26px;font-weight:900;color:var(--warm);}
.subbtn{border:none;border-radius:10px;font-size:16px;font-weight:800;background:var(--grad);color:#fff;padding:14px 34px;transition:.2s;}
.subbtn:hover{filter:brightness(1.08);box-shadow:0 0 20px rgba(217,111,69,.45);}
.ck{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;padding:34px 0;}
.fpanel,.cklist{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:0 10px 28px rgba(200,160,110,.1);}
.fpanel h2,.cklist h2{font-size:17px;color:var(--warm);margin-bottom:16px;letter-spacing:1px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:13px;color:var(--dim);margin-bottom:6px;}
.field input{width:100%;padding:12px 14px;border:1px solid var(--line);background:var(--bg);color:var(--tx);border-radius:10px;font-size:14px;outline:none;transition:.2s;}
.field input:focus{border-color:var(--warm2);box-shadow:0 0 0 3px rgba(217,111,69,.12);}
.field .err{color:#d9563a;font-size:12px;min-height:16px;margin-top:4px;}
.paybox{border:1px dashed var(--line);border-radius:12px;padding:18px;text-align:center;margin:10px 0 20px;background:var(--bg);}
.paybox .pt{color:var(--dim);font-size:13px;margin-bottom:10px;}
.alipay{display:flex;align-items:center;justify-content:center;gap:12px;}
.alb{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fff;font-family:'SimHei',sans-serif;background:linear-gradient(145deg,#168bff,#00a1e9 55%,#0f7fe0);box-shadow:0 2px 8px rgba(0,150,255,.5);}
.alipay span:not(.alb){color:var(--tx);font-size:15px;font-weight:700;letter-spacing:1px;}
.ckitem{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:13px;}
.ckitem img{width:44px;height:44px;border-radius:6px;object-fit:cover;}
.ckitem .n{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--dim);}
.ckitem .q{color:var(--dim);width:30px;text-align:center;}
.ckitem .p{font-weight:700;width:80px;text-align:right;color:var(--warm);}
.empty{text-align:center;padding:90px 0;color:var(--dim);font-size:16px;}
.empty a{color:var(--warm);font-weight:700;margin:0 4px;}
.ok{text-align:center;padding:90px 0;}
.ok .mark{width:84px;height:84px;margin:0 auto 20px;border-radius:50%;background:var(--grad);color:#fff;font-size:40px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(217,111,69,.4);}
.ok h1{color:var(--warm);font-size:28px;margin-bottom:10px;}
.ok p{color:var(--dim);font-size:15px;margin-bottom:24px;}
.ok a{display:inline-block;background:var(--grad);color:#fff;padding:11px 30px;border-radius:24px;font-weight:700;box-shadow:0 8px 20px rgba(217,111,69,.35);}
.foot{text-align:center;color:var(--dim);font-size:13px;padding:34px 0 40px;border-top:1px solid var(--line);margin-top:50px;}
.footicp{margin-top:8px;font-size:12px;color:var(--dim);}
.footicp a{color:var(--dim);text-decoration:none;}
.footicp a:hover{color:var(--brand);}
/* ===== 首页海报 ===== */
.bannersec{margin:26px 0 6px;}
.bannerhead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;}
.bannerhead .sec{margin:0;}
.bannerhead .sec small{margin-left:10px;font-size:11px;letter-spacing:2px;color:var(--dim);font-weight:400;}
.bannerhead a.more{font-size:13px;color:var(--brand);text-decoration:none;}
.bannerwrap{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
a.banner{position:relative;display:flex;align-items:flex-end;justify-content:flex-start;overflow:hidden;
  border-radius:16px;min-height:150px;color:#fff;text-decoration:none;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  box-shadow:0 6px 18px rgba(0,0,0,.16);transition:transform .18s ease,box-shadow .18s ease;}
a.banner:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.26);}
a.banner.wide{grid-column:1/-1;min-height:220px;}
a.banner.bmain{background-image:url(images/banners/banner-main.jpg);}
a.banner.ba{background-image:url(images/banners/banner-a.jpg);}
a.banner.bb{background-image:url(images/banners/banner-b.jpg);}
a.banner::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 45%,rgba(0,0,0,.05) 100%);}
a.banner .btext{position:relative;z-index:2;padding:16px 18px;max-width:100%;}
a.banner .btext h3{font-size:20px;line-height:1.3;margin:0 0 6px;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.5);}
a.banner.wide .btext h3{font-size:28px;}
a.banner .btext p{margin:0 0 12px;font-size:13px;opacity:.95;text-shadow:0 1px 6px rgba(0,0,0,.5);}
a.banner .bt{display:inline-block;font-size:12px;padding:5px 14px;border-radius:20px;
  background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(3px);}
@media(max-width:640px){
  .bannerwrap{grid-template-columns:1fr;}
  a.banner.wide{grid-column:auto;}
  a.banner{min-height:140px;}
  a.banner.wide{min-height:180px;}
}
@media(max-width:860px){
  .detail,.ck{grid-template-columns:1fr;}
  .hero h1{font-size:30px;}
  .stats{flex-wrap:wrap;gap:14px;}
}

/* ===== 真实化 UI 补充样式 ===== */
.heroeyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);color:var(--warm);font-size:12px;font-weight:700;letter-spacing:3px;padding:6px 16px;border-radius:20px;box-shadow:0 4px 12px rgba(217,111,69,.12);}
.sicon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;flex:none;box-shadow:0 6px 14px rgba(217,111,69,.25);}
.sicon.lg{width:64px;height:64px;font-size:32px;border-radius:16px;}
.stag{display:inline-block;background:rgba(154,171,130,.18);color:#6b7f4e;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;white-space:nowrap;}
.sfans{color:var(--dim);font-size:12px;}
.sbhead{display:flex;align-items:center;gap:16px;color:#fff;position:relative;z-index:1;}
.sbhead h1{font-size:24px;font-weight:900;}
.sbhead .stags{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;}
.sbhead .stag{background:rgba(255,255,255,.22);color:#fff;}
.sbmeta{display:flex;gap:20px;color:#fff;font-size:13px;position:relative;z-index:1;margin-top:6px;opacity:.95;}
.sbmeta b{font-size:16px;}
.tag{position:absolute;top:10px;left:10px;background:var(--grad);color:#fff;font-size:11px;font-weight:800;padding:3px 10px;border-radius:10px;box-shadow:0 4px 10px rgba(217,111,69,.35);z-index:2;}
.dinfo{padding:4px 0;}
.dsub{margin-top:12px;color:var(--dim);font-size:13px;line-height:1.7;}
.dsub b{color:var(--warm);font-weight:800;}

/* ===== 详情图画廊 ===== */
.dpiccol{display:flex;flex-direction:column;gap:14px;}
.dgallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.dgitem{border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--bg2);aspect-ratio:1/1;cursor:zoom-in;transition:.2s;}
.dgitem:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(200,160,110,.25);}
.dgitem img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:640px){.dgallery{grid-template-columns:repeat(3,1fr);gap:8px;}}

/* =========================================================
   金陵优品汇 · 专业视觉精修层（设计令牌系统 v2）
   仅追加覆盖，不改动任何类名与功能逻辑
   ========================================================= */

/* ---------- 无障碍：可见焦点环 ---------- */
:focus-visible{outline:2px solid var(--warm-400);outline-offset:2px;border-radius:6px;}
a:focus-visible,button:focus-visible,input:focus-visible{outline-offset:2px;}

/* ---------- 导航：吸顶毛玻璃强化 ---------- */
.topbar{background:rgba(248,243,233,.84);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);box-shadow:0 1px 0 rgba(233,217,192,.6),0 10px 26px -14px rgba(138,62,30,.22);}
.logo{letter-spacing:2.5px;}
.nav button.on{background:linear-gradient(135deg,var(--warm-300),var(--warm-400));}
.cartbtn{border-radius:22px;}

/* ---------- 首屏 Hero 主次层级 ---------- */
.hero{padding:72px 0 48px;}
.hero h1{font-size:44px;letter-spacing:2px;}
.hero p{font-size:15.5px;line-height:1.8;}
.heroeyebrow{letter-spacing:3px;border-radius:22px;}
.stats span{border-radius:18px;padding:16px 32px;box-shadow:var(--shadow-card);transition:transform .2s,box-shadow .2s;}
.stats span:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);}
.stats em{font-size:26px;}

/* ---------- 海报卡 hover 抬升 ---------- */
a.banner{border-radius:18px;box-shadow:var(--shadow-card);}
a.banner:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);}
a.banner .btext h3{letter-spacing:.5px;}
a.banner .bt{letter-spacing:.5px;}
.bannerhead a.more{letter-spacing:.5px;}
.bannerhead a.more:hover{color:var(--warm-500);}

/* ---------- 商品卡系统统一 ---------- */
.card{border-radius:14px;box-shadow:var(--shadow-card);border-color:var(--line-300);}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:var(--warm-300);}
.card .ph::after{background:linear-gradient(180deg,transparent 70%,rgba(60,40,20,.10));}
.card .bd{padding:14px 15px 16px;}
.card .t{font-size:14px;letter-spacing:.2px;}
.card .t:hover{color:var(--warm-400);}
.meta{margin-top:12px;}
.pr{color:var(--warm-500);}
.sl{color:var(--ink-500);}
.addbtn{border-radius:12px;font-size:14px;letter-spacing:.5px;transition:background .2s,color .2s,transform .15s,box-shadow .2s;}
.addbtn:hover{transform:translateY(-1px);}
.addbtn:active{transform:translateY(0) scale(.99);}

/* ---------- 入驻好店 ---------- */
.storetile{border-radius:16px;}
.storetile:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);}
.storetile .sh{letter-spacing:.5px;}
.stag{color:var(--leaf-900);background:var(--leaf-100);border-radius:12px;}

/* ---------- 分类条 ---------- */
.catbar a{border-radius:20px;transition:transform .2s,box-shadow .2s,color .2s,background .2s;}
.catbar a:hover{box-shadow:var(--shadow-card);}

/* ---------- 店铺页 ---------- */
.storebanner{border-radius:20px;box-shadow:var(--shadow-card);}
.storebanner h1{letter-spacing:1px;}
.storebanner p{line-height:1.75;}
.storebanner .sbmeta span{background:rgba(255,255,255,.18);border-radius:14px;}

/* ---------- 详情页 ---------- */
.detail{gap:40px;padding:40px 0;}
.dpic{border-radius:14px;box-shadow:var(--shadow-card);}
.dpic img{transition:transform .5s;}
.dpic:hover img{transform:scale(1.02);}
.dinfo h1{font-size:23px;letter-spacing:.3px;}
.ctag,.dtag{border-radius:12px;}
.dtag{color:var(--leaf-900);background:var(--leaf-100);}
.dprice{font-size:32px;letter-spacing:.5px;}
.dsales{color:var(--ink-500);}
.ddesc{border-radius:12px;line-height:1.8;}
.dbtns .buy{border-radius:12px;letter-spacing:1px;}
.dbtns .buy:hover{box-shadow:var(--shadow-hover);}
.dgitem{border-radius:12px;border-color:var(--line-300);box-shadow:var(--shadow-card);}

/* ---------- 购物车 ---------- */
.carttable{border-radius:14px;box-shadow:var(--shadow-card);}
.crow img{border-radius:10px;box-shadow:var(--shadow-card);}
.qty button{border-radius:8px;}
.qty button:hover{box-shadow:var(--shadow-card);}
.summary .tot{letter-spacing:.5px;}
.subbtn{border-radius:12px;letter-spacing:1px;box-shadow:var(--shadow-card);}
.subbtn:hover{box-shadow:var(--shadow-hover);}

/* ---------- 结算页 ---------- */
.ck{padding:40px 0;}
.fpanel,.cklist{border-radius:16px;box-shadow:var(--shadow-card);}
.fpanel h2,.cklist h2{letter-spacing:1.5px;}
.field input{border-radius:12px;}
.field input:focus{box-shadow:0 0 0 3px rgba(217,111,69,.15);}
.paybox{border-radius:14px;}
.ckitem img{border-radius:8px;}
.ckitem .n{color:var(--ink-500);}
.ckitem .p{color:var(--warm-500);}

/* ---------- 成功页 ---------- */
.ok .mark{border-radius:50%;box-shadow:var(--shadow-hover);}
.ok a{border-radius:24px;box-shadow:var(--shadow-card);}
.ok a:hover{box-shadow:var(--shadow-hover);}

/* ---------- 页脚 ---------- */
.foot{border-top-color:var(--line-300);}
.footicp a:hover{color:var(--warm-400);}

/* ---------- 空态 ---------- */
.empty a{text-decoration:underline;text-underline-offset:3px;}
.empty a:hover{text-decoration-color:var(--warm-400);}

/* =========================================================
   金陵优品汇 · 视觉再升级层 v3（会员系统 + 装修肉眼可见增强）
   纯 CSS 追加覆盖，不动任何类名与功能逻辑
   ========================================================= */

/* ---------- 会员系统 UI ---------- */
.userauth{margin-left:12px;display:flex;align-items:center;flex:none;}
.userbtn{border:1px solid var(--warm-300);background:linear-gradient(135deg,#fffdf8,#fdf0e6);color:var(--warm-500);font-size:14px;font-weight:800;padding:8px 18px;border-radius:22px;letter-spacing:.5px;box-shadow:0 4px 12px rgba(217,111,69,.14);transition:.22s;}
.userbtn:hover{border-color:var(--warm-400);background:var(--grad);color:#fff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(217,111,69,.32);}
.userchip{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--warm-300);color:var(--warm-600);font-size:13px;font-weight:800;padding:6px 8px 6px 14px;border-radius:22px;box-shadow:0 4px 12px rgba(217,111,69,.14);}
.logoutbtn{border:1px solid var(--line-300);background:var(--bg-2);color:var(--ink-500);font-size:12px;font-weight:700;padding:4px 12px;border-radius:16px;transition:.2s;}
.logoutbtn:hover{background:var(--err);color:#fff;border-color:var(--err);}

/* ---------- 弹窗 ---------- */
.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(42,35,28,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadein .18s ease;}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.modal-panel{position:relative;width:100%;max-width:400px;background:var(--bg-3);border:1px solid rgba(255,255,255,.9);border-radius:20px;padding:28px 28px 26px;box-shadow:var(--shadow-pop);animation:popin .22s ease;}
@keyframes popin{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.modal-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border:none;background:var(--bg-2);color:var(--ink-500);border-radius:50%;font-size:14px;transition:.2s;}
.modal-close:hover{background:var(--warm);color:#fff;}
.auth-tabs{display:flex;gap:8px;background:var(--bg-2);padding:4px;border-radius:14px;margin-bottom:14px;}
.auth-tabs button{flex:1;border:none;background:none;color:var(--ink-500);font-size:14px;font-weight:800;padding:9px 0;border-radius:11px;transition:.2s;}
.auth-tabs button.on{background:var(--grad);color:#fff;box-shadow:0 5px 14px rgba(217,111,69,.35);}
.modal-title{font-size:19px;font-weight:900;color:var(--ink-900);letter-spacing:1px;margin-bottom:16px;}
.auth-field{margin-bottom:14px;}
.auth-field label{display:block;font-size:12px;color:var(--ink-500);margin-bottom:6px;letter-spacing:.5px;}
.auth-field input{width:100%;padding:12px 14px;border:1px solid var(--line-300);background:var(--panel);color:var(--ink-700);border-radius:12px;font-size:14px;outline:none;transition:.2s;}
.auth-field input:focus{border-color:var(--warm-400);box-shadow:0 0 0 3px rgba(217,111,69,.14);}
.auth-err{color:var(--err);font-size:12px;min-height:18px;margin:2px 0 8px;}
.auth-submit{width:100%;border:none;border-radius:12px;background:var(--grad);color:#fff;font-size:15px;font-weight:800;padding:13px 0;letter-spacing:2px;box-shadow:0 8px 20px rgba(217,111,69,.3);transition:.2s;}
.auth-submit:hover{filter:brightness(1.07);box-shadow:var(--shadow-hover);}

/* ---------- 导航 · 更强玻璃拟态 ---------- */
.topbar{background:rgba(255,255,255,.55);backdrop-filter:blur(22px) saturate(1.7);-webkit-backdrop-filter:blur(22px) saturate(1.7);border-bottom:1px solid rgba(255,255,255,.72);box-shadow:0 1px 0 rgba(255,255,255,.9),0 12px 32px -16px rgba(138,62,30,.30);}
.logo{text-shadow:0 2px 10px rgba(217,111,69,.18);}

/* ---------- Hero · 光晕层次 + 大标题冲击 ---------- */
.hero{padding:84px 0 58px;background:
  radial-gradient(ellipse 90% 60% at 50% -12%,rgba(240,150,90,.42),transparent 58%),
  radial-gradient(ellipse 50% 40% at 8% 8%,rgba(240,160,110,.30),transparent 55%),
  radial-gradient(ellipse 50% 40% at 92% 12%,rgba(154,171,130,.32),transparent 55%),
  radial-gradient(ellipse at 50% -10%,rgba(240,160,110,.28),transparent 60%);}
.hero::before{width:340px;height:340px;left:-110px;top:-70px;background:radial-gradient(circle,rgba(240,160,110,.40),transparent 70%);animation:halo 6s ease-in-out infinite;}
.hero::after{width:380px;height:380px;right:-120px;bottom:-90px;background:radial-gradient(circle,rgba(154,171,130,.45),transparent 70%);}
@keyframes halo{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(16px);opacity:.8}}
.hero h1{font-size:56px;letter-spacing:4px;background:linear-gradient(160deg,var(--warm-600) 0%,var(--warm-400) 45%,#f2a25f 80%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(255,255,255,.85)) drop-shadow(0 10px 26px rgba(217,111,69,.32));}
.hero h1::after{content:'';display:block;width:96px;height:6px;margin:16px auto 0;border-radius:6px;background:linear-gradient(90deg,transparent,var(--warm-400) 30%,var(--leaf-500) 70%,transparent);}
.hero p{margin:22px auto 34px;font-size:16px;}
.heroeyebrow{background:linear-gradient(90deg,rgba(217,111,69,.10),rgba(154,171,130,.12),rgba(217,111,69,.10));border-color:rgba(217,111,69,.22);}
.stats span{border-color:rgba(233,217,192,.9);background:rgba(255,253,248,.88);}

/* ---------- 商品卡 · hover 抬升 + 顶部渐变色条 + 价格强化 ---------- */
.card{position:relative;border-color:var(--line-300);}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--warm-400),var(--leaf-500));opacity:.9;z-index:3;}
.card:hover::before{opacity:1;height:8px;background:linear-gradient(90deg,var(--warm-400),var(--leaf-500));}
.card:hover{transform:translateY(-10px);box-shadow:0 16px 34px rgba(138,62,30,.18),0 28px 56px rgba(138,62,30,.14);}
.card:hover .ph img{transform:scale(1.12);}
.meta{padding-top:10px;border-top:1px dashed var(--line-300);}
.pr{font-size:21px;letter-spacing:.3px;text-shadow:0 1px 0 rgba(255,255,255,.6);}
.pr i{font-size:13px;}
.pr s{font-size:12.5px;}
.addbtn{margin-top:14px;}

/* ---------- 首页楼层节奏 ---------- */
.sec{margin:58px 0 22px;}
.sec small{letter-spacing:2.5px;}
.bannersec{margin:30px 0 4px;}
.storegrid{margin-bottom:6px;}
.grid{margin-bottom:10px;}
h2.sec:first-child{margin-top:38px;}
.foot{margin-top:64px;}

/* =========================================================
   金陵优品汇 · 海报视觉增强层 v4
   主视觉轮播 / 楼层海报条 / 中插通栏促销位
   暖米色+朱砂橘延续，禁 AI 套色（深青底紫蓝渐变霓虹）
   ========================================================= */

/* ---------- 主视觉轮播 ---------- */
.heroslider{position:relative;margin:24px auto 4px;max-width:1200px;overflow:hidden;border-radius:20px;box-shadow:var(--shadow-hover);}
.hs-viewport{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1);}
.hs-slide{position:relative;flex:0 0 100%;width:100%;height:380px;display:flex;align-items:center;overflow:hidden;color:var(--ink-900);}
.hs-slide::after{content:'';position:absolute;left:0;top:0;bottom:0;width:64%;background:linear-gradient(90deg,rgba(255,253,248,.94) 0%,rgba(255,253,248,.62) 58%,transparent 100%);z-index:1;}
.hs-slide.t1{background:linear-gradient(120deg,#fdf3ec 0%,#f9e3d5 52%,#e8a482 100%);}
.hs-slide.t2{background:linear-gradient(120deg,#fdf1ec 0%,#f7ddd0 52%,#ecc2a8 100%);}
.hs-slide.t3{background:linear-gradient(120deg,#fbf1e3 0%,#f3dcc2 52%,#e3bc93 100%);}
.hs-slide.t4{background:linear-gradient(120deg,#f4f2e6 0%,#e4e8d2 52%,#c8d2ae 100%);}
.hs-slide.t5{background:linear-gradient(120deg,#f7efE3 0%,#efe0c8 52%,#dcc19c 100%);}
.hs-slide .hs-txt{position:relative;z-index:2;padding:36px 6% 36px 5%;max-width:64%;}
.hs-eyebrow{display:inline-block;background:var(--grad);color:#fff;font-size:12px;font-weight:800;letter-spacing:3px;padding:6px 16px;border-radius:18px;box-shadow:0 6px 16px rgba(217,111,69,.35);}
.hs-title{margin:16px 0 10px;font-size:40px;line-height:1.22;font-weight:900;letter-spacing:1px;}
.hs-title b{display:block;color:var(--ink-900);}
.hs-title em{display:block;font-style:normal;color:var(--warm-500);text-shadow:0 2px 0 rgba(255,255,255,.7);}
.hs-slide.t4 .hs-title em{color:var(--leaf-700);}
.hs-desc{font-size:14.5px;color:var(--ink-500);max-width:420px;margin-bottom:18px;line-height:1.7;}
.hs-cta{display:flex;align-items:center;gap:12px;}
.hs-badge{display:inline-block;background:var(--warm-500);color:#fff;font-size:13px;font-weight:900;letter-spacing:1px;padding:8px 16px;border-radius:10px;box-shadow:0 6px 16px rgba(194,87,46,.4);}
.hs-slide.t4 .hs-badge{background:var(--leaf-700);box-shadow:0 6px 16px rgba(107,127,78,.4);}
.hs-btn{display:inline-block;background:#fff;color:var(--warm-600);font-size:14px;font-weight:900;letter-spacing:1px;padding:10px 22px;border-radius:24px;box-shadow:0 8px 20px rgba(138,62,30,.18);transition:.2s;}
.hs-slide.t4 .hs-btn{color:var(--leaf-900);}
.hs-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(138,62,30,.28);}
.hs-img{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:32%;aspect-ratio:1/1;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px rgba(138,62,30,.28);border:6px solid rgba(255,255,255,.7);z-index:2;}
.hs-img img{width:100%;height:100%;object-fit:cover;display:block;}
.hs-dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:8px;z-index:3;}
.hs-dots button{width:9px;height:9px;border:none;border-radius:50%;background:rgba(255,255,255,.65);box-shadow:0 1px 4px rgba(0,0,0,.25);padding:0;transition:.2s;}
.hs-dots button:hover{background:#fff;}
.hs-dots button.on{width:26px;border-radius:6px;background:var(--warm-400);}
.hs-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border:none;border-radius:50%;background:rgba(255,253,248,.85);color:var(--warm-600);font-size:24px;line-height:1;box-shadow:0 6px 18px rgba(138,62,30,.2);transition:.2s;backdrop-filter:blur(4px);}
.hs-arrow:hover{background:var(--grad);color:#fff;}
.hs-arrow.prev{left:16px;}
.hs-arrow.next{right:16px;}

/* ---------- 楼层海报条（店铺/品类入口横幅 · 21:9 左文案右图） ---------- */
.floorbar{position:relative;margin:-24px -22px 16px;height:96px;border-radius:16px 16px 0 0;overflow:hidden;background:var(--bg-2);z-index:1;}
.fbimg{position:absolute;inset:0;}
.fbimg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.floorbar::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,35,28,.66) 0%,rgba(42,35,28,.28) 52%,transparent 80%);}
.fbtxt{position:absolute;left:18px;top:50%;transform:translateY(-50%);z-index:2;color:#fff;max-width:62%;}
.fbtxt b{display:block;font-size:18px;font-weight:900;letter-spacing:1px;text-shadow:0 2px 8px rgba(0,0,0,.4);}
.fbtxt span{display:block;font-size:12px;margin-top:4px;opacity:.94;line-height:1.5;text-shadow:0 1px 5px rgba(0,0,0,.45);}
.storetile:hover .floorbar .fbimg img{transform:scale(1.06);}
.fbimg img{transition:transform .5s ease;}

/* ---------- 中插通栏促销位（限时秒杀 / 换季清仓） ---------- */
.promorow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 2px;}
.promo{position:relative;display:flex;align-items:center;border-radius:18px;overflow:hidden;height:150px;box-shadow:var(--shadow-card);transition:transform .22s,box-shadow .22s;color:#fff;}
.promo:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}
.promo::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.16),transparent 58%);z-index:1;}
.promo.sec{background:linear-gradient(120deg,var(--warm-600) 0%,var(--warm-400) 58%,var(--warm-300) 100%);}
.promo.leaf{background:linear-gradient(120deg,var(--leaf-900) 0%,var(--leaf-500) 58%,#c2cdac 100%);}
.pb-txt{position:relative;z-index:2;padding:20px 6% 20px 24px;max-width:62%;}
.pb-eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:3px;padding:4px 12px;border-radius:14px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);}
.pb-title{display:block;font-size:22px;font-weight:900;letter-spacing:1px;margin:10px 0 6px;line-height:1.3;}
.pb-desc{font-size:12.5px;opacity:.92;margin-bottom:12px;line-height:1.6;}
.pb-cta{display:flex;align-items:center;gap:10px;}
.pb-badge{display:inline-block;background:#fff;color:var(--warm-600);font-size:12.5px;font-weight:900;padding:6px 14px;border-radius:16px;box-shadow:0 6px 14px rgba(0,0,0,.16);}
.promo.leaf .pb-badge{color:var(--leaf-900);}
.pb-btn{display:inline-block;font-size:12.5px;font-weight:900;letter-spacing:1px;padding:7px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.16);backdrop-filter:blur(3px);transition:.2s;}
.pb-btn:hover{background:#fff;color:var(--warm-600);}
.promo.leaf .pb-btn:hover{color:var(--leaf-900);}
.pb-img{position:absolute;right:3%;width:30%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.26);border:4px solid rgba(255,255,255,.5);z-index:2;}
.pb-img img{width:100%;height:100%;object-fit:cover;display:block;}
.promo .tag{background:rgba(255,255,255,.92);color:var(--err);}

/* ---------- 海报层响应式 ---------- */
@media(max-width:860px){
  .hs-slide{height:320px;}
  .hs-img{width:34%;right:3%;}
  .hs-txt{max-width:62%;padding:28px 4%;}
  .hs-title{font-size:32px;}
}
@media(max-width:640px){
  .heroslider{border-radius:16px;}
  .hs-slide{height:360px;align-items:flex-start;}
  .hs-slide::after{width:100%;height:58%;top:auto;bottom:0;background:linear-gradient(0deg,rgba(255,253,248,.96) 0%,rgba(255,253,248,.6) 60%,transparent 100%);}
  .hs-img{width:38%;right:4%;top:8%;transform:none;}
  .hs-txt{max-width:100%;padding:238px 20px 30px;}
  .hs-title{font-size:28px;}
  .hs-dots{bottom:12px;}
  .hs-arrow{width:34px;height:34px;font-size:18px;}
  .hs-arrow.prev{left:8px;}
  .hs-arrow.next{right:8px;}
  .promorow{grid-template-columns:1fr;}
  .promo{height:142px;}
  .floorbar{height:88px;}
}
