:root {
    --md-typeset-a-color-rgb: 26, 115, 232;
}

.md-typeset h1 {
  max-width: 90%;
}

/* Увеличиваем ширину поиска на десктопе */
@media screen and (min-width: 76.25em) {
  .md-search {
      width: 250px; 
  }

  .md-search__button {
      width: 100%;
  }
}

@media screen and (min-width: 0em) {
    .md-header__source {
        display: none !important;
    }
}


/* ========================================
Переопределение breakpoint для мобильного меню (800px вместо 960px)
======================================== */

/* Показываем логотип всегда */
@media screen and (min-width: 0px) {
    .md-header__button.md-logo {
        display: block;
        padding-right: 0 !important;
    }
}

/* Показываем кнопку мобильного меню на ширине от 800px до 1220px */
@media screen and (min-width: 800px) and (max-width: 1219px) {
    .md-header__button.md-icon[for="__drawer"] {
        display: block !important;
        order: 3 !important;
        margin-left: auto !important;
    }
    
    /* Скрываем табы в этом диапазоне */
    /* .md-tabs {
        display: none !important;
    } */
}

/* Скрываем кнопку мобильного меню на ширине > 1220px */
/* @media screen and (min-width: 1220px) {
    .md-header__button.md-icon[for="__drawer"] {
        display: none;
    }
} */

/* Скрываем кнопку мобильного меню на ширине > 800px */
/* @media screen and (min-width: 800px) {
    .md-header__button.md-icon[for="__drawer"] {
        display: none;
    }
} */

/* Показываем навигационные табы на ширине от 800px */
@media screen and (min-width: 800px) {
    .md-tabs {
        display: block;
    }
}

/* Скрываем вспомогательные кнопки мобильного меню на ширине > 800px */
@media screen and (min-width: 800px) {
    .md-nav--primary {
        position: static;
        max-height: none;
    }

    .md-nav .md-nav__external {
        display: none;
    }

    .md-nav .md-nav__buttons {
        display: none;
    }
}

/* Увеличиваем ширину мобильного меню */
@media screen and (max-width: 799px) {
    /* Переопределяем transform для drawer с увеличенной шириной */
    .md-sidebar--primary {
        width: 85vw;
        max-width: 280px;
    }
    
    /* Прячем drawer за экраном когда закрыт */
    .md-sidebar--primary {
        transform: translateX(-85vw);
    }
    
    /* Показываем drawer когда открыт */
    [data-md-toggle="__drawer"]:checked ~ .md-container .md-sidebar--primary {
        transform: translateX(0);
    }
    
    /* Увеличиваем ширину навигации */
    .md-nav--primary {
        width: 100%;
    }
    
    /* Убираем лишний padding у списка и добавляем отступы по бокам */
    .md-nav--primary .md-nav__list {
        padding: 0 1rem 0 0.5rem;
    }
    
    /* Ограничиваем ширину активной области пунктов меню */
    .md-nav__item {
        padding-right: 0;
    }

    /* Скрываем поиск, переключатель темы и языка на мобильных */
    /* .md-header .md-search,
    .md-header .md-header__button[for="__search"], */
    /* .md-header .md-header__option, */
    .md-header .md-select--language {
        display: none !important;
    }

    /* Переносим кнопку меню в правый край */
    .md-header__button.md-icon[for="__drawer"] {
        order: 1 !important;
        margin-left: auto !important;
    }

    [dir=ltr] .md-nav__list .md-nav__list {
        margin-left: 0rem;
    }
}

/* Внешние ссылки в мобильном меню */
.md-nav__external {
    margin: 1.2rem 1.2rem 0.8rem 0.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Общие стили для внешних ссылок (мобильное меню и табы) */
.md-nav__external .md-nav__link {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.6rem;
    background-color: rgba(var(--md-typeset-a-color-rgb), 0.85);
    color: var(--md-primary-bg-color) !important;
    border-radius: 0.7rem;
    transition: background-color 0.2s, transform 0.2s;
    font-weight: 500;
}

.md-nav__external .md-nav__link {
    justify-content: center;
    font-size: 0.7rem;
    padding: 0.3rem 0.5rem;
}

.md-nav__external .md-nav__link:hover {
    background-color: var(--md-typeset-a-color) !important;
    color: var(--md-primary-bg-color) !important;
}

/* Блок в таб-меню для внешних ссылок */
.nav-external {
    display: flex;
}

.nav-external li {
    padding-left: 0 !important;
}

@media screen and (max-width: 900px) {
    .nav-external li:last-child {
        display: none;
    }
}


/* Кнопки в мобильном меню */
.md-nav__buttons {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0rem 1.4rem 1.4rem 0.6rem;
    /* padding-top: 1rem; */
    /* border-top: 0.05rem solid var(--md-default-fg-color--lightest); */
}

/* .md-nav__buttons .md-header__button {
    width: 100%;
    padding: 0.6rem;
    background-color: var(--md-default-fg-color--lightest);
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.md-nav__buttons .md-header__button:hover {
    background-color: var(--md-default-fg-color--light);
} */

.md-nav__buttons .md-header__option {
    width: 4rem;
}

/* Стили для переключателя языков в мобильном меню */
.md-nav__buttons .md-select {
    width: 100%;
}

.md-nav__buttons .md-select__button {
    width: 100%;
    justify-content: center;
}


/* ========================================
Стили для переключателя языков
======================================== */

/* Кнопка выбора языка с фоном как у поиска */
.md-select--language .md-select__button {
    background-color: var(--md-default-fg-color--lightest);
    border-radius: 0.5rem;
    padding: 0.3rem 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: background-color 0.2s, color 0.2s;
    border: none;
    cursor: pointer;
}

.md-select--language .md-select__button:hover {
    background-color: var(--md-default-fg-color--light);
    /* color: var(--md-accent-fg-color); */
}

.md-select--language .md-select__button .md-select__name {
    /* color: var(--md-accent-fg-color); */
    color: var(--md-default-fg-color);
}

.md-select--language .md-select__button .md-select__flag {
    opacity: 1;
}

.md-select__current {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.md-select__flag {
    font-size: 1rem;
    line-height: 1;
}

.md-select__name {
    font-weight: 400;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    color: var(--md-accent-fg-color);
}

/* Выпадающий список языков */
.md-select--language .md-select__list {
    background-color: var(--md-default-bg-color);
    border-radius: 0.5rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.md-select--language .md-select__link {
    display: flex;
    align-items: center;
    gap: 0rem;
    padding: 0rem 1rem;
}

.md-select--language .md-select__link:hover {
    background-color: var(--md-accent-fg-color--transparent);
}


/* Стиль для интро-текста */
.lead {
    font-size: 1rem;
    font-weight: 400;
    /* color: var(--md-default-fg-color--light); */
    margin-bottom: 3rem;
}

.lead p {
    margin-block-start: 0 !important;
}

/* Адаптивный размер шрифта для lead-текста */
@media screen and (max-width: 800px) {
    .lead {
        font-size: 1rem;
        line-height: 1.5;
        margin-bottom: 2rem;
    }
}

@media screen and (max-width: 480px) {
    .lead {
        font-size: 1rem;
        line-height: 1.4;
        margin-bottom: 2rem;
    }
}

/* ========================================
Стили для карточек тарифов (Material for MkDocs grid cards)
======================================== */

body:has([href*="pricing"]) .md-typeset .tabbed-set .tabbed-labels {
    margin-bottom: 2rem;
}

/* Узкие карточки для тарифов */
.grid.cards.narrow {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    /* gap: 1rem; */
}

@media (min-width: 1200px) {
    .grid.cards.narrow {
        grid-template-columns: repeat(4, minmax(220px, 280px));
        justify-content: center;
    }
}

/* Скрываем permalink у заголовков в narrow карточках */
.grid.cards.narrow .headerlink {
    display: none !important;
}

/* Базовые стили карточек - видимая рамка */
.md-typeset .tabbed-content .grid.cards.narrow > ul > li {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border: 1px solid var(--md-default-fg-color--lightest) !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    padding: 1.5rem !important;
    margin: 0 !important;
}

/* Цветные рамки по умолчанию для разных тарифов */
.md-typeset .tabbed-content .grid.cards.narrow > ul > li:nth-child(1) {
    border-color: #ddd !important; /* для Free */
}

.md-typeset .tabbed-content .grid.cards.narrow > ul > li:nth-child(2) {
    border-color: rgb(0, 218, 255) !important; /* для Start */
}

.md-typeset .tabbed-content .grid.cards.narrow > ul > li:nth-child(3) {
    border-color: rgb(31, 91, 255) !important; /* для Plus */
}

.md-typeset .tabbed-content .grid.cards.narrow > ul > li:nth-child(4) {
    border-color: rgb(70, 0, 247) !important; /* для Pro */
}

/* Эффекты при наведении */
.md-typeset .tabbed-content .grid.cards.narrow > ul > li:hover {
    transform: translateY(-8px) !important;
}

/* Разные цвета тени для разных карточек при наведении */
.md-typeset .tabbed-content .grid.cards.narrow > ul > li:nth-child(1):hover {
    box-shadow: 0 0 32px rgba(187, 187, 187, 0.35) !important;
}

.md-typeset .tabbed-content .grid.cards.narrow > ul > li:nth-child(2):hover {
    box-shadow: 0 0 32px rgba(0, 218, 255, 0.35) !important;
}

.md-typeset .tabbed-content .grid.cards.narrow > ul > li:nth-child(3):hover {
    box-shadow: 0 0 32px rgba(31, 91, 255, 0.35) !important;
}

.md-typeset .tabbed-content .grid.cards.narrow > ul > li:nth-child(4):hover {
    box-shadow: 0 0 32px rgba(70, 0, 247, 0.35) !important;
}

/* ========================================
   Стили для сравнительной таблицы тарифов
   ======================================== */
.compare {
    /* background-color: #4fc3f7; */
    padding: 0 100%;
    margin: 0 -100%;
}

/* Отключаем растяжение на мобильных */
@media (max-width: 768px) {
    .compare {
        padding: 0 !important;
        margin: 0 !important;
    }
}

.compare .md-typeset__scrollwrap {
    width: 100% !important;
    margin: 0 !important;
}

.compare .md-typeset__table {
    width: 100% !important;
    padding: 0 !important;
}

.compare .md-typeset__table thead tr {
    width: 100% !important;
}

/* .md-typeset__table table {
    background-color: transparent !important;
} */

.md-typeset__table table {
    width: 100%;
    border-collapse: collapse;
}
.md-typeset__table table th:first-child,
.md-typeset__table table td:first-child {
  width: 30%;
}
.md-typeset__table table th:nth-child(n+2),
.md-typeset__table table td:nth-child(n+2) {
   width: auto;
}
/* Увеличенный размер шрифта для таблицы сравнения */
.md-typeset .compare table {
    font-size: 0.7rem !important;
}

.md-typeset .compare table thead th {
    font-size: 0.7rem !important;
}

.md-typeset table thead {
    font-weight: 900;
}

/* Стили для иконок успеха и ошибки */
/* .md-typeset .success {
    color: var(--md-accent-fg-color) !important;
} */

.md-typeset .error {
    color: var(--md-default-fg-color--light) !important;
    opacity: 0.3;
}

/* Улучшенная читаемость таблицы */
.md-typeset table tbody tr:hover {
    background-color: var(--md-accent-fg-color--transparent);
}

/* ========================================
   Стили для карточек дополнительных услуг
   ======================================== */

.md-typeset .grid.cards.addons > ul > li {
    border-radius: 0.5rem !important;
    padding: 1.5rem !important;
    margin: 0.5rem !important;
}


/* ========================================
   Заголовки
   ======================================== */

.grid.cards.narrow h1 {
    margin-bottom: 0.3em;
}

h1 {
    font-size: 2.5em !important;
    font-weight: 900 !important;

    /* -webkit-text-stroke: 1px black; */
    /* text-shadow: 0.5px 0.5px 0 rgba(0,0,0,0.2); */

}

h2 {
    font-size: 2em !important;
    font-weight: 700 !important;

    /* -webkit-text-stroke: 1px black; */
    /* text-shadow: 0.5px 0.5px 0 rgba(0,0,0,0.2); */

}

/* ========================================
   Батоны
   ======================================== */
.md-button.md-button--small {
      min-width: 1%;
      padding: 0.4em 0.8em;
      font-size: 1em;
}

/* ========================================
   Иконки
   ======================================== */
@keyframes heart {
  0%, 40%, 80%, 100% {
    transform: scale(1);
  }
  20%, 60% {
    transform: scale(1.15);
  }
}
.heart {
  animation: heart 1000ms infinite;
}

/* ========================================
   Стили для списка кейсов
   ======================================== */

.md-typeset .grid.cards.cases {
  gap: 1.5rem !important;
}

.md-typeset .grid.cards.cases > ul {
  display: contents !important;
}

/* .md-typeset .grid.cards.cases > ul > li {
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}*/

.grid.cards > ul > li:hover,
/* .md-typeset .grid.cards.cases > ul > li:hover, */
.md-typeset .grid.cards.features > ul > li:hover {
  border: 0.05rem solid var(--md-primary-fg-color) !important;
} 

.md-typeset .grid.cards.features {
    gap: 1rem;
}

.md-typeset .grid.cards.features .twemoji svg {
    color: var(--md-typeset-color) !important;
}

.md-typeset .grid.cards.cases > ul > li:hover {
  border: 0.05rem solid var(--md-default-fg-color--lightest) !important;
} 

/* .md-typeset .grid.cards.features > ul > li:last-child {
    display: flex !important;
    align-items: center !important;
} */

.md-typeset .grid.cards.features .md-annotation__index:after {
    width: 1rem !important;
    height: 1rem !important;
    opacity: 0.7;
    transition: opacity 0.25s;
}

.md-typeset .md-tooltip {
    background-color: var(--md-code-bg-color) !important;
}


/* Подсказка для таблицы тарифов */
.compare.annotate .md-tooltip {
    top: inherit;
    left: inherit;
    margin-left: 12px;
    margin-top: 7px;
}

/* Подсказки для data-preview - только на устройствах с hover */
@media (hover: hover) and (pointer: fine) {
    .md-tooltip2__inner {
        background-color: var(--md-code-bg-color) !important;
    }

    [role=dialog]>.md-tooltip2__inner:before {
        background: linear-gradient(var(--md-code-bg-color), #0000 75%) !important;
    }

    [role=dialog]>.md-tooltip2__inner:after {
        background: linear-gradient(#0000, var(--md-code-bg-color) 75%) !important;
    }
}

/* На мобильных устройствах отключаем preview tooltips */
@media (hover: none) or (pointer: coarse) {
    [role=dialog]>.md-tooltip2__inner {
        display: none !important;
    }
}



.md-typeset .grid.cards.features .md-annotation__index:hover:after {
    opacity: 1;
}

.md-typeset .grid.cards.features .twemoji {
    color: var(--md-typeset-a-color) !important;
}

.md-typeset .grid.cards.features .twemoji svg {
    fill: currentColor !important;
}

.md-typeset .grid.cards.cases > ul > li > p {
  display: flex !important;
  /* align-items: flex-start !important; */
  align-items: center !important;
  gap: 1em !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

.md-typeset .grid.cards.cases > ul > li .twemoji {
  flex-shrink: 0 !important;
  margin-top: 0.1em !important;
  font-size: 2em !important;
  color: var(--md-typeset-a-color) !important;
  /* color: var(--md-accent-fg-color) !important; */
}

/* Градиент для иконок кейсов */
.md-typeset .grid.cards.cases > ul > li .case-icon-gradient svg {
  fill: url(#case-icon-gradient) !important;
}

.md-typeset .grid.cards.cases > ul > li .case-icon-gradient svg path {
  fill: url(#case-icon-gradient) !important;
}

/* Определение градиента */
.md-typeset .grid.cards.cases::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.md-typeset .grid.cards.cases {
  position: relative;
}

svg#case-gradient-def {
  position: absolute;
  width: 0;
  height: 0;
}

/* .md-typeset .grid.cards.cases > ul > li .twemoji svg {
  width: 3em !important;
  height: 3em !important;
} */

.md-typeset .grid.cards.cases > ul > li strong {
  flex: 1 !important;
}

.md-typeset .grid.cards.cases > ul > li a {
  text-decoration: none !important;
  color: var(--md-default-fg-color) !important;
}

.md-typeset .grid.cards.cases > ul > li a:hover {
  /* text-decoration: underline !important; */
  color: var(--md-typeset-a-color) !important;
}

/* Ссылка на все кейсы */
/* .md-typeset .grid.cards.cases > ul > li.other-link p { */
.md-typeset .grid.cards.cases > ul > li.other-link {
    display: flex !important;
    align-items: center !important;
}

.md-typeset .grid.cards.cases > ul > li.other-link a {
  color: var(--md-typeset-a-color) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  align-items: center !important;
  display: flex !important;
  gap: 0.3em !important;
}

.md-typeset .grid.cards.cases > ul > li.other-link a:hover {
  text-decoration: underline !important;
}

.md-typeset .grid.cards.cases > ul > li.other-link a .twemoji {
  display: flex !important;
  align-items: center !important;
  margin-top: 0 !important;
}

.md-typeset .grid.cards.cases > ul > li.other-link a .twemoji svg {
  fill: currentColor !important;
  height: 0.5em !important;
  width: 0.5em !important;
}

/* Иконка paper-plane для ссылок на t.me */
.md-typeset a[href*="t.me"]:not(.md-button, .md-social__link)::after {
  content: "";
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  margin-left: 0.25em;
  margin-right: 0.25em;
  margin-bottom: 0.25em;
  background-color: #29b6f6;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M536.4-26.3c9.8-3.5 20.6-1 28 6.3s9.8 18.2 6.3 28l-178 496.9c-5 13.9-18.1 23.1-32.8 23.1-14.2 0-27-8.6-32.3-21.7l-64.2-158c-4.5-11-2.5-23.6 5.2-32.6l94.5-112.4c5.1-6.1 4.7-15-.9-20.6s-14.6-6-20.6-.9l-112.4 94.3c-9.1 7.6-21.6 9.6-32.6 5.2L38.1 216.8c-13.1-5.3-21.7-18.1-21.7-32.3 0-14.7 9.2-27.8 23.1-32.8z'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M536.4-26.3c9.8-3.5 20.6-1 28 6.3s9.8 18.2 6.3 28l-178 496.9c-5 13.9-18.1 23.1-32.8 23.1-14.2 0-27-8.6-32.3-21.7l-64.2-158c-4.5-11-2.5-23.6 5.2-32.6l94.5-112.4c5.1-6.1 4.7-15-.9-20.6s-14.6-6-20.6-.9l-112.4 94.3c-9.1 7.6-21.6 9.6-32.6 5.2L38.1 216.8c-13.1-5.3-21.7-18.1-21.7-32.3 0-14.7 9.2-27.8 23.1-32.8z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  vertical-align: text-bottom;
}

/* Иконка глаза для ссылок с data-preview */
.md-typeset a[data-preview]:not(.md-button, .md-social__link)::after {
  content: "";
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  margin-left: 0.25em;
  margin-right: 0.25em;
  margin-bottom: 0.25em;
  background-color: currentColor;
  opacity: 0.75;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c26.5 0 48-21.5 48-48s-21.5-48-48-48c-26.5 0-48 21.5-48 48s21.5 48 48 48zm0-144c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96s43-96 96-96z'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c26.5 0 48-21.5 48-48s-21.5-48-48-48c-26.5 0-48 21.5-48 48s21.5 48 48 48zm0-144c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96s43-96 96-96z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  vertical-align: text-bottom;
}

/* Стрелочка для внешних ссылок (кроме Telegram, localhost и hotline) */
.md-typeset a[href^="http"]:not([href*="t.me"]):not([href*="localhost"]):not([href*="hotline"]):not(.md-button, .md-social__link)::after {
  content: "↗";
  display: inline-block;
  margin-left: 0.2em;
  font-size: 0.8em;
  opacity: 0.6;
  vertical-align: super;
}

/* Цвет галочек в чекбоксах */
.md-typeset .task-list-control [type="checkbox"]:checked::before {
  background-color: var(--md-typeset-a-color) !important;
}

.md-typeset .task-list-indicator::before {
  background-color: var(--md-typeset-a-color) !important;
}

/* Timeline стили */
.md-typeset .timeline ol {
  position: relative;
  padding-left: 0rem;
  list-style: none;
  margin-top: 1.5rem;
  margin-left: .25em;
}

/* Вертикальная линия */
.md-typeset .timeline ol::before {
  content: "";
  position: absolute;
  left: .54rem;
  top: 0.5rem;
  bottom: 0.5rem;
  width: 3px;
  background: linear-gradient(180deg, 
    var(--md-primary-fg-color) 0%, 
    var(--md-accent-fg-color) 100%);
  border-radius: 2px;
  opacity: 0.3;
}

/* Элементы списка */
.md-typeset .timeline ol > li {
  position: relative;
  padding-left: 1.5rem;
  padding-top: 0.1rem;
  padding-bottom: 1rem;
  list-style: none;
}

.md-typeset .timeline ol > li h3 {
    margin-top: 0rem;
}

.md-typeset .timeline ol > li:last-child {
  padding-bottom: 0;
}

.md-typeset mark {
    background-color: var(--md-code-bg-color)!important;
    /* background-color: #00b0ff !important; */
    padding: 1px 3px;
    margin: -1px -1px;
}

/* Точки на timeline */
.md-typeset .timeline ol > li::before {
  content: "";
  position: absolute;
  left: -0.7rem;
  top: 0.4rem;
  width: 0.75rem;
  height: 0.75rem;
  background: linear-gradient(135deg, 
    var(--md-primary-fg-color) 0%, 
    var(--md-accent-fg-color) 100%);
  border: 4px solid var(--md-default-bg-color);
  border-radius: 50%;
  box-shadow: 0 0 0 3px var(--md-primary-fg-color);
  z-index: 2;
}

/* Иконки */
.md-typeset .timeline ol > li > p:first-child .twemoji {
  margin-right: 0.5rem;
  vertical-align: middle;
  width: 1.4em;
  height: 1.4em;
}

/* Заголовки */
.md-typeset .timeline ol > li > p:first-child {
  margin-top: 0;
  margin-bottom: 0.75rem;
  font-size: 1.15em;
  font-weight: 600;
  line-height: 1.4;
}

/* Описание */
.md-typeset .timeline ol > li > p:nth-child(2) {
  margin-top: 0;
  margin-bottom: 0.75rem;
  color: var(--md-default-fg-color--light);
}

/* Ссылки */
.md-typeset .timeline ol > li a {
  font-weight: 500;
}

/* Мобильная версия */
@media screen and (max-width: 799px) {
  .md-typeset .timeline ol {
    padding-left: 0.25rem;
  }
  
  .md-typeset .timeline ol::before {
    left: 0.75rem;
    width: 2px;
  }
  
  .md-typeset .timeline ol > li {
    padding-left: 1.5rem;
    padding-bottom: 1rem;
    padding-top: 0.1rem;
  }
  
  .md-typeset .timeline ol > li::before {
    left: -0.75rem;
    width: 0.7rem;
    height: 0.7rem;
    border-width: 3px;
  }
}

/* Replace annotation numbers with lightbulb icon */
.md-typeset .annotate > ol > li::before {
  content: "💡";
  font-size: 0.75em;
  margin-right: 0.25em;
}

.md-typeset .annotate > ol > li {
  list-style: none;
}

.faq h2 {
    margin-top: 20px !important;
    padding-right: 1.5625em !important;
}

/* Адаптивный grid с картинкой справа на десктопе, сверху на мобильных */
.grid.image-aside {
    display: grid;
    grid-template-columns: 75% 25%;
    gap: 1rem;
}

.grid.image-aside .image-column {
    display: flex;
    align-items: center;
    justify-content: center;
    order: 2;
}

.grid.image-aside .text-column {
    order: 1;
}

@media (max-width: 768px) {
    .grid.image-aside {
        grid-template-columns: 1fr !important;
        justify-content: center !important;
    }
    
    .grid.image-aside .image-column {
        order: -1 !important;
        /* justify-content: center !important; */
        max-width: 20%;
        /* margin: 0 auto; */
    }
    
    .grid.image-aside .text-column {
        order: 0 !important;
    }

    .grid.image-aside .text-column h2 {
        margin-top: 0 !important;
    }
}

/* Announcement bar */
.md-banner {
    background: linear-gradient(135deg, 
        var(--md-primary-fg-color) 0%, 
        var(--md-accent-fg-color) 100%) !important;
    margin-bottom: 1rem !important;
}

.md-banner__inner {
    display: block !important;
    text-align: center !important;
    color: #fff !important;
    opacity: 1 !important;
    position: relative !important;
    padding: 0.5rem 4rem !important;
}

.md-banner__inner * {
    color: #fff !important;
    opacity: 1 !important;
}

.md-banner__inner a {
    color: #fff !important;
    text-decoration: underline !important;
    margin: 0 0.25rem;
}

.md-banner__button {
    transform: scale(0.5) !important;
    position: absolute !important;
    right: 1rem !important;
    top: 50% !important;
    transform: translateY(-50%) scale(0.5) !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .md-banner__inner {
        padding: 0 3rem !important;
    }
}

[dir=ltr] .md-nav__item--nested>.md-nav__link:not(.md-nav__container) {
    font-weight: bold;
    margin-bottom: 0.25rem;
}

a.link-no-decor, a.link-no-decor:hover {
    text-decoration: none !important;
} 


.md-typeset mark {
    background-color: rgba(0, 176, 255, 0.1) !important;
    padding: 1rem 1.8rem 1.6rem 1.8rem !important;
    border-radius: .8rem !important;
}