.catalog__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin: 0 0 1.5em;
}

.catalog__category,
.catalog__card,
.product__back {
	color: inherit;
	text-decoration: none;
}

.catalog__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(13.75em, 1fr));
	gap: 1em;
}

.catalog__card {
	border: 0.0625em solid #e5e5e5;
	border-radius: 0.5em;
	display: flex;
	flex-direction: column;
	gap: 0.75em;
	padding: 1em;
}

.catalog__card-image {
	aspect-ratio: 1;
	border-radius: 0.375em;
	display: block;
	overflow: hidden;
}

.catalog__card-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.catalog__card-title {
	font-weight: 600;
}

.catalog__card-price,
.product__price {
	font-weight: 700;
}

.product__gallery {
	display: grid;
	gap: 0.75em;
	grid-template-columns: repeat(auto-fill, minmax(7.5em, 1fr));
	margin: 1.5em 0;
}

.product__gallery-item {
	aspect-ratio: 1;
	border: 0.0625em solid #e5e5e5;
	border-radius: 0.5em;
	display: block;
	overflow: hidden;
}

.product__gallery-item img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.product-detail__breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin: 0 0 1.5em;
}

.product-detail__breadcrumb {
	color: inherit;
	text-decoration: none;
}

.product-detail__breadcrumb:not(:last-child)::after {
	content: "/";
	margin-left: 0.5em;
}

.product-detail__title {
	margin: 0 0 1em;
}

.product-card {
	display: grid;
	gap: 2em;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	margin: 0 0 2em;
}

.product-card__content {
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.product-card__title {
	margin: 0;
}

.product-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75em;
}

.product-card__type,
.product-card__article {
	font-size: 0.875em;
}

.product-card__price {
	font-size: 1.25em;
	font-weight: 700;
}

.product-card__button {
	cursor: pointer;
	padding: 0.75em 1.25em;
}

.product-gallery {
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.product-gallery__main,
.product-gallery__fallback,
.product-gallery__item {
	border: 0.0625em solid currentColor;
	display: block;
	overflow: hidden;
}

.product-gallery__main,
.product-gallery__fallback {
	aspect-ratio: 4 / 3;
}

.product-gallery__main img,
.product-gallery__item img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.product-gallery__list {
	display: grid;
	gap: 0.75em;
	grid-template-columns: repeat(auto-fill, minmax(5em, 1fr));
}

.product-gallery__item {
	aspect-ratio: 1;
}

.product-gallery__fallback {
	opacity: 0.25;
}

.product-section {
	margin: 2em 0 0;
}

.product-section__title {
	margin: 0 0 1em;
}

.product-features {
	display: grid;
	gap: 0.75em;
	margin: 0;
}

.product-features__item {
	display: grid;
	gap: 0.5em;
	grid-template-columns: minmax(8em, 0.4fr) 1fr;
}

.product-features__name,
.product-features__value {
	margin: 0;
}

.product-features__name {
	font-weight: 600;
}

@media (max-width: 48em) {
	.product-card {
		grid-template-columns: 1fr;
	}

	.product-features__item {
		grid-template-columns: 1fr;
	}
}
