/**
 * Compact curriculum navigation for sidebars, widgets, and page builders.
 */
.sslms-curriculum-nav {
	--sslms-nav-accent: var(--sslms-accent, #2563eb);
	--sslms-nav-border: var(--sslms-border, rgba(17, 24, 39, 0.14));
	--sslms-nav-muted: var(--sslms-muted, #667085);
	--sslms-nav-soft: var(--sslms-soft, #f8fafc);
	--sslms-nav-surface: var(--sslms-surface, #fff);
	box-sizing: border-box;
	width: 100%;
	padding: 18px;
	border: 1px solid var(--sslms-nav-border);
	border-radius: 12px;
	background: var(--sslms-nav-surface);
}

.sslms-curriculum-nav *,
.sslms-curriculum-nav *::before,
.sslms-curriculum-nav *::after {
	box-sizing: border-box;
}

.sslms-curriculum-nav-heading {
	margin: 0 0 4px;
	font-size: 1.1rem;
	line-height: 1.3;
}

.sslms-curriculum-nav-course {
	display: inline-block;
	margin-bottom: 14px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--sslms-nav-accent);
	text-decoration: none;
}

.sslms-curriculum-nav-course:hover,
.sslms-curriculum-nav-course:focus {
	text-decoration: underline;
}

.sslms-curriculum-nav-progress {
	margin: 0 0 14px;
}

.sslms-curriculum-nav-progress .sslms-progress {
	margin: 0;
}

.sslms-curriculum-nav-progress .sslms-progress-label {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 6px;
	font-size: 0.8rem;
	font-weight: 700;
}

.sslms-curriculum-nav-progress .sslms-progress-track {
	height: 7px;
	overflow: hidden;
	border-radius: 999px;
	background: var(--sslms-nav-soft);
}

.sslms-curriculum-nav-progress .sslms-progress-fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--sslms-nav-accent);
}

.sslms-curriculum-nav-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--sslms-nav-border);
}

.sslms-curriculum-nav-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--sslms-nav-border);
}

.sslms-curriculum-nav-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.sslms-curriculum-nav-item.is-current {
	margin-right: -10px;
	margin-left: -10px;
	padding-right: 10px;
	padding-left: 10px;
	border-left: 3px solid var(--sslms-nav-accent);
	background: var(--sslms-nav-soft);
}

.sslms-curriculum-nav-item.is-locked {
	color: var(--sslms-nav-muted);
}

.sslms-curriculum-nav-number {
	display: inline-grid;
	place-items: center;
	flex: 0 0 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--sslms-nav-soft);
	font-size: 0.75rem;
	font-weight: 800;
	color: var(--sslms-nav-accent);
}

.sslms-curriculum-nav-item.is-current .sslms-curriculum-nav-number,
.sslms-curriculum-nav-item.is-complete .sslms-curriculum-nav-number {
	background: var(--sslms-nav-accent);
	color: #fff;
}

.sslms-curriculum-nav-copy {
	min-width: 0;
}

.sslms-curriculum-nav-copy > a,
.sslms-curriculum-nav-locked-title {
	display: block;
	font-weight: 700;
	line-height: 1.35;
	color: inherit;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.sslms-curriculum-nav-copy > a:hover,
.sslms-curriculum-nav-copy > a:focus,
.sslms-curriculum-nav-copy > a[aria-current="page"] {
	color: var(--sslms-nav-accent);
}

.sslms-curriculum-nav-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 5px;
}

.sslms-curriculum-nav-meta span {
	padding: 2px 6px;
	border-radius: 999px;
	background: var(--sslms-nav-soft);
	font-size: 0.7rem;
	line-height: 1.35;
	color: var(--sslms-nav-muted);
}

.sslms-curriculum-nav-empty {
	margin: 12px 0 0;
	color: var(--sslms-nav-muted);
}
