/* Characters page styles – keep minimal, build on base.css */
.hero-characters {
  position: relative;
  padding: var(--space-16) 0 var(--space-10);
  background:
    radial-gradient(60% 60% at 20% 20%, rgba(232,116,59,0.08), transparent 70%),
    linear-gradient(180deg, rgba(37,40,55,0.8), rgba(26,29,46,0.95));
}
.hero-inner {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--space-8);
  align-items: center;
}
.hero-copy .hero-sub {
  color: var(--color-text-secondary);
  max-width: 60ch;
}
.hero-cta { margin-top: var(--space-6); display: flex; gap: var(--space-4); flex-wrap: wrap; }
.hero-art img {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  border: 1px solid var(--color-border);
}

@media (max-width: 992px) {
  .hero-inner { grid-template-columns: 1fr; }
}

.filters-wrap { padding: var(--space-8) 0; background: var(--color-background-elevated); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.filters-form { display: grid; gap: var(--space-6); }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.filters-actions { display: flex; gap: var(--space-4); }
.results-info { color: var(--color-text-secondary); }

.character-card .character-art { margin-bottom: var(--space-4); }
.character-meta { color: var(--color-text-secondary); display: grid; gap: var(--space-2); }

.profile h3 { margin-bottom: var(--space-2); }
.profile ul { margin-top: var(--space-2); display: grid; gap: var(--space-2); }

/* Subtle hover effect aligning with pixel spirit */
.character-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg), var(--shadow-glow); }

/* Improve focus visibility inside cards */
.character-card a.btn:focus-visible { box-shadow: 0 0 0 3px rgba(232,116,59,0.35); }
