/* Avuna Curved Carousel */
.acc{
	--acc-w:420px;          /* gewenste kaartbreedte (Elementor) */
	--acc-maxw:72;          /* max % van de breedte (Elementor) */
	--acc-gap:18px;
	--acc-ratio:0.625;      /* hoogte / breedte, 16:10 */
	--acc-radius:14px;
	--acc-accent:#635BFF;
	--acc-glow:rgba(99,91,255,.28);
	--acc-cw:420px;         /* berekend door JS */
	--acc-ch:262px;         /* berekend door JS */
	position:relative;
	width:100%;
	-webkit-user-select:none;
	user-select:none;
}
.acc *,.acc *::before,.acc *::after{box-sizing:border-box}

/* stage */
.acc-stage{
	position:relative;
	height:calc(var(--acc-ch) + 90px);
	perspective:1400px;
	perspective-origin:50% 50%;
	overflow:hidden;
	cursor:grab;
	touch-action:pan-y;
	outline:none;
}
.acc--fade .acc-stage{
	-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
	        mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
}
.acc-stage.is-dragging{cursor:grabbing}
.acc-stage:focus-visible{box-shadow:inset 0 0 0 2px var(--acc-accent)}
.acc-world{position:absolute;inset:0;transform-style:preserve-3d}

/* kaarten */
.acc-card{
	position:absolute;
	left:50%;top:50%;
	width:var(--acc-cw);
	height:var(--acc-ch);
	margin-left:calc(var(--acc-cw) / -2);
	margin-top:calc(var(--acc-ch) / -2);
	border-radius:var(--acc-radius);
	overflow:hidden;
	background:#f2f2f6;
	border:1px solid rgba(0,0,0,.08);
	transform-style:preserve-3d;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	will-change:transform,opacity;
	visibility:hidden;          /* JS maakt zichtbaar */
}
.acc-card img{
	display:block;
	width:100%;height:100%;
	max-width:none;
	object-fit:cover;
	object-position:top center;
	pointer-events:none;
	-webkit-user-drag:none;
}
.acc-card.is-active{cursor:pointer}
.acc-shade{
	position:absolute;inset:0;pointer-events:none;
	background:linear-gradient(90deg,rgba(0,0,0,var(--acc-sl,0)) 0%,transparent 45%,transparent 55%,rgba(0,0,0,var(--acc-sr,0)) 100%);
}
.acc-glow{
	position:absolute;left:50%;
	top:calc(50% + var(--acc-ch) / 2 - 18px);
	width:calc(var(--acc-cw) * .95);
	height:70px;
	transform:translateX(-50%);
	background:radial-gradient(ellipse at center,var(--acc-glow),transparent 70%);
	filter:blur(8px);
	pointer-events:none;
}

/* balk onder de carousel */
.acc-bar{
	display:grid;
	grid-template-columns:1fr auto 1fr;
	align-items:center;
	gap:16px;
	max-width:1100px;
	margin:10px auto 0;
	padding:0 24px;
}
.acc-bar--noarrows{grid-template-columns:1fr}
.acc-arrow{
	width:52px;height:52px;padding:0;
	border-radius:50%;
	border:1px solid #e6e6ee;
	background:#fff;
	color:#0d0d12;
	display:grid;place-items:center;
	cursor:pointer;
	transition:border-color .2s,color .2s,background-color .2s,transform .2s;
}
.acc-arrow svg{width:22px;height:22px}
.acc-arrow:hover{border-color:var(--acc-accent);color:var(--acc-accent)}
.acc-arrow:active{transform:scale(.94)}
.acc-arrow:focus-visible,.acc-link:focus-visible,.acc-dot:focus-visible{outline:2px solid var(--acc-accent);outline-offset:3px}
.acc-arrow--prev{justify-self:start}
.acc-arrow--next{justify-self:end}

.acc-info{text-align:center;min-width:240px;min-height:110px}
.acc-info-inner{transition:opacity .25s ease,transform .25s ease}
.acc-info-inner.is-out{opacity:0;transform:translateY(8px)}
.acc-name{
	margin:0;
	font-size:clamp(22px,2.4vw,28px);
	font-weight:600;
	line-height:1.2;
	letter-spacing:-.015em;
	color:#0d0d12;
}
.acc-type{
	display:inline-block;
	margin-top:8px;
	padding:4px 12px;
	border-radius:999px;
	background:#eceaff;
	color:var(--acc-accent);
	font-size:13px;
	font-weight:500;
	line-height:1.4;
}
.acc-type:empty{display:none}
.acc-btn-wrap{margin-top:16px}
.acc-link{
	display:inline-flex;align-items:center;gap:6px;
	padding-bottom:3px;
	border-bottom:1.5px solid currentColor;
	color:#0d0d12;
	font-size:15px;font-weight:600;
	text-decoration:none;
	transition:color .2s,gap .2s;
}
.acc-link:hover{color:var(--acc-accent);gap:9px}
.acc-link svg{width:14px;height:14px}

.acc-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:22px}
.acc-dot{
	width:8px;height:8px;padding:0;
	border:0;border-radius:999px;
	background:#e6e6ee;
	cursor:pointer;
	transition:width .3s,background-color .3s;
}
.acc-dot.is-on{width:26px;background:var(--acc-accent)}

@media (max-width:767px){
	.acc-bar{grid-template-columns:auto 1fr auto;gap:8px;padding:0 12px}
	.acc-bar--noarrows{grid-template-columns:1fr}
	.acc-info{min-width:0}
	.acc-arrow{width:44px;height:44px}
	.acc-stage{height:calc(var(--acc-ch) + 60px)}
}
@media (prefers-reduced-motion:reduce){
	.acc-info-inner,.acc-dot,.acc-link,.acc-arrow{transition:none}
}
.acc--no-underline .acc-link{border-bottom-color:transparent}
