/* DesignSpark Main Stylesheet */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");

/* Base Styles */
html {
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", sans-serif;
}

/* Gradient Backgrounds */
.gradient-bg {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.stats-gradient {
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
}

.testimonial-card {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}

.service-icon {
  background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
}

.evaluation-bg {
  background: linear-gradient(
    135deg,
    #f0f9ff 0%,
    #e0f2fe 50%,
    #f0f9ff 100%
  );
}

/* Card Hover Effects */
.card-hover {
  transition: all 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Button Styles */
.btn-primary {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  transition: all 0.3s ease;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(99, 102, 241, 0.3);
}

.btn-secondary {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  color: #475569;
  transition: all 0.3s ease;
}

.btn-secondary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* Animation Classes */
.floating-shape {
  animation: float 6s ease-in-out infinite;
}

.floating-shape-delay {
  animation: float 6s ease-in-out infinite;
  animation-delay: -3s;
}

.floating-icon {
  animation: floatIcon 3s ease-in-out infinite;
}

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

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

/* Keyframe Animations */
@keyframes float {
  0%,
  100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-20px) rotate(180deg);
  }
}

@keyframes floatIcon {
  0%,
  100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes pulseGlow {
  from {
    box-shadow: 0 0 20px rgba(6, 182, 212, 0.3);
  }
  to {
    box-shadow: 0 0 40px rgba(6, 182, 212, 0.6);
  }
}

@keyframes scan {
  0%,
  100% {
    transform: translateX(-100%);
  }
  50% {
    transform: translateX(100%);
  }
}

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

@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

@keyframes blink-caret {
  from,
  to {
    border-color: transparent;
  }
  50% {
    border-color: #6366f1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

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

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Component Styles */
.stat-card {
  transition: all 0.3s ease;
}

.progress-bar {
  transition: width 0.5s ease-in-out;
}

.tracker-step {
  transition: all 0.3s ease;
}

.tracker-step.active {
  transform: scale(1.1);
}

.tracker-step.completed {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
}

.tracker-step.active:not(.completed) {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  color: white;
  animation: pulse 2s infinite;
}

.analysis-card {
  transition: all 0.3s ease;
  opacity: 0;
  transform: translateY(20px);
}

.analysis-card.show {
  opacity: 1;
  transform: translateY(0);
}

.score-circle {
  stroke-dasharray: 283;
  stroke-dashoffset: 283;
  transition: stroke-dashoffset 1s ease-in-out;
}

.typewriter {
  overflow: hidden;
  border-right: 2px solid #6366f1;
  white-space: nowrap;
  animation: typing 3s steps(40, end), blink-caret 0.75s step-end infinite;
}

/* Scroll Animation Styles */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered Delay Classes */
.delay-1 {
  transition-delay: 150ms;
}

.delay-2 {
  transition-delay: 300ms;
}

.delay-3 {
  transition-delay: 450ms;
}

.delay-4 {
  transition-delay: 600ms;
}

/* Tool Specific Animation Styles */
.fade-in {
  animation: fadeIn 0.5s ease-in-out forwards;
}

.fade-out {
  animation: fadeOut 0.5s ease-in-out forwards;
}

.slide-in-up {
  animation: slideInUp 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.tracker-item {
  transition: all 0.4s ease-in-out;
  opacity: 0.5;
  transform: scale(0.95);
}

.tracker-item.in-progress {
  opacity: 1;
  transform: scale(1.05);
  background-color: white;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),
    0 4px 6px -4px rgb(0 0 0 / 0.1);
}

.tracker-item.complete {
  opacity: 1;
  transform: scale(1);
}

.tracker-icon .spinner,
.tracker-icon .checkmark {
  display: none;
}

.tracker-icon .pending-icon {
  display: block;
}

.in-progress .tracker-icon .spinner {
  display: block;
  animation: spin 1s linear infinite;
}

.in-progress .tracker-icon .pending-icon {
  display: none;
}

.complete .tracker-icon .checkmark {
  display: block;
}

.complete .tracker-icon .pending-icon {
  display: none;
}

.complete .tracker-text {
  text-decoration: line-through;
  color: #64748b;
}

/* Print Styles */
@media print {
  body * {
    visibility: hidden;
  }
  #advanced-report-content,
  #advanced-report-content * {
    visibility: visible;
  }
  #advanced-report-content {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 2rem;
  }
  .no-print {
    display: none !important;
  }
}
