html, body, #root { height: 100%; margin: 0; padding: 0; overflow: hidden; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: #f5f5f5;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
* { box-sizing: border-box; }

/* Tiện ích: ẩn scrollbar nhưng vẫn cuộn được */
.hide-scrollbar {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.hide-scrollbar::-webkit-scrollbar { display: none; width: 0; height: 0; }

/* Bounce icon giỏ hàng khi thêm món — dùng key prop để re-trigger animation */
@keyframes cart-bounce {
  0%   { transform: scale(1); }
  20%  { transform: scale(1.35) rotate(-8deg); }
  45%  { transform: scale(0.85) rotate(6deg); }
  70%  { transform: scale(1.12) rotate(-3deg); }
  100% { transform: scale(1) rotate(0); }
}
.cart-bounce {
  display: inline-block;
  animation: cart-bounce 0.5s cubic-bezier(0.28, 0.84, 0.42, 1);
  transform-origin: center;
}

/* Table alert — chuông nhấp nháy khi khách gọi nhân viên */
@keyframes table-alert-blink {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.35; transform: scale(1.12); }
}
.table-alert-blink {
  animation: table-alert-blink 0.7s ease-in-out infinite;
  transform-origin: center;
}
