
/* Match the Keyboard card geometry at the same tablet viewport. */
@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 {
    grid-template-columns:repeat(auto-fill,minmax(min(100%,128px),1fr)); gap:6px; align-items:start;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch > [data-testid^="product-card-"] {
    padding:6px; border-radius:12px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="product-image-"] {
    height:auto; aspect-ratio:4 / 3; margin-bottom:4px;
  }
  .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:12px; line-height:15px; min-height:32px;
  }
  .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 > span:first-child {
    font-size:12px; line-height:16px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="card-units-"] {
    flex-direction:row; flex-wrap:wrap; gap:4px; margin-top:4px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="card-units-"] > button {
    flex:1 1 72px; min-height:44px; height:auto; padding:3px 5px;
    flex-direction:row; align-items:center; justify-content:space-between;
    font-size:10px; line-height:15px; gap:2px 4px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="card-units-"] > button > span {
    display:inline;
  }
}
@media (min-width:1280px) 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%,132px),1fr)); gap:8px; align-items:stretch;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch > [data-testid^="product-card-"] {
    padding: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:1 / 1; margin-bottom:6px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="card-units-"] {
    margin-top:6px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid-touch [data-testid^="card-units-"] > button {
    flex:0 1 auto; min-height:24px; padding:0 8px; justify-content:center; gap:4px;
  }
}
