.cce-carousel-wrapper {
	position: relative;
	width: 100%;
}

.cce-swiper {
	width: 100%;
	overflow: hidden;
}

.cce-card {
	background: #ffffff;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.cce-card-image-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin-bottom: 20px;
}

.cce-card-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cce-card-title {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 12px 0;
	line-height: 1.3;
}

.cce-card-divider {
	width: 100%;
	height: 1px;
	background-color: #e5e7eb;
	margin-bottom: 16px;
}

.cce-card-text {
	font-size: 15px;
	line-height: 1.6;
	margin: 0 0 16px 0;
	flex-grow: 1;
}

.cce-card-link {
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: gap 0.2s ease;
}

.cce-card-link:hover {
	gap: 14px;
}

.cce-arrow {
	display: inline-block;
}

/* Frecce navigazione */
.cce-nav-prev,
.cce-nav-next {
	position: absolute;
	top: -70px;
	width: 48px;
	height: 48px;
	border-radius: 8px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	transition: opacity 0.2s ease;
}

.cce-nav-prev {
	right: 68px;
}

.cce-nav-next {
	right: 0;
}

.cce-nav-prev:after,
.cce-nav-next:after {
	font-family: 'swiper-icons';
	font-size: 18px;
}

.cce-nav-prev:after {
	content: 'prev';
}

.cce-nav-next:after {
	content: 'next';
}

.cce-nav-prev.swiper-button-disabled,
.cce-nav-next.swiper-button-disabled {
	opacity: 0.35;
	cursor: default;
}

/* Pallini */
.cce-swiper .swiper-pagination {
	position: relative;
	margin-top: 24px;
}

@media (max-width: 767px) {
	.cce-nav-prev,
	.cce-nav-next {
		top: auto;
		bottom: -50px;
	}
	.cce-nav-prev {
		right: 68px;
		left: auto;
	}
}

/* ============ MODALITÀ GRIGLIA ============ */
.cce-grid-wrapper {
	display: grid;
	grid-template-columns: repeat(var(--cce-cols-desktop, 3), 1fr);
	gap: var(--cce-gap, 24px);
	width: 100%;
}

@media (max-width: 1024px) {
	.cce-grid-wrapper {
		grid-template-columns: repeat(var(--cce-cols-tablet, 2), 1fr);
	}
}

@media (max-width: 767px) {
	.cce-grid-wrapper {
		grid-template-columns: repeat(var(--cce-cols-mobile, 1), 1fr);
	}
}