:root {
  --bs-primary: #7b2cbf;
  --bs-primary-rgb: 123, 44, 191;
  --bs-secondary: #6c757d;
  --bs-success: #28a745;
  --bs-info: #17a2b8;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;

  --bs-primary-bg-subtle: #e7d6f7;
  --bs-primary-border-subtle: #c2a0f0;
  --bs-primary-text-emphasis: #4a1a72;

  --cc-purple-100: #f3e8ff;
  --cc-purple-200: #e9d5ff;
  --cc-purple-300: #d8b4fe;
  --cc-purple-400: #c084fc;
  --cc-purple-500: #a855f7;
  --cc-purple-600: #7b2cbf;
  --cc-purple-700: #6b21a8;
  --cc-purple-800: #581c87;
  --cc-purple-900: #4c1d95;

  --cc-gradient: linear-gradient(135deg, var(--cc-purple-600) 0%, var(--cc-purple-500) 100%);
  --cc-shadow: 0 10px 25px -5px rgba(123, 44, 191, 0.1), 0 8px 10px -6px rgba(123, 44, 191, 0.1);
}

[data-bs-theme="light"] {
  --bs-body-bg: #ffffff;
  --bs-body-color: #212529;
  --bs-navbar-bg: rgba(255, 255, 255, 0.95);
  --bs-card-bg: #ffffff;
  --bs-border-color: #dee2e6;
}

[data-bs-theme="dark"] {
  --bs-primary: #a855f7;
  --bs-primary-rgb: 168, 85, 247;
  --bs-body-bg: #0d1117;
  --bs-body-color: #f0f6fc;
  --bs-navbar-bg: rgba(13, 17, 23, 0.95);
  --bs-card-bg: #161b22;
  --bs-border-color: #30363d;
  --bs-secondary-bg: #21262d;

  --bs-primary-bg-subtle: #2d1b69;
  --bs-primary-border-subtle: #4c1d95;
  --bs-primary-text-emphasis: #c084fc;
}

.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--cc-purple-700);
  --bs-btn-hover-border-color: var(--cc-purple-700);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-bg: var(--cc-purple-800);
  --bs-btn-active-border-color: var(--cc-purple-800);
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-gradient {
  background: var(--cc-gradient);
  border: none;
  color: white;
  transition: all 0.3s ease;
}

.btn-gradient:hover {
  background: linear-gradient(135deg, var(--cc-purple-700) 0%, var(--cc-purple-600) 100%);
  color: white;
  transform: translateY(-2px);
  box-shadow: var(--cc-shadow);
}

.navbar {
  background: var(--bs-navbar-bg) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--bs-border-color);
}

.card {
  background: var(--bs-card-bg);
  border: 1px solid var(--bs-border-color);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

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

[data-bs-theme="dark"] .card {
  background: var(--bs-card-bg);
  border-color: var(--bs-border-color);
}

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

.bg-primary {
  background-color: var(--bs-primary) !important;
}

.border-primary {
  border-color: var(--bs-primary) !important;
}

.theme-toggle {
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.theme-toggle:hover {
  background-color: var(--bs-primary-bg-subtle);
  transform: scale(1.1);
}

.hero-section {
  background: var(--cc-gradient);
  color: white;
  padding: 100px 0;
}

.feature-icon {
  width: 60px;
  height: 60px;
  background: var(--cc-gradient);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 24px;
  margin-bottom: 1rem;
}

.pricing-card {
  position: relative;
  overflow: hidden;
}

.pricing-card.featured {
  border: 2px solid var(--bs-primary);
  transform: scale(1.05);
}

.pricing-card.featured::before {
  content: 'Most Popular';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: var(--cc-gradient);
  color: white;
  text-align: center;
  padding: 8px;
  font-size: 14px;
  font-weight: 600;
}

.social-links a {
  transition: all 0.3s ease;
}

.social-links a:hover {
  color: var(--bs-primary) !important;
  transform: translateY(-2px);
}

.form-control:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.progress-bar {
  background-color: var(--bs-primary);
}

.badge.bg-primary {
  background-color: var(--bs-primary) !important;
}

.alert-primary {
  color: var(--bs-primary-text-emphasis);
  background-color: var(--bs-primary-bg-subtle);
  border-color: var(--bs-primary-border-subtle);
}

/* Footer link improvements */
footer a.text-muted {
  color: #adb5bd !important;
  transition: color 0.3s ease;
}

footer a.text-muted:hover {
  color: var(--bs-primary) !important;
}

[data-bs-theme="dark"] footer a.text-muted {
  color: #adb5bd !important;
}

[data-bs-theme="dark"] footer a.text-muted:hover {
  color: var(--bs-primary) !important;
}

@media (max-width: 768px) {
  .hero-section {
    padding: 60px 0;
  }

  .pricing-card.featured {
    transform: none;
    margin-top: 1rem;
  }
}