/**
 * Moyo Courses Archive — MasterStudy LMS CSS Override
 *
 * File: masterstudy-child/inc/pages/courses/courses-archive.css
 * Reskins the entire MasterStudy courses archive page + single course pages.
 * All colors use moyo-brand.css variables — zero hardcoded values.
 * Every rule uses !important to override MasterStudy defaults.
 *
 * Loaded at priority 99 via init.php — after MasterStudy loads its CSS.
 *
 * Sections:
 *    1. Page Layout + Background
 *    2. Page Title / Filter Header
 *    3. Search Input
 *    4. Sort Dropdown + View Switcher
 *    5. Category Filter Tabs / Sidebar
 *    6. Advanced Filters Sidebar
 *    7. Course Cards — Grid Container
 *    8. Course Cards — Card Shell
 *    9. Course Cards — Image
 *   10. Course Cards — Category Term
 *   11. Course Cards — Title
 *   12. Course Cards — Meta (author, lessons, duration)
 *   13. Course Cards — Rating Stars
 *   14. Course Cards — Price
 *   15. Course Cards — Bottom Area / Actions
 *   16. Course Cards — Featured Badge
 *   17. Course Cards — Hover Info Panel
 *   18. Course Cards — Free / Sale Labels
 *   19. Load More / Pagination
 *   20. Featured Courses Section
 *   21. No Results State
 *   22. List View Overrides
 *   23. Single Course — Related Cards Consistency
 *   24. Responsive — 1200px (small desktop)
 *   25. Responsive — 960px (tablet)
 *   26. Responsive — 640px (mobile)
 *   27. Responsive — 480px (small mobile)
 */


/* =====================================================================
   1. PAGE LAYOUT + BACKGROUND
   ===================================================================== */

/* Main page wrapper — clean background */
.stm_lms_courses,
.stm_lms_courses_page_wrapper,
.stm-lms-courses-wrapper,
body.post-type-archive-stm-courses #content,
body.tax-stm_lms_course_taxonomy #content {
	background-color: var(--moyo-bg, #f3f4f6) !important;
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
}

/* Remove any default page top padding MasterStudy adds */
body.post-type-archive-stm-courses .container,
body.tax-stm_lms_course_taxonomy .container,
body.post-type-archive-stm-courses .stm_lms_courses,
body.tax-stm_lms_course_taxonomy .stm_lms_courses {
	padding-top: 48px !important;
	padding-bottom: 64px !important;
}

/* Main content container — respect max-width */
body.post-type-archive-stm-courses .container,
body.tax-stm_lms_course_taxonomy .container {
	max-width: var(--moyo-container-max, 1200px) !important;
	margin: 0 auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box !important;
}


/* =====================================================================
   2. PAGE TITLE / FILTER HEADER
   ===================================================================== */

/* Courses archive page title area */
.courses_filters,
.stm_lms_courses__filter_top,
.stm_lms_courses_header,
.stm-lms-courses-head {
	margin-bottom: 32px !important;
	padding: 0 !important;
}

/* Main heading */
.courses_filters__title h1,
.stm_lms_courses_header h1,
.stm-lms-courses-head h1,
.stm_lms_courses__archive_top h1,
h1.stm_lms_courses_title,
.archive-courses-title h1 {
	font-family: var(--moyo-font-heading, 'Poppins', sans-serif) !important;
	font-size: 38px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	color: var(--moyo-heading, #1e293b) !important;
	letter-spacing: -0.3px !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
}

/* Subtitle / description below heading */
.courses_filters__title p,
.stm_lms_courses_header p,
.archive-courses-title p {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	color: var(--moyo-muted, #64748b) !important;
	margin: 0 !important;
	padding: 0 !important;
	max-width: 640px;
}


/* =====================================================================
   3. SEARCH INPUT
   ===================================================================== */

/* Archive search field */
.stm_lms_courses__search input[type="text"],
.stm_lms_courses__search input[type="search"],
.stm_lms_courses .search-input input,
.stm-lms-courses-search input,
input.stm_lms_courses_search {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 14px !important;
	color: var(--moyo-heading, #1e293b) !important;
	background: var(--moyo-card, #ffffff) !important;
	border: 1px solid var(--moyo-border, #e5e7eb) !important;
	border-radius: var(--moyo-radius-lg, 8px) !important;
	padding: 12px 16px !important;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color var(--moyo-transition, 0.2s ease),
	            box-shadow var(--moyo-transition, 0.2s ease) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.stm_lms_courses__search input:focus,
.stm_lms_courses .search-input input:focus,
input.stm_lms_courses_search:focus {
	border-color: var(--moyo-primary, #2563eb) !important;
	box-shadow: 0 0 0 3px rgba(var(--moyo-primary-rgb, 37, 99, 235), 0.12) !important;
}

.stm_lms_courses__search input::placeholder,
input.stm_lms_courses_search::placeholder {
	color: var(--moyo-placeholder, #94a3b8) !important;
	font-weight: 400 !important;
}

/* Search icon inside field */
.stm_lms_courses__search .fa,
.stm_lms_courses__search .stmlms-search,
.stm_lms_courses__search i {
	color: var(--moyo-muted, #64748b) !important;
}


/* =====================================================================
   4. SORT DROPDOWN + VIEW SWITCHER
   ===================================================================== */

/* Sort select */
.stm_lms_courses__sort select,
.courses_filters select,
select.stm_lms_courses_sort,
.stm-lms-courses-sort select {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--moyo-heading, #1e293b) !important;
	background: var(--moyo-card, #ffffff) !important;
	border: 1px solid var(--moyo-border, #e5e7eb) !important;
	border-radius: var(--moyo-radius, 4px) !important;
	padding: 10px 36px 10px 14px !important;
	outline: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: border-color var(--moyo-transition, 0.2s ease) !important;
	appearance: auto !important;
	-webkit-appearance: auto !important;
}

.stm_lms_courses__sort select:hover,
select.stm_lms_courses_sort:hover {
	border-color: var(--moyo-border-hover, #d1d5db) !important;
}

.stm_lms_courses__sort select:focus,
select.stm_lms_courses_sort:focus {
	border-color: var(--moyo-primary, #2563eb) !important;
	box-shadow: 0 0 0 3px rgba(var(--moyo-primary-rgb, 37, 99, 235), 0.12) !important;
}

/* Grid / List view switcher icons */
.stm_lms_courses__grid_switcher a,
.stm_lms_courses__view_type a,
.view-type-btn {
	color: var(--moyo-muted, #64748b) !important;
	opacity: 0.5 !important;
	transition: all var(--moyo-transition, 0.2s ease) !important;
	text-decoration: none !important;
}

.stm_lms_courses__grid_switcher a:hover,
.stm_lms_courses__view_type a:hover,
.view-type-btn:hover {
	color: var(--moyo-primary, #2563eb) !important;
	opacity: 1 !important;
}

.stm_lms_courses__grid_switcher a.active,
.stm_lms_courses__view_type a.active,
.view-type-btn.active {
	color: var(--moyo-primary, #2563eb) !important;
	opacity: 1 !important;
}

/* Filter/sort bar wrapper — hidden (our widget handles sort) */
.stm_lms_courses__filter_bar,
.courses_filters__sort,
.stm_lms_courses__top_bar {
	display: none !important;
}


/* =====================================================================
   5. CATEGORY FILTER TABS / SIDEBAR
   ===================================================================== */

/* Inline category links / tabs */
.stm_lms_courses__terms,
.stm_lms_courses__categories,
.courses-categories-list {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-bottom: 28px !important;
	padding: 0 !important;
	list-style: none !important;
}

.stm_lms_courses__terms a,
.stm_lms_courses__categories a,
.courses-categories-list a {
	display: inline-flex !important;
	align-items: center !important;
	padding: 8px 20px !important;
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--moyo-body, #475569) !important;
	background: var(--moyo-card, #ffffff) !important;
	border: 1px solid var(--moyo-border, #e5e7eb) !important;
	border-radius: 100px !important;
	text-decoration: none !important;
	transition: all var(--moyo-transition, 0.2s ease) !important;
	white-space: nowrap !important;
	cursor: pointer !important;
}

.stm_lms_courses__terms a:hover,
.stm_lms_courses__categories a:hover,
.courses-categories-list a:hover {
	color: var(--moyo-primary, #2563eb) !important;
	border-color: var(--moyo-primary, #2563eb) !important;
	background: rgba(var(--moyo-primary-rgb, 37, 99, 235), 0.04) !important;
}

/* Active / current category */
.stm_lms_courses__terms a.active,
.stm_lms_courses__terms a.current,
.stm_lms_courses__categories a.active,
.courses-categories-list a.active,
.stm_lms_courses__terms .current-cat a,
.stm_lms_courses__categories .current-cat a {
	color: var(--moyo-on-primary, #ffffff) !important;
	background: var(--moyo-primary, #2563eb) !important;
	border-color: var(--moyo-primary, #2563eb) !important;
}

/* Category count badge */
.stm_lms_courses__terms a .count,
.stm_lms_courses__categories a .count,
.courses-categories-list a .count {
	font-size: 11px !important;
	font-weight: 600 !important;
	opacity: 0.7 !important;
	margin-left: 6px !important;
}


/* =====================================================================
   6. ADVANCED FILTERS SIDEBAR
   ===================================================================== */

/* Sidebar panel */
.stm_lms_courses__archive_filter,
.stm_lms_courses__sidebar_filter,
.stm-lms-courses-sidebar {
	background: var(--moyo-card, #ffffff) !important;
	border: 1px solid var(--moyo-border, #e5e7eb) !important;
	border-radius: var(--moyo-radius-lg, 8px) !important;
	padding: 28px !important;
	box-shadow: var(--moyo-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06)) !important;
}

/* Filter toggle button (mobile) */
.stm_lms_courses__filter_toggle,
.stm_lms_courses__toggle_filter,
button.stm_lms_courses_filter_button {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--moyo-on-primary, #ffffff) !important;
	background: var(--moyo-primary, #2563eb) !important;
	border: none !important;
	border-radius: var(--moyo-radius, 4px) !important;
	padding: 10px 24px !important;
	cursor: pointer !important;
	transition: background var(--moyo-transition, 0.2s ease) !important;
}

.stm_lms_courses__filter_toggle:hover,
.stm_lms_courses__toggle_filter:hover,
button.stm_lms_courses_filter_button:hover {
	background: var(--moyo-primary-end, #3b82f6) !important;
}

/* Section headings inside filter */
.stm_lms_courses__archive_filter h4,
.stm_lms_courses__sidebar_filter h4,
.stm_lms_courses__archive_filter .stm_lms_courses__filter_title,
.stm_lms_courses__sidebar_filter .filter-title {
	font-family: var(--moyo-font-heading, 'Poppins', sans-serif) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--moyo-heading, #1e293b) !important;
	margin: 0 0 14px 0 !important;
	padding: 0 0 10px 0 !important;
	border-bottom: 1px solid var(--moyo-border-light, #f3f4f6) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

/* Filter sections spacing */
.stm_lms_courses__archive_filter > div,
.stm_lms_courses__sidebar_filter > div,
.stm_lms_courses__archive_filter .stm_lms_courses__filter_section {
	margin-bottom: 24px !important;
	padding-bottom: 24px !important;
	border-bottom: 1px solid var(--moyo-border-light, #f3f4f6) !important;
}

.stm_lms_courses__archive_filter > div:last-child,
.stm_lms_courses__sidebar_filter > div:last-child,
.stm_lms_courses__archive_filter .stm_lms_courses__filter_section:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
}

/* Checkboxes + radio buttons */
.stm_lms_courses__archive_filter input[type="checkbox"],
.stm_lms_courses__sidebar_filter input[type="checkbox"],
.stm_lms_courses__archive_filter input[type="radio"],
.stm_lms_courses__sidebar_filter input[type="radio"] {
	accent-color: var(--moyo-primary, #2563eb) !important;
	width: 16px !important;
	height: 16px !important;
	cursor: pointer !important;
}

.stm_lms_courses__archive_filter label,
.stm_lms_courses__sidebar_filter label {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 14px !important;
	color: var(--moyo-body, #475569) !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 4px 0 !important;
	transition: color var(--moyo-transition, 0.2s ease) !important;
}

.stm_lms_courses__archive_filter label:hover,
.stm_lms_courses__sidebar_filter label:hover {
	color: var(--moyo-heading, #1e293b) !important;
}

/* Submit / Apply filter button */
.stm_lms_courses__archive_filter .stm_lms_courses__filter_apply,
.stm_lms_courses__sidebar_filter .stm_lms_courses__filter_apply,
.stm_lms_courses__archive_filter button[type="submit"],
.stm_lms_courses__sidebar_filter button[type="submit"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--moyo-on-primary, #ffffff) !important;
	background: var(--moyo-primary, #2563eb) !important;
	border: none !important;
	border-radius: var(--moyo-radius, 4px) !important;
	padding: 12px 24px !important;
	cursor: pointer !important;
	transition: background var(--moyo-transition, 0.2s ease),
	            box-shadow var(--moyo-transition, 0.2s ease) !important;
}

.stm_lms_courses__archive_filter .stm_lms_courses__filter_apply:hover,
.stm_lms_courses__sidebar_filter .stm_lms_courses__filter_apply:hover,
.stm_lms_courses__archive_filter button[type="submit"]:hover,
.stm_lms_courses__sidebar_filter button[type="submit"]:hover {
	background: var(--moyo-primary-end, #3b82f6) !important;
	box-shadow: var(--moyo-shadow-primary, 0 2px 8px rgba(37, 99, 235, 0.35)) !important;
}

/* Reset / Clear filter link */
.stm_lms_courses__archive_filter .stm_lms_courses__filter_reset,
.stm_lms_courses__sidebar_filter .stm_lms_courses__filter_reset,
.stm_lms_courses__archive_filter a.reset-filter,
.stm_lms_courses__sidebar_filter a.reset-filter {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--moyo-muted, #64748b) !important;
	text-decoration: none !important;
	display: inline-block !important;
	margin-top: 12px !important;
	text-align: center !important;
	width: 100% !important;
	transition: color var(--moyo-transition, 0.2s ease) !important;
}

.stm_lms_courses__archive_filter .stm_lms_courses__filter_reset:hover,
.stm_lms_courses__sidebar_filter .stm_lms_courses__filter_reset:hover,
.stm_lms_courses__archive_filter a.reset-filter:hover,
.stm_lms_courses__sidebar_filter a.reset-filter:hover {
	color: var(--moyo-primary, #2563eb) !important;
}

/* Price range slider — accent color */
.stm_lms_courses__archive_filter .ui-slider,
.stm_lms_courses__sidebar_filter .ui-slider {
	background: var(--moyo-border, #e5e7eb) !important;
	border: none !important;
	border-radius: 4px !important;
	height: 4px !important;
}

.stm_lms_courses__archive_filter .ui-slider-range,
.stm_lms_courses__sidebar_filter .ui-slider-range {
	background: var(--moyo-primary, #2563eb) !important;
}

.stm_lms_courses__archive_filter .ui-slider-handle,
.stm_lms_courses__sidebar_filter .ui-slider-handle {
	background: var(--moyo-primary, #2563eb) !important;
	border: 2px solid var(--moyo-on-primary, #ffffff) !important;
	border-radius: 50% !important;
	width: 18px !important;
	height: 18px !important;
	top: -7px !important;
	box-shadow: var(--moyo-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06)) !important;
	cursor: grab !important;
}


/* =====================================================================
   7. COURSE CARDS — GRID CONTAINER
   ===================================================================== */

/* Grid layout for cards */
.stm_lms_courses__grid,
.stm_lms_courses__archive_grid,
.stm_lms_courses .stm_lms_courses__grid,
.stm-lms-courses-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 28px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}


/* =====================================================================
   8. COURSE CARDS — CARD SHELL
   ===================================================================== */

/* Individual course card */
.stm_lms_courses__single,
.stm_lms_courses__single--card,
.stm_lms_courses .stm_lms_courses__single,
.stm_lms_courses__grid .stm_lms_courses__single {
	background: var(--moyo-card, #ffffff) !important;
	border: 1px solid var(--moyo-border, #e5e7eb) !important;
	border-radius: 12px !important;
	box-shadow: var(--moyo-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06)) !important;
	overflow: hidden !important;
	transition: transform 0.3s ease,
	            box-shadow 0.3s ease,
	            border-color 0.3s ease !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Card hover state — lift + shadow */
.stm_lms_courses__single:hover,
.stm_lms_courses__single--card:hover {
	transform: translateY(-6px) !important;
	box-shadow:
		0 12px 40px rgba(0, 0, 0, 0.08),
		0 4px 12px rgba(0, 0, 0, 0.04) !important;
	border-color: var(--moyo-border-hover, #d1d5db) !important;
}

/* Remove any default MasterStudy margin/padding on card wrappers */
.stm_lms_courses__grid > div,
.stm_lms_courses__grid > article,
.stm_lms_courses__grid > li {
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	float: none !important;
}

/* Card link wrapper (if the entire card is a link) */
.stm_lms_courses__single > a,
.stm_lms_courses__single__link {
	text-decoration: none !important;
	color: inherit !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}

.stm_lms_courses__single > a:hover {
	text-decoration: none !important;
}


/* =====================================================================
   9. COURSE CARDS — IMAGE
   ===================================================================== */

/* Image wrapper */
.stm_lms_courses__single--image,
.stm_lms_courses__single .stm_lms_courses__single__image,
.stm_lms_courses__single .stm_lms_courses__image,
.stm_lms_courses__single__thumbnail {
	position: relative !important;
	overflow: hidden !important;
	border-radius: 12px 12px 0 0 !important;
	height: 200px !important;
	flex-shrink: 0 !important;
}

/* Actual image */
.stm_lms_courses__single--image img,
.stm_lms_courses__single .stm_lms_courses__single__image img,
.stm_lms_courses__single .stm_lms_courses__image img,
.stm_lms_courses__single__thumbnail img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.4s ease !important;
}

/* Image zoom on card hover */
.stm_lms_courses__single:hover .stm_lms_courses__single--image img,
.stm_lms_courses__single:hover .stm_lms_courses__single__image img,
.stm_lms_courses__single:hover .stm_lms_courses__image img,
.stm_lms_courses__single:hover .stm_lms_courses__single__thumbnail img {
	transform: scale(1.05) !important;
}

/* Image gradient overlay — dark at bottom for contrast on any image */
.stm_lms_courses__single--image::after,
.stm_lms_courses__single .stm_lms_courses__single__image::after {
	content: '' !important;
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 50% !important;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.15), transparent) !important;
	pointer-events: none !important;
	z-index: 1 !important;
}


/* =====================================================================
  10. COURSE CARDS — CATEGORY TERM
   ===================================================================== */

.stm_lms_courses__single--term,
.stm_lms_courses__single .stm_lms_courses__single__term,
.stm_lms_courses__single .stm_lms_courses__term,
.stm_lms_courses__single__category,
.stm_lms_courses__single .course-category {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	color: var(--moyo-primary, #2563eb) !important;
	margin: 16px 20px 0 20px !important;
	padding: 0 !important;
	display: block !important;
	line-height: 1.4 !important;
}

.stm_lms_courses__single--term a,
.stm_lms_courses__single .stm_lms_courses__single__term a,
.stm_lms_courses__single .course-category a {
	color: var(--moyo-primary, #2563eb) !important;
	text-decoration: none !important;
}

.stm_lms_courses__single--term a:hover,
.stm_lms_courses__single .stm_lms_courses__single__term a:hover,
.stm_lms_courses__single .course-category a:hover {
	color: var(--moyo-primary-end, #3b82f6) !important;
	text-decoration: none !important;
}


/* =====================================================================
  11. COURSE CARDS — TITLE
   ===================================================================== */

.stm_lms_courses__single--title,
.stm_lms_courses__single--title h5,
.stm_lms_courses__single--title h4,
.stm_lms_courses__single--title h3,
.stm_lms_courses__single .stm_lms_courses__single__title,
.stm_lms_courses__single .stm_lms_courses__single__title h5,
.stm_lms_courses__single .stm_lms_courses__single__title h4,
.stm_lms_courses__single .course-title,
.stm_lms_courses__single .course-title h5 {
	font-family: var(--moyo-font-heading, 'Poppins', sans-serif) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	color: var(--moyo-heading, #1e293b) !important;
	margin: 8px 20px 0 20px !important;
	padding: 0 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	word-break: break-word !important;
	transition: color var(--moyo-transition, 0.2s ease) !important;
}

/* Title link */
.stm_lms_courses__single--title a,
.stm_lms_courses__single .stm_lms_courses__single__title a,
.stm_lms_courses__single .course-title a {
	color: var(--moyo-heading, #1e293b) !important;
	text-decoration: none !important;
	transition: color var(--moyo-transition, 0.2s ease) !important;
}

/* Title hover */
.stm_lms_courses__single:hover .stm_lms_courses__single--title a,
.stm_lms_courses__single:hover .stm_lms_courses__single__title a,
.stm_lms_courses__single:hover .course-title a,
.stm_lms_courses__single--title a:hover,
.stm_lms_courses__single .course-title a:hover {
	color: var(--moyo-primary, #2563eb) !important;
}


/* =====================================================================
  12. COURSE CARDS — META (author, lessons, duration)
   ===================================================================== */

/* Meta info row */
.stm_lms_courses__single--meta,
.stm_lms_courses__single .stm_lms_courses__single__meta,
.stm_lms_courses__single .stm_lms_courses__meta,
.stm_lms_courses__single .course-meta {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin: 12px 20px 0 20px !important;
	padding: 0 !important;
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	color: var(--moyo-muted, #64748b) !important;
	line-height: 1.5 !important;
}

/* Individual meta items */
.stm_lms_courses__single--meta > span,
.stm_lms_courses__single--meta > div,
.stm_lms_courses__single .stm_lms_courses__single__meta > span,
.stm_lms_courses__single .stm_lms_courses__single__meta > div,
.stm_lms_courses__single .course-meta > span,
.stm_lms_courses__single .course-meta > div {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	color: var(--moyo-muted, #64748b) !important;
	font-size: 13px !important;
}

/* Meta icons */
.stm_lms_courses__single--meta i,
.stm_lms_courses__single--meta .fa,
.stm_lms_courses__single--meta svg,
.stm_lms_courses__single .stm_lms_courses__single__meta i,
.stm_lms_courses__single .course-meta i {
	color: currentColor !important;
	font-size: 13px !important;
	width: 14px !important;
	opacity: 0.65 !important;
}

/* Author name */
.stm_lms_courses__single .stm_lms_courses__single--meta-author,
.stm_lms_courses__single .stm_lms_courses__single__meta a,
.stm_lms_courses__single .course-meta a {
	color: var(--moyo-body, #475569) !important;
	text-decoration: none !important;
	font-weight: 500 !important;
}

.stm_lms_courses__single .stm_lms_courses__single--meta-author:hover,
.stm_lms_courses__single .stm_lms_courses__single__meta a:hover,
.stm_lms_courses__single .course-meta a:hover {
	color: var(--moyo-primary, #2563eb) !important;
}

/* Meta separator dots */
.stm_lms_courses__single--meta .meta-separator,
.stm_lms_courses__single .stm_lms_courses__single__meta .meta-separator {
	width: 3px !important;
	height: 3px !important;
	background: var(--moyo-muted, #64748b) !important;
	border-radius: 50% !important;
	opacity: 0.5 !important;
}

/* Students / enrollment count */
.stm_lms_courses__single .stm_lms_courses__single--meta-students,
.stm_lms_courses__single .students-count {
	color: var(--moyo-footer-text, #94a3b8) !important;
	font-size: 12px !important;
}


/* =====================================================================
  13. COURSE CARDS — RATING STARS
   ===================================================================== */

.stm_lms_courses__single--rating,
.stm_lms_courses__single .stm_lms_courses__single__rating,
.stm_lms_courses__single .course-rating,
.stm_lms_courses__single .average-rating-stars {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 10px 20px 0 20px !important;
	padding: 0 !important;
}

/* Star icons — gold */
.stm_lms_courses__single--rating i,
.stm_lms_courses__single--rating .fa,
.stm_lms_courses__single--rating .fa-star,
.stm_lms_courses__single .stm_lms_courses__single__rating i,
.stm_lms_courses__single .course-rating i,
.stm_lms_courses__single .average-rating-stars i {
	color: #f59e0b !important;
	font-size: 13px !important;
}

/* Empty star */
.stm_lms_courses__single--rating .fa-star-o,
.stm_lms_courses__single--rating .far.fa-star,
.stm_lms_courses__single .average-rating-stars .fa-star-o {
	color: var(--moyo-border, #e5e7eb) !important;
}

/* Rating number */
.stm_lms_courses__single--rating .rating-count,
.stm_lms_courses__single--rating .average-rating-number,
.stm_lms_courses__single .stm_lms_courses__single__rating span,
.stm_lms_courses__single .course-rating span {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--moyo-heading, #1e293b) !important;
}

/* Number of reviews */
.stm_lms_courses__single--rating .reviews-count,
.stm_lms_courses__single .stm_lms_courses__single__rating .reviews-number {
	font-size: 12px !important;
	color: var(--moyo-muted, #64748b) !important;
	font-weight: 400 !important;
}


/* =====================================================================
  14. COURSE CARDS — PRICE
   ===================================================================== */

.stm_lms_courses__single--price,
.stm_lms_courses__single .stm_lms_courses__single__price,
.stm_lms_courses__single .course-price,
.stm_lms_courses__single .price {
	font-family: var(--moyo-font-heading, 'Poppins', sans-serif) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--moyo-primary, #2563eb) !important;
	margin: auto 20px 0 20px !important;
	padding-top: 12px !important;
}

/* Sale / original price (strikethrough) */
.stm_lms_courses__single--price del,
.stm_lms_courses__single--price .old-price,
.stm_lms_courses__single .stm_lms_courses__single__price del,
.stm_lms_courses__single .course-price del {
	font-size: 14px !important;
	font-weight: 400 !important;
	color: var(--moyo-muted, #64748b) !important;
	text-decoration: line-through !important;
	margin-right: 8px !important;
}

/* Free label */
.stm_lms_courses__single--price .free-label,
.stm_lms_courses__single .stm_lms_courses__single__price .free,
.stm_lms_courses__single .course-price .free {
	color: var(--moyo-success-text, #15803d) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}


/* =====================================================================
  15. COURSE CARDS — BOTTOM AREA / ACTIONS
   ===================================================================== */

/* Bottom section of card (price + button area) */
.stm_lms_courses__single--bottom,
.stm_lms_courses__single .stm_lms_courses__single__bottom,
.stm_lms_courses__single .course-bottom {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 16px 20px !important;
	border-top: 1px solid var(--moyo-border-light, #f3f4f6) !important;
	margin-top: auto !important;
}

/* Action button (View Course / Enroll) */
.stm_lms_courses__single--bottom a.btn,
.stm_lms_courses__single--bottom .stm_lms_courses_btn,
.stm_lms_courses__single .course-bottom a.btn,
.stm_lms_courses__single .stm_lms_courses__single__bottom a {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--moyo-primary, #2563eb) !important;
	background: transparent !important;
	border: 1px solid var(--moyo-primary, #2563eb) !important;
	border-radius: var(--moyo-radius, 4px) !important;
	padding: 8px 20px !important;
	text-decoration: none !important;
	transition: all var(--moyo-transition, 0.2s ease) !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	white-space: nowrap !important;
}

.stm_lms_courses__single--bottom a.btn:hover,
.stm_lms_courses__single--bottom .stm_lms_courses_btn:hover,
.stm_lms_courses__single .course-bottom a.btn:hover,
.stm_lms_courses__single .stm_lms_courses__single__bottom a:hover {
	color: var(--moyo-on-primary, #ffffff) !important;
	background: var(--moyo-primary, #2563eb) !important;
	border-color: var(--moyo-primary, #2563eb) !important;
}

/* Progress bar (for enrolled courses) */
.stm_lms_courses__single .stm_lms_courses__single--progress,
.stm_lms_courses__single .course-progress-bar {
	background: var(--moyo-border, #e5e7eb) !important;
	height: 4px !important;
	border-radius: 4px !important;
	overflow: hidden !important;
	margin: 0 20px 16px 20px !important;
}

.stm_lms_courses__single .stm_lms_courses__single--progress > div,
.stm_lms_courses__single .course-progress-bar > div {
	background: var(--moyo-primary, #2563eb) !important;
	height: 100% !important;
	border-radius: 4px !important;
	transition: width 0.4s ease !important;
}


/* =====================================================================
  16. COURSE CARDS — FEATURED BADGE
   ===================================================================== */

/* Featured ribbon / badge */
.stm_lms_courses__single .featured-badge,
.stm_lms_courses__single .stm_lms_courses__single--featured,
.stm_lms_courses__single .stm_featured_badge {
	position: absolute !important;
	top: 12px !important;
	left: 12px !important;
	z-index: 2 !important;
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	color: var(--moyo-on-primary, #ffffff) !important;
	background: linear-gradient(135deg, var(--moyo-error, #ef4444), #dc2626) !important;
	padding: 5px 12px !important;
	border-radius: 100px !important;
	line-height: 1.3 !important;
	box-shadow: 0 2px 8px rgba(239, 68, 68, 0.35) !important;
}


/* =====================================================================
  17. COURSE CARDS — HOVER INFO PANEL
   ===================================================================== */

/* MasterStudy sometimes shows an info panel on hover */
.stm_lms_courses__single--info_hover,
.stm_lms_courses__single .stm_lms_courses__single__info_hover,
.stm_lms_courses__single .course-hover-info {
	background: var(--moyo-card, #ffffff) !important;
	border: 1px solid var(--moyo-border, #e5e7eb) !important;
	border-radius: var(--moyo-radius-lg, 8px) !important;
	box-shadow: var(--moyo-shadow-lg, 0 4px 16px rgba(0, 0, 0, 0.10)) !important;
	padding: 24px !important;
}

/* Hover panel title */
.stm_lms_courses__single--info_hover h4,
.stm_lms_courses__single .stm_lms_courses__single__info_hover h4 {
	font-family: var(--moyo-font-heading, 'Poppins', sans-serif) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: var(--moyo-heading, #1e293b) !important;
	margin: 0 0 12px 0 !important;
}

/* Hover panel description */
.stm_lms_courses__single--info_hover p,
.stm_lms_courses__single .stm_lms_courses__single__info_hover p {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 14px !important;
	color: var(--moyo-body, #475569) !important;
	line-height: 1.6 !important;
	margin: 0 0 16px 0 !important;
}

/* Hover panel list items (curriculum preview) */
.stm_lms_courses__single--info_hover li,
.stm_lms_courses__single .stm_lms_courses__single__info_hover li {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 13px !important;
	color: var(--moyo-body, #475569) !important;
	padding: 6px 0 !important;
	border-bottom: 1px solid var(--moyo-border-light, #f3f4f6) !important;
}

/* Hover panel button */
.stm_lms_courses__single--info_hover a.btn,
.stm_lms_courses__single--info_hover .stm_lms_courses_btn,
.stm_lms_courses__single .stm_lms_courses__single__info_hover a.btn {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--moyo-on-primary, #ffffff) !important;
	background: var(--moyo-primary, #2563eb) !important;
	border: none !important;
	border-radius: var(--moyo-radius, 4px) !important;
	padding: 10px 24px !important;
	text-decoration: none !important;
	display: inline-block !important;
	transition: background var(--moyo-transition, 0.2s ease) !important;
	width: 100% !important;
	text-align: center !important;
}

.stm_lms_courses__single--info_hover a.btn:hover,
.stm_lms_courses__single--info_hover .stm_lms_courses_btn:hover,
.stm_lms_courses__single .stm_lms_courses__single__info_hover a.btn:hover {
	background: var(--moyo-primary-end, #3b82f6) !important;
}


/* =====================================================================
  18. COURSE CARDS — FREE / SALE LABELS
   ===================================================================== */

/* "Free" badge on image */
.stm_lms_courses__single .stm_lms_courses__single--free,
.stm_lms_courses__single .free-course-badge {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	z-index: 2 !important;
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	color: var(--moyo-success-text, #15803d) !important;
	background: var(--moyo-success-bg, #f0fdf4) !important;
	border: 1px solid var(--moyo-success-border, #bbf7d0) !important;
	padding: 5px 12px !important;
	border-radius: 100px !important;
	line-height: 1.3 !important;
}

/* "Sale" badge on image */
.stm_lms_courses__single .stm_lms_courses__single--sale,
.stm_lms_courses__single .sale-badge {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	z-index: 2 !important;
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	color: var(--moyo-on-primary, #ffffff) !important;
	background: var(--moyo-error, #ef4444) !important;
	padding: 5px 12px !important;
	border-radius: 100px !important;
	line-height: 1.3 !important;
}


/* =====================================================================
  19. LOAD MORE / PAGINATION
   ===================================================================== */

/* Load More button */
.stm_lms_load_more_courses,
.stm_lms_courses__load_more,
.stm_lms_courses .stm_lms_load_more_courses,
button.stm_lms_load_more_courses,
a.stm_lms_load_more_courses {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--moyo-heading, #1e293b) !important;
	background: transparent !important;
	border: 2px solid var(--moyo-heading, #1e293b) !important;
	border-radius: var(--moyo-radius, 4px) !important;
	padding: 14px 40px !important;
	cursor: pointer !important;
	text-decoration: none !important;
	margin: 48px auto 0 auto !important;
	transition: all var(--moyo-transition, 0.2s ease) !important;
	letter-spacing: 0.3px !important;
}

.stm_lms_load_more_courses:hover,
.stm_lms_courses__load_more:hover,
button.stm_lms_load_more_courses:hover,
a.stm_lms_load_more_courses:hover {
	color: var(--moyo-on-primary, #ffffff) !important;
	background: var(--moyo-heading, #1e293b) !important;
	border-color: var(--moyo-heading, #1e293b) !important;
}

/* Center the load more button container */
.stm_lms_courses__load_more_wrap,
.stm_lms_courses .stm_lms_load_more_wrap {
	display: flex !important;
	justify-content: center !important;
	margin-top: 0 !important;
	padding: 0 !important;
}

/* Loading spinner */
.stm_lms_load_more_courses .fa-spinner,
.stm_lms_load_more_courses .loading-icon {
	color: currentColor !important;
}

/* Standard pagination (if not load-more) */
.stm_lms_courses__pagination,
.stm_lms_courses .pagination,
.stm_lms_courses nav.navigation {
	display: flex !important;
	justify-content: center !important;
	gap: 6px !important;
	margin-top: 48px !important;
	padding: 0 !important;
}

.stm_lms_courses__pagination a,
.stm_lms_courses__pagination span,
.stm_lms_courses .pagination a,
.stm_lms_courses .pagination span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 42px !important;
	height: 42px !important;
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--moyo-body, #475569) !important;
	background: var(--moyo-card, #ffffff) !important;
	border: 1px solid var(--moyo-border, #e5e7eb) !important;
	border-radius: var(--moyo-radius, 4px) !important;
	text-decoration: none !important;
	transition: all var(--moyo-transition, 0.2s ease) !important;
}

.stm_lms_courses__pagination a:hover,
.stm_lms_courses .pagination a:hover {
	color: var(--moyo-primary, #2563eb) !important;
	border-color: var(--moyo-primary, #2563eb) !important;
	background: rgba(var(--moyo-primary-rgb, 37, 99, 235), 0.04) !important;
}

/* Current / active page */
.stm_lms_courses__pagination span.current,
.stm_lms_courses__pagination .active,
.stm_lms_courses .pagination span.current,
.stm_lms_courses .pagination .active {
	color: var(--moyo-on-primary, #ffffff) !important;
	background: var(--moyo-primary, #2563eb) !important;
	border-color: var(--moyo-primary, #2563eb) !important;
}


/* =====================================================================
  20. FEATURED COURSES SECTION
   ===================================================================== */

.featured-courses,
.stm_lms_courses__featured {
	margin-bottom: 48px !important;
	padding: 0 !important;
}

.featured-head h3,
.stm_lms_courses__featured h3,
.stm_lms_courses__featured__title {
	font-family: var(--moyo-font-heading, 'Poppins', sans-serif) !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	color: var(--moyo-heading, #1e293b) !important;
	margin: 0 0 24px 0 !important;
	padding: 0 !important;
}


/* =====================================================================
  21. NO RESULTS STATE
   ===================================================================== */

.stm-lms-course-no-result,
.stm_lms_courses__no_result,
.stm_lms_courses .no-courses-found {
	text-align: center !important;
	padding: 80px 24px !important;
	max-width: 480px !important;
	margin: 0 auto !important;
}

.stm-lms-course-no-result i,
.stm_lms_courses__no_result i,
.stm_lms_courses .no-courses-found i {
	font-size: 56px !important;
	color: var(--moyo-border, #e5e7eb) !important;
	margin-bottom: 24px !important;
	display: block !important;
}

.stm-lms-course-no-result h3,
.stm_lms_courses__no_result h3,
.stm_lms_courses .no-courses-found h3 {
	font-family: var(--moyo-font-heading, 'Poppins', sans-serif) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	color: var(--moyo-heading, #1e293b) !important;
	margin: 0 0 12px 0 !important;
}

.stm-lms-course-no-result p,
.stm_lms_courses__no_result p,
.stm_lms_courses .no-courses-found p {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	color: var(--moyo-muted, #64748b) !important;
	line-height: 1.65 !important;
	margin: 0 !important;
}


/* =====================================================================
  22. LIST VIEW OVERRIDES
   ===================================================================== */

/* When MasterStudy switches to list view */
.stm_lms_courses__grid--list .stm_lms_courses__single,
.stm_lms_courses__single.stm_lms_courses__single--list,
.stm_lms_courses .list-view .stm_lms_courses__single {
	flex-direction: row !important;
	border-radius: var(--moyo-radius-lg, 8px) !important;
}

/* List view image */
.stm_lms_courses__grid--list .stm_lms_courses__single--image,
.stm_lms_courses__single--list .stm_lms_courses__single--image,
.stm_lms_courses .list-view .stm_lms_courses__single--image,
.stm_lms_courses__grid--list .stm_lms_courses__single .stm_lms_courses__single__image,
.stm_lms_courses__single--list .stm_lms_courses__single__image {
	width: 280px !important;
	min-width: 280px !important;
	height: auto !important;
	min-height: 200px !important;
	border-radius: var(--moyo-radius-lg, 8px) 0 0 var(--moyo-radius-lg, 8px) !important;
}

/* List view content area */
.stm_lms_courses__grid--list .stm_lms_courses__single--content,
.stm_lms_courses__single--list .stm_lms_courses__single--content,
.stm_lms_courses .list-view .stm_lms_courses__single--content {
	flex: 1 !important;
	padding: 20px 24px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
}

/* List view grid should stack vertically */
.stm_lms_courses__grid--list,
.stm_lms_courses .list-view .stm_lms_courses__grid {
	grid-template-columns: 1fr !important;
	gap: 20px !important;
}

/* List view title — can show more lines */
.stm_lms_courses__grid--list .stm_lms_courses__single--title,
.stm_lms_courses__grid--list .stm_lms_courses__single--title h5,
.stm_lms_courses__single--list .stm_lms_courses__single--title h5 {
	-webkit-line-clamp: 3 !important;
	margin: 0 0 8px 0 !important;
}

/* List view meta */
.stm_lms_courses__grid--list .stm_lms_courses__single--meta,
.stm_lms_courses__single--list .stm_lms_courses__single--meta {
	margin: 8px 0 0 0 !important;
}

/* List view category */
.stm_lms_courses__grid--list .stm_lms_courses__single--term,
.stm_lms_courses__single--list .stm_lms_courses__single--term {
	margin: 0 0 6px 0 !important;
}

/* List view rating */
.stm_lms_courses__grid--list .stm_lms_courses__single--rating,
.stm_lms_courses__single--list .stm_lms_courses__single--rating {
	margin: 8px 0 0 0 !important;
}

/* List view price */
.stm_lms_courses__grid--list .stm_lms_courses__single--price,
.stm_lms_courses__single--list .stm_lms_courses__single--price {
	margin: 12px 0 0 0 !important;
}

/* List view bottom */
.stm_lms_courses__grid--list .stm_lms_courses__single--bottom,
.stm_lms_courses__single--list .stm_lms_courses__single--bottom {
	padding: 12px 0 0 0 !important;
	margin-top: 12px !important;
}


/* =====================================================================
  23. SINGLE COURSE — RELATED CARDS CONSISTENCY
   ===================================================================== */

/* Apply the same card styling to related courses on single course pages */
body.single-stm-courses .stm_lms_courses__single,
body.single-stm-courses .stm_lms_courses .stm_lms_courses__single,
.stm_lms_related_courses .stm_lms_courses__single {
	background: var(--moyo-card, #ffffff) !important;
	border: 1px solid var(--moyo-border, #e5e7eb) !important;
	border-radius: 12px !important;
	box-shadow: var(--moyo-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06)) !important;
	overflow: hidden !important;
	transition: transform 0.3s ease,
	            box-shadow 0.3s ease !important;
}

body.single-stm-courses .stm_lms_courses__single:hover,
.stm_lms_related_courses .stm_lms_courses__single:hover {
	transform: translateY(-6px) !important;
	box-shadow:
		0 12px 40px rgba(0, 0, 0, 0.08),
		0 4px 12px rgba(0, 0, 0, 0.04) !important;
}

/* Related courses heading */
.stm_lms_related_courses h3,
.stm_lms_related_courses__title,
body.single-stm-courses .related-courses h3 {
	font-family: var(--moyo-font-heading, 'Poppins', sans-serif) !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	color: var(--moyo-heading, #1e293b) !important;
	margin: 0 0 28px 0 !important;
}


/* =====================================================================
  24. RESPONSIVE — 1200px (small desktop)
   ===================================================================== */

@media (max-width: 1200px) {

	/* Slightly reduce gap */
	.stm_lms_courses__grid,
	.stm_lms_courses__archive_grid,
	.stm-lms-courses-grid {
		gap: 24px !important;
	}

	/* Container padding */
	body.post-type-archive-stm-courses .container,
	body.tax-stm_lms_course_taxonomy .container {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}


/* =====================================================================
  25. RESPONSIVE — 960px (tablet)
   ===================================================================== */

@media (max-width: 960px) {

	/* 2 columns */
	.stm_lms_courses__grid,
	.stm_lms_courses__archive_grid,
	.stm-lms-courses-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
	}

	/* Title */
	.courses_filters__title h1,
	.stm_lms_courses_header h1,
	h1.stm_lms_courses_title {
		font-size: 30px !important;
	}

	/* Container padding */
	body.post-type-archive-stm-courses .container,
	body.tax-stm_lms_course_taxonomy .container {
		padding-top: 36px !important;
		padding-bottom: 48px !important;
	}

	/* Filter bar — stack */
	.stm_lms_courses__filter_bar,
	.courses_filters__sort,
	.stm_lms_courses__top_bar {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 12px !important;
	}

	/* Category tabs — scroll horizontally */
	.stm_lms_courses__terms,
	.stm_lms_courses__categories,
	.courses-categories-list {
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
		padding-bottom: 4px !important;
	}

	.stm_lms_courses__terms::-webkit-scrollbar,
	.stm_lms_courses__categories::-webkit-scrollbar,
	.courses-categories-list::-webkit-scrollbar {
		display: none !important;
	}

	/* Sidebar filter — full width above cards */
	.stm_lms_courses__archive_filter,
	.stm_lms_courses__sidebar_filter {
		margin-bottom: 28px !important;
	}

	/* List view — stack vertically */
	.stm_lms_courses__grid--list .stm_lms_courses__single,
	.stm_lms_courses__single--list {
		flex-direction: column !important;
	}

	.stm_lms_courses__grid--list .stm_lms_courses__single--image,
	.stm_lms_courses__single--list .stm_lms_courses__single--image,
	.stm_lms_courses__grid--list .stm_lms_courses__single .stm_lms_courses__single__image {
		width: 100% !important;
		min-width: 100% !important;
		height: 200px !important;
		border-radius: var(--moyo-radius-lg, 8px) var(--moyo-radius-lg, 8px) 0 0 !important;
	}
}


/* =====================================================================
  26. RESPONSIVE — 640px (mobile)
   ===================================================================== */

@media (max-width: 640px) {

	/* 1 column */
	.stm_lms_courses__grid,
	.stm_lms_courses__archive_grid,
	.stm-lms-courses-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	/* Page title */
	.courses_filters__title h1,
	.stm_lms_courses_header h1,
	h1.stm_lms_courses_title {
		font-size: 24px !important;
	}

	.courses_filters__title p,
	.stm_lms_courses_header p {
		font-size: 14px !important;
	}

	/* Container */
	body.post-type-archive-stm-courses .container,
	body.tax-stm_lms_course_taxonomy .container {
		padding-top: 28px !important;
		padding-bottom: 40px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/* Card padding adjustments */
	.stm_lms_courses__single--term,
	.stm_lms_courses__single .stm_lms_courses__single__term {
		margin: 14px 16px 0 16px !important;
	}

	.stm_lms_courses__single--title,
	.stm_lms_courses__single--title h5,
	.stm_lms_courses__single--title h4,
	.stm_lms_courses__single .stm_lms_courses__single__title,
	.stm_lms_courses__single .stm_lms_courses__single__title h5 {
		margin: 8px 16px 0 16px !important;
		font-size: 15px !important;
	}

	.stm_lms_courses__single--meta,
	.stm_lms_courses__single .stm_lms_courses__single__meta {
		margin: 10px 16px 0 16px !important;
	}

	.stm_lms_courses__single--rating,
	.stm_lms_courses__single .stm_lms_courses__single__rating {
		margin: 8px 16px 0 16px !important;
	}

	.stm_lms_courses__single--price,
	.stm_lms_courses__single .stm_lms_courses__single__price {
		margin-left: 16px !important;
		margin-right: 16px !important;
	}

	.stm_lms_courses__single--bottom,
	.stm_lms_courses__single .stm_lms_courses__single__bottom {
		padding: 14px 16px !important;
	}

	/* Load more button */
	.stm_lms_load_more_courses,
	.stm_lms_courses__load_more {
		width: 100% !important;
		padding: 14px 24px !important;
		margin-top: 32px !important;
	}

	/* Pagination */
	.stm_lms_courses__pagination a,
	.stm_lms_courses__pagination span {
		min-width: 36px !important;
		height: 36px !important;
		font-size: 13px !important;
	}

	/* Category tabs — smaller on mobile */
	.stm_lms_courses__terms a,
	.stm_lms_courses__categories a,
	.courses-categories-list a {
		font-size: 12px !important;
		padding: 6px 16px !important;
	}

	/* Sidebar filter — tighter on mobile */
	.stm_lms_courses__archive_filter,
	.stm_lms_courses__sidebar_filter {
		padding: 20px !important;
	}

	/* Featured section */
	.featured-head h3,
	.stm_lms_courses__featured h3 {
		font-size: 22px !important;
	}

	/* No results */
	.stm-lms-course-no-result,
	.stm_lms_courses__no_result {
		padding: 56px 16px !important;
	}

	.stm-lms-course-no-result h3,
	.stm_lms_courses__no_result h3 {
		font-size: 18px !important;
	}
}


/* =====================================================================
  27. RESPONSIVE — 480px (small mobile)
   ===================================================================== */

@media (max-width: 480px) {

	/* Even tighter spacing */
	.stm_lms_courses__grid,
	.stm_lms_courses__archive_grid {
		gap: 12px !important;
	}

	/* Card image height reduction */
	.stm_lms_courses__single--image,
	.stm_lms_courses__single .stm_lms_courses__single__image {
		height: 170px !important;
	}

	/* Card border radius slight reduction */
	.stm_lms_courses__single {
		border-radius: 10px !important;
	}

	.stm_lms_courses__single--image,
	.stm_lms_courses__single .stm_lms_courses__single__image {
		border-radius: 10px 10px 0 0 !important;
	}

	/* Load more button text */
	.stm_lms_load_more_courses {
		font-size: 13px !important;
		padding: 12px 20px !important;
	}
}


/* =====================================================================
   UTILITY: Force Poppins on ALL MasterStudy elements within courses
   ===================================================================== */

body.post-type-archive-stm-courses *,
body.tax-stm_lms_course_taxonomy *,
body.single-stm-courses .stm_lms_courses * {
	font-family: var(--moyo-font-body, 'Poppins', sans-serif) !important;
}

/* Ensure headings use heading font */
body.post-type-archive-stm-courses h1,
body.post-type-archive-stm-courses h2,
body.post-type-archive-stm-courses h3,
body.post-type-archive-stm-courses h4,
body.post-type-archive-stm-courses h5,
body.post-type-archive-stm-courses h6,
body.tax-stm_lms_course_taxonomy h1,
body.tax-stm_lms_course_taxonomy h2,
body.tax-stm_lms_course_taxonomy h3,
body.tax-stm_lms_course_taxonomy h4,
body.tax-stm_lms_course_taxonomy h5,
body.tax-stm_lms_course_taxonomy h6 {
	font-family: var(--moyo-font-heading, 'Poppins', sans-serif) !important;
	color: var(--moyo-heading, #1e293b) !important;
}

/* Body text paragraphs */
body.post-type-archive-stm-courses p,
body.tax-stm_lms_course_taxonomy p {
	color: var(--moyo-body, #475569) !important;
}

/* All links default */
body.post-type-archive-stm-courses a,
body.tax-stm_lms_course_taxonomy a {
	color: var(--moyo-primary, #2563eb) !important;
	transition: color var(--moyo-transition, 0.2s ease) !important;
}

body.post-type-archive-stm-courses a:hover,
body.tax-stm_lms_course_taxonomy a:hover {
	color: var(--moyo-primary-end, #3b82f6) !important;
}

/* Override card link colors (reset from global a rule above) */
.stm_lms_courses__single a,
.stm_lms_courses__single a:hover {
	color: inherit !important;
}

.stm_lms_courses__single--title a {
	color: var(--moyo-heading, #1e293b) !important;
}

.stm_lms_courses__single:hover .stm_lms_courses__single--title a {
	color: var(--moyo-primary, #2563eb) !important;
}
