.brxe-woocommerce-products a:has(img) {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	padding: 6rem 4rem;
	height: 47.5rem;
	border-radius: 2rem;
}

.brxe-woocommerce-products a>img {
	height: auto;
	width: 100%;
}

/* WooCommerce buttons aligned with Bricks primary button styles */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce .single_add_to_cart_button,
.woocommerce #place_order {
	font-family: hanken-grotesk;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	padding: 2rem 10rem;
	border: 0.3rem solid var(--ogp-green);
	border-radius: 100rem;
	transition: 0.3s;
	color: var(--ogp-green);
}

/* Outline by default (including product archive) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background-color: transparent;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background-color: var(--ogp-green);
	color: var(--ogp-grey-1);
}

.woocommerce .quantity span.action.minus:hover,
.woocommerce .quantity span.action.plus:hover {
	border-color: #fff !important;
	color: #fff !important;
}

.woocommerce .quantity span.action.minus:hover svg,
.woocommerce .quantity span.action.plus:hover svg {
	stroke: #fff !important;
}

/* Keep WooCommerce notice/action buttons on default Woo styles */
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-info a.button,
.woocommerce .woocommerce-error a.button,
.woocommerce .woocommerce-message button.button,
.woocommerce .woocommerce-info button.button,
.woocommerce .woocommerce-error button.button,
.woocommerce .woocommerce-message input.button,
.woocommerce .woocommerce-info input.button,
.woocommerce .woocommerce-error input.button {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	padding: inherit;
	border: 0;
	border-radius: 0;
	transition: none;
	color: inherit;
	background: none;
}

/* True CTAs: solid by default, outline on hover */
.woocommerce .single_add_to_cart_button,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order,
.woocommerce button[name="woocommerce_checkout_place_order"] {
	background-color: var(--ogp-green) !important;
	color: var(--ogp-grey-1) !important;
}

.woocommerce .single_add_to_cart_button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover,
.woocommerce button[name="woocommerce_checkout_place_order"]:hover {
	background-color: transparent !important;
	color: var(--ogp-green) !important;
}

/* Product archive loop buttons full width */
.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
}

.woocommerce ul.products li.product > .dynamic:has(.button) {
	margin-top: auto;
}

.woocommerce ul.products li.product > .dynamic:has(.woocommerce-Price-amount) span {
	font-weight: 700;
}

.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product button.button,
.woocommerce ul.products li.product input.button {
	display: inline-flex;
	justify-content: center;
	width: 100%;
}

/* Single product template styles */
.woocommerce-product-gallery {
	gap: 3.5rem;
}

.woocommerce-product-gallery .flex-control-thumbs {
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.woocommerce-product-gallery .flex-control-thumbs li {
	background-color: #fff;
	border-radius: 2rem;
	padding: 4rem 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.woocommerce-product-gallery .flex-control-thumbs img {
	opacity: 0.5;
	height: 15rem;
	width: auto;
	object-fit: contain;
}

.woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	opacity: 1;
}

.woocommerce-product-gallery__wrapper a {
	background: #fff;
	border-radius: 2rem;
	padding: 10rem 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.woocommerce-product-gallery__wrapper a > img {
	height: 47.5rem;
	width: auto;
	object-fit: contain;
}

/* Single product variation dropdown layout */
body.single-product table.variations {
	width: 100%;
}

body.single-product table.variations tr,
body.single-product table.variations th.label,
body.single-product table.variations td.value {
	display: block;
	width: 100%;
}

body.single-product table.variations tr {
	border: none;
}

body.single-product table.variations tr:not(:first-of-type) {
	margin-top: 1em;
}

body.single-product table.variations th.label,
body.single-product table.variations td.value {
	padding: 0;
	border: 0;
	text-align: left;
}

body.single-product table.variations th.label label {
	display: block;
	margin-bottom: 2rem;
	font-size: 1.8rem;
	font-weight: 700;
	color: #fff;
}

body.single-product table.variations td.value select {
	width: 100%;
	border: 2px solid #888888;
	border-radius: 1.2rem;
	padding: 1rem 2rem;
	font-size: 1.8rem;
	font-weight: 700;
}

/* The separate Bricks Price element already displays the selected variation price. */
body.single-product .brxe-product-add-to-cart .woocommerce-variation-price {
	display: none;
}

select,
select option {
	background-color: #171717;
	color: #fff;
}

select:not([multiple]) {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='18' height='11' viewBox='0 0 18 11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 1.5L9 9L16.5 1.5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1.6rem center;
	background-size: 1.8rem 1.1rem;
	padding-right: 4.5rem;
}

/* Single product tiered pricing dropdown: mirror variation select styles */
body.single-product .tpt__tiered-pricing .tiered-pricing-dropdown {
	width: 100%;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
}

body.single-product .tpt__tiered-pricing .tiered-pricing-dropdown__select-box,
body.single-product .tpt__tiered-pricing .tiered-pricing-dropdown__list {
	border: 2px solid #888888 !important;
	background-color: #171717;
	color: #fff;
}

body.single-product .tpt__tiered-pricing .tiered-pricing-dropdown__select-box {
	border-radius: 1.2rem;
}

body.single-product .tpt__tiered-pricing .tiered-pricing-dropdown__select-box-arrow svg {
	fill: #fff !important;
}

body.single-product .tpt__tiered-pricing .tiered-pricing-dropdown__list {
	border-radius: 1.2rem;
	overflow: hidden;
}

body.single-product .tpt__tiered-pricing .tiered-pricing-dropdown__list ul {
	margin: 0;
	padding: 0;
}

body.single-product .tpt__tiered-pricing .tiered-pricing-dropdown__list .tiered-pricing-dropdown-option {
	padding: 1rem 2rem;
	background-color: #171717;
	color: #fff;
}

body.single-product .tpt__tiered-pricing .tiered-pricing-dropdown__list .tiered-pricing-dropdown-option:hover,
body.single-product .tpt__tiered-pricing .tiered-pricing-dropdown__list .tiered-pricing-dropdown-option--selected {
	background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Single product related products: mirror archive card/button behavior */
.related.products > h2 {
	margin-bottom: 6rem;
}

.woocommerce .related ul.products li.product {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.woocommerce .related ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 6rem 4rem;
	height: 47.5rem;
	border-radius: 2rem;
	background: #fff;
	flex-grow: 1;
}

.woocommerce .related ul.products li.product a.woocommerce-LoopProduct-link img {
	width: 100%;
	object-fit: contain;
}

.woocommerce .related ul.products li.product a.woocommerce-LoopProduct-link .woocommerce-loop-product__title {
	color: var(--ogp-grey-1);
	text-align: center;
}

.woocommerce .related ul.products li.product a.button {
	margin-top: auto;
}

/* Product reference price tables - spacing */
body.single-product .brxe-accordion-nested :is(p, ul, ol, h2, h3, h4, h5, h6) + table {
	margin-top: 1em;
}

body.single-product .brxe-accordion-nested table + :is(p, ul, ol) {
	margin-top: 1em;
}

body.single-product .brxe-accordion-nested table + :is(h2, h3, h4, h5, h6) {
	margin-top: 1.5em;
}

body.single-product .brxe-accordion-nested table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 2.5rem;
	overflow: hidden;
	table-layout: fixed;
	background: #fff;
	color: #000;
}

body.single-product .brxe-accordion-nested table tr:first-child {
	background: var(--ogp-off-white);
}

body.single-product .brxe-accordion-nested table td {
	padding: 0.75rem;
	border: 0;
	text-align: center;
	vertical-align: middle;
}

body.single-product .brxe-accordion-nested table tr:first-child td,
body.single-product .brxe-accordion-nested table tr:first-child td b {
	font-weight: 700;
}

body.single-product .brxe-accordion-nested table tr:not(:first-child) td {
	font-weight: 700;
}

body.single-product .brxe-accordion-nested table tr:not(:first-child) td span {
	font-weight: inherit !important;
}

@media (max-width: 767px) {
	body.single-product .brxe-accordion-nested table {
		display: block;
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		table-layout: auto;
	}

	body.single-product .brxe-accordion-nested table tbody {
		display: table;
		width: max-content;
		min-width: 100%;
		table-layout: auto;
	}

	body.single-product .brxe-accordion-nested table td {
		min-width: 8rem;
		white-space: normal;
		overflow-wrap: break-word;
	}
}

/* WooCommerce transactional UI: dark surfaces and cleaner tables */
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
	--ogp-woo-surface: #171717;
	--ogp-woo-surface-raised: rgba(255, 255, 255, 0.06);
	--ogp-woo-border: rgba(255, 255, 255, 0.2);
	--ogp-woo-text-muted: rgba(255, 255, 255, 0.72);
}

.woocommerce-cart .shop_table,
.woocommerce-checkout .shop_table,
.woocommerce-account .shop_table,
.woocommerce-order-details .shop_table {
	border: 0;
	border-collapse: collapse;
	background: transparent;
	color: inherit;
}

.woocommerce-cart .shop_table thead,
.woocommerce-checkout .shop_table thead,
.woocommerce-account .shop_table thead,
.woocommerce-order-details .shop_table thead {
	background: transparent;
}

.woocommerce-cart .shop_table tr,
.woocommerce-checkout .shop_table tr,
.woocommerce-account .shop_table tr,
.woocommerce-order-details .shop_table tr {
	border-bottom: 0.1rem solid var(--ogp-woo-border, rgba(255, 255, 255, 0.2));
}

.woocommerce-cart .shop_table tbody tr:last-child,
.woocommerce-cart .shop_table tfoot tr:last-child,
.woocommerce-checkout .shop_table tbody tr:last-child,
.woocommerce-checkout .shop_table tfoot tr:last-child,
.woocommerce-account .shop_table tbody tr:last-child,
.woocommerce-account .shop_table tfoot tr:last-child,
.woocommerce-order-details .shop_table tbody tr:last-child,
.woocommerce-order-details .shop_table tfoot tr:last-child {
	border-bottom: 0;
}

.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table td,
.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td,
.woocommerce-account .shop_table th,
.woocommerce-account .shop_table td,
.woocommerce-order-details .shop_table th,
.woocommerce-order-details .shop_table td {
	border: 0 !important;
	background: transparent;
	color: inherit;
}

.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-order-details,
.woocommerce-customer-details {
	background: transparent;
	color: inherit;
}

.woocommerce-checkout #payment,
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout .coupon-div,
.woocommerce-checkout .login-div,
.woocommerce-checkout .woocommerce-form-coupon,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .woocommerce-terms-and-conditions,
.woocommerce-account ul.woocommerce-PaymentMethods .woocommerce-PaymentMethod,
.woocommerce-account ul.woocommerce-PaymentMethods .woocommerce-PaymentBox,
.woocommerce-account fieldset {
	background: var(--ogp-woo-surface-raised) !important;
	color: inherit !important;
}

.woocommerce-checkout fieldset,
.woocommerce-account fieldset {
	border-color: var(--ogp-woo-border);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--ogp-woo-surface-raised) !important;
}

.woocommerce-cart input.input-text:not(.qty),
.woocommerce-cart textarea,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-account input.input-text,
.woocommerce-account textarea,
.ogp-quote-request-form input.input-text,
.ogp-quote-request-form input[type="date"],
.ogp-quote-request-form textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce .select2-container--default .select2-selection--multiple,
.select2-container--open .select2-dropdown {
	border: 2px solid #888888;
	border-radius: 1.2rem;
	background-color: var(--ogp-woo-surface, #171717);
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
}

.woocommerce-cart input.input-text:not(.qty),
.woocommerce-cart textarea,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-account input.input-text,
.woocommerce-account textarea,
.ogp-quote-request-form input.input-text,
.ogp-quote-request-form input[type="date"],
.ogp-quote-request-form textarea,
.woocommerce form .form-row select {
	padding: 1rem 2rem;
}

.ogp-quote-request-form input[type="date"]::-webkit-calendar-picker-indicator {
	cursor: pointer;
	filter: invert(1) brightness(2) contrast(1.2) !important;
	opacity: 1;
}

.ogp-quote-request-form form {
	display: flex;
	flex-wrap: wrap;
	column-gap: 2rem;
	align-items: flex-start;
}

.ogp-quote-request-form .form-row,
.ogp-quote-request-form .ogp-quote-turnstile {
	float: none;
	clear: none;
	flex: 0 0 100%;
	width: 100%;
}

.ogp-quote-request-form #billing_first_name_field,
.ogp-quote-request-form #billing_last_name_field,
.ogp-quote-request-form #billing_email_field,
.ogp-quote-request-form #billing_phone_field,
.ogp-quote-request-form #billing_address_1_field,
.ogp-quote-request-form #billing_address_2_field,
.ogp-quote-request-form #billing_city_field,
.ogp-quote-request-form #billing_state_field,
.ogp-quote-request-form #billing_postcode_field,
.ogp-quote-request-form #ogp_requested_delivery_date_field {
	flex-basis: calc(50% - 1rem);
	width: calc(50% - 1rem);
}

.ogp-quote-request-form #billing_address_2_field {
	align-self: flex-end;
}

@media (max-width: 767px) {
	.ogp-quote-request-form #billing_first_name_field,
	.ogp-quote-request-form #billing_last_name_field,
	.ogp-quote-request-form #billing_email_field,
	.ogp-quote-request-form #billing_phone_field,
	.ogp-quote-request-form #billing_address_1_field,
	.ogp-quote-request-form #billing_address_2_field,
	.ogp-quote-request-form #billing_city_field,
	.ogp-quote-request-form #billing_state_field,
	.ogp-quote-request-form #billing_postcode_field,
	.ogp-quote-request-form #ogp_requested_delivery_date_field {
		flex-basis: 100%;
		width: 100%;
	}

	.ogp-quote-request-form #billing_address_2_field {
		align-self: auto;
	}
}

.woocommerce-cart textarea,
.woocommerce-checkout textarea,
.woocommerce-account textarea,
.ogp-quote-request-form textarea {
	min-height: 12rem;
	resize: vertical;
}

.woocommerce .select2-container--default .select2-selection--single,
.woocommerce .select2-container--default .select2-selection--multiple {
	min-height: 5rem;
	padding: 0.8rem 2rem;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 3rem;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	right: 1rem;
}

.woocommerce .select2-container--default .select2-selection--multiple .select2-search__field {
	margin: 0;
}

.select2-container--open .select2-dropdown {
	overflow: hidden;
}

.select2-container--default .select2-search--dropdown {
	padding: 1rem;
	background-color: #171717;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	border: 2px solid #888888;
	border-radius: 1.2rem;
	padding: 1rem 2rem;
	background-color: #171717;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce .select2-container--default .select2-selection--multiple .select2-selection__rendered,
.select2-container--default .select2-results__option,
.select2-container--default .select2-search--dropdown .select2-search__field {
	color: #fff;
}

.select2-container--default .select2-results__option {
	background-color: #171717;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected],
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
	background-color: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.woocommerce-cart input:not(.qty)::placeholder,
.woocommerce-cart textarea::placeholder,
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder,
.woocommerce-account input::placeholder,
.woocommerce-account textarea::placeholder,
.ogp-quote-request-form input::placeholder,
.ogp-quote-request-form textarea::placeholder {
	color: #d0d0d0;
	opacity: 1;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__placeholder,
.woocommerce .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
	color: #d0d0d0;
}

.woocommerce form .form-row select:has(option[value=""]:checked),
.woocommerce form .form-row select option[value=""] {
	color: #d0d0d0;
}

.woocommerce form .form-row select option:not([value=""]) {
	color: #fff;
}

.woocommerce-cart .shop_table small,
.woocommerce-checkout .shop_table small,
.woocommerce-account .shop_table small,
.woocommerce-order-details .shop_table small {
	color: var(--ogp-woo-text-muted, rgba(255, 255, 255, 0.72));
}

.woocommerce-cart .shop_table .variation,
.woocommerce-checkout .shop_table .variation,
.woocommerce-account .shop_table .variation,
.woocommerce-order-details .shop_table .variation,
.woocommerce-cart .shop_table .wc-item-meta,
.woocommerce-checkout .shop_table .wc-item-meta,
.woocommerce-account .shop_table .wc-item-meta,
.woocommerce-order-details .shop_table .wc-item-meta {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: 0.4rem;
	row-gap: 0.35rem;
	margin: 0.75rem 0 0;
	padding: 0;
}

.woocommerce-cart .shop_table .wc-item-meta,
.woocommerce-checkout .shop_table .wc-item-meta,
.woocommerce-account .shop_table .wc-item-meta,
.woocommerce-order-details .shop_table .wc-item-meta {
	grid-template-columns: 1fr;
}

.woocommerce-cart .shop_table .variation dt,
.woocommerce-checkout .shop_table .variation dt,
.woocommerce-account .shop_table .variation dt,
.woocommerce-order-details .shop_table .variation dt,
.woocommerce-cart .shop_table .variation dd,
.woocommerce-checkout .shop_table .variation dd,
.woocommerce-account .shop_table .variation dd,
.woocommerce-order-details .shop_table .variation dd {
	display: block;
	float: none;
	margin: 0;
	padding: 0;
}

.woocommerce-cart .shop_table .variation dt,
.woocommerce-checkout .shop_table .variation dt,
.woocommerce-account .shop_table .variation dt,
.woocommerce-order-details .shop_table .variation dt {
	font-weight: 700;
}

.woocommerce-cart .shop_table .variation dd,
.woocommerce-checkout .shop_table .variation dd,
.woocommerce-account .shop_table .variation dd,
.woocommerce-order-details .shop_table .variation dd,
.woocommerce-cart .shop_table .wc-item-meta li,
.woocommerce-checkout .shop_table .wc-item-meta li,
.woocommerce-account .shop_table .wc-item-meta li,
.woocommerce-order-details .shop_table .wc-item-meta li {
	list-style: none;
}

.woocommerce-cart .shop_table .variation p,
.woocommerce-checkout .shop_table .variation p,
.woocommerce-account .shop_table .variation p,
.woocommerce-order-details .shop_table .variation p,
.woocommerce-cart .shop_table .wc-item-meta p,
.woocommerce-checkout .shop_table .wc-item-meta p,
.woocommerce-account .shop_table .wc-item-meta p,
.woocommerce-order-details .shop_table .wc-item-meta p {
	display: inline;
	margin: 0;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid .select2-selection {
	border-color: var(--bricks-text-danger);
}

.woocommerce-order-details table tfoot {
	background-color: #171717;
}

.woocommerce-order-details table .product-quantity {
	background-color: #505050;
}

.tiered-pricing-wrapper > h3 {
	font-size: 1.8rem
}

.woocommerce-cart .shop_table td {
	padding: 15px;
}
