/* shopping cart */

.woocommerce-checkout .wrapper>.cart {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;

}

.woocommerce-cart-form-wrp {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.woocommerce-cart-form {
    width: 60%;
}

@media (max-width:767px) {
    .woocommerce-cart-form {
        width: 100%;
        overflow-x: auto;
    }
}

.shop_table {
    margin-bottom: 2em;
    width: 100%;
}

.shop_table tr:last-child {
    border-bottom: none;
}

.shop_table th,
.shop_table td {
    padding: 1em;
    vertical-align: middle;
    border-bottom: 1px solid var(--line_dark-color);
    font-size: min(.9em, 4vw);
    background-color: rgba(255, 255, 255, .05);
}

.shop_table th {
    white-space: nowrap;
    background-color: rgba(255, 255, 255, .1);
}

.shop_table.woocommerce-cart-form__contents th {
    border-bottom: 3px solid var(--line_dark-color);
}

/* cart item table */
.shop_table td.product-remove {
    width: 40px;
}

.shop_table td.product-thumbnail {
    padding: 0;
    width: 100px;
}

.shop_table td.product-thumbnail a {
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
    padding: .5em;
}

.shop_table td.product-thumbnail img {
    width: 100%;
    height: auto;
}

.shop_table td.product-name {
    width: 35%;
    height: auto;
}

.quantity .qty.readonly {
    background-color: transparent;
    color: var(--main_color);
    border-color: unset;
}

.shop_table td.actions {
    text-align: right;
    padding-right: 0;
    border: none;
    background-color: transparent;
}

.shop_table td.actions .coupon {
    display: flex;
    justify-content: end;
    padding: 1em 0;
}

.shop_table td.actions .coupon input[name="coupon_code"] {
    padding: .5em;
    margin: 0 .5em;
}

.shop_table td.actions .coupon .button {
    display: inline-block;
    margin: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* Cart totals */
.cart-collaterals {
    width: 38%;
}

@media (max-width:767px) {
    .cart-collaterals {
        width: 100%;
    }
}

.cart-collaterals .cross-sells {
    border: 1px solid var(--line_color);
    margin-bottom: 1em;
    padding: 1em;
    border-radius: 3px;
}

.cart_totals {
    border: 1px solid var(--line_color);
    margin-bottom: 3em;
    padding: 1em;
    border-radius: 3px;
    background-color: rgba(255, 255, 255, .05);
}

/* cross-sells in cart totals box */
.cart-collaterals h2 {
    font-size: min(1em, 4vw);
    margin-bottom: 1em;
}

.woocommerce .cart-collaterals ul.products.columns-2 a.woocommerce-loop-product__link {
    display: grid;
    grid-template-columns: 40% auto;
}

.woocommerce .cart-collaterals ul.products.columns-2 a.woocommerce-loop-product__link .product_meta {
    padding: 0 1em;
}

.woocommerce .cart-collaterals ul.products.columns-2 a.woocommerce-loop-product__link .woocommerce-loop-product__title {
    padding: 0;
    font-size: min(.9em, 3.5vw);
}

.cart_totals h2 {
    font-size: min(1em, 4vw);
    margin-bottom: 1em;
}

.wc-proceed-to-checkout .checkout-button {
    width: 100%;
    text-align: center;
    margin-top: 0;
    margin-bottom: 0;
}

.shipping-calculator-button {
    font-size: min(.9em, 13px);
    line-height: 1;
    display: inline-block;
    border: 2px solid var(--line_color);
    border-radius: 2em;
    padding: .5em 2em;
    margin: 1em 0 0;
}


/* check out */
.woocommerce-checkout .wrapper>.checkout {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
}

.woocommerce_checkout-wrp {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 3em auto;

}

form.woocommerce-checkout .col2-set {
    width: 54%;

}

@media (max-width:767px) {
    form.woocommerce-checkout .col2-set {
        width: 100%;
        padding: 0;
        border: none;
        border-radius: 0;
    }
}

.order_review_wrapper {
    width: 42%;
}

@media (max-width:767px) {
    .order_review_wrapper {
        width: 100%;
        padding: 0;
        margin: 1em 0;
    }
}

.order_review_wrapper .order_review_inner {
    text-align: left;
    /* border: 1px solid var(--line_color); */
    background-color: rgba(255, 255, 255, .05);
    padding: 1em;
    border-radius: 5px;
    position: sticky;
    top: 3em;
}

@media (max-width:767px) {
    .order_review_wrapper .order_review_inner {
        width: 100%;
        position: static;
        padding: 0;
        border: none;
        border-radius: 0;
    }
}

.order_review_wrapper .order_review_inner h3 {
    padding: 1em;
    text-align: center;
    margin-bottom: 1em;
}

.shop_table tfoot {
    border-top: 3px solid var(--line_color);
}

.shop_table tfoot th {
    text-align: right;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods {
    margin: 1em 0;
    padding: 0;
}

@media screen and (max-width:767px) {
    .woocommerce-shipping-totals .woocommerce-shipping-methods .shipping_method {
        vertical-align: top;
    }
}

.woocommerce-shipping-totals .woocommerce-shipping-destination strong {
    display: block;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods label {
    display: inline-block;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods li {
    margin-bottom: .5em;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods .woocommerce-Price-amount {
    display: inline-block;
}

.order-total {
    border-top: 3px solid var(--line_color);
}

.order-total th {
    font-weight: 600;
}

.order-total td {
    font-size: 1.05em;
}

.wc_payment_methods li {
    padding: 0.5em 0;
}

.wc_payment_method p {
    display: none;
}

.woocommerce-billing-fields {
    margin-bottom: 2em;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3 {
    padding: min(1em, 3vw) 0;
    margin-bottom: min(1em, 3vw);
}

.form-row {
    margin-top: .5em;
    margin-bottom: .5em;
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
}

.form-row input:not(input[type="checkbox"]) {
    width: 100%;
    background-color: rgba(255, 255, 255, .9);
    padding: 1em;
}

@media (max-width:600px) {

    .form-row input:not(input[type="checkbox"]) {
        padding: .5em;
    }
}

.form-row input.input-checkbox,
.form-row input.input-radio {
    margin-right: .75em;
}

.form-row label {
    display: inline-block;
    margin-bottom: .5em;
}


.form-row.form-row-first,
.form-row.form-row-last {
    width: 49%;
}

@media (max-width:600px) {

    .form-row.form-row-first,
    .form-row.form-row-last {
        width: 100%;
    }
}

.form-row.form-row-wide {
    width: 100%;
}

/* .form-row.validate-state {
    width: 100%;
} */
/* fixe select box */
.select2-container .select2-selection--single {
    height: 2.2em;
}

.select2-results__option {
    color: #777;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 2.2;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(2.2em - 2px);
}

.select2-search--dropdown .select2-search__field {
    padding: .5em;
}

/* select heightlighted color */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: var(--main_bgcolor);
}

#billing_address_1_field .woocommerce-input-wrapper,
#shipping_address_1_field .woocommerce-input-wrapper {
    display: inline-block;
    width: 100%;
}

#billing_address_2_field .woocommerce-input-wrapper,
#shipping_address_2_field .woocommerce-input-wrapper {
    width: 100%;
}

.form-row input[name="billing_address_1"],
.form-row input[name="billing_address_2"],
.form-row input[name="shipping_address_1"],
.form-row input[name="shipping_address_2"] {
    width: 100%;
}

.woocommerce-input-wrapper {
    width: 100%;
}

#order_comments_field label {
    width: 100%;
    margin-bottom: .5em;
}

#order_comments {
    width: 100%;
    height: 6em;
    font-size: 16px;
    padding: .5em;
}

/* order */


.woocommerce-checkout-review-order {
    margin-bottom: 1.5em;
    margin-top: 1.5em;
}

.woocommerce-checkout-review-order ul,
.woocommerce-checkout-review-order li {
    margin: 0;
    padding: .5em 0;
}

.woocommerce-checkout-review-order a {
    text-decoration: underline;
}

.woocommerce-privacy-policy-text {
    margin-bottom: .5em;
}

.form-row label.woocommerce-form__label-for-checkbox {
    display: flex;
    width: 100%;
    margin-top: 1em;
    margin-bottom: 1em;
}

.form-row label.woocommerce-form__label-for-checkbox .woo-error {
    top: -1.5em;
}


.place-order .button[name="woocommerce_checkout_place_order"] {
    width: 100%;
    text-align: center;
    margin: 0 auto;
}

.woocommerce-form-coupon-toggle {
    margin-bottom: min(1em, 3vw);
}

#customer_details h3 {
    width: 100%;
    padding-top: 0;
    margin-bottom: min(1em, 3vw);
}

#customer_details h3:not(#ship-to-different-address)::before {
    content: '';
    display: inline-block;
    width: .75em;
    height: .75em;
    border-radius: 100%;
    border: 4px solid var(--line_color);
    vertical-align: middle;
    margin-right: .5em;
    transform: translateY(-.1em);
}

#customer_details h3#ship-to-different-address {
    border-bottom: none;
    padding: 2em 0 min(1em, 3vw);
    ;
}


/* additional fields */

.woocommerce-additional-fields {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;

    text-align: left;
    margin-top: 2em;
    border-top: 1px solid var(--line_color);
    padding: 1em 0;
}

/* .woocommerce-additional-fields h3 {
    padding: 1em 0;
} */

.woocommerce-additional-fields p.delivery-date,
.woocommerce-additional-fields p.delivery-time {
    width: 49%;
}

.woocommerce-additional-fields__field-wrapper {
    width: 100%;
}

/* wc_payment_methods */
.wc_payment_methods img {
    display: inline-block;
    width: 40px;
    height: auto;
    margin: 5px;
}

/* square */
/* .wc_payment_method.payment_method_square_credit_card img {
    display: inline-block;
    width: 40px;
    height: auto;
    margin: 5px;
} */
.payment_method_bankjp img {
    display: none;
}

.woocommerce-privacy-policy-text p {
    font-size: min(.9em, 3.5vw);
    margin-bottom: 1em;
}