/* 蜂鸟定制开发平台 - 主样式文件 */

/* 变量定义 */
:root {
  --primary: #1a365d;
  --secondary: #2d3748;
  --accent: #3182ce;
  --text-primary: #2d3748;
  --text-secondary: #718096;
  --background: #f7fafc;
  --white: #ffffff;
  --gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* 基础样式重置 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
    font-family: 'PingFang SC', 'Microsoft YaHei', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
    color: var(--text-primary);
    background: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 50%, #f5576c 75%, #4facfe 100%);
    background-size: 400% 400%;
    animation: gradientShift 15s ease infinite;
    min-height: 100vh;
}

/* Products页面专用白色背景 */
body.products-page {
    background: #ffffff !important;
    background-image: none !important;
    animation: none !important;
}

@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* 通用类 */
.gradient-bg {
  background: var(--gradient);
}

.shadow {
  box-shadow: var(--shadow);
}

.shadow-lg {
  box-shadow: var(--shadow-lg);
}

.text-gradient {
  background: var(--gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* 按钮样式 */
.btn-primary-custom {
  background: var(--gradient);
  border: none;
  color: white;
  padding: 12px 30px;
  border-radius: 6px;
  font-weight: 500;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
}

.btn-primary-custom:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
  color: white;
}

.btn-outline-custom {
  border: 2px solid var(--primary);
  color: var(--primary);
  background: transparent;
  padding: 12px 30px;
  border-radius: 6px;
  font-weight: 500;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
}

.btn-outline-custom:hover {
  background: var(--primary);
  color: white;
}

/* 卡片样式 */
.card-custom {
  background: white;
  border-radius: 12px;
  box-shadow: var(--shadow);
  transition: all 0.3s ease;
  border: none;
  overflow: hidden;
}

.card-custom:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
}

/* 导航栏样式 */
.navbar-custom {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 1rem 0;
}

.navbar-brand {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--primary) !important;
}

.nav-link {
  color: var(--text-primary) !important;
  font-weight: 500;
  margin: 0 10px;
  transition: color 0.3s ease;
}

.nav-link:hover {
  color: var(--accent) !important;
}

/* Hero区域样式 */
.hero-section {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 50%, #f5576c 75%, #4facfe 100%), 
              linear-gradient(45deg, rgba(26, 54, 93, 0.8), rgba(49, 130, 206, 0.6)),
              url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800"><defs><pattern id="grid" width="60" height="60" patternUnits="userSpaceOnUse"><path d="M 60 0 L 0 0 0 60" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern><radialGradient id="glow1" cx="20%" cy="30%"><stop offset="0%" stop-color="rgba(102,126,234,0.8)"/><stop offset="100%" stop-color="transparent"/></radialGradient><radialGradient id="glow2" cx="80%" cy="70%"><stop offset="0%" stop-color="rgba(49,130,206,0.6)"/><stop offset="100%" stop-color="transparent"/></radialGradient></defs><rect width="1200" height="800" fill="url(%23grid)"/><circle cx="240" cy="240" r="200" fill="url(%23glow1)"/><circle cx="960" cy="560" r="300" fill="url(%23glow2)"/><g opacity="0.3"><circle cx="100" cy="100" r="2" fill="white"/><circle cx="300" cy="150" r="1.5" fill="white"/><circle cx="500" cy="80" r="1" fill="white"/><circle cx="700" cy="200" r="1.5" fill="white"/><circle cx="900" cy="120" r="2" fill="white"/><circle cx="1100" cy="180" r="1" fill="white"/><circle cx="150" cy="400" r="1" fill="white"/><circle cx="350" cy="450" r="1.5" fill="white"/><circle cx="550" cy="380" r="2" fill="white"/><circle cx="750" cy="480" r="1" fill="white"/><circle cx="950" cy="420" r="1.5" fill="white"/><circle cx="200" cy="650" r="1.5" fill="white"/><circle cx="400" cy="700" r="1" fill="white"/><circle cx="600" cy="630" r="2" fill="white"/><circle cx="800" cy="720" r="1" fill="white"/><circle cx="1000" cy="680" r="1.5" fill="white"/></g></svg>') !important;
  background-size: 400% 400%, cover, cover !important;
  background-position: 0% 50%, center, center !important;
  background-attachment: scroll, fixed, fixed !important;
  animation: heroGradientShift 20s ease infinite !important;
  color: white !important;
  padding: 120px 0;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

@keyframes heroGradientShift {
  0% { background-position: 0% 50%, center, center; }
  50% { background-position: 100% 50%, center, center; }
  100% { background-position: 0% 50%, center, center; }
}

.hero-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, transparent 0%, rgba(255,255,255,0.05) 50%, transparent 100%);
  animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.hero-content {
  position: relative;
  z-index: 2;
}

.hero-title {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}

.hero-subtitle {
  font-size: 1.25rem;
  margin-bottom: 2rem;
  opacity: 0.9;
}

/* 主要内容区域背景覆盖 */
.main-content {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    position: relative;
    z-index: 1;
}

/* 需要白色背景的区域 */
.white-bg-section {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px);
    position: relative;
    z-index: 1;
}

/* 数据统计区域背景 */
.stats-section {
    background: var(--primary) !important;
}

/* 服务区域背景 */
.services-section {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%) !important;
    position: relative;
    overflow: hidden;
}

.services-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><pattern id="tech-grid" width="50" height="50" patternUnits="userSpaceOnUse"><path d="M 50 0 L 0 0 0 50" fill="none" stroke="rgba(59,130,246,0.1)" stroke-width="1"/></pattern></defs><rect width="1000" height="1000" fill="url(%23tech-grid)"/><circle cx="200" cy="200" r="100" fill="none" stroke="rgba(59,130,246,0.2)" stroke-width="2"/><circle cx="800" cy="300" r="150" fill="none" stroke="rgba(99,102,241,0.15)" stroke-width="2"/><circle cx="300" cy="700" r="80" fill="none" stroke="rgba(139,92,246,0.1)" stroke-width="2"/></svg>');
    opacity: 0.3;
}

.services-section .container {
    position: relative;
    z-index: 2;
}

.services-section .text-gradient {
    background: linear-gradient(135deg, #60a5fa, #a78bfa, #34d399);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.services-section .lead {
    color: #cbd5e0 !important;
}

/* 服务卡片样式 */
.service-card {
    text-align: center;
    padding: 2.5rem 2rem;
    height: 100%;
    background: linear-gradient(145deg, rgba(30, 41, 59, 0.8), rgba(51, 65, 85, 0.6));
    border-radius: 20px;
    border: 1px solid rgba(59, 130, 246, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 
                inset 0 1px 0 rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.1), transparent);
    transition: left 0.6s ease;
}

.service-card:hover::before {
    left: 100%;
}

.service-card::after {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, #3b82f6, #8b5cf6, #06b6d4);
    border-radius: 22px;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.service-card:hover::after {
    opacity: 1;
}

.service-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 20px 60px rgba(59, 130, 246, 0.3), 
                inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.service-icon {
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg, #3b82f6, #8b5cf6);
    border-radius: 25px;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: white;
    box-shadow: 0 12px 30px rgba(59, 130, 246, 0.4),
                inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transition: all 0.4s ease;
    position: relative;
}

.service-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120%;
    height: 120%;
    background: radial-gradient(circle, rgba(59, 130, 246, 0.3) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.service-card:hover .service-icon {
    transform: scale(1.15) rotateY(15deg);
    box-shadow: 0 16px 40px rgba(59, 130, 246, 0.5),
                inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.service-card:hover .service-icon::before {
    opacity: 1;
}

.service-title {
    font-size: 1.7rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #f1f5f9;
    position: relative;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.service-description {
    color: #cbd5e0;
    line-height: 1.7;
    font-size: 1rem;
}

.service-features {
    margin-top: 1.5rem;
}

.service-features ul {
    list-style: none;
    padding: 0;
}

.service-features li {
    color: #94a3b8;
    margin-bottom: 0.5rem;
    position: relative;
    padding-left: 1.5rem;
}

.service-features li::before {
    content: '▶';
    position: absolute;
    left: 0;
    color: #3b82f6;
    font-size: 0.8rem;
}

/* 数据统计样式 */
.stats-section {
  background: var(--primary);
  color: white;
  padding: 4rem 0;
}

.stat-item {
  text-align: center;
}

.stat-number {
  font-size: 3rem;
  font-weight: 700;
  display: block;
  margin-bottom: 0.5rem;
}

.stat-label {
  font-size: 1.1rem;
  opacity: 0.9;
}

/* 客户评价样式 */
.testimonial-card {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: var(--shadow);
  text-align: center;
  margin: 1rem;
}

.testimonial-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin: 0 auto 1rem;
  background: var(--gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
  font-weight: 600;
}

.testimonial-content {
  font-style: italic;
  color: var(--text-secondary);
  margin-bottom: 1rem;
  line-height: 1.6;
}

.testimonial-author {
  font-weight: 600;
  color: var(--primary);
}

.testimonial-company {
  color: var(--text-secondary);
  font-size: 0.9rem;
}

/* 页脚样式 - 彻底解决黑色背景问题 */
.footer {
  background: #000000 !important;
  background-image: none !important;
  background-attachment: scroll !important;
  color: #ffffff !important;
  padding: 3rem 0 1rem;
  position: relative;
  border-top: 1px solid #333333;
  z-index: 1000 !important;
  margin-top: 0 !important;
}

.footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #000000 !important;
  background-image: none !important;
  z-index: -1;
}

.footer::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #000000 0%, #1a1a1a 50%, #000000 100%) !important;
  z-index: -1;
}

.footer > .container {
  position: relative;
  z-index: 2;
  background: transparent !important;
}

/* 强制覆盖所有可能的背景样式 */
footer.footer,
footer.footer *,
footer.footer .container,
footer.footer .row,
footer.footer .col-lg-4,
footer.footer .col-lg-2,
footer.footer .col-md-6,
footer.footer .mb-4 {
  background-image: none !important;
  background-attachment: scroll !important;
}

/* 确保footer文字颜色正确 */
.footer,
.footer * {
  color: inherit !important;
}

.footer-title {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
  color: #ffffff;
}

.footer-link {
  color: #cccccc;
  text-decoration: none;
  display: block;
  margin-bottom: 0.6rem;
  transition: all 0.3s ease;
  font-size: 0.95rem;
}

.footer-link:hover {
  color: #ffffff;
  transform: translateX(5px);
}

.footer-bottom {
  border-top: 1px solid #333333;
  margin-top: 2rem;
  padding-top: 1.5rem;
  text-align: center;
  color: #cccccc;
  font-size: 0.9rem;
}

.footer-bottom a {
  color: #cccccc;
  text-decoration: none;
}

.footer-bottom a:hover {
  color: #ffffff;
}

.contact-info p {
  color: #cccccc;
  margin-bottom: 0.6rem;
  font-size: 0.95rem;
}

.contact-info i {
  color: var(--accent);
  width: 20px;
}

.social-links a {
  color: #cccccc;
  transition: color 0.3s ease;
}

.social-links a:hover {
  color: #ffffff;
}

/* 响应式设计 */
@media (max-width: 768px) {
  .hero-title {
    font-size: 2.5rem;
  }
  
  .hero-subtitle {
    font-size: 1.1rem;
  }
  
  .service-card {
    margin-bottom: 2rem;
  }
  
  .stat-number {
    font-size: 2.5rem;
  }
  
  .nav-link {
    margin: 5px 0;
  }
}

@media (max-width: 576px) {
  .hero-title {
    font-size: 2rem;
  }
  
  .hero-section {
    padding: 60px 0;
  }
  
  .service-icon {
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
  }
  
  .btn-primary-custom,
  .btn-outline-custom {
    padding: 10px 20px;
    font-size: 0.9rem;
  }
}

/* 动画效果 */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-up {
  animation: fadeInUp 0.8s ease-out;
}

/* 加载动画 */
.loading {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: white;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* 产品区域背景 */
.products-section {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%) !important;
    position: relative;
    overflow: hidden;
}

.products-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800"><defs><pattern id="product-grid" width="40" height="40" patternUnits="userSpaceOnUse"><path d="M 40 0 L 0 0 0 40" fill="none" stroke="rgba(59,130,246,0.08)" stroke-width="1"/></pattern></defs><rect width="1200" height="800" fill="url(%23product-grid)"/><g opacity="0.4"><polygon points="100,100 200,150 150,250 50,200" fill="none" stroke="rgba(59,130,246,0.15)" stroke-width="2"/><polygon points="800,200 900,250 850,350 750,300" fill="none" stroke="rgba(99,102,241,0.12)" stroke-width="2"/><polygon points="400,500 500,550 450,650 350,600" fill="none" stroke="rgba(139,92,246,0.1)" stroke-width="2"/></g></svg>');
    opacity: 0.6;
}

.products-section .container {
    position: relative;
    z-index: 2;
}

.products-section .text-gradient {
    background: linear-gradient(135deg, #60a5fa, #a78bfa, #34d399);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.products-section .lead {
    color: #cbd5e0 !important;
}

/* 产品相关样式 */
.product-card {
  transition: all 0.5s ease;
  border: none;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(30, 41, 59, 0.9), rgba(51, 65, 85, 0.7));
  border: 1px solid rgba(59, 130, 246, 0.25);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4),
              inset 0 1px 0 rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(15px);
  position: relative;
}

.product-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.05), rgba(139, 92, 246, 0.05));
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 1;
}

.product-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #3b82f6, #8b5cf6, #06b6d4);
  transform: scaleX(0);
  transition: transform 0.4s ease;
  z-index: 2;
}

.product-card:hover::before {
  opacity: 1;
}

.product-card:hover::after {
  transform: scaleX(1);
}

.product-card:hover {
  transform: translateY(-15px);
  box-shadow: 0 25px 60px rgba(59, 130, 246, 0.4),
              inset 0 1px 0 rgba(255, 255, 255, 0.2);
  border-color: rgba(59, 130, 246, 0.5);
}

.product-image {
  height: 240px;
  background: linear-gradient(135deg, #1e40af, #3730a3, #1e3a8a);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 4rem;
  position: relative;
  overflow: hidden;
}

.product-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 30% 30%, rgba(59, 130, 246, 0.3) 0%, transparent 50%),
              radial-gradient(circle at 70% 70%, rgba(139, 92, 246, 0.2) 0%, transparent 50%);
}

.product-image::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transform: rotate(45deg);
  transition: all 0.6s ease;
  opacity: 0;
}

.product-card:hover .product-image::after {
  opacity: 1;
  animation: shimmerProduct 1.5s ease-in-out;
}

@keyframes shimmerProduct {
  0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
  100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}

.product-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: #f1f5f9;
  margin-bottom: 0.75rem;
  line-height: 1.3;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 3;
}

.product-price {
  font-size: 1.7rem;
  font-weight: 800;
  color: #60a5fa;
  margin-bottom: 1rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 3;
}

.product-features {
  list-style: none;
  padding: 0;
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 3;
}

.product-features li {
  padding: 0.5rem 0;
  color: #cbd5e0;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
}

.product-features li::before {
  content: '▶';
  color: #3b82f6;
  font-weight: bold;
  margin-right: 0.75rem;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.2), rgba(139, 92, 246, 0.1));
  border: 1px solid rgba(59, 130, 246, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}

.product-card .card-body {
  position: relative;
  z-index: 3;
}

.product-card .btn {
  position: relative;
  z-index: 4;
}

/* 首页产品区域特殊样式 */
#products.products-section .product-card {
  background: linear-gradient(145deg, rgba(30, 41, 59, 0.9), rgba(51, 65, 85, 0.7)) !important;
  border: 1px solid rgba(59, 130, 246, 0.25) !important;
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4),
              inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}

#products.products-section .product-title {
  color: #f1f5f9 !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

#products.products-section .product-price {
  color: #60a5fa !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

#products.products-section .product-features li {
  color: #cbd5e0 !important;
}

#products.products-section .text-muted {
  color: #94a3b8 !important;
}

/* 产品区域按钮样式 */
.products-section .btn-primary-custom {
  background: linear-gradient(135deg, #3b82f6, #8b5cf6) !important;
  border: none !important;
  color: white !important;
  padding: 0.75rem 1.5rem;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
}

.products-section .btn-primary-custom:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4);
  background: linear-gradient(135deg, #2563eb, #7c3aed) !important;
  color: white !important;
  text-decoration: none;
}

.products-section .btn-outline-custom {
  background: transparent !important;
  border: 2px solid rgba(59, 130, 246, 0.6) !important;
  color: #60a5fa !important;
  padding: 0.75rem 1.5rem;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  transition: all 0.3s ease;
}

.products-section .btn-outline-custom:hover {
  background: linear-gradient(135deg, #3b82f6, #8b5cf6) !important;
  border-color: transparent !important;
  color: white !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4);
  text-decoration: none;
}

/* 表单样式 */
.form-control-custom {
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.form-control-custom:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.1);
  outline: none;
}

.form-label-custom {
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}
