.music-commerce-catalogue {
	font-size: 0.875rem;
	margin-inline-end: auto !important;
	margin-inline-start: 0 !important;
	max-width: 70vw;
	overflow: hidden;
	width: 70vw;
}

.music-commerce-catalogue-browser,
.music-commerce-filters,
.music-commerce-active-filters,
.music-commerce-filter-errors,
.music-commerce-result-summary,
.music-commerce-pagination {
	margin-inline-end: auto !important;
	margin-inline-start: 0 !important;
	max-width: 70vw;
	width: 70vw;
}

.music-commerce-filters {
	border: 1px solid currentcolor;
	border-radius: 0.35rem;
	box-sizing: border-box;
	margin-block-end: 1rem;
	padding: 1rem;
}

.music-commerce-filters__grid {
	align-items: end;
	display: grid;
	gap: 0.85rem;
	grid-template-columns: minmax(12rem, 2fr) repeat(3, minmax(5rem, 1fr)) auto;
}

.music-commerce-filters label {
	display: grid;
	font-size: 0.8125rem;
	font-weight: 700;
	gap: 0.3rem;
}

.music-commerce-filters input,
.music-commerce-filters select,
.music-commerce-filters button {
	box-sizing: border-box;
	font: inherit;
	min-height: 2.75rem;
	width: 100%;
}

.music-commerce-filters__actions {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	min-height: 2.75rem;
}

.music-commerce-filters__actions button {
	cursor: pointer;
	width: auto;
}

.music-commerce-filters[aria-busy="true"] {
	opacity: 0.72;
}

.music-commerce-active-filters,
.music-commerce-filter-errors {
	border-inline-start: 0.25rem solid currentcolor;
	box-sizing: border-box;
	margin-block: 0 1rem;
	padding: 0.75rem 1rem;
}

.music-commerce-active-filters ul,
.music-commerce-filter-errors ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1rem;
	margin-block: 0.5rem;
	padding-inline-start: 1.25rem;
}

.music-commerce-filter-errors {
	color: #8a2424;
}

.music-commerce-result-summary {
	font-size: 0.875rem;
	margin-block: 0 0.75rem;
}

.music-commerce-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-block-start: 1rem;
}

.music-commerce-pagination a,
.music-commerce-pagination__current {
	align-items: center;
	border: 1px solid currentcolor;
	display: inline-flex;
	justify-content: center;
	min-height: 2.75rem;
	min-width: 2.75rem;
	padding-inline: 0.65rem;
	text-decoration: none;
}

.music-commerce-pagination__current {
	font-weight: 700;
}

.music-commerce-pagination a:focus-visible,
.music-commerce-filters :is(input, select, button):focus-visible,
.music-commerce-active-filters a:focus-visible,
.music-commerce-catalogue__empty a:focus-visible {
	outline: 0.1875rem solid currentcolor;
	outline-offset: 0.1875rem;
}

.music-commerce-catalogue-page .wp-block-post-title {
	margin-inline-end: auto !important;
	margin-inline-start: 0 !important;
	text-align: left;
	width: 70vw;
}

.music-commerce-genre-archive,
.music-commerce-genre-archive__header {
	margin-inline-end: auto !important;
	margin-inline-start: 0 !important;
	max-width: 70vw;
	text-align: left;
	width: 70vw;
}

.music-commerce-genre-archive__title {
	margin-inline: 0;
}

.music-commerce-catalogue__table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

.music-commerce-catalogue__column-image {
	width: 9%;
}

.music-commerce-catalogue__column-artist {
	width: 15%;
}

.music-commerce-catalogue__column-title {
	width: 21%;
}

.music-commerce-catalogue__column-genre {
	width: 10%;
}

.music-commerce-catalogue__column-key {
	width: 6%;
}

.music-commerce-catalogue__column-tempo {
	width: 8%;
}

.music-commerce-catalogue__column-price {
	width: 10%;
}

.music-commerce-catalogue__column-preview {
	width: 14%;
}

.music-commerce-catalogue__column-cart {
	width: 7%;
}

.music-commerce-catalogue__table th,
.music-commerce-catalogue__table td {
	border-bottom: 1px solid currentcolor;
	overflow: hidden;
	padding: 0.375rem;
	text-align: left;
	text-overflow: ellipsis;
	vertical-align: middle;
	white-space: nowrap;
}

.music-commerce-catalogue__table th {
	font-weight: 700;
}

.music-commerce-catalogue__table td > a:not(.music-commerce-artist-thumbnail-link) {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.music-commerce-artist-thumbnail-link {
	display: inline-block;
	line-height: 0;
}

.music-commerce-artist-thumbnail {
	aspect-ratio: 1;
	border-radius: 0.2rem;
	display: block;
	height: 2.5rem;
	object-fit: cover;
	width: 2.5rem;
}

.music-commerce-preview-control {
	align-items: center;
	display: inline-flex;
	gap: 0.75rem;
	max-width: 100%;
}

.music-commerce-preview-button {
	align-items: center;
	background: transparent;
	border: 1px solid currentcolor;
	border-radius: 0.25rem;
	box-sizing: border-box;
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 4.5rem;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 400;
	height: 2.25rem;
	justify-content: center;
	line-height: 1;
	max-width: 4.5rem;
	min-width: 4.5rem;
	overflow: hidden;
	padding: 0.35rem 0.5rem;
	white-space: nowrap;
	width: 4.5rem;
}

.music-commerce-preview-button__label {
	display: block;
	text-align: center;
	width: 100%;
}

.music-commerce-preview-button:focus-visible {
	outline: 0.1875rem solid currentcolor;
	outline-offset: 0.1875rem;
}

.music-commerce-preview-button:disabled {
	cursor: not-allowed;
	opacity: 0.6;
}

.music-commerce-preview-button[aria-busy="true"] {
	cursor: progress;
}

.music-commerce-cart-choice {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 2.25rem;
	min-width: 2.25rem;
}

@media (min-width: 48.0625rem) {
	.music-commerce-catalogue__table th:nth-child(8),
	.music-commerce-catalogue__table td:nth-child(8) {
		padding-inline-end: 0;
		text-align: right;
	}

	.music-commerce-catalogue__table th:nth-child(9),
	.music-commerce-catalogue__table td:nth-child(9) {
		padding-inline-start: 0;
		text-align: left;
	}
}

.music-commerce-cart-choice input {
	cursor: pointer;
	height: 1.125rem;
	margin: 0;
	width: 1.125rem;
}

.music-commerce-cart-choice input:focus-visible {
	outline: 0.1875rem solid currentcolor;
	outline-offset: 0.1875rem;
}

.music-commerce-cart-choice input[aria-busy="true"] {
	cursor: progress;
}

.music-commerce-catalogue__table tbody tr:focus-within {
	outline: 0.1875rem solid currentcolor;
	outline-offset: -0.1875rem;
}

.music-commerce-song-details {
	border-block: 1px solid currentcolor;
	margin-block: 1.5rem;
	padding-block: 1.5rem;
}

.music-commerce-song-details__metadata {
	display: grid;
	gap: 0.6rem 1.5rem;
	grid-template-columns: repeat(2, minmax(7rem, 1fr));
	margin: 0 0 1.25rem;
}

.music-commerce-song-details__metadata > div {
	display: grid;
	gap: 0.2rem;
}

.music-commerce-song-details__metadata dt {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.music-commerce-song-details__metadata dd {
	margin: 0;
}

.music-commerce-progress {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	width: min(19rem, 100%);
}

.music-commerce-progress__track {
	background: #d8d8d8;
	background: color-mix(in srgb, currentcolor 25%, transparent);
	border-radius: 999px;
	display: block;
	height: 0.5rem;
	overflow: hidden;
	width: 100%;
}

.music-commerce-progress__value {
	background: #f50;
	border-radius: inherit;
	display: block;
	height: 100%;
	width: 0;
}

.music-commerce-progress__times {
	display: flex;
	font-size: 0.75rem;
	justify-content: space-between;
	line-height: 1;
	padding-block-start: 0.4rem;
}

.music-commerce-progress__elapsed {
	color: #f50;
}

.music-commerce-song-details .music-commerce-preview-control {
	align-items: center;
	display: flex;
	width: 100%;
}

@media (max-width: 48rem) {
	.music-commerce-catalogue-browser,
	.music-commerce-filters,
	.music-commerce-active-filters,
	.music-commerce-filter-errors,
	.music-commerce-result-summary,
	.music-commerce-pagination {
		max-width: 100%;
		width: 100%;
	}

	.music-commerce-filters__grid {
		grid-template-columns: 1fr;
	}

	.music-commerce-active-filters ul,
	.music-commerce-filter-errors ul {
		display: block;
	}

	.music-commerce-genre-archive,
	.music-commerce-genre-archive__header {
		max-width: 100%;
		width: 100%;
	}

	.music-commerce-catalogue {
		font-size: 0.875rem;
		margin-inline: 0 !important;
		max-width: 100%;
		overflow-x: visible;
		width: 100%;
	}

	.music-commerce-catalogue-page .wp-block-post-title {
		margin-inline: 0 !important;
		width: 100%;
	}

	.music-commerce-catalogue__table,
	.music-commerce-catalogue__table tbody,
	.music-commerce-catalogue__table tr,
	.music-commerce-catalogue__table td {
		display: block;
		width: 100%;
	}

	.music-commerce-catalogue__table colgroup {
		display: none;
	}

	.music-commerce-catalogue__table thead {
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.music-commerce-catalogue__table tr {
		border: 1px solid currentcolor;
		margin-block: 0 1rem;
		padding: 0.5rem;
	}

	.music-commerce-catalogue__table td {
		border: 0;
		display: grid;
		gap: 1rem;
		grid-template-columns: minmax(5rem, 35%) 1fr;
		overflow: visible;
		padding: 0.4rem;
		text-overflow: clip;
		white-space: normal;
	}

	.music-commerce-catalogue__table td > a:not(.music-commerce-artist-thumbnail-link) {
		white-space: normal;
	}

	.music-commerce-catalogue__table td::before {
		content: attr(data-label);
		font-weight: 700;
	}

	.music-commerce-song-details__metadata {
		grid-template-columns: 1fr;
	}

	.music-commerce-preview-control {
		align-items: flex-start;
		flex-direction: column;
	}

	.music-commerce-song-details .music-commerce-preview-control {
		align-items: flex-start;
	}

	.music-commerce-progress {
		max-width: 100%;
		width: 100%;
	}
}

@media (forced-colors: active) {
	.music-commerce-preview-button,
	.music-commerce-pagination a,
	.music-commerce-pagination__current,
	.music-commerce-filters,
	.music-commerce-catalogue__table tr {
		border: 1px solid CanvasText;
	}

	.music-commerce-progress__track {
		background: Canvas;
		border: 1px solid CanvasText;
	}

	.music-commerce-progress__value {
		background: Highlight;
	}
}
