.brand-mark { overflow:hidden; }
.brand-mark img { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.menu-card { min-width:0; overflow:hidden; }
.menu-card .bottom { min-width:0; width:100%; }
.price { min-width:0; flex:1 1 auto; white-space:nowrap; }
.menu-control-slot { width:106px; min-width:106px; height:42px; display:flex; align-items:center; justify-content:flex-end; flex:0 0 106px; }
.menu-stepper { width:106px; height:42px; display:grid; grid-template-columns:34px minmax(24px,1fr) 34px; align-items:center; gap:2px; padding:3px; }
.menu-stepper-btn { width:34px; height:34px; }
.menu-stepper-qty { min-width:0; width:100%; }
.menu-product-image { display:block; width:100%; aspect-ratio:4/3; border-radius:14px; object-fit:cover; background:#fff1df; border:1px solid var(--line); }
.menu-card-top { min-width:0; }
.selected-badge { flex:0 0 auto; }

@media (max-width: 620px) {
  .customer-layout { padding:14px 12px 92px; }
  .menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .menu-card { min-width:0; min-height:272px; padding:12px; }
  .menu-card h3 { font-size:16px; min-height:39px; }
  .menu-card .bottom { display:grid; grid-template-columns:1fr; gap:8px; align-items:end; }
  .price { font-size:16px; line-height:1.1; }
  .menu-control-slot { width:100%; min-width:0; flex-basis:auto; justify-content:flex-end; }
  .menu-stepper { width:102px; }
  .add-btn { width:42px; height:42px; }
  .selected-badge { max-width:58px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .cart-handle { width:48px; height:62px; }
  .cart-handle-count { left:-6px; }
}

@media (max-width: 380px) {
  .menu-card { padding:10px; min-height:260px; }
  .menu-card h3 { font-size:15px; }
  .price { font-size:15px; }
  .menu-stepper { width:96px; grid-template-columns:31px minmax(22px,1fr) 31px; }
  .menu-stepper-btn { width:31px; height:34px; }
}
