/* Bổ sung nhỏ ngoài Tailwind CDN */
html {
  scroll-behavior: smooth;
}

::selection {
  background: #d6452f;
  color: #fbf4ec;
}

/* Cuộn tới anchor không bị header dính (cao 64px) che — chừa 80px */
:target,
section[id],
main[id] {
  scroll-margin-top: 80px;
}

/* Ẩn thanh cuộn ngang của slider thực đơn */
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.no-scrollbar::-webkit-scrollbar {
  display: none;
}

/* Hiệu ứng mở/đóng modal đặt bàn */
#booking-modal .modal-overlay {
  opacity: 0;
  transition: opacity 0.25s ease;
}
#booking-modal .modal-card {
  opacity: 0;
  transform: translateY(10px) scale(0.96);
  transition: opacity 0.25s ease, transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
#booking-modal.is-open .modal-overlay {
  opacity: 1;
}
#booking-modal.is-open .modal-card {
  opacity: 1;
  transform: translateY(0) scale(1);
}
@media (prefers-reduced-motion: reduce) {
  #booking-modal .modal-overlay,
  #booking-modal .modal-card {
    transition: none;
  }
}

/* Nút "Đặt bàn" nổi — vòng hào quang pulse kêu gọi (kèm bóng đổ) */
.cta-ring {
  animation: cta-ring 1.9s ease-out infinite;
}
@keyframes cta-ring {
  0% {
    box-shadow: 0 12px 24px -6px rgba(148, 41, 26, 0.45), 0 0 0 0 rgba(214, 69, 47, 0.55);
  }
  70% {
    box-shadow: 0 12px 24px -6px rgba(148, 41, 26, 0.45), 0 0 0 14px rgba(214, 69, 47, 0);
  }
  100% {
    box-shadow: 0 12px 24px -6px rgba(148, 41, 26, 0.45), 0 0 0 0 rgba(214, 69, 47, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cta-ring {
    animation: none;
    box-shadow: 0 12px 24px -6px rgba(148, 41, 26, 0.45);
  }
}

/* Hiệu ứng menu mobile */
#mobile-menu .mm-overlay {
  opacity: 0;
  transition: opacity 0.25s ease;
}
#mobile-menu .mm-panel {
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.22s ease, transform 0.26s cubic-bezier(0.16, 1, 0.3, 1);
}
#mobile-menu.is-open .mm-overlay {
  opacity: 1;
}
#mobile-menu.is-open .mm-panel {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  #mobile-menu .mm-overlay,
  #mobile-menu .mm-panel {
    transition: none;
  }
}

/* Hiệu ứng lightbox xem ảnh combo */
#lightbox .lb-overlay {
  opacity: 0;
  transition: opacity 0.25s ease;
}
#lightbox .lb-card {
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 0.25s ease, transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
#lightbox.is-open .lb-overlay {
  opacity: 1;
}
#lightbox.is-open .lb-card {
  opacity: 1;
  transform: scale(1);
}
@media (prefers-reduced-motion: reduce) {
  #lightbox .lb-overlay,
  #lightbox .lb-card {
    transition: none;
  }
}
