.body1, .body1 p {
  font-size: 18px !important;
  line-height: 28px;
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6,
h7,
h8,
h9,
.body1 h1,
.body1 h2,
.body1 h3,
.body1 h4,
.body1 h5,
.body1 h6,
.body1 h7,
.body1 h8,
.body1 h9,
.body1 .headdings h1,
.body1 .headdings h2,
.body1 .headdings h3,
.body1 .headdings h4,
.body1 .headdings h5,
.body1 .headdings h6,
.body1 [class*="heading"] {
    text-transform: none !important;
}


.body1 h2 span[style*="font-weight: 400"],
.body1 h3 span[style*="font-weight: 400"],
.body1 h2 span[style*="font-weight:400"] {
    font-weight: inherit !important;
}

.body1,
.body1 p,
.body1 div {
    text-transform: none !important;
}

.body1 p {
    padding-top: 10px;
}
.body1 img {
    border-radius: 1.5rem;
    max-width: 522px;
    height: auto;
}

/* 3. РАЗМЕРЫ ТЕКСТА ТОЛЬКО ДЛЯ МОБИЛЬНЫХ внутри body1 */
@media (max-width: 768px) {
    .body1,
    .body1 p,
    .body1 div {
        font-size: 16px !important;
        line-height: 26px !important;
    }
}

/* ===== 4. КРАСИВЫЕ СПИСКИ внутри body1 (ЧЕРНЫЕ) ===== */
.body1 ul,
.body1 ol {
    margin: 20px 0;
    padding-left: 0;
    list-style: none;
}

/* Маркированные списки */
.body1 ul li {
    position: relative;
    padding-left: 16px !important;
    margin-bottom: 6px;
    line-height: 1.5;
    color: #1F1F1F;
}

.body1 ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #1F1F1F;
}

/* Вложенные списки */
.body1 ul ul {
    margin: 4px 0 2px 0;
    padding-left: 16px !important;
}

.body1 ul ul li {
    padding-left: 16px !important;
}

.body1 ul ul li::before {
    width: 5px;
    height: 5px;
    background: #666666;
    left: 0;
    top: 7px;
}

/* Нумерованные списки */
.body1 ol {
    counter-reset: custom-counter;
}

.body1 ol li {
    position: relative;
    padding-left: 20px !important;
    margin-bottom: 6px;
    line-height: 1.5;
    color: #1F1F1F;
    counter-increment: custom-counter;
}

.body1 ol li::before {
    content: counter(custom-counter) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 600;
    color: #1F1F1F;
    font-size: 0.95em;
    width: 16px;
    text-align: left;
}

/* Вложенные нумерованные списки */
.body1 ol ol {
    margin: 4px 0 2px 0;
    padding-left: 20px !important;
    counter-reset: custom-sub-counter;
}

.body1 ol ol li {
    counter-increment: custom-sub-counter;
    padding-left: 24px !important;
    margin-bottom: 4px;
}

.body1 ol ol li::before {
    content: counter(custom-counter) "." counter(custom-sub-counter) ".";
    color: #1F1F1F;
    font-weight: 400;
    font-size: 0.9em;
    left: 0;
    width: 22px;
    text-align: left;
}

h2, h3, h4, h5, h6, h7, h8, h9 {
  font-size: 30px;
  line-height: 42px;
  font-weight: 600 ;
  text-transform: capitalize;
}

.body1 h3 {
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
  text-transform: capitalize;
  padding-top: 20px;
}
.body1 h2 {
  padding-top: 15px;
}

@media (max-width: 1023.99px) {
  h2, h3, h4, h5, h6, h7, h8, h9 {
    font-size: 26px;
    line-height: 32px;
  }
}

@media (max-width: 767.98px) {
  h2, h3, h4, h5, h6, h7, h8, h9 {
    font-size: 18px;
    line-height: 28px;
  }
  .body1 h3 {
    font-size: 16px;
    line-height: 24px;
    padding-top: 15px;
    }
}

/* 5. КРАСИВЫЕ ТАБЛИЦЫ внутри body1 */
.body1 table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #cccccc;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    font-family: inherit;
    
    /* Обычное поведение */
    display: table;
    white-space: normal;
}


.body1 table thead tr{
    background-color: #f5f5f5;
    /* font-weight: 600; */
    border-bottom: 2px solid #cccccc;
    text-align: left;
}

.body1 table th {
    padding: 12px 16px;
    color: #1F1F1F;
    font-size: 18px;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.body1 table td {
    padding: 10px 16px;
    border-bottom: 1px solid #eaeaea;
    color: #1F1F1F;
    font-size: 18px;
}

.body1 table tr:last-child td {
    border-bottom: none;
}

.body1 table tbody tr:nth-child(even) {
    background-color: #fafafa;
}

.body1 table tbody tr:hover {
    background-color: #f0f0f0;
    transition: background-color 0.2s ease;
}

/* ДОБАВЛЕННЫЕ СТИЛИ ДЛЯ СКРОЛЛА - НИЧЕГО НЕ МЕНЯЮТ В ОБЫЧНЫХ ТАБЛИЦАХ */

/* Стили только для таблиц с классом table-scrollable (широкие таблицы) */
.body1 table.table-scrollable {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    width: 100%;
    /* Сохраняем существующие стили, но добавляем скролл */
}

/* Стили для ячеек внутри скроллящихся таблиц */
.body1 table.table-scrollable th,
.body1 table.table-scrollable td {
    white-space: nowrap;
    /* Все остальные стили наследуются из существующих правил */
}

/* Красивые полосы прокрутки для скроллящихся таблиц */
.body1 table.table-scrollable::-webkit-scrollbar {
    height: 8px;
}

.body1 table.table-scrollable::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 0 0 16px 16px;
}

.body1 table.table-scrollable::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

.body1 table.table-scrollable::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

.body1 button {
    font-size: 16px;
    line-height: 24px;
}

/* Мобильные таблицы внутри body1 */
@media (max-width: 640px) {
    .body1 table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        border-radius: 12px;
        -webkit-overflow-scrolling: touch;
    }
    
    .body1 table td,
    .body1 table th {
        padding: 8px 12px;
        font-size: 16px;
        color: #1F1F1F;
        line-height: 26px;
    }
    .body1 img {
        max-width: 100%;
    }
}