:root {
	--global--color-primary: #28303d;
	--global--spacing-vertical: 30px;
	--heading--font-size-h3: 2em;
	--primary-nav--font-size: 1.25em;
}

.bc-wp-twenty-twenty-one-theme {
	/* Case: Make room for banners */
	.bc-banners {

		~ .site {
			position: relative;

			.primary-navigation {
				--global--admin-bar--height: 0;
			}
		}
	}

	/* Case: Remove browser-defined border style. */
	.site .button,
	button,
	input[type=submit],
	input[type=reset],
	.wp-block-search .wp-block-search__button,
	.wp-block-button .wp-block-button__link,
	.wp-block-file a.wp-block-file__button .bc-product-archive {
		border: none;
	}

	/* Case: Remove focus background color. */
	.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
		background: none;
	}

	.bc-btn:not(:hover):not(:active):not(.has-background) {
		--global--color-background: var(--color-white);
		--global--color-primary: var(--color-primary);
	}

	.bc-link:not(:hover):not(:active):not(.has-background) {
		--global--color-background: var(--color-primary);
		--global--color-primary: transparent;
	}

	.bc-load-items__trigger-btn {
		--global--color-primary: transparent;
		--global--color-background: #5273f4;
	}

	/* Case: Content widths need to be wider for bc content pages. */
	.entry-content > * {
		max-width: var(--container-960) !important;
	}

	.bc-product-archive {
		/* Case: Product archive view needs to be wider to allow space for the refinery. */
		max-width: 1260px !important;

		.bc-product-archive__refinery {

			.bc-form {
				@media (--viewport-full) {
					justify-content: space-between;
				}
			}
		}

		.bc-product-archive__select-label {
			@media (--viewport-full) {
				margin-bottom: 0;
			}
		}

		.bc-product-card__featured-image {

			img {
				margin: 0 auto;
			}
		}
	}

	.bc-product-single {

		.bc-form {
			margin-top: 20px;
			width: 100%;

			input[type="radio"],
			input[type="checkbox"] {
				border: 0;
				height: 1px;
				margin: -1px;
				padding: 0;
				position: absolute;
				width: 1px;
			}

			input[type=checkbox] + label,
			input[type=radio] + label {
				display: block;
				padding-left: 0;
			}
		}

		.bc-form__control {
			margin-right: 20px;
		}

		.bc-product-variant__label--pick-list {
			--color-bc-light-grey: var(--global--color-primary);
		}

		.bc-product-variant__label--title {
			--color-bc-grey: var(--global--color-primary);
		}

		.bc-single-product__reviews {
			border-top-color: var(--global--color-primary);
		}

		.bc-product-review-form__title {
			font-size: var(--heading--font-size-h3);
		}

		.bc-product-review-form-wrapper {
			padding: 20px 0;
		}

		.bc-product-review__cancel-write-btn {
			display: inline-block;
			margin-top: 20px;
		}
	}

	.bc-account-login {

		.bc-account-login__register-list {
			margin-left: 0;
		}

		.bc-account-login__form,
		.bc-account-login__register {
			@media (--viewport-medium) {
				margin-bottom: 40px;
				width: 100%;
			}

			@media (--viewport-full) {
				margin-bottom: 0;
				width: 50%;
			}
		}

		.bc-account-login__form {

			label {
				align-items: center;
				display: flex;
			}

			input {
				margin-right: 1em;
			}
		}

		.bc-account-login__form-inner {
			@media (--viewport-medium) {
				margin-left: auto;
				margin-right: auto;
			}

			a {
				display: inline-block;
				margin-top: 20px;
			}
		}

		.bc-account-login__register {
			@media (--viewport-medium) {
				margin-top: var(--global--spacing-vertical);
			}

			@media (--viewport-full) {
				margin-top: 0;
			}

			.bc-btn--register {
				margin-top: 20px;
			}
		}
	}

	.bc-order-list__item {
		--color-bc-light-grey: var(--global--color-primary);
	}

	.bc-order-detail {

		.bc-order__product-list {
			padding-left: 0;
		}

		.bc-order-detail__body {
			flex-wrap: wrap;
		}

		.bc-order-detail__meta {
			flex: 1 1 100%;
			margin-right: 0;
			max-width: 100%;
			width: 100%;
		}

		.bc-order-detail-meta__list {
			@media (--viewport-full) {
				flex-wrap: nowrap;
			}
		}

		.bc-order-detail-meta__list-item {
			@media (--viewport-full) {
				max-width: 25%;
				width: 25%;
			}

			&:nth-child(1n) {
				margin-right: 0;
			}

			&:nth-child(3n) {
				@media (--viewport-full) {
					margin-left: 0;
				}
			}
		}

		.bc-order-detail__totals {
			@media (--viewport-medium) {
				justify-self: flex-end;
				margin-left: auto;
				max-width: 50%;
				width: 50%;
			}
		}
	}

	.bc-account-wish-lists {

		.bc-wish-list-row,
		.bc-wish-list-header {
			--color-bc-light-grey: var(--global--color-primary);
		}

		.bc-wish-list-link {
			display: block;
			line-height: var(--line-height-l);
		}
	}

	+ .bc-product-quick-view__wrapper {

		.site .button,
		button,
		input[type=submit],
		input[type=reset],
		.wp-block-search .wp-block-search__button,
		.wp-block-button .wp-block-button__link,
		.wp-block-file a.wp-block-file__button .bc-product-archive {
			border: none;
		}

		.bc-btn:not(:hover):not(:active):not(.has-background) {
			--global--color-background: var(--color-white);
			--global--color-primary: var(--color-primary);
		}

		.bc-link:not(:hover):not(:active):not(.has-background) {
			--global--color-background: var(--color-primary);
			--global--color-primary: transparent;
		}

		.bc-form {

			input[type="radio"],
			input[type="checkbox"] {
				border: 0;
				height: 1px;
				margin: -1px;
				padding: 0;
				position: absolute;
				width: 1px;
			}

			input[type=checkbox] + label,
			input[type=radio] + label {
				display: block;
				padding-left: 0;
			}
		}
	}

	/* CASE: dialog gets added outside <body> */
	+ .bc-wish-list-dialog__wrapper {

		.site .button,
		button,
		input[type=submit],
		input[type=reset],
		.wp-block-search .wp-block-search__button,
		.wp-block-button .wp-block-button__link,
		.wp-block-file a.wp-block-file__button .bc-product-archive {
			border: none;
		}

		.bc-btn:not(:hover):not(:active):not(.has-background) {
			--global--color-background: var(--color-white);
			--global--color-primary: var(--color-primary);
		}

		.bc-link:not(:hover):not(:active):not(.has-background) {
			--global--color-background: var(--color-primary);
			--global--color-primary: transparent;
		}

		.bc-wish-list-name-field {
			margin: 0 0 1em;
			width: 100%;
		}

		.bc-wish-list-public-label {
			width: calc(100% - 30px);
		}
	}

	.bc-account-page {
		border-bottom-color: var(--global--color-primary);
		border-top-color: var(--global--color-primary);
	}

	.bc-account-address-form__overlay {
		background-color: transparent;
	}

	.bc-mini-cart {
		--primary-nav--font-family: sans-serif;
		--primary-nav--font-size: var(--font-size-content-s);
		--primary-nav--font-weight: var(--font-weight-semibold);

		.bc-btn {
			text-decoration: none;

			&:hover {
				text-decoration: none;
			}

			&:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
				background: var(--color-primary);
				text-decoration: none;
			}
		}
	}

	.bc-cart-item {
		border-top-color: var(--global--color-primary);

		&:last-child {
			border-bottom-color: var(--global--color-primary);
		}
	}

	.bc-cart__empty {
		border-bottom-color: var(--global--color-primary);
		border-top-color: var(--global--color-primary);
	}

	.bc-shipping-calculator {
		border-bottom-color: var(--global--color-primary);
	}

	.bc-gift-purchase {

		.bc-form__col:first-child {
			@media (--viewport-medium) {
				border-right-color: var(--global--color-primary);
			}
		}

		.bc-form .bc-form-terms {
			background: none;
		}
	}

	.bc-account-address__edit,
	.bc-account-address__delete,
	button.bc-account-address__edit,
	button.bc-account-address__delete,
	a.bc-account-address__edit,
	a.bc-account-address__delete {
		--global--color-background: var(--color-primary);
		--global--color-primary: transparent;
	}

	.bc-account-addresses__add-button,
	button.bc-account-addresses__add-button,
	a.bc-account-addresses__add-button {
		--global--color-background: var(--color-bc-black);
		--global--color-primary: transparent;
	}

	/* CASE: image zoom doesn't work properly do to max-width property */
	.bc-product-gallery__image-slide img {
		max-width: none;
		width: 100%;
	}
}
