@charset "UTF-8";
html {
  font-size: 15px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
}

body {
  display: grid;
  min-height: 100vh;
  background-color: #eef3fb;
  margin: 0;
  grid-template-columns: 100%;
  grid-template-rows: auto auto auto 1fr auto auto;
  grid-template-areas: "header" "rowMenu" "breadcrumb" "main" "aside" "footer";
}

.site__header--wrap {
  grid-area: header;
}

.site__verticalMenu--wrap {
  grid-area: verticalMenu;
}

.headerMenu--wrap {
  grid-area: rowMenu;
}

.breadcrumb--wrap {
  grid-area: breadcrumb;
}

.siteMain--wrap {
  grid-area: main;
  max-width: 100%;
}

.mainContent--wrap {
  max-width: 100%;
  padding: 0 10px;
  box-sizing: border-box;
}

/* Force all content to stay within bounds */
.mainContent--wrap * {
  max-width: 100% !important;
  overflow-x: hidden;
  overflow-wrap: break-word;
  word-wrap: break-word;
  box-sizing: border-box;
}

/* Exception for pre - allow horizontal scroll */
.mainContent--wrap pre {
  overflow-x: auto !important;
}

.rightSite__aside--wrap {
  grid-area: aside;
}

.site__footer--wrap {
  grid-area: footer;
}

.sidebar {
  background-color: #fff;
  min-height: 100vh;
  min-height: 100vh;
  max-width: 300px;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  z-index: 1000;
}

.course-path {
    padding: 20px;
}
/* Анимация для продающих блоков */

.promo-section {
    margin-bottom: 20px;
    border: 1px solid rgba(255, 193, 7, 0.3);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(238, 243, 251, 0.8), rgba(255, 248, 225, 0.5));
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    animation: promoPulse 4s ease-in-out infinite;
}

@keyframes promoPulse {
    0%, 100% { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); }
    50% { box-shadow: 0 4px 16px rgba(255, 193, 7, 0.15); }
}

.section-title {
    color: #4B7A9F;
    font-size: 1.3em;
    padding: 15px;
    border-bottom: 2px solid #eef3fb;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
}

.section-number {
    background: #eef3fb;
    color: #285473;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    font-weight: bold;
}

.section-header {
    display: flex;
    align-items: flex-start;
}

.promo-section .section-number {
    background: linear-gradient(135deg, #ffc107, #ff9800);
    color: white;
    font-size: 18px;
}

.promo-section .section-goal {
    background: rgba(255, 193, 7, 0.1);
    border-left: 3px solid #ffc107;
}

.section-goal {
    font-size: 0.65em;
    color: #666;
    margin-top: 8px;
    font-weight: normal;
    text-align: left;
    margin-left: 40px;
    line-height: 1.4;
    background: #f8f9fa;
    padding: 8px 12px;
    border-radius: 4px;
    border-left: 3px solid #eef3fb;
}

.course-section {
    /* background: #1a1a1a; */
    /* padding: 15px; */
    /* margin-bottom: 30px; */
    position: relative;
        padding-bottom: 10px;
    border-bottom: 2px solid #eef3fb;
}

.course-section:last-child {
    border-bottom: none;
}



.course-section:last-child:after {
    display: none;
}



.section-number {
    background: #eef3fb;
    color: #285473;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    font-weight: bold;
}

.section-title {
    color: #4B7A9F ;
    font-size: 1.4em;
    padding: 10px;
    border-bottom: 2px solid #eef3fb;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
}

.section-header {
    display: flex;
    align-items: flex-start; /* Выравнивание по левому краю */
}

.section-goal {
    font-size: 0.6em;
    color: #666;
    margin-top: 5px;
    font-weight: normal;
    text-align: left; /* Явно указываем выравнивание по левому краю */
    margin-left: 40px;
}

.section-active {
    color: #00a652 !important;
    background: rgba(0, 166, 82, 0.05);
    border-radius: 8px;
    border-left: 4px solid #00a652;
}

.cursor-pointer {
    cursor: pointer !important;
}

.section-header-static {
    color: #4B7A9F !important;
    font-size: 1.4em;
    padding: 10px;
    border-bottom: 2px solid #eef3fb;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
}


.lessons-list {
list-style-type: none !important;
    padding-left: 65px !important;
    margin: 0;
}

.lesson-item {
    border-radius: 6px;
    padding-left: 0;
    margin-bottom: 12px;
    position: relative;
    background: #fafbfc;
    border: 1px solid #eef3fb;
    transition: background-color 0.2s;
}



.lesson-link {
    color: #285473;
    text-decoration: none;
    font-size: 1.05em;
    display: block;
    padding: 12px 15px;
    font-weight: 500;
    transition: color 0.2s;
}

.lesson-item .leftMenuLinkActive {
    color: #00a652;
    font-weight: 600;
    background: rgba(0, 166, 82, 0.05);
    border-left: 3px solid #00a652;
}

.topic-tags {
    padding: 10px 0;
    margin: 8px 0 0 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.topic-tag {
    background: #eef3fb;
    color: #666;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 0.8em;
    font-weight: 500;
    border: 1px solid #dee2e6;
    transition: all 0.2s;
}

.sideMenu--wrap::-webkit-scrollbar {
  display: none;
}

.sideMenu--wrap {
  overflow-y: scroll;
  max-height: 400vh;
}

/* SIDEBAR HIDDEN STATE */
.sidebar[aria-hidden=true] {
  transition: 200ms;
  transform: translateX(-100%);
}

/* SIDEBAR VISIBLE STATE */
.sidebar:not([aria-hidden]),
.sidebar[aria-hidden=false] {
  transition: 200ms;
  transform: translateX(0);
}

.siteMain--wrap {
  margin: 0 5px;
}

.breadcrumb--wrap {
  background-color: #eef3fb;
  margin: 0 5px;
}

.breadcrumb__ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 0 5px 0;
}

.breadcrumb__li {
  display: inline-block;
  padding-right: 0.4em;
}
.breadcrumb__li + li:before {
  color: #bdbdbd;
  content: "/ ";
}
.breadcrumb__li:last-child {
  padding-right: 0;
}
.breadcrumb__li:last-child a {
  color: #9e9e9e;
}
.breadcrumb__li:last-child a:hover {
  color: #9e9e9e;
}

.breadcrumb__link {
  text-decoration: none;
  color: #b0b3c4;
  line-height: 15px;
  font-size: 0.8em;
}
.breadcrumb__link:hover {
  color: #9e9e9e;
  text-decoration: underline;
}

.siteMain__bgc {
  background-color: transparent !important;
}

.siteMain--wrap {
  background-color: #fff;
}

.designer{
  text-align:center;
  background-color:#273149;
  color:#bdbdbd;padding:10px 0
}
  .designer--svg{
    color:#ec407a;
    width:1em;height:.8em;
    transform:translateY(10%)
  }.designer a{
    color:#bbdefb}


.kostil {
        padding: 20px 10px 20px 10px;
        background-color: #fff;
        border-radius: 3px;
        margin-bottom: 5px;
}

.kostil h2 {
    font-size: calc(1.5em + 4px);
    line-height: 33px;
    color: #285473;
    margin: 0;
}

.kostil p{
    font-size: 1em;
    color: #414141;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
    line-height: 26px;
}

.kostil a {
    color: #43a047;
    text-decoration: none;
}

.kostil ul {
padding: 0 20px;

}

.kostil ul li {
    font-size: 1em;
    color: #414141;
    line-height: 26px;

}

@media (min-width: 900px) {
  .sidebar {
    position: fixed;
  }
}

@media (min-width: 1200px) {
  html {
    font-size: 17px;
  }
}
@media (min-width: 1800px) {
  body {
    display: grid;
  }
}

@media (min-width: 900px) {
  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    min-width: auto !important;
    max-width: 100%;
    overflow-y: scroll;
  }
  .sidebar {
    display: block;
    position: relative;
  }
  .sidebar[aria-hidden=true] {
    transition: none;
    transform: none;
  }
  .butHidenMenu {
    display: none;
  }
  body {
    display: grid;
    grid-template-columns: 24% 40% 18% 18%;
    grid-template-rows: auto auto auto 2fr 2fr auto;
    grid-template-areas: "verticalMenu header header header" "verticalMenu rowMenu rowMenu rowMenu" "verticalMenu breadcrumb breadcrumb breadcrumb" "verticalMenu main main aside" "verticalMenu main main aside" "verticalMenu footer footer footer";
  }
  .siteMain--wrap {
    margin: 0 5px;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 17px;
  }
  body {
    display: grid;
    grid-template-columns: 24% 719px minmax(10%, auto);
    grid-template-rows: auto auto auto 2fr 2fr auto;
    grid-template-areas: "verticalMenu header header" "verticalMenu rowMenu rowMenu" "verticalMenu breadcrumb breadcrumb" "verticalMenu main aside" "verticalMenu main aside" "verticalMenu footer footer";
  }
}
@media (min-width: 1800px) {
  body {
    display: grid;
    grid-template-columns: 24% 850px minmax(10%, auto);
  }
}
.siteSearch {
  grid-area: siteSearch;
}

.butHidenMenu {
  grid-area: butHidenMenu;
  background: transparent;
  border: none;
}

.topHeader {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "siteSearch butHidenMenu";
  padding-top: 10px;
  padding-bottom: 10px;
  margin-left: 5px;
}

.headerMenu {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    list-style-type: none;
    padding: 0;
    margin: 10px 5px;
}

.button-8 {
    background: #eef3fb !important;
    color: #285473 !important;
    border: 1px solid rgba(40, 84, 115, 0.1);
    border-radius: 6px;
    padding: 10px 18px;
    font-weight: 600;
    font-size: 0.9em;
    text-decoration: none !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    white-space: nowrap;
    overflow: hidden;
}

/* Эффект смещения текста */
.button-8:hover {
    color: #1a3a52 !important;
    border-color: rgba(40, 84, 115, 0.3);
}

/* Эффект горизонтальной линии */
.button-8::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: linear-gradient(180deg, transparent 0%, rgba(40, 84, 115, 0.05) 100%);
    transition: width 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 0;
}

.button-8:hover::after {
    width: 100%;
}

/* Подчеркивание текста анимацией */
.button-8 span {
    position: relative;
    z-index: 1;
}

.button-8 span::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: #285473;
    transition: width 0.3s ease;
}

.button-8:hover span::after {
    width: 100%;
}

/* Оборачиваем текст в span для эффекта */
.button-8:not(:has(span)) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.button-8:not(:has(span))::before {
    content: attr(data-text);
    position: relative;
    z-index: 1;
}

/* Активный стиль только для класса .active */
.button-8.active {
    background: #eef3fb !important;
    border-color: #285473 !important;
    color: #285473 !important;
    font-weight: 700;
    position: relative;
}
.rightSite__aside--wrap {
  margin: 5px;
}
.rightSite__aside--wrap ul {
  color: #4070a0;
  font-weight: normal;
  line-height: 1.3em;
  font-size: 0.85em;
  list-style: none;
  margin: 0;
  padding: 0;
}






@media (min-width: 900px) {
  .rightSite__aside--wrap {
    margin-top: 0;
    margin-left: 0;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 17px;
  }
  .rightSite__aside--wrap {
    margin-left: 0;
  }


}
@media (min-width: 1800px) {

}
.site__verticalMenu--wrap {
  overflow: auto;
}

.iAm {
  float: none;
  text-align: center;
  margin-bottom: 10px;
  margin-top: 10px;
  padding-right: 10px;
  padding-left: 10px;
}

.authorAvatar--wrap {
  border: 10px solid #39739d;
  height: 185px;
  width: 185px;
  border-radius: 50%;
  margin: 0 auto;
  background-color: #39739d;
}

.sideMenuAuthorAvatar {
  float: none;
  text-align: center;
  border: 5px solid #2c5777;
  border-radius: 50%;
  max-width: 100%;
  height: auto;
}

.iAmInfo {
  margin-top: 15px;
}
.iAmInfo ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.iAmInfo-span {
  background-color: #0bceaf;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 1px;
  font-weight: bold;
  padding: 10px 15px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 0px;
}

.myNameInfo {
  color: #247372;
  margin: 15px 0 0 0;
}

.myNameStatus {
  margin: 0 0 0 0;
  color: #333;
}

.themeNav,
.noteNav,
.subThemeNav {
  /* padding: 0 10px; */
}
.themeNav ul,
.noteNav ul,
.subThemeNav ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  margin-top: 0;
}
.themeNav ul li,
.noteNav ul li,
.subThemeNav ul li {
  /* margin: 5px 0; */
}
.themeNav ul li ul a,
.noteNav ul li ul a,
.subThemeNav ul li ul a {
  font-weight: normal;
}
.themeNav h4,
.noteNav h3,
.subThemeNav h3 {
  color: #285473;
  margin: 20px 0 10px 3px;
}
.themeNav a,
.noteNav a,
.subThemeNav a {
  text-decoration: none;
  color: #285473;
  font-weight: normal;
}
.themeNav a:hover,
.noteNav a:hover,
.subThemeNav a:hover {
  text-decoration: underline;
}

.noteNav ul {
  list-style: circle !important;
}
.noteNav ul a {
  font-weight: normal;
}

.subThemeNav {
  padding: 0 10px 0 50px;
}

.iAmInfoContacts {
  margin-top: 10px;
  margin-bottom: 10px;
}

.location svg {
  margin-bottom: -2px;
}

.contactTelegram {
  text-decoration: none;
  color: #3390ec;
}
.contactTelegram svg {
  margin-bottom: -5px;
}

.contactEmail {
  text-decoration: none;
  color: rgba(0, 164, 220, 0.8);
}
.contactEmail svg {
  margin-bottom: -3px;
}

.paginateArticle {
  background-color: #fff;
  padding: 2px 5px 5px 10px;
  border-radius: 3px;
  margin-bottom: 5px;
}
.paginateArticle a {
  text-decoration: none;
}
.paginateArticle a:hover {
  text-decoration: underline;
  text-decoration-color: #285473;
}
.paginateArticle h2 {
  margin: 0;
  color: #285473;
  font-size: 1em;
}

.highlight .hll {
  background-color: #ffffcc;
}

.highlight .c {
  color: #60a0b0;
  font-style: italic;
} /* Comment */
.highlight .err {
  border: 1px solid #ff0000;
} /* Error */
.highlight .k {
  color: #007020;
  font-weight: bold;
} /* Keyword */
.highlight .o {
  color: #666666;
} /* Operator */
.highlight .ch {
  color: #60a0b0;
  font-style: italic;
} /* Comment.Hashbang */
.highlight .cm {
  color: #60a0b0;
  font-style: italic;
} /* Comment.Multiline */
.highlight .cp {
  color: #007020;
} /* Comment.Preproc */
.highlight .cpf {
  color: #60a0b0;
  font-style: italic;
} /* Comment.PreprocFile */
.highlight .c1 {
  color: #60a0b0;
  font-style: italic;
} /* Comment.Single */
.highlight .cs {
  color: #60a0b0;
  background-color: #fff0f0;
} /* Comment.Special */
.highlight .gd {
  color: #a00000;
} /* Generic.Deleted */
.highlight .ge {
  font-style: italic;
} /* Generic.Emph */
.highlight .gr {
  color: #ff0000;
} /* Generic.Error */
.highlight .gh {
  color: #000080;
  font-weight: bold;
} /* Generic.Heading */
.highlight .gi {
  color: #00a000;
} /* Generic.Inserted */
.highlight .go {
  color: #888888;
} /* Generic.Output */
.highlight .gp {
  color: #c65d09;
  font-weight: bold;
} /* Generic.Prompt */
.highlight .gs {
  font-weight: bold;
} /* Generic.Strong */
.highlight .gu {
  color: #800080;
  font-weight: bold;
} /* Generic.Subheading */
.highlight .gt {
  color: #0044dd;
} /* Generic.Traceback */
.highlight .kc {
  color: #007020;
  font-weight: bold;
} /* Keyword.Constant */
.highlight .kd {
  color: #007020;
  font-weight: bold;
} /* Keyword.Declaration */
.highlight .kn {
  color: #007020;
  font-weight: bold;
} /* Keyword.Namespace */
.highlight .kp {
  color: #007020;
} /* Keyword.Pseudo */
.highlight .kr {
  color: #007020;
  font-weight: bold;
} /* Keyword.Reserved */
.highlight .kt {
  color: #902000;
} /* Keyword.Type */
.highlight .m {
  color: #40a070;
} /* Literal.Number */
.highlight .s {
  color: #4070a0;
} /* Literal.String */
.highlight .na {
  color: #4070a0;
} /* Name.Attribute */
.highlight .nb {
  color: #007020;
} /* Name.Builtin */
.highlight .nc {
  color: #0e84b5;
  font-weight: bold;
} /* Name.Class */
.highlight .no {
  color: #60add5;
} /* Name.Constant */
.highlight .nd {
  color: #555555;
  font-weight: bold;
} /* Name.Decorator */
.highlight .ni {
  color: #d55537;
  font-weight: bold;
} /* Name.Entity */
.highlight .ne {
  color: #007020;
} /* Name.Exception */
.highlight .nf {
  color: #06287e;
} /* Name.Function */
.highlight .nl {
  color: #002070;
  font-weight: bold;
} /* Name.Label */
.highlight .nn {
  color: #0e84b5;
  font-weight: bold;
} /* Name.Namespace */
.highlight .nt {
  color: #062873;
  font-weight: bold;
} /* Name.Tag */
.highlight .nv {
  color: #bb60d5;
} /* Name.Variable */
.highlight .ow {
  color: #007020;
  font-weight: bold;
} /* Operator.Word */
.highlight .w {
  color: #bbbbbb;
} /* Text.Whitespace */
.highlight .mb {
  color: #40a070;
} /* Literal.Number.Bin */
.highlight .mf {
  color: #40a070;
} /* Literal.Number.Float */
.highlight .mh {
  color: #40a070;
} /* Literal.Number.Hex */
.highlight .mi {
  color: #40a070;
} /* Literal.Number.Integer */
.highlight .mo {
  color: #40a070;
} /* Literal.Number.Oct */
.highlight .sa {
  color: #4070a0;
} /* Literal.String.Affix */
.highlight .sb {
  color: #4070a0;
} /* Literal.String.Backtick */
.highlight .sc {
  color: #4070a0;
} /* Literal.String.Char */
.highlight .dl {
  color: #4070a0;
} /* Literal.String.Delimiter */
.highlight .sd {
  color: #4070a0;
  font-style: italic;
} /* Literal.String.Doc */
.highlight .s2 {
  color: #4070a0;
} /* Literal.String.Double */
.highlight .se {
  color: #4070a0;
  font-weight: bold;
} /* Literal.String.Escape */
.highlight .sh {
  color: #4070a0;
} /* Literal.String.Heredoc */
.highlight .si {
  color: #70a0d0;
  font-style: italic;
} /* Literal.String.Interpol */
.highlight .sx {
  color: #c65d09;
} /* Literal.String.Other */
.highlight .sr {
  color: #235388;
} /* Literal.String.Regex */
.highlight .s1 {
  color: #4070a0;
} /* Literal.String.Single */
.highlight .ss {
  color: #517918;
} /* Literal.String.Symbol */
.highlight .bp {
  color: #007020;
} /* Name.Builtin.Pseudo */
.highlight .fm {
  color: #06287e;
} /* Name.Function.Magic */
.highlight .vc {
  color: #bb60d5;
} /* Name.Variable.Class */
.highlight .vg {
  color: #bb60d5;
} /* Name.Variable.Global */
.highlight .vi {
  color: #bb60d5;
} /* Name.Variable.Instance */
.highlight .vm {
  color: #bb60d5;
} /* Name.Variable.Magic */
.highlight .il {
  color: #40a070;
} /* Literal.Number.Integer.Long */
.postArticle {
  padding: 20px 10px 0 10px;
}
.postArticle h1,
.postArticle h2,
.postArticle h3 {
  color: #285473;
  margin: 0;
}

.postArticle h1 {
  font-size: calc(1.5em + 4px);
  line-height: 1.3;
  margin-bottom: 0.5rem;
  padding-bottom: 1rem;
  border-bottom: 3px solid #4B7A9F;
}

.postArticle h3 {
  font-size: 1.3em;
  line-height: 1.4;
  margin: 2em 0 1em 0;
  padding: 0.5em 0 0.3em 0;
  border-left: 3px solid #4B7A9F;
  padding-left: 1rem;
  color: #285473;
  font-weight: 600;
}

.postArticle p {
  font-size: 1em;
  color: #333;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.7;
  margin: 1.5em 0;
}

.postArticle a:hover {
  text-decoration: underline;
}

.postArticle p img {
  margin: 0 auto;
  display: block;
  max-width: 100%;
}

/* Первый абзац после H1, исключая блоки продаж */
.postArticle > h1 + p:not(.sales-block-container p) {
  margin-left: 0;
  padding-left: 1rem;
  font-size: 1.1em;
  border-left: 4px solid #fae042;
  background: linear-gradient(90deg, rgba(250, 224, 66, 0.1), transparent);
  padding: 1rem;
  margin: 1.5rem 0 1rem 0;
  color: #2c3e50;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
  border-radius: 0 8px 8px 0;
}

/* Второй абзац после H1, исключая блоки продаж */
.postArticle > h1 + p + p:not(.sales-block-container p) {
  font-size: 0.9em;
  color: #666;
  font-style: italic;
  line-height: 1.5;
  margin: 1rem 0;
  opacity: 0.9;
  position: relative;
  padding-left: 1.2rem;
}

.postArticle > h1 + p + p:not(.sales-block-container p)::before {
  content: "▸";
  position: absolute;
  left: 0;
  color: #fae042;
  font-weight: bold;
}

.postArticle > h1 + p + p:not(.sales-block-container p) a {
  color: #285473;
  text-decoration: underline;
  font-weight: 500;
}

.postArticle > h1 + p + p:not(.sales-block-container p) a:hover {
  color: #d4a017;
  text-decoration: none;
}

/* Сброс стилей для остальных абзацев */
.postArticle > h1 + p + p + p,
.postArticle > h1 + p + p + p + p,
.postArticle > h1 + p + p + p + p + p {
  font-size: 1em;
  color: #333;
  font-style: normal;
  line-height: 1.7;
  margin: 1.5em 0;
  opacity: 1;
  position: static;
  padding-left: 0;
  border-left: none;
  background: none;
  border-radius: 0;
}

.postArticle > h1 + p + p + p::before,
.postArticle > h1 + p + p + p + p::before,
.postArticle > h1 + p + p + p + p + p::before {
  content: none;
}

/* ===================================
   Улучшенные отступы для цитат и списков
   =================================== */

.postArticle blockquote {
  position: relative;
  padding: 1.5rem 1.5rem 1.5rem 3rem;
  margin: 1.5em 0;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 8px;
  border-left: 4px solid #43a047;
  font-style: italic;
  color: #555;
  line-height: 1.6;
}

/* ===================================
   Списки и цитаты
   =================================== */

.postArticle ul,
.postArticle ol {
  padding: 0 20px;
  margin: 1.5em 0;
}

.postArticle ul li,
.postArticle ol li {
  font-size: 1em;
  line-height: 1.7;
  color: #333;
  margin-bottom: 0.8em;
}

.postArticle ul li::marker {
  color: #fae042;
}

.postArticle blockquote::before {
  content: """;
  font-family: Georgia, serif;
  font-size: 60px;
  font-weight: bold;
  color: #43a047;
  position: absolute;
  left: 10px;
  top: 5px;
}

.postArticle blockquote::after {
  content: "";
}

.postArticle details summary:focus {
  outline: none;
}

/* ===================================
   Таблицы
   =================================== */

.postArticle tr:hover td {
  background: #4e5066;
  color: #ffffff;
  border-top: 1px solid #22262e;
}

.postArticle tr:nth-child(odd):hover td {
  background: #4e5066;
}

/* ===================================
   Кнопка "Следующий урок"
   =================================== */

.next-lesson {
  text-align: center;
  margin: 2rem 0;
}

.next-lesson a {
  display: inline-block;
  color: #285473;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.1em;
  padding: 0.8rem 2rem;
  background: #fae042;
  color: #1a1a1a;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.next-lesson a:hover {
  background: #285473;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(40, 84, 115, 0.3);
}

.postArticle table {
  overflow: auto;
  max-height: 250px;
  width: 100%;
  display: block;
  margin-bottom: 20px;
  margin-top: 20px;
  font-family: monospace;
  font-size: 0.9em;
  border-collapse: collapse;
  white-space: nowrap;
}
.postArticle th {
  color: #d5dde5;
  background: #1b1e24;
  border-bottom: 4px solid #9ea7af;
  border-right: 1px solid #343a45;
  font-weight: 100;
  padding: 24px;
  text-align: left;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  vertical-align: middle;
}
.postArticle th:first-child {
  border-top-left-radius: 3px;
}
.postArticle th:last-child {
  border-top-right-radius: 3px;
  border-right: none;
}
.postArticle tr {
  border-top: 1px solid #c1c3d1;
  border-bottom-: 1px solid #c1c3d1;
  color: #666b85;
  font-weight: normal;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.1);
}
.postArticle tr:hover td {
  background: #4e5066;
  color: #ffffff;
  border-top: 1px solid #22262e;
}
.postArticle tr:first-child {
  border-top: none;
}
.postArticle tr:last-child {
  border-bottom: none;
}
.postArticle tr:nth-child(odd) td {
  background: #ebebeb;
}
.postArticle tr:nth-child(odd):hover td {
  background: #4e5066;
}
.postArticle tr:last-child td:first-child {
  border-bottom-left-radius: 3px;
}
.postArticle tr:last-child td:last-child {
  border-bottom-right-radius: 3px;
}
.postArticle td {
  background: #ffffff;
  text-align: left;
  vertical-align: middle;
  font-weight: 300;
  font-size: 0.85em;
  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.1);
  border-right: 1px solid #c1c3d1;
}
.postArticle td:last-child {
  border-right: 0px;
}
.postArticle th.text-left,
.postArticle td.text-left {
  text-align: left;
}
.postArticle th.text-center,
.postArticle td.text-center {
  text-align: center;
}
.postArticle th.text-right,
.postArticle td.text-right {
  text-align: right;
}
.postArticle thead {
  background: #252f48;
  text-align: left;
}
.postArticle thead tr th {
  padding: 10px 10px;
}
.postArticle thead tr th:first-child {
  padding-left: 20px;
}
.postArticle tbody tr td {
  padding: 10px 10px;
}
.postArticle tbody tr td:first-child {
  padding-left: 20px;
}
.postArticle hr {
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-bottom: 0.7em;
  margin-top: 0.7em;
  border: 0;
  height: 1px;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}
.postArticle dl dt {
  font-size: calc(1em + 2px);
  font-weight: bold;
  color: #637695;
}

/* Code blocks styling */
.postArticle pre {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 1rem;
  overflow-x: auto;
  max-width: 100%;
  margin: 1rem 0;
  white-space: pre;
}

.postArticle code {
  background: #e9ecef;
  padding: 2px 4px;
  border-radius: 3px;
  font-size: 0.9em;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  display: inline-block;
  max-width: 100%;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
}

.postArticle pre code {
  background: transparent;
  padding: 0;
  border-radius: 0;
  font-size: 0.85em;
  display: inline;
  max-width: 100%;
}

/* Table overflow handling */
.postArticle table {
  overflow-x: auto;
  display: block;
  max-width: 100%;
  white-space: nowrap;
}

/* Prevent content overflow */
.postArticle {
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Force all elements inside postArticle to stay within bounds */
.postArticle * {
  max-width: 100% !important;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-wrap: break-word;
  overflow-x: hidden;
}

/* Images responsive */
.postArticle img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1rem auto;
}

.site__footer--wrap {
  background-color: #263554;
}

@media (min-width: 1200px) {
  html {
    font-size: 17px;
  }
}
.input {
  border: 2px solid transparent;
  width: 20em;
  height: 3em;
  padding-left: 0.8em;
  outline: none;
  overflow: hidden;
  background-color: white;
  border-radius: 10px;
  transition: all 0.5s;
  touch-action: none;
}

.input:hover,
.input:focus {
  border: 2px solid #4a9dec;
  box-shadow: 0px 0px 0px 7px rgba(74, 157, 236, 0.2);
  background-color: white;
}

.searchResult--wrap {
  display: block;
}

.searchResult {
  background-color: #fafafa;
  display: block;
  border-radius: 3px;
  padding: 10px;
  margin-left: 5px;
  margin-top: 5px;
  margin-bottom: 5px;
  color: rgba(40, 84, 115, 0.9);
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.searchResult h3 {
  margin: 0;
  line-height: 26px;
}
.searchResult h3 a {
  color: rgba(40, 84, 115, 0.9);
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.searchResult h3 a:hover {
  text-decoration: underline;
}
.searchResult p {
  line-height: 26px;
  margin-top: 5px;
  margin-bottom: 0;
}

@media (min-width: 900px) {
  .searchResult--wrap {
    display: block;
    overflow: auto;
    white-space: nowrap;
  }
  .searchResult {
    display: inline-block;
    max-width: 30%;
    min-height: 160px;
    vertical-align: top;
  }
  .searchResult h3 {
    font-size: 20px;
    white-space: normal;
  }
  .searchResult p {
    font-size: 0.7em;
    white-space: normal;
  }
  .searchResult:after {
    content: "";
    clear: both;
    display: block;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 17px;
  }
}
/* Стили для списка постов блога */
.posts-list {
    margin-bottom: 40px;
}

.post-preview {
    background: #fff;
    border-left: 4px solid #285473;
    border-radius: 0 6px 6px 0;
    padding: 18px 20px;
    margin-bottom: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: background-color 0.15s ease;
}

.post-preview:hover {
    background-color: #f8fafb;
}

.post-title {
    margin: 0;
    font-size: 1.05em;
    line-height: 1.5;
    font-family: 'Georgia', 'Times New Roman', serif;
}

.post-title a {
    color: #2c3e50;
    text-decoration: none;
    font-weight: normal;
    display: block;
    transition: color 0.15s ease;
    letter-spacing: 0.3px;
}

.post-title a:hover {
    color: #285473;
    text-decoration: underline;
}

/* Стили для пагинации */
.pagination {
    text-align: center;
    margin: 40px 0;
    padding: 20px 0;
    border-top: 1px solid rgba(40, 84, 115, 0.1);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.pagination__prev,
.pagination__next {
    display: inline-block;
    padding: 10px 20px;
    border: 1px solid #285473;
    color: #285473;
    text-decoration: none;
    border-radius: 6px;
    font-size: 0.9em;
    transition: all 0.2s ease;
    font-weight: 500;
}

.pagination__prev:hover,
.pagination__next:hover {
    background: #285473;
    color: white;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(40, 84, 115, 0.2);
}

/* Стили для sticky-блоков внутри основного контента */
.reading-continuation-block {
  position: sticky;
  bottom: 60px; /* Основной липкий блок ближе к низу */
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  border: 1px solid rgba(40, 84, 115, 0.15);
  padding: 15px;
  margin: 40px 0 20px 0; /* Небольшой нижний отступ, без лишнего пространства */
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  z-index: 15; /* Самый высокий z-index */
  width: 100%;
}

.sticky-lesson-block {
  position: relative; /* Обычный блок, не липкий */
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  border: 1px solid rgba(40, 84, 115, 0.15);
  padding: 20px;
  margin: 20px 0; /* Стандартные отступы */
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  z-index: 1;
  width: 100%;
}
