/* ============================================================
   凯冠商城 全站样式 static/app.css
   参照截图 UI：绿色主按钮、深蓝点缀、卡片式布局
   ============================================================ */
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body { font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; background: #f5f5f5; color: #333; max-width: 480px; margin: 0 auto; min-height: 100vh; padding-bottom: 60px; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

/* 顶部搜索栏 */
.search-bar { display: flex; align-items: center; background: #16305a; padding: 10px 14px; }
.search-bar input { flex: 1; border: none; border-radius: 18px; padding: 8px 14px; font-size: 14px; outline: none; }

/* 导航 Tab */
.nav-tabs { display: flex; gap: 18px; background: #16305a; color: #d8d8d8; padding: 10px 14px 12px; font-size: 15px; }
.nav-tabs a.active { color: #fff; font-weight: bold; }

/* 轮播 Banner */
.banner { margin: 10px; border-radius: 10px; overflow: hidden; }
.banner img { width: 100%; }

/* 区块标题 */
.sec-head { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 12px 8px; }
.sec-head h3 { font-size: 17px; }
.sec-head span { font-size: 12px; color: #999; }

/* 商品网格（两列） */
.goods-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 12px; }
.goods-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,.05); }
.goods-card .thumb { width: 100%; aspect-ratio: 1; object-fit: cover; background: #eee; }
.goods-card .info { padding: 8px 10px 12px; }
.goods-card .name { font-size: 13px; line-height: 1.4; height: 36px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.goods-card .price { color: #333; font-weight: bold; margin: 6px 0 8px; }

/* 绿色主按钮（登录/购买/保存） */
.btn-primary { display: block; width: 100%; background: #14a327; color: #fff; border: none; border-radius: 24px; padding: 12px; font-size: 16px; text-align: center; cursor: pointer; }
.btn-buy { background: #16305a; color: #fff; border: none; border-radius: 14px; padding: 6px 16px; font-size: 13px; }

/* 商品详情页：JS 驱动横向轮播（手指滑动 / 鼠标拖动 / 箭头 / 圆点） */
.swiper { position: relative; background: #000; overflow: hidden; }   /* 超出部分裁掉 */
.swiper-track {
    display: flex;                       /* 横向并排 */
    transition: transform .3s ease;      /* 切换动画 */
    will-change: transform;
    cursor: grab;                        /* 提示可拖动 */
    touch-action: pan-y;                 /* 允许纵向滚动页面，横向交给 JS */
}
.swiper-track.dragging { transition: none; cursor: grabbing; }        /* 拖动中去掉动画 */
.swiper .swiper-slide { flex: 0 0 100%; }                            /* 每张占满一屏宽 */
.swiper .swiper-slide img { width: 100%; aspect-ratio: 1; object-fit: cover; -webkit-user-drag: none; user-select: none; }
.swiper .counter { position: absolute; right: 12px; bottom: 12px; background: rgba(0,0,0,.5); color: #fff; font-size: 12px; border-radius: 12px; padding: 2px 10px; pointer-events: none; }

/* 左右箭头 */
.swiper .arrow-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 30px; height: 30px; line-height: 28px; text-align: center;
    background: rgba(0,0,0,.35); color: #fff; border-radius: 50%; font-size: 16px; cursor: pointer;
}
.swiper .arrow-btn.prev { left: 8px; }
.swiper .arrow-btn.next { right: 8px; }

/* 底部圆点指示 */
.swiper .dots { position: absolute; left: 0; right: 0; bottom: 10px; display: flex; justify-content: center; gap: 6px; pointer-events: none; }
.swiper .dots i { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.45); }
.swiper .dots i.on { background: #fff; width: 14px; border-radius: 3px; }
.pd-price-row { display: flex; gap: 6px; padding: 8px 12px 0; align-items: center; flex-wrap: wrap; }
.tag { background: #eef3fb; color: #16305a; border: 1px solid #16305a; border-radius: 14px; font-size: 12px; padding: 3px 10px; }
.pd-price { font-size: 20px; font-weight: bold; }
.pd-title { font-size: 16px; font-weight: bold; padding: 6px 12px; line-height: 1.5; }
.pd-meta { display: flex; justify-content: space-between; color: #999; font-size: 12px; padding: 0 12px 10px; }
.card { background: #fff; border-radius: 10px; margin: 10px 12px; padding: 12px; }
.spec-row { display: flex; justify-content: space-between; align-items: center; }
.arrow { color: #ccc; }

/* 规格弹层 */
.spec-mask { position: fixed; inset: 0; background: rgba(0,0,0,.45); display: none; z-index: 99; }
.spec-panel { position: fixed; left: 0; right: 0; bottom: 0; max-width: 480px; margin: 0 auto; background: #fff; border-radius: 14px 14px 0 0; padding: 14px; display: none; z-index: 100; max-height: 70vh; overflow: auto; }
.spec-item { display: inline-block; border: 1px solid #16305a; color: #16305a; border-radius: 14px; padding: 5px 12px; font-size: 13px; margin: 4px 6px 4px 0; cursor: pointer; }
.spec-item.on { background: #16305a; color: #fff; }
.num-ctrl { display: inline-flex; align-items: center; gap: 10px; }
.num-ctrl button { width: 28px; height: 28px; border: 1px solid #ddd; background: #fff; border-radius: 6px; }

/* 底部操作栏（详情页） */
.bottom-bar { position: fixed; left: 0; right: 0; bottom: 0; max-width: 480px; margin: 0 auto; background: #fff; display: flex; align-items: center; padding: 8px 12px; gap: 8px; box-shadow: 0 -2px 8px rgba(0,0,0,.06); z-index: 90; }
.bottom-bar .op { text-align: center; font-size: 11px; color: #666; width: 44px; }
.bottom-bar .op .ico { font-size: 18px; }
.btn-cart { flex: 1; background: #9aa6bd; color: #fff; border: none; border-radius: 22px; padding: 11px; font-size: 15px; }
.btn-buy2 { flex: 1; background: #16305a; color: #fff; border: none; border-radius: 22px; padding: 11px; font-size: 15px; }

/* 底部 TabBar */
.tabbar { position: fixed; left: 0; right: 0; bottom: 0; max-width: 480px; margin: 0 auto; background: #fff; display: flex; border-top: 1px solid #eee; z-index: 90; }
.tabbar a { flex: 1; text-align: center; padding: 8px 0 10px; font-size: 11px; color: #888; }
.tabbar a .ico { font-size: 20px; display: block; }
.tabbar a.active { color: #16305a; }

/* 表单（登录/地址） */
.form-item { display: flex; align-items: center; gap: 8px; background: #fff; border-bottom: 1px solid #eee; padding: 14px 16px; }
.form-item input { flex: 1; border: none; outline: none; font-size: 15px; }

/* 订单/地址列表 */
.cell { background: #fff; display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 1px solid #f0f0f0; }

/* 会员中心头部 */
.me-head { background: #16305a; color: #fff; padding: 18px 16px 0; }
.me-stats { display: flex; text-align: center; padding: 14px 0; }
.me-stats div { flex: 1; }
.me-stats b { display: block; font-size: 18px; }
.me-stats span { font-size: 12px; color: #cfd8ea; }

/* 订单状态宫格 */
.order-grid { display: flex; background: #fff; padding: 12px 0; margin-top: 10px; }
.order-grid a { flex: 1; text-align: center; font-size: 12px; color: #555; position: relative; }
.order-grid .ico { font-size: 22px; display: block; margin-bottom: 4px; }
.order-grid .badge { position: absolute; top: -6px; right: 18%; background: #e33; color: #fff; font-size: 10px; border-radius: 10px; padding: 0 5px; }

/* 后台管理 admin.css 复用部分样式 */
.admin-wrap { max-width: 100%; }
.admin-nav { background: #1f2d3d; color: #fff; }
.admin-nav a { color: #c6cbd4; display: block; padding: 12px 18px; border-bottom: 1px solid rgba(255,255,255,.06); }
.admin-nav a.active { background: #16305a; color: #fff; }
.table { width: 100%; border-collapse: collapse; background: #fff; }
.table th, .table td { border-bottom: 1px solid #eee; padding: 10px; font-size: 13px; text-align: left; }
.table th { background: #f8f9fb; }
.btn-sm { padding: 4px 10px; font-size: 12px; border-radius: 6px; border: 1px solid #ddd; background: #fff; cursor: pointer; }
.btn-del { color: #e33; border-color: #e33; }
/* ============================================================
   == sx2-extra-layer == 严选杂志式排版（首页/分类/详情）追加层
   只追加不覆盖旧类（购物车/结算/我的仍用旧样式）
   ============================================================ */
.sx2-home, .sx2-cat, .sx2-pg { min-height: 100vh; }

/* 通知条 */
.sx2-notice { display:flex; align-items:center; gap:8px; background:#22201d; color:#d9d2c5; font-size:12px; padding:8px 12px; overflow:hidden; }
.sx2-notice-tag { flex:0 0 auto; border:1px solid #8c6a3f; color:#c9a86a; font-size:11px; border-radius:3px; padding:1px 5px; }

/* 刊头 */
.sx2-masthead { background:#fff; text-align:center; padding:26px 16px 20px; border-bottom:1px solid #efe9df; }
.sx2-kicker { font-size:11px; letter-spacing:3px; color:#8c6a3f; margin-bottom:8px; }
.sx2-mast-title { font-size:24px; letter-spacing:6px; color:#22201d; font-family:"Songti SC","Noto Serif SC","SimSun",serif; }
.sx2-mast-sub { font-size:12px; color:#8b857b; margin-top:8px; letter-spacing:1px; }

/* 主推大图（露边横滑） */
.sx2-feature { padding:14px 0 4px; }
.sx2-feature-strip { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; padding:0 26px; -webkit-overflow-scrolling:touch; }
.sx2-feature-strip::-webkit-scrollbar { display:none; }
.sx2-feature-card { flex:0 0 78%; scroll-snap-align:center; position:relative; border-radius:12px; overflow:hidden; background:#fff; }
.sx2-feature-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.sx2-feature-cap { position:absolute; left:0; right:0; bottom:0; display:flex; justify-content:space-between; align-items:center; gap:8px; padding:18px 12px 10px; background:linear-gradient(transparent, rgba(20,18,15,.72)); color:#fff; }
.sx2-feature-cap b { font-size:14px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sx2-feature-cap i { flex:0 0 auto; font-style:normal; font-size:15px; font-weight:700; color:#f5d9a8; }

/* 优惠横卡 */
.sx2-promo { display:flex; flex-direction:column; gap:3px; margin:12px 12px 0; background:#f4ede1; border:1px solid #e8dcc6; border-radius:12px; padding:14px 16px; }
.sx2-promo-main { font-size:15px; font-weight:700; color:#6d5326; }
.sx2-promo-sub { font-size:12px; color:#a08a5f; }

/* 品类楼层 */
.sx2-floor { margin-top:22px; }
.sx2-floor-hd { display:flex; justify-content:space-between; align-items:flex-end; padding:0 14px 10px; }
.sx2-floor-tt h3 { font-size:18px; color:#22201d; font-family:"Songti SC","Noto Serif SC","SimSun",serif; }
.sx2-floor-tt h3::before { content:""; display:inline-block; width:4px; height:14px; background:#8c6a3f; border-radius:2px; margin-right:8px; }
.sx2-floor-tt p { font-size:12px; color:#9a938a; margin-top:4px; }
.sx2-floor-more { font-size:12px; color:#8c6a3f; }
.sx2-floor-list { background:#fff; margin:0 12px; border-radius:12px; overflow:hidden; }

/* 图左文右横卡（首页楼层 + 分类页共用） */
.sx2-row { display:flex; gap:10px; padding:12px; border-bottom:1px solid #f2ede5; background:#fff; }
.sx2-row:last-child { border-bottom:none; }
.sx2-row-img { flex:0 0 96px; width:96px; height:96px; object-fit:cover; border-radius:8px; background:#f0ece5; }
.sx2-row-bd { flex:1; min-width:0; display:flex; flex-direction:column; justify-content:space-between; }
.sx2-row-name { font-size:14px; color:#22201d; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sx2-row-meta { font-size:11px; color:#a39c92; }
.sx2-row-price { display:flex; align-items:baseline; gap:8px; }
.sx2-row-price b { font-size:17px; color:#b4383a; font-weight:700; }
.sx2-row-price del { font-size:11px; color:#b9b2a7; }

/* 分类页 */
.sx2-cattab { position:sticky; top:0; z-index:50; display:flex; gap:6px; overflow-x:auto; background:#fff; padding:10px 12px; box-shadow:0 1px 6px rgba(30,25,15,.06); }
.sx2-cattab::-webkit-scrollbar { display:none; }
.sx2-cattab a { flex:0 0 auto; font-size:13px; color:#6d675e; padding:6px 14px; border-radius:999px; background:#f4f1ea; }
.sx2-cattab a.on { background:#22201d; color:#f5d9a8; }
.sx2-cat-hd { display:flex; justify-content:space-between; align-items:baseline; padding:16px 14px 10px; }
.sx2-cat-hd h2 { font-size:20px; color:#22201d; font-family:"Songti SC","Noto Serif SC","SimSun",serif; }
.sx2-cat-hd span { font-size:12px; color:#9a938a; }
.sx2-catlist { background:#fff; margin:0 12px 16px; border-radius:12px; overflow:hidden; }
.sx2-empty { padding:40px 0; text-align:center; color:#a39c92; font-size:13px; }

/* 穿搭笔记 */
.sx2-topic { margin-top:24px; }
.sx2-topic-hd { display:flex; justify-content:space-between; align-items:baseline; padding:0 14px 10px; }
.sx2-topic-hd h3 { font-size:17px; color:#22201d; }
.sx2-topic-hd span { font-size:12px; color:#9a938a; }
.sx2-topic-strip { display:flex; gap:10px; overflow-x:auto; padding:0 12px 4px; -webkit-overflow-scrolling:touch; }
.sx2-topic-strip::-webkit-scrollbar { display:none; }
.sx2-topic-card { flex:0 0 62%; background:#fff; border-radius:12px; padding:14px; }
.sx2-topic-card b { display:block; font-size:14px; color:#22201d; margin-bottom:6px; }
.sx2-topic-card p { font-size:12px; color:#8b857b; line-height:1.6; }

/* 选品说明长文 */
.sx2-panel { margin:24px 12px 16px; background:#fff; border-radius:12px; padding:18px 16px; }
.sx2-panel-hd { text-align:center; margin-bottom:14px; }
.sx2-panel-hd h3 { font-size:18px; color:#22201d; font-family:"Songti SC","Noto Serif SC","SimSun",serif; letter-spacing:2px; }
.sx2-panel-hd span { display:block; font-size:11px; color:#9a938a; margin-top:4px; letter-spacing:1px; }
.sx2-panel-bd h4 { font-size:14px; color:#6d5326; margin:14px 0 6px; padding-left:8px; border-left:3px solid #c9a86a; }
.sx2-panel-bd p { font-size:13px; color:#5c564e; line-height:1.8; }

/* ============ 详情页（sx2-pg 作用域内重排，旧类样式不受影响） ============ */
.sx2-gallery { position:relative; background:#111; overflow:hidden; }
.sx2-track { display:flex; transition:transform .3s ease; will-change:transform; cursor:grab; touch-action:pan-y; }
.sx2-track.dragging { transition:none; cursor:grabbing; }
.sx2-slide { flex:0 0 100%; }
.sx2-slide img { width:100%; aspect-ratio:3/4; object-fit:cover; -webkit-user-drag:none; user-select:none; }
.sx2-counter { position:absolute; right:12px; bottom:12px; background:rgba(0,0,0,.5); color:#fff; font-size:12px; border-radius:12px; padding:2px 10px; pointer-events:none; }
.sx2-arrow { position:absolute; top:50%; transform:translateY(-50%); width:30px; height:30px; line-height:28px; text-align:center; background:rgba(0,0,0,.35); color:#fff; border-radius:50%; font-size:16px; cursor:pointer; z-index:5; }
.sx2-arrow.prev { left:8px; }
.sx2-arrow.next { right:8px; }
.sx2-dots { position:absolute; left:0; right:0; bottom:10px; display:flex; justify-content:center; gap:6px; pointer-events:none; }
.sx2-dots i { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.45); }
.sx2-dots i.on { background:#f5d9a8; width:14px; border-radius:3px; }

.sx2-mast { background:#fff; text-align:center; padding:20px 16px 4px; }
.sx2-mast .sx2-kicker { letter-spacing:2px; }
.sx2-title { font-size:19px; color:#22201d; line-height:1.5; font-weight:700; }
.sx2-meta { font-size:12px; color:#9a938a; margin-top:6px; }

.sx2-priceband { display:flex; align-items:baseline; gap:10px; padding:12px 16px 4px; background:#fff; flex-wrap:wrap; }
.sx2-price i { font-style:normal; font-size:12px; color:#b4383a; margin-right:4px; }
.sx2-price b { font-size:24px; color:#b4383a; font-weight:800; }
.sx2-priceband del { font-size:12px; color:#b9b2a7; }
.sx2-price-tag { font-size:11px; color:#8c6a3f; border:1px solid #c9a86a; border-radius:999px; padding:2px 8px; }

.sx2-specrow { display:flex; justify-content:space-between; align-items:center; margin:10px 12px; background:#fff; border-radius:10px; padding:13px 14px; font-size:13px; color:#5c564e; }
.sx2-specrow .sx2-arr { color:#c9c2b6; }

.sx2-article { margin:2px 12px 16px; background:#fff; border-radius:12px; padding:16px 14px; }
.sx2-article > h4 { text-align:center; font-size:15px; color:#22201d; margin-bottom:12px; letter-spacing:2px; }
.sx2-article-bd { font-size:14px; color:#444; line-height:1.8; }
.sx2-article-bd img { width:100%; border-radius:8px; margin:8px 0; }

.sx2-pg .bottom-bar { box-shadow:0 -2px 10px rgba(30,25,15,.08); }
.sx2-pg .bottom-bar .op { color:#6d675e; }
.sx2-pg .btn-cart { background:#3b3833; border-radius:999px; }
.sx2-pg .btn-buy2 { background:#b4383a; border-radius:999px; }

.sx2-pg .spec-panel { border-radius:16px 16px 0 0; }
.sx2-panel-head { display:flex; gap:10px; align-items:center; }
.sx2-panel-price { font-size:18px; font-weight:800; color:#b4383a; }
.sx2-panel-label { margin:10px 0 4px; font-size:13px; color:#5c564e; }
.sx2-panel-numrow { display:flex; justify-content:space-between; align-items:center; margin-top:12px; font-size:13px; color:#5c564e; }
.sx2-pg .spec-item { border-color:#8c6a3f; color:#6d5326; border-radius:999px; }
.sx2-pg .spec-item.on { background:#22201d; border-color:#22201d; color:#f5d9a8; }
