/* Custom CSS */

/* Таблицы в теле материала (классы навешивает js/scripts.js) */
.node__content .table-responsive {
    margin-bottom: 1.25rem;
}

.node__content .table > thead th,
.node__content .table td > strong:only-child {
    /* Шапка таблиц читается чётче */
    font-weight: 700;
}

/* Убираем нижний отступ у самой таблицы — его даёт .table-responsive */
.node__content .table-responsive > .table {
    margin-bottom: 0;
}

blockquote {
	background: none repeat scroll 0 0 #e7e7e7;
	font-size: 1.2rem;
	line-height: 1.45;
	padding: 2rem 3rem 1.5rem;
	position: relative;
	display: inline-block;
	border: 1px solid #d8d8d8;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: rgb(216, 216, 216);
	border-left: 10px solid rgb(216, 216, 216);
	margin: 1.25rem 0;
	width: 100%;
}

h1, .h1, .h2, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2{
  font-family: 'RussoOne';
}

a{
  text-decoration: none;
}

.region-content,
.block-b5sub-content{
  margin-top: 1rem;
  margin-bottom: 2rem;
}

.btn, .node-preview-container .node-preview-backlink, button.link, .button, a.button{
  margin: 0;
}

.more-link{

}

.row{
  margin-bottom: 2rem;
}

.h-flex{
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
.v-flex{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.login-top{
  display: block;
  padding: 0 .5rem 0 .25rem;
  cursor: pointer;
  text-decoration: none;
}
.login-top::before{
  font-family: 'fontello';
  font-size: 1.75rem;
  content: '\E866';
}

.logout-top{
  text-decoration: none;  
}

.logout-top::before{
  font-family: 'fontello';
  font-size: 1.75rem;
  content: '\E86A';
}

.top-line{
  width: 100%;
}

.top-first-line{
  display: flex;
  width: 100%;
}

.top-first-line .region-nav-branding{
  flex: 1;
}

@media (max-width: 1399px) {
  .clock{
    display: none;
  }
}
@media (max-width: 991px) {
  .top-button{
    display: none;
  }
}

@media (max-width: 767px) {
  .top-email{
    display: none;
  }
}

/* Bootstrap 5 Menu Hover */

@media (min-width: 992px) {
  .dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
  }
  
  .dropdown > .dropdown-toggle:active {
    pointer-events: none;
  }
}

/* Templates */


/* Стили для блоков преимуществ, УТП, CTA и аккордеонов в новой цветовой схеме */

/* Общие стили для блоков преимуществ */
.prop-row {
  margin-top: 2rem;
}
.prop-row .prop-col{
  margin-bottom: 2rem;
}
.prop-row .prop-col .prop-block{
  background-color: #E4E3F5;
  color: #1c1c1c;
  padding: 2rem 3rem;
  border-radius: .75rem;
  height: 100%;
  box-shadow: 0 4px 6px rgba(26, 25, 101, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.prop-row .prop-col .prop-block:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 15px rgba(26, 25, 101, 0.15);
}

.prop-row .prop-col-1 .prop-block {
  color: #fff;
  background: linear-gradient(120deg, #4f4d9b 0%, #4f4d9b 70%, #5954A5 85%, #5D5CC8 100%);
}

.prop-row .prop-col-2 .prop-block {
  color: #fff;
  background: linear-gradient(120deg, #4f4d9b 0%, #4f4d9b 70%, #6152A7 85%, #8267D5 100%);
}

.prop-row .prop-col-3 .prop-block {
  color: #fff;
  background: linear-gradient(120deg, #4f4d9b 0%, #4f4d9b 70%, #4857A1 85%, #3B8FB8 100%);
}

.prop-row .prop-col-4 .prop-block {
  color: #fff;
  background: linear-gradient(120deg, #4f4d9b 0%, #4f4d9b 70%, #4A5C9A 85%, #3D9FA1 100%);
}

.prop-row .prop-col-5 .prop-block {
  color: #fff;
  background: linear-gradient(120deg, #4f4d9b 0%, #4f4d9b 70%, #5D559E 85%, #C88E5A 100%);
}

.prop-row .prop-col-6 .prop-block {
  color: #fff;
  background: linear-gradient(120deg, #4f4d9b 0%, #4f4d9b 70%, #5F4F9F 85%, #C45A7A 100%);
}


/* Стили для заголовков и описаний */
.prop-title{
  font-size: 120%;
  font-weight: 600;
}
.prop-row .prop-col .prop-title{
  margin-bottom: 1rem;
}
.prop-description{
  margin-bottom: 1rem;
}

/* Стили для нумерованного списка (prop-ol) */
.prop-ol{
  margin-bottom: 3rem;
}
.prop-ol,
.ck-content .prop-ol{
  list-style-type: none;
  counter-reset: ordered;
}
.prop-ol li{
  margin: 1.5rem 1.5rem;
  position: relative; /* Добавлено для абсолютного позиционирования :before */
}
.prop-ol li:before{
  color: #4f4d9b;
  content: counter(ordered);
  counter-increment: ordered;
  display: inline-block;
  font-size: 1.75rem;
  margin-left: -3.2rem;
  padding: 0rem;
  position: absolute;
  font-weight: bold;
}

/* Блок призыва к действию (CTA) */
.cta-row{
  color: #1c1c1c;
  margin: 1rem 0;
  overflow: hidden;
  background-image: url(/themes/custom/b5sub/images/back10.jpg);
  position: relative;
  background-size: cover;
  border-radius: 0.75rem;
}
.curtain {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(79, 77, 155, 0.85); 
  position: absolute;
}
.cta-col{
  padding: 2rem 3rem;
  z-index: 1;
}
.cta-col-2{
  text-align: center;
}
.cta-col-2 .cta-wrapper{
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cta-title{
  font-size: 1.5rem;
  margin-bottom: .5rem;
  font-weight: bold;
  color: #fff;
}
.cta-col-1 .cta-wrapper{
  padding: 1.5rem 2.25rem;
  border-radius: .75rem;
}
@media (max-width: 767px) {
  .cta-col-1 .cta-wrapper{
    padding: 0;
  }
}

.cta-description {
  color: #fff;
}
.cta-col-2 .btn{
  font-size: 1.25rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cta-col-2 .btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(26, 25, 101, 0.25);
}

/* Стили для аккордеона */
.ckeditor-accordion-container{
  overflow: hidden;
  margin: 1rem 0;
  border-radius: 0.5rem;
}
.ckeditor-accordion-container .styled{
  margin: 0;
}
.ckeditor-accordion-container > dl dd{
  padding: 0;
}
.ckeditor-accordion-container p{
  border-radius: 0;
  margin-bottom: 0;
}
.ckeditor-accordion-container > dl dt > a,
.ckeditor-accordion-container > dl dt > a:not(.button){
  border: 0;
  background: #E4E3F5;
  color: #1c1c1c;
  transition: background-color 0.2s ease;
}
.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle::before,
.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle::after{
  background: #4f4d9b;
}
.ckeditor-accordion-container > dl dt.active > a{
  background: #9594CD;
  color: #1c1c1c;
}
.ckeditor-accordion-container > dl dt > a:hover,
.ckeditor-accordion-container > dl dt > a:not(.button):hover{
  background: #8180CD;
  color: #FFFFFF;
}
.ckeditor-accordion-container > dl dd{
  padding: 1.25rem 2.25rem 1.75rem;
  background-color: #E4E3F5;
}
.ckeditor-accordion-container > dl{
  border: 0;
}

/* Дополнительные стили для улучшения общего вида */
blockquote {
  border-left: 1rem solid #4f4d9b;
  padding-left: 1.5rem;
  font-style: italic;
  color: #36355B;
  border-radius: .75rem;
}


header{
  box-shadow: 0 6px 15px rgba(26, 25, 101, .3);;
}

/* Залипающая шапка вместе с меню */
header[role="banner"] {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  /* Выше контента, но ниже админ-панели Drupal (её меню — z-index 501+) */
  z-index: 100;
}

/* Смещение под админ-панель Drupal для авторизованных пользователей */
body.toolbar-fixed header[role="banner"] {
  top: 39px;
}
body.toolbar-fixed.toolbar-tray-open.toolbar-horizontal header[role="banner"] {
  top: 79px;
}

/* На мобильных раскрытое меню не должно вылезать за экран — даём прокрутку */
@media (max-width: 991.98px) {
  header[role="banner"] .navbar-collapse {
    max-height: calc(100vh - 90px);
    overflow-y: auto;
  }

  /* Единый вид стрелок в мобильном меню.
     Пункты-родители без своей ссылки (<nolink>) по умолчанию показывают тонкий
     caret Bootstrap — приводим их к тому же ▼, что и пункты со ссылкой
     (класс .dropdown-parent-with-link добавляет модуль dropdown_menu_fix). */
  .navbar .nav-item.dropdown:not(.dropdown-parent-with-link) > .dropdown-toggle {
    position: relative;
    padding-right: 3rem !important;
  }

  .navbar .nav-item.dropdown:not(.dropdown-parent-with-link) > .dropdown-toggle::after {
    content: '▼';
    border: 0;              /* убираем штатный caret Bootstrap */
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 3rem;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: .75rem;
    margin: 0;
    font-size: 0.8em;
    vertical-align: initial;
  }

  /* В раскрытом состоянии — стрелка вверх */
  .navbar .nav-item.dropdown:not(.dropdown-parent-with-link) > .dropdown-toggle.show::after {
    content: '▲';
  }

  /* Все стрелки — белые. У пунктов со ссылкой стрелку рисует модуль на <li>,
     где цвет наследуется тёмным, — поэтому явно задаём белый обеим. */
  .navbar .dropdown-parent-with-link::after,
  .navbar .nav-item.dropdown:not(.dropdown-parent-with-link) > .dropdown-toggle::after {
    color: #fff;
  }

  /* Подменю — обычным блоком: полная ширина и перенос строк,
     чтобы длинные пункты не уезжали за правый край экрана */
  .navbar .dropdown-menu {
    position: static !important;
    float: none;
    width: auto;
    margin-top: 0;
  }

  /* Показываем открытое подменю <nolink>-пунктов. Нужен !important, чтобы
     перебить правило модуля `.dropdown:hover > .dropdown-menu {display:none!important}`,
     которое на тач-экране срабатывает от :hover при тапе. */
  .navbar .nav-item.dropdown:not(.dropdown-parent-with-link) > .dropdown-menu.show {
    display: block !important;
  }

  .navbar .dropdown-item {
    white-space: normal;
  }
}

footer{
  background: rgba(129, 128, 205, 0.15);
}

.footer-column{
  display: flex;
  flex-direction: column;
}

.footer-column .phone_number{
  margin-bottom: 1rem;
  font-weight: bold;
}

.row-footer{
  margin-bottom: 2rem;
}


/* Slick Slider */

.slick-arrow::before{
  color: #1A1965;
}

.slick-arrow:hover::before {
  color: #8180CD;
}

.slick--thumbnail.slick--skin--asnavfor .slick__slide img{
  border: 6px solid #fff;
  border-radius: .35rem;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);  
}

.slick--thumbnail.slick--skin--asnavfor .slick__slide.slick-current{
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);  
}

.slick--thumbnail.slick--skin--asnavfor .slick__slide.slick-current img {
  border-color: #fff;
  border-radius: .25rem;
}

.slick--thumbnail.slick--skin--asnavfor .slick__slide.slick-current::before {

}


/* bef-links */

.js-form-item label{
  padding: 1.5rem 0;
  font-size: 1.25rem;
  font-family: 'RussoOne';
  font-size: 1.25rem;
}

.bef-links{
  border: 2px solid var(--bs-border-color);
  padding: 1.5rem 1rem;
  font-size: 1.25rem;
}
.bef-links ul{
  list-style: none;
  padding-left: 1.5rem;
}

.form-select {
  --bs-form-select-bg-img: none;
}

.bef-link::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle cx='8' cy='8' r='6' fill='none' stroke='rgb(79, 77, 155)' stroke-width='2'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.bef-link--selected::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle cx='8' cy='8' r='6' fill='rgb(79, 77, 155)' stroke='rgb(79, 77, 155)' stroke-width='2'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.equipment{
  padding: 1.25rem 1rem 2rem;
}

.node--type-news .field--name-field-image{
  text-align: center;
  margin-bottom: 1.5rem;
}


.views-field-created{
  padding: .75rem 1.5rem;
  margin: 1rem 0;
  display: inline-block;
  background: #eee;
}


@media (min-width: 576px) {
  .modal-dialog {
    max-width: 90%;
  }
}



.icon-dzen{
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  margin-left: .2em;
  margin-right: .2em;
}


/* Адаптивные видео */
.responsive-video {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    overflow: hidden;
}

.responsive-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Дополнительные стили для контейнера */
.img-block {
    margin-bottom: 1rem;
}

/* Отступы для мобильных устройств */
@media (max-width: 576px) {
    .img-col {
        margin-bottom: 1rem;
    }
}