/* IBE News Slider */
.ibe-ns {
	--ibe-ns-cols: var(--ibe-ns-cols-d, 5);
	position: relative;
	width: 100%;
}

@media (max-width: 1399px) { .ibe-ns { --ibe-ns-cols: var(--ibe-ns-cols-l, 4); } }
@media (max-width: 1024px) { .ibe-ns { --ibe-ns-cols: var(--ibe-ns-cols-t, 2); } }
@media (max-width: 600px)  { .ibe-ns { --ibe-ns-cols: var(--ibe-ns-cols-m, 1); } }

.ibe-ns__viewport {
	overflow: hidden;
}

.ibe-ns__track {
	display: flex;
	align-items: stretch;
	gap: var(--ibe-ns-gap, 30px);
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}
.ibe-ns__track::-webkit-scrollbar { display: none; }
.ibe-ns__track:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

.ibe-ns__item {
	flex: 0 0 calc((100% - (var(--ibe-ns-cols) - 1) * var(--ibe-ns-gap, 30px)) / var(--ibe-ns-cols));
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	scroll-snap-align: start;
	display: flex;
}
.ibe-ns__item::before { display: none !important; } /* Theme-Aufzählungszeichen */

.ibe-ns__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: var(--ibe-ns-card-bg, #f4f4f4);
	padding: var(--ibe-ns-card-pad, 0);
	box-sizing: border-box;
}

.ibe-ns__image {
	display: block;
	aspect-ratio: var(--ibe-ns-ratio, 550/498);
	overflow: hidden;
	background: #e6e6e6;
}
.ibe-ns__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.ibe-ns__card:hover .ibe-ns__image img { transform: scale(1.03); }

/* Weiße Textbox: wächst bis zum Kartenende -> alle Karten gleich hoch */
.ibe-ns__box {
	flex: 1 1 auto;
	min-height: var(--ibe-ns-min-h, 150px);
	background: var(--ibe-ns-box-bg, #fff);
	padding: 20px 24px 24px;
	box-sizing: border-box;
}

.ibe-ns__date {
	display: block;
	margin-bottom: 8px;
	font-size: .9em;
	opacity: .75;
}

.ibe-ns__title {
	margin: 0;
	font-size: 1.15em;
	line-height: 1.35;
	hyphens: auto;
	overflow-wrap: break-word;
}
.ibe-ns__title a { color: inherit; text-decoration: none; }
.ibe-ns__title a:hover { text-decoration: underline; }

.ibe-ns__excerpt { margin: 10px 0 0; }

/* Pfeile – wie im LinkedIn-Feed: runder Button am Rand */
.ibe-ns__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 48px;
	height: 48px;
	margin-top: -24px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #222;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
	cursor: pointer;
	transition: box-shadow .2s ease, transform .2s ease;
}
.ibe-ns__arrow[hidden] { display: none; }
.ibe-ns__arrow:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, .25); }
.ibe-ns__arrow svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.ibe-ns__arrow--prev { left: -24px; }
.ibe-ns__arrow--next { right: -24px; }
@media (max-width: 1024px) {
	.ibe-ns__arrow--prev { left: 8px; }
	.ibe-ns__arrow--next { right: 8px; }
}

/* Punkte */
.ibe-ns__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 30px;
	min-height: 8px;
}
.ibe-ns__dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #c4c4c4;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.ibe-ns__dots button.is-active { background: #222; transform: scale(1.15); }
.ibe-ns__dots:empty { display: none; }

@media (prefers-reduced-motion: reduce) {
	.ibe-ns__track { scroll-behavior: auto; }
	.ibe-ns__image img { transition: none; }
}

/* Pfeile mittig zu den Karten, nicht zum gesamten Block inkl. Punkte */
.ibe-ns:has(.ibe-ns__dots:not(:empty)) .ibe-ns__arrow { top: calc(50% - 19px); }
