/* Midnight Radiance Media Library image triptych. */
.dc-ac-event-strip,
.dc-ac-event-strip *,
.dc-ac-event-strip *::before,
.dc-ac-event-strip *::after { box-sizing: border-box; }

/*
 * The shortcode lives in a dedicated Divi Code module. Divi constrains the
 * module to its row and gives the enclosing section its own pale surface and
 * vertical spacing. Let this component own that dedicated section so the
 * Midnight Radiance treatment reaches both viewport edges without widening
 * the document or changing any other Divi section.
 */
.et_pb_section:has(> .et_pb_row > .et_pb_column > .dc-service-image-strip-module) {
	padding-block: 0 !important;
	background:
		radial-gradient(ellipse 44% 75% at 9% 80%, rgba(46, 115, 232, .32), transparent 75%),
		radial-gradient(ellipse 40% 75% at 92% 11%, rgba(19, 91, 218, .38), transparent 75%),
		linear-gradient(116deg, #0A1D47 0%, #135BDA 52%, #0A1D47 100%) !important;
}
.et_pb_section:has(> .et_pb_row > .et_pb_column > .dc-service-image-strip-module) > .et_pb_row > .et_pb_column:has(> .dc-service-image-strip-module) {
	width: 100%;
	margin-right: 0;
}
.et_pb_section:has(> .et_pb_row > .et_pb_column > .dc-service-image-strip-module) .dc-ac-event-strip {
	background: transparent;
}
.dc-ac-event-strip {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	padding: clamp(64px, 7vw, 96px) 0;
	color: inherit;
	background:
		radial-gradient(ellipse 44% 75% at 9% 80%, rgba(46, 115, 232, .32), transparent 75%),
		radial-gradient(ellipse 40% 75% at 92% 11%, rgba(19, 91, 218, .38), transparent 75%),
		linear-gradient(116deg, #0A1D47 0%, #135BDA 52%, #0A1D47 100%);
}
.dc-ac-event-strip::before {
	content: '';
	position: absolute;
	z-index: 0;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(151deg, transparent 0 31%, rgba(234, 242, 255, .09) 31.15%, transparent 31.4% 100%),
		linear-gradient(25deg, transparent 0 75%, rgba(234, 242, 255, .12) 75.12%, transparent 75.35% 100%);
}
.dc-ac-event-strip::after {
	content: '';
	position: absolute;
	z-index: 0;
	top: 16%;
	right: -5%;
	width: 31%;
	height: 80%;
	transform: skewX(-28deg);
	border-left: 1px solid rgba(234, 242, 255, .21);
	background: linear-gradient(90deg, rgba(234, 242, 255, .055), transparent 58%);
	pointer-events: none;
}
.dc-ac-event-strip__glow {
	position: absolute;
	z-index: 0;
	top: -17%;
	left: 41%;
	width: 22%;
	aspect-ratio: 1;
	background: radial-gradient(circle, rgba(216, 166, 58, .25) 0%, rgba(216, 166, 58, .08) 38%, rgba(216, 166, 58, 0) 72%);
	pointer-events: none;
}
.dc-ac-event-strip__arc {
	position: absolute;
	z-index: 0;
	bottom: -145px;
	left: -120px;
	width: 390px;
	height: 260px;
	border: 1px solid rgba(234, 242, 255, .15);
	border-radius: 50%;
	transform: rotate(-19deg);
	pointer-events: none;
}
.dc-ac-event-strip__spark {
	position: absolute;
	z-index: 1;
	width: 24px;
	height: 24px;
	background: #D8A63A;
	clip-path: polygon(50% 0, 59% 41%, 100% 50%, 59% 59%, 50% 100%, 41% 59%, 0 50%, 41% 41%);
	filter: drop-shadow(0 0 9px rgba(216, 166, 58, .45));
	pointer-events: none;
}
.dc-ac-event-strip__spark--one { top: 17%; right: 5%; }
.dc-ac-event-strip__spark--two { bottom: 16%; left: 4%; width: 12px; height: 12px; background: #EAF2FF; }
.dc-ac-event-strip__list { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2vw, 24px); width: min(calc(100% - 80px), 1280px); margin: 0 auto; padding: 0; list-style: none !important; }
.dc-ac-event-strip__item { min-width: 0; list-style: none !important; }
.dc-ac-event-strip__item::marker { content: ''; }
.dc-ac-event-strip__figure { aspect-ratio: 1672 / 941; margin: 0; overflow: hidden; border: 1px solid rgba(234, 242, 255, .44); border-radius: 16px; background: #EAF2FF; box-shadow: 0 18px 48px rgba(10, 29, 71, .32), 0 0 0 5px rgba(234, 242, 255, .055); }
.dc-ac-event-strip__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.dc-ac-event-strip__controls { display: none; }
@media (max-width: 980px) {
	.dc-ac-event-strip { padding: 64px 0; }
	.dc-ac-event-strip__spark--one { top: 5%; right: 4%; }
	.dc-ac-event-strip__list {
		display: flex;
		gap: 16px;
		width: min(calc(100% - 64px), 900px);
		padding: 0 0 12px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 1px;
		-webkit-overflow-scrolling: touch;
		scrollbar-color: rgba(234, 242, 255, .72) rgba(10, 29, 71, .18);
		scrollbar-width: thin;
	}
	.dc-ac-event-strip__list:focus-visible { outline: 3px solid #D8A63A; outline-offset: 4px; }
	.dc-ac-event-strip__list::-webkit-scrollbar { height: 8px; }
	.dc-ac-event-strip__list::-webkit-scrollbar-track { background: rgba(10, 29, 71, .18); border-radius: 999px; }
	.dc-ac-event-strip__list::-webkit-scrollbar-thumb { background: rgba(234, 242, 255, .72); border-radius: 999px; }
	.dc-ac-event-strip__item { flex: 0 0 calc((100% - 16px) / 2.16); scroll-snap-align: start; scroll-snap-stop: always; }
	.dc-ac-event-strip__controls { position: relative; z-index: 2; display: flex; justify-content: flex-end; gap: 8px; width: min(calc(100% - 64px), 900px); margin: 12px auto 0; }
	.dc-ac-event-strip__controls[hidden] { display: none; }
	.dc-ac-event-strip__control { position: relative; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(234, 242, 255, .72); border-radius: 50%; color: #0A1D47; background: rgba(234, 242, 255, .94); cursor: pointer; transition: background-color 160ms ease, border-color 160ms ease, opacity 160ms ease; }
	.dc-ac-event-strip__control::before { content: ''; display: block; width: 9px; height: 9px; margin: 0 auto; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(135deg); }
	.dc-ac-event-strip__control--next::before { transform: rotate(-45deg); }
	.dc-ac-event-strip__control:hover:not(:disabled) { border-color: #D8A63A; background: #FFFFFF; }
	.dc-ac-event-strip__control:focus-visible { outline: 3px solid #D8A63A; outline-offset: 3px; }
	.dc-ac-event-strip__control:disabled { cursor: default; opacity: .42; }
}
@media (max-width: 767px) {
	.dc-ac-event-strip { padding: 48px 0; }
	.dc-ac-event-strip__glow { left: 48%; width: 48%; }
	.dc-ac-event-strip__arc { left: -220px; }
	.dc-ac-event-strip__spark--one { top: 2%; right: 7%; width: 17px; height: 17px; }
	.dc-ac-event-strip__spark--two { bottom: 1.5%; left: 8%; }
	.dc-ac-event-strip__list { width: calc(100% - 40px); }
	.dc-ac-event-strip__item { flex-basis: 80%; }
	.dc-ac-event-strip__controls { width: calc(100% - 40px); }
}
@media (max-width: 360px) { .dc-ac-event-strip__list, .dc-ac-event-strip__controls { width: calc(100% - 32px); } }
@media (prefers-reduced-motion: reduce) { .dc-ac-event-strip__list { scroll-behavior: auto; } .dc-ac-event-strip__control { transition: none; } }
