/**
 * terminal-education.css - HackSimulator.nl
 * Styling for educational content section below the terminal
 * Purpose: SEO — indexable text content for Google crawlers
 */

/* ==================== Scroll Hint ==================== */
/* Visual cue that educational content exists below the terminal.
 * Fixed at bottom of viewport, fades out on scroll via IntersectionObserver. */
.scroll-hint {
  position: fixed;
  bottom: 4.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-xs);
  color: var(--color-text-dim);
  font-family: var(--font-body);
  font-size: 0.85rem;
  opacity: 0.6;
  transition: opacity 0.4s ease;
  z-index: 2;
  pointer-events: none;
}

.scroll-hint.hidden {
  opacity: 0;
}

.scroll-hint svg {
  animation: scrollBounce 2s ease-in-out infinite;
}

@keyframes scrollBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .scroll-hint svg {
    animation: none;
  }
}

/* ==================== Education Section Container ==================== */
.terminal-education {
  background: var(--color-bg);
  border-top: 1px solid var(--color-border);
  padding: 4.5rem 0;
  position: relative;
  z-index: 1;
}

.terminal-edu-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--spacing-xl);
}

/* ==================== Section Spacing ==================== */
.terminal-edu-section {
  margin-bottom: 2.5rem;
  padding: 2rem;
}

.terminal-edu-section:last-child {
  margin-bottom: 0;
}

/* Alternating backgrounds for visual separation */
.terminal-edu-section:nth-child(even) {
  background: var(--color-bg-hover);
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-prompt-border-light);
  border-radius: 16px;
}

.terminal-edu-section h2 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--color-text);
  margin: 0 0 var(--spacing-lg) 0;
  text-align: center;
}

.terminal-edu-section > h3 {
  font-family: var(--font-heading);
  font-size: clamp(1.1rem, 3vw, 1.4rem);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text);
  margin: 0 0 var(--spacing-md) 0;
}

.terminal-edu-section > p {
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--color-text-dim);
  line-height: 1.6;
  margin: 0 0 var(--spacing-md) 0;
}

/* ==================== Command Cards Grid ==================== */
.terminal-edu-commands {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-md);
}

.edu-command-card {
  background: rgba(22, 27, 34, 0.3);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: var(--spacing-xl);
  transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.edu-command-card:hover {
  border-color: var(--color-prompt-border-medium);
  transform: translateY(-4px);
}

.edu-command-card code {
  font-family: var(--font-terminal);
  font-size: 1.1rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-cta-primary);
  display: block;
  margin-bottom: var(--spacing-xs);
}

.edu-cmd-category {
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: var(--color-prompt-bg-light);
  padding: 2px 8px;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: var(--spacing-sm);
}

.edu-command-card p {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: var(--color-text-dim);
  line-height: 1.5;
  margin: 0;
}

/* ==================== Steps ==================== */
.terminal-edu-steps {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.edu-step {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-md);
  background: rgba(22, 27, 34, 0.3);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: var(--spacing-xl);
  transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.edu-step:hover {
  border-color: var(--color-prompt-border-medium);
  transform: translateY(-4px);
}

.edu-step-num {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-prompt-bg-medium);
  color: var(--color-cta-primary);
  font-family: var(--font-heading);
  font-weight: var(--font-weight-bold);
  font-size: 1.1rem;
  border-radius: 50%;
}

.edu-step strong {
  color: var(--color-text);
  display: block;
  margin-bottom: 4px;
}

.edu-step code {
  color: var(--color-cta-primary);
  font-family: var(--font-terminal);
}

.edu-step p {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: var(--color-text-dim);
  line-height: 1.5;
  margin: 0;
}

/* ==================== FAQ (Layout Only) ==================== */
/* Base .faq-item styles are in main.css (shared component) */
.terminal-edu-faq {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.terminal-edu-faq .faq-item {
  background: rgba(22, 27, 34, 0.3);
}

/* ==================== Blog Links ==================== */
.terminal-edu-blog-links {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.terminal-edu-blog-links a {
  display: block;
  padding: var(--spacing-md) var(--spacing-lg);
  background: rgba(22, 27, 34, 0.3);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 0.95rem;
  text-decoration: none;
  transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.terminal-edu-blog-links a:hover {
  border-color: var(--color-cta-primary);
  transform: translateX(4px);
}

/* ==================== Light Theme Overrides ==================== */
[data-theme="light"] .terminal-education {
  background: var(--color-bg);
}

[data-theme="light"] .terminal-edu-section {
  border-color: rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .edu-command-card,
[data-theme="light"] .edu-step,
[data-theme="light"] .terminal-edu-faq .faq-item,
[data-theme="light"] .terminal-edu-blog-links a {
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* ==================== Entrance Animations ==================== */
/* Initial hidden state — revealed by IntersectionObserver adding .visible */
.edu-command-card,
.edu-step,
.terminal-edu-faq .faq-item,
.terminal-edu-blog-links a {
  opacity: 0;
  transform: translateY(20px);
  filter: blur(4px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, filter 0.6s ease-out,
              border-color var(--transition-fast);
}

/* Visible state (added by IntersectionObserver) */
.edu-command-card.visible,
.edu-step.visible,
.terminal-edu-faq .faq-item.visible,
.terminal-edu-blog-links a.visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

/* Preserve hover lift when visible */
.edu-command-card.visible:hover,
.edu-step.visible:hover {
  transform: translateY(-4px);
}

/* Stagger delays for command cards */
.edu-command-card:nth-child(1) { transition-delay: 0ms; }
.edu-command-card:nth-child(2) { transition-delay: 100ms; }
.edu-command-card:nth-child(3) { transition-delay: 200ms; }

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .edu-command-card,
  .edu-step,
  .terminal-edu-faq .faq-item,
  .terminal-edu-blog-links a {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}

/* ==================== Mobile Responsive ==================== */
@media (max-width: 768px) {
  .terminal-edu-inner {
    padding: 0 var(--spacing-md);
  }

  .terminal-edu-commands {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .terminal-edu-section h2 {
    font-size: 1.4rem;
  }
}
