/* Mwi_ProductAvailability: "Availability:" rows on the product page */
.mwi-avail { display: block; margin: 6px 0 2px; }
.mwi-avail-row { display: flex; align-items: flex-start; gap: 8px; margin: 5px 0; line-height: 18px; font-weight: 400; color: #222529; }
.mwi-avail-row svg { flex: 0 0 19px; width: 19px; height: 19px; margin-top: 0; } /* also inline in Rows::render */
.mwi-avail--in { color: #1f7a3a; font-weight: 600; }
.mwi-avail--out svg { color: #818692; }
.mwi-avail--unavailable svg { color: #d0021b; }
.mwi-avail--po svg, .mwi-avail--ship svg { color: #1979c3; }
.mwi-avail--backorder svg { color: #b26a00; }
.mwi-avail--note svg, .mwi-avail--special svg { color: #818692; }
.mwi-avail .shiplink-sm { font-weight: 400; white-space: nowrap; }
/* "Not currently available" (box-tocart.mwi-not-available, set by addtocart.phtml or the option script):
   Add to Cart greyed out and not clickable (Magento's own script re-enables a disabled button on load),
   express checkout buttons hidden */
.box-tocart.mwi-not-available #product-addtocart-button {
    background: #c4c7cc !important; border-color: #c4c7cc !important; color: #fff !important;
    opacity: 1; cursor: not-allowed; box-shadow: none; pointer-events: none;
}
.box-tocart.mwi-not-available .mwi-wallet-buttons,
.box-tocart.mwi-not-available #instant-purchase { display: none !important; }
/* Category and search result tiles (Jason 2026-11-03): headline, "Ships today", delivery note */
.mwi-tile-availability { margin: 4px 0 8px; font-size: 13px; }
.mwi-tile-availability .mwi-avail { margin: 0; }
.mwi-tile-availability .mwi-avail-row { gap: 6px; margin: 3px 0; line-height: 17px; }
.mwi-tile-availability .mwi-avail-row svg { flex: 0 0 16px !important; width: 16px !important; height: 16px !important; }
.mwi-tile-delivery { padding-left: 22px; color: #555; } /* under the text, not the icons */
/* Grid tiles: every tile on the page as tall as the tallest, Add to Cart / View Product at the bottom (Jason 2026-11-03).
   CSS grid with equal rows (grid-auto-rows: 1fr) replaces Porto's floated items; the column counts copy Porto's
   widths (2 under 576 px, 3, 4 from 1200 px for columns4). margin-top auto pushes the buttons down (!important: Porto sets 9px). */
.products-grid.columns3 ol.product-items,
.products-grid.columns4 ol.product-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; }
@media (min-width: 576px) {
    .products-grid.columns3 ol.product-items,
    .products-grid.columns4 ol.product-items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
    .products-grid.columns4 ol.product-items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.products-grid.columns3 ol.product-items > li.product-item,
.products-grid.columns4 ol.product-items > li.product-item { width: auto !important; float: none; display: flex; flex-direction: column; }
.products-grid li.product-item > .product-item-info,
.products-grid .product-item-info > .porto-section,
.products-grid .product-item-info .product-item-details { display: flex; flex-direction: column; flex: 1 1 auto; }
.products-grid .product-item-details > .product-item-inner { margin-top: auto !important; }
/* Rows 40 px apart (Jason 2026-11-03: at least double Porto's 19 px), set by the grid instead of each item's margin */
.products-grid.columns3 ol.product-items,
.products-grid.columns4 ol.product-items { row-gap: 40px; }
.products-grid ol.product-items > li.product-item { margin-bottom: 0 !important; }
/* Add to Cart / View Product the full width of the tile, same height, 5 px corners (Jason 2026-11-03) */
.products-grid .product-item-actions,
.products-grid .product-item-actions .actions-primary,
.products-grid .product-item-actions form,
.products-grid .product-item-actions .actions-primary > a { display: block; width: 100%; }
.products-grid .product-item-actions .tocart,
.products-grid .product-item-actions .toitem { width: 100%; height: 36px; line-height: 34px; border-radius: 5px !important; }
