#items {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--spacing-3);
	margin-top: var(--spacing-3);
}

.item-lineitem {
	display: flex;
	align-items: center;
	padding: var(--spacing-4);
	border-bottom: 1px solid var(--color-neutral-200);

	.image {
		width: calc(16 * var(--spacing));
		height: calc(16 * var(--spacing));
		margin-right: var(--spacing-4);
	}

	svg {
		width: calc(5 * var(--spacing));
		height: calc(5 * var(--spacing));
	}

	.details {
		flex-grow: 1;
		max-width: 100%;
	}

	@media (width < 40rem) {
		position: relative;
		flex-direction: column;
		align-items: start;
		padding: 0;
		border: 1px solid var(--color-neutral-200);
		border-radius: var(--rounded-lg);
		background-color: white;

		.image {
			width: 100%;
			height: calc(50 * var(--spacing));
			border-radius: 0;
			border-top-left-radius: var(--rounded-lg);
			border-top-right-radius: var(--rounded-lg);
			margin-right: 0;
		}

		.details {
			padding: var(--spacing-3);
			display: flex;
			flex-direction: column;
			gap: calc(1.5 * var(--spacing));

			* {
				text-overflow: ellipsis;
				white-space: nowrap;
				overflow: hidden;
			}
		}

		.title,
		.availability {
			font-size: var(--text-sm);
			font-weight: 600;
			margin-bottom: 0;
		}

		.location {
			font-size: var(--text-xs);
			color: var(--text-color-secondary);
		}

		.tag {
			position: absolute;
			top: var(--spacing-2);
			right: var(--spacing-2);
			text-transform: uppercase;
		}
	}
}

.item {
	.image {
		height: calc(64 * var(--spacing));
	}

	@media (width < 40rem) {
		.image {
			width: 100%;
			height: calc(70 * var(--spacing));
			border-radius: 0;
		}

		.details {
			padding: var(--content-padding);
			display: flex;
			flex-direction: column;
			gap: var(--spacing-2);

			> *:first-child {
				display: flex;
				gap: var(--spacing-2);
				> * { flex: 1 }
			}

			hr {
				margin-top: var(--spacing-2);
				padding-bottom: var(--spacing-2);
			}
		}

		.updated {
			text-align: center;
			color: var(--text-color-secondary);
			margin-top: var(--spacing-4);
		}
	}
}

.item-availability-indicator {
	display: inline-block;
	width: var(--spacing-2);
	height: var(--spacing-2);
	border-radius: 50%;
	margin-right: calc(1.5 * var(--spacing));
	&.--available { background: var(--color-green) }
	&.--unavailable { background: var(--color-red) }
}

.inventory-category-header {
	display: flex;
	align-items: center;
	padding: var(--spacing-4);
	gap: var(--spacing-2);
	background-color: var(--bg-color);

	svg {
		width: var(--spacing-4);
		height: var(--spacing-4);
	}

	h2 {
		margin-bottom: 0;
	}
}
