/* Features Section Styles */
#features-section {
  background: linear-gradient(to bottom, var(--darker-bg), var(--dark-bg));
  position: relative;
  overflow: hidden;
}

#features-section:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(circle at 20% 80%, rgba(255, 214, 10, 0.1) 0%, transparent 30%),
    radial-gradient(circle at 80% 20%, rgba(255, 30, 86, 0.1) 0%, transparent 30%);
  z-index: 0;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--spacing-lg);
  position: relative;
  z-index: 1;
}

.feature-card {
  background: rgba(15, 15, 30, 0.6);
  border-radius: var(--border-radius-md);
  padding: var(--spacing-lg);
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: all var(--transition-medium);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(0, 245, 255, 0.2);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.feature-card:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--neon-gradient);
  transform-origin: left;
  transform: scaleX(0);
  transition: transform var(--transition-medium);
}

.feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
  border-color: rgba(0, 245, 255, 0.4);
}

.feature-card:hover:before {
  transform: scaleX(1);
}

/* Feature Icons */
.feature-icon {
  width: 70px;
  height: 70px;
  margin: 0 auto var(--spacing-md);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}

.feature-icon:after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 2px;
  background: var(--neon-gradient);
  box-shadow: 0 0 10px rgba(255, 30, 86, 0.7);
}

.lightning-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2300F5FF'%3E%3Cpath d='M11 21h-1l1-7H7.5c-.58 0-.73-.66-.3-1.01l7.25-6.24c.19-.17.45-.24.7-.17.25.09.44.29.44.55V14h3.5c.49 0 .69.64.19.95l-7.95 6.09c-.18.14-.4.17-.59.09s-.29-.28-.29-.47V21z'/%3E%3C/svg%3E");
  filter: drop-shadow(0 0 5px rgba(0, 245, 255, 0.7));
}

.shield-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FFD60A'%3E%3Cpath d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.11v8.8z'/%3E%3C/svg%3E");
  filter: drop-shadow(0 0 5px rgba(255, 214, 10, 0.7));
}

.connect-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FF1E56'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E");
  filter: drop-shadow(0 0 5px rgba(255, 30, 86, 0.7));
}

.reward-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237B2CBF'%3E%3Cpath d='M20 6h-2.18c.11-.31.18-.65.18-1 0-1.66-1.34-3-3-3-1.05 0-1.96.54-2.5 1.35l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0 .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM9 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4v-2h16v2zm0-5H4V8h5.08L7 10.83 8.62 12 12 7.4l3.38 4.6L17 10.83 14.92 8H20v6z'/%3E%3C/svg%3E");
  filter: drop-shadow(0 0 5px rgba(123, 44, 191, 0.7));
}

.feature-card h3 {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  margin-bottom: var(--spacing-md);
  color: var(--text-primary);
}

.feature-card p {
  color: var(--text-muted);
  font-size: 0.95rem;
  line-height: 1.7;
}

/* Responsive Styles */
@media (max-width: 992px) {
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .features-grid {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin: 0 auto;
  }
  
  .feature-card {
    padding: var(--spacing-md);
  }
  
  .feature-icon {
    width: 60px;
    height: 60px;
  }
  
  .feature-card h3 {
    font-size: 1.3rem;
  }
}