// ============================================ // Product Detail Page - Common Styles // 适用于所有产品详情页面的通用样式 // ============================================ // Import variables @import './variables.less'; .product-detail-page { min-height: 100vh; background: @gradient-hero; } // ============================================ // Hero Section - 产品展示区 // ============================================ .product-hero-section { padding: 100px 20px 80px; text-align: center; background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('../imgs/banner/product.jpg') center/cover no-repeat; color: @text-primary; position: relative; overflow: hidden; &::before { content: ''; position: absolute; top: 0; right: 0; width: 400px; height: 400px; background: radial-gradient(circle, rgba(232, 93, 4, 0.15) 0%, transparent 70%); animation: float 10s ease-in-out infinite; } .container { max-width: 1000px; margin: 0 auto; position: relative; z-index: 1; } .product-breadcrumb { margin-bottom: 24px; font-size: 0.9rem; display: flex; align-items: center; justify-content: center; gap: 8px; .breadcrumb-link { color: @text-secondary; text-decoration: none; transition: color @transition-fast; &:hover { color: @primary-active; } } .breadcrumb-separator { color: @text-tertiary; } .breadcrumb-current { color: @primary-active; font-weight: 500; } } .product-hero-title { font-size: 3.5rem; font-weight: 700; margin-bottom: 16px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); @media (max-width: 768px) { font-size: 2.2rem; } } .product-hero-subtitle { font-size: 1.8rem; font-weight: 300; margin-bottom: 20px; color: @primary-light; @media (max-width: 768px) { font-size: 1.4rem; } } .product-hero-desc { font-size: 1.1rem; color: @text-secondary; max-width: 1000px; margin: 0 auto 32px; line-height: 1.6; } .product-hero-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; } .btn-large { padding: 14px 40px; font-size: 1.1rem; border-radius: 8px; font-weight: 600; transition: all @transition-smooth; cursor: pointer; border: none; &.btn-primary { background: @primary-gradient; color: @text-primary; &:hover { transform: translateY(-2px); box-shadow: @shadow-glow; } } &.btn-outline { background: transparent; border: 2px solid @primary-active; color: @primary-active; &:hover { background: rgba(232, 93, 4, 0.1); border-color: @primary-hover; color: @primary-hover; } } } } // ============================================ // Features Section - 核心功能区 // ============================================ .product-features-section { padding: 80px 20px; background: @bg-secondary; .container { max-width: 1200px; margin: 0 auto; } .section-title { font-size: 2.5rem; font-weight: 700; text-align: center; margin-bottom: 16px; color: @text-primary; } .section-subtitle { font-size: 1.2rem; text-align: center; color: @text-secondary; margin-bottom: 60px; } .features-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; @media (max-width: 768px) { grid-template-columns: 1fr; gap: 24px; } } .feature-item { background: @card-bg; border: 1px solid @card-border; border-radius: 12px; padding: 32px; transition: all @transition-smooth; &:hover { transform: translateY(-4px); box-shadow: @card-hover-shadow; border-color: rgba(232, 93, 4, 0.3); } .feature-icon { width: 56px; height: 56px; background: @primary-gradient; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; svg { width: 32px; height: 32px; color: @text-primary; } } .feature-title { font-size: 1.3rem; font-weight: 600; color: @text-primary; margin-bottom: 12px; } .feature-desc { color: @text-secondary; line-height: 1.6; } } } // ============================================ // Specifications Section - 技术规格 // ============================================ .product-specs-section { padding: 80px 20px; background: @gradient-hero; .container { max-width: 900px; margin: 0 auto; } .section-title { font-size: 2.5rem; font-weight: 700; text-align: center; margin-bottom: 50px; color: @text-primary; } .specs-table { background: @card-bg; border: 1px solid @card-border; border-radius: 12px; overflow: hidden; } .spec-row { display: flex; padding: 20px 24px; border-bottom: 1px solid @border-subtle; &:last-child { border-bottom: none; } &:nth-child(even) { background: rgba(255, 255, 255, 0.02); } @media (max-width: 768px) { flex-direction: column; gap: 8px; } } .spec-label { flex: 0 0 200px; font-weight: 600; color: @text-primary; @media (max-width: 768px) { flex: 1; } } .spec-value { flex: 1; color: @text-secondary; line-height: 1.6; @media (max-width: 768px) { flex: 1; } } } // ============================================ // Use Cases Section - 应用场景 // ============================================ .product-usecases-section { padding: 80px 20px; background: @bg-secondary; .container { max-width: 1200px; margin: 0 auto; } .section-title { font-size: 2.5rem; font-weight: 700; text-align: center; margin-bottom: 50px; color: @text-primary; } .usecases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; @media (max-width: 1024px) { grid-template-columns: repeat(2, 1fr); } @media (max-width: 768px) { grid-template-columns: 1fr; } } .usecase-card { background: @gradient-card; border: 1px solid @card-border; border-radius: 12px; padding: 32px; text-align: center; transition: all @transition-smooth; &:hover { transform: translateY(-4px); box-shadow: @card-hover-shadow; border-color: rgba(232, 93, 4, 0.3); } .usecase-title { font-size: 1.3rem; font-weight: 600; color: @primary-active; margin-bottom: 16px; } .usecase-desc { color: @text-secondary; line-height: 1.6; } } } // ============================================ // CTA Section - 行动号召 // ============================================ .product-cta-section { padding: 100px 20px; background: @primary-gradient; text-align: center; color: @text-primary; .container { max-width: 800px; margin: 0 auto; } .cta-title { font-size: 2.2rem; font-weight: 700; margin-bottom: 16px; @media (max-width: 768px) { font-size: 1.8rem; } } .cta-desc { font-size: 1.1rem; margin-bottom: 32px; opacity: 0.95; } } // ============================================ // Animation // ============================================ @keyframes float { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-20px, 20px); } }