/* IVORA catalog card alignment (Research Compounds and Wholesale).
   Every card in a row is a subgrid of that row, so its sections share row heights:
   image, name, availability, strength menu, price and button all line up, and
   Add to Cart sits at the bottom of every card. Names may wrap to two lines without
   changing card height. Cards hidden by search/filters stay hidden. */

#grid{align-items:stretch!important;grid-auto-rows:auto!important}
#grid > .card,#grid > .item{--pad:16px;align-self:stretch!important;height:auto!important;min-height:0!important;row-gap:0!important;
  grid-template-columns:var(--pad) minmax(0,1fr) var(--pad)!important;padding:0 0 18px!important;box-sizing:border-box!important}
#grid > .card[style*="none"],#grid > .item[hidden]{display:none!important}

/* ---------- Research Compounds: 8 rows ---------- */
#grid > .card:not([style*="none"]){display:grid!important;grid-row:span 8!important;grid-template-rows:subgrid!important}
#grid > .card > .cardbody{display:contents!important}
#grid > .card > .product-image-frame{grid-row:1!important;grid-column:1 / -1!important}
#grid > .card > .cardbody > *{grid-column:2!important;min-width:0!important;box-sizing:border-box!important}
#grid > .card .cardbody > strong{grid-row:2!important;align-self:start!important;margin:14px 0 0!important;line-height:1.25!important;min-height:2.5em!important;overflow-wrap:anywhere!important;display:block!important}
#grid > .card .cardbody > .research-stock{grid-row:3!important;align-self:start!important;display:block!important;margin:4px 0 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#grid > .card .cardbody > .research-strength-label{grid-row:4!important;align-self:end!important;margin:10px 0 6px!important}
#grid > .card .cardbody > .ivora-variant-picker{grid-row:5!important;align-self:stretch!important;margin:0!important;display:flex!important;flex-direction:column!important}
#grid > .card .cardbody > .ivora-variant-picker > .ivora-variant-trigger{flex:1 1 auto!important}
#grid > .card .cardbody > .research-strength-select{grid-row:5!important}
#grid > .card .cardbody > .research-variant-price{grid-row:6!important;align-self:center!important;margin:10px 0!important;line-height:1.2!important;min-height:0!important}
#grid > .card .cardbody > .ivora-email-stock{grid-row:7!important;align-self:end!important;margin:0 0 8px!important}
#grid > .card .cardbody > .research-add-cart{grid-row:8!important;align-self:end!important;width:100%!important;margin:0!important}

/* ---------- Wholesale: 10 rows ---------- */
#grid > .item:not([hidden]){display:grid!important;grid-row:span 10!important;grid-template-rows:subgrid!important}
#grid > .item > .content,#grid > .item .wholesale-price{display:contents!important}
#grid > .item > .pic{grid-row:1!important;grid-column:1 / -1!important}
#grid > .item > .content > *,#grid > .item .wholesale-price > *{grid-column:2!important;min-width:0!important;box-sizing:border-box!important}
#grid > .item .content > .tag{grid-row:2!important;align-self:start!important;margin:14px 0 0!important}
#grid > .item .content > h3{grid-row:3!important;align-self:start!important;margin:6px 0 0!important;line-height:1.25!important;display:grid!important;grid-template-rows:minmax(2.5em,auto) auto!important;justify-items:start!important;align-items:start!important;overflow-wrap:anywhere!important}
#grid > .item .content > h3 > .ivora-availability{margin:4px 0 0!important}
#grid > .item .content > p{grid-row:4!important;align-self:start!important;margin:6px 0 0!important}
#grid > .item .content > .per-vial-price{grid-row:5!important;align-self:end!important;margin:8px 0 0!important}
#grid > .item .wholesale-price > .choose-label{grid-row:6!important;align-self:end!important;margin:10px 0 6px!important}
#grid > .item .wholesale-price > .ivora-ws-picker{grid-row:7!important;align-self:stretch!important;margin:0!important;display:flex!important;flex-direction:column!important}
#grid > .item .wholesale-price > .ivora-ws-picker > .ivora-ws-trigger{flex:1 1 auto!important}
#grid > .item .wholesale-price > select{grid-row:7!important}
#grid > .item .wholesale-price > .selected-price{grid-row:8!important;align-self:center!important;margin:0!important;padding-top:10px!important;line-height:1.2!important}
#grid > .item .wholesale-price > small{grid-row:9!important;align-self:start!important;margin:4px 0 12px!important}
#grid > .item .content > .add-cart{grid-row:10!important;align-self:end!important;width:100%!important;margin:0!important}

/* ---------- Research Compounds: categories as a full-width row, like Wholesale ---------- */
.shell{display:block!important;max-width:1450px!important}
.shell > .sidebar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px 14px!important;margin:0 0 16px!important;padding:12px 16px!important}
.shell > .sidebar h2{margin:0!important;font-size:17px!important}
.shell > .sidebar #filters{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
.shell > .sidebar .filter{width:auto!important;display:inline-block!important;padding:8px 12px!important;font-size:14px!important;border:1px solid #d3def0!important}

@media(max-width:750px){
  #grid > .card,#grid > .item{--pad:7px;padding-bottom:9px!important}
  #grid > .card .cardbody > strong,#grid > .item .content > .tag{margin-top:8px!important}
  #grid > .card .cardbody > .research-strength-label,#grid > .item .wholesale-price > .choose-label{margin:6px 0 4px!important}
  #grid > .card .cardbody > .research-variant-price{margin:6px 0!important}
  #grid > .card .cardbody > .ivora-email-stock{margin:0 0 6px!important;padding:6px 4px!important}
  #grid > .item .wholesale-price > .selected-price{padding-top:6px!important}
  #grid > .item .wholesale-price > small{margin:3px 0 8px!important}
  .shell > .sidebar{padding:10px!important;gap:6px!important}
  .shell > .sidebar h2{flex:0 0 100%!important;font-size:15px!important}
  .shell > .sidebar .filter{padding:6px 9px!important;font-size:12px!important}
}
