
/* Dense, aligned unit choices on retail Touch cards. Keep every unit and price. */
@media (min-width:641px) and (pointer:coarse) {
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="card-units-"] {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; margin-top:3px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="card-units-"] > button {
    min-width:0; min-height:36px; height:auto; padding:2px;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:1px; line-height:12px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="card-units-"] > button > span:first-child {
    font-size:11px; line-height:12px; text-align:center; white-space:normal;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="card-units-"] > button > span:last-child {
    font-family:inherit; font-variant-numeric:tabular-nums; font-size:10px;
    line-height:12px; text-align:center; white-space:normal; overflow-wrap:anywhere;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="card-units-"] > button:last-child:nth-child(odd) {
    grid-column:1 / -1; flex-direction:row; justify-content:space-between; padding:2px 6px;
  }
}
