/* =========================================================
   CULTURESTOCK CART
   WooCommerce native cart styling
   Lightweight / CSS only
   ========================================================= */


/* =========================================================
   BASE
   ========================================================= */

.woocommerce-cart .woocommerce {
    width: 100%;
    max-width: 1080px;

    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   CART FORM
   ========================================================= */

.woocommerce-cart-form {
    width: 100%;
    margin: 0;
}


/* =========================================================
   CART TABLE
   ========================================================= */

.woocommerce-cart-form table.shop_table {
    width: 100%;

    margin: 0;

    border: 0;
    border-collapse: separate;
    border-spacing: 0;

    background: transparent;
}


/* Table header */

.woocommerce-cart-form table.shop_table thead th {
    padding: 14px 16px;

    border: 0;

    background: transparent;

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

    color: #111;
}


/* Product row */

.woocommerce-cart-form
table.shop_table
.cart_item td {
    padding: 16px;

    border: 0;

    background: #f5f5f5;

    vertical-align: middle;

    font-size: 15px;

    color: #333;
}


/* Rounded row */

.woocommerce-cart-form
table.shop_table
.cart_item td:first-child {
    border-radius: 14px 0 0 14px;
}


.woocommerce-cart-form
table.shop_table
.cart_item td:last-child {
    border-radius: 0 14px 14px 0;
}


/* =========================================================
   PRODUCT REMOVE
   ========================================================= */

.woocommerce-cart-form .product-remove {
    width: 44px;

    text-align: center;
}


.woocommerce-cart-form
.product-remove
a.remove {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    margin: 0 auto;

    border-radius: 50%;

    font-size: 20px;
    font-weight: 700;
    line-height: 1;

    color: #b40000 !important;

    text-decoration: none;
}


.woocommerce-cart-form
.product-remove
a.remove:hover {
    background: rgba(180, 0, 0, 0.08);

    color: #8d0000 !important;
}


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

.woocommerce-cart-form .product-thumbnail {
    width: 70px;
}


.woocommerce-cart-form
.product-thumbnail
img {
    display: block;

    width: 52px;
    height: 52px;

    object-fit: contain;

    border-radius: 10px;

    background: #fff;
}


/* =========================================================
   PRODUCT NAME
   ========================================================= */

.woocommerce-cart-form .product-name {
    min-width: 240px;
}


.woocommerce-cart-form
.product-name
a {
    color: #253047;

    text-decoration: none;

    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}


.woocommerce-cart-form
.product-name
a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* =========================================================
   PRICE / SUBTOTAL
   ========================================================= */

.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal {
    white-space: nowrap;
}


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

.woocommerce-cart-form .quantity {
    display: inline-flex;

    align-items: center;

    margin: 0;
}


.woocommerce-cart-form
.quantity
.qty {
    width: 64px;
    height: 46px;

    padding: 6px 8px;

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

    background: #fff;

    text-align: center;

    font-size: 16px;

    color: #111;
}


/* =========================================================
   ACTIONS ROW
   ========================================================= */

.woocommerce-cart-form
table.shop_table
td.actions {
    padding: 14px 0 0;

    border: 0;

    background: transparent;
}


/* =========================================================
   COUPON
   ========================================================= */

.woocommerce-cart-form .coupon {
    display: flex;

    align-items: center;

    gap: 10px;

    float: left;
}


.woocommerce-cart-form
.coupon
.input-text {
    width: 220px;
    height: 46px;

    padding: 0 14px;

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

    background: #fff;

    font-size: 15px;

    color: #333;
}


.woocommerce-cart-form
.coupon
.input-text:focus {
    outline: none;

    border-color: #087866;
}


/* Coupon button */

.woocommerce-cart-form
.coupon
button.button {
    min-height: 46px;

    padding: 0 22px;

    border: 0;
    border-radius: 10px;

    background: #43d1bd;

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

    color: #fff;

    cursor: pointer;
}


.woocommerce-cart-form
.coupon
button.button:hover {
    background: #35bca9;
}


/* =========================================================
   UPDATE CART BUTTON
   Untuk sementara tetap ada.
   Nanti disembunyikan setelah cart.js aktif.
   ========================================================= */

.woocommerce-cart-form
button[name="update_cart"] {
    min-height: 46px;

    padding: 0 22px;

    border: 0;
    border-radius: 10px;

    background: #a9e6dd;

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

    color: #fff;

    float: right;
}


/* =========================================================
   CART COLLATERALS
   ========================================================= */

.woocommerce-cart .cart-collaterals {
    width: 100%;

    margin-top: 44px;

    display: flex;
    justify-content: flex-end;
}


/* =========================================================
   CART TOTALS
   ========================================================= */

.woocommerce-cart .cart_totals {
    width: 48%;

    float: none;
}


.woocommerce-cart
.cart_totals
h2 {
    margin: 0 0 18px;

    font-size: 32px;
    line-height: 1.2;

    font-weight: 700;

    color: #111;
}


.woocommerce-cart
.cart_totals
table.shop_table {
    width: 100%;

    margin: 0 0 22px;

    border: 0;
    border-collapse: separate;
    border-spacing: 0;
}


.woocommerce-cart
.cart_totals
table.shop_table
th,
.woocommerce-cart
.cart_totals
table.shop_table
td {
    padding: 14px;

    border: 0;

    background: #f6f6f6;

    vertical-align: top;

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


.woocommerce-cart
.cart_totals
table.shop_table
th {
    width: 35%;

    font-weight: 700;

    color: #111;
}


.woocommerce-cart
.cart_totals
table.shop_table
td {
    color: #333;
}


/* Zebra sedikit supaya row terbaca */

.woocommerce-cart
.cart_totals
table.shop_table
tr:nth-child(even)
th,
.woocommerce-cart
.cart_totals
table.shop_table
tr:nth-child(even)
td {
    background: #fff;
}


/* =========================================================
   SHIPPING CALCULATOR AREA
   ========================================================= */

.woocommerce-cart
.cart_totals
.shipping-calculator-button {
    color: #ff7f73;

    text-decoration: underline;
    text-underline-offset: 3px;
}


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

.woocommerce-cart
.wc-proceed-to-checkout {
    padding: 0;
}


.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 54px;

    margin: 0;

    padding: 12px 20px;

    border: 0;
    border-radius: 12px;

    background: #ff8579;

    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;

    color: #fff;

    text-align: center;
    text-decoration: none;
}


.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button:hover {
    background: #f2766b;
}


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

@media (max-width: 992px) {

    .woocommerce-cart .woocommerce {
        width: calc(100% - 24px);
    }


    .woocommerce-cart-form
    table.shop_table
    thead th {
        padding: 12px 10px;

        font-size: 13px;
    }


    .woocommerce-cart-form
    table.shop_table
    .cart_item td {
        padding: 12px 10px;

        font-size: 13px;
    }


    .woocommerce-cart-form
    .product-thumbnail {
        width: 56px;
    }


    .woocommerce-cart-form
    .product-thumbnail
    img {
        width: 40px;
        height: 40px;
    }


    .woocommerce-cart-form
    .product-name
    a {
        font-size: 14px;
    }


    .woocommerce-cart-form
    .coupon
    .input-text {
        width: 176px;
    }


    .woocommerce-cart .cart_totals {
        width: 48%;
    }


    .woocommerce-cart
    .cart_totals
    h2 {
        font-size: 28px;
    }

}


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

@media (max-width: 600px) {

    .woocommerce-cart .woocommerce {
        width: calc(100% - 40px);
    }


    /* Hide desktop table header */

    .woocommerce-cart-form
    table.shop_table
    thead {
        display: none;
    }


    /* Product card */

    .woocommerce-cart-form
    table.shop_table
    tbody,
    .woocommerce-cart-form
    table.shop_table
    .cart_item {
        display: block;
        width: 100%;
    }


    .woocommerce-cart-form
    table.shop_table
    .cart_item {
        position: relative;

        margin-bottom: 0;

        padding: 20px;

        border-radius: 22px 22px 0 0;

        background: #f5f5f5;
    }


    .woocommerce-cart-form
    table.shop_table
    .cart_item td {
        display: flex;

        align-items: center;
        justify-content: space-between;

        width: 100%;

        min-height: 54px;

        padding: 10px 0;

        border: 0;
        border-radius: 0;

        background: transparent;

        font-size: 16px;
    }


    /* Remove */

    .woocommerce-cart-form
    table.shop_table
    .cart_item
    .product-remove {
        position: absolute;

        top: 12px;
        left: 12px;

        width: auto;
        min-height: 0;

        padding: 0;

        z-index: 2;
    }


    /* Thumbnail */

    .woocommerce-cart-form
    table.shop_table
    .cart_item
    .product-thumbnail {
        display: none;
    }


    /* Mobile labels */

    .woocommerce-cart-form
    table.shop_table
    .cart_item
    td::before {
        content: attr(data-title) ": ";

        flex: 0 0 auto;

        margin-right: 20px;

        font-weight: 700;

        color: #111;
    }


    .woocommerce-cart-form
    table.shop_table
    .cart_item
    .product-remove::before,
    .woocommerce-cart-form
    table.shop_table
    .cart_item
    .product-thumbnail::before {
        display: none;
    }


    /* Product name */

    .woocommerce-cart-form
    table.shop_table
    .cart_item
    .product-name {
        padding-top: 46px;
    }


    .woocommerce-cart-form
    table.shop_table
    .cart_item
    .product-name
    a {
        max-width: 68%;

        text-align: right;

        font-size: 17px;
        line-height: 1.45;
    }


    /* Price */

    .woocommerce-cart-form
    .product-price,
    .woocommerce-cart-form
    .product-subtotal {
        text-align: right;
    }


    /* Quantity */

    .woocommerce-cart-form
    .quantity
    .qty {
        width: 64px;
        height: 46px;

        font-size: 16px;
    }


    /* Actions card */

    .woocommerce-cart-form
    table.shop_table
    td.actions {
        display: block;

        padding: 18px 20px;

        border-radius: 0 0 22px 22px;

        background: #fafafa;
    }


    /* Coupon */

    .woocommerce-cart-form .coupon {
        display: grid;

        grid-template-columns: 1fr;
        gap: 10px;

        width: 100%;

        float: none;
    }


    .woocommerce-cart-form
    .coupon
    .input-text {
        width: 100%;
        height: 50px;

        font-size: 16px;
    }


    .woocommerce-cart-form
    .coupon
    button.button {
        width: 100%;
        min-height: 50px;

        font-size: 16px;
    }


    /* Update cart */

    .woocommerce-cart-form
    button[name="update_cart"] {
        width: 100%;
        min-height: 50px;

        margin-top: 12px;

        float: none;

        font-size: 16px;
    }


    /* Cart totals full width */

    .woocommerce-cart .cart-collaterals {
        display: block;

        margin-top: 56px;
    }


    .woocommerce-cart .cart_totals {
        width: 100%;
    }


    .woocommerce-cart
    .cart_totals
    h2 {
        margin-bottom: 22px;

        font-size: 34px;
    }


    .woocommerce-cart
    .cart_totals
    table.shop_table
    th,
    .woocommerce-cart
    .cart_totals
    table.shop_table
    td {
        padding: 14px 12px;

        font-size: 15px;
    }


    .woocommerce-cart
    .cart_totals
    table.shop_table
    th {
        width: 34%;
    }


    .woocommerce-cart
    .wc-proceed-to-checkout
    .checkout-button {
        min-height: 58px;

        border-radius: 14px;

        font-size: 18px;
    }

}

/* =========================================================
   AUTO UPDATE CART
   Tombol tetap ada di DOM untuk WooCommerce,
   tapi tidak perlu terlihat oleh user.
   ========================================================= */

.woocommerce-cart-form button[name="update_cart"] {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    padding: 0 !important;
    margin: -1px !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;

    border: 0 !important;
}

/* =========================================================
   CART V2 — CLEANUP
   ========================================================= */


/* =========================================================
   HIDE SUCCESS NOTICE
   Auto-update sudah berjalan, jadi notice ini tidak perlu.
   ========================================================= */

.woocommerce-cart .woocommerce-message {
    display: none !important;
}


/* =========================================================
   CART TOTALS — COMPACT
   ========================================================= */

.woocommerce-cart .cart-collaterals {
    margin-top: 34px;
}


.woocommerce-cart .cart_totals {
    width: 44%;
}


.woocommerce-cart .cart_totals h2 {
    margin-bottom: 14px;

    font-size: 28px;
}


/* =========================================================
   HIDE SHIPPING CALCULATOR
   Ongkir dihitung di Checkout.
   ========================================================= */

.woocommerce-cart .shipping-calculator-button,
.woocommerce-cart .shipping-calculator-form {
    display: none !important;
}


/* =========================================================
   SHIPPING ROW
   ========================================================= */

.woocommerce-cart
.cart_totals
tr.woocommerce-shipping-totals
td {
    font-size: 0;
}


/* Placeholder teks baru */

.woocommerce-cart
.cart_totals
tr.woocommerce-shipping-totals
td::after {
    content: "Ongkir dihitung berdasarkan alamat saat Checkout.";

    display: block;

    font-size: 15px;
    line-height: 1.5;

    color: #555;
}


/* =========================================================
   CART TOTALS TABLE
   ========================================================= */

.woocommerce-cart
.cart_totals
table.shop_table
th,
.woocommerce-cart
.cart_totals
table.shop_table
td {
    padding-top: 12px;
    padding-bottom: 12px;
}


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

.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button {
    min-height: 56px;

    font-size: 18px;
}


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

@media (max-width: 992px) {

    .woocommerce-cart .cart_totals {
        width: 48%;
    }

}


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

@media (max-width: 600px) {

    .woocommerce-cart .cart-collaterals {
        margin-top: 42px;
    }


    .woocommerce-cart .cart_totals {
        width: 100%;
    }


    .woocommerce-cart .cart_totals h2 {
        font-size: 30px;
    }


    .woocommerce-cart
    .cart_totals
    tr.woocommerce-shipping-totals
    td::after {
        font-size: 14px;
        line-height: 1.55;
    }

}

/* =========================================================
   CULTURESTOCK CART — FINAL OUTER ALIGNMENT FIX

   Elementor sudah menangani outer container/padding.
   Jangan tambahkan padding kedua dari Cart CSS.
   ========================================================= */


/* DESKTOP */

body.woocommerce-cart .woocommerce {
    width: 100% !important;
    max-width: 1080px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}


body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}


/* Pastikan tabel Cart menggunakan seluruh lebar wrapper */

body.woocommerce-cart
.woocommerce-cart-form
table.shop_table {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* =========================================================
   TABLET
   Outer spacing tetap ditangani Elementor
   ========================================================= */

@media (max-width: 992px) {

    body.woocommerce-cart .woocommerce {
        width: 100% !important;
        max-width: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }

}


/* =========================================================
   MOBILE
   Hilangkan seluruh double inset
   ========================================================= */

@media (max-width: 600px) {

    body.woocommerce-cart .woocommerce {
        width: 100% !important;
        max-width: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .cart-collaterals,
    body.woocommerce-cart .cart_totals {
        width: 100% !important;
        max-width: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;
    }

}

/* =========================================================
   CULTURESTOCK CART V3
   Simplified Cart Flow
   ========================================================= */


/* =========================================================
   HIDE CART COUPON
   Promo dipindahkan ke Checkout
   ========================================================= */

body.woocommerce-cart
.woocommerce-cart-form
.coupon {
    display: none !important;
}


/* =========================================================
   ACTION ROW
   Update Cart tetap ada secara teknis untuk JS,
   tetapi row-nya tidak perlu mengambil ruang.
   ========================================================= */

body.woocommerce-cart
.woocommerce-cart-form
td.actions {
    height: 0 !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;

    line-height: 0 !important;

    background: transparent !important;
}


/* Update button tetap tersedia untuk JS */

body.woocommerce-cart
button[name="update_cart"] {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    padding: 0 !important;
    margin: -1px !important;

    overflow: hidden !important;

    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;

    white-space: nowrap !important;

    border: 0 !important;
}


/* =========================================================
   HIDE CART TOTALS
   Shipping + coupon + final calculation pindah Checkout
   ========================================================= */

body.woocommerce-cart
.cart-collaterals {
    display: none !important;
}


/* =========================================================
   HIDE AUTO UPDATE NOTICE
   ========================================================= */

body.woocommerce-cart
.woocommerce-message {
    display: none !important;
}


/* =========================================================
   CUSTOM CART ACTIONS
   ========================================================= */

body.woocommerce-cart
.cs-cart-actions {
    display: grid;

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

    gap: 14px;

    width: 100%;
    max-width: 1080px;

    margin: 34px auto 0;

    box-sizing: border-box;
}


/* =========================================================
   BUTTON BASE
   ========================================================= */

body.woocommerce-cart
.cs-cart-button {
    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 56px;

    padding: 12px 22px;

    border-radius: 12px;

    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;

    text-align: center;
    text-decoration: none !important;

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


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

body.woocommerce-cart
.cs-cart-button-secondary {
    border: 1px solid #087866;

    background: #fff;

    color: #087866;
}


body.woocommerce-cart
.cs-cart-button-secondary:hover {
    background: #f2faf8;

    color: #087866;
}


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

body.woocommerce-cart
.cs-cart-button-primary {
    border: 1px solid #ff8579;

    background: #ff8579;

    color: #fff;
}


body.woocommerce-cart
.cs-cart-button-primary:hover {
    border-color: #f2766b;

    background: #f2766b;

    color: #fff;
}


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

@media (max-width: 992px) {

    body.woocommerce-cart
    .cs-cart-actions {
        gap: 12px;

        margin-top: 30px;
    }

}


/* =========================================================
   MOBILE
   Checkout menjadi CTA utama
   ========================================================= */

@media (max-width: 600px) {

    body.woocommerce-cart
    .cs-cart-actions {
        display: flex;

        flex-direction: column;

        gap: 12px;

        margin-top: 26px;

        padding-bottom: 120px;
    }


    body.woocommerce-cart
    .cs-cart-button {
        width: 100%;
        min-height: 56px;

        font-size: 16px;
    }


    /*
     * Checkout tampil pertama di mobile.
     */

    body.woocommerce-cart
    .cs-cart-button-primary {
        order: 1;
    }


    body.woocommerce-cart
    .cs-cart-button-secondary {
        order: 2;
    }

}

/* =========================================================
   FIX — CONTINUE SHOPPING BUTTON
   Paksa warna agar tidak dioverride Elementor/WooCommerce
   ========================================================= */

body.woocommerce-cart
a.cs-cart-button.cs-cart-button-secondary,
body.woocommerce-cart
a.cs-cart-button.cs-cart-button-secondary:link,
body.woocommerce-cart
a.cs-cart-button.cs-cart-button-secondary:visited {
    background: #ffffff !important;
    border: 2px solid #087866 !important;

    color: #087866 !important;

    opacity: 1 !important;
    visibility: visible !important;

    text-decoration: none !important;
}

body.woocommerce-cart
a.cs-cart-button.cs-cart-button-secondary:hover,
body.woocommerce-cart
a.cs-cart-button.cs-cart-button-secondary:focus {
    background: #087866 !important;
    border-color: #087866 !important;

    color: #ffffff !important;
}

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

body.woocommerce-cart
.woocommerce-info {
    margin: 28px 0 18px !important;

    padding: 22px 24px !important;

    border: 0 !important;
    border-radius: 14px !important;

    background: #f6f6f6 !important;

    font-size: 17px;
    line-height: 1.5;

    color: #333 !important;
}


/* =========================================================
   ERROR / COUPON NOTICE
   ========================================================= */

body.woocommerce-cart
.woocommerce-error {
    margin: 24px 0 16px !important;

    padding: 18px 22px !important;

    border: 0 !important;
    border-radius: 12px !important;

    background: #fff4f2 !important;

    font-size: 15px;
    line-height: 1.5;

    color: #9b2c22 !important;
}


/* =========================================================
   RETURN TO SHOP
   ========================================================= */

body.woocommerce-cart
.return-to-shop {
    margin-top: 18px !important;
}


body.woocommerce-cart
.return-to-shop
.button {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    min-height: 52px;

    padding: 0 24px !important;

    border: 1px solid #087866 !important;
    border-radius: 12px !important;

    background: #087866 !important;

    font-size: 16px !important;
    font-weight: 700 !important;

    color: #fff !important;

    text-decoration: none !important;
}


body.woocommerce-cart
.return-to-shop
.button:hover {
    background: #06695a !important;
    border-color: #06695a !important;

    color: #fff !important;
}


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

@media (max-width: 600px) {

    body.woocommerce-cart
    .woocommerce-info {
        margin-top: 22px !important;

        padding: 20px !important;

        font-size: 16px;
    }


    body.woocommerce-cart
    .return-to-shop
    .button {
        width: 100%;

        min-height: 54px;
    }

}

/* =========================================================
   EMPTY CART — REMOVE WOOCOMMERCE DEFAULT ICON
   ========================================================= */

body.woocommerce-cart
.woocommerce-info::before {
    display: none !important;
    content: none !important;
}

body.woocommerce-cart
.woocommerce-info {
    padding-left: 24px !important;
}

/* =========================================================
   EMPTY CART — VERTICAL SPACING
   ========================================================= */

body.woocommerce-cart
.woocommerce-info {
    margin-top: 24px !important;
}