.wp-block-group.alignfull:has(.is-style-slider-mobile-grid),
.wp-block-group.alignfull:has(.is-style-slider),
.wp-block-group.alignfull:has(.is-style-slider-mobile) {
	overflow: hidden;
}

/* Shared Keen Slider clipping: news (core/query) + timeline (sowmedia/slider) */
.wp-block-sowmedia-slider,
.wp-block-query.is-style-slider.wp-block,
.wp-block-query.is-style-slider-mobile.wp-block {
	max-width: 100%;
	overflow: hidden;
}

.wp-block-post-template.keen-slider {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.wp-block-post-template.keen-slider > .keen-slider__slide,
.wp-block-post-template.keen-slider > li.keen-slider__slide {
	flex: 0 0 auto;
	min-width: 0;
	overflow: hidden;
}

.wp-block-sowmedia-slider .wp-block-sowmedia-slider__inner-container {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.wp-block-sowmedia-slider .keen-slider,
.wp-block-post-template.keen-slider {
	display: flex !important;
	flex-direction: row;
	width: 100%;
	align-items: stretch;
	overflow: hidden;
}

.wp-block-sowmedia-slider .keen-slider__slide {
	flex: 0 0 auto;
	min-width: 0;
	height: auto;
	display: flex;
	overflow: hidden;
}

.wp-block-sowmedia-slider .keen-slider:focus {
	outline: none;
}

.wp-block-sowmedia-slider .keen-slider:focus-visible,
.wp-block-sowmedia-slider .slider-arrow:focus-visible,
.wp-block-sowmedia-slider .slider-dot:focus-visible {
	outline: 3px solid var(--wp--preset--color--contrast, #111111);
	outline-offset: 4px;
}

.slider-nav {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 16px;
	width: 100%;
	margin-top: var(--wp--preset--spacing--60);
}

.slider-nav--hidden {
	display: none;
}

.slider-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 48px;
	block-size: 48px;
	padding: 0;
	border-radius: 999px;
	border: 2px solid transparent;
	cursor: pointer;
	line-height: 1;
	font-size: 1.5rem;
	background-color: var(--wp--preset--color--primary, #111111);
	color: var(--wp--preset--color--base, #ffffff);
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

@media screen and (min-width: 768px) {
	.slider-arrow {
		inline-size: 56px;
		block-size: 56px;
	}
}

.slider-arrow svg {
	inline-size: 1em;
	block-size: 1em;
	flex-shrink: 0;
	pointer-events: none;
}

.slider-arrow--prev {
	justify-self: start;
}

.slider-arrow--next {
	justify-self: end;
}

.slider-arrow:hover:not(:disabled) {
	background-color: var(--wp--preset--color--primary, #005fcc);
	color: var(--wp--preset--color--base, #ffffff);
}

.slider-arrow:active:not(:disabled) {
	transform: scale(0.96);
}

.slider-arrow:disabled {
	cursor: not-allowed;
	opacity: 0.55;
	background-color: var(--wp--preset--color--primary, #767676);
	color: var(--wp--preset--color--base, #ffffff);
	border-color: transparent;
	transform: none;
}

.slider-dots {
	justify-self: center;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.slider-dot {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 14px;
	block-size: 14px;
	padding: 0;
	border: 2px solid transparent;
	background-color: var(--wp--preset--color--midtone);
	border-radius: 999px;
	cursor: pointer;
	transition:
		border-color 0.2s ease,
		transform 0.2s ease;
}

.slider-dot:hover {
	background-color: var(--wp--preset--color--contrast, #111111);
}

.slider-dot.is-active,
.slider-dot[aria-selected="true"] {
	background-color: var(--wp--preset--color--primary, #005fcc);
	transform: scale(1.15);
}

.slider-dot:active {
	transform: scale(0.96);
}

.editor-styles-wrapper .wp-block-query.is-style-slider ul.wp-block-post-template,
.editor-styles-wrapper .wp-block-query.is-style-slider-mobile-grid ul.wp-block-post-template {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: var(--wp--preset--spacing--50, 24px);
	overflow-x: auto !important;
	overflow-y: hidden !important;
	padding-bottom: 8px;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}

.editor-styles-wrapper .wp-block-query.is-style-slider ul.wp-block-post-template > li {
	flex: 0 0 calc((100% - (4 * var(--wp--preset--spacing--50, 24px))) / 5);
	min-width: calc((100% - (4 * var(--wp--preset--spacing--50, 24px))) / 5);
	scroll-snap-align: start;
}

.editor-styles-wrapper .wp-block-query.is-style-slider ul.wp-block-post-template:active {
	cursor: grabbing;
}

@media screen and (max-width: 767px) {
	.wp-block-post-template.keen-slider:has(.ks-page) {
		width: 100%;
		overflow: hidden;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-sowmedia-slider .keen-slider,
	.wp-block-sowmedia-slider .keen-slider__slide,
	.wp-block-sowmedia-slider .slider-arrow,
	.wp-block-sowmedia-slider .slider-dot,
	.wp-block-sowmedia-slider .slider-dot::before {
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

@media (forced-colors: active) {
	.slider-arrow,
	.slider-dot {
		forced-color-adjust: auto;
		border: 1px solid var(--wp--preset--color--contrast);
	}

	.slider-arrow {
		background: var(--wp--preset--color--primary);
		color: var(--wp--preset--color--base);
	}

	.slider-arrow:disabled {
		color: var(--wp--preset--color--contrast);
		border-color: var(--wp--preset--color--contrast);
	}

	.slider-dot::before {
		background: var(--wp--preset--color--midtone);
	}

	.slider-dot.is-active::before,
	.slider-dot[aria-selected="true"]::before {
		background: var(--wp--preset--color--primary);
	}

	.wp-block-sowmedia-slider .keen-slider:focus-visible,
	.wp-block-sowmedia-slider .slider-arrow:focus-visible,
	.wp-block-sowmedia-slider .slider-dot:focus-visible {
		outline: 2px solid var(--wp--preset--color--primary);
		outline-offset: 3px;
	}
}

.wp-block-group.alignfull:has(.wp-block-sowmedia-slider) {
	overflow: hidden;
}