/* ===== 基础 ===== */
:root{
  --red:#e93323;
  --red-dark:#c8261a;
  --orange:#ff7a45;
  --text:#333;
  --text-2:#666;
  --text-3:#999;
  --line:#eee;
  --bg:#f5f5f5;
  --radius:8px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Helvetica,Arial,sans-serif;
  color:var(--text);background:var(--bg);font-size:14px;line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--red);}
ul{list-style:none;}
img{display:block;max-width:100%;}
.wrap{width:1200px;margin:0 auto;}
.link{color:var(--text-2);}
.link:hover{color:var(--red);}
.sep{color:#ddd;margin:0 8px;}
.spinner{display:inline-block;width:14px;height:14px;border:2px solid #ddd;border-top-color:var(--red);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:6px;}
@keyframes spin{to{transform:rotate(360deg);}}
.loading-box{padding:80px 0;text-align:center;color:var(--text-3);}
.empty-box{padding:60px 0;text-align:center;color:var(--text-3);}

/* ===== 顶部条 ===== */
.topbar{background:#f2f2f2;border-bottom:1px solid #e8e8e8;font-size:12px;color:var(--text-2);height:34px;line-height:34px;}
.topbar-inner{display:flex;justify-content:space-between;}
.topbar-left span{margin-right:12px;color:var(--text-3);}
.topbar-left .link{margin-right:10px;}
.topbar-right .link{color:var(--text-2);}

/* ===== 头部 ===== */
.header{background:#fff;}
.header-inner{display:flex;align-items:center;height:100px;}
.logo{display:flex;align-items:center;gap:10px;width:250px;}
.logo-mark{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#ff6a3d,#e93323);color:#fff;font-weight:700;font-size:22px;display:flex;align-items:center;justify-content:center;}
.logo-text{font-size:24px;font-weight:700;letter-spacing:.5px;}
.logo-text em{font-style:normal;font-size:14px;font-weight:400;color:var(--text-3);margin-left:6px;}

.search-block{flex:1;max-width:620px;}
.search-form{display:flex;height:42px;border:2px solid var(--red);border-radius:21px;overflow:hidden;background:#fff;}
.search-form input{flex:1;border:0;outline:0;padding:0 18px;font-size:14px;background:transparent;}
.search-form button{width:96px;border:0;background:var(--red);color:#fff;font-size:15px;cursor:pointer;transition:.2s;}
.search-form button:hover{background:var(--red-dark);}
.search-hot{margin-top:8px;font-size:12px;color:var(--text-3);display:flex;gap:12px;padding-left:4px;}
.search-hot a{color:var(--text-3);}
.search-hot a:hover{color:var(--red);}

.cart-btn{display:flex;align-items:center;gap:6px;margin-left:auto;height:42px;padding:0 18px;border:1px solid var(--line);border-radius:21px;color:var(--text-2);position:relative;background:#fff;}
.cart-btn:hover{border-color:var(--red);color:var(--red);}
.cart-num{position:absolute;top:-6px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;font-style:normal;line-height:18px;text-align:center;}

/* ===== 导航 ===== */
.nav{background:#fff;border-top:1px solid var(--line);border-bottom:2px solid var(--red);}
.nav-inner{display:flex;align-items:center;}
.nav-cate-title{width:210px;height:44px;line-height:44px;background:var(--red);color:#fff;font-size:15px;font-weight:600;text-align:center;border-radius:0;cursor:default;}
.nav-list{display:flex;padding-left:28px;gap:34px;}
.nav-list a{display:block;height:44px;line-height:44px;font-size:15px;color:var(--text);}
.nav-list a.active,.nav-list a:hover{color:var(--red);font-weight:600;}

/* ===== 首页 hero ===== */
.hero{display:grid;grid-template-columns:210px 1fr 230px;gap:12px;margin-top:12px;}

.cate-panel{background:#fff;border-radius:var(--radius);padding:8px 0;position:relative;min-height:380px;display:flex;flex-direction:column;}
.cate-panel>ul{flex:1;}
.cate-promo{margin:auto 12px 12px;background:linear-gradient(135deg,#fff1ee,#ffe3dc);border-radius:6px;padding:14px 16px;}
.cate-promo b{display:block;font-size:14px;color:#c8261a;}
.cate-promo span{font-size:12px;color:#a8675c;line-height:1.7;display:block;margin-top:4px;}
.cate-item{position:relative;}
.cate-item>a{display:flex;justify-content:space-between;align-items:center;padding:9px 16px;font-size:14px;color:var(--text-2);}
.cate-item>a i{font-style:normal;color:#ccc;font-size:12px;}
.cate-item:hover{background:#fff6f5;}
.cate-item:hover>a{color:var(--red);}
.cate-flyout{
  display:none;position:absolute;left:100%;top:-8px;width:560px;min-height:100%;
  background:#fff;border:1px solid var(--line);border-radius:0 var(--radius) var(--radius) 0;
  box-shadow:0 6px 24px rgba(0,0,0,.08);padding:18px 22px;z-index:30;
}
.cate-item:hover .cate-flyout{display:block;}
.flyout-row{display:flex;gap:12px;margin-bottom:14px;}
.flyout-row h5{width:76px;flex:none;color:var(--text);font-size:13px;font-weight:600;padding-top:4px;}
.flyout-links{display:flex;flex-wrap:wrap;gap:8px 14px;}
.flyout-links a{font-size:13px;color:var(--text-2);padding:2px 0;}
.flyout-links a:hover{color:var(--red);}

/* 轮播 */
.carousel{position:relative;height:380px;border-radius:var(--radius);overflow:hidden;background:#111;}
.slides{display:flex;height:100%;transition:transform .5s ease;}
.slide{flex:none;width:100%;height:100%;position:relative;display:flex;align-items:center;padding:0 60px;color:#fff;}
.slide h2{font-size:38px;line-height:1.25;margin-bottom:14px;letter-spacing:1px;}
.slide p{font-size:16px;opacity:.9;margin-bottom:22px;}
.slide .slide-btn{display:inline-block;padding:10px 26px;border-radius:22px;background:#fff;color:#c8261a;font-weight:600;}
.slide-img{position:absolute;right:-20px;bottom:-30px;width:420px;opacity:.95;filter:drop-shadow(0 12px 30px rgba(0,0,0,.25));}
.slide-1{background:linear-gradient(120deg,#ff5f6d,#ffc371);}
.slide-2{background:linear-gradient(120deg,#3a1c71,#d76d77 55%,#ffaf7b);}
.slide-3{background:linear-gradient(120deg,#0f2027,#2c5364 55%,#4b79a1);}
.carousel-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:8px;}
.carousel-dots i{width:22px;height:4px;border-radius:2px;background:rgba(255,255,255,.45);cursor:pointer;transition:.25s;}
.carousel-dots i.on{background:#fff;width:32px;}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:56px;border:0;background:rgba(0,0,0,.25);color:#fff;font-size:20px;cursor:pointer;opacity:0;transition:.25s;}
.carousel:hover .carousel-arrow{opacity:1;}
.carousel-arrow.prev{left:0;border-radius:0 6px 6px 0;}
.carousel-arrow.next{right:0;border-radius:6px 0 0 6px;}

/* 右侧栏 */
.side-col{display:flex;flex-direction:column;gap:12px;}
.user-card{background:#fff;border-radius:var(--radius);padding:20px 16px;text-align:center;}
.avatar{width:56px;height:56px;border-radius:50%;margin:0 auto 10px;background:linear-gradient(135deg,#ffd3c7,#ffb199);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;}
.user-card p{color:var(--text-2);font-size:13px;margin-bottom:14px;}
.user-actions{display:flex;gap:8px;justify-content:center;}
.btn{display:inline-block;padding:7px 16px;border-radius:16px;font-size:13px;cursor:pointer;border:1px solid var(--red);color:var(--red);background:#fff;transition:.2s;}
.btn:hover{background:#fff2f0;}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red);}
.btn-primary:hover{background:var(--red-dark);color:#fff;}
.notice-card{background:#fff;border-radius:var(--radius);padding:14px 16px;flex:1;}
.notice-card h4{font-size:14px;margin-bottom:10px;display:flex;justify-content:space-between;}
.notice-card h4 a{font-size:12px;color:var(--text-3);font-weight:400;}
.notice-card li{font-size:12.5px;color:var(--text-2);padding:5px 0;border-bottom:1px dashed #f2f2f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.notice-card li:last-child{border-bottom:0;}

/* ===== 楼层 ===== */
.floor{background:#fff;border-radius:var(--radius);margin-top:16px;padding:20px 22px 24px;}
.floor-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;}
.floor-head h3{font-size:20px;position:relative;padding-left:12px;}
.floor-head h3:before{content:"";position:absolute;left:0;top:5px;bottom:4px;width:4px;border-radius:2px;background:var(--red);}
.floor-head .more{font-size:13px;color:var(--text-3);}
.goods-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.goods-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.goods-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.goods-card{background:#fff;border:1px solid #f2f2f2;border-radius:var(--radius);padding:10px;transition:.22s;display:block;}
.goods-card:hover{border-color:#ffd0cb;box-shadow:0 6px 18px rgba(233,51,35,.10);transform:translateY(-2px);}
.goods-thumb{aspect-ratio:1/1;overflow:hidden;border-radius:6px;background:#fafafa;display:flex;align-items:center;justify-content:center;}
.goods-thumb img{width:100%;height:100%;object-fit:contain;transition:.3s;}
.goods-card:hover .goods-thumb img{transform:scale(1.05);}
.goods-name{margin-top:9px;font-size:13px;color:var(--text);height:38px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:19px;}
.price-row{display:flex;align-items:baseline;gap:6px;margin-top:8px;}
.price{color:var(--red);font-weight:700;font-size:17px;}
.price small{font-size:12px;font-weight:400;}
.ot-price{color:var(--text-3);font-size:12px;text-decoration:line-through;}
.sales-tag{margin-left:auto;font-size:11px;color:var(--text-3);}

/* 品牌条 */
.brand-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;}
.brand-item{background:#fff;border-radius:var(--radius);padding:18px 16px;display:flex;align-items:center;gap:10px;}
.brand-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;background:#fff2f0;color:var(--red);}
.brand-item b{display:block;font-size:14px;}
.brand-item span{font-size:12px;color:var(--text-3);}

/* ===== 列表页 ===== */
.crumb{font-size:13px;color:var(--text-3);padding:16px 0 0;}
.crumb a:hover{color:var(--red);}
.filter-bar{background:#fff;border-radius:var(--radius);margin-top:12px;padding:0 18px;display:flex;align-items:center;height:48px;font-size:13px;gap:18px;}
.filter-bar .label{color:var(--text-3);}
.filter-bar a{color:var(--text-2);padding:4px 8px;border-radius:4px;}
.filter-bar a.on{background:var(--red);color:#fff;}
.list-wrap{background:#fff;border-radius:var(--radius);margin-top:12px;padding:20px;}
.list-wrap .goods-grid{grid-template-columns:repeat(5,1fr);}
.pager{display:flex;justify-content:center;gap:8px;padding:26px 0 6px;}
.pager button{min-width:34px;height:34px;padding:0 10px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer;color:var(--text-2);}
.pager button:hover:not(:disabled){border-color:var(--red);color:var(--red);}
.pager button.on{background:var(--red);border-color:var(--red);color:#fff;}
.pager button:disabled{opacity:.45;cursor:not-allowed;}

/* ===== 详情页 ===== */
.detail-wrap{background:#fff;border-radius:var(--radius);margin-top:12px;padding:24px;display:grid;grid-template-columns:430px 1fr;gap:36px;}
.gallery-main{width:430px;height:430px;border-radius:var(--radius);background:#fafafa;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.gallery-main img{max-width:100%;max-height:100%;object-fit:contain;}
.gallery-thumbs{display:flex;gap:8px;margin-top:10px;}
.gallery-thumbs img{width:62px;height:62px;object-fit:cover;border:2px solid transparent;border-radius:6px;cursor:pointer;background:#fafafa;}
.gallery-thumbs img.on{border-color:var(--red);}
.d-title{font-size:22px;line-height:1.4;font-weight:600;}
.d-sub{color:var(--text-3);font-size:13px;margin-top:8px;}
.price-panel{background:linear-gradient(90deg,#fff4f2,#fff);border-radius:var(--radius);padding:16px 18px;margin-top:16px;}
.price-panel .now{font-size:34px;color:var(--red);font-weight:700;}
.price-panel .now small{font-size:18px;}
.price-panel del{margin-left:12px;color:var(--text-3);font-size:14px;}
.price-panel .meta{display:flex;gap:26px;margin-top:8px;font-size:13px;color:var(--text-2);}
.opt-row{display:flex;align-items:flex-start;margin-top:16px;font-size:14px;}
.opt-row>label{width:70px;flex:none;color:var(--text-3);line-height:32px;}
.opt-list{display:flex;flex-wrap:wrap;gap:8px;}
.opt-list button{min-width:56px;height:32px;padding:0 14px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text);}
.opt-list button.on{border-color:var(--red);color:var(--red);background:#fff6f5;}
.qty{display:flex;align-items:center;border:1px solid #ddd;border-radius:4px;overflow:hidden;height:32px;}
.qty button{width:32px;height:100%;border:0;background:#fafafa;cursor:pointer;font-size:16px;color:var(--text-2);}
.qty input{width:52px;height:100%;border:0;border-left:1px solid #ddd;border-right:1px solid #ddd;text-align:center;outline:0;}
.buy-row{display:flex;gap:14px;margin-top:26px;}
.buy-row .btn{height:46px;padding:0 38px;font-size:16px;border-radius:23px;display:flex;align-items:center;justify-content:center;}
.tip{margin-top:14px;font-size:12.5px;color:var(--text-3);line-height:1.8;}
.d-tabs{background:#fff;border-radius:var(--radius);margin-top:16px;padding:0 24px 26px;}
.d-tabs .tab-head{display:flex;gap:34px;border-bottom:1px solid var(--line);}
.d-tabs .tab-head a{padding:15px 0;font-size:15px;color:var(--text-2);border-bottom:2px solid transparent;}
.d-tabs .tab-head a.on{color:var(--red);border-bottom-color:var(--red);font-weight:600;}
.d-tabs .tab-body{padding-top:20px;font-size:14px;color:var(--text-2);line-height:1.9;}
.d-tabs .tab-body img{margin:10px auto;}

/* ===== 页脚 ===== */
.footer{background:#fff;margin-top:30px;border-top:1px solid var(--line);}
.footer-cols{display:grid;grid-template-columns:repeat(4,1fr) 240px;gap:20px;padding:36px 0 28px;}
.foot-col h4{font-size:14px;margin-bottom:12px;}
.foot-col a{display:block;font-size:12.5px;color:var(--text-3);padding:4px 0;}
.foot-contact{text-align:right;}
.foot-phone{font-size:24px;font-weight:700;color:var(--red);}
.foot-time{font-size:12.5px;color:var(--text-3);margin-top:6px;}
.footer-copy{border-top:1px solid var(--line);padding:18px 0 26px;text-align:center;font-size:12.5px;color:var(--text-3);}
