 /* наш цвет: #00BF19 - зелёный || #1D5DA7 - синий || #5eb6ff - светло-синий */

 :root {
   color-scheme: light dark;
   --bs-success: #00BF19;
   --bs-link-color: var(--bs-success);
   --bs-link-hover-color: #00BF19;
 }

 /* Общие стили */
 body {
   background-color: var(--bs-body-bg);
   color: var(--bs-body-color);
   scroll-behavior: smooth;
   transition: background-color 0.4s ease, color 0.4s ease;
 }

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

 .f-osw {
   font-family: 'Oswald', sans-serif;
   font-weight: 400;
   letter-spacing: normal;
 }

 .fs-17 {
   font-size: 17px !important;
 }

 .fs-18 {
   font-size: 18px !important;
 }

 .fs-19 {
   font-size: 19px !important;
 }

 .m-color-1 {
   color: #1D5DA7 !important;
 }

 .m-color-2 {
   color: #00BF19 !important;
 }

 .m-color-3 {
   color: #5eb6ff !important;
 }

 .m-color-1 :hover {
   color: #4b86ca !important;
 }

 .m-color-2 :hover {
   color: #21ff3f !important;
 }

 .m-color-3 :hover {
   color: #5eb6ff !important;
 }

 .m-bg-1 {
   background: #1D5DA7 !important;
 }

 .m-bg-2 {
   background: #00BF19 !important;
 }

 .soc-ico {
   border-color: #5eb6ff;
   background: transparent !important;
 }

 .soc-ico:hover {
   border-color: #FFF;
   background: #113e72 !important;
 }

 /* Кнопки */
 .btn-primary {
   background-color: #1D5DA7;
   border-color: #1D5DA7;
 }

 /* 
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #1D5DA7;
  border-color: #1D5DA7;
}
 */

 .btn-outline-primary {
   color: #1D5DA7;
   border-color: #1D5DA7;
   background-color: transparent;
 }

 .btn-outline-primary:hover,
 .btn-outline-primary:focus,
 .btn-outline-primary:active {
   background-color: #1D5DA7;
   border-color: #1D5DA7;
 }

 .btn-success:hover,
 .btn-success:focus,
 .btn-success:active {
   background-color: #00BF19;
   border-color: #00BF19;
 }

 /* Заголовки для разных тем */
 h2.section-title {
   color: #5eb6ff;
   font-size: 36px;
   display: flex;
   align-items: center;
   gap: 14px;
   /* расстояние между текстом и линией */
 }

 /* двойная горизонтальная линия справа */
 h2.section-title::after {
   content: "";
   flex: 1;
   height: 9px;
   /* общая "высота" блока линии (регулирует отступ и визуальное положение) */
   background-image:
     linear-gradient(to bottom,
       currentColor 0px,
       currentColor 2px,
       /* верхняя линия — толщина 2px */
       transparent 2px,
       transparent 5px,
       /* зазор между линиями — 3px (5-2) */
       currentColor 5px,
       currentColor 7px,
       /* нижняя линия — толщина 2px (7-5) */
       transparent 7px);
   background-repeat: no-repeat;
   background-position: 0 center;
   background-size: 100% 100%;
   transform: translateY(5px);
   /* опустить линию вниз — подправь значение (px) по вкусу */
   opacity: 0.85;
 }

 /* Плавная смена цвета фона и текста при переключении темы */
 html[data-bs-theme="dark"] body {
   transition: background-color 0.4s ease, color 0.4s ease;
 }

 /* === Navbar === */
 .navbar {
   transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease, box-shadow 0.3s ease;
   background-color: rgba(0, 0, 0, 0.15);
   backdrop-filter: blur(6px);
 }

 /* Тёмная тема при скролле */
 .navbar.scrolled {
   background-color: rgba(0, 0, 0, 0.9);
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
 }

 /* Навигационные ссылки в тёмной теме (по умолчанию) */
 .navbar-dark .navbar-nav .nav-link {
   color: rgba(255, 255, 255, 0.9);
   transition: color 0.2s ease;
 }

 .navbar-dark .navbar-nav .nav-link:hover {
   color: var(--bs-success);
 }

 /* Герой-секция */
 .hero {
   position: relative;
   height: 75vh;
   padding-top: 150px;
   min-height: 560px;
   background-size: cover;
   background-position: center;
   overflow: hidden;
 }

 .hero-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.6));
   z-index: 1;
 }

 .hero-content {
   position: relative;
   z-index: 3;
 }

 /* на всякий */
 .header-canvas {
   position: absolute;
   inset: 0;
   z-index: 2;
   pointer-events: none;
 }

 /* Герой-секция: текст всегда светлый, независимо от темы */
 .hero .hero-content h1,
 .hero .hero-content p {
   color: #f2f5ff;
 }

 /* фон для секции 1 */
 .bg-dark-1 {
   background: linear-gradient(to bottom, #001338, #063A68);
   background: -webkit-linear-gradient(top, #001338, #063A68);
   /* Для поддержки Safari */
   background: -moz-linear-gradient(top, #001338, #063A68);
   /* Для поддержки Firefox */
   background: -o-linear-gradient(top, #001338, #063A68);
   /* Для поддержки Opera */
 }

 /* фон для секции 2 */
 .bg-dark-2 {
   background: linear-gradient(to bottom, #063A68, #001338);
   background: -webkit-linear-gradient(top, #063A68, #001338);
   /* Для поддержки Safari */
   background: -moz-linear-gradient(top, #063A68, #001338);
   /* Для поддержки Firefox */
   background: -o-linear-gradient(top, #063A68, #001338);
   /* Для поддержки Opera */
 }

 /* карточки под тёмную и светлую тему */
 .card-placeholder {
   border-radius: var(--bs-border-radius-lg);
   background-color: var(--bs-tertiary-bg);
   color: var(--bs-body-color);
   border: 1px solid var(--bs-border-color);
   transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
 }

 /* Дополнительный эффект при наведении */
 .card-placeholder:hover {
   border-color: #2a2a2a;
   background-color: #2a2a2a;
   color: var(--bs-success);
 }

 /* Таблица прайс */
 .table-custom {
   --bs-table-color: #FFF;
   --bs-table-bg: linear-gradient(to bottom, #063A68, #001338);
   --bs-table-border-color: #4f5254;
   --bs-table-hover-color: #bbdefb#72bffd;
   --bs-table-hover-bg: rgba(255, 255, 255, 0.075);
 }

 .table-custom {
   font-size: 18px !important;
 }

 /* Подвал */
 footer .card {
   background: transparent;
   border: 1px solid rgba(255, 255, 255, 0.05);
 }

 /* Мобильные адаптации */
 @media (max-width: 991.98px) {

   /* Скрыть правые кнопки, когда меню раскрыто */
   .navbar-collapse.show~.d-flex {
     display: none !important;
   }
 }

 @media (max-width: 767.98px) {

   /* увеличиваем верхний внутренний отступ контейнера героя */
   .hero .container-xl {
     padding-top: 5.25rem;
     /* ~84px — учитывает высоту navbar + запас */
   }

   /* дополнительно уменьшаем размер заголовка и межстрочный отступ */
   .hero .display-5 {
     font-size: 1.6rem;
     line-height: 1.15;
   }
 }

 /* Галерея */
 .masonry-grid {
   display: flex;
   flex-wrap: wrap;
   gap: 15px;
 }

 .masonry-item {
   flex: 1 1 calc(25% - 15px);
   margin-bottom: auto;
 }

 .masonry-item img {
   width: 100%;
   height: 150px;
   object-fit: cover;
   cursor: pointer;
   border-radius: 6px;
   transition: transform 0.3s;
 }

 .masonry-item img:hover {
   transform: scale(1.01);
 }

 #lightbox {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   display: flex;
   justify-content: center;
   align-items: center;
   background: rgba(0, 0, 0, 0.85);
   z-index: 999;
   display: none;
 }

 #lightbox img {
   max-width: 90%;
   max-height: 90%;
 }

 #lb-close {
   position: absolute;
   top: 20px;
   right: 30px;
   font-size: 2rem;
   color: #fff;
   cursor: pointer;
 }

 #lb-prev,
 #lb-next {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   font-size: 2rem;
   color: #fff;
   cursor: pointer;
   user-select: none;
 }

 #lb-prev {
   left: 30px;
 }

 #lb-next {
   right: 30px;
 }

 /* Секция спец. пред. */
 .specials .nav-tabs {
   border: none;
   border-right: 4px solid #1D5DA7;
   /* вертикальная полоса */
   height: 100%;
   padding-right: -3px;
 }

 .specials .nav-link {
   color: #FFF;
   border: none;
   border-radius: 0;
   padding: 12px 15px;
   font-weight: 400 !important;
   font-size: 20px;
   transition: 0.3s ease;
   border-right: 2px solid transparent;
   background: transparent;
   text-align: left;
 }

 .specials .nav-link:hover {
   background: rgba(94, 182, 255, 0.1);
   border-right: 2px solid #1D5DA7;
 }

 .specials .nav-link.active {
   color: #FFF;
   background: #1D5DA7;
   border-right: 2px solid #1D5DA7;
   font-weight: 500;
 }

 /* Контент вкладок */
 .specials .tab-pane.active {
   animation: fadeIn 0.5s ease-out;
 }

 .specials .details h3 {
   font-size: 24px;
   font-weight: 600;
   margin-bottom: 15px;
 }

 .specials .tab-text {
   font-size: 19px;
 }

 .specials img {
   max-height: 200px;
 }

 @keyframes fadeIn {
   from {
     opacity: 0;
     transform: translateY(10px);
   }

   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 @media (max-width: 992px) {

   .hero {
     height: 50vh;
     padding-top: 80px;
     min-height: 660px;
   }

   h2.section-title {
     font-size: 30px;
   }

   .specials .nav-tabs {
     border-right: none;
     border-bottom: 3px solid rgba(94, 182, 255, 0.4);
     padding-right: 0;
   }

   .specials .nav-link {
     border-right: none;
     border-bottom: 2px solid transparent;
   }

   .specials .nav-link.active {
     border-bottom: 2px solid #1D5DA7;
   }
 }