.training-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	height: 100%;
	gap: 1rem;
	padding: 1.5rem;
	border-radius: var(--layout-radius-xl);
	background-color: var(--color-gray-surface);
	transition: background-color 0.24s ease;
}

.training-card .training-card__top {
	flex: 1;
	gap: 0.75rem;
	width: 100%;
	min-width: 0;
}

.training-card .training-card__badges {
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: flex-start;
	width: 100%;
	min-width: 0;
}

.training-card .training-card__badges-group {
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	min-width: 0;
}

.training-card .training-card__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.125rem;
	padding: 0.375rem 0.5rem;
	border-radius: var(--layout-radius-s);
	font-family: 'Manrope', sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
}

.training-card .training-card__badge.--format {
	background-color: var(--color-orange-orange-800);
	color: var(--color-orange-orange-200);
}

.training-card .training-card__badge.--format-offline {
	background-color: var(--color-blue-blue-800);
	color: var(--color-blue-blue-150);
}

.training-card .training-card__badge.--age,
.training-card .training-card__badge.--status {
	background-color: var(--color-base-white);
	color: var(--color-blue-blue-800);
}

.training-card .training-card__badge-dot,
.training-card .training-card__badge-text {
	display: inline;
}

.training-card .training-card__text {
	gap: 0.75rem;
	width: 100%;
	min-width: 0;
}

.training-card .training-card__category,
.training-card .training-card__description {
	margin: 0;
	color: var(--color-gray-gray-600);
	word-break: break-word;
}

.training-card .training-card__title {
	display: block;
	margin: 0;
	color: var(--color-gray-gray-700);
	text-decoration: none;
	word-break: break-word;
	transition: color 0.24s ease;
}

.training-card .training-card__title:focus-visible {
	outline: 0.125rem solid var(--color-blue-blue-800);
	outline-offset: 0.125rem;
	border-radius: 0.25rem;
}

.training-card .training-card__meta {
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: flex-start;
	width: 100%;
	min-width: 0;
}

.training-card .training-card__meta-item {
	align-items: center;
	gap: 0.375rem;
	padding: 0.25rem 0.625rem 0.25rem 0.25rem;
	border-radius: var(--layout-radius-m);
	background-color: var(--color-base-white);
}

.training-card .training-card__meta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	padding: 0.25rem;
	border-radius: var(--layout-radius-m);
	background-color: var(--color-base-white);
}

.training-card .training-card__meta-icon-graphic {
	display: block;
	width: 1.5rem;
	height: 1.5rem;
}

.training-card .training-card__meta-icon-graphic svg {
	display: block;
	width: 100%;
	height: 100%;
}

.training-card .training-card__meta-label {
	font-family: 'Manrope', sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--color-gray-gray-700);
	white-space: nowrap;
}

.training-card .training-card__meta-schedule {
	gap: 0.375rem;
	align-items: center;
}

.training-card .training-card__meta-separator {
	font-family: 'Manrope', sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--color-gray-gray-700);
}

.training-card .training-card__footer {
	flex-shrink: 0;
	gap: 0.75rem;
	width: 100%;
	min-width: 0;
	margin-top: auto;
}

.training-card .training-card__price-row {
	gap: 0.5rem;
	align-items: center;
}

.training-card .training-card__price {
	font-family: 'Manrope', sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--color-blue-blue-800);
	white-space: nowrap;
}

.training-card .training-card__price-separator,
.training-card .training-card__price-note {
	font-family: 'Manrope', sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--color-gray-gray-700);
	white-space: nowrap;
}

.training-card .training-card__btn {
	width: 100%;
	min-height: 3.5rem;
	padding: 1rem 2rem;
	box-sizing: border-box;
	background-color: transparent;
	text-decoration: none;
	transition:
		background-color 0.24s ease,
		border-color 0.24s ease,
		color 0.24s ease;
}

.training-card .training-card__btn .btn__label {
	font-size: 0.875rem;
	line-height: 1.2;
}

@media screen and (min-width: 64rem) {
	.training-card {
		width: var(--layout-col-4);
		min-height: 34.3125rem;
		gap: 1rem;
		padding: 2.5rem;
		border-radius: var(--layout-radius-xxl);
	}

	.training-card .training-card__top {
		gap: 1.5rem;
	}

	.training-card .training-card__badges {
		justify-content: space-between;
		flex-wrap: nowrap;
	}

	.training-card .training-card__badge {
		padding: 0.375rem 0.75rem;
		font-size: 1.125rem;
	}

	.training-card .training-card__badge.--status {
		width: 12.0625rem;
	}

	.training-card .training-card__text {
		gap: 0.75rem;
	}

	.training-card .training-card__title:hover {
		color: var(--color-blue-blue-800);
		text-decoration: none;
	}

	.training-card .training-card__meta-item {
		padding: 0.25rem 1rem 0.25rem 0.25rem;
	}

	.training-card .training-card__meta-icon {
		padding: 0.75rem;
	}

	.training-card .training-card__meta-label,
	.training-card .training-card__meta-separator {
		font-size: 1.25rem;
	}

	.training-card .training-card__footer {
		gap: 1.5rem;
	}

	.training-card .training-card__price-row {
		gap: 0.75rem;
	}

	.training-card .training-card__price {
		font-size: 2rem;
	}

	.training-card .training-card__price-note {
		font-size: 1.25rem;
	}

	.training-card .training-card__btn .btn__label {
		font-size: 1rem;
	}

	.training-card .training-card__btn:hover {
		text-decoration: none;
	}

	.training-card:hover {
		background-color: var(--color-blue-blue-150);
	}
}
