/* ==========================================================================
   Pine Research Instrumentation
   
   WOOCOMMERCE CHECKOUT

   Author: Tim Paschkewitz
   ========================================================================== */

/* CART AND CHECKOUT (Shared) */
.woocommerce-checkout .order-summary .pri-grid.pri-grid-header {
	font-weight: 700;
	align-items: center;
	color: var(--mid-blue-2);
	border-bottom: 2px solid var(--mid-blue-2);
	padding: 10px;
	font-size: 1.1em;
	background-color: unset;
}

.woocommerce-checkout .order-summary .pri-grid:not(.pri-grid-header) {
	color: var(--white);
	font-size: 0.9em;
	padding: 10px;
}

.woocommerce-checkout
	.order-summary
	.pri-grid:not(.pri-grid-header):nth-child(even) {
	border-top: 1px solid var(--mid-blue-2);
	border-bottom: 1px solid var(--mid-blue-2);
	background-color: unset;
}

.woocommerce-cart .pri-grid-header .product-price,
.woocommerce-cart .pri-grid-header .product-quantity,
.woocommerce-cart .cart-item .product-quantity {
	text-align: center;
}

.woocommerce-cart .pri-grid-header .product-subtotal,
.woocommerce-cart .cart-item .product-subtotal {
	text-align: right;
}

.woocommerce-cart .cart-item {
	padding: 10px;
}

.woocommerce-cart .product-remove,
.woocommerce-cart .product-thumbnail {
	align-content: center;
}

.woocommerce-cart .quote-request-outer-wrap {
	border-top: 1px solid var(--mid-blue-1);
}

.woocommerce-cart .update-cart-button:disabled,
.woocommerce-cart .update-cart-button[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
	box-shadow: none;
	filter: grayscale(100%);
	transition: opacity 0.3s ease;
}

.woocommerce-cart .update-cart-button.et_pb_custom_button_icon.et_pb_button {
	padding: 8px 12px !important;
	border-radius: 5px !important;
	line-height: unset !important;
}

.woocommerce-cart
	.update-cart-button.et_pb_custom_button_icon.et_pb_button:hover {
	border: 1px solid var(--pri-blue) !important;
	color: var(--pri-blue) !important;
}

.woocommerce-cart .cart-summary {
	color: var(--white);
}

.woocommerce a.remove:hover {
	background-color: var(--pink);
}

/* CHECKOUT (General) */
input#payment_method_paypal_pro_payflow.input-radio {
	margin: 0 0 0 1em !important;
}

label[for='payment_method_paypal_pro_payflow'] img {
	margin-left: 1em !important;
}

#main-content
	> form
	> div.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout {
	padding: 16px !important;
}

#main-content
	> form
	> div.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout
	> div
	> ul.woocommerce-error {
	margin: 0 !important;
	background-color: var(--light-orange) !important;
	color: var(--orange) !important;
	font-weight: 700 !important;
	font-size: 1em !important;
}

#payment > ul > li.wc_payment_method.payment_method_paypal_pro_payflow label {
	display: block;
	text-align: center;
	margin: auto auto;
}

#payment
	> ul
	> li.wc_payment_method.payment_method_paypal_pro_payflow
	div.payment_box.payment_method_paypal_pro_payflow
	> p {
	display: none;
}

.shop_table .product-subtotal {
	text-align: right;
}

.cart-sku {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	border-radius: 5px;
	width: fit-content;
	background-color: var(--mid-blue-1);
	padding: 0.2em 0.6em;
	color: var(--white);
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.woocommerce-checkout .variation-data,
.woocommerce-cart .variation-data {
	font-size: 0.85em;
}

.woocommerce-checkout #order_review .totals {
	font-size: 1.2em;
	font-weight: 700;
	color: var(--dark-pri-blue);
	background-color: var(--mid-blue-2);
}

.woocommerce-checkout .shipping .options {
	border: 1px solid var(--mid-blue-1);
	border-radius: 5px;
	padding: 0.5em;
}

.woocommerce-checkout .shipping-package {
	display: flex;
	flex-flow: column-reverse nowrap;
	row-gap: 0.3em;
	font-size: 0.98em;
}

.shipping-method-option:has(input:checked) {
	font-weight: 700;
}

.shipping-method-option:not(:has(input:checked)) {
	font-weight: 400;
	opacity: 0.7;
}

#custom-billing-same-checkbox {
	accent-color: var(--dark-pri-blue);
}

.shipping-method-option {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	column-gap: 1em;
}

.shipping-method-option input[type='radio'] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 1.4em;
	height: 1.4em;
	border: 1px solid var(--mid-blue-2);
	border-radius: 50%;
	background-color: #fff;
	outline: none;
	cursor: pointer;
	position: relative;
	vertical-align: middle;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	margin: 0;
}

.shipping-method-option input[type='radio']:checked::before {
	content: '';
	display: block;
	width: 0.7em;
	height: 0.7em;
	background-color: var(--mid-blue-1);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.method-label {
	flex-grow: 1;
}

.method-cost {
	text-align: right;
}

.woocommerce-checkout
	.select2-dropdown
	.select2-search
	input.select2-search__field {
	border-radius: 5px;
	border-width: 1px;
	border-color: #939598;
	background-color: #f9f9f9;
	padding: 8px;
	height: auto;
	line-height: 1.7em;
	font-size: 14px;
	color: var(--gray);
}

.woocommerce-checkout
	.select2-dropdown
	.select2-search
	input.select2-search__field:focus {
	border-color: var(--pri-blue);
	color: var(--pri-blue);
	background-color: var(--white);
}

.woocommerce-checkout
	.select2-container--default
	.select2-results__option--highlighted[aria-selected],
.woocommerce-checkout
	.select2-container--default
	.select2-results__option--highlighted[data-selected] {
	background-color: var(--pri-blue);
}

.woocommerce-checkout .select2-results__option {
	font-size: 14px;
	color: var(--gray);
	padding: 8px;
	line-height: 1.7;
}

#pri-checkout-section #pri-checkout-col-1 {
	width: 60%;
}

#pri-checkout-section #pri-checkout-col-2 {
	width: 40%;
}

#pri-checkout-section #order_comments_field > label {
	display: none;
}

.shipping-address-notice {
	font-size: 0.9em;
	color: var(--dark-pri-blue);
	padding: 1em;
	background-color: var(--mid-blue-2);
	margin-bottom: 0.5em;
	font-weight: 700;
	border-radius: 5px;
}

.woocommerce-checkout .cart-product-link {
	color: var(--white);
}

.woocommerce-checkout .cart-product-link:hover {
	color: var(--mid-blue-2);
	text-decoration: underline;
	cursor: pointer;
}

#order_comments {
	width: 100%;
	padding: 10px;
	border-radius: 5px;
	background-color: #f9f9f9;
}

#order_comments:focus {
	color: var(--pri-blue);
	background-color: var(--white);
}

body.woocommerce-order-received .hide-on-order-received {
	display: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .hide-on-checkout {
	display: none;
}

/* CART */
.woocommerce-cart .input-text.qty {
	text-align: center;
}

.woocommerce-cart .cart-summary .subtotal,
.woocommerce-cart .cart-summary .shipping {
	border-bottom: 1px solid var(--mid-blue-2);
}

.woocommerce-cart .cart-summary > div:not(.tax-notice) {
	padding: 1em;
}

.woocommerce-cart .totals {
	font-size: 1.2em;
	color: var(--dark-pri-blue);
	background-color: var(--mid-blue-2);
}

.woocommerce-cart .totals bdi {
	font-size: 1.4em;
	color: var(--dark-pri-blue);
}

.woocommerce-cart .shipping-package {
	display: flex;
	flex-flow: column nowrap;
	row-gap: 0.5em;
	padding: 1em 0 1em 1em;
}

.woocommerce-cart .method-label {
	font-size: 0.9em;
}

/* ORDER ACKNOWLEDGEMENT */
.order-acknowledgement-wrapper .order-details {
	text-align: center;
}

.order-acknowledgement-wrapper .order-details.pri-grid:not(.pri-grid-header) {
	color: var(--white);
	font-weight: 700;
	padding: 10px;
	background-color: var(--dark-pri-blue);
}

.order-acknowledgement-wrapper .pri-grid-header,
.order-items-summary .pri-grid-header {
	font-weight: 700;
	align-items: center;
	color: var(--mid-blue-2);
	border-bottom: 2px solid var(--mid-blue-2);
	padding: 10px;
	font-size: 1.1em;
	background-color: unset;
	border-top: unset;
}

.order-totals .subtotal,
.order-totals .shipping,
.order-totals .tax,
.order-totals .totals {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
}

.order-totals .title {
	flex-grow: 1;
	text-align: right;
}

.order-totals .value {
	margin-left: 45px;
}

.order-acknowledgement-wrapper h2,
.acknowledgement-order-summary h2 {
	padding: 15px;
}

.order-acknowledgement-wrapper,
.order-summary {
	margin-bottom: 1em;
}

.checkout-item.pri-grid:not(.pri-grid-header) {
	padding: 10px;
}

.acknowledgement-order-summary .order-totals .pri-grid.subtotal,
.acknowledgement-order-summary .order-totals .pri-grid.tax,
.acknowledgement-order-summary .order-totals .pri-grid.shipping {
	background-color: var(--dark-pri-blue);
	color: var(--white);
	border-bottom: 1px solid var(--mid-blue-2);
	border-top: unset;
	padding: 10px;
}

.checkout-item.pri-grid:not(.pri-grid-header):nth-child(even) {
	background-color: var(--dark-pri-blue);
	color: var(--white);
	border-bottom: 1px solid var(--mid-blue-2);
	border-top: unset;
}

.acknowledgement-order-summary .totals {
	font-weight: 700;
	color: var(--dark-pri-blue);
	background-color: var(--mid-blue-2);
	padding: 10px;
}

/* ORDER DETAILS */
.et_pb_wc_checkout_payment_info_0_tb_body div.woocommerce-order {
	margin-top: 0 !important;
}

ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-flow: column nowrap;
	row-gap: 1em;
}

ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details
	li {
	float: unset !important;
	margin-right: 0 !important;
	border-right: none !important;
	padding-right: 0 !important;
}

.woocommerce-order-received section.woocommerce-order-details,
.woocommerce-order-received section.woocommerce-order-details > *,
.woocommerce-order-received section.woocommerce-customer-details,
.woocommerce-order-received section.woocommerce-customer-details > *,
.woocommerce-order-received section.woocommerce-columns.addresses,
.woocommerce-order-received section.woocommerce-columns.addresses > * {
	color: var(--white);
}

.woocommerce-MyAccount-content
	.pri-my-account_order-details
	section.woocommerce-order-details {
	color: var(--gray);
}

section.woocommerce-order-details
	table.woocommerce-table.shop_table.order_details {
	border: 1px solid rgba(255, 255, 255, 0.8);
	font-size: 0.9em;
}

.woocommerce .woocommerce-customer-details address {
	border: 1px solid rgba(255, 255, 255, 0.8);
}

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
	float: unset;
	width: unset;
}

.woocommerce-order-received
	section.woocommerce-columns.woocommerce-columns--2.woocommerce-columns--addresses.col2-set.addresses {
	display: flex;
	flex-flow: column nowrap;
	row-gap: 1em;
}

.woocommerce-order-received
	section.woocommerce-customer-details
	h2.woocommerce-column__title {
	color: var(--white);
}

.pri-my-account_order-details
	section.woocommerce-customer-details
	h2.woocommerce-column__title {
	color: var(--dark-pri-blue);
}

.pri-my-account_order-details
	section.woocommerce-columns.woocommerce-columns--2.woocommerce-columns--addresses.col2-set.addresses::before {
	content: none;
}

/* NEW CHECKOUT AND ORDER RECEIVED */
.pri-checkout-layout {
	display: flex;
	flex-flow: row nowrap;
	padding: 1em;
	background-color: var(--dark-pri-blue);
	column-gap: 2em;
}

@media screen and (max-width: 568px) {
	.pri-checkout-layout {
		flex-flow: column nowrap;
		row-gap: 1em;
	}
}

.pri-col-left,
.pri-col-right {
	padding: 1em;
	display: flex;
	flex-flow: column nowrap;
}

.pri-col-right {
	row-gap: 2.5em;
}

.pri-col-right section {
	display: flex;
	flex-flow: column nowrap;
	row-gap: 1em;
}

.pri-col-left {
	background-color: var(--mid-blue-2);
	border: 1px solid var(--white);
	border-radius: 5px;
	flex-basis: 40%;
	row-gap: 1em;
}

.woocommerce-checkout #payment div.payment_box .form-row {
	margin: 0;
}
.payment_box.payment_method_paypal_pro_payflow input {
	height: 36px;
	border-radius: 5px;
}

.address-block {
	display: flex;
	flex-flow: column nowrap;
	row-gap: 1em;
	padding: 10px;
	border: 1px solid var(--mid-blue-1);
	border-radius: 5px;
}

.address-wrap {
	display: flex;
	flex-flow: column nowrap;
	row-gap: 1em;
}

@media screen and (max-width: 568px) {
	body.woocommerce-checkout .woocommerce-shipping-fields {
		display: flex !important;
		flex-flow: column nowrap;
		row-gap: 1em;
	}
}

.shipping_state_field,
.billing_state_field {
	flex-grow: 1;
}

.shipping_postcode_field,
.billing_postcode_field {
	flex-grow: 0;
}

#pri-custom-checkout-container .fields-group-inline {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	column-gap: 1em;
}

@media screen and (max-width: 568px) {
	#pri-custom-checkout-container .fields-group-inline {
		flex-flow: column nowrap;
		justify-content: unset;
		row-gap: 1em;
		display: flex;
	}
}

.section-heading,
.pri-order-received-wrapper .section-heading,
.order-acknowledgement-wrapper > .section-heading,
.woocommerce-order-received .section-heading {
	font-size: 1.5em;
	font-weight: 700;
}

.pri-col-left .section-heading {
	color: var(--dark-pri-blue);
}

.pri-col-right .section-heading,
.pri-order-received-wrapper .section-heading,
.order-acknowledgement-wrapper > .section-heading,
.woocommerce-order-received .section-heading {
	color: var(--white);
}

.pri-order-review-table {
	background-color: var(--dark-pri-blue);
	padding: 1em;
	border-radius: 5px;
}

.field {
	display: flex;
	flex-flow: column nowrap;
	row-gap: 0.5em;
}

.field label {
	color: var(--dark-pri-blue);
	font-weight: 700;
	display: block;
}

.field input,
.field select {
	padding: 8px;
	box-sizing: border-box;
	min-height: 30px;
	border-radius: 5px;
	border-color: var(--mid-blue-1);
}

.field.field-full-width input,
.field select {
	width: 100%;
}

.inline-field {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 0.5em;
}

.woocommerce-error {
	margin-bottom: 1em;
}

.pri-coupon-area .woocommerce-info.pri-coupon-notice {
	background-color: var(--white) !important;
	margin: 0 !important;
	padding: 0 !important;
}

.checkout-section {
	border: 1px solid var(--mid-blue-2);
	border-radius: 5px;
	padding: 10px;
}

.field label.right-label {
	color: var(--white);
}

.order-summary {
	margin-bottom: 0;
}

#pri-custom-checkout-container .wc_payment_methods.payment_methods.methods {
	background-color: var(--mid-blue-2);
	color: var(--dark-pri-blue);
}

.woocommerce-page .woocommerce-shipping-fields::before {
	content: unset;
	display: unset;
}

#pri-custom-checkout-container .shipping.pri-grid {
	padding-right: 0;
}

.woocommerce-checkout #payment div.payment_box::before {
	content: '';
	display: block;
	border: 1em solid var(--white);
	border-right-color: transparent;
	border-left-color: transparent;
	border-top-color: transparent;
	position: absolute;
	top: -0.75em;
	left: 0;
	margin: -1em 0 0 2em;
}

.woocommerce-checkout #payment div.payment_box {
	background-color: var(--white);
}

#pri-custom-checkout-container #payment {
	padding: 10px;
	background-color: var(--mid-blue-2);
}

#pri-custom-checkout-container
	input#payment_method_paypal_pro_payflow.input-radio,
#pri-custom-checkout-container
	.woocommerce-checkout
	#payment
	ul.payment_methods
	li
	input {
	margin: 0 !important;
}

#pri-custom-checkout-container .totals {
	background-color: var(--mid-blue-2);
	color: var(--dark-pri-blue);
	font-weight: 700;
	font-size: 1.3em;
}

.woocommerce-checkout #payment div.payment_box input.input-text,
.woocommerce-checkout #payment div.payment_box input {
	border-color: var(--mid-blue-1);
	color: var(--dark-pri-blue);
}

/* Target Standard Browsers */
#pri-checkout-master-wrapper
	#payment
	input#paypal_pro_payflow-card-cvc::placeholder,
.woocommerce-checkout #payment div.payment_box input::placeholder {
	color: var(--dark-pri-blue) !important;
	opacity: 0.5;
}

.woocommerce-checkout #payment div.payment_box label {
	font-weight: 700;
	color: var(--dark-pri-blue);
}

.order-swap-buttons a {
	display: none;
	visibility: hidden;
}

.woocommerce-page #payment #place_order {
	float: unset;
	display: flex;
	justify-self: center;
}

.woocommerce-checkout.woocommerce-order-received .show-on-order-received,
.woocommerce-checkout .show-on-checkout {
	display: block;
}

.woocommerce-checkout.woocommerce-order-received .hide-on-order-received,
.woocommerce-checkout .hide-on-checkout {
	display: none;
}

.pri-order-received-wrapper {
	max-width: 960px;
	margin: 0 auto;
	padding: 2em;
	border-radius: 5px;
	box-shadow: var(--box-shadow-default);
	background-color: var(--dark-pri-blue);
}

.woocommerce-thankyou-order-received {
	font-size: 1.5em;
	color: var(--dark-pri-blue);
	margin-bottom: 30px;
}

.woocommerce-checkout.woocommerce-order-received .section-wrapper {
	padding: 10px;
	border: 1px solid var(--white);
	border-radius: 5px;
}
.thank-you-container {
	display: flex;
	flex-flow: column nowrap;
	row-gap: 2em;
}
.thank-you-section {
	display: flex;
	flex-flow: column nowrap;
	row-gap: 1em;
}
.after-confirmation-note {
	color: var(--dark-pri-blue);
	background-color: var(--mid-blue-2);
}
.acknowledgement-order-summary.address-details {
	color: var(--white);
}
.acknowledgement-order-summary.address-details .section-heading {
	font-weight: 700;
	color: var(--white);
}
.acknowledgement-order-summary .subsection-heading {
	font-weight: 700;
	color: var(--mid-blue-2);
	font-size: 1.2em;
	padding-bottom: 0.5em;
}
.acknowledgement-order-summary.address-details .cols {
	display: flex;
	flex-flow: row nowrap;
	column-gap: 5em;
	justify-content: center;
}
.address-details .cols > div {
	text-align: center;
	align-content: center;
	justify-content: center;
}
.woocommerce-info,
.woocommerce-message {
	margin-bottom: 0;
}
#pri-custom-checkout-container .woocommerce-message {
	margin-bottom: 0px;
	font-size: 15px !important;
	text-align: center !important;
	font-weight: 700 !important;
	color: var(--orange) !important;
	background-color: var(--light-orange) !important;
	border: 1px solid var(--orange);
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
}
.woocommerce-info.pri-coupon-notice {
	background-color: var(--mid-blue-2);
	color: var(--dark-pri-blue);
	border: 1px solid var(--dark-pri-blue);
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
}
form.checkout_coupon.woocommerce-form-coupon.pri-coupon-wrapper {
	display: flex !important;
	justify-content: center;
}
.pri-coupon-wrap .coupon-title {
	font-size: 15px;
	font-weight: 700;
	color: var(--dark-pri-blue);
	text-align: center;
}
.pri-coupon-wrap {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	column-gap: 1em;
	justify-content: center;
}
.pri-coupon-wrap .input-text {
	height: 36px;
	border: 1px solid var(--dark-pri-blue);
	border-radius: 5px;
	padding: 8px;
}
.pri-coupon-wrap .coupon-error-notice {
	margin-top: 1em;
	background-color: var(--light-pink);
	padding: 0.5em;
	border: 1px solid var(--pink);
	border-radius: 5px;
	color: var(--pink);
	font-size: 15px;
	font-style: italic;
}
.totals-coupon-name {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
}
.totals-coupon-name .woocommerce-remove-coupon.pri-remove-coupon {
	color: var(--pink);
}
.totals-coupon-name .woocommerce-remove-coupon.pri-remove-coupon:hover {
	color: var(--light-gray);
	cursor: pointer;
}
/* Google Places/Maps Address Search */
.pri-input-group-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	width: 100%;
	position: relative;
}
.address-search-field {
	padding: 5px;
	border: 1px solid var(--mid-blue-1);
	border-radius: 5px;
}
.field label.address-search-field-label {
	color: var(--mid-blue-1);
}

.pri-input-group-wrapper input.pri-google-input {
	grid-column: 1 / -1;
	grid-row: 1 / -1;
	width: 100%;
	padding-right: 35px !important;
}

.clear-selected-google-address {
	grid-column: 1 / -1;
	grid-row: 1 / -1;
	justify-self: end;
	margin-right: 12px;
	z-index: 10;
	cursor: pointer;
	color: var(--pink);
	font-size: 1.2em;
	display: none;
	transition: color 0.2s;
}

.clear-selected-google-address:hover {
	color: var(--light-gray);
}
