.evbc-carousel {
	position: relative;
	width: 100%;
	min-height: 160px;
	overflow: hidden;
	background: #111;
}

.evbc-track {
	display: flex;
	width: 100%;
	height: 100%;
	transition-property: transform;
	transition-timing-function: ease;
	will-change: transform;
}

.evbc-slide {
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.evbc-slide::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: transparent;
	content: "";
	pointer-events: none;
}

.evbc-slide-link,
.evbc-slide video,
.evbc-slide img {
	display: block;
	width: 100%;
	height: 100%;
}

.evbc-slide-link {
	position: relative;
	color: inherit;
	text-decoration: none;
}

.evbc-slide video,
.evbc-slide img {
	position: relative;
	z-index: 0;
	background: #111;
	object-fit: cover;
}

.evbc-slide img {
	transform: scale(1);
	transform-origin: center center;
}

.evbc-carousel.has-image-zoom .evbc-slide.is-active .evbc-image {
	animation: evbc-soft-image-zoom var(--evbc-image-zoom-duration, 7000ms) ease-out both;
}

@keyframes evbc-soft-image-zoom {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(var(--evbc-image-zoom-scale, 1.08));
	}
}

.evbc-content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 48px 64px;
	pointer-events: none;
}

.evbc-content-inner {
	width: 100%;
	max-width: 70%;
	text-align: left;
}

.evbc-title {
	margin: 0;
	color: #fff;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.08;
}

.evbc-description {
	margin-top: 14px;
	color: #fff;
	font-size: 18px;
	line-height: 1.5;
}

.evbc-description p {
	margin: 0;
}

.evbc-carousel.has-text-effect .evbc-title,
.evbc-carousel.has-text-effect .evbc-description {
	opacity: 0;
}

.evbc-carousel.text-effect-fade_in .evbc-slide.is-active .evbc-title,
.evbc-carousel.text-effect-fade_in .evbc-slide.is-active .evbc-description {
	animation: evbc-text-fade-in var(--evbc-text-animation-duration, 900ms) ease both;
	animation-delay: var(--evbc-text-animation-delay, 150ms);
}

.evbc-carousel.text-effect-fade_up .evbc-slide.is-active .evbc-title,
.evbc-carousel.text-effect-fade_up .evbc-slide.is-active .evbc-description {
	animation: evbc-text-fade-up var(--evbc-text-animation-duration, 900ms) ease both;
	animation-delay: var(--evbc-text-animation-delay, 150ms);
}

.evbc-carousel.text-effect-fade_in .evbc-slide.is-active .evbc-description,
.evbc-carousel.text-effect-fade_up .evbc-slide.is-active .evbc-description {
	animation-delay: calc(var(--evbc-text-animation-delay, 150ms) + 180ms);
}

.evbc-letter {
	display: inline-block;
	opacity: 0;
	transform: translateY(0.35em);
}

.evbc-carousel.text-effect-letter_fade .evbc-title,
.evbc-carousel.text-effect-letter_fade .evbc-description {
	opacity: 1;
}

.evbc-carousel.text-effect-letter_fade .evbc-slide.is-active .evbc-letter {
	animation: evbc-letter-fade var(--evbc-text-animation-duration, 900ms) ease both;
	animation-delay: calc(var(--evbc-text-animation-delay, 150ms) + (var(--evbc-letter-index) * var(--evbc-letter-stagger, 35ms)));
}

@keyframes evbc-text-fade-in {
	from {
		opacity: 0;
		filter: blur(8px);
	}

	to {
		opacity: 1;
		filter: blur(0);
	}
}

@keyframes evbc-text-fade-up {
	from {
		opacity: 0;
		transform: translateY(24px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes evbc-letter-fade {
	from {
		opacity: 0;
		transform: translateY(0.35em);
		filter: blur(4px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0);
	}
}

.evbc-arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid #fff;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.28);
	color: #fff;
	font-size: 34px;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
	transition: background-color 160ms ease, opacity 160ms ease;
}

.evbc-arrow:hover,
.evbc-arrow:focus {
	background: rgba(0, 0, 0, 0.5);
	outline: none;
}

.evbc-arrow-prev {
	left: 18px;
}

.evbc-arrow-next {
	right: 18px;
}

.evbc-dots {
	position: absolute;
	right: 0;
	bottom: 18px;
	left: 0;
	z-index: 3;
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	padding: 0 18px;
	pointer-events: none;
}

.evbc-dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	opacity: 0.45;
	pointer-events: auto;
	transition: opacity 160ms ease, transform 160ms ease;
}

.evbc-dot.is-active {
	opacity: 1;
	transform: scale(1.25);
}

.evbc-empty {
	padding: 28px;
	border: 1px dashed #b7b7b7;
	background: #f7f7f7;
	color: #333;
	text-align: center;
}

@media (max-width: 767px) {
	.evbc-carousel[class*="mobile-layout-"] {
		height: auto !important;
		min-height: 0;
		overflow: hidden;
	}

	.evbc-carousel[class*="mobile-layout-"] .evbc-track {
		align-items: stretch;
		height: auto;
	}

	.evbc-carousel[class*="mobile-layout-"] .evbc-slide,
	.evbc-carousel[class*="mobile-layout-"] .evbc-slide-link {
		height: auto;
		min-height: 0;
	}

	.evbc-carousel[class*="mobile-layout-"] .evbc-slide {
		background: transparent;
	}

	.evbc-carousel[class*="mobile-layout-"] .evbc-slide-link {
		display: flex;
	}

	.evbc-carousel[class*="mobile-layout-"] .evbc-content {
		position: relative;
		inset: auto;
		width: 100%;
		min-height: 0;
		padding: var(--evbc-mobile-text-padding, 24px);
		background: var(--evbc-mobile-text-background, transparent);
		pointer-events: none;
	}

	.evbc-carousel[class*="mobile-layout-"] .evbc-content-inner {
		max-width: 100%;
	}

	.evbc-carousel[class*="mobile-layout-"] .evbc-slide::after {
		display: none;
	}

	.evbc-carousel.mobile-layout-media_top .evbc-slide,
	.evbc-carousel.mobile-layout-media_top .evbc-slide-link,
	.evbc-carousel.mobile-layout-text_top .evbc-slide,
	.evbc-carousel.mobile-layout-text_top .evbc-slide-link {
		flex-direction: column;
	}

	.evbc-carousel.mobile-layout-text_top .evbc-slide-link,
	.evbc-carousel.mobile-layout-text_top .evbc-slide {
		flex-direction: column-reverse;
	}

	.evbc-carousel.mobile-layout-media_top .evbc-slide video,
	.evbc-carousel.mobile-layout-media_top .evbc-slide img,
	.evbc-carousel.mobile-layout-text_top .evbc-slide video,
	.evbc-carousel.mobile-layout-text_top .evbc-slide img {
		height: var(--evbc-mobile-media-height, 260px);
	}

	.evbc-carousel.mobile-layout-media_left .evbc-slide,
	.evbc-carousel.mobile-layout-media_left .evbc-slide-link,
	.evbc-carousel.mobile-layout-media_right .evbc-slide,
	.evbc-carousel.mobile-layout-media_right .evbc-slide-link {
		flex-direction: row;
	}

	.evbc-carousel.mobile-layout-media_right .evbc-slide-link,
	.evbc-carousel.mobile-layout-media_right .evbc-slide {
		flex-direction: row-reverse;
	}

	.evbc-carousel.mobile-layout-media_left .evbc-slide video,
	.evbc-carousel.mobile-layout-media_left .evbc-slide img,
	.evbc-carousel.mobile-layout-media_right .evbc-slide video,
	.evbc-carousel.mobile-layout-media_right .evbc-slide img {
		flex: 0 0 var(--evbc-mobile-side-media-width, 50%);
		width: var(--evbc-mobile-side-media-width, 50%);
		height: var(--evbc-mobile-media-height, 260px);
	}

	.evbc-carousel.mobile-layout-media_left .evbc-content,
	.evbc-carousel.mobile-layout-media_right .evbc-content {
		flex: 1 1 auto;
		width: calc(100% - var(--evbc-mobile-side-media-width, 50%));
	}

	.evbc-arrow {
		width: 36px;
		height: 36px;
		font-size: 28px;
	}

	.evbc-arrow-prev {
		left: 10px;
	}

	.evbc-arrow-next {
		right: 10px;
	}

	.evbc-dots {
		bottom: 12px;
	}

	.evbc-content {
		padding: 28px 24px;
	}

	.evbc-content-inner {
		max-width: 100%;
	}

	.evbc-title {
		font-size: 30px;
	}

	.evbc-description {
		font-size: 15px;
	}
}

/* Separate CTA layer keeps banner links and button links independent. */
.evbc-button-layer {
 position: absolute;
 inset: 0;
 z-index: 2;
 display: flex;
 padding: 60px 72px;
 pointer-events: none;
}
.evbc-button-top-left, .evbc-button-top-center, .evbc-button-top-right { align-items: flex-start; }
.evbc-button-middle-left, .evbc-button-middle-center, .evbc-button-middle-right { align-items: center; }
.evbc-button-bottom-left, .evbc-button-bottom-center, .evbc-button-bottom-right { align-items: flex-end; }
.evbc-button-top-left, .evbc-button-middle-left, .evbc-button-bottom-left { justify-content: flex-start; }
.evbc-button-top-center, .evbc-button-middle-center, .evbc-button-bottom-center { justify-content: center; }
.evbc-button-top-right, .evbc-button-middle-right, .evbc-button-bottom-right { justify-content: flex-end; }
.evbc-carousel .evbc-button {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-height: 44px;
 max-width: 100%;
 box-sizing: border-box;
 padding: 12px 24px;
 border: 1px solid transparent;
 border-radius: 4px;
 background: #fff;
 color: #111;
 font-size: 16px;
 font-weight: 600;
 line-height: 1.4;
 text-align: center;
 text-decoration: none;
 overflow-wrap: anywhere;
 pointer-events: auto;
 transition: background-color 160ms ease, color 160ms ease;
}
.evbc-carousel .evbc-button:hover { background: #111; color: #fff; border-color: #fff; }
.evbc-carousel .evbc-button:focus-visible, .evbc-carousel .evbc-arrow:focus-visible {
 outline: 3px solid #fff;
 outline-offset: 3px;
 box-shadow: 0 0 0 6px #111;
}
.evbc-carousel .evbc-arrow { z-index: 4; box-sizing: border-box; }
.evbc-arrow svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; }
@media (max-width: 767px) {
 .evbc-button-layer { padding: 48px 52px; }
 .evbc-carousel .evbc-button { padding: 10px 16px; font-size: 14px; }
}

/* Isolate navigation from theme-wide button and SVG rules. */
.evbc-shell { position: relative; width: 100%; }
.evbc-shell .evbc-carousel button.evbc-arrow {
 appearance: none !important; display: flex !important; position: absolute !important;
 align-items: center !important; justify-content: center !important;
 top: 50% !important; bottom: auto !important; z-index: 10 !important;
 width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
 padding: 0 !important; margin: 0 !important; border: 1px solid #fff !important;
 border-radius: 50% !important; background: rgba(0,0,0,.6) !important;
 color: #fff !important; opacity: 1 !important; visibility: visible !important;
 transform: translateY(-50%) !important; cursor: pointer;
 box-shadow: 0 2px 8px #0004 !important;
}
.evbc-shell .evbc-carousel button.evbc-arrow-prev { left: 12px !important; right: auto !important; }
.evbc-shell .evbc-carousel button.evbc-arrow-next { right: 12px !important; left: auto !important; }
.evbc-shell button.evbc-arrow svg {
 display: block !important; width: 24px !important; height: 24px !important;
 opacity: 1 !important; visibility: visible !important; fill: none !important; stroke: #fff !important;
}
.evbc-shell button.evbc-arrow svg path { fill: none !important; stroke: #fff !important; stroke-width: 2 !important; }
.evbc-shell button.evbc-arrow::before, .evbc-shell button.evbc-arrow::after,
.evbc-shell button.evbc-dot::before, .evbc-shell button.evbc-dot::after { content: none !important; display: none !important; }
.evbc-shell > .evbc-dots {
 position: relative; inset: auto; display: flex; gap: 10px; min-height: 34px;
 align-items: center; justify-content: center; padding: 12px 0; margin: 0;
 background: transparent; pointer-events: auto;
}
.evbc-shell > .evbc-dots > button.evbc-dot {
 appearance: none !important; display: block !important; flex: 0 0 10px !important;
 width: 10px !important; height: 10px !important; min-width: 10px !important; min-height: 10px !important;
 max-width: 10px !important; max-height: 10px !important; padding: 0 !important; margin: 0 !important;
 border: 0 !important; border-radius: 50% !important; background: #b8b8b8 !important;
 box-shadow: none !important; opacity: 1 !important; transform: none !important; cursor: pointer;
}
.evbc-shell > .evbc-dots > button.evbc-dot.is-active { background: #333 !important; }
.evbc-shell button.evbc-dot:focus-visible { outline: 2px solid #333; outline-offset: 3px; }
.evbc-button-layer.evbc-button-custom { display: block; padding: 0; }
.evbc-button-custom .evbc-button {
 position: absolute; left: var(--evbc-button-x, 50%); top: var(--evbc-button-y, 80%);
 transform: translate(calc(-1 * var(--evbc-button-x, 50%)), calc(-1 * var(--evbc-button-y, 80%)));
}

/* Mobile artwork is optional and shares existing media sizing/layout controls. */
.evbc-shell .evbc-slide .evbc-mobile-media { display: none !important; }
@media (max-width: 767px) {
 .evbc-shell .evbc-slide.has-mobile-image .evbc-desktop-media { display: none !important; }
 .evbc-shell .evbc-slide.has-mobile-image .evbc-mobile-media { display: block !important; }
}

@media (max-width: 767px) {
 .evbc-shell .evbc-carousel .evbc-slide.has-mobile-image img.evbc-mobile-media {
  width: var(--evbc-custom-mobile-width, 100%);
  height: var(--evbc-custom-mobile-height, 100%);
  object-fit: var(--evbc-custom-mobile-fit, cover);
  max-width: 100%;
  margin-inline: auto;
 }
 .evbc-shell .evbc-carousel[class*="mobile-layout-"] .evbc-slide.has-mobile-image img.evbc-mobile-media {
  height: var(--evbc-custom-mobile-height, var(--evbc-mobile-media-height, 260px));
 }
 .evbc-shell .evbc-carousel.mobile-layout-media_left .evbc-slide.has-mobile-image img.evbc-mobile-media,
 .evbc-shell .evbc-carousel.mobile-layout-media_right .evbc-slide.has-mobile-image img.evbc-mobile-media {
  width: var(--evbc-custom-mobile-width, var(--evbc-mobile-side-media-width, 50%));
  flex-basis: var(--evbc-custom-mobile-width, var(--evbc-mobile-side-media-width, 50%));
 }
 .evbc-shell .evbc-carousel.mobile-layout-media_left .evbc-slide.has-mobile-image .evbc-content,
 .evbc-shell .evbc-carousel.mobile-layout-media_right .evbc-slide.has-mobile-image .evbc-content {
  width: calc(100% - var(--evbc-custom-mobile-width, var(--evbc-mobile-side-media-width, 50%)));
  min-width: 0;
 }
}

/* Size the mobile viewport to the active slide, not the tallest slide. */
@media (max-width: 767px) {
 .evbc-shell .evbc-carousel.evbc-auto-mobile-height {
  height: var(--evbc-active-height, auto) !important;
  min-height: 0;
 }
 .evbc-shell .evbc-carousel.evbc-auto-mobile-height .evbc-track {
  height: auto; align-items: flex-start;
 }
 .evbc-shell .evbc-carousel.evbc-auto-mobile-height .evbc-slide.has-mobile-image,
 .evbc-shell .evbc-carousel.evbc-auto-mobile-height .evbc-slide.has-mobile-image .evbc-slide-link {
  height: auto; min-height: 0;
 }
 .evbc-shell .evbc-carousel.evbc-auto-mobile-height:not([class*="mobile-layout-"]) .evbc-slide.has-mobile-image img.evbc-mobile-media {
  height: var(--evbc-custom-mobile-height, auto);
 }
}
