/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 14 2026 | 09:33:22 */
.course-filter-grid {
	display: flex;
	gap: 30px;
	max-width: 1560px;
	margin: 0 auto;
	padding: 1.5rem;

	.sidebar {
		width: 250px;
		flex-shrink: 0;
		padding-right: 20px;
		border-right: 1px solid #eee;
	}

	.content {
		flex-grow: 1;
	}

	.filter-toggle {
		display: none;
		width: 100%;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 16px;
		padding: 14px 18px;
		border: 0;
		border-radius: 4px;
		background: #003056;
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		cursor: pointer;

		.filter-toggle__icon {
			font-size: 22px;
			line-height: 1;
		}
	}

	.filter-title {
		margin: 0 0 12px;
		padding-bottom: 8px;
		border-bottom: 1px solid #afd5e6;
		color: #003056;
		font-size: 16px;
		font-weight: 500;
	}

	.filter-options {
		display: flex;
		flex-direction: column;
		gap: 8px;
		margin-bottom: 25px;
	}

	.checkbox-item {
		display: flex;
		align-items: center;
		gap: 8px;
		color: var(--heading);
		font-size: 14px;
		cursor: pointer;
		
		input {
			width: 16px;
			height: 16px;
			accent-color: var(--red);

			&:checked + span {
				color: var(--red);
				font-weight: 500;
			}
		}
	}

	.active-filters {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin-bottom: 20px;
	}

	.filter-pill {
		display: flex;
		align-items: center;
		gap: 6px;
		padding: 8px 12px;
		border: 1px solid #afd5e6;
		border-radius: 43px;
		background: transparent;
		color: var(--heading);
		font-size: 12px;
		text-decoration: none;
	}
	
	.clear-all {
		align-self: center;
		color: var(--heading);
		font-size: 13px;
		text-decoration: underline;
	}

	.course-list {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.course-card {
		position: relative;
		display: flex;
		overflow: hidden;
		border: 1px solid #e5e7eb;
		border-radius: 4px;
		background: #fff;
		box-shadow: 0 4px 10px rgb(0 0 0 / 3%);
	}

			.card-image {
				position: relative;
				width: 320px;
				flex-shrink: 0;
				padding: 10px;

				img,
				.placeholder-img {
					display: block;
					width: 100%;
					height: 100%;
					aspect-ratio: 1/1;
					object-fit: cover;
					max-height: 320px;
				}

				.placeholder-img {
					background: #ccc;
				}
			}

			.date-badge-wrapper {
				position: absolute;
				top: 10px;
				left: 10px;
				z-index: 2;
				width: 70px;
				text-align: center;
			}

			.date-box {
				display: flex;
				flex-direction: column;
				justify-content: center;
				padding: 12px 0;
				background: #003056;
				color: #fff;

				.day {
					font-size: 24px;
					font-weight: 500;
					line-height: 1;
				}

				.month {
					margin-top: 1px;
					font-size: 14px;
					text-transform: uppercase;
				}
			}

			.pop-badge {
				width: 100%;
				padding: 4px 2px;
				background: var(--red);
				color: #fff;
				font-size: 9px;
				font-weight: 500;
				text-transform: uppercase;
			}

			.card-content {
				position: relative;
				display: flex;
				flex-direction: column;
				flex-grow: 1;
				padding: 1.5rem;
				padding-top: 3rem;
			}

			.location-badge {
				position: absolute;
				top: 0;
				right: 0;
				padding: 12px 16px;
				background: #003056;
				color: #fff;
				font-size: 11px;
				font-weight: 500;
			}

			.course-title {
				margin: 0 0 8px;
				color: #003056;
				font-size: 1.25rem;
				font-weight: 400;
				line-height: 1.3;
				
				@media screen and (min-width: 1200px) {
					font-size: 1.5rem;
				}

				a {
					color: inherit;
					text-decoration: none;
				}
			}

			.points {
				margin-bottom: 12px;
				color: var(--red);
				font-size: 13px;
			}

			.excerpt {
				flex-grow: 1;
				margin-bottom: 20px;
				color: #666;
				font-size: 14px;
				line-height: 1.6;
			}

			.card-footer-row {
				position: relative;
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				justify-content: space-between;
				gap: 15px;
				margin-top: auto;
				padding-top: 20px;

				&::before {
					content: "";
					position: absolute;
					top: 0;
					left: 0;
					width: 10%;
					height: 2px;
					background: #5da3c2;
				}
			}

			.meta-group {
				display: flex;
				align-items: center;
				gap: 20px;
				color: #4b5563;
				font-size: 13px;
				font-weight: 500;
			}

			.meta-item {
				display: flex;
				align-items: center;
				gap: 6px;

				.dashicons-clock {
					flex: 0 0 auto;
					color: #5da3c2;
					font-size: 18px;
				}
			}

			.slot-list {
				flex-direction: column;
				align-items: stretch;
				gap: .35rem;
			}

			.slot {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 1rem;

				.slot__date,
				.slot__count {
					display: flex;
					align-items: center;
					gap: .375rem;
				}

				.slot__date {
					flex: 1 1 auto;
					min-width: 0;

					span {
						overflow-wrap: anywhere;
					}
				}

				.slot__count {
					flex: 0 0 auto;
					font-weight: 600;
					white-space: nowrap;
				}
			}

			.svg-icon {
				width: 16px;
				height: 16px;
				opacity: .8;
			}

			.action-group {
				display: flex;
				align-items: center;
				gap: 20px;
				margin-left: auto;
			}

			.price {
				color: #003056;
				font-size: 22px;
				font-weight: 600;
			}

			.btn-apply {
				padding: 14px 26px;
				border-radius: 30px;
				background: var(--red);
				color: #fff;
				font-size: 14px;
				text-decoration: none;
				white-space: nowrap;
				transition: background .2s;

				&:hover {
					background: #c02626;
					color: #fff;
				}
			}

			@media (max-width: 992px) {
				flex-direction: column;

				.filter-toggle {
					display: flex;
				}

				.sidebar {
					display: none;
					width: 100%;
					padding-right: 0;
					padding-bottom: 20px;
					border-right: 0;
					border-bottom: 1px solid #eee;

					&.is-open {
						display: block;
					}
				}

				.course-card {
					flex-direction: column;
				}

				.card-image {
					width: 100%;
					height: 200px;
					padding: 0;
				}

				.date-badge-wrapper {
					top: 0;
					left: 0;
				}

				.card-footer-row {
					flex-direction: column;
					align-items: flex-start;
				}

				.meta-group {
					flex-wrap: wrap;
					width: 100%;
				}

				.slot {
					width: 100%;
					min-width: 0;
				}

				.action-group {
					width: 100%;
					justify-content: space-between;
					margin-left: 0;
				}
			}
		}