/* SARMA STYLE */

@font-face {
    font-family: 'OpenSans';
    src: url('../lib/fonts/OpenSans-Regular.woff2') format('woff2'),
          url('../lib/fonts/OpenSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'OpenSans';
    src: url('../lib/fonts/OpenSans-Light.woff2') format('woff2'),
          url('../lib/fonts/OpenSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'OpenSans';
    src: url('../lib/fonts/OpenSans-Bold.woff2') format('woff2'),
          url('../lib/fonts/OpenSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

:root {
  --primary-color:        #1da1ca; /* #f13a11; */
  --white-color:          #ffffff;
  --deep-blue-color:      #1d3042;
  --dark-color:           #171819;
  --about-bg-color:       #f9f9f9;
  --photos-bg-color:      #f9f9f9;
  --contact-bg-color:     #f9f9f9;


  --gray-color:           #bdbdbd; /* #909090; */
  --link-color:           #404040;
  --p-color:              #666262;

  --base-font-family:     'OpenSans', sans-serif;
  --font-weight-bold:     bold;
  --font-weight-normal:   normal;
  --font-weight-light:    300;
  --font-weight-thin:     100;

  --h1-font-size:         48px;
  --h2-font-size:         36px;
  --h3-font-size:         28px;
  --h4-font-size:         24px;
  --h5-font-size:         22px;
  --h6-font-size:         22px;
  --p-font-size:          18px;
  --base-font-size:       16px;
  --menu-font-size:       14px;

#  --h1-font-size: 36px;  /* было 48px */
#  --h2-font-size: 30px;  /* было 36px */
#  --h3-font-size: 24px;  /* было 28px */
#  --h4-font-size: 20px;  /* было 24px */
#  --h5-font-size: 18px;  /* было 22px */
#  --h6-font-size: 16px;  /* было 22px */
#  --p-font-size: 16px;   /* было 18px */
#  --base-font-size: 15px;
#  --menu-font-size: 13px;
#  --ul-font-size: 15px;

  --border-radius-large:  100%;
  --border-radius-small:  2px;
  --ul-font-size:         16px;
}

/* Адаптация под мобильные устройства */
/*
@media (max-width: 768px) {
  :root {
    --h1-font-size: 28px;
    --h2-font-size: 24px;
    --h3-font-size: 20px;
    --h4-font-size: 18px;
    --h5-font-size: 16px;
    --h6-font-size: 15px;
    --p-font-size: 15px;
    --base-font-size: 14px;
    --menu-font-size: 12px;
    --ul-font-size: 14px;
  }
}
*/
body {
  background: var(--white-color);
  font-family: var(--base-font-family);
}


/*---------------------------------------
   TYPOGRAPHY              
-----------------------------------------*/

h1,h2,h3,h4,h5,h6 {
  font-weight: var(--font-weight-thin);
  line-height: normal;
}

h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--font-weight-bold);
  letter-spacing: -1px;
  text-transform: uppercase;
  margin: 20px 0;
}

h2 {
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight-bold);
  letter-spacing: -2px;
}

h3 {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight-bold);
  letter-spacing: -1px;
  margin: 0;
}

h4 {
  font-size: var(--h4-font-size);
}

h5 {
  font-size: var(--h5-font-size);
}

h6 {
  color: var(--gray-color);
  font-size: var(--h6-font-size);
  line-height: inherit;
  margin: 0;
}

p {
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-light);
  line-height: 1.5em;
}

b, 
strong {
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
}

.section {
  padding: 7rem 0;
}


/* BUTTON */
/* Первая кнопка */
.custom-btn {
  background: transparent;
  border-radius: var(--border-radius-small);
  padding: 14px 24px;
  color: var(--white-color);
  font-size: var(--menu-font-size);
  font-weight: var(--font-weight-normal);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  transition: all 0.3s ease;
}

.custom-btn:hover {
  color: var(--primary-color); 
}

.custom-btn:focus {
  box-shadow: none;
}

.custom-btn.bordered:hover,
.custom-btn.bordered:focus,

.custom-btn.bg-color:hover,
.custom-btn.bg-color:focus {
  background: #ddeefd; /* по умолчанию - var(--white-color); */
  border-color: transparent;
  color: var(--primary-color);
}

/* Вторая кнопка */
.custom-btn2 {
  background: transparent;
  border-radius: var(--border-radius-small);
  padding: 14px 24px;
  color: var(--white-color);
  font-size: var(--menu-font-size);
  font-weight: var(--font-weight-normal);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  transition: all 0.3s ease;
}

.custom-btn2:hover {
  color: var(--primary-color); 
}

.custom-btn2:focus {
  box-shadow: none;
}

.custom-btn2.bordered:hover,
.custom-btn2.bordered:focus,

.custom-btn2.bg-color:hover,
.custom-btn2.bg-color:focus {
  background: var(--primary-color); /* по умолчанию - var(--white-color); */
  border-color: transparent;
  color: #fff;
}

.bordered {
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
}

.bg-color {
  background: var(--primary-color);
  color: var(--white-color);
}

/* Анимация для пульсирующей рамки */
@keyframes pulse-border {
  0% {
   box-shadow: 0 0 0 0 rgba(29, 161, 202, 0.6);
  }
  70% {
    box-shadow: 0 0 0 25px rgba(29, 161, 202, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(29, 161, 202, 0);
  }
}

/* Класс для применения анимации */
.pulse-border {
  animation: pulse-border 1.5s infinite;
}

.btn-search {
/*  padding: 0.7rem 1.5rem;   /* как у стандартной кнопки по умолчанию */
  font-size: .875rem;        /* слегка меньше */
  line-height: 1.5;
  border-radius: .25rem;
  height: auto;
  margin: auto;
  --bs-btn-bg: #1d3042;
  --bs-btn-border-color: #1d3042;
  --bs-btn-hover-bg: #1da1ca;
  --bs-btn-hover-border-color: #1da1ca;
}

/*---------------------------------------
   GENERAL               
-----------------------------------------*/

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

*::before,
*::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

a {
  color: var(--link-color);
  font-weight: normal;
  text-decoration: none;
  transition: all 0.3s ease;
}

a:hover, 
a:active, 
a:focus {
  color: var(--primary-color);
  outline: none;
  text-decoration: none;
}


/* BG OVERLAY */


.bg-overlay {
/*    background: var(--dark-color); - rgba(23,24,25) - #171819 */
    background: linear-gradient(
      rgba(0,0,0,0.99),
      rgba(0,0,0,0.7)
    );
    position: absolute;
/*    top: 0;
    right: 0;
    bottom: 0;
    left: 0;   -   top/right/bottom/left  для тонировки шапки на весь экран */
    inset: 0;
    width: 100%;
    height: 100%; /* default - 100% */
    opacity: 0.85;
    z-index: 0; /* Перемещаем элемент за контент */
}

@media (max-width: 768px) {
  .bg-overlay {
    height: 100%;        /* тонер тоже на весь экран */
  }
}

.mt-lg-5  {
  margin-top: 0 !important;
}

/*---------------------------------------
   MODAL              
-----------------------------------------*/

.modal {
  background:rgba(0,0,0,0.7);
}

.modal-content {
  padding: 2rem 3rem;
}

.modal-header,
.modal-body,
.modal-footer {
  border: 0;
  padding: 0;
  margin-top: 1rem;
}

.modal h2 {
  font-size: 32px;
}

.membership-form a {
  color: var(--primary-color);
}

/*---------------------------------------
  FEATURE          
-----------------------------------------*/

.feature {
  background: var(--deep-blue-color);
  padding: 5rem 0;
}
.feature p {
  color: #bdbdbd; /* #909090; */
}

.feature, .about-work {
    padding: 3rem 0; /* Уменьшаем внутренние отступы */
}

@media (min-width: 992px) {
    .col-lg-6 {
        flex: 0 0 40%;
        max-width: 40%;
    }

    .col-lg-5 {
        flex: 0 0 45%; /* Увеличиваем ширину блока - было 45%*/
        max-width: 45%; /* Увеличиваем ширину блока - было 45%*/
    }

    .col-lg-4 {
        flex: 0 0 30%; /* Увеличиваем ширину блока */
        max-width: 30%; /* Увеличиваем ширину блока */
    }
}


/*---------------------------------------
   MENU             
-----------------------------------------*/

.navbar {
  background: var(--deep-blue-color);
  padding: 0.5rem 1rem 0.5rem 1rem;
}

.navbar-expand-lg .navbar-nav .nav-link {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

.navbar-brand {
  color: var(--white-color);
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight-bold);
  line-height: normal;
  padding-top: 0;
}

.navbar-brand:hover {
  color: #1da1ca;
}

.nav-item .nav-link {
  display: block;
  color: var(--white-color);
  font-size: var(--menu-font-size);
  font-weight: var(--font-weight-normal);
  text-transform: uppercase;
  padding: 6px; /* Default - 2px 6px; */
}

.nav-item .nav-link.active,
.nav-item .nav-link:hover {
  color: var(--primary-color);
}

.navbar .social-icon li a {
  color: var(--white-color);
}

.navbar-toggler {
  border: 0;
  padding: 0;
  cursor: pointer;
  margin: 0 10px 0 0;
  width: 30px;
  height: 35px;
  outline: none;
}

.navbar-toggler:focus {
  outline: none;
  box-shadow: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background: transparent;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before,
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
  transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease, -webkit-transform 300ms 350ms ease;
  top: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
  transform: rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
  transform: rotate(-45deg);
}

.navbar-toggler .navbar-toggler-icon {
  background: var(--primary-color);
  transition: background 10ms 300ms ease;
  display: block;
  width: 30px;
  height: 2px;
  position: relative;
}

.navbar-toggler .navbar-toggler-icon::before,
.navbar-toggler .navbar-toggler-icon::after {
  transition: top 300ms 350ms ease, -webkit-transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease, -webkit-transform 300ms 50ms ease;
  position: absolute;
  right: 0;
  left: 0;
  background: var(--primary-color);
  width: 30px;
  height: 2px;
  content: '';
}

.navbar-toggler .navbar-toggler-icon::before {
  top: -8px;
}

.navbar-toggler .navbar-toggler-icon::after {
  top: 8px;
}

@media (max-width: 768px) {
.navbar-nav {
  margin-top: 1rem; /* отступ сверху для выпадающей навигации */
  margin-bottom: 1rem; /* отступ снизу для выпадающей навигации */
  }
}


/*-----------DROPDOWN MENU---------------*/
/* Ограничиваем высоту выпадающего меню */
/* Для мобильных устройств можно задать отдельное ограничение */
/*@media (max-width: 768px) {
    .dropdown-menu {
        max-height: 60vh;
        overflow-y: auto;
    }
}

/* Общие стили для подменю */
/*.dropdown-submenu {
    position: relative;
}

.dropdown-submenu .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
    display: none;
}

/* Стили для отображения подменю при раскрытии */
/*.dropdown-submenu .dropdown-menu.show {
    display: inherit;
}

/* Адаптация для мобильных устройств */
/*@media (max-width: 992px) {
    .dropdown-submenu .dropdown-menu {
        left: 0;
        top: auto;
        position: relative;
        margin-top: 0;
    }
}
*/

/*---------------------------------------
   NOW OFF CHANGE COLLAPSE ON OFFCANVAS MENU      
-----------------------------------------*/
/*
.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  background-color: var(--deep-blue-color);
  color: #fff;
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
  background: var(--deep-blue-color);
}

.navbar-toggler {
  border: none; / уберем стандартную рамку /
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(29,161,202, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
*/
/*---------------------------------------
   HERO              
-----------------------------------------*/
/* Отключаем AOS-анимацию
[data-aos] {
  transform: none !important;
  opacity: 1 !important;
}
*/

.hero {
  position: relative;
  background-image: url('../lib/images/webp/sa-head-2301x1094.webp');
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  vertical-align: middle;
/*  min-height: auto; /* Default -100svh. Новое свойство: small viewport height */
  height: auto;
  padding: 12svh 0 6svh;
  min-height: 100vh;
  min-height: -webkit-fill-available; /* Ключевое для iOS - WebKit -Safari, Chrome, Opera и др.*/
  z-index: 1; /* Контент секции будет на переднем плане */
}

.hero-logo {
  position: relative;
}

.hero .container {
    position: relative;
    z-index: 2; /* Контент контейнера также на переднем плане */
}

.hero-contact {
	display: inline-block; /* ширина только по содержимому */
	background-color: rgba(0, 0, 0, 0.1);
	padding: 0.5rem 1rem;
	border-radius: 8px;
	font-size: 1rem; /* 22px на 4K будет огромно, лучше использовать относительные */
	top: 5rem;
	right: 20rem;
	z-index: 2; /* Увеличиваем z-index */
}

.hero-contact a {
	color: #ffffff; /* белый цвет по умолчанию */
	text-decoration: none;
	transition: color 0.3s ease; /* плавная смена цвета */
}

.hero-contact a:hover {
	color: var(--primary-color);
}

.hero-contact svg {
    transition: transform 0.3s ease;
}

.hero-contact > div:hover svg {
    transform: translateX(-3px);
}


@media (max-width: 768px) {
  .hero {
    min-height: 100svh;   /* на весь экран */
    padding: 10svh 0 6svh;
/*    padding: 0;           убираем отступы */
  }
}

/* Отдельные стили для контактов в HERO
@media (max-width: 576px) {
	.hero-contact {
		font-size: 16px;
		right: 1rem !important;
		top: 4rem !important;
		background-color: rgba(0, 0, 0, 0);
	}
}
*/

/* iPad (портретный режим) и другие средние устройства */
@media (max-width: 1024px) and (min-width: 577px) {
	.hero-contact {
		font-size: 18px;
		right: 1.5rem;
		top: 4.5rem;
	}
}

@media screen and (max-width: 930px) and (orientation: landscape) {
  .hero-logo {
    margin-top: 5rem;
  }
}
/* iPhone 5/SE */
@media screen and (max-width: 320px) and (orientation: portrait) {
  .hero-logo {
    margin-top: 5rem;
  }
}

/* Горизонтальный планшет, например 1080x810 */
@media (max-width: 1080px) and (min-height: 800px) and (orientation: landscape) {
	.hero-contact {
		font-size: 18px;
		right: 1.5rem;
		top: 4rem;
	}
}

.text-end {
	text-align: left !important;
}

/*---------------------------------------
   DIRECTIONS               
-----------------------------------------*/

.directions {
  background: var(--contact-bg-color);
}

.directions-info {
  background: var(--white-color);
  box-shadow: 6px 0 38px rgba(20,20,20,0.10);
  border-radius: 0 0 2px 2px;
  margin-bottom: 2rem;
  padding: 1rem 2rem;
  position: relative;
  width: 100%;
  height: 220px; /* Старое значение для длинного текста - от 150px до 220px; */
}

.directions-info img {
  border-radius: 2px 2px 0 0;
}

.directions-info strong {
  color: var(--gray-color);
}

.directions-price {
  background: var(--primary-color);
  border-radius: var(--border-radius-large);
  color: var(--white-color);
  font-weight: var(--font-weight-bold);
  display: block;
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 3.5rem;
  height: 3.5rem;
  line-height: 3.5rem;
  text-align: center;
}

.inner-content {
	padding: 80px 0 0 0;
}

/*
.featured-image {
  overflow: hidden;
  margin-top: 20px;
  margin-bottom: 50px;
  margin-left: 25%;
  max-width: 50%;
}
*/
.leading {
  margin-bottom: 50px;
  color: var(--deep-blue-color);
  font-size: 18px;
  font-size: 1.125em;
}

.directions-thumb {
  transition: all 0.3s ease;
}

.directions-thumb:hover {
  transform: scale(1.05);  /* Легкое увеличение */
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3); /* Светящаяся тень */
}


/*---------------------------------------
   PARALLAX SECTION              
-----------------------------------------*/

.parallax-section-01 {
	position: relative;
	overflow: hidden;
	min-height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
		/* background-attachment: fixed !important; */
	background-size: cover !important;
	background-image: url('../lib/images/webp/photos/p-001.webp');
		/* -webkit-background-size: cover; */
	background-position: center;
	background-repeat: no-repeat;
	padding: 100px 0;
}

.parallax-section-02 {
	position: relative;
	overflow: hidden;
	min-height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
		/* background-attachment: fixed !important; */
	background-size: cover !important;
	background-image: url('../lib/images/webp/photos/p-002.webp');
		/* -webkit-background-size: cover; */
	background-position: center;
	background-repeat: no-repeat;
	padding: 100px 0;
}

/* Отключаем fixed для мобильных устройств */
@media (max-width: 768px) {
	.parallax-section-01 {
		background-attachment: scroll !important;
	}
}

/* Для десктопов оставляем fixed */
@media (min-width: 769px) {
	.parallax-section-01 {
		background-attachment: fixed !important;
	}
}

/* Отключаем fixed для мобильных устройств */
@media (max-width: 768px) {
	.parallax-section-02 {
		background-attachment: scroll !important;
	}
}

/* Для десктопов оставляем fixed */
@media (min-width: 769px) {
	.parallax-section-02 {
		background-attachment: fixed !important;
	}
}

.plx-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(29,48,66,0.85);
}

.counter h2 {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 10px;
}

.counter h3 {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 10px;
}

.counter h4 {
	font-size: 3rem;
	font-weight: bold;
	margin-bottom: 10px;
}

.counter p {
	font-size: 1.25rem;
	opacity: 0.9;
	color: #fff;
}

.feature-item h4 {
	font-size: 1.2rem;
}

.count-wrapper {
	display: flex;
	align-items: baseline;
	justify-content: center;
}

.percent-counter::after {
	content: "%";
	margin-left: 2px;
}

/*---------------------------------------
   ADVANTAGES              
-----------------------------------------*/

.advantages {
  background: var(--white-color) ;
}

#advantages .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.advantages-info {
  background: var(--white-color);
/*    box-shadow: 6px 0 38px rgba(20,20,20,0.10); */
  border-radius: 0 0 2px 2px;
  padding: 1rem 2rem;
  position: relative;
  min-width: 0; /* add 20260329 */
}

/* add 20260329 */
.advantages-info h3 {
  overflow-wrap: break-word;
  word-break: break-word;
}

/* add 20260329 */
@media (max-width: 320px) {
.advantages-info h3 {
  hyphens: auto;
  }
}

.advantages-info img {
  border-radius: 2px 2px 0 0;
}

.advantages-info strong {
  color: var(--gray-color);
}

.advantages-price {
  background: var(--primary-color);
  border-radius: var(--border-radius-large);
  color: var(--white-color);
  font-weight: var(--font-weight-bold);
  display: block;
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 3.5rem;
  height: 3.5rem;
  line-height: 3.5rem;
  text-align: center;
}

/*---------------------------------------
   ACTIVITY             
-----------------------------------------*/

.activity {
  background: var(--deep-blue-color);
}

.activity-table {
  display: table;
  border: 0;
  text-align: center;
}

.activity-table strong,
.activity-table span {
  display: block;
  text-align: center;
}

.activity-table strong {
  color: var(--white-color);
}

.activity-table span {
  color: var(--gray-color);
}

.activity-table span,
.activity-table small {
  font-size: var(--menu-font-size);
  text-transform: uppercase;
}

.activity-table small {
  position: relative;
  top: 10px;
}

.table thead {
  vertical-align: middle;
  border-width: 1px;
}

.table .thead-light th,
.activity-table tr td:first-child {
  background: var(--primary-color);
  border: 1px solid #212122;
  color: var(--white-color);
}

.activity-table .thead-light th {
  border-bottom: 0;
  text-transform: uppercase;
}

.table-bordered td, 
.table-bordered th {
  border: 1px solid #212122;
}

.table-bordered td {
  padding-bottom: 22px;
}


/*---------------------------------------
    CATALOG           
-----------------------------------------*/

.sa-catalog-h1 {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 24px;
  font-size: 2em;
  font-size: normal;
  font-weight: 700;
  text-align: center;
}

.sa-catalog-h2 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 24px;
  font-size: 1.2em;
  font-size: normal;
  font-weight: 700;
  letter-spacing: -1px;
}

.sa-catalog-widget-h3 {
  margin-top: 0;
  margin-bottom: 30px;
  font-size: 24px;
  font-size: 1.5em;
  font-size: normal;
  font-weight: 700;
  letter-spacing: -1px;
}

.sa-catalog-h4 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 24px;
  font-size: 1em;
  font-size: normal;
  font-weight: 400;
  letter-spacing: -1px;
}

.table td, .table th {
  padding: 0.5rem;
  border: 1px solid #909090;
}

.table-striped {
  border-collapse: inherit;
  border: 1px solid #909090;
}

.table-responsive {
  border-width: 1px;
}

.sa-catalog-widget .sa-catalog-widget-title {
  margin-top: 0;
  margin-bottom: 30px;
  font-size: 36px;
  font-size: 2.25em;
  color: var(--deep-blue-color);
}

.sa-catalog-widget ul {
  list-style: revert;
  padding-left: 0;
  margin: 0 0 0 1em;
}

.img-fluid-cat {
  width: 50%;
  margin-bottom: 2.5em;
}

.modal button {
  margin-left: auto;
  border-radius: 5px;
}

@media (max-width: 768px) {
  .img-fluid-cat {
    width: 100%;
  }
}

.sa-catalog-sidebar {
  position: sticky;
  top: 100px;
}

.card {
  --bs-card-border-width: 0;
  --bs-card-border-color: 0;
}

.card-body {
  padding: 0 0 1em 1em;
}

.card-body li {
  font-size: 0.9rem;
}

@media (min-width: 992px) {
  .main-content {
      display: flex;
  }
  .content-area {
    flex: 1;
    padding-right: 20px;
  }
  .sa-catalog-sidebar-area {
    flex: 0 0 300px;
  }
}

.modal button {
  margin-left: auto;
  border-radius: 5px;
  background-color: var(--deep-blue-color); /* #c5a09e; /* Цвет фона кнопки (например, красный) */
  color: #fff; /* var(--deep-blue-color); /* Цвет текста кнопки */
  border: none; /* Убираем границу кнопки */
  padding: 10px 15px; /* Внутренние отступы кнопки */
  cursor: pointer; /* Курсор в виде руки при наведении */
  font-size: 16px; /* Размер шрифта текста кнопки */
  transition: background-color 0.3s ease; /* Плавный переход цвета фона */
}

.modal button:hover {
  background-color: #ff3b30; /* Цвет фона при наведении */
  color: var(--white-color);
}

.modal button:focus {
  outline: none; /* Убираем обводку при фокусе */
}


/*---------------------------------------
    PHOTOS           
-----------------------------------------*/

img {
  max-width:100%;
}
.gallery ul {
  padding:0;
  margin:0;
}
.gallery img {
  max-width:100%;
  height:auto;
  padding:0;
  margin:0;
}
.gallery ul li {
  margin:0;
  position:relative;
  list-style:none;
  float:left;
  padding:0;
}
.gallery ul li a {
  display:block;
  position:relative;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  line-height:0;
}
.gallery ul li a:before {
  position:absolute;
  width:32px;
  height:32px;
  top:40%;
  left:50%;
  margin:-14px 0 0 -16px;
  background: url(data:image/svg+xml;utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21--%20Generator%3A%20Adobe%20Illustrator%2017.1.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200%29%20%20--%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-//W3C//DTD%20SVG%201.1//EN%22%20%22http%3A//www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%0A%09%20id%3D%22svg2%22%20xmlns%3Adc%3D%22http%3A//purl.org/dc/elements/1.1/%22%20xmlns%3Acc%3D%22http%3A//creativecommons.org/ns%23%22%20xmlns%3Ardf%3D%22http%3A//www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns%3Asvg%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Asodipodi%3D%22http%3A//sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns%3Ainkscape%3D%22http%3A//www.inkscape.org/namespaces/inkscape%22%20inkscape%3Aversion%3D%220.48.4%20r9939%22%20sodipodi%3Adocname%3D%22icon-fullscreen.svg%22%0A%09%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20960%20560%22%0A%09%20enable-background%3D%22new%200%200%20960%20560%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Csodipodi%3Anamedview%20%20borderopacity%3D%221%22%20pagecolor%3D%22%23ffffff%22%20bordercolor%3D%22%23666666%22%20objecttolerance%3D%2210%22%20gridtolerance%3D%2210%22%20guidetolerance%3D%2210%22%20showgrid%3D%22false%22%20fit-margin-top%3D%220%22%20fit-margin-left%3D%220%22%20inkscape%3Azoom%3D%227.375%22%20inkscape%3Acx%3D%22-5.1525424%22%20inkscape%3Acy%3D%2216%22%20id%3D%22namedview11%22%20inkscape%3Awindow-x%3D%22-8%22%20inkscape%3Awindow-y%3D%22-8%22%20fit-margin-right%3D%220%22%20inkscape%3Apageopacity%3D%220%22%20fit-margin-bottom%3D%220%22%20inkscape%3Awindow-width%3D%221366%22%20inkscape%3Awindow-height%3D%22706%22%20inkscape%3Awindow-maximized%3D%221%22%20inkscape%3Apageshadow%3D%222%22%20inkscape%3Acurrent-layer%3D%22svg2%22%3E%0A%09%3C/sodipodi%3Anamedview%3E%0A%3Cg%3E%0A%09%3Crect%20x%3D%22220%22%20y%3D%22260%22%20fill%3D%22%23FFFFFF%22%20width%3D%22536%22%20height%3D%2224%22/%3E%0A%3C/g%3E%0A%3Cg%3E%0A%09%3Crect%20x%3D%22476%22%20y%3D%224%22%20fill%3D%22%23FFFFFF%22%20width%3D%2224%22%20height%3D%22556%22/%3E%0A%3C/g%3E%0A%3C/svg%3E%0A) no-repeat;
  content:""; 
  opacity:0;
  z-index:1;
  -webkit-transition:all 0.3s linear;
  -moz-transition:all 0.3s linear;
  transition:all 0.3s linear;
}
.gallery ul li a:hover:before {
  top:50%;
  opacity:1;
}
.gallery ul li a:after {
  position:absolute;
  width:100%;
  top:0;
  bottom:0;
  background:rgba(0,0,0,0.3);
  content:"";
  opacity:0;
  -webkit-transition:all 0.3s linear;
  -moz-transition:all 0.3s linear;
  transition:all 0.3s linear;
}
.gallery ul li a:hover:after {
  opacity:1;
}
.sa-photos h4::before {
    content: "\f073";
    font-family: FontAwesome;
    margin-right: 8px;
    color: #333;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/*---------------------------------------
    ABOUT & TEAM            
-----------------------------------------*/

.about {
  background: var(--about-bg-color);
}

.about-work {
  border-left: 2px solid;
  padding-left: 3.5rem;
}

.about-work strong {
  color: var(--white-color);
  opacity: 0.85;
}

.kond-thumb {
  position: relative;
  transition: all 0.3s ease;
}

.kond-thumb:hover {
  transform: scale(1.05);  /* Легкое увеличение */
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3); /* Светящаяся тень */
}

/* Текст */
.kond-thumb .team-info span {
    transition: color 0.3s ease;
}

/* Меняем цвет текста при наведении НА БЛОК */
.kond-thumb:hover .team-info span {
    color: var(--primary-color);
}

.team-info {
  background: var(--white-color);
  border-radius: 0 0 2px 2px;
  box-shadow: 6px 0 38px rgba(20,20,20,0.10);
  padding: 20px;
  position: relative;
}

.team-info .social-icon {
  position: absolute;
  top: 10px;
  right: 20px;
}

.team-info .social-icon li {
  display: block;
}


/*---------------------------------------
   CONTACT              
-----------------------------------------*/

.webform input,
button#submit-button {
  height: calc(2.25rem + 20px); /* Высота с расчетом: базовая высота + доп. отступ */
}

.form-control {
  border-radius: var(--border-radius-small); /* Закругление углов из переменной */
  margin: 1.3rem 0; /* Вертикальные отступы 1.3rem */
}

.form-control:focus {
  box-shadow: none; /* Убрать тень при фокусе */
  border-color: var(--deep-blue-color); /* Цвет границы при фокусе */
}

.custom-control {
  position: relative; /* Относительное позиционирование */
  display: block; /* Блочное отображение */
  min-height: 1.5rem; /* Минимальная высота */
  padding-left: 1.5rem; /* Левый отступ для выравнивания */
}

.form-check-input {
  height: 1.25em !important; /* Высота чекбокса/радиокнопки (с приоритетом) */
  width: 1.25em; /* Ширина чекбокса/радиокнопки */
}

button#submit-button {
  background: var(--deep-blue-color); /* Фон кнопки */
  border-color: transparent; /* Прозрачная граница */
  color: var(--white-color); /* Цвет текста */
  cursor: pointer; /* Указатель при наведении */
  transition: all 0.3s ease; /* Плавные анимации */
}

button#submit-button:hover {
  background: var(--primary-color); /* Цвет фона при наведении */
}

.contact {
  background: var(--contact-bg-color); /* Фон секции контактов */
}

.contact h2 + p {
  max-width: 100%; /* Ширина параграфа после заголовка h2 */
}

.yandex-map {
  border-top: 1px solid #efebeb; /* Верхняя граница блока с картой */
  margin-top: 2.5rem; /* Отступ сверху */
  padding-top: 2.5rem; /* Внутренний отступ сверху */
}

.yandex-map iframe {
  width: 100%; /* Ширина карты на всю доступную область */
}
.message {
  font-size: 14px; /* Размер шрифта сообщений */
  margin-top: 10px; /* Отступ сверху */
  padding: 10px; /* Внутренние отступы */
}

.message.success {
  color: green; /* Цвет текста для успешных сообщений */
}

.message.error {
  color: red; /* Цвет текста для сообщений об ошибках */
}

.error {
  border-color: red; /* Красная граница для ошибок */
  box-shadow: 0 0 5px red; /* Красная тень для выделения ошибок */
}

/*---------------------------------------
   FOOTER              
-----------------------------------------*/
/*
.site-footer {
  border-top: 1px solid #efebeb; /* Верхняя граница светло-серого цвета 
  padding: 3rem 0; /* Вертикальные отступы 3rem, горизонтальные - 0 
}

.site-footer a {
  color: var(--p-color); /* Цвет ссылок из CSS-переменной 
  font-weight: var(--font-weight-light); /* Легкое начертание шрифта из переменной 
}

.site-footer a:hover {
	text-decoration: underline;
}

.site-footer p {
  font-size: var(--base-font-size); /* Базовый размер шрифта из переменной */
}
*/
.contact .fa, /* Стиль для иконок в разделе контактов */
.site-footer .fa { /* Стиль для иконок в футере */
  color: var(--primary-color); /* Основной цвет из CSS-переменной */
}
/*
.footer-title {
	font-weight: 600;
	margin-bottom: 1rem;
	color: var(--deep-blue-color);
}
*/
.footer-links li {
	margin-bottom: 0.5rem;
	text-align: left;
}

.site-footer {
	/* background: #f8f9fa; */
	padding: 3rem 0;
	border-top: 1px solid #efebeb; /* Верхняя граница светло-серого цвета */
}

.footer-title {
	cursor: default !important;
	font-weight: 600;
	margin-bottom: 1rem;
	color: var(--deep-blue-color);
	text-transform: uppercase;
	background: none;
	border: none;
	padding: 0;
	width: 100%;
	text-align: left;
	cursor: pointer;
	position: relative;
}

.footer-title::after {
	cursor: default;
	content: "▾";
	position: absolute;
	right: 0;
	top: 0;
	font-size: 1.1rem;
	transition: transform 0.2s ease;
}

.footer-col.active .footer-title::after {
	transform: rotate(180deg);
}

.footer-col {
	font-size: var(--p-font-size);
} 

/* Контент аккордеона */
.accordion-content {
	margin: 0;
	padding: 0;
}

/* 🔽 MOBILE */
@media (max-width: 991.98px) {
	.footer-brand {
		order: 99;
		margin-top: 4rem;
		text-align: center;
	}

	.footer-brand img {
		margin-left: auto;
		margin-right: auto;
		display: block;
	}

	.footer-brand .copyright-text {
		margin-top: 1rem;
		font-size: 0.813rem;
	}

	.accordion-content {
		display: none;
		padding-bottom: 1rem;
	}

	.footer-title {
		cursor: pointer !important;
		padding-bottom: 0.75rem;
		margin-bottom: 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	}

	.footer-col.active .accordion-content {
		display: block;
	}

	.footer-col {
		padding-left: 2rem;
		padding-right: 2rem;
		/* font-size: inherit; */
	}

.footer-links li {
	margin-bottom: 0.1rem;
}

.footer-links a {
		font-size: 1rem;
		font-weight: lighter;
	}
}

/* 🖥 DESKTOP */
@media (min-width: 992px) {
	.footer-brand .copyright-text {
		margin-top: 1rem;
		font-size: 0.813rem;
	}

	.footer-title {
		cursor: default;
	}

	.footer-title::after {
		display: none;
	}

	.accordion-content {
		display: block !important;
	}

	.footer-links li {
		margin-bottom: 0.25rem;
	}

	.footer-links a {
		color: var(--p-color);
		font-size: var(--p-font-size);
		font-weight: var(--font-weight-light);
		line-height: 1.5em;
		text-decoration: none;
	}

	.footer-links a:hover {
		/* text-decoration: underline; */
		color: var(--primary-color);
	}
}

/*---------------------------------------
   PRIVACY POLICY             
-----------------------------------------*/

.privacy-policy {
    margin: 0 16px 0 0; /* Отступы: 0 сверху, 16px справа, 0 снизу, 0 слева */
}

.privacy-policy h3 + p {
  max-width: 100%; /* Максимальная ширина 100% для параграфов, следующих сразу после h3 */
}

.privacy-policy h5 {
    margin-left: 6px; /* Левый отступ 6px для заголовков h5 */
}

.privacy-policy p {
    margin-left: 16px; /* Левый отступ 16px для всех параграфов */
}

/*---------------------------------------
   SOCIAL ICON              
-----------------------------------------*/

.social-icon {
  position: relative; /* Относительное позиционирование для дочерних элементов */
  padding: 0; /* Убрать внутренние отступы */
  margin: 5px 0 0 0; /* Внешние отступы: 5px сверху, 0 справа и снизу, 0 слева */
}

.social-icon li {
  display: inline-block; /* Элементы в строку с блочными свойствами */
  list-style: none; /* Убрать маркеры списка */
}

.social-icon li a {
  text-decoration: none; /* Убрать подчеркивание ссылок */
  display: inline-block; /* Строчно-блочное отображение */
  color: var(--p-color); /* Цвет текста из CSS-переменной */
  font-size: var(--p-font-size); /* Размер шрифта из CSS-переменной */
  font-weight: var(--font-weight-bold); /* Жирность шрифта из CSS-переменной */
  margin: 5px 10px; /* Внешние отступы: 5px сверху/снизу, 10px слева/справа */
  text-align: center; /* Выравнивание текста по центру */
}

.social-icon li a:hover {
  color: var(--primary-color); /* Изменение цвета при наведении */
}

/*---------------------------------------
   RESPONSIVE STYLES              
-----------------------------------------*/
/* Стили для планшетов в альбомной ориентации и небольших ноутбуков (992-1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
    .advantages-info h3 {
      font-size: 20px !important; /* Уменьшенный размер заголовка с приоритетом */
    }

    .advantages-info p {
      font-size: 18px; /* Уменьшенный размер текста */
    }
}

/* Стили для блоков направлений на экранах 992-1199px */
@media (min-width: 992px) and (max-width: 1199px) {
    .directions-info h3 {
      font-size: 16px !important; /* Компактный размер заголовка */
    }

    .directions-info p {
      font-size: 14px; /* Компактный размер текста */
    }
}

/* Стили для больших ноутбуков и мониторов (1200-1399px) */
@media (min-width: 1200px) and (max-width: 1399px) {
    .directions-info h3 {
      font-size: 18px !important; /* Средний размер заголовка */
    }

    .directions-info p {
      font-size: 16px; /* Средний размер текста */
    }
}

/* Стили для планшетов и мобильных устройств (до 992px) */
@media screen and (max-width: 992px) {

  .section {
    padding: 5rem 0; /* Увеличенные отступы секций */
  }

  .nav-item .nav-link {
    padding: 6px; /* Уменьшенные отступы пунктов меню */
  }

  .navbar .social-icon {
    margin-top: 22px; /* Отступ для иконок соцсетей */
  }

  .navbar-collapse,
  .site-footer {
    text-align: center; /* Центрирование навигации и футера */
  }

  .activity-table {
    display: block; /* Блочное отображение таблицы */
  }

  .modal-content {
    padding: 2rem; /* Отступы внутри модального окна */
  }
}

/* Стили для мобильных устройств (до 767px) */
@media screen and (max-width: 767px) {
/*
  h1 {
    font-size: 38px;  Закомментированный стиль 
  }
*/
  .about-work {
    border-left: 0; /* Убрать левую границу */
    padding: 22px 0 0 0; /* Измененные отступы */
  }

  .contact h2 span {
    display: block; /* Блочное отображение элементов span */
  }
}

/*---------------------------------------
   FAQ STYLES              
-----------------------------------------*/
.description {
    text-align: center; /* Выравнивание текста по центру */
    color: #7f8c8d; /* Серо-голубой цвет текста */
    margin-bottom: 40px; /* Отступ снизу */
    font-size: 1.1rem; /* Размер шрифта немного больше базового */
    line-height: 1.6; /* Межстрочный интервал для удобочитаемости */
    max-width: 600px; /* Максимальная ширина блока */
    margin-left: auto; /* Автоматические отступы по бокам */
    margin-right: auto; /* Центрирование блока */
}

.faq-item {
    margin-bottom: 20px; /* Отступ между элементами FAQ */
    border: 1px solid #e0e0e0; /* Светлая граница */
    border-radius: 10px; /* Закругленные углы */
    overflow: hidden; /* Скрытие выходящего за границы контента */
    transition: all 0.3s ease; /* Плавные анимации всех свойств */
}

.faq-item:hover {
    border-color: #b3b3b3; /* Изменение цвета границы при наведении */
}

.faq-question {
    width: 100%; /* Ширина на всю доступную площадь */
    padding: 20px; /* Внутренние отступы */
    text-align: left; /* Выравнивание текста по левому краю */
    background: #fff; /* Белый фон */
    border: none; /* Убрать границу */
    outline: none; /* Убрать контур при фокусе */
    cursor: pointer; /* Указатель при наведении */
    font-size: 18px; /* Размер шрифта */
    font-weight: 500; /* Полужирное начертание */
    display: flex; /* Flex-контейнер */
    justify-content: space-between; /* Распределение пространства между элементами */
    align-items: center; /* Выравнивание по центру по вертикали */
    transition: background-color 0.3s ease; /* Плавное изменение фона */
    color: #2c3e50 !important; /* Темно-синий цвет текста (с приоритетом) */
    -webkit-tap-highlight-color: transparent; /* Убрать подсветку при тапе на мобильных */
}

.faq-question:hover {
    background-color: #f9f9f9; /* Светло-серый фон при наведении */
}

.faq-question::after {
    content: '+'; /* Символ плюса */
    font-family: 'Font Awesome 6 Free'; /* Шрифт иконок */
    font-weight: 900; /* Жирное начертание для иконки */
    font-size: 16px; /* Размер иконки */
    transition: transform 0.3s ease; /* Плавное вращение */
}

.faq-item.active .faq-question::after {
    transform: rotate(180deg); /* Поворот на 180 градусов при активации */
}

.faq-answer {
    padding: 0 20px; /* Горизонтальные отступы, вертикальные - 0 */
    max-height: 0; /* Скрытое состояние (нулевая высота) */
    overflow: hidden; /* Скрытие контента */
    transition: max-height 0.3s ease, padding 0.3s ease; /* Плавные анимации */
    color: #34495e !important; /* Цвет текста ответа (с приоритетом) */
    line-height: 1.6; /* Межстрочный интервал */
}

.faq-item.active .faq-answer {
    padding: 0 20px 20px 20px; /* Отступы при открытом состоянии */
    max-height: 500px; /* Максимальная высота при открытии */
}

.footer {
    margin-top: 40px; /* Отступ сверху */
    text-align: center; /* Выравнивание по центру */
    color: #7f8c8d; /* Серо-голубой цвет текста */
    font-size: 0.9rem; /* Уменьшенный размер шрифта */
}

.device-info {
    background: white; /* Белый фон */
    border-radius: 10px; /* Закругленные углы */
    padding: 15px; /* Внутренние отступы */
    margin-top: 30px; /* Отступ сверху */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); /* Тень для эффекта поднятия */
    text-align: center; /* Выравнивание по центру */
    max-width: 500px; /* Максимальная ширина */
    width: 100%; /* Ширина 100% от родителя */
}

@media (max-width: 600px) {      
    .faq-question {
        padding: 15px; /* Уменьшенные отступы на мобильных */
        font-size: 16px; /* Уменьшенный размер шрифта на мобильных */
    }
}

/*---------------------------------------
   SEARCH STYLES              
-----------------------------------------*/
/* По умолчанию поле умеренной ширины */
#search-box {
/*	margin: 0.5rem 0; /* Отступы сверху и снизу */
	max-width: 175px; /* или 350px, подберите под дизайн */
	width: 100%;      /* растягивается до max-width */
	font-size: .875rem; /* выравниваем с высотой кнопки поиска */
}

/* На маленьких экранах растягиваем на всю ширину */
@media (max-width: 768px) {
  #search-box {
    max-width: 100%;
  }
  .nav-item.ms-lg-3 {
    width: 100%; /* форма занимает всю ширину navbar */
  }
}

@media (max-width: 1000px) {
  .navbar-nav .nav-item.ms-lg-3 {
    width: 100%;         /* форма занимает всю ширину контейнера */
    display: flex;        /* flex для центрирования */
    justify-content: center; /* по центру */
    padding: 0px; /* 0.5rem 0;   /* вертикальные отступы */
  }
}


#search-results {
	width: 550px !important; /* Фиксированная ширина с высоким приоритетом */
	max-width: 86vw; /* Ограничение ширины на мобильных устройствах */
	position: absolute; /* Абсолютное позиционирование */
	top: 100%; /* Размещение под родительским элементом */
	left: auto; /* Автоматическое выравнивание по левому краю */
	right: 0; /* Прижатие к правому краю родителя */
	z-index: 1000; /* Высокий уровень поверх других элементов */
	display: none; /* Скрыто по умолчанию */
	max-height: 300px; /* Максимальная высота контейнера */
	overflow-y: auto; /* Вертикальная прокрутка при необходимости */
}

#search-results .dropdown-item {
	white-space: normal; /* Разрешен перенос текста */
	border-bottom: 1px solid #ddd; /* Разделительная линия между элементами */
}

/* delete 20260330
 #search-results .dropdown-item:last-child {
	border-bottom: none; /* Убрать границу у последнего элемента */
/* }
*/

.dropdown-menu {
	--bs-dropdown-link-active-bg: var(--primary-color); /* #1da1ca; */
}

#desktop-search-results .dropdown-item:hover {
  color: var(--primary-color);
  background-color: #f9f9f9;
}

@media (max-width: 1199px) {
  #search-results {
    width: 100% !important;       /* 100vw; тянем на всю ширину экрана */
    max-width: 100%;     /* Выравниваем выдачу на всю ширину */
    border-radius: 5px;   /* убираем скругления */
    margin-left: -1rem; /* чтобы совпало с контейнером */
    font-size: small;
  }
.dropdown-item { 
  white-space: normal; /* Перенос текста на маленьких экранах */
  padding: 10px 15px; /* Внутренние отступы */
  padding-left: 15px; /* Дублирование левого отступа (можно объединить) */
  border-top: 0px solid #ddd; /* Прозрачная верхняя граница */
  border-bottom: 1px solid #ddd; /* Разделительная линия снизу */
  overflow: hidden; /* Скрытие выходящего за границы контента */
  text-overflow: ellipsis; /* Многоточие при переполнении текста */
  }
}

.active > .page-link {
  background-color: var(--deep-blue-color);
  border-color: var(--deep-blue-color);
}

.page-link {
  color: var(--primary-color);
}

.form-control {
  border-radius: var(--border-radius-small);
  margin: 0;
}

/* Старые стили для поиска 20250901
/*@media (max-width: 993px) {
/*	.dropdown-item {
/*		white-space: normal; /* Перенос текста на маленьких экранах */
/*		padding: 10px 15px; /* Внутренние отступы */
/*		padding-left: 15px; /* Дублирование левого отступа (можно объединить) */
/*		border-top: 0px solid #ddd; /* Прозрачная верхняя граница */
/*		border-bottom: 1px solid #ddd; /* Разделительная линия снизу */
/*		overflow: hidden; /* Скрытие выходящего за границы контента */
/*		text-overflow: ellipsis; /* Многоточие при переполнении текста */
/*	}
/*} */

/*---------------------------------------
   OFFCANVAS SEARCH              
-----------------------------------------*/

#offcanvasSearch .offcanvas-header {
  padding: 1rem;
  background: var(--deep-blue-color);
  color: #fff;
}

#offcanvasSearch .offcanvas-body {
  padding: 1rem;
  background: var(--deep-blue-color);
}

#offcanvasSearch .form-control {
  border-radius: .25rem;
  padding: 0.75rem 1rem;
  font-size: 1.1rem;
}

#offcanvasSearch #offcanvas-search-results {
  border-radius: .25rem;
  box-shadow: 0 4px 20px rgba(0,0,0,.2);
}

/* --- Убираем нижнее подчеркивание у последнего результата --- */
#offcanvasSearch #offcanvas-search-results .dropdown-item:last-child {
  border-bottom: none !important;
}

#offcanvasSearch #offcanvas-search-results .dropdown-item:hover,
#offcanvasSearch #offcanvas-search-results .dropdown-item.active {
/*  background: var(--primary-color);
  color: var(--white-color); */
  color: var(--primary-color);
  background-color: #f9f9f9;
}

#offcanvasSearch .btn-search {
  background: var(--primary-color);
  color: #fff;
  border-radius: .25rem;
  transition: all .3s ease;
}

#offcanvasSearch .btn-search:hover {
  background: #0f8ba0;
  transform: scale(1.03);
}

#offcanvasSearch .btn-primary {
  background: #1da1ca;
  border-color: #1da1ca;
}

/* --- Кнопка закрытия --- */
#offcanvasSearch .btn-close {
  filter: invert(1); /* делает крестик белым на тёмном фоне */
  opacity: 0.8;
  transition: all 0.2s ease;
}

#offcanvasSearch .btn-close:hover {
  opacity: 1;
  transform: scale(1.1);
}

/*---------------------------------------
   OFFCANVAS SEARCH — исправляем перенос
-----------------------------------------*/
#offcanvasSearch #offcanvas-search-results {
    white-space: normal;   /* разрешаем перенос текста */
    word-wrap: break-word; /* переносим длинные слова */
}

#offcanvasSearch #offcanvas-search-results .dropdown-item {
    font-size: 1rem;
    white-space: normal;   /* перенос строк внутри элементов */
    overflow: hidden;      /* скрываем лишний текст */
    text-overflow: unset;  /* убираем многоточие */
    min-width: auto;
}