.file-browser {
	flex-grow: 1;
	flex-basis: 0;
	height: 100%;
	background-color: var(--color-a);
	display: flex;
	flex-direction: column;
	border-right: 1px solid var(--color-c);
	z-index: 1;
}

.browser-actions {
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--color-c);
	padding: 0.5rem;

	& > div {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	& > span {
		text-wrap: nowrap;
		margin: 1rem;
	}

	& > .refresh-button {
		background: none;
	}

	& > .offline-button {
		text-wrap: nowrap;
		width: min-content;
		margin-left: 1rem;
	}
}

.file-list-wrapper {
	position: relative; /*for loading screen*/
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	& > .error {
		display: flex;
		width: 100%;
		height: 100%;
		align-items: center;
		justify-content: center;
	}

	& > .file-list {
		overflow-y: auto;
		padding: 0.5rem;
		display: flex;
		flex-direction: column;
		gap: 0.25rem;

		& > .directory-item,
		& > .file-item {
			padding: 0.5rem;
			background-color: var(--color-c);
			display: flex;
			gap: 1.5rem;
			align-items: center;
			&:hover {
				background-color: var(--color-c-highlight);
			}
			& > span {
				min-width: 0;
			}
		}

		& > .directory-item {
			font-weight: bold;
			cursor: pointer;
		}
	}
}

.breadcrumb {
	padding: 0.5rem;
	border-bottom: 1px solid var(--color-c);
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	& > span {
		cursor: pointer;
		color: var(--color-d);
		&:hover {
			text-decoration: underline;
		}
	}
}

.cover {
	position: relative;
	width: 100%;
	max-height: 25%;
	height: 25%;
	border-top: 1px solid var(--color-c);
	display: flex;
	justify-content: center;
	& > img {
		padding: 2.5%;
		object-fit: contain;
	}
}

@media (max-width: 600px) {
	.file-browser {
		position: absolute;
		width: 80%;
		box-shadow: 0 0 40px rgba(0, 0, 0, 0.8);
	}

	.hidden {
		display: none;
	}
}
