/* ------------------------------------ */
/* 購物車(佈局) */
.cart-col {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 20px;
}
.cart-col .cart-col-1 {

}
.cart-col .cart-col-2 {
    position: sticky;
    top: calc(70px + 50px + 20px);
}
@media (max-width: 992px) {
    .cart-col {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }
}


/* ------------------------------------ */
/* 購物車 */
.cart-list {
    padding: 30px 0 50px;
    min-height: 65vh;
}
.price::before {
    content: '€ ';
}
.price.sub::before {
    content: '€ ';
}
.price-total {
    font-size: 1.8rem;
    color: var(--color-1);
    font-weight: 600;
}
.price-subtotal {
    font-size: 1.4rem;
    font-weight: 600;
}
.cart-shopping-header,
.cart-shopping-item,
.cart-summary,
.cart-block,
.cart-summary-block {
    /* box-shadow: 0 0 7px 3px #5551; */
    /* border: 1px solid #ddda; */
/*    border: 1px solid #c3c3c366;*/
    border: 2px solid #ccc;
}



/* ------------------------------------ */
/* .cart-shopping */
.cart-shopping {
    border-radius: 10px;
}
.cart-shopping-header,
.cart-shopping-item,
.cart-summary {
    /* box-shadow: 0 0 7px 3px #5551; */
    /* border: 1px solid #ddd8; */
}
.cart-shopping-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 15px;
    /* border-bottom: 1px solid #eee; */
    background-color: #ffffff;
}
.cart-shopping-header-1 {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 1.2rem;
    line-height: 1;
}
.cart-shopping-header-1 .form-group {
    display: flex;
    align-items: center;
    gap: 5px;
}
.cart-shopping-header-2 {
    
}
.cart-shopping-body {
    /* padding-left: 0px; */
    /* padding-right: 0px; */
}
.cart-shopping-item {
    /* padding-top: 10px; */
    margin-top: 12px;
    background-color: #ffffff;
    padding: 1px;
}
.cart-shopping-item.active {
    border: 2px solid var(--c-06);
    padding: 0;
}
.cart-shopping-item + .cart-shopping-item {

}
.shopping-item-col {
    display: grid;
    grid-template-columns: minmax(0, 20px) minmax(0, 100px) minmax(0, 1fr) minmax(0, 300px);
    line-height: 1.2;
    gap: 15px;
    padding-left: 20px;
    padding-right: 20px;
}
.shopping-item-col-1 {

}
.shopping-item-col-2 {
    display: flex;
    justify-content: space-between;
    justify-content: center;
}
.shopping-item-col-3 {
    
}
.shopping-item-col-4 {
    
}
.shopping-item-top,
.shopping-item-bottom {
    padding: 15px 15px;
}
.shopping-item-top {
    
}
.shopping-item-bottom {
    padding-top: 6px;
    padding-bottom: 6px;
    border-top: 1px solid #eee;
    align-items: center;
}
.shopping-item-bottom .shopping-item-col-2 * {
    font-size: 14px;
    text-decoration: unset;
}
.cart-shopping-item.is-disabled .shopping-item-col-4 {
    opacity: 0.4;
}
.shopping-item-checkbox {
    width: 18px;
    height: 18px;
}
.shopping-item-img {
    width: 100px;
    height: 100px;
    border-radius: 5px;
    object-fit: cover;
}
.shopping-item-title {
    font-size: 16.8px;
    font-weight: 600;
    margin-bottom: 8px;
}
.shopping-item-title a {
    
}
.shopping-item-title a:hover {
    color: #000;
    text-decoration: underline !important;
}
.shopping-item-content {

}
.shopping-item-content p {
    margin-bottom: 0;
    line-height: 1;
}
.shopping-item-content p + p {
    margin-top: 8px;
}
.shopping-item-tag-list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-top: 10px;
    gap: 5px;
}
.shopping-item-tag-item {
    padding: 5px 7px 3px;
    color: #fff;
    background-color: var(--color-3);
    border-radius: 3px;
    line-height: 1;
    font-size: 80%;
}
.shopping-item-subtotal {
    font-size: 15.6px;
    font-weight: 600;
    line-height: 1.5;
    text-align: right;
}
.shopping-item-subtotal::before {
    content: '€ ';
}
@media (max-width: 768px) {
    .shopping-item-col.shopping-item-top {
        grid-template-columns: minmax(0, 20px) minmax(0, 100px) minmax(0, 1fr);
    }
    .shopping-item-col.shopping-item-top .shopping-item-col-4 {
        grid-column: 2 / -1;
    }
}


/* .cart-summary */
.cart-summary {
    background-color: #fff;
    padding: 15px 15px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    text-align: centers;
    position: relative;
}
.cart-summary + .cart-summary {
    margin-top: 20px;
}
.cart-summary-content {
    font-size: 16.8px;
    text-align: end;
}
.cart-summary-content span {
    
}
.cart-summary-subtotal {
    font-size: 21.6px;
    font-weight: 600;
    line-height: 1.5;
    text-align: end;
}
.cart-summary-subtotal::before {
    content: '€ ';
}
.cart-summary-btn {
    display: block;
    padding: 0.8rem 1.2rem;
    line-height: 1;
/*    border-radius: 8px;*/
    color: #fff;
    background-color: #000;
    font-size: 16.8px !important;
    width: 100%;
}

@media (max-width: 991px) {
    .cart-summary {
        margin-top: 20px;
    }
}

/* 進度條 */
.cart-progress {
/*    border-top: 1px solid #3331;*/
    background-color: transparent;
/*    box-shadow: 0 1px 10px 0 #0002;*/
}
.cart-progress-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
/*    justify-content: space-between;*/
/*    justify-content: center;*/
    padding: 14px 0 10px;
}
.cart-progress-item {
    display: flex;
    align-items: center;
    flex-direction: column;
    font-size: 1.2rem;
    width: 84px;
    /* background-color: #ddd8; */
}
.cart-progress-item + .cart-progress-item span:after {
    --base-width: 588px;
    content: '';
    position: absolute;
    width: calc(var(--base-width) - 5px * 2);
    height: 2px;
    right: calc(100% + 5px);
    top: calc(20px / 2);
    background-color: #ddd;
}
.cart-progress-item + .cart-progress-item.pass span:after,
.cart-progress-item + .cart-progress-item.here span:after {
    background-color: var(--bs-success);
}
.cart-progress-item span {
    position: relative;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display,inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    background-color: #ddd;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cart-progress-item font {
    font-weight: 600;
}
.cart-progress-item.pass {

}
.cart-progress-item.pass span {
    color: #fff;
    background-color: var(--bs-success);
}
.cart-progress-item.pass span:before {
    content: "\f00c";
    font-size: 0.9rem;
}
.cart-progress-item.pass font {

}
.cart-progress-item.here {

}
.cart-progress-item.here span {
    color: #fff;
    background-color: var(--color-1);
}
.cart-progress-item.here span:before {
    content: "\f303";
    font-size: 0.8rem;
}
.cart-progress-item.here font {

}
@media (max-width: 576px) {
    .cart-progress-item + .cart-progress-item span:after {
        --base-width: 32vw;
    }
}
@media (min-width: 576px) {
    .cart-progress-item + .cart-progress-item span:after {
        --base-width: 199px;
    }
}
@media (min-width: 768px) {
    .cart-progress-item + .cart-progress-item span:after {
        --base-width: 289px;
    }
}
@media (min-width: 992px) {
    .cart-progress-item + .cart-progress-item span:after {
        --base-width: 409px;
    }
}
@media (min-width: 1200px) {
    .cart-progress-item + .cart-progress-item span:after {
        --base-width: 499px;
    }
}
@media (min-width: 1400px) {
    .cart-progress-item + .cart-progress-item span:after {
        --base-width: 588px;
    }
}

/* 步驟 */
.cart-nav {
    display: flex;
    list-style: none;
    line-height: 1;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    overflow-x: auto;
}
.cart-nav__item {
    display: flex;
    align-items: center;
}
.cart-nav .cart-nav__item {
        
}

.cart-nav .cart-nav__item:not(:first-child)::before {
    display: block;
    width: 2rem;
    height: 2px;
    background-color: unset;
    margin: 0 0.5rem;
    content: "";
}

    .cart-nav .cart-nav__item .num {
        /* --width: 25px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: var(--width);
        height: var(--width);
        background-color: var(--c-28);
        color: var(--bc-01);
        border-radius: 50%;
        margin-right: 8px; */

        height: 24px;
        line-height: 24px;
        color: #000;
        margin-right: 8px;
        padding: 0px 5px 0px 8px;
        border-radius: 50%;
        background-color: transparent;
    }
    .cart-nav .cart-nav__item .txt {
        text-transform: capitalize;
        color: #000;
    }
    .cart-nav .cart-nav__item.is-active .txt {
        color: var(--c-06);
    }
    .cart-nav .cart-nav__item.is-active .num {
        background-color: var(--c-06);
        color: #000;
    }
    @media (max-width: 992px) {
        .cart-nav {
            margin-bottom: 20px;
        }
    }



/* .cart-block */
.cart-block {
    font-size: 1.2rem;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    /* overflow: hidden; */
}
.cart-block + .cart-block {
    margin-top: 20px;
}
.cart-block-header {
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
    background-color: #ffffff;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
}
.cart-block-body {
    padding: 15px 20px;
    background-color: #ffffff;
}
.promo-code-message {
    line-height: 1.2;
}


/* .cart-selected-item */
.cart-selected-item {
    display: grid;
    /* align-items: center; */
    grid-template-columns: minmax(0, 100px) 1fr;
    gap: 15px;
    padding: 20px 0;
}
.cart-selected-item:first-child {
    padding-top: 0;
}
.cart-selected-item:last-child {
    padding-bottom: 0;
}
.cart-selected-item + .cart-selected-item {
    border-top: 1px solid #eee;
}
.cart-selected-item-1 {

}
.cart-selected-item-2 {

}
.cart-selected-item-img {
    border-radius: 5px;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}
.cart-selected-item-title {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 5px;
}
.cart-selected-item-content {

}
.cart-selected-item-tag-list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-top: 10px;
    gap: 5px;
    font-size: 1rem;
}
.cart-selected-item-tag {
    padding: 5px 7px;
    color: #fff;
    background-color: var(--color-3);
    border-radius: 3px;
    line-height: 1;
    font-size: 80%;
}


/* .cart-form-group */
.cart-form-group {
    margin-bottom: 1.5rem;
}
.form-check-label,
.cart-form-group label {
    font-weight: 500;
}


#agree_the_terms {
    width: 18px;
    height: 18px;
}
[for="agree_the_terms"] {
    font-weight: normal !important;
}


/* .cart-summary-block */
.cart-summary-block {
    padding: 20px 20px 15px;
/*    border-radius: 10px;*/
    background-color: #ffffff;
    font-size: 1.2rem;
    line-height: 1.4;
}
.cart-summary-block.item {
    border: 2px solid #ccc;
}
.cart-summary-block.sticky {
    position: sticky;
    top: calc(70px + 20px);
}
.cart-summary-block + .cart-summary-block,
.cart-summary-list + .cart-summary-block {
    margin-top: 20px;
}
.cart-summary-block-txt-1 {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 10px;
    line-height: 1.2;
}
.cart-summary-block-txt-2 {

}
.cart-summary-block-hr {
    width: 100%;
    height: 1px;
    background-color: #eee;
    margin: 1rem 0;
}
.cart-summary-block-col {
    display: grid;
    /* align-items: center; */
    grid-template-columns: minmax(0, 150px) 1fr;
    gap: 15px;
}
.cart-summary-block-col + .cart-summary-block-col {
    margin-top: 10px;
}
.cart-summary-block-col-1 {
    font-weight: 500;
}
.cart-summary-block-col-2 {
    text-align: right;
}
.cart-summary-block-col-2.flex {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.shipping-fee-col:not(.active) {
    display: none;
}
.cart-summary-title {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
}
.cart-summary-tips {
    margin-top: 20px;
}



.cart-shopping-delete-btn {
    background-color: var(--c-06);
    border-color: var(--c-06);
    height: auto;
    width: auto;
    line-height: 1.5;
    padding: 4.5px 9px;
}
.cart-shopping-delete-btn:hover {
    background-color: var(--c-06) !important;
    border-color: var(--c-06) !important;;
}
.cart-shopping-reload-btn {
    background-color: var(--color-4);
    border-color: var(--color-4);
}
.cart-item-page-btn {
    color: var(--color-3);
}
.cart-item-page-btn:hover {
    
}
.cart-item-delete-btn {
    color: #000;
    background-color: transparent;
    border: 1px solid #ccc;
}
.cart-item-delete-btn:hover {
    color: var(--c-06) !important;
    background-color: transparent !important;
    border: 2px solid #ccc !important;
}
.cart-shopping-btn {
    color: var(--color-7);
    border: 2px solid var(--color-7);
    background-color: var(--color-6);
    height: 50px;
    padding: 0 30px;
    border-radius: 1.4rem;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.cart-shopping-btn i {
    font-size: 1.2rem;
}
.cart-shopping-btn:hover {
    background-color: var(--color-4);
}



/* 購物車(2)  商品：兌換方式 */
.redemption-method-area {
    display: none;
}
.redemption-method-area.active {
    display: block;
}
.redemption-method-group {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-bottom: 15px;
    /* gap: 20px; */
}
.redemption-method-group .form-check {
    cursor: pointer;
    padding-left: 1.2em;
}
.redemption-method-group .form-check .form-check-input {
    margin-left: -1.2em;
}
.form-check-input[name="redemption-method"] {

}
#redemption-method-tab-content {

}


/* 購物車(2)  確認 & 提交 */
.step-2-submit-area-mb label a,
.step-2-submit-area-pc label a {
    text-decoration: underline !important;
}
.step-2-submit-area-mb {
    display: none;
}
@media (max-width: 992px) {
    .step-2-submit-area-pc {
        display: none;
    }
    .step-2-submit-area-mb {
        display: block;
        margin-top: 20px;
    }
}


/* 購物車(3)  訂單資訊 */
.cart-alert {
    border-radius: 10px;
    font-size: 1.2rem;
    padding: 10px 20px;
    font-size: 1.4rem;
    font-weight: 600;
    color: #fff;
    background-color: #f00;
    margin-bottom: 20px;
}
.cart-block-col {
    display: grid;
    align-items: center;
    grid-template-columns: minmax(0, 140px) 1fr;
    gap: 15px;
}
.cart-block-col-1 {

}
.cart-block-col-2 {
    /* text-align: right; */
}
