.bc-product-single {
	max-width: 970px;
	padding: 0 20px;
	margin: 0 auto;

	.bc-product-single__top {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;

		@media (--viewport-medium) {
			flex-wrap: nowrap;
		}

		/* Case: Larger image size applied to PDP. */
		.bc-gallery-size-bc-xmedium & {
			@media (--viewport-medium) {
				flex-wrap: wrap;
			}
		}
	}

	.bc-product__gallery {
		position: relative;
		order: 2;
		flex: 1 1 auto;
		width: 100%;

		@media (--viewport-medium) {
			order: 1;
			flex: 0 0 370px;
			margin-right: 30px;
		}

		/* Case: Larger image size applied to PDP. */
		.bc-gallery-size-bc-xmedium & {
			@media (--viewport-medium) {
				flex: 0 0 auto;
				width: 50%;
			}

			@media (--viewport-full) {
				max-width: 720px;
			}

			@media (--viewport-xxlarge) {
				width: 60%;
			}
		}
	}

	.bc-product-single__meta {
		flex: 1 1 100%;
		order: 1;

		@media (--viewport-medium) {
			order: 2;
			flex: 0 0 auto;
			width: calc(50% - 60px);
		}

		/* Case: Larger image size applied to PDP. */
		.bc-gallery-size-bc-xmedium & {
			@media (--viewport-medium) {
				width: calc(50% - 60px);
			}

			@media (--viewport-full) {
				width: calc(50% - 30px);
				padding-left: 30px;
			}

			@media (--viewport-xxlarge) {
				flex: 1 1 auto;
				width: calc(40% - 60px);
				padding-left: 60px;
			}
		}
	}

	.bc-product__sku {
		margin-top: 20px;
		font-size: var(--font-size-content-m);

		.bc-product-single__meta-label {
			font-size: 1.143em;
		}
	}

	.bc-product-single__meta-label {
		font-size: var(--font-size-content);
		font-weight: var(--font-weight-bold);
	}

	.bc-product-form {
		margin-top: 40px;
		opacity: 1;
		transition: var(--transition-opacity);

		&.bc-product__is-setting-options {
			opacity: 0.5;
		}
	}

	.bc-btn {
		margin-top: 40px;
	}

	.bc-single-product__description {
		margin-top: 60px;
		width: 100%;
		padding: 50px 0;
		border-top: 1px solid var(--color-bc-light-grey);
	}

	.bc-single-product__specifications {
		width: 100%;
		padding-bottom: 50px;
	}

	.bc-single-product__section-title {
		font-weight: var(--font-weight-bold);
		margin-bottom: 20px;
		font-size: var(--font-size-content);
	}

	.bc-single-product__section-title--related {
		font-size: var(--font-size-content-xxl);
	}

	.bc-single-product__ratings {
		margin-top: 20px;
	}

	/* Case: Larger image size applied to PDP. */
	.bc-gallery-size-bc-xmedium & {
		max-width: 1440px;
	}
}

.bc-product__sku {
	display: block;
}

.bc-product-form__quantity {
	display: flex;
	flex-direction: row;
	align-items: center;
	margin-bottom: 20px;
}

.bc-product-form__quantity-label {
	margin-right: 10px;
}

input.bc-product-form__quantity-input[type=number] {
	background: var(--color-white);
	border: 1px solid var(--color-bc-light-grey);
	font-size: var(--font-size-content-s);
	text-align: center;
	padding-left: 6px;
	padding-right: 6px;
	width: 70px;

	@media (--viewport-medium) {
		font-size: var(--font-size-content);
	}

	&:focus {
		box-shadow: 0 0 0 1px var(--color-bc-light-grey);
	}
}
