/*
 * Оформление страницы «Основные сведения» (и других страниц из списка в info.php).
 *
 * Стили накладываются поверх того, что отдаёт визуальный редактор WordPress/WPBakery:
 * абзацы, таблицы, «сообщения», кнопки и колонки. Текст и разметку не меняем —
 * поэтому всё, что редакторы правят в админке, оформляется автоматически.
 *
 * Корневой класс .info_block--pretty выставляет шаблон info.php.
 */

/* ── Карточка страницы ─────────────────────────────────────────────────────── */
.info_block--pretty {
  box-sizing: border-box;
  max-width: 1120px;
  margin: 32px max(4%, calc((100% - 1120px) / 2)) 48px; /* центр без auto — корректно и во flex */
  padding: 48px 56px 52px;
  border-radius: 16px;
  background-color: #fff;
  box-shadow: 0 6px 28px rgba(22, 44, 84, 0.06);
}

.info_block--pretty .heading-8 {
  margin: 0 0 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e6ebf2;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.2;
  color: #1d2633;
}

/* ── Текст ─────────────────────────────────────────────────────────────────── */
.info_block--pretty .post_content {
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #3d4757;
  text-align: left;          /* вместо justify — без «рваных» пробелов */
  overflow-wrap: break-word;
}

.info_block--pretty .post_content p {
  margin: 0 0 6px;
}

/* Редактор проставляет цвет #333 и justify прямо в style="…".
   Перебиваем только эти значения — осознанно выбранные цвета/выравнивание остаются. */
.info_block--pretty .post_content [style*="#333333"],
.info_block--pretty .post_content [style*="rgb(51, 51, 51)"] {
  color: inherit !important;
}
.info_block--pretty .post_content [style*="justify"] {
  text-align: left !important;
}

.info_block--pretty .post_content strong,
.info_block--pretty .post_content b {
  font-weight: 600;
  color: #1d2633;
}

/* Пустые абзацы (<p>&nbsp;</p>), которыми в редакторе разделяют блоки,
   превращаются в аккуратную линию. Класс ставит page-svedenia.js;
   без скрипта такие абзацы просто остаются отступом. */
.info_block--pretty .post_content p.is-empty {
  height: 1px;
  margin: 24px 0 !important;
  padding: 0;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  background: #e8edf3 !important;
}
.info_block--pretty .post_content p.is-empty + p.is-empty,
.info_block--pretty .post_content p.is-empty:first-child,
.info_block--pretty .post_content p.is-empty:last-child {
  display: none;
}

/* Пустые текстовые блоки редактора (служебный <style>, «пустышки») — не занимают места */
.info_block--pretty .post_content .wpb_text_column.is-empty-block {
  display: none;
}

/* ── Ссылки ────────────────────────────────────────────────────────────────── */
.info_block--pretty .post_content a:not(.vc_btn3) {
  color: #2377c5;
  text-decoration: none;
  border-bottom: 1px solid rgba(35, 119, 197, 0.3);
  transition: color 0.15s ease, border-color 0.15s ease;
}
.info_block--pretty .post_content a:not(.vc_btn3):hover {
  color: #1a5f9f;
  border-bottom-color: currentColor;
}

/* ── Таблицы ───────────────────────────────────────────────────────────────── */
.info_block--pretty .post_content .scrollable {
  overflow-x: auto !important;
  margin: 26px 0 8px;
  border: 1px solid #e3e9f1;
  border-radius: 12px;
  -webkit-overflow-scrolling: touch;
}

.info_block--pretty .post_content table {
  width: 100% !important;
  height: auto !important;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.5;
  background: #fff;
}
/* таблица не внутри .scrollable — всё равно не выходит за карточку */
.info_block--pretty .post_content > * table,
.info_block--pretty .post_content table {
  max-width: 100%;
}
.info_block--pretty .post_content .scrollable table {
  min-width: 720px;
  max-width: none;
}

.info_block--pretty .post_content tr,
.info_block--pretty .post_content td,
.info_block--pretty .post_content th {
  height: auto !important;
}

.info_block--pretty .post_content td,
.info_block--pretty .post_content th {
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid #edf1f6;
  vertical-align: middle;
  color: #3d4757;
}
.info_block--pretty .post_content tr:last-child td {
  border-bottom: 0;
}
.info_block--pretty .post_content td p {
  margin: 0 !important;
}
.info_block--pretty .post_content td p + p {
  margin-top: 2px !important;
}

.info_block--pretty .post_content tbody tr:nth-child(even) td {
  background: #fafbfd;
}
.info_block--pretty .post_content tbody tr:hover td {
  background: #f2f7fd;
}

/* Шапка таблицы: настоящий <thead>/<th> или первая строка из одних жирных ячеек
   (такую строку помечает скрипт классом .is-head) */
.info_block--pretty .post_content thead th,
.info_block--pretty .post_content thead td,
.info_block--pretty .post_content tr.is-head td,
.info_block--pretty .post_content tr.is-head th {
  background: #f3f7fc !important;
  color: #2377c5;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 1px solid #e3e9f1;
}
.info_block--pretty .post_content tr.is-head strong {
  color: inherit;
  font-weight: 700;
}

/* ── «Сообщения» WPBakery (почта, график работы) ───────────────────────────── */
.info_block--pretty .post_content .vc_message_box {
  position: relative;
  margin: 0 0 14px;
  padding: 18px 24px 18px 66px;
  border: 0;
  border-left: 4px solid #2377c5;
  border-radius: 12px;
  background: #f1f7fe;
  color: #2c3646;
  font-size: 15px;
  line-height: 1.6;
}
.info_block--pretty .post_content .vc_message_box:last-child {
  margin-bottom: 28px;
}
.info_block--pretty .post_content .vc_message_box p {
  margin: 0;
}
.info_block--pretty .post_content .vc_message_box .vc_message_box-icon {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2377c5;
  font-size: 20px;
}
.info_block--pretty .post_content .vc_message_box .vc_message_box-icon > * {
  position: static;
  transform: none;
  font-size: 20px;
  line-height: 1;
}

/* ── Колонки редактора (банковские реквизиты и т.п.) — карточки ────────────── */
/* :has() — карточка появляется только у блоков с реальным содержимым */
.info_block--pretty .post_content .vc_col-sm-6 .wpb_text_column:has(p, table, ul, ol, img) {
  box-sizing: border-box;
  height: auto;
  margin-bottom: 20px;
  padding: 24px 26px;
  border: 1px solid #e6ebf2 !important;
  border-radius: 14px;
  background: #f8fafc !important;
}
.info_block--pretty .post_content .vc_col-sm-6 .wpb_text_column p {
  margin: 0 0 4px;
  font-size: 15px;
  line-height: 1.6;
}
.info_block--pretty .post_content .vc_col-sm-6 .wpb_text_column p:first-child strong {
  color: #2377c5;
}

/* ── Кнопки WPBakery (лицензия, аккредитация) ──────────────────────────────── */
.info_block--pretty .post_content .vc_btn3.vc_btn3-color-primary {
  border: 0 !important;
  border-radius: 10px !important;
  background-color: #2377c5 !important;
  background-image: none !important;
  box-shadow: 0 2px 10px rgba(35, 119, 197, 0.25);
  color: #fff !important;
  font-weight: 600;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}
.info_block--pretty .post_content .vc_btn3.vc_btn3-color-primary:hover {
  background-color: #1c67ad !important;
  box-shadow: 0 4px 14px rgba(35, 119, 197, 0.35);
}

/* ── Адаптив ───────────────────────────────────────────────────────────────── */
@media (max-width: 1199px) {
  .info_block--pretty {
    margin-left: 4%;
    margin-right: 4%;
  }
}

@media (max-width: 767px) {
  .info_block--pretty {
    margin: 16px 12px 32px;
    padding: 28px 18px 32px;
    border-radius: 12px;
  }
  .info_block--pretty .heading-8 {
    margin-bottom: 22px;
    padding-bottom: 14px;
    font-size: 26px;
  }
  .info_block--pretty .post_content {
    font-size: 15px;
    line-height: 1.7;
  }
  .info_block--pretty .post_content .vc_message_box {
    padding: 16px 18px 16px 56px;
  }
  .info_block--pretty .post_content .vc_message_box .vc_message_box-icon {
    width: 52px;
  }
  .info_block--pretty .post_content .vc_col-sm-6 .wpb_text_column:has(p, table, ul, ol, img) {
    padding: 20px 18px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
 * Раскладка, которую строит js/page-svedenia.js.
 * Без скрипта этих классов нет — страница просто остаётся в обычном виде.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ── Секции-карточки ───────────────────────────────────────────────────────── */
.info_block--pretty .sv-section {
  margin: 0 0 20px;
}
.info_block--pretty .sv-section p {
  margin: 0 0 6px;
}
.info_block--pretty .sv-section--card,
.info_block--pretty .sv-section--wide {
  padding: 22px 26px;
  border: 1px solid #e6ebf2;
  border-radius: 14px;
  background: #fff;
}
.info_block--pretty .sv-section--wide {
  background: #fbfcfe;
}

/* первый абзац-описание — спокойный «лид» */
.info_block--pretty .sv-section--lead {
  padding: 22px 26px;
  border: 1px solid #dce8f6;
  border-radius: 14px;
  background: linear-gradient(135deg, #edf5fd 0%, #f7fafd 100%);
  font-size: 17px;
  line-height: 1.7;
  color: #1d2633;
}
.info_block--pretty .sv-section--lead p {
  margin: 0;
}
.info_block--pretty .sv-section--lead strong,
.info_block--pretty .sv-section--lead b {
  font-weight: 400;
  color: inherit;
}

/* соседние небольшие карточки — в две колонки */
.info_block--pretty .sv-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0 0 20px;
}
.info_block--pretty .sv-grid > .sv-section {
  margin: 0;
}
/* одна карточка в «сетке» — на всю ширину */
.info_block--pretty .sv-grid > .sv-section:only-child {
  grid-column: 1 / -1;
}
/* таблица — отдельным блоком под карточкой, без второй рамки вокруг */
.info_block--pretty .sv-section--table {
  margin-top: -6px;
}
.info_block--pretty .sv-section--table .scrollable {
  margin: 0 !important;
}
/* строки «ярлык — значение» в широкой карточке без таблицы — короткие, ярлыку хватит 34% */

.info_block--pretty .sv-section__title {
  margin: 0 0 14px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid #edf1f6;
  font-size: 15px;
  line-height: 1.55;
  color: #1d2633;
}
.info_block--pretty .sv-section__title strong,
.info_block--pretty .sv-section__title b {
  font-weight: 600;
}

/* ── «Ярлык — значение» ────────────────────────────────────────────────────── */
.info_block--pretty .sv-kv__title {
  margin: 0 0 6px;
  padding-bottom: 12px;
  border-bottom: 1px solid #edf1f6;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: #1d2633;
}
.info_block--pretty .sv-kv__title strong,
.info_block--pretty .sv-kv__title b {
  font-weight: 600;
}

.info_block--pretty .sv-kv__row {
  display: grid;
  grid-template-columns: minmax(150px, 34%) minmax(0, 1fr);
  gap: 2px 22px;
  padding: 10px 0;
  border-bottom: 1px solid #f0f3f7;
  font-size: 15px;
  line-height: 1.55;
}
.info_block--pretty .sv-kv__row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.info_block--pretty .sv-kv__row--plain .sv-kv__value {
  grid-column: 1 / -1;
}
.info_block--pretty .sv-kv__label {
  padding-top: 1px;
  font-size: 13.5px;
  line-height: 1.5;
  color: #6b7789;
}
.info_block--pretty .sv-kv__value {
  min-width: 0;
  color: #1d2633;
  overflow-wrap: anywhere;
}
.info_block--pretty .sv-kv__value.is-allbold strong,
.info_block--pretty .sv-kv__value.is-allbold b {
  font-weight: inherit;
}

/* в узких карточках ярлыкам нужно чуть больше места */
.info_block--pretty .sv-grid .sv-kv__row {
  grid-template-columns: minmax(120px, 40%) minmax(0, 1fr);
}

/* ── Список адресов ────────────────────────────────────────────────────────── */
.info_block--pretty .wpb_text_column.sv-card-block {
  margin-bottom: 20px !important;
  padding: 22px 26px;
  border: 1px solid #e6ebf2;
  border-radius: 14px;
  background: #fff;
}
.info_block--pretty .sv-list-title {
  margin: 0 0 14px !important;
  font-size: 15px;
  color: #1d2633;
}
.info_block--pretty .sv-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.info_block--pretty .sv-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  border-radius: 10px;
  background: #f4f8fc;
  font-size: 15px;
  line-height: 1.45;
  color: #1d2633;
}
.info_block--pretty .sv-list li::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232377c5'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}

/* ── Уведомление ───────────────────────────────────────────────────────────── */
.info_block--pretty .wpb_text_column.sv-notice {
  position: relative;
  margin-bottom: 20px !important;
  padding: 18px 24px 18px 62px;
  border: 1px solid #f1d9a2;
  border-radius: 14px;
  background: #fff8e8;
}
.info_block--pretty .wpb_text_column.sv-notice::before {
  content: "!";
  position: absolute;
  top: 18px;
  left: 20px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #e39b2d;
  color: #fff;
  font: 700 15px/26px Arial, Helvetica, sans-serif;
  text-align: center;
}
.info_block--pretty .sv-notice p {
  margin: 0 0 4px;
  color: #5a4516;
}
.info_block--pretty .sv-notice strong,
.info_block--pretty .sv-notice b {
  color: inherit;
}
.info_block--pretty .sv-notice .sv-notice__title {
  font-size: 16px;
  line-height: 26px;
  color: #7a5412;
}

/* ── «Сообщения» (почта, график работы) — в ряд ───────────────────────────── */
.info_block--pretty .sv-boxes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}
.info_block--pretty .sv-boxes > .vc_empty_space {
  display: none;
}
.info_block--pretty .sv-boxes > .vc_message_box {
  margin: 0 !important;
}

/* ── Банковские реквизиты ─────────────────────────────────────────────────── */
.info_block--pretty .post_content .vc_col-sm-6 .wpb_text_column {
  font-variant-numeric: tabular-nums;
}
.info_block--pretty .post_content .vc_col-sm-6 .wpb_text_column p.sv-subhead {
  margin: 14px 0 4px !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #6b7789;
}
.info_block--pretty .post_content .vc_col-sm-6 .wpb_text_column p.sv-subhead strong {
  color: inherit;
}

/* ── Кнопки документов — в ряд ────────────────────────────────────────────── */
.info_block--pretty .is-empty-col {
  display: none !important;
}
.info_block--pretty .sv-col-full {
  width: 100% !important;
}
.info_block--pretty .sv-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding-top: 8px;
}
.info_block--pretty .sv-buttons > .vc_empty_space {
  display: none;
}
.info_block--pretty .sv-buttons > .vc_btn3-container {
  flex: 1 1 320px;
  margin: 0 !important;
}
.info_block--pretty .sv-buttons .vc_btn3 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  box-sizing: border-box;
}

/* ── Адаптив раскладки ────────────────────────────────────────────────────── */
@media (max-width: 991px) {
  .info_block--pretty .sv-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .info_block--pretty .sv-boxes {
    grid-template-columns: 1fr;
  }
  .info_block--pretty .sv-kv__row,
  .info_block--pretty .sv-grid .sv-kv__row {
    grid-template-columns: 1fr;
    gap: 2px;
  }
  .info_block--pretty .sv-section--lead,
  .info_block--pretty .sv-section--card,
  .info_block--pretty .sv-section--wide,
  .info_block--pretty .wpb_text_column.sv-card-block {
    padding: 18px 16px;
  }
  .info_block--pretty .sv-section--lead {
    font-size: 16px;
  }
  .info_block--pretty .wpb_text_column.sv-notice {
    padding: 16px 16px 16px 52px;
  }
  .info_block--pretty .wpb_text_column.sv-notice::before {
    top: 16px;
    left: 14px;
  }
  .info_block--pretty .sv-list {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
 * Модификатор .info_block--tiles: кнопки WPBakery как плитки-ссылки
 * (страница «Структура и органы управления»). Задаётся в info.php.
 * Работает только на CSS — разметка и тексты кнопок не меняются.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ── Заголовки разделов ────────────────────────────────────────────────────── */
.info_block--tiles .post_content .vc_custom_heading {
  position: relative;
  margin: 20px 0 24px !important;
  padding-left: 16px;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.3;
  text-align: left !important;
  color: #1d2633;
}
.info_block--tiles .post_content .vc_custom_heading::before {
  content: "";
  position: absolute;
  top: 0.18em;
  bottom: 0.18em;
  left: 0;
  width: 4px;
  border-radius: 2px;
  background: #2377c5;
}

/* «Зигзаги» между разделами → тонкая линия */
.info_block--tiles .post_content .vc-zigzag-wrapper {
  margin: 12px 0;
}
.info_block--tiles .post_content .vc-zigzag-inner {
  min-height: 0 !important;
  height: 1px;
  background: #e6ebf2 !important;
}

/* ── Сетка плиток ──────────────────────────────────────────────────────────── */
/* Колонки редактора раскладываем ровной сеткой: плиток в ряд столько, сколько
   помещается без сжатия названий; пустых ячеек не остаётся (auto-fit). */
.info_block--tiles .post_content .vc_row.vc_inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); /* на ширине страницы — не больше 2 в ряд */
  gap: 16px;
  margin: 0 0 16px !important;
}
.info_block--tiles .post_content .vc_row.vc_inner::before,
.info_block--tiles .post_content .vc_row.vc_inner::after {
  display: none;              /* clearfix WPBakery не нужен и ломает grid */
}
.info_block--tiles .post_content .vc_inner > .vc_column_container {
  float: none;
  width: auto !important;
  min-width: 0;
}
.info_block--tiles .post_content .vc_inner > .vc_column_container > .vc_column-inner {
  height: 100%;
  padding: 0 !important;
}
/* несколько кнопок в одной колонке — тоже сеткой */
.info_block--tiles .post_content .vc_inner .wpb_wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); /* на ширине страницы — не больше 2 в ряд */
  gap: 16px;
  height: 100%;
}
.info_block--tiles .post_content .vc_inner .wpb_wrapper > .vc_empty_space {
  display: none;
}
/* заголовки и разделители, лежащие в той же колонке, — на всю строку, а не в ячейку сетки */
.info_block--tiles .post_content .vc_inner .wpb_wrapper > :not(.vc_btn3-container) {
  grid-column: 1 / -1;
}
.info_block--tiles .post_content .vc_btn3-container {
  display: block !important;
  margin: 0 !important;
}

/* ── Плитка ────────────────────────────────────────────────────────────────── */
.info_block--tiles .post_content .vc_btn3 {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 14px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 66px;
  padding: 12px 46px 12px 14px !important;
  border: 1px solid #e3e9f1 !important;
  border-radius: 12px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: 0 1px 2px rgba(22, 44, 84, 0.04) !important;
  color: #1d2633 !important;
  font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease, color 0.15s ease;
}
.info_block--tiles .post_content .vc_btn3:hover,
.info_block--tiles .post_content .vc_btn3:focus-visible {
  border-color: #2377c5 !important;
  box-shadow: 0 6px 18px rgba(35, 119, 197, 0.14) !important;
  color: #1a5f9f !important;
  transform: translateY(-1px);
}

/* иконка из редактора — в голубом квадратике */
.info_block--tiles .post_content .vc_btn3 .vc_btn3-icon {
  position: static !important;
  top: auto !important;
  left: auto !important;
  flex: 0 0 38px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin: 0 !important;
  border-radius: 10px;
  background: #eaf3fc;
  color: #2377c5;
  font-size: 16px !important;
  line-height: 1 !important;
  transform: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.info_block--tiles .post_content .vc_btn3:hover .vc_btn3-icon {
  background: #2377c5;
  color: #fff;
}

/* кнопка без иконки — ставим свою: документ для файлов, ссылку для страниц */
.info_block--tiles .post_content .vc_btn3:not(:has(.vc_btn3-icon))::before {
  content: "";
  flex: 0 0 38px;
  height: 38px;
  border-radius: 10px;
  background: #eaf3fc no-repeat center / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232377c5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");
}
.info_block--tiles .post_content .vc_btn3:not(:has(.vc_btn3-icon)):is([href$=".pdf" i], [href$=".doc" i], [href$=".docx" i], [href$=".xls" i], [href$=".xlsx" i], [href$=".rtf" i])::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232377c5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
}

/* стрелка справа: страница — шеврон, файл — «скачать» */
.info_block--tiles .post_content .vc_btn3::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa7b8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
  transition: transform 0.15s ease;
}
.info_block--tiles .post_content .vc_btn3:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232377c5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
  transform: translateX(3px);
}
.info_block--tiles .post_content .vc_btn3:is([href$=".pdf" i], [href$=".doc" i], [href$=".docx" i], [href$=".xls" i], [href$=".xlsx" i], [href$=".rtf" i])::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa7b8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 11l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
}
.info_block--tiles .post_content .vc_btn3:is([href$=".pdf" i], [href$=".doc" i], [href$=".docx" i], [href$=".xls" i], [href$=".xlsx" i], [href$=".rtf" i]):hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232377c5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 11l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
  transform: translateY(2px);
}

/* нечётная последняя плитка — на всю ширину (класс ставит page-svedenia.js) */
.info_block--tiles .post_content .sv-span-full {
  grid-column: 1 / -1;
}

/* ── Файлы для скачивания — голубоватая плитка ─────────────────────────────── */
.info_block--tiles .post_content .vc_btn3:is([href$=".pdf" i], [href$=".doc" i], [href$=".docx" i], [href$=".xls" i], [href$=".xlsx" i], [href$=".rtf" i]) {
  border-color: #cfe1f5 !important;
  background: #f1f7fe !important;
}
.info_block--tiles .post_content .vc_btn3:is([href$=".pdf" i], [href$=".doc" i], [href$=".docx" i], [href$=".xls" i], [href$=".xlsx" i], [href$=".rtf" i]):hover {
  border-color: #2377c5 !important;
  background: #e8f1fc !important;
}
.info_block--tiles .post_content .vc_btn3:is([href$=".pdf" i], [href$=".doc" i], [href$=".docx" i], [href$=".xls" i], [href$=".xlsx" i], [href$=".rtf" i])::before,
.info_block--tiles .post_content .vc_btn3:is([href$=".pdf" i], [href$=".doc" i], [href$=".docx" i], [href$=".xls" i], [href$=".xlsx" i], [href$=".rtf" i]) .vc_btn3-icon {
  background-color: #fff !important;
}

/* ── Кнопка-раскрывашка (без ссылки, открывает блок по клику) ──────────────── */
.info_block--tiles .post_content a.vc_btn3:not([href]) {
  cursor: pointer;
}
.info_block--tiles .post_content a.vc_btn3:not([href]):not(:has(.vc_btn3-icon))::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232377c5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");
}
.info_block--tiles .post_content a.vc_btn3:not([href])::after,
.info_block--tiles .post_content a.vc_btn3:not([href]):hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa7b8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  transform: none;
  transition: transform 0.2s ease;
}
.info_block--tiles .post_content a.vc_btn3:not([href]):hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232377c5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
/* блок раскрыт — стрелка вверх */
.info_block--tiles .post_content .wpb_raw_html:has(.wpb_wrapper > div[style*="block"]) a.vc_btn3:not([href])::after {
  transform: rotate(180deg);
}
/* раскрывающийся блок — аккуратная карточка под кнопкой */
.info_block--tiles .post_content .wpb_raw_html .wpb_wrapper > div[id] {
  margin-top: 4px;
  padding: 18px 20px;
  border: 1px solid #e3e9f1;
  border-radius: 12px;
  background: #fbfcfe;
  text-align: center;
}
.info_block--tiles .post_content .wpb_raw_html .wpb_wrapper > div[id] .wpb_text_column {
  margin: 0 !important;
}
.info_block--tiles .post_content .wpb_raw_html .wpb_wrapper > div[id] p {
  margin: 0 0 6px;
}

@media (max-width: 767px) {
  .info_block--tiles .post_content .vc_custom_heading {
    font-size: 18px !important;
  }
  .info_block--tiles .post_content .vc_row.vc_inner,
  .info_block--tiles .post_content .vc_inner .wpb_wrapper {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .info_block--tiles .post_content .vc_btn3 {
    min-height: 58px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
 * Карточка сотрудника (.ppk-person): страницы отделов (модификатор person)
 * и раскрывашки на «Структуре». На страницах отделов классы расставляет
 * page-svedenia.js по обычному тексту из редактора.
 * ═══════════════════════════════════════════════════════════════════════════ */
.info_block--pretty .ppk-person {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  column-gap: 18px;
  align-items: start;
  box-sizing: border-box;
  max-width: 680px;
  padding: 26px 28px;
  border: 1px solid #e3e9f1;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(22, 44, 84, 0.05);
  text-align: left;
}
.info_block--pretty .ppk-person > * {
  grid-column: 2;
  margin: 0;
}
.info_block--pretty .ppk-person .ppk-person__avatar {
  grid-column: 1;
  grid-row: 1 / span 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2f86d6 0%, #1c67ad 100%);
  color: #fff;
  font: 700 22px/1 Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
}
.info_block--pretty .ppk-person .ppk-person__role {
  margin: 0;
  align-self: end;
  font-size: 12.5px !important;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  text-transform: uppercase;
  color: #2377c5 !important;
}
.info_block--pretty .ppk-person .ppk-person__role strong {
  color: inherit;
  font-weight: inherit;
}
.info_block--pretty .ppk-person .ppk-person__name {
  margin: 4px 0 16px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px !important;
  font-weight: 700;
  line-height: 1.3;
  color: #1d2633 !important;
}
.info_block--pretty .ppk-person .ppk-person__name strong {
  color: inherit;
  font-weight: inherit;
}
.info_block--pretty .ppk-person .ppk-person__line {
  margin: 0;
  position: relative;
  padding: 10px 0 10px 34px;
  border-top: 1px solid #f0f3f7;
  font-size: 15px !important;
  line-height: 1.5;
  color: #3d4757;
  text-align: left !important;
}
.info_block--pretty .ppk-person .ppk-person__line::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: #eaf3fc no-repeat center / 13px;
}
/* иконки из редактора ([icon]) в распознанных строках заменяем единообразными */
.info_block--pretty .ppk-person .ppk-person__line--address > i,
.info_block--pretty .ppk-person .ppk-person__line--phone > i,
.info_block--pretty .ppk-person .ppk-person__line--email > i {
  display: none;
}
.info_block--pretty .ppk-person .ppk-person__line--address::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232377c5'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}
.info_block--pretty .ppk-person .ppk-person__line--phone::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232377c5'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
}
.info_block--pretty .ppk-person .ppk-person__line--email::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232377c5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
}
.info_block--pretty .ppk-person .ppk-person__line a {
  color: #2377c5;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(35, 119, 197, 0.3);
}
.info_block--pretty .ppk-person .ppk-person__line a:hover {
  border-bottom-color: currentColor;
}

/* ── Раскрывашка на <details> (плитка + карточка) ─────────────────────────── */
.info_block--pretty .ppk-toggle > summary {
  list-style: none;
  cursor: pointer;
}
.info_block--pretty .ppk-toggle > summary::-webkit-details-marker {
  display: none;
}
/* раскрывашка растёт по содержимому: «на всю высоту ячейки» для неё не годится,
   иначе при открытии плитка раздувается, а карточка наезжает на следующий ряд */
.info_block--tiles .post_content .ppk-toggle > summary.vc_btn3 {
  height: auto !important;
}
.info_block--tiles .post_content .vc_column-inner:has(.ppk-toggle),
.info_block--tiles .post_content .wpb_wrapper:has(.ppk-toggle) {
  height: auto !important;
}
.info_block--tiles .post_content .ppk-toggle > summary.vc_btn3::before {
  content: "";
  flex: 0 0 38px;
  height: 38px;
  border-radius: 10px;
  background: #eaf3fc no-repeat center / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232377c5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");
}
.info_block--tiles .post_content .ppk-toggle > summary.vc_btn3::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa7b8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  transform: none !important;
  transition: transform 0.2s ease;
}
.info_block--tiles .post_content .ppk-toggle > summary.vc_btn3:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232377c5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
}
.info_block--tiles .post_content .ppk-toggle[open] > summary.vc_btn3 {
  border-color: #2377c5 !important;
}
.info_block--tiles .post_content .ppk-toggle[open] > summary.vc_btn3::after {
  transform: rotate(180deg) !important;
}
.info_block--pretty .ppk-toggle > .ppk-person {
  max-width: none;
  margin-top: 10px;
  box-shadow: none;
  background: #fbfcfe;
}

@media (max-width: 767px) {
  .info_block--pretty .ppk-person {
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 14px;
    padding: 20px 18px;
  }
  .info_block--pretty .ppk-person .ppk-person__avatar {
    width: 48px;
    height: 48px;
    font-size: 17px;
  }
  .info_block--pretty .ppk-person .ppk-person__name {
    font-size: 19px !important;
  }
  .info_block--pretty .ppk-person .ppk-person__line {
    grid-column: 1 / -1;
  }
}

/* ── Страница отдела: контакты без рамки ───────────────────────────────────────────────── */
/* Когда кроме контактов на странице ничего нет, отдельная рамка — лишний «фрейм в фрейме»:
   контакты стоят прямо в блоке страницы, без аватара и разделительных линий. */
.info_block--person .post_content .ppk-person {
  display: block;
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.info_block--person .post_content .ppk-person .ppk-person__avatar {
  display: none;
}
.info_block--person .post_content .ppk-person .ppk-person__role {
  font-size: 13px !important;
}
.info_block--person .post_content .ppk-person .ppk-person__name {
  margin: 6px 0 20px;
  font-size: 26px !important;
}
.info_block--person .post_content .ppk-person .ppk-person__line {
  padding: 7px 0 7px 36px;
  border-top: 0;
  font-size: 16px !important;
}
.info_block--person .post_content .ppk-person .ppk-person__line::before {
  top: 7px;
  width: 24px;
  height: 24px;
}

@media (max-width: 767px) {
  .info_block--person .post_content .ppk-person .ppk-person__name {
    font-size: 22px !important;
  }
  .info_block--person .post_content .ppk-person .ppk-person__line {
    font-size: 15px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
 * Модификатор .info_block--docs: страницы с таблицами документов wpDataTables
 * («Образовательные стандарты и требования»). Ширина блока — как у обычных
 * страниц сайта (без ограничения 1120px). Таблица по-прежнему редактируется
 * в wpDataTables — меняется только внешний вид.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ширина — исходная, как у остальных внутренних страниц */
.info_block--docs {
  max-width: none;
  margin-left: 10%;
  margin-right: 10%;
}

/* ── Таблица wpDataTables ─────────────────────────────────────────────────── */
.info_block--docs .post_content .wpDataTableContainerSimpleTable {
  margin: 8px 0 0 !important;
  padding: 0 !important;
  overflow-x: auto;
  border: 1px solid #e3e9f1;
  border-radius: 14px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}
.info_block--docs .post_content table.wpDataTable {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
  background: #fff;
}

/* шрифт и размеры плагина (Georgia, 12–18px) → единый шрифт сайта */
.info_block--docs .post_content table.wpDataTable th,
.info_block--docs .post_content table.wpDataTable td,
.info_block--docs .post_content table.wpDataTable .wpdt-cell {
  padding: 16px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f6 !important;
  background: #fff !important;
  font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: #3d4757;
  text-align: left !important;
  vertical-align: middle;
}
.info_block--docs .post_content table.wpDataTable tr:last-child td {
  border-bottom: 0 !important;
}

/* шапка */
.info_block--docs .post_content table.wpDataTable thead th {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  background: #f3f7fc !important;
  border-bottom: 1px solid #e3e9f1 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  line-height: 1.35 !important;
  text-transform: uppercase;
  color: #2377c5;
  white-space: normal;
}

/* код специальности */
.info_block--docs .post_content table.wpDataTable tbody td[data-col-index="0"] {
  font-weight: 700 !important;
  color: #2377c5;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
/* название программы */
.info_block--docs .post_content table.wpDataTable tbody td[data-col-index="1"] {
  font-weight: 600 !important;
  color: #1d2633;
}

/* пустая ячейка — тихий прочерк вместо дыры */
.info_block--docs .post_content table.wpDataTable td.wpdt-empty-cell::before {
  content: "—";
  color: #c3ccd8;
}

/* ── Ссылки на документы — плашки «скачать» ───────────────────────────────── */
.info_block--docs .post_content table.wpDataTable a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 10px 42px 10px 12px;
  border: 1px solid #d6e6f7 !important;
  border-bottom: 1px solid #d6e6f7 !important;
  border-radius: 10px;
  background: #f5f9fe;
  font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.4;
  color: #1d2633 !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.info_block--docs .post_content table.wpDataTable a + a,
.info_block--docs .post_content table.wpDataTable a + br + a {
  margin-top: 8px;
}
.info_block--docs .post_content table.wpDataTable a:hover,
.info_block--docs .post_content table.wpDataTable a:focus-visible {
  border-color: #2377c5 !important;
  background: #eaf3fc;
  color: #1a5f9f !important;
  box-shadow: 0 4px 12px rgba(35, 119, 197, 0.12);
}
/* иконка документа */
.info_block--docs .post_content table.wpDataTable a::before {
  content: "";
  flex: 0 0 32px;
  height: 32px;
  border-radius: 8px;
  background: #fff no-repeat center / 17px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232377c5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
  box-shadow: inset 0 0 0 1px #d6e6f7;
}
/* PDF — красная иконка с подписью, чтобы сразу было видно тип файла */
.info_block--docs .post_content table.wpDataTable a[href$=".pdf" i]::before {
  background-size: 26px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 3h10l7 7v17a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z' fill='%23fff' stroke='%23d9534f' stroke-width='1.6'/%3E%3Cpath d='M19 3v7h7' fill='none' stroke='%23d9534f' stroke-width='1.6'/%3E%3Crect x='4' y='16' width='20' height='9' rx='2' fill='%23d9534f'/%3E%3Ctext x='14' y='23' font-family='Arial' font-size='7' font-weight='700' fill='%23fff' text-anchor='middle'%3EPDF%3C/text%3E%3C/svg%3E");
}
/* значок «скачать» справа */
.info_block--docs .post_content table.wpDataTable a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa7b8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 11l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
  transition: transform 0.15s ease;
}
.info_block--docs .post_content table.wpDataTable a:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232377c5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 11l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
  transform: translateY(2px);
}

/* ── Адаптив ──────────────────────────────────────────────────────────────── */
@media (max-width: 991px) {
  .info_block--docs {
    margin-left: 5%;
    margin-right: 5%;
  }
}
@media (max-width: 767px) {
  .info_block--docs {
    margin-left: 12px;
    margin-right: 12px;
  }
  /* на телефоне таблица листается вбок внутри своей рамки */
  .info_block--docs .post_content table.wpDataTable {
    min-width: 820px;
  }
  .info_block--docs .post_content table.wpDataTable th,
  .info_block--docs .post_content table.wpDataTable td,
  .info_block--docs .post_content table.wpDataTable .wpdt-cell {
    padding: 12px 14px !important;
    font-size: 14px !important;
  }
}

/* ── Документы: группы специальностей (классы ставит page-svedenia.js) ─────── */
.info_block--docs .post_content table.wpDataTable tbody td {
  border-bottom: 0 !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}
/* граница между специальностями — заметная */
.info_block--docs .post_content table.wpDataTable tbody tr.sv-g-start td {
  border-top: 1px solid #dde5ef !important;
}
.info_block--docs .post_content table.wpDataTable tbody tr.sv-g-start:first-child td {
  border-top: 0 !important;
}
/* внутри одной специальности — тонкий пунктир и меньше воздуха */
.info_block--docs .post_content table.wpDataTable tbody tr.sv-g-cont td {
  border-top: 1px dashed #e3e9f1 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}
.info_block--docs .post_content table.wpDataTable tbody tr.sv-g-empty {
  height: 0;
}
/* чередование фона по специальностям, а не по строкам */
.info_block--docs .post_content table.wpDataTable tbody tr.sv-g-alt td {
  background: #f7f9fc !important;
}

/* код специальности — бейдж */
.info_block--docs .post_content table.wpDataTable .sv-code {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 8px;
  background: #e6f0fb;
  color: #1c67ad;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
.info_block--docs .post_content table.wpDataTable tbody td[data-col-index="1"] {
  font-size: 15.5px !important;
}

/* заголовки колонок документов — цветом типа документа */
.info_block--docs .post_content table.wpDataTable thead th[data-col-index="3"] {
  color: #23865a;
}

/* плашки: белые (видны и на светлом фоне группы), слева полоска типа документа */
.info_block--docs .post_content table.wpDataTable a {
  align-items: flex-start;
  padding: 10px 40px 10px 14px;
  border-color: #dfe7f0 !important;
  border-left: 3px solid #2377c5 !important;
  background: #fff;
}
.info_block--docs .post_content table.wpDataTable a.sv-doc--gia {
  border-left-color: #2e9e6a !important;
}
.info_block--docs .post_content table.wpDataTable a:hover {
  background: #f3f8fe;
}
.info_block--docs .post_content table.wpDataTable a.sv-doc--gia:hover {
  border-color: #2e9e6a !important;
  background: #f1faf5;
  color: #1d6b48 !important;
}
.info_block--docs .post_content table.wpDataTable a.sv-doc--gia:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e9e6a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 11l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
}

.info_block--docs .post_content table.wpDataTable .sv-doc__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.info_block--docs .post_content table.wpDataTable .sv-doc__title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  color: #1d2633;
}
.info_block--docs .post_content table.wpDataTable a:hover .sv-doc__title {
  color: inherit;
}
.info_block--docs .post_content table.wpDataTable .sv-doc__desc {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  color: #6b7789;
}
.info_block--docs .post_content table.wpDataTable .sv-doc__year {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 7px;
  border-radius: 6px;
  background: #e6f0fb;
  color: #1c67ad;
  font-size: 12px;
  font-weight: 700;
  vertical-align: 1px;
}

/* ширины колонок: коду — ровно под бейдж, освободившееся место — документам */
.info_block--docs .post_content table.wpDataTable thead th[data-col-index="0"] {
  width: 112px !important;
}
.info_block--docs .post_content table.wpDataTable thead th[data-col-index="1"] {
  width: 22% !important;
}
.info_block--docs .post_content table.wpDataTable thead th[data-col-index="2"],
.info_block--docs .post_content table.wpDataTable thead th[data-col-index="3"] {
  width: auto !important;
}

/* ── Бабблы уточнений из скобок: «На базе основного общего образования» и т.п. ── */
.info_block--docs .post_content table.wpDataTable .sv-prog__name {
  display: block;
}
.info_block--docs .post_content table.wpDataTable .sv-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.info_block--docs .post_content table.wpDataTable .sv-tag {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  background: #eef2f7;
  color: #556275;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.35;
  white-space: normal;
}
/* после 9 класса — синий, после 11 — зелёный, «по отраслям» и прочее — серый */
.info_block--docs .post_content table.wpDataTable .sv-tag--basic {
  background: #e6f0fb;
  color: #1c67ad;
}
.info_block--docs .post_content table.wpDataTable .sv-tag--secondary {
  background: #e3f4ea;
  color: #23865a;
}
/* внутри плашек документов — мельче */
.info_block--docs .post_content table.wpDataTable .sv-tags--small {
  gap: 4px;
  margin-top: 5px;
}
.info_block--docs .post_content table.wpDataTable .sv-tags--small .sv-tag {
  padding: 1px 8px;
  font-size: 11.5px;
}

/* плашки PDF — без цветной полоски слева */
.info_block--docs .post_content table.wpDataTable a,
.info_block--docs .post_content table.wpDataTable a.sv-doc--gia {
  border-left: 1px solid #dfe7f0 !important;
}
.info_block--docs .post_content table.wpDataTable a:hover {
  border-left-color: #2377c5 !important;
}
.info_block--docs .post_content table.wpDataTable a.sv-doc--gia:hover {
  border-left-color: #2e9e6a !important;
}
/* вертикальные линии между столбцами */
.info_block--docs .post_content table.wpDataTable th:not([data-col-index="0"]),
.info_block--docs .post_content table.wpDataTable td:not([data-col-index="0"]) {
  border-left: 1px solid #e3e9f1 !important;
}

/* уточнения — спокойные, одного цвета; при переносе на 2 строки текст не упирается в края */
.info_block--docs .post_content table.wpDataTable .sv-tag,
.info_block--docs .post_content table.wpDataTable .sv-tag--basic,
.info_block--docs .post_content table.wpDataTable .sv-tag--secondary {
  padding: 4px 10px;
  border-radius: 8px;
  background: #f1f4f8;
  color: #5b6778;
  font-weight: 500;
  line-height: 1.4;
}

/* «на базе среднего общего образования» — жёлтым, чтобы отличалась от «основного» */
.info_block--docs .post_content table.wpDataTable .sv-tags .sv-tag--secondary {
  background: #fff4dd;
  color: #9a6400;
}

/* код специальности — без бабла, просто крупнее */
.info_block--docs .post_content table.wpDataTable .sv-code {
  padding: 0;
  border-radius: 0;
  background: none;
  color: #1c67ad;
  font-size: 17px;
  letter-spacing: 0.01em;
}

/* иконка PDF — синяя, при наведении на плашку — красная */
.info_block--docs .post_content table.wpDataTable a[href$=".pdf" i]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 3h10l7 7v17a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z' fill='%23fff' stroke='%232377c5' stroke-width='1.6'/%3E%3Cpath d='M19 3v7h7' fill='none' stroke='%232377c5' stroke-width='1.6'/%3E%3Crect x='4' y='16' width='20' height='9' rx='2' fill='%232377c5'/%3E%3Ctext x='14' y='23' font-family='Arial' font-size='7' font-weight='700' fill='%23fff' text-anchor='middle'%3EPDF%3C/text%3E%3C/svg%3E");
}
.info_block--docs .post_content table.wpDataTable a[href$=".pdf" i]:hover::before,
.info_block--docs .post_content table.wpDataTable a[href$=".pdf" i]:focus-visible::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 3h10l7 7v17a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z' fill='%23fff' stroke='%23d9534f' stroke-width='1.6'/%3E%3Cpath d='M19 3v7h7' fill='none' stroke='%23d9534f' stroke-width='1.6'/%3E%3Crect x='4' y='16' width='20' height='9' rx='2' fill='%23d9534f'/%3E%3Ctext x='14' y='23' font-family='Arial' font-size='7' font-weight='700' fill='%23fff' text-anchor='middle'%3EPDF%3C/text%3E%3C/svg%3E");
  box-shadow: inset 0 0 0 1px #f3c9c7;
}

/* подсветка всей специальности под курсором (группу размечает page-svedenia.js) */
@media (min-width: 768px) {
  .info_block--docs .post_content table.wpDataTable tbody tr.sv-g-hover td {
    background: #eaf3fc !important;
    transition: background-color 0.12s ease;
  }
}

/* ── Телефон: вместо широкой таблицы — карточка на каждую специальность ────── */
@media (max-width: 767px) {
  .info_block--docs .post_content .wpDataTableContainerSimpleTable {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .info_block--docs .post_content table.wpDataTable {
    display: block;
    min-width: 0;
    background: transparent;
  }
  .info_block--docs .post_content table.wpDataTable tbody {
    display: flex;
    flex-direction: column;
  }
  .info_block--docs .post_content table.wpDataTable thead {
    display: none;
  }
  /* строки таблицы «растворяются» — карточку собирают сами ячейки */
  .info_block--docs .post_content table.wpDataTable tbody tr {
    display: contents;
  }
  .info_block--docs .post_content table.wpDataTable tbody td.sv-cell-empty {
    display: none;
  }
  .info_block--docs .post_content table.wpDataTable tbody tr[class] td {
    display: block;
    box-sizing: border-box;
    width: auto !important;
    padding: 6px 16px !important;
    border: 0 !important;
    border-left: 1px solid #dde5ef !important;
    border-right: 1px solid #dde5ef !important;
    background: #fff !important;
    font-size: 14px !important;
    white-space: normal;
  }
  .info_block--docs .post_content table.wpDataTable tbody tr[class] td.sv-card-first {
    margin-top: 14px;
    padding-top: 16px !important;
    border-top: 1px solid #dde5ef !important;
    border-radius: 14px 14px 0 0;
  }
  .info_block--docs .post_content table.wpDataTable tbody tr[class] td.sv-card-last {
    padding-bottom: 16px !important;
    border-bottom: 1px solid #dde5ef !important;
    border-radius: 0 0 14px 14px;
  }
  .info_block--docs .post_content table.wpDataTable tbody tr[class] td.sv-card-first.sv-card-last {
    border-radius: 14px;
  }
  .info_block--docs .post_content table.wpDataTable tbody tr[class] td[data-col-index="0"] {
    padding-bottom: 2px !important;
  }
  .info_block--docs .post_content table.wpDataTable tbody tr[class] td[data-col-index="1"] {
    padding-bottom: 10px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
  }
  /* подпись «ФГОС» / «Программа ГИА» над первой плашкой своего типа */
  .info_block--docs .post_content table.wpDataTable tbody td[data-sv-label]::before {
    content: attr(data-sv-label);
    display: block;
    margin: 6px 0 8px;
    padding-top: 12px;
    border-top: 1px solid #edf1f6;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.35;
    text-transform: uppercase;
    color: #2377c5;
  }
  .info_block--docs .post_content table.wpDataTable tbody td[data-col-index="3"][data-sv-label]::before {
    color: #23865a;
  }
  .info_block--docs .post_content table.wpDataTable a {
    padding: 10px 36px 10px 12px;
  }
  .info_block--docs .post_content table.wpDataTable a::before {
    flex-basis: 28px;
    height: 28px;
  }
  .info_block--docs .post_content table.wpDataTable a::after {
    right: 12px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
 * Модификатор .info_block--history: «О колледже → История» — длинный текст
 * с колонками фотографий. Разметку WPBakery не трогаем, только внешний вид.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* шрифт из редактора (style="font-family: helvetica…") → шрифт страницы */
.info_block--history .post_content [style*="font-family"] {
  font-family: inherit !important;
}
.info_block--history .post_content p {
  margin: 0 0 16px;
}
.info_block--history .post_content > .vc_row {
  margin-bottom: 28px;
}
.info_block--history .post_content > .vc_row:last-child {
  margin-bottom: 0;
}

/* ── Вступление: портрет + цитата Каманина ─────────────────────────────────── */
.info_block--history .post_content > .vc_row:first-child:has(.wpb_single_image) {
  display: flex;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
  padding: 28px 32px;
  border-radius: 16px;
  background: #f3f7fc;
}
.info_block--history .post_content > .vc_row:first-child:has(.wpb_single_image)::before,
.info_block--history .post_content > .vc_row:first-child:has(.wpb_single_image)::after {
  display: none;
}
.info_block--history .post_content > .vc_row:first-child:has(.wpb_single_image) > .wpb_column {
  float: none;
}
.info_block--history .post_content > .vc_row:first-child:has(.wpb_single_image) > .wpb_column:has(.wpb_single_image) {
  flex: 0 0 auto;
  width: auto;
}
.info_block--history .post_content > .vc_row:first-child:has(.wpb_single_image) > .wpb_column:not(:has(.wpb_single_image)) {
  flex: 1 1 auto;
  width: auto;
}
.info_block--history .post_content > .vc_row:first-child .vc_column-inner {
  padding-top: 0;
}
.info_block--history .post_content > .vc_row:first-child .wpb_single_image,
.info_block--history .post_content > .vc_row:first-child .wpb_text_column,
.info_block--history .post_content > .vc_row:first-child .wpb_content_element {
  margin-bottom: 0;
}
.info_block--history .post_content > .vc_row:first-child .wpb_single_image img {
  width: 150px;
  border-radius: 12px;
}
.info_block--history .post_content > .vc_row:first-child .wpb_text_column p {
  font-size: 17px;
  line-height: 1.7;
}
.info_block--history .post_content > .vc_row:first-child .wpb_text_column p:first-child {
  position: relative;
  padding-left: 22px;
  border-left: 3px solid #2377c5;
  font-style: italic;
  color: #2b3544;
}
.info_block--history .post_content > .vc_row:first-child .wpb_text_column p:last-child {
  margin-bottom: 0;
}

/* ── Фотографии ────────────────────────────────────────────────────────────── */
.info_block--history .post_content .wpb_single_image {
  margin-bottom: 16px !important;
}
.info_block--history .post_content .wpb_single_image .vc_figure,
.info_block--history .post_content .wpb_single_image .vc_single_image-wrapper {
  display: block;
  width: 100%;
}
.info_block--history .post_content .wpb_single_image .vc_single_image-wrapper {
  overflow: hidden;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #eef2f7 !important;
  box-shadow: 0 2px 10px rgba(22, 44, 84, 0.08);
}
.info_block--history .post_content .wpb_single_image img {
  display: block;
  width: 100%;
  height: auto;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: transform 0.35s ease;
}
.info_block--history .post_content .wpb_single_image a.vc_single_image-wrapper:hover img {
  transform: scale(1.04);
}
.info_block--history .post_content .wpb_single_image a.vc_single_image-wrapper {
  cursor: zoom-in;
}
/* колонка с фото — чуть отступаем от текста */
.info_block--history .post_content .vc_col-sm-4:has(.wpb_single_image) > .vc_column-inner {
  padding-left: 28px;
}

/* ── Список выпускников ────────────────────────────────────────────────────── */
.info_block--history .post_content ul {
  margin: 4px 0 20px !important;
  padding: 0 !important;
  list-style: none;
}
.info_block--history .post_content ul li {
  position: relative;
  margin: 0 0 8px;
  padding: 10px 14px 10px 36px;
  border-radius: 10px;
  background: #f6f9fc;
  line-height: 1.55;
}
.info_block--history .post_content ul li::before {
  content: "";
  position: absolute;
  top: 19px;
  left: 16px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2377c5;
}

/* зигзаг-разделитель → тонкая линия */
.info_block--history .post_content .vc-zigzag-wrapper {
  height: 1px;
  margin: 12px 0 !important;
  background: #e8edf3;
}
.info_block--history .post_content .vc-zigzag-inner {
  display: none;
}
.info_block--history .post_content .vc_empty_space {
  display: none;
}

/* ── Телефон ───────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .info_block--history .post_content > .vc_row:first-child:has(.wpb_single_image) {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 18px;
  }
  .info_block--history .post_content > .vc_row:first-child:has(.wpb_single_image) > .wpb_column {
    width: 100%;
  }
  .info_block--history .post_content > .vc_row:first-child .wpb_single_image {
    margin-bottom: 16px;
  }
  .info_block--history .post_content > .vc_row:first-child .wpb_single_image img {
    width: 110px;
  }
  .info_block--history .post_content > .vc_row:first-child .wpb_text_column p {
    font-size: 16px;
  }
  /* фото — сеткой по две */
  .info_block--history .post_content .vc_col-sm-4:has(.wpb_single_image) > .vc_column-inner {
    padding-left: 15px;
  }
  .info_block--history .post_content .vc_col-sm-4:has(.wpb_single_image) > .vc_column-inner > .wpb_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .info_block--history .post_content .vc_col-sm-4:has(.wpb_single_image) .wpb_single_image {
    margin: 0 !important;
  }
  .info_block--history .post_content .vc_col-sm-4:has(.wpb_single_image) .wpb_single_image img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
}
