/* ------------------------------------------------------------------
   JS Loader
   ------------------------------------------------------------------ */

html:not(.ursa6-nav-js-ready) .wp-block-navigation,
html:not(.ursa6-nav-js-ready) .wp-block-navigation * {
	transition: none !important;
	animation: none !important;
}

html:not(.ursa6-header-init) header .commerce7-header-transparent,
html:not(.ursa6-header-init) header .ursa6-header-transparent {
  transition: none !important;
}

/* ------------------------------------------------------------------
   Video embed
   ------------------------------------------------------------------ */

.wp-block-ursa6-video-embed {
	& .ursa6-video-trigger {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		width: 100%;
		padding: 0;
		border: 1px solid var(--wp--preset--color--border, currentColor);
		background: transparent;
		text-align: left;
		cursor: pointer;
	}

	& .ursa6-video-thumb {
		display: block;
		aspect-ratio: 16 / 9;
		overflow: hidden;

		& img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}

	& .ursa6-video-label,
	& .ursa6-video-iframe {
		width: 100%;
		aspect-ratio: 16 / 9;
		border: 0;
	}
}

/* ------------------------------------------------------------------
   Navigation — shared, responsive shell, column mega menus
   ------------------------------------------------------------------ */

.wp-block-navigation {
	&.ursa6-nav-show-descriptions {
		& .wp-block-navigation-item:has(>.wp-block-navigation-item__content>.wp-block-navigation-item__description) {
			align-items: flex-start;
		}

		& .wp-block-navigation-submenu .wp-block-navigation-item__content {
			flex-direction: column;
			align-items: flex-start;
			justify-content: flex-start;

			& .wp-block-navigation-item__description {
				display: block;
				margin-top: 0.25rem;
				font-size: 0.875em;
				line-height: 1.35;
				opacity: 0.9;
			}
		}

		&.ursa6-nav-is-mobile .wp-block-navigation-submenu .wp-block-navigation-item__content .wp-block-navigation-item__description {
			display: none;
		}
	}

	& .wp-block-navigation__container .wp-block-navigation-item.ursa6-submenu-columns > .wp-block-navigation__submenu-container {
		display: grid;
		grid-template-columns: repeat(var(--ursa6-submenu-columns, 1), minmax(0, 1fr));
		gap: 0.35rem 0.9rem;
		min-width: clamp(16rem, calc(var(--ursa6-submenu-columns, 1) * 16rem), 90vw);
		padding: 0.8rem;
	}

	& .wp-block-navigation-item.ursa6-submenu-columns > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
		min-width: 0;
	}

	& .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		min-width: 0;
	}

	/* Desktop: flatten nested column submenus (class-based, not viewport media). */
	&:not(.ursa6-nav-is-mobile) .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading > .wp-block-navigation__submenu-container,
	html:not(.ursa6-nav-js-ready) & .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading > .wp-block-navigation__submenu-container {
		position: static !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
		box-shadow: none !important;
		border: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		min-width: 0 !important;
		width: 100% !important;
		height: auto !important;
		overflow: visible !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 0.15rem;
	}

	&:not(.ursa6-nav-is-mobile) .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading > .wp-block-navigation-submenu__toggle,
	html:not(.ursa6-nav-js-ready) & .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading > .wp-block-navigation-submenu__toggle {
		display: none !important;
	}

	&:not(.ursa6-nav-is-mobile) .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading .ursa6-nav-column-heading__label,
	html:not(.ursa6-nav-js-ready) & .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading .ursa6-nav-column-heading__label {
		font-weight: var(--wp--custom--font-weight--semi-bold, 600);
		cursor: default;
		pointer-events: none;
		margin-block-end: 0.35rem;
	}

	&:not(.ursa6-nav-is-mobile) .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading--click > button.ursa6-nav-column-heading__label,
	html:not(.ursa6-nav-js-ready) & .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading--click > button.ursa6-nav-column-heading__label {
		background: transparent;
		border: 0;
		padding-inline: 0;
		text-align: inherit;
		font: inherit;
		color: inherit;
	}

	/* Mobile: column mega menu inside overlay. */
	&.ursa6-nav-is-mobile .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading > .wp-block-navigation__submenu-container,
	html:not(.ursa6-nav-js-ready) & .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading > .wp-block-navigation__submenu-container {
		position: static !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
		display: flex !important;
		flex-direction: column !important;
		height: auto !important;
		overflow: visible !important;
		padding: 0 0 0.5rem !important;
		margin: 0 !important;
		min-width: 0 !important;
	}

	&.ursa6-nav-is-mobile .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading > .wp-block-navigation-submenu__toggle,
	html:not(.ursa6-nav-js-ready) & .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading > .wp-block-navigation-submenu__toggle {
		display: none !important;
	}

	&.ursa6-nav-is-mobile .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading .ursa6-nav-column-heading__label,
	html:not(.ursa6-nav-js-ready) & .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .ursa6-nav-column-heading .ursa6-nav-column-heading__label {
		font-weight: var(--wp--custom--font-weight--semi-bold, 600);
		margin-block-end: 0.2rem;
	}

	& .wp-block-navigation-item.ursa6-submenu-align-right > .wp-block-navigation__submenu-container {
		left: auto;
		right: 0;
		max-width: calc(100vw - 1.5rem);
	}

	& .wp-block-navigation-item.ursa6-submenu-flyout-left > .wp-block-navigation__submenu-container {
		left: auto;
		right: 100%;
	}

	&.ursa6-nav-is-mobile {
		& .wp-block-navigation__container .wp-block-navigation-item.ursa6-submenu-columns > .wp-block-navigation__submenu-container {
			grid-template-columns: minmax(0, 1fr);
			min-width: min(18rem, 92vw);
		}

		& .wp-block-navigation__responsive-container.is-menu-open .ursa6-submenu-columns > .wp-block-navigation__submenu-container {
			display: flex !important;
			flex-direction: column !important;
			gap: 0.75rem;
			min-width: 0 !important;
			padding-inline: 0;
		}

		& .wp-block-navigation__responsive-container-open {
			display: flex !important;
		}

		& .wp-block-navigation__responsive-container:not(.is-menu-open) {
			display: none !important;
		}

		& .wp-block-navigation__responsive-container.is-menu-open {
			display: block !important;
		}

		& .wp-block-navigation__container {
			flex-direction: column;
			align-items: stretch;
			width: 100%;

			& > .wp-block-navigation-item > .wp-block-navigation-item__content {
				width: fit-content;
			}
		}
	}

	&:not(.ursa6-nav-is-mobile) {
		& .wp-block-navigation__responsive-container-open {
			display: none !important;
		}

		& .wp-block-navigation__responsive-container:not(.hidden-by-default) {
			display: block !important;
			position: relative !important;
			width: 100% !important;
		}
	}

	&.ursa6-nav-collapse-mobile-submenus .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		& .wp-block-navigation-item.has-child {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			align-items: center;
			column-gap: 0.75rem;

			& > .wp-block-navigation__submenu-container {
				grid-column: 1 / -1;
				width: 100%;
			}

			&.open-on-hover-click {
				& > a.wp-block-navigation-item__content {
					grid-column: 1;
					grid-row: 1;
				}

				& > button.wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle {
					display: flex !important;
					grid-column: 2;
					grid-row: 1;
					align-items: center;
					justify-content: center;
					flex-shrink: 0;
					min-width: 32px;
					min-height: 32px;
					margin: 0;
					padding: 0.5rem;
					cursor: pointer;
					pointer-events: auto;

					& svg {
						width: 0.75rem;
						height: 0.75rem;
						transition: transform var(--ursa6-mobile-nav-transition);
					}

					&[aria-expanded="true"] svg {
						transform: rotate(180deg);
					}
				}
			}

			&.open-on-click {
				& > .wp-block-navigation-submenu__toggle {
					grid-column: 1;
					grid-row: 1;
					width: 100%;
					text-align: left;
					display: flex;
					align-items: center;
					gap: 0.5rem;
				}

				&:not(:has(> .wp-block-navigation__submenu-icon svg)) .wp-block-navigation-submenu__toggle {
					&::after {
						content: "";
						width: 0.45rem;
						height: 0.45rem;
						margin-left: auto;
						border-right: 2px solid currentColor;
						border-bottom: 2px solid currentColor;
						transform: rotate(45deg);
						flex-shrink: 0;
						transition: transform var(--ursa6-mobile-nav-transition);
					}

					&[aria-expanded="true"]::after {
						transform: rotate(225deg);
					}
				}

				& > .wp-block-navigation__submenu-icon:not(.wp-block-navigation-submenu__toggle) {
					display: flex !important;
					grid-column: 2;
					grid-row: 1;
					align-items: center;
					justify-content: center;
					flex-shrink: 0;
					margin: 0;
					pointer-events: none;

					& svg {
						width: 0.75rem;
						height: 0.75rem;
						transition: transform var(--ursa6-mobile-nav-transition);
					}
				}

				& .wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-icon svg {
					transform: rotate(180deg);
				}
			}

			& > .wp-block-navigation-submenu__toggle[aria-expanded="false"] ~ .wp-block-navigation__submenu-container {
				display: none !important;
				height: 0 !important;
				min-height: 0 !important;
				overflow: hidden !important;
				opacity: 0 !important;
				visibility: hidden !important;
				padding-top: 0 !important;
				padding-bottom: 0 !important;
				margin: 0 !important;
			}

			& > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
				display: flex !important;
				flex-direction: column !important;
				opacity: 1 !important;
				visibility: visible !important;
				height: auto !important;
				overflow: visible !important;
				position: static !important;
				min-width: 0 !important;
			}
		}

		& .ursa6-submenu-columns > .wp-block-navigation__submenu-container > .wp-block-navigation-item.ursa6-nav-column-heading.has-child {
			display: flex !important;
			flex-direction: column !important;
			align-items: stretch !important;
			grid-template-columns: unset !important;
			column-gap: 0 !important;

			& > .wp-block-navigation-submenu__toggle,
			& > button.wp-block-navigation__submenu-icon {
				display: none !important;
				visibility: hidden !important;
				width: 0 !important;
				height: 0 !important;
				min-width: 0 !important;
				min-height: 0 !important;
				margin: 0 !important;
				padding: 0 !important;
				border: 0 !important;
				overflow: hidden !important;
				pointer-events: none !important;
			}

			& > .ursa6-nav-column-heading__label,
			&.open-on-hover-click > p.wp-block-navigation-item__content {
				grid-column: 1 / -1;
				width: 100%;
				margin: 0;
				padding-block: var(--ursa6-mobile-nav-submenu-row-padding-y, 0.55rem);
				padding-inline: 0;
				font-weight: var(--wp--custom--font-weight--semi-bold, 600);
				pointer-events: none;
			}

			& > .wp-block-navigation-submenu__toggle[aria-expanded="false"] ~ .wp-block-navigation__submenu-container,
			& > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
				display: flex !important;
				flex-direction: column !important;
				opacity: 1 !important;
				visibility: visible !important;
				height: auto !important;
				min-height: 0 !important;
				overflow: visible !important;
				position: static !important;
				padding: 0 0 0.35rem !important;
				margin: 0 !important;
				grid-column: 1 / -1;
				width: 100%;

				& .wp-block-navigation-item__content {
					padding-block: var(--ursa6-mobile-nav-submenu-row-padding-y, 0.55rem);
					opacity: 0.92;
				}
			}
		}
	}

	&:not(.ursa6-nav-below-header):not([data-ursa6-nav-below-header="true"]) .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		padding-top: calc(var(--ursa6-site-header-height, 4.5rem) + 0.25rem);
	}

	&.ursa6-nav-below-header,
	&[data-ursa6-nav-below-header="true"] {
		& .wp-block-navigation__responsive-container.is-menu-open {
			top: max(0px, var(--ursa6-site-header-bottom, var(--ursa6-site-header-height, 4.5rem))) !important;
			right: 0 !important;
			bottom: 0 !important;
			left: 0 !important;
			z-index: 99;

			& .wp-block-navigation__responsive-container-content {
				padding-top: 0.5rem;
			}
		}
	}
}

/* ------------------------------------------------------------------
   Editor canvas — column mega menu preview (active submenu only)
   ------------------------------------------------------------------ */

.editor-styles-wrapper,
.block-editor-iframe__body {
	& .wp-block-navigation {
		& .wp-block-navigation-item.ursa6-submenu-columns:is(.is-editing, .has-child-selected) > .wp-block-navigation__submenu-container,
		& .wp-block-navigation-submenu.ursa6-submenu-columns:is(.is-editing, .has-child-selected) > .wp-block-navigation__submenu-container {
			display: grid !important;
			grid-template-columns: repeat(var(--ursa6-submenu-columns, 1), minmax(0, 1fr)) !important;
			gap: 0.35rem 0.9rem;
			min-width: clamp(30rem, 42rem, 92vw) !important;
			visibility: visible !important;
			opacity: 1 !important;
			transform: none !important;
			box-shadow: none !important;
			border: 1px dashed color-mix(in srgb, currentColor 18%, transparent);
			background: color-mix(in srgb, currentColor 3%, transparent);
			padding: calc(var(--commerce7-nav-submenu-ring) + var(--commerce7-nav-submenu-padding));
		}

		&.ursa6-nav-is-mobile .wp-block-navigation-item.ursa6-submenu-columns:is(.is-editing, .has-child-selected) > .wp-block-navigation__submenu-container {
			grid-template-columns: minmax(0, 1fr) !important;
			min-width: min(18rem, 92vw);
		}

		& .wp-block-navigation-item.ursa6-submenu-columns:is(.is-editing, .has-child-selected) {
			& > .wp-block-navigation__submenu-container > [data-block],
			& > .wp-block-navigation__submenu-container > .block-editor-block-list__block {
				display: flex;
				flex-direction: column;
				min-width: 0;
			}

			& .ursa6-nav-column-heading {
				display: flex;
				flex-direction: column;
				align-items: stretch;
				min-width: 0;

				& > .wp-block-navigation__submenu-container {
					display: flex !important;
					flex-direction: column !important;
					position: static !important;
					visibility: visible !important;
					opacity: 1 !important;
					transform: none !important;
					box-shadow: none !important;
					border: 0 !important;
					padding: 0 !important;
					margin: 0 !important;
					min-width: 0 !important;
					width: 100% !important;
					height: auto !important;
					max-height: none !important;
					overflow: visible !important;
					gap: 0.15rem;

					& > [data-block],
					& > .block-editor-block-list__block {
						display: block;
						min-width: 0;
					}

					& .wp-block-navigation-item__content {
						font-size: var(--wp--preset--font-size--small, 0.875rem);
						opacity: 0.92;
					}
				}

				& > .wp-block-navigation-submenu__toggle,
				& > .wp-block-navigation__submenu-icon {
					display: none !important;
				}

				& .ursa6-nav-column-heading__label,
				& > a.wp-block-navigation-item__content,
				& > button.wp-block-navigation-item__content {
					font-weight: var(--wp--custom--font-weight--semi-bold, 600);
					cursor: default;
					pointer-events: none;
					margin-block-end: 0.35rem;
					text-decoration: none;
					flex: 0;
					padding: 0;
				}

				&.ursa6-nav-column-heading--click > button.ursa6-nav-column-heading__label {
					background: transparent;
					border: 0;
					padding-inline: 0;
					text-align: inherit;
					font: inherit;
					color: inherit;
				}
			}
		}
	}
}

/* ------------------------------------------------------------------
   Mobile navigation — CSS variables
   ------------------------------------------------------------------ */

:root {
	--ursa6-site-header-height: 4.5rem;
	--ursa6-site-header-bottom: 4.5rem;
	--ursa6-admin-bar-offset: 0px;
	--ursa6-admin-bar-overlay-offset: 0px;
	--ursa6-nav-toggle-top: 1rem;
	--ursa6-nav-toggle-right: 1rem;
	--ursa6-nav-toggle-width: 2.75rem;
	--ursa6-nav-toggle-height: 2.75rem;
	--ursa6-mobile-nav-content-padding-x: var(--wp--preset--spacing--medium, 1.5rem);
	--ursa6-mobile-nav-content-padding-top: var(--wp--preset--spacing--small, 1rem);
	--ursa6-mobile-nav-content-padding-bottom: var(--wp--preset--spacing--large, 2rem);
	--ursa6-mobile-nav-row-padding-y: 0.9rem;
	--ursa6-mobile-nav-submenu-row-padding-y: 0.55rem;
	--ursa6-mobile-nav-divider: color-mix(in srgb, currentColor 12%, transparent);
}

body.admin-bar {
	--ursa6-admin-bar-overlay-offset: var(--wp-admin--admin-bar--height, 0px);

	@media (min-width: 601px) {
		--ursa6-admin-bar-offset: var(--wp-admin--admin-bar--height, 0px);
	}
}

/* ------------------------------------------------------------------
   Document modal shell — html.has-modal-open
   ------------------------------------------------------------------ */

html.has-modal-open {
	overflow: visible !important;

	& body {
		overflow: hidden;
		width: 100%;
	}

	& header,
	& header.is-sticky-hidden,
	& header.is-sticky-active {
		transform: none !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	& .wp-block-navigation__responsive-container-open {
		visibility: hidden !important;
		pointer-events: none !important;
	}

	& .wp-block-navigation__responsive-container-close {
		position: fixed;
		top: var(--ursa6-nav-toggle-top, 1rem);
		right: var(--ursa6-nav-toggle-right, 1rem);
		width: var(--ursa6-nav-toggle-width, 2.75rem);
		height: var(--ursa6-nav-toggle-height, 2.75rem);
		margin: 0;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 101;
		transform: none;

		&:focus-visible {
			outline: 2px solid currentColor;
			outline-offset: 2px;
		}
	}

	& header:has(.wp-block-navigation.ursa6-nav-below-header .wp-block-navigation__responsive-container.is-menu-open),
	& header:has(.wp-block-navigation[data-ursa6-nav-below-header="true"] .wp-block-navigation__responsive-container.is-menu-open) {
		z-index: 100;
	}
}

/* ------------------------------------------------------------------
   Open overlay panel — .is-menu-open
   ------------------------------------------------------------------ */

.wp-block-navigation__responsive-container.is-menu-open {
	padding: 0;
	animation: none !important;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	position: fixed !important;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100% !important;
	max-width: 100% !important;
	z-index: 99;

	& .wp-block-navigation__responsive-container-content {
		padding:
			var(--ursa6-mobile-nav-content-padding-top)
			var(--ursa6-mobile-nav-content-padding-x)
			var(--ursa6-mobile-nav-content-padding-bottom);
		color: inherit;
	}

	& .wp-block-navigation__container > .wp-block-navigation-item {
		border-bottom: 1px solid var(--ursa6-mobile-nav-divider);
		width: 100%;

		& > .wp-block-navigation-item__content,
		& > .wp-block-navigation-submenu__toggle {
			font-size: var(--wp--preset--font-size--medium, 1.125rem);
			font-weight: var(--wp--custom--font-weight--semi-bold, 600);
			padding-block: var(--ursa6-mobile-nav-row-padding-y);
		}
	}

	& .wp-block-navigation__submenu-container {
		padding-top: 0.25rem;
		padding-bottom: 0.5rem;
		padding-left: 0;
		padding-right: 0;
		transition: opacity var(--ursa6-mobile-nav-transition);

		& .wp-block-navigation-item__content {
			font-size: var(--wp--preset--font-size--small, 1rem);
			font-weight: var(--wp--custom--font-weight--regular, 400);
			padding-block: var(--ursa6-mobile-nav-submenu-row-padding-y);
			opacity: 0.92;
		}
	}

	& .wp-block-navigation-item__content {
		&:hover,
		&:focus {
			opacity: 0.88;
		}
	}
}

/* ------------------------------------------------------------------
   Motion
   ------------------------------------------------------------------ */

.ursa6-motion-target {
	will-change: transform, opacity;
}

html.ursa6-motion-active .ursa6-motion-target {
	opacity: 0;
	visibility: hidden;
}

.ursa6-motion-digit {
	display: inline-block;
	min-width: 0.55em;
	text-align: center;
}

/* ------------------------------------------------------------------
   Editor utilities
   ------------------------------------------------------------------ */

.ursa6-position-controls {
	padding-top: 8px;
	padding-bottom: 8px;

	& > div + div {
		border-top: 1px solid #e0e0e0;
		padding-top: 16px;
	}
}

.ursa6-posts-page-editor__label {
	margin: 0 0 8px;
	font-size: 12px;
	color: #646970;
}

.ursa6-posts-page-editor__notice {
	padding: 12px;
	border: 1px dashed #c3c4c7;
	border-radius: 4px;
	background: #f6f7f7;

	& p {
		margin: 0 0 8px;

		&:last-child {
			margin-bottom: 0;
		}
	}
}

/* ------------------------------------------------------------------
   Slider
   ------------------------------------------------------------------ */

.ursa6-slider {
	position: relative;
	display: block!important;
	--swiper-scrollbar-bottom: -2rem;

	& .swiper-slide {
		visibility: visible;
		opacity: 1;
		transition: opacity var(--transition-duration), visibility var(--transition-duration) allow-discrete;

		&:not(.swiper-slide-visible,.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev) {
			visibility: hidden;
			opacity: 0;
			transition: opacity var(--transition-duration), visibility var(--transition-duration) allow-discrete;
		}
	}
}

/*
 * CLS guard: before the runtime wraps children into Swiper slides, preview a
 * single clipped row so the server-rendered height (first paint) approximates
 * the initialized slider and surrounding content does not jump. Selectors are
 * keyed on the server-rendered slider classes and stop applying the moment
 * Swiper adds `.swiper-initialized`. Browsers without `:has()` ignore these
 * rules and fall back to the runtime's measured min-height reservation.
 */
.ursa6-slider:not(:has(.swiper-initialized)) {
	overflow: hidden;
}

.ursa6-slider--group:not(:has(.swiper-initialized)):not(.ursa6-slider--editor-preview) {
	display: flex !important;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: var(--ursa6-slider-gap-active, var(--ursa6-slider-gap, 16px));
}

.ursa6-slider--group:not(:has(.swiper-initialized)):not(.ursa6-slider--editor-preview) > *:not(.ursa6-slider__viewport):not(.ursa6-slider__chrome) {
	flex: 0 0 var(--ursa6-slider-slide-size, 100%);
	max-width: var(--ursa6-slider-slide-size, 100%);
	min-width: var(--ursa6-slider-slide-size, 100%);
	box-sizing: border-box;
}

/* Server-rendered group sliders (viewport in PHP) — size slides before Swiper init. */
.ursa6-slider--group:not(:has(.swiper-initialized)):not(.ursa6-slider--editor-preview):has(> .ursa6-slider__viewport) {
	display: block !important;
}

.ursa6-slider--group:not(:has(.swiper-initialized)):not(.ursa6-slider--editor-preview) .ursa6-slider__viewport .swiper-wrapper {
	display: flex;
	flex-wrap: nowrap;
	overflow: hidden;
	gap: var(--ursa6-slider-gap-active, var(--ursa6-slider-gap, 16px));
}

.ursa6-slider--group:not(:has(.swiper-initialized)):not(.ursa6-slider--editor-preview) .ursa6-slider__viewport .swiper-slide {
	flex: 0 0 var(--ursa6-slider-slide-size, 100%);
	width: var(--ursa6-slider-slide-size, 100%);
	max-width: var(--ursa6-slider-slide-size, 100%);
	min-width: var(--ursa6-slider-slide-size, 100%);
	margin-right: 0 !important;
	box-sizing: border-box;
	visibility: visible;
	opacity: 1;
}

.ursa6-slider--stretch-slides.ursa6-slider--group:not(:has(.swiper-initialized)):not(.ursa6-slider--editor-preview) .ursa6-slider__viewport .swiper-slide {
	align-self: stretch;
	height: auto;
}

.ursa6-slider--stretch-slides.ursa6-slider--group:not(:has(.swiper-initialized)):not(.ursa6-slider--editor-preview) {
	align-items: stretch !important;
}

.ursa6-slider--stretch-slides.ursa6-slider--group:not(:has(.swiper-initialized)):not(.ursa6-slider--editor-preview) > *:not(.ursa6-slider__viewport):not(.ursa6-slider__chrome) {
	align-self: stretch;
	height: auto;
}

.ursa6-slider--query:not(:has(.swiper-initialized)):not(.ursa6-slider--editor-preview) .wp-block-post-template {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	overflow: hidden;
	gap: var(--ursa6-slider-gap-active, var(--ursa6-slider-gap, 16px));
}

.ursa6-slider--query:not(:has(.swiper-initialized)):not(.ursa6-slider--editor-preview) .wp-block-post-template > * {
	flex: 0 0 var(--ursa6-slider-slide-size, 100%);
	max-width: var(--ursa6-slider-slide-size, 100%);
	min-width: var(--ursa6-slider-slide-size, 100%);
	box-sizing: border-box;
}

/*
 * Editor canvas slider preview — horizontal track with slides-per-view widths.
 * Group: preview classes sit on the group wrapper (.block-editor-block-list__layout).
 * Query: slides live inside .wp-block-post-template (see rules below).
 * Swiper never initializes in the block editor.
 */
.editor-styles-wrapper .ursa6-slider--editor-preview.ursa6-slider--group:not(:has(.swiper-initialized)).block-editor-block-list__layout {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow-x: auto;
	gap: var(--ursa6-slider-gap-active, var(--ursa6-slider-gap, 16px));
	scroll-snap-type: x proximity;
	padding-bottom: 10px;
}

.editor-styles-wrapper .ursa6-slider--editor-preview.ursa6-slider--group:not(:has(.swiper-initialized)).block-editor-block-list__layout > .block-editor-block-list__block {
	flex: 0 0 var(--ursa6-slider-slide-size);
	max-width: var(--ursa6-slider-slide-size);
	min-width: var(--ursa6-slider-slide-size);
	scroll-snap-align: start;
	box-sizing: border-box;
}

.editor-styles-wrapper .ursa6-slider--editor-preview.ursa6-slider--group:not(:has(.swiper-initialized)).block-editor-block-list__layout > .block-list-appender {
	flex: 0 0 auto;
	align-self: stretch;
	min-width: 2.75rem;
	scroll-snap-align: end;
}

.editor-styles-wrapper .ursa6-slider--stretch-slides.ursa6-slider--editor-preview.ursa6-slider--group:not(:has(.swiper-initialized)).block-editor-block-list__layout > .block-editor-block-list__block {
	align-self: stretch;
}

.editor-styles-wrapper .ursa6-slider--stretch-slides.ursa6-slider--editor-preview.ursa6-slider--group:not(:has(.swiper-initialized)).block-editor-block-list__layout > .block-editor-block-list__block {
	height: auto;
}

/* Query: clip the block; post template list is the horizontal track. */
.editor-styles-wrapper .ursa6-slider--editor-preview.ursa6-slider--query:not(:has(.swiper-initialized)).block-editor-block-list__layout {
	display: block !important;
	overflow: hidden;
}

.editor-styles-wrapper .ursa6-slider--editor-preview.ursa6-slider--query:not(:has(.swiper-initialized)) ul.wp-block-post-template {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: flex-start;
	overflow-x: auto;
	gap: var(--ursa6-slider-gap-active, var(--ursa6-slider-gap, 16px));
	scroll-snap-type: x proximity;
	padding-bottom: 10px;
}

.editor-styles-wrapper .ursa6-slider--editor-preview.ursa6-slider--query:not(:has(.swiper-initialized)) ul.wp-block-post-template > li {
	flex: 0 0 var(--ursa6-slider-slide-size);
	max-width: var(--ursa6-slider-slide-size);
	min-width: var(--ursa6-slider-slide-size);
	scroll-snap-align: start;
	box-sizing: border-box;
}

/*
 * Editor canvas grid preview — column override at the current preview viewport.
 */
.editor-styles-wrapper .is-layout-grid.ursa6-grid--editor-preview,
.editor-styles-wrapper .wp-block-post-template.is-layout-grid.ursa6-grid--editor-preview,
.editor-styles-wrapper .wp-block-term-template.is-layout-grid.ursa6-grid--editor-preview {
	grid-template-columns: repeat(var(--ursa6-grid-preview-cols), minmax(0, 1fr)) !important;
}

.ursa6-slider .ursa6-slider__chrome .ursa6-slider__nav-icon {
	display: block;
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	fill: none;
}

.ursa6-slider--nav-above {

	& .ursa6-slider__viewport {
		margin-top: 1rem;
	}

	& .ursa6-slider__chrome.swiper-button-prev,
	& .ursa6-slider__chrome.swiper-button-next {
		position: static;
		transform: none;
		display: inline-flex;
	}

	& .ursa6-slider__chrome.swiper-button-next {
		margin-left: 0.5em;
	}

}

.ursa6-slider--nav-below {

	& .ursa6-slider__viewport {
		margin-bottom: 1rem;
	}

	& .ursa6-slider__chrome.swiper-button-prev,
	& .ursa6-slider__chrome.swiper-button-next {
		position: static;
		transform: none;
		display: inline-flex;
		margin-top: 0;
	}

	& .ursa6-slider__chrome.swiper-button-next {
		margin-left: 0.5em;
	}

}

.ursa6-slider .ursa6-slider__chrome.swiper-pagination,
.ursa6-slider .ursa6-slider__chrome.swiper-scrollbar {
	position: static;
	transform: none;
	width: 100%;
}

.ursa6-slider .ursa6-slider__chrome.swiper-pagination {
	margin-top: 1rem;
}

.ursa6-slider .ursa6-slider__chrome.swiper-scrollbar {
	margin-top: 1rem;
}

.ursa6-slider--nav-sides {
	padding-inline: 2.75rem;

	& .ursa6-slider__chrome.swiper-button-prev {
		inset-inline-start: 0;
	}

	& .ursa6-slider__chrome.swiper-button-next {
		inset-inline-end: 0;
	}
}

.ursa6-slider__viewport {
	width: 100%;
}

.ursa6-slider--preset-logos {
	& .ursa6-slider__viewport {
		--swiper-wrapper-transition-timing-function: linear;
	}

	& .swiper-wrapper {
		align-items: center;
	}

	& .swiper-slide {
		height: fit-content;
	}
}

.ursa6-slider--stretch-slides {
	& .swiper-wrapper {
		align-items: stretch;
	}

	& .swiper-slide {
		height: auto;

		& > .wp-block-group {
			height: 100%;
		}
	}
}

/* Preset hooks — e.g. .ursa6-slider--preset-logos .swiper-slide img { filter: grayscale(1); } */
