/**
 * Оформление правовых страниц (Impressum, Datenschutz, Nutzungsbedingungen,
 * Kontakt).
 *
 * Палитра и метрики взяты из index.html и header.css — отдельной темы здесь
 * нет намеренно: правило проекта требует программировать новые разделы
 * в существующей стилистике сайта.
 *
 * Страницы статические и не проходят через сборку: их читает человек, которому
 * ещё нельзя войти, поэтому они не должны зависеть ни от React, ни от сессии.
 */

:root {
  --primary: #1a3a5c;
  --accent: #c8a96e;
  --bg: #f5f0e8;
  --text: #1a1a1a;
  --card-bg: #ffffff;
  --border: #ddd3c0;
  --muted: #5a5348;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 16px;
  line-height: 1.65;
}

.legal-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 26px;
  height: 52px;
  background: #0d1f31;
}

.legal-top a.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #d6af6c;
  font-size: 20px;
  letter-spacing: 6px;
  text-decoration: none;
}

.legal-top img { width: 24px; height: 24px; }

.legal-langs { display: flex; gap: 6px; }

.legal-langs button {
  min-width: 44px;
  min-height: 32px;
  padding: 6px 11px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 7px;
  background: transparent;
  color: #cfe0ec;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}

.legal-langs button:hover { background: rgba(255, 255, 255, 0.09); }

.legal-langs button[aria-pressed='true'] {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border-color: var(--accent);
}

.legal-langs button:focus-visible,
.legal-wrap a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.legal-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 32px 20px 64px;
}

.legal-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 28px 30px;
}

.legal-wrap h1 {
  margin: 0 0 6px;
  font-size: 28px;
  color: var(--primary);
}

.legal-wrap h2 {
  margin: 28px 0 8px;
  font-size: 19px;
  color: var(--primary);
}

.legal-wrap p, .legal-wrap li { margin: 8px 0; }

.legal-wrap ul { padding-left: 22px; }

.legal-wrap address {
  font-style: normal;
  margin: 8px 0;
}

.legal-updated {
  margin-top: 28px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 14px;
}

.legal-nav {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 15px;
}

.legal-wrap a { color: var(--primary); }

/* Языковые блоки: показывается только выбранный, остальные скрыты скриптом.
   До выполнения скрипта видна немецкая версия — язык сайта по умолчанию. */
[data-lang]:not([data-lang='de']) { display: none; }

@media (max-width: 480px) {
  .legal-top { padding: 0 14px; }
  .legal-top a.brand { font-size: 17px; letter-spacing: 4px; }
  .legal-card { padding: 20px 18px; }
}
