/**
 * H.A.M. Property Management – Legal-Seiten (Impressum, Datenschutz)
 * Erwartet: variables.css + main.css sind eingebunden.
 */

body.legal-page {
  background: var(--gray-50);
}

.legal-hero {
  padding: 48px 0 18px;
  background: linear-gradient(135deg, rgba(26,43,74,0.06), rgba(61,108,185,0.06));
  border-bottom: 1px solid var(--gray-200);
}

.legal-hero .legal-kicker {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--navy);
  opacity: 0.85;
  margin-bottom: 10px;
}

.legal-hero h1 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: clamp(2rem, 4vw, 2.8rem);
}

.legal-hero p {
  margin: 0;
  max-width: 70ch;
  color: var(--gray-700);
}

.legal-main {
  padding: 28px 0 80px;
}

.legal-card {
  max-width: 920px;
  margin: 0 auto;
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--gray-200);
  overflow: hidden;
}

.legal-card-inner {
  padding: 34px 32px;
}

.legal-back {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 18px;
  color: var(--blue-accent);
  text-decoration: none;
  font-weight: 700;
}

.legal-back:hover {
  text-decoration: underline;
}

.legal-content h2 {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy);
  margin: 26px 0 10px;
  letter-spacing: 0.2px;
  text-transform: none;
}

.legal-content p {
  margin: 0 0 12px;
}

.legal-content a {
  color: var(--blue-accent);
  text-decoration: none;
}

.legal-content a:hover {
  text-decoration: underline;
}

.legal-hint {
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(61,108,185,0.06);
  border: 1px solid rgba(61,108,185,0.16);
  color: var(--gray-700);
}

.legal-hint em {
  font-style: italic;
}

@media (max-width: 768px) {
  .legal-hero { padding: 34px 0 14px; }
  .legal-card-inner { padding: 26px 18px; }
}
