.franchise-cities {
	.head {
		max-width: 640px;
		margin: 0 auto 56px;

		h2 {
			margin-bottom: 16px;
		}
	}

	.cities {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 16px;
	}

	.city_card {
		position: relative;
		display: flex;
		flex-direction: column;
		gap: 8px;
		padding: 24px;
		border-radius: 16px;
		transition: .4s;

		&.is-free {
			cursor: pointer;
		}

		&.is-free:hover {
			transform: translateY(-2px);
		}

		&.is-reserved {
			opacity: .6;
		}
	}

	.badge {
		position: absolute;
		top: 16px;
		right: 16px;
		padding: 4px 10px;
		font-size: 12px;
		font-weight: 500;
		color: var(--white-100);
		background-color: var(--brown-400);
		border-radius: 20px;
	}

	.name {
		margin-bottom: 4px;
	}

	.meta {
		display: flex;
		flex-direction: column;
		gap: 2px;
		font-size: 13px;

		.voivodeship {
			color: var(--brown-400);
		}
	}

	.slots {
		margin-top: 8px;
		font-size: 14px;
		font-weight: 500;
		color: var(--green-700);
	}

	@media (max-width: 1199px) {
		.head {
			margin-bottom: 40px;
		}

		.cities {
			grid-template-columns: repeat(3, 1fr);
		}
	}

	@media (max-width: 767px) {
		.cities {
			grid-template-columns: repeat(2, 1fr);
			gap: 8px;
		}

		.city_card {
			padding: 16px;
		}
	}
}
