/** -------------------- **/
/* Checkout */

.woocommerce form .form-row .required {color: #CC0000;}

body.woocommerce-checkout #header img.default-logo {max-width: 100%;}

body.woocommerce-checkout form.woocommerce-checkout input {background-color: #fff;}

body.woocommerce-checkout form.woocommerce-checkout h3 {
	font-size: 26px;
	line-height: 1.33;
	font-weight: 300;
	font-family: 'larken';
	text-transform: capitalize;
}
body.woocommerce-checkout form.woocommerce-checkout h3:first-of-type {}
body.woocommerce-checkout .ct-customer-details h3 {
	border-bottom: 1px solid var(--theme-palette-color-3);
	margin: 45px 0 20px;
	padding-bottom: 10px;
}
body.woocommerce-checkout form.woocommerce-checkout h5 {
	font-weight: 500;
	text-transform: uppercase;
	font-size: 18px;
}
.swe-checkout-infobox {
	padding: 1em;
	background: var(--alert-yellow);
	border-radius: 8px;
	font-weight: 500;
}

/* Coupon infobox overrides */
body.woocommerce-checkout .woocommerce-info {
	background-color: var(--swe-blue-med);
	font-weight: 700;
	font-size: 1rem;
}
body.woocommerce-checkout .woocommerce-info:before,
body.woocommerce-checkout .woocommerce-info a {
	font-weight: 300;
	font-size: .95rem;
}

.checkout-login-prompt {
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
	align-items: center;
	gap: 10px;
	background-color: var(--swe-blue-med);
	padding: 16px;
	border-radius: 6px;
}
.checkout-login-prompt-message {
	text-align: center;
}
.checkout-login-prompt-message h4 {
	font: 500 24px/1.2em var(--theme-font-family-brand);
	margin-bottom: 0;
}
.checkout-login-prompt-message p {
	margin-bottom: 0;
	line-height: 1.333;
	max-width: 415px;
}

p#billing_country_field,
p#shipping_country_field {display: none;} /* Hide preset country field but leaves it in the actual code so shipping calc can work properly */

/* Address field overrides */
body.woocommerce-checkout p#billing_state_field,
body.woocommerce-checkout p#shipping_state_field,
body.woocommerce-checkout p#billing_postcode_field,
body.woocommerce-checkout p#shipping_postcode_field {
	width: 48%;
	clear: none;
}
body.woocommerce-checkout p#billing_state_field,
body.woocommerce-checkout p#shipping_state_field {
	float: left;
}
body.woocommerce-checkout p#billing_postcode_field,
body.woocommerce-checkout p#shipping_postcode_field {
	float: right;
}

/* textarea overrides */
body.woocommerce-checkout textarea#order_comments,
body.woocommerce-checkout textarea#gift_message {
	height: 6rem;
}


/* Radio/checkbox lists */
ul.swe-checkout-form-list {
	margin: 1rem .5em;
}
ul.swe-checkout-form-list > li {
	display: flex;
/*	gap: 14px; */
	line-height: 1.33em;
	margin-bottom: 6px;
	align-items: flex-start;
}
ul.swe-checkout-form-list > li.disabled {
	color: #aaa;
	text-decoration: line-through;
}
ul.swe-checkout-form-list > li > input {
	display: inline-block;
	position: relative;
	min-width: 16px;
	width: 16px;
	height: 16px;
	top: 3px;
	min-height: initial;
	padding: 0 !important;
	margin: 0;
	margin-inline-end: 0.7em;
	border-width: var(--form-selection-control-border-width, var(--theme-form-field-border-width, 1px));
	border-style: solid;
	cursor: pointer;
	-webkit-appearance: none;
	background: rgba(0, 0, 0, 0);
	border-color: var(--theme-form-selection-field-initial-color);
	border-radius: 100% !important;
}
ul.swe-checkout-form-list > li > input[type="radio"]:checked {
	border-color: var(--theme-form-selection-field-active-color);
	background: var(--theme-form-selection-field-active-color);
}

p.swe-checkout-note {font-size: .875em; line-height: 1.333em;}

/* Block style lists */
ul.swe-checkout-form-list.block-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}
ul.swe-checkout-form-list.block-list > li {
	background-color: #fff;
	border: 1px solid var(--theme-palette-color-5);
	border-radius: 6px;
	padding: 16px;
	flex-grow: 2;
	margin: 0;
}
@media (min-width: 690px) {
	ul.swe-checkout-form-list.block-list > li {
		width: calc(50% - 10px);
	}
}

ul.swe-checkout-form-list.block-list > li:hover,
ul.swe-checkout-form-list.block-list > li:active {
	background-color: var(--theme-palette-color-6);
}
ul.swe-checkout-form-list.block-list > li:has(input[type="radio"]:checked) {
	background-color: var(--theme-palette-color-6);
	border-color: var(--theme-palette-color-2);
}
ul.swe-checkout-form-list.block-list > li > label {
	font-size: 1.1rem;
}
ul.swe-checkout-form-list.block-list > li.disabled label:hover {
    cursor: auto;
}
ul.swe-checkout-form-list.block-list > li span.block-list-option-details {
	font-size: .85rem;
	font-weight: normal;
	display: block;
}
ul.swe-checkout-form-list.block-list input[type=radio]:disabled + label span.block-list-option-details {
	color: red;
	text-decoration: none !important;
	text-decoration: underline;
}
/* Extra space under block lists only when needed */
body.woocommerce-checkout p.checkout-continue-prompt,
body.woocommerce-checkout div.shipping_address {
	margin-top: 1rem;
}

/* Continue prompts */
body.woocommerce-checkout p.checkout-continue-prompt {
	text-align: center;
	font-size: 1.1em;
	color: var(--theme-palette-color-2);
}

/* Ship to bill address box */

@media (min-width: 690px) {
	.ship-to-billing-address > strong {white-space: nowrap;}
	.ship-to-billing-address {
		display: flex;
		gap: 6px;
	}
}
@media (max-width: 689px) {
	.ship-to-billing-address > strong:after {
		content: ' ';
	}
}

/* Shipping options */
.woocommerce-shipping-fields #ship-to-different-address label {
	font-size: 1rem;
}
/*
.woocommerce-shipping-fields #ship-to-different-address label::after {
	content: '(Check for "yes")';
	font-size: .9em;
	font-weight: normal;
}
*/

/* In-store pickup */
ul.select-isp-contact li {
	justify-content: center;
}

/* FedEx HaL section */
/* div#STFPL */
div.swe-fedexhal-location-container {
	padding: 18px;
	background-color: var(--theme-palette-color-6);
	border-radius: 8px;
}
.swe-fedexhal-location-lookup-container {
/*	margin-top: 16px; */
}
.swe-fedexhal-location-lookup-container label {
	display: block;
	text-align: center;
	line-height: 1.333em;
}
.swe-fedexhal-location-lookup-form {
	display: flex;
	gap: 12px;
}
.swe-fedexhal-location-options-container {
	margin-top: 30px;
	border: 1px solid var(--theme-palette-color-5);
	background-color: #fff;
	border-radius: 8px;
}
.swe-fedexhal-location-options-container h4.swe-fedexhal-location-header {
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	background-color: var(--swe-blue-med);
	margin: 0;
	padding: 6px 12px 4px;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 300;
}
.swe-fedexhal-location-details-container,
.swe-fedexhal-location-message-container {
	border-bottom: 1px solid var(--theme-palette-color-5);
	display: flex;
}
.swe-fedexhal-location-message-container {
	padding: 30px 20px;
	justify-content: center;
}
span.swe-fedexhal-location-message {
	display: flex;
	gap: 7px;
	font-size: 1.1rem;
	line-height: 1.333em;
}
span.swe-fedexhal-location-message:before {
	font-family: "dashicons";
	content: "\f534"; /* warning 3 */
}

.swe-fedexhal-location-details-container {
	padding: 10px 12px;
	gap: 0 20px;
}
.swe-fedexhal-location-details-container:nth-child(even) {
	background-color: var(--theme-palette-color-7);
}
.swe-fedexhal-location-details {
	width: fill-available;
	width: -webkit-fill-available;
}
body.woocommerce-checkout form.woocommerce-checkout h5 {
	line-height: 1.33em;
	margin-bottom: .2em;
	text-transform: none;
}
.swe-fedexhal-location-details p {
	line-height: 1.33em;
	margin-bottom: .5em;
}
a.swe-fedexhal-location-maplink {
	display: inline-block;
	font-size: .85em;
}
.swe-fedexhal-location-actions {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
button.swe-fedexhal-location-select {
	white-space:nowrap;
}
span.swe-fedexhal-location-miles {
	align-self: flex-end;
}
.swe-fedexhal-location-options-pagination {
	display: flex;
	justify-content: center;
	gap: 7px;
	padding: 12px;
}
.swe-fedexhal-location-options-pagination span.swe-pagination-page a {
	line-height: 1;
	border-radius: 5px;
	height: 2em;
	width: 2em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.swe-fedexhal-location-options-pagination span.swe-pagination-page a:link,
.swe-fedexhal-location-options-pagination span.swe-pagination-page a:visited {
	background-color: #fff;
}
.swe-fedexhal-location-options-pagination span.swe-pagination-page a:hover,
.swe-fedexhal-location-options-pagination span.swe-pagination-page a:active {
	background-color: var(--theme-palette-color-2);
	color: #fff;
}
.swe-fedexhal-location-options-pagination span.swe-pagination-page.swe-pagination-current a {
	background-color: var(--theme-palette-color-6);
	text-decoration: underline;
	text-underline-offset: .25em;
}
.swe-fedexhal-location-options-pagination span.swe-pagination-page.swe-pagination-current a:hover,
.swe-fedexhal-location-options-pagination span.swe-pagination-page.swe-pagination-current a:active {
	color: var(--theme-palette-color-1);
}
.swe-fedexhal-location-selection-container {
	margin-top: 30px;
}
.swe-fedexhal-location-selection-container .swe-fedexhal-location-details-container {
	background-color: #fff;
	margin-bottom: 30px;
	border-bottom: none;
}

@media (max-width: 586px) {
	.swe-fedexhal-location-lookup-container label {
		text-align: left;
	}
	.swe-fedexhal-location-details-container {
		flex-direction: column;
	}
	.swe-fedexhal-location-actions {
		flex-flow: column-reverse;
	}
	span.swe-fedexhal-location-miles {
		align-self: flex-start;
	}
}

div#SHIPADDON,
div#SHIPDATE,
div.woocommerce-additional-fields,
div.gift-wrapper {
	margin-top: 35px;
}

span.swe-checkout-inline-price {
	font-weight: 700;
}
span.swe-checkout-inline-price::before {
	content: '+\00a0';
}

/* Date picker */
.swe-checkout-datepicker-wrapper {
	padding: 0 9px;
}
.swe-checkout-datepicker-wrapper-info {
	display: block;
	margin-top: .5rem;
	font-weight: 300;
	font-size: .9rem;
	line-height: 1.5;	
}

/* Gift fields */
#customer_details .col-2 div#gift_recipient p.form-row:last-child {
	margin-bottom: var(--theme-content-spacing);
}

/* Order details column */
body.woocommerce-checkout .ct-order-review {
	background-color: var(--theme-palette-color-6);
	border: 1px solid var(--theme-palette-color-5);
}
body.woocommerce-checkout table.shop_table .ct-checkout-cart-item {
	gap: 10px;
}
body.woocommerce-checkout .ct-order-review th,
body.woocommerce-checkout .ct-order-review td {
	padding: 1em 0;
}

body.woocommerce-checkout .quantity[data-type=type-2] input[type=number] {
	background: #fff;
}

body.woocommerce-checkout table.shop_table .ct-checkout-cart-item {
	grid-template-columns: 80px 1fr;
}
body.woocommerce-checkout .ct-order-review figure.ct-media-container {
	background-color: #fff;
	padding: 5px;
}
@media (min-width: 690px) {
	body.woocommerce-checkout [class*=ct-woocommerce] .shop_table [class*=product-name] {
		max-width: 100%;
		max-width: max-content;
		padding-right: 10px;
	}
}

/* override the nowrap for pack size label on mobile so it doesnt force the table too wide  */
@media (max-width: 499px) {
	body.woocommerce-checkout .cart-product-title .packsize-label-for-cart {
		white-space: normal;
	}
}

.ct-checkout-cart-item-content .cart-product-title {
	font-size: 1rem;
}
body.woocommerce-checkout table.shop_table td.product-name span.arrival-time-note a {
	font-size: .85rem;
}
body.woocommerce-checkout .shipping_discount_strikethru {color: #666;}

ul.wc_payment_methods {background: #fff;}


div.checkout-pa-terms-box {
	background: var(--alert-yellow);
	padding: 1rem 1.25rem;
	margin-bottom: 30px;
}
div.checkout-pa-terms-box p:last-of-type {margin-bottom: 0;}

/* Multiple Addresses plugin add-ons -- not using this anymore? confirm before deleting
p#thwma-shipping-alt_field label,
p#thwma-billing-alt_field label {
	display: flex;
	gap: 5px;
	align-items: center;
}
p#thwma-shipping-alt_field label:after,
p#thwma-billing-alt_field label:after {
	font-family: "dashicons";
	content: "\f102"; 
	font-size: 1.333em;
	color: var(--theme-palette-color-1);
}
*/

/* Overriding rule to fix the label inline rule in WooPayments checkout.css introducted in 8.9.1 */
#payment ul.payment_methods li[class*=payment_method_woocommerce_payments]>label {
	display: flex;
}

/* Gift card form */
.woocommerce-checkout .add_gift_card_form h4 {
	font-size: 1.1rem;
	display: flex;
	gap: 8px;
}
/* for future use when we toggle visibility of the gift card form */
.woocommerce-checkout .add_gift_card_form h4:after {
	font-size: 1.1rem;
	font-weight: 300;
	font-family: "dashicons";
	content: "\f347"; /* down arrow */
}
.woocommerce-checkout .add_gift_card_form h4.opened:after {
	content: "\f343"; /* up arrow */
}
.woocommerce-checkout .add_gift_card_form h4:hover {
	cursor: pointer;
}
.woocommerce-checkout .add_gift_card_form #wc_gc_cart_redeem_form {
/* Default closed GC input form */
	overflow: hidden;
	max-height: 0;
	/* transition: max-height 1s; */
}

.woocommerce-checkout .add_gift_card_form #wc_gc_cart_redeem_form input[type="text"],
.woocommerce-checkout .add_gift_card_form #wc_gc_cart_redeem_form button {
	background-color: #fff;
	border: 1px solid var(--theme-palette-color-3);
}
.woocommerce-checkout .add_gift_card_form #wc_gc_cart_redeem_form button {
	color: var(--theme-palette-color-4);
	background-color: #fff;
}
.woocommerce-checkout .add_gift_card_form #wc_gc_cart_redeem_form button:hover {
	background-color: var(--theme-palette-color-6);
	border-color: var(--theme-palette-color-3);
}
.add_gift_card_form .wc_gc_add_gift_card_form__notices .woocommerce-message,
.add_gift_card_form .wc_gc_add_gift_card_form__notices .woocommerce-error,
.add_gift_card_form .wc_gc_add_gift_card_form__notices .woocommerce-info {
	background-color: #fff;
	color: var(--theme-palette-color-1);
}


.swe-checkout-cart-tems-explainer-text span.twelveship-badge {
	cursor: help;
	white-space: nowrap;
}

/* Ship method errors */
.woocommerce-checkout span.needs-shipping-info.woocommerce-error {
	font-weight: normal;
}

/* Order confirmation page - when blocksy custom Thank You */
body.woocommerce-order-received .ct-order-review-block h2 {
	margin-top: 2.5rem;
	font-size: 1.75rem;
}

.checkout_STFPL_form {
	display: flex;
}

.checkout_STFPL_form .STFPL_lookup > div {
	min-width: 100px;
	text-align: center;
	margin-left: 10px;
	align-items: center;
	cursor: pointer;
}

.hal-apply-location {
	cursor: pointer;
}

.hal-selected {
	border: 1px solid lightgray;
}

.fedex-weekends-note {
	font-weight: normal;
}

/* Saved payment methods form styles that were removed in WooCommerce 10 */
body.woocommerce-checkout #payment .payment_methods li {
    list-style: none;
}

/* Terms and Conditions text */
.woocommerce-terms-and-conditions h2 {font-size: 1rem;}


/* ********************* */
/* Bundles checkout mods */
/* ********************* */

/* Bundle items rows */
body.woocommerce-checkout .ct-order-review .cart_item.bundled_table_item {

	border-left: 2px solid var(--theme-border-color);

	&& td {padding: .75em 0;}

	&& .bundled_table_item_indent {
		padding-left: 7%;
	}

	&& .ct-checkout-cart-item {
		grid-template-columns: 60px 1fr;
		align-items: start;
	}

	&& .bundled_table_item_price::after, .bundled_table_item_subtotal::after {opacity: .333;}

}
body.woocommerce-checkout .ct-order-review .cart_item.bundle_table_item + .cart_item.bundled_table_item td {
	padding-top: .25em!important;
}





