/**
 * Custom Styles for Dev Marketing Flow Theme
 *
 * Modern color palette inspired by financial/tech design
 */

/* ==========================================================================
   Buttons & CTAs
   ========================================================================== */

.btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  text-align: center;
  transition: all 0.3s ease;
  cursor: pointer;
  border: none;
}

.btn-primary {
  background: var(--gradient-primary);
  color: var(--text-white);
  box-shadow: 0 4px 15px rgba(67, 24, 255, 0.3);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(67, 24, 255, 0.4);
}

.btn-accent {
  background: var(--gradient-accent);
  color: var(--text-white);
  box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
}

.btn-accent:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 107, 53, 0.4);
}

.btn-outline {
  background: transparent;
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
}

.btn-outline:hover {
  background: var(--primary-color);
  color: var(--text-white);
}

/* ==========================================================================
   Cards & Containers
   ========================================================================== */

.card {
  background: var(--bg-color);
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(67, 24, 255, 0.15);
}

.card-dark {
  background: var(--bg-dark);
  color: var(--text-white);
}

/* ==========================================================================
   Gradients & Backgrounds
   ========================================================================== */

.bg-gradient-primary {
  background: var(--gradient-primary);
  color: var(--text-white);
}

.bg-gradient-accent {
  background: var(--gradient-accent);
  color: var(--text-white);
}

.bg-gradient-teal {
  background: var(--gradient-teal);
  color: var(--text-white);
}

.bg-dark {
  background: var(--bg-dark);
  color: var(--text-white);
}

/* ==========================================================================
   Badges & Labels
   ========================================================================== */

.badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 600;
}

.badge-primary {
  background: var(--primary-color);
  color: var(--text-white);
}

.badge-accent {
  background: var(--accent-color);
  color: var(--text-white);
}

.badge-teal {
  background: var(--teal-color);
  color: var(--text-color);
}

/* ==========================================================================
   Site Branding
   ========================================================================== */

.site-branding {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.site-title a {
  color: var(--text-white);
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: none;
}

.site-description {
  color: var(--text-light);
  font-size: 0.875rem;
  margin: 0;
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.text-primary {
  color: var(--primary-color);
}

.text-accent {
  color: var(--accent-color);
}

.text-teal {
  color: var(--teal-color);
}

.text-light {
  color: var(--text-light);
}

.text-gradient {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ==========================================================================
   Animations
   ========================================================================== */

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in {
  animation: fadeIn 0.6s ease-out;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

.pulse {
  animation: pulse 2s ease-in-out infinite;
}
