.scroll-indicator {
	width: 0;
	height: 3px;
	background: rgba(13, 110, 253, 1);
	position: fixed;
	top: 0;
	-webkit-transition: width .6s ease;
	-o-transition: width .6s ease;
	transition: width .3s ease;
	z-index: 99999;
}

.black-gradient {
	background: linear-gradient(180deg,
		rgba(0,0,0,0),
		rgba(0,0,0,0),
		rgba(0,0,0,.75)
	);
}

.card-title-bottom {
	position: absolute;
	bottom: 1rem;
}

.text-shadow-sm {
	text-shadow: 0 .125rem .125rem rgba(0,0,0,.75);
}

.nav-right {
	z-index: 10;
	right: 15px;
	position: fixed;
	bottom: 50px;
}
.nav-right-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: block;
	font-size: 26px;
	color: #fff;
	opacity: 0.75;
	border: 2px solid #fff;
}
.nav-right-btn:hover, .nav-right-btn:focus {
	color: #fff;
	opacity: 1;
}
.wa {
	background:#4AC959;
}
.tg {
	background:#08c;
}
.vb {
	background:#665CAC;
}
.vk {
	background:#07f;
}
.ok {
	background:#ed812b;
}
.fb {
	background:#3b5998;
}
.ig {
	background: linear-gradient(-135deg, #405de6, #5851db, #833ab4, #c13584, #e1306c, #fd1d1d, #f56040, #f77737, #fcaf45, #ffdc80);
}
.up {
	display: none;
	background: rgba(13, 110, 253, 1);
}


/**
 * Стиль анимации кнопки бургер в меню
 */
.navbar-toggler {
	width: 40px;
	height: 20px;
	position: relative;
	transition: .5s ease-in-out;
	border: 0;
}
.navbar-toggler,
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
	outline: none;
	box-shadow: none;
	border: 0;
}
.navbar-toggler span {
	margin: 0;
	padding: 0;
}
.toggler-icon {
	display: block;
	position: absolute;
	height: 3px;
	width: 100%;
	background: rgba(13, 110, 253, 1);
	border-radius: 3px;
	opacity: 1;
	left: 0;
	transform: rotate(0deg);
	transition: .25s ease-in-out;
}
.middle-bar {
	margin-top: 0;
}
.navbar-toggler .top-bar {
	margin-top: 0;
	transform: rotate(135deg);
}
.navbar-toggler .middle-bar {
	opacity: 0;
	filter: alpha(opacity=0);
}
.navbar-toggler .bottom-bar {
	margin-top: 0;
	transform: rotate(-135deg);
}
.navbar-toggler.collapsed .top-bar {
	margin-top: -20px;
	transform: rotate(0deg);
}
.navbar-toggler.collapsed .middle-bar {
	opacity: 1;
	filter: alpha(opacity=100);
}
.navbar-toggler.collapsed .bottom-bar {
	margin-top: 20px;
	transform: rotate(0deg);
}
.navbar-toggler.collapsed .toggler-icon {
	background: rgba(13, 110, 253, 1);
}

.navbar-brand img {
	width: 64px;
}


/**
 * Стиль поиска
 */
.bg-search {
	background: linear-gradient(to right, #007BFF, #3F3F97, #AF4191, #3F3F97 , #007BFF);
}

.bg-search-wb {
	background: linear-gradient(to bottom, rgba(255,255,255,.5), rgba(0,0,0,0), rgba(0,0,0,.5));
}

/**
 * Стиль акции
 */
.promo-action {
	position: absolute;
	width: 200px;
	z-index: 2;
	top: 10px;
	left: -28px;
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 1);
	background: rgba(255, 0, 0, 1);
	border: 3px solid #fc0;
	transform: rotate(-30deg);
}

.card {
	overflow: hidden;
}

.text-truncate-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.text-truncate-3 {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.verified {
	position: absolute;
	z-index: 1;
	width: 38px;
	height: 38px;
	top: 0px;
	right: 0px;
	border-radius: 0 0 0 .5rem;
	font-size: 26px;
	/*-webkit-animation: verified 3s linear infinite;
	animation: verified 3s linear infinite;*/
}

.filter-saturate130 {
	filter: saturate(130%);
}

.poster {
	height: 100%;
	object-fit: cover;
}

.user-info {
	top: 16px;
	z-index: 10;
}

.avatar-icon {
	font-size: 64px;
	color: #888;
}

.avatar-photo {
	width: 64px;
	height: 64px;
}

.whatsapp {
	color: #4AC959;
}

.telegram {
	color: #08c;
}

.viber {
	color: #665CAC;
}

.icon-fa-fw {
	text-align: center;
	width: 1.25em;
	height: 1.25em;
}

.number-photos {
	background: rgba(0, 0, 0, .75);
	border-radius: .375rem 0 .375rem 0;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	left: 0px;
	position: absolute;
	top: 0px;
	width: 32px;
	height: 32px;
}

.td-middle {
	vertical-align: middle;
}

.modal-footer {
	justify-content: flex-start;
}


.suggestions-wrapper {
	position: absolute !important;
	left: 0;
	top: 3rem;
	right: 0;
}

html[data-bs-theme="dark"] .suggestions-suggestions {
	background: var(--bs-tertiary-bg) !important;
	color: var(--bs-secondary-color);
}

html[data-bs-theme="dark"] .suggestions-suggestion:hover {
	background: var(--bs-secondary-bg) !important;
}




.file-upload__input {
    display: none;
}


.file-upload__button {
    margin-bottom: 1rem;
}

.file-upload__input:disabled + label {
    display: none;
}

.file-upload__input-transfer {
    display: none;
}

.file-upload__files {
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
    line-height: 0;
    display: flex;
}

.file-upload__files-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    position: relative;
    border: 1px solid #d9d9d9;
    padding: 0.5rem 0.7rem;
}

.file-upload__files-item-name {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.8rem;
    line-height: 1.2;
}

.file-upload__files-item-name span {
    overflow-wrap: anywhere;
}

.file-upload__files-item-remove {
    display: flex;
    font-size: 0.9rem;
    border: 0;
    line-height: 0;
    padding: 0;
    cursor: pointer;
    width: 1.4rem;
    border-radius: 5px;
    height: 1.4rem;
    align-items: center;
    justify-content: center;
    background: #ff7373;
    position: absolute;
    right: 0.7rem;
    top: 0.7rem;
}

.file-upload__files-item-remove:hover {
    opacity: 0.7;
}

.file-upload--images .file-upload__files {
    flex-direction: row;
    flex-wrap: wrap;
}

.file-upload--images .file-upload__files-item {
    flex-direction: column;
    gap: 0;
    position: relative;
    padding: 0;
    width: 10rem;
}

.file-upload--images .file-upload__files-item-name {
    padding: 0.5rem;
}

.file-upload--images .file-upload__files-item-image {
    width: 100%;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.animated-logo {
	width: 64px;
	height: 64px;
	display: block;
	filter: drop-shadow(0 6px 10px rgba(0,0,0,0.12));
	transform-origin: center center;
	/* Используем linear для максимально предсказуемой интерполяции между ключевыми кадрами */
	animation: ultraSmoothLoop 30s linear infinite;
	/* Оптимизация для максимальной плавности */
	will-change: transform;
	backface-visibility: hidden;
	-webkit-font-smoothing: antialiased;
	transform: translateZ(0);
	image-rendering: auto;
}

/* 
	МАКСИМАЛЬНО ПЛАВНАЯ АНИМАЦИЯ С 60+ КЛЮЧЕВЫМИ КАДРАМИ
	Каждый этап разбит на множество промежуточных состояний
	для идеальной плавности движения
	
	Тайминг (30 секунд):
	0-5% (0-1.5с): вращение
	5-11.667% (1.5-3.5с): прыжок 10px со сжатием
	11.667-13.333% (3.5-4с): подготовка к качанию + переход origin
	13.333-15% (4-4.5с): отклонение против часовой (до -12°)
	15-18.333% (4.5-5.5с): отклонение по часовой (до +12°)
	18.333-25% (5.5-7.5с): возврат в исходное положение
	25-100% (7.5-30с): пауза
*/
@keyframes ultraSmoothLoop {
	/* ========== ИСХОДНОЕ СОСТОЯНИЕ ========== */
	0% {
			transform: rotateY(0deg) translateY(0) scale(1);
			transform-origin: center center;
	}
	
	/* ========== ВРАЩЕНИЕ (0-5% = 1.5с) с 20 промежуточными позициями ========== */
	0.25% { transform: rotateY(18deg) translateY(0) scale(1); transform-origin: center center; }
	0.5% { transform: rotateY(36deg) translateY(0) scale(1); transform-origin: center center; }
	0.75% { transform: rotateY(54deg) translateY(0) scale(1); transform-origin: center center; }
	1% { transform: rotateY(72deg) translateY(0) scale(1); transform-origin: center center; }
	1.25% { transform: rotateY(90deg) translateY(0) scale(1); transform-origin: center center; }
	1.5% { transform: rotateY(108deg) translateY(0) scale(1); transform-origin: center center; }
	1.75% { transform: rotateY(126deg) translateY(0) scale(1); transform-origin: center center; }
	2% { transform: rotateY(144deg) translateY(0) scale(1); transform-origin: center center; }
	2.25% { transform: rotateY(162deg) translateY(0) scale(1); transform-origin: center center; }
	2.5% { transform: rotateY(180deg) translateY(0) scale(1); transform-origin: center center; }
	2.75% { transform: rotateY(198deg) translateY(0) scale(1); transform-origin: center center; }
	3% { transform: rotateY(216deg) translateY(0) scale(1); transform-origin: center center; }
	3.25% { transform: rotateY(234deg) translateY(0) scale(1); transform-origin: center center; }
	3.5% { transform: rotateY(252deg) translateY(0) scale(1); transform-origin: center center; }
	3.75% { transform: rotateY(270deg) translateY(0) scale(1); transform-origin: center center; }
	4% { transform: rotateY(288deg) translateY(0) scale(1); transform-origin: center center; }
	4.25% { transform: rotateY(306deg) translateY(0) scale(1); transform-origin: center center; }
	4.5% { transform: rotateY(324deg) translateY(0) scale(1); transform-origin: center center; }
	4.75% { transform: rotateY(342deg) translateY(0) scale(1); transform-origin: center center; }
	5% { transform: rotateY(360deg) translateY(0) scale(1); transform-origin: center center; }
	
	/* ========== ПРЫЖОК 10px (5-11.667% = 2с) ========== */
	/* Подъем */
	5.5% { transform: rotateY(360deg) translateY(-2px) scale(1.002); transform-origin: center center; }
	6% { transform: rotateY(360deg) translateY(-4px) scale(1.005); transform-origin: center center; }
	6.5% { transform: rotateY(360deg) translateY(-6px) scale(1.008); transform-origin: center center; }
	7% { transform: rotateY(360deg) translateY(-8px) scale(1.012); transform-origin: center center; }
	7.5% { transform: rotateY(360deg) translateY(-9.5px) scale(1.016); transform-origin: center center; }
	8% { transform: rotateY(360deg) translateY(-10px) scale(1.018); transform-origin: center center; }
	8.5% { transform: rotateY(360deg) translateY(-10px) scale(1.02); transform-origin: center center; }
	9% { transform: rotateY(360deg) translateY(-9.5px) scale(1.018); transform-origin: center center; }
	/* Спуск */
	9.5% { transform: rotateY(360deg) translateY(-7px) scale(1.012); transform-origin: center center; }
	10% { transform: rotateY(360deg) translateY(-4px) scale(1.006); transform-origin: center center; }
	10.5% { transform: rotateY(360deg) translateY(-1px) scale(1.001); transform-origin: center center; }
	/* Приземление со сжатием */
	10.8% { transform: rotateY(360deg) translateY(0.5px) scaleY(0.98) scaleX(1.003); transform-origin: center center; }
	11% { transform: rotateY(360deg) translateY(1.2px) scaleY(0.95) scaleX(1.008); transform-origin: center center; }
	11.2% { transform: rotateY(360deg) translateY(1.8px) scaleY(0.92) scaleX(1.012); transform-origin: center center; }
	11.4% { transform: rotateY(360deg) translateY(1.5px) scaleY(0.94) scaleX(1.01); transform-origin: center center; }
	11.6% { transform: rotateY(360deg) translateY(0.8px) scaleY(0.97) scaleX(1.005); transform-origin: center center; }
	11.667% { transform: rotateY(360deg) translateY(0) scale(1); transform-origin: center center; }
	
	/* ========== ПЛАВНЫЙ ПЕРЕХОД К КАЧАНИЮ (11.667-13.333%) ========== */
	12% { transform: rotateY(360deg) translateY(0) scale(1); transform-origin: center center; }
	12.5% { transform: rotateY(360deg) translateY(0) scale(1); transform-origin: center bottom; }
	13% { transform: rotateY(360deg) rotate(-1deg); transform-origin: center bottom; }
	13.333% { transform: rotateY(360deg) rotate(-2deg); transform-origin: center bottom; }
	
	/* ========== ОТКЛОНЕНИЕ ПРОТИВ ЧАСОВОЙ СТРЕЛКИ (13.333-15% = 0.5с) ========== */
	13.5% { transform: rotateY(360deg) rotate(-3.5deg); transform-origin: center bottom; }
	13.667% { transform: rotateY(360deg) rotate(-5deg); transform-origin: center bottom; }
	13.833% { transform: rotateY(360deg) rotate(-6.5deg); transform-origin: center bottom; }
	14% { transform: rotateY(360deg) rotate(-8deg); transform-origin: center bottom; }
	14.167% { transform: rotateY(360deg) rotate(-9.5deg); transform-origin: center bottom; }
	14.333% { transform: rotateY(360deg) rotate(-10.5deg); transform-origin: center bottom; }
	14.5% { transform: rotateY(360deg) rotate(-11.5deg); transform-origin: center bottom; }
	14.667% { transform: rotateY(360deg) rotate(-12deg); transform-origin: center bottom; }
	14.833% { transform: rotateY(360deg) rotate(-11.5deg); transform-origin: center bottom; }
	15% { transform: rotateY(360deg) rotate(-10deg); transform-origin: center bottom; }
	
	/* ========== ОТКЛОНЕНИЕ ПО ЧАСОВОЙ СТРЕЛКЕ (15-18.333% = 1с) ========== */
	15.333% { transform: rotateY(360deg) rotate(-7deg); transform-origin: center bottom; }
	15.667% { transform: rotateY(360deg) rotate(-4deg); transform-origin: center bottom; }
	16% { transform: rotateY(360deg) rotate(-1deg); transform-origin: center bottom; }
	16.333% { transform: rotateY(360deg) rotate(2deg); transform-origin: center bottom; }
	16.667% { transform: rotateY(360deg) rotate(5deg); transform-origin: center bottom; }
	17% { transform: rotateY(360deg) rotate(7.5deg); transform-origin: center bottom; }
	17.333% { transform: rotateY(360deg) rotate(9.5deg); transform-origin: center bottom; }
	17.667% { transform: rotateY(360deg) rotate(11deg); transform-origin: center bottom; }
	18% { transform: rotateY(360deg) rotate(12deg); transform-origin: center bottom; }
	18.333% { transform: rotateY(360deg) rotate(11.5deg); transform-origin: center bottom; }
	
	/* ========== ВОЗВРАТ В ИСХОДНОЕ ПОЛОЖЕНИЕ (18.333-25% = 2с) ========== */
	18.667% { transform: rotateY(360deg) rotate(10deg); transform-origin: center bottom; }
	19% { transform: rotateY(360deg) rotate(8.5deg); transform-origin: center bottom; }
	19.333% { transform: rotateY(360deg) rotate(7deg); transform-origin: center bottom; }
	19.667% { transform: rotateY(360deg) rotate(5.5deg); transform-origin: center bottom; }
	20% { transform: rotateY(360deg) rotate(4deg); transform-origin: center bottom; }
	20.333% { transform: rotateY(360deg) rotate(3deg); transform-origin: center bottom; }
	20.667% { transform: rotateY(360deg) rotate(2deg); transform-origin: center bottom; }
	21% { transform: rotateY(360deg) rotate(1.2deg); transform-origin: center bottom; }
	21.333% { transform: rotateY(360deg) rotate(0.6deg); transform-origin: center bottom; }
	21.667% { transform: rotateY(360deg) rotate(0.3deg); transform-origin: center bottom; }
	22% { transform: rotateY(360deg) rotate(0.1deg); transform-origin: center bottom; }
	22.5% { transform: rotateY(360deg) rotate(0.05deg); transform-origin: center bottom; }
	23% { transform: rotateY(360deg) rotate(0deg); transform-origin: center bottom; }
	23.5% { transform: rotateY(360deg) rotate(0deg); transform-origin: center center; }
	24% { transform: rotateY(360deg) rotate(0deg) translateY(0) scale(1); transform-origin: center center; }
	24.5% { transform: rotateY(360deg) rotate(0deg) translateY(0) scale(1); transform-origin: center center; }
	25% { transform: rotateY(360deg) rotate(0deg) translateY(0) scale(1); transform-origin: center center; }
	
	/* ========== ПАУЗА (25-100% = 22.5с) ========== */
	100% {
			transform: rotateY(360deg) rotate(0deg) translateY(0) scale(1);
			transform-origin: center center;
	}
}

/* Дополнительная оптимизация для максимальной плавности */
.animated-logo {
	/* Включаем аппаратное ускорение */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	/* Сглаживание */
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	/* Оптимизация рендеринга */
	outline: 1px solid transparent;
}

.logo-container:hover .animated-logo {
	filter: drop-shadow(0 10px 15px rgba(0,0,0,0.18));
	transition: filter 0.2s ease;
}

.ground-line {
	position: fixed;
	bottom: 100px;
	left: 50%;
	transform: translateX(-50%);
	width: 120px;
	height: 2px;
	background: linear-gradient(90deg, transparent, #9aaebf, #9aaebf, transparent);
	border-radius: 2px;
	pointer-events: none;
	opacity: 0.4;
}

/* Стиль для улучшения восприятия плавности */
@media (prefers-reduced-motion: no-preference) {
	.animated-logo {
			animation: ultraSmoothLoop 30s linear infinite;
	}
}