/**
 * Purple Lion - search result product card wrapping fix
 *
 * Fixes long product names in:
 * index.php?main_page=search_result
 *
 * Search results use the product listing layout, but long SWS slash-separated
 * names can still overflow between cards without stronger local rules.
 */

#searchresultBody #productListing,
#searchresultBody #productListing .centerBoxContentsProducts,
#searchresultBody #productListing .gridlayout,
#searchresultBody #productListing .productListing-even,
#searchresultBody #productListing .productListing-odd,
#searchresultBody #productListing .productListing-data {
  box-sizing: border-box;
  max-width: 100%;
  overflow: hidden;
}

/* Keep every search-result product card contained */
#searchresultBody #productListing .centerBoxContentsProducts,
#searchresultBody #productListing .gridlayout {
  padding-left: 18px;
  padding-right: 18px;
}

/* Product title in search results */
#searchresultBody #productListing .itemTitle {
  display: block;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
  padding-left: 8px;
  padding-right: 8px;
  overflow: hidden;
  line-height: 1.32;
}

/* The link itself must be allowed to break anywhere */
#searchresultBody #productListing .itemTitle a,
#searchresultBody #productListing .listingDescription,
#searchresultBody #productListing .listingDescription a,
#searchresultBody #productListing .list-model,
#searchresultBody #productListing .list-mfg {
  display: inline-block;
  box-sizing: border-box;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

/* Descriptions often contain long imported text too */
#searchresultBody #productListing .listingDescription {
  width: 100% !important;
  padding-left: 8px;
  padding-right: 8px;
  color: var(--pl-muted);
  line-height: 1.45;
}

/* Images must never force wider cards */
#searchresultBody #productListing .list-image,
#searchresultBody #productListing .list-image a,
#searchresultBody #productListing .list-image img,
#searchresultBody #productListing .listingProductImage {
  max-width: 100%;
}

/* Button and price alignment inside the card */
#searchresultBody #productListing .list-price,
#searchresultBody #productListing .cart-add,
#searchresultBody #productListing .list-more {
  max-width: 100%;
}

#searchresultBody #productListing .gridlayout .list-more,
#searchresultBody #productListing .list-more {
  box-sizing: border-box;
  width: 86%;
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}

/* Fallback for installations where body id differs */
body[id*="search"] #productListing .itemTitle,
body[id*="search"] #productListing .itemTitle a,
body[id*="search"] #productListing .listingDescription {
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-wrap: break-word;
  word-break: break-word;
}

/* Smaller screens */
@media only screen and (max-width: 767px) {
  #searchresultBody #productListing .centerBoxContentsProducts,
  #searchresultBody #productListing .gridlayout {
    padding-left: 10px;
    padding-right: 10px;
  }

  #searchresultBody #productListing .gridlayout .list-more,
  #searchresultBody #productListing .list-more {
    width: 92%;
  }
}
