/* Self-contained card layout: media actions stay inside their image container. */
.products .product.mbebo-catalog-item { padding: 0; background: transparent; }
.products .product.mbebo-catalog-item::after { display: none; }
.products .mbebo-catalog-card {
    display: flex; flex-direction: column; height: 100%; min-width: 0;
    border: 1px solid #e2e5e9; border-radius: 9px; background: #fff;
    overflow: hidden; color: #20242c; text-align: start;
}
.mbebo-catalog-card .mbebo-card-media {
    position: relative; flex: none; aspect-ratio: 0.74; background: #f7f7f9;
}
.mbebo-catalog-card .mbebo-card-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.products .product.mbebo-catalog-item .mbebo-catalog-card .mbebo-card-media .mbebo-card-image {
    display: block; width: 100%; height: 100%; max-width: 100%; padding: 0;
    object-fit: contain; mix-blend-mode: multiply;
}
.mbebo-catalog-card .mbebo-card-label {
    position: absolute; left: 0; top: 0; max-width: calc(100% - 48px);
    padding: 3px 7px; background: #075c5b; color: #fff;
    border-radius: 0 0 8px 0; font-size: 11px; font-weight: 700; line-height: 1.6;
}
.mbebo-catalog-card .mbebo-card-label--unavailable { background: #a13440; }
.mbebo-catalog-card .mbebo-card-wishlist { position: absolute; top: 5px; right: 5px; z-index: 2; }
.mbebo-card-wishlist .yith-add-to-wishlist-button-block { margin: 0; }
.mbebo-card-wishlist :is(a,button) {
    display: flex !important; align-items: center; justify-content: center;
    width: 40px; height: 40px; min-width: 40px; padding: 8px !important;
    border: 0 !important; border-radius: 6px; background: transparent !important;
    color: #4a5670 !important; box-shadow: none !important;
}
.mbebo-card-wishlist svg { width: 23px; height: 23px; min-width: 23px; flex: none; }
.mbebo-card-wishlist .yith-wcwl-add-to-wishlist-button__label {
    position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip-path: inset(50%); white-space: nowrap;
}
.mbebo-catalog-card .mbebo-card-cart { position: absolute; right: 10px; bottom: 10px; z-index: 2; }
.products .mbebo-catalog-card .mbebo-card-cart .add-to-cart-wrap { position: static; display: block; margin: 0; }
.mbebo-card-cart :is(.mbebo-card-metadata,.mbebo-stock-label,.added_to_cart) { display: none; }
.products .mbebo-catalog-card .mbebo-card-cart .add-to-cart-wrap .mbebo-card-button,
.products .mbebo-catalog-card .mbebo-card-cart .add-to-cart-wrap .mbebo-card-button:is(:hover,:focus,:active) {
    position: relative; display: grid; place-items: center; float: none;
    width: 36px; height: 36px; min-height: 36px; margin: 0; padding: 0;
    border: 1px solid #e5e8ed; border-radius: 8px;
    background: #fafbfc; color: #283246; font-size: 0; text-indent: 0;
    line-height: 1; opacity: 1; visibility: visible; box-shadow: none;
}
.products .mbebo-catalog-card .mbebo-card-cart .add-to-cart-wrap .mbebo-card-button::before {
    content: "+"; position: static; display: block; width: auto; height: auto;
    margin: 0; padding: 0; background: transparent; color: inherit;
    font: 300 27px/1 Arial, sans-serif;
}
.products .mbebo-catalog-card .mbebo-card-cart .add-to-cart-wrap .mbebo-card-button:not(.ajax_add_to_cart)::before { content: "↗"; font-size: 21px; }
.products .mbebo-catalog-card .mbebo-card-cart .add-to-cart-wrap .mbebo-card-button.added::before { content: "✓"; font-size: 20px; }
.products .mbebo-catalog-card .mbebo-card-cart .add-to-cart-wrap .mbebo-card-button.added::after { display: none; }
.products .mbebo-card-cart .mbebo-card-button.loading { opacity: .5; cursor: progress; }
.products .mbebo-card-cart .mbebo-card-button:disabled { color: #939aaa; cursor: not-allowed; }
.products .mbebo-catalog-card .mbebo-card-cart .add-to-cart-wrap .mbebo-card-button:disabled::before { content: "−"; }
.mbebo-catalog-card .mbebo-card-details { padding: 8px; }
.mbebo-catalog-card .mbebo-card-name { display: block; color: #17202e; text-decoration: none; }
.products .mbebo-catalog-card .woocommerce-loop-product__title {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
    height: auto; min-height: 0; max-height: 60px; overflow: hidden;
    margin: 0 0 6px; padding: 0; color: #17202e;
    font-size: 14px; font-weight: 500 !important; line-height: 20px;
}
.mbebo-catalog-card .mbebo-card-score {
    display: flex; align-items: center; gap: 4px; width: fit-content;
    margin: 0 0 5px; padding: 0 4px; border-radius: 3px;
    background: #f5f6f8; font-size: 12px; line-height: 19px;
}
.mbebo-card-score > span { color: #00a739; }
.mbebo-card-score small { color: #76849a; font-size: 11px; }
.mbebo-catalog-card .mbebo-card-price-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px; }
.mbebo-catalog-card .mbebo-card-price { font-size: 18px; font-weight: 800; line-height: 25px; color: #17202e; }
.mbebo-card-price .electro-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px; }
.mbebo-card-price ins { order: -1; text-decoration: none; background: none; }
.mbebo-card-price del, .mbebo-card-price del .amount { font-size: 11px; font-weight: 400; color: #89909e; }
.mbebo-card-price .woocommerce-Price-currencySymbol { font-size: 10px; font-weight: 400; }
.mbebo-catalog-card .mbebo-card-saving { font-size: 12px; font-weight: 700; color: #00a739; }
.mbebo-catalog-card .mbebo-card-availability { margin: 3px 0 0; color: #47556b; font-size: 11px; line-height: 18px; }
.mbebo-card-availability > span { color: #078d81; font-size: 8px; margin-inline-end: 3px; }
.mbebo-card-availability.is-unavailable, .mbebo-card-availability.is-unavailable > span { color: #a13440; }
.mbebo-catalog-card :is(a,button):focus-visible { outline: 2px solid #0899a8; outline-offset: -2px; }
/* Existing archive column counts remain native; carousel items use their own gap. */
.products:not(.owl-carousel) > .mbebo-catalog-item { padding: 6px; }
.owl-carousel .mbebo-catalog-item { width: 100%; max-width: none; }
.section-products-carousel .owl-stage { display: flex; }
.owl-carousel .owl-item > .mbebo-catalog-item { height: 100%; }
.mbebo-featured-carousel { margin-bottom: 0; }
@media (max-width: 767px) {
    .products .mbebo-catalog-card .woocommerce-loop-product__title { font-size: 12px; line-height: 18px; max-height: 54px; }
    .mbebo-catalog-card .mbebo-card-price { font-size: 16px; line-height: 23px; }
    .mbebo-catalog-card .mbebo-card-details { padding: 7px; }
    .mbebo-catalog-card .mbebo-card-cart { right: 7px; bottom: 7px; }
    .products .mbebo-card-cart .mbebo-card-button { width: 36px; height: 36px; }
}
/* Native list view remains useful without a second duplicate body. */
.products[data-view^="list"] .mbebo-catalog-card { flex-direction: row; }
.products[data-view^="list"] .mbebo-card-media { width: 180px; }
.products[data-view^="list"] .mbebo-card-details { flex: 1; padding: 16px; }
