.cube-course-wrap { margin-top: 30px; margin-bottom: 40px; }
.cube-course-card {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 24px;
	box-shadow: 0 8px 24px rgba(0,0,0,.04);
}
.cube-course-card img { width: 100%; height: 180px; object-fit: cover; background: #f6f6f6; }
.cube-course-card .pad { padding: 16px 18px 18px; }
.cube-course-card h3 { margin: 0 0 8px; font-size: 18px; }
.cube-course-card h3 a { color: #222; }
.cube-price { color: #111; font-weight: bold; }
.cube-meta { color: #777; font-size: 13px; margin-bottom: 8px; }
.cube-buy-box {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 10px;
	padding: 16px;
	box-shadow: 0 10px 30px rgba(0,0,0,.05);
}
.cube-buy-box img { width: 100%; border-radius: 8px; margin-bottom: 12px; background: #f3f3f3; }
.cube-buy-box .price { font-size: 28px; color: #111; margin: 8px 0; }
.cube-buy-box .old { color: #999; text-decoration: line-through; font-size: 14px; }
.cube-lesson {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-top: 1px solid #f0f0f0;
	color: #333;
}
.cube-lesson:hover { background: #fffaf0; color: #333; text-decoration: none; }
.cube-lesson.active { background: #fff6df; }
.cube-lesson i.fa { width: 18px; color: #ffb600; }
.cube-badge {
	margin-right: auto;
	font-size: 12px;
	border-radius: 20px;
	padding: 2px 8px;
	background: #f4f4f4;
}
.cube-badge.free { background: #e8f8ee; color: #1d7a3a; }
.cube-badge.lock { background: #fff1f0; color: #a33; }
.cube-section {
	border: 1px solid #eee;
	border-radius: 8px;
	margin-bottom: 12px;
	overflow: hidden;
}
.cube-section h4 {
	margin: 0;
	padding: 12px 14px;
	background: #fafafa;
	font-size: 16px;
}
.cube-player {
	position: relative;
	background: #1b1b1b;
	border-radius: 10px;
	min-height: 220px;
	margin-bottom: 18px;
	overflow: hidden;
}
.cube-player video { width: 100%; max-height: 460px; background: #000; display: block; }
.cube-player-lock {
	min-height: 280px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	padding: 30px 16px;
	background: #243140 center/cover no-repeat;
}
.cube-player-lock:before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 32, .72);
}
.cube-player-lock > * { position: relative; z-index: 1; }
.cube-player-lock .fa { font-size: 54px; color: #ffb600; margin-bottom: 10px; }
.cube-learn { padding-right: 18px; }
.cube-learn li { margin-bottom: 6px; }
.cube-note { background: #fff8e8; border: 1px solid #ffe1a3; border-radius: 8px; padding: 10px 12px; margin-bottom: 14px; }
