/* DC_CarouselDE.source.css */

.aos-MoreAbsolute {
	left: 0;
}

/* TASK-282802: scope to the Carousel DE's own wrapper (as every other rule in this file is). The bare .owl-carousel selector leaked into other carousels — e.g. the Event speakers carousel (.aos-de-ac-wrapper) — overriding its avatars to width:auto so they overflowed their slot (no gap between speakers + cropping at higher column counts). */
.aos-carousel-wrapper .owl-carousel .owl-item img.aos-Avatar {
	width: auto;
}

/* TASK-250670: clear preceding in-cell floats (e.g. the DE's own floated aos-FL100 Header Title).
   Without this, Owl's .owl-stage-outer (overflow:hidden = BFC) must avoid the full-width float and
   collapses to width 0 at its right edge, clipping the whole carousel to nothing. */
.aos-carousel-wrapper {
	clear: both;
}

/* TASK-250670: the item border is an inset line painted at the card edge; the first/last visible
   card sits flush against the overflow clip, shaving its outer line. Extend the clip box 1px past
   the content (overflow clips at the padding edge) with a compensating margin - net layout unchanged. */
.aos-carousel-wrapper .owl-stage-outer {
	padding: 1px;
	margin: -1px;
}

.aos-carousel-wrapper .owl-stage {
	display: flex;
	align-content: stretch;
}

.aos-carousel-wrapper .owl-dots {
	text-align: center;
}

.aos-carousel-wrapper .owl-dot {
	display: inline-block;
	cursor: pointer;
}

.aos-carousel-wrapper .owl-carousel .owl-prev {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	height: 100%;
}

.aos-carousel-wrapper .owl-carousel .owl-next {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	height: 100%;
}

.aos-carousel-wrapper .owl-carousel .owl-nav img {
	display: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.aos-carousel-wrapper .owl-carousel .owl-prev > img {
	left: 0;
}

.aos-carousel-wrapper .owl-carousel .owl-next > img {
	right: 0;
}

.aos-carousel-wrapper.ao-imgvcenter .owl-item .aos-carousel-img > a {
	vertical-align: middle;
}

.aos-carousel-wrapper .aos-ArticleTitle {
	overflow-wrap: break-word;
	word-wrap: break-word; /* IE 11 fallback */
}

/* Views icon — display inline alongside count text */
.aos-carousel-views img {
	display: inline;
	width: auto;
}

/* --- Hide FS Arrows at 800px --- */
@media screen and (max-width: 799px) {
	.aos-carousel-wrapper .owl-carousel .owl-nav {
		display: none;
	}
}

/* --- Keyboard focus indicators (WCAG 2.1 SC 2.4.7) --- */
.aos-carousel-wrapper .owl-carousel .owl-prev:focus-visible,
.aos-carousel-wrapper .owl-carousel .owl-next:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 2px;
}

.aos-carousel-wrapper .owl-dot:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 2px;
}
