.wp_cart_clear_float{
clear:both;
}

/* .shopping_cart{
padding: 5px;
} */
.shopping_cart img{
border:none;
box-shadow: none;
}
.shopping_cart input{
width:auto;
margin: 0;
}
.shopping_cart input[type="number"]{
max-width:5em !important;
text-align:center;
}
div.shopping_cart table{
border: 1px solid #ceced2;  
border-collapse: collapse;  
}
div.shopping_cart tr td, div.shopping_cart tr th{
padding: 1rem 2rem;
border-top: 1px solid #ceced2;
}
div.shopping_cart tr th{
font-weight: bold;
padding: 1rem 2rem;
background: #f4f4f4;
}
.shopping_cart{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.cart-totals {
    margin-top: 1rem;
}

div.shopping_cart tr, div.shopping_cart th{
border: none;    
}
.wp_cart_item_info {
    display: flex;
    align-items: center;
}
.shopping_cart .wspsc_cart_item_name_th{
text-align: left;
}
.shopping_cart .wspsc_cart_qty_th, .shopping_cart .wspsc_cart_price_th, .wspsc_remove_item_th {
text-align: center;
}
.shopping_cart .wp_cart_item_thumbnail{
margin-right: 10px;
}
.shopping_cart .wp_cart_item_thumbnail img{
max-width:75px;
float: left;
}
.wp_cart_remove_item_form {
    text-align: center;
}
.wp_cart_remove_item_form input[type="image"]{
border: none;
cursor: pointer;
}
.wp-cart-button-form input{
/* width: auto !important; */
}
.wp_cart_checkout_button{
cursor: pointer; 
float: right;   
}
.wp_cart_checkout_button:hover{
opacity:0.7;
}

.wp_cart_button:hover{
opacity:0.7;
}
.wp_cart_button_wrapper input{
margin: 0;
}

.wpspsc_error_message{
color:red !important;
font-weight:bold;
}
.wpspsc_success_message{
color:green !important;
font-weight:bold;
}

/* product box display specific CSS */
.wp_cart_product_display_box{
border: 1px solid #E8E5DC;
box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2);
margin-bottom: 25px;
padding-bottom: 5px;
width:300px;
}
.wp_cart_product_thumbnail img{
max-width:100%;
}
.wp_cart_product_display_bottom{
padding:10px 15px;	
}
.wp_cart_product_name{
color: #525351;
font-size: 16px;
font-weight: bold;
line-height: 20px;
margin: 0 0 10px 0;
text-transform:uppercase;
}
.wp_cart_product_description{
font-style:italic;
}
.wp_cart_product_price{
color: #525351;
display: block;
font-size: 22px;
font-weight: bold;
line-height: 24px;
margin: 0;
padding: 10px 10px 10px 0;
}

.amt_cart_item_addons {
    list-style: none;
    font-size: 0.9rem;
    margin: 0 0 0 2rem;
}

.amt_cart_variation {
    margin-bottom: 2rem;
}

.wp_cart_variation_section {
    margin-bottom: 2rem;
}

.amt_cart_variation_checkbox {
    display: flex;
    align-items: center;
}
/* end of product display specific CSS */

/* Compact cart css */
.wpsps_compact_cart{
font-family:helvetica;	
background-color: inherit;
border:1px solid #CCCCCC;
max-width: 240px;
min-width: 200px;
padding: 10px 7px;
margin:5px 0;
}
.wpsps_compact_cart_container{
padding-left: 15px;
font-size: 16px;
}
.wpsps_compact_cart_price{
color: #047857;
font-weight: bold;
}
.wpsps_compact_cart_co_btn{
background-color: #A3A3A3 !important;
color: #162636 !important;
font-size: 14px !important;
font-weight:normal !important;
margin-left: 10px !important;
padding: 5px 7px !important;
text-decoration: none !important;
width:auto !important;
height:auto !important;
}
/* End of compact cart css */
/* Compact cart 2 css */
.wspsc_compact_cart2{
background-color:#b4d613;
border:1px solid #92B002;
max-width: 140px;
min-width: 140px;
padding: 2px 2px;
margin:10px 0;
}
.wspsc_compact_cart2_container{
background: url('images/shopping_cart_icon_2.png') 6px 6px no-repeat;
padding-left: 40px;
}
.wspsc_compact_cart2_inside{
background: #262626;
display: block;
color: #FFFFFF;
font-size: 14px;
text-align: center;
cursor: pointer;
padding: 3px 0;
}
.wspsc_compact_cart2_view_cart_link {
color: #FFFFFF !important;
text-decoration: none;
}
.wspsc_compact_cart2_view_cart_link:hover {
color: #FFFFFF !important;
text-decoration: none;
}

.customer-details-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 2rem;
}

.checkout-form-container h3 {
    margin-top: 20px;
}

.customer-details-wrapper textarea {
    height: 100px;
}

.customer-billing-fields-wrapper, .additional-info-fields-wrapper {
    /* width: 47%; */
    flex: 1;
}

.billing-name-wrapper {
    display: flex;
    justify-content: space-between;
}

.billing-name-wrapper .fname-wrapper,
.billing-name-wrapper .lname-wrapper {
    width: 48%;
}
/* End of compact cart 2 css */

/* Coupon code form */
.wpspsc_coupon_section {
    
}
.wpspsc_coupon_section input[type="text"] {
    display: inline-block;
    width: auto;
}

.wpspsc_coupon_section input[type="number"] {
    display: inline-block;
}

.wpspsc_coupon_section form select {
    width: 100px;
}

.wpspsc_coupon_apply_button .wpspsc_apply_coupon {
    padding: 8px 16px;
}
/* End fo coupon code form */

/* Pickup & Delivery form */
h2.order-options-title {
    margin-bottom: 2rem !important;
}

.amtfc-order-options {
    border: 1px solid #ceced2;
    padding: 3rem 2rem;
    margin-bottom: 4rem;
}

.pickup-delivery-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0 auto;
    justify-content: space-evenly;
}

.pickup-wrapper,
.delivery-wrapper {
    margin: 0.5rem 0;
}

.pickup-delivery-wrapper label {
    display: inline-block;
}

.delivery-address-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.delivery-address-wrapper input {
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .pickup-delivery-wrapper {
        flex-direction: row;
        align-items: center;
    }

    .delivery-address-wrapper {
        display: flex;
        flex-wrap: nowrap;
    }

    .delivery-address-wrapper #delivery-address-unit {
        flex: 0 0 10%;
        margin-right:1rem;
    }

    .delivery-address-wrapper #address-check {
        flex: 0 0 auto;
    }

    .delivery-address-wrapper input {
        margin-bottom: 0;
    }
}

.delivery-address-wrapper #delivery-address {
    flex: 1 1 75%;
}

.delivery-address-wrapper .button {
    flex: 1 1 auto;
    padding: 8px 16px;
    margin: 0;
    line-height: 1.15;
    width: 150px;
    text-align: center;
}

.delivery-address-wrapper .button.disabled {
    background-color: #047857;
    border: 1px solid #047857;
    color: white;
}

.delivery-address-wrapper .button.disabled:hover {
    background-color: #047857;
    border: 1px solid #047857;
    color: white;
    cursor: default;
}

.delivery-card {
    margin-top: 1rem;
}

.datetime-card {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    margin-top: 2rem;
}

.time-wrapper {
    width: 120px;
}

.date-wrapper,
.time-wrapper {
    flex: 1 0 auto;
}

.date-wrapper {
    margin-bottom: 1rem;
}

.pickup-delivery-submit-wrapper {
    margin-left: 1rem;
}

@media (min-width: 768px) {
    .delivery-card {
        padding: 0 2rem;
    }
    
    .date-wrapper,
    .time-wrapper,
    .pickup-delivery-submit-wrapper {
        margin: 0;
        flex: 0 0 auto;
    }
}

.date-wrapper #date-input {
    background: url('assets/images/calendar.svg');
    background-repeat: no-repeat, repeat;
    background-position: right 0.8rem top 50%, 0 0;
    background-size: 24px;
}

.date-wrapper #date-input,
.date-wrapper #date-input-mobile {
    cursor: pointer;
}

/* input[type="text"].datepicker {
    display: none;
}

@media (min-width: 768px) {
    input[type="text"].datepicker {
        display: block;
    }

    input[type="date"].datepicker-mobile {
        display: none;
    }
} */

.pickup-delivery-submit-wrapper input[type="submit"] {
    margin-top: 0;
    padding: 8px 16px;
}

#address-feedback {
    margin-top: 1rem;
}
/* End of Pickup & Delivery form */
.cart-review {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}

.cart-review .button,
.cart-review p {
    margin: 0;
}

.cart-review > a > svg {
    margin-right: 4px;
    margin-bottom: -6px;
}

@media only screen and (max-width: 700px)  {

	/* Force table to not be like tables anymore */
	table.order-review, .order-review tbody, .order-review th, .order-review td, .order-review tr { 
		display: block;
	}

    .order-review tr.wspsc_cart_item_thumb {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-evenly;
    }

    .order-review tr.wspsc_cart_item_thumb td {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .order-review tr.wspsc_cart_item_thumb .wspsc_cart_item_name_td {
        flex: 1 1 100%;
    }
	
	/* Hide table headers (but not display: none;, for accessibility) */
	.order-review tr th { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	
	div.shopping_cart .order-review tr {
        border-top: 1px solid #ccc;
    }
	
	div.shopping_cart .order-review tr td { 
		/* Behave  like a "row" */
		border: none;
		/* border-bottom: 1px solid #eee;  */
		position: relative;
		/* padding-left: 50%;  */
	}
	
	.order-review td:before { 
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 6px;
		left: 6px;
		width: 45%; 
		padding-right: 10px; 
		white-space: nowrap;
	}

    .order-review td input {
        margin: 0 auto;
    }
    
}
/* Order review and add more items */

/* End of order review and add more items */

/* Bambora Custom Checkout JS SDK styling */
.bambora-container {
    margin: auto;
    border: none;
    /* border-radius: 4px; */
}

#checkout-form {
    position: relative;
    margin: auto;
    padding: 5px;
}

#checkout-form label {
    display: block;
    min-height: 10px;
    font-size: 15px;
    font-weight: 500;
    margin: 5px 0;
    padding: 0;
    color: red;
}

.payment-options-wrapper,
.amtfc_tip_section {
    border: 1px solid #ceced2;
    padding: 3rem 2rem;
    margin: 2rem 0 1rem;
}

.payment-options-wrapper div {
    margin: 1rem 0;
}

#checkout-form .amtfc_tip_options {
    display: flex;
    flex-wrap: wrap;
}

#checkout-form .amtfc_tip_options input[type=radio] {
    position: absolute;
    clip: rect(0,0,0,0);
    pointer-events: none;
    margin: 0;
}

#checkout-form .amtfc_tip_options label {
    color: var(--highlight);
    background-color: transparent;
    display: inline-block;
    border: 2px solid var(--highlight);
    font-size: 18px;
    padding: 10px;
    transition: 0.3s;
    margin: 0;
    cursor: pointer;
    flex: 1 1 100px;
    text-align: center;
    margin: 5px;
}

/* #checkout-form .amtfc_tip_options label:last-of-type {
    margin-right: 0;
} */

#checkout-form .amtfc_tip_options input[type=radio]:checked + label {
    background-color: var(--highlight);
    color: #fff;
}

#checkout-form .amtfc_tip_options label:hover {
    background-color: var(--highlight);
    color: #fff;
}

#wpspsc-tip-amount {
    padding-right: 40px;
}

@media (min-width: 768px) {
    #wpspsc-tip-amount {
        width: 50%;
    }
}

.amtfc_tip_new_total {
    margin: 2rem auto 0 auto;
    font-weight: bold;
    text-align: right;
    width: max-content;
}

.amtfc_tip_new_total .amtfc-total-tip-amount,
.amtfc_tip_new_total .amtfc-new-total {
    padding: 3px 0;
}

.amtfc_tip_new_total .amtfc-total-tip-amount {
    border-bottom: 2px solid #191919;
}

.payment-options-wrapper h3 {
    margin: 0 0 20px;
}

#checkout-form .payment-options-wrapper label {
    display: inline;
    color: #191919;
}

#checkout-form .payment-options-wrapper input:disabled+label {
    color: #999
}

.cc-fields-wrapper {
    display: flex;
    flex-wrap: wrap;
    background-color: rgb(240, 240, 240);
    border: none;
    padding: 2rem 0 1rem;
}

#card-number, #card-cvv, #card-expiry {
    background-color: #FFF;
    display: block;
    width: calc(90%);
    /* border-radius: 2px; */
    border: 1px solid rgba(200, 200, 200, 1);
    height: 5rem;
    padding: 1rem;
    margin: auto;
    transition: all 100ms ease-out;
}

.cc-number-wrapper {
    width: 100%;
}

.cc-expiry-wrapper, .cc-cvv-wrapper {
    width: 45%;
    margin: 0 auto;
}

/* card images are added to card number */
#card-number {
    background-image: none;
    background-origin: content-box;
    background-position: 100% center;
    background-repeat: no-repeat;
    background-size: contain;
}

/* buttons */
.pay-button-wrapper {
    
}

.btn {
    vertical-align: top;
}

.btn {
    position: relative;
    display: block;
    border: none;
    /* border-radius: 2px; */
    background-color: rgb(181, 71, 71);
    color: rgba(255, 255, 255, 1);
    display: inline-block;
    transition: all 100ms ease-out;
    padding: 11px 25px;
    width: 100%;
    margin: 2rem auto 0;
    font-size: 1.2em !important;
}

.btn:hover, .btn:active {
    background-color: rgba(69, 36, 89, 1);
}

.btn:active {
    box-shadow: inset 0 0 35px rgba(0, 0, 0, 0.3);
}

.btn:disabled {
    background-color: darkgrey;
    border: 1px solid darkgrey;
    color: gray;
    /* cursor: not-allowed; */
}

.btn:disabled:hover {
    background-color: darkgray;
    border: 1px solid darkgrey;
    color: gray;
    cursor: not-allowed;
}

.btn.btn-checkout {
    display: block;
    margin: 1rem 0;
    text-align: center;
    padding: 13px 20px;
}

.btn.btn-checkout,
#pay-button.btn {
    padding: 13px 20px;
    line-height: 1.5;
}

.btn-checkout svg {
    margin-right: 1rem;
    margin-bottom: -4px;
}

/* feedback is displayed after tokenization */
#feedback {
    position: relative;
    left: 15px;
    display: inline-block;
    background-color: transparent;
    border: 0px solid rgba(200, 200, 200, 1);
    border-radius: 4px;
    transition: all 100ms ease-out;
    padding: 11px;
}

#pickup-delivery-error.error,
#address-feedback.error,
#feedback.error {
    color: red;
    border: 1px solid;
    padding: 0 5px;
    margin-bottom: 5px;
}

#feedback.success {
    color: seagreen;
    border: 1px solid;
}
/* end of Bambora Custom Checkout JS SDK styling */