/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 28 2026 | 09:59:37 */
/**
 * WooCommerce Cart Page Stylesheet
 * Astra Child Theme
 * Approved Brand Color System:
 * - Purple:          #98339A (Primary buttons, brand badges, prices)
 * - Green:           #349635 (Button hover, checked states, active indicators)
 * - Dark Navy Blue:  #181451 (Headings, primary text, selected navigation)
 * - Light Purple:    #945C94 (Subtle accents, borders, icons, secondary elements)
 * - White:           #FFFFFF (Button text, clean content backgrounds)
 */

/* ==========================================================================
   1. GLOBAL CART PAGE STYLING (All Screen Sizes)
   ========================================================================== */

body.woocommerce-cart {
    background-color: #FFFFFF !important;
    color: #181451 !important;
}

body.woocommerce-cart .woocommerce {
    color: #181451;
}

/* Coupon & Actions Global Colors */
.woocommerce-cart .coupon {
    display: flex;
    align-items: center;
    gap: 8px;
}

.woocommerce-cart .coupon input.input-text#coupon_code {
    border: 1.5px solid #dcd3e3 !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: #181451 !important;
    background: #FFFFFF !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce-cart .coupon input.input-text#coupon_code:focus {
    border-color: #98339A !important;
    box-shadow: 0 0 0 3px rgba(152, 51, 154, 0.12) !important;
}

/* Override light-blue / unbranded coupon button with Brand Purple -> Green */
.woocommerce-cart .coupon button.button[name="apply_coupon"],
.woocommerce-cart td.actions .coupon button.button,
.woocommerce-cart button[name="apply_coupon"] {
    background-color: #98339A !important;
    border: 1px solid #98339A !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    border-radius: 8px !important;
    padding: 11px 20px !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 2px 6px rgba(152, 51, 154, 0.15) !important;
}

.woocommerce-cart .coupon button.button[name="apply_coupon"]:hover,
.woocommerce-cart td.actions .coupon button.button:hover,
.woocommerce-cart button[name="apply_coupon"]:hover {
    background-color: #349635 !important;
    border-color: #349635 !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 12px rgba(52, 150, 53, 0.25) !important;
}

/* Update Cart Button */
.woocommerce-cart button[name="update_cart"] {
    background: #faf8fc !important;
    color: #181451 !important;
    border: 1.5px solid #e2d9e8 !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    padding: 11px 20px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.woocommerce-cart button[name="update_cart"]:hover:not(:disabled) {
    background: #ebdfee !important;
    color: #98339A !important;
    border-color: #98339A !important;
}

.woocommerce-cart button[name="update_cart"]:disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
}

/* Proceed to Checkout Button */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    background-color: #98339A !important;
    border: 1px solid #98339A !important;
    color: #FFFFFF !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    border-radius: 8px !important;
    padding: 14px 24px !important;
    box-shadow: 0 4px 12px rgba(152, 51, 154, 0.25) !important;
    transition: all 0.25s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background-color: #349635 !important;
    border-color: #349635 !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(52, 150, 53, 0.3) !important;
}

/* Price highlighting */
.woocommerce-cart .woocommerce-Price-amount {
    color: #98339A;
    font-weight: 600;
}


/* ==========================================================================
   2. MOBILE CART VIEW (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) {

    /* Page container spacing */
    .woocommerce-cart .site-content {
        padding-top: 15px !important;
        padding-bottom: 35px !important;
    }

    .woocommerce-cart .woocommerce {
        padding: 0 12px !important;
        box-sizing: border-box !important;
    }

    /* Hide table header on mobile */
    .woocommerce-cart table.shop_table.cart thead,
    .woocommerce-cart table.shop_table_responsive thead {
        display: none !important;
    }

    /* Cart Table Container */
    .woocommerce-cart table.shop_table.cart,
    .woocommerce-cart table.shop_table_responsive.cart {
        display: block !important;
        border: none !important;
        margin: 0 0 16px 0 !important;
        background: transparent !important;
    }

    .woocommerce-cart table.shop_table.cart tbody,
    .woocommerce-cart table.shop_table_responsive.cart tbody {
        display: block !important;
        border: none !important;
    }

    /* ======================================================================
       PRODUCT ITEM CARD: Sleek, compact modern card
       Replaces the awkward 2-row layout and disjointed "X Remove" line
       ====================================================================== */

    .woocommerce-cart table.cart .cart_item,
    .woocommerce-cart table.shop_table_responsive tr.cart_item {
        display: grid !important;
        grid-template-columns: 74px 1fr auto !important;
        grid-template-rows: auto auto !important;
        grid-template-areas:
            "thumb name  name"
            "thumb price qty" !important;
        gap: 6px 12px !important;
        align-items: center !important;
        position: relative !important;
        background: #FFFFFF !important;
        border: 1px solid #ebdfee !important;
        border-radius: 12px !important;
        padding: 12px !important;
        margin-bottom: 12px !important;
        box-shadow: 0 2px 8px rgba(24, 20, 81, 0.04) !important;
        box-sizing: border-box !important;
    }

    /* Reset all internal default borders and data-title labels */
    .woocommerce-cart table.cart .cart_item td,
    .woocommerce-cart table.shop_table_responsive tr.cart_item td {
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart table.shop_table_responsive tr.cart_item td::before {
        display: none !important;
    }

    /* --- Cell 1: Thumbnail (Left column spanning both rows) --- */
    .woocommerce-cart table.cart .cart_item td.product-thumbnail,
    .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail {
        grid-area: thumb !important;
        width: 74px !important;
        height: 74px !important;
        border: 1px solid #ebdfee !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: #faf8fc !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-thumbnail a {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-thumbnail img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
        margin: 0 !important;
    }

    /* --- Cell 2: Product Name (Top right, leaving room for remove button) --- */
    .woocommerce-cart table.cart .cart_item td.product-name,
    .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name {
        grid-area: name !important;
        text-align: left !important;
        padding-right: 74px !important;
        /* Prevents text from colliding with top-right Remove button */
        align-self: end !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-name a {
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        color: #181451 !important;
        text-decoration: none !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        transition: color 0.2s ease !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-name a:hover {
        color: #98339A !important;
    }

    /* Product Variations (if any) */
    .woocommerce-cart table.cart .cart_item td.product-name dl.variation {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 3px 8px !important;
        margin: 3px 0 0 0 !important;
        font-size: 11px !important;
        color: #945C94 !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-name dl.variation dt {
        font-weight: 600 !important;
        margin: 0 !important;
        float: none !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-name dl.variation dd {
        margin: 0 !important;
        float: none !important;
    }

    /* --- Cell 3: Product Price (Bottom left of text area) --- */
    .woocommerce-cart table.cart .cart_item td.product-price,
    .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price {
        grid-area: price !important;
        text-align: left !important;
        align-self: center !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #98339A !important;
        white-space: nowrap !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-price .woocommerce-Price-amount {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #98339A !important;
    }

    /* --- Cell 4: Product Quantity (Bottom right) --- */
    .woocommerce-cart table.cart .cart_item td.product-quantity,
    .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity {
        grid-area: qty !important;
        text-align: right !important;
        justify-self: end !important;
        align-self: center !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-quantity .quantity {
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-quantity .quantity input.qty {
        width: 48px !important;
        height: 34px !important;
        padding: 0 4px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #181451 !important;
        text-align: center !important;
        border: 1.5px solid #dcd3e3 !important;
        border-radius: 6px !important;
        background: #faf8fc !important;
        outline: none !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-quantity .quantity input.qty:focus {
        border-color: #98339A !important;
        background: #FFFFFF !important;
    }

    /* Quantity plus/minus buttons if supported */
    .woocommerce-cart table.cart .cart_item td.product-quantity .quantity .minus,
    .woocommerce-cart table.cart .cart_item td.product-quantity .quantity .plus,
    .woocommerce-cart table.cart .cart_item td.product-quantity .quantity .ast-qty-btn {
        width: 30px !important;
        height: 34px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #f4eef7 !important;
        border: 1.5px solid #dcd3e3 !important;
        color: #181451 !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
        border-radius: 6px !important;
    }

    /* --- Cell 5: Subtotal (Hidden on mobile to eliminate clutter) --- */
    .woocommerce-cart table.cart .cart_item td.product-subtotal,
    .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal {
        display: none !important;
    }

    /* ======================================================================
       Cell 6: Product Remove Button
       CRITICAL FIX: Positioned neatly in top-right of the card!
       Eliminates the separate full-width row and awkward divider lines.
       ====================================================================== */

    .woocommerce-cart table.cart .cart_item td.product-remove,
    .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove,
    .woocommerce-page table.cart .cart_item td.product-remove,
    .woocommerce-page table.cart td.product-remove,
    .woocommerce table.cart td.product-remove,
    .ast-woocommerce-container .woocommerce table.cart td.product-remove {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        border-top: none !important;
        border-bottom: none !important;
        background: transparent !important;
        text-align: right !important;
        z-index: 5 !important;
    }

    .woocommerce-cart td.product-remove::before,
    .woocommerce-page td.product-remove::before,
    .woocommerce-cart table.cart .cart_item::before,
    .woocommerce-cart table.cart .cart_item::after {
        display: none !important;
        content: "" !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-remove a.remove,
    .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove a.remove,
    .woocommerce-page table.cart .cart_item td.product-remove a.remove,
    .woocommerce-page table.cart td.product-remove a.remove,
    .woocommerce table.cart td.product-remove a.remove,
    .ast-woocommerce-container .woocommerce table.cart td.product-remove a.remove {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        padding: 4px 8px !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        color: #716b80 !important;
        background: #faf8fc !important;
        border: 1px solid #ebdfee !important;
        border-radius: 6px !important;
        text-decoration: none !important;
        cursor: pointer !important;
        box-shadow: none !important;
        height: auto !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        transition: all 0.2s ease !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-remove a.remove:hover,
    .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove a.remove:hover,
    .ast-woocommerce-container .woocommerce table.cart td.product-remove a.remove:hover {
        background: #fef2f2 !important;
        border-color: #fca5a5 !important;
        color: #dc2626 !important;
    }

    /* ======================================================================
       3. ACTIONS & COUPON ROW (MOBILE)
       ====================================================================== */

    .woocommerce-cart table.cart td.actions,
    .woocommerce-cart table.shop_table_responsive tr td.actions {
        display: block !important;
        padding: 14px 0 !important;
        border: none !important;
        background: transparent !important;
        text-align: left !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        margin-bottom: 12px !important;
    }

    .woocommerce-cart table.cart td.actions .coupon label {
        display: none !important;
    }

    .woocommerce-cart table.cart td.actions .coupon input#coupon_code {
        flex: 1 1 auto !important;
        width: 100% !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 10px 14px !important;
        font-size: 14px !important;
        border: 1.5px solid #dcd3e3 !important;
        border-radius: 8px !important;
        background: #FFFFFF !important;
        color: #181451 !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"] {
        flex: 0 0 auto !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 0 16px !important;
        white-space: nowrap !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        background: #98339A !important;
        border: 1px solid #98339A !important;
        color: #FFFFFF !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        transition: all 0.25s ease !important;
    }

    .woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"]:hover {
        background: #349635 !important;
        border-color: #349635 !important;
        color: #FFFFFF !important;
    }

    /* Update Cart button: Clean full-width secondary button */
    .woocommerce-cart table.cart td.actions button[name="update_cart"],
    .woocommerce-cart button[name="update_cart"] {
        display: block !important;
        width: 100% !important;
        height: 42px !important;
        padding: 0 16px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.03em !important;
        background: #faf8fc !important;
        color: #181451 !important;
        border: 1.5px solid #e2d9e8 !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
        transition: all 0.2s ease !important;
    }

    .woocommerce-cart table.cart td.actions button[name="update_cart"]:hover:not(:disabled) {
        background: #ebdfee !important;
        color: #98339A !important;
        border-color: #98339A !important;
    }


    /* ======================================================================
       4. CART TOTALS (MOBILE)
       ====================================================================== */

    .woocommerce-cart .cart-collaterals {
        margin-top: 16px !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals {
        background: #FFFFFF !important;
        border: 1px solid #ebdfee !important;
        border-radius: 14px !important;
        padding: 16px !important;
        box-shadow: 0 4px 14px rgba(24, 20, 81, 0.04) !important;
        box-sizing: border-box !important;
        float: none !important;
        width: 100% !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals h2 {
        font-size: 1.25rem !important;
        font-weight: 700 !important;
        color: #181451 !important;
        margin: 0 0 14px 0 !important;
        padding-bottom: 10px !important;
        border-bottom: 1.5px solid #f0eaf3 !important;
        text-align: left !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
        display: block !important;
        width: 100% !important;
        border: none !important;
        margin: 0 0 16px 0 !important;
        background: transparent !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tbody {
        display: block !important;
        border: none !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 10px 0 !important;
        border: none !important;
        border-bottom: 1px solid #f4f0f7 !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table th {
        border: none !important;
        padding: 0 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #181451 !important;
        text-align: left !important;
        width: auto !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
        border: none !important;
        padding: 0 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #181451 !important;
        text-align: right !important;
        width: auto !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table td::before {
        display: none !important;
    }

    /* Shipping Row (Handling address form cleanly) */
    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.shipping {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.shipping th {
        text-align: left !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.shipping td {
        text-align: left !important;
    }

    /* Order Total Highlight */
    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total {
        border-top: 2px solid #ebdfee !important;
        border-bottom: none !important;
        padding-top: 14px !important;
        margin-top: 6px !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total th {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #181451 !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total td strong {
        font-size: 18px !important;
        font-weight: 800 !important;
        color: #98339A !important;
    }

    /* Proceed to Checkout Button on Mobile */
    .woocommerce-cart .wc-proceed-to-checkout {
        padding: 0 !important;
        margin-top: 8px !important;
    }

    .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
        display: block !important;
        width: 100% !important;
        padding: 14px 20px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-align: center !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        background: #98339A !important;
        border: 1px solid #98339A !important;
        color: #FFFFFF !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 12px rgba(152, 51, 154, 0.25) !important;
        box-sizing: border-box !important;
        transition: all 0.25s ease !important;
    }

    .woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
        background: #349635 !important;
        border-color: #349635 !important;
        color: #FFFFFF !important;
    }
}

/* ==========================================================================
   5. EXTRA SMALL SCREENS (max-width: 380px)
   ========================================================================== */

@media (max-width: 380px) {

    .woocommerce-cart table.cart .cart_item,
    .woocommerce-cart table.shop_table_responsive tr.cart_item {
        grid-template-columns: 64px 1fr auto !important;
        padding: 10px !important;
        gap: 6px 10px !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-thumbnail,
    .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail {
        width: 64px !important;
        height: 64px !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-name a {
        font-size: 13px !important;
    }

    .woocommerce-cart table.cart .cart_item td.product-quantity .quantity input.qty {
        width: 42px !important;
        height: 32px !important;
    }

    .woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"] {
        padding: 0 12px !important;
        font-size: 11px !important;
    }
}