.schedule-section {
	background-color: #373637;
	color: #ffffff;
	padding: 200px 100px;
	font-family: 'Bebas Neue Cyrillic', sans-serif;
}

.schedule-container {
	max-width: 1920px;
	margin: 0 auto;
}

.schedule-section .section-title-wrapper-left {
	display: flex;
	align-items: flex-end;
	gap: 60px;
	margin-bottom: 80px;
}

.schedule-section .title-line-full {
	border: none;
	height: 2px;
	background-color: #5acafa;
	margin: 0;
	flex-grow: 1;
}

.schedule-section .section-title-wrapper-left .title-text-content {
	text-align: left;
	flex-shrink: 0;
}

.schedule-section .section-title-wrapper-left .pre-title {
	display: block;
	color: #5acafa;
	font-family: 'Bebas Neue Cyrillic', sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;
	margin-bottom: 5px;
}

.schedule-section .section-title-wrapper-left .section-title {
	font-family: 'Bebas Neue Cyrillic', sans-serif;
	font-weight: 400;
	font-size: 64px;
	line-height: 0.8;
	letter-spacing: 0;
	color: #ffffff;
	text-transform: uppercase;
	margin: 0;
}

.schedule-table-wrapper {
	width: 100%;
	border: 2px solid #5acafa;
	overflow-x: auto;
}

.schedule-table {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	min-width: 700px;
}

.schedule-table th,
.schedule-table td {
	padding: 20px 15px;
	border: 1px solid #5acafa;
	font-size: 20px;
	white-space: nowrap;
}

.schedule-table th {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 24px;
	text-transform: uppercase;
}

.schedule-table td:first-child {
	text-align: left;
	text-transform: uppercase;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 24px;
}

@media (max-width: 1200px) {
	.schedule-section {
		padding: 160px 60px;
	}

	.schedule-section .section-title-wrapper-left .section-title {
		font-size: 52px;
	}

	.schedule-table th,
	.schedule-table td {
		padding: 16px 12px;
		font-size: 18px;
	}

	.schedule-table td:first-child {
		font-size: 22px;
	}
}

@media (max-width: 992px) {
	.schedule-section {
		padding: 120px 30px;
	}

	.schedule-section .section-title-wrapper-left .section-title {
		font-size: 42px;
	}

	.schedule-table-wrapper {
		border: none;
	}

	.schedule-table {
		min-width: 0;
	}

	.schedule-table thead {
		display: none;
	}

	.schedule-table,
	.schedule-table tbody,
	.schedule-table tr,
	.schedule-table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.schedule-table tr {
		border: 2px solid #5acafa;
		margin-bottom: 30px;
		overflow: hidden;
		background-color: #2f2f30;
		border-radius: 10px;
	}

	.schedule-table td {
		border: none;
		padding: 12px 15px;
		text-align: right;
		white-space: normal;
		border-bottom: 1px solid rgba(90, 202, 250, 0.3);
		font-family: 'Roboto', sans-serif;
		font-size: 18px;
	}

	.schedule-table td:first-child {
		color: #ffffff;
		font-family: 'Bebas Neue Cyrillic', sans-serif;
		font-size: 24px;
		font-weight: 400;
		text-align: center;
		border-bottom: 2px solid #5acafa;
		text-transform: uppercase;
	}

	.schedule-table tr td:last-child {
		border-bottom: none;
	}

	.schedule-table td:not(:first-child)::before {
		content: attr(data-label);
		float: left;
		color: #e0e0e0;
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
		font-size: 16px;
		text-transform: uppercase;
	}
}

@media (max-width: 768px) {
	.schedule-section {
		padding: 80px 20px;
	}

	.schedule-section .section-title-wrapper-left {
		gap: 10px;
		margin-bottom: 40px;
	}

	.schedule-section .title-line-full {
		width: 100%;
	}

	.schedule-section .section-title-wrapper-left .section-title {
		font-size: 32px;
	}

	.schedule-table td:first-child {
		font-size: 22px;
		padding: 10px 12px;
	}

	.schedule-table td {
		font-size: 15px;
		padding: 10px 12px;
	}

	.schedule-table td:not(:first-child)::before {
		font-size: 14px;
	}
}

.mobile-cta-wrapper {
	display: none;
}

@media (max-width: 768px) {
	.mobile-cta-wrapper {
		display: block;
		padding: 40px 20px 0;
	}

	.mobile-cta-btn {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 18px 40px;
		text-align: center;

		font-family: 'Bebas Neue Cyrillic', sans-serif;
		font-size: 28px;

		background-color: #5acafa;
		border: 2px solid #5acafa;
		color: #000;

		text-decoration: none;
		transition: 0.3s ease;
	}

	.mobile-cta-btn:hover {
		background-color: transparent;
		color: #5acafa;
	}
}
