/* =====================================================
 * 86 system styles — append to styles.css
 * These rules style the "sold out" state for menu items
 * and the cart banner that appears when 86'd items are removed.
 * ===================================================== */

/* Menu card 86 state */
[data-item-id].is-86 {
  position: relative;
  opacity: 0.55;
  filter: saturate(0.7);
}
[data-item-id].is-86::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 14px,
    rgba(193, 57, 61, 0.05) 14px,
    rgba(193, 57, 61, 0.05) 28px
  );
  pointer-events: none;
}
[data-item-id].is-86 .item-image,
[data-item-id].is-86 .menu-item-image {
  filter: grayscale(0.4);
}

/* The disabled add-to-cart button */
.is-86-disabled,
button.is-86-disabled,
.add-to-cart.is-86-disabled {
  background: #efe9e0 !important;
  color: #8a6d00 !important;
  cursor: not-allowed !important;
  border-color: #d8d4cc !important;
  pointer-events: none;
  text-transform: none;
  letter-spacing: 0;
}

/* Cart banner that appears when 86'd items are auto-removed */
.cart-86-banner {
  background: #fdecec;
  color: #c1393d;
  border-left: 3px solid #c1393d;
  padding: 12px 16px;
  border-radius: 8px;
  margin: 0 0 12px 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  line-height: 1.4;
  animation: cart-86-banner-in 0.2s ease-out;
}
.cart-86-banner-msg { flex: 1; }
.cart-86-banner-close {
  background: none;
  border: none;
  color: #c1393d;
  font-size: 18px;
  line-height: 1;
  padding: 0 4px;
  cursor: pointer;
  flex-shrink: 0;
  opacity: 0.7;
}
.cart-86-banner-close:hover { opacity: 1; }
@keyframes cart-86-banner-in {
  from { transform: translateY(-8px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}

/* When the restaurant is closed AND items are 86'd, the closed banner still wins
   — these styles assume the closed banner is rendered separately and doesn't conflict */
