html {
    overflow-x: hidden;
	overflow-x: clip;
}

body {
	width: 100%;
	height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Или 100% */  
	
}

html, body {
    height: 100%;
	max-width: 100%;
    margin: 0;
    padding: 0;
}




#container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
	width: 100%;
	/*min-height: 100%;*/
	
}



main {
    flex: 1 0 auto;
}

.uni-footer {
    flex-shrink: 0;
}

@media (max-width: 767.98px) {
    .uni-footer {
        padding-bottom: 10px; 
	}
}


/* Изолируем слайдер */
.carousel {
    position: relative;
    z-index: 0;
    isolation: isolate; /* Создаем свой мир для transform */
    overflow: hidden; /* Дополнительно обрезаем всё, что вылезает */
}






h1, h2, h3, h4, h5, h6 {
	color: #444;
}

legend {
	padding: 7px 0;
	margin-bottom: 20px;
	border-bottom: 1px solid #e5e5e5;
}

label {
	font-size: 12px;
	font-weight: normal;
}

/* Chrome border line */
button:focus {
	outline: none !important;
}




#alert {
	z-index: 9999;
	position: fixed;
	top: 30%;
	left: 50%;
	width: 320px;
	margin-left: -160px;
}

@media (min-width: 992px) {
	#alert {
		width: 600px;
		margin-left: -300px;
	}
}
@media (min-width: 1140px) {
	#alert {
		width: 600px;
		margin-left: -300px;
	}
}
@media (min-width: 1320px) {
	#alert {
		width: 600px;
		margin-left: -300px;
	}
}
#alert .alert {
	margin-bottom: 15px;
}

#alert .alert-primary {
	box-shadow: 0 0 0 5px rgb(var(--bs-primary-rgb), 0.1);
}

#alert .alert-secondary {
	box-shadow: 0 0 0 5px rgb(var(--bs-secondary-rgb), 0.1);
}

#alert .alert-success {
	box-shadow: 0 0 0 5px rgb(var(--bs-success-rgb), 0.1);
}

#alert .alert-warning {
	box-shadow: 0 0 0 5px rgb(var(--bs-warning-rgb), 0.1);
}

#alert .alert-danger {
	box-shadow: 0 0 0 5px rgb(var(--bs-danger-rgb), 0.1);
}

#alert .alert-info {
	box-shadow: 0 0 0 5px rgb(var(--bs-info-rgb), 0.1);
}

#alert .alert-light {
	box-shadow: 0 0 0 5px rgb(var(--bs-light-rgb), 0.1);
}

#alert .alert-dark {
	box-shadow: 0 0 0 5px rgb(var(--bs-dark-rgb), 0.1);
}

/* top */
#top {
	background-color: var(--bs-tertiary-bg);
	border-bottom: 1px solid var(--bs-border-color);
	margin-bottom: 20px;
	position: relative;
	padding-bottom: 5px;
}

#top ul.list-inline {
	margin-bottom: 0;
}

#top .list-inline-item > a, #top .list-inline-item .dropdown > a, #top .list-inline-item .dropdown > span {
	font-size: 1.1em;
	color: var(--bs-gray-600);
	line-height: 40px;
	vertical-align: middle;
	padding: 10px 0px 5px 0px;
}



/* default boostrap changes */
div.required .col-form-label:before, div.required .form-label:before {
	content: "* ";
	color: #F00;
	font-weight: bold;
}

.form-switch-lg {
	font-size: 20px;
	min-height: 30px;
	line-height: 30px;
}

.nav-tabs {
	margin-bottom: 15px;
}

.form-check .form-check-input {
	margin-top: 0.25rem;
}

@media (min-width: 768px) {
	.col-form-label {
		text-align: right;
	}
}


/* ============================================================
	BLOG
============================================================ */

.blog-thumb {
	border: 1px solid #ddd;
	margin-bottom: 15px;
}

.blog-thumb h4 {
	font-weight: bold;
}

.blog-thumb .image {
	text-align: center;
	margin-bottom: 15px;
}

.blog-thumb .image a:hover {
	opacity: 0.8;
}

.blog-thumb .description {
	padding: 15px;
}

/* Theme Custom CSS */
#cookie {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 150px;
	z-index: 9999;
	opacity: 0.95;
	color: #ecf0f1;
	background: #343a40;
}

#cookie div {
	font-size: 16px;
	color: #FFFFFF;
}


/* ============================================================
	PRODUCT CARD
============================================================ */
.product-thumb {
    position: relative;
    height: 100%;
    z-index: 1;
}
.product-thumb__card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 0.25rem;
    transition:
	box-shadow .25s ease,
	border-color .25s ease,
	transform .25s ease;
}
/* ============================================================
	IMAGE
============================================================ */
.product-thumb__image {
    position: relative;
    padding: 18px 18px 8px;
    overflow: hidden;
    border-radius: 0.25rem 0.25rem 0 0;
}
.product-thumb__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
}
.product-thumb__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .3s ease;
}
/* ============================================================
	CONTENT
============================================================ */
.product-thumb__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    padding: 12px 18px 18px;
}
.product-thumb__top {
    flex: 1;
}
/* ============================================================
	TITLE
============================================================ */
.product-thumb__title {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
}
.product-thumb__title a {
    color: #222;
    text-decoration: none;
    transition: color .2s ease;
}
.product-thumb__title a:hover {
    color: var(--bs-primary);
}
/* ============================================================
	DESCRIPTION
============================================================ */
.product-thumb__description {
    display: -webkit-box;
    margin-top: 8px;
    overflow: hidden;
    color: #777;
    font-size: 13px;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
/* ============================================================
	RATING
============================================================ */
.product-thumb__rating {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 8px;
}
.product-thumb__rating .rating {
    display: flex;
}
.product-thumb__rating .fa-stack {
    width: 14px;
    height: 14px;
    line-height: 14px;
    font-size: 12px;
}
.product-thumb__rating-value {
    color: #666;
    font-size: 12px;
}

.rating .fa-stack {
	width: 20px;
}

.rating .fa-star {
	color: #999;
	font-size: 15px;
}

.rating .fa-star {
	color: #FC0;
	font-size: 15px;
}

.rating .fa-star + .fa-star {
	color: #E69500;
}




/* ============================================================
	BUY
============================================================ */
.product-thumb__buy {
    display: flex;
    flex-direction: column;
	/*padding: 0 12px 18px 18px;*/
}
/* ============================================================
	PRICE
============================================================ */
.product-thumb__price {
    margin-top: 15px;
}
.product-thumb__price-current {
    color: #222;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}
.product-thumb__price-current--special {
    color: #e53935;
}
.product-thumb__price-old {
    margin-left: 7px;
    color: #9b9b9b;
    font-size: 14px;
    text-decoration: line-through;
}
.product-thumb__tax {
    margin-top: 4px;
    color: #999;
    font-size: 11px;
}
/* ============================================================
	BUTTONS
============================================================ */
.product-thumb__form {
    margin-top: 15px;
}
.product-thumb__buttons {
    display: flex;
    align-items: stretch;
    gap: 7px;
}
.product-thumb__cart {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 8px;
    min-height: 42px;
    padding: 8px 14px;
    color: #fff;
    background: var(--bs-primary);
    border: 0;
    border-radius: 0.25rem;
    font-size: 14px;
    font-weight: 600;
    transition:
	transform .2s ease,
	opacity .2s ease;
}
.product-thumb__cart:hover {
    opacity: .9;
    transform: translateY(-1px);
}
.product-thumb__action {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    color: #555;
    background: #f5f6f7;
    border: 0;
    border-radius: 0.25rem;
    transition:
	background .2s ease,
	color .2s ease,
	transform .2s ease;
}
.product-thumb__action.action-compare {
	position: absolute;
	top: 55px;
	right: 5px;
}
.product-thumb__action.action-wishlist {
	position: absolute;
	top: 5px;
	right: 5px;
}
.product-list .product-thumb__action.action-compare {
	position: unset;
	top: 55px;
	right: 5px;
}
.product-list .product-thumb__action.action-wishlist {
	position: unset;
	top: 5px;
	right: 5px;
}


.product-thumb__action:hover {
    color: var(--bs-primary);
    background: #eee;
    transform: translateY(-1px);
}


/* ============================================================
	PRODUCT LIST
============================================================ */

.product-list .product-thumb__card {
    display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
    align-items: stretch;
}
/* ============================================================
	LIST — IMAGE
============================================================ */
.product-list .product-thumb__image {
    width: auto;
    min-width: 0;
    padding: 18px;
    border-radius: 0.25rem 0 0 0.25rem;
}
.product-list .product-thumb__image-link {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
}
/* ============================================================
	LIST — CONTENT
============================================================ */
.product-list .product-thumb__content {
    grid-column: 2;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 20px 24px;
	border-left: 1px solid #e9ecef;
}
.product-list .product-thumb__top {
    flex: initial;
}


/* ============================================================
	LIST — BUY COLUMN
============================================================ */
.product-list .product-thumb__buy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
	padding: 20px 0 24px 0;
}
/* Price */
.product-list .product-thumb__price {
    margin-top: 0;
}
/* Form */
.product-list .product-thumb__form {
    margin-top: 20px;
}
.product-list .product-thumb__buttons {
    width: 100%;
	max-width: 320px;
}
/* ============================================================
	LIST — MEDIUM SCREENS
============================================================ */
@media (max-width: 991.98px) {
    .product-list .product-thumb__card {
		/* grid-template-columns:
			200px
			minmax(0, 1fr)
		220px;*/
		grid-template-columns: 200px minmax(0, 1fr);
	}
    .product-list .product-thumb__image {
        padding: 14px;
	}
    .product-list .product-thumb__content {
        padding: 18px;
	}
    .product-list .product-thumb__buy {
		/* padding: 18px;*/
	}
}
/* ============================================================
	LIST — MOBILE
============================================================ */
@media (max-width: 767.98px) {
    .product-list .product-thumb__card {
        display: flex;
        flex-direction: column;
        min-height: 0;
	}
    /* Image */
    .product-list .product-thumb__image {
        width: 100%;
        flex: none;
        padding: 12px;
        border-radius: 0.25rem 0.25rem 0 0;
	}
    .product-list .product-thumb__image-link {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
	}
    /* Content */
    .product-list .product-thumb__content {
        padding: 14px;
	}
    /* Attributes */
    .product-list .product-thumb__attributes {
        display: block !important;
        margin-top: 14px;
	}
    /* Buy */
    .product-list .product-thumb__buy {
        padding: 0 14px 14px;
        border-left: 0;
	}
    .product-list .product-thumb__price {
        margin-top: 0;
	}
    .product-list .product-thumb__form {
        margin-top: 15px;
	}
}
/* ============================================================
	SMALL SCREENS
============================================================ */
@media (max-width: 575.98px) {
    .product-thumb__content {
        padding: 10px 12px 14px;
	}
    .product-thumb__image {
        padding: 12px 12px 5px;
	}
    .product-thumb__title {
        font-size: 13px;
	}
    .product-thumb__price-current {
        font-size: 17px;
	}
    .product-thumb__cart span {
		/*  display: none;*/
	}
    /* List */
    .product-list .product-thumb__content {
        padding: 10px 12px 14px;
	}
    .product-list .product-thumb__buy {
        padding: 0 12px 12px;
	}
}


/* =========================================
	Subcategories
========================================= */
.subcategory {
	margin: 0 0 32px;
}
.subcategory__title {
	margin: 0 0 18px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

.subcategory-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.subcategory-tags__item {
	margin: 0;
	padding: 0;
}

.subcategory-tags__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 14px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.25;
	color: #343a40;
	text-decoration: none;
	white-space: nowrap;
	background: #f5f6f7;
	border: 1px solid #e3e6e9;
	border-radius: 4px;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.subcategory-tags__link:hover {
	color: #111;
	background: #fff;
	border-color: #c8cdd2;
	text-decoration: none;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .06);
}
/* Keyboard */
.subcategory-tags__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

/* =========================================
	Subcategories Responsive
========================================= */


@media (max-width: 767.98px) {
	.subcategory {
		margin-bottom: 24px;
	}
	.subcategory__title {
		margin-bottom: 14px;
		font-size: 20px;
	}
	
	.subcategory-tags-wrap {
		position: relative; 
	}
	
	.subcategory-tags-wrap::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 40px;
		background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
		pointer-events: none; 
		z-index: 2;
	}
	
	.subcategory-tags {
		gap: 8px;
		flex-wrap: nowrap;
		overflow-x: auto;
		padding: 0 40px 0 0;
		scrollbar-width: none; 
		-ms-overflow-style: none; 
	}
	
	.subcategory-tags::-webkit-scrollbar {
		display: none;
	}
	
	.subcategory-tags__item {
		flex-shrink: 0; 
	}
	
	.subcategory-tags__link {
		min-height: 38px;
		padding: 7px 12px;
		font-size: 13px;
		border-radius: 4px;
	}
}




/* 1. Скрываем главный SVG-спрайт, но оставляем его доступным для <use> */
svg.hidden {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
}

/* 2. Базовые стили и переменная размера для десктопа */
.svg-header-icon-wrapper {
    --icon-size: 24px; /* Размер по умолчанию (ПК) */
    display: inline-flex;
    width: var(--icon-size);
    height: var(--icon-size);
    place-content: center;
    place-items: center;
    vertical-align: middle;
    position: relative;
}

/* 3. Адаптивность: меняем только переменную на мобильных устройствах */
@media (max-width: 991.98px) {
    .svg-header-icon-wrapper {
        --icon-size: 20px; /* Размер для планшетов и телефонов */
	}
}

/* 4. Стили для самой иконки внутри обертки */
.svg-header-icon-wrapper svg {
    width: 100%;
    height: 100%;
    fill: currentColor; /* Наследует цвет текста родителя */
    transition: fill 0.2s ease, transform 0.2s ease;
}

.header-action:hover .svg-header-icon-wrapper svg {
	transform: scale(1.1); /* Легкое увеличение при наведении */
}



.header-icon-name {
	font-size: 12px;
	line-height: calc(1rem + 3px);
	padding-top: 7px;
	max-width: 120px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex-shrink: 0;
}

/*header-burger*/

@media screen and (max-width: 992px) {
	.header-burger {
		display: flex;
	}
}
.header-burger {
	width: 20px;
	height: 17px;
	position: relative;
	cursor: pointer;
	transition: .3s ease;
}


.header-burger span {
	width: 100%;
	height: 3px;
	background: var(--uni-header-text);
	position: absolute;
	left: 0;
	top: 7px;
	border-radius: 4px;
	transition: .3s ease;
}

.header-burger span:first-child {
	top: 0;
	transform-origin: left;
}
.header-burger span {
	width: 100%;
	height: 3px;
	background: var(--uni-header-text);
	position: absolute;
	left: 0;
	top: 7px;
	border-radius: 4px;
	transition: .3s ease;
}

.header-burger span:last-child {
	top: unset;
	bottom: 0;
	transform-origin: left;
}

@media screen and (max-width: 576px) {
	
	.header-burger {
		height: 24px;
		width: 24px;
		margin-right: 0;
	}	
	
	.header-burger span {
		width: 16px;
		height: 2px;
		left: 2px;
		top: 11px;
	}
	
	.header-burger span:first-child {
		top: 6px;
	}  
	
    .header-burger span:last-child {
		bottom: 6px;
	}
}

/************************/
/* === Обертка для фона на всю ширину === */
.page-top-wrapper {
	background-color: var(--bs-tertiary-bg, #f8f9fa);
	
	/*border-bottom: 1px solid var(--bs-border-color, #e9ecef);*/
	margin-bottom: 20px;
	
	padding-bottom: 15px;
}



.menu-wrapper {
	background: var(--uni-menu-wrapper-bg, none);
}


/*********************************/
/* =========================================
	1. СБРОС ДЕФОЛТНЫХ СТИЛЕЙ OPENCART
========================================= */
.breadcrumb {
	/*margin: 0 0 10px 0;*/
	padding: 0;
	background: transparent; /* Убираем фон */
	border: none;            /* Убираем рамку */
	border-radius: 0;
	font-size: 14px;         /* Компактный размер шрифта */
	line-height: 1.5;
	padding: 15px 0 0 0;
	
}

/* Убиваем огромную дефолтную стрелку OpenCart */
.breadcrumb .breadcrumb-item::after {
	display: none !important;
}

/* Убираем текстовую тень и лишние отступы */
.breadcrumb .breadcrumb-item {
	text-shadow: none !important;
	padding: 0 4px;
	position: relative;
	white-space: nowrap;
}

/* =========================================
	2. НОВЫЕ СТИЛИ ДЛЯ ССЫЛОК И РАЗДЕЛИТЕЛЯ
========================================= */
.breadcrumb .breadcrumb-item a {
	text-decoration: none;
	color: var(--bs-secondary, #6c757d); /* Цвет неактивных ссылок */
	transition: color 0.2s ease, text-decoration 0.2s ease;
}

.breadcrumb .breadcrumb-item a:hover {
	color: var(--bs-primary, #0d6efd); /* Цвет при наведении */
	text-decoration: underline;
}

/* Активный (последний) элемент */
.breadcrumb .breadcrumb-item.active {
	color: var(--bs-body-color, #212529);
	font-weight: 600;
	cursor: default;
}

/* Компактный разделитель (стрелочка ›) между элементами */
.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
	content: "›"; /* Можно заменить на "/" или "•" */
	color: var(--bs-secondary, #adb5bd);
	padding: 0 6px;
	font-size: 18px;
	line-height: 1;
	vertical-align: middle;
	font-weight: 400;
}

/* Сбрасываем дефолтный padding-left от Bootstrap для разделителя */
.breadcrumb .breadcrumb-item + .breadcrumb-item {
	padding-left: 0;
}

/* =========================================
	3. МОБИЛЬНАЯ ВЕРСИЯ: ГОРИЗОНТАЛЬНЫЙ СКРОЛЛ
========================================= */
@media (max-width: 991.98px) {
	/* Если вы решите показать полную версию крошек на мобильном, 
	убрав класс d-none, этот код сделает их прокручиваемыми */
	.breadcrumb {
		display: flex;
		flex-wrap: nowrap;          /* Запрещаем перенос на новую строку */
		overflow-x: auto;           /* Включаем горизонтальный скролл */
		-webkit-overflow-scrolling: touch; /* Плавный скролл на iOS */
		scrollbar-width: none;      /* Скрываем полосу прокрутки в Firefox */
		-ms-overflow-style: none;   /* Скрываем полосу прокрутки в IE/Edge */
		padding: 15px 0 0 0;         /* Небольшие отступы по краям для удобства пальца */
		margin-bottom: 10px;
	}
	
	/* Скрываем полосу прокрутки в Chrome, Safari, Opera, Android */
	.breadcrumb::-webkit-scrollbar {
		display: none;
	}
	
	/* Запрещаем элементам сжиматься, чтобы они сохраняли свою ширину */
	.breadcrumb .breadcrumb-item {
		flex-shrink: 0;
	}
	
	/* Стили для вашего упрощенного мобильного блока (если он используется) */
	.mobile-breadcrumb {
		padding: 20px 0 8px 0;
		/*border-top: 1px solid var(--bs-border-color, #e9ecef);
			border-bottom: 1px solid var(--bs-border-color, #e9ecef);
		background-color: var(--bs-tertiary-bg, #f8f9fa);*/
	}
}


/***************/


/* Стили для бейджа корзины */
/*.cart-badge {
    font-size: 10px !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
	
    line-height: 16px !important;
    border-radius: 50% !important;
    background-color: #28a745 !important;
    color: #fff !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
    border: 2px solid #fff !important;
    pointer-events: none !important;
	right: 10px;
    top: 0;
}*/

/*@media (max-width: 991.98px) {
	.cart-badge {
	right: 0;
	}
	
	.bottom-nav-item .cart-badge {
    right: 10px;
	}
}*/
/****************************/
.compare-badge,
.wishlist-badge,
.cart-badge {
	position: absolute;
	top: 0;
	right: 0;
	bottom: auto;
	transform: translate(57%,-31%);
	color: #ffffff;
	font-size: 10px;
	border-radius: 17px;
	text-align: center;
	line-height: 16px;
	min-width: 17px;
	height: 17px;
	padding: 0 6px;
	white-space: nowrap;
	z-index: 2;
}

.cart-badge {
	background-color: #49b822;
}

.compare-badge,
.wishlist-badge {
	background-color: #13B3F8;
}
/* Анимация бейджа */
.compare-badge,
.wishlist-badge,
.cart-badge {
	transform: translate(50%, -50%);
	transition: all 0.3s ease;
}

/* Анимация при обновлении */
.compare-badge.bump,
.wishlist-badge.bump,
.cart-badge.bump {
    animation: cart-bump 0.3s ease !important;
}

@keyframes cart-bump {
    0% { transform: translate(50%, -50%) scale(1); }
    50% { transform: translate(50%, -50%) scale(1.3); }
    100% { transform: translate(50%, -50%) scale(1); }
}

/* Скрываем бейдж когда товаров нет */
.compare-badge.empty,
.wishlist-badge.empty,
.cart-badge.empty {
    display: none !important;
}


/* ===== Кастомная панель корзины ===== */
.cart-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1040;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}

.cart-overlay.active {
	opacity: 1;
	visibility: visible;
}

.cart-slide-panel {
	position: fixed;
	top: 0;
	right: 0;
	width: 450px;
	max-width: 100%;
	height: 100vh;
	background: #fff;
	z-index: 1045;
	transform: translateX(100%);
	transition: transform 0.3s ease-in-out;
	box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15);
	display: flex;
	flex-direction: column;
}

.cart-slide-panel.active {
	transform: translateX(0);
}

.cart-slide-header {
	padding: 1rem 1.5rem;
	background: #f8f9fa;
	border-bottom: 1px solid #dee2e6;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-shrink: 0;
}

.cart-slide-header h5 {
	margin: 0;
}

.cart-slide-body {
	padding: 1.5rem;
	flex: 1;
	overflow-y: auto;
}

/* Адаптивность */
@media (max-width: 576px) {
	.cart-slide-panel {
		width: 100%;
	}
}

/* Стили для содержимого */
.cart-items-list {
	max-height: calc(100vh - 300px);
	overflow-y: auto;
}

.cart-item {
	transition: background-color 0.2s ease;
}

.cart-item:hover {
	background-color: #f8f9fa;
}

.cart-items-list::-webkit-scrollbar {
	width: 4px;
}

.cart-items-list::-webkit-scrollbar-track {
	background: #f1f1f1;
}

.cart-items-list::-webkit-scrollbar-thumb {
	background: #888;
	border-radius: 2px;
}

.cart-items-list::-webkit-scrollbar-thumb:hover {
	background: #555;
}


/* Блокировка скролла при открытой корзине */
body.cart-open {
	overflow: hidden;
}







/* ====== TOP BAR ====== */
#top {
	background: var(--uni-topbar-bg);
	color: #5b768b;
	font-size: 0.85rem;
	padding: 10px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
#top a {
	color: var(--uni-topbar-text);
	text-decoration: none;
	transition: color 0.2s;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
#top a:hover { color: white; }

#top .topbar-links {
	display: flex;
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
}
#top .topbar-right {
	display: flex;
	align-items: center;
	gap: 15px;
	justify-content: flex-end;
}
#top .dropdown-menu {

	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	border-radius: 0px;
	min-width: 180px;
	background: #5b768b;

}
#top .dropdown-item {
	padding: 8px 16px;
	font-size: 0.875rem;
}
#top .dropdown-item:hover {
	color: var(--uni-menu-hover-text) !important;
	border-bottom-color: var(--uni-color-primary);
	background: rgba(0, 0, 0, 0.1);
	background: var(--uni-menu-bg-hover);
}

/* ====== MAIN HEADER ====== */
header {
	background: var(--uni-header-bg);
	color: var(--uni-header-text);
	padding: 20px 0;
	/*box-shadow: 0 2px 15px rgba(0, 0, 0, 0.04);*/
	position: relative;
	z-index: 100;
}
.header-row {
	display: flex;
	align-items: center;
	gap: 25px;
	flex-wrap: nowrap;
}

/* Логотип */

#logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
#logo img {
	max-width: 200px;
	transition: transform 0.3s;
}
@media (max-width: 991.98px) {
	#logo img {
		max-width: 165px;
	}
}

@media (max-width: 767.98px) {
	#logo img {
		max-width: 135px;
	}
}	

.uni-logo-img-text {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--uni-header-text);
	letter-spacing: -0.5px;
	line-height: 1.2;
}
.uni-logo-img-desc {
	font-size: 0.8rem;
	color: var(--uni-topbar-text);
	line-height: 1.2;
}

/* Поиск */
#search {
	flex: 1;
	min-width: 0;
	position: relative;
}
#search input[type="text"] {
	border: 2px solid #e9ecef;
	border-radius: 50px;
	padding: 11px 50px 11px 20px;
	font-size: 0.9rem;
	transition: all 0.3s;
	background: #f8f9fa;
	width: 100%;
}
#search input[type="text"]:focus {
	outline: none;
	border-color: var(--uni-color-primary);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(34, 154, 200, 0.1);
}
#search button {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	background: var(--uni-color-primary);
	border: none;
	color: #fff;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s;
}
#search button:hover {
	filter: brightness(0.9);
}

/* Телефон */
.header-phone {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-decoration: none;
	color: var(--uni-header-text);
	transition: color 0.2s;
}
.header-phone:hover { color: var(--uni-color-primary); }
.header-phone .phone-label {
	font-size: 0.75rem;
	color: var(--uni-topbar-text);
	/*text-transform: uppercase;*/
	/*letter-spacing: 0.5px;*/
	text-align: center;
}
.header-phone .phone-number {
	font-size: 1.1rem;
	font-weight: 700;
	white-space: nowrap;
}

/* Иконки действий */
.header-actions {
	display: flex;
	justify-content: end;
	align-items: center;
	gap: 18px;
	flex-shrink: 0;
}
.header-action {
	position: relative;
	color: var(--uni-header-text);
	text-decoration: none;
	transition: color 0.2s;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 0.75rem;
}
.header-action:hover { color: var(--uni-color-primary); }
.header-action i {
	font-size: 1.5rem;
	/*margin-bottom: 2px;*/
}
.header-action .action-badge {
	position: absolute;
	top: -5px;
	right: -10px;
	background: var(--uni-color-primary);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 700;
	min-width: 18px;
	height: 18px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
}

/* Корзина (выделяем) */
.header-action-cart {
	background: var(--uni-color-primary);
	color: #fff !important;
	padding: 10px 18px;
	border-radius: 50px;
	flex-direction: row;
	gap: 8px;
	font-weight: 600;
	font-size: 0.85rem;
}
.header-action-cart:hover {
	filter: brightness(0.9);
	color: #fff !important;
}
.header-action-cart i {
	font-size: 1.2rem;
	margin-bottom: 0;
}
.header-action-cart .action-badge {
	background: #fff;
	color: var(--uni-color-primary);
	top: -5px;
	right: -5px;
}





/* ====== NAVIGATION ====== */

/* menu */
#menu {
	/*background-color: #229ac8;*/
	/*background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
		background-repeat: repeat-x;
	border: 1px solid #1f90bb;*/
	/*border-color: #1f90bb #1f90bb #145e7a;*/
	min-height: 40px;
	/* border-radius: 4px;
		padding: 0 1rem;
	margin-bottom: 20px;*/
}
#menu {
	background: var(--uni-menu-bg);
	border: none !important;
	/*border-bottom: 2px solid var(--uni-color-primary) !important;*/
	background-image: none !important;
	border-radius: 0;
	padding: 0;
}




#menu .navbar-nav > li > a {
	color: #fff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	padding: 10px 15px 10px 15px;
	background-color: transparent;
}

#menu .navbar-nav > li > a:hover {
	background-color: rgba(0, 0, 0, 0.1);
}

#menu .dropdown-menu {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

#menu .dropdown-inner {
	display: flex;
	flex-direction: column;
}

#menu .dropdown-inner ul {
	min-width: 200px;
}

@media (min-width: 960px) {
	#menu .dropdown:hover .dropdown-menu {
		display: block;
	}
	#menu .dropdown-inner {
		flex-direction: row;
	}
	#menu .nav-item + .nav-item + .nav-item .dropdown-column-3 {
		left: -0px;
	}
	#menu .nav-item + .nav-item + .nav-item .dropdown-column-4 {
		left: 0px;
	}
	#menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-2 {
		left: 0px;
	}
	#menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-3 {
		left: 0px;
	}
	#menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-4 {
    left: 60%;
    transform: translateX(-60%);

	}
}
#category {
	float: left;
	font-size: 16px;
	font-weight: 700;
	line-height: 40px;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}

#menu .navbar-toggler i {
	color: #fff;
	border-color: #fff;
	font-size: 0.9em;
}

/*********/



#menu .nav > li > a {
	color: var(--uni-menu-text) !important;
	font-weight: 500;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 0.3px;
	transition: all 0.2s;
}
#menu .nav > li > a:hover,
#menu .nav > li.active > a {
	color: var(--uni-menu-hover-text) !important;
	border-bottom-color: var(--uni-color-primary);
	background: rgba(0, 0, 0, 0.1);
	background: var(--uni-menu-bg-hover);
}
#menu .dropdown-menu {
	border: 1px solid black;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	padding: 10px 0;
}
#menu .dropdown-item {
	padding: 10px 20px;
	font-size: 0.9rem;
	transition: all 0.2s;
}
#menu .dropdown-item:hover {
	background: #f8f9fa;
	color: red;
	
}

/* ====== КНОПКИ ====== */


.btn-light.active,
.btn-primary, .bg-primary {
	background-color: var(--uni-color-primary) !important;
	border-color: var(--uni-color-primary) !important;
}
.btn-primary:hover { filter: brightness(0.9); }

.uni-btn-search {
	border-top-right-radius: 4px !important;
	border-bottom-right-radius: 4px !important;
}

/* ====== АДАПТИВ ====== */
@media (max-width: 1199.98px) {
	.header-phone .phone-number { font-size: 1rem; }
}

@media (max-width: 991.98px) {
	#top { display: none; }
	header { padding: 15px 0; }
	.header-row {
		flex-wrap: wrap;
		gap: 15px;
	}
	
	.uni-logo-img-text { font-size: 1rem; }
	.uni-logo-img-desc { font-size: 0.7rem; }
	#search {
		order: 3;
		flex-basis: 100%;
	}
	/*.header-phone { display: none; }*/
	.header-actions {
		margin-left: auto;
	}
	.header-action-cart {
		padding: 8px 14px;
		font-size: 0.8rem;
	}
}

@media (max-width: 575.98px) {
	.header-action:not(.header-action-cart) i { font-size: 1.3rem; }
	.header-action-cart span:not(.action-badge) { display: none; }
	.header-action-cart { padding: 8px 12px; }
}

.header-icons {
	gap: 12px;
}

/* Убираем стандартные отступы */
.header-unified {
    width: 100%;
    padding: 10px 0;
}

/* Стили для мобильных иконок */
.header-icon-btn {
    background: none;
    border: none;
    padding: 8px;
    font-size: 20px;
    color: var(--uni-header-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Стили для ссылок на действия */
.header-action {
    text-decoration: none;
    display: flex;
    align-items: center;
}

@media (min-width: 992px) {
	.header-action {
		min-width: 50px;
	}
}









/* ====== MOBILE BOTTOM NAVIGATION ====== */
.mobile-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 8px 0 0 0;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    border-top: 1px solid #e9ecef;
}

.bottom-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #6c757d;
    text-decoration: none;
    font-size: 0.75rem;
    position: relative;
    flex: 1;
    padding: 5px 0;
    transition: color 0.2s;
}

.bottom-nav-item i {
    font-size: 1.4rem;
    margin-bottom: 3px;
}

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

.bottom-nav-item.active i {
    transform: scale(1.1);
}

.bottom-badge {
    position: absolute;
    top: 0;
    right: 50%;
    transform: translateX(15px);
    background: var(--uni-color-primary);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
}

/* Отступ для контента, чтобы не перекрывался нижней панелью */
/*@media (max-width: 991.98px) {
    body {
	padding-bottom: 70px;
	}
    main {
	margin-bottom: 10px;
	}
}	*/	

/***********/		

/* ====== MOBILE HEADER OPTIMIZATION ====== */
@media (max-width: 991.98px) {
    header {
        padding: 0;
		/*  position: sticky;
		top: 0;*/
        z-index: 999;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	}
    
    #logo {
        margin-bottom: 0 !important;
	}
    
	/*  #search {
        display: none !important;
		}
		
		.header-phone,
		.header-actions {
        display: none !important;
	}*/
    
    /* Offcanvas меню */
	/*  .offcanvas .nav {
        flex-direction: column;
		}
		.offcanvas .nav > li {
        border-bottom: 1px solid #e9ecef;
		}
		.offcanvas .nav > li > a {
        padding: 15px 20px !important;
        color: var(--uni-header-text) !important;
		}
		.offcanvas .dropdown-menu {
        position: static;
        box-shadow: none;
        border: none;
        padding-left: 20px;
	}*/
}


/* Скрываем bottom nav на десктопе */
@media (min-width: 992px) {
    .mobile-bottom-nav {
        display: none !important;
	}
    body {
        padding-bottom: 0 !important;
	}
}		




.form-control:focus {
	
	box-shadow: none !important;
}



/* ====== MOBILE MENU STYLES ====== */
.mobile-menu-offcanvas .nav-tabs {
    border-bottom: 2px solid var(--uni-color-primary);
}
.mobile-menu-offcanvas .nav-tabs .nav-link {
    border: none;
    color: #6c757d;
    padding: 15px 10px;
    font-weight: 500;
}
.mobile-menu-offcanvas .nav-tabs .nav-link.active {
    color: var(--uni-color-primary);
    background: transparent;
    border-bottom: 3px solid var(--uni-color-primary);
}
.mobile-menu-offcanvas .list-group-item {
    border: none;
    border-bottom: 1px solid #f8f9fa;
    padding: 12px 15px;
}
.mobile-menu-offcanvas .list-group-item:hover {
    background: #f8f9fa;
}
.mobile-menu-offcanvas .offcanvas-body {
    padding: 0;
}
.mobile-menu-offcanvas .offcanvas-header {
    background: var(--uni-color-primary);
    color: #fff;
}
.mobile-menu-offcanvas .offcanvas-header .btn-close {
    filter: brightness(0) invert(1);
}



/* ====== MOBILE MENU FIX ====== */
/*.offcanvas {
    width: 300px !important;
	}
	
	.offcanvas-backdrop {
    background-color: rgba(0, 0, 0, 0.5);
	}
	
	.offcanvas.show {
    transform: none !important;
	}
*/
.mobile-menu-offcanvas .nav-tabs .nav-link {
    border: none;
    color: #6c757d;
    padding: 15px 10px;
    font-weight: 500;
}

.mobile-menu-offcanvas .nav-tabs .nav-link.active {
    color: var(--uni-color-primary);
    background: transparent;
    border-bottom: 3px solid var(--uni-color-primary);
}

.mobile-menu-offcanvas .list-group-item {
    border: none;
    border-bottom: 1px solid #f8f9fa;
    padding: 12px 15px;
}

.mobile-menu-offcanvas .list-group-item:hover {
    background: #f8f9fa;
}

.mobile-menu-offcanvas .offcanvas-body {
    padding: 0;
}	


/* ====== MOBILE MENU BACKDROP ====== */
/*.offcanvas-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000;
	}
	
	.offcanvas-backdrop.fade {
    opacity: 0;
    transition: opacity 0.15s linear;
	}
	
	.offcanvas-backdrop.show {
    opacity: 0.5;
	}
	
	.offcanvas {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1045;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    visibility: hidden;
    background-color: #fff;
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out;
	}
	
	.offcanvas.offcanvas-start {
    top: 0;
    left: 0;
    width: 300px;
    border-right: 1px solid rgba(0, 0, 0, 0.2);
    transform: translateX(-100%);
	}
	
	.offcanvas.show {
    transform: none;
    visibility: visible;
	}
	
	.offcanvas.show:not(.hiding),
	.offcanvas.showing {
    transform: none;
	}
	
	.offcanvas.hiding,
	.offcanvas.show,
	.offcanvas.showing {
    visibility: visible;
	}	
	
*/

/* ====== МОБИЛЬНОЕ МЕНЮ (CSS АНИМАЦИЯ) ====== */
/*.offcanvas {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    width: 300px;
    height: 100vh;
    background: #fff;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
}*/
/*
	.offcanvas.show {
    transform: translateX(0);
}*/
/*
	.offcanvas-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}*/
/*
	.offcanvas-backdrop.show {
    opacity: 0.5;
    visibility: visible;
}*/

/* Поворот стрелочки при открытии подкатегории */
.fa-rotate-180 {
    transform: rotate(180deg);
    transition: transform 0.2s;
}

/* Стили для вкладок */
.nav-tabs .nav-link {
    border: none;
    border-bottom: 3px solid transparent;
    color: #6c757d;
}
.nav-tabs .nav-link.active {
    color: var(--uni-color-primary, #229ac8);
    border-bottom-color: var(--uni-color-primary, #229ac8);
    background: transparent;
}	
.nav-tabs .nav-link {
    border: none;
    border-bottom: 3px solid transparent;
    color: #6c757d;
    cursor: pointer; /* Важно для кликабельности */
}
.nav-tabs .nav-link.active {
    color: var(--uni-color-primary, #229ac8);
    border-bottom-color: var(--uni-color-primary, #229ac8);
    background: transparent;
}
.tab-pane {
    display: none;
}
.tab-pane.show.active {
    display: block;
}
.fa-rotate-180 {
    transform: rotate(180deg);
    transition: transform 0.2s;
}	

/* 2. Базовые стили и переменная размера для десктопа */
.svg-tab-menu-icon-wrapper {
    --icon-size: 14px; /* Размер по умолчанию (ПК) */
    display: inline-flex;
    width: var(--icon-size);
    height: var(--icon-size);
    place-content: center;
    place-items: center;
    vertical-align: middle;
    position: relative;
}

/* 4. Стили для самой иконки внутри обертки */
.svg-tab-menu-icon-wrapper svg {
    width: 100%;
    height: 100%;
    fill: currentColor; /* Наследует цвет текста родителя */
    transition: fill 0.2s ease, transform 0.2s ease;
}

#menu-pane .menu-badge {
	position: unset !important;
	transform: none !important;
}

@media (max-width: 575.98px) {
	.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
		margin-left: 0;
		
		border-radius: 0.25rem;
	}
}


/* ===== СТИЛИ ДЛЯ КОНТЕНТА МЕНЮ В OFFCANVAS ===== */

/* Кастомные стили для вкладок */
.offcanvas-body .nav-tabs .nav-link {
	border: none;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	padding: 0.75rem 0.5rem;
	color: #6c757d;
	font-weight: 500;
}

.offcanvas-body .nav-tabs .nav-link.active {
	border-bottom-color: var(--bs-primary, #229ac8);
	color: var(--bs-primary, #229ac8);
	background: transparent;
}

.offcanvas-body .nav-tabs .nav-link:hover {
	border-bottom-color: var(--bs-primary, #229ac8);
	color: var(--bs-primary, #229ac8);
}

/* Кастомные стили для списка и дочерних пунктов */
.offcanvas-body .list-group-item {
	border: none;
}

.offcanvas-body .list-group-item-action:active {
	background-color: var(--bs-primary, #229ac8);
	color: #fff;
}

.offcanvas-body .ps-3 .list-group-item {
	padding: 0.5rem 1rem;
	font-size: 0.9rem;
}

/* Анимация стрелок */
.transition-transform {
	transition: transform 0.3s ease;
}

.menu-toggle.open .fa-chevron-down {
	transform: rotate(180deg);
}

/* Коллапс для дочерних пунктов (ваш кастомный аккордеон) */
.menu-collapse {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-in-out;
}

.menu-collapse.open {
	max-height: 1000px;
}

/* Стили для скроллбара внутри оффканваса */
.offcanvas-body::-webkit-scrollbar {
	width: 4px;
}

.offcanvas-body::-webkit-scrollbar-track {
	background: #f1f1f1;
}

.offcanvas-body::-webkit-scrollbar-thumb {
	background: #888;
	border-radius: 2px;
}

.offcanvas-body::-webkit-scrollbar-thumb:hover {
	background: #555;
}


/* Кастомные вкладки внутри Offcanvas */
.custom-tab-pane {
    display: none; /* Скрываем неактивные */
}

.custom-tab-pane.active {
    display: block; /* Показываем активную */
}

/* Стили для кнопок вкладок */
.offcanvas-body .nav-tabs .nav-link {
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    padding: 0.75rem 0.5rem;
    color: #6c757d;
    font-weight: 500;
}

.offcanvas-body .nav-tabs .nav-link.active {
    border-bottom-color: var(--bs-primary, #229ac8);
    color: var(--bs-primary, #229ac8);
    background: transparent;
}

.offcanvas-body .nav-tabs .nav-link:hover {
    border-bottom-color: var(--bs-primary, #229ac8);
    color: var(--bs-primary, #229ac8);
}	

/* 2. Базовые стили и переменная размера */
.svg-menu-icon-wrapper {
    --icon-size: 14px; /* Размер по умолчанию (ПК) */
    display: inline-flex;
    width: var(--icon-size);
    height: var(--icon-size);
    place-content: center;
    place-items: center;
    vertical-align: middle;
    position: relative;
}

/* 3. Адаптивность: меняем только переменную на мобильных устройствах */
@media (max-width: 991.98px) {
    .svg-menu-icon-wrapper {
        --icon-size: 14px; /* Размер для планшетов и телефонов */
	}
}

/* 4. Стили для самой иконки внутри обертки */
.svg-menu-icon-wrapper svg {
    width: 100%;
    height: 100%;
    fill: currentColor; /* Наследует цвет текста родителя */
    transition: fill 0.2s ease, transform 0.2s ease;
}



/* ===== ПАНЕЛЬ КОНТАКТОВ (справа) ===== */

/* Затемнение (используем класс .menu-overlay из вашего кода, только позиционируем его) */
/*#contactsOverlay {
	z-index: 1050; 
}*/

/* Панель контактов */
/*.contacts-slide-panel {
	position: fixed;
	top: 0;
	right: 0;
	width: 320px;
	max-width: 100%;
	height: 100vh;
	background: #fff;
	z-index: 1055; 
	transform: translateX(100%); 
	transition: transform 0.3s ease-in-out;
	box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15);
	display: flex;
	flex-direction: column;
	}
	
	.contacts-slide-panel.active {
	transform: translateX(0);
}*/

/* Шапка панели */
/*.contacts-slide-header {
	padding: 1rem 1.5rem;
	background: var(--bs-primary, #229ac8);
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-shrink: 0;
	}
	
	.contacts-slide-header h5 {
	margin: 0;
	color: #fff;
	}
	
	.contacts-slide-header .btn-close {
	filter: brightness(0) invert(1);
}*/

/* Тело панели */
/*.contacts-slide-body {
	padding: 0;
	flex: 1;
	overflow-y: auto;
}*/

/* Список телефонов */
.contacts-list {
	padding: 0.5rem;
	border-bottom: 1px solid #e9ecef;
}

.contact-phone-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	
	text-decoration: none;
	color: #212529;
	border-bottom: 1px solid #f1f3f5;
	transition: all 0.2s;
}

.contact-phone-item:last-child {
	border-bottom: none;
}

.contact-phone-item:hover {
	background-color: #f8f9fa;
}

.contact-phone-item .phone-number {
	font-size: 1.05rem;
	font-weight: 600;
}

.contact-phone-item .contact-icon {
	font-size: 1.3rem;
	color: #6c757d;
}

/* Информационные блоки */
.contacts-info {
	padding: 1rem;
	border-bottom: 1px solid #e9ecef;
}

.info-block {
	margin-bottom: 1rem;
}

.info-title {
	font-weight: 700;
	font-size: 0.9rem;
	margin-bottom: 0.25rem;
	color: #343a40;
}

.info-link, .info-text {
	color: #6c757d;
	font-size: 0.95rem;
	text-decoration: none;
	word-break: break-word;
}

.info-link:hover {
	color: var(--bs-primary, #229ac8);
}

/* Социальные сети */
.social-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #f8f9fa;
	color: #495057;
	font-size: 1.2rem;
	text-decoration: none;
	transition: all 0.2s ease;
}

.social-btn:hover {
	background: var(--bs-primary, #229ac8);
	color: #fff;
	transform: translateY(-2px);
}

/* Адаптивность */
/*@media (max-width: 576px) {
	.contacts-slide-panel {
	width: 85%;
	}
	}
	
	@media (min-width: 577px) and (max-width: 768px) {
	.contacts-slide-panel {
	width: 350px;
	}
}*/



/****************/

.column-left-sticky {
	position: sticky;
	top: 20px;
}


/* Footer Styles*/
.uni-footer { 
	background: #f8f9fa; 
	padding: 50px 0 10px; 
	margin-top: 35px;
	overflow-x: hidden;
	overflow-x: clip; 
}
.footer-column-header { display: flex; justify-content: space-between; align-items: center; padding: 15px; background: #fff; border-radius: 8px; cursor: pointer; margin-bottom: 10px; font-weight: 600; transition: all 0.3s; }
.footer-column-header:hover { background: #e9ecef; }
.footer-column-header i { transition: transform 0.3s; }
.footer-column-header[aria-expanded="true"] i, .footer-column-header.show i { transform: rotate(180deg); }
.footer-column-title { font-size: 16px; font-weight: 700; margin-bottom: 20px; color: #212529; }
.footer-column-content a { transition: all 0.2s; padding: 0; display: block; }
.footer-column-content a:hover { color: var(--uni-color-primary, #229ac8) !important; padding-left: 5px; }
.footer-info { color: #6c757d; line-height: 1.6; }
.footer-logo { 
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3; 
}
.footer-address, .footer-email, .footer-hours { font-size: 14px; }
.footer-phone a { color: var(--uni-color-primary, #229ac8); }
.footer-bottom { font-size: 14px; color: #6c757d; }
.hover-primary:hover { color: var(--uni-color-primary, #229ac8) !important; }
@media (max-width: 991.98px) {
    .footer-column-content { padding: 0 15px; }
    .footer-column-content.show { padding-bottom: 15px; }
}



/* ===== АДАПТИВНАЯ НИЖНЯЯ ПАНЕЛЬ ===== */
@media (max-width: 991.98px) {
    .bottom-icons-panel {
		position: sticky;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		z-index: 1050;
		margin-top: auto; /* Прижимает панель к низу! */
		order: 9999;      /* Гарантирует, что она будет в самом конце флекс-контейнера */
		padding-bottom: env(safe-area-inset-bottom, 22px);
		border-radius: 12px 12px 0 0;
		background: #fff;
		box-shadow: 0px -3px 10px rgba(0,0,0,.1);
		transform: translateZ(0);
		will-change: transform;
	}
    /* Убираем отступ у body (панель теперь занимает место) */
    body {
		padding-bottom: 0 !important;
	}
}
@media (min-width: 992px) {
    .bottom-icons-panel {
		display: none;
	}
}
.bottom-icons-panel__content {
    display: flex;
    width: 100%;
    overflow-x: auto; /* Горизонтальный скролл */
    overflow-y: hidden;
    transform: translateZ(0);
    -webkit-overflow-scrolling: touch;
}
/* Скрываем скроллбар, но оставляем возможность прокрутки */
.bottom-icons-panel__content::-webkit-scrollbar {
    display: none; 
}
.bottom-icons-panel__content-link {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: flex-end;
    flex-direction: column;
    min-width: 75px;
    max-width: 200px;
    height: 56px;
    text-align: center;
    position: relative;
    overflow: hidden;
    padding: 0 3px 2px;
    color: #888;
    text-decoration: none;
    transition: color 0.2s;
}
.bottom-icons-panel__content-link:hover {
    color: var(--bs-primary, #229ac8);
}
.bottom-icons-panel__content-link--active {
    color: var(--bs-primary, #229ac8);
}
.icons-panel-wrapper {
    align-items: flex-end;
    display: flex;
    height: 20px;
    margin: 0;
    position: relative;
}
.bottom-icons-panel__content-text {
    font-size: 10px;
    margin-top: 2px;
    white-space: nowrap;
}

/* 2. Базовые стили и переменная размера для десктопа */
.svg-footer-icon-wrapper {
    --icon-size: 24px; /* Размер по умолчанию (ПК) */
    display: inline-flex;
    width: var(--icon-size);
    height: var(--icon-size);
    place-content: center;
    place-items: center;
    vertical-align: middle;
    position: relative;
}
/* 3. Адаптивность: меняем только переменную на мобильных устройствах */
@media (max-width: 991.98px) {
    .svg-footer-icon-wrapper {
		--icon-size: 20px; /* Размер для планшетов и телефонов */
	}
}
/* 4. Стили для самой иконки внутри обертки */
.svg-footer-icon-wrapper svg {
    width: 100%;
    height: 100%;
    fill: currentColor; /* Наследует цвет текста родителя */
    transition: fill 0.2s ease, transform 0.2s ease;
}




/* ============================================================
	LOAD MORE BUTTON
============================================================ */
#load-more-container {
    padding: 20px 0;
}

#button-load-more {
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

#button-load-more:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

#button-load-more:disabled {
    opacity: 0.7;
    cursor: wait;
}


#desktopSearchClear {
	position: absolute;
	right: 65px;
	top: 9px;
	z-index: 10;
}	



.offcanvas.offcanvas-top {
	max-height: 65px !important;
}

/* ===== КОМПАКТНЫЙ ОFNCANVAS ПОИСК ===== */

/* КРИТИЧЕСКИ ВАЖНО: чтобы dropdown выходил за пределы offcanvas */
.compact-search {
    overflow: visible !important; 
    border: none;
}

/* Чтобы список перекрывал затемнение и все остальное */
.search-results-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #e9ecef;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
    max-height: 70vh;
    overflow-y: auto;
    z-index: 1050; /* ВЫШЕ, чем у оффканваса (обычно 1045) */
    border-radius: 0 0 12px 12px;
}



/* Убираем стандартные отступы и высоту offcanvas */
.compact-search {
    background: #fff;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.15);
    overflow: visible !important; /* Чтобы выпадающий список перекрывал затемнение */
    border: none;
}

/* Строка с поиском и крестиком */
.compact-search > .position-relative {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px; /* Отступы сверху, снизу, слева и справа */
    border-bottom: 1px solid #f1f3f5; /* Разделительная линия */
}

/* Рамка вокруг поля */
.search-box {
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    padding: 4px 6px;
    flex-grow: 1;
    margin-right: 10px; /* Отступ справа от крестика */
    transition: border-color 0.2s ease;
}

.search-box:focus-within {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Поле ввода внутри рамки */
.search-input-box {
    border: none;
    outline: none;
    background: transparent;
    font-size: 16px;
    color: #333;
    padding: 4px 2px;
}

.search-input-box::placeholder {
    color: #9ca3af;
}

/* Кнопка очистки */
#mobileSearchClear {
    color: #9ca3af;
    border-radius: 50%;
}



/* Кнопка отправки (иконка лупы) */
.search-submit-btn {
    background: transparent;
    border: none;
    color: #4b5563;
    border-radius: 50%;
}

.search-submit-btn:hover {
    background: #f1f3f5;
    color: #111;
}

/* Крестик закрытия панели (Bootstrap btn-close) */
.compact-search .btn-close {
    flex-shrink: 0;
    opacity: 0.6;
}

.compact-search .btn-close:hover {
    opacity: 1;
}


#desktopSearchResults{
margin-top: 46px;
}