@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800;900&family=Outfit:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root {
  --brand-red: #C8102E;
  --brand-red-dark: #9B0B21;
  --brand-red-light: #FEECEF;
  --brand-green: #006847;
  --brand-green-dark: #004D34;
  --brand-green-light: #E6F4EA;
  --brand-cream: #FAF7F2;
  --brand-gold: #D4A373;
}

* {
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
}

body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  background-color: var(--brand-cream);
  color: #1C1917;
  margin: 0;
  padding: 0;
  overscroll-behavior-y: none;
}

h1, h2, h3, h4, .font-heading {
  font-family: 'Outfit', sans-serif;
}

.font-arabic {
  font-family: 'Cairo', sans-serif;
}

/* Hide scrollbars for clean app look */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Bottom Bar Floating Dock with Rounded Corners */
.bottom-floating-dock {
  border-radius: 26px;
  box-shadow: 0 10px 30px -5px rgba(28, 25, 23, 0.12), 0 0 1px 1px rgba(28, 25, 23, 0.05);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

/* Dish Card Soft Shadow */
.dish-card {
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
}

.dish-card:active {
  transform: scale(0.985);
}

/* Banner Carousel styling */
.banner-carousel {
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}

.banner-slide {
  scroll-snap-align: center;
}

/* Pulsing animated badge */
@keyframes pulse-subtle {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.05); opacity: 0.9; }
}

.animate-pulse-subtle {
  animation: pulse-subtle 2.5s infinite ease-in-out;
}

/* Safe area insets for iOS devices */
.pb-safe {
  padding-bottom: env(safe-area-inset-bottom, 20px);
}
.pt-safe {
  padding-top: env(safe-area-inset-top, 10px);
}

/* Glass effect for light theme */
.glass-light {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Custom shimmer animation */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Desktop iPhone Frame Mockup */
.iphone-frame {
  width: 412px;
  height: 860px;
  border: 12px solid #1C1917;
  border-radius: 54px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.iphone-notch {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: 125px;
  height: 32px;
  background-color: #1C1917;
  border-radius: 20px;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 12px;
}

.iphone-notch::after {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #111827;
  border: 1px solid #374151;
}

/* Active tab pill ripple */
.tab-active {
  background-color: var(--brand-red);
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(200, 16, 46, 0.35);
}

/* Modal animation */
@keyframes slideUp {
  from { transform: translateY(100%); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.animate-slide-up {
  animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.animate-fade-in {
  animation: fadeIn 0.2s ease-out forwards;
}
