/* Auto-built from mall_premium.html — do not edit by hand; re-run tools/build_home_premium_css.php */
body.theme-premium.pm-home-page, body.theme-premium .pm-home { --maxw: 1320px; }
/* ============================================================
   臻选商城 · 旗舰版前端模板
   设计理念：奢华质感 · 呼吸留白 · 动效韵律
   ============================================================ */

/* ---- CSS Variables ---- */
body.theme-premium{
  /* Brand */
  --p: #6366F1;
  --pd: #4F46E5;
  --pl: #A5B4FC;
  --p-rgb: 99,102,241;
  /* Accent */
  --c: #10B981;
  --c-rgb: 16,185,129;
  --w: #F59E0B;
  --d: #EF4444;
  --d-rgb: 239,68,68;
  --o: #F97316;
  --i: #3B82F6;
  --i-rgb: 59,130,246;
  /* Surface */
  --bg: #F1F5F9;
  --bg-alt: #F8FAFC;
  --card: #FFFFFF;
  --card-hover: #FAFBFC;
  --glass: rgba(255,255,255,.78);
  /* Text */
  --tx: #0F172A;
  --tl: #475569;
  --txl: #94A3B8;
  --txd: #CBD5E1;
  /* Border */
  --bdr: #E2E8F0;
  --bdr-s: #F1F5F9;
  /* Radius */
  --r-xs: 6px;
  --r-sm: 10px;
  --r: 14px;
  --r-md: 18px;
  --r-lg: 22px;
  --r-xl: 28px;
  --r-full: 9999px;
  /* Shadow */
  --sh-xs: 0 1px 2px rgba(15,23,42,.04);
  --sh-sm: 0 2px 8px rgba(15,23,42,.05);
  --sh: 0 4px 16px rgba(15,23,42,.07);
  --sh-md: 0 8px 30px rgba(15,23,42,.10);
  --sh-lg: 0 16px 48px rgba(15,23,42,.12);
  --sh-xl: 0 24px 64px rgba(15,23,42,.16);
  --sh-p: 0 8px 28px rgba(99,102,241,.30);
  --sh-p-sm: 0 4px 14px rgba(99,102,241,.22);
  /* Easing */
  --ease: cubic-bezier(0.4,0,0.2,1);
  --ease-out: cubic-bezier(0.16,1,0.3,1);
  --ease-spring: cubic-bezier(0.34,1.56,0.64,1);
  /* Layout */
  --maxw: 1320px;
  --header-h: 72px;
}

/* ==================== Hero 区域 ==================== */
.pm-home .hero{padding:28px 0 12px}
.pm-home .hero-grid{
  display:grid;grid-template-columns:250px 1fr 290px;
  gap:18px;align-items:start;
}

/* 左侧分类菜单 */
.pm-home .cat-menu{
  background:var(--card);border-radius:var(--r);box-shadow:var(--sh-sm);
  padding:4px;overflow:hidden;
}
.pm-home .cat-menu-header{
  display:flex;align-items:center;gap:8px;
  padding:12px 16px;font-size:.8rem;color:var(--tl);font-weight:700;
  border-bottom:1px solid var(--bdr-s);
}
.pm-home .cat-menu-header i{color:var(--p);font-size:1.1rem}
.pm-home .cat-item{
  display:flex;align-items:center;gap:10px;padding:10px 16px;
  border-radius:var(--r-xs);font-size:.84rem;color:var(--tx);
  cursor:pointer;transition:all .2s;position:relative;
}
.pm-home .cat-item i.cat-ico{color:var(--p);font-size:1.05rem;width:22px;text-align:center;opacity:.75}
.pm-home .cat-item:hover{
  background:rgba(var(--p-rgb),.06);color:var(--p);
}
.pm-home .cat-item:hover i.cat-ico{opacity:1}
.pm-home .cat-item .cat-arrow{margin-left:auto;color:var(--txd);font-size:.75rem;transition:all .2s}
.pm-home .cat-item:hover .cat-arrow{color:var(--p);transform:translateX(2px)}
.pm-home .cat-item .cat-hot-tag{
  margin-left:auto;font-size:.62rem;background:rgba(var(--d-rgb),.1);
  color:var(--d);padding:1px 6px;border-radius:var(--r-full);font-weight:700;
}

/* 中间 Banner 轮播 */
.pm-home .banner{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  min-height:400px;box-shadow:var(--sh-md);
}
.pm-home .banner-slide{
  position:absolute;inset:0;opacity:0;transition:opacity .7s var(--ease);
  display:flex;align-items:center;padding:48px 52px;color:#fff;
  background-size:200% 200%;animation:bgShift 8s ease infinite;
}
.pm-home .banner-slide.active{opacity:1;z-index:1}
@keyframes bgShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.pm-home .bs-1{background:linear-gradient(135deg,#4F46E5,#7C3AED,#6366F1)}
.pm-home .bs-2{background:linear-gradient(135deg,#0F172A,#1E3A5F,#0EA5E9)}
.pm-home .bs-3{background:linear-gradient(135deg,#064E3B,#059669,#10B981)}
.pm-home .bs-4{background:linear-gradient(135deg,#7C2D12,#EA580C,#F97316)}
.pm-home .banner-slide .bs-content{max-width:420px;position:relative;z-index:1}
.pm-home .banner-slide .bs-tag{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 14px;border-radius:var(--r-full);
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(4px);font-size:.74rem;font-weight:700;
  border:1px solid rgba(255,255,255,.2);margin-bottom:18px;
}
.pm-home .banner-slide h2{
  font-size:2.6rem;font-weight:900;line-height:1.15;margin-bottom:14px;
  letter-spacing:-.5px;
}
.pm-home .banner-slide h2 span{display:block;font-size:1.1rem;font-weight:500;opacity:.85;margin-top:4px;letter-spacing:0}
.pm-home .banner-slide p{font-size:.95rem;opacity:.88;line-height:1.6;margin-bottom:24px}
.pm-home .banner-slide .bs-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 30px;border-radius:var(--r-full);
  background:#fff;color:var(--tx);font-weight:700;font-size:.9rem;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
  transition:all .3s var(--ease);
}
.pm-home .banner-slide .bs-btn:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.22)}
.pm-home .bs-btn .btn-arrow{transition:transform .3s}
.pm-home .banner-slide .bs-btn:hover .btn-arrow{transform:translateX(4px)}

.pm-home .banner-dots{
  position:absolute;bottom:22px;left:52px;display:flex;gap:10px;z-index:5;
}
.pm-home .banner-dots button{
  width:10px;height:10px;border-radius:var(--r-full);
  background:rgba(255,255,255,.4);transition:all .35s var(--ease);
}
.pm-home .banner-dots button.active{width:30px;background:#fff}
.pm-home .banner-arrows{position:absolute;bottom:22px;right:52px;display:flex;gap:8px;z-index:5}
.pm-home .banner-arrow{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.18);color:#fff;font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;backdrop-filter:blur(4px);
}
.pm-home .banner-arrow:hover{background:rgba(255,255,255,.32)}

/* 右侧信息面板 */
.pm-home .hero-side{display:flex;flex-direction:column;gap:16px}
.pm-home .hero-card{
  background:var(--card);border-radius:var(--r);overflow:hidden;
  box-shadow:var(--sh-sm);position:relative;
}
.pm-home .hero-card.hc-promo{
  background:linear-gradient(135deg,#FEF3C7,#FDE68A);padding:20px;
  display:flex;flex-direction:column;gap:12px;
}
.pm-home .hc-promo .hcp-badge{
  display:inline-flex;align-items:center;gap:4px;
  background:var(--d);color:#fff;font-size:.68rem;font-weight:800;
  padding:4px 10px;border-radius:var(--r-xs);width:fit-content;
}
.pm-home .hc-promo .hcp-title{font-size:1.05rem;font-weight:800;color:var(--tx);line-height:1.3}
.pm-home .hc-promo .hcp-desc{font-size:.78rem;color:var(--tl)}
.pm-home .hc-promo .hcp-btn{
  display:inline-flex;align-items:center;gap:4px;padding:8px 18px;
  background:var(--tx);color:#fff;border-radius:var(--r-full);
  font-size:.8rem;font-weight:700;width:fit-content;transition:all .2s;
}
.pm-home .hc-promo .hcp-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}

.pm-home .hero-card.hc-msg{
  padding:16px;display:flex;flex-direction:column;gap:3px;
  border:1px solid var(--bdr);
}
.pm-home .hc-msg .hcm-item{
  display:flex;align-items:center;gap:8px;padding:6px 8px;
  font-size:.8rem;border-radius:var(--r-xs);cursor:pointer;
  transition:background .2s;
}
.pm-home .hc-msg .hcm-item:hover{background:var(--bg)}
.pm-home .hc-msg .hcm-item i{color:var(--p);font-size:.95rem}
.pm-home .hc-msg .hcm-hot{font-size:.62rem;background:rgba(var(--d-rgb),.1);color:var(--d);
  padding:1px 6px;border-radius:var(--r-full);font-weight:700;margin-left:auto}
.pm-home .hc-msg .hcm-arrow-img{width:44px;height:44px;border-radius:var(--r-sm);object-fit:cover;flex-shrink:0}

/* ==================== 快速入口 ==================== */
.pm-home .quick-icons{
  display:grid;grid-template-columns:repeat(10,1fr);gap:0;
  background:var(--card);border-radius:var(--r);box-shadow:var(--sh-sm);
  margin:16px 0;overflow:hidden;
}
.pm-home .quick-icon{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:18px 8px;font-size:.76rem;font-weight:500;color:var(--tl);
  transition:all .25s;cursor:pointer;text-align:center;
}
.pm-home .quick-icon:hover{
  background:rgba(var(--p-rgb),.04);color:var(--p);transform:translateY(-2px);
}
.pm-home .quick-icon .qi-img{
  width:44px;height:44px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.35rem;color:#fff;transition:transform .3s var(--ease-spring);
}
.pm-home .quick-icon:hover .qi-img{transform:scale(1.12)}
.pm-home .qi-c1{background:linear-gradient(135deg,#6366F1,#8B5CF6)}
.pm-home .qi-c2{background:linear-gradient(135deg,#3B82F6,#06B6D4)}
.pm-home .qi-c3{background:linear-gradient(135deg,#10B981,#34D399)}
.pm-home .qi-c4{background:linear-gradient(135deg,#F59E0B,#FBBF24)}
.pm-home .qi-c5{background:linear-gradient(135deg,#EF4444,#F87171)}
.pm-home .qi-c6{background:linear-gradient(135deg,#EC4899,#F472B6)}
.pm-home .qi-c7{background:linear-gradient(135deg,#8B5CF6,#A78BFA)}
.pm-home .qi-c8{background:linear-gradient(135deg,#06B6D4,#22D3EE)}
.pm-home .qi-c9{background:linear-gradient(135deg,#84CC16,#A3E635)}
.pm-home .qi-c10{background:linear-gradient(135deg,#F97316,#FB923C)}

/* ==================== 区块通用样式 ==================== */
.pm-home .section{padding:32px 0}
.pm-home .section.section-sm{padding:20px 0}
.pm-home .section-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:22px;flex-wrap:wrap;gap:12px;
}
.pm-home .section-head-left{display:flex;align-items:flex-end;gap:14px}
.pm-home .section-title-group{display:flex;flex-direction:column;gap:4px}
.pm-home .section-title{
  display:flex;align-items:center;gap:8px;font-size:1.32rem;font-weight:800;
}
.pm-home .section-title .st-bar{
  width:4px;height:22px;border-radius:2px;
  background:linear-gradient(180deg,var(--p),var(--pl));
}
.pm-home .section-title .st-icon{
  width:32px;height:32px;border-radius:10px;
  background:rgba(var(--p-rgb),.08);color:var(--p);
  display:flex;align-items:center;justify-content:center;font-size:1rem;
}
.pm-home .section-subtitle{font-size:.78rem;color:var(--txl)}
.pm-home .section-tags{display:flex;align-items:center;gap:6px}
.pm-home .st-badge{
  display:inline-flex;align-items:center;gap:3px;
  font-size:.66rem;font-weight:800;padding:3px 10px;
  border-radius:var(--r-full);letter-spacing:.3px;
}
.pm-home .st-badge-hot{background:rgba(var(--d-rgb),.1);color:var(--d)}
.pm-home .st-badge-new{background:rgba(var(--c-rgb),.1);color:var(--c)}
.pm-home .st-badge-rec{background:rgba(var(--i-rgb),.1);color:var(--i)}
.pm-home .section-more{
  display:inline-flex;align-items:center;gap:5px;padding:8px 18px;
  border-radius:var(--r-full);font-size:.8rem;font-weight:600;
  color:var(--tl);background:var(--card);border:1px solid var(--bdr);
  transition:all .2s;white-space:nowrap;
}
.pm-home .section-more:hover{color:var(--p);border-color:rgba(var(--p-rgb),.35);gap:8px}
.pm-home .section-more i{transition:transform .2s}

/* ==================== 商品卡片 V2 ==================== */
.pm-home .product-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.pm-home .product-card{
  background:var(--card);border-radius:var(--r);overflow:hidden;
  cursor:pointer;position:relative;box-shadow:var(--sh-xs);
  transition:all .35s var(--ease);
  border:1px solid transparent;
  display:flex;flex-direction:column;
}
.pm-home .product-card:hover{
  transform:translateY(-6px);box-shadow:var(--sh-lg);
  border-color:var(--bdr);
}
.pm-home .pc-img{width:100%;aspect-ratio:1;position:relative;overflow:hidden;background:var(--bg)}
.pm-home .pc-img-bg{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:3.2rem;color:rgba(255,255,255,.5);transition:transform .5s var(--ease);
}
.pm-home .product-card:hover .pc-img-bg{transform:scale(1.1)}
.pm-home .pc-badge{
  position:absolute;top:12px;left:12px;padding:3px 10px;border-radius:6px;
  font-size:.68rem;font-weight:700;color:#fff;z-index:2;
  backdrop-filter:blur(4px);
}
.pm-home .pc-badge-hot{background:linear-gradient(135deg,#EF4444,#F87171)}
.pm-home .pc-badge-new{background:linear-gradient(135deg,#10B981,#34D399)}
.pm-home .pc-badge-sale{background:linear-gradient(135deg,#F97316,#FB923C)}
.pm-home .pc-badge-limit{background:linear-gradient(135deg,#8B5CF6,#A78BFA)}
.pm-home .pc-fav{
  position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.92);display:flex;align-items:center;
  justify-content:center;color:var(--txl);font-size:.95rem;
  z-index:2;opacity:0;transition:all .25s var(--ease);
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.pm-home .product-card:hover .pc-fav{opacity:1}
.pm-home .pc-fav:hover{background:var(--d);color:#fff;transform:scale(1.12)}
.pm-home .pc-fav.liked{background:var(--d);color:#fff;opacity:1}
.pm-home .pc-fav.liked i::before{content:'\F415'}
.pm-home .pc-body{padding:14px;flex:1;display:flex;flex-direction:column;gap:8px}
.pm-home .pc-name{font-size:.84rem;line-height:1.45;overflow:hidden;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--tx);}
.pm-home .pc-tags{display:flex;gap:5px;flex-wrap:wrap}
.pm-home .pc-tag{
  font-size:.64rem;padding:3px 8px;border-radius:var(--r-xs);
  background:rgba(var(--p-rgb),.07);color:var(--p);font-weight:600;
}
.pm-home .pc-tag-green{background:rgba(var(--c-rgb),.1);color:var(--c)}
.pm-home .pc-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.pm-home .pc-price{display:flex;align-items:baseline;gap:6px}
.pm-home .pc-price .now{font-size:1.18rem;font-weight:800;color:var(--d)}
.pm-home .pc-price .now small{font-size:.68rem;font-weight:700}
.pm-home .pc-price .old{font-size:.72rem;color:var(--txd);text-decoration:line-through}
.pm-home .pc-sold{font-size:.72rem;color:var(--txl);display:flex;align-items:center;gap:4px}
.pm-home .pc-cart-btn{
  width:32px;height:32px;border-radius:10px;
  background:linear-gradient(135deg,var(--p),var(--pd));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:.9rem;transition:all .25s var(--ease);flex-shrink:0;
}
.pm-home .pc-cart-btn:hover{transform:scale(1.15);box-shadow:var(--sh-p-sm)}
.pm-home .pc-progress{margin-top:4px}
.pm-home .pc-progress-bar{
  height:4px;background:var(--bdr-s);border-radius:2px;overflow:hidden;
}
.pm-home .pc-progress-bar-inner{
  height:100%;border-radius:2px;
  background:linear-gradient(90deg,var(--d),var(--o));
  transition:width .6s var(--ease);
}
.pm-home .pc-progress-text{
  font-size:.66rem;color:var(--txl);margin-top:4px;
  display:flex;justify-content:space-between;
}
.pm-home .pc-progress-text b{color:var(--d)}

/* ==================== 限时秒杀区块 ==================== */
.pm-home .flash-section{
  background:linear-gradient(160deg,#1E1B4B,#312E81,#3730A3);
  border-radius:var(--r-lg);padding:28px 30px;color:#fff;
  box-shadow:var(--sh-lg);position:relative;overflow:hidden;
}
.pm-home .flash-section::before{
  content:'';position:absolute;top:-40px;right:-40px;
  width:200px;height:200px;border-radius:50%;
  background:rgba(255,255,255,.03);
  pointer-events:none;
}
.pm-home .flash-section::after{
  content:'';position:absolute;bottom:-30px;left:20%;
  width:160px;height:160px;border-radius:50%;
  background:rgba(255,255,255,.02);
  pointer-events:none;
}
.pm-home .flash-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:22px;flex-wrap:wrap;gap:14px;position:relative;z-index:2;
}
.pm-home .flash-title{
  display:flex;align-items:center;gap:12px;
}
.pm-home .flash-title i{font-size:1.7rem;color:#FBBF24;filter:drop-shadow(0 0 12px rgba(251,191,36,.5))}
.pm-home .flash-title h3{font-size:1.45rem;font-weight:800;margin:0}
.pm-home .flash-countdown{
  display:flex;align-items:center;gap:4px;font-size:.82rem;
  color:rgba(255,255,255,.75);
}
.pm-home .cd-block{
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(4px);
  padding:6px 10px;border-radius:8px;font-weight:800;
  font-family:'SF Mono','Cascadia Code',monospace;font-size:.95rem;
  min-width:36px;text-align:center;color:#fff;
}
.pm-home .cd-sep{font-weight:700;color:rgba(255,255,255,.5)}
.pm-home .flash-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative;z-index:2}
.pm-home .flash-card{
  background:rgba(255,255,255,.07);border-radius:var(--r);
  overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.1);
  transition:all .3s var(--ease);position:relative;
  backdrop-filter:blur(4px);
}
.pm-home .flash-card:hover{
  background:rgba(255,255,255,.13);transform:translateY(-4px);
  box-shadow:0 12px 36px rgba(0,0,0,.25);
}
.pm-home .flash-card .fc-img{
  width:100%;aspect-ratio:1;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  font-size:3rem;color:rgba(255,255,255,.25);
}
.pm-home .flash-card .fc-body{padding:14px}
.pm-home .flash-card .fc-name{
  font-size:.82rem;line-height:1.4;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  margin-bottom:10px;color:rgba(255,255,255,.9);
}
.pm-home .flash-card .fc-bottom{display:flex;align-items:center;justify-content:space-between}
.pm-home .flash-card .fc-price .now{font-size:1.15rem;font-weight:800;color:#FBBF24}
.pm-home .flash-card .fc-price .now small{font-size:.65rem}
.pm-home .flash-card .fc-price .old{font-size:.7rem;color:rgba(255,255,255,.35);text-decoration:line-through;margin-left:6px}
.pm-home .flash-card .fc-badge{
  position:absolute;top:10px;left:10px;padding:3px 10px;
  border-radius:6px;font-size:.66rem;font-weight:800;
  background:linear-gradient(135deg,#EF4444,#F87171);color:#fff;
}

/* ==================== 双栏 Banner ==================== */
.pm-home .promo-banners{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
}
.pm-home .promo-banner{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  padding:28px 30px;color:#fff;min-height:160px;
  display:flex;align-items:center;
  box-shadow:var(--sh-sm);transition:all .3s var(--ease);
  cursor:pointer;
}
.pm-home .promo-banner:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.pm-home .promo-banner .pb-content{position:relative;z-index:1;max-width:65%}
.pm-home .promo-banner .pb-tag{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 12px;border-radius:var(--r-full);
  background:rgba(255,255,255,.2);font-size:.7rem;font-weight:700;
  margin-bottom:10px;
}
.pm-home .promo-banner h4{font-size:1.15rem;font-weight:800;margin-bottom:6px}
.pm-home .promo-banner p{font-size:.8rem;opacity:.85;margin-bottom:14px}
.pm-home .promo-banner .pb-btn{
  display:inline-flex;align-items:center;gap:4px;
  padding:7px 18px;border-radius:var(--r-full);
  background:#fff;color:var(--tx);font-size:.78rem;font-weight:700;
  transition:all .2s;
}
.pm-home .promo-banner .pb-btn:hover{box-shadow:0 4px 14px rgba(0,0,0,.15);transform:translateY(-1px)}
.pm-home .pb-bg1{background:linear-gradient(135deg,#6366F1,#8B5CF6)}
.pm-home .pb-bg2{background:linear-gradient(135deg,#0EA5E9,#06B6D4)}

/* ==================== 分类 TAB 专区 ==================== */
.pm-home .cat-zone{margin-top:10px}
.pm-home .cat-zone-head{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:14px;margin-bottom:18px;
}
.pm-home .cat-zone-title-group{display:flex;align-items:center;gap:14px}
.pm-home .cat-zone-icon{
  width:48px;height:48px;border-radius:14px;display:flex;
  align-items:center;justify-content:center;color:#fff;font-size:1.2rem;
  box-shadow:0 6px 18px rgba(var(--p-rgb),.3);
  position:relative;overflow:hidden;
}
.pm-home .cat-zone-icon::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 55%);
  border-radius:inherit;
}
.pm-home .cat-zone-title-text h2{
  font-size:1.15rem;font-weight:800;display:flex;align-items:center;gap:8px;
}
.pm-home .cat-zone-title-text p{font-size:.76rem;color:var(--tl);margin-top:2px}

.pm-home .cat-tabs{position:relative}
.pm-home .cat-tablist{
  display:flex;align-items:center;gap:4px;padding:4px;
  background:var(--bdr-s);border-radius:var(--r-full);
  overflow-x:auto;scrollbar-width:none;position:relative;
}
.pm-home .cat-tablist::-webkit-scrollbar{display:none}
.pm-home .cat-tab{
  flex-shrink:0;display:inline-flex;align-items:center;gap:6px;
  padding:8px 18px;border-radius:var(--r-full);font-size:.8rem;
  font-weight:600;color:var(--tl);transition:all .3s var(--ease);
  white-space:nowrap;position:relative;z-index:1;
}
.pm-home .cat-tab:hover{color:var(--p)}
.pm-home .cat-tab.active{
  color:#fff;background:linear-gradient(135deg,var(--p),#818CF8);
  box-shadow:0 4px 14px rgba(var(--p-rgb),.35);
}
.pm-home .cat-tab-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:22px;height:20px;padding:0 7px;font-size:.7rem;
  font-weight:700;border-radius:var(--r-full);
  background:rgba(var(--p-rgb),.1);color:var(--p);
}
.pm-home .cat-tab.active .cat-tab-count{
  background:rgba(255,255,255,.25);color:#fff;
}
.pm-home .cat-panel[hidden]{display:none!important}
.pm-home .cat-panel{animation:catFade .3s var(--ease) both}
@keyframes catFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.pm-home .cat-panel-foot{margin-top:16px;text-align:center}
.pm-home .cat-panel-foot a{
  display:inline-flex;align-items:center;gap:5px;
  padding:8px 22px;font-size:.82rem;font-weight:600;
  color:var(--p);background:rgba(var(--p-rgb),.06);
  border-radius:var(--r-full);transition:all .2s;
}
.pm-home .cat-panel-foot a:hover{background:rgba(var(--p-rgb),.12);gap:8px}

/* ==================== 品牌墙 ==================== */
.pm-home .brand-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.pm-home .brand-card{
  background:var(--card);border-radius:var(--r);padding:24px 14px;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  box-shadow:var(--sh-xs);border:1px solid transparent;
  transition:all .3s var(--ease);cursor:pointer;
}
.pm-home .brand-card:hover{
  transform:translateY(-4px);box-shadow:var(--sh-md);
  border-color:var(--bdr);
}
.pm-home .brand-circle{
  width:60px;height:60px;border-radius:18px;display:flex;
  align-items:center;justify-content:center;font-size:1.5rem;
  color:#fff;font-weight:800;box-shadow:0 6px 16px rgba(0,0,0,.12);
  transition:transform .3s var(--ease-spring);
}
.pm-home .brand-card:hover .brand-circle{transform:scale(1.08)}
.pm-home .brand-info{text-align:center}
.pm-home .brand-info .bname{font-size:.84rem;font-weight:700;color:var(--tx)}
.pm-home .brand-info .bcount{font-size:.7rem;color:var(--txl);margin-top:2px}
.pm-home .brand-tag{
  display:inline-flex;align-items:center;gap:3px;
  font-size:.64rem;padding:2px 8px;border-radius:var(--r-full);
  background:rgba(var(--p-rgb),.08);color:var(--p);font-weight:600;
}

/* ==================== 榜单 ==================== */
.pm-home .ranking-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pm-home .rank-card{
  background:var(--card);border-radius:var(--r);padding:18px;
  box-shadow:var(--sh-xs);display:flex;flex-direction:column;gap:14px;
  transition:all .3s var(--ease);cursor:pointer;border:1px solid transparent;
}
.pm-home .rank-card:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:var(--bdr)}
.pm-home .rank-header{display:flex;align-items:center;justify-content:space-between}
.pm-home .rank-badge{
  display:flex;align-items:center;gap:4px;font-size:.8rem;font-weight:700;
}
.pm-home .rank-badge .rank-num{
  width:24px;height:24px;border-radius:8px;display:flex;
  align-items:center;justify-content:center;font-size:.75rem;
  color:#fff;font-weight:800;
}
.pm-home .rn-gold{background:linear-gradient(135deg,#F59E0B,#FBBF24)}
.pm-home .rn-silver{background:linear-gradient(135deg,#94A3B8,#CBD5E1)}
.pm-home .rn-bronze{background:linear-gradient(135deg,#F97316,#FB923C)}
.pm-home .rank-items{display:flex;flex-direction:column;gap:10px}
.pm-home .rank-item{
  display:flex;align-items:center;gap:10px;padding:6px 8px;
  border-radius:var(--r-sm);transition:background .2s;
  cursor:pointer;
}
.pm-home .rank-item:hover{background:var(--bg)}
.pm-home .rank-item .ri-img{
  width:48px;height:48px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;color:#fff;
}
.pm-home .rank-item .ri-info{flex:1;min-width:0}
.pm-home .rank-item .ri-name{font-size:.78rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-home .rank-item .ri-price{font-size:.82rem;font-weight:700;color:var(--d)}

/* ==================== 订阅 ==================== */
.pm-home .newsletter{
  background:linear-gradient(135deg,var(--p),#818CF8);
  border-radius:var(--r-lg);padding:40px 36px;color:#fff;
  display:flex;align-items:center;justify-content:space-between;
  gap:30px;flex-wrap:wrap;box-shadow:var(--sh-p);position:relative;overflow:hidden;
}
.pm-home .newsletter::before{
  content:'';position:absolute;top:-60px;right:-30px;width:180px;height:180px;
  border-radius:50%;border:2px solid rgba(255,255,255,.1);
  pointer-events:none;
}
.pm-home .newsletter::after{
  content:'';position:absolute;bottom:-50px;left:40%;
  width:220px;height:220px;border-radius:50%;
  background:rgba(255,255,255,.04);pointer-events:none;
}
.pm-home .newsletter .nl-content{position:relative;z-index:1}
.pm-home .newsletter h3{font-size:1.4rem;font-weight:800;margin-bottom:8px}
.pm-home .newsletter p{opacity:.88;font-size:.88rem;line-height:1.6;max-width:380px}
.pm-home .news-form{display:flex;gap:10px;position:relative;z-index:1;flex-shrink:0}
.pm-home .news-form input{
  height:50px;width:300px;border-radius:var(--r-full);border:none;
  padding:0 22px;font-size:.9rem;box-shadow:0 4px 14px rgba(0,0,0,.1);
}
.pm-home .news-form input:focus{box-shadow:0 4px 20px rgba(0,0,0,.15)}
.pm-home .news-form button{
  height:50px;padding:0 28px;border-radius:var(--r-full);
  background:var(--tx);color:#fff;font-weight:700;font-size:.9rem;
  transition:all .2s;display:flex;align-items:center;gap:6px;
}
.pm-home .news-form button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.2)}

/* ==================== 响应式设计 ==================== */
@media (max-width:1199px){
.pm-home .product-grid, .pm-home .flash-grid{grid-template-columns:repeat(4,1fr)}
.pm-home .brand-grid{grid-template-columns:repeat(4,1fr)}
.pm-home .quick-icons{grid-template-columns:repeat(5,1fr)}
.pm-home .footer-grid{grid-template-columns:1fr 1fr 1fr}
.pm-home .ranking-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:991px){
.pm-home .hero-grid{grid-template-columns:1fr}
.pm-home .cat-menu{display:none}
.pm-home .hero-side{display:none}
.pm-home .banner{min-height:340px}
.pm-home .product-grid, .pm-home .flash-grid{grid-template-columns:repeat(3,1fr)}
.pm-home .brand-grid{grid-template-columns:repeat(3,1fr)}
.pm-home .promo-banners{grid-template-columns:1fr}
.pm-home .search-hot{display:none}
.pm-home .footer-grid{grid-template-columns:1fr 1fr}
.pm-home .main-nav{overflow-x:auto}
}
@media (max-width:767px){
.pm-home .header-inner{flex-wrap:wrap;gap:10px;height:auto;padding:10px 0}
.pm-home .search{order:3;flex-basis:100%;max-width:none}
.pm-home .banner{min-height:280px;border-radius:var(--r)}
.pm-home .banner-slide{padding:28px 24px}
.pm-home .banner-slide h2{font-size:1.7rem}
.pm-home .banner-dots{left:24px;bottom:16px}
.pm-home .banner-arrows{right:24px;bottom:16px}
.pm-home .product-grid, .pm-home .flash-grid{grid-template-columns:repeat(2,1fr);gap:10px}
.pm-home .brand-grid{grid-template-columns:repeat(3,1fr);gap:8px}
.pm-home .quick-icons{grid-template-columns:repeat(5,1fr)}
.pm-home .ranking-grid{grid-template-columns:1fr}
.pm-home .newsletter{padding:24px 20px;text-align:center;justify-content:center}
.pm-home .news-form{width:100%;flex-direction:column}
.pm-home .news-form input{width:100%}
.pm-home .footer-grid{grid-template-columns:1fr;gap:24px}
.pm-home .footer-bottom{flex-direction:column;text-align:center}
.pm-home .section-head{flex-direction:column;align-items:flex-start}
.pm-home .flash-section{padding:20px 16px}
.pm-home .promo-banner{padding:20px}
.pm-home .promo-banner .pb-content{max-width:100%}
.pm-home .mobile-nav{display:flex}
body.theme-premium{padding-bottom:64px}
.pm-home .back-top{bottom:80px;right:16px}
.pm-home .top-bar .tb-close{display:none}
}
@media (max-width:480px){
.pm-home .product-grid, .pm-home .flash-grid{grid-template-columns:repeat(2,1fr);gap:8px}
.pm-home .quick-icons{grid-template-columns:repeat(4,1fr)}
.pm-home .brand-grid{grid-template-columns:repeat(2,1fr)}
.pm-home .banner-slide h2{font-size:1.4rem}
}

/* ===== Premium home integration tweaks ===== */
body.theme-premium .pm-home {
  background: var(--bg, #F1F5F9);
  color: var(--tx, #0F172A);
  font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.pm-home .container {
  max-width: var(--maxw, 1320px);
  margin: 0 auto;
  padding: 0 24px;
}
.pm-home a { color: inherit; text-decoration: none; }
.pm-home img { max-width: 100%; display: block; }
.pm-home .banner-slide.has-image {
  background-size: cover !important;
  background-position: center !important;
  animation: none;
}
.pm-home .banner-slide.has-image::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(15,23,42,.72), rgba(15,23,42,.28) 55%, transparent);
  z-index: 0;
}
.pm-home .fc-img img,
.pm-home .pc-img img,
.pm-home .hcm-arrow-img,
.pm-home .ri-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pm-home .fc-img,
.pm-home .pc-img,
.pm-home .ri-img {
  position: relative;
  overflow: hidden;
}
.pm-home .pc-img img {
  position: absolute;
  inset: 0;
}
.pm-home .cat-item { text-decoration: none; display: flex; }
.pm-home .quick-icon { text-decoration: none; }
@media (max-width: 1100px) {
  .pm-home .hero-grid { grid-template-columns: 1fr !important; }
  .pm-home .cat-menu { display: none; }
  .pm-home .hero-side { display: none; }
  .pm-home .banner { min-height: 280px; }
  .pm-home .product-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .pm-home .flash-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .pm-home .quick-icons { grid-template-columns: repeat(5, 1fr) !important; }
  .pm-home .ranking-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 640px) {
  .pm-home .product-grid,
  .pm-home .flash-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
  .pm-home .quick-icons { grid-template-columns: repeat(4, 1fr) !important; }
  .pm-home .ranking-grid,
  .pm-home .promo-banners,
  .pm-home .brand-grid { grid-template-columns: 1fr !important; }
  .pm-home .banner-slide h2 { font-size: 1.6rem; }
  .pm-home .banner-slide { padding: 28px 24px; }
}
