:root {
    --primary: #FF5200; /* Zomato/Swiggy-ish Orange */
    --primary-dark: #D44000;
    --secondary: #2D3748;
    --bg-light: #F8F9FA;
    --text-dark: #1A202C;
    --text-muted: #718096;
    --white: #FFFFFF;
    --success: #38A169;
    --danger: #E53E3E;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.1);
    --shadow-md: 0 4px 6px rgba(0,0,0,0.1);
    --radius: 12px;
    --font-main: 'Poppins', sans-serif; /* Distinctive typography */
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: var(--font-main);
    background-color: var(--bg-light);
    color: var(--text-dark);
    -webkit-font-smoothing: antialiased;
    padding-bottom: 70px; /* Space for mobile nav */
}

a { text-decoration: none; color: inherit; }

/* Utilities */
.container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }
.btn {
    display: inline-block;
    padding: 12px 24px;
    border-radius: var(--radius);
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    border: none;
}
.btn-primary {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: var(--white);
    box-shadow: 0 4px 15px rgba(255, 82, 0, 0.3);
}
.btn-primary:active { transform: scale(0.96); }

/* Animation Stagger */
.fade-in-up {
    animation: fadeInUp 0.6s ease-out forwards;
    opacity: 0;
    transform: translateY(20px);
}
@keyframes fadeInUp {
    to { opacity: 1; transform: translateY(0); }
}

/* Header */
.app-header {
    background: var(--white);
    padding: 1rem 0;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: var(--shadow-sm);
}
.nav-flex { display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 1.5rem; font-weight: 800; color: var(--primary); letter-spacing: -0.5px; }

/* Cards */
.food-card {
    background: var(--white);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    margin-bottom: 1rem;
    display: flex;
}
.food-img { width: 100px; height: 100px; object-fit: cover; border-radius: var(--radius); margin: 10px; }
.food-info { padding: 10px; flex: 1; display: flex; flex-direction: column; justify-content: center; }
.veg-badge { width: 15px; height: 15px; border: 1px solid var(--success); display: flex; align-items: center; justify-content: center; padding: 2px; }
.veg-badge::after { content: ''; width: 8px; height: 8px; background: var(--success); border-radius: 50%; }

/* Mobile Bottom Nav */
.mobile-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--white);
    display: flex;
    justify-content: space-around;
    padding: 12px 0;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
    z-index: 999;
}
.nav-item { display: flex; flex-direction: column; align-items: center; font-size: 0.75rem; color: var(--text-muted); }
.nav-item.active { color: var(--primary); font-weight: 600; }
.nav-item i { font-size: 1.25rem; margin-bottom: 4px; }
