.carousel-container {
	position: relative;
	width: 100%;
	height: 82vh;
	margin: 0 auto;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
  }

  .carousel {
	display: flex;
	position: relative;
	width: 100%;
	height: 100%;
	justify-content: center;
  }

  .carousel__item-wrap {
	position: absolute;
	width: 92vw;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.5s ease, opacity 0.5s ease;
	opacity: 0;
	transform: scale(0.8);
	object-fit: cover;
	pointer-events: none;
  }

.carousel__item-container {
	position: relative;
	width: 100%;
	height: 100%;
}

  .carousel__item {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
  }

.preview-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;                   /* над видео */
	opacity: 1;                   /* изначально полностью видно */
	transition: opacity 0.8s ease;/* плавное затухание */
	pointer-events: none;         /* клики проходят сквозь картинку */
	object-fit: cover;
}

  .carousel__item-wrap.active {
	transform: scale(1);
	opacity: 1;
	z-index: 3;
	pointer-events: auto;
  }

  .carousel__item-wrap.active .carousel__effect {
	position: absolute;
	bottom: 0;
	left: 0;
	translate: 0 7%;
	width: 100%;
	height: 80%;
	background: linear-gradient(to top, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
	z-index: 3;
  }

  .carousel__item-wrap.active .carousel-content {
	position: absolute;
	bottom: 0;
	left: 0;
	width: fit-content;
	height: 35%;
	z-index: 4;
	padding: 3rem;
  }

  .carousel__item-wrap.active .release-title {
	/* font-size: 2.5rem; */
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: bolder;
	padding: 0;
	margin-top: 0;
	margin-bottom: 5px;
  }

  .carousel__item-wrap.active .release__info-text {
	font-size: 1.1rem;
	font-weight: bold;
	background-color: var(--text-color-emphasis);
	padding: 0 1.5rem;
	clip-path: polygon(20% 0, 100% 0, 80% 100%, 0 100%);
  }

.description__limiter {
	display: none;
}

  .carousel__item-wrap.active .description__limiter {
	margin-top: 1.2rem;
	position: relative;
	width: clamp(21rem, 30vw, 38rem);
	display: block;
  }

  .description__text {
	font-size: clamp(.7rem, 2vw, 1rem);
	color: var(--text-color-primary);
	filter: brightness(.7);
	overflow: hidden; 
	text-overflow: ellipsis;
	display: -webkit-box; 
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
  }

  .carousel__item-wrap.left {
	transform: scale(0.7) translateX(-50vw);
	opacity: 1;
	z-index: 2;
  }

  .carousel__item-wrap.right {
	transform: scale(0.7) translateX(50vw);
	opacity: 1;
	z-index: 2;
  }

  .carousel__item-wrap.left-out {
	transform: scale(0.6) translateX(-60vw);
	/* opacity: 0.5; */
	filter: blur(1rem);
	z-index: 1;
}

.carousel__item-wrap.right-out {
	transform: scale(0.6) translateX(60vw);
	/* opacity: 0.5; */
	filter: blur(1rem);
	z-index: 1;
}
  
  .carousel-button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	border: none;
	background: none;
	cursor: pointer;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 999;
}

  .carousel-button__icon {
	width: 28px;
	height: 54px;
	fill: white;
	transition: all .2s ease-out;
}

.carousel-button__icon:hover {
	fill: var(--text-color-emphasis);
	filter: brightness(1.3);
}

.carousel-button__icon_prev {
	transform: scaleX(-1);
}

.carousel-button__icon_next {
	transform: scaleX(1);
}
  
  .prev {
	left: 10px;
  }
  
  .next {
	right: 10px;
  }
  
  .carousel__item-wrap.active .carousel-progress-bar {
	/* position: absolute; */
	/* bottom: 10px; */
	/* left: 0; */
	margin-bottom: 1rem;

	width: 100%;
	height: 3px;
	/* background-color: rgba(0, 0, 0, 0.5); */
	border-radius: 5px;
	z-index: 4;
  }
  
  .carousel__item-wrap.active .carousel-progress {
	width: 0%;
	height: 100%;
	background-color: var(--text-color-emphasis);
	/* border-radius: 5px; */
	transition: width 0.1s ease-in-out;
	z-index: 4;
  }
  