/* ==========================================================================
   Базовые стили для body
   ========================================================================== */
body {
    background-color: #f4f9fd; /* Светлый фон */
    color: #212529; /* Тёмно-серый текст, Bootstrap $gray-900 */
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* Стандартный стек шрифтов Bootstrap */
    font-size: 1rem; /* Базовый размер шрифта, 16px */
    font-weight: 400; /* Нормальная толщина шрифта */
    line-height: 1.5; /* Стандартная высота строки Bootstrap */
}


header .nav-link {
    color: #d5d5d5; /* цвет ссылок */
    padding: 0.25rem 0; /* Уменьшенные вертикальные отступы */
}

header .nav-link:hover {
    color: #FF5722 !important; /*  при наведении */
	font-weight: 600!important;
    text-decoration: none; /* Без подчёркивания при ховере */
}
header .navbar-nav a.nav-link:hover,
header .navbar-nav a.nav-link:active,
header .navbar-nav a.nav-link:focus {
  color: #FF5722 !important;
}



/* Базовые стили для выпадающих меню */
.dropdown-menu {
    min-width: 10rem;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.15);
}

.dropdown-item {
    white-space: nowrap;
    color: #212529;
    cursor: pointer; /* Указатель для кликабельности */
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: #f8f9fa;
    color: #16181b;
}

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

/* Стили для триггера подменю */
.submenu-toggle {
    display: block;
    padding: 0.25rem 1.5rem; /* Как у dropdown-item */
    color: #212529; /* Цвет текста на десктопе */
    cursor: pointer; /* Указатель для клика */
}

.submenu-toggle:hover,
.submenu-toggle:focus {
    background-color: #f8f9fa;
    color: #16181b;
}

/* Десктоп: открытие подменю при наведении */
@media (min-width: 768px) {
    .dropdown-submenu .dropdown-menu {
        top: 0;
        left: 100%;
        margin-top: -1px;
        display: none;
    }
    .dropdown-submenu:hover .dropdown-menu {
        display: block;
    }
}

/* Мобильные: Offcanvas и уменьшенное окно */
@media (max-width: 767.98px) {
    .dropdown-menu {
        background-color: transparent;
        border: none;
        box-shadow: none;
    }
    .dropdown-item,
    .submenu-toggle {
        color: #fff; /* Белый текст в Offcanvas */
    }
    .dropdown-item:hover,
    .dropdown-item:focus,
    .submenu-toggle:hover,
    .submenu-toggle:focus {
        background-color: rgba(255, 255, 255, 0.1);
        color: #fff;
    }
    .dropdown-submenu .dropdown-menu {
        position: static;
        left: 0;
        margin-left: 1rem; /* Отступ для вложенности */
        display: none;
    }
    .dropdown-submenu.active .dropdown-menu {
        display: block; /* Используем .active вместо .show */
    }
}

/* Стили для ссылок в navbar */
.navbar-nav .nav-link {
    color: #fff;
    padding: 0.5rem 1rem;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: #FF5722;
}
/* Цвет активной ссылки только в меню offcanvas */
.offcanvas-body .nav-link.active {
    color: #FF5722; 
}
/* Стили для Offcanvas */
.offcanvas.bg-costum-dblue {
    background-color: #1a2b4c; /* Подставь свой цвет */
}

.offcanvas .nav-link {
    color: #fff;
}

.offcanvas .nav-link:hover,
.offcanvas .nav-link:focus {
    color: #FF5722;
}


/* ==========================================================================
   Стили для карточек (card)
   ========================================================================== */
.card {
    border: 1px solid #dee2e6; /* Лёгкая серая граница */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); /* Мягкая тень для объёма */
}

.card-title a {
    color: #212529; /* Тёмно-серый цвет текста, как у body */
    text-decoration: none; /* Без подчёркивания по умолчанию */
}

.card-title a:hover {
    color: #0d6efd; /* Bootstrap primary при наведении */
    text-decoration: underline; /* Подчёркивание при ховере */
}

.card-body .btn-sm {
    font-size: 0.875rem; /* Уменьшенный размер шрифта для кнопок */
    padding: 0.25rem 0.5rem; /* Компактные отступы внутри кнопок */
}

.card-body .d-flex.gap-2 {
    gap: 0.5rem; /* Отступ между элементами в flex-контейнере */
}

.card-body .btn-outline-secondary:hover {
    color: #fff; /* Белый текст при наведении на кнопку */
}

/* ==========================================================================
   Стили для таблиц (table)
   ========================================================================== */
.table {
    margin-bottom: 0; /* Убираем лишний отступ снизу таблицы */
}

.table th,
.table td {
    padding: 0.75rem; /* Компактные отступы внутри ячеек */
}

.table .fw-bold a {
    color: #0d6efd; /* Bootstrap primary для ссылок в жирном тексте */
    text-decoration: none; /* Без подчёркивания по умолчанию */
}

.table .fw-bold a:hover {
    text-decoration: underline; /* Подчёркивание при наведении */
}

.table small {
    font-size: 0.875rem; /* Уменьшенный текст для доп. информации */
}

/* ==========================================================================
   Стили для badge
   ========================================================================== */
.badge {
    font-size: 0.875rem; /* Уменьшенный размер шрифта */
    padding: 0.35em 0.65em; /* Компактные отступы внутри */
}

/* ==========================================================================
   Стили для хлебных крошек (breadcrumb)
   ========================================================================== */
.breadcrumb > :nth-child(n+2):not(.first-column)::before {
    content: "/"; /* Разделитель для хлебных крошек */
    display: inline-block; /* Отображение как блочно-инлайн элемент */
    margin: 0 20px 0 calc(20px - 4px); /* Отступы вокруг разделителя */
}

/* ==========================================================================
   Стили для футера (footer)
   ========================================================================== */
footer {
	background-color: #071b41; /* темно-синий */
}
footer h5 {
    color: #ffffff; /* Белый цвет заголовков */
    font-size: 1.1rem; /* Чуть увеличенный размер шрифта */
}

footer .form-control {
    background-color: #343a40; /* Тёмный фон для полей ввода */
    border-color: #495057; /* Серая граница полей */
    color: #ffffff; /* Белый текст в полях */
}

footer .form-control::placeholder {
    color: #adb5bd; /* Светло-серый цвет для placeholder */
}

footer .nav-link {
    color: #d5d5d5; /* цвет ссылок */
    padding: 0.25rem 0; /* Уменьшенные вертикальные отступы */
}

footer .nav-link:hover {
    color: #FF5722 !important; /*  при наведении */
	font-weight: 600!important;
    text-decoration: none; /* Без подчёркивания при ховере */
}

footer a.nav-link:active,
footer a.nav-link:focus {
  color: #FF5722 !important;
}
/* ==========================================================================
   Кастомные утилиты
   ========================================================================== */
.min-height-50vh {
    min-height: 50vh; /* Минимальная высота 50% viewport */
}
.min-height-75vh {
  height: 75vh; /* 75% от высоты viewport */
}
@media (min-width: 1200px) {
  .container-xl {
    max-width: 1340px;
  }
}

.tooltip-inner {
  width: auto !important; /* Автоматическая ширина по содержимому */
  max-width: 280px !important; /* Максимальная ширина 280px */
  white-space: normal !important; /* Разрешить перенос текста */
}
@media (max-width: 767.98px) {
    .breadcrumb {
        white-space: nowrap; /* Prevents wrapping on mobile */
        -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
    }
}

/* Ensure desktop behavior remains unchanged */
@media (min-width: 768px) {
    .breadcrumb {
        overflow-x: visible; /* No scroll on desktop */
    }
}
.bd-callout-info {
  --bd-callout-color: var(--bs-info-text-emphasis);
  --bd-callout-bg: var(--bs-info-bg-subtle);
  --bd-callout-border: var(--bs-info-border-subtle);
}
.bd-callout {
  --bs-link-color-rgb: var(--bd-callout-link);
  --bs-code-color: #ac2669;
  padding: 1.25rem;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  color: var(--bd-callout-color, inherit);
  background-color: var(--bd-callout-bg, var(--bs-gray-100));
  border-left: 0.25rem solid var(--bd-callout-border, var(--bs-gray-300));
}

:root {
  --lightbox: rgb(0 0 0 / 0.75);
  --carousel-text: #fff;
}


@keyframes zoomin {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.gallery-item {
  display: block;
}

.gallery-item img {
  box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.15);
  transition: box-shadow 0.2s;
}

.gallery-item:hover img {
  box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.35);
}

.lightbox-modal .modal-content {
  background-color: var(--lightbox);
}

.lightbox-modal .btn-close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  font-size: 1.25rem;
  z-index: 10;
  filter: invert(1) grayscale(100);
}

.lightbox-modal .modal-body {
  display: flex;
  align-items: center;
  padding: 0;
}

.lightbox-modal .lightbox-content {
  width: 100%;
}

.lightbox-modal .carousel-indicators {
  margin-bottom: 0;
}

.lightbox-modal .carousel-indicators [data-bs-target] {
  background-color: var(--carousel-text) !important;
}

.lightbox-modal .carousel-inner {
  width: 75%;
}

.lightbox-modal .carousel-inner img {
  animation: zoomin 10s linear infinite;
}

.lightbox-modal .carousel-item .carousel-caption {
  right: 0;
  bottom: 0;
  left: 0;
  padding-bottom: 2rem;
  background-color: var(--lightbox);
  color: var(--carousel-text) !important;
}

.lightbox-modal .carousel-control-prev,
.lightbox-modal .carousel-control-next {
  width: auto;
}

.lightbox-modal .carousel-control-prev {
  left: 1.25rem;
}

.lightbox-modal .carousel-control-next {
  right: 1.25rem;
}

@media (min-width: 1400px) {
  .lightbox-modal .carousel-inner {
    max-width: 60%;
  }
}

[data-bs-theme = "dark"] .lightbox-modal .carousel-control-next-icon,
[data-bs-theme = "dark"] .lightbox-modal .carousel-control-prev-icon {
    filter: none;
}

.btn-fullscreen-enlarge,
.btn-fullscreen-exit {
  position: absolute;
  top: 1.25rem;
  right: 3.5rem;
  z-index: 10;
  border: 0;
  background: transparent;
  opacity: .6;
  font-size: 1.25rem;
}

.bi {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.035em;
  fill: currentcolor;
}
.odd	{ background-color:#fff; }
.even	{ background-color:#e7ebee; }
.code {
	color:#000;
	background:#e3e3e3;
	border:1px solid #ccc;
	padding:2px 15px;
	margin:5px 0;
	font-family:monospace;
	font-size:1.1em;
	white-space:pre-wrap;
}
blockquote {
    margin: 16px 5px;
    padding: 5px 5px 5px 7px;
    color: #575b5f;
    border-left: .25em solid #3F51B5;
    background: #e3f2ff;
}

code, pre {
	font-family: Monaco, Menlo, Consolas, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace;
}

code, kbd {
	margin: 0 2px;
	padding: 2px 4px;
	border-radius: 3px;
	background-color: rgba(149, 119, 80, 0.06)
}


kbd {
	font-size: 1.2em;
}
pre {
	color: #333;
	background: #fafafa;
	padding: 6px 10px 8px;
	line-height: normal;
	overflow: auto;
	margin: 5px;
	border: 1px solid #eee;
	border-left: .25em solid #d0d7de;
	position: relative;
}
/* Search
-------------------------------------------------- */

.search-res { margin:0 0 10px; overflow:auto; }
.search-res .small { color:#000; }
.search-highlight { font-weight:bold; padding:0 2px; background:#ffeb3b; }

.list-striped>* {
  padding:10px 10px
}
.list-striped>:nth-of-type(odd) {
  border-top:1px solid #e5e5e5;
  border-bottom:1px solid #e5e5e5
}
.list-striped>:nth-of-type(odd) {
  background:#f8f8f8
}
.list-striped>:nth-child(n+2) {
  margin-top:0
}

p img, p svg { /* Целевые элементы: <img> и <svg> внутри <p> */
	vertical-align: middle; /* Выравнивание по вертикали относительно строки текста */
	max-width: 100%; /* Максимальная ширина не больше контейнера */
	margin-bottom: 25px;
    margin-left: auto;
    margin-right: auto;
	height: auto!important; /* Высота пропорциональна ширине */
	display: block; /* Делает элемент блочно-строчным для корректного выравнивания */
	box-sizing: border-box;
	border-radius: 5px;
	box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.15);
	transition: box-shadow 0.2s;
}
.dropdown-menu {
  --bs-dropdown-min-width: 14rem;
}

.shadow-bottom {
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15),inset 0 -1px 0 rgba(255,255,255,0.15);
  /* transition: box-shadow 0.2s; */
}

.bg-costum-dgrey {
  background-color: #2c384d;
}
.bg-costum-dblue {
	background-color: #071b41; /* темно-синий */
}
.bg-costum-maroon {
  background-color: maroon;
}
.text-costum-light-grey {
  color: #adb5bd;
}
.card-image {
    border: none; /* Убираем бордеры */
    box-shadow: none; /* Убираем тень */
}

.card-image-dynamic {
    border-radius: 0.375rem 0 0 0.375rem; /* rounded-start на больших экранах */
    object-fit: cover;
    width: 100%;
    height: 100%;
}

@media (max-width: 767.98px) {
    .card-image-dynamic {
        border-radius: 0.375rem 0.375rem 0 0; /* rounded-top на мобильных */
    }
}
.list-row-admin-link a {
    color: #FF5722 !important; 
	font-weight: 500!important;
    text-decoration: none; 
}
.review-stars {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
}
.review-stars .fa-star {
    color: #ffc107;
    font-size: 16px;
    margin-right: 2px;
}
.hot-bold {
  color: #FF5722;
  font-weight: bold;
}
.alert-private {
    --bs-alert-color: #000000;
    --bs-alert-bg: #FFC107;
    --bs-alert-border-color: #FF5722;
    --bs-alert-link-color: #00BCD4;
}
.btn-success {
    background: #83B735;
    color: #FFFFFF;
    border-radius: .3rem;
    border: var(--bs-btn-border-width) solid #83b735;
}
.btn-success:hover { background: #8FC53D; }
.position-start-75 {
  left: 75% !important;
}
.position-top-20 {
  top: 20% !important;
}
.badge-pm  {
    background: #83B735;
    color: #FFFFFF;
	font-size: 0.75rem !important;
	font-weight: bold;
    border-radius: .3rem;
}