/* ------------------------------------------------------------------ */
/* Страница олимпиады в новом дизайне (templates/landing/v2.html).     */
/*                                                                      */
/* Тексты разделов приходят из CKEditor (OlympiadLanding) — обычный     */
/* HTML с тегами p/ul/ol/table и классами Bootstrap со старого сайта.   */
/* Tailwind сбрасывает стили этих тегов (preflight) и не знает классов  */
/* Bootstrap, поэтому оформление текстов — здесь, обычным CSS, без      */
/* пересборки output.css. Цвета — те же stone/slate/amber, что у сайта. */
/* ------------------------------------------------------------------ */

/* Длинный неразрывный кусок (в старых текстах много &nbsp;) переносится, а не
   вылезает за край экрана. */
.landing-rich { overflow-wrap: break-word; }
.landing-rich > * + * { margin-top: 0.75rem; }
.landing-rich p { margin: 0; }
.landing-rich p + p { margin-top: 0.75rem; }
.landing-rich h1, .landing-rich h2, .landing-rich h3,
.landing-rich h4, .landing-rich h5, .landing-rich h6 {
  font-family: Georgia, Cambria, "Times New Roman", serif;
  color: #0f172a;
  font-weight: 600;
  margin: 1.25rem 0 0.5rem;
  line-height: 1.3;
}
.landing-rich h1, .landing-rich h2 { font-size: 1.25rem; }
.landing-rich h3, .landing-rich h4 { font-size: 1.125rem; }
.landing-rich h5, .landing-rich h6 { font-size: 1rem; }
.landing-rich > :first-child { margin-top: 0; }

.landing-rich ul { list-style: disc; padding-left: 1.25rem; }
.landing-rich ol { list-style: decimal; padding-left: 1.25rem; }
.landing-rich li + li { margin-top: 0.35rem; }
.landing-rich li > ul, .landing-rich li > ol { margin-top: 0.35rem; }

.landing-rich a { color: #92400e; text-decoration: underline; }
.landing-rich a:hover { color: #78350f; }

.landing-rich strong, .landing-rich b { font-weight: 600; color: #0f172a; }
.landing-rich em, .landing-rich i { font-style: italic; }
.landing-rich hr { border: 0; border-top: 1px solid #d6d3d1; margin: 1rem 0; }
.landing-rich img { max-width: 100%; height: auto; }
.landing-rich blockquote { border-left: 3px solid #d6d3d1; padding-left: 0.75rem; color: #57534e; }

/* Таблица статистики и прочие таблицы из старых текстов. В HTML из
   редактора у таблицы свои атрибуты и style (сиреневый фон, border=1) —
   перебиваем их, чтобы таблица была в палитре сайта. */
html { scroll-behavior: smooth; }
.landing-rich table {
  width: 100%;
  border-collapse: collapse;
  border: 0 !important;
  background: #fff !important;
  font-size: 0.875rem;
}
.landing-rich th, .landing-rich td {
  border: 0 !important;
  border-bottom: 1px solid #e7e5e4 !important;
  background: transparent !important;
  padding: 0.6rem 0.9rem;
  text-align: left;
  vertical-align: top;
  font-variant-numeric: tabular-nums;
}
.landing-rich tbody tr:last-child td { border-bottom: 0 !important; }
.landing-rich thead th, .landing-rich tr:first-child th {
  background: #f5f5f4 !important;
  color: #78716c;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
/* Телефон: все колонки должны влезть в экран без горизонтального скролла.
   Год — в одну строку, шапка обычными буквами (капс с разрядкой съедает
   ширину), числа по правому краю. */
@media (max-width: 639px) {
  .landing-rich table { font-size: 0.75rem; }
  .landing-rich th, .landing-rich td { padding: 0.5rem 0.2rem; text-align: right !important; }
  .landing-rich th:first-child, .landing-rich td:first-child {
    text-align: left !important;
    white-space: nowrap;
    padding-left: 0.35rem;
  }
  .landing-rich th:last-child, .landing-rich td:last-child { padding-right: 0.35rem; }
  .landing-rich thead th, .landing-rich tr:first-child th {
    font-size: 0.625rem;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.25;
    vertical-align: bottom;
    font-weight: 500;
    hyphens: auto;
    -webkit-hyphens: auto;
  }
}
/* Классы Bootstrap, которые встречаются в старых текстах. */
.landing-rich .text-center, .landing-rich [align="center"] { text-align: center; }
.landing-rich .img-fluid { max-width: 100%; height: auto; }

/* Карта: iframe из редактора приходит с фиксированными width/height. */
.landing-map { position: relative; }
.landing-map iframe {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 16rem;
  border: 0;
}
.landing-map p { margin: 0; height: 100%; }

.landing-years a { color: #92400e; text-decoration: underline; }
.landing-years a:hover { color: #78350f; }
