
/* Smaller cards only when a retail touch tablet uses Touch mode. */
@media (min-width:641px) and (max-width:1279px) and (pointer:coarse) {
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch {
    grid-template-columns:repeat(auto-fill,minmax(min(100%,104px),1fr)); gap:4px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch > [data-testid^="product-card-"] {
    padding:4px; border-radius:8px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="product-image-"] {
    aspect-ratio:5 / 3; margin-bottom:3px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="product-image-"] + div {
    font-size:10px; line-height:13px; min-height:26px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch > [data-testid^="product-card-"] > .mt-0\.5 {
    flex-wrap:wrap; row-gap:1px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="card-units-"] {
    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-height:36px; padding:2px 4px; font-size:10px; line-height:14px;
  }
}
