.bus-status {
	width: 100%;
}

.major-updates__title {
    color: #c51f2a !important;
    font-weight: 600 !important;
    font-size: 20px;
}

.bus-status__major-update {
    margin-bottom: 20px;
    padding: 20px 28px;
    border-radius: 12px;
    background: #ffd9d9;
    color: #c51f2a;
    font-size: 14px;
}

.bus-status__table {
	overflow: hidden;
	border: 1px solid #e0e6ec;
	border-radius: 12px;
	background: #fff;
}

.bus-status__header,
.bus-status__row {
	display: grid;
	grid-template-columns: minmax(220px, 1.5fr) minmax(190px, 1fr) minmax(100px, 0.65fr) minmax(190px, 1fr);
	align-items: center;
}

.bus-status__header {
	padding: 16px 28px;
	background: #0c243e;
	color: #fff;
	font-weight: 700;
}

.bus-status__row {
	min-height: 60px;
	padding: 12px 28px;
	border-top: 1px solid #e3e8ed;
	font-size: 14px;
}

.bus-status__row:nth-child(odd) {
	background: #f7f9fb;
}

.bus-status__cell {
	min-width: 0;
}

.bus-status__cell--route {
	font-weight: 600;
}

.bus-status__badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 9px 16px;
	border-radius: 999px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}

.bus-status__indicator {
	width: 12px;
	height: 12px;
	flex: 0 0 12px;
	border-radius: 50%;
	background: currentColor;
}

.bus-status__row--good-service .bus-status__badge {
	background: #dff5e7;
	color: #137a3e;
}

.bus-status__row--minor-delays .bus-status__badge {
	background: #fff1c9;
	color: #9a5a00;
}

.bus-status__row--moderate-delays .bus-status__badge {
	background: #ffe4c5;
	color: #b45a00;
}

.bus-status__row--major-delays .bus-status__badge {
	background: #ffd9d9;
	color: #c51f2a;
}

.bus-status__label {
	display: none;
}

.bus-status__empty {
	color: #9aa6b2;
}

.bus-status__updated {
	margin: 20px 0;
    padding: 18px 22px;
    border: 1px solid #e5e9ee;
    border-radius: 12px;
    background: #fff;
	font-size: 14px;
}

@media (max-width: 767.98px) {

	.bus-status__major-update {
		margin-bottom: 16px;
		padding: 18px 20px;
		border-radius: 16px;
	}

	.bus-status__table {
		overflow: visible;
		border-radius: 20px;
	}

	.bus-status__header {
		display: none;
	}

	.bus-status__row {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 28px 20px;
		min-height: 0;
		padding: 20px 20px;
	}

	.bus-status__row:first-child {
		border-top: 0;
	}

	.bus-status__cell {
		display: flex;
		flex-direction: column;
		min-width: 0;
	}

	.bus-status__cell--route {
		grid-column: 1;
		grid-row: 1;
		align-self: center;
		font-size: 16px;
		line-height: 1.2;
	}

	.bus-status__cell--status {
		grid-column: 2;
		grid-row: 1;
		align-self: center;
	}

	.bus-status__cell--delay {
		grid-column: 1;
		grid-row: 2;
		gap: 8px;
	}

	.bus-status__cell--explanation {
		grid-column: 2;
		grid-row: 2;
		gap: 8px;
	}

	.bus-status__label {
		display: block;
		font-size: 15px;
		line-height: 1.2;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		color: #6b7785;
	}

	.bus-status__badge {
		padding: 13px 26px;
	}

	.bus-status__indicator {
		width: 13px;
		height: 13px;
		flex-basis: 13px;
	}

	.bus-status__cell--delay,
	.bus-status__cell--explanation {
		font-size: 16px;
		line-height: 1.3;
	}
}

@media (max-width: 575.98px) {

	.bus-status__row {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 28px 24px 32px;
	}

	.bus-status__cell--route,
	.bus-status__cell--status,
	.bus-status__cell--delay,
	.bus-status__cell--explanation {
		grid-column: 1;
	}

	.bus-status__cell--route {
		grid-row: 1;
	}

	.bus-status__cell--status {
		grid-row: 2;
		align-self: start;
	}

	.bus-status__cell--delay {
		grid-row: 3;
	}

	.bus-status__cell--explanation {
		grid-row: 4;
	}
}
