.criollo-shell-gallery-viewport {
	position: relative;
	width: 100%;
}

.criollo-shell-gallery-controls {
	display: none;
}

@media (max-width: 680px) {
	.criollo-shell-gallery-carousel.is-enhanced .criollo-shell-gallery-viewport {
		overflow: hidden;
	}

	.criollo-shell-gallery-carousel.is-enhanced .criollo-gallery-categories__grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 0;
		justify-content: flex-start;
		width: 100%;
		margin: 0;
		touch-action: pan-y;
		transition: transform 320ms cubic-bezier(0.22, 0.72, 0.23, 1);
		will-change: transform;
	}

	.criollo-shell-gallery-carousel.is-enhanced .criollo-gallery-categories__item {
		display: flex;
		flex: 0 0 100%;
		justify-content: center;
		width: 100%;
		min-width: 100%;
		max-width: none;
		margin: 0;
	}

	.criollo-shell-gallery-carousel.is-enhanced .criollo-gallery-categories__link {
		width: min(68vw, 300px);
	}

	.criollo-shell-gallery-carousel.is-enhanced .criollo-shell-gallery-controls {
		position: absolute;
		top: clamp(108px, 34vw, 150px);
		right: 3px;
		left: 3px;
		z-index: 4;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 0;
		pointer-events: none;
		transform: translateY(-50%);
	}

	.criollo-shell-gallery-control {
		display: grid;
		width: 48px;
		height: 48px;
		padding: 0 0 4px;
		place-items: center;
		color: #4b183e;
		background: rgba(255, 255, 255, 0.96);
		border: 2px solid #c89b32;
		border-radius: 50%;
		box-shadow: 0 7px 18px rgba(63, 25, 54, 0.18), inset 0 1px rgba(255, 255, 255, 0.8);
		cursor: pointer;
		font-family: Georgia, serif;
		font-size: 35px;
		line-height: 1;
		pointer-events: auto;
	}

	.criollo-shell-gallery-control:hover:not(:disabled) {
		color: #fff;
		background: #4b183e;
	}

	.criollo-shell-gallery-control:focus-visible {
		outline: 3px solid #6844a2;
		outline-offset: 3px;
	}

	.criollo-shell-gallery-control:disabled {
		cursor: default;
		opacity: 0.35;
	}

	.criollo-shell-gallery-status,
	.criollo-shell-gallery-carousel .screen-reader-text {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: -1px !important;
		padding: 0 !important;
		overflow: hidden !important;
		clip: rect(0 0 0 0) !important;
		clip-path: inset(50%) !important;
		border: 0 !important;
		white-space: nowrap !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.criollo-shell-gallery-carousel * {
		transition-duration: 0.01ms !important;
	}
}

@media print {
	.criollo-shell-gallery-controls {
		display: none !important;
	}
}
