/* Certificate universal slider component styles. Override the namespaced variables as needed. */
.sfc-certificate-universal-slider {
	--sfc-certificate-universal-slider-default-accent: var(--e-global-color-primary, #002e5d);
	--sfc-certificate-universal-slider-default-text: var(--e-global-color-text, currentColor);
	--sfc-certificate-universal-slider-gap: 28px;
	--sfc-certificate-universal-slider-columns: var(--sfc-certificate-universal-slider-mobile, 1);
	width: 100%;
	min-width: 0;
	/* Keep controls clickable when a page builder box is shorter than the component. */
	position: relative;
	z-index: 1;
	color: var(--sfc-certificate-universal-slider-body-color, var(--sfc-certificate-universal-slider-default-text));
	font-family: var(--sfc-certificate-universal-slider-body-font, inherit);
}
.sfc-certificate-universal-slider *, .sfc-certificate-universal-slider *::before, .sfc-certificate-universal-slider *::after { box-sizing: border-box; }
.sfc-certificate-universal-slider [hidden] { display: none !important; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__heading {
	margin: 0 0 28px;
	color: var(--sfc-certificate-universal-slider-heading-color, var(--sfc-certificate-universal-slider-default-text));
	font-family: var(--sfc-certificate-universal-slider-heading-font, inherit);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-wrap: balance;
}
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__heading::after { content: ""; display: block; width: 84px; height: 3px; margin: 18px auto 0; background: var(--sfc-certificate-universal-slider-accent, var(--sfc-certificate-universal-slider-default-accent)); }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__controls { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-bottom: 16px; }
.sfc-certificate-universal-slider button {
	--sfc-certificate-universal-slider-control-current: var(--sfc-certificate-universal-slider-control-color, var(--sfc-blue, #002E5D));
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding: 8px 16px;
	border: 1px solid var(--sfc-certificate-universal-slider-control-current);
	border-radius: 24px;
	background: var(--sfc-certificate-universal-slider-control-current);
	color: var(--sfc-certificate-universal-slider-control-text, #FEFEFE);
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease;
}
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__arrow { width: 44px; padding: 0; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__toggle { width: 44px; padding: 0; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__arrow svg,
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__toggle svg { display: block; width: 20px; height: 20px; fill: currentColor; }
.sfc-certificate-universal-slider button:hover { background: var(--sfc-certificate-universal-slider-control-hover, var(--sfc-gold, #DB9F0C)); color: var(--sfc-certificate-universal-slider-control-hover-text, var(--sfc-blue, #002E5D)); }
.sfc-certificate-universal-slider button:focus:not(:hover):not(.sfc-certificate-universal-slider__dot),
.sfc-certificate-universal-slider button:focus-visible:not(:hover):not(.sfc-certificate-universal-slider__dot) { background: var(--sfc-certificate-universal-slider-control-current); color: var(--sfc-certificate-universal-slider-control-text, #FEFEFE); }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--sfc-certificate-universal-slider-columns) - 1) * var(--sfc-certificate-universal-slider-gap)) / var(--sfc-certificate-universal-slider-columns));
	align-items: stretch;
	gap: var(--sfc-certificate-universal-slider-gap);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	/* Top padding must exceed the hover lift so a raised card never clips. */
	padding: 12px 0 24px;
}
/* scrollbar-width: none is ignored by older Chromium and Safari. */
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__track::-webkit-scrollbar { display: none; }
@media (min-width: 768px) {
	/* Side padding gives hover shadows room; negative margin keeps cards aligned with the page. */
	.sfc-certificate-universal-slider .sfc-certificate-universal-slider__track { margin: 0 -24px; padding: 12px 24px 28px; scroll-padding: 0 24px; }
}
.sfc-certificate-universal-slider.sfc-certificate-universal-slider--single .sfc-certificate-universal-slider__track { grid-auto-columns: min(100%, 390px); justify-content: center; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	border: var(--sfc-certificate-universal-slider-border-width, 1px) solid var(--sfc-certificate-universal-slider-border-color, color-mix(in srgb, currentColor 18%, transparent));
	border-radius: var(--sfc-certificate-universal-slider-border-radius, 22px);
	background: var(--sfc-certificate-universal-slider-card-background, Canvas);
	scroll-snap-align: start;
	overflow-wrap: anywhere;
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card:hover { transform: translateY(-6px); box-shadow: 0 12px 28px rgba(0, 46, 93, 0.14); }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-image { display: block; aspect-ratio: var(--sfc-certificate-universal-slider-image-ratio, 16/10); margin: 0; border-radius: var(--sfc-certificate-universal-slider-border-radius, 22px) var(--sfc-certificate-universal-slider-border-radius, 22px) 0 0; overflow: hidden; background: var(--sfc-certificate-universal-slider-card-background, Canvas); }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: var(--sfc-certificate-universal-slider-image-fit, cover); }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-body { display: flex; flex: 1; flex-direction: column; padding: 14px 28px 28px; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-title { margin: 0 0 16px; color: var(--sfc-certificate-universal-slider-card-title-color, var(--sfc-certificate-universal-slider-accent, var(--sfc-certificate-universal-slider-default-accent))); font-family: var(--sfc-certificate-universal-slider-title-font, inherit); font-size: var(--sfc-certificate-universal-slider-title-font-size, 1.375rem); line-height: 1.3; font-weight: 700; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-title a { color: inherit; text-decoration: none; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-title a:hover { color: var(--sfc-gold, #DB9F0C); text-decoration: none; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-facts { display: grid; gap: var(--sfc-certificate-universal-slider-row-gap, 10px); margin: auto 0 0; padding: 16px 0 0; border-top: 1px solid var(--sfc-certificate-universal-slider-border-color, color-mix(in srgb, currentColor 18%, transparent)); }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-facts li { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; list-style: none; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-facts svg { flex: none; width: var(--sfc-certificate-universal-slider-icon-size, 24px); height: var(--sfc-certificate-universal-slider-icon-size, 24px); fill: var(--sfc-blue, #002E5D); }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__fact-label { flex: none; color: var(--sfc-certificate-universal-slider-body-color, var(--sfc-certificate-universal-slider-default-text)); font-size: var(--sfc-certificate-universal-slider-text-font-size, 0.875rem); white-space: nowrap; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-facts li::after { content: ""; order: 2; flex: 1; border-bottom: 2px dotted color-mix(in srgb, currentColor 35%, transparent); }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__fact-value { order: 3; overflow: hidden; color: var(--sfc-certificate-universal-slider-body-color, var(--sfc-certificate-universal-slider-default-text)); font-size: var(--sfc-certificate-universal-slider-text-font-size, 0.9375rem); font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 48px;
	margin-top: auto;
	padding: var(--sfc-certificate-universal-slider-button-padding, 12px) var(--sfc-certificate-universal-slider-button-padding-x, 18px);
	border: 1px solid var(--sfc-certificate-universal-slider-button-background, var(--sfc-certificate-universal-slider-accent, var(--sfc-certificate-universal-slider-default-accent)));
	border-radius: var(--sfc-certificate-universal-slider-button-radius, 4px);
	background: var(--sfc-certificate-universal-slider-button-background, var(--sfc-certificate-universal-slider-accent, var(--sfc-certificate-universal-slider-default-accent)));
	color: var(--sfc-certificate-universal-slider-button-text, #FEFEFE);
	font-family: var(--sfc-certificate-universal-slider-button-font, inherit);
	font-size: var(--sfc-certificate-universal-slider-button-font-size, 0.9375rem);
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 160ms ease;
}
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-button:hover { background: var(--sfc-certificate-universal-slider-button-hover, #DB9F0C); color: var(--sfc-certificate-universal-slider-button-hover-text, #FEFEFE); }
/* With facts present, the flexible gap sits above the line, pinning line + facts + button to the bottom. */
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-facts + .sfc-certificate-universal-slider__card-button { margin-top: 20px; }
.sfc-certificate-universal-slider.sfc-certificate-universal-slider--button-outline .sfc-certificate-universal-slider__card-button { background: transparent; color: var(--sfc-certificate-universal-slider-button-background, var(--sfc-certificate-universal-slider-default-accent)); }
.sfc-certificate-universal-slider.sfc-certificate-universal-slider--button-text .sfc-certificate-universal-slider__card-button { background: transparent; border-color: transparent; color: var(--sfc-certificate-universal-slider-button-background, var(--sfc-certificate-universal-slider-default-accent)); padding-inline: 0; }
.sfc-certificate-universal-slider.sfc-certificate-universal-slider--button-outline .sfc-certificate-universal-slider__card-button:hover,
.sfc-certificate-universal-slider.sfc-certificate-universal-slider--button-text .sfc-certificate-universal-slider__card-button:hover { background: var(--sfc-certificate-universal-slider-button-hover, var(--sfc-certificate-universal-slider-button-background, var(--sfc-certificate-universal-slider-default-accent))); color: var(--sfc-certificate-universal-slider-button-hover-text, #fff); }
.sfc-certificate-universal-slider :is(a, button, [tabindex]):focus-visible { outline: 3px solid #397fc4; outline-offset: 3px; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-image:focus-visible { outline-offset: -4px; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__dots { display: flex; justify-content: center; gap: 4px; margin: 0; padding: 0; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__dot { --sfc-certificate-universal-slider-control-current: transparent; --sfc-certificate-universal-slider-control-text: var(--sfc-certificate-universal-slider-dot-color, var(--sfc-blue, #002E5D)); min-width: 0; min-height: 0; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__dot::before { content: ""; display: block; width: 10px; height: 10px; margin: 0 auto; border-radius: 999px; background: var(--sfc-certificate-universal-slider-dot-color, currentColor); transition: background-color 160ms ease, width 160ms ease; }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__dot:hover { background: transparent; color: var(--sfc-certificate-universal-slider-dot-hover-color, var(--sfc-certificate-universal-slider-dot-color, var(--sfc-blue, #002E5D))); }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__dot:hover::before { background: var(--sfc-certificate-universal-slider-dot-hover-color, var(--sfc-gold, #DB9F0C)); }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__dot.is-active { color: var(--sfc-certificate-universal-slider-dot-active-color, var(--sfc-gold, #DB9F0C)); }
.sfc-certificate-universal-slider .sfc-certificate-universal-slider__dot.is-active::before { width: 24px; background: currentColor; }
@media (min-width: 768px) { .sfc-certificate-universal-slider { --sfc-certificate-universal-slider-columns: var(--sfc-certificate-universal-slider-tablet, 2); } }
@media (min-width: 1025px) { .sfc-certificate-universal-slider { --sfc-certificate-universal-slider-columns: var(--sfc-certificate-universal-slider-desktop, 3); } }
@media (max-width: 767px) { .sfc-certificate-universal-slider { --sfc-certificate-universal-slider-gap: 16px; } .sfc-certificate-universal-slider .sfc-certificate-universal-slider__card-body { padding: 10px 20px 20px; } }
@media (prefers-reduced-motion: reduce) { .sfc-certificate-universal-slider * { scroll-behavior: auto !important; transition: none !important; } .sfc-certificate-universal-slider .sfc-certificate-universal-slider__card { transform: none !important; } }
