@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&family=Noto+Serif+SC:wght@400;600&display=swap');

:root{
  --bg:#f5f5f5;
  --bg2:#fff;
  --pri:#e4171b;
  --pri2:#c0100f;
  --acc:#ff6b00;
  --acc2:#ff9500;
  --gold:#f5a623;
  --ink:#1a1a1a;
  --ink2:#333;
  --ink3:#666;
  --ink4:#999;
  --line:#e8e8e8;
  --line2:#d0d0d0;
  --green:#12b76a;
  --blue:#1677ff;
  --serif:'Noto Serif SC',serif;
  --sans:'Noto Sans SC',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
ul,ol{list-style:none;}
button{cursor:pointer;font-family:var(--sans);}

/* ── TOP UTILITY BAR ── */
.util-bar{background:#222;padding:0;}
.util-bar-inner{
  max-width:1280px;margin:0 auto;padding:0 20px;
  height:34px;display:flex;align-items:center;justify-content:center;gap:24px;
  font-size:12px;color:rgba(255,255,255,.5);
}
.util-bar a{color:rgba(255,255,255,.5);transition:color .15s;}
.util-bar a:hover{color:#fff;}
.util-left{display:flex;gap:16px;align-items:center;}
.util-right{display:flex;gap:16px;align-items:center;}
.util-right a{position:relative;}
.cart-badge{
  position:absolute;top:-6px;right:-10px;
  background:var(--pri);color:#fff;
  font-size:10px;min-width:16px;height:16px;
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  padding:0 3px;font-weight:700;
}

/* ── HEADER ── */
.mall-header{background:#fff;border-bottom:2px solid var(--pri);box-shadow:0 2px 8px rgba(0,0,0,.06);}
.mall-header-inner{
  max-width:1280px;margin:0 auto;padding:0 20px;
  height:72px;display:flex;align-items:center;gap:24px;
  justify-content:center;
}
.mall-logo{display:flex;align-items:center;gap:0;text-decoration:none;flex-shrink:0;}
.mall-logo-text{font-family:var(--serif);font-size:20px;color:var(--ink);font-weight:600;letter-spacing:.04em;}
.mall-logo-text em{font-style:normal;color:var(--pri);}
.mall-logo-sub{font-size:10px;color:var(--ink4);letter-spacing:.08em;margin-top:2px;}
.header-search{flex:0 1 500px;display:flex;}
.header-search input{
  flex:1;height:42px;border:2px solid var(--pri);
  padding:0 16px;font-size:14px;outline:none;
  font-family:var(--sans);border-right:none;
}
.header-search button{
  width:80px;height:42px;background:var(--pri);color:#fff;
  border:none;font-size:14px;font-weight:500;transition:background .2s;
}
.header-search button:hover{background:var(--pri2);}
.header-actions{display:flex;gap:16px;align-items:center;}
.header-actions a{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  font-size:11px;color:var(--ink3);transition:color .2s;
  white-space:nowrap;
}
.header-actions a:hover{color:var(--pri);}
.header-actions .icon{font-size:22px;line-height:1;}
.header-actions .cart-btn{
  position:relative;background:var(--pri);color:#fff;
  padding:8px 20px;font-size:13px;font-weight:500;border-radius:2px;
  flex-direction:row;gap:6px;
}
.header-actions .cart-btn:hover{background:var(--pri2);color:#fff;}

/* ── CATEGORY NAV ── */
.cat-nav{background:#fff;border-bottom:1px solid var(--line);}
.cat-nav-inner{
  max-width:1280px;margin:0 auto;padding:0 20px;
  display:flex;align-items:center;justify-content:center;
}
.cat-nav a{
  padding:11px 16px;font-size:13px;color:var(--ink3);
  border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap;
}
.cat-nav a:hover,.cat-nav a.active{color:var(--pri);border-bottom-color:var(--pri);}
.cat-nav .back-main{color:var(--ink4);font-size:12px;border-right:1px solid var(--line);margin-right:8px;padding-right:20px;}
.cat-nav .back-main:hover{color:var(--pri);border-bottom:2px solid transparent;}

/* ── PAGE WRAP ── */
.mall-wrap{max-width:1280px;margin:0 auto;padding:16px 20px;}

/* ── BREADCRUMB ── */
.m-breadcrumb{
  font-size:12px;color:var(--ink4);margin-bottom:16px;
  display:flex;align-items:center;gap:6px;
}
.m-breadcrumb a{color:var(--ink3);}
.m-breadcrumb a:hover{color:var(--pri);}
.m-breadcrumb .sep{color:var(--line2);}

/* ── HOMEPAGE BANNER ── */
.home-layout{display:grid;grid-template-columns:200px 1fr;gap:2px;margin-bottom:16px;}
.side-cats{background:#fff;}
.side-cats-title{
  background:var(--pri);color:#fff;padding:12px 16px;
  font-size:13px;font-weight:600;letter-spacing:.04em;
}
.side-cat-item{
  padding:10px 16px;font-size:13px;color:var(--ink2);
  border-bottom:1px solid var(--line);cursor:pointer;
  transition:all .2s;display:flex;align-items:center;justify-content:space-between;
}
.side-cat-item:hover,.side-cat-item.active{background:#fff5f5;color:var(--pri);padding-left:20px;}
.side-cat-item .arr{color:var(--ink4);font-size:12px;}
.banner-area{display:flex;flex-direction:column;gap:2px;}
.main-banner{
  height:380px;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
}
.main-banner::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 70% 50%, rgba(228,23,27,.15) 0%, transparent 70%);
}
.banner-content{position:relative;text-align:center;color:#fff;}
.banner-content h2{font-size:36px;font-weight:700;margin-bottom:8px;font-family:var(--serif);}
.banner-content h2 em{font-style:normal;color:var(--acc2);}
.banner-content p{font-size:14px;color:rgba(255,255,255,.6);margin-bottom:20px;}
.banner-content a{
  display:inline-block;background:var(--pri);color:#fff;
  padding:10px 32px;font-size:14px;font-weight:600;border-radius:2px;
  transition:background .2s;
}
.banner-content a:hover{background:var(--pri2);}
.banner-mini{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.mini-banner{
  height:90px;display:flex;align-items:center;padding:0 24px;
  font-size:14px;font-weight:600;color:#fff;
}
.mini-banner:nth-child(1){background:linear-gradient(135deg,#e4171b,#ff6b6b);}
.mini-banner:nth-child(2){background:linear-gradient(135deg,#ff6b00,#ffa94d);}
.mini-banner:nth-child(3){background:linear-gradient(135deg,#1677ff,#69b1ff);}
.mini-banner:nth-child(4){background:linear-gradient(135deg,#12b76a,#6ce5b1);}

/* ── SECTION TITLE ── */
.sec-title{
  display:flex;align-items:center;justify-content:space-between;
  margin:24px 0 14px;padding-bottom:10px;border-bottom:2px solid var(--line);
}
.sec-title h3{
  font-size:18px;font-weight:700;color:var(--ink);
  display:flex;align-items:center;gap:10px;
}
.sec-title h3::before{content:'';display:inline-block;width:4px;height:20px;background:var(--pri);border-radius:2px;}
.sec-title a{font-size:12px;color:var(--ink4);}
.sec-title a:hover{color:var(--pri);}

/* ── PRODUCT GRID ── */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.prod-grid.cols3{grid-template-columns:repeat(3,1fr);}
.prod-card{
  background:#fff;border:1px solid #e8e8e8;
  transition:box-shadow .2s;cursor:pointer;display:block;
  overflow:hidden;text-decoration:none;border-radius:4px;
}
.prod-card:hover{box-shadow:0 2px 12px rgba(0,0,0,.12);border-color:#ccc;}
/* 图片区：白底，图片居中，固定正方形 */
.prod-img{
  width:100%;padding-top:100%;position:relative;
  background:#fff;overflow:hidden;
}
.prod-img img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;padding:6%;
}
.prod-img-emoji{
  position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;font-size:56px;
}
/* 信息区 */
.prod-info{padding:8px 10px 12px;background:#fff;}
.prod-name{
  font-size:13px;color:#333;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;margin-bottom:6px;min-height:39px;
}
/* 价格行 */
.prod-price-row{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;margin-bottom:5px;}
.prod-price{font-size:18px;color:#e4171b;font-weight:700;line-height:1;}
.prod-price small{font-size:12px;font-weight:400;margin-right:1px;}
.prod-ori-price{font-size:12px;color:#999;text-decoration:line-through;}
.prod-discount{font-size:11px;background:#e4171b;color:#fff;padding:1px 4px;border-radius:2px;font-weight:600;white-space:nowrap;}
/* 底部元信息 */
.prod-meta-row{display:flex;align-items:center;justify-content:space-between;}
.prod-sold{font-size:11px;color:#999;}
.prod-shop-tag{font-size:11px;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:56%;}
.prod-shop-tag a{color:#999;text-decoration:none;}

/* ── SHOP CARDS ── */
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.shop-card{
  background:#fff;border:1px solid var(--line);padding:16px;
  transition:all .2s;
}
.shop-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);border-color:var(--pri);}
.shop-icon{width:56px;height:56px;background:var(--bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:10px;}
.shop-name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px;}
.shop-badge{display:inline-block;padding:2px 8px;font-size:10px;background:#fff3e0;color:var(--acc);border-radius:2px;margin-bottom:6px;}
.shop-badge.auth{background:#e8f5e9;color:var(--green);}
.shop-stats{font-size:11px;color:var(--ink4);}
.shop-stats span{margin-right:10px;}

/* ── PRODUCT DETAIL ── */
.prod-detail-layout{display:grid;grid-template-columns:460px 1fr;gap:24px;align-items:start;}
.prod-gallery{background:#fff;border:1px solid var(--line);padding:16px;}
.gallery-main{width:100%;aspect-ratio:1;background:#f8f8f8;display:flex;align-items:center;justify-content:center;font-size:80px;margin-bottom:12px;}
.gallery-thumbs{display:flex;gap:8px;}
.gallery-thumb{
  width:60px;height:60px;background:#f8f8f8;border:2px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:24px;
  cursor:pointer;flex-shrink:0;
}
.gallery-thumb.active{border-color:var(--pri);}
.prod-info-panel{background:#fff;border:1px solid var(--line);padding:20px;}
.prod-detail-name{font-size:20px;font-weight:600;color:var(--ink);line-height:1.5;margin-bottom:12px;}
.prod-detail-tags{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.prod-tag{padding:2px 8px;font-size:11px;border-radius:2px;}
.prod-tag.red{background:#ffebee;color:var(--pri);}
.prod-tag.orange{background:#fff3e0;color:var(--acc);}
.prod-tag.blue{background:#e3f2fd;color:var(--blue);}
.prod-price-box{background:#fff5f5;padding:16px;margin-bottom:16px;}
.prod-price-now{font-size:32px;color:var(--pri);font-weight:700;}
.prod-price-now small{font-size:14px;}
.prod-price-ori{font-size:13px;color:var(--ink4);text-decoration:line-through;margin-left:8px;}
.prod-price-save{font-size:12px;color:var(--acc);margin-left:8px;}
.prod-spec-row{display:flex;gap:0;margin-bottom:14px;align-items:flex-start;}
.prod-spec-label{width:70px;font-size:13px;color:var(--ink3);flex-shrink:0;padding-top:6px;}
.prod-spec-opts{display:flex;flex-wrap:wrap;gap:8px;}
.spec-opt{
  padding:5px 14px;border:1px solid var(--line2);font-size:13px;
  cursor:pointer;transition:all .2s;background:#fff;
}
.spec-opt:hover,.spec-opt.active{border-color:var(--pri);color:var(--pri);background:#fff5f5;}
.qty-row{display:flex;align-items:center;gap:0;margin-bottom:20px;}
.qty-btn{width:32px;height:32px;border:1px solid var(--line2);background:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.qty-btn:hover{border-color:var(--pri);color:var(--pri);}
.qty-input{width:50px;height:32px;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);border-left:none;border-right:none;text-align:center;font-size:14px;outline:none;}
.btn-addcart{
  flex:1;height:48px;background:#fff;border:2px solid var(--pri);
  color:var(--pri);font-size:16px;font-weight:600;transition:all .2s;border-radius:2px;
  margin-right:10px;
}
.btn-addcart:hover{background:#fff5f5;}
.btn-buynow{
  flex:1;height:48px;background:var(--pri);color:#fff;
  border:none;font-size:16px;font-weight:600;transition:background .2s;border-radius:2px;
}
.btn-buynow:hover{background:var(--pri2);}
.shop-info-card{
  display:flex;align-items:center;gap:12px;padding:14px;
  border:1px solid var(--line);margin-top:14px;background:#fafafa;
}
.shop-info-icon{font-size:32px;}
.shop-info-name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:2px;}
.shop-info-stats{font-size:11px;color:var(--ink4);}
.shop-info-card a{margin-left:auto;padding:6px 14px;border:1px solid var(--line2);font-size:12px;color:var(--ink3);border-radius:2px;}
.shop-info-card a:hover{border-color:var(--pri);color:var(--pri);}
.prod-tabs{border:1px solid var(--line);margin-top:16px;background:#fff;}
.prod-tab-header{display:flex;border-bottom:1px solid var(--line);}
.prod-tab-btn{
  padding:12px 24px;font-size:14px;color:var(--ink3);border-bottom:2px solid transparent;
  cursor:pointer;transition:all .2s;background:none;border-left:none;border-right:none;border-top:none;
}
.prod-tab-btn.active{color:var(--pri);border-bottom-color:var(--pri);}
.prod-tab-body{padding:20px;}
.prod-spec-table{width:100%;border-collapse:collapse;font-size:13px;}
.prod-spec-table td{padding:8px 12px;border:1px solid var(--line);}
.prod-spec-table tr:nth-child(even) td{background:#fafafa;}
.prod-spec-table td:first-child{width:120px;color:var(--ink3);background:#f5f5f5;}

/* ── CART ── */
.cart-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start;}
.cart-table{background:#fff;border:1px solid var(--line);}
.cart-header{
  display:grid;grid-template-columns:32px 1fr 120px 120px 100px 80px;
  padding:12px 16px;background:#f5f5f5;border-bottom:1px solid var(--line);
  font-size:13px;color:var(--ink3);gap:12px;
}
.cart-item{
  display:grid;grid-template-columns:32px 1fr 120px 120px 100px 80px;
  padding:16px;border-bottom:1px solid var(--line);gap:12px;align-items:center;
}
.cart-item:last-child{border-bottom:none;}
.cart-item-img{width:80px;height:80px;background:#f8f8f8;display:flex;align-items:center;justify-content:center;font-size:36px;flex-shrink:0;}
.cart-item-info{display:flex;align-items:flex-start;gap:12px;}
.cart-item-name{font-size:13px;color:var(--ink2);line-height:1.5;margin-bottom:4px;}
.cart-item-spec{font-size:11px;color:var(--ink4);}
.cart-item-price{font-size:16px;color:var(--pri);font-weight:600;text-align:center;}
.cart-item-qty{display:flex;align-items:center;justify-content:center;gap:0;}
.cart-item-total{font-size:16px;color:var(--pri);font-weight:700;text-align:center;}
.cart-item-del{text-align:center;}
.cart-item-del button{background:none;border:none;color:var(--ink4);font-size:12px;cursor:pointer;}
.cart-item-del button:hover{color:var(--pri);}
.cart-empty{padding:60px;text-align:center;color:var(--ink4);}
.cart-empty .empty-icon{font-size:64px;margin-bottom:16px;}
.cart-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;background:#fafafa;border-top:1px solid var(--line);
}
.cart-summary{background:#fff;border:1px solid var(--line);padding:20px;}
.cart-summary h3{font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line);}
.summary-row{display:flex;justify-content:space-between;font-size:13px;color:var(--ink3);margin-bottom:10px;}
.summary-row.total{font-size:18px;color:var(--pri);font-weight:700;color:var(--pri);padding-top:12px;border-top:1px solid var(--line);margin-top:4px;}
.btn-checkout{
  display:block;width:100%;padding:14px;background:var(--pri);color:#fff;
  text-align:center;font-size:16px;font-weight:600;border:none;border-radius:2px;
  margin-top:16px;transition:background .2s;
}
.btn-checkout:hover{background:var(--pri2);}
.cart-shop-group{border-bottom:2px solid var(--line);}
.cart-shop-label{
  padding:10px 16px;background:#fafafa;border-bottom:1px solid var(--line);
  font-size:13px;color:var(--ink3);display:flex;align-items:center;gap:6px;
}

/* ── CHECKOUT ── */
.checkout-layout{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start;}
.checkout-section{background:#fff;border:1px solid var(--line);padding:20px;margin-bottom:12px;}
.checkout-section h3{font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;}
.checkout-section h3 .step-num{
  width:24px;height:24px;background:var(--pri);color:#fff;
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;
}
.addr-card{
  border:2px solid var(--line);padding:16px;margin-bottom:10px;cursor:pointer;
  transition:all .2s;display:flex;align-items:flex-start;gap:12px;
}
.addr-card.selected{border-color:var(--pri);background:#fff5f5;}
.addr-card input[type=radio]{margin-top:3px;flex-shrink:0;accent-color:var(--pri);}
.addr-name{font-size:14px;font-weight:600;margin-bottom:4px;}
.addr-phone{color:var(--ink3);font-size:13px;}
.addr-detail{font-size:13px;color:var(--ink2);margin-top:4px;}
.addr-tag{display:inline-block;padding:1px 6px;font-size:10px;background:#ffebee;color:var(--pri);border-radius:2px;margin-left:6px;}
.btn-add-addr{
  border:1px dashed var(--line2);background:#fff;padding:12px;
  font-size:13px;color:var(--ink3);cursor:pointer;display:flex;align-items:center;
  justify-content:center;gap:6px;width:100%;transition:all .2s;
}
.btn-add-addr:hover{border-color:var(--pri);color:var(--pri);}
.pay-method{display:flex;gap:10px;flex-wrap:wrap;}
.pay-opt{
  border:2px solid var(--line);padding:12px 20px;cursor:pointer;
  transition:all .2s;display:flex;align-items:center;gap:8px;font-size:14px;
}
.pay-opt.selected{border-color:var(--pri);background:#fff5f5;}
.pay-opt .pay-icon{font-size:20px;}
.checkout-items{background:#fff;border:1px solid var(--line);padding:0;}
.checkout-item{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);align-items:center;}
.checkout-item:last-child{border-bottom:none;}
.checkout-item-img{width:60px;height:60px;background:#f8f8f8;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;}
.checkout-item-name{font-size:13px;color:var(--ink2);flex:1;}
.checkout-item-price{font-size:14px;color:var(--pri);font-weight:600;white-space:nowrap;}
.order-summary-box{background:#fff;border:1px solid var(--line);padding:20px;position:sticky;top:80px;}
.order-summary-box h3{font-size:15px;font-weight:600;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.coupon-input{display:flex;gap:8px;margin-bottom:14px;}
.coupon-input input{flex:1;padding:8px 12px;border:1px solid var(--line2);font-size:13px;outline:none;}
.coupon-input input:focus{border-color:var(--pri);}
.coupon-input button{padding:8px 14px;background:var(--bg);border:1px solid var(--line2);font-size:13px;transition:all .2s;}
.coupon-input button:hover{border-color:var(--pri);color:var(--pri);}
.btn-place-order{
  display:block;width:100%;padding:14px;background:var(--pri);color:#fff;
  text-align:center;font-size:16px;font-weight:700;border:none;border-radius:2px;
  margin-top:16px;transition:background .2s;
}
.btn-place-order:hover{background:var(--pri2);}

/* ── ORDER SUCCESS ── */
.order-success{text-align:center;background:#fff;padding:60px 40px;border:1px solid var(--line);}
.success-icon{font-size:64px;margin-bottom:16px;}
.order-success h2{font-size:24px;font-weight:700;color:var(--green);margin-bottom:8px;}
.order-success p{font-size:14px;color:var(--ink3);margin-bottom:24px;}
.order-no{display:inline-block;padding:8px 20px;background:#f5f5f5;font-size:13px;color:var(--ink3);border-radius:2px;margin-bottom:24px;}
.order-actions{display:flex;gap:12px;justify-content:center;}
.btn-outline{padding:10px 24px;border:1px solid var(--line2);font-size:14px;color:var(--ink3);background:#fff;border-radius:2px;transition:all .2s;}
.btn-outline:hover{border-color:var(--pri);color:var(--pri);}
.btn-primary{padding:10px 24px;background:var(--pri);color:#fff;font-size:14px;font-weight:600;border:none;border-radius:2px;transition:background .2s;}
.btn-primary:hover{background:var(--pri2);}

/* ── ORDERS LIST ── */
.orders-layout{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:start;}
.user-sidebar{background:#fff;border:1px solid var(--line);}
.user-sidebar-head{padding:20px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;}
.user-avatar{width:40px;height:40px;background:var(--pri);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700;}
.user-sidebar-name{font-size:14px;font-weight:600;}
.user-sidebar-level{font-size:11px;color:var(--ink4);}
.user-nav a{
  display:flex;align-items:center;gap:8px;padding:11px 16px;
  font-size:13px;color:var(--ink2);border-bottom:1px solid var(--line);
  transition:all .2s;
}
.user-nav a:hover,.user-nav a.active{color:var(--pri);background:#fff5f5;border-left:2px solid var(--pri);}
.orders-main{background:#fff;border:1px solid var(--line);}
.orders-tabs{display:flex;border-bottom:1px solid var(--line);}
.order-tab{
  padding:12px 20px;font-size:13px;color:var(--ink3);cursor:pointer;
  border-bottom:2px solid transparent;background:none;border-left:none;border-right:none;border-top:none;
  transition:all .2s;
}
.order-tab.active{color:var(--pri);border-bottom-color:var(--pri);}
.order-card{border-bottom:1px solid var(--line);padding:16px;}
.order-card:last-child{border-bottom:none;}
.order-card-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 12px;background:#fafafa;border:1px solid var(--line);
  font-size:12px;color:var(--ink3);margin-bottom:10px;
}
.order-card-head .order-no-label{color:var(--ink2);}
.order-card-head .order-status{color:var(--pri);font-weight:600;}
.order-card-head .order-status.green{color:var(--green);}
.order-prod-row{display:flex;gap:12px;align-items:center;margin-bottom:8px;}
.order-prod-img{width:60px;height:60px;background:#f8f8f8;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;}
.order-prod-name{font-size:13px;color:var(--ink2);flex:1;}
.order-prod-price{font-size:14px;color:var(--pri);font-weight:600;white-space:nowrap;}
.order-card-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--line);}
.btn-sm{padding:6px 14px;font-size:12px;border:1px solid var(--line2);background:#fff;border-radius:2px;transition:all .2s;}
.btn-sm:hover{border-color:var(--pri);color:var(--pri);}
.btn-sm.pri{background:var(--pri);color:#fff;border-color:var(--pri);}
.btn-sm.pri:hover{background:var(--pri2);}

/* ── SHOP PAGE ── */
.shop-header-band{background:linear-gradient(135deg,#1a1a2e,#16213e);padding:24px 0;}
.shop-header-inner{max-width:1280px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:20px;}
.shop-logo-big{width:72px;height:72px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:36px;}
.shop-header-info .shop-header-name{font-size:22px;font-weight:700;color:#fff;margin-bottom:6px;}
.shop-header-badges{display:flex;gap:8px;margin-bottom:8px;}
.shop-hbadge{padding:2px 10px;font-size:11px;border-radius:20px;font-weight:500;}
.shop-hbadge.auth{background:rgba(18,183,106,.2);color:#6ce5b1;}
.shop-hbadge.years{background:rgba(255,165,35,.2);color:var(--acc2);}
.shop-header-stats{display:flex;gap:24px;}
.shop-stat-item{text-align:center;color:rgba(255,255,255,.7);}
.shop-stat-item strong{display:block;font-size:18px;color:#fff;font-weight:700;}
.shop-stat-item span{font-size:11px;}
.shop-follow-btn{margin-left:auto;padding:10px 24px;background:var(--pri);color:#fff;border:none;border-radius:2px;font-size:14px;font-weight:600;transition:background .2s;}
.shop-follow-btn:hover{background:var(--pri2);}

/* ── MERCHANT APPLY ── */
.merchant-wrap{max-width:900px;margin:0 auto;padding:24px 20px;}
.merchant-hero{
  background:linear-gradient(135deg,#1a1a2e,#2d1545);
  padding:48px;text-align:center;margin-bottom:24px;
}
.merchant-hero h1{font-size:32px;color:#fff;font-weight:700;margin-bottom:8px;}
.merchant-hero h1 em{font-style:normal;color:var(--acc2);}
.merchant-hero p{font-size:14px;color:rgba(255,255,255,.6);}
.merchant-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:24px;background:#fff;border:1px solid var(--line);}
.merchant-step{padding:20px;text-align:center;border-right:1px solid var(--line);}
.merchant-step:last-child{border-right:none;}
.step-num-big{width:36px;height:36px;background:var(--pri);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;margin:0 auto 8px;}
.step-title{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px;}
.step-desc{font-size:12px;color:var(--ink4);}
.merchant-form{background:#fff;border:1px solid var(--line);padding:28px;}
.merchant-form h2{font-size:18px;font-weight:600;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--line);}
.form-section{margin-bottom:24px;}
.form-section-title{font-size:14px;font-weight:600;color:var(--pri);margin-bottom:14px;display:flex;align-items:center;gap:6px;}
.form-section-title::before{content:'';display:inline-block;width:3px;height:16px;background:var(--pri);border-radius:2px;}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.f-item{margin-bottom:16px;}
.f-item label{display:block;font-size:13px;color:var(--ink3);margin-bottom:6px;}
.f-item label .req{color:var(--pri);}
.f-item input,.f-item select,.f-item textarea{
  width:100%;padding:10px 12px;border:1px solid var(--line2);
  font-size:14px;color:var(--ink);font-family:var(--sans);
  outline:none;transition:border .2s;
}
.f-item input:focus,.f-item select:focus,.f-item textarea:focus{border-color:var(--pri);}
.f-item textarea{resize:vertical;min-height:80px;}
.upload-box{
  border:2px dashed var(--line2);padding:24px;text-align:center;
  cursor:pointer;transition:all .2s;
}
.upload-box:hover{border-color:var(--pri);background:#fff5f5;}
.upload-icon{font-size:32px;margin-bottom:8px;}
.upload-hint{font-size:12px;color:var(--ink4);}
.agreement-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--ink3);}
.agreement-check input{margin-top:2px;accent-color:var(--pri);}
.agreement-check a{color:var(--pri);}
.btn-apply{
  width:100%;padding:14px;background:var(--pri);color:#fff;
  border:none;font-size:16px;font-weight:700;border-radius:2px;
  margin-top:20px;transition:background .2s;
}
.btn-apply:hover{background:var(--pri2);}

/* ── MERCHANT DASHBOARD ── */
.dashboard-layout{display:grid;grid-template-columns:220px 1fr;gap:0;min-height:calc(100vh - 108px);}
.dash-sidebar{background:#1a1a2e;padding:0;}
.dash-logo{padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.08);}
.dash-logo-text{font-size:16px;font-weight:700;color:#fff;}
.dash-logo-sub{font-size:11px;color:rgba(255,255,255,.4);}
.dash-shop-info{padding:16px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;}
.dash-shop-icon{width:40px;height:40px;background:var(--pri);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:20px;}
.dash-shop-name{font-size:13px;font-weight:600;color:#fff;}
.dash-shop-status{font-size:11px;color:var(--green);}
.dash-nav a{
  display:flex;align-items:center;gap:10px;padding:12px 16px;
  font-size:13px;color:rgba(255,255,255,.55);border-left:3px solid transparent;
  transition:all .2s;
}
.dash-nav a:hover,.dash-nav a.active{color:#fff;background:rgba(255,255,255,.06);border-left-color:var(--pri);}
.dash-nav .nav-section{padding:16px 16px 8px;font-size:11px;color:rgba(255,255,255,.25);letter-spacing:.08em;}
.dash-main{background:var(--bg);padding:24px;}
.dash-header{margin-bottom:20px;}
.dash-header h1{font-size:22px;font-weight:700;color:var(--ink);}
.dash-header p{font-size:13px;color:var(--ink3);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;}
.stat-card{background:#fff;border:1px solid var(--line);padding:16px;}
.stat-card-label{font-size:12px;color:var(--ink4);margin-bottom:8px;}
.stat-card-val{font-size:28px;font-weight:700;color:var(--ink);margin-bottom:4px;}
.stat-card-val em{font-style:normal;font-size:14px;font-weight:400;color:var(--ink3);}
.stat-card-change{font-size:12px;}
.stat-card-change.up{color:var(--pri);}
.stat-card-change.down{color:var(--green);}
.dash-section{background:#fff;border:1px solid var(--line);padding:16px;margin-bottom:16px;}
.dash-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.dash-section-head h3{font-size:15px;font-weight:600;color:var(--ink);}
.dash-section-head a{font-size:12px;color:var(--pri);}
.dash-table{width:100%;border-collapse:collapse;font-size:13px;}
.dash-table th{text-align:left;padding:8px 12px;background:#f5f5f5;color:var(--ink3);font-weight:500;border-bottom:1px solid var(--line);}
.dash-table td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink2);}
.dash-table tr:last-child td{border-bottom:none;}
.status-badge{display:inline-block;padding:2px 8px;font-size:11px;border-radius:2px;}
.status-badge.pending{background:#fff3e0;color:var(--acc);}
.status-badge.shipped{background:#e3f2fd;color:var(--blue);}
.status-badge.done{background:#e8f5e9;color:var(--green);}
.status-badge.selling{background:#e8f5e9;color:var(--green);}
.status-badge.off{background:#f5f5f5;color:var(--ink4);}
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}
.quick-action{background:#fff;border:1px solid var(--line);padding:16px;text-align:center;cursor:pointer;transition:all .2s;display:block;}
.quick-action:hover{border-color:var(--pri);background:#fff5f5;}
.quick-action .qa-icon{font-size:28px;margin-bottom:6px;}
.quick-action span{font-size:13px;color:var(--ink2);}

/* ── FOOTER ── */
.mall-footer{background:#222;margin-top:32px;}
.mall-footer-main{max-width:1280px;margin:0 auto;padding:32px 20px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:24px;justify-items:center;text-align:center;}
.mf-brand-name{font-size:18px;font-weight:700;color:#fff;margin-bottom:8px;}
.mf-brand-name em{font-style:normal;color:var(--pri);}
.mf-brand-desc{font-size:12px;color:rgba(255,255,255,.4);line-height:1.8;}
.mf-col h4{font-size:13px;color:rgba(255,255,255,.55);margin-bottom:12px;letter-spacing:.06em;}
.mf-col ul li{margin-bottom:8px;}
.mf-col ul a{font-size:13px;color:rgba(255,255,255,.35);transition:color .2s;}
.mf-col ul a:hover{color:#fff;}
.mall-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:14px 20px;max-width:1280px;margin:0 auto;display:flex;justify-content:center;gap:24px;font-size:12px;color:rgba(255,255,255,.2);}
.mall-footer-bottom a{color:rgba(255,255,255,.2);}
.mall-footer-bottom a:hover{color:var(--acc2);}

/* ── MISC ── */
.tag-new{background:#ffebee;color:var(--pri);padding:1px 6px;font-size:10px;border-radius:2px;}
.tag-hot{background:#fff3e0;color:var(--acc);padding:1px 6px;font-size:10px;border-radius:2px;}
.pagination{display:flex;gap:4px;justify-content:center;padding:20px 0;}
.page-btn{width:32px;height:32px;border:1px solid var(--line2);background:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;}
.page-btn:hover,.page-btn.active{border-color:var(--pri);color:var(--pri);}
.notice-bar{background:#fff9e6;border:1px solid #ffe58f;padding:8px 16px;font-size:12px;color:#7d5a00;margin-bottom:16px;display:flex;align-items:center;gap:8px;}

@media(max-width:960px){
  .prod-detail-layout{grid-template-columns:1fr;}
  .cart-layout,.checkout-layout{grid-template-columns:1fr;}
  .orders-layout{grid-template-columns:1fr;}
  .dashboard-layout{grid-template-columns:1fr;}
  .dash-sidebar{display:none;}
  .prod-grid{grid-template-columns:repeat(3,1fr);}
  .home-layout{grid-template-columns:1fr;}
  .side-cats{display:none;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .merchant-steps{grid-template-columns:repeat(2,1fr);}
  .f-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .mall-header-inner{flex-wrap:wrap;height:auto;padding:10px 16px;gap:10px;}
  .header-search{order:3;width:100%;max-width:100%;}
  .cart-header{display:none;}
  .cart-item{grid-template-columns:32px 1fr 80px;gap:8px;}
  .cart-item-qty,.cart-item-total,.cart-item-del{display:none;}
  .mall-footer-main{grid-template-columns:1fr 1fr;}
}
