/* =========================================
   Suggested itinerary carousel fixes
   ========================================= */

.moraway-itinerary-cards-slider--dots {
	display: block !important;
	width: 100% !important;
}

.moraway-itinerary-cards-slider--dots .moraway-itinerary-cards-viewport {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden !important;
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
}

.moraway-itinerary-cards-slider--dots .moraway-itinerary-cards-viewport.is-dragging {
	cursor: grabbing;
}

.moraway-itinerary-cards-slider--dots .moraway-itinerary-cards-track {
	display: flex !important;
	flex-wrap: nowrap !important;
	width: auto !important;
	max-width: none !important;
	will-change: transform;
}

/*
 * Force exactly two cards into the viewport.
 * Change 24px only if your existing track gap is different.
 */
.moraway-itinerary-cards-slider--dots .moraway-itinerary-card-slide {
	flex: 0 0 calc((100% - 24px) / 2) !important;
	width: calc((100% - 24px) / 2) !important;
	min-width: calc((100% - 24px) / 2) !important;
	max-width: calc((100% - 24px) / 2) !important;
	box-sizing: border-box !important;
}

/* One visible card on mobile. */
@media (max-width: 767px) {
	.moraway-itinerary-cards-slider--dots .moraway-itinerary-card-slide {
		flex-basis: 100% !important;
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
	}
}

/* Center the complete dot row beneath the cards. */
.moraway-itinerary-cards-dots {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 9px !important;

	position: relative !important;
	left: auto !important;
	right: auto !important;

	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	margin: 22px auto 0 !important;
	padding: 0 !important;

	text-align: center !important;
	box-sizing: border-box !important;
}

.moraway-itinerary-cards-dots[hidden] {
	display: none !important;
}

/*
 * Aggressively reset GeneratePress/global button styles so each dot
 * remains a small, perfectly round circle.
 */
.moraway-itinerary-cards-dot,
button.moraway-itinerary-cards-dot {
	-webkit-appearance: none !important;
	appearance: none !important;

	display: block !important;
	flex: 0 0 9px !important;

	position: static !important;
	inset: auto !important;

	width: 9px !important;
	height: 9px !important;
	min-width: 9px !important;
	min-height: 9px !important;
	max-width: 9px !important;
	max-height: 9px !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	border-radius: 50% !important;
	outline-offset: 3px;

	background-color: currentColor !important;
	background-image: none !important;
	box-shadow: none !important;

	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px !important;

	opacity: 0.3;
	cursor: pointer;

	box-sizing: border-box !important;
	transform: none;
	transition: opacity 0.2s ease !important;
}

.moraway-itinerary-cards-dot:hover,
.moraway-itinerary-cards-dot:focus,
.moraway-itinerary-cards-dot:focus-visible {
	width: 9px !important;
	height: 9px !important;
	min-width: 9px !important;
	min-height: 9px !important;
	max-width: 9px !important;
	max-height: 9px !important;
	border-radius: 50% !important;
	background-color: currentColor !important;
	opacity: 0.65;
	transform: none !important;
}

.moraway-itinerary-cards-dot.is-active {
	width: 9px !important;
	height: 9px !important;
	min-width: 9px !important;
	min-height: 9px !important;
	max-width: 9px !important;
	max-height: 9px !important;
	border-radius: 50% !important;
	opacity: 1;
	transform: none !important;
}