body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:var(--app-height, 100dvh)}:root{--cp-bg: var(--h-bg, #f5f6f8);--cp-card: var(--h-card, #ffffff);--cp-text: var(--h-text, #1a1a2e);--cp-secondary: var(--h-secondary, #6b7280);--cp-border: var(--h-border, var(--border, #e5e7eb));--cp-accent: var(--h-accent, #4f46e5);--cp-price: #ef4444;--cp-verified: #10b981;--cp-warning: #f59e0b;--cp-unverified: #9ca3af;--cp-shadow: var(--h-shadow, 0 1px 3px rgba(0,0,0,.08));--cp-shadow-hover: 0 8px 24px rgba(0,0,0,.12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--cp-bg);color:var(--cp-text);min-height:100vh;min-height:100dvh;padding-top:56px;transition:background .2s,color .2s}.cp-layout{display:flex!important;flex-direction:row;flex-wrap:nowrap;max-width:none!important;margin:0;gap:0;min-height:calc(var(--app-height, 100dvh) - 56px);width:100%}.cp-sidebar-left{width:176px;flex:0 0 176px;flex-shrink:0;padding:20px 12px;position:sticky;top:56px;height:calc(var(--app-height, 100dvh) - 56px);overflow-y:auto;border-right:1px solid var(--cp-border);display:flex;flex-direction:column;box-sizing:border-box}.cp-sidebar-right{width:200px;flex:0 0 200px;flex-shrink:0;padding:20px 12px;position:sticky;top:56px;height:calc(var(--app-height, 100dvh) - 56px);overflow-y:auto;border-left:1px solid var(--cp-border);box-sizing:border-box}.cp-main{flex:1 1 0%;min-width:0;padding:0 16px 20px;width:auto}.cp-nav-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--cp-secondary);padding:2px 0 4px;margin-bottom:4px}.cp-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--cp-secondary);font-size:14px;font-weight:500;transition:all .15s}.cp-nav-item:hover{background:var(--cp-card);color:var(--cp-text)}.cp-nav-item.active{color:var(--cp-accent);background:#6366f114;font-weight:600}.cp-nav-item .icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.cp-tier-card{background:var(--cp-card);border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:var(--cp-shadow)}.cp-tier-title{font-size:14px;font-weight:600;margin-bottom:4px}.cp-tier-desc{font-size:12px;color:var(--cp-secondary);margin-bottom:8px}.cp-tier-btn{display:block;text-align:center;padding:8px;border-radius:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;text-decoration:none;font-size:12px;font-weight:600}.cp-quick-card{background:var(--cp-card);border-radius:12px;padding:12px;box-shadow:var(--cp-shadow)}.cp-quick-title{font-size:12px;font-weight:600;color:var(--cp-secondary);margin-bottom:8px}.cp-quick-link{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--cp-secondary);font-size:13px;transition:all .15s}.cp-quick-link:hover{background:var(--cp-bg);color:var(--cp-text)}.cp-hero{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);padding:8px 20px;position:relative;overflow:hidden;margin:2px -16px 6px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:16px}.cp-hero:before{content:"";position:absolute;top:-60%;right:-20%;width:300px;height:300px;background:#ffffff14;border-radius:50%}.cp-hero:after{content:"";position:absolute;bottom:-40%;left:-10%;width:200px;height:200px;background:#ffffff0f;border-radius:50%}.cp-hero-left{text-align:left;flex-shrink:0;position:relative;z-index:1}.cp-hero-right{display:flex;align-items:center;gap:24px;position:relative;z-index:1}.cp-hero h1{color:#fff;font-size:18px;font-weight:700;margin:0;position:relative}.cp-hero p{color:#fffc;font-size:12px;margin:0;position:relative}.cp-hero-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:500;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#ffffffe6;white-space:nowrap}.cp-hero-divider{width:1px;height:32px;background:#fff3}.cp-search-wrap{display:flex;gap:10px;margin-bottom:6px}.cp-search-input{flex:1;padding:9px 14px;border:2px solid var(--cp-border);border-radius:12px;font-size:14px;background:var(--cp-card);color:var(--cp-text);outline:none;transition:border-color .2s}.cp-search-input:focus{border-color:var(--cp-accent)}.cp-search-btn{padding:9px 24px;background:var(--cp-accent);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s;white-space:nowrap}.cp-search-btn:hover{opacity:.9}.cp-search-btn:disabled{opacity:.5;cursor:not-allowed}.cp-tabs{display:flex;gap:4px;margin-bottom:6px;border-bottom:2px solid var(--cp-border);overflow-x:auto}.cp-tab{padding:7px 16px;font-size:14px;font-weight:500;color:var(--cp-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:all .2s}.cp-tab.active{color:var(--cp-accent);border-bottom-color:var(--cp-accent)}.cp-stats{display:flex;gap:16px;margin-bottom:4px;font-size:13px;color:var(--cp-secondary);flex-wrap:wrap}.cp-stat-item{display:flex;align-items:center;gap:4px}.cp-stat-item strong{color:var(--cp-text);font-weight:600}.cp-platform-chips{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.cp-plat-chip{padding:6px 16px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--cp-border);background:var(--cp-card);color:var(--cp-secondary);transition:all .2s}.cp-plat-chip.active{color:#fff;border-color:transparent}.cp-plat-chip[data-plat=taobao].active{background:#ff6a00}.cp-plat-chip[data-plat=pdd].active{background:#e02020}.cp-plat-chip[data-plat=jd].active{background:#1677ff}.cp-plat-chip[data-plat=csj].active{background:#1a1a1a}[data-scene-rec],.cp-sidebar-right .hamburger-scene-rec,[data-butler-rec],.butler-title,.butler-card,.butler-loading,.ask-butler-wrap,.askintell-butler-container{display:none!important}.cp-sidebar-right>div:first-child:has(.butler-title){display:none!important}.cp-ll-card{background:linear-gradient(135deg,#fff,#fff8f0);border:1px solid #ffe0b2}.cp-ll-icon{width:100%;height:80px;display:flex;align-items:center;justify-content:center;font-size:48px;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-radius:8px 8px 0 0}.cp-ll-benefit{font-size:13px;color:#e65100;font-weight:600;margin-top:4px;line-height:1.4}.cp-ll-comm-info{font-size:11px;color:#ff9800;margin-top:2px}.cp-badge-comm{border:1px solid #ffe0b2}.cp-plat-chip[data-plat=meituan].active{background:#ffc300;color:#333}.cp-plat-chip[data-plat=ctrip].active{background:#0086f6}.cp-plat-chip[data-plat=didi].active{background:#ff7e00}.cp-plat-chip[data-plat=eleme].active{background:#0a66c2}.cp-product-card{background:var(--cp-card);border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:var(--cp-shadow);transition:box-shadow .2s,transform .2s;cursor:pointer;display:flex;gap:14px;position:relative}.cp-product-card:hover{box-shadow:var(--cp-shadow-hover);transform:translateY(-2px)}.cp-product-img{width:90px;height:90px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--cp-bg)}.cp-product-info{flex:1;min-width:0}.cp-product-title{font-size:14px;font-weight:500;line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cp-product-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px}.cp-product-header .cp-product-title{flex:1;min-width:0;margin-bottom:0}.cp-product-header .cp-price-row{flex-shrink:0;white-space:nowrap;margin-bottom:0}@media(max-width:768px){.cp-product-header{flex-direction:column;gap:4px}.cp-product-header .cp-product-title{margin-bottom:4px}.cp-product-header .cp-price-row{white-space:normal}}.cp-product-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.cp-badge{padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500}.cp-badge-platform{color:#fff}.cp-badge-taobao{background:#ff6a00}
.cp-badge-haodanku{background:#d9480f}.cp-badge-tmall{background:#c12345}.cp-badge-pdd{background:#e02020}.cp-badge-jd{background:#1677ff}.cp-badge-csj{background:#1a1a1a}.cp-badge-ctrip{background:#0086f6}.cp-badge-meituan{background:#ffc300;color:#333}.cp-badge-eleme{background:#0a66c2}.cp-badge-didi{background:#ff7e00}.cp-badge-quality{background:var(--cp-border);color:var(--cp-secondary)}.cp-badge-quality.premium{background:#fef3c7;color:#92400e}.cp-badge-quality.standard{background:#dbeafe;color:#1e40af}[data-theme=dark] .cp-badge-quality.premium{background:#78350f;color:#fef3c7}[data-theme=dark] .cp-badge-quality.standard{background:#1e3a5f;color:#dbeafe}.cp-badge-rebate{background:#ecfdf5;color:#065f46}[data-theme=dark] .cp-badge-rebate{background:#064e3b;color:#ecfdf5}.cp-badge-trend{background:#eff6ff;color:#1e40af}.cp-badge-trend.down{background:#d1fae5;color:#065f46}.cp-badge-trend.up{background:#fef2f2;color:#991b1b}[data-theme=dark] .cp-badge-trend{background:#1e3a5f;color:#dbeafe}[data-theme=dark] .cp-badge-trend.down{background:#064e3b;color:#d1fae5}[data-theme=dark] .cp-badge-trend.up{background:#7f1d1d;color:#fef2f2}.cp-price-row{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;flex-wrap:wrap}.cp-price-actual{font-size:22px;font-weight:700;color:var(--cp-price)}.cp-price-actual:before{content:"\a5";font-size:14px}.cp-price-original{font-size:13px;color:var(--cp-secondary);text-decoration:line-through}.cp-price-coupon{font-size:11px;color:var(--cp-price);background:#fef2f2;padding:1px 6px;border-radius:4px}[data-theme=dark] .cp-price-coupon{background:#7f1d1d}.cp-trust-row{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.cp-trust-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500}.cp-trust-verified{background:#d1fae5;color:#065f46}.cp-trust-warning{background:#fef3c7;color:#92400e}.cp-trust-unverified{background:#f3f4f6;color:#6b7280}[data-theme=dark] .cp-trust-verified{background:#064e3b;color:#d1fae5}[data-theme=dark] .cp-trust-warning{background:#78350f;color:#fef3c7}[data-theme=dark] .cp-trust-unverified{background:#374151;color:#9ca3af}.cp-trust-rec{font-size:11px;color:var(--cp-secondary)}.cp-final-price{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:13px;font-weight:600}.cp-final-price-label{font-size:10px;opacity:.9}.cp-final-price-value{font-size:15px}.cp-breakdown{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--cp-secondary);margin-top:2px;flex-wrap:wrap}.cp-breakdown .arrow{color:var(--cp-border)}.cp-plat-section{margin-bottom:24px;border-radius:16px;overflow:hidden;background:var(--cp-bg);border:1px solid var(--cp-border)}.cp-plat-section-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--cp-card);border-bottom:1px solid var(--cp-border);font-size:14px;font-weight:600;color:var(--cp-text)}.cp-plat-section-header .cp-badge-platform{font-size:11px}.cp-plat-section-header .cp-plat-count{font-size:12px;color:var(--cp-secondary);font-weight:400;margin-left:auto}.cp-plat-section-header .cp-plat-lowest{font-size:11px;color:var(--cp-verified);font-weight:600;background:#d1fae5;padding:2px 8px;border-radius:6px}[data-theme=dark] .cp-plat-section-header .cp-plat-lowest{background:#064e3b}.cp-plat-section-body{padding:8px}.cp-top-pick{margin-bottom:20px;border-radius:16px;overflow:hidden;border:2px solid var(--cp-accent);background:var(--cp-card);box-shadow:var(--cp-shadow-hover)}.cp-top-pick-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,var(--cp-accent),#8b5cf6);color:#fff;font-size:14px;font-weight:600}.cp-top-pick-body{padding:8px}.cp-product-lowest{border:2px solid #10b981;position:relative}.cp-product-lowest:before{content:"\6700\4f4e";position:absolute;top:-8px;right:12px;background:#10b981;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;z-index:1}.cp-product-toppick{border:2px solid #f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.03),transparent)}.cp-group-card{background:var(--cp-card);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:var(--cp-shadow);border:2px solid var(--cp-accent)}.cp-group-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;flex-wrap:wrap}.cp-group-header .cp-badge{font-size:10px}.cp-group-products{display:flex;flex-direction:column;gap:8px}.cp-group-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;background:var(--cp-bg);cursor:pointer;transition:background .2s}.cp-group-item:hover{background:var(--cp-border)}.cp-group-item-img{width:50px;height:50px;border-radius:8px;object-fit:cover}.cp-group-item-info{flex:1;min-width:0}.cp-group-item-title{font-size:12px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.cp-group-item-price{font-size:16px;font-weight:700;color:var(--cp-price)}.cp-group-item-price:before{content:"\a5";font-size:11px}.cp-intra-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.cp-intra-card{background:var(--cp-card);border-radius:16px;padding:16px;box-shadow:var(--cp-shadow);flex:0 0 220px;width:220px;min-width:220px;box-sizing:border-box;display:flex;flex-direction:column}.cp-intra-platform{font-size:14px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cp-intra-price{font-size:22px;font-weight:700;color:var(--cp-price);margin-bottom:4px}.cp-intra-price:before{content:"\a5";font-size:16px}.cp-intra-title{font-size:13px;color:var(--cp-text);margin-bottom:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cp-intra-range{font-size:11px;color:var(--cp-secondary);margin-bottom:10px}.cp-loading{display:flex;flex-direction:column;align-items:center;padding:60px 20px;gap:12px}.cp-spinner{width:36px;height:36px;border:3px solid var(--cp-border);border-top-color:var(--cp-accent);border-radius:50%;animation:cp-spin .8s linear infinite}@keyframes cp-spin{to{transform:rotate(360deg)}}.cp-loading p{font-size:14px;color:var(--cp-secondary)}.cp-empty{text-align:center;padding:60px 20px}.cp-empty-icon{font-size:48px;margin-bottom:12px}.cp-empty p{font-size:14px;color:var(--cp-secondary)}.cp-error{text-align:center;padding:40px 20px}.cp-error p{font-size:14px;color:var(--cp-price);margin-bottom:8px}.cp-product-card,.cp-intra-card,.cp-group-card,.cp-plat-section,.cp-top-pick{max-width:100%;box-sizing:border-box}.cp-main{overflow-x:hidden}.cp-hscroll{display:flex!important;flex-direction:row;flex-wrap:nowrap;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 4px 12px;scrollbar-width:thin;width:100%}.cp-hscroll::-webkit-scrollbar{height:6px}.cp-hscroll::-webkit-scrollbar-track{background:transparent}.cp-hscroll::-webkit-scrollbar-thumb{background:var(--cp-border);border-radius:3px}.cp-hscroll-card{flex:0 0 240px;width:240px;min-width:240px;max-width:240px;scroll-snap-align:start;background:var(--cp-card);border-radius:14px;box-shadow:var(--cp-shadow);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative;display:flex!important;flex-direction:column;box-sizing:border-box}.cp-hscroll-card:hover{transform:translateY(-3px);box-shadow:var(--cp-shadow-hover)}.cp-hscroll-card.cp-product-lowest{border:2px solid #10b981}.cp-hscroll-card.cp-product-lowest:before{top:-2px;right:8px}.cp-hscroll-card.cp-product-toppick{border:2px solid #f59e0b}.cp-hscroll-card-img{width:100%;height:220px;object-fit:cover;background:var(--cp-bg);flex-shrink:0;display:block}.cp-hscroll-card-body{padding:12px 12px;flex:1;display:flex;flex-direction:column}.cp-hscroll-card-title{font-size:14px;font-weight:500;line-height:1.5;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cp-hscroll-card-badges{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.cp-hscroll-card-price{font-size:20px;font-weight:700;color:var(--cp-price);margin-bottom:4px;display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.cp-hscroll-card-price:before{content:"\a5";font-size:12px}.cp-hscroll-card-original{font-size:12px;color:var(--cp-secondary);text-decoration:line-through}.cp-hscroll-card-meta{font-size:11px;color:var(--cp-secondary);margin-top:auto}.cp-hscroll-card-rebate{font-size:12px;color:var(--cp-accent);font-weight:600;margin-bottom:4px;display:flex;align-items:baseline;gap:4px;flex-wrap:nowrap;overflow:hidden;white-space:nowrap}.cp-hscroll-card-final{font-size:12px;color:var(--cp-text);font-weight:500}
/* fix0812decision: 购买决策信息行 */
.cp-hscroll-card-decision{font-size:10px;color:var(--cp-secondary);margin-top:6px;display:flex;align-items:center;gap:0;flex-wrap:wrap;line-height:1.6;letter-spacing:0;max-height:40px;overflow:hidden}.cp-decision-item{white-space:nowrap;flex-shrink:0}.cp-decision-item:not(:last-child)::after{content:"·";margin:0 2px;color:var(--cp-border)}
@media(max-width:768px){.cp-hscroll-card-decision{font-size:10px;gap:3px;line-height:1.5}.cp-decision-item:not(:last-child)::after{margin:0 1px;font-size:9px}}
/* fix0812icon: 正品保障/运费险 图标徽章 */
.cp-trust-icon{display:inline-flex;align-items:center;gap:1px;font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;line-height:1.5;white-space:nowrap;flex-shrink:0;margin-bottom:1px}
.cp-trust-auth{background:rgba(34,197,94,.12);color:#16a34a;border:1px solid rgba(34,197,94,.25)}
.cp-trust-ship{background:rgba(59,130,246,.12);color:#2563eb;border:1px solid rgba(59,130,246,.25)}
.cp-trust-fast{background:rgba(245,158,11,.12);color:#d97706;border:1px solid rgba(245,158,11,.25)}
.cp-trust-premium{background:rgba(234,179,8,.15);color:#a16207;border:1px solid rgba(234,179,8,.3)}
@media(max-width:768px){.cp-trust-icon{font-size:8px;padding:0 4px;gap:0}}.cp-hscroll-card-trust{font-size:10px;margin-bottom:2px}.cp-hscroll-section{margin-bottom:10px}.cp-hscroll-section-title{font-size:14px;font-weight:600;margin-bottom:2px;color:var(--cp-text);display:flex;align-items:center;gap:8px}.cp-hscroll-hint{font-size:11px;color:var(--cp-secondary);font-weight:400}@media(max-width:768px){.cp-hscroll-card{flex:0 0 180px;width:180px;min-width:180px;max-width:180px}.cp-hscroll-card-img{height:170px}.cp-hscroll-card-title{font-size:12px}.cp-hscroll-card-price{font-size:16px}.cp-card-actions{flex-direction:column;gap:4px}.cp-card-actions>span{width:100%!important;text-align:center}}.cp-filter-bar{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px 0;margin-bottom:2px;scrollbar-width:none}.cp-filter-bar::-webkit-scrollbar{display:none}.cp-filter-chip{flex-shrink:0;padding:6px 14px;border-radius:20px;border:1px solid var(--cp-border);background:var(--cp-card);color:var(--cp-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:4px}.cp-filter-chip:hover{border-color:var(--cp-accent);color:var(--cp-text)}.cp-filter-chip.active{background:var(--cp-accent);color:#fff;border-color:var(--cp-accent)}.cp-filter-chip-count{display:none}.cp-filter-chip.active .cp-filter-chip-count{display:none}.cp-filter-section{display:none}.cp-filter-section.visible{display:block}@media(max-width:768px){body{padding-top:56px;padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}/*fix0906sfarea*/.cp-sidebar-left,.cp-sidebar-right{display:none!important}.cp-main{padding:0 12px 60px}.cp-hero{flex-direction:column!important;align-items:flex-start!important;gap:6px;padding:10px 14px;border-radius:10px;margin:0 0 6px;min-height:0!important;height:auto!important}.cp-hero:before,.cp-hero:after{display:none!important}.cp-hero-left{flex-shrink:0;min-width:0;width:100%}.cp-hero h1{font-size:16px;margin:0;line-height:1.3;white-space:normal;overflow:visible;text-overflow:clip}.cp-hero p{display:block!important}.cp-hero-right{gap:6px;flex-wrap:wrap;width:100%!important}.cp-hero-badge{font-size:10px;padding:3px 8px}.cp-hero-divider{display:none!important}.cp-search-wrap{margin-bottom:10px}.cp-search-input{font-size:14px;padding:10px 14px}.cp-search-btn{padding:10px 16px;font-size:13px}.cp-product-card{flex-direction:column;padding:8px}.cp-product-img{width:100%;height:160px;border-radius:8px}.cp-product-title{font-size:13px}.cp-intra-grid{grid-template-columns:1fr;gap:8px}.cp-intra-card{padding:10px}.cp-tabs{gap:0}.cp-tab{padding:8px 14px;font-size:13px}.cp-stats{flex-direction:row;flex-wrap:wrap;gap:8px}.cp-stat-item{font-size:12px}.cp-plat-section{margin-bottom:16px;border-radius:12px}.cp-plat-section-header{padding:10px 12px;font-size:13px}.cp-plat-section-body{padding:6px}.cp-top-pick{margin-bottom:16px;border-radius:12px}.cp-top-pick-header{padding:8px 12px;font-size:13px}.cp-category-grid{grid-template-columns:repeat(3,1fr);gap:8px}.cp-cat-card{padding:12px 8px}.cp-platform-chips{gap:6px;flex-wrap:wrap}.cp-plat-chip{font-size:12px;padding:5px 12px}.cp-group-card,.cp-tier-card,.cp-quick-card{padding:10px}}.cp-geo-pairing{border-radius:16px;overflow:hidden;margin-bottom:20px;border:1px solid rgba(91,91,214,.2);background:var(--cp-card)}.cp-geo-banner{padding:14px 16px;background:linear-gradient(135deg,#5b5bd614,#8b5cf60f);border-bottom:1px solid rgba(91,91,214,.12);display:flex;align-items:flex-start;gap:10px}.cp-geo-banner-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#5b5bd6,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.cp-geo-banner-text{flex:1;min-width:0}.cp-geo-banner-title{font-size:14px;font-weight:600;color:var(--cp-text);margin-bottom:2px}.cp-geo-banner-desc{font-size:12px;color:var(--cp-secondary);line-height:1.5}.cp-geo-banner-desc strong{color:var(--cp-accent);font-weight:600}.cp-geo-toggle{padding:8px 16px;border:none;cursor:pointer;background:var(--cp-card);color:var(--cp-accent);font-size:13px;font-weight:500;width:100%;border-top:1px solid var(--cp-border);transition:background .15s}.cp-geo-toggle:hover{background:var(--cp-bg)}.cp-geo-accessory-scroll{display:flex;gap:12px;overflow-x:auto;padding:12px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.cp-geo-accessory-scroll::-webkit-scrollbar{height:6px}.cp-geo-accessory-scroll::-webkit-scrollbar-track{background:transparent}.cp-geo-accessory-scroll::-webkit-scrollbar-thumb{background:var(--cp-border);border-radius:3px}.cp-geo-acc-card{flex:0 0 160px;background:var(--cp-card);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid var(--cp-border)}.cp-geo-acc-card:hover{transform:translateY(-2px);box-shadow:var(--cp-shadow-hover)}.cp-geo-acc-img{width:100%;height:120px;object-fit:cover;background:var(--cp-bg)}.cp-geo-acc-body{padding:10px}.cp-geo-acc-title{font-size:12px;line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cp-geo-acc-badges{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.cp-geo-acc-price{font-size:16px;font-weight:700;color:var(--cp-price)}.cp-geo-acc-price:before{content:"\a5";font-size:11px}.cp-geo-acc-comm{font-size:10px;color:#fff;background:#10b981;padding:1px 6px;border-radius:4px;font-weight:600}.cp-geo-collapsed .cp-geo-accessory-scroll{max-height:0;padding:0 12px;overflow:hidden}.cp-badge-pdd-desktop{background:#f59e0b;color:#fff;font-size:10px;padding:1px 6px;border-radius:4px;font-weight:600;white-space:nowrap}.cp-pdd-hint{font-size:10px;color:#f59e0b;margin-top:2px}.cp-qr-overlay{position:fixed;inset:0;background:#0000008c;z-index:99999;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.cp-qr-overlay.show{opacity:1}.cp-qr-modal{background:var(--cp-card, #fff);border-radius:16px;padding:28px 24px;max-width:340px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d;transform:scale(.9);transition:transform .2s}.cp-qr-overlay.show .cp-qr-modal{transform:scale(1)}.cp-qr-modal-icon{font-size:32px;margin-bottom:8px}.cp-qr-modal-title{font-size:16px;font-weight:700;margin-bottom:4px;color:var(--cp-text, #333)}.cp-qr-modal-desc{font-size:13px;color:var(--cp-secondary, #888);margin-bottom:16px;line-height:1.5}.cp-qr-modal-qr{display:flex;align-items:center;justify-content:center;margin-bottom:16px}.cp-qr-modal-qr canvas,.cp-qr-modal-qr img{border-radius:8px}.cp-qr-modal-link{font-size:11px;color:var(--cp-secondary, #999);word-break:break-all;padding:8px 12px;background:var(--cp-bg, #f5f5f5);border-radius:8px;margin-bottom:12px}.cp-qr-modal-close{display:inline-block;padding:8px 24px;background:var(--cp-border, #eee);color:var(--cp-text, #333);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none}.cp-qr-modal-close:hover{opacity:.8}.cp-empty-enhanced{text-align:center;padding:40px 20px}.cp-empty-enhanced-icon{font-size:48px;margin-bottom:12px}.cp-empty-enhanced-title{font-size:16px;font-weight:600;color:var(--cp-text);margin-bottom:6px}.cp-empty-enhanced-desc{font-size:13px;color:var(--cp-secondary);margin-bottom:20px}.cp-empty-search-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:24px}.cp-empty-search-tag{padding:6px 14px;border-radius:20px;font-size:13px;border:1px solid var(--cp-border);background:var(--cp-card);color:var(--cp-secondary);cursor:pointer;transition:all .2s}.cp-empty-search-tag:hover{border-color:var(--cp-accent);color:var(--cp-accent)}.cp-empty-search-tag .tag-rank{font-size:11px;font-weight:700;margin-right:4px}.cp-empty-search-tag:nth-child(1) .tag-rank{color:#ef4444}.cp-empty-search-tag:nth-child(2) .tag-rank{color:#f59e0b}.cp-empty-search-tag:nth-child(3) .tag-rank{color:#8b5cf6}.cp-bind-success{background:linear-gradient(135deg,#e8f5e9,#f1f8f4);border-color:#81c784}.cp-bind-success .cp-bind-icon:before{content:"\2705"}.cp-parse-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-radius:12px;margin-bottom:14px}.cp-parse-banner-icon{font-size:28px}.cp-parse-banner-title{font-size:15px;font-weight:600;color:var(--cp-text);margin-bottom:2px}.cp-parse-banner-desc{font-size:12px;color:var(--cp-secondary)}.cp-parse-card{background:var(--cp-card);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px #0000000f;margin-bottom:14px;border:1px solid var(--cp-border)}.cp-parse-card-inner{display:flex;gap:0}.cp-parse-img-wrap{width:160px;min-width:160px;height:160px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.cp-parse-img{width:100%;height:100%;object-fit:cover}.cp-parse-img-placeholder{font-size:42px;opacity:.4}.cp-parse-plat-tag{position:absolute;top:8px;left:8px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;color:#fff;backdrop-filter:blur(4px)}.cp-parse-plat-tag.tmall{background:#c12345d9}.cp-parse-plat-tag.taobao{background:#ff6600d9}.cp-parse-plat-tag.jd{background:#c8161ed9}.cp-parse-plat-tag.pdd{background:#e62828d9}.cp-parse-plat-tag.ctrip{background:#278cffd9}.cp-parse-plat-tag.meituan{background:#ffb000d9}.cp-parse-plat-tag.didi{background:#ffaa1ed9}.cp-parse-plat-tag.eleme{background:#0090ffd9}.cp-parse-plat-tag.generic{background:#667eead9}.cp-parse-info{flex:1;min-width:0;padding:14px 16px;display:flex;flex-direction:column;justify-content:space-between}.cp-parse-name{font-size:15px;font-weight:600;color:var(--cp-text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cp-parse-hint{font-size:12px;color:var(--cp-secondary);line-height:1.5;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cp-parse-shop{font-size:12px;color:var(--cp-secondary);margin-top:4px}.cp-parse-meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.cp-parse-prices{display:flex;align-items:baseline;gap:6px}.cp-parse-price{font-size:20px;font-weight:700;color:#e65100}.cp-parse-orig{font-size:13px;color:var(--cp-secondary);text-decoration:line-through}.cp-parse-save{font-size:11px;color:#2e7d32;font-weight:600;padding:2px 8px;background:#e8f5e9;border-radius:10px}.cp-parse-rebate{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-radius:8px}.cp-parse-rebate-label{font-size:11px;color:#e65100}.cp-parse-rebate-value{font-size:14px;font-weight:700;color:#e65100}.cp-parse-tpwd-box{margin-top:8px}.cp-parse-tpwd-label{font-size:11px;color:var(--cp-secondary);margin-bottom:3px}.cp-parse-tpwd-text{padding:8px 12px;background:var(--cp-bg);border:1px dashed var(--cp-border);border-radius:8px;font-size:14px;font-weight:600;color:var(--cp-text);text-align:center;word-break:break-all;user-select:all;margin-bottom:5px}.cp-parse-copy-btn{width:100%;padding:7px 14px;background:linear-gradient(135deg,#ff6a00,#ff9248);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.cp-parse-copy-btn:hover{opacity:.9}.cp-parse-card-footer{padding:0 16px 14px;display:flex;gap:8px}.cp-parse-link-box{display:flex;gap:8px;width:100%}.cp-parse-buy-btn{flex:1;padding:10px 16px;background:linear-gradient(135deg,#ff6a00,#ff9248);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;text-align:center;transition:all .2s;box-shadow:0 2px 8px #ff6a0033}.cp-parse-buy-btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 4px 12px #ff6a004d}.cp-parse-copy-link-btn{padding:10px 14px;background:var(--cp-card);color:var(--cp-secondary);border:1px solid var(--cp-border);border-radius:10px;font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}.cp-parse-copy-link-btn:hover{background:var(--cp-bg);border-color:var(--cp-accent)}.cp-parse-fail{padding:8px 14px;background:#fff3e0;border-radius:8px;font-size:13px;color:#e65100;margin-bottom:6px}.cp-parse-fail-hint{font-size:12px;color:var(--cp-secondary)}.cp-parse-search-again{text-align:center;padding:10px 0 0}.cp-parse-search-again-btn{padding:8px 20px;background:transparent;color:var(--cp-secondary);border:1px solid var(--cp-border);border-radius:20px;font-size:12px;cursor:pointer;transition:all .2s}.cp-parse-search-again-btn:hover{background:var(--cp-bg);border-color:var(--cp-accent);color:var(--cp-accent)}.cp-parse-similar{margin-top:14px}.cp-parse-similar-title{font-size:14px;font-weight:600;color:var(--cp-text);margin-bottom:10px}.cp-parse-commission-info{font-size:11px;color:var(--cp-secondary);margin-top:4px;padding:5px 10px;background:var(--cp-bg);border-radius:6px;line-height:1.4}@media(max-width:768px){.cp-parse-card-inner{flex-direction:column}.cp-parse-img-wrap{width:100%;height:200px}.cp-parse-card-footer{padding:0 14px 14px}.cp-parse-link-box{flex-direction:column}}[data-theme=dark] .cp-ll-card{background:linear-gradient(135deg,#1a1a2e,#2d1f0f);border-color:#4a3520}[data-theme=dark] .cp-ll-icon{background:linear-gradient(135deg,#2d1f0f,#4a3520)}[data-theme=dark] .cp-parse-rebate{background:linear-gradient(135deg,#2d1f0f,#4a3520);color:#fbbf24}[data-theme=dark] .cp-parse-img-wrap{background:linear-gradient(135deg,#1a1a2e,#16213e)}[data-theme=dark] .cp-parse-card{border-color:#ffffff14}[data-theme=dark] .cp-parse-card-footer{border-top:1px solid rgba(255,255,255,.06)}[data-theme=dark] .cp-parse-fail{background:#2d1f0f;color:#fbbf24}[data-theme=dark] .cp-parse-copy-link-btn,[data-theme=dark] .cp-parse-search-again-btn{background:var(--cp-card);color:var(--cp-secondary);border-color:var(--cp-border)}[data-theme=dark] .cp-tpwd-box{background:var(--cp-bg);border-color:var(--cp-border)}[data-theme=dark] .cp-stat-item{background:var(--cp-card)}[data-theme=dark] .cp-empty-icon{opacity:.4}[data-theme=dark] .cp-hscroll-card,[data-theme=dark] .cp-top-pick,[data-theme=dark] .cp-group-card,[data-theme=dark] .cp-plat-section,[data-theme=dark] .cp-qr-modal,[data-theme=dark] .cp-recommend-card,[data-theme=dark] .cp-plugin-card{background:var(--cp-card)}[data-theme=dark] .cp-bind-success{background:linear-gradient(135deg,#0d2818,#1a3a2a);border-color:#2d5a3f;color:#6ee7b7}[data-theme=dark] .cp-parse-banner{background:linear-gradient(135deg,#0d2818,#1a3a2a)}[data-theme=dark] .cp-parse-banner-title{color:var(--cp-text)}[data-theme=dark] #cpPrefBadge{background:linear-gradient(135deg,#0d2818,#1a3a2a);border-color:#2d5a3f;color:#6ee7b7}[data-theme=dark] #cpPrefBadge b{color:#6ee7b7}[data-theme=dark] #cpPrefBadge span{color:#9ca3af}[data-theme=dark] .cp-plugin-promo{background:linear-gradient(135deg,#1a1235,#251a40);border-color:#3d2d6b}[data-theme=dark] .cp-plugin-promo>div>div:first-child{color:#c4b5fd}[data-theme=dark] .cp-plugin-promo>div>div:last-child{color:#a78bfa}[data-theme=dark] .cp-plugin-promo>a{background:linear-gradient(135deg,#6d28d9,#1e40af);color:#fff}[data-theme=dark] .cp-plugin-promo>span:last-child{color:#6b7280}

/* fix0811cssloss: Restored CSS lost during extraction - from cps-compare.html backup */

/* 61 missing selectors */
.cp-bind-success .cp-bind-icon::before {content: "✅";}
.cp-card-actions > span {width: 100% !important; text-align: center !important;}
.cp-geo-acc-price::before {content: "¥"; font-size: 11px;}
.cp-group-item-price::before {content: "¥"; font-size: 11px;}
.cp-hero::after {display: none !important;}
.cp-hero::before {display: none !important;}
.cp-hscroll-card-price::before {content: "¥"; font-size: 12px;}
.cp-hscroll-card.cp-product-lowest::before {top: -2px; right: 8px;}
.cp-intra-price::before {content: "¥"; font-size: 16px;}
.cp-plat-chip[data-plat="csj"].active {background: #1a1a1a;}
.cp-plat-chip[data-plat="ctrip"].active {background: #0086f6;}
.cp-plat-chip[data-plat="didi"].active {background: #ff7e00;}
.cp-plat-chip[data-plat="eleme"].active {background: #0a66c2;}
.cp-plat-chip[data-plat="jd"].active {background: #1677ff;}
.cp-plat-chip[data-plat="meituan"].active {background: #ffc300; color: #333;}
.cp-plat-chip[data-plat="pdd"].active {background: #e02020;}
.cp-plat-chip[data-plat="taobao"].active {background: #ff6a00;}
.cp-price-actual::before {content: "¥"; font-size: 14px;}
.cp-product-lowest::before {content: "最低"; position: absolute; top: -8px; right: 12px;
  background: #10b981; color: #fff; font-size: 10px; font-weight: 700;
  padding: 2px 8px; border-radius: 6px; z-index: 1;}
.cp-sidebar-right > div:first-child:has(.butler-title) {display: none !important;}
[data-theme="dark"] #cpPrefBadge {background: linear-gradient(135deg, #0d2818, #1a3a2a) !important;
    border-color: #2d5a3f !important;
    color: #6ee7b7 !important;}
[data-theme="dark"] #cpPrefBadge b {color: #6ee7b7 !important;}
[data-theme="dark"] #cpPrefBadge span {color: #9ca3af !important;}
[data-theme="dark"] .cp-badge-quality.premium {background: #78350f; color: #fef3c7;}
[data-theme="dark"] .cp-badge-quality.standard {background: #1e3a5f; color: #dbeafe;}
[data-theme="dark"] .cp-badge-rebate {background: #064e3b; color: #ecfdf5;}
[data-theme="dark"] .cp-badge-trend {background: #1e3a5f; color: #dbeafe;}
[data-theme="dark"] .cp-badge-trend.down {background: #064e3b; color: #d1fae5;}
[data-theme="dark"] .cp-badge-trend.up {background: #7f1d1d; color: #fef2f2;}
[data-theme="dark"] .cp-bind-success {background: linear-gradient(135deg, #0d2818, #1a3a2a) !important;
    border-color: #2d5a3f !important;
    color: #6ee7b7 !important;}
[data-theme="dark"] .cp-empty-icon {opacity: 0.4;}
[data-theme="dark"] .cp-group-card {background: var(--cp-card) !important;}
[data-theme="dark"] .cp-hscroll-card {background: var(--cp-card) !important;}
[data-theme="dark"] .cp-ll-card {background: linear-gradient(135deg, #1a1a2e 0%, #2d1f0f 100%) !important; border-color: #4a3520 !important;}
[data-theme="dark"] .cp-ll-icon {background: linear-gradient(135deg, #2d1f0f 0%, #4a3520 100%) !important;}
[data-theme="dark"] .cp-parse-banner {background: linear-gradient(135deg, #0d2818, #1a3a2a) !important;}
[data-theme="dark"] .cp-parse-banner-title {color: var(--cp-text) !important;}
[data-theme="dark"] .cp-parse-card {border-color: rgba(255,255,255,0.08) !important;}
[data-theme="dark"] .cp-parse-card-footer {border-top: 1px solid rgba(255,255,255,0.06);}
[data-theme="dark"] .cp-parse-copy-link-btn {background: var(--cp-card) !important; color: var(--cp-secondary) !important; border-color: var(--cp-border) !important;}
[data-theme="dark"] .cp-parse-fail {background: #2d1f0f !important; color: #fbbf24 !important;}
[data-theme="dark"] .cp-parse-img-wrap {background: linear-gradient(135deg, #1a1a2e, #16213e) !important;}
[data-theme="dark"] .cp-parse-rebate {background: linear-gradient(135deg, #2d1f0f, #4a3520) !important; color: #fbbf24 !important;}
[data-theme="dark"] .cp-parse-search-again-btn {background: var(--cp-card) !important; color: var(--cp-secondary) !important; border-color: var(--cp-border) !important;}
[data-theme="dark"] .cp-plat-section {background: var(--cp-card) !important;}
[data-theme="dark"] .cp-plat-section-header .cp-plat-lowest {background: #064e3b;}
[data-theme="dark"] .cp-plugin-card {background: var(--cp-card) !important;}
[data-theme="dark"] .cp-plugin-promo {background: linear-gradient(135deg, #1a1235, #251a40) !important;
    border-color: #3d2d6b !important;}
[data-theme="dark"] .cp-plugin-promo > a {background: linear-gradient(135deg, #6d28d9, #1e40af) !important;
    color: #fff !important;}
[data-theme="dark"] .cp-plugin-promo > div > div:first-child {color: #c4b5fd !important;}
[data-theme="dark"] .cp-plugin-promo > div > div:last-child {color: #a78bfa !important;}
[data-theme="dark"] .cp-plugin-promo > span:last-child {color: #6b7280 !important;}
[data-theme="dark"] .cp-price-coupon {background: #7f1d1d;}
[data-theme="dark"] .cp-qr-modal {background: var(--cp-card) !important;}
[data-theme="dark"] .cp-recommend-card {background: var(--cp-card) !important;}
[data-theme="dark"] .cp-stat-item {background: var(--cp-card) !important;}
[data-theme="dark"] .cp-top-pick {background: var(--cp-card) !important;}
[data-theme="dark"] .cp-tpwd-box {background: var(--cp-bg) !important; border-color: var(--cp-border) !important;}
[data-theme="dark"] .cp-trust-unverified {background: #374151; color: #9ca3af;}
[data-theme="dark"] .cp-trust-verified {background: #064e3b; color: #d1fae5;}
[data-theme="dark"] .cp-trust-warning {background: #78350f; color: #fef3c7;}

/* 2 missing @media/@keyframes blocks */
@media (max-width: 768px) {
  .cp-hscroll-card { flex: 0 0 160px; width: 160px; min-width: 160px; max-width: 160px; }
  .cp-hscroll-card-img { height: 120px; }
  .cp-hscroll-card-title { font-size: 12px; }
  .cp-hscroll-card-price { font-size: 16px; }
  
  .cp-card-actions { flex-direction: column !important; gap: 4px !important; }
  .cp-card-actions > span { width: 100% !important; text-align: center !important; }
}
@media (max-width: 768px) {
  body { padding-top: 56px !important; padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }  /* fix0906sfarea: safe-area + 允许 JS 动态兜底覆盖 (fontScale 场景) */
  .cp-sidebar-left, .cp-sidebar-right { display: none !important; }
  .cp-main { padding: 0 12px 60px; }
  .cp-hero {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding: 10px 14px !important;
    border-radius: 10px !important;
    margin: 0 0 6px !important;
    min-height: 0 !important;
    height: auto !important;
  }
  .cp-hero::before, .cp-hero::after { display: none !important; }
  .cp-hero-left { flex-shrink: 0; min-width: 0; width: 100%; }
  .cp-hero h1 { font-size: 16px !important; margin: 0 !important; line-height: 1.3 !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
  .cp-hero p { display: block !important; }
  .cp-hero-right { gap: 6px !important; flex-wrap: wrap; width: 100% !important; }
  .cp-hero-badge { font-size: 10px !important; padding: 3px 8px !important; }
  .cp-hero-divider { display: none !important; }
  .cp-search-wrap { margin-bottom: 10px; }
  .cp-search-input { font-size: 14px; padding: 10px 14px; }
  .cp-search-btn { padding: 10px 16px; font-size: 13px; }
  .cp-product-card { flex-direction: column; padding: 8px; }
  .cp-product-img { width: 100%; height: 160px; border-radius: 8px; }
  .cp-product-title { font-size: 13px; }
  .cp-intra-grid { grid-template-columns: 1fr; gap: 8px; }
  .cp-intra-card { padding: 10px; }
  .cp-tabs { gap: 0; }
  .cp-tab { padding: 8px 14px; font-size: 13px; }
  .cp-stats { flex-direction: row; flex-wrap: wrap; gap: 8px; }
  .cp-stat-item { font-size: 12px; }
  .cp-plat-section { margin-bottom: 16px; border-radius: 12px; }
  .cp-plat-section-header { padding: 10px 12px; font-size: 13px; }
  .cp-plat-section-body { padding: 6px; }
  .cp-top-pick { margin-bottom: 16px; border-radius: 12px; }
  .cp-top-pick-header { padding: 8px 12px; font-size: 13px; }
  .cp-category-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 8px; }
  .cp-cat-card { padding: 12px 8px; }
  .cp-platform-chips { gap: 6px; flex-wrap: wrap; }
  .cp-plat-chip { font-size: 12px; padding: 5px 12px; }
  .cp-group-card { padding: 10px; }
  .cp-tier-card, .cp-quick-card { padding: 10px; }
}

/* fix0812btn: 移动端商品操作按钮各占一行 */
@media(max-width:768px){
  .cp-product-actions{display:flex!important;gap:4px!important;align-items:center!important}
  .cp-product-actions>span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .cp-product-actions .cp-btn-buy{flex:1;min-width:0}
}

/* fix0812gap: 移动端商品卡片等高+按钮底部对齐 */
@media(max-width:768px){
  .cp-hscroll{align-items:stretch!important}
  .cp-hscroll-card-body{flex:0 0 auto!important;padding:6px 7px 4px!important}
  .cp-product-actions{margin-top:auto!important;padding:0 7px 7px!important}
}

.cp-price-note{font-size:9px;color:var(--cp-text-tertiary,#aaa);margin-top:2px;letter-spacing:.2px}
@media(max-width:768px){.cp-price-note{font-size:8px}}
.cp-decision-item{font-size:10px!important;white-space:nowrap;flex-shrink:0}
/* fix0814scroll: skeleton screen + retry button */
.cp-skel-card{flex:0 0 240px;width:240px;min-width:240px;max-width:240px;background:var(--cp-card);border-radius:12px;overflow:hidden;border:1px solid var(--cp-border)}
.cp-skel-img{width:100%;height:120px;background:linear-gradient(90deg,var(--cp-bg) 25%,var(--cp-border) 50%,var(--cp-bg) 75%);background-size:200% 100%;animation:cp-shimmer 1.4s ease-in-out infinite}
.cp-skel-line{height:12px;border-radius:4px;margin:8px 10px;background:linear-gradient(90deg,var(--cp-bg) 25%,var(--cp-border) 50%,var(--cp-bg) 75%);background-size:200% 100%;animation:cp-shimmer 1.4s ease-in-out infinite}
.cp-skel-line.short{width:60%}
.cp-skel-line.long{width:90%}
.cp-skel-price{height:18px;width:50px;border-radius:4px;margin:6px 10px 10px;background:linear-gradient(90deg,var(--cp-bg) 25%,var(--cp-border) 50%,var(--cp-bg) 75%);background-size:200% 100%;animation:cp-shimmer 1.4s ease-in-out infinite}
@keyframes cp-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.cp-retry-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;margin-top:8px;background:var(--cp-card);border-radius:10px;border:1px solid var(--cp-border)}
.cp-retry-bar span{font-size:13px;color:var(--cp-secondary)}
.cp-retry-btn{padding:6px 18px;border:none;border-radius:8px;background:var(--cp-accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s}
.cp-retry-btn:hover{opacity:.85}
.cp-load-fail{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:var(--cp-card);border-radius:10px;border:1px solid var(--cp-border);margin-top:8px}
.cp-load-fail p{font-size:13px;color:var(--cp-secondary)}
@media(max-width:768px){.cp-skel-card{flex:0 0 140px;width:140px;min-width:140px;max-width:140px}.cp-skel-img{height:100px}}
.cp-filter-chip-count{display:none!important}

/* fix0829st5c: ST5c web 透出 — 券后价标签 / 低价角标 / 大促提示条（字段缺失不渲染） */
.cp-st5c-coupon{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border-radius:6px;background:rgba(16,185,129,.12);color:#059669;font-size:12px;font-weight:600;white-space:nowrap}
.cp-st5c-lowbadge{position:absolute;top:8px;left:8px;z-index:5;padding:2px 8px;border-radius:10px;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;font-size:10px;font-weight:700;box-shadow:0 2px 6px rgba(245,158,11,.4)}
.cp-st5c-promo{margin:0 0 10px;padding:10px 14px;border-radius:10px;background:linear-gradient(135deg,rgba(255,193,7,.10),rgba(251,191,36,.08));border:1px solid rgba(245,158,11,.25);color:#92400e;font-size:13px;line-height:1.6;flex-wrap:wrap;align-items:center}
[data-theme="dark"] .cp-st5c-coupon{background:rgba(16,185,129,.18);color:#34d399}
/* fix0916rankD P1-4: 补贴商品到手价强调 (三端统一视觉规范: 补贴口径红色系, 区别于券后绿色) */
.cp-subsidy-final{background:rgba(230,57,70,.10);color:#c1121f}
[data-theme="dark"] .cp-subsidy-final{background:rgba(230,57,70,.22);color:#ff7875}
[data-theme="dark"] .cp-st5c-promo{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.35);color:#fcd34d}


/* ===== fix0903webl1: 顶层模式开关 + 本地生活平台 chip + 权益条 ===== */
.cp-mode-tabs{
  display:flex;
  gap:8px;
  margin:12px 0 8px;
  padding:6px;
  background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 100%);
  border-radius:14px;
  border:1px solid rgba(99,102,241,.12);
  box-shadow:0 1px 3px rgba(99,102,241,.04);
}
.cp-mode-tab{
  flex:1;
  padding:10px 16px;
  font-size:14px;
  font-weight:600;
  text-align:center;
  border-radius:10px;
  cursor:pointer;
  user-select:none;
  color:#64748b;
  background:transparent;
  border:none;
  transition:all .25s cubic-bezier(.4,0,.2,1);
  white-space:nowrap;
}
.cp-mode-tab:hover:not(.active){
  background:rgba(99,102,241,.08);
  color:#475569;
}
.cp-mode-tab.active{
  background:linear-gradient(135deg,#6366f1 0%,#818cf8 100%);
  color:#fff;
  box-shadow:0 4px 12px rgba(99,102,241,.32),0 1px 2px rgba(0,0,0,.06);
  transform:translateY(-1px);
}
.cp-mode-tab.active:hover{
  background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);
}

/* LL 平台 chip 行 (美团/携程/滴滴/饿了么) */
.cp-ll-platform-chips{
  display:flex;
  gap:8px;
  margin:12px 0;
  padding:0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.cp-ll-platform-chips::-webkit-scrollbar{display:none}
.cp-ll-plat-chip{
  flex:0 0 auto;
  padding:8px 16px;
  font-size:13px;
  font-weight:500;
  color:#475569;
  background:#fff;
  border:1.5px solid #e2e8f0;
  border-radius:20px;
  cursor:pointer;
  white-space:nowrap;
  transition:all .2s;
}
.cp-ll-plat-chip:hover{
  border-color:#a5b4fc;
  color:#4f46e5;
  background:#f5f3ff;
}
.cp-ll-plat-chip.active{
  background:linear-gradient(135deg,#6366f1,#818cf8);
  color:#fff;
  border-color:transparent;
  box-shadow:0 2px 8px rgba(99,102,241,.3);
}

/* LL 平台权益条 (Banner) */
.cp-ll-benefits-bar{
  margin:12px 0 16px;
  padding:14px 16px;
  background:linear-gradient(135deg,#fef3c7 0%,#fde68a 50%,#fcd34d 100%);
  border-radius:14px;
  border:1px solid rgba(245,158,11,.2);
  box-shadow:0 2px 8px rgba(245,158,11,.08);
}
.cp-ll-benefits-title{
  font-size:13px;
  font-weight:700;
  color:#92400e;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  gap:6px;
}
.cp-ll-benefits-title::before{
  content:"🎁";
  font-size:15px;
}
.cp-ll-benefits-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
}
.cp-ll-benefit-item{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:8px 10px;
  background:rgba(255,255,255,.7);
  border-radius:8px;
}
.cp-ll-benefit-name{
  font-size:11px;
  font-weight:600;
  color:#78350f;
}
.cp-ll-benefit-desc{
  font-size:11px;
  color:#a16207;
  line-height:1.4;
}
@media(min-width:768px){
  .cp-ll-benefits-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:480px){
  .cp-ll-benefits-grid{grid-template-columns:1fr}
  .cp-mode-tab{font-size:13px;padding:9px 12px}
}

/* ===== fix0903webl1 end ===== */

/* ===== fix0903webl2: 本地生活模式补齐 6 件套样式 (对齐小程序 products.wxml + LocalLifePage.tsx) ===== */

/* 1. 定位栏 (loc-bar): 三态 + 城市下拉 */
.cp-loc-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;margin:12px 0 8px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid #c7d2fe;border-radius:10px;font-size:13px;flex-wrap:wrap}
.cp-loc-bar .cp-loc-icon{font-size:16px;line-height:1}
.cp-loc-bar .cp-loc-text{color:#4338ca;font-weight:500;flex:1;min-width:0}
.cp-loc-bar .cp-loc-select{padding:6px 10px;border:1px solid #a5b4fc;border-radius:8px;background:#fff;color:#312e81;font-size:13px;cursor:pointer;outline:none;font-family:inherit}
.cp-loc-bar .cp-loc-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,0.15)}
.cp-loc-bar .cp-loc-clear{padding:4px 10px;color:#6366f1;font-size:12px;cursor:pointer;border-radius:6px;background:rgba(255,255,255,0.6);transition:background 0.15s}
.cp-loc-bar .cp-loc-clear:hover{background:#fff}
/* fix0917web500m: POI/地标搜索 — 定位栏内嵌搜索框+绝对定位下拉(修 500m chip 死代码的选点入口) */
.cp-loc-bar .cp-loc-poi-wrap{position:relative;display:inline-flex;align-items:center}
.cp-loc-bar .cp-loc-poi-input{padding:5px 8px;border:1px solid #a5b4fc;border-radius:8px;background:#fff;color:#312e81;font-size:12px;outline:none;font-family:inherit;width:112px}
.cp-loc-bar .cp-loc-poi-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,0.15)}
.cp-loc-poi-drop{display:none;position:absolute;top:calc(100% + 4px);left:0;z-index:80;min-width:240px;background:#fff;border:1px solid #c7d2fe;border-radius:10px;box-shadow:0 8px 24px rgba(49,46,129,0.14);overflow:hidden}
.cp-loc-poi-item{padding:8px 12px;font-size:12px;color:#1e1b4b;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.cp-loc-poi-item:hover,.cp-loc-poi-item:focus{background:#eef2ff}
.cp-loc-poi-item .cp-loc-poi-nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-loc-poi-item .cp-loc-poi-sub{color:#6b7280;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-loc-poi-empty{color:#9ca3af;cursor:default}
.cp-ll-filter-row .cp-loc-poi-input{width:88px;padding:3px 6px;font-size:11px}
@media (max-width:640px){.cp-loc-bar .cp-loc-poi-input{width:92px;padding:4px 6px}}


/* 2. 排序条 (sort-bar): 4 chip */
.cp-sort-bar{display:flex;align-items:center;gap:8px;padding:8px 0 4px;margin:4px 0 10px;font-size:13px}
.cp-sort-chip{padding:6px 14px;border-radius:16px;background:#f1f5f9;color:#475569;cursor:pointer;transition:all 0.15s;font-weight:500;border:1px solid transparent}
.cp-sort-chip:hover{background:#e2e8f0}
.cp-sort-chip.active{background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;font-weight:600;box-shadow:0 2px 6px rgba(99,102,241,0.25)}

/* 3. 「全部」chip 在 .cp-ll-platform-chips 第一个: 复用现有 class, 无需新样式 */

/* 4. 同城热销榜占位 (ll-rank): 骨架屏 */
.cp-ll-rank{margin:16px 0 8px;padding:14px;background:#fafafa;border:1px solid #e5e7eb;border-radius:12px}
.cp-ll-rank-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;gap:8px}
.cp-ll-rank-title{font-size:14px;font-weight:600;color:#1f2937}
.cp-ll-rank-sub{font-size:11px;color:#9ca3af;background:#f3f4f6;padding:2px 8px;border-radius:10px}
.cp-ll-rank-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f3f4f6}
.cp-ll-rank-row:last-of-type{border-bottom:none}
.cp-ll-rank-num{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#fde68a,#fbbf24);color:#92400e;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cp-ll-rank-thumb{width:60px;height:60px;border-radius:8px;background:linear-gradient(135deg,#e5e7eb,#d1d5db);flex-shrink:0;position:relative;overflow:hidden}
.cp-ll-rank-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.6),transparent);animation:cp-ll-rank-shimmer 1.6s infinite}
@keyframes cp-ll-rank-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.cp-ll-rank-body{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.cp-ll-rank-line{height:10px;border-radius:4px;background:linear-gradient(90deg,#e5e7eb,#f3f4f6);position:relative;overflow:hidden}
.cp-ll-rank-line::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.7),transparent);animation:cp-ll-rank-shimmer 1.6s infinite}
.cp-ll-rank-line.w60{width:60%}
.cp-ll-rank-line.w40{width:40%}
.cp-ll-rank-cta{width:60px;height:28px;border-radius:6px;background:linear-gradient(135deg,#fde68a,#fcd34d);flex-shrink:0}
.cp-ll-rank-foot{text-align:center;color:#9ca3af;font-size:11px;margin-top:10px;padding-top:8px;border-top:1px dashed #e5e7eb}

/* 5. 品类入口 (ll-grid): 2x4 卡片 + 头部 */
.cp-ll-grid-wrap{margin:20px 0 8px}
.cp-ll-grid-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;padding:0 2px;gap:8px}
.cp-ll-grid-title{font-size:14px;font-weight:600;color:#1f2937}
.cp-ll-grid-sub{font-size:11px;color:#9ca3af}
.cp-ll-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cp-ll-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 6px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all 0.18s;text-align:center;min-height:88px}
.cp-ll-cell:hover{border-color:#a5b4fc;box-shadow:0 4px 12px rgba(99,102,241,0.12);transform:translateY(-2px)}
.cp-ll-cell-icon{font-size:28px;line-height:1;margin-bottom:6px}
.cp-ll-cell-label{font-size:13px;font-weight:600;color:#1f2937;margin-bottom:2px}
.cp-ll-cell-desc{font-size:11px;color:#6b7280;line-height:1.3}

/* 6. 出行专区 (ll-grid-divider + ll-cell-trade): 2x2 卡片 + 分割线 */
.cp-ll-grid-divider{display:flex;align-items:center;gap:10px;margin:24px 0 10px;color:#6b7280;font-size:12px;font-weight:500}
.cp-ll-grid-line{flex:1;height:1px;background:linear-gradient(90deg,#e5e7eb,transparent)}
.cp-ll-cell-trade{background:linear-gradient(135deg,#fff7ed,#fef3c7);border-color:#fcd34d;min-height:auto;padding:10px 12px;align-items:stretch}
.cp-ll-cell-trade:hover{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;box-shadow:0 4px 12px rgba(245,158,11,0.18)}
.cp-ll-cell-trade-row{display:flex;align-items:center;gap:10px;width:100%}
.cp-ll-cell-icon-sm{font-size:22px;line-height:1;flex-shrink:0}
.cp-ll-cell-trade-body{flex:1;display:flex;flex-direction:column;min-width:0;text-align:left}
.cp-ll-cell-label-sm{font-size:13px;font-weight:600;color:#92400e;margin-bottom:1px}
.cp-ll-cell-desc-sm{font-size:11px;color:#a16207;line-height:1.3}

/* 响应式: 768px 4 列保持, 480px 以下 2 列 */
@media (max-width:480px){
  .cp-ll-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .cp-ll-cell{padding:10px 4px;min-height:76px}
  .cp-ll-cell-icon{font-size:24px}
  .cp-ll-cell-label{font-size:12px}
  .cp-ll-cell-desc{font-size:10px}
  .cp-loc-bar{padding:8px 10px;font-size:12px}
  .cp-sort-bar{gap:6px}
  .cp-sort-chip{padding:5px 10px;font-size:12px}
}

/* 兼容: 当 .cp-ll-platform-chips 显示 5 个 (含「全部」) 时调整 */
.cp-ll-platform-chips{display:flex;gap:8px;padding:8px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.cp-ll-platform-chips::-webkit-scrollbar{display:none}
.cp-ll-plat-chip{padding:8px 14px;border-radius:18px;background:#fff;border:1px solid #e5e7eb;color:#475569;font-size:13px;cursor:pointer;transition:all 0.15s;white-space:nowrap;flex-shrink:0}
.cp-ll-plat-chip:hover{border-color:#a5b4fc;background:#eef2ff}
.cp-ll-plat-chip.active{background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;border-color:transparent;font-weight:600;box-shadow:0 2px 8px rgba(99,102,241,0.3)}
/* ===== fix0903webl2 end ===== */

/*fix0904llimg: 本地生活闪购商品图覆盖平台emoji占位, 加载失败回退 */
.cp-ll-icon{position:relative}
.cp-ll-icon-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:8px 8px 0 0;z-index:1}
/* ===== fix0904llp1t2: ⚡快速达专区横滑带 (cross tab 结果区顶部, 132px 卡片, 履约标签 ⚡最快约N分钟 橙#FF6A00 胶囊10px/10px/600) ===== */
.cp-fastlane{margin:10px 0 2px;padding:12px;border-radius:14px;background:linear-gradient(135deg,#fff8f2,#fff);border:1px solid rgba(255,106,0,.18)}
.cp-fastlane-head{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}
.cp-fastlane-title{font-size:14px;font-weight:700;color:#ff6a00}
.cp-fastlane-city{font-size:11px;color:var(--cp-secondary)}
.cp-fastlane-scroll{display:flex!important;flex-direction:row;flex-wrap:nowrap;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:2px 2px 8px;scrollbar-width:thin;width:100%}
.cp-fastlane-scroll::-webkit-scrollbar{height:6px}
.cp-fastlane-scroll::-webkit-scrollbar-thumb{background:var(--cp-border);border-radius:3px}
.cp-fastlane-card{flex:0 0 132px;width:132px;min-width:132px;max-width:132px;scroll-snap-align:start;background:var(--cp-card);border:1px solid var(--cp-border);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex!important;flex-direction:column;box-sizing:border-box}
.cp-fastlane-card:hover,.cp-fastlane-card:focus-visible{transform:translateY(-2px);box-shadow:var(--cp-shadow-hover);outline:none}
.cp-fastlane-imgwrap{position:relative;width:132px;height:132px;background:var(--cp-bg);flex-shrink:0;overflow:hidden}
.cp-fastlane-img{width:100%;height:100%;object-fit:cover;display:block}
.cp-fastlane-ph{display:flex;align-items:center;justify-content:center;font-size:30px;opacity:.4}
.cp-fastlane-eta{position:absolute;top:6px;right:6px;background:#ff6a00;color:#fff;font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;line-height:1.4;max-width:118px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cp-fastlane-promo{position:absolute;bottom:6px;left:6px;background:rgba(0,0,0,.45);color:#fff;font-size:10px;padding:1px 6px;border-radius:4px;line-height:1.4}
.cp-fastlane-body{padding:8px 8px 10px;flex:1;display:flex;flex-direction:column;gap:3px}
.cp-fastlane-name{font-size:12px;font-weight:500;color:var(--cp-text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:32px}
.cp-fastlane-price{font-size:14px;font-weight:700;color:#ff6a00}
.cp-fastlane-shop{font-size:11px;color:var(--cp-secondary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}

/* ===== fix0904llp2t4 begin: 八频道供给化 preview 样式 (eta 橙对齐 T2 fastlane #FF6A00) ===== */
.cp-ll-cell-supply{background:linear-gradient(180deg,#ffffff 55%,#fff7f0 100%);border-color:#ffd9b3}
.cp-ll-prev{display:flex;flex-direction:column;gap:3px;width:100%;margin-top:8px}
.cp-ll-prev-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:4px 6px;background:rgba(255,106,0,0.06);border:1px solid rgba(255,106,0,0.15);border-radius:8px;cursor:pointer;transition:background .15s}
.cp-ll-prev-item:hover{background:rgba(255,106,0,0.14)}
.cp-ll-prev-title{font-size:10px;color:#424242;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.cp-ll-prev-meta{font-size:10px;color:#FF6A00;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
@media (max-width:640px){
  .cp-ll-prev{margin-top:6px;gap:2px}
  .cp-ll-prev-item{padding:3px 5px}
  .cp-ll-prev-title,.cp-ll-prev-meta{font-size:9px}
}
/* ===== fix0904llp2t4 end ===== */


/* ===== fix0905v3web begin: v3 品类筛选器 + 可关闭筛选标签 + 供给预览条 ===== */
.cp-ll-catbar{margin:10px 0 0}
.cp-ll-cat-chips{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px 0 6px;scrollbar-width:none}
.cp-ll-cat-chips::-webkit-scrollbar{display:none}
.cp-ll-cat-chip{flex:0 0 auto;padding:7px 14px;border-radius:16px;background:var(--cp-card,#fff);border:1.5px solid var(--cp-border,#e2e8f0);font-size:13px;font-weight:500;color:#475569;cursor:pointer;white-space:nowrap;transition:all .15s;user-select:none}
.cp-ll-cat-chip:hover{border-color:#a5b4fc;color:#4f46e5;background:#f5f3ff}
.cp-ll-cat-chip.active{background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(99,102,241,.3)}
.cp-ll-cat-tag{display:inline-flex;align-items:center;gap:6px;margin:2px 0 8px;padding:5px 12px;border-radius:14px;background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.35);color:#4f46e5;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
.cp-ll-cat-tag:hover{background:rgba(99,102,241,.16)}
.cp-ll-cat-tag-x{font-weight:700;padding-left:2px}
.cp-ll-prev-strip{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 8px;padding:8px;background:linear-gradient(135deg,#f5f3ff,#f8fafc);border:1px dashed rgba(99,102,241,.35);border-radius:10px;scrollbar-width:none}
.cp-ll-prev-strip::-webkit-scrollbar{display:none}
.cp-ll-prev-strip .cp-ll-prev-item{flex:0 0 148px;width:148px}
@media(max-width:768px){.cp-ll-cat-chip{padding:6px 12px;font-size:12px}.cp-ll-prev-strip .cp-ll-prev-item{flex:0 0 132px;width:132px}}
[data-theme=dark] .cp-ll-cat-chip{background:var(--cp-card,#1a1a2e);color:#cbd5e1;border-color:var(--cp-border,#ffffff1a)}
[data-theme=dark] .cp-ll-cat-chip.active{background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff}
[data-theme=dark] .cp-ll-cat-tag{background:rgba(99,102,241,.18);color:#c7d2fe}
[data-theme=dark] .cp-ll-prev-strip{background:linear-gradient(135deg,#1a1a2e,#16213e);border-color:rgba(99,102,241,.45)}
[data-theme=dark] .cp-ll-prev-strip .cp-ll-prev-title{color:#e2e8f0}
[data-theme=dark] .cp-ll-prev-strip .cp-ll-prev-item{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.3)}
/* ===== fix0905v3web end ===== */


/* ===== fix0905llsearch: 聚合区横滑卡 + 平台能力dim + 搜索意图分流 ===== */
.cp-llagg-title{font-size:15px;font-weight:600;margin-bottom:10px;color:var(--cp-text,#333)}
.cp-llagg-sub{font-size:12px;font-weight:400;color:var(--cp-secondary,#888)}
.cp-llagg-group{margin-bottom:14px}
.cp-llagg-group-head{font-size:14px;font-weight:600;margin-bottom:6px;color:var(--cp-text,#333);display:flex;align-items:baseline;gap:6px}
.cp-llagg-group-sub{font-size:11px;font-weight:400;color:var(--cp-secondary,#888)}
.cp-llagg-scroll{padding:2px 4px 10px}
.cp-llagg-card{flex:0 0 150px;width:150px;min-width:150px;max-width:150px;scroll-snap-align:start;background:var(--cp-card,#fff);border:1px solid var(--cp-border,#eee);border-radius:12px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-sizing:border-box;text-align:center;overflow:hidden}
.cp-llagg-card:hover{transform:translateY(-2px);box-shadow:var(--cp-shadow-hover,0 6px 16px rgba(0,0,0,.08))}
.cp-llagg-img{width:54px;height:54px;border-radius:10px;object-fit:cover;background:var(--cp-bg,#f5f5f5);flex-shrink:0}
.cp-llagg-name{font-size:12px;font-weight:600;line-height:1.4;color:var(--cp-text,#333);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all;min-height:34px}
.cp-llagg-meta{font-size:10px;color:var(--cp-secondary,#888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.cp-llagg-cta{margin-top:auto;background:var(--cp-accent,#5b6cff);color:#fff;font-size:12px;font-weight:600;padding:4px 14px;border-radius:12px}
.cp-ll-plat-chip.cp-ll-plat-dim{opacity:.38;filter:grayscale(.6)}
.cp-ll-plat-chip.cp-ll-plat-dim:hover{opacity:.75}
.cp-ll-search-notice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin:0 0 14px;border:1px solid var(--cp-border,#eee);border-radius:12px;background:var(--cp-bg,#f5f7fa)}
.cp-ll-search-notice-icon{font-size:24px;flex-shrink:0;line-height:1.2}
.cp-ll-search-notice-body{flex:1;min-width:0}
.cp-ll-search-notice-title{font-size:14px;font-weight:600;color:var(--cp-text,#333);margin-bottom:4px}
.cp-ll-search-notice-desc{font-size:12px;color:var(--cp-secondary,#888);margin-bottom:10px;line-height:1.5}
.cp-ll-search-notice-actions{display:flex;gap:8px;flex-wrap:wrap}
.cp-ll-search-notice-btn{padding:7px 14px;border-radius:8px;border:none;background:var(--cp-accent,#5b6cff);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .2s}
.cp-ll-search-notice-btn:hover{opacity:.85}
.cp-ll-search-notice-btn.alt{background:var(--cp-card,#fff);color:var(--cp-accent,#5b6cff);border:1px solid var(--cp-accent,#5b6cff)}
[data-theme="dark"] .cp-ll-search-notice{background:var(--cp-card,#1a1a2e)}
[data-theme="dark"] .cp-ll-search-notice-btn.alt{background:var(--cp-card,#1a1a2e)}
@media(max-width:768px){.cp-llagg-card{flex:0 0 134px;width:134px;min-width:134px;max-width:134px}.cp-llagg-img{width:48px;height:48px}.cp-llagg-name{font-size:11px;min-height:31px}.cp-ll-search-notice{padding:12px}}


/* ===== fix0905llsearch2: 动态搜索入口卡 + 闪购商品组 ===== */
.cp-ll-dyncard{border:1.5px dashed var(--cp-accent,#5b6cff);background:linear-gradient(135deg,rgba(91,108,255,.04),transparent);justify-content:center}
.cp-ll-dyncard-inner{padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;width:100%;box-sizing:border-box}
.cp-ll-dyncard-icon{font-size:28px}
.cp-ll-dyncard-title{font-size:14px;font-weight:600;color:var(--cp-text,#333);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cp-ll-dyncard-desc{font-size:11px;color:var(--cp-secondary,#888);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cp-ll-dyncard-btn{margin-top:auto;background:var(--cp-accent,#5b6cff);color:#fff;font-size:12px;font-weight:600;padding:6px 16px;border-radius:14px}
.cp-llagg-prodscroll .cp-hscroll-card{flex:0 0 220px;width:220px;min-width:220px;max-width:220px}
@media(max-width:768px){.cp-llagg-prodscroll .cp-hscroll-card{flex:0 0 170px;width:170px;min-width:170px;max-width:170px}.cp-llagg-prodscroll .cp-hscroll-card-img{height:150px}}

/* fix0905mob2: 移动端搜索行换行 — 绑定淘宝按钮不再溢出视口被截断(根因: .cp-search-wrap 默认 nowrap, 375px 下 input+发现好物+绑定按钮三元素超宽; 修复: input 独占首行, 两个按钮换行至第二行; PC 桌面端不受影响) */
@media(max-width:768px){
  .cp-search-wrap{flex-wrap:wrap;gap:8px}
  .cp-search-input{flex:1 1 100%;min-width:0}
  .cp-search-btn{flex-shrink:0}
  #cpBindTaobaoBtn{flex-shrink:0}
}


/* ===== fix0905llux1: LL态首屏重排 — 营销收纳(金刚区)+卡片瘦身+店铺纵列卡 ===== */
/* 金刚区: 一行icon入口(收纳原286px权益黄卡+59px电费条, CPS链路走JS原函数) */
.cp-ll-kingkong{display:flex;flex-wrap:nowrap;gap:2px;overflow-x:auto;margin:8px 0 4px;padding:4px 2px;background:var(--cp-bg,#fff);border:1px solid var(--cp-border,#e5e7eb);border-radius:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cp-ll-kingkong::-webkit-scrollbar{display:none}
.cp-ll-kk-item{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;border-radius:10px;cursor:pointer}
.cp-ll-kk-item:active{background:rgba(255,106,0,.1)}
.cp-ll-kk-on{background:linear-gradient(135deg,#fff7ed,#ffedd5)}
.cp-ll-kk-icon{font-size:20px;line-height:1}
.cp-ll-kk-name{font-size:10px;color:var(--cp-text,#111);white-space:nowrap}
/* LL态营销收纳: hero压缩+徽章/副标题/红包条隐藏(纯装饰/纯文案无动作, 电商态还原) */
body.cp-mode-ll .cp-hero{padding:8px 14px 4px;gap:8px}
body.cp-mode-ll .cp-hero h1{font-size:17px}
body.cp-mode-ll .cp-hero-left p{display:none!important}/*fix0905llux1c: 既有 .cp-hero p{display:block!important} 覆盖, 需同权重 !important 才能隐藏 LL 态副标题*/
body.cp-mode-ll .cp-hero-right{display:none}
body.cp-mode-ll #cpLLRedBar{display:none!important}
@media(max-width:768px){
  /* 卡片瘦身: 12+信息单元→6(决策条/复制链接隐藏+图高内距压缩, 仅LL态) */
  body.cp-mode-ll .cp-hscroll-card-img{height:98px}
  body.cp-mode-ll .cp-hscroll-card-body{padding:7px 8px 5px}
  body.cp-mode-ll .cp-hscroll-card-title{font-size:12px;line-height:1.25}
  body.cp-mode-ll .cp-hscroll-card-badges{margin:3px 0 2px}
  body.cp-mode-ll .cp-hscroll-card-decision{display:none}
  body.cp-mode-ll .cp-product-actions span+span{display:none}
  body.cp-mode-ll .cp-hscroll-card-price{margin-top:2px}
  /* 店铺纵列卡: 每店一紧凑卡(美团式) — 区块卡化+标题收紧+排序hint隐藏 */
  body.cp-mode-ll .cp-hscroll-section{background:var(--cp-bg,#fff);border:1px solid var(--cp-border,#e5e7eb);border-radius:12px;padding:8px 10px 10px;margin:0 0 10px}
  body.cp-mode-ll .cp-hscroll-section-title{font-size:13px;font-weight:600;padding:0 2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.cp-mode-ll .cp-hscroll-hint{display:none}
  body.cp-mode-ll .cp-hscroll{gap:8px}
  body.cp-mode-ll .cp-hero{padding:6px 12px 2px}
}

/* fix0905llux1b: LL 卡 badge 行单行裁剪 — 160px 窄卡 badge wrap 2-3 行是卡高 321 主因; 电商态不受影响 */
@media(max-width:768px){
  body.cp-mode-ll .cp-hscroll-card-badges{flex-wrap:nowrap;overflow:hidden;white-space:nowrap}
  body.cp-mode-ll .cp-hscroll-card-title{margin-bottom:4px}
  body.cp-mode-ll .cp-hscroll-card-price{margin-bottom:2px;font-size:18px}
  body.cp-mode-ll .cp-product-actions span:first-child{padding:4px 6px!important}
}

/* ===== fix0905ecux: 电商态首屏重排 — hero压缩+卡片瘦身(与 fix0905llux1 同思路) ===== */
/* 电商态 = body 无 cp-mode-ll class(默认态), :not() 限定与 LL 规则组互斥零干扰; hero 副标题+三徽章纯装饰无跳转(与 LL 态同口径收纳) */
body:not(.cp-mode-ll) .cp-hero{padding:8px 14px 4px;gap:8px}
body:not(.cp-mode-ll) .cp-hero h1{font-size:17px}
body:not(.cp-mode-ll) .cp-hero-left p{display:none!important}/*fix0905ecux: 既有 .cp-hero p{display:block!important} 覆盖, 需同权重 !important(llux1c 同款教训)*/
body:not(.cp-mode-ll) .cp-hero-right{display:none}
@media(max-width:768px){
  /* 卡片瘦身: 与 LL 态同构(同一渲染器 cpRenderHScrollCard) — 决策条/复制链接隐藏+图高压缩+badge 单行裁剪 */
  body:not(.cp-mode-ll) .cp-hscroll-card-img{height:98px}
  body:not(.cp-mode-ll) .cp-hscroll-card-body{padding:7px 8px 5px}
  body:not(.cp-mode-ll) .cp-hscroll-card-title{font-size:12px;line-height:1.25;margin-bottom:4px}
  body:not(.cp-mode-ll) .cp-hscroll-card-badges{flex-wrap:nowrap;overflow:hidden;white-space:nowrap;margin:3px 0 2px}
  body:not(.cp-mode-ll) .cp-hscroll-card-decision{display:none}
  body:not(.cp-mode-ll) .cp-product-actions span+span{display:none}
  body:not(.cp-mode-ll) .cp-hscroll-card-price{margin-bottom:2px;font-size:18px;margin-top:2px}
  body:not(.cp-mode-ll) .cp-product-actions span:first-child{padding:4px 6px!important}
  body:not(.cp-mode-ll) .cp-hero{padding:6px 12px 2px}
}

/* ===== fix0905dtux: 桌面端卡片瘦身 — 与 llux1/ecux 同思路(min-width:769 桌面限定, 移动端规则零干扰) ===== */
/* 桌面 hero 收纳已由 llux1/ecux 规则覆盖(实测 hero 38px, 副标题/三徽章隐藏), 本块只做卡片瘦身: 494px→~330px */
/* 特异性注意: 聚合流 .cp-llagg-prodscroll .cp-hscroll-card-img(150px) 高于本规则, 不受影响 */
@media(min-width:769px){
  .cp-hscroll-card-img{height:150px}
  .cp-hscroll-card-body{padding:8px 10px}
  .cp-hscroll-card-title{font-size:13px;line-height:1.35;margin-bottom:4px}
  .cp-hscroll-card-badges{flex-wrap:nowrap;overflow:hidden;white-space:nowrap;margin:2px 0 3px}
  .cp-hscroll-card-decision{display:none}
  .cp-product-actions span+span{display:none}
  .cp-hscroll-card-price{font-size:17px;margin:2px 0}
  .cp-product-actions span:first-child{padding:4px 8px!important}
  .cp-hscroll{gap:10px}
}

/* ===== fix0905ddrow: 四筛选栏一行下拉化 (fix0905llux1 系列续) ===== */
.cp-ll-filter-row{display:flex;gap:8px;align-items:stretch;margin:10px 0 4px;flex-wrap:nowrap}
/* 定位栏入行收紧(原整行53px) — 文案ellipsis, 不包装不破坏 cpUpdateLocBar 的 outerHTML 替换 */
.cp-ll-filter-row .cp-loc-bar{flex:0 1 auto;margin:0;padding:6px 10px;gap:6px;min-width:0;max-width:32%}
.cp-ll-filter-row .cp-loc-text{flex:0 1 auto;max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-ll-filter-row .cp-loc-select{padding:4px 6px;font-size:12px;max-width:90px}
.cp-ll-filter-row .cp-loc-icon{flex:none}
/* 下拉壳 */
.cp-dd{flex:1 1 0;min-width:0;position:relative}
.cp-dd-btn{display:flex;align-items:center;gap:4px;width:100%;min-height:36px;padding:6px 8px;background:var(--cp-card,#fff);border:1px solid var(--cp-border,#e5e7eb);border-radius:10px;cursor:pointer;font-size:13px;color:var(--cp-text,#111);user-select:none;box-sizing:border-box}
.cp-dd-btn:hover{border-color:#a78bfa}
.cp-dd-btn-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.cp-dd-caret{font-size:10px;color:#9ca3af;flex:none}
.cp-dd.open .cp-dd-btn{border-color:#7c3aed;box-shadow:0 0 0 2px rgba(124,58,237,.08)}
.cp-dd-panel{display:none;position:absolute;top:calc(100% + 4px);left:0;width:280px;min-width:100%;max-width:calc(100vw - 24px);background:var(--cp-card,#fff);border:1px solid var(--cp-border,#e5e7eb);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.14);padding:8px;z-index:60}
.cp-dd.open .cp-dd-panel{display:block}
/* 面板内原有筛选栏样式重置(渲染函数输出原样塞入) */
.cp-dd-panel .cp-ll-catbar{margin:0;padding:0}
.cp-dd-panel .cp-ll-cat-chips{flex-wrap:wrap;overflow:visible;padding:0;gap:6px}
.cp-dd-panel .cp-ll-platform-chips{flex-wrap:wrap;overflow:visible;margin:0;padding:0;gap:6px}
.cp-dd-panel .cp-sort-bar{flex-wrap:wrap;gap:6px;margin:0;padding:2px 0}
@media(max-width:768px){
  .cp-ll-filter-row{gap:6px;margin:8px 0 4px}
  .cp-ll-filter-row .cp-loc-bar{padding:5px 8px;border-radius:10px;max-width:30%}
  .cp-ll-filter-row .cp-loc-text{max-width:64px}
  .cp-ll-filter-row .cp-loc-select{padding:3px 4px;font-size:11px;max-width:72px}
  .cp-dd-btn{min-height:32px;padding:5px 6px;font-size:12px}
  .cp-dd-panel{width:min(280px,calc(100vw - 24px))}
}

/* ===== fix0905ddrow2: 筛选栏两行两列布局(用户反馈: 4格一行太挤, 选中值展示不全) ===== */
/* 行1: 定位+分类 / 行2: 平台+排序 — 每格50%宽, 按钮文案完整展示 */
.cp-ll-filter-row{flex-wrap:wrap}
.cp-ll-filter-row .cp-loc-bar{flex:1 1 calc(50% - 4px);max-width:calc(50% - 4px)}
.cp-ll-filter-row .cp-loc-text{max-width:180px}
.cp-ll-filter-row .cp-loc-select{max-width:130px}
.cp-ll-filter-row .cp-dd{flex:1 1 calc(50% - 4px)}
/* 全部平台态的聚合hint(无class裸div)独占一行 */
.cp-ll-filter-row > div:not(.cp-loc-bar):not(.cp-dd){flex:1 1 100%;box-sizing:border-box}
@media(max-width:768px){
  .cp-ll-filter-row .cp-loc-bar{flex:1 1 calc(50% - 3px);max-width:calc(50% - 3px);padding:6px 8px}
  .cp-ll-filter-row .cp-loc-text{max-width:70px}
  .cp-ll-filter-row .cp-loc-select{max-width:76px;font-size:11px}
  .cp-ll-filter-row .cp-dd{flex:1 1 calc(50% - 3px)}
  .cp-dd-btn{min-height:36px}
}

/* ===== fix0905llgap: LL 主商品流纵排 2 列网格 (对齐美团垂直 feed) =====
   根因: .cp-hscroll 横滑容器移动端卡宽 160px, 10 张卡仅露出 ~2 张 (用户截图实锤「只看到2张卡」);
   美团 App 搜索为纵向瀑布流全可见。纵排后热销榜/出行专区自然下移, 商品流成为页面主体。 */
.cp-ll-vgrid .cp-hscroll{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));flex-wrap:nowrap!important;overflow-x:visible!important;overflow-y:visible;gap:10px;padding:4px 4px 12px;scroll-snap-type:none}
.cp-ll-vgrid .cp-hscroll-card{flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;height:100%;box-sizing:border-box}
body.cp-mode-ll .cp-ll-vgrid .cp-hscroll-card{flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important}
body.cp-mode-ll .cp-ll-vgrid .cp-hscroll-card-img{height:150px!important}
.cp-ll-vgrid .cp-hscroll-card-img{height:150px}
@media(max-width:768px){
  body.cp-mode-ll .cp-ll-vgrid .cp-hscroll-card-img{height:130px!important}
  .cp-ll-vgrid .cp-hscroll-card-body{padding:8px 8px 6px!important}
}

/* ===== fix0906locline: 定位栏稳定单行 (用户需求: 任何定位状态不折行) =====
   根因: .cp-loc-bar 基类 flex-wrap:wrap + .cp-loc-text 无 nowrap — IP档长文案+「开启精确定位」按钮+城市下拉总宽超cell, 栏内换行成两行
   方案(美团/淘宝H5定位栏惯例): nowrap + 文案 flex:1 ellipsis 截断 + 紧凑元素(flex:none/收缩) — 各状态内容总宽恒定低于单行 */
.cp-loc-bar{flex-wrap:nowrap}
.cp-loc-bar .cp-loc-text{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-loc-bar .cp-loc-tap{cursor:pointer;align-self:stretch;display:flex;align-items:center;text-decoration:underline dotted;text-underline-offset:3px;text-decoration-color:rgba(67,56,202,.5)}/*fix0906locline: stretch 占满栏高扩大点选区*/
.cp-loc-bar .cp-loc-tap:hover{color:#312e81}
.cp-loc-bar .cp-loc-select{flex:0 1 auto;min-width:0}
.cp-loc-bar .cp-loc-clear{flex:none;white-space:nowrap;padding:6px 8px;line-height:1}/*fix0906locline: 纯图标✕紧凑点选区, line-height:1 归一栏高防状态切换跳动*/
/* LL 筛选行 cell 内: 解除旧固定 max-width(ddrow/ddrow2 系列), 交给 flex 收缩 + ellipsis */
.cp-ll-filter-row .cp-loc-text{max-width:none}
.cp-ll-filter-row .cp-loc-select{max-width:110px}

/* ===== fix0906llhint: 品类标签+上下文提示条(面板外常显) begin ===== */
#cpLLCatTag{margin:8px 0 0}
.cp-ll-cat-hint{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0;padding:8px 12px;border-radius:10px;background:rgba(124,58,237,.06);border:1px solid rgba(124,58,237,.25);color:#6d28d9;font-size:12px;line-height:1.5}
.cp-ll-cat-hint-ic{font-size:14px;flex:none}
.cp-ll-cat-hint-t{flex:1;min-width:0}
.cp-ll-cat-hint-back{flex:none;padding:4px 12px;border-radius:8px;background:rgba(124,58,237,.12);color:#6d28d9;font-weight:600;cursor:pointer;user-select:none;white-space:nowrap;transition:background .15s}
.cp-ll-cat-hint-back:hover{background:rgba(124,58,237,.22)}
[data-theme=dark] .cp-ll-cat-hint{background:rgba(124,58,237,.16);border-color:rgba(124,58,237,.4);color:#c4b5fd}
[data-theme=dark] .cp-ll-cat-hint-back{background:rgba(124,58,237,.3);color:#ddd6fe}
/* ===== fix0906llhint end ===== */

/* ===== fix0906llimg: PC端LL主商品流卡图纵横比修复 =====
   根因: fix0905llgap vgrid 2列网格 + fix0905dtux 桌面 height:150px 固定图高 — 两者均为窄卡设计(移动~170px/横滑240px卡),
   PC 上 vgrid 卡宽随主栏撑到 420~740px, 150px 高 → 2.8:1~4.9:1 压扁(用户截图实锤: 图片宽度很宽但高度完全不够)
   方案(行业惯例: 餐饮团购卡图 4:3; PC信息流卡宽 300~420px):
   ① PC(>=769px) vgrid 网格 repeat(auto-fill,minmax(300px,1fr)) — 1280/2列 1440/3列 1920/4列, 消灭巨宽卡
   ② 卡图 height:auto + aspect-ratio:4/3 — 高度随卡宽自适应(对齐美团PC/大众点评团购卡形态)
   移动端(<=768px 130px, llux1)与电商横滑卡(fix0905dtux 150px)既有设计不动 */
@media(min-width:769px){
  .cp-ll-vgrid .cp-hscroll{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important}
  body.cp-mode-ll .cp-ll-vgrid .cp-hscroll-card-img,
  .cp-ll-vgrid .cp-hscroll-card-img{height:auto!important;aspect-ratio:4/3;object-fit:cover}
}

/* ===== fix0906llimg2: cp-ll-card 权益卡图区同类纵横比修复 (fix0906llimg 排查第二处) =====
   排查结论: cpRenderLocalLifeCard 的图区 .cp-ll-icon{width:100%;height:80px} 按 160px 横滑卡设计(2:1),
   两处 CSS 叠加后压扁: ① fix0905llgap 把该卡放进 vgrid 弹性网格, 实测 1280 下 418x80=5.2:1 / 1920 下 4.5:1
   ② fix0905dtux 把横滑卡加宽到 240px 未同步图高, 240x80=3:1
   方案(与 fix0906llimg 同思路, PC>=769px 限定):
   ① vgrid 内: aspect-ratio:4/3 与同网格的 sku 卡(fix0906llimg)对齐, 网格行高一致
   ② 横滑区: aspect-ratio:16/9 (240 卡 135px 高, 权益横幅图区行业惯例)
   移动端(149px 卡 x 80px = 1.86:1, 贴近原设计 2:1)零回退不动 */
@media(min-width:769px){
  .cp-ll-vgrid .cp-ll-icon{height:auto!important;aspect-ratio:4/3}
  .cp-ll-vgrid .cp-ll-icon .cp-ll-icon-img{border-radius:8px 8px 0 0}
  .cp-hscroll-section:not(.cp-ll-vgrid) .cp-ll-icon{height:auto!important;aspect-ratio:16/9}
}
/* ===== fix0906llshop: mtsku 卡店铺行 — 移动端店名先行(对齐美团选店决策第一层) =====
 * PC 端默认 display:none 零回退(沿用 fix0905llstore3 组头 + fix0905bbqstore 徽章既有形态);
 * 移动端显示店铺行(店名 12.5px/600 + 距离右对齐灰字, 标题上方第一行)并隐藏徽章行内
 * 重复的店名/距离徽章(cp-bbq-shop/cp-bbq-km), 店名与距离是选店决策第一层。 */
/* fix0906mtrow1: 行序①店铺行 — mtsku真实SKU卡全网显示(原PC默认display:none, 徽章重复项已JS条件化去重, 店铺行成为唯一店名+距离载体);
 * 电商/闪购卡PC形态不变(仍隐藏); 移动端全部卡保持fix0906llshop既有形态 */
.cp-shop-line{display:none}
.cp-shop-line.cp-shop-line-mt{display:flex;align-items:center;gap:4px;margin:0 0 4px;padding:0 0 4px;border-bottom:1px solid var(--cp-border,#eef0f3);font-size:12.5px;font-weight:600;color:var(--cp-text,#333);line-height:1.3}
.cp-shop-line .cp-shop-name{flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}/*fix0907wmp0 P1-3: 补max-width:100%强制单行截断生效(移动端长店名溢出, APP/小程序已对齐)*/
.cp-shop-line .cp-shop-km{flex:0 0 auto;font-size:11px;font-weight:400;color:var(--cp-secondary,#999)}
/* fix0906mtrow1: 行② 外卖信息行(独立一行 secondary 小字): 配送约X分钟 · 起送¥X · 配送¥Y */
.cp-hscroll-card-wmmeta{font-size:11px;color:var(--cp-secondary,#999);line-height:1.4;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:768px){
  .cp-shop-line{display:flex;align-items:center;gap:4px;margin:0 0 4px;padding:0 0 4px;border-bottom:1px solid var(--cp-border,#eef0f3);font-size:12.5px;font-weight:600;color:var(--cp-text,#333);line-height:1.3}
  .cp-badge.cp-bbq-shop,.cp-badge.cp-bbq-km{display:none}
}

/* ===== fix0906storehd: 门店组头结构化(好物页门店分组头) — 截图「店名顶满整行+19.4km 被截成 19」根因修复 =====
 * 旧形态: logo+店名(slice20硬截)+距离+套餐数拼一行塞 nowrap flex, overflow:hidden 中部硬裁剪(text-overflow 对 flex 子项无效)
 * 新形态(对齐美团门店卡信息层级): [logo icon][店名主行 flex:1 min-width:0][距离+N套餐徽章 flex:0 0 auto 右固定位]
 *   主名最多2行 line-clamp 省略号; 带「（分支）」时(.nb): 主名单行省略+分支名单行省略 — 分支名是选店关键区分信息, 优先保留
 *   点击组头 toast 显示完整店名(PC 悬停 title 属性); 距离徽章右固定位永不截断
 * 附带: 卡内店名徽章(mtsku PC 端/闪购)窄卡 badge 行 nowrap 硬裁剪无省略号 → max-width+ellipsis 优雅截断 */
.cp-hscroll-section-title.cp-store-hd-title{white-space:normal;overflow:visible;text-overflow:clip;flex-wrap:wrap;gap:2px 8px}
body.cp-mode-ll .cp-hscroll-section-title.cp-store-hd-title{white-space:normal;overflow:visible;text-overflow:clip}
.cp-store-hd{display:flex;align-items:center;gap:6px;flex:1 1 140px;min-width:0;cursor:pointer;background:linear-gradient(135deg,#fff7ed,#fef3c7);border-radius:10px;padding:4px 8px;border:1px solid #fde68a;box-sizing:border-box}/*fix0907wmp0 P1-5: 门店组头对齐APP橙黄渐变#fff7ed→#fef3c7(原白底三端品牌色不一致)*/
.cp-store-hd-logo{flex:0 0 auto;display:inline-flex;align-items:center;line-height:1}
.cp-store-hd-name{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.32;font-size:13px;font-weight:600;color:var(--cp-text)}
.cp-store-hd-name .cp-store-hd-main{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}
.cp-store-hd-name.nb .cp-store-hd-main{display:block;-webkit-line-clamp:unset;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-store-hd-name.nb .cp-store-hd-branch{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;color:var(--cp-secondary,#999)}
.cp-store-hd-meta{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px}
.cp-store-hd-meta i{font-style:normal;font-size:11px;padding:1px 6px;border-radius:8px;white-space:nowrap}
.cp-store-hd-km{background:#e8f2ff;color:#1a66cc;font-weight:600}
.cp-store-hd-cnt{background:var(--cp-bg,#f5f6f8);color:var(--cp-secondary,#999)}
.cp-store-hd-price{background:#fff;color:#e0352b;font-weight:700}/*fix0907webp2: P2-7 组头到手价区间徽章 — 美团价格红白底, 突显于橙黄组头*/
[data-theme=dark] .cp-store-hd-price{background:rgba(255,255,255,.95);color:#ff7a6b}
[data-theme=dark] .cp-store-hd-km{background:#1e3a5f;color:#9cc3f5}
[data-theme=dark] .cp-store-hd{background:linear-gradient(135deg,#2d1f0f,#4a3520);border-color:#4a3520}/*fix0907wmp0 P1-5: dark主题组头渐变(复用既有dark橙系)*/
/* fix0907wmp0 P1-4: 距离分层视觉警示 — >10km灰底 / >30km灰底+⚠️(算法层fix0906distrank已分层排序, 此处只补视觉) */
.cp-shop-km.cp-km-far{background:#f1f2f4;color:#5b6068;padding:1px 5px;border-radius:8px;font-weight:600}
.cp-shop-km.cp-km-vfar{background:#eceff1;color:#455a64;padding:1px 5px;border-radius:8px;font-weight:700}
.cp-store-hd-km.cp-km-far{background:#eceff1;color:#546e7a}
.cp-store-hd-km.cp-km-vfar{background:#e0e0e0;color:#37474f;font-weight:700}
[data-theme=dark] .cp-shop-km.cp-km-far{background:rgba(255,255,255,.08);color:#b0bec5}
[data-theme=dark] .cp-shop-km.cp-km-vfar{background:rgba(255,255,255,.12);color:#eceff1}
[data-theme=dark] .cp-store-hd-km.cp-km-far{background:rgba(255,255,255,.08);color:#b0bec5}
[data-theme=dark] .cp-store-hd-km.cp-km-vfar{background:rgba(255,255,255,.12);color:#eceff1}
[data-theme=dark] .cp-store-hd-cnt{background:rgba(255,255,255,.08);color:#9ca3af}
.cp-hscroll-card-badges .cp-badge.cp-bbq-shop,.cp-hscroll-card-badges .cp-badge.cp-sg-shop{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 0 auto;min-width:0}
/* fix0906storehd-2: badge 行恢复换行回流(基础规则即 wrap,L540/557/572 三处 nowrap override 是「19.4km 只剩19」截断机制) — 全部徽章可见,单徽章超长走 ellipsis */
body.cp-mode-ll .cp-hscroll-card-badges{flex-wrap:wrap;overflow:visible;white-space:normal}
body:not(.cp-mode-ll) .cp-hscroll-card-badges{flex-wrap:wrap;overflow:visible;white-space:normal}
.cp-hscroll-card-badges{flex-wrap:wrap;overflow:visible;white-space:normal}
/* fix0906storehd end */

/* fix0906imgbadge: 商户物料图角标 — 上游无商品图(店铺模板图)时明示防误导; 右上定位避开低价角标(左上)/最低缎带(上缘) */
.cp-mt-imgbadge{position:absolute;right:8px;top:8px;z-index:5;padding:2px 8px;border-radius:10px;background:rgba(0,0,0,.55);color:#fff;font-size:10px;font-weight:600;backdrop-filter:blur(2px);pointer-events:none}

/* ===== fix0906mtdist2 begin: 距离筛选chip — 排除语义(区别于距离排序沉底); active=描边绿区别于排序chip实心紫 ===== */
.cp-sort-bar .cp-dist-div{flex:0 0 auto;width:1px;height:18px;background:#e2e8f0;margin:0 2px 0 4px}
.cp-sort-chip.cp-dist-chip.active{background:#fff;color:#059669;border-color:#059669;box-shadow:none;background-image:none}
.cp-dist-clear-btn{display:inline-block;margin-top:12px;padding:7px 16px;border-radius:18px;border:1px solid #059669;color:#059669;font-size:13px;font-weight:600;cursor:pointer;background:#fff;transition:background .15s}
.cp-dist-clear-btn:hover{background:#ecfdf5}
/* ===== fix0906mtdist2 end ===== */

/* fix0906llcatbadge: LL 卡片品类角标 — 靛蓝色系与平台色(黄/蓝/黑)区分, 三端视觉语言统一 */
.cp-badge-llcat{background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe}

/* ===== fix0906catagg: 「全部」视图子品类聚合样式 begin ===== */
.cp-ll-agg-ov{margin:12px 0 4px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,rgba(99,102,241,.06),rgba(139,92,246,.05));border:1px solid rgba(99,102,241,.18)}
.cp-ll-agg-ovt{font-size:13px;font-weight:700;color:#334155;margin-bottom:8px}
.cp-ll-agg-chips{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px 0 4px;scrollbar-width:none}
.cp-ll-agg-chips::-webkit-scrollbar{display:none}
.cp-ll-agg-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px}
.cp-ll-agg-n{font-style:normal;font-size:10px;font-weight:700;background:rgba(99,102,241,.12);color:#4f46e5;border-radius:9px;padding:1px 7px;margin-left:2px;line-height:1.5}
.cp-ll-agg-blk{margin-top:14px}
.cp-ll-agg-bhd{display:flex;align-items:center;gap:8px;padding:10px 2px 6px;border-bottom:1.5px solid rgba(99,102,241,.25);margin-bottom:8px}
.cp-ll-agg-bt{flex:1;min-width:0;font-size:15px;font-weight:700;color:#1e293b;display:inline-flex;align-items:center;gap:6px}
.cp-ll-agg-go{flex:none;font-size:12px;font-weight:600;color:#4f46e5;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.3);border-radius:12px;padding:4px 12px;cursor:pointer;user-select:none;white-space:nowrap;transition:all .15s}
.cp-ll-agg-go:hover{background:rgba(99,102,241,.2)}
[data-theme=dark] .cp-ll-agg-ov{background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(139,92,246,.12));border-color:rgba(99,102,241,.3)}
[data-theme=dark] .cp-ll-agg-ovt{color:#e2e8f0}
[data-theme=dark] .cp-ll-agg-bt{color:#f1f5f9}
[data-theme=dark] .cp-ll-agg-n{background:rgba(99,102,241,.25);color:#c7d2fe}
[data-theme=dark] .cp-ll-agg-bhd{border-bottom-color:rgba(99,102,241,.4)}
@media(max-width:768px){.cp-ll-agg-bhd{padding:8px 0 4px}.cp-ll-agg-bt{font-size:14px}.cp-ll-agg-go{font-size:11px;padding:3px 10px}}
/* ===== fix0906catagg end ===== */

/* ===== fix0907htp0b: 酒店P0前端样式(专属大卡/日期期望横幅) begin ===== */
/*fix0907htp0b④: 日期期望管理横幅 — 酒店品类结果区顶部固定提示(联盟API无日期入参, 期望管理替代日期选择器)*/
.cp-ht-banner{margin:0 0 6px 0;padding:8px 12px;border-radius:10px;background:linear-gradient(135deg,#fffbe6,#fff7db);border:1px solid #ffe58f;color:#874d00;font-size:12px;line-height:1.5;font-weight:500}
/*fix0907htp0b①: 酒店专属大卡 — 形态参照美团酒店列表卡(大图+店名+标签行+距离+起价+划线+CTA)*/
.cp-ht-group{margin:0 0 6px 0}
.cp-ht-list{padding:0 2px}
.cp-ht-card{display:flex;gap:10px;background:var(--cp-card,#fff);border-radius:12px;padding:10px;margin:0 0 10px 0;box-shadow:var(--cp-shadow,0 1px 4px rgba(0,0,0,.06));cursor:pointer;transition:box-shadow .15s}
.cp-ht-card:hover{box-shadow:var(--cp-shadow-hover,0 4px 12px rgba(0,0,0,.1))}
.cp-ht-img{flex:0 0 108px;width:108px;height:108px;border-radius:10px;overflow:hidden;background:#f1f3f5;display:flex;align-items:center;justify-content:center;font-size:34px}
.cp-ht-img img{width:100%;height:100%;object-fit:cover}
.cp-ht-info{flex:1;min-width:0;display:flex;flex-direction:column}
.cp-ht-name{font-size:14px;font-weight:600;color:var(--cp-text,#1e293b);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cp-ht-meta{margin-top:4px;font-size:11px;color:var(--cp-secondary,#8a8f99);display:flex;flex-wrap:wrap;gap:2px 8px;align-items:center}
.cp-ht-meta i{font-style:normal;white-space:nowrap}
.cp-ht-km{color:#2563eb;font-weight:600}
.cp-ht-labels{margin-top:5px}
.cp-ht-bottom{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding-top:6px}
.cp-ht-price{display:flex;align-items:baseline;flex-wrap:wrap;min-width:0}
.cp-ht-now{font-size:19px;font-weight:700;color:var(--cp-price,#ff4d2e)}
.cp-ht-unit{font-size:11px;color:var(--cp-secondary,#8a8f99);margin-left:1px}
.cp-ht-orig{font-size:11px;color:#b0b4bb;text-decoration:line-through;margin-left:5px}
.cp-ht-cta{flex:0 0 auto;background:linear-gradient(135deg,#ff6a00,#ff9248);color:#fff;font-size:12px;font-weight:600;border-radius:16px;padding:8px 15px;cursor:pointer;white-space:nowrap}
.cp-ht-cta:active{transform:scale(.95)}
@media(max-width:768px){
  .cp-ht-img{flex:0 0 96px;width:96px;height:96px}
  .cp-ht-now{font-size:17px}
  .cp-ht-cta{padding:7px 13px}
}
/* ===== fix0907htp0b end ===== */


/* ===== fix0907htp1 begin: 酒店频道页头+城市选择器+品牌筛选chips+好评标签 ===== */
.cp-ht-channel{border:1px solid #fed7aa;border-radius:10px;padding:8px 10px;background:linear-gradient(135deg,#fff7ed,#fff)}
.cp-ht-ch-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 6px 0}
.cp-ht-city-sel{appearance:none;-webkit-appearance:none;border:1px solid #fdba74;background:#fff;border-radius:8px;padding:6px 22px 6px 10px;font-size:12px;font-weight:600;color:#c2410c;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23c2410c' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}
.cp-ht-city-sel:focus{outline:2px solid #fdba74;outline-offset:1px}
.cp-ht-ch-title{font-size:15px;font-weight:700;color:#c2410c;white-space:nowrap}
.cp-ht-ch-sub{font-size:11px;color:#8a8f99;white-space:nowrap}
.cp-ht-ch-search{display:flex;flex:1;min-width:170px;gap:6px;margin-left:auto}
.cp-ht-ch-search input{flex:1;min-width:0;border:1px solid #fdba74;border-radius:8px;padding:7px 10px;font-size:12px;background:#fff;color:var(--cp-text,#1e293b)}
.cp-ht-ch-search input:focus{outline:2px solid #fdba74;outline-offset:1px}
.cp-ht-ch-btn{border:none;border-radius:8px;padding:7px 16px;font-size:12px;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6a00,#ff9248);cursor:pointer;white-space:nowrap}
.cp-ht-ch-btn:active{transform:scale(.95)}
.cp-ht-good{color:#d4380d;background:#fff2f0;border:1px solid #ffccc7;border-radius:6px;padding:0 5px;font-weight:600;font-size:10px}
@media(max-width:768px){
  .cp-ht-ch-top{gap:6px}
  .cp-ht-ch-search{min-width:100%;margin-left:0;order:9}
  .cp-ht-ch-title{font-size:14px}
}
/* ===== fix0907htp1 end ===== */
