/*
 * Hero
 * Full-width hero sections with heading, subheading, CTA buttons
 * Background variants: default, primary, gradient, image
 */

.hero {
  padding: var(--space-12) var(--space-6);
  text-align: center;
  background: var(--color-surface);
}

/* Background variants */
.hero-primary {
  background: var(--color-primary);
  color: var(--color-text-inverse);
}

.hero-gradient {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-info) 100%);
  color: var(--color-text-inverse);
}

.hero-image {
  position: relative;
  background-size: cover;
  background-position: center;
  color: var(--color-text-inverse);
}

.hero-image::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 0;
}

.hero-image > * {
  position: relative;
  z-index: 1;
}

.hero h1 {
  font-size: var(--text-3xl);
  font-weight: 700;
  line-height: var(--leading-tight);
  margin-bottom: var(--space-4);
}

.hero-subtitle {
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  max-width: 640px;
  margin: 0 auto var(--space-6);
  line-height: var(--leading-relaxed);
}

.hero-primary .hero-subtitle,
.hero-gradient .hero-subtitle,
.hero-image .hero-subtitle {
  color: rgba(255, 255, 255, 0.85);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
}

/* Centered content alignment */
.hero-left {
  text-align: left;
}

.hero-left .hero-subtitle {
  margin-left: 0;
}

.hero-left .hero-actions {
  justify-content: flex-start;
}

/* Responsive */
@media (min-width: 768px) {
  .hero {
    padding: var(--space-12) var(--space-8);
  }

  .hero h1 {
    font-size: 3rem;
  }

  .hero-subtitle {
    font-size: var(--text-xl);
  }
}

@media (min-width: 1024px) {
  .hero {
    padding: 6rem var(--space-8);
  }

  .hero h1 {
    font-size: 3.5rem;
  }
}
