/* =====================================================
   BONDOK LUXURY CART
===================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#0B0B0B;
    color:#fff;
    font-family:"Poppins",sans-serif;
}


/* =====================================================
   PAGE
===================================================== */

.cart-page{
    min-height:100vh;
    padding:138px 5% 90px;
}

.cart-container{
    width:100%;
    max-width:1450px;
    margin:0 auto;
}


/* =====================================================
   HEADER
===================================================== */

.cart-header{
    max-width:760px;
    margin:0 auto 48px;
    text-align:center;
}

.cart-eyebrow{
    display:block;

    margin-bottom:10px;

    color:#E0B84F;

    font-size:12px;
    font-weight:600;

    letter-spacing:3px;
}

.cart-header h1{
    margin:0;

    color:#fff;

    font-family:"Cinzel",serif;
    font-size:46px;
    font-weight:500;

    letter-spacing:.8px;
}

.cart-header p{
    margin:13px 0 0;

    color:rgba(255,255,255,.62);

    font-size:15px;
    line-height:1.8;
}


/* =====================================================
   LAYOUT
===================================================== */

.cart-layout{
    display:grid;

    grid-template-columns:
        minmax(0,1.65fr)
        minmax(410px,.85fr);

    gap:34px;

    align-items:start;
}


/* =====================================================
   PRODUCTS
===================================================== */

.cart-products{
    min-width:0;
}

#cartItems{
    display:flex;
    flex-direction:column;
    gap:18px;
}


/* =====================================================
   CART ITEM
===================================================== */

.cart-item{
    display:grid;

    grid-template-columns:
        130px
        minmax(0,1fr)
        auto;

    align-items:center;

    gap:24px;

    padding:20px;

    border:1px solid rgba(224,184,79,.15);
    border-radius:18px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.028),
            rgba(255,255,255,.010)
        );

    box-shadow:
        0 14px 45px rgba(0,0,0,.18);

    transition:
        transform .28s ease,
        border-color .28s ease,
        box-shadow .28s ease;
}

.cart-item:hover{
    transform:translateY(-3px);

    border-color:rgba(224,184,79,.48);

    box-shadow:
        0 20px 52px rgba(0,0,0,.32);
}


/* =====================================================
   PRODUCT IMAGE
===================================================== */

.cart-item-image-link{
    display:block;

    width:130px;
    height:156px;

    border-radius:13px;

    overflow:hidden;
}

.cart-item img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
}


/* =====================================================
   PRODUCT INFO
===================================================== */

.cart-info{
    min-width:0;
}

.cart-info h3{
    margin:0 0 12px;

    font-family:"Cinzel",serif;
    font-size:23px;
    font-weight:500;
}

.cart-info h3 a{
    color:#fff;

    text-decoration:none;

    transition:color .2s ease;
}

.cart-info h3 a:hover{
    color:#E0B84F;
}

.cart-info p{
    margin:7px 0;
}

.cart-size{
    color:#999;

    font-size:13px;
}

.cart-size strong{
    margin-left:6px;

    color:#dedede;

    font-weight:500;
}

.cart-unit-price{
    color:#E0B84F;

    font-size:15px;
    font-weight:600;
}


/* =====================================================
   QUANTITY
===================================================== */

.quantity-box{
    display:flex;
    align-items:center;

    gap:10px;

    margin-top:15px;
}

.qty-btn{
    display:grid;
    place-items:center;

    width:34px;
    height:34px;

    padding:0;

    border:1px solid rgba(224,184,79,.38);
    border-radius:50%;

    background:transparent;

    color:#E0B84F;

    font-size:17px;

    cursor:pointer;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.qty-btn:hover{
    background:#E0B84F;

    color:#080808;

    border-color:#E0B84F;
}

.qty-btn:disabled{
    opacity:.45;

    cursor:wait;
}

.qty-number{
    min-width:30px;

    color:#fff;

    font-size:15px;
    font-weight:600;

    text-align:center;
}


/* =====================================================
   PRODUCT SIDE
===================================================== */

.cart-item-side{
    display:flex;
    flex-direction:column;

    align-items:flex-end;
    justify-content:space-between;

    align-self:stretch;

    gap:24px;
}

.cart-line-total{
    color:#fff;

    font-family:"Cinzel",serif;
    font-size:18px;
    font-weight:500;
}


/* =====================================================
   REMOVE BUTTON
===================================================== */

.remove-btn{
    display:inline-flex;
    align-items:center;

    gap:7px;

    padding:9px 11px;

    border:0;

    background:transparent;

    color:#8b8b8b;

    font-size:11px;

    cursor:pointer;

    transition:color .2s ease;
}

.remove-btn:hover{
    color:#d36c6c;
}

.remove-btn:disabled{
    opacity:.45;
}


/* =====================================================
   ORDER SUMMARY
===================================================== */

.cart-summary{
    position:sticky;
    top:105px;

    width:100%;

    padding:32px;

    border:1px solid rgba(224,184,79,.25);
    border-radius:20px;

    background:
        radial-gradient(
            circle at top right,
            rgba(224,184,79,.065),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #111,
            #0c0c0c
        );

    box-shadow:
        0 25px 70px rgba(0,0,0,.38);
}


/* =====================================================
   SUMMARY HEADING
===================================================== */

.cart-summary-heading{
    margin-bottom:26px;

    padding-bottom:21px;

    border-bottom:1px solid rgba(255,255,255,.085);
}

.cart-summary-heading > span{
    display:block;

    margin-bottom:8px;

    color:#E0B84F;

    font-size:11px;
    font-weight:600;

    letter-spacing:2.5px;
}

.cart-summary-heading h2{
    margin:0;

    color:#fff;

    font-family:"Cinzel",serif;
    font-size:31px;
    font-weight:500;

    line-height:1.25;
}

.cart-summary-heading p{
    margin:10px 0 0;

    color:#9f9f9f;

    font-size:13px;
    line-height:1.75;
}


/* =====================================================
   SUMMARY ROWS
===================================================== */

.summary-row{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    padding:11px 0;

    color:#b1b1b1;

    font-size:14px;
}

.summary-row span{
    color:#b1b1b1;

    font-size:14px;
    font-weight:400;
}

.summary-row strong{
    color:#ededed;

    font-size:14px;
    font-weight:600;
}


/* =====================================================
   SHIPPING BOX
===================================================== */

.cart-shipping-box{
    margin-top:18px;

    padding:18px;

    border:1px solid rgba(255,255,255,.09);
    border-radius:11px;

    background:rgba(255,255,255,.018);
}

.cart-shipping-box > label{
    display:block;

    margin-bottom:11px;

    color:#d0d0d0;

    font-size:13px;
    font-weight:500;
}

#cartShippingZone{
    width:100%;
    height:49px;

    padding:0 13px;

    border:1px solid #303030;
    border-radius:8px;

    outline:none;

    background:#090909;

    color:#f0f0f0;

    font-family:"Poppins",sans-serif;
    font-size:13px;
    font-weight:400;

    cursor:pointer;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

#cartShippingZone:hover{
    border-color:rgba(224,184,79,.38);
}

#cartShippingZone:focus{
    border-color:rgba(224,184,79,.65);

    box-shadow:
        0 0 0 3px rgba(224,184,79,.05);
}

#cartShippingZone option{
    background:#111;

    color:#fff;

    font-size:13px;
}

.cart-shipping-status{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:16px;

    margin-top:14px;

    padding-top:13px;

    border-top:1px solid rgba(255,255,255,.07);
}

.cart-shipping-status span{
    color:#999;

    font-size:13px;
}

.cart-shipping-status strong{
    color:#E0B84F;

    font-size:13px;
    font-weight:600;

    text-align:right;
}


/* =====================================================
   PROMO CODE
===================================================== */

.promo-box{
    margin:25px 0 15px;

    padding-top:22px;

    border-top:1px solid rgba(224,184,79,.19);
}

.promo-box > label{
    display:block;

    margin-bottom:11px;

    color:#E0B84F;

    font-size:12px;
    font-weight:600;

    letter-spacing:1.8px;

    text-transform:uppercase;
}

.promo-input-row{
    display:flex;

    width:100%;
    height:49px;

    border:1px solid rgba(255,255,255,.12);
    border-radius:8px;

    overflow:hidden;

    background:#090909;

    transition:border-color .2s ease;
}

.promo-input-row:hover{
    border-color:rgba(224,184,79,.35);
}

.promo-input-row:focus-within{
    border-color:rgba(224,184,79,.65);
}

.promo-input-row input{
    flex:1;
    min-width:0;

    padding:0 14px;

    border:0 !important;
    outline:0 !important;

    background:transparent !important;

    color:#eee !important;

    font-family:"Poppins",sans-serif !important;
    font-size:13px !important;
    font-weight:400 !important;

    text-transform:uppercase;
}

.promo-input-row input::placeholder{
    color:#707070 !important;

    font-size:12px !important;

    text-transform:none;
}

#applyPromoBtn{
    min-width:92px;

    padding:0 17px;

    border:0 !important;

    border-left:1px solid rgba(224,184,79,.28) !important;

    background:rgba(224,184,79,.04) !important;

    color:#E0B84F !important;

    font-family:"Poppins",sans-serif !important;
    font-size:11px !important;
    font-weight:700 !important;

    letter-spacing:1.2px !important;

    text-transform:uppercase;

    cursor:pointer;

    transition:
        color .2s ease,
        background .2s ease;
}

#applyPromoBtn:hover{
    background:#E0B84F !important;

    color:#090909 !important;
}

#applyPromoBtn:disabled{
    opacity:.45;

    cursor:wait;
}

.promo-message{
    min-height:20px;

    margin-top:9px;

    color:#8d8d8d;

    font-size:11px;
    line-height:1.7;
}

.promo-message.success{
    color:#E0B84F;
}

.promo-message.error{
    color:#d17474;
}

.promo-discount-row{
    margin-top:3px;
}

.promo-discount-row span{
    font-size:13px;
}

.promo-discount-row strong{
    color:#E0B84F;

    font-size:14px;
}


/* =====================================================
   LOYALTY CARD
===================================================== */

.cart-loyalty-card{
    margin-top:25px;

    padding:23px;

    border:1px solid rgba(224,184,79,.25);
    border-radius:14px;

    background:
        linear-gradient(
            145deg,
            rgba(224,184,79,.065),
            rgba(255,255,255,.014)
        );
}


/* =====================================================
   LOYALTY HEADER
===================================================== */

.cart-loyalty-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    gap:16px;
}

.cart-loyalty-head span{
    display:block;

    margin-bottom:7px;

    color:#E0B84F;

    font-size:10px;
    font-weight:600;

    letter-spacing:2px;
}

.cart-loyalty-head h3{
    margin:0;

    color:#fff;

    font-family:"Cinzel",serif;
    font-size:22px;
    font-weight:500;

    line-height:1.3;
}

.cart-loyalty-head p{
    margin:8px 0 0;

    color:#9a9a9a;

    font-size:12px;
    line-height:1.7;
}

.cart-loyalty-icon{
    display:grid;
    place-items:center;

    flex:0 0 43px;

    width:43px;
    height:43px;

    border:1px solid rgba(224,184,79,.42);
    border-radius:50%;

    color:#E0B84F;

    font-size:15px;
}


/* =====================================================
   LOYALTY BALANCE
===================================================== */

.cart-loyalty-balance{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:14px;

    margin-top:20px;

    padding:17px 0;

    border-top:1px solid rgba(255,255,255,.07);
    border-bottom:1px solid rgba(255,255,255,.07);
}

.cart-loyalty-balance span{
    display:block;

    margin-bottom:5px;

    color:#9b9b9b;

    font-size:10px;
    font-weight:500;

    letter-spacing:1.4px;
}

.cart-loyalty-balance strong{
    display:block;

    color:#fff;

    font-family:"Cinzel",serif;
    font-size:25px;
    font-weight:500;

    line-height:1.2;
}

.cart-loyalty-balance small{
    color:#E0B84F;

    font-size:11px;
    font-weight:500;

    white-space:nowrap;
}


/* =====================================================
   REDEEM
===================================================== */

.cart-loyalty-redeem{
    margin-top:19px;
}

.cart-loyalty-redeem > label{
    display:block;

    margin-bottom:10px;

    color:#d0d0d0;

    font-size:13px;
    font-weight:500;
}

#loyaltyRedeemSelect{
    width:100%;
    height:47px;

    padding:0 12px;

    border:1px solid #303030;
    border-radius:8px;

    outline:none;

    background:#090909;

    color:#eee;

    font-family:"Poppins",sans-serif;
    font-size:12px;

    cursor:pointer;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

#loyaltyRedeemSelect:hover{
    border-color:rgba(224,184,79,.35);
}

#loyaltyRedeemSelect:focus{
    border-color:rgba(224,184,79,.62);

    box-shadow:
        0 0 0 3px rgba(224,184,79,.05);
}

#loyaltyRedeemSelect option{
    background:#111;

    color:#fff;

    font-size:12px;
}

.cart-minimum-redemption{
    margin:12px 0 0;

    color:#a0a0a0;

    font-size:12px;
    line-height:1.7;
}

.cart-minimum-redemption strong{
    color:#E0B84F;

    font-size:12px;
    font-weight:600;
}

.cart-loyalty-message{
    margin-top:8px;

    color:#999;

    font-size:12px;
    line-height:1.7;
}


/* =====================================================
   LOYALTY STATS
===================================================== */

.cart-loyalty-stat{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:15px;

    margin-top:11px;

    padding-top:12px;

    border-top:1px solid rgba(255,255,255,.065);
}

.cart-loyalty-stat span{
    color:#a0a0a0;

    font-size:13px;
}

.cart-loyalty-stat strong{
    color:#E0B84F;

    font-size:14px;
    font-weight:600;
}

.cart-loyalty-discount-row{
    margin-top:8px;
}

.cart-loyalty-discount-row span{
    font-size:13px;
}

.cart-loyalty-discount-row strong{
    color:#E0B84F;

    font-size:14px;
}


/* =====================================================
   SUMMARY DIVIDER
===================================================== */

.cart-summary-divider{
    height:1px;

    margin:21px 0 10px;

    background:rgba(255,255,255,.08);
}


/* =====================================================
   TOTAL
===================================================== */

.summary-row.total{
    padding:16px 0 4px;
}

.summary-row.total span{
    color:#eee;

    font-family:"Cinzel",serif;
    font-size:18px;
    font-weight:500;
}

.summary-row.total strong{
    color:#E0B84F;

    font-family:"Cinzel",serif;
    font-size:31px;
    font-weight:500;
}

.cart-total-note{
    margin:11px 0 0;

    color:#8f8f8f;

    font-size:11px;
    line-height:1.7;
}


/* =====================================================
   CHECKOUT BUTTON
===================================================== */

#checkoutBtn{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:11px;

    width:100%;
    height:57px;

    margin-top:24px;

    border:1px solid #E0B84F;
    border-radius:10px;

    background:
        linear-gradient(
            135deg,
            #E0B84F,
            #93681E
        );

    color:#090909;

    font-family:"Poppins",sans-serif;
    font-size:13px;
    font-weight:700;

    letter-spacing:.8px;

    cursor:pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        filter .2s ease;
}

#checkoutBtn:hover:not(:disabled){
    transform:translateY(-2px);

    box-shadow:
        0 12px 30px rgba(224,184,79,.18);

    filter:brightness(1.04);
}

#checkoutBtn:disabled{
    opacity:.42;

    cursor:not-allowed;

    transform:none;
}


/* =====================================================
   CONTINUE SHOPPING
===================================================== */

.continue-shopping{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:7px;

    margin-top:16px;

    color:#9b9b9b;

    font-size:12px;
    font-weight:500;

    text-decoration:none;

    transition:color .2s ease;
}

.continue-shopping:hover{
    color:#E0B84F;
}


/* =====================================================
   EMPTY CART
===================================================== */

.empty-cart{
    width:100%;

    padding:80px 25px;

    border:1px dashed rgba(224,184,79,.28);
    border-radius:20px;

    background:rgba(255,255,255,.015);

    text-align:center;
}

.empty-cart i{
    margin-bottom:21px;

    color:#E0B84F;

    font-size:48px;
}

.empty-cart h2{
    margin:0 0 10px;

    color:#fff;

    font-family:"Cinzel",serif;
    font-size:27px;
    font-weight:500;
}

.empty-cart p{
    margin:0 0 23px;

    color:#888;

    font-size:13px;
}

.empty-cart a{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:44px;

    padding:0 18px;

    border:1px solid #E0B84F;
    border-radius:8px;

    background:#E0B84F;

    color:#080808;

    font-size:11px;
    font-weight:700;

    text-decoration:none;
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1050px){

    .cart-layout{
        grid-template-columns:1fr;
    }

    .cart-summary{
        position:relative;

        top:auto;

        max-width:700px;

        margin:0 auto;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:700px){

    .cart-page{
        padding:
            108px
            15px
            55px;
    }


    .cart-header{
        margin-bottom:30px;
    }


    .cart-eyebrow{
        font-size:10px;

        letter-spacing:2.2px;
    }


    .cart-header h1{
        font-size:33px;
    }


    .cart-header p{
        font-size:13px;
    }


    .cart-item{
        grid-template-columns:
            100px
            minmax(0,1fr);

        gap:16px;

        padding:15px;
    }


    .cart-item-image-link{
        width:100px;
        height:125px;
    }


    .cart-info h3{
        font-size:18px;
    }


    .cart-item-side{
        grid-column:1 / -1;

        flex-direction:row;

        align-items:center;

        padding-top:12px;

        border-top:1px solid rgba(255,255,255,.06);
    }


    .cart-line-total{
        font-size:16px;
    }


    .cart-summary{
        padding:25px 21px;
    }


    .cart-summary-heading > span{
        font-size:10px;
    }


    .cart-summary-heading h2{
        font-size:26px;
    }


    .cart-summary-heading p{
        font-size:12px;
    }


    .summary-row,
    .summary-row span,
    .summary-row strong{
        font-size:13px;
    }


    .cart-shipping-box > label{
        font-size:12px;
    }


    #cartShippingZone{
        font-size:12px;
    }


    .cart-shipping-status span,
    .cart-shipping-status strong{
        font-size:12px;
    }


    .promo-box > label{
        font-size:11px;
    }


    .cart-loyalty-card{
        padding:19px;
    }


    .cart-loyalty-head h3{
        font-size:20px;
    }


    .cart-loyalty-head p{
        font-size:11px;
    }


    .cart-loyalty-balance strong{
        font-size:22px;
    }


    .cart-loyalty-redeem > label{
        font-size:12px;
    }


    .cart-minimum-redemption,
    .cart-loyalty-message{
        font-size:11px;
    }


    .cart-loyalty-stat span{
        font-size:12px;
    }


    .cart-loyalty-stat strong{
        font-size:13px;
    }


    .summary-row.total span{
        font-size:17px;
    }


    .summary-row.total strong{
        font-size:27px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media(max-width:430px){

    .cart-page{
        padding-left:10px;
        padding-right:10px;
    }


    .cart-item{
        grid-template-columns:
            84px
            minmax(0,1fr);

        gap:13px;

        border-radius:14px;
    }


    .cart-item-image-link{
        width:84px;
        height:108px;
    }


    .cart-info h3{
        font-size:16px;
    }


    .cart-size,
    .cart-unit-price{
        font-size:11px;
    }


    .qty-btn{
        width:30px;
        height:30px;
    }


    .cart-summary{
        padding:21px 16px;

        border-radius:16px;
    }


    .cart-summary-heading h2{
        font-size:24px;
    }


    .cart-loyalty-card{
        padding:17px;
    }


    .cart-loyalty-head h3{
        font-size:19px;
    }


    .cart-loyalty-balance{
        align-items:flex-start;

        flex-direction:column;
    }


    .cart-loyalty-balance strong{
        font-size:21px;
    }


    .cart-loyalty-balance small{
        font-size:10px;
    }


    .summary-row.total strong{
        font-size:25px;
    }


    #checkoutBtn{
        height:54px;

        font-size:12px;
    }

}


/* =====================================================
   END OF cart.css
===================================================== */
/* GUEST CHECKOUT */
.guest-cart-notice{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:13px 14px;border:1px solid rgba(224,184,79,.18);border-radius:11px;background:rgba(224,184,79,.04);color:#d8d2c8}.guest-cart-notice>i{color:#E0B84F}.guest-cart-notice>div{display:flex;flex:1;flex-direction:column;gap:2px}.guest-cart-notice strong{font-size:12px}.guest-cart-notice span{color:#858585;font-size:10px;line-height:1.5}.guest-cart-notice a{color:#E0B84F;font-size:10px;font-weight:600;white-space:nowrap}
