
.aiz-megabox {
	position: relative;
	cursor: pointer;
	background: #fff;
}



/**
 * Анимации для корзины покупок
 */

/* Анимация появления/исчезновения для элементов */
.fade-out {
	animation: fadeOut 0.3s ease-in-out forwards;
}

.fade-in {
	animation: fadeIn 0.3s ease-in-out forwards;
}

@keyframes fadeOut {
	from {
		opacity: 1;
		transform: translateY(0);
	}

	to {
		opacity: 0;
		transform: translateY(-10px);
		height: 0;
		margin: 0;
		padding: 0;
		overflow: hidden;
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Анимация изменения количества */
.quantity-changed {
	animation: highlight 1s ease-out;
}

@keyframes highlight {
	0% {
		background-color: rgba(255, 220, 40, 0.4);
	}

	100% {
		background-color: transparent;
	}
}

/* Анимация обновления цены */
.price-updated {
	animation: pricePulse 0.5s ease-in-out;
}

@keyframes pricePulse {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.05);
		color: #28a745;
	}

	100% {
		transform: scale(1);
	}
}

/* Анимация полосы прогресса доставки */
.shipping-progress-bar {
	transition: width 0.5s ease-in-out;
}

/* Анимация сообщения благодарности */
.thank-you-container {
	animation: slideDown 0.8s ease-in-out;
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-50px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Анимация ошибки */
.input-error {
	animation: shake 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
	transform: translate3d(0, 0, 0);
}

@keyframes shake {

	10%,
	90% {
		transform: translate3d(-1px, 0, 0);
	}

	20%,
	80% {
		transform: translate3d(2px, 0, 0);
	}

	30%,
	50%,
	70% {
		transform: translate3d(-2px, 0, 0);
	}

	40%,
	60% {
		transform: translate3d(2px, 0, 0);
	}
}

/* Индикатор загрузки */
/* #loading-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	z-index: 9999;
	display: none;
	justify-content: center;
	align-items: center;
	background: linear-gradient(110deg, #f4f4f48c 33%, #ffffffc2 50%, #f4f4f48c 67%);
		background-size: 200% 100%;
		animation: 1.5s shine linear infinite;
}

#loading-overlay .spinner-border.text-primary {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -21px;
	margin-top: -21px;
} */



/* Анимация загрузки */
.btn-loading {
	position: relative;
	pointer-events: none;
}

.btn-loading:after {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	top: calc(50% - 8px);
	left: calc(50% - 8px);
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-left-color: #fff;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

/* Анимация добавления товара в корзину */
.item-added {
	animation: scaleUp 0.5s ease-in-out;
}

@keyframes scaleUp {
	0% {
		transform: scale(0.95);
		opacity: 0.7;
	}

	50% {
		transform: scale(1.02);
	}

	100% {
		transform: scale(1);
		opacity: 1;
	}
}

/* Плавное изменение фона строк */
.list-group-item,
.cart-item-row {
	transition: background-color 0.3s ease-in-out;
}

/* Стиль для обновления количества */
.updating {
	background-color: rgba(240, 240, 240, 0.5);
}

/* Плавное изменение высоты для скрытия удаляемых элементов */
.collapsing-row {
	transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out, padding 0.3s ease-in-out, margin 0.3s ease-in-out;
	max-height: 100px;
	overflow: hidden;
}

.collapsing-row.collapsed {
	max-height: 0;
	opacity: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
	border: none;
}

/* Анимация счетчика корзины */
.badge-danger {
	transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.badge-updated {
	transform: scale(1.2);
	background-color: #ff9800 !important;
}

/* Анимация изменения итоговой суммы */
.total-price {
	transition: color 0.3s ease-in-out;
}

.total-updated {
	color: #28a745;
	font-weight: bold;
}