.elc-cc-wrap {
	display: flex;
	gap: 30px;
	align-items: flex-start;
	font-family: inherit;
}

/* ---- Sidebar filters ---- */
.elc-cc-filters {
	width: 280px;
	flex-shrink: 0;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	padding: 20px;
}
.elc-cc-filters-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: 1px solid #eee;
}
.elc-cc-filters-head h3 { margin: 0; font-size: 16px; }
.elc-cc-clear-all, .elc-cc-clear-group {
	color: #2b6cb0;
	font-size: 13px;
	text-decoration: none;
}
.elc-cc-filter-group { margin-bottom: 22px; }
.elc-cc-filter-group-head {
	display: flex;
	justify-content: space-between;
	font-weight: 600;
	margin-bottom: 8px;
}
.elc-cc-term-search {
	width: 100%;
	box-sizing: border-box;
	padding: 6px 8px;
	margin-bottom: 8px;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 13px;
}
.elc-cc-term-list {
	max-height: 180px;
	overflow-y: auto;
}
.elc-cc-term {
	display: block;
	font-size: 14px;
	padding: 3px 0;
	cursor: pointer;
}
.elc-cc-term input { margin-right: 6px; }

/* ---- Results ---- */
.elc-cc-results { flex: 1; min-width: 0; }
.elc-cc-results-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
}
.elc-cc-sort {
	padding: 6px 10px;
	border: 1px solid #ddd;
	border-radius: 3px;
}
.elc-cc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 20px;
	transition: opacity 0.2s ease;
}
.elc-cc-card {
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: #fff;
}
.elc-cc-card-thumb img { width: 100%; display: block; aspect-ratio: 16/10; object-fit: cover; }
.elc-cc-card-body { padding: 15px; }
.elc-cc-card-title {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: #2b6cb0;
	text-decoration: none;
	margin-bottom: 6px;
}
.elc-cc-card-uni { font-weight: 600; margin: 4px 0; }
.elc-cc-card-body p { margin: 3px 0; font-size: 14px; color: #444; }
.elc-cc-card-foot {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid #eee;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
}
.elc-cc-view-btn {
	background: #1a5276;
	color: #fff;
	padding: 7px 14px;
	border-radius: 3px;
	text-decoration: none;
	font-size: 13px;
	white-space: nowrap;
}

/* ---- Pagination ---- */
.elc-cc-pagination {
	margin-top: 25px;
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.elc-cc-page-btn {
	border: 1px solid #ddd;
	background: #fff;
	padding: 6px 12px;
	border-radius: 3px;
	cursor: pointer;
}
.elc-cc-page-btn.active {
	background: #1a5276;
	color: #fff;
	border-color: #1a5276;
}

/* ---- Responsive ---- */
@media (max-width: 782px) {
	.elc-cc-wrap { flex-direction: column; }
	.elc-cc-filters { width: 100%; }
}

/* ==================================================
 * Single Course detail page
 * ================================================== */
.elc-course-single {
	max-width: 1100px;
	margin: 0 auto;
	padding: 40px 20px;
}
.elc-cs-top {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
}
.elc-cs-thumb {
	width: 260px;
	flex-shrink: 0;
}
.elc-cs-thumb img { width: 100%; border-radius: 4px; display: block; }
.elc-cs-info { flex: 1; min-width: 280px; }
.elc-cs-title { font-size: 26px; margin: 0 0 6px; }
.elc-cs-university { font-weight: 600; color: #444; margin: 0 0 10px; }
.elc-cs-rating { margin-bottom: 14px; }
.elc-cs-star { color: #ddd; font-size: 18px; }
.elc-cs-star.filled { color: #f5a623; }
.elc-cs-meta-row {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 14px;
	font-size: 14px;
	color: #444;
}
.elc-cs-meta-item { display: inline-flex; align-items: center; gap: 6px; }
.elc-cs-icon { font-size: 15px; }
.elc-cs-excerpt { color: #555; margin-bottom: 12px; }
.elc-cs-fee, .elc-cs-cert { margin: 4px 0; font-weight: 600; }
.elc-cs-enrol-btn {
	display: inline-block;
	margin-top: 14px;
	background: #2b6cb0;
	color: #fff;
	padding: 12px 28px;
	border-radius: 3px;
	text-decoration: none;
	font-weight: 600;
}
.elc-cs-description { margin-top: 40px; }
.elc-cs-description h2 { font-size: 20px; margin-bottom: 12px; }
.elc-cs-content { line-height: 1.7; color: #333; }

@media (max-width: 640px) {
	.elc-cs-top { flex-direction: column; }
	.elc-cs-thumb { width: 100%; }
}

/* ---- Tabs ---- */
.elc-cs-tabs { margin-top: 30px; }
.elc-cs-tab-nav {
	display: flex;
	gap: 26px;
	border-bottom: 1px solid #e5e5e5;
	flex-wrap: wrap;
}
.elc-cs-tab-btn {
	background: none;
	border: none;
	padding: 10px 0;
	font-size: 15px;
	color: #333;
	cursor: pointer;
	border-bottom: 2px solid transparent;
}
.elc-cs-tab-btn.active {
	color: #2b6cb0;
	border-bottom-color: #2b6cb0;
	font-weight: 600;
}
.elc-cs-tab-panel {
	display: none;
	background: #f8f8f8;
	padding: 20px;
	margin-top: 15px;
	border-radius: 4px;
	line-height: 1.7;
	color: #333;
}
.elc-cs-tab-panel.active { display: block; }
