/* 
 *  Owl Carousel CSS3 Transitions 
 *  v1.3.2
 *  Updated for modern browsers
 */

.owl-origin {
	-webkit-perspective: 1200px;
	perspective: 1200px;
	-webkit-perspective-origin-x: 50%;
	-webkit-perspective-origin-y: 50%;
	perspective-origin-x: 50%;
	perspective-origin-y: 50%;
}

/* Fade переходы */
.owl-fade-out {
	z-index: 10;
	-webkit-animation: fadeOut 0.7s both ease;
	animation: fadeOut 0.7s both ease;
}

.owl-fade-in {
	-webkit-animation: fadeIn 0.7s both ease;
	animation: fadeIn 0.7s both ease;
}

/* BackSlide переходы */
.owl-backSlide-out {
	-webkit-animation: backSlideOut 1s both ease;
	animation: backSlideOut 1s both ease;
}

.owl-backSlide-in {
	-webkit-animation: backSlideIn 1s both ease;
	animation: backSlideIn 1s both ease;
}

/* GoDown переходы */
.owl-goDown-out {
	-webkit-animation: scaleToFade 0.7s ease both;
	animation: scaleToFade 0.7s ease both;
}

.owl-goDown-in {
	-webkit-animation: goDown 0.6s ease both;
	animation: goDown 0.6s ease both;
}

/* ScaleUp переходы */
.owl-fadeUp-in {
	-webkit-animation: scaleUpFrom 0.5s ease both;
	animation: scaleUpFrom 0.5s ease both;
}

.owl-fadeUp-out {
	-webkit-animation: scaleUpTo 0.5s ease both;
	animation: scaleUpTo 0.5s ease both;
}

/* Keyframes */
@-webkit-keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

@-webkit-keyframes fadeOut {
	0% { opacity: 1; }
	100% { opacity: 0; }
}

@keyframes fadeOut {
	0% { opacity: 1; }
	100% { opacity: 0; }
}

@-webkit-keyframes backSlideOut {
	25% { 
		opacity: 0.5; 
		-webkit-transform: translateZ(-500px); 
		transform: translateZ(-500px);
	}
	75% { 
		opacity: 0.5; 
		-webkit-transform: translateZ(-500px) translateX(-200%); 
		transform: translateZ(-500px) translateX(-200%);
	}
	100% { 
		opacity: 0.5; 
		-webkit-transform: translateZ(-500px) translateX(-200%); 
		transform: translateZ(-500px) translateX(-200%);
	}
}

@keyframes backSlideOut {
	25% { 
		opacity: 0.5; 
		transform: translateZ(-500px);
	}
	75% { 
		opacity: 0.5; 
		transform: translateZ(-500px) translateX(-200%);
	}
	100% { 
		opacity: 0.5; 
		transform: translateZ(-500px) translateX(-200%);
	}
}

@-webkit-keyframes backSlideIn {
	0%, 25% { 
		opacity: 0.5; 
		-webkit-transform: translateZ(-500px) translateX(200%); 
		transform: translateZ(-500px) translateX(200%);
	}
	75% { 
		opacity: 0.5; 
		-webkit-transform: translateZ(-500px); 
		transform: translateZ(-500px);
	}
	100% { 
		opacity: 1; 
		-webkit-transform: translateZ(0) translateX(0); 
		transform: translateZ(0) translateX(0);
	}
}

@keyframes backSlideIn {
	0%, 25% { 
		opacity: 0.5; 
		transform: translateZ(-500px) translateX(200%);
	}
	75% { 
		opacity: 0.5; 
		transform: translateZ(-500px);
	}
	100% { 
		opacity: 1; 
		transform: translateZ(0) translateX(0);
	}
}

@-webkit-keyframes scaleToFade {
	to { 
		opacity: 0; 
		-webkit-transform: scale(0.8); 
		transform: scale(0.8);
	}
}

@keyframes scaleToFade {
	to { 
		opacity: 0; 
		transform: scale(0.8);
	}
}

@-webkit-keyframes goDown {
	from { 
		-webkit-transform: translateY(-100%); 
		transform: translateY(-100%);
	}
}

@keyframes goDown {
	from { 
		transform: translateY(-100%);
	}
}

@-webkit-keyframes scaleUpFrom {
	from { 
		opacity: 0; 
		-webkit-transform: scale(1.5); 
		transform: scale(1.5);
	}
}

@keyframes scaleUpFrom {
	from { 
		opacity: 0; 
		transform: scale(1.5);
	}
}

@-webkit-keyframes scaleUpTo {
	to { 
		opacity: 0; 
		-webkit-transform: scale(1.5); 
		transform: scale(1.5);
	}
}

@keyframes scaleUpTo {
	to { 
		opacity: 0; 
		transform: scale(1.5);
	}
}

/* Дополнительные переходы для Bootstrap 5 */
/* Slide переходы */
.owl-slide-out {
	-webkit-animation: slideOut 0.5s both ease;
	animation: slideOut 0.5s both ease;
}

.owl-slide-in {
	-webkit-animation: slideIn 0.5s both ease;
	animation: slideIn 0.5s both ease;
}

@-webkit-keyframes slideOut {
	0% { 
		-webkit-transform: translateX(0); 
		transform: translateX(0);
		opacity: 1;
	}
	100% { 
		-webkit-transform: translateX(-100%); 
		transform: translateX(-100%);
		opacity: 0;
	}
}

@keyframes slideOut {
	0% { 
		transform: translateX(0);
		opacity: 1;
	}
	100% { 
		transform: translateX(-100%);
		opacity: 0;
	}
}

@-webkit-keyframes slideIn {
	0% { 
		-webkit-transform: translateX(100%); 
		transform: translateX(100%);
		opacity: 0;
	}
	100% { 
		-webkit-transform: translateX(0); 
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes slideIn {
	0% { 
		transform: translateX(100%);
		opacity: 0;
	}
	100% { 
		transform: translateX(0);
		opacity: 1;
	}
}

/* Zoom переходы */
.owl-zoom-out {
	-webkit-animation: zoomOut 0.5s both ease;
	animation: zoomOut 0.5s both ease;
}

.owl-zoom-in {
	-webkit-animation: zoomIn 0.5s both ease;
	animation: zoomIn 0.5s both ease;
}

@-webkit-keyframes zoomOut {
	0% { 
		-webkit-transform: scale(1); 
		transform: scale(1);
		opacity: 1;
	}
	100% { 
		-webkit-transform: scale(0.5); 
		transform: scale(0.5);
		opacity: 0;
	}
}

@keyframes zoomOut {
	0% { 
		transform: scale(1);
		opacity: 1;
	}
	100% { 
		transform: scale(0.5);
		opacity: 0;
	}
}

@-webkit-keyframes zoomIn {
	0% { 
		-webkit-transform: scale(1.5); 
		transform: scale(1.5);
		opacity: 0;
	}
	100% { 
		-webkit-transform: scale(1); 
		transform: scale(1);
		opacity: 1;
	}
}

@keyframes zoomIn {
	0% { 
		transform: scale(1.5);
		opacity: 0;
	}
	100% { 
		transform: scale(1);
		opacity: 1;
	}
}

/* Rotate переходы */
.owl-rotate-out {
	-webkit-animation: rotateOut 0.6s both ease;
	animation: rotateOut 0.6s both ease;
}

.owl-rotate-in {
	-webkit-animation: rotateIn 0.6s both ease;
	animation: rotateIn 0.6s both ease;
}

@-webkit-keyframes rotateOut {
	0% { 
		-webkit-transform: rotate(0deg) scale(1); 
		transform: rotate(0deg) scale(1);
		opacity: 1;
	}
	100% { 
		-webkit-transform: rotate(90deg) scale(0.5); 
		transform: rotate(90deg) scale(0.5);
		opacity: 0;
	}
}

@keyframes rotateOut {
	0% { 
		transform: rotate(0deg) scale(1);
		opacity: 1;
	}
	100% { 
		transform: rotate(90deg) scale(0.5);
		opacity: 0;
	}
}

@-webkit-keyframes rotateIn {
	0% { 
		-webkit-transform: rotate(-90deg) scale(0.5); 
		transform: rotate(-90deg) scale(0.5);
		opacity: 0;
	}
	100% { 
		-webkit-transform: rotate(0deg) scale(1); 
		transform: rotate(0deg) scale(1);
		opacity: 1;
	}
}

@keyframes rotateIn {
	0% { 
		transform: rotate(-90deg) scale(0.5);
		opacity: 0;
	}
	100% { 
		transform: rotate(0deg) scale(1);
		opacity: 1;
	}
}

/* Flip переходы */
.owl-flip-out {
	-webkit-animation: flipOut 0.6s both ease;
	animation: flipOut 0.6s both ease;
}

.owl-flip-in {
	-webkit-animation: flipIn 0.6s both ease;
	animation: flipIn 0.6s both ease;
}

@-webkit-keyframes flipOut {
	0% { 
		-webkit-transform: perspective(400px) rotateY(0deg); 
		transform: perspective(400px) rotateY(0deg);
		opacity: 1;
	}
	100% { 
		-webkit-transform: perspective(400px) rotateY(90deg); 
		transform: perspective(400px) rotateY(90deg);
		opacity: 0;
	}
}

@keyframes flipOut {
	0% { 
		transform: perspective(400px) rotateY(0deg);
		opacity: 1;
	}
	100% { 
		transform: perspective(400px) rotateY(90deg);
		opacity: 0;
	}
}

@-webkit-keyframes flipIn {
	0% { 
		-webkit-transform: perspective(400px) rotateY(-90deg); 
		transform: perspective(400px) rotateY(-90deg);
		opacity: 0;
	}
	100% { 
		-webkit-transform: perspective(400px) rotateY(0deg); 
		transform: perspective(400px) rotateY(0deg);
		opacity: 1;
	}
}

@keyframes flipIn {
	0% { 
		transform: perspective(400px) rotateY(-90deg);
		opacity: 0;
	}
	100% { 
		transform: perspective(400px) rotateY(0deg);
		opacity: 1;
	}
}

/* Улучшенная производительность для анимированных элементов */
.owl-item {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

/* Плавность анимации для всех переходов */
.owl-fade-out,
.owl-fade-in,
.owl-backSlide-out,
.owl-backSlide-in,
.owl-goDown-out,
.owl-goDown-in,
.owl-fadeUp-in,
.owl-fadeUp-out,
.owl-slide-out,
.owl-slide-in,
.owl-zoom-out,
.owl-zoom-in,
.owl-rotate-out,
.owl-rotate-in,
.owl-flip-out,
.owl-flip-in {
	will-change: transform, opacity;
}

/* Предотвращение мерцания на некоторых устройствах */
.owl-carousel .owl-item {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

/* Улучшенная совместимость с Bootstrap 5 модальными окнами */
.modal-open .owl-carousel {
	z-index: auto;
}

/* Адаптивность для мобильных устройств */
@media (prefers-reduced-motion: reduce) {
	.owl-fade-out,
	.owl-fade-in,
	.owl-backSlide-out,
	.owl-backSlide-in,
	.owl-goDown-out,
	.owl-goDown-in,
	.owl-fadeUp-in,
	.owl-fadeUp-out,
	.owl-slide-out,
	.owl-slide-in,
	.owl-zoom-out,
	.owl-zoom-in,
	.owl-rotate-out,
	.owl-rotate-in,
	.owl-flip-out,
	.owl-flip-in {
		-webkit-animation: none !important;
		animation: none !important;
		transition: none !important;
	}
}