/* Оформление легальных страниц — /oferta и /privacy (issue #272).
 *
 * Раньше эти правила были продублированы двумя <style>-блоками в шаблонах: 75 строк
 * в oferta.html и 58 в privacy.html, отличавшихся ровно правилами для таблицы.
 * Правка одной страницы молча расходилась с другой — а расхождение в оформлении
 * договора и политики видно любому, кто откроет обе.
 *
 * Токены берутся из static/tokens (подключены через styles.css): своих цветов здесь
 * нет намеренно — см. issue #260, где единственный хардкод-hex дал ссылку с
 * контрастом 2.08:1, потому что это был акцент ТЁМНОЙ темы на светлом фоне.
 */
body {
  background-color: var(--bg-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.30 0 0 0 0 0.22 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (max-width: 768px) {
  body { background-image: none; }
}
main {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 16px;
}
h1 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 32px;
  color: var(--text-primary);
  margin: 0 0 32px;
  /* #422: «конфиденциальности» одним словом на 32px = 352px и распирало документ на
     320px-экране (замер: h1 scrollWidth 352 при clientWidth 273, документ 368 при 320).
     Перенос по слогам браузер для русского не делает, поэтому размер сбавляется в
     медиазапросе ниже, а break-word остаётся страховкой для ещё более узких экранов. */
  overflow-wrap: break-word;
}
@media (max-width: 480px) {
  h1 { font-size: 24px; }
}
h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--text-primary);
  margin: 32px 0 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border-primary);
}
h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--text-primary);
  margin: 16px 0 8px;
}
p, li {
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-secondary);
  margin: 0 0 12px;
}
ul, ol {
  margin: 0 0 16px 20px;
  padding: 0;
}
li {
  margin-bottom: 8px;
}
/* #422: прокручивается ОБЁРТКА, а не страница. `table { width: 100% }` от переполнения
   не спасает — min-content таблицы на пять колонок больше экрана телефона, и без этой
   обёртки вбок уезжал весь документ. Сама таблица внутри обёртки может быть шире неё,
   поэтому здесь min-width: 100%, а не width. */
.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 16px 0;
}
.table-scroll table {
  min-width: 100%;
  width: auto;
  margin: 0;
}
table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
  font-size: 14px;
}
th, td {
  padding: 12px;
  text-align: left;
  border: 1px solid var(--border-primary);
  color: var(--text-secondary);
}
th {
  background-color: var(--surface-raised);
  font-weight: 700;
  color: var(--text-primary);
}
strong {
  color: var(--text-primary);
}
.meta {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-bottom: 32px;
}
  
