:root{--bg-color:#f8f9fa;--card-color:#ffffff;--text-primary:#333333;--text-secondary:#555555;--text-muted:#888888;--border-color:#f0f0f0;--shadow:0 4px 12px rgba(0,0,0,0.05);--hover-shadow:0 8px 24px rgba(0,0,0,0.08);--input-bg:#ffffff;--input-border:#e0e0e0;--accent:#40c4c4;--accent-light:#e6f6f6;--accent-glow:rgba(64,196,196,0.15)}*{margin:0;padding:0;box-sizing:border-box;font-family:system-ui,-apple-system,sans-serif;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg-color);color:var(--text-primary);line-height:1.7;overflow-x:hidden;transition:background-color 0.4s ease,color 0.4s ease}.container{max-width:1080px;margin:0 auto;padding:0 16px}a,.menu-item{text-decoration:none;cursor:pointer}img{max-width:100%;display:block}.toast-container{position:fixed;top:80px;left:50%;transform:translateX(-50%);z-index:99999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{padding:12px 24px;border-radius:50px;font-size:14px;font-weight:500;color:#fff;box-shadow:0 4px 16px rgba(0,0,0,0.15);opacity:0;transform:translateY(-20px) scale(0.9);transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);pointer-events:auto;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.toast.show{opacity:1;transform:translateY(0) scale(1)}.toast.success{background:rgba(64,196,196,0.9)}.toast.error{background:rgba(231,76,60,0.9)}.toast.info{background:rgba(52,152,219,0.9)}#main-site{position:relative;z-index:10}.top-nav{background:var(--card-color);padding:14px 16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,0.05);transition:all 0.3s ease}.top-nav>.nav-brand{grid-column:1;justify-self:start}.top-nav>.desktop-nav-links{grid-column:2;justify-self:center}.top-nav>div:last-child{grid-column:3;justify-self:end}.top-nav.scrolled{padding:10px 16px;box-shadow:0 4px 20px rgba(0,0,0,0.1);background:var(--card-color)}.nav-brand{font-size:22px;font-weight:bold;color:var(--text-primary);transition:font-size 0.3s ease;white-space:nowrap;flex-shrink:0}.top-nav.scrolled .nav-brand{font-size:20px}.nav-brand span{color:var(--accent)}.desktop-nav-links{display:flex;gap:8px;align-items:center}.nav-btn{font-size:15px;color:var(--text-secondary);padding:6px 16px;border-radius:50px;transition:all 0.3s ease;cursor:pointer;position:relative;overflow:hidden;z-index:1;white-space:nowrap}.nav-btn::after{content:'';position:absolute;left:50%;bottom:2px;width:0;height:2px;background:var(--accent);transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);transform:translateX(-50%)}.nav-btn:hover,.nav-btn.active{background-color:var(--accent);color:#fff}.nav-btn:active{transform:scale(0.96)}.nav-btn.active::after{width:60%}.menu-btn{display:none;align-items:center;gap:6px;font-size:16px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;flex-shrink:0}.group-buy-nav-btn{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#fe2c55,#ff5b7f);color:#fff;font-size:13px;font-weight:600;padding:7px 15px;border-radius:50px;cursor:pointer;white-space:nowrap;box-shadow:0 3px 10px rgba(254,44,85,0.3);transition:transform 0.2s,box-shadow 0.2s}.group-buy-nav-btn:hover{transform:translateY(-1px);box-shadow:0 5px 15px rgba(254,44,85,0.4)}.group-buy-nav-btn:active{transform:scale(0.95)}@media(max-width:768px){.group-buy-nav-btn{padding:6px 11px;font-size:12px;gap:3px}}.board-nav-btn{display:inline-flex;align-items:center;gap:4px;background:var(--accent-light);color:var(--accent);font-size:13px;font-weight:600;padding:7px 15px;border-radius:50px;cursor:pointer;white-space:nowrap;transition:background 0.2s,color 0.2s}.board-nav-btn:hover{background:var(--accent);color:#fff}.board-nav-btn:active{transform:scale(0.95)}@media(max-width:768px){.board-nav-btn{display:none}}.board-wrap{max-width:720px;margin:0 auto;padding:24px 16px 40px}.board-header{text-align:center;margin-bottom:18px}.board-header h2{font-size:24px;color:var(--text-primary)}.board-header p{font-size:14px;color:var(--text-muted);margin-top:6px}.board-list{background:var(--bg-color);border:1px solid var(--border-color);border-radius:16px;padding:16px;max-height:55vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.board-empty{text-align:center;color:var(--text-muted);font-size:14px;padding:30px 0}.board-item{display:flex;gap:10px;align-items:flex-start}.board-avatar{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.board-body{flex:1;min-width:0}.board-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.board-name{font-size:13px;font-weight:600;color:var(--text-primary)}.board-time{font-size:11px;color:var(--text-muted)}.board-bubble{display:inline-block;background:var(--card-color);border:1px solid var(--border-color);border-radius:4px 14px 14px 14px;padding:9px 13px;font-size:14.5px;color:var(--text-primary);line-height:1.6;word-break:break-word;box-shadow:0 1px 3px rgba(0,0,0,0.03)}.board-form{margin-top:16px;display:flex;flex-direction:column;gap:10px}.board-form input,.board-form textarea{border:1px solid var(--input-border);border-radius:12px;padding:11px 14px;font-size:14px;background:var(--input-bg);color:var(--text-primary);resize:none;font-family:inherit;outline:none;transition:border-color 0.2s}.board-form input:focus,.board-form textarea:focus{border-color:var(--accent)}.board-form button{align-self:flex-end;background:var(--accent);color:#fff;border:none;padding:11px 34px;border-radius:50px;font-size:15px;font-weight:600;cursor:pointer;transition:background 0.2s,transform 0.2s}.board-form button:hover{background:#34b0b0}.board-form button:active{transform:scale(0.96)}.board-form button:disabled{opacity:0.6;cursor:default}.board-tip{text-align:center;font-size:12px;color:var(--text-muted);margin-top:12px}@media(max-width:768px){.board-list{max-height:50vh}.board-header h2{font-size:20px}}.side-menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.5);z-index:2000;opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease}.side-menu-overlay.open{opacity:1;visibility:visible;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.side-menu{position:fixed;top:0;left:-280px;width:270px;height:100vh;background:var(--card-color);z-index:2001;padding:20px;transition:left 0.3s cubic-bezier(0.25,0.8,0.25,1);box-shadow:4px 0 15px rgba(0,0,0,0.1);display:flex;flex-direction:column}.side-menu.open{left:0}.side-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--border-color);margin-bottom:20px}.close-menu{font-size:28px;color:var(--text-muted);cursor:pointer;line-height:1;transition:transform 0.2s}.close-menu:active{transform:scale(0.8)}.side-item{display:block;padding:14px 16px;border-radius:10px;font-size:16px;color:var(--text-primary);margin-bottom:8px;transition:0.2s;position:relative;overflow:hidden}.side-item:hover,.side-item.active{background:var(--accent-light);color:var(--accent);font-weight:500}.side-item:active{transform:scale(0.97)}.page{display:none}.page.active-page{display:block;animation:pageIn 0.5s cubic-bezier(0.34,1.56,0.64,1) forwards}.page-exit{display:block;animation:pageOut 0.3s cubic-bezier(0.25,0.8,0.25,1) forwards}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}@keyframes pageOut{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-12px)}}.top-time-bar{background:var(--accent-light);border-bottom:1px solid #d0ecec;text-align:center;padding:8px 0;font-size:14px;color:#555;overflow:hidden;position:relative}.banner-track{display:flex;transition:transform 0.5s ease}.banner-item{min-width:100%;padding:0 16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.banner-item .status-open{color:#27ae60;font-weight:600}.banner-item .status-closed{color:#e74c3c;font-weight:600}.section-title{font-size:20px;font-weight:600;margin-bottom:16px;color:var(--text-primary);transition:color 0.4s ease}.card{background:var(--card-color);border-radius:16px;padding:30px;box-shadow:var(--shadow);transition:transform 0.3s ease,box-shadow 0.3s ease,background-color 0.4s ease}.card-wrap{padding:30px 16px}.reveal{opacity:0;transform:translateY(30px)}.reveal-left{opacity:0;transform:translateX(-30px)}.reveal-right{opacity:0;transform:translateX(30px)}html.reveal-fallback .reveal,html.reveal-fallback .reveal-left,html.reveal-fallback .reveal-right,html.reveal-fallback .timeline-row{opacity:1 !important;transform:none !important;transition:none !important}@media (prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-right,.timeline-row{opacity:1 !important;transform:none !important}}.home-hero-title{text-align:center;padding:52px 20px 16px}.home-hero-title h1{font-size:44px;font-weight:bold;color:var(--text-primary);line-height:1.3}.shop-section{padding:20px 16px}.shop-card{margin-bottom:36px;background:var(--card-color);border-radius:20px;box-shadow:var(--shadow);padding:20px;transition:transform 0.3s ease,box-shadow 0.3s ease,background-color 0.4s ease}.shop-img{width:100%;border-radius:16px;margin-bottom:16px}.btn-nav{display:inline-block;padding:10px 22px;border:2px solid #e67e22;color:#e67e22;border-radius:50px;background:transparent;cursor:pointer;font-size:14px;text-decoration:none;transition:0.2s;text-align:center}.btn-nav:hover{background:#e67e22;color:#fff}.btn-nav:active{transform:scale(0.96)}.showcase-section{padding:0 16px 30px}.compare-slider-wrap{position:relative;width:100%;max-width:600px;margin:20px auto 0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:1/1;cursor:ew-resize;user-select:none;-webkit-user-select:none}.compare-slider-wrap img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.compare-slider-img-after{z-index:1}.compare-slider-img-before{z-index:2;clip-path:inset(0 50% 0 0)}.compare-slider-handle{position:absolute;top:0;bottom:0;width:4px;background:#fff;z-index:3;left:50%;transform:translateX(-50%);box-shadow:0 0 10px rgba(0,0,0,0.3)}.compare-slider-handle::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;background:#fff;border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,0.2)}.compare-slider-handle::after{content:'⟷';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;color:var(--accent);font-weight:bold;z-index:4}.compare-label-left,.compare-label-right{position:absolute;bottom:12px;padding:4px 14px;border-radius:20px;font-size:13px;font-weight:600;z-index:4;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.compare-label-left{left:12px;background:rgba(231,76,60,0.85);color:#fff}.compare-label-right{right:12px;background:rgba(64,196,196,0.85);color:#fff}.equipment-section{padding:20px 16px 40px}.equipment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:12px}.equipment-item{background:var(--card-color);border-radius:12px;padding:12px;box-shadow:var(--shadow);text-align:center;transition:transform 0.3s ease}.equipment-item:hover{transform:translateY(-4px);box-shadow:var(--hover-shadow)}.equipment-item img{width:100%;border-radius:8px;aspect-ratio:1/1;object-fit:cover;background:#f0f0f0}.equipment-item-label{margin-top:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.sub-section-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-top:24px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.intro-section{padding:30px 16px}.ceo-box{display:grid;grid-template-columns:1fr 1.6fr;gap:26px;align-items:center;margin-bottom:30px}.ceo-img{width:100%;border-radius:16px;aspect-ratio:1/1;object-fit:cover}.business-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:16px}.business-item{text-align:center;padding:10px;transition:transform 0.3s ease}.business-item:hover{transform:translateY(-4px)}.business-icon{font-size:32px;margin-bottom:8px}.business-title{font-weight:600;font-size:17px;color:var(--text-primary);margin-bottom:4px}.business-desc{font-size:14px;color:var(--text-secondary);line-height:1.6}.company-section{padding:30px 16px}.company-text{color:var(--text-secondary);font-size:16px;margin-bottom:20px;transition:color 0.4s ease}.timeline-wrap{position:relative;padding-left:30px}.timeline-wrap::before{content:'';position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--border-color);transition:background-color 0.4s ease}.timeline-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;position:relative;opacity:0;transform:translateX(-20px)}.timeline-row::before{content:'';position:absolute;left:-26px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--card-color);box-shadow:0 0 0 2px var(--accent);z-index:1;transition:border-color 0.4s ease}.timeline-row.timeline-visible{opacity:1;transform:translateX(0);transition:all 0.5s cubic-bezier(0.34,1.56,0.64,1)}.timeline-event{color:var(--text-primary);font-weight:500;font-size:16px;transition:color 0.4s ease}.timeline-date{color:var(--accent);font-weight:bold;font-size:16px}.vision-box{margin-top:20px;padding:20px;background:var(--bg-color);border-radius:12px;text-align:center;font-size:16px;color:var(--text-secondary);border-left:4px solid var(--accent);transition:background-color 0.4s ease,color 0.4s ease}.bottom-bar{background-color:var(--accent);color:#ffffff;padding:40px 20px;text-align:center}.bottom-bar h3{font-size:22px;margin-bottom:20px}.service-list{font-size:16px;line-height:2;margin-bottom:22px}.phone-text{font-size:20px;font-weight:bold}.qr-bottom{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.qr-bottom img{width:80px;height:80px;border-radius:8px;background:#fff;padding:4px}.qr-bottom span{font-size:16px;font-weight:500}.copyright{padding:20px 16px;text-align:center;font-size:13px;color:var(--text-muted);transition:color 0.4s ease}.price-section .search-area{position:relative;margin-bottom:20px}.price-section .search-input{width:100%;padding:14px 18px;border:2px solid var(--input-border);border-radius:50px;font-size:16px;outline:none;transition:0.2s;background:var(--input-bg);color:var(--text-primary)}.price-section .search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(64,196,196,0.1)}.price-section .search-dropdown{position:absolute;top:110%;left:0;width:100%;background:var(--card-color);border-radius:16px;box-shadow:var(--shadow);z-index:10;display:none;overflow:hidden;padding:8px 0;transform-origin:top center;animation:dropDown 0.25s cubic-bezier(0.25,0.8,0.25,1) forwards}.price-section .search-dropdown.active{display:block}@keyframes dropDown{0%{opacity:0;transform:scaleY(0.85)}100%{opacity:1;transform:scaleY(1)}}.price-section .search-dropdown-item{padding:12px 18px;cursor:pointer;font-size:15px;color:var(--text-primary);transition:0.2s;display:block}.price-section .search-dropdown-item:hover,.price-section .search-dropdown-item.active{background:#f0f7f7;color:var(--accent)}.price-section{padding:20px 16px 40px}.price-card{background:var(--card-color);border-radius:16px;padding:20px 24px;box-shadow:var(--shadow);margin-bottom:24px;transition:transform 0.3s ease,box-shadow 0.3s ease,background-color 0.4s ease}.price-card .card-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--accent);display:inline-block;transition:color 0.4s ease}.price-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color);transition:background-color 0.3s ease,border-color 0.4s ease}.price-row:last-child{border-bottom:none}.price-row .item-name{color:var(--text-secondary);font-size:15px;transition:color 0.4s ease}.price-row .item-price{color:var(--text-primary);font-weight:600;font-size:15px;transition:color 0.4s ease}.price-row .item-price span{color:var(--accent)}.douyin-group-section{margin-bottom:28px}.douyin-group-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:6px;display:flex;align-items:center;gap:8px}.douyin-group-subtitle{font-size:13px;color:var(--text-muted);margin-bottom:16px}.douyin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.douyin-card{background:var(--card-color);border-radius:14px;padding:16px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform 0.2s,box-shadow 0.2s;text-decoration:none;border:1px solid var(--border-color)}.douyin-card:hover{transform:translateY(-3px);box-shadow:var(--hover-shadow)}.douyin-card:active{transform:scale(0.97)}.douyin-card img{width:100%;height:100px;object-fit:cover;border-radius:10px;margin-bottom:10px;background:#f0f0f0}.douyin-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:10px;line-height:1.4;flex:1;display:flex;align-items:center}.douyin-btn{display:inline-block;padding:6px 18px;background:#000;color:#fff;border-radius:50px;font-size:12px;font-weight:500;transition:background 0.2s}.douyin-card:hover .douyin-btn{background:#fe2c55}@media(max-width:768px){.douyin-grid{grid-template-columns:repeat(2,1fr);gap:10px}.douyin-name{font-size:13px}}.product-section{padding:20px 16px 40px}.product-section .search-area{position:relative;margin-bottom:20px}.product-section .search-input{width:100%;padding:14px 18px;border:2px solid var(--input-border);border-radius:50px;font-size:16px;outline:none;transition:0.2s;background:var(--input-bg);color:var(--text-primary)}.product-section .search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(64,196,196,0.1)}.product-section .search-dropdown{position:absolute;top:110%;left:0;width:100%;background:var(--card-color);border-radius:16px;box-shadow:var(--shadow);z-index:10;display:none;overflow:hidden;padding:8px 0;transform-origin:top center;animation:dropDown 0.25s cubic-bezier(0.25,0.8,0.25,1) forwards}.product-section .search-dropdown.active{display:block}.product-section .search-dropdown-item{padding:12px 18px;cursor:pointer;font-size:15px;color:var(--text-primary);transition:0.2s;display:block}.product-section .search-dropdown-item:hover,.product-section .search-dropdown-item.active{background:#f0f7f7;color:var(--accent)}.search-result-container{display:none;margin-bottom:30px;padding-bottom:30px;border-bottom:2px solid var(--border-color);transition:border-color 0.4s ease}.search-result-container.active{display:block}.search-result-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--accent);display:inline-block;transition:color 0.4s ease}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px}.product-card{background:var(--card-color);border-radius:16px;padding:16px;box-shadow:var(--shadow);text-align:center;transition:transform 0.3s,box-shadow 0.3s,background-color 0.4s ease}.product-card img{width:100%;height:200px;object-fit:contain;border-radius:12px;background:var(--bg-color);margin-bottom:12px;cursor:pointer;transition:background-color 0.4s ease}.product-name{font-size:17px;font-weight:600;color:var(--text-primary);margin-bottom:4px;transition:color 0.4s ease}.product-name .highlight{color:var(--accent);font-weight:400;font-size:15px}.product-desc{font-size:13px;color:var(--text-muted);line-height:1.6;transition:color 0.4s ease}.product-card.search-result-full{grid-column:1 / -1}.product-card.search-result-full img{height:320px}#backToTopBtn{display:none;position:fixed;bottom:30px;right:20px;z-index:9999;width:46px;height:46px;background-color:var(--accent);color:white;border:none;border-radius:50%;font-size:24px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,0.2);transition:all 0.3s ease;text-decoration:none;align-items:center;justify-content:center}#backToTopBtn:hover{background-color:#35a8a8;transform:scale(1.05)}#backToTopBtn:active{transform:scale(0.9)}@media(min-width:769px){.menu-btn{display:none !important}.desktop-nav-links{display:flex}.side-menu{display:none}.side-menu-overlay{display:none}.card:hover,.shop-card:hover,.compare-item:hover,.business-item:hover,.price-card:hover,.product-card:hover{transform:translateY(-4px);box-shadow:var(--hover-shadow)}.product-card img{height:240px}.product-card.search-result-full img{height:400px}.home-hero-title h1{font-size:54px}}@media(max-width:768px){.desktop-nav-links{display:none !important}.menu-btn{display:flex}.ceo-box{grid-template-columns:1fr}.business-grid{grid-template-columns:1fr 1fr;gap:16px}.compare-grid{grid-template-columns:1fr 1fr;gap:12px}.price-card{padding:16px}.price-row .item-name,.price-row .item-price{font-size:14px}.timeline-row{padding:10px 0}.timeline-event{font-size:14px}.timeline-date{font-size:14px}.product-grid{gap:12px}.product-card{padding:12px}.product-card.img{height:150px}.product-card.search-result-full img{height:200px}.product-name{font-size:15px}.product-desc{font-size:12px}.home-hero-title{padding:36px 16px 12px}.home-hero-title h1{font-size:28px}.compare-slider-wrap{max-width:100%}.top-nav{padding:12px 16px}.top-nav.scrolled{padding:8px 16px}.nav-brand{font-size:20px}.top-nav.scrolled .nav-brand{font-size:18px}.banner-item{font-size:13px}}#backToTopBtn.show{display:flex}.nav-btn,.side-item{-webkit-user-select:none;user-select:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.reveal,.reveal-left,.reveal-right,.timeline-row{transition:opacity .6s cubic-bezier(.25,.8,.25,1),transform .6s cubic-bezier(.25,.8,.25,1)}html.js-reveal .reveal{opacity:0;transform:translateY(24px)}html.js-reveal .reveal-left{opacity:0;transform:translateX(-24px)}html.js-reveal .reveal-right{opacity:0;transform:translateX(24px)}html.js-reveal .timeline-row{opacity:0;transform:translateX(-18px)}html.js-reveal .reveal.is-visible,html.js-reveal .reveal-left.is-visible,html.js-reveal .reveal-right.is-visible,html.js-reveal .timeline-row.is-visible{opacity:1 !important;transform:none !important}html.reveal-fallback .reveal,html.reveal-fallback .reveal-left,html.reveal-fallback .reveal-right,html.reveal-fallback .timeline-row{opacity:1 !important;transform:none !important}@media (prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-right,.timeline-row{opacity:1 !important;transform:none !important;transition:none !important}}

/* ==================== 价格估算器 ==================== */
.estimator { padding: 22px; margin-bottom: 22px; }
.est-title { font-size: 18px; font-weight: 700; color: var(--text-primary); margin-bottom: 4px; }
.est-sub { font-size: 13px; color: var(--text-muted); margin-bottom: 16px; line-height: 1.65; }
.est-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.est-tab { padding: 8px 14px; border-radius: 50px; border: none; background: var(--accent-light); color: var(--accent); font-size: 14px; font-weight: 600; font-family: inherit; cursor: pointer; transition: background .18s, color .18s, box-shadow .18s; }
.est-tab.active { background: var(--accent); color: #fff; box-shadow: 0 4px 12px rgba(64,196,196,.28); }

.est-picker { background: var(--bg-color); border-radius: 16px; padding: 16px; margin-bottom: 18px; }
.est-field { margin-bottom: 15px; }
.est-field:last-child { margin-bottom: 0; }
.est-label { display: block; font-size: 12.5px; color: var(--text-muted); margin-bottom: 7px; letter-spacing: .3px; }

.est-select-btn { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 12px 16px; font-size: 15px; font-family: inherit; color: var(--text-primary); text-align: left; background: #fff; border: 1.5px solid var(--input-border); border-radius: 12px; cursor: pointer; transition: border-color .18s, box-shadow .18s; }
.est-select-btn:active { border-color: var(--accent); }
.est-select-btn:focus-visible { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-glow); outline: none; }
.est-caret { flex: 0 0 auto; width: 8px; height: 8px; border-right: 2px solid var(--text-muted); border-bottom: 2px solid var(--text-muted); transform: rotate(45deg) translate(-2px,-2px); }

/* 项目选择弹层（替代系统原生下拉，带关闭按钮） */
.est-mask { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 99998; display: flex; align-items: flex-end; justify-content: center; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .22s ease, visibility .22s ease; }
.est-mask.show { opacity: 1; visibility: visible; pointer-events: auto; }
.est-sheet { display: flex; flex-direction: column; width: 100%; max-width: 520px; max-height: 76vh; background: #fff; border-radius: 20px 20px 0 0; transform: translateY(100%); transition: transform .3s cubic-bezier(.32,.72,0,1); }
.est-mask.show .est-sheet { transform: translateY(0); }
.est-sheet-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 16px 10px 18px; border-bottom: 1px solid var(--border-color); }
.est-sheet-title { font-size: 16px; font-weight: 700; color: var(--text-primary); }
.est-sheet-close { flex: 0 0 auto; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--bg-color); color: var(--text-secondary); font-size: 21px; line-height: 1; font-family: inherit; cursor: pointer; }
.est-sheet-close:active { background: var(--accent-light); color: var(--accent); }
.est-sheet-list { overflow-y: auto; padding: 6px 10px calc(16px + env(safe-area-inset-bottom)); -webkit-overflow-scrolling: touch; }
.est-sheet-item { display: block; width: 100%; padding: 14px 12px; border: 0; border-radius: 12px; background: transparent; text-align: left; font-size: 15px; font-family: inherit; color: var(--text-primary); cursor: pointer; }
.est-sheet-item:active { background: var(--bg-color); }
.est-sheet-item.active { background: var(--accent-light); color: var(--accent); font-weight: 600; }
@media (min-width: 769px) {
    .est-mask { align-items: center; }
    .est-sheet { border-radius: 18px; max-height: 70vh; }
}

.est-specs { display: flex; flex-wrap: wrap; gap: 8px; }
.est-spec { padding: 8px 14px; border-radius: 50px; border: 1.5px solid var(--input-border); background: #fff; color: var(--text-secondary); font-size: 13.5px; font-family: inherit; cursor: pointer; transition: background .18s, border-color .18s, color .18s; }
.est-spec.active { border-color: var(--accent); background: var(--accent-light); color: var(--accent); font-weight: 600; }

.est-add-row { display: flex; align-items: center; gap: 10px; }
.est-qty { display: inline-flex; align-items: center; flex: 0 0 auto; border: 1.5px solid var(--input-border); border-radius: 50px; background: #fff; overflow: hidden; }
.est-qty button { width: 40px; height: 40px; border: 0; background: transparent; font-size: 19px; line-height: 1; color: var(--text-secondary); font-family: inherit; cursor: pointer; }
.est-qty button:active { background: var(--accent-light); }
.est-qty span { min-width: 34px; text-align: center; font-size: 16px; font-weight: 600; color: var(--text-primary); }
.est-add { flex: 1; height: 42px; border: 0; border-radius: 12px; background: var(--accent); color: #fff; font-size: 15px; font-weight: 600; font-family: inherit; cursor: pointer; box-shadow: 0 6px 16px rgba(64,196,196,.26); transition: transform .15s; }
.est-add:active { transform: scale(.985); }

.est-cart { border-top: 1px dashed var(--border-color); padding-top: 14px; }
.est-cart-head { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--text-muted); margin-bottom: 6px; }
.est-cart-empty { padding: 22px 0; text-align: center; font-size: 13.5px; color: var(--text-muted); }
.est-cart-item { display: flex; align-items: center; gap: 8px; padding: 11px 0; border-bottom: 1px solid var(--border-color); }
.est-cart-item:last-child { border-bottom: 0; }
.est-ci-main { flex: 1; min-width: 0; }
.est-ci-name { font-size: 14.5px; font-weight: 500; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.est-ci-spec { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.est-ci-qty { display: inline-flex; align-items: center; flex: 0 0 auto; border: 1px solid var(--input-border); border-radius: 50px; background: #fff; }
.est-ci-qty button { width: 26px; height: 26px; border: 0; background: transparent; color: var(--text-secondary); font-size: 15px; line-height: 1; font-family: inherit; cursor: pointer; }
.est-ci-qty span { min-width: 20px; text-align: center; font-size: 13px; font-weight: 600; }
.est-ci-price { flex: 0 0 auto; min-width: 56px; text-align: right; font-size: 14px; font-weight: 600; color: var(--accent); }
.est-ci-del { flex: 0 0 auto; width: 24px; height: 24px; border: 0; background: transparent; color: #c6c6c6; font-size: 17px; line-height: 1; font-family: inherit; cursor: pointer; }
.est-cart-total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--border-color); font-size: 14px; color: var(--text-secondary); }
.est-cart-total b { font-size: 26px; font-weight: 700; color: var(--accent); }
.est-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.est-actions a, .est-actions button { flex: 1; min-width: 96px; text-align: center; padding: 11px 10px; border-radius: 50px; font-size: 13.5px; font-weight: 600; font-family: inherit; border: 0; cursor: pointer; }
.est-call { background: var(--accent); color: #fff; }
.est-wx { background: var(--accent-light); color: var(--accent); }
.est-copy { background: #fff; color: var(--text-secondary); border: 1.5px solid var(--input-border) !important; }
.est-note { font-size: 12px; color: var(--text-muted); margin-top: 12px; text-align: center; }

/* ==================== 手机底部操作条 ==================== */
.mobile-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; display: none; align-items: center; gap: 8px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); border-top: 1px solid var(--border-color); box-shadow: 0 -2px 12px rgba(0,0,0,.06); }
.mobile-bar a, .mobile-bar span { flex: 1; display: flex; align-items: center; justify-content: center; gap: 5px; height: 44px; border-radius: 12px; font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; }
.mb-call { background: var(--accent); color: #fff; }
.mb-wx { background: var(--accent-light); color: var(--accent); }
.mb-map { background: #f1f3f5; color: #444; }
@media (max-width: 768px) {
    .top-nav { display: flex; justify-content: space-between; }
    .mobile-bar { display: flex; }
    body { padding-bottom: 72px; }
    #backToTopBtn { bottom: 84px; }
}

/* ==================== 二维码弹窗 ==================== */
.qr-mask { position: fixed; inset: 0; background: rgba(0,0,0,.65); z-index: 99999; display: flex; align-items: flex-start; justify-content: center; padding: 24px; overflow-y: auto; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .25s ease, visibility .25s ease; }
.qr-mask.show { opacity: 1; visibility: visible; pointer-events: auto; }
.qr-box { background: #fff; border-radius: 16px; padding: 18px; text-align: center; width: 100%; max-width: 300px; margin: auto; transform: scale(.86) translateY(14px); opacity: 0; transition: transform .32s cubic-bezier(.34,1.45,.64,1), opacity .22s ease; }
.qr-mask.show .qr-box { transform: scale(1) translateY(0); opacity: 1; }
.qr-box img { width: 100%; border-radius: 10px; }
.qr-box p { font-size: 13px; color: #666; margin-top: 10px; }

/* ==================== 常见问题 ==================== */
.faq-wrap { max-width: 820px; margin: 0 auto; padding: 28px 16px 40px; }
.faq-head { text-align: center; margin-bottom: 24px; }
.faq-head h1 { font-size: 26px; color: var(--text-primary); }
.faq-head p { font-size: 14px; color: var(--text-muted); margin-top: 8px; }
.faq-item { background: var(--card-color); border-radius: 14px; padding: 16px 18px; margin-bottom: 12px; box-shadow: var(--shadow); }
.faq-item summary { font-size: 16px; font-weight: 600; color: var(--text-primary); cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "＋"; color: var(--accent); font-weight: 700; flex-shrink: 0; }
.faq-item[open] summary::after { content: "－"; }
.faq-item .faq-a { font-size: 14.5px; color: var(--text-secondary); line-height: 1.85; margin-top: 10px; }
.faq-more { text-align: center; margin-top: 26px; }
.faq-more a { display: inline-block; padding: 12px 24px; border-radius: 50px; background: var(--accent); color: #fff; font-weight: 600; }

/* ==================== 侧边菜单打开时：底部操作条滑出收起 ==================== */
.mobile-bar { transition: transform .32s cubic-bezier(.4,0,.2,1), opacity .24s ease; }
body.menu-open .mobile-bar { transform: translateY(110%); opacity: 0; pointer-events: none; }

/* ==================== 门店选择弹窗 ==================== */
.store-box { max-width: 340px; }
.store-title { font-size: 16px; font-weight: 700; color: var(--text-primary); margin-bottom: 6px; }
.store-status { display: flex; align-items: center; justify-content: center; gap: 7px; font-size: 12.5px; color: var(--text-muted); margin-bottom: 14px; min-height: 18px; line-height: 1.5; }
.store-status.is-warn { color: #c0562a; }
.store-spin { width: 14px; height: 14px; flex-shrink: 0; border: 2px solid rgba(64,196,196,.25); border-top-color: var(--accent); border-radius: 50%; animation: storeSpin .8s linear infinite; }
@keyframes storeSpin { to { transform: rotate(360deg); } }
.store-retry { display: block; width: 100%; margin-top: 2px; padding: 11px; border-radius: 10px; border: 1px solid var(--accent); background: #fff; color: var(--accent); font-size: 13.5px; font-weight: 600; cursor: pointer; }
.store-retry:active { transform: scale(.98); }
.store-help { margin-top: 10px; padding: 10px 12px; border-radius: 10px; background: var(--bg-color); font-size: 12px; line-height: 1.75; color: var(--text-muted); text-align: left; }
.store-help b { color: var(--text-secondary); }
.store-btn { position: relative; display: block; text-align: left; padding: 13px 16px; border-radius: 12px; background: var(--bg-color); border: 1px solid var(--border-color); margin-bottom: 10px; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.store-btn b { display: block; font-size: 15px; color: var(--accent); margin-bottom: 3px; }
.store-btn span { font-size: 12.5px; color: var(--text-muted); }
.store-btn:active { transform: scale(0.98); }
.store-btn.near { border-color: var(--accent); background: var(--accent-light); box-shadow: 0 0 0 2px rgba(64,196,196,.18); }
.store-dist { position: absolute; right: 14px; top: 13px; font-style: normal; font-size: 12px; color: var(--text-muted); }
.store-btn.near .store-dist { color: var(--accent); font-weight: 600; }
.store-badge { position: absolute; right: 12px; bottom: 12px; font-style: normal; font-size: 11px; font-weight: 600; color: #fff; background: var(--accent); padding: 2px 8px; border-radius: 50px; }
.store-tip { font-size: 12px; color: var(--text-muted); margin-top: 6px; }

/* ==================== 中等宽度下顶部导航防挤压 ==================== */
@media (min-width: 769px) and (max-width: 1120px) {
    .top-nav { padding: 12px 12px; }
    .desktop-nav-links { gap: 3px; }
    .nav-btn { font-size: 12.5px; padding: 5px 8px; }
    .group-buy-nav-btn { padding: 6px 10px; font-size: 12px; }
}