/* Start custom CSS for section, class: .elementor-element-5c27f71d *//* ============================================================
   KAMAGRAHIT — KH CART v3.0
   CLEAN REBUILD
   ELEMENTOR SECTION CUSTOM CSS
   ============================================================ */

.elementor-65 .elementor-element.elementor-element-5c27f71d {
    --kh-red:#E31E24;
    --kh-red-dark:#C7191E;
    --kh-black:#181818;
    --kh-body:#403C38;
    --kh-muted:#6A645E;
    --kh-warm:#FAF9F6;
    --kh-white:#FFFFFF;
    --kh-line:rgba(24,24,24,.14);
    --kh-limestone:url("https://kamagrahit.com/wp-content/uploads/2026/08/kh-material-limestone-light-v1.webp");

    font-family:"Outfit",Arial,sans-serif;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d .woocommerce {
    width:100%;
    color:var(--kh-black);
    font-family:"Outfit",Arial,sans-serif;
}


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

.elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table {
    width:100%;
    margin:0 !important;
    border:2px solid var(--kh-line) !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    border-radius:16px !important;
    overflow:hidden;
    background:#fff;
    box-shadow:none !important;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table thead th {
    padding:15px 14px !important;
    background:var(--kh-warm);
    border-bottom:2px solid var(--kh-line) !important;
    color:var(--kh-black);
    font-size:12px;
    font-weight:800;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table td {
    padding:15px 14px !important;
    vertical-align:middle;
    color:var(--kh-body);
    border-color:rgba(24,24,24,.10) !important;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d td.product-thumbnail img {
    width:64px !important;
    height:64px !important;
    object-fit:contain;
    padding:4px;
    border:2px solid var(--kh-line);
    border-radius:10px;
    background:#fff;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d td.product-name a {
    color:var(--kh-black) !important;
    font-weight:750;
    text-decoration:none !important;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d td.product-name a:hover {
    color:var(--kh-red) !important;
}


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

.elementor-65 .elementor-element.elementor-element-5c27f71d a.remove {
    width:30px !important;
    height:30px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    border:2px solid rgba(227,30,36,.22);
    border-radius:50%;
    background:#fff !important;
    color:var(--kh-red) !important;
    font-size:20px !important;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d a.remove:hover {
    background:var(--kh-red) !important;
    color:#fff !important;
}


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

.elementor-65 .elementor-element.elementor-element-5c27f71d .quantity .qty {
    width:70px !important;
    min-height:42px;
    border:2px solid var(--kh-line) !important;
    border-radius:9px !important;
    background:#fff;
    color:var(--kh-black);
    font-family:"Outfit",Arial,sans-serif;
    font-weight:800;
    text-align:center;
    box-shadow:none !important;
}


/* ============================================================
   UPDATE CART
   ============================================================ */

.elementor-65 .elementor-element.elementor-element-5c27f71d button[name="update_cart"] {
    min-height:44px;
    padding:10px 18px !important;
    border:2px solid var(--kh-red) !important;
    border-radius:10px !important;
    background:#fff !important;
    color:var(--kh-red) !important;
    font-family:"Outfit",Arial,sans-serif;
    font-size:13px !important;
    font-weight:800 !important;
    box-shadow:none !important;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d button[name="update_cart"]:not(:disabled):hover {
    background:var(--kh-red) !important;
    color:#fff !important;
}


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

.elementor-65 .elementor-element.elementor-element-5c27f71d .cart-collaterals {
    margin-top:26px;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d .cross-sells {
    display:none !important;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals {
    float:right !important;
    width:min(520px,100%) !important;
    padding:24px;
    border:2px solid rgba(113,102,89,.20);
    border-radius:16px;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.25),
            rgba(255,255,255,.06)
        ),
        var(--kh-limestone);
    background-size:auto,650px 650px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.38);
}

.elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals h2 {
    margin:0 0 18px;
    color:var(--kh-black);
    font-size:34px;
    line-height:1;
    letter-spacing:-.035em;
    font-weight:800;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals table.shop_table {
    background:rgba(255,255,255,.82);
    border-radius:12px !important;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals table.shop_table th,
.elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals table.shop_table td {
    padding:13px 12px !important;
    font-size:13px;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals table.shop_table th {
    color:var(--kh-black);
    font-weight:800;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals .order-total th,
.elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals .order-total td {
    color:var(--kh-black);
    font-weight:850;
}


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

.elementor-65 .elementor-element.elementor-element-5c27f71d .wc-proceed-to-checkout {
    padding:0 !important;
    margin-top:14px;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d .wc-proceed-to-checkout a.checkout-button {
    width:100%;
    min-height:56px;
    margin:0 !important;
    display:flex !important;
    align-items:center;
    justify-content:center;

    border:2px solid var(--kh-red) !important;
    border-radius:11px !important;

    background:var(--kh-red) !important;
    color:#fff !important;

    font-family:"Outfit",Arial,sans-serif;
    font-size:16px !important;
    font-weight:800 !important;

    text-decoration:none !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.25),
        inset 0 -2px 0 rgba(100,0,0,.16) !important;
}

.elementor-65 .elementor-element.elementor-element-5c27f71d .wc-proceed-to-checkout a.checkout-button:hover {
    background:var(--kh-red-dark) !important;
}


/* ============================================================
   MOBILE — COMPLETE REBUILD
   ============================================================ */

@media (max-width:767px) {

    /* remove Woo table behaviour */

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart {
        display:block !important;
        border:0 !important;
        background:transparent !important;
        border-radius:0 !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart thead {
        display:none !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart tbody {
        display:block !important;
    }


    /* PRODUCT CARD */

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart tr.cart_item {
        position:relative;

        display:grid !important;

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

        grid-template-areas:
            "image name"
            "price price"
            "qty qty"
            "subtotal subtotal";

        gap:0 12px;

        width:100% !important;

        margin:0 !important;
        padding:12px 14px !important;

        border:2px solid var(--kh-line) !important;
        border-radius:15px !important;

        background:#fff !important;
    }


    /* REMOVE */

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-remove {
        position:absolute !important;
        top:10px;
        right:10px;

        display:block !important;

        width:auto !important;

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

        border:0 !important;

        z-index:5;
    }


    /* IMAGE */

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-thumbnail {
        grid-area:image;

        display:block !important;

        width:76px !important;
        height:76px !important;

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

        border:0 !important;
        background:transparent !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-thumbnail::before {
        display:none !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-thumbnail img {
        width:76px !important;
        height:76px !important;

        margin:0 !important;

        object-fit:contain;

        border:2px solid var(--kh-line);
        border-radius:11px;
    }


    /* NAME */

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-name {
        grid-area:name;

        display:flex !important;
        align-items:center;

        width:auto !important;

        min-height:76px !important;

        padding:
            0 34px 0 0 !important;

        margin:0 !important;

        border:0 !important;

        background:transparent !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-name::before {
        display:none !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-name a {
        font-size:14px !important;
        line-height:1.3 !important;
        font-weight:800 !important;
    }


    /* COMMON INFO ROW */

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-price,
    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-quantity,
    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-subtotal {

        display:grid !important;

        grid-template-columns:
            78px 1fr;

        align-items:center;

        width:100% !important;

        min-height:44px !important;

        padding:8px 0 !important;

        margin:0 !important;

        border:0 !important;
        border-top:1px solid rgba(24,24,24,.10) !important;

        background:transparent !important;

        text-align:left !important;
    }


    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-price {
        grid-area:price;
        margin-top:10px !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-quantity {
        grid-area:qty;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-subtotal {
        grid-area:subtotal;
    }


    /* MOBILE LABELS */

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-price::before,
    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-quantity::before,
    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-subtotal::before {

        display:block !important;

        float:none !important;

        width:auto !important;

        color:var(--kh-muted) !important;

        font-size:10px !important;
        line-height:1 !important;

        font-weight:800 !important;

        letter-spacing:.05em;

        text-transform:uppercase;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-price::before {
        content:"Cena";
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-quantity::before {
        content:"Količina";
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-subtotal::before {
        content:"Ukupno";
    }


    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-price,
    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-subtotal {
        color:var(--kh-black) !important;
        font-size:14px !important;
        font-weight:800 !important;
    }


    /* ACTION ROW */

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart tr:not(.cart_item) {
        display:block !important;

        width:100% !important;

        margin:10px 0 0 !important;

        padding:0 !important;

        border:0 !important;

        background:transparent !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.actions {
        display:block !important;

        width:100% !important;

        padding:0 !important;

        border:0 !important;

        background:transparent !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d button[name="update_cart"] {
        width:100% !important;
        margin:0 !important;
    }


    /* TOTALS */

    .elementor-65 .elementor-element.elementor-element-5c27f71d .cart-collaterals {
        margin-top:22px !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals {
        float:none !important;

        width:100% !important;

        padding:14px !important;

        border-radius:15px;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals h2 {
        margin:0 0 14px !important;

        font-size:25px !important;
        line-height:1.05 !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals table.shop_table th,
    .elementor-65 .elementor-element.elementor-element-5c27f71d .cart_totals table.shop_table td {
        padding:10px 9px !important;
        font-size:11.5px !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d .woocommerce-shipping-destination {
        margin-top:5px !important;
        font-size:10px !important;
        line-height:1.35 !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d .wc-proceed-to-checkout {
        margin-top:12px !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d .wc-proceed-to-checkout a.checkout-button {
        min-height:52px;
        font-size:15px !important;
    }

}


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

@media (max-width:420px) {

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart tr.cart_item {
        grid-template-columns:
            70px minmax(0,1fr);

        padding:
            11px 12px !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-thumbnail,
    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-thumbnail img {
        width:70px !important;
        height:70px !important;
    }

    .elementor-65 .elementor-element.elementor-element-5c27f71d table.shop_table.cart td.product-name {
        min-height:70px !important;
    }

}/* End custom CSS */