.course-banner {
	background-image: url("../images/default/banner_cursos.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.course-counter-icon {
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
}

.course-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	overflow: hidden;
	border: 1px solid var(--bs-border-color);
	border-radius: 1rem;
	background-color: var(--bs-body-bg);
	box-shadow: var(--bs-box-shadow-sm);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.course-card:hover {
	transform: translateY(-4px);
	border-color: rgba(var(--bs-pantone2607C-rgb), 0.35);
	box-shadow: var(--bs-box-shadow);
}

.course-card-cover {
	position: relative;
	height: 175px;
	overflow: hidden;
	background-color: var(--bs-secondary-bg);
}

.course-card-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.course-card:hover .course-card-img {
	transform: scale(1.05);
}

.course-card-cover-gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 35%, rgba(0, 0, 0, 0.7) 100%);
}

.course-card-category {
	position: absolute;
	bottom: 0.75rem;
	left: 0.75rem;
	z-index: 2;
	max-width: calc(100% - 5.5rem);
	padding: 0.38rem 0.7rem;
	overflow: hidden;
	border-radius: 999px;
	color: var(--bs-white);
	background-color: rgba(60, 13, 122, 0.68);
	font-size: 0.76rem;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.course-card-body {
	flex: 1;
	padding: 1rem 1rem 0.75rem;
	color: var(--bs-body-color);
	background-color: var(--bs-body-bg);
}

.course-card-title {
	margin-bottom: 0.65rem;
	color: var(--bs-heading-color);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
}

.course-card-description {
	display: -webkit-box;
	min-height: 2.7rem;
	margin-bottom: 0.9rem;
	overflow: hidden;
	color: var(--bs-secondary-color);
	font-size: 0.84rem;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.course-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.course-tag {
	display: inline-flex;
	align-items: center;
	padding: 0.32rem 0.6rem;
	border: 1px solid var(--bs-border-color);
	border-radius: 999px;
	color: var(--bs-pantone2607C);
	background-color: rgba(var(--bs-pantone2577C-rgb), 0.08);
	font-size: 0.72rem;
	font-weight: 600;
}

.course-card-footer {
	padding: 0.25rem 1rem 1rem;
	background-color: var(--bs-body-bg);
}

.course-card-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	width: 100%;
	min-height: 42px;
	padding: 0.65rem 0.9rem;
	border: 1px solid var(--bs-pantone2607C);
	border-radius: 0.7rem;
	color: var(--bs-pantone2607C);
	background-color: transparent;
	text-decoration: none;
	font-size: 0.86rem;
	font-weight: 600;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.course-card-btn:hover {
	color: var(--bs-white);
	background-color: var(--bs-pantone2607C);
}

@media (max-width: 575.98px) {
	.course-card-cover {
		height: 190px;
	}
}

.course-catalog-cta {
	overflow: hidden;
	border: 1px solid rgba(var(--bs-pantone2607C-rgb), 0.18) !important;
	background-color: var(--bs-white);
	background-image: linear-gradient(135deg, rgba(var(--bs-pantone2577C-rgb), 0.12), rgba(var(--bs-pantone2607C-rgb), 0.04));
	box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12) !important;
}

.course-catalog-cta .card-body {
	position: relative;
	z-index: 1;
	background-color: transparent;
}

.course-catalog-cta h3 {
	color: var(--bs-dark);
}

.course-catalog-cta .text-muted {
	color: var(--bs-secondary-color) !important;
}

.course-catalog-cta-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	color: var(--bs-white);
	background-color: var(--bs-pantone2607C);
	font-size: 1.25rem;
}

.course-catalog-cta .btn-primary {
	min-width: 196px;
	border-color: var(--bs-pantone2607C);
	background-color: var(--bs-pantone2607C);
	font-weight: 600;
}

.course-catalog-cta .btn-primary:hover,
.course-catalog-cta .btn-primary:focus {
	border-color: var(--bs-pantone2607C);
	background-color: var(--bs-pantone2607C);
	filter: brightness(0.9);
}

@media (max-width: 991.98px) {
	.course-catalog-cta .btn-primary {
		width: 100%;
	}
}

@media (max-width: 575.98px) {
	.course-catalog-cta .d-flex {
		align-items: flex-start !important;
	}

	.course-catalog-cta-icon {
		width: 48px;
		height: 48px;
		flex-basis: 48px;
		font-size: 1.1rem;
	}
}