
/* Retail tablet: desktop arrangement with smaller cards and a compact footer.
   Fine-pointer desktops, phones and configured Gym tenants retain their layout. */
@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]) {
    --retail-tablet-layout: 1;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-workspace {
    flex-direction:row;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-cart-panel {
    display:flex; position:static; inset:auto; z-index:auto;
    width:clamp(280px,36vw,360px); min-height:0; max-height:none;
    border-top:0; border-left:1px solid var(--masivi-border);
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-mobile-cart-bar,
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-mobile-cart-close {
    display:none;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-catalog {
    min-height:0; padding:0 8px 8px; gap:6px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-search-row {
    height:52px; flex-shrink:0;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-search-row > input,
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="resume-last-product"] {
    height:44px; font-size:12px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-product-grid {
    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 > [data-testid^="product-card-"] {
    min-width:0; padding:6px; overflow-wrap:anywhere;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid^="product-image-"] {
    aspect-ratio:4 / 3; margin-bottom:4px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [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]) [data-testid^="card-units-"] > button {
    flex:1 1 72px; min-width:0; min-height:44px; height:auto; padding:3px 5px;
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2px 4px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .phone-cart-heading {
    height:auto; min-height:44px; flex-shrink:0; flex-wrap:wrap; gap:2px; padding:4px 8px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .phone-cart-heading-actions > button {
    height:36px; padding:0 6px; font-size:11px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-cart-panel > div:has(> [data-testid="pos-customer-btn"]) {
    padding:4px 8px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="pos-customer-btn"] {
    min-height:40px; padding:5px 8px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="cart-items"] {
    min-height:0; padding:4px 6px; overscroll-behavior:contain;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-cart-panel > .border-t {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px 8px;
    flex-shrink:0; min-height:0; max-height:45%; overflow-y:auto; overscroll-behavior:contain;
    padding:6px 8px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-cart-panel > .border-t > * {
    grid-column:1 / -1; margin-top:0; margin-bottom:0; min-width:0;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-cart-panel > .border-t > .text-sm {
    font-size:12px; line-height:16px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) .pos-cart-panel > .border-t > div:has(> [data-testid="cart-total-trigger"]) {
    grid-column:1; padding-top:0; border-top:0;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="cart-total-trigger"] {
    min-height:44px; padding:4px 6px; flex-wrap:wrap; gap:0 4px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="cart-total-trigger"] > span:first-child {
    font-size:12px; line-height:16px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="cart-total"] {
    font-size:clamp(14px,1.6vw,18px); line-height:22px; overflow-wrap:anywhere;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="checkout-button"],
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="checkout-open-shift-btn"] {
    display:flex; grid-column:2; min-height:44px; height:auto; padding:4px 6px;
    font-size:12px; line-height:16px; white-space:normal; gap:4px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="checkout-button"] > span {
    display:none;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="cart-actions"] {
    gap:4px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="cart-actions"] > button {
    height:40px; min-width:0; padding:2px; gap:0; font-size:10px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="cart-actions"] kbd {
    display:none;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="cart-actions"] svg {
    width:16px; height:16px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="cart-actions"] > button > span:last-child {
    font-size:10px; line-height:14px;
  }
  .app-shell:not([data-gym-tenant]) [data-testid="pos-page"]:not([data-phone-cashier]) [data-testid="print-draft-non-tobacco-btn"] {
    height:32px; font-size:11px;
  }
}
