/* Critical text contract, isolated from theme typography and loaded after Wishlist layout. */
:is(#wishlist-popup.wishlist-popup, #my-wishlist-page) .wishlist-item :is(.wishlist-item__name, .mw-desc, .wishlist-item__short-desc) {
    display: block !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    width: 100%;
    max-width: 100% !important;
    height: 1.5em !important;
    min-height: 0 !important;
    max-height: 1.5em !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    -webkit-line-clamp: 1 !important;
}

/* Each product has three independent regions: image, text/folder, price/actions. */
#wishlist-popup .mw-item.wishlist-item {
    min-width: 0;
    max-width: 100%;
    grid-template-columns: 54px minmax(0, 1fr) minmax(0, 144px);
    grid-template-rows: auto;
    align-items: start;
}
#wishlist-popup .mw-item > .mw-image {
    grid-column: 1;
    grid-row: 1;
}
#wishlist-popup .mw-item > .mw-details {
    display: flex;
    flex-direction: column;
    gap: 5px;
    grid-column: 2;
    grid-row: 1;
    min-width: 0 !important;
    max-width: 100%;
}
#wishlist-popup .mw-item > .mw-price-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    grid-column: 3;
    grid-row: 1;
    min-width: 0;
    max-width: 100%;
    text-align: right;
}
#wishlist-popup .mw-item :is(.mw-price-line, .mw-badge, .mw-item-actions) {
    flex-shrink: 0;
    max-width: 100%;
    margin: 0;
}
#wishlist-popup .mw-item .mw-details select { width: 100%; }
/* Keep the full save-time low label readable inside the compact price column. */
#wishlist-popup .mw-badge--lowest > span {
    min-width: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    text-align: right;
}
/* Discount labels must remain readable when old records use a longer, explicit price basis. */
#wishlist-popup .mw-badge > span {
    min-width: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    text-align: right;
}
#wishlist-popup .mw-item .mw-details :is(.wishlist-item__name, .mw-desc) {
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
#wishlist-popup .mw-price-line,
#wishlist-popup .mw-price-line > strong {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
}
#wishlist-popup .mw-price-line { flex-wrap: wrap; }
#wishlist-popup .mw-price-line .amount { white-space: nowrap; }

/* The compatibility renderer follows the same text limits and column widths. */
#wishlist-popup .wishlist-item:not(.mw-item) {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) minmax(0, 144px);
    column-gap: 10px;
    row-gap: 5px;
    padding: 12px 0;
    align-items: center;
    min-width: 0;
}
#wishlist-popup .wishlist-item__image { grid-column: 1; grid-row: 1 / 4; align-self: start; }
#wishlist-popup .wishlist-item__image img { width: 54px; height: 54px; object-fit: contain; }
#wishlist-popup .wishlist-item__details { display: contents; }
#wishlist-popup .wishlist-item__details > .wishlist-item__name { grid-column: 2; grid-row: 1; font-size: 11.5px; }
#wishlist-popup .wishlist-item__short-desc { grid-column: 2; grid-row: 2; font-size: 10.5px; }
#wishlist-popup .wishlist-item__actions { grid-column: 3; grid-row: 3; text-align: right; }
#wishlist-popup .wishlist-item__price {
    grid-column: 3;
    grid-row: 1;
    min-width: 0;
    margin: 0;
    white-space: normal;
    text-align: right;
    font-size: 12px;
}
@media (max-width: 359px) {
    #wishlist-popup .mw-item.wishlist-item,
    #wishlist-popup .wishlist-item:not(.mw-item) {
        grid-template-columns: 44px minmax(0, 1fr) minmax(0, 120px);
    }
    #wishlist-popup .wishlist-item__image img { width: 44px; height: 50px; }
}
