.ccc-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
}

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

.ccc-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 400px; /* default */
	text-decoration: none;
	overflow: hidden;
	box-sizing: border-box;
	padding: 30px;
}

/* Fix for Elementor editor empty anchor tags getting height */
.elementor-editor-active .ccc-card {
    display: flex !important;
}

.ccc-bg-layer,
.ccc-overlay-layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	pointer-events: none;
}
.ccc-bg-layer {
	background-size: cover;
	background-position: center;
}
.ccc-overlay-layer {
	z-index: 2;
}

.ccc-card-content {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	width: 100%;
}

/* Alignments */
.ccc-align-top-left .ccc-card { justify-content: flex-start; align-items: flex-start; }
.ccc-align-top-center .ccc-card { justify-content: flex-start; align-items: center; text-align: center; }
.ccc-align-top-right .ccc-card { justify-content: flex-start; align-items: flex-end; text-align: right; }

.ccc-align-center-left .ccc-card { justify-content: center; align-items: flex-start; }
.ccc-align-center .ccc-card { justify-content: center; align-items: center; text-align: center; }
.ccc-align-center-right .ccc-card { justify-content: center; align-items: flex-end; text-align: right; }

.ccc-align-bottom-left .ccc-card { justify-content: flex-end; align-items: flex-start; }
.ccc-align-bottom-center .ccc-card { justify-content: flex-end; align-items: center; text-align: center; }
.ccc-align-bottom-right .ccc-card { justify-content: flex-end; align-items: flex-end; text-align: right; }

.ccc-sub-wrap {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 10px 0;
}
.ccc-align-top-center .ccc-sub-wrap, 
.ccc-align-center .ccc-sub-wrap, 
.ccc-align-bottom-center .ccc-sub-wrap {
	justify-content: center;
}
.ccc-align-top-right .ccc-sub-wrap, 
.ccc-align-center-right .ccc-sub-wrap, 
.ccc-align-bottom-right .ccc-sub-wrap {
	justify-content: flex-end;
}

.ccc-divider {
	display: inline-block;
	background: #fff;
}

/* Navigation outside */
.ccc-nav-container {
	display: flex;
	gap: 10px;
	position: absolute;
	z-index: 5;
}

.ccc-nav-pos-top-left, .ccc-nav-pos-top-right {
	bottom: 100%;
	margin-bottom: 20px;
}
.ccc-nav-pos-bottom-left, .ccc-nav-pos-bottom-right {
	top: 100%;
	margin-top: 20px;
}

.ccc-nav-pos-top-left, .ccc-nav-pos-bottom-left { left: 0; }
.ccc-nav-pos-top-right, .ccc-nav-pos-bottom-right { right: 0; }

.ccc-nav-button {
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background: #333;
	color: #fff;
	border-radius: 50%;
	fill: currentColor;
	z-index: 5;
	pointer-events: auto; /* ensure clickable even if container gets an overlay */
}
.ccc-nav-button.swiper-button-disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.ccc-pagination {
	position: relative;
	margin-top: 20px;
	text-align: center;
}
