/* カートページのスタイル */
.coupon_code_wrapper {
    margin-bottom: 80px;
    text-align: center;
    border: 3px dashed rgba(0, 0, 0, 0.05);
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    -ms-border-radius: 6px;
    border-radius: 6px;
    background-clip: padding-box;
    padding: 34px 30px;
}

.coupon_code_text {
    font-size: 20px;
    line-height: 20px;
    margin-top: 0;
    margin-bottom: 26px;
    color: #333;
    text-transform: uppercase;
}

.coupon_code_label {
    display: flex;
    justify-content: center;
}

.coupon_code_label .input-text {
    padding: 14px;
    margin-right: 16px;
    font-size: 16px;
}

.coupon_code_label button[type="submit"] {
    font-size: 16px;
    color: #fff;
    background-color: #9a5c4e;
    transition: background-color .3s ease-in-out;
}

.coupon_code_label button[type="submit"]:hover {
    background-color: #aa765f;
}

.woocommerce-page .woocommerce-cart-form .product-thumbnail img {
    width: 90px;
}

.cart-collaterals.is-local-pickup .woocommerce-shipping-destination,
.cart-collaterals.is-local-pickup .woocommerce-shipping-calculator {
    display: none;
}

@media only screen and (max-width: 768px) {
    .woocommerce-cart.woocommerce-page #primary {
        margin: 1em auto;
    }

    .coupon_code_label {
        display: block;
    }

    .coupon_code_label .input-text {
        padding: 0rem 0.9375rem;
        margin-right: 0;
        margin-bottom: 18px;
    }

    .coupon_code_label button[type="submit"] {
        padding: 0 30px;
    }

    .coupon_code_label .input-text,
    .coupon_code_label button[type="submit"] {
        display: block;
        width: 100%;
        height: 45px;
        line-height: 45px;
    }
}

/* カートテーブル */
@media only screen and (max-width: 768px) {

    /* Force table to not be like tables anymore */
    .woocommerce-page table.shop_table.cart,
    .woocommerce-page table.shop_table.cart thead,
    .woocommerce-page table.shop_table.cart tbody,
    .woocommerce-page table.shop_table.cart th,
    .woocommerce-page table.shop_table.cart td,
    .woocommerce-page table.shop_table.cart tr {
        display: block;
    }

    /* Hide table headers (but not display: none;, for accessibility) */
    .woocommerce-page table.shop_table.cart thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .woocommerce-page table.shop_table.cart tr {
        position: relative;
        padding: 15px;
        clear: both;
        overflow: hidden;
        font-size: 16px;
    }

    .woocommerce-page table.shop_table.cart {
        padding-top: 15px;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    }

    /* Product image thumbnail. */
    .woocommerce-cart.woocommerce-page table.cart .product-thumbnail {
        display: block;
        padding: 0;
        width: 30%;
        float: left;
        border: none;
        padding-right: 3%;
        margin-bottom: 3%;
    }

    .woocommerce-cart.woocommerce-page table.cart .product-thumbnail a {
        display: block;
    }

    .woocommerce-cart.woocommerce-page table.cart .product-thumbnail img {
        width: 100%;
        vertical-align: bottom;
    }

    /* Remove icon. */
    .woocommerce table.cart .product-remove {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        padding: 0;
        border: none;
    }

    .woocommerce table.cart .product-remove .remove {
        width: 1.5em;
        height: 1.5em;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.3em;
        border-radius: 50%;
        border: solid 2px rgba(0, 0, 0, .3);
        background-color: rgba(255, 255, 255, .65);
    }

    /* Product name. */
    .woocommerce table.cart .product-name {
        padding: 0 0 0 30%;
        border: none;
    }

    .woocommerce table.cart .product-name .variation {
        overflow: hidden;
        height: auto;
    }

    .woocommerce table.cart .product-name .variation:before,
    .woocommerce table.cart .product-name .variation:after {
        content: none;
    }

    .woocommerce table.cart .product-name .variation dt[class^="variation-"] {}

    .woocommerce table.cart .product-name .variation dd[class^="variation-"] {
        margin: 0 0 8px;
    }

    .woocommerce table.cart .product-name .variation dd[class^="variation-"]:last-of-type {
        margin-bottom: 0;
    }

    /* product price */
    .woocommerce-cart .woocommerce table.cart .product-price {
        padding: 0 0 0 30%;
        border: none;
        text-align: left;
    }

    /* Product quantity */
    .woocommerce-cart .woocommerce table.cart .product-quantity {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        clear: both;
        overflow: visible;
        width: 100%;
        height: calc(48px + 3%);
        padding: 3% 0 0;
        margin-top: 3%;
        margin-right: 0;
        margin-left: 0;
        border: none;
    }

    .woocommerce-cart .woocommerce table.cart .product-quantity::after {
        position: absolute;
        top: 0;
        left: -15px;
        content: "";
        width: calc(100% + 15px + 15px);
        height: 1px;
        background-color: rgba(0, 0, 0, 0.1);
    }

    .woocommerce-cart .woocommerce table.cart .product-quantity .quantity {
        margin: 0;
        width: 30%;
        height: 48px;
        padding-right: 3%;
    }

    .woocommerce-cart .woocommerce table.cart .product-quantity .quantity input[type="number"] {
        height: 100%;
        width: 100%;
    }

    /* Product subtotal */
    .woocommerce-cart .woocommerce table.cart .product-subtotal {
        position: absolute;
        right: 15px;
        bottom: 15px;
        z-index: 0;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        width: calc(100% - (30% + 15px));
        border: none;
        height: 48px;
        padding: 0;
    }

    .product-remove .woocommerce-page table.shop_table.cart td.product-spacer {
        border-color: #fff;
        height: 10px;
    }

    .woocommerce-page table.shop_table.cart td:before {
        white-space: nowrap;
    }

    /*
    Label the data
    */
    .woocommerce-cart.woocommerce-page table.cart td.actions {
        padding: 0;
    }

    .woocommerce-page table.cart td.actions,
    .woocommerce-page #content table.cart td.actions {
        text-align: left;
        border: 0;
        padding-left: 6px !important;
    }

    .woocommerce-page .woocommerce table.cart td.actions .button {
        font-size: 14px;
        width: auto;
        padding: 12px;
        border: 2px solid #4e4e4e;
    }

    .woocommerce-page .woocommerce table.cart td.actions .button:disabled {
        border: 2px solid #a4a4a4;
    }

    /* カートの合計 */
    .woocommerce .cart-collaterals .cart_totals,
    .woocommerce-page .cart-collaterals .cart_totals {
        font-size: 16px;
    }
}