/* ========================================
GLOBAL CART STYLES
======================================== */

/* PREMIUM CONTINUE BUTTON */

.wc-block-cart__submit-button{

    max-width:420px;

    margin:auto !important;

    display:block;

    background:linear-gradient(
    135deg,
    #980000,
    #c40000
    ) !important;

    box-shadow:
    0 10px 24px rgba(152,0,0,0.22);

    transition:0.25s ease !important;
}

/* CART TOTALS SPACING */

.wc-block-cart__totals-title,
.wc-block-components-totals-item{

    margin-top:8px !important;
}

/* HIDE PRODUCT + TOTAL HEADINGS */

.wc-block-cart-items__header-image,
.wc-block-cart-items__header-product,
.wc-block-cart-items__header-total{
    
    display:none !important;

}

/* PREMIUM DISABLED BUTTON */

.wc-block-cart__submit-button.disabled{

    background:linear-gradient(
    135deg,
    rgba(152,0,0,0.55),
    rgba(196,0,0,0.55)
    ) !important;

    color:rgba(255,255,255,0.82) !important;

    opacity:1 !important;

    pointer-events:none !important;

    cursor:not-allowed !important;

    box-shadow:none !important;

    filter:saturate(70%);
}

/* PREMIUM ACTIVE SLOT */

.slot-date.active,
.slot-time.active{

    box-shadow:
    0 6px 16px rgba(152,0,0,0.25);
}


/* PREMIUM HOVER EFFECT */

.wc-block-cart-items__row{

    transition:0.25s ease;
}

@media(hover:hover){

.wc-block-cart-items__row:hover{

    transform:translateY(-2px);

    box-shadow:
    0 8px 24px rgba(176,63,107,0.08);
    }
}

.wc-block-cart__submit-button:hover{

    transform:translateY(-1px);

    box-shadow:
    0 14px 28px rgba(152,0,0,0.26);
}

/* PREMIUM QUANTITY BOX */

.wc-block-components-quantity-selector{

    background:#fff;

    border:1px solid #f3dede !important;

    box-shadow:
    0 4px 10px rgba(152,0,0,0.04);
}

/* SLOT BUTTON */

.slot-btn{

    background:linear-gradient(
    135deg,
    #980000,
    #c40000
    );

    box-shadow:
    0 6px 16px rgba(0,0,0,0.12);
    color:white;
    border:none;
    border-radius:30px;
    padding:10px 18px;
    cursor:pointer;
    font-size:14px;
    font-weight:600;
    transition:0.2s;
}

.slot-btn:hover{
    opacity:0.9;
}

/* SELECTED SLOT */

.slot-summary{
    margin-bottom:10px;
    font-size:14px;
    font-weight:600;
    color:black;
    background:#f4f4f4;
    padding:10px 14px;
    border-radius:14px;
    display:inline-block;
}

/* POPUP BACKGROUND */

#slotPopup{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.5);
    z-index:99999;
    display:none;
    backdrop-filter:blur(2px);
}

/* POPUP BOX */

.slot-box{
    position:absolute;
    left:50%;
    bottom:20px;
    transform:translateX(-50%);
    width:90%;
    max-width:420px;
    background:white;
    border-radius:24px;
    padding:20px;
    border:1px solid rgba(152,0,0,0.06);
    box-shadow:0 24px 60px rgba(0,0,0,0.18);
    
}

/* POPUP TITLE */

.slot-header{
    font-size:22px;
    font-weight:700;
    margin-bottom:20px;
    color:black;
}

/* DATE + TIME WRAPPER */

#slotDates,
#slotTimes{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:20px;
}

/* DATE + TIME BUTTONS */

.slot-date,
.slot-time{
    border:1px solid #ddd;
    background:white;
    color:black;
    padding:10px 14px;
    border-radius:14px;
    cursor:pointer;
    font-size:14px;
    min-width:80px;
    text-align:center;
    transition:0.2s;
}

/* ACTIVE STATE */

.slot-date.active,
.slot-time.active{
    background:#980000;
    color:white;
    border-color:#980000;
}

/* SAVE BUTTON */

#saveSlotBtn{
    width:100%;
    background:#980000;
    color:white;
    border:none;
    border-radius:30px;
    padding:14px;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:0.2s;
}

#saveSlotBtn:hover{
    opacity:0.9;
}

/* SLOT TEXT */

.wc-item-meta{
    margin-top:8px;
    font-size:13px;
    opacity:0.85;
}

@media(max-width:768px){

.wp-block-woocommerce-cart{

        margin-top:-10px !important;

        background:#fff;

        border-radius:24px !important;

        overflow:hidden;

        padding-top:0 !important;
    }


/* =========================
MOBILE CART CARD ONLY
========================= */

.wc-block-cart-items__row{

        background:#fff;

        border-radius:24px;

        padding:18px !important;

        margin-bottom:14px;

        border:1px solid #f1dbe3;

        box-shadow:
        0 8px 24px rgba(176,63,107,0.08);
    }

/* IMAGE */

.wc-block-cart-item__image img{

        width:58px !important;
        height:58px !important;

        object-fit:cover;

        border-radius:14px;
    }

/* PRODUCT NAME */

.wc-block-components-product-name{

        font-size:16px !important;

        font-weight:700 !important;

        line-height:1.3;

        margin-bottom:4px;
    }

/* PRICE */

.wc-block-components-product-price{

        font-size:16px !important;

        font-weight:700 !important;

        margin-top:2px;
        margin-bottom:-10px;
    }

/* SLOT BUTTON */

.slot-btn{

        margin-top:2px;

        padding:8px 14px;

        font-size:12px;

        letter-spacing:1px;
    }

/* SLOT SUMMARY */

.slot-summary{

        margin-bottom:4px;

        padding:10px 14px;

        font-size:13px;

        background:#fff5f5;

        color:#980000;

        font-weight:700;

        border:1px solid rgba(152,0,0,0.08);

        border-radius:14px;
    }

/* QUANTITY */

body.woocommerce-cart
.wc-block-components-quantity-selector{

        margin-top:6px;

        border-radius:10px !important;

        transform:scale(0.92);

        transform-origin:left center;
    }

/* REMOVE HUGE EMPTY SPACE */

.wc-block-cart{

        padding:16px !important;
    }

/* CART ITEMS GAP */

.wc-block-cart-items{

        row-gap:12px !important;
    }


/* HIDE TOP PRICE ON MOBILE */

.wc-block-cart-item__total-price-and-sale-badge-wrapper{

        display:none !important;
    }
  
/* MOBILE SLOT POPUP */

.slot-box{
        width:94%;
        bottom:10px;
        padding:18px;
    }

.slot-date,
.slot-time{
        flex:1 1 calc(50% - 10px);
        min-width:auto;
    }

}

/* =========================
DESKTOP CART LAYOUT
========================= */

@media(min-width:769px){
    
    /* HIDE TOP PRICE */
    .wc-block-cart-item__total{

        display:none !important;
    }

/* DESKTOP MAIN CART CONTAINER */

.wp-block-woocommerce-cart{

        max-width:1280px !important;

        margin-top:0px !important;   /* Use to move up Cart*/

        margin-left:auto !important;
        margin-right:auto !important;

        padding-left:10px !important;
        padding-right:10px !important;
    }

.wc-block-cart{

    padding:10px 20px 30px !important;
}

/* DESKTOP PRODUCT CARDS */

body.woocommerce-cart
.wc-block-cart-items__row{

        background:#fff;

        border-radius:24px;

        padding:20px !important;

        margin-bottom:20px;

        border:1px solid #f1dbe3;

        box-shadow:
        0 8px 24px rgba(176,63,107,0.08);
    }

/* IMAGE */

    .wc-block-cart-item__image img{

        width:90px !important;
        height:90px !important;

        border-radius:18px;

        object-fit:cover;
    }

/* TITLE */

.wc-block-components-product-name{

        font-size:22px !important;

        line-height:1.3 !important;

        font-weight:700 !important;
    }

/* SIDEBAR TOTALS CARD */

body.woocommerce-cart .wc-block-cart__sidebar{

        background:#fff;

        border-radius:24px;

        padding:4px !important;
        
        border:1px solid #f3f3f3;

        box-shadow:
        0 6px 20px rgba(0,0,0,0.04);
    }
    
/* DESKTOP TOTALS HEADING */

.wc-block-cart__totals-title{

        font-size:16px !important;

        font-weight:900 !important;

        letter-spacing:0.5px !important;

        color:#111 !important;
    }

/* DESKTOP TOTALS TEXT + PRICE */

   .wc-block-components-totals-item__label,
   .wc-block-components-totals-item__value{

    font-size:20px !important;

    font-weight:900 !important;

    line-height:1.2 !important;

    color:#111 !important;
}

/* DESKTOP PRODUCT PRICE */

.wc-block-components-product-price{

        font-weight:900 !important;

        font-size:20px !important;

        margin-top:0px !important;

        margin-bottom:5px !important;
        letter-spacing:-0.5px !important;
    }

/* DESKTOP SLOT AREA */

        .slot-area{

        margin-top:5px !important;

        margin-bottom:5px !important;
    }

/* DESKTOP SLOT BUTTON */

        .slot-btn{

        margin-top:0 !important;
        padding:8px 16px !important;
        font-size:13px;
        letter-spacing:1px;

    }
}