/* ============================================================
   Slider Carousel — Frontend Styles
   Modern CSS: container queries, logical properties, layers,
   custom properties, clamp(), aspect-ratio, scroll-snap.
   ============================================================ */

@layer sc-reset, sc-base, sc-components, sc-utilities;

/* ── Reset ──────────────────────────────────────────────── */
@layer sc-reset {
	.sc-slider-wrapper *,
	.sc-slider-wrapper *::before,
	.sc-slider-wrapper *::after {
		box-sizing: border-box;
	}
}

/* ── Design tokens ──────────────────────────────────────── */
@layer sc-base {
	.sc-slider-wrapper {
		/* These can be overridden per-block via inline style */
		--sc-min-height: 400px;
		--sc-arrow-size: 40px;
		--sc-arrow-color: #0200a2;

		/* Internal design tokens */
		--sc-dot-size: 10px;
		--sc-dot-gap: 8px;
		--sc-dot-color: rgba(255 255 255 / 0.5);
		--sc-dot-active-color: #ffffff;
		--sc-dot-scale-active: 1.35;
		--sc-arrow-bg: rgba(0 0 0 / 0.35);
		--sc-arrow-bg-hover: rgba(0 0 0 / 0.6);
		--sc-arrow-offset: 16px;
		--sc-arrow-radius: 50%;
		--sc-transition-duration: 600ms;
		--sc-transition-easing: cubic-bezier(0.4, 0, 0.2, 1);
		--sc-slide-gap: 0px;

		position: relative;
		width: 100%;

		/* Container query context — the slider's container */
		container-type: inline-size;
		container-name: sc-slider;
	}
}

/* ── Slider track ───────────────────────────────────────── */
@layer sc-components {
	.sc-slider-stage {
		position: relative;
		overflow: visible;
		--sc-arrow-top: 50%;
	}

	.sc-slider {
		position: relative;
		overflow: hidden;
		border-radius: inherit;
		width: 100%;
	}

	.sc-track {
		display: grid;
		grid-template-columns: 1fr;
		align-items: stretch;
		transform: none;
	}

	/* ── Individual Slide ─────────────────────────────────── */
	.sc-slide {
		position: relative;
		grid-area: 1 / 1;
		flex: none;
		width: 100%;
		min-width: 0;
		min-height: var(--sc-min-height);
		overflow: hidden;
		display: flex;
		align-items: stretch;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		z-index: 0;
		transition: opacity 400ms ease 200ms, visibility 0s linear 600ms;

		/* Each slide is itself a container */
		container-type: inline-size;
		container-name: sc-slide;
	}

	.sc-slide__overlay {
		position: absolute;
		inset: 0;
		background-color: #000;
		pointer-events: none;
		z-index: 1;
		border-radius: inherit;
	}

	.sc-slide__content {
		position: relative;
		z-index: 2;
		width: 100%;
		display: flex;
		flex-direction: column;
		padding: clamp(1rem, 4cqi, 3rem);
		padding-top: var(--sc-content-pad-top, clamp(1rem, 4cqi, 3rem));
	}

	/* ── Arrows ───────────────────────────────────────────── */
	.sc-arrow {
		position: absolute;
		top: 50%;
		translate: 0 -50%;
		z-index: 10;
		display: grid;
		place-items: center;
		width: var(--sc-arrow-size);
		height: var(--sc-arrow-size);
		padding: 0;
		border: none;
		border-radius: var(--sc-arrow-radius);
		background-color: var(--sc-arrow-bg);
		color: var(--sc-arrow-color);
		cursor: pointer;
		transition:
			background-color 200ms ease,
			scale 150ms ease,
			opacity 200ms ease;
		-webkit-tap-highlight-color: transparent;
	}

	.sc-arrow:hover,
	.sc-arrow:focus-visible {
		background-color: var(--sc-arrow-bg-hover);
		scale: 1.08;
		outline: 2px solid var(--sc-arrow-color);
		outline-offset: 2px;
	}

	.sc-arrow:active {
		scale: 0.96;
	}

	.sc-arrow svg {
		width: 55%;
		height: 55%;
		display: block;
		pointer-events: none;
	}

	.sc-arrow--prev {
		inset-inline-start: var(--sc-arrow-offset);
	}

	.sc-arrow--next {
		inset-inline-end: var(--sc-arrow-offset);
	}

	/* Hide arrows at the edges (JS adds these) */
	.sc-arrow[disabled] {
		opacity: 0.25;
		pointer-events: none;
	}

	/* ── Dots ─────────────────────────────────────────────── */
	.sc-dots {
		position: absolute;
		inset-block-end: 16px;
		inset-inline: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: var(--sc-dot-gap);
		z-index: 10;
		padding-block: 4px;
	}

	.sc-dot {
		display: block;
		width: var(--sc-dot-size);
		height: var(--sc-dot-size);
		border-radius: 9999px;
		/* background-color: var(--sc-dot-color); */
		background-color: #ffffff;
		border: 1px solid rgba(0, 0, 0, 0.2);
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
		padding: 0;
		cursor: pointer;
		transition:
			background-color 250ms ease,
			scale var(--sc-transition-duration) var(--sc-transition-easing),
			width 300ms ease;
		-webkit-tap-highlight-color: transparent;
		flex-shrink: 0;
	}

	.sc-dot:hover {
		background-color: rgba(255 255 255 / 0.75);
	}

	.sc-dot:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 2px;
	}

	.sc-dot.is-active {
		background-color: var(--sc-dot-active-color);
		scale: var(--sc-dot-scale-active);
		width: calc(var(--sc-dot-size) * 2.5);
	}

	/* ── Slide-in animations ──────────────────────────────── */
	/* Progressive enhancement: first slide visible before JS runs */
	.sc-track .sc-slide:first-child {
		opacity: 1;
		visibility: visible;
	}

	.sc-slide.is-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		z-index: 1;
		transition: opacity 400ms ease 200ms, visibility 0s linear 0s;
	}

	/* After JS init, visibility is controlled exclusively by .is-visible */
	.sc-slider-wrapper.is-initialized .sc-slide {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	.sc-slider-wrapper.is-initialized .sc-slide.is-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		z-index: 1;
	}
}

/* ── Container query breakpoints ───────────────────────── */
@layer sc-utilities {

	/* Large container (≥ 900px) */
	@container sc-slider (width >= 900px) {
		.sc-arrow {
			--sc-arrow-offset: 28px;
		}

		.sc-dots {
			inset-block-end: 24px;
		}

		.sc-slide__content {
			padding: clamp(2rem, 5cqi, 4rem);
		}
	}

	/* Medium container (≥ 600px and < 900px) */
	@container sc-slider (600px <= width < 900px) {
		.sc-arrow {
			--sc-arrow-offset: 20px;
		}

		.sc-dots {
			inset-block-end: 18px;
		}
	}

	/* Small container (< 600px) */
	@container sc-slider (width < 600px) {
		.sc-dot {
			--sc-dot-size: 8px;
		}

		.sc-dots {
			inset-block-end: 12px;
		}
	}

	/* Extra-small container (< 400px) */
	@container sc-slider (width < 400px) {
		.sc-arrow {
			--sc-arrow-bg: rgba(0 0 0 / 0.55);
		}

		.sc-dot.is-active {
			width: calc(var(--sc-dot-size) * 2);
		}
	}

	/* Per-slide container queries — adjust slide content layout */
	@container sc-slide (width >= 700px) {
		.sc-slide__content > * {
			max-inline-size: 70%;
		}
	}

	@container sc-slide (width < 500px) {
		.sc-slide__content > * {
			max-inline-size: 100%;
		}
	}
}

/* ── Align variations ───────────────────────────────────── */
.alignwide .sc-slider-wrapper,
.sc-slider-wrapper.alignwide {
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-inline: auto;
}

.alignfull .sc-slider-wrapper,
.sc-slider-wrapper.alignfull {
	width: 100vw;
	margin-inline-start: calc(50% - 50vw);
}

/* ── Tabs (unlayered to beat theme button resets) ──────── */
.sc-tabs {
	position: static;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: var(--sc-tab-align, center);
	gap: 8px 16px;
	padding: 0 16px 24px;
	z-index: auto;
	width: 100%;
}

.sc-slider-wrapper.has-tabs-top {
	background-color: var(--sc-wrapper-bg, #0300A2);
	padding-top: 8px;
}

.sc-slider-wrapper.has-tabs-top .sc-tabs {
	margin-bottom: 0;
	color: var(--sc-tab-text-color, #ffffff);
}

.sc-slider-wrapper.has-tabs-top .sc-slider {
	margin-top: 0;
}

.sc-slider-wrapper.has-tabs-bottom {
	background-color: var(--sc-wrapper-bg, #0300A2);
}

.sc-slider-wrapper.has-tabs-bottom .sc-tabs {
	padding: 24px 16px 0;
	color: var(--sc-tab-text-color, #ffffff);
}

button.sc-tab {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	background: none;
	border: none;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	color: var(--sc-tab-text-color, #ffffff);
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	cursor: pointer;
	transition:
		border-color 250ms ease,
		opacity 200ms ease;
	-webkit-tap-highlight-color: transparent;
	white-space: nowrap;
	pointer-events: auto;
}

button.sc-tab:hover {
	opacity: 0.8;
}

button.sc-tab:focus-visible {
	outline: 2px solid var(--sc-tab-border-color, #0200a2);
	outline-offset: 2px;
}

button.sc-tab.is-active {
	border-bottom-color: var(--sc-tab-border-color, #0200a2);
}

.slider-heading-title {
	padding-top: 0;
	padding-left: 20px;
}

figure.slider-img {
    padding-left: 0px !important;
}

.sc-slider-wrapper {
    padding-left: 0px !important;
}

/* Tablet + mobile: single-row scrollable tabs (swipe only, no scroll arrows) */
@media (max-width: 1023px) {
	.sc-tabs-viewport {
		position: relative;
		width: 100%;
	}

	.sc-slider-wrapper.has-tabs .sc-tabs-viewport::before,
	.sc-slider-wrapper.has-tabs .sc-tabs-viewport::after,
	.sc-tabs-scroll-btn {
		display: none !important;
	}

	.sc-slider-wrapper.has-tabs-top .sc-tabs,
	.sc-slider-wrapper.has-tabs-bottom .sc-tabs {
		flex-wrap: nowrap;
		justify-content: flex-start !important;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		gap: 8px;
	}

	.sc-slider-wrapper.has-tabs-top .sc-tabs {
		padding: 0 16px 24px;
		margin-bottom: 0;
	}

	.sc-slider-wrapper.has-tabs-bottom .sc-tabs {
		padding: 0 16px 0;
	}

	.sc-slider-wrapper.has-tabs .sc-tabs::-webkit-scrollbar {
		display: none;
	}

	.sc-slider-wrapper.has-tabs-top button.sc-tab,
	.sc-slider-wrapper.has-tabs-bottom button.sc-tab {
		flex: 0 0 auto;
		scroll-snap-align: start;
		font-size: 18px;
		padding: 8px 14px;
		border-bottom: 2px solid transparent;
	}

	.sc-slider-wrapper.has-tabs-top button.sc-tab.is-active,
	.sc-slider-wrapper.has-tabs-bottom button.sc-tab.is-active {
		border-bottom-color: var(--sc-tab-border-color, #ffffff);
	}

	.sc-slider-wrapper.has-tabs-top .sc-slide__content {
		padding-top: 0;
	}

	.sc-slider-wrapper.has-tabs-top .carousel-cover {
		margin-top: 0;
		/* Cover padding pushes the image away from the tab strip */
		padding-top: 0 !important;
	}

	/* Authored lead-in spacer sits between the tabs and the image. Desktop
	   hides every spacer in the cover; below it only this one has to go. */
	.sc-slider-wrapper.has-tabs-top .carousel-cover .wp-block-cover__inner-container > .wp-block-spacer:first-child {
		display: none;
	}
}

@media (max-width: 767px) {
	.sc-slider-wrapper.has-tabs-top .sc-tabs,
	.sc-slider-wrapper.has-tabs-bottom .sc-tabs {
		padding-inline: max(16px, env(safe-area-inset-left, 0px));
	}

	.sc-slider-wrapper.has-tabs-top .sc-tabs {
		padding-bottom: 24px;
	}

	.sc-slider-wrapper.has-tabs-top button.sc-tab,
	.sc-slider-wrapper.has-tabs-bottom button.sc-tab {
		font-size: 17px;
		padding: 8px 12px;
	}
}

/* Keep arrows visible and restore theme-intended tap targets */
.sc-slider-wrapper button.sc-arrow.sc-arrow--prev {
	inset-inline-start: var(--sc-arrow-offset, 16px) !important;
	left: var(--sc-arrow-offset, 16px) !important;
	right: auto !important;
}

.sc-slider-wrapper button.sc-arrow.sc-arrow--next {
	inset-inline-end: var(--sc-arrow-offset, 16px) !important;
	right: var(--sc-arrow-offset, 16px) !important;
	left: auto !important;
}

.sc-slider-wrapper button.sc-arrow {
	position: absolute;
	top: var(--sc-arrow-top, 50%);
	translate: 0 -50%;
	pointer-events: auto;
	z-index: 30;
	color: #ffffff !important;
	background-color: transparent;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
	min-width: 125px !important;
	min-height: 125px !important;
	width: 125px !important;
	height: 125px !important;
	border-radius: 0;
}

.sc-slider-wrapper button.sc-arrow svg {
	width: 60%;
	height: 60%;
}

/* Tablet + mobile: full-bleed stage, arrows at viewport edges aligned to slide image */
@media (max-width: 1023px) {
	.sc-slider-wrapper.has-tabs-top {
		width: 100vw;
		max-width: 100vw;
		margin-inline-start: calc(50% - 50vw);
		margin-inline-end: calc(50% - 50vw);
		overflow: visible;
	}

	.sc-slider-wrapper.has-tabs-top .sc-slider-stage {
		overflow: visible;
	}

	.sc-slider-wrapper.has-tabs-top .sc-slider {
		overflow: hidden;
	}

	.sc-slider-wrapper.has-tabs-top .sc-tabs {
		padding-inline: max(16px, env(safe-area-inset-left, 0px));
	}

	.sc-slider-wrapper.has-tabs-top button.sc-arrow {
		min-width: 75px !important;
		min-height: 75px !important;
		width: 75px !important;
		height: 75px !important;
		color: #ffffff !important;
	}

	.sc-slider-wrapper.has-tabs-top button.sc-arrow.sc-arrow--prev {
		left: -16px !important;
		inset-inline-start: -16px !important;
	}

	.sc-slider-wrapper.has-tabs-top button.sc-arrow.sc-arrow--next {
		right: -8px !important;
		inset-inline-end: -8px !important;
	}
}

@media (max-width: 767px) {
	#main:has(.sc-slider-wrapper.has-tabs-top) {
		overflow: visible;
	}

	.sc-slider-wrapper.has-tabs-top button.sc-arrow {
		min-width: 64px !important;
		min-height: 64px !important;
		width: 64px !important;
		height: 64px !important;
	}

	.sc-slider-wrapper.has-tabs-top button.sc-arrow.sc-arrow--prev {
		left: -14px !important;
		inset-inline-start: -14px !important;
	}

	.sc-slider-wrapper.has-tabs-top button.sc-arrow.sc-arrow--next {
		right: -14px !important;
		inset-inline-end: -14px !important;
	}
}

@media (max-width: 480px) {
	.sc-slider-wrapper.has-tabs-top button.sc-arrow.sc-arrow--prev {
		left: -15px !important;
		inset-inline-start: -15px !important;
	}

	.sc-slider-wrapper.has-tabs-top button.sc-arrow.sc-arrow--next {
		right: -15px !important;
		inset-inline-end: -15px !important;
	}
}

/* ── Reduced motion ─────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.sc-track {
		transition-duration: 1ms !important;
	}

	.sc-slide {
		transition-duration: 1ms !important;
	}

	.sc-dot {
		transition: none;
	}

	.sc-arrow {
		transition: none;
	}
}

/* ── Redesign: white drop-shadowed arrows, no hover circle ─ */
.sc-slider-wrapper button.sc-arrow,
.sc-slider-wrapper.has-tabs-top button.sc-arrow {
	color: #ffffff !important;
	background: transparent !important;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
}

.sc-slider-wrapper button.sc-arrow:hover,
.sc-slider-wrapper button.sc-arrow:focus-visible,
.sc-slider-wrapper button.sc-arrow:active {
	background: transparent !important;
	scale: 1 !important;
}

/* No square outline on mouse hover, or on mobile where a tap can leave :hover "stuck" */
.sc-slider-wrapper button.sc-arrow:hover,
.sc-slider-wrapper button.sc-arrow:active {
	outline: none !important;
}

/* Keep a visible focus ring for keyboard navigation only */
.sc-slider-wrapper button.sc-arrow:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

/* ── Redesign: desktop — inset, rounded image card ───────── */
@media (min-width: 1024px) {
	.sc-slider-wrapper {
		/* Desktop image card geometry — tweak here */
		--sc-img-radius: 24px;
		--sc-img-inset-block: clamp(1.5rem, 3cqi, 2.5rem);
		--sc-img-inset-inline-start: clamp(1.5rem, 4cqi, 4rem);
	}

	.sc-slider-wrapper .sc-slide__content {
		padding-left: 0 !important;
		padding-bottom: 0 !important;
	}

	.sc-slider-wrapper .sc-slide__content > .carousel-cover {
		max-inline-size: 100% !important;
		flex: 1;
		display: flex;
		flex-direction: column;
	}

	.sc-slider-wrapper .carousel-cover .wp-block-cover__inner-container {
		flex: 1;
		display: flex;
		flex-direction: column;
		width: 100%;
		max-width: 100%;
	}

	.sc-slider-wrapper .carousel-cover .wp-block-columns {
		flex: 1;
		align-items: stretch;
		margin: 0;
		width: 100%;
		max-width: 100% !important;
	}

	.sc-slider-wrapper .carousel-cover .wp-block-spacer {
		display: none;
	}

	.sc-slider-wrapper .carousel-cover {
		padding: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.sc-slider-wrapper .carousel-cover .wp-block-column:first-child {
		align-self: stretch;
		position: relative;
	}

	/* The homepage-draft page ships its own inline !important rule forcing every
	   .sc-slide figure full-bleed (top/right/bottom/left/width/height: 0/100% !important).
	   Match its exact property names with higher specificity (adds .sc-slide) and
	   !important so this card layout wins on that page too. Only physical inset
	   properties are used (no inset-block/inset-inline mixed in) to avoid any
	   per-edge logical/physical cascade ambiguity, and clip-path is layered on
	   top of border-radius + overflow:hidden to guarantee symmetric rounding
	   even if something else interferes with clipping. */
	.sc-slider-wrapper .sc-slide .carousel-cover .wp-block-column:first-child .wp-block-image,
	.sc-slider-wrapper .sc-slide .carousel-cover .wp-block-column:first-child .wp-block-image.aligncenter {
		position: absolute !important;
		top: var(--sc-img-inset-block) !important;
		bottom: var(--sc-img-inset-block) !important;
		left: var(--sc-img-inset-inline-start) !important;
		right: 0 !important;
		width: auto !important;
		height: auto !important;
		max-width: none !important;
		margin: 0 !important;
		border-radius: var(--sc-img-radius) !important;
		overflow: hidden !important;
		clip-path: inset(0 round var(--sc-img-radius)) !important;
		box-shadow: none !important;
		-webkit-mask-image: none !important;
		mask-image: none !important;
	}

	.sc-slider-wrapper .carousel-cover .wp-block-column:first-child .wp-block-image img {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover;
		border-radius: inherit !important;
	}

	.sc-slider-wrapper .carousel-cover .wp-block-column:last-child {
		padding-left: 2rem;
		padding-block: 2rem;
	}
}

/* ── Redesign: mobile — full-width image, bottom fade ───── */
@media (max-width: 767px) {
	/* Theme leaves a gutter on the inline-end edge; drop it so the stage is full-bleed */
	.sc-slider-wrapper {
		padding-right: 0 !important;
	}

	.sc-slider-wrapper .sc-slide__content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Cover block ships with inline margins + a constrained max-width — reset both */
	.sc-slider-wrapper .carousel-cover {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
	}

	.sc-slider-wrapper .carousel-cover .wp-block-columns {
		flex-wrap: wrap;
		max-width: 100% !important;
	}

	.sc-slider-wrapper .carousel-cover .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
	}

	.sc-slider-wrapper .carousel-cover .wp-block-column:first-child .wp-block-image {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		-webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
		mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
	}

	.sc-slider-wrapper .carousel-cover .wp-block-column:first-child .wp-block-image img {
		width: 100% !important;
		height: auto !important;
	}

	/* Image is now full-bleed, so the copy keeps its own symmetric gutter */
	.sc-slider-wrapper .carousel-cover .wp-block-column:last-child {
		padding-inline: 1.5rem !important;
	}
	.sc-slide__content h2 {
    padding-left: 0px;
	}
}

/* ── Slide CTAs: button + text link share one row ────────
   The theme renders each button block in its own `.flex` wrapper, so a
   button and a "display as text link" button stack vertically in the
   column's flow layout. Turn that column into a wrapping flex row where
   every child claims a full line except those two wrappers — they pair up
   on one line, vertically centred, at every breakpoint. */
.sc-slide__content .wp-block-column:has(> .flex > .btn):has(> .flex > .link-primary) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: flex-start;
	column-gap: 1rem;
}

.sc-slide__content .wp-block-column:has(> .flex > .btn):has(> .flex > .link-primary) > * {
	flex: 0 0 100%;
	max-width: 100%;
}

.sc-slide__content .wp-block-column:has(> .flex > .btn):has(> .flex > .link-primary) > .flex:has(> .btn),
.sc-slide__content .wp-block-column:has(> .flex > .btn):has(> .flex > .link-primary) > .flex:has(> .link-primary) {
	flex: 0 1 auto;
	width: auto;
	max-width: none;
}

/* Spacer authored between the two CTAs would force a line break */
.sc-slide__content .wp-block-column:has(> .flex > .btn):has(> .flex > .link-primary) > .flex:has(> .btn) + .wp-block-spacer:has(+ .flex > .link-primary) {
	display: none;
}

/* Column gap owns the spacing; drop the theme's utility margin */
.sc-slide__content .wp-block-column:has(> .flex > .btn):has(> .flex > .link-primary) > .flex > .link-primary {
	margin-left: 0;
}

/* Tablet + mobile: keep the same row by scaling the CTAs down so they always fit */
@media (max-width: 1023px) {
	.sc-slide__content .wp-block-column:has(> .flex > .btn):has(> .flex > .link-primary) {
		column-gap: 0.75rem;
	}

	.sc-slide__content .wp-block-column:has(> .flex > .btn):has(> .flex > .link-primary) > .flex:has(> .link-primary) {
		flex: 1 1 0%;
		min-width: 0;
	}

	.sc-slide__content .wp-block-column:has(> .flex > .btn):has(> .flex > .link-primary) > .flex > .btn {
		font-size: 1rem;
		line-height: 1.5rem;
		padding-inline: 1.25rem;
		white-space: nowrap;
	}

	.sc-slide__content .wp-block-column:has(> .flex > .btn):has(> .flex > .link-primary) > .flex > .link-primary {
		font-size: 1rem;
		line-height: 1.5rem;
		white-space: nowrap;
	}
}
