/* ALERT RELATED CLASS (START) */

.alert-area {
    max-height: 100%;
    position: fixed;
    bottom: 5px;
    left: 20px;
    right: 20px;
    z-index: 100;
}
.alert-content{
  padding-right: 16px;
    text-align: left;
}

.alert-box {
  font-size: 16px;
  color: white;
  background: rgba(0, 0, 0, 0.9);

  line-height: 1.3em;
  padding: 10px 15px;
  margin: 5px 10px;
  position: relative;
  border-radius: 5px;
  transition: opacity 0.5s ease-in;
}
.alert-box.red{
    background: rgba(255, 0, 0, 0.7);
}
.alert-box.green{
    background: rgba(0, 255, 0, 0.7);
}

.alert-box.gray {
  background: rgba(15, 30, 53, .7);
}

.alert-box.hide {
  opacity: 0;
}

.alert-close {
  background: transparent;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 15px;
  right: 15px;
}

.alert-close:before,
.alert-close:after {
  content: '';
  width: 15px;
  border-top: solid 2px white;
  position: absolute;
  top: 5px;
  right: -1px;
  display: block;
}

.alert-close:before {
  transform: rotate(45deg);
}

.alert-close:after {
  transform: rotate(135deg);
}

.alert-close:hover:before,
.alert-close:hover:after {
  border-top: solid 2px #d8d8d8;
}

@media (max-width: 767px) and (min-width: 481px) {
  .alert-area {
    left: 100px;
    right: 100px;
  }
}

@media (min-width: 768px) {
  .alert-area {
    width: 350px;
    left: auto;
    right: 0;
  }
}



.alert-message-container {
  text-align: center;
  line-height: 2.5em;
  margin-top: 50px;
}

.alert-message-box {
  font-size: 20px;
  width: 300px;
  border: solid 1px #444;
  padding: 10px 15px;
  outline: none;
  transition: box-shadow 0.1s;
}

.alert-message-box:focus {
  box-shadow: 0 0 15px 2px #888;
}

.alert-message-button {
  font-size: 18px;
  color: white;
  background: #14b9ff;
  width: 250px;
  border: solid 1px #14b9ff;
  padding: 10px 20px;
  margin-top: 5px;
  cursor: pointer;
  outline: none;
  transition: background 0.1s;
}

.alert-message-button:hover,
.alert-message-button:focus,
.alert-message-button:active {
  background: #7dd8ff;
}

/* ALERT RELATED CLASS (END) */


.b-form .b-textarea.error,
.b-form .b-input.error,
.error{
    border-color: red;
}

.dnone {
	display: none
}


.b-content-text img{
    max-width: 100%;
}@media (max-width: 768px){  .b-header__inner-wrap{    padding: 12px 0 !important; /* сжимает шапку */  }  .b-main-header{    align-items: center;  }  .b-main-header__wrap-logo{    display: inline-flex;    align-items: center;    line-height: 0;    max-height: 40px; /* важно */  }  .b-main-header__logo{    height: 40px !important;    /* важно */    width: auto !important;    max-width: 160px;    object-fit: contain;    display: block;  }}@media (max-width: 768px){  .b-first-screen{    min-height: 100svh !important;    min-height: 100vh !important;    padding-bottom: 0 !important; /* убираем лишнюю высоту вниз */  }  /* контент не должен стартовать слишком низко */  .b-first-screen > .l-container{    padding-top: 120px !important; /* подгони 100–140 */  }  /* нижний блок контактов не должен "добивать" высоту как absolute */  .b-first-screen > .b-contacts{    position: static !important;    margin-top: 16px;  }}/* ATOMIC HERO FIX (mobile): убираем любые calc(100vh + ...) и лишние паддинги */@media (max-width: 992px){  body .b-first-screen{    height: auto !important;    min-height: unset !important;    padding-bottom: 0 !important;  }  body .b-first-screen > .l-container{    padding-top: 96px !important; /* временно */  }  body .b-first-screen > .b-contacts{    position: static !important;  }  /* на всякий случай: если фон/растяжение делается псевдоэлементом */  body .b-first-screen::before{    content: none !important;  }}/* ========== mobile-safe hero (no magic px) ========== */@media (max-width: 992px){  .b-first-screen{    position: relative !important;    overflow: hidden !important;  }  /* Шапка всегда выше */  .b-first-screen .b-header,  .b-first-screen .b-header__inner-wrap{    position: relative !important;    z-index: 30 !important;  }  /* Контент выше фона */  .b-first-screen > .l-container{    position: relative !important;    z-index: 20 !important;  }  /* Фоновая картинка: не "top", а привязка к верху вьюпорта */  .b-first-screen__img{    position: absolute !important;    right: 0 !important;    top: 0 !important;                 /* без зависимости от шапки */    transform: translateY(10svh) !important; /* сдвиг вниз относит. вьюпорта */    width: 78% !important;    max-width: 460px !important;    height: auto !important;    z-index: 10 !important;    pointer-events: none !important;  }  /* Чтобы текст не заходил на картинку */  .b-main-slider__text-container{    max-width: min(72%, 520px) !important;  }  /* Лого ограничиваем по высоте */  .b-main-header__logo{    height: 40px !important;    width: auto !important;    object-fit: contain !important;  }}/* Mobile hero: текст приоритет, картинка декоративная */@media (max-width: 768px){  /* 1) Тексту — ширину */  .b-main-slider__text-container{    max-width: 100% !important;    padding-right: 110px; /* резерв под картинку справа */  }  /* 2) Картинка — меньше и тише */  .b-first-screen__img{    width: 180px !important;    max-width: 55vw !important;    opacity: .35 !important;    filter: saturate(.9) contrast(.9);    right: 12px !important;    top: 70px !important;  }  /* 3) Заголовок/подзаголовок — без “десктопных” размахов */  .b-main-slider .b-title-1{    font-size: 26px !important;    line-height: 1.15 !important;  }  .b-main-slider__subtitle{    font-size: 15px !important;    line-height: 1.35 !important;  }}

/* HERO mobile layout — как в старой версии */
@media (max-width: 768px){

  /* Убираем абсолют */
  .b-first-screen__img{
    position: static !important;
    display: block !important;
    margin: 40px auto 24px auto !important; /* центрируем */
    width: 70% !important;
    max-width: 320px !important;
    height: auto !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* Контейнер в колонку */
  .b-first-screen{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .b-first-screen > .l-container{
    padding-top: 0 !important;
    text-align: center !important;
  }

  /* Текст центрируем */
  .b-main-slider__text-container{
    max-width: 100% !important;
    padding-right: 0 !important;
  }

  .b-main-slider .b-title-1{
    font-size: 28px !important;
    line-height: 1.15 !important;
  }
}

/* HERO (<=992): как в старой версии — картинка сверху, по центру, только активная */
@media (max-width: 992px){

  /* прячем все слайды-картинки полностью */
  .b-first-screen__img{
    display: none !important;
  }

  /* показываем только активную */
  .b-first-screen__img.js-act{
    display: block !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;

    width: min(520px, 80vw) !important;
    height: auto !important;
    margin: 24px auto 18px auto !important; /* центр */
    transform: none !important;
  }

  /* убираем десктопный отступ, который делает "пустоту" */
  .b-first-screen > .l-container{
    padding-top: 0 !important; /* в critical было 182px :contentReference[oaicite:2]{index=2} */
    text-align: center !important;
  }

  /* чтобы текст был по центру, как на референсе */
  .b-main-slider__text-container{
    margin: 0 auto !important;
    max-width: 560px !important;
  }

  /* нижние контакты — пусть идут после текста, не absolute */
  .b-first-screen .b-contacts{
    position: static !important;
  }
}

/* HERO spacing fix: убрать "конские" отступы на мобилке/планшете */
@media (max-width: 992px){

  /* 1) первый экран не должен быть выше контента */
  .b-first-screen{
    min-height: auto !important;
    padding-bottom: 24px !important; /* было много больше */
  }

  /* 2) картинка: меньше воздуха сверху/снизу */
  .b-first-screen__img.js-act{
    margin: 12px auto 12px auto !important;
  }

  /* 3) текстовый блок: убираем лишние отступы */
  .b-main-slider{
    margin-top: 0 !important;
  }
  .b-main-slider__text-container{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* 4) контакты внизу: компактнее */
  .b-first-screen .b-contacts{
    margin-top: 12px !important;
    padding-top: 0 !important;
  }

  /* 5) если где-то прилипли большие паддинги у контейнера */
  .b-first-screen > .l-container{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}