.lew-project-carousel { position: relative; margin: var(--lew-space-6) 0; overflow: hidden; }
.lew-project-carousel .swiper-wrapper { display: flex; gap: var(--lew-space-6); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.lew-project-carousel .swiper-wrapper::-webkit-scrollbar { display: none; }
.lew-project-carousel .swiper-slide { flex: 0 0 calc((100% - (3 * var(--lew-space-6))) / 4); scroll-snap-align: start; }
.lew-project-carousel[data-slides="1"] .swiper-slide { flex-basis: 100%; }
.lew-project-carousel[data-slides="2"] .swiper-slide { flex-basis: calc((100% - var(--lew-space-6)) / 2); }
.lew-project-carousel[data-slides="3"] .swiper-slide { flex-basis: calc((100% - (2 * var(--lew-space-6))) / 3); }

.lew-swiper-prev, .lew-swiper-next {
	position: absolute; top: 40%; transform: translateY(-50%); z-index: 3; width: 44px; height: 44px; border-radius: 50%;
	background: var(--lew-color-bg); box-shadow: var(--lew-shadow-md); display: flex; align-items: center; justify-content: center;
	cursor: pointer; font-size: 1.2rem; color: var(--lew-color-text); transition: background .2s ease, color .2s ease;
}
.lew-swiper-prev:hover, .lew-swiper-next:hover { background: var(--lew-color-primary); color: #fff; }
.lew-swiper-prev { left: 0; }
.lew-swiper-next { right: 0; }
.lew-swiper-pagination { display: flex; justify-content: center; gap: 8px; margin-top: var(--lew-space-4); }

@media (max-width: 1024px) { .lew-project-carousel .swiper-slide { flex-basis: calc((100% - var(--lew-space-6)) / 2) !important; } }
@media (max-width: 767px)  { .lew-project-carousel .swiper-slide { flex-basis: 88% !important; } }
