/* Shared catalog cards. Desktop and product-detail presentation stay intact. */
.lm-product .lm-product__title-full { display: inline; }
.lm-product .lm-product__title-compact { display: none; }

@media (max-width: 767px) {
    :is(.lm-catalog-page, .lm-native-archive) .lm-product-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 1fr;
        align-items: stretch;
        gap: 16px 10px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product {
        display: flex;
        flex-direction: column;
        min-width: 0;
        height: 100%;
        border: 1px solid #e6dbe1;
        border-radius: 9px;
        background: #fff;
    }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product[hidden] { display: none !important; }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__image {
        display: block;
        flex: 0 0 auto;
        width: 100%;
        aspect-ratio: 1 / 1;
        background: #f7f4f6;
    }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__image img {
        display: block;
        width: 100%;
        height: 100%;
        max-width: 100%;
        object-fit: contain;
    }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__image-placeholder {
        min-height: 0;
        height: 100%;
        padding: 12px;
        font-size: 12px;
    }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__body {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        min-width: 0;
        min-height: 104px;
        padding: 10px;
    }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product :is(.lm-product__model, .lm-product__specs, .lm-product__attributes, .lm-product__category, .lm-product__link) { display: none; }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__title-full { display: none; }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__title-compact { display: inline; }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__title {
        min-width: 0;
        min-height: 2.8em;
        margin: 0;
        color: #3b1e33;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.4;
        letter-spacing: 0;
        overflow-wrap: normal;
        word-break: normal;
        white-space: normal;
    }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__title a {
        display: -webkit-box;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        color: inherit;
        text-decoration: none;
    }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__bottom {
        display: block;
        width: 100%;
        min-width: 0;
        margin: auto 0 0;
        padding: 0;
        border: 0;
    }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__price {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        align-content: flex-start;
        gap: 3px 6px;
        width: 100%;
        min-width: 0;
        min-height: 2.7em;
        color: #3b1e33;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.35;
        white-space: normal;
    }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__price > :is(span, del, ins) {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: normal;
        white-space: normal;
    }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__price .lm-pdp-price-current { font-size: 14px; font-weight: 700; }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__price .lm-pdp-price-regular { color: #73616d; font-size: 11px; font-weight: 400; }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product .lm-product__price .lm-pdp-sale-label { padding: 2px 5px; font-size: 10px; line-height: 1.35; }
    :is(.lm-catalog-page, .lm-native-archive) .lm-product :is(.lm-product__image, .lm-product__title a):focus-visible { outline: 2px solid #3b1e33; outline-offset: -3px; }
}
