.dpi-event-slider {
	position: relative;
}

.dpi-event-slider__swiper {
	overflow: hidden;
}

.dpi-event-slider__swiper .swiper-slide {
	height: auto;
}

.dpi-event-slider__card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	aspect-ratio: 357 / 425;
	overflow: hidden;
	background-color: var(--dpi-dark);
	color: inherit;
	text-decoration: none;
}

/* Elementor Pro can override linked slide cards to inline; keep the card's flex layout in the editor. */
.swiper-slide .dpi-event-slider__card {
	display: flex;
}

.dpi-event-slider__card--image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient( to top, rgb( 0, 0, 0 ) 25%, rgba( 0, 0, 0, 0 ) 75% );
	pointer-events: none;
}

/* Imageless cards use the same deterministic brand palette as the career grids. */
.dpi-event-slider__card.dpi-card--orange {
	background-color: var(--dpi-orange) !important;
	color: var(--dpi-orange-fg) !important;
}

.dpi-event-slider__card.dpi-card--blue {
	background-color: var(--dpi-blue) !important;
	color: var(--dpi-blue-fg) !important;
}

.dpi-event-slider__card.dpi-card--lime {
	background-color: var(--dpi-lime) !important;
	color: var(--dpi-lime-fg) !important;
}

.dpi-event-slider__card.dpi-card--orange .dpi-event-slider__date,
.dpi-event-slider__card.dpi-card--orange .dpi-event-slider__title,
.dpi-event-slider__card.dpi-card--orange .dpi-event-slider__time,
.dpi-event-slider__card.dpi-card--orange .dpi-event-slider__location,
.dpi-event-slider__card.dpi-card--blue .dpi-event-slider__date,
.dpi-event-slider__card.dpi-card--blue .dpi-event-slider__title,
.dpi-event-slider__card.dpi-card--blue .dpi-event-slider__time,
.dpi-event-slider__card.dpi-card--blue .dpi-event-slider__location,
.dpi-event-slider__card.dpi-card--lime .dpi-event-slider__date,
.dpi-event-slider__card.dpi-card--lime .dpi-event-slider__title,
.dpi-event-slider__card.dpi-card--lime .dpi-event-slider__time,
.dpi-event-slider__card.dpi-card--lime .dpi-event-slider__location {
	color: inherit !important;
}

.dpi-event-slider__card.dpi-card--blue .dpi-event-slider__badge,
.dpi-event-slider__card.dpi-card--blue .dpi-event-slider__link {
	background: var(--dpi-orange) !important;
	color: var(--dpi-orange-fg) !important;
}

.dpi-event-slider__card .dpi-event-slider__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dpi-event-slider__badge {
	position: relative;
	z-index: 1;
	align-self: flex-start;
	margin: 16px 0 0 24px;
	padding: 0 8px;
	white-space: nowrap;
	font: 400 10.4px/2.12 "Bricolage Grotesque", sans-serif;
}

@media ( max-width: 1024px ) {
	.dpi-event-slider__badge {
		font-size: 9.4px;
	}
}

@media ( max-width: 767px ) {
	.dpi-event-slider__swiper {
		margin: 0 20px;
	}

	.dpi-event-slider__badge {
		font-size: 8.3px;
	}
}

.dpi-event-slider__content {
	position: relative;
	z-index: 1;
	margin-top: auto;
	padding: 0 24px 24px;
	display: flex;
	flex-direction: column;
}

.dpi-event-slider__row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.dpi-event-slider__date-time {
	display: flex;
	flex-direction: column;
	flex: none;
}

.dpi-event-slider__date,
.dpi-event-slider__title {
	font: 800 30px/1 "Bricolage Grotesque", sans-serif;
}

.dpi-event-slider__date {
	margin: 0;
	white-space: nowrap;
}

.dpi-event-slider__title {
	margin: 0;
	flex: 1 1 auto;
}

.dpi-event-slider__time,
.dpi-event-slider__location {
	font: 700 17px/1.24 "Bricolage Grotesque", sans-serif;
}

.dpi-event-slider__time {
	margin: 4px 0 0;
}

.dpi-event-slider__location {
	margin: 20px 0 0;
}

.dpi-event-slider__link {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 16px;
	padding: 0 15px;
	text-decoration: none;
	font: 600 17px/2.12 "Bricolage Grotesque", sans-serif;
}

@media ( max-width: 1024px ) {
	.dpi-event-slider__date,
	.dpi-event-slider__title {
		font-size: 27.5px;
	}

	.dpi-event-slider__time,
	.dpi-event-slider__location {
		font-size: 16px;
	}

	.dpi-event-slider__link {
		font-size: 15.3px;
	}
}

@media ( max-width: 767px ) {
	.dpi-event-slider__date,
	.dpi-event-slider__title {
		font-size: 25px;
	}

	.dpi-event-slider__time,
	.dpi-event-slider__location {
		font-size: 15px;
	}

	.dpi-event-slider__link {
		font-size: 13.6px;
	}
}

.dpi-event-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: inline-flex;
	transform: translateY( -50% );
	border: 0;
	background: transparent;
	line-height: 1;
	cursor: pointer;
	padding: 4px;
	user-select: none;
}

/* Fallback for --dpi-event-arrow-offset until Elementor's own CSS generates (stale per-post cache). */
.dpi-event-slider__arrow--prev {
	left: var( --dpi-event-arrow-offset, -20px );
}

.dpi-event-slider__arrow--next {
	right: var( --dpi-event-arrow-offset, -20px );
}

.dpi-event-slider__arrow:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.dpi-event-slider__arrow--prev span {
	display: inline-block;
	transform: scaleX( -1 );
}

.dpi-event-slider__arrow.swiper-button-disabled {
	opacity: 0.3;
	cursor: default;
}

/* Nothing to slide to at this breakpoint: hide arrows entirely (class toggled by event-slider.js). */
.dpi-event-slider.is-nav-unneeded .dpi-event-slider__arrow {
	display: none;
}
