/* Pekin Restaurant — Premium styles */

:root {
  --pekin-red: #8B0000;
  --pekin-gold: #C9A962;
  --pekin-dark: #1a1a1a;
  --pekin-charcoal: #2d2d2d;
  --pekin-cream: #F5F0E8;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', system-ui, sans-serif;
}

.font-display {
  font-family: 'Noto Serif TC', 'Noto Serif', Georgia, serif;
}

.font-body {
  font-family: 'Inter', system-ui, sans-serif;
}

.gold-line {
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--pekin-gold), transparent);
}

.nav-scrolled {
  background-color: rgba(26, 26, 26, 0.97) !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(201, 169, 98, 0.15);
}

.menu-sidebar {
  scrollbar-width: thin;
  scrollbar-color: var(--pekin-gold) transparent;
}

.menu-sidebar::-webkit-scrollbar { width: 4px; }
.menu-sidebar::-webkit-scrollbar-thumb {
  background: var(--pekin-gold);
  border-radius: 2px;
}

.menu-nav-link {
  transition: all 0.25s ease;
  border-left: 2px solid transparent;
}

.menu-nav-link:hover,
.menu-nav-link.active {
  color: var(--pekin-gold);
  border-left-color: var(--pekin-red);
  background: rgba(139, 0, 0, 0.08);
}

.menu-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.menu-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.gallery-item { overflow: hidden; }
.gallery-item img { transition: transform 0.5s ease; }
.gallery-item:hover img { transform: scale(1.05); }

.form-input:focus {
  outline: none;
  border-color: var(--pekin-gold);
  box-shadow: 0 0 0 2px rgba(201, 169, 98, 0.2);
}

.mobile-menu-open { overflow: hidden; }

.hero-overlay {
  background: linear-gradient(
    135deg,
    rgba(26, 26, 26, 0.88) 0%,
    rgba(26, 26, 26, 0.65) 50%,
    rgba(139, 0, 0, 0.12) 100%
  );
}

.lang-btn {
  transition: background 0.2s, color 0.2s;
}

.lang-btn:hover {
  background: rgba(201, 169, 98, 0.1);
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-up {
  animation: fadeUp 0.7s ease forwards;
}

.site-logo {
  display: inline-flex;
  align-items: center;
}

.site-logo-img {
  height: 3rem;
  width: auto;
  max-width: 9rem;
  object-fit: contain;
  border-radius: 4px;
}

.site-logo-img--sm {
  height: 2.25rem;
  max-width: 6.5rem;
}

.site-logo-img--footer {
  height: 3.5rem;
  max-width: 10rem;
}

.anpc-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.anpc-badge {
  height: 50px;
  width: auto;
  max-width: 250px;
  display: block;
}
