/* Styling for simple content pages (privacy policy) and error pages. */

.legal-page .legal-header {
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.7)), url('/solar-banner.webp') no-repeat center center;
  background-size: cover;
  padding: 90px 0 60px;
  text-align: center;
}
.legal-page .legal-header h1 { color: #fff; font-size: 2.4rem; }
.legal-page .legal-header p { color: #ddd; margin-top: 8px; }

.legal-content {
  max-width: 860px;
  margin: 0 auto;
  padding: 24px;
}
.legal-content h2 {
  font-size: 1.4rem;
  margin: 32px 0 12px;
  color: var(--text-primary);
  border-left: 4px solid var(--primary-yellow);
  padding-left: 12px;
}
.legal-content p,
.legal-content li {
  color: var(--text-secondary);
  margin-bottom: 12px;
  line-height: 1.8;
}
.legal-content ul { padding-left: 22px; }
.legal-updated { color: var(--text-muted); font-size: 0.9rem; margin-bottom: 24px; }

/* Error pages (404 / 500) */
.error-page {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 24px;
}
.error-box { max-width: 560px; }
.error-code {
  font-family: var(--font-display);
  font-size: 7rem;
  font-weight: 800;
  line-height: 1;
  color: var(--primary-yellow);
  text-shadow: var(--yellow-glow-strong);
}
.error-box h1 { font-size: 1.8rem; margin: 12px 0; }
.error-box p { color: var(--text-secondary); margin-bottom: 28px; }
.error-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 600px) {
  .error-code { font-size: 5rem; }
}
