/* Créatiic Carrousel pour Divi — v1.0.2 */
.ccar {
	--ccar-n-d: 3; --ccar-n-t: 2; --ccar-n-p: 1;
	--ccar-gap: 16px; --ccar-h: 120px; --ccar-pad: 16px; --ccar-radius: 12px;
	--ccar-bg: #fff; --ccar-accent: #1C5C73; --ccar-fit: contain;
	--ccar-n: var(--ccar-n-d);
	position: relative;
	width: 100%;
}
@media (max-width: 980px) { .ccar { --ccar-n: var(--ccar-n-t); } }
@media (max-width: 767px) { .ccar { --ccar-n: var(--ccar-n-p); } }

.ccar-viewport { position: relative; overflow: hidden; }

.ccar-track {
	display: flex;
	/* Espacement par marges intérieures des éléments (calculs sans soustraction : résistant à la minification). */
	margin: 0 calc(var(--ccar-gap) * -0.5);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	outline-offset: 4px;
}
.ccar-track::-webkit-scrollbar { display: none; }

.ccar-track > * {
	flex: 0 0 calc(100% / var(--ccar-n));
	box-sizing: border-box;
	padding: 0 calc(var(--ccar-gap) * 0.5);
	min-width: 0;
	scroll-snap-align: start;
}
.ccar-slide { width: 100%; }

.ccar-card {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: calc(var(--ccar-h) + 2 * var(--ccar-pad));
	padding: var(--ccar-pad);
	background: var(--ccar-bg);
	border-radius: var(--ccar-radius);
	overflow: hidden;
}
.ccar-card a { display: block; width: 100%; height: 100%; }
.ccar-card img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: var(--ccar-fit);
	user-select: none;
	-webkit-user-drag: none;
}

/* Flèches */
.ccar-arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 40px; height: 40px;
	margin: -20px 0 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--ccar-accent);
	color: #fff;
	font-size: 0;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0,0,0,.2);
	transition: opacity .2s, transform .2s;
}
.ccar-arrow::before {
	content: "";
	position: absolute; top: 50%; left: 50%;
	width: 10px; height: 10px;
	border: solid currentColor;
	border-width: 0 2px 2px 0;
}
.ccar-prev { left: 8px; }
.ccar-next { right: 8px; }
.ccar-prev::before { transform: translate(-30%, -50%) rotate(135deg); }
.ccar-next::before { transform: translate(-70%, -50%) rotate(-45deg); }
.ccar-arrow:hover { transform: scale(1.08); }
.ccar-arrow:focus-visible, .ccar-dot:focus-visible { outline: 2px solid var(--ccar-accent); outline-offset: 3px; }
.ccar-arrow[disabled] { opacity: .35; cursor: default; transform: none; }

/* Points */
.ccar-dots {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}
.ccar-dot {
	width: 10px; height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--ccar-accent);
	opacity: .3;
	cursor: pointer;
	transition: opacity .2s, transform .2s;
}
.ccar-dot[aria-current="true"] { opacity: 1; transform: scale(1.25); }

.ccar--static .ccar-arrow, .ccar--static .ccar-dots { display: none; }

@media (prefers-reduced-motion: reduce) {
	.ccar-arrow, .ccar-dot { transition: none; }
}

/* Aperçu dans le Visual Builder */
.ccar-vb .ccar-track { overflow-x: auto; }
.ccar-ph {
	color: #8a94a0; font: 14px/1.3 sans-serif; text-align: center;
}
