.learning-templates-lxp-journey-map-wrap {
	--ltlxp-jm-line: #1d2327;
	--ltlxp-jm-pin-available: #2271b1;
	--ltlxp-jm-pin-current: #2271b1;
	--ltlxp-jm-pin-complete: #00a32a;
	--ltlxp-jm-pin-locked: #b32d2e;
	--ltlxp-jm-pin-branch: #6b4bb3;
	--ltlxp-jm-icon: #ffffff;
	--ltlxp-jm-current-ring: rgba(34, 113, 177, 0.45);
	margin: 1.5em 0;
}

.learning-templates-lxp-journey-map-heading {
	margin: 0 0 0.75rem;
	font-size: 1.15rem;
	font-family: var(--learning-templates-lxp-heading-h2-font-family, inherit);
	font-weight: var(--learning-templates-lxp-heading-h2-font-weight, inherit);
	color: var(--learning-templates-lxp-heading-h2-color, inherit);
}

.learning-templates-lxp-journey-map-toggle {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0 0 1rem;
	align-items: stretch;
}

.learning-templates-lxp-journey-map-toggle .learning-templates-lxp-journey-map-toggle__btn.button {
	border-radius: 0;
	margin: 0;
	min-height: 44px;
	font-weight: 600;
}

.learning-templates-lxp-journey-map-toggle .learning-templates-lxp-journey-map-toggle__btn.button:first-child {
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
}

.learning-templates-lxp-journey-map-toggle .learning-templates-lxp-journey-map-toggle__btn.button:last-child {
	border-top-right-radius: 8px;
	border-bottom-right-radius: 8px;
}

.learning-templates-lxp-journey-map-toggle .learning-templates-lxp-journey-map-toggle__btn.button + .learning-templates-lxp-journey-map-toggle__btn.button {
	border-left-width: 0;
}

.learning-templates-lxp-journey-map-panel {
	display: none;
}

.learning-templates-lxp-journey-map-panel.is-active {
	display: block;
}

.learning-templates-lxp-journey-map-empty {
	color: #646970;
}

.learning-templates-lxp-journey-map-viewport {
	overflow: hidden;
	width: 100%;
	position: relative;
	border: 1px solid #dcdcde;
	border-radius: 10px;
	background: #f6f7f7;
}

.learning-templates-lxp-journey-map-scaler {
	position: relative;
	margin: 0 auto;
}

.learning-templates-lxp-journey-map-canvas {
	position: absolute;
	top: 0;
	left: 0;
	transform-origin: top left;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.learning-templates-lxp-journey-map-edges {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.learning-templates-lxp-journey-map-edges line {
	stroke: var(--ltlxp-jm-line);
	stroke-width: 2.5;
	stroke-dasharray: 2 8;
	stroke-linecap: round;
	opacity: 0.72;
}

.learning-templates-lxp-journey-map-nodes {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.learning-templates-lxp-journey-map-node {
	position: absolute;
	width: 48px;
	height: 48px;
	z-index: 1;
}

.learning-templates-lxp-journey-map-node__pin {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--ltlxp-jm-icon);
	text-decoration: none;
	cursor: pointer;
	position: relative;
}

a.learning-templates-lxp-journey-map-node__pin {
	-webkit-tap-highlight-color: transparent;
}

.learning-templates-lxp-journey-map-node__pin-surface {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: var(--ltlxp-jm-pin-available);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.learning-templates-lxp-journey-map-node__icon {
	width: 22px;
	height: 22px;
	display: block;
}

.learning-templates-lxp-journey-map-node__icon--custom {
	object-fit: contain;
}

.learning-templates-lxp-journey-map-node--available .learning-templates-lxp-journey-map-node__pin-surface {
	background: var(--ltlxp-jm-pin-available);
}

.learning-templates-lxp-journey-map-node--current .learning-templates-lxp-journey-map-node__pin-surface {
	background: var(--ltlxp-jm-pin-current);
	box-shadow:
		0 0 0 4px color-mix(in srgb, var(--ltlxp-jm-pin-current) 28%, transparent),
		0 4px 14px rgba(0, 0, 0, 0.22);
}

.learning-templates-lxp-journey-map-node--current::after {
	content: "";
	position: absolute;
	inset: -6px;
	border-radius: 999px;
	border: 2px solid var(--ltlxp-jm-current-ring);
	animation: learning-templates-lxp-journey-map-pulse 2s ease-out infinite;
	pointer-events: none;
}

.learning-templates-lxp-journey-map-node--complete .learning-templates-lxp-journey-map-node__pin-surface {
	background: var(--ltlxp-jm-pin-complete);
}

.learning-templates-lxp-journey-map-node--locked .learning-templates-lxp-journey-map-node__pin-surface {
	background: var(--ltlxp-jm-pin-locked);
}

.learning-templates-lxp-journey-map-node--branch .learning-templates-lxp-journey-map-node__pin-surface {
	background: var(--ltlxp-jm-pin-branch);
}

.learning-templates-lxp-journey-map-node__pin:hover .learning-templates-lxp-journey-map-node__pin-surface,
.learning-templates-lxp-journey-map-node__pin:focus-visible .learning-templates-lxp-journey-map-node__pin-surface {
	transform: scale(1.08);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}

.learning-templates-lxp-journey-map-node__pin:focus-visible {
	outline: 2px solid var(--ltlxp-jm-pin-current);
	outline-offset: 3px;
}

.learning-templates-lxp-journey-map-node__tooltip {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 10px);
	transform: translateX(calc(-50% + var(--tooltip-shift-x, 0px)));
	min-width: 160px;
	max-width: 220px;
	padding: 0.55rem 0.7rem;
	border-radius: 8px;
	background: rgba(29, 35, 39, 0.94);
	color: #fff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.15s ease, visibility 0.15s ease;
	z-index: 5;
}

.learning-templates-lxp-journey-map-node__tooltip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: calc(50% - var(--tooltip-shift-x, 0px));
	transform: translateX(-50%);
	border: 6px solid transparent;
	border-top-color: rgba(29, 35, 39, 0.94);
}

.learning-templates-lxp-journey-map-node.is-tooltip-below .learning-templates-lxp-journey-map-node__tooltip {
	bottom: auto;
	top: calc(100% + 10px);
}

.learning-templates-lxp-journey-map-node.is-tooltip-below .learning-templates-lxp-journey-map-node__tooltip::after {
	top: auto;
	bottom: 100%;
	border-top-color: transparent;
	border-bottom-color: rgba(29, 35, 39, 0.94);
}

.learning-templates-lxp-journey-map-node__tooltip-label {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.35;
}

.learning-templates-lxp-journey-map-node__tooltip-status {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.72rem;
	opacity: 0.82;
	text-transform: capitalize;
}

.learning-templates-lxp-journey-map-node:hover .learning-templates-lxp-journey-map-node__tooltip,
.learning-templates-lxp-journey-map-node:focus-within .learning-templates-lxp-journey-map-node__tooltip,
.learning-templates-lxp-journey-map-node.is-tooltip-open .learning-templates-lxp-journey-map-node__tooltip {
	opacity: 1;
	visibility: visible;
}

.learning-templates-lxp-journey-map-wrap--capture .learning-templates-lxp-journey-map-node__tooltip {
	opacity: 1;
	visibility: visible;
	bottom: auto;
	top: calc(100% + 8px);
	transform: translateX(-50%);
}

.learning-templates-lxp-journey-map-wrap--capture .learning-templates-lxp-journey-map-node__tooltip::after {
	top: auto;
	bottom: 100%;
	left: 50%;
	border-top-color: transparent;
	border-bottom-color: rgba(29, 35, 39, 0.94);
}

.learning-templates-lxp-learner-player__sidebar .learning-templates-lxp-journey-map-wrap {
	margin: 0;
}

.learning-templates-lxp-journey-map-wrap--capture .learning-templates-lxp-journey-map-panel--list,
.learning-templates-lxp-journey-map-wrap--capture .learning-templates-lxp-journey-map-toggle {
	display: none !important;
}

.learning-templates-lxp-journey-map-wrap--capture .learning-templates-lxp-journey-map-panel--map {
	display: block !important;
}

.learning-templates-lxp-learner-player__sidebar .learning-templates-lxp-journey-map-heading {
	font-size: 1rem;
}

.learning-templates-lxp-journey-map-wrap--capture .learning-templates-lxp-journey-map-viewport {
	overflow: visible;
	height: auto !important;
}

.learning-templates-lxp-journey-map-wrap--capture .learning-templates-lxp-journey-map-scaler {
	width: auto !important;
	height: auto !important;
}

.learning-templates-lxp-journey-map-wrap--capture .learning-templates-lxp-journey-map-canvas {
	position: relative !important;
	transform: none !important;
}

@keyframes learning-templates-lxp-journey-map-pulse {
	0% {
		transform: scale(0.95);
		opacity: 0.8;
	}
	70% {
		transform: scale(1.2);
		opacity: 0;
	}
	100% {
		transform: scale(1.2);
		opacity: 0;
	}
}

@media (max-width: 782px) {
	.learning-templates-lxp-journey-map-node {
		width: 48px;
		height: 48px;
	}

	.learning-templates-lxp-journey-map-node__pin,
	.learning-templates-lxp-journey-map-node__pin-surface {
		width: 48px;
		height: 48px;
	}

	.learning-templates-lxp-journey-map-node__icon {
		width: 24px;
		height: 24px;
	}

	.learning-templates-lxp-journey-map-node__tooltip {
		min-width: 140px;
		max-width: min(220px, 70vw);
	}
}

@media (hover: none) and (pointer: coarse) {
	.learning-templates-lxp-journey-map-node:not(.is-tooltip-open) .learning-templates-lxp-journey-map-node__tooltip {
		opacity: 0;
		visibility: hidden;
	}
}
