/* ==========================================================================
   淘宝客返利系统 - 电脑端样式
   ========================================================================== */

*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;background:#f5f6f8;color:#333;font-size:14px;line-height:1.6}
a{color:#333;text-decoration:none}
a:hover{color:#ff5000}
img{max-width:100%}

.tk-container{max-width:1200px;margin:0 auto;padding:0 15px}

/* ---------------- 头部 ---------------- */
.tk-header{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);position:sticky;top:0;z-index:100}
.tk-header .tk-container{display:flex;align-items:center;height:64px}
.tk-logo a{font-size:22px;font-weight:700;color:#ff5000;white-space:nowrap}
.tk-nav{flex:1;min-width:0;margin:0 16px;display:flex;align-items:stretch;gap:4px;overflow:visible}
.tk-nav>a,.tk-nav-item>a{display:flex;align-items:center;height:64px;padding:0 9px;font-size:14px;white-space:nowrap}
.tk-nav a:hover{color:#ff5000}
.tk-nav-item{position:relative;display:flex;align-items:center}
.tk-nav-item.has-sub>a::after{content:"";display:block;width:5px;height:5px;margin:-3px 0 0 6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.tk-subnav{position:absolute;top:100%;left:0;z-index:130;display:none;min-width:150px;padding:6px;background:#fff;border:1px solid #f0f0f0;border-radius:0 0 8px 8px;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.tk-nav-item.has-sub:hover .tk-subnav,.tk-nav-item.has-sub:focus-within .tk-subnav{display:block}
.tk-subnav a{display:block;padding:9px 12px;border-radius:6px;font-size:13px;line-height:1.4;color:#555;white-space:nowrap}
.tk-subnav a:hover{background:#fff4ee;color:#ff5000}
.tk-search-trigger{display:flex;flex:0 0 auto;align-items:center;gap:7px;height:36px;padding:0 16px 0 13px;margin-right:16px;border:1px solid #f0e2da;border-radius:19px;background:linear-gradient(180deg,#fffaf7,#fdf4ef);color:#b6a49a;font-family:inherit;font-size:13px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,color .18s ease}
.tk-search-trigger:hover{border-color:#ffc3a3;color:#ff6b23;box-shadow:0 4px 14px rgba(255,80,0,.12)}
.tk-search-trigger:focus-visible{outline:2px solid #ffb98f;outline-offset:2px}
.tk-search-trigger-ico{display:flex;flex:0 0 auto;color:#ff7a3d}
.tk-search-trigger-text{white-space:nowrap}
.tk-user{display:flex;align-items:center;gap:10px;white-space:nowrap}
.tk-user .welcome{color:#666;max-width:120px;overflow:hidden;text-overflow:ellipsis}

/* ---------------- 搜索弹层 ---------------- */
.tk-search-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:flex-start;justify-content:center;padding:13vh 20px 24px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.tk-search-modal.is-open{opacity:1;visibility:visible}
.tk-search-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(24,18,15,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.tk-search-dialog{position:relative;width:100%;max-width:680px;padding:26px 28px 22px;border-radius:18px;background-color:#fff;background-image:linear-gradient(90deg,#ffb066,#ff5000 55%,#ff2d55);background-repeat:no-repeat;background-position:left top;background-size:100% 4px;box-shadow:0 30px 70px rgba(20,12,8,.3);transform:translateY(-14px) scale(.98);transition:transform .22s ease}
.tk-search-modal.is-open .tk-search-dialog{transform:none}
.tk-search-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.tk-search-heading{margin:0;font-size:17px;font-weight:700;line-height:1.3;color:#2b211c}
.tk-search-heading span{margin-left:10px;font-size:12.5px;font-weight:400;color:#a8968d}
.tk-search-close{flex:0 0 auto;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#f6f3f1;color:#8c8078;font-family:inherit;font-size:20px;line-height:1;cursor:pointer;transition:background .18s ease,color .18s ease}
.tk-search-close:hover{background:#ffece2;color:#ff5000}
.tk-search-form{display:flex;align-items:center;gap:10px;height:56px;padding:0 6px 0 16px;border:1.5px solid #ffe0d1;border-radius:14px;background:#fffaf7;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.tk-search-form:focus-within{border-color:#ff7a3d;background:#fff;box-shadow:0 0 0 4px rgba(255,80,0,.1)}
.tk-search-form-ico{display:flex;flex:0 0 auto;color:#ff7a3d}
.tk-search-input{flex:1;min-width:0;height:52px;padding:0;border:0;background:transparent;outline:0;font-family:inherit;font-size:16px;color:#332720}
.tk-search-input::placeholder{color:#bcaa9f}
.tk-search-go{flex:0 0 auto;height:44px;padding:0 28px;border:0;border-radius:11px;background:linear-gradient(135deg,#ff7f3f,#ff5000);color:#fff;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:1px;cursor:pointer;box-shadow:0 8px 18px rgba(255,80,0,.26);transition:transform .16s ease,box-shadow .16s ease}
.tk-search-go:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(255,80,0,.32)}
.tk-search-go:active{transform:none}
.tk-search-hints{display:flex;align-items:center;gap:7px;margin:14px 0 0;font-size:12.5px;color:#a8968d}
.tk-search-hints kbd{padding:1px 7px;border:1px solid #eee2db;border-bottom-width:2px;border-radius:5px;background:#fdfaf8;font-family:inherit;font-size:11.5px;color:#8c8078}
.tk-search-hints em{font-style:normal;color:#d6c9c0}
.tk-modal-open{overflow:hidden}

/* ---------------- 主体 / 底部 ---------------- */
.tk-main{min-height:calc(100vh - 260px);padding:20px 0}
.tk-footer{background:#fff;border-top:1px solid #eee;padding:26px 0;margin-top:30px;text-align:center}
.tk-footer .links{display:flex;justify-content:center;gap:20px;margin:0 0 10px}
.tk-footer .tips{color:#999;margin:0 0 6px;font-size:13px}
.tk-footer .service-info{color:#666;font-size:13px;line-height:1.7;margin:0 0 6px;white-space:pre-line}
.tk-footer .icp{color:#999;font-size:12px;margin:6px 0 0}
.tk-footer .icp a{color:#999;text-decoration:none}
.tk-footer .icp a:hover{color:#ff5000}
.tk-footer .copyright{color:#999;font-size:13px;margin:0}

/* ---------------- 通用组件 ---------------- */
.btn{display:inline-block;padding:7px 16px;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:14px;text-align:center;line-height:1.4;background:#f5f5f5;color:#333;white-space:nowrap}
.btn-primary{background:#ff5000;color:#fff}
.btn-primary:hover{background:#e64800;color:#fff}
.btn-blue{background:#1e9fff;color:#fff}
.btn-blue:hover{background:#1890ff;color:#fff}
.btn-default{background:#fff;border-color:#ddd;color:#555}
.btn-default:hover{border-color:#ff5000;color:#ff5000}
.btn-sm{padding:3px 10px;font-size:12px}
.btn-lg{padding:12px 34px;font-size:16px}

.tk-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.05);padding:20px;margin-bottom:16px}
.tk-title{font-size:19px;font-weight:600;margin:0 0 16px;padding-left:10px;border-left:4px solid #ff5000;line-height:1.2}
/* 卡片内小标题行：标题在左、次要链接在右（与 mobile 主题一致） */
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.section-head .tk-title{margin:0}
.section-head>a{flex:0 0 auto;font-size:13px;color:#999}
.form-hint{font-size:12px;color:#999;line-height:1.6;margin:0;word-break:break-all}

.tk-empty{text-align:center;color:#999;padding:60px 20px}
.tk-empty .code{font-size:64px;font-weight:700;color:#ddd;margin:0}
.tk-empty .msg{margin:10px 0 24px;font-size:15px}

/* ---------------- 商品卡片 ---------------- */
.goods-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.goods-card{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #f0f0f0;transition:all .2s;display:flex;flex-direction:column}
.goods-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.1);border-color:#ffe0d3}
.goods-card .pic-wrap{position:relative;overflow:hidden}
.goods-card .pic-wrap > a{display:block}
.goods-card .pic{width:100%;height:230px;object-fit:contain;display:block}
.gift-cover-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px;background:linear-gradient(145deg,#fff6ef,#ffe4d3);text-align:center}
.goods-card .pic.gift-cover-fallback{display:flex;background:linear-gradient(145deg,#fff6ef,#ffe4d3)}
.gift-cover-fallback .gift-cover-mark{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#ff8a3d,#ff4d00);color:#fff;font-size:26px;font-weight:800;line-height:1;letter-spacing:1px;box-shadow:0 8px 18px rgba(255,77,0,.22)}
.gift-cover-fallback .gift-cover-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;color:#9a4d24;font-size:12px;font-weight:600;line-height:1.5;word-break:break-all}
.gift-cover-fallback.gift-cover-detail{width:100%;aspect-ratio:1/1;border-radius:10px}
.goods-card .body{padding:12px;flex:1;display:flex;flex-direction:column}
.goods-card .title{font-size:13px;margin:0 0 8px;height:40px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:20px}
.goods-card .title a{color:#333}
.goods-card .price{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#ff5000;font-size:20px;font-weight:700;line-height:1.2}
.goods-card .price .amount{white-space:nowrap}
.goods-card .price small{font-size:12px;font-weight:400}
.goods-card .price .points{flex:0 0 auto;margin-left:auto;padding:2px 7px;border-radius:10px;background:#fff4e5;color:#b26a00;font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap}
.goods-card .meta{display:flex;justify-content:space-between;color:#999;font-size:12px;margin-top:4px}
.goods-card .coupon-badge{position:absolute;top:10px;right:10px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;padding:6px 9px 5px;color:#fff;background:linear-gradient(135deg,#ff7a18,#ff3d00);border-radius:6px;box-shadow:0 4px 12px rgba(255,61,0,.35);line-height:1;pointer-events:none}
.goods-card .coupon-badge::after{content:"";position:absolute;inset:3px;border:1px dashed rgba(255,255,255,.55);border-radius:3px}
.goods-card .coupon-amount{position:relative;z-index:1;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.goods-card .coupon-amount em{font-size:11px;font-style:normal;font-weight:500;margin-left:1px}
.goods-card .coupon-label{position:relative;z-index:1;margin-top:4px;padding-top:3px;border-top:1px dashed rgba(255,255,255,.6);font-size:10px;letter-spacing:1px;opacity:.95}
.goods-card .actions{margin-top:10px}
.goods-card .actions .btn{width:100%}

/* ---------------- 排序条 ---------------- */
.sort-bar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.sort-bar a{padding:5px 14px;border-radius:16px;background:#f5f5f5;color:#555;font-size:13px}
.sort-bar a.on{background:#ff5000;color:#fff}
.sort-bar .total{margin-left:auto;color:#999;font-size:13px}

/* ---------------- 分类卡片 ---------------- */
.cate-card{padding:18px 20px}
.cate-grid{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px}
.cate-item{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;min-width:0;max-width:100%;padding:10px 13px;border:1px solid #eee;border-radius:8px;background:#fafafa;color:#555;font-size:14px;transition:border-color .2s,background .2s,color .2s,transform .2s,box-shadow .2s}
.cate-item:hover{border-color:#ffc7ad;background:#fff7f2;color:#ff5000;transform:translateY(-1px)}
.cate-item.on{border-color:#ff5000;background:linear-gradient(135deg,#ff7a3d,#ff5000);color:#fff;font-weight:600;box-shadow:0 4px 12px rgba(255,80,0,.18)}
.cate-item.on:hover{color:#fff}
.cate-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cate-item-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.24);color:#fff;line-height:1}
.cate-item-mark svg{display:block;width:12px;height:12px;fill:currentColor}

/* ---------------- 轮播 ---------------- */
.banner-box{border-radius:8px;overflow:hidden;margin-bottom:16px;background:#fff}
.banner-box .layui-carousel-img{width:100%}
.banner-box img{width:100%;height:320px;object-fit:cover;display:block}

/* ---------------- 公告条 ---------------- */
.notice-bar{display:flex;align-items:center;gap:12px;background:#fff;border-radius:8px;padding:10px 16px;margin-bottom:16px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.notice-bar .tag-hot{background:#ff5000;color:#fff;border-radius:3px;font-size:12px;padding:1px 8px}
.notice-bar .items{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.notice-bar .items a{color:#666;margin-right:20px}

/* ---------------- 商品详情 ---------------- */
.detail-wrap{display:flex;gap:24px}
.detail-pics{width:400px;flex-shrink:0}
.detail-pics .main img{width:100%;border-radius:8px;display:block;background:#f7f7f7}
.thumbs-wrap{position:relative;margin-top:10px}
.detail-pics .thumbs{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;padding:2px 1px;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
.detail-pics .thumbs::-webkit-scrollbar{display:none;width:0;height:0}
.thumbs-nav{position:absolute;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:26px;height:44px;padding:0;border:0;border-radius:6px;background:rgba(255,255,255,.94);box-shadow:0 2px 10px rgba(0,0,0,.16);color:#555;cursor:pointer;transform:translateY(-50%);transition:background .18s,color .18s,transform .18s}
.thumbs-nav:hover{background:#fff;color:#ff5000}
.thumbs-nav:active{transform:translateY(-50%) scale(.96)}
.thumbs-nav[hidden]{display:none}
.thumbs-prev{left:2px}
.thumbs-next{right:2px}
@media (max-width:768px){.thumbs-nav{width:24px;height:40px;border-radius:5px}.thumbs-prev{left:1px}.thumbs-next{right:1px}}
.detail-pics .thumbs img{flex:0 0 64px;width:64px;height:64px;object-fit:cover;border-radius:4px;border:1px solid #eee;cursor:pointer}
.detail-info{flex:1;min-width:0}
.detail-info h1{font-size:20px;line-height:1.4;margin:0 0 6px}
.detail-info .sub{color:#999;margin:0 0 16px}
/* ---------------- 商品档案（主图下方） ---------------- */
.detail-facts{margin-top:12px}
.detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 4px;border:1px solid #f2e6df;border-radius:12px;background:linear-gradient(180deg,#fffaf7,#fff)}
.detail-meta .meta-cell{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:2px 7px;border-left:1px solid #f6ece7;color:inherit;text-decoration:none}
.detail-meta .meta-cell:first-child{border-left:0}
.detail-meta a.meta-cell{transition:opacity .18s}
.detail-meta a.meta-cell:hover{opacity:.72}
.detail-meta .meta-icon{display:flex;flex:0 0 26px;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:#fff0e6;color:#f26a2e}
.detail-meta .meta-copy{display:flex;flex-direction:column;gap:1px;min-width:0}
.detail-meta .meta-copy em{font-style:normal;font-size:10px;line-height:1.35;color:#8d796d;white-space:nowrap}
.detail-meta .meta-copy b{overflow:hidden;color:#332720;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap;text-overflow:ellipsis}
.detail-meta .meta-sales .meta-copy b{color:#ff5a1f}
.detail-facts-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px;padding:0 2px;font-size:10.5px;line-height:1.5;color:#8b776b}
.coupon-rule{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:3px 9px;border-radius:7px;background:#fff2ea;color:#b4491f;font-size:11px;line-height:1.6}
.coupon-rule span{color:#b98770}
.coupon-rule b{font-weight:600}
.buy-flow{display:flex;align-items:center;gap:6px;max-width:640px;margin:14px 0 4px;padding:12px 14px;border:1px solid #f3e6de;border-radius:12px;background:linear-gradient(180deg,#fffaf6,#fff)}
.buy-flow .flow-step{display:flex;flex:1;align-items:center;gap:7px;min-width:0}
.buy-flow .flow-no{display:flex;flex:0 0 22px;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#fff0e6;color:#f26a2e;font-size:11px;font-weight:700;line-height:1}
.buy-flow .flow-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.buy-flow .flow-text b{overflow:hidden;font-size:12px;font-weight:600;line-height:1.3;color:#3b2a20;white-space:nowrap;text-overflow:ellipsis}
.buy-flow .flow-text em{overflow:hidden;font-style:normal;font-size:10px;line-height:1.3;color:#9c877b;white-space:nowrap;text-overflow:ellipsis}
.buy-flow .flow-arrow{flex:0 0 auto;color:#d9c3b6;font-size:13px;line-height:1}
.price-box{position:relative;background:linear-gradient(90deg,#fff4ef,#fff);border-radius:8px;padding:16px;margin-bottom:16px}
.price-box .price-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.price-box.has-countdown .price-line{padding-right:104px}
.price-box .now{color:#ff5000;font-size:32px;font-weight:700;line-height:1.05}
.price-box .now small{font-size:16px;font-weight:400}
.price-box .save{background:#ff5000;color:#fff;border-radius:3px;font-size:12px;line-height:18px;padding:2px 8px}
.price-box .save.is-off{background:#f1f2f4;color:#999}
.price-box .rates{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:24px;row-gap:6px;margin-top:12px;color:#666;font-size:13px;line-height:1.6}
.price-box .rates>span{display:inline-flex;align-items:baseline;gap:4px}
.price-box .rates b{color:#ff5000;font-size:16px;font-weight:600;line-height:1}
.price-box .coupon-end{position:absolute;top:14px;right:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:88px;padding:6px 10px;background:linear-gradient(135deg,#fff6f1,#fff);border:1px solid #ffd9c2;border-radius:10px;box-shadow:0 4px 14px rgba(255,80,0,.12);color:#ff5000;line-height:1.2;white-space:nowrap;text-align:center}
.price-box .coupon-end-label{font-size:11px;color:#c07a55}
.price-box .coupon-end em{font-style:normal;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.4px}
.price-box .coupon-end.is-expired{background:#f7f7f7;border-color:#e5e5e5;box-shadow:none;color:#999}
.price-box .coupon-end.is-expired .coupon-end-label{color:#999}
.buy-box{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}
/* 扫码购买：悬停展示二维码 */
.scan-buy{position:relative;display:inline-block}
.scan-buy-pop{position:absolute;left:50%;bottom:calc(100% + 12px);z-index:30;width:160px;padding:16px;background:#fff;border:1px solid #f0e4dc;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.14);text-align:center;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,6px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.scan-buy-pop:before{content:'';position:absolute;left:0;right:0;top:100%;height:14px}
.scan-buy-pop:after{content:'';position:absolute;left:50%;top:100%;margin-left:-6px;border:6px solid transparent;border-top-color:#fff}
.scan-buy:hover .scan-buy-pop,.scan-buy:focus-within .scan-buy-pop{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.scan-buy-qr{width:128px;height:128px;margin:0 auto;background:#fff}
.scan-buy-qr img,.scan-buy-qr canvas,.scan-buy-qr svg{display:block;width:128px!important;height:128px!important}
.scan-buy-tip{margin:6px 0 0;font-size:14px;line-height:1.4;color:#ff5000}
.scan-buy-error{margin:0;padding:24px 6px;font-size:12px;line-height:1.6;color:#999}
.share-box{background:#fafafa;border:1px dashed #e5e5e5;border-radius:8px;padding:14px;margin-top:16px}
.share-box .row{display:flex;gap:8px;margin-bottom:10px}
.share-box input,.share-box textarea{flex:1;border:1px solid #e5e5e5;border-radius:4px;padding:8px 10px;font-size:13px;outline:0;font-family:inherit}
.share-box textarea{height:110px;resize:vertical}
.share-link-text{display:inline-block;max-width:100%;color:#ff5000;line-height:1.5;word-break:break-all;text-decoration:none}
.share-link-text:hover{text-decoration:underline}
/* ---------------- 分享面板 ---------------- */
.share-panel{margin-top:18px;border:1px solid #ffe2d6;border-radius:10px;background:#fff;overflow:hidden}
.share-panel-head{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(90deg,#fff3ec,#fffaf7);border-bottom:1px solid #ffe9df}
.share-panel-icon{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#ff7a3d,#ff5000);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.share-panel-title{min-width:0}
.share-panel-title strong{display:block;font-size:15px;color:#333;line-height:1.4}
.share-panel-title span{display:block;font-size:12px;color:#999;line-height:1.5;margin-top:1px}
.share-panel-title b{color:#ff5000}
.share-panel-body{padding:14px 16px 16px}
.share-field+.share-field{margin-top:12px}
.share-label{display:block;font-size:12px;color:#666;margin-bottom:6px}
.share-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.share-label-row .share-label{margin-bottom:0}
.share-input-group{display:flex;gap:8px}
.share-input-group input{flex:1;min-width:0;height:38px;padding:0 12px;border:1px solid #eee;border-radius:8px;background:#fafafa;color:#555;font-size:13px;outline:0}
.share-input-group input:focus{border-color:#ffc9b3;background:#fff}
.share-copy-btn{height:38px;padding:0 16px;border:0;border-radius:8px;background:linear-gradient(135deg,#ff7a3d,#ff5000);color:#fff;font-size:13px;cursor:pointer;white-space:nowrap;transition:box-shadow .2s,opacity .2s}
.share-copy-btn:hover{box-shadow:0 4px 12px rgba(255,80,0,.25)}
.share-copy-btn:active{opacity:.85}
.share-copy-text{padding:0;border:0;background:none;color:#ff5000;font-size:12px;cursor:pointer}
.share-copy-text:hover{text-decoration:underline}
.share-text{display:block;width:100%;min-height:130px;padding:10px 12px;border:1px solid #eee;border-radius:8px;background:#fafafa;color:#555;font-size:13px;line-height:1.7;font-family:inherit;resize:vertical;outline:0;box-sizing:border-box}
.share-text:focus{border-color:#ffc9b3;background:#fff}

/* ---------------- 表格 ---------------- */
.tk-table{width:100%;border-collapse:collapse;background:#fff}
.tk-table th,.tk-table td{padding:11px 14px;text-align:left;border-bottom:1px solid #f2f2f2;font-size:13px}
.tk-table th{background:#fafafa;font-weight:600;color:#555;white-space:nowrap}
.tk-table tr:hover td{background:#fffbf9}
.tk-table .money{color:#ff5000;font-weight:600}
.tk-table .goods-cell{display:flex;align-items:center;gap:10px;min-width:220px}
.tk-table .goods-cell img{width:44px;height:44px;border-radius:4px;object-fit:cover}
.tk-table .goods-cell span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------------- 标签 ---------------- */
.tag{display:inline-block;padding:1px 8px;border-radius:3px;font-size:12px;line-height:18px}
.tag-success{background:#e8f8ee;color:#1f9c4d}
.tag-warning{background:#fff8e1;color:#c77700}
.tag-danger{background:#ffeded;color:#e4393c}
.tag-gray{background:#f2f2f2;color:#666}

/* ---------------- 分页 ---------------- */
.tk-pager{display:flex;justify-content:center;align-items:center;gap:6px;margin:24px 0 6px;flex-wrap:wrap}
.tk-pager a,.tk-pager span{padding:5px 11px;border:1px solid #e5e5e5;border-radius:4px;background:#fff;color:#555;font-size:13px}
.tk-pager a:hover{border-color:#ff5000;color:#ff5000}
.tk-pager .tk-pager-curr{background:#ff5000;border-color:#ff5000;color:#fff}
.tk-pager .tk-pager-disabled{color:#ccc;cursor:not-allowed}
.tk-pager .tk-pager-count,.tk-pager .tk-pager-limits{border:0;background:0 0;color:#999}
.tk-pager .tk-pager-spr{border:0;background:0 0}

/* ---------------- 个人中心 ---------------- */
.user-layout{display:flex;gap:16px;align-items:flex-start}
.user-side{width:190px;flex-shrink:0;padding:10px;overflow:hidden;background:#fff;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.user-side .head{position:relative;margin:-10px -10px 10px;padding:20px 14px 15px;overflow:hidden;text-align:center;color:#fff;background:linear-gradient(150deg,#ff8245 0%,#f55000 52%,#d63f00 100%)}
.user-side .head::before,.user-side .head::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.13)}
.user-side .head::before{width:112px;height:112px;top:-54px;right:-34px}
.user-side .head::after{width:72px;height:72px;bottom:-40px;left:-24px;background:rgba(255,255,255,.08)}
.user-side .head .avatar{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin:0 auto 9px;border-radius:50%;border:3px solid rgba(255,255,255,.66);background:#fff;color:#f55000;font-size:22px;font-weight:700;box-shadow:0 6px 18px rgba(140,40,0,.28)}
.user-side .head .name{position:relative;z-index:1;font-size:15px;font-weight:600;line-height:1.45;word-break:break-all}
.user-side .head .uid{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;margin-top:9px;padding:3px 11px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.18);font-size:11px;font-weight:600;letter-spacing:.6px;line-height:1.6}
.user-side .head .uid b{font-size:13px;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums}
.user-side .head .invite{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:11px;padding-top:9px;border-top:1px dashed rgba(255,255,255,.36);color:rgba(255,255,255,.82);font-size:12px}
.user-side .head .invite b{color:#fff;font-weight:700;letter-spacing:.8px}
.user-side a.item{display:block;margin:0 2px;padding:9px 12px;border-radius:6px;color:#555;font-size:14px;transition:background .15s,color .15s}
.user-side a.item:hover{background:#fff6f2;color:#ff5000}
.user-side a.item.on{background:#ff5000;color:#fff}
.user-body{flex:1;min-width:0}

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.stat-card{background:#fff;border-radius:8px;padding:16px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.stat-card .num{font-size:24px;font-weight:700;color:#ff5000;line-height:1.3}
.stat-card .label{color:#999;font-size:13px}
.stat-card.blue .num{color:#1a73e8}

/* ---------------- 表单 ---------------- */
.tk-form{max-width:420px;margin:0 auto}
.tk-form .item{margin-bottom:16px}
.tk-form .item label{display:block;margin-bottom:6px;color:#555}
.form-required{color:#e4393c;font-weight:400}
.tk-form .item input[type=text],.tk-form .item input[type=password],.tk-form .item input[type=number],.tk-form .item input[type=tel],.tk-form .item select,.tk-form .item textarea{width:100%;height:40px;border:1px solid #e5e5e5;border-radius:5px;padding:0 12px;font-size:14px;outline:0;font-family:inherit;background:#fff}
.tk-form .item textarea{height:90px;padding:10px 12px;resize:vertical}
.tk-form .item input:focus,.tk-form .item select:focus,.tk-form .item textarea:focus{border-color:#ff5000}
.tk-form .item .tips{color:#999;font-size:12px;margin-top:4px}
/* 邀请码一次性设置：输入框 + 按钮同行 */
.tk-form .item .invite-set{display:flex;gap:8px;align-items:center}
.tk-form .item .invite-set input[type=text]{flex:1;min-width:0;text-transform:uppercase}
.tk-form .item .invite-set .btn{flex:0 0 auto;height:40px;padding:0 16px;border-radius:5px;font-size:14px}
.tk-form .submit{width:100%;height:42px;font-size:16px;border-radius:5px}
.tk-form .extra{display:flex;justify-content:space-between;color:#999;font-size:13px;margin-top:14px}

.tk-auth{max-width:420px;margin:40px auto;background:#fff;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.07);padding:32px}
.tk-auth h2{text-align:center;margin:0 0 6px;font-size:22px}

/* ---------------- 淘口令复制结果 ---------------- */
.tk-copy-layer{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(20,16,12,.5);animation:tkCopyFade .18s ease-out}
.tk-copy-card{width:100%;max-width:340px;padding:26px 24px 20px;border-radius:18px;background:#fff;border:1px solid #ffe0cc;box-shadow:0 18px 50px rgba(0,0,0,.22);text-align:center;animation:tkCopyPop .22s cubic-bezier(.2,1.2,.3,1)}
.tk-copy-card.is-success{background:linear-gradient(160deg,#fff8f3 0%,#fff 55%,#fff4ec 100%);border-color:#ffd2b5}
.tk-copy-card.is-fail{background:linear-gradient(160deg,#f8fafc 0%,#fff 60%);border-color:#e5e5e5}
.tk-copy-emoji{font-size:46px;line-height:1;margin-bottom:10px}
.tk-copy-card.is-success .tk-copy-emoji{animation:tkCopyBounce .5s ease}
.tk-copy-title{font-size:19px;font-weight:800;color:#e24600;margin-bottom:6px}
.tk-copy-card.is-fail .tk-copy-title{color:#475569}
.tk-copy-desc{font-size:13px;color:#8a6a58;line-height:1.6;margin-bottom:14px}
.tk-copy-card.is-fail .tk-copy-desc{color:#64748b}
.tk-copy-text{width:100%;box-sizing:border-box;padding:10px 12px;border:1px dashed #ffc7a6;border-radius:10px;background:#fff;color:#7a3f1d;font-size:13px;line-height:1.5;resize:none;text-align:center;word-break:break-all;margin-bottom:14px}
.tk-copy-card.is-fail .tk-copy-text{border-color:#cbd5e1;background:#f8fafc;color:#333}
.tk-copy-close{min-width:120px;height:38px;padding:0 20px;border:0;border-radius:999px;background:#ff5000;color:#fff;font-size:14px;font-weight:600;cursor:pointer}
.tk-copy-card.is-fail .tk-copy-close{background:#64748b}
.tk-copy-close:active{transform:scale(.97)}
@keyframes tkCopyFade{from{opacity:0}to{opacity:1}}
@keyframes tkCopyPop{from{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}
@keyframes tkCopyBounce{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}

/* ---------------- 轻提示（复制/表单结果） ---------------- */
.tk-toast{position:fixed;top:15%;left:50%;z-index:99999;display:flex;align-items:center;gap:10px;max-width:420px;box-sizing:border-box;padding:12px 22px 12px 14px;border-radius:16px;background:rgba(255,255,255,.96);border:1px solid #ffd9c2;box-shadow:0 14px 44px rgba(226,70,0,.18);backdrop-filter:blur(8px);transform:translateX(-50%);animation:tkToastIn .3s cubic-bezier(.2,1.1,.3,1)}
.tk-toast.is-err{border-color:#f3c6c6;box-shadow:0 14px 44px rgba(0,0,0,.16)}
.tk-toast-ico{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#ff8a4d,#ff5000);flex:none;box-shadow:0 4px 10px rgba(255,80,0,.35)}
.tk-toast.is-err .tk-toast-ico{background:linear-gradient(135deg,#94a3b8,#64748b);box-shadow:0 4px 10px rgba(100,116,139,.3)}
.tk-toast-ico svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tk-toast-msg{font-size:14px;font-weight:600;color:#7a3f1d;line-height:1.5;word-break:break-all}
.tk-toast.is-err .tk-toast-msg{color:#475569}
.tk-toast.is-out{animation:tkToastOut .32s ease forwards}
@keyframes tkToastIn{from{opacity:0;transform:translate(-50%,-14px) scale(.92)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes tkToastOut{to{opacity:0;transform:translate(-50%,-10px) scale(.95)}}
.tk-auth .desc{text-align:center;color:#999;margin:0 0 24px;font-size:13px}

/* ---------------- 详情页内容 ---------------- */
.page-content{line-height:1.9;color:#555;font-size:14px}
.page-content img{max-width:100%}
.notice-list li{list-style:none;padding:12px 0;border-bottom:1px solid #f2f2f2;display:flex;justify-content:space-between;gap:16px}
.notice-list{margin:0;padding:0}
.notice-list .date{color:#999;font-size:13px;white-space:nowrap}

/* ---------------- APP 下载页 ---------------- */
.app-list{margin-top:18px;border-top:1px solid #f2f2f2}
.app-item{display:flex;align-items:center;gap:16px;padding:18px 2px;border-bottom:1px solid #f2f2f2}
.app-item:last-child{border-bottom:0}
.app-ico{flex:0 0 46px;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:11px}
.app-ico svg{width:26px;height:26px}
.app-ico-android{background:#e8f6ec;color:#2fb344}
.app-ico-ios{background:#f0f1f3;color:#333}
.app-meta{flex:1 1 auto;min-width:0}
.app-name{margin:0;font-size:15px;font-weight:600;color:#333}
.app-desc{margin:4px 0 0;font-size:12.5px;color:#999;line-height:1.6}
.app-action{flex:0 0 auto}
.app-soon{display:inline-block;padding:11px 26px;border-radius:6px;background:#f5f5f5;color:#aaa;font-size:15px;line-height:1.4}

.tk-tips{background:#fff8e1;border:1px solid #ffe9a8;color:#8a6100;border-radius:6px;padding:10px 14px;font-size:13px;margin-bottom:16px}
/* 优惠券已结束：入口关闭提示 */
.coupon-expired-tip{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;margin:0 0 16px;border:1px solid #ffe2d3;border-radius:10px;background:linear-gradient(135deg,#fff8f4,#fff 72%);box-shadow:0 4px 14px rgba(255,80,0,.06)}
.coupon-expired-tip-icon{display:flex;flex:0 0 30px;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff0e7;color:#f2601f}
.coupon-expired-tip-body{min-width:0}
.coupon-expired-tip-title{margin:0;font-size:14px;font-weight:600;line-height:1.5;color:#c33a00}
.coupon-expired-tip-desc{margin:2px 0 0;font-size:12.5px;line-height:1.65;color:#8c6a5b}

/* ---------------- 首页：为您推荐（横向滚动） ---------------- */
.recommend-block{position:relative;margin-bottom:18px;padding:18px 20px 20px;border:1px solid #ffe3cf;border-radius:16px;background:linear-gradient(135deg,#fff7ef 0%,#fff 48%,#fff4f2 100%);box-shadow:0 8px 26px rgba(255,98,0,.07)}
.recommend-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.recommend-heading h2{display:flex;align-items:center;gap:9px;margin:0;font-size:22px;line-height:1.2;color:#332018;letter-spacing:.5px}
.recommend-heading h2::before{content:"";width:6px;height:22px;border-radius:3px;background:linear-gradient(180deg,#ff8a1f,#ff3d00)}
.recommend-heading p{margin:6px 0 0 15px;font-size:12px;color:#a98470}
.recommend-nav{display:flex;flex:0 0 auto;gap:8px}
.recommend-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #ffd9c2;border-radius:50%;background:#fff;color:#e85a1c;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.recommend-arrow:hover{background:#ff6a1f;color:#fff;box-shadow:0 6px 14px rgba(255,96,20,.25)}
.recommend-arrow:disabled{opacity:.35;cursor:default;background:#fff;color:#e85a1c;box-shadow:none}
.recommend-rail{display:flex;gap:12px;overflow-x:auto;padding:2px 0 8px;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.recommend-rail::-webkit-scrollbar{display:none}
.recommend-item{display:block;flex:0 0 168px;width:168px;box-sizing:border-box;padding:8px;border:1px solid #ffe8d9;border-radius:14px;background:#fff;color:inherit;text-decoration:none;scroll-snap-align:start;transition:transform .2s,box-shadow .2s,border-color .2s}
.recommend-item:hover{transform:translateY(-3px);border-color:#ffc7a6;box-shadow:0 12px 24px rgba(255,92,0,.14)}
.recommend-pic{position:relative;width:140px;height:140px;margin:0 auto;overflow:hidden;border-radius:10px;background:#fff8f2}
.recommend-pic img{display:block;width:140px;height:140px;object-fit:contain}
.recommend-coupon{position:absolute;top:6px;left:6px;padding:3px 7px;border-radius:8px;background:linear-gradient(135deg,#ff7a18,#ff3d00);color:#fff;font-size:10px;font-weight:700;line-height:1.3;letter-spacing:.3px;box-shadow:0 3px 8px rgba(255,61,0,.28)}
.recommend-body{padding:8px 2px 2px}
.recommend-name{margin:0 0 7px;height:36px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:18px;color:#3b2a20}
.recommend-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0}
.recommend-price{flex:0 0 auto;color:#ff4d1f;font-size:18px;font-weight:800;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.recommend-price small{font-size:11px;font-weight:500}
.recommend-points{min-width:0;overflow:hidden;padding:2px 5px;border-radius:8px;background:#fff1dc;color:#b26a00;font-size:10px;line-height:1.35;white-space:nowrap;text-overflow:ellipsis}

/* ---------------- 首页：热销榜单（排行列表） ---------------- */
.rank-block{position:relative;margin-bottom:18px;padding:18px 20px 10px;border:1px solid #f3e2db;border-radius:16px;background:linear-gradient(180deg,#fff8f5 0,#fff 130px);box-shadow:0 8px 26px rgba(120,40,10,.05)}
.rank-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:6px}
.rank-heading h2{display:flex;align-items:center;gap:9px;margin:0;font-size:22px;line-height:1.2;color:#332018;letter-spacing:.5px}
.rank-heading h2::before{content:"";width:6px;height:22px;border-radius:3px;background:linear-gradient(180deg,#ff8a1f,#ff3d00)}
.rank-hot-tag{padding:2px 6px;border-radius:5px;background:linear-gradient(135deg,#ff6a2a,#ff2600);color:#fff;font-size:9px;font-weight:700;line-height:1.5;letter-spacing:1px;box-shadow:0 3px 8px rgba(255,38,0,.22)}
.rank-heading p{margin:6px 0 0 15px;font-size:12px;color:#a98470}
.rank-more{flex:0 0 auto;margin-top:3px;font-size:12px;color:#a37663;text-decoration:none;transition:color .18s}
.rank-more:hover{color:#ff4d1f}
.rank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}
.rank-item{display:flex;align-items:center;gap:12px;padding:12px 6px;border-bottom:1px dashed #f1e2db;border-radius:10px;color:inherit;text-decoration:none;transition:background .18s}
.rank-item:hover{background:#fff7f3}
.rank-no{flex:0 0 26px;width:26px;text-align:center;font-size:16px;font-weight:800;line-height:26px;color:#c0b0a8;font-variant-numeric:tabular-nums}
.rank-no.rank-top{height:26px;border-radius:8px;color:#fff;box-shadow:0 4px 10px rgba(255,77,31,.2)}
.rank-no.rank-1{background:linear-gradient(135deg,#ff5f2e,#ff2600)}
.rank-no.rank-2{background:linear-gradient(135deg,#ff9a3d,#ff6a00)}
.rank-no.rank-3{background:linear-gradient(135deg,#ffc247,#ff9d00)}
.rank-pic{position:relative;flex:0 0 88px;width:88px;height:88px;overflow:hidden;border-radius:10px;background:#faf6f3;box-shadow:inset 0 0 0 1px #f4eae5}
.rank-pic img{display:block;width:88px;height:88px;object-fit:contain}
.rank-body{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
.rank-name{font-size:13.5px;font-weight:500;line-height:1.5;color:#332720;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:41px}
.rank-meta{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;line-height:1.5;color:#a8968d}
.rank-shop{flex:0 0 auto;padding:0 4px;border:1px solid #eee1db;border-radius:4px;color:#9b867c;font-size:10px;line-height:1.5}
.rank-coupon{flex:0 0 auto;padding:1px 6px;border-radius:5px;background:#fff0e9;color:#ff4d1f;font-size:10px;font-weight:600;line-height:1.5}
.rank-sales{flex:0 0 auto;margin-left:auto;white-space:nowrap;font-size:10.5px;color:#b3a49c}
.rank-bottom{display:flex;align-items:center;gap:6px;min-width:0}
.rank-price{flex:0 0 auto;color:#ff4d1f;font-size:18px;font-weight:800;line-height:1.05;white-space:nowrap;font-variant-numeric:tabular-nums}
.rank-price small{font-size:11px;font-weight:600}
.rank-points{min-width:0;margin-left:auto;overflow:hidden;padding:2px 6px;border-radius:7px;background:#fff3df;color:#b26a00;font-size:10px;line-height:1.35;white-space:nowrap;text-overflow:ellipsis}

/* ==========================================================================
   小屏 / 手机打开电脑版时的降级布局
   ========================================================================== */
@media (max-width: 900px){
  .tk-container{padding:0 12px}

  /* 头部：logo + 搜索 + 用户一行，导航单独一行横向滑动 */
  .tk-header .tk-container{height:auto;flex-wrap:wrap;row-gap:8px;padding:10px 12px 8px}
  .tk-logo{flex:0 0 auto}
  .tk-logo a{font-size:20px}
  .tk-search-trigger{order:2;flex:1 1 90px;min-width:90px;height:34px;margin:0 8px;padding:0 12px;justify-content:flex-start}
  .tk-search-trigger-text{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .tk-user{order:3;gap:6px;font-size:12.5px}
  .tk-user .welcome{display:none}
  .tk-user .btn{padding:5px 9px;font-size:12.5px}
  .tk-nav{order:4;flex:0 0 100%;width:100%;height:auto;margin:0;gap:2px;align-items:center;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .tk-nav::-webkit-scrollbar{display:none;width:0;height:0}
  .tk-nav>a,.tk-nav-item>a{height:38px;padding:0 8px;font-size:13px}
  .tk-nav-item{flex:0 0 auto}
  .tk-subnav{min-width:140px}

  /* 主体 */
  .tk-main{padding:14px 0}
  .tk-card{padding:14px}
  .tk-title{font-size:17px;margin-bottom:12px}
  .banner-box{margin-bottom:12px}
  .banner-box.layui-carousel{height:calc((100vw - 24px) / 3)!important;min-height:90px}
  .banner-box img{height:100%!important;aspect-ratio:auto;object-fit:cover}
  .notice-bar{gap:8px;padding:9px 12px;margin-bottom:12px}
  .notice-bar .items{min-width:0;font-size:13px}
  .notice-bar .items a{margin-right:12px}

  /* 分类 / 排序 */
  .cate-card{padding:12px}
  .cate-grid{gap:8px}
  .cate-item{padding:8px 11px;font-size:13px}
  .sort-bar{gap:6px;margin-bottom:12px}
  .sort-bar a{padding:4px 10px;font-size:12px}
  .sort-bar .total{flex:0 0 100%;margin-left:0;text-align:right;font-size:12px}

  /* 商品卡片 */
  .goods-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .goods-card .pic{height:150px}
  .goods-card .gift-cover-fallback{gap:8px;padding:10px}
  .goods-card .gift-cover-fallback .gift-cover-mark{width:54px;height:54px;border-radius:16px;font-size:20px}
  .goods-card .gift-cover-fallback .gift-cover-name{font-size:11px}
  .goods-card .body{padding:9px}
  .goods-card .title{height:36px;margin-bottom:6px;font-size:12px;line-height:18px}
  .goods-card .price{font-size:17px}
  .goods-card .price .points{padding:2px 5px;font-size:10px}
  .goods-card .coupon-badge{top:6px;right:6px;min-width:50px;padding:4px 6px 3px}
  .goods-card .coupon-amount{font-size:15px}
  .goods-card .coupon-label{font-size:9px}
  .goods-card .actions{margin-top:8px}
  .goods-card .actions .btn{padding:6px 8px;font-size:12px}

  /* 首页推荐 */
  .recommend-block{padding:14px 12px 12px;border-radius:12px}
  .recommend-head{gap:10px;margin-bottom:10px}
  .recommend-heading h2{font-size:18px}
  .recommend-heading p{margin-left:0;font-size:11px}
  .recommend-nav{display:none}
  .recommend-rail{gap:10px}
  .recommend-item{flex:0 0 140px;width:140px;padding:6px}
  .recommend-pic{width:128px;height:128px}
  .recommend-pic img{width:128px;height:128px}
  .recommend-name{height:34px;font-size:12px;line-height:17px}
  .recommend-price{font-size:16px}
  .recommend-points{font-size:9px}

  /* 热销榜单 */
  .rank-block{padding:14px 12px 8px;border-radius:12px}
  .rank-head{gap:10px;margin-bottom:2px}
  .rank-heading h2{font-size:18px}
  .rank-heading p{margin-left:0;font-size:11px}
  .rank-more{font-size:11px}
  .rank-grid{grid-template-columns:1fr;column-gap:0}
  .rank-item{gap:9px;padding:10px 2px}
  .rank-pic{flex:0 0 72px;width:72px;height:72px}
  .rank-pic img{width:72px;height:72px}
  .rank-name{font-size:12.5px;max-height:38px}
  .rank-meta{flex-wrap:wrap;row-gap:2px}
  .rank-sales{margin-left:0}
  .rank-price{font-size:16px}

  /* 商品详情 */
  .detail-wrap{flex-direction:column;gap:14px}
  .detail-pics{width:100%}
  .detail-info h1{font-size:18px}
  .detail-info .sub{font-size:13px;margin-bottom:12px}
  .detail-meta{padding:6px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .detail-facts-foot{flex-wrap:wrap;gap:4px 12px}
  .price-box{padding:14px}
  .price-box.has-countdown .price-line{padding-right:0}
  .price-box .now{font-size:28px}
  .price-box .coupon-end{position:static;flex-direction:row;gap:6px;width:max-content;margin-top:10px;min-width:0;padding:5px 9px}
  .buy-box{gap:8px;margin:14px 0}
  .buy-box .btn,.buy-box .scan-buy{flex:1 1 100%}
  .buy-box .scan-buy .btn{width:100%}
  .buy-flow{flex-wrap:wrap;gap:8px;max-width:none;margin-top:10px}
  .buy-flow .flow-step{flex:1 1 45%}
  .buy-flow .flow-arrow{display:none}
  .share-box .row{flex-wrap:wrap}
  .share-box .row .btn{flex:1 1 100%}

  /* 个人中心 / 表格 / 页脚 */
  .user-layout{flex-direction:column}
  .user-side{width:100%}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tk-table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .tk-auth{padding:22px 18px;margin:20px auto}
  .tk-footer .links{flex-wrap:wrap;gap:10px 16px}
  .notice-list li{gap:10px}
}

@media (max-width: 420px){
  .goods-card .pic{height:135px}
  .goods-card .gift-cover-fallback{gap:6px;padding:8px}
  .goods-card .gift-cover-fallback .gift-cover-mark{width:46px;height:46px;border-radius:14px;font-size:18px}
  .goods-card .gift-cover-fallback .gift-cover-name{font-size:10.5px}
  .goods-card .price{font-size:16px}
  .goods-card .price .points{font-size:9.5px}
  .recommend-item{flex:0 0 132px;width:132px}
  .recommend-pic,.recommend-pic img{width:120px;height:120px}
  .rank-pic{flex-basis:64px;width:64px;height:64px}
  .rank-pic img{width:64px;height:64px}
  .detail-meta .meta-icon{flex-basis:22px;width:22px;height:22px}
  .detail-meta .meta-copy em{font-size:9.5px}
  .detail-meta .meta-copy b{font-size:11.5px}
}

/* ---------------- 万能转化 ---------------- */
.convert-tip{font-size:13px;color:#999;margin:6px 0 14px;line-height:1.6}
.convert-input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #eee;border-radius:10px;font-size:14px;color:#333;background:#fafafa;resize:vertical;min-height:104px;font-family:inherit;line-height:1.6}
.convert-input:focus{outline:none;border-color:#ffb08a;background:#fff}
.convert-btn{display:block;width:100%;margin-top:12px;padding:12px 0;border:none;border-radius:999px;background:linear-gradient(135deg,#ff7a3d,#ff5000);color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.convert-btn:disabled{opacity:.6;cursor:default}
.convert-result{margin-top:16px}
.convert-result[hidden]{display:none}
.convert-result.is-fail{padding:18px 14px;border-radius:12px;background:#fff7f3;border:1px dashed #ffcdb0;text-align:center}
.convert-fail-ico{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#ffe8dd;color:#ff5000;font-weight:700;font-size:18px;margin-bottom:8px}
.convert-fail p{font-size:14px;color:#8a5a3b;margin:0;line-height:1.6}
.convert-goods{display:flex;gap:12px;padding:12px;border-radius:12px;background:#fafafa;border:1px solid #f0f0f0}
.convert-pic{width:84px;height:84px;border-radius:8px;object-fit:cover;background:#fff;flex:none;border:1px solid #f0f0f0}
.convert-info{min-width:0;flex:1}
.convert-name{margin:0 0 8px;font-size:14px;color:#333;font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.convert-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.convert-plat{font-size:11px;color:#ff5000;background:#fff0e8;border-radius:4px;padding:1px 6px}
.convert-price{font-size:18px;color:#ff5000;font-weight:700}
.convert-price em{font-style:normal;font-size:12px}
.convert-orig{font-size:12px;color:#bbb;text-decoration:line-through}
.convert-cards{display:flex;gap:10px;margin-top:12px}
.convert-item{flex:1;border-radius:12px;padding:12px 8px;text-align:center;font-size:12px}
.convert-item small{display:block;margin-top:4px;font-size:11px;opacity:.75;line-height:1.5}
.convert-item.coupon{background:#fff5f0;border:1px solid #ffd9c2;color:#e24600}
.convert-item.points{background:#fffaf0;border:1px solid #ffe1a8;color:#b26b00}
.convert-item b{font-size:18px;font-weight:700;margin-right:4px}
.convert-sub{display:block;margin-top:4px;font-size:11px;line-height:1.5;opacity:.85}
.convert-tpwd{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fafafa;border:1px solid #f0f0f0;font-size:12px;color:#666}
.convert-tpwd code{color:#ff5000;word-break:break-all}
.convert-note{margin:14px 2px 0;font-size:11px;color:#bbb;line-height:1.6}
.convert-go{display:block;margin-top:12px;padding:11px 0;border-radius:999px;background:linear-gradient(135deg,#ff7a3d,#ff5000);color:#fff;text-align:center;font-size:15px;font-weight:600;text-decoration:none}