/* KLB-18: компактные карточки только в каталоге WooCommerce */
body.klb18-catalog ul.products li.product {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    padding: 12px;
    background: #fff;
    border: 1px solid #e3e8e5;
    border-radius: 12px;
    overflow: hidden;
}
body.klb18-catalog ul.products li.product > a.woocommerce-LoopProduct-link {
    display: block;
    width: 100%;
}
body.klb18-catalog ul.products li.product img {
    width: 100%;
    height: 170px;
    max-height: 170px;
    object-fit: contain;
    margin: 0 auto 9px;
}
body.klb18-catalog ul.products li.product .woocommerce-loop-product__title,
body.klb18-catalog ul.products li.product h2.woocommerce-loop-product__title {
    font-size: 14px;
    line-height: 1.35;
    margin: 0 0 6px;
    min-height: 2.7em;
    overflow-wrap: anywhere;
}
body.klb18-catalog ul.products li.product .price {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #285641;
    margin: 0 0 6px;
}
body.klb18-catalog ul.products li.product .klb18-stock {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 12px;
    line-height: 1.35;
    margin: 0 0 10px;
    font-weight: 500;
}
body.klb18-catalog ul.products li.product .klb18-stock__quantity {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 1px 7px;
    border: 1px solid #dce8df;
    border-radius: 999px;
    background: #f3f8f4;
    color: #285641;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}
body.klb18-catalog ul.products li.product .klb18-stock--in { color: #28734c; }
body.klb18-catalog ul.products li.product .klb18-stock--out { color: #767f7a; }
body.klb18-catalog ul.products li.product .klb18-stock--backorder { color: #9b702e; }
body.klb18-catalog ul.products li.product .klb18-buy {
    width: 100%;
    margin-top: auto;
}
body.klb18-catalog ul.products li.product .klb18-buy__row {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 7px;
    width: 100%;
}
body.klb18-catalog ul.products li.product .klb18-buy .quantity {
    margin: 0;
    flex: 0 0 53px;
    float: none;
}
body.klb18-catalog ul.products li.product .klb18-buy input.qty {
    box-sizing: border-box;
    display: block;
    width: 53px;
    max-width: 100%;
    min-height: 37px;
    height: 100%;
    margin: 0;
    padding: 5px 3px;
    font-size: 14px;
    text-align: center;
    border: 1px solid #d6dcd7;
    border-radius: 6px;
    background: #f6f7f6;
}
body.klb18-catalog ul.products li.product .klb18-buy a.button,
body.klb18-catalog ul.products li.product .klb18-buy .klb18-disabled {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 37px;
    margin: 0;
    padding: 8px 10px;
    border: 0;
    border-radius: 6px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    background: #285641;
    color: #fff;
}
body.klb18-catalog ul.products li.product .klb18-buy__row a.button {
    flex: 1 1 auto;
    min-width: 0;
}
body.klb18-catalog ul.products li.product .klb18-buy .klb18-disabled {
    width: 100%;
    color: #7d857f;
    background: #e8ebe9;
    cursor: not-allowed;
}
body.klb18-catalog ul.products li.product .klb18-buy a.button:hover,
body.klb18-catalog ul.products li.product .klb18-buy a.button:focus {
    background: #1d4332;
    color: #fff;
}
body.klb18-catalog ul.products li.product .added_to_cart {
    display: block;
    padding-top: 7px;
    font-size: 12px;
}
@media (max-width: 767px) {
    body.klb18-catalog ul.products li.product {
        padding: 9px;
        border-radius: 9px;
    }
    body.klb18-catalog ul.products li.product img {
        height: 125px;
        max-height: 125px;
    }
    body.klb18-catalog ul.products li.product .woocommerce-loop-product__title {
        font-size: 13px;
    }
    body.klb18-catalog ul.products li.product .klb18-buy__row { gap: 5px; }
    body.klb18-catalog ul.products li.product .klb18-buy .quantity { flex-basis: 43px; }
    body.klb18-catalog ul.products li.product .klb18-buy input.qty { width: 43px; }
    body.klb18-catalog ul.products li.product .klb18-buy a.button { padding: 6px 5px; }
}

/* Cart link is below the purchase row and never competes with its button. */
body.klb18-catalog ul.products li.product .klb18-buy .added_to_cart {
    display: none !important;
}
body.klb18-catalog ul.products li.product .klb18-cart-link {
    display: block;
    margin: 8px 0 0;
    padding: 0;
    color: #285641;
    background: transparent;
    font-size: 12px;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 2px;
}
body.klb18-catalog ul.products li.product .klb18-cart-link[hidden] {
    display: none !important;
}

/* Reserve the same space below every purchase row, including empty carts. */
body.klb18-catalog ul.products li.product .klb18-buy {
    box-sizing: border-box;
    position: relative;
    padding-bottom: 25px;
}
body.klb18-catalog ul.products li.product .klb18-cart-link {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
}
