/* Premium Shop: equal metadata rows while retaining the catalog's existing order and columns. */
body[data-wb-product-align="premium-shop"] :is(#featured, #new) > .grid {
  align-items: stretch;
}
body[data-wb-product-align="premium-shop"] :is(#featured, #new) > .grid > article {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
  height: 100%;
}
body[data-wb-product-align="premium-shop"] :is(#featured, #new) > .grid > article > a:first-child {
  display: block;
  flex: 0 0 auto;
}
body[data-wb-product-align="premium-shop"] :is(#featured, #new) > .grid > article > div {
  display: grid;
  flex: 1 1 auto;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 1.125rem minmax(3em, 1fr) auto;
  gap: 8px;
  align-content: stretch;
}
body[data-wb-product-align="premium-shop"] #featured > .grid > article > div {
  grid-template-rows: 1.125rem minmax(3em, 1fr) auto auto;
}
/* This empty grid item reserves the category row even when a product has no category. */
body[data-wb-product-align="premium-shop"] :is(#featured, #new) > .grid > article > div::before {
  content: "";
  grid-area: 1 / 1;
  min-height: 1.125rem;
}
body[data-wb-product-align="premium-shop"] :is(#featured, #new) > .grid > article > div > p {
  grid-area: 1 / 1;
  min-width: 0;
  height: 1.125rem;
  margin: 0;
  line-height: 1.5;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body[data-wb-product-align="premium-shop"] :is(#featured, #new) > .grid > article > div > a:first-of-type {
  grid-area: 2 / 1;
  align-self: start;
  min-width: 0;
  min-height: 3em;
  margin: 0;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body[data-wb-product-align="premium-shop"] :is(#featured, #new) > .grid > article > div > div {
  grid-area: 3 / 1;
  align-self: start;
  min-height: 1.5em;
  margin: 0;
  line-height: 1.5;
}
body[data-wb-product-align="premium-shop"] #featured > .grid > article > div > a:last-of-type {
  grid-area: 4 / 1;
  align-self: end;
  width: 100%;
  min-height: 40px;
  margin: 4px 0 0;
}
