.grecaptcha-badge {
  visibility: hidden;
}

.logo__text {
  font-size: 15px;
  color: #505050;
  line-height: 1.1em;
  margin: 0px 0 0 4px;
}

@media screen and (min-width:1025px) {
  .main-menu {
    transition: ease all .3s;
    min-height: 55px;
    margin-top: 0;
  }

  .main-menu.fixed {
    transition: ease all .3s;
    position: fixed;
  }
}

@media screen and (max-width: 767px) {
  .logo__text {
    margin-bottom: 20px;
    margin-top: 10px;
  }
}

.logo img {
  max-width: 163px;
  width: 100%;
  display: inline-block;
}

#close-mmenu {
  position: absolute;
  top: 0;
  right: 15px;
  cursor: pointer;
  font-size: 34px;
}

@media screen and (max-width: 767px) {
  .logo img {
    max-width: 250px;
  }
}

.logo a {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .logo {
    text-align: center;
  }
}

.preview-props-link {
  display: block;
}

a.preview-props-link:hover,
a.preview-props-link {
  color: #000000;
  text-decoration: none;
}

.header-basket {
  width: 34px;
  height: 29px;
  margin-left: auto;
  display: block;
  margin-top: 35px;
  margin-right: 10px;
  position: relative;
}

.header-basket svg {
  max-width: 100%;
  max-height: 100%;
}

.header-basket:hover {
  color: #af1326;
}

.header-basket__count {
  position: absolute;
  display: inline-block;
  text-align: center;
  width: 21px;
  height: 21px;
  line-height: 18px;
  color: #fff;
  top: -7px;
  right: -15px;
  background-color: #ba2723;
  border-radius: 50%;
  font-size: 12px;
  border: 2px solid #fff;
}

.top-sta a.call {
  display: block;
  font: 16px/36px Arial;
  border-radius: 10px;
  text-align: center;
  transition: .3s;
  height: 37px;
  border: 1px solid #127b8b;
}

.top-sta a.call:before {
  content: '';
  display: inline-block;
  vertical-align: middle;
}

.top-sta a.call span {
  display: inline-block;
  vertical-align: middle;
  margin-left: 15px;
}

.top-sta.feedback {
  margin-top: 20px;
}

.top-sta.feedback a.call {
  color: #127b8b;
  background-color: #fff;
}

.top-sta.feedback a.call:before {
  background-position: -25px 0;
  width: 21px;
  height: 21px;
}

.top-sta.feedback a.call:hover {
  background-color: #af1326;
  text-decoration: none;
  color: #fff;
  border-color: #af1326;
}

.top-sta.feedback a.call:hover:before {
  background-position: 0 0;
}

.top-sta.callback {
  margin-top: 5px;
}

.top-sta.callback a.call {
  color: #fff;
  background-color: #127b8b;
}

.top-sta.callback a.call:before {
  background-position: 0 -32px;
  width: 15px;
  height: 20px;
}

.top-sta.callback a.call:hover {
  background-color: #af1326;
  text-decoration: none;
  color: #fff;
  border-color: #af1326;
}

.bottom-sta {
  margin-top: 25px;
}

.bottom-sta a {
  width: 100%;
  max-width: 208px;
  display: block;
  font: 16px/36px Arial;
  border-radius: 10px;
  text-align: center;
  transition: .3s;
  height: 37px;
  border: 1px solid #127b8b;
  color: #fff;
  background-color: #127b8b;
}

.bottom-sta a:hover {
  background-color: #af1326;
  text-decoration: none;
  color: #fff;
  border-color: #af1326;
}

.wrp-3 {
  margin-left: 24px;
  margin-right: 6px;
}

@media screen and (max-width: 991px) {
  .wrp-3 {
    margin-left: 0;
    margin-right: 0;
  }
}

header .search {
  border: 1px solid #e2e2e2;
  border-radius: 5px;
  margin-bottom: 0px;
  margin-right: 23px;
  margin-top: 9px;
}

header .search .text {
  display: inline-block;
  vertical-align: top;
  border: none;
  width: calc(100% - 44px);
  padding: 0 0 0 7px;
  font: 15px/34px DINProRegular, Arial;
  color: #39393c;
  height: 40px;
  margin: 1px;
}

header .search .image {
  display: inline-block;
  vertical-align: top;
  width: 34px;
  color: #ababab;
  margin: 1px;
  padding: 5px 0 0 3px;
  border: 0;
  background: transparent;
}

header .search .image svg {
  width: 24px;
  height: 24px;
}

header .search .image:hover {
  color: #090909;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  header .search {
    margin-right: 0;
    margin-bottom: 20px;
  }

  .new-header .phones {
    text-align: center;
  }

  .new-header .email {
    text-align: center;
  }
}

.new-header .phones div a {
  font: 17px/28px DINProBold, Arial;
  color: #090909;
  text-decoration: none;
}

.new-header .phones div a:hover {
  text-decoration: underline;
}

.new-header .email {
  margin-top: 3px;
  font: 12px/23px Arial;
}

.new-header .email a {
  color: #39393c;
  font-weight: 600;
}

footer .payment {
  display: inline-block;
  vertical-align: middle;
}

footer .payment ul {
  list-style-type: none;
  padding-left: 0px;
}

footer .payment ul li {
  display: inline-block;
  padding-right: 10px;
}

footer .portal {
  display: inline-block;
  vertical-align: middle;
}

footer .block-with-images {
  text-align: justify;
  margin-top: 39px;
}

footer .block-with-images:after {
  content: '';
  display: inline-block;
  width: 100%;
}

.footer-hr {
  height: 1px;
  background-color: #5b5b5b;
}

.questionsform {
  color: #fff;
  background-color: #127b8b;
  background-image: url(/img/ux/questionsform-bg-iphone.jpg); /* 13.11.2026: телефон в руках — современный iPhone (был questionsform-bg.jpg) */
  background-repeat: no-repeat;
  background-position: 50% 0;
  padding: 1px;
}

.questionsform__title {
  text-transform: uppercase;
  font: 33px DINProRegular, Arial;
  margin-top: 36px;
  margin-bottom: 5px;
}

.questionsform__text {
  line-height: 1.25em;
}

.questionsform__btn-block {
  margin-top: 35px;
  margin-bottom: 19px;
}

.questionsform__btn {
  border: 1px solid #fff;
  height: 34px;
  line-height: 28px;
  width: 207px;
  text-align: center;
  color: #fff;
  border-radius: 10px;
  transition: .3s;
  display: inline-block;
}

.questionsform__btn:hover {
  border-color: #af1326;
  background-color: #af1326;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .questionsform {
    background-image: none;
  }
}

@media screen and (max-width: 575px) {
  .questionsform {
    text-align: center;
  }
}

.feedbackform-outer {
  background-color: #f2f2f2;
  margin-top: 45px;
}

.index-blagodarnost,
.index-reviews {
  padding: 30px 0;  
}

.popular-products {
  background-color: #f3f3f3;
  padding: 30px 0;
}

.popular-products__title {
  text-align: center;
  font: 33px DINProRegular, Arial;
  margin: 0 0 45px;
  font-weight: bold;
  text-transform: uppercase;
}

.popular-products .wrapper {
  padding-bottom: 0;
}

.questionnaire {
  width: 400px;
  margin: 25px auto;
}

.questionnaire__field {
  margin-bottom: 15px;
}

.questionnaire__field-name {
  display: block;
  font-size: 15px;
  margin-bottom: 3px;
  margin-left: -15px;
}

.questionnaire__field-value {
  display: block;
  width: 100%;
  height: 38px;
  background-color: #f6f6f6;
  border: 1px solid #dbdbdb;
  padding-left: 14px;
  font-size: 15px;
  border-radius: 5px;
  color: #78767a;
}

.questionnaire__asterisk {
  color: #f34f56;
  margin-right: 5px;
}

.questionnaire__note {
  color: #acacac;
}

.def-btn-block a {
  text-decoration: none;
  height: 34px;
  line-height: 28px;
  font-size: 17px;
  width: 267px;
  text-align: center;
  color: #fff;
  border-radius: 10px;
  transition: .3s;
  display: inline-block;
  background-color: #127b8b;
}

.def-btn-block a:hover {
  text-decoration: none;
  border-color: #af1326;
  background-color: #af1326;
  cursor: pointer;
}

.def-empty-btn {
  display: inline-block;
  border: 1px solid #127b8b;
  color: #127b8b;
  height: 36px;
  line-height: 36px;
  width: 210px;
  text-decoration: none;
  text-align: center;
  border-radius: 7px;
  font-size: 16px;
}

.def-empty-btn:hover {
  text-decoration: none;
  background-color: #127b8b;
  color: #fff;
}

.enroll {
  max-width: 400px;
}

.enroll__field {
  margin-bottom: 15px;
}

.enroll__field-name {
  display: block;
  font-size: 15px;
  margin-bottom: 3px;
  font-weight: bold;
}

.enroll__field-value {
  display: block;
  width: 100%;
  background-color: #f6f6f6;
  border: 1px solid #dbdbdb;
  padding-left: 10px;
  font-size: 15px;
  border-radius: 5px;
  color: #78767a;
}

.enroll__field-value--select,
.enroll__field-value--input-text {
  height: 38px;
}

.enroll__field-value--textarea {
  height: 110px;
}

.enroll__asterisk {
  color: #f34f56;
}

.license-slider {
  padding: 0;
  margin: 0;
}

.license-slider .slick-arrow {
  width: 17px;
  height: 31px;
  border: none;
  position: absolute;
  top: 87px;
  padding: 0;
  text-indent: -9999px;
  cursor: pointer;
  z-index: 3;
}

.license-slider .slick-arrow.slick-prev {
  background: url(../images/arrow-prev-light.png) no-repeat;
  left: -15px;
}

.license-slider .slick-arrow.slick-next {
  background: url(../images/arrow-next-light.png) no-repeat;
  right: -15px;
}

#footerForm textarea,
#footerForm input {
  box-sizing: border-box;
  margin: 5px 0 10px 0;
}

#footerForm textarea {
  min-height: 114px;
}

.med-obr-badge {
  background: #d5eaed;
  color: #117b8b;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 500;
  line-height: 14.63px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  padding: 12px 20px;
}

.block-buy-buttons .buy-btn {
  font-size: 12px;
  padding: 12px;
  border-radius: 5px;
  max-width: 100%;
}

.flex-yr-yt {
  display: flex;
  align-items: center;
  gap: 20px;
}

body .top-cart-small-information div {
  margin: 0 !important;
}

.top-cart-small-information {
  flex-wrap: nowrap;
  gap: 6px;
  font-size: 12px;
  justify-content: space-between;
}

.detail-cart-price-row-basket-btn-text:hover {
  text-decoration: none;
  transition: ease all .3s;
  background: #127B8B;
  color: white;
}

.detail-cart-price-row-basket-btn-text {
  transition: ease all .3s;
  border-radius: 5px;
  padding: 8px 28px;
  display: block;
  border: 1px solid #127B8B;
  font-size: 14px;
  font-weight: 500;
  line-height: 17.37px;
  text-align: center;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
}

.detail-cart-price-row {
  justify-content: space-between;
  gap: 15px;
}

.detail-cart-price {
  padding-bottom: 4px;
}

.detail-cart-price-row .detail-cart-price-row-title {
  font-size: 18px;
  font-weight: 500;
  line-height: 22.34px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  width: 100%;
  max-width: 160px;
}

.detail-cart-price-row-sale {
  min-width: 66px;
  width: auto;
}

.detail-cart-price-row-price {
  width: auto;
  min-width: 110px;
  text-align: left;
  padding-left: 14px;
}

.detail-cart-price-row-sale,
.detail-cart-price-row-title {
  color: #808080;
}

.detail-cart-price-row-prices {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
}

.br-tablet {
  display: none;
}

@media screen and (max-width:991px) {
  .br-tablet {
    display: block;
  }

  .med-obr-badge {
    padding: 10px;
  }

  .detail-cart-price-row {
    flex-wrap: nowrap;
  }

  .detail-cart-price-row-price {
    font-size: 14px;
  }

  .detail-cart-price-row-prices {
    display: block;
  }

  .detail-cart-price-row-price {
    padding-left: 0;
  }

  .detail-cart-price-row-price {
    min-width: 80px;
  }

  .detail-cart-price-row .detail-cart-price-row-title {
    min-width: 116px;
    font-size: 14px;
  }
}

@media screen and (max-width:767px) {
  .top-cart-small-information {
    justify-content: space-between;
  }

  .detail-cart-price-row-basket-btn-text {
    padding: 8px;
    display: block;
    width: 100%;
    max-width: 116px;
  }

  .detail-cart-price-row-basket {
    min-width: 115px;
  }

  .detail-cart-price-row {
    margin: 14px 0;
  }
}

/* Уже 360px строка тарифа не помещалась: минимальные ширины названия,
   цены и «Купить» (116 + 80 + 115px) плюс два отступа по 15px — это 341px
   при 290px места на экране 320px. «Купить» вылезала за экран на 36px,
   и страницу курса можно было сдвинуть вбок. */
@media screen and (max-width:359px) {
  .detail-cart-price-row {
    gap: 8px;
  }

  .detail-cart-price-row .detail-cart-price-row-title {
    min-width: 0;
  }

  .detail-cart-price-row-basket {
    min-width: 90px;
  }
}

.top-cart-small-information div.yandex-rating {
  max-width: 130px;
  margin: 0;
}

.top-cart-small-information {
  align-items: center;
}

.yandex-rating iframe {
  transform: scale(0.8);
}

@media screen and (max-width:950px) {
  .yandex-rating iframe {
    transform: scale(1);
  }

  .top-cart-small-information div.yandex-rating {
    max-width: 100%;
    margin: 10px 0;
  }
}

.section-list-anchors {
  display: flex;
  align-items: stretch;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 46px;
}

.section-list-anchors a {
  background: #7a8182;
  padding: 10px;
  border-radius: 5px;
  color: white !important;
}

@media screen and (max-width:575px) {
  .section-list-anchors a {
    width: 100%;
  }
}

.list-benefits .list-benefits-item {
  background: #F3F3F3;
  border-radius: 14px;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
}

.list-benefits {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
}

.benefits-item {
  padding: 6px;
}

.list-benefits .text {
  font-family: DINProRegular;
  font-size: 18px;
  font-weight: 400;
  line-height: 22.32px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
}

.benefits-section {
  margin: 20px auto;
}

.list-benefits {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.list-benefits .list-benefits-element {
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 16px;
}

.list-benefits li {
  width: 100%;
}

.list-benefits-item .ico {
  min-width: 50px;
  margin-right: 28px;
}

.list-benefits-area {
  margin: 40px auto;
  position: relative;
}

.list-benefits-navigation {
  margin: 0;
  padding: 0;
  list-style: none;
}

.list-benefits-navigation>* {
  z-index: 1;
  top: 45%;
  background-repeat: no-repeat;
  position: absolute;
  cursor: pointer;
  background-position: center;
  height: 30px;
  width: 30px;
}

.benefits-section .h2 {
  font-family: DINProRegular;
  text-transform: uppercase;
  font-size: 33px;
  font-weight: 400;
  line-height: 40.92px;
  text-align: center;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
}

.lb-nav-prev {
  background-image: url(/images/benefits_images/benefits-arrow-prev.svg);
  left: -33px;
}

.lb-nav-next {
  right: -33px;
  background-image: url(/images/benefits_images/benefits-arrow-next.svg);
}

.list-benefits.list-benefits-pc {
  display: block;
}

.footer-app-info-item-title {
  font-family: DINProRegular, Arial;
  font-size: 14px;
  font-weight: 400;
  line-height: 17.36px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  color: white;
  margin-bottom: 6px;
}

.footer-payment-info-plus-app .footer-payment-info {
  width: 100%;
  margin: 0 auto;
}

.footer-payment-info-plus-app {
  align-items: flex-end;
  max-width: 100%;
  justify-content: space-between;
  display: flex;
}

.footer-app-info-item-image {
  display: block;
}

.download-app {
  background: rgba(18, 123, 139, 1);
  padding: 15px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.download-app-title {
  color: white;
  font-family: DINProRegular, Arial;
  font-size: 25px;
  font-weight: 500;
  line-height: 31.03px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
}

.success-thanks-top-title {
  color: rgba(65, 65, 65, 1);
  text-transform: uppercase;
  font-size: 24px;
  font-weight: 400;
  line-height: 29.76px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
}

.success-thanks-top-descr {
  color: rgba(65, 65, 65, 1);
  font-size: 12px;
  font-weight: 400;
  margin-top: 6px;
  line-height: 14.88px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
}

.success-thanks-middle-title {
  padding-bottom: 6px;
  margin-bottom: 16px;
  text-transform: uppercase;
  color: rgba(186, 42, 35, 1);
  font-family: DINProBold, Arial;
  font-size: 36px;
  font-weight: 700;
  line-height: 45.07px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.success-thanks-middle-title::before {
  content: " ";
  position: absolute;
  background-image: url(/img/success-podarok.png);
  height: 100px;
  width: 100px;
  left: 26%;
  background-position: center;
  background-repeat: no-repeat;
}

.success-thanks-middle-descr {
  text-transform: uppercase;
  color: rgba(65, 65, 65, 1);
  font-size: 20px;
  font-weight: 400;
  line-height: 24.8px;
  text-align: right;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;

}

.success-thanks-middle-ann {
  font-family: DINProBold, Arial;
  text-transform: uppercase;
  color: rgba(186, 42, 35, 1);
  font-size: 20px;
  font-weight: 700;
  line-height: 25.04px;
  text-align: right;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
}

.success-thanks-button-text {
  margin-right: 12px;
}

.success-thanks-button {
  text-transform: uppercase;
  font-family: DINProRegular, Arial;
  padding: 12px;
  margin-top: 18px;
  border-radius: 22px;
  text-align: center;
  font-size: 16px;
  color: rgba(255, 255, 255, 1);
  background-color: rgba(18, 123, 139, 1);
  font-weight: 600;
  line-height: 19.36px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
}

.success-thanks-button:hover {
  color: white;
  text-decoration: none;
}

.success-thanks-middle {
  background: white;
  position: relative;
  border-radius: 20px;
  margin-top: 10px;
  padding: 16px;
}

.success-thanks-middle::before {
  content: " ";
  position: absolute;
  width: 130px;
  height: 96px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(/img/success-podarok-1.png);
  right: 17px;
  top: -55px;
}


.success-thanks-top::before {
  content: " ";
  width: 232px;
  position: absolute;
  background-size: contain;
  height: 172px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(/img/success-podarok-2.png);
  left: 44%;
  top: -8px;
}


.bsuccess-thanks-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 9;
}

.success-thanks-top {
  position: relative;
  padding: 18px;
  border-radius: 20px;
  background: white;
}

.success-thanks-body {
  padding: 16px;
  font-family: DINProRegular, Arial;
}


.success-thanks-top-descr br {
  display: none;
}

body .section-list-anchors a {
  border: 0;
  font-family: DINProRegular, Arial;
  font-weight: 500;
  background: rgb(34, 156, 175);
  border: 0;
  background: linear-gradient(90deg, rgba(34, 156, 175, 1) 0%, rgba(80, 203, 222, 1) 40%, rgba(33, 156, 175, 1) 100%);
  transition: none;
}

body .section-list-anchors a:hover {
  border: 0;
  transition: none;
  color: white !important;
  background: #50cbde;
}

.footer-app-info-item-title {
  font-family: DINProRegular, Arial;
  font-size: 14px;
  font-weight: 400;
  line-height: 17.36px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  color: white;
  margin-bottom: 6px;
}

.footer-payment-info-plus-app .footer-payment-info {
  width: 100%;
  margin: 0 auto;
}

.footer-payment-info-plus-app {
  align-items: flex-end;
  max-width: 100%;
  justify-content: space-between;
  display: flex;
}

.footer-app-info-item-image {
  display: block;
}

.download-app {
  background: rgba(18, 123, 139, 1);
  padding: 15px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.download-app-title {
  color: white;
  font-family: DINProRegular, Arial;
  font-size: 25px;
  font-weight: 500;
  line-height: 31.03px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
}

#successModal .modal-lg {
  width: 100%;
}

.course-promo {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 10px;
}

.course-promo-label {
  background: rgba(15, 127, 138, 1);
  color: white;
  font-weight: 700;
  font-size: 12px;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: center;
  max-width: 360px;
  width: 100%;
  border-radius: 4px;
  padding: 12px 2px;
  text-align: center;
  font-weight: bold;
  font-family: DINProBold;
}

.course-promo-timer {
  max-width: 190px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-radius: 4px;
  background: #FFD736;
  font-family: DINProBold;
  font-weight: 700;
  font-size: 12px;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: center;
  padding: 12px 2px;
  color: #39393c;
  gap: 6px;
}

.course-promo-timer-price {
  background: #ff0018;
  color: white;
  padding: 3px;
  border-radius: 2px;
}

.course-promo-timer-price-si {
  width: 100%;
  max-width: 20px;
}

.course-promo-mobile {
  font-size: 14px;
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  background-color: white;
  border-radius: 16px 16px 0 0;
  box-shadow: 0px -8px 14px 0px #00000024;
  overflow: hidden;
  padding-bottom: 18px;
}

.course-promo-timer-time {
  color: #040404;
}

.course-promo-mobile-top-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 5px 0;
  background: #FFD736;
}

.course-promo-mobile-top-row-timer-text {
  display: block;
}

.course-promo-mobile-top-row-timer {
  color: #020901;
  text-align: center;
  margin: 10px;
  font-size: 12px;
  font-family: DINProBold, Arial;
}

.course-promo-mobile-top-row .course-promo-timer-price {
  border-radius: 5px;
  font-size: 13px;
  font-family: DINProBold, Arial;
}

.course-promo-mobile-top-row .course-promo-timer-time {
  font-family: DINProBold, Arial;
  font-size: 13px;
}

.course-promo-mobile-top-row .course-promo-mobile {
  font-size: 13px;
}

.course-promo-mobile-btn {
  background: #ff0018;
  color: white;
  margin: 10px;
  display: block;
  text-align: center;
  border-radius: 6px;
  padding: 18px 10px;
  font-size: 16px;
  font-family: DINProBold, Arial;
}

.course-promo-mobile-top-row-percent {
  background: #FFD736;
  padding: 4px;
  border-radius: 12px;
  font-family: DINProBold, Arial;
}

.all-massag-btn {
  background: #0F7F8A;
  max-width: 250px;
  margin: 0 auto;
}

.btn-mzpo-flex {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

@media (min-width: 992px) {
  #successModal .modal-lg {
    max-width: 740px;
  }

  .footer-payment-info-plus-app .footer-payment-info {
    width: 100%;
    max-width: 460px;
  }
}

@media screen and (min-width:768px) {
  .list-benefits .slick-slide>div {
    display: flex;
  }
}

@media screen and (max-width:1024px) {
  .lb-nav-prev {
    left: 0px;
  }

  .lb-nav-next {
    right: 0px;
  }

  .list-benefits li .list-benefits-item {
    background: #F3F3F3;
    border-radius: 14px;
    padding: 30px;
    width: 48%;
  }

  .list-benefits .slick-slide {
    padding: 0 40px;
  }
}

@media screen and (max-width:991px) {

  .success-thanks-top-descr br {
    display: block;
  }

  .success-thanks-middle-ann,
  .success-thanks-middle-descr {
    font-size: 16px;
    text-align: left;
  }

  .success-thanks-middle-title::before {
    display: none;
  }

  .success-thanks-button {
    border-radius: 10px;
    font-size: 12px;
    text-align: left;
  }

  .success-thanks-middle::before {
    width: 52px;
    height: 52px;
    right: 30px;
    top: 6px;
  }

  .success-thanks-top::before {
    width: 136px;
    height: 100px;
    left: unset;
    right: 0;
    top: 38px;
  }

  .footer-payment-info-plus-app {
    flex-wrap: wrap;
  }

  .footer-app-info-item-title,
  .footer-app-info-item {
    text-align: center;
  }

  .footer-payment-info-plus-app .footer-payment-info {
    margin: 30px auto 14px auto;
  }

  .footer-app-info-item {
    margin: 0 auto;
  }

  .footer-app-buttons {
    justify-content: center;
  }

  .footer-payment-info-plus-app {
    flex-wrap: wrap;
  }

  .footer-app-info-item-title,
  .footer-app-info-item {
    text-align: center;
  }

  .footer-payment-info-plus-app .footer-payment-info {
    margin: 30px auto 14px auto;
  }

  .footer-app-info-item {
    margin: 0 auto;
  }

  .list-benefits .list-benefits-item {
    display: block;
  }

  .lb-nav-prev {
    left: 0px;
  }

  .lb-nav-next {
    right: 0px;
  }

  .list-benefits li .list-benefits-item {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .list-benefits-item .ico {
    margin-bottom: 20px;
    margin-right: 20px;
  }

  .list-benefits .text {
    min-height: 92px;
  }
}


@media screen and (max-width:767px) {
  jdiv .__jivoMobileButton {
    bottom: 100px !important;
  }

  .course-promo-label,
  .course-promo-timer {
    padding: 12px 8px;
    gap: 3px;
  }

  .course-promo-mobile {
    display: block;
  }

  .footer-app-info-item {
    width: 100%;
  }

  .footer-app-info-item {
    margin-top: 26px;
  }

  .footer-app-info-item-image {
    background: white;
    border-radius: 10px;
  }

  .download-app {
    display: block;
    text-align: center;
  }

  .download-app-title {
    text-align: center;
  }

  .download-app-image {
    margin-top: 22px;
    display: block;
  }

  .footer-app-info-item {
    width: 100%;
  }

  .footer-app-info-item {
    margin-top: 26px;
  }

  .footer-app-info-item-image {
    background: white;
    border-radius: 10px;
  }

  .download-app {
    display: block;
    text-align: center;
  }

  .download-app-title {
    text-align: center;
  }

  .download-app-image {
    margin-top: 22px;
    display: block;
  }

  .list-benefits .slick-slide {
    padding: 0 20px;
  }

  .list-benefits .text {
    min-height: 10px;
  }

  .lb-nav-prev {
    left: -12px;
  }

  .lb-nav-next {
    right: -12px;
  }

  .list-benefits li .list-benefits-item {
    flex-basis: 100%;
  }

  .list-benefits-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .list-benefits .slick-slide {
    min-height: 270px;
    padding: 30px;
  }

  .list-benefits .text {
    margin: 22px 0;
  }
}

@media screen and (max-width:499px) {
  .course-promo {
    flex-wrap: wrap;
  }

  .course-promo-label,
  .course-promo-timer {
    max-width: 100%;
    width: 100%;
  }
}

@media screen and (max-width:399px) {
  .success-thanks-middle::before {
    right: 4px;
  }

  .success-thanks-top::before {
    right: -10px;
  }

}

.article-toc {
  background-color: #f8f9fa;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
  border-left: 4px solid #76BC21;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  margin-top: 22px;
}

.article-toc h2 {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 24px;
  color: #333;
  border-bottom: 2px solid #eaeaea;
  padding-bottom: 10px;
}

.toc-list {
  margin: 0;
  padding-left: 20px;
}

.toc-sublist {
  margin: 5px 0;
  padding-left: 20px;
}

.toc-item {
  margin: 8px 0;
  list-style-type: decimal;
  line-height: 1.3em;
}

.toc-link {
  color: #127b8b;
  text-decoration: none;
  transition: all 0.2s ease;
  display: inline-block;
  padding: 2px 0;
}

.toc-link:hover {
  color: #127b8b;
  text-decoration: underline;
  transform: translateX(5px);
}

.toc-level-2 { 
  font-weight: bold; 
  font-size: 14px;
}
.toc-level-3 { 
  margin-left: 15px;
  font-size: 1em;
}
.toc-level-4 { 
  margin-left: 30px;
  font-size: 0.95em;
}
.toc-level-5 { 
  margin-left: 45px;
  font-size: 0.9em;
}
.toc-level-6 { 
  margin-left: 60px;
  font-size: 0.85em;
}

.toc-link.active {
  color: #ff6b6b;
  font-weight: bold;
}

.autor-doctor,
.sourses {
    padding: 20px;
    background: #f8f8f8;
}

.autor-doctor,
.stat-nav {
    align-items: center;
    display: flex;
}

.autor-doctor {
    width: 100%;
    margin-top: 20px;
}

.autor-photo {
    margin-right: 20px;
    min-width: 100px;
    min-height: 100px;
    width: 100px;
    height: 100px;
}

.autor-photo img {
    height: 100px;
    width: 100px;
    border-radius: 90px;
    object-fit: cover;
    object-position: top;
}

.autor-name {
    font-size: 18px;
}

.autor-name a {
    color: #996b3e;
    text-decoration: dashed;
}

.autor-desc {
    margin-top: 10px;
    border-left: 2px solid #996b3e;
    padding-left: 10px;
}

.warn-text,
.warn-title {
    font-size: 19px;
    line-height: 28px;
    color: #333;
}

@media (max-width: 768px) {
    .article-toc {
        padding: 15px;
    }
    
    .toc-level-4 { 
        margin-left: 20px; 
    }
    .toc-level-5 { 
        margin-left: 30px; 
    }
    .toc-level-6 { 
        margin-left: 40px; 
    }
    
    .panel-pageheader {
        padding: 14px;
        background-color: #127b8b;
    }
    
    .panel-pageheader .post-author {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px;
    }
    
    .panel-pageheader .article-author {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: auto;
        margin-right: 56px;
        display: flex;
        align-items: center;
    }
    
    .panel-pageheader .page-header-summary {
        width: 100%;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin-top: 0;
        width: auto;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin-left: -40px;
        color: #fff;
    }
    
    .panel-pageheader .page-header-summary > * {
        padding-left: 40px;
    }
}


.panel-pageheader {
    padding: 14px;
    background-color: #127b8b;
}

.post-author {
    display: flex;
    align-items: center;
}

.panel-pageheader .article-author {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: auto;
    margin-right: 56px;
    display: flex;
    align-items: center;
}

.panel-pageheader .article-author__foto {
    -webkit-box-flex: 0;
    -webkit-flex: none;
    -ms-flex: none;
    flex: none;
    width: 60px;
    height: 60px;
    background-color: #fff;
    padding: 0;
    -webkit-border-radius: 100%;
    border-radius: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
}

.panel-pageheader .article-author__foto img {
    vertical-align: top;
}

.panel-pageheader .article-author__info {
    padding-left: 14px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.panel-pageheader .article-author__name {
    color: #fff;
}

.panel-pageheader .article-author__name a {
    color: #fff;
    text-decoration: none;
}

.panel-pageheader .article-author__position {
    font-weight: 700;
    font-size: 14px;
    color: white;
}

.panel-pageheader .page-header-summary {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: -40px;
    color: #fff;
    margin-top: 0;
}

.panel-pageheader .page-header-summary > * {
    padding-left: 40px;
}

/* Медиа-запрос для мобильных устройств */
@media screen and (max-width: 767px) {
    .panel-pageheader .post-author {
        flex-wrap: wrap;
        gap: 12px;
    }
}

/* ==========================================================================
   Форма записи на Android (ТЗ 2026-10-06)
   Откат: удалить всё от этого комментария до конца файла.
   ========================================================================== */

/* Блок 1, все экраны. Пока открыто окно (Bootstrap ставит body.modal-open),
   плавающие виджеты не ложатся поверх формы: чат Jivo, кнопка звонка,
   «подарок» и «барабан» (колесо с cp.mzpo-s.ru/wof), плашка cookie.
   После закрытия окна всё возвращается, «барабан» тоже, если успел сработать. */
body.modal-open > jdiv,
body.modal-open .callbackcontainer,
body.modal-open .wof-pop,
body.modal-open .wof-widget,
body.modal-open .wof-widget-bg,
body.modal-open #cookie_notification {
    display: none !important;
}

/* Строка согласия теперь <label>, текст в <span> вместо <p>. Галочка не сжимается
   рядом с длинным текстом, а у текста те же отступы, что были у <p>
   (main .wrapper p в main.css), — на компьютере формы не сдвигаются. */
label > .checkbox-form {
    flex-shrink: 0;
}

main .wrapper label.d-flex > .fs-12 {
    margin: 10px 0;
}

/* Блок 2, экраны до 575 px. Окна «Заказать звонок» (md), «Обратная связь» (md2)
   и «Записаться на курс» (md3): заголовок в две строки, поля и кнопка
   помещаются на экран с открытой клавиатурой (~360×440). */
@media (max-width: 575px) {
    .bs-example-modal-md .modal-header,
    .bs-example-modal-md2 .modal-header,
    .bs-example-modal-md3 .modal-header {
        padding: 12px 16px 10px;
    }

    .bs-example-modal-md .modal-header .close,
    .bs-example-modal-md2 .modal-header .close,
    .bs-example-modal-md3 .modal-header .close {
        padding: 4px 8px;
        margin: -4px -8px 0 0;
    }

    .bs-example-modal-md .modal-title,
    .bs-example-modal-md2 .modal-title,
    .bs-example-modal-md3 .modal-title {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        margin-right: 24px;
        font-size: 18px;
        line-height: 23px;
    }

    /* в main.css у заголовка md3 отступы заданы через id */
    .bs-example-modal-md3 #mySmallModalLabel {
        padding-top: 0;
        margin: 0 24px 0 0;
    }

    .bs-example-modal-md .modal-header small {
        display: block;
        margin-top: 4px;
        font-size: 12px;
        line-height: 16px;
    }

    .bs-example-modal-md .modal-header small br {
        display: none;
    }

    .bs-example-modal-md .modal-body,
    .bs-example-modal-md2 .modal-body,
    .bs-example-modal-md3 .modal-body {
        padding: 12px 16px 0;
    }

    .bs-example-modal-md .modal-body .row,
    .bs-example-modal-md2 .modal-body .row,
    .bs-example-modal-md3 .modal-body .row {
        margin-bottom: 10px;
    }

    .bs-example-modal-md .modal-body label.bold,
    .bs-example-modal-md2 .modal-body label.bold,
    .bs-example-modal-md3 .modal-body label.bold {
        margin-bottom: 4px;
        font-size: 14px;
        line-height: 18px;
    }

    .bs-example-modal-md .modal-body label.d-flex > .fs-12,
    .bs-example-modal-md2 .modal-body label.d-flex > .fs-12,
    .bs-example-modal-md3 .modal-body label.d-flex > .fs-12 {
        margin: 0;
    }

    .bs-example-modal-md .checkbox-form,
    .bs-example-modal-md2 .checkbox-form,
    .bs-example-modal-md3 .checkbox-form {
        width: 22px;
        height: 22px;
    }

    .bs-example-modal-md .modal-footer,
    .bs-example-modal-md2 .modal-footer,
    .bs-example-modal-md3 .modal-footer {
        padding: 12px 16px 16px;
        border-top: 0;
    }

    .bs-example-modal-md .modal-footer > div,
    .bs-example-modal-md2 .modal-footer > div,
    .bs-example-modal-md3 .modal-footer > div,
    .bs-example-modal-md .modal-footer .btn,
    .bs-example-modal-md2 .modal-footer .btn,
    .bs-example-modal-md3 .modal-footer .btn {
        width: 100%;
        margin: 0;
    }
}

/* ==========================================================================
   «Подарок» колеса фортуны поменьше (2026-10-09): 100px → 64px.
   wof.js с cp.mzpo-s.ru (united_cp, views/wof/widget-script.blade.php) ставит
   размер и отступы inline-стилями, поэтому !important. На компьютере подарок
   стоит под кнопкой чата, на телефоне — по краю плашки cookie.
   Откат: удалить этот блок.
   ========================================================================== */

.wof-pop {
    width: 64px !important;
    height: 64px !important;
    left: 24px !important;
    bottom: 16px !important;
}

@media (max-width: 575px) {
    .wof-pop {
        left: 12px !important;
        bottom: 12px !important;
    }
}

/* Телефон: без автооткрытия колеса. Таймер wof.js (40 с) всё равно вешает
   .wof-widget-a, но окно остаётся скрытым, пока человек сам не нажмёт на подарок
   (клик ставит body.wof-user-open — setup/footer.php, рядом с загрузкой wof.js).
   На компьютере колесо открывается само, как раньше. */
@media (max-width: 767px) {
    body:not(.wof-user-open) .wof-widget.wof-widget-a {
        visibility: hidden !important;
        left: -720px !important;
    }

    body:not(.wof-user-open) .wof-widget-bg.wof-widget-bg-a {
        visibility: hidden !important;
        opacity: 0 !important;
    }
}

/* Пока открыт ИИ-консультант B24U, на телефоне подарка нет: там чат во весь экран, и подарок
   закрывал поле ввода. На десктопе чат — окошко сбоку, подарок не мешает и остаётся.
   body.b24u-chat-open ставит setup/footer.php (рядом с загрузкой wof.js),
   после закрытия чата подарок возвращается. */
@media (max-width: 767px) {
    body.b24u-chat-open .wof-pop {
        display: none !important;
    }
}

/* ==========================================================================
   Плашка cookie на телефоне — компактная, как на МИРК (2026-10-09)
   Короткий текст без фразы про настройки браузера, кнопка во всю ширину.
   Кнопки звонка, Jivo и «подарок» поднимаются над плашкой на её высоту
   (--cookie-widget-offset считает checkCookies в common.js) и опускаются
   обратно после «Принять».
   Откат: удалить всё от этого комментария до конца файла.
   ========================================================================== */

@media (max-width: 575px) {
    #cookie_notification.show {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        right: 12px;
        bottom: max(12px, env(safe-area-inset-bottom));
        left: 12px;
        box-sizing: border-box;
        width: auto;
        max-width: none;
        max-height: calc(100dvh - 24px);
        padding: 12px;
        overflow: auto;
        border: 1px solid #d7e7ea;
        border-radius: 12px;
        box-shadow: 0 6px 32px rgba(18, 60, 70, .16);
        transform: none;
    }

    #cookie_notification p {
        margin: 0;
        font-size: 14px;
        line-height: 20px;
    }

    #cookie_notification .cookie-desktop-text {
        display: none;
    }

    #cookie_notification p a {
        padding: 4px 0;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    #cookie_notification .btn-cookie {
        display: block;
        width: 100%;
        min-height: 44px;
        margin: 0;
        padding: 10px 16px;
        border-radius: 8px;
        font-size: 16px;
        line-height: 22px;
    }

    .callbackcontainer,
    .wof-pop,
    #jvLabelWrap,
    jdiv.__jivoMobileButton {
        translate: 0 calc(-1 * var(--cookie-widget-offset, 0px));
        transition: translate .32s ease;
    }
}

@media (max-width: 575px) and (prefers-reduced-motion: reduce) {
    .callbackcontainer,
    .wof-pop,
    #jvLabelWrap,
    jdiv.__jivoMobileButton {
        transition: none;
    }
}

/* «Онлайн запись на курс»: черта под странами СНГ в списке кодов телефона, как на МИРК.
   Класс ставит intlTelInputRu() в setup/footer.php только у этой формы. */
.iti__country.iti__country--cis-last {
    margin-bottom: 6px;
    border-bottom: 1px solid #e6eaef;
}

/* во время поиска список перестраивается — черта там ни к чему */
.iti__search-input:not(:placeholder-shown) ~ .iti__country-list .iti__country--cis-last {
    margin-bottom: 0;
    border-bottom: 0;
}

/* ---------- Окно после заявки «Спасибо за заявку» + лента Telegram-канала (components/success.php, 05.11.2026) ----------
   Как на МИРК (вариант «Лента канала»), в цветах МЦПО. Слева текст и кнопка, справа телефон с постами канала;
   до 900px — одной колонкой, картинка сверху. */

.tg-thanks-modal .modal-dialog {
  max-width: 960px;
  padding: 0 10px;
}
/* jabbar/essentials.css даёт всем .modal-dialog тень (на :active — с !important). Здесь .modal-dialog-centered
   растянут почти на весь экран, и тень рисовала пустую полупрозрачную рамку вокруг окна. Тень — только у .modal-content. */
.tg-thanks-modal .modal-dialog,
.tg-thanks-modal .modal-dialog:active {
  border-radius: 0;
  box-shadow: none !important;
}
.tg-thanks-modal .modal-content {
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 22px !important;
  background: transparent;
  box-shadow: 0 30px 80px rgba(10, 40, 46, .30);
}
.tg-thanks__close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: #5E676D;
  box-shadow: 0 4px 14px rgba(6, 50, 58, .20);
  cursor: pointer;
}
.tg-thanks__close:hover { background: #fff; color: #23292E; }
.tg-thanks__close:focus { outline: 0; }
.tg-thanks__close:focus-visible { outline: 3px solid #9FD8E0; outline-offset: 2px; }

.tg-thanks {
  --tg-ink: #23292E;
  --tg-text: #3A4147;
  --tg-muted: #5E676D;
  --tg-teal: #127B8B;
  display: grid;
  grid-template-columns: 1fr 420px;
  min-height: 540px;
  background: #fff;
  color: var(--tg-text);
  font-family: DINProRegular, Arial, sans-serif;
  text-align: left;
}
.tg-thanks *, .tg-thanks *::before, .tg-thanks *::after { box-sizing: border-box; }
.tg-thanks p, .tg-thanks ul, .tg-thanks li { margin: 0; padding: 0; list-style: none; }
.tg-thanks img { max-width: none; border: 0; }

.tg-thanks__main { display: flex; flex-direction: column; justify-content: center; padding: 48px 44px 44px 48px; }
.tg-thanks__ok { display: flex; align-items: center; gap: 14px; }
.tg-thanks__ok-icon { flex: none; animation: tg-pop .45s cubic-bezier(.2, .9, .3, 1.25) both; }
.tg-thanks__ok-icon path { stroke-dasharray: 24; stroke-dashoffset: 24; animation: tg-draw .35s .25s ease-out forwards; }
.tg-thanks__title { font-family: DINProBold, Arial, sans-serif; font-size: 29px; line-height: 34px; color: var(--tg-ink); }
.tg-thanks .tg-thanks__lead { margin-top: 3px; font-size: 16.5px; line-height: 22px; color: var(--tg-muted); }
.tg-thanks__h { margin-top: 34px; font-family: DINProBold, Arial, sans-serif; font-size: 23px; line-height: 28px; color: var(--tg-ink); }
.tg-thanks__nb { white-space: nowrap; }
.tg-thanks .tg-thanks__list { display: grid; gap: 12px; margin-top: 18px; }
.tg-thanks__list li { display: flex; align-items: flex-start; gap: 12px; font-size: 17px; line-height: 23px; }
.tg-thanks__list li::before { display: none; }
.tg-thanks__list svg { flex: none; }
.tg-thanks__list b { font-family: DINProBold, Arial, sans-serif; font-weight: 400; color: var(--tg-ink); }

.tg-thanks .tg-thanks__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 54px;
  margin-top: 30px;
  border-radius: 12px;
  background: var(--tg-teal);
  color: #fff;
  font-family: DINProBold, Arial, sans-serif;
  font-size: 18px;
  letter-spacing: .01em;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(18, 123, 139, .30);
  transition: background .15s, transform .15s, box-shadow .15s;
}
.tg-thanks .tg-thanks__btn:hover { background: #0E6876; color: #fff; text-decoration: none; transform: translateY(-1px); box-shadow: 0 12px 26px rgba(18, 123, 139, .34); }
.tg-thanks .tg-thanks__btn:focus-visible { outline: 3px solid #9FD8E0; outline-offset: 3px; }
.tg-thanks__arr { opacity: .85; }

/* Картинка справа: бирюзовая панель, телефон с лентой канала, уведомление и реакции */
.tg-thanks__art {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(60% 45% at 85% 8%, rgba(255, 255, 255, .32) 0%, rgba(255, 255, 255, 0) 70%),
    radial-gradient(70% 60% at 0% 100%, rgba(4, 52, 60, .38) 0%, rgba(4, 52, 60, 0) 70%),
    linear-gradient(160deg, #43C2CF 0%, #1FA3B5 35%, #158898 70%, #0F6D7B 100%);
}
.tg-thanks__art::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .13;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M18 30l24-9-5 23-7-6-5 5v-7l12-9-13 8z'/%3E%3Cpath d='M80 88l18-7-4 17-5-4-4 4v-5l9-7-10 6z'/%3E%3Ccircle cx='92' cy='26' r='2.5'/%3E%3Ccircle cx='30' cy='92' r='1.8'/%3E%3C/g%3E%3C/svg%3E");
}

.tg-thanks__phone {
  position: absolute;
  top: calc(50% + 16px);
  left: 50%;
  width: 224px;
  height: 460px;
  margin: -230px 0 0 -112px;
  padding: 8px;
  border-radius: 40px;
  background: #0E1216;
  box-shadow: 0 30px 60px rgba(3, 40, 46, .45), inset 0 0 0 1.5px #2A3138;
  transform: rotate(-4deg);
  animation: tg-bob 7s ease-in-out infinite;
}
.tg-thanks__screen {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 32px;
  background: #fff;
  font-family: -apple-system, "SF Pro Text", Roboto, Arial, sans-serif;
}
.tg-thanks__island { position: absolute; top: 7px; left: 50%; z-index: 3; width: 70px; height: 20px; margin-left: -35px; border-radius: 12px; background: #0E1216; }
.tg-thanks__bar { flex: none; display: flex; align-items: center; gap: 6px; padding: 34px 10px 8px; border-bottom: 1px solid #E3E5E8; background: rgba(248, 248, 250, .97); }
.tg-thanks__back { flex: none; color: #2AABEE; }
.tg-thanks__bar-title { flex: 1; min-width: 0; text-align: center; }
.tg-thanks__bar-title b { display: block; overflow: hidden; font-size: 11.5px; line-height: 14px; font-weight: 600; color: #111; white-space: nowrap; text-overflow: ellipsis; }
.tg-thanks__bar-title span { display: block; font-size: 9.5px; line-height: 12px; color: #8E8E93; }
.tg-thanks__bar img { flex: none; width: 28px; height: 28px; border-radius: 50%; }

.tg-thanks__chat {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6px;
  min-height: 0;
  overflow: hidden;
  padding: 8px 8px 6px;
  background: linear-gradient(165deg, #D6ECD9 0%, #CFE7E9 45%, #D3E2F2 100%);
}
.tg-thanks__chat > * { flex-shrink: 0; }
.tg-thanks__day { align-self: center; padding: 0 8px; border-radius: 8px; background: rgba(60, 90, 80, .32); color: #fff; font-size: 9px; line-height: 15px; }
.tg-thanks__post { width: 92%; overflow: hidden; border-radius: 13px 13px 13px 4px; background: #fff; box-shadow: 0 1px 1px rgba(0, 0, 0, .08); }
.tg-thanks__media { position: relative; }
.tg-thanks__media img { display: block; width: 100%; height: 150px; object-fit: cover; object-position: center 12%; }
.tg-thanks__media--short img { height: 92px; object-position: center 22%; }
.tg-thanks__media.is-video::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin: -15px 0 0 -15px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'%3E%3Cpath d='M0 0l10 6-10 6z' fill='%23fff'/%3E%3C/svg%3E") 56% 50% no-repeat;
}
.tg-thanks__post p { padding: 6px 8px 0; font-size: 10px; line-height: 13.5px; color: #111; }
.tg-thanks__post b { font-weight: 600; }
.tg-thanks__post .tg-thanks__sub { overflow: hidden; padding-top: 3px; color: #444; white-space: nowrap; text-overflow: ellipsis; }
.tg-thanks__meta { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 4px 8px 6px; font-size: 8.5px; color: #8E8E93; }
.tg-thanks__rx { display: inline-flex; gap: 4px; }
.tg-thanks__rx span { padding: 1px 6px; border-radius: 9px; background: #EAF4FC; color: #1877C2; }
.tg-thanks__join { flex: none; padding: 9px 0 16px; border-top: 1px solid #E3E5E8; background: rgba(248, 248, 250, .97); color: #2AABEE; font-size: 11.5px; font-weight: 600; letter-spacing: .02em; text-align: center; text-transform: uppercase; }

.tg-thanks__note {
  position: absolute;
  top: 20px;
  left: 16px;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  width: 252px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 14px 30px rgba(3, 40, 46, .30);
  font-family: -apple-system, "SF Pro Text", Roboto, Arial, sans-serif;
  animation: tg-note .5s .6s cubic-bezier(.2, .9, .3, 1.1) both;
}
.tg-thanks__note img { flex: none; width: 30px; height: 30px; border-radius: 50%; }
.tg-thanks__note > div { flex: 1; min-width: 0; }
.tg-thanks__note-top { display: flex; justify-content: space-between; gap: 6px; font-size: 11px; line-height: 14px; }
.tg-thanks__note-top b { overflow: hidden; font-weight: 600; color: #111; white-space: nowrap; text-overflow: ellipsis; }
.tg-thanks__note-top span { flex: none; color: #8E8E93; }
.tg-thanks__note p { margin-top: 2px; color: #222; font-size: 11.5px; line-height: 15px; }

.tg-thanks__r { position: absolute; z-index: 2; filter: drop-shadow(0 8px 12px rgba(3, 40, 46, .30)); animation: tg-rise 5.4s ease-in-out infinite; }
.tg-thanks__r--1 { top: 210px; right: 26px; width: 46px; height: 46px; animation-delay: .2s; }
.tg-thanks__r--2 { top: 300px; right: 46px; width: 40px; height: 40px; animation-delay: 2s; }
.tg-thanks__r--3 { top: 384px; right: 20px; width: 42px; height: 42px; animation-delay: 3.6s; }

@keyframes tg-pop { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes tg-draw { to { stroke-dashoffset: 0; } }
@keyframes tg-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@keyframes tg-note { from { transform: translateY(-14px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes tg-rise { 0%, 100% { translate: 0 0; rotate: 0deg; } 50% { translate: 0 -12px; rotate: 6deg; } }

@media (prefers-reduced-motion: reduce) {
  .tg-thanks *, .tg-thanks *::before, .tg-thanks *::after { animation: none !important; }
  .tg-thanks__ok-icon path { stroke-dashoffset: 0; }
}

/* Планшет и телефон: одна колонка, панель с телефоном — шапкой сверху */
@media (max-width: 900px) {
  .tg-thanks-modal .modal-dialog { max-width: 580px; }
  .tg-thanks-modal .modal-content { border-radius: 18px !important; }
  .tg-thanks__close { top: 12px; right: 12px; width: 36px; height: 36px; }
  .tg-thanks { display: flex; flex-direction: column; min-height: 0; }
  .tg-thanks__art { order: -1; flex: none; height: 196px; }
  .tg-thanks__phone { top: 26px; width: 202px; height: 420px; margin: 0 0 0 -101px; padding: 7px; border-radius: 34px; transform: none; animation: none; }
  .tg-thanks__screen { border-radius: 28px; }
  .tg-thanks__chat { justify-content: flex-start; }
  .tg-thanks__post--older, .tg-thanks__day--older { display: none; }
  .tg-thanks__note, .tg-thanks__r--3 { display: none; }
  .tg-thanks__r--1 { top: 108px; right: 26px; width: 40px; height: 40px; }
  .tg-thanks__r--2 { top: 92px; right: auto; left: 26px; width: 36px; height: 36px; }
  .tg-thanks__main { padding: 22px 20px 24px; }
  .tg-thanks__ok { gap: 12px; }
  .tg-thanks__ok-icon { width: 38px; height: 38px; }
  .tg-thanks__title { font-size: 23px; line-height: 27px; }
  .tg-thanks .tg-thanks__lead { margin-top: 1px; font-size: 15px; line-height: 20px; }
  .tg-thanks__h { margin-top: 20px; font-size: 19.5px; line-height: 24px; }
  .tg-thanks .tg-thanks__list { gap: 10px; margin-top: 14px; }
  .tg-thanks__list li { gap: 10px; font-size: 15.5px; line-height: 21px; }
  .tg-thanks .tg-thanks__btn { height: 52px; margin-top: 20px; font-size: 17px; }
}

/* Телефон: недописанный или пустой номер (js/common.js, конец файла) — подсказка под полем */
.mzpo-phone-error{display:block;width:fit-content;max-width:100%;margin:6px 0 0;padding:4px 10px 5px;border-radius:8px;background:#fdecea;color:#b3261e;font-size:13px;line-height:1.3;font-weight:600;text-align:left}
input.mzpo-phone-invalid{box-shadow:inset 0 0 0 2px #d93025!important}
.mzc .mzc__form input.mzpo-phone-invalid{box-shadow:inset 0 0 0 2px #ffd2cc!important}

/* Код страны у телефона (+7) — размер как у цифр номера (поля сайта — 15px); поле со своим размером
   (формы уроков, 17px) подгоняет js/common.js. Раньше «+7» был 18px — размер шрифта страницы. */
.iti .iti__selected-dial-code{font-size:15px}


/* ===== Разрешение Росздравнадзора (12.11.2026), разметка — components/roszdravnadzor.php ===== */

/* Шапка: верхняя строка документов — лицензия + разрешение белой плашкой */
header .header-top-line.rzn-top { padding: 6px 0; min-height: 0; background: #f1f6f7; border-bottom: 1px solid #e2ecee; }
.rzn-docs { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 3px 18px; }
.rzn-docs-item {
	display: inline-flex; align-items: center; gap: 6px;
	color: #377889 !important; text-decoration: none !important;
	font-size: 12.5px; line-height: 17px;
}
.rzn-docs-item svg { width: 15px; height: 15px; flex: none; }
.rzn-docs-item:hover span { text-decoration: underline; text-underline-offset: 2px; }
.rzn-docs-item--rzn {
	color: #1f6573 !important;
	background: #fff; border: 1px solid #cfe1e5; border-radius: 13px; padding: 2px 11px 2px 8px;
	transition: border-color .15s;
}
.rzn-docs-item--rzn:hover { border-color: #9cc3cb; }
.rzn-docs-item--rzn b { font-weight: 700; }
@media (max-width: 767px) {
	header .header-top-line.rzn-top { padding: 5px 10px; }
	.rzn-docs { flex-direction: column; gap: 3px; }
	.rzn-docs .rzn-long { display: none; }
	.rzn-docs-item { font-size: 11px; line-height: 14px; }
	.rzn-docs-item svg { width: 12px; height: 12px; }
}

/* Описание курса из разрешения: выделенная плашка со ссылкой на документ */
.rzn-box {
	display: flex; align-items: center; gap: 14px;
	padding: 14px 16px 14px 14px;
	background: #e9f4f6; border: 1px solid #c3dde2; border-left: 4px solid #127b8b; border-radius: 8px;
	color: #1f2d30 !important; text-decoration: none !important;
	font-size: 16px; line-height: 1.35;
	transition: background .15s, border-color .15s;
}
.rzn-box:hover { background: #ddeef1; }
.rzn-box svg { flex: none; width: 30px; height: 30px; color: #127b8b; }
.rzn-box-text { flex: 1; }
.rzn-box-text b { font-weight: 700; color: #127b8b; }
.rzn-nobr { white-space: nowrap; }
.rzn-box-dl {
	flex: none; white-space: nowrap;
	padding: 7px 14px; border-radius: 6px;
	background: #127b8b; color: #fff; font-weight: 700; font-size: 14px; line-height: 1.2;
	transition: background .15s;
}
.rzn-box:hover .rzn-box-dl { background: #0e6573; }
.rzn-box-wrap, .rzn-box-wrap--in { margin: 0 0 20px; }
@media (max-width: 575px) {
	.rzn-box { flex-wrap: wrap; font-size: 15px; gap: 10px 12px; }
	.rzn-box svg { width: 26px; height: 26px; }
	.rzn-box-text { flex-basis: calc(100% - 40px); }
	.rzn-box-dl { margin-left: 38px; }
}

/* Блоки лицензий: подписи под сканами; разрешение — 4-м (на курсах из него — 1-м, с рамкой) */
.our-licenses-slider .rzn-cap {
	margin: 10px 6px 0;
	font-size: 14px; line-height: 1.3; color: #444;
	text-align: center; min-height: 2.6em;
}
/* разрешение в общем ряду: подпись — ссылка на PDF, как обычный текст */
.our-licenses-slider .rzn-slide .rzn-cap a { color: inherit; text-decoration: none; }
.our-licenses-slider .rzn-slide .rzn-cap a:hover { text-decoration: underline; }
.our-licenses-slider .rzn-doc { position: relative; display: block; }
.our-licenses-slider .rzn-doc:hover > .image-hover-icon { opacity: 1; }
/* на курсах из разрешения (МММ, РСД, ФИЗ) — первым слайдом, с рамкой и меткой */
.our-licenses-slider .rzn-slide--accent .rzn-doc { outline: 2px solid #127b8b; outline-offset: -2px; }
.our-licenses-slider .rzn-slide--accent .rzn-cap, .our-licenses-slider .rzn-slide--accent .rzn-cap a { color: #127b8b; font-weight: 700; }
.our-licenses-slider .rzn-tag {
	position: absolute; left: 8px; top: 8px; z-index: 4;
	padding: 3px 8px; border-radius: 6px;
	background: #127b8b; color: #fff; font-size: 12px; font-weight: 700; line-height: 1.3;
}
