/* Luxury Catering Landing Page Styles */
:root { 
  --luxury-bg: #0b0b0c; 
  --luxury-surface: #1a1b1d; 
  --luxury-ivory: #f8f5ef; 
  --luxury-gold: #c9a227; 
}

body { 
  font-family: 'Assistant', system-ui, sans-serif; 
  background: var(--luxury-bg); 
  color: var(--luxury-ivory); 
  -webkit-font-smoothing: antialiased; 
}

h1, h2, h3, h4 { 
  font-family: 'Heebo', 'Assistant', sans-serif; 
  letter-spacing: 0.5px; 
}

/* RTL logical helpers */
[dir="rtl"] .ltr-only { 
  display: none !important; 
}

.gold-gradient { 
  background: linear-gradient(90deg, #c9a227, #e5c971); 
}

/* Reveal animations */
.reveal { 
  opacity: 0; 
  transform: translateY(28px); 
  transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.4, 0.12, 0.1, 1); 
}

.reveal.in-view { 
  opacity: 1; 
  transform: translateY(0); 
}

.reveal-delayed { 
  transition-delay: 0.25s; 
}

.reveal-delayed2 { 
  transition-delay: 0.45s; 
}

/* Lightbox */
#lightboxOverlay { 
  backdrop-filter: blur(4px); 
}

/* Focus outline override */
:focus-visible { 
  outline: 2px solid var(--luxury-gold); 
  outline-offset: 2px; 
}

/* Hero parallax container */
.parallax-hero { 
  will-change: transform; 
}

/* Masonry alternative simplified for consistent heights: using CSS grid auto-rows */
.gallery-grid { 
  grid-auto-rows: 200px; 
}

.gallery-grid img { 
  object-fit: cover; 
  width: 100%; 
  height: 100%; 
}

html { 
  scroll-behavior: smooth; 
}

/* Scrollbar subtle styling (not critical) */
::-webkit-scrollbar { 
  width: 10px; 
}

::-webkit-scrollbar-track { 
  background: #121212; 
}

::-webkit-scrollbar-thumb { 
  background: #2a2b2e; 
  border-radius: 6px; 
  border: 2px solid #121212; 
}

::-webkit-scrollbar-thumb:hover { 
  background: #3a3b3e; 
}

/* Tailwind custom utilities */
.luxury-bg { color: var(--luxury-bg); }
.luxury-surface { color: var(--luxury-surface); }
.luxury-ivory { color: var(--luxury-ivory); }
.luxury-gold { color: var(--luxury-gold); }

.bg-luxury-bg { background-color: var(--luxury-bg); }
.bg-luxury-surface { background-color: var(--luxury-surface); }
.bg-luxury-ivory { background-color: var(--luxury-ivory); }
.bg-luxury-gold { background-color: var(--luxury-gold); }

.text-luxury-bg { color: var(--luxury-bg); }
.text-luxury-surface { color: var(--luxury-surface); }
.text-luxury-ivory { color: var(--luxury-ivory); }
.text-luxury-gold { color: var(--luxury-gold); }

.border-luxury-bg { border-color: var(--luxury-bg); }
.border-luxury-surface { border-color: var(--luxury-surface); }
.border-luxury-ivory { border-color: var(--luxury-ivory); }
.border-luxury-gold { border-color: var(--luxury-gold); }

.ring-luxury-bg { --tw-ring-color: var(--luxury-bg); }
.ring-luxury-surface { --tw-ring-color: var(--luxury-surface); }
.ring-luxury-ivory { --tw-ring-color: var(--luxury-ivory); }
.ring-luxury-gold { --tw-ring-color: var(--luxury-gold); }

/* Opacity variations */
.text-luxury-ivory\/85 { color: rgba(248, 245, 239, 0.85); }
.text-luxury-ivory\/80 { color: rgba(248, 245, 239, 0.8); }
.text-luxury-ivory\/75 { color: rgba(248, 245, 239, 0.75); }
.text-luxury-ivory\/70 { color: rgba(248, 245, 239, 0.7); }
.text-luxury-ivory\/60 { color: rgba(248, 245, 239, 0.6); }
.text-luxury-ivory\/50 { color: rgba(248, 245, 239, 0.5); }
.text-luxury-ivory\/40 { color: rgba(248, 245, 239, 0.4); }

.bg-luxury-surface\/70 { background-color: rgba(26, 27, 29, 0.7); }
.bg-luxury-surface\/60 { background-color: rgba(26, 27, 29, 0.6); }
.bg-luxury-surface\/50 { background-color: rgba(26, 27, 29, 0.5); }
.bg-luxury-surface\/40 { background-color: rgba(26, 27, 29, 0.4); }
.bg-luxury-surface\/30 { background-color: rgba(26, 27, 29, 0.3); }
.bg-luxury-surface\/20 { background-color: rgba(26, 27, 29, 0.2); }

.bg-luxury-gold\/90 { background-color: rgba(201, 162, 39, 0.9); }

.border-luxury-ivory\/15 { border-color: rgba(248, 245, 239, 0.15); }
.border-luxury-ivory\/10 { border-color: rgba(248, 245, 239, 0.1); }
.border-luxury-ivory\/5 { border-color: rgba(248, 245, 239, 0.05); }

.ring-luxury-ivory\/20 { --tw-ring-color: rgba(248, 245, 239, 0.2); }
.ring-luxury-ivory\/15 { --tw-ring-color: rgba(248, 245, 239, 0.15); }
.ring-luxury-ivory\/10 { --tw-ring-color: rgba(248, 245, 239, 0.1); }

.ring-luxury-gold\/70 { --tw-ring-color: rgba(201, 162, 39, 0.7); }
.ring-luxury-gold\/60 { --tw-ring-color: rgba(201, 162, 39, 0.6); }
.ring-luxury-gold\/50 { --tw-ring-color: rgba(201, 162, 39, 0.5); }
.ring-luxury-gold\/40 { --tw-ring-color: rgba(201, 162, 39, 0.4); }

/* Custom shadows */
.shadow-soft { box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.4); }
.shadow-gold { box-shadow: 0 0 0 1px rgba(201, 162, 39, 0.25), 0 4px 18px -4px #000; }

/* Animations */
@keyframes goldLine { 
  0% { width: 0; opacity: 0; } 
  30% { opacity: 1; } 
  100% { width: 100%; opacity: 1; } 
}

@keyframes kosherPop { 
  0% { transform: scale(0.4); opacity: 0; } 
  60% { transform: scale(1.08); opacity: 1; } 
  100% { transform: scale(1); opacity: 1; } 
}

.animate-gold-line { 
  animation: goldLine 1.6s cubic-bezier(0.77, 0.02, 0.19, 1) forwards; 
}

.animate-kosher-pop { 
  animation: kosherPop 0.6s ease-out forwards; 
}

/* Font families */
.font-display { font-family: 'Heebo', 'Assistant', ui-sans-serif; }
.font-sans { font-family: 'Assistant', ui-sans-serif, system-ui; }

/* Scrollbar hide utility for mobile testimonials */
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* Mobile testimonials scroll snap points */
@media (max-width: 768px) {
  .scrollbar-hide {
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
  }
}
