/* Base & Reset */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }

/* Scroll Reveal - Progressive Enhancement */
@media (prefers-reduced-motion: no-preference) {
  .reveal { opacity: 1; transform: none; transition: opacity 0.8s ease, transform 0.8s ease; }
  .reveal-left { opacity: 1; transform: none; transition: opacity 0.8s ease, transform 0.8s ease; }
  .reveal-right { opacity: 1; transform: none; transition: opacity 0.8s ease, transform 0.8s ease; }
}

.js-enabled .reveal { opacity: 0; transform: translateY(32px); }
.js-enabled .reveal-left { opacity: 0; transform: translateX(-32px); }
.js-enabled .reveal-right { opacity: 0; transform: translateX(32px); }

.js-enabled .reveal.revealed,
.js-enabled .reveal-left.revealed,
.js-enabled .reveal-right.revealed {
  opacity: 1;
  transform: none;
}

/* Image backgrounds */
.hero-image, .img-about, .img-food1, .img-food2, .img-food3, .img-ambiance, .img-chef {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Navbar transition */
#nav.scrolled {
  background: rgba(17, 17, 17, 0.97) !important;
  backdrop-filter: blur(8px);
  box-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #1a1a1a; }
::-webkit-scrollbar-thumb { background: #d13520; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #e84a2e; }

/* Selection */
::selection { background: #f06040; color: white; }

/* Focus visible */
a:focus-visible, button:focus-visible {
  outline: 2px solid #f06040;
  outline-offset: 2px;
}

/* Mobile menu animation */
#mobile-menu {
  animation: slideDown 0.3s ease forwards;
}
@keyframes slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Smooth image loading */
img { image-rendering: auto; }

/* Print styles */
@media print {
  nav, #mobile-toggle, #mobile-menu { display: none !important; }
  body { color: #000; background: #fff; }
  .hero-image, .img-about, .img-food1, .img-food2, .img-food3, .img-ambiance { display: none; }
}
