/* Embla Carousel - Fixed flexbox layout with proper containment */
.embla {
	--slide-spacing: 2rem;
	--slide-size: 33.333%;
	position: relative;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	display: flex;
	align-items: center;
	max-width: 100%;
	overflow: hidden;
}

.embla:active {
	cursor: grabbing;
}

.embla__viewport {
	overflow: hidden;
	flex: 1;
	min-width: 0;
}

.embla__container {
	display: flex;
	touch-action: pan-y pinch-zoom;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.embla__slide {
	transform: translate3d(0, 0, 0);
	flex: 0 0 var(--slide-size);
	min-width: 0;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

/* Navigation Buttons - Updated to simple relative positioning */
.embla__button {
	position: relative;
	width: auto;
	height: auto;
	border: none;
	background: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-orange, #ec691e);
	padding: 0.5rem;
	flex-shrink: 0;
}

.embla__button:hover {
	color: var(--vibrant-color, #007cba);
}

.embla__button:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.embla__button::before {
	content: '';
	display: block;
	width: 12.5px;
	height: 12.5px;
	border-top: 4px solid currentColor;
	border-right: 4px solid currentColor;
}

.embla__button--prev::before {
	transform: rotate(225deg);
	margin-left: 2px;
}

.embla__button--next::before {
	transform: rotate(45deg);
	margin-right: 2px;
}

/* Accessibility */
.embla:focus-visible {
	outline: 2px solid var(--vibrant-color, #007cba);
	outline-offset: 2px;
}

.embla__slide img {
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
} 

/* Hide logo carousel until ready: keep space, fade in */
.hx-block-logo-carousel {
	display: flex; /* match .embla */
	opacity: 0;
	visibility: hidden;
	transition: opacity 300ms ease;
}

.hx-block-logo-carousel.is-ready {
	opacity: 1;
	visibility: visible;
}

/* Hide article carousel until ready: keep space, fade in */
.hx-article-carousel {
	display: flex; /* match .embla */
	opacity: 0;
	visibility: hidden;
	transition: opacity 300ms ease;
}

.hx-article-carousel.is-ready {
	opacity: 1;
	visibility: visible;
}