a[rel="tag"]:hover {
    text-decoration: underline !important;
}

.wc-block-components-drawer__screen-overlay {
    z-index: 99999 !important;
}

/* ================================================================================================================================================================== */
/* .wc-block-mini-cart {
    visibility: visible !important;
} */
.wc-block-mini-cart[aria-hidden="true"] {
    display: none !important;
}

.wc-block-mini-cart__badge {
    margin: 0px !important;
    position: relative !important;
    top: 10px !important;
    left: 2px !important;
    min-width: 20px !important;
    height: 20px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff !important;
    padding: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 30px !important;
    color: #134461 !important;
}

.wc-block-mini-cart__button {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.wc-block-mini-cart__badge:empty {
    display: none !important;
}

/* .wc-block-mini-cart__button[aria-label="0 items in cart"] .wc-block-mini-cart__badge {
    display: none !important;
} */

.wc-block-mini-cart__quantity-badge svg {
    display: none !important;
}

.wc-block-mini-cart__quantity-badge::before {
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    background-image: url('icons/shopping-car.svg');
    background-size: cover;
}

/* ================================================================================================================================================================== */

.wc-block-add-to-cart-form .cart {
    display: inline-flex;
    gap: 20px;
    align-items: center;
}

.wc-block-add-to-cart-form .quantity {
    display: inline-flex !important;
    border: 1px solid #6C717A !important;
    border-radius: 4px !important;
    font-size: 18px !important;
    font-weight: 500;
    line-height: 160% !important;
    overflow: hidden !important;
    height: 48px !important;
    align-items: center !important;
    position: relative !important;
    margin: 0px !important;
}

.wc-block-add-to-cart-form .quantity .qty {
    max-width: 52px;
    font-size: 18px !important;
    font-weight: 500;
    line-height: 160% !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 10px !important;
    border-left: 1px solid #6C717A;
    border-right: 1px solid #6C717A;
    text-align: center;
    margin: 0px !important;
    -moz-appearance: textfield;
    /* pointer-events: none !important; */
}

.wc-block-add-to-cart-form .quantity .qty::-webkit-outer-spin-button,
.wc-block-add-to-cart-form .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.wc-block-add-to-cart-form .quantity::before,
.wc-block-add-to-cart-form .quantity::after {
    content: "";
    display: block;
    width: 36px;
    height: 48px;
    background-size: 36px 21px;
    background-position: center;
    background-repeat: no-repeat;
}

.wc-block-add-to-cart-form .quantity .btndown {
    display: block;
    position: absolute;
    top: 14px;
    left: 8px;
    width: 20px;
    height: 21px;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('icons/icon-minus.svg');
    cursor: pointer;
}

.wc-block-add-to-cart-form .quantity .btnup {
    display: block;
    position: absolute;
    top: 14px;
    right: 8px;
    width: 20px;
    height: 21px;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('icons/icon-plus.svg');
    cursor: pointer;
}

.single_add_to_cart_button {
    width: 143px !important;
    height: 49px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 160% !important;
    color: white !important;
    text-align: center !important;
    padding: 10px 24px !important;
    background: linear-gradient(90deg, #529FCC 0%, #0075B8 100%);
    position: relative;
    box-shadow: 0px 4px 12px 0px #10598529;
}

.single_add_to_cart_button::after {
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(90deg, #8BCCAC 0%, #0075B8 100%);
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    transition: transform .2s cubic-bezier(.215, .61, .355, 1);
    transform: translate(-100%);
    z-index: 1;
}

.single_add_to_cart_button:hover:after {
    transform: translate(0);
}

.single_add_to_cart_button span {
    position: relative;
    z-index: 2;
}

.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message {
    position: relative;
    background-color: #C1D993;
    border-radius: 2px;
    color: #2F323D;
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    margin: 10px 0;
    padding: 16px 100px 16px 50px !important;
    background-image: url('icons/is_success.svg');
    background-repeat: no-repeat;
    background-position: 16px 18px;
}

.woocommerce-notices-wrapper .woocommerce-info {
    background-color: #CEE0EB !important;
    color: #073B59 !important;
    padding-left: 24px !important;
    background-image: none !important;
}

.woocommerce-notices-wrapper .woocommerce-error {
    background-color: #F79D94 !important;
    background-image: url('icons/is_error.svg');
    background-position: 16px 20px;
}

.woocommerce-notices-wrapper a {
    color: #2F323D !important;
    text-decoration-line: underline;
    font-size: 16px !important;
    opacity: 1 !important;
    position: absolute;
    bottom: 15px;
    right: 16px;
}

@media (max-width: 768px) {

    .woocommerce-notices-wrapper .woocommerce-info,
    .woocommerce-notices-wrapper .woocommerce-error,
    .woocommerce-notices-wrapper .woocommerce-message {
        padding: 16px 16px 50px 50px !important;
    }

    .woocommerce-notices-wrapper a {
        left: 50px !important;
        right: initial !important;
    }

    .woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info,
    .woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error,
    .woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message {
        padding: 16px 16px 16px 50px !important;
    }

    .woocommerce-cart .woocommerce-notices-wrapper a {
        position: relative !important;
        right: initial !important;
        display: block !important;
        bottom: initial !important;
        top: initial !important;
        left: initial !important;
    }

    .woocommerce-notices-wrapper .woocommerce-info a {
        left: 24px !important;
    }
}

/* ================================================================================================================================================================== */

.add_to_cart_button_wrap .added_to_cart {
    display: none !important;
}


.add_to_cart_button_wrap .add_to_cart_button {
    border-radius: 4px;
    background-position: center;
    background-repeat: no-repeat;
}

.add_to_cart_button_wrap .add_to_cart_button:hover {
    background-image: url('icons/add_to_cart.svg') !important;
}

.add_to_cart_button_wrap .add_to_cart_button.loading {
    background-image: url('icons/add_to_cart_loading.svg') !important;
    background-color: #0578BA !important;
    background-size: 20px !important;
}

/* ================================================================================================================================================================== */

.wp-block-woocommerce-mini-cart-contents .wc-block-mini-cart__empty-cart-wrapper .has-text-align-center {
    font-size: 20px !important;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title) !important;
    margin-bottom: 40px;
}

.wp-block-woocommerce-mini-cart-contents a.wc-block-components-button {
    min-width: 143px !important;
    height: 49px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 160% !important;
    color: white !important;
    text-align: center !important;
    padding: 10px 24px !important;
    background: linear-gradient(90deg, #529FCC 0%, #0075B8 100%) !important;
    position: relative;
    outline: none !important;
    box-shadow: 0px 4px 12px 0px #10598529 !important;
}

.wp-block-woocommerce-mini-cart-contents a.wc-block-components-button::after {
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(90deg, #8BCCAC 0%, #0075B8 100%) !important;
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    transition: transform .2s cubic-bezier(.215, .61, .355, 1);
    transform: translate(-100%);
    z-index: 1;
}

.wp-block-woocommerce-mini-cart-contents a.wc-block-components-button:hover:after {
    transform: translate(0);
}

.wp-block-woocommerce-mini-cart-contents a.wc-block-components-button>span {
    position: relative;
    z-index: 2;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-mini-cart__title {
    font-size: 32px !important;
    font-weight: 600;
    line-height: 150%;
    color: var(--tw-title) !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-cart-items__row {
    grid-template-columns: auto !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-cart-item__image img {
    border: 1px solid #DCDFE5;
    border-radius: 4px;
}

@media (min-width: 768px) {
    .wp-block-woocommerce-mini-cart-contents .wc-block-cart-item__image img {
        min-width: 100px !important;
        min-height: 100px !important;
        max-width: 100px !important;
        max-height: 100px !important;
    }
}

.wp-block-woocommerce-mini-cart-contents .wc-block-cart-item__product {
    padding-right: 20px !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-components-product-name {
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 160% !important;
    color: var(--tw-main) !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-components-product-name:hover {
    color: var(--tw-blue-500) !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-components-product-metadata {
    display: none !important;
}

.wp-block-woocommerce-mini-cart-contents .price {
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 160% !important;
    color: var(--tw-main) !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-components-quantity-selector__input {
    border-left: 1px solid #6C717A !important;
    border-right: 1px solid #6C717A !important;
    max-width: 40px !important;
    height: 40px !important;
    border-radius: 0 !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-components-quantity-selector {
    border: 1px solid #6C717A;
    display: inline-flex !important;
    width: initial !important;
    margin-right: 16px;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-components-quantity-selector button {
    outline: none !important;
    box-shadow: none !important;
    color: var(--tw-main) !important;
    font-size: 16px !important;
    opacity: 1 !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-components-quantity-selector::after {
    display: none !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-cart-item__remove-link {
    font-size: 16px !important;
    text-decoration: underline !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-cart-items__row:not(:first-child) {
    border-top: 1px solid #C0C4CC !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-components-totals-item__value {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--tw-blue-800) !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-components-totals-item__description {
    font-size: 16px !important;
    line-height: 160% !important;
    color: var(--tw-main) !important;
}

.wp-block-woocommerce-mini-cart-contents .wc-block-components-totals-item__label {
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--tw-title) !important;
}

/* ================================================================================================================================================================== */
.pagelayout-cart .page-wrap {
    max-width: 1330px !important;
}

.pagelayout-cart .page-container {
    max-width: 1058px !important;
}

/* 
.pagelayout-cart .wp-block-woocommerce-filled-cart-block {
    flex-direction: column !important;
}

.pagelayout-cart .wp-block-woocommerce-filled-cart-block .wc-block-components-main {
    width: 100% !important;
    padding: 0px !important;
    margin: 0px !important;
}

.pagelayout-cart .wp-block-woocommerce-filled-cart-block .wc-block-cart-items {
    width: 100% !important;
    padding: 0px !important;
    margin: 0px !important;
}

.pagelayout-cart .wp-block-woocommerce-filled-cart-block .post-article>*:first-child {
    margin-top: 0px !important;
} */

.pagelayout-cart .wp-block-woocommerce-empty-cart-block,
.pagelayout-cart .wc-empty-cart-message {
    font-size: 20px !important;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title) !important;
    text-align: center;
}

/* =============================== */
.pagelayout-cart .return-to-shop {
    text-align: center;
    margin-top: 40px;
}

.pagelayout-cart .return-to-shop .button {
    display: inline-block;
    margin: 0px auto;
    min-width: 143px !important;
    height: 49px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    font-size: 0px !important;
    background: linear-gradient(90deg, #529FCC 0%, #0075B8 100%) !important;
    position: relative;
    outline: none !important;
    box-shadow: 0px 4px 12px 0px #10598529 !important;
}

.pagelayout-cart .return-to-shop .button::before {
    display: block !important;
    content: "Return to shop";
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 160% !important;
    color: white !important;
    text-align: center !important;
    padding: 10px 24px !important;
    position: relative;
    z-index: 2;
}

.pagelayout-cart .return-to-shop .button::after {
    width: 100%;
    height: 100%;
    display: block !important;
    background: linear-gradient(90deg, #8BCCAC 0%, #0075B8 100%) !important;
    content: " " !important;
    position: absolute;
    top: 0;
    left: 0;
    transition: transform .2s cubic-bezier(.215, .61, .355, 1);
    transform: translate(-100%);
    z-index: 1;
}

.pagelayout-cart .return-to-shop .button:hover::after {
    transform: translate(0);
}

/* ================================================================================================================================================================== */
/* .pagelayout-cart .woocommerce-cart-form {
    overflow: auto;
} */

.pagelayout-cart .woocommerce-cart-form .cart {
    min-width: 800px;
    width: 100% !important;
}

.pagelayout-cart .woocommerce-cart-form .cart th,
.pagelayout-cart .woocommerce-cart-form .cart .cart_item td {
    border-bottom: 1px solid #C0C4CC;
}

.pagelayout-cart .woocommerce-cart-form .cart th:not(.product-remove) {
    font-size: 20px;
    font-weight: 600;
    line-height: 160%;
    padding: 20px;
    color: var(--tw-title);
    text-align: left;
}

.pagelayout-cart .woocommerce-cart-form .cart th.product-quantity,
.pagelayout-cart .woocommerce-cart-form .cart td.product-quantity {
    text-align: center !important;
}

.pagelayout-cart .woocommerce-cart-form .cart th.product-price,
.pagelayout-cart .woocommerce-cart-form .cart td.product-price,
.pagelayout-cart .woocommerce-cart-form .cart th.product-subtotal,
.pagelayout-cart .woocommerce-cart-form .cart td.product-subtotal {
    text-align: right !important;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item td:not(.product-remove) {
    padding: 20px;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-remove .remove {
    font-size: 0px !important;
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url('icons/icon_del.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-remove .remove:hover {
    background-image: url('icons/icon_del_active.svg') !important;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-thumbnail {
    padding: 20px 18px;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-thumbnail img {
    border: 1px solid #DCDFE5;
    border-radius: 4px;
    min-width: 100px;
    max-width: 100px;
    min-height: 100px;
    max-height: 100px;
    object-fit: cover;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-name a {
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-main);
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-name a:hover {
    color: var(--tw-blue-500) !important;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-price {
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
    color: var(--tw-main);
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-quantity .screen-reader-text {
    display: none !important;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-quantity .quantity {
    border: 1px solid #6C717A;
    border-radius: 4px;
    padding: 0px 36px 0px 36px;
    position: relative;
    display: inline-block;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-quantity .quantity input {
    /* pointer-events: none !important; */
    box-shadow: none !important;
    outline: none !important;
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
    color: var(--tw-main);
    width: 48px;
    text-align: center;
    border-left: 1px solid #6C717A;
    border-right: 1px solid #6C717A;
    -moz-appearance: textfield;
    -ms-appearance: textfield;
    -webkit-appearance: none;
    padding: 10px;
    border-radius: 0px !important;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-quantity .quantity input::-webkit-outer-spin-button,
.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-quantity .quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-quantity .quantity .up,
.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-quantity .quantity .down {
    width: 20px;
    height: 20px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 10px);
    cursor: pointer;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-quantity .quantity .up {
    background-image: url('icons/icon-plus.svg');
    right: 8px;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-quantity .quantity .down {
    background-image: url('icons/icon-minus.svg');
    left: 8px;
}

.pagelayout-cart .woocommerce-cart-form .cart .cart_item .product-subtotal {
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
    color: var(--tw-main);
}

.pagelayout-cart .woocommerce-cart-form .cart .actions {
    position: relative;
    padding: 20px 0px;
}

.pagelayout-cart .woocommerce-cart-form .cart .actions .coupon {
    display: flex;
    gap: 10px;
    align-items: center;
}

.pagelayout-cart .woocommerce-cart-form .cart .actions .coupon label {
    display: none !important;
}

.pagelayout-cart .woocommerce-cart-form .cart .actions .coupon input {
    border: 1px dashed #6C717A;
    border-radius: 4px;
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-main);
    padding: 10px 10px 10px 58px;
    background-image: url('icons/icon-ticket.svg');
    background-position: 16px center;
    background-repeat: no-repeat;
    box-shadow: none;
    outline: none;
}

.pagelayout-cart .woocommerce-cart-form .cart .actions .coupon input::placeholder {
    color: #C0C4CC !important;
}

.pagelayout-cart .woocommerce-cart-form .cart .actions .coupon .button {
    min-width: 143px !important;
    height: 49px !important;
    border-radius: 4px !important;
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-grey-600);
    outline: none !important;
    box-shadow: none !important;
    border: 1px solid #6C717A;
}

.pagelayout-cart .woocommerce-cart-form .cart .actions .coupon .button:hover {
    background-color: #6c717a !important;
    color: #fff !important;
}

.pagelayout-cart .woocommerce-cart-form .cart .actions .button[name='update_cart'] {
    position: absolute;
    top: 20px;
    right: 0px;
    min-width: 143px !important;
    height: 49px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    font-size: 0px !important;
    background: linear-gradient(90deg, #529FCC 0%, #0075B8 100%) !important;
    outline: none !important;
    box-shadow: 0px 4px 12px 0px #10598529;
}

.pagelayout-cart .woocommerce-cart-form .cart .actions .button[name='update_cart']:disabled {
    opacity: 0.5;
    pointer-events: none !important;
}

.pagelayout-cart .woocommerce-cart-form .cart .actions .button[name='update_cart']::before {
    display: block !important;
    content: attr(value);
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 160% !important;
    color: white !important;
    text-align: center !important;
    padding: 10px 24px !important;
    position: relative;
    z-index: 2;
}

.pagelayout-cart .woocommerce-cart-form .cart .actions .button[name='update_cart']::after {
    width: 100%;
    height: 100%;
    display: block !important;
    background: linear-gradient(90deg, #8BCCAC 0%, #0075B8 100%) !important;
    content: " " !important;
    position: absolute;
    top: 0;
    left: 0;
    transition: transform .2s cubic-bezier(.215, .61, .355, 1);
    transform: translate(-100%);
    z-index: 1;
}

.pagelayout-cart .woocommerce-cart-form .cart .actions .button[name='update_cart']:hover::after {
    transform: translate(0);
}

.pagelayout-cart .cart-collaterals {
    margin-top: 40px;
    width: 600px;
    max-width: 100%;
    margin-left: auto;
}

.pagelayout-cart .cart-collaterals::before {
    content: 'Cart totals';
    display: block;
    font-size: 32px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title);
    margin-bottom: 20px;
}

html[lang="tw"] .pagelayout-cart .cart-collaterals::before {
    content: '購物車總計';
}

.pagelayout-cart .cart-collaterals h2 {
    display: none;
}

.pagelayout-cart .cart-collaterals .cart_totals {
    background: #EDEFF2;
    padding: 20px;
}

.pagelayout-cart .cart-collaterals table {
    width: 100%;
}

.pagelayout-cart .cart-collaterals table tr:not(:first-child) th,
.pagelayout-cart .cart-collaterals table tr:not(:first-child) td {
    border-top: 1px solid #C0C4CC;
}

.pagelayout-cart .cart-collaterals table th {
    font-size: 20px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-main);
    text-align: left;
    padding: 18px 0px;
}

.pagelayout-cart .cart-collaterals table td {
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title);
    width: 50%;
    text-align: right;
    padding: 18px 0px;
}

.pagelayout-cart .cart-collaterals table tr:first-child th,
.pagelayout-cart .cart-collaterals table tr:first-child td {
    padding-top: 0px !important;
}

.pagelayout-cart .cart-collaterals table td .woocommerce-remove-coupon {
    font-weight: 400 !important;
    font-size: 16px !important;
    color: var(--tw-main) !important;
}

.pagelayout-cart .cart-collaterals table td .woocommerce-shipping-destination {
    display: none;
}

.pagelayout-cart .cart-collaterals .checkout-button {
    margin-top: 30px;
    display: block;
    height: 49px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    font-size: 0px !important;
    background: linear-gradient(90deg, #529FCC 0%, #0075B8 100%) !important;
    position: relative;
    outline: none !important;
    box-shadow: 0px 4px 12px 0px #10598529 !important;
}

.pagelayout-cart .cart-collaterals .checkout-button::before {
    display: block !important;
    content: "Proceed to checkout";
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 160% !important;
    color: white !important;
    text-align: center !important;
    padding: 10px 24px !important;
    position: relative;
    z-index: 2;
}

html[lang="tw"] .pagelayout-cart .cart-collaterals .checkout-button::before {
    content: "前往結帳" !important;
}

.pagelayout-cart .cart-collaterals .checkout-button::after {
    width: 100%;
    height: 100%;
    display: block !important;
    background: linear-gradient(90deg, #8BCCAC 0%, #0075B8 100%) !important;
    content: " " !important;
    position: absolute;
    top: 0;
    left: 0;
    transition: transform .2s cubic-bezier(.215, .61, .355, 1);
    transform: translate(-100%);
    z-index: 1;
}

.pagelayout-cart .cart-collaterals .checkout-button:hover::after {
    transform: translate(0);
}

.pagelayout-cart .post-article h1 {
    font-size: 32px !important;
}

@media only screen and (max-width: 767px) {
    .pagelayout-cart .post-article h1 {
        font-size: 28px !important;
    }

    .pagelayout-cart .cart-collaterals::before {
        font-size: 28px !important;
    }

    .pagelayout-cart .cart-collaterals table td .woocommerce-remove-coupon {
        display: block !important;
        line-height: 1 !important;
    }
}

/* ================================================================================================================================================================== */
@media only screen and (max-width: 767px) {
    .pagelayout-cart .woocommerce-cart-form {
        overflow: initial !important;
    }

    .pagelayout-cart .woocommerce-cart-form .cart {
        min-width: 100% !important;
    }

    .pagelayout-cart .woocommerce-cart-form .cart thead {
        display: none !important;
    }

    .pagelayout-cart .woocommerce-cart-form .cart .cart_item {
        display: block !important;
        position: relative !important;
        border-bottom: 1px solid #C0C4CC !important;
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td {
        border-bottom: none !important;
        padding: 0px 0px !important;
    }

    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-remove {
        display: block !important;
        position: absolute;
        left: 0px;
        top: 20px;
    }

    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-thumbnail {
        padding-left: 32px !important;
        display: block !important;
    }

    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-name,
    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-price,
    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-quantity,
    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-subtotal {
        width: 100%;
        display: flex !important;
        align-items: center;
        gap: 16px;
        text-align: left !important;
        clear: both !important;
        margin-top: 16px;
        min-height: 52px;
    }

    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-name::before,
    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-price::before,
    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-quantity::before,
    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-subtotal::before {
        content: attr(data-title);
        font-size: 20px;
        font-weight: 600;
        line-height: 160%;
        color: var(--tw-title);
        float: left;
        display: table;
        min-width: 100px;
    }

    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-name::after,
    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-price::after,
    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-quantity::after,
    .pagelayout-cart .woocommerce-cart-form .cart .cart_item td.product-subtotal::after {
        content: "";
        display: table;
        clear: both;
    }

    .pagelayout-cart .woocommerce-cart-form .cart .actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 40px;
        padding: 10px 0px !important;
    }

    .pagelayout-cart .woocommerce-cart-form .cart .actions .coupon {
        flex-direction: column !important;
    }

    .pagelayout-cart .woocommerce-cart-form .cart .actions .coupon input,
    .pagelayout-cart .woocommerce-cart-form .cart .actions .coupon .button {
        width: 100% !important;
    }

    .pagelayout-cart .woocommerce-cart-form .cart .actions .button[name='update_cart'] {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        top: 0px !important;
    }

    .pagelayout-cart .woocommerce-notices-wrapper *[role="alert"] {
        padding-bottom: 16px !important;
    }
}

/* ================================================================================================================================================================== */
.pagelayout-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    background-color: #CEE0EB;
    border-radius: 2px;
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-main);
    padding: 16px;
    padding-left: 62px;
    background-image: url('icons/icon-ticket.svg');
    background-position: 16px center;
    background-repeat: no-repeat;
}

.pagelayout-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
    text-decoration: underline !important;
}

.pagelayout-checkout .checkout_coupon {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 10px 0;
    flex-direction: row;
}

@media (max-width: 767px) {
    .pagelayout-checkout .checkout_coupon {
        flex-direction: column;
        align-items: start;
    }

    .pagelayout-checkout .checkout_coupon p,
    .pagelayout-checkout .checkout_coupon #coupon_code,
    .pagelayout-checkout .checkout_coupon button[name='apply_coupon'] {
        width: 100%;
    }
}

.pagelayout-checkout .checkout_coupon>*:not(.form-row) {
    display: none !important;
}

.pagelayout-checkout .checkout_coupon .form-row label {
    display: none !important;
}

.pagelayout-checkout .checkout_coupon #coupon_code {
    border: 1px dashed #6C717A;
    border-radius: 4px;
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-main);
    padding: 10px 10px 10px 58px;
    background-image: url('icons/icon-ticket.svg');
    background-position: 16px center;
    background-repeat: no-repeat;
    box-shadow: none;
    outline: none;
}

.pagelayout-checkout .checkout_coupon #coupon_code::placeholder {
    color: #C0C4CC !important;
}

.pagelayout-checkout .checkout_coupon button[name='apply_coupon'] {
    min-width: 143px !important;
    height: 49px !important;
    border-radius: 4px !important;
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-grey-600);
    outline: none !important;
    box-shadow: none !important;
    border: 1px solid #6C717A;
}

.pagelayout-checkout .checkout_coupon button[name='apply_coupon']:hover {
    background: #6C717A !important;
    color: #fff !important;
}

.pagelayout-checkout .woocommerce-error {
    position: relative;
    border-radius: 2px;
    color: #2F323D;
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    margin: 10px 0;
    padding: 16px 100px 16px 50px !important;
    background-repeat: no-repeat;
    background-color: #F79D94 !important;
    background-image: url('icons/is_error.svg');
    background-position: 16px 20px;
}

/* ================================================================================================================================================================== */
.pagelayout-checkout form.checkout {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: 40px;
    margin-top: 40px;
}

.pagelayout-checkout form.checkout wc-order-attribution-inputs,
.pagelayout-checkout form.checkout #order_review_heading {
    display: none;
}

@media (min-width: 768px) {
    .pagelayout-checkout form.checkout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 130px;
        row-gap: 0px !important;
    }

    .pagelayout-checkout form.checkout .woocommerce-NoticeGroup {
        grid-column: span 2;
    }
}

.pagelayout-checkout form.checkout h3 {
    font-size: 32px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title);
    margin-bottom: 20px;
}

.pagelayout-checkout form.checkout .form-row {
    margin-bottom: 20px;
}

.pagelayout-checkout form.checkout .form-row.form-row-first,
.pagelayout-checkout form.checkout .form-row.form-row-last {
    display: inline-block;
    width: calc(50% - 8px);
}

.pagelayout-checkout form.checkout .form-row.form-row-first {
    margin-right: 16px;
}

.pagelayout-checkout form.checkout .form-row label {
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
    color: var(--tw-main);
    display: block;
    margin-bottom: 10px;
}

.pagelayout-checkout form.checkout .form-row label .required {
    text-decoration: none !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--tw-blue-500) !important;
}

.pagelayout-checkout form.checkout .form-row .input-text {
    display: block;
    width: 100%;
    height: 50px;
    border: 1px solid #6C717A;
    border-radius: 4px;
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
    color: #2F323D;
    padding: 10px 16px;
    outline: none;
    box-shadow: 0px 0px 0px 0px transparent;
    transition: all 200ms ease-in-out;
}

.pagelayout-checkout form.checkout .form-row .input-text:focus,
.pagelayout-checkout form.checkout .form-row .input-text:active {
    border-color: #0075B8 !important;
    box-shadow: 0px 0px 0px 1px #0075B8 !important;
}

.pagelayout-checkout form.checkout .form-row .input-text::placeholder {
    color: #8A8E99 !important;
}

.pagelayout-checkout form.checkout .form-row .select2-selection {
    border: 1px solid #6C717A !important;
    border-radius: 4px !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 160% !important;
    color: #2F323D !important;
    height: 50px !important;
}

.pagelayout-checkout form.checkout .form-row .select2-selection .select2-selection__rendered {
    height: 50px !important;
    padding: 10px 16px;
}

.pagelayout-checkout form.checkout .form-row .select2-selection .select2-selection__arrow {
    top: 14px;
    right: 14px;
}

@media only screen and (max-width: 767px) {
    .pagelayout-checkout form.checkout h3 {
        font-size: 28px !important;
    }

    .pagelayout-checkout #order_review::before {
        font-size: 28px !important;
    }
}

/* ================================================================================================================================================================== */
.pagelayout-checkout form.checkout #ship-to-different-address {
    margin-top: 40px;
}


.pagelayout-checkout form.checkout #ship-to-different-address .woocommerce-form__label-for-checkbox.checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.pagelayout-checkout form.checkout #ship-to-different-address input {
    opacity: 0 !important;
    margin: 0px !important;
    width: 25px;
    height: 25px;
    cursor: pointer;
}

.pagelayout-checkout form.checkout #ship-to-different-address span {
    position: relative;
}

.pagelayout-checkout form.checkout #ship-to-different-address span::before {
    pointer-events: none;
    content: '';
    position: absolute;
    left: -35px;
    top: 13px;
    display: block;
    width: 25px;
    height: 25px;
    border-radius: 2px;
    border: 1px solid #6C717A;
}

.pagelayout-checkout form.checkout #ship-to-different-address input:checked+span::before {
    border: 1px solid #0075B8 !important;
    background-color: #0075B8;
    background-image: url('icons/check.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.pagelayout-checkout form.checkout .form-row textarea {
    min-height: 140px !important;
}

/* ================================================================================================================================================================== */
.pagelayout-checkout #order_review {
    overflow: auto;
}

.pagelayout-checkout #order_review::before {
    display: block;
    content: 'Your order';
    font-size: 32px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title);
    margin-bottom: 20px;
}

html[lang="tw"] .pagelayout-checkout #order_review::before {
    content: "您的訂單";
}

.pagelayout-checkout #order_review .shop_table {
    /* min-width: 600px; */
    display: flex !important;
    flex-direction: column !important;
}

.pagelayout-checkout #order_review .shop_table thead tr,
.pagelayout-checkout #order_review .shop_table tbody tr {
    display: grid !important;
    grid-template-columns: 7.5fr 2.5fr !important;
}

.woocommerce-order-pay .pagelayout-checkout #order_review .shop_table thead tr,
.woocommerce-order-pay .pagelayout-checkout #order_review .shop_table tbody tr {
    grid-template-columns: 6fr 1.5fr 2.5fr !important;
}

.woocommerce-order-pay .page-container {
    max-width: 600px !important;
}

.pagelayout-checkout #order_review .shop_table thead th {
    font-size: 20px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-main);
    text-transform: uppercase;
    padding: 20px;
    text-align: left;
    border-bottom: 1px solid #C0C4CC;
}

.pagelayout-checkout #order_review .shop_table .product-total,
.pagelayout-checkout #order_review .shop_table .product-subtotal {
    text-align: right;
}

.pagelayout-checkout #order_review .shop_table tbody td {
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 160%;
    color: var(--tw-main);
    padding: 20px;
    vertical-align: top;
}

.pagelayout-checkout #order_review .shop_table .product-name {
    display: flex;
    gap: 40px;
}

.pagelayout-checkout #order_review .shop_table .product-name .product-quantity {
    margin-left: auto;
    font-weight: 500 !important;
}

.pagelayout-checkout #order_review .shop_table tfoot {
    background: #EDEFF2;
    display: flex;
    flex-direction: column;
    padding: 20px;
    margin-top: 20px;
    width: 100%;
}

.pagelayout-checkout #order_review .shop_table tfoot tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pagelayout-checkout #order_review .shop_table tfoot tr:not(:first-child) {
    border-top: 1px solid #C0C4CC;
    padding-top: 18px;
    margin-top: 18px;
}

.pagelayout-checkout #order_review .shop_table tfoot th {
    font-size: 20px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-main);
    text-align: left;
    /* padding: 18px 10px; */
}

.pagelayout-checkout #order_review .shop_table tfoot td {
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title);
    text-align: right;
    /* padding: 18px 10px; */
}

/* .pagelayout-checkout #order_review .shop_table tfoot tr:first-child th,
.pagelayout-checkout #order_review .shop_table tfoot tr:first-child td {
    padding-top: 8px !important;
} */

.pagelayout-checkout #order_review .shop_table tfoot tr:last-child th,
.pagelayout-checkout #order_review .shop_table tfoot tr:last-child td {
    padding-bottom: 0px !important;
}

.pagelayout-checkout #order_review .shop_table .woocommerce-remove-coupon {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: var(--tw-main) !important;
}

/* ================================================================================================================================================================== */
.pagelayout-checkout #order_review #payment {
    padding: 20px;
    background: #EDEFF2;
    /* min-width: 600px; */
}

.pagelayout-checkout #order_review #payment .payment_methods {
    background: #F7F8FA;
    border-radius: 4px;
    padding: 14px 16px;
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
    color: var(--tw-main);
}

.pagelayout-checkout #order_review #payment .payment_methods .input-radio {
    accent-color: #073B59 !important;
}

.pagelayout-checkout #order_review #payment .woocommerce-terms-and-conditions-wrapper {
    border-top: 1px solid #C0C4CC;
    margin-top: 40px;
    padding-top: 20px;
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title);
}

.pagelayout-checkout #order_review #payment #place_order {
    display: block !important;
    background-color: #FFC43A;
    border-radius: 4px;
    margin-top: 40px;
    width: 100% !important;
    height: 52px !important;
    font-size: 0px;
    background-image: url('icons/paypal.svg');
    background-repeat: no-repeat;
    background-position: center;
}

/* ================================================================================================================================================================== */
.woocommerce-order-received .page-container {
    max-width: 1058px !important;
}

.woocommerce-order-received .page-wrap .woocommerce-notice--success {
    background-color: #CEE0EB;
    padding: 16px 24px;
    border-radius: 4px;
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title);
}

.woocommerce-order-received .page-wrap .woocommerce-thankyou-order-failed {
    background-color: #F79D94 !important;
    background-image: url('icons/is_error.svg');
    background-repeat: no-repeat;
    background-position: 16px 20px;
    padding: 16px 24px;
    padding-left: 50px !important;
    border-radius: 4px;
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title);
}

.woocommerce-order-received .page-wrap .woocommerce-thankyou-order-failed-actions {
    display: flex;
    gap: 20px;
    margin-top: 4px;
    margin-left: 50px;
}

.woocommerce-order-received .page-wrap .woocommerce-thankyou-order-failed-actions .button {
    font-size: 18px;
    font-weight: 500;
    color: var(--tw-title);
    text-decoration: underline;
}

.woocommerce-order-received .page-wrap .woocommerce-thankyou-order-failed-actions .button:hover {
    color: var(--tw-blue-500);
}

.woocommerce-order-received .page-wrap .woocommerce-order-overview {
    background: #EDEFF2;
    margin-top: 40px;
    font-size: 20px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-main);
    border-radius: 4px;
}

.woocommerce-order-received .page-wrap .woocommerce-order-overview li {
    padding: 20px;
}

.woocommerce-order-received .page-wrap .woocommerce-order-overview li:not(:first-child) {
    border-top: 1px solid #C0C4CC;
}

.woocommerce-order-received .page-wrap .woocommerce-order-overview li strong {
    font-size: 18px !important;
    font-weight: 500 !important;
    display: block;
    margin-top: 8px;
    color: var(--tw-title) !important;
}

/* ================================================================================================================================================================== */
.woocommerce-order-received .page-wrap .woocommerce-order-details {
    margin-top: 40px;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .woocommerce-order-details__title {
    font-size: 32px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title);
    margin-bottom: 20px;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table {
    width: 100%;
    text-align: left;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table thead th {
    background: #EDEFF2;
    padding: 17px 20px;
    font-size: 20px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-main);
    width: 50%;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table thead th.product-name::after {
    content: ':';
    display: inline-block;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table thead th.product-total {
    font-size: 0px;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table thead th.product-total::after {
    content: 'Subtotal:';
    display: block;
    font-size: 20px !important;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tbody td {
    font-size: 16px;
    font-weight: 500;
    line-height: 160%;
    color: var(--tw-main);
    padding: 20px;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tbody td.product-name {
    display: flex;
    row-gap: 40px;
    align-items: center;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tbody td.product-name a:hover {
    color: var(--tw-blue-500);
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tbody td.product-name .product-quantity {
    font-weight: 500 !important;
    margin-left: auto;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tfoot th,
.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tfoot td {
    background: #EDEFF2;
    padding: 17px 20px;
    font-size: 20px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-main);
    width: 50%;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tfoot td {
    font-size: 18px !important;
    font-weight: 500 !important;
    color: var(--tw-title) !important;
}

.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tfoot tr:not(:first-child) th,
.woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tfoot tr:not(:first-child) td {
    border-top: 1px solid #C0C4CC;
}

/* .woocommerce-order-received .page-wrap .woocommerce-customer-details {
    margin-top: 40px;
} */

.woocommerce-order-received .page-wrap .woocommerce-customer-details .woocommerce-column__title {
    font-size: 32px;
    font-weight: 600;
    line-height: 160%;
    color: var(--tw-title);
    margin-bottom: 20px;
    margin-top: 40px;
}

.woocommerce-order-received .page-wrap .woocommerce-customer-details address {
    font-size: 16px;
    font-weight: 500;
    line-height: 200%;
    color: var(--tw-main);
    font-style: normal !important;
}

@media only screen and (max-width: 767px) {
    .woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table thead th.product-name {
        width: 70% !important;
    }

    .woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table thead th.product-total {
        text-align: right !important;
        width: 30% !important;
    }

    .woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tbody td.product-total {
        text-align: right !important;
    }

    .woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tfoot td .shipped_via {
        display: block !important;
        line-height: 1 !important;
    }

    .woocommerce-order-received .page-wrap .woocommerce-order-details .shop_table tfoot td {
        text-align: right !important;
    }

    .woocommerce-order-received .page-wrap .woocommerce-order-details .woocommerce-order-details__title {
        font-size: 28px !important;
    }

    .woocommerce-order-received .page-wrap .woocommerce-customer-details .woocommerce-column__title {
        font-size: 28px !important;
    }

    .magnifier-preview-container {
        display: none !important;
    }
}

/* ================================================================================================================================================================== */
/* ================================================================================================================================================================== */