/* ==========================================================================
   Typography block
   Работает поверх reset.css. Все стандартные теги внутри .typography-block
   получают аккуратные отступы без дополнительных классов.
   Размеры шрифта и шрифт наследуются от сайта.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Базовые настройки контейнера
   -------------------------------------------------------------------------- */
.typography-block {
  line-height: 1.6;

  /* Перенос длинных слов/ссылок, чтобы ничего не вылезало */
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* --------------------------------------------------------------------------
   Обнуление внешних отступов у первого и последнего элемента
   -------------------------------------------------------------------------- */
.typography-block > :first-child {
  margin-top: 0 !important;
}
.typography-block > :last-child {
  margin-bottom: 0 !important;
}

/* --------------------------------------------------------------------------
   Заголовки
   -------------------------------------------------------------------------- */
.typography-block h1,
.typography-block h2,
.typography-block h3,
.typography-block h4,
.typography-block h5,
.typography-block h6 {
  margin: 24px 0 8px;
  font-weight: 700;
  line-height: 1.25;
}

.typography-block h2 {
  padding-bottom: 5px;
}

/* --------------------------------------------------------------------------
   Параграфы и текст
   -------------------------------------------------------------------------- */
.typography-block p {
  margin: 16px 0;
}

.typography-block strong,
.typography-block b {
  font-weight: 700;
}

.typography-block em,
.typography-block i {
  font-style: italic;
}

.typography-block u {
  text-decoration: underline;
}

.typography-block s,
.typography-block del {
  text-decoration: line-through;
}

.typography-block ins {
  text-decoration: underline;
}

.typography-block mark {
  padding: 2px 4px;
  border-radius: 3px;
}

.typography-block sub,
.typography-block sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.typography-block sup {
  top: -8px;
}
.typography-block sub {
  bottom: -4px;
}

.typography-block abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
}

.typography-block kbd {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;
  padding: 2px 6px;
  border: 1px solid;
  border-bottom-width: 2px;
  border-radius: 4px;
  white-space: nowrap;
}

.typography-block var {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;
  font-style: italic;
}

.typography-block dfn {
  font-style: italic;
  font-weight: 600;
}

.typography-block q {
  quotes: "«" "»" "„" "“";
}
.typography-block q::before {
  content: open-quote;
}
.typography-block q::after {
  content: close-quote;
}

.typography-block cite {
  font-style: italic;
}

/* --------------------------------------------------------------------------
   Ссылки
   -------------------------------------------------------------------------- */
.typography-block a {
  color: #050505;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.typography-block a:hover {
  color: #f6e200;
  border-bottom-color: #f6e200;
}
.typography-block a:focus-visible {
  color: #f6e200;
  outline: 2px solid #f6e200;
  outline-offset: 2px;
  border-radius: 3px;
}

/* --------------------------------------------------------------------------
   Списки
   -------------------------------------------------------------------------- */
.typography-block ul,
.typography-block ol {
  margin: 16px 0;
  padding-left: 28px;
}
.typography-block ul {
  list-style: disc;
}
.typography-block ul ul {
  list-style: circle;
}
.typography-block ul ul ul {
  list-style: square;
}
.typography-block ol {
  list-style: decimal;
}
.typography-block ol ol {
  list-style: lower-alpha;
}
.typography-block ol ol ol {
  list-style: lower-roman;
}

.typography-block li {
  margin: 4px 0;
}

.typography-block li > ul,
.typography-block li > ol {
  margin: 4px 0;
}

/* Списки определений */
.typography-block dl {
  margin: 16px 0;
}
.typography-block dt {
  font-weight: 700;
  margin-top: 8px;
}
.typography-block dd {
  margin: 0 0 0 24px;
}

/* --------------------------------------------------------------------------
   Цитаты
   -------------------------------------------------------------------------- */
.typography-block blockquote {
  margin: 16px 0;
  padding: 4px 0 4px 16px;
  border-left: 4px solid;
}
.typography-block blockquote > :first-child {
  margin-top: 0;
}
.typography-block blockquote > :last-child {
  margin-bottom: 0;
}
.typography-block blockquote cite {
  display: block;
  margin-top: 8px;
}
.typography-block blockquote cite::before {
  content: "— ";
}

/* --------------------------------------------------------------------------
   Код
   -------------------------------------------------------------------------- */
.typography-block code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;
  padding: 3px 6px;
  border-radius: 4px;
}

.typography-block pre {
  margin: 16px 0;
  padding: 16px;
  overflow-x: auto;
  border: 1px solid;
  border-radius: 6px;
  line-height: 1.45;
  -webkit-overflow-scrolling: touch;
}
.typography-block pre code {
  padding: 0;
  background: none;
  border-radius: 0;
  white-space: pre;
}

/* --------------------------------------------------------------------------
   Горизонтальная линия
   -------------------------------------------------------------------------- */
.typography-block hr {
  margin: 24px 0;
  border: 0;
  border-top: 1px solid;
}

/* --------------------------------------------------------------------------
   Изображения и медиа
   -------------------------------------------------------------------------- */
.typography-block img,
.typography-block video,
.typography-block audio,
.typography-block iframe,
.typography-block embed,
.typography-block object {
  max-width: 100%;
  height: auto;
}

.typography-block img,
.typography-block video {
  display: block;
  margin: 16px 0;
  border-radius: 6px;
}

.typography-block figure {
  margin: 24px 0;
}
.typography-block figure img {
  margin: 0 auto;
}
.typography-block figcaption {
  margin-top: 8px;
  text-align: center;
}

/* --------------------------------------------------------------------------
   Таблицы
   -------------------------------------------------------------------------- */
/* .typography-block table {
  width: 100%;
  margin: 16px 0;
  border-collapse: collapse;
  border-spacing: 0;
  display: block;
  overflow-x: auto;
}
.typography-block caption {
  caption-side: bottom;
  margin-top: 8px;
  text-align: left;
}
.typography-block th,
.typography-block td,
.typography-block table td:last-child {
  padding: 8px 12px;
  border: 1px solid;
  text-align: left;
  vertical-align: top;
}
.typography-block th {
  font-weight: 700;
} */

/* --------------------------------------------------------------------------
   Формы (если контентщик вставит)
   -------------------------------------------------------------------------- */
.typography-block fieldset {
  margin: 16px 0;
  padding: 12px 16px;
  border: 1px solid;
  border-radius: 6px;
}
.typography-block legend {
  padding: 0 8px;
  font-weight: 700;
}
.typography-block label {
  display: inline-block;
  margin-bottom: 4px;
}
.typography-block input,
.typography-block textarea,
.typography-block select,
.typography-block button {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
.typography-block input[type="text"],
.typography-block input[type="email"],
.typography-block input[type="search"],
.typography-block input[type="url"],
.typography-block input[type="password"],
.typography-block input[type="number"],
.typography-block textarea,
.typography-block select {
  width: 100%;
  max-width: 100%;
  padding: 8px 12px;
  border: 1px solid;
  border-radius: 6px;
}
.typography-block textarea {
  min-height: 96px;
  resize: vertical;
}
.typography-block button {
  cursor: pointer;
  padding: 8px 16px;
  border: 1px solid;
  border-radius: 6px;
}

/* --------------------------------------------------------------------------
   details / summary
   -------------------------------------------------------------------------- */
.typography-block details {
  margin: 16px 0;
  padding: 8px 12px;
  border: 1px solid;
  border-radius: 6px;
}
.typography-block summary {
  cursor: pointer;
  font-weight: 600;
}
.typography-block details[open] summary {
  margin-bottom: 8px;
}

/* --------------------------------------------------------------------------
   Адрес
   -------------------------------------------------------------------------- */
.typography-block address {
  margin: 16px 0;
  font-style: normal;
}

/* --------------------------------------------------------------------------
   Прогресс / метр
   -------------------------------------------------------------------------- */
.typography-block progress,
.typography-block meter {
  vertical-align: middle;
  max-width: 100%;
}