root = Card([header, specialCallout, vegFilter, menuTabs, hoursSection])
header = CardHeader("☕ Brew & Bite Café", "Fresh daily • Local ingredients")
specialCallout = Callout("success", "Today's Special", "🍑 Peach Iced Tea + Blueberry Scone — $6.50 (save $1.50)")
vegFilter = Card([vegLabel, vegSwitch], "clear", "row", "m", "center")
vegLabel = TextContent("Show vegetarian only", "default")
vegSwitch = SwitchGroup("veg-filter", [vegSwitchItem], "clear")
vegSwitchItem = SwitchItem("Vegetarian", "Filter menu to show only vegetarian items", "veg-only", false)
menuTabs = Tabs([drinksTab, foodTab])
drinksTab = TabItem("drinks", "Drinks", [drinksTable])
drinksTable = Table([drinkNameCol, drinkPriceCol, drinkVegCol])
drinkNameCol = Col("Drink", ["Espresso", "Cappuccino", "Latte", "Cold Brew", "Peach Iced Tea", "Matcha Latte", "Hot Chocolate", "Chai Latte"])
drinkPriceCol = Col("Price", ["$3.00", "$4.50", "$5.00", "$4.00", "$4.50", "$5.50", "$4.50", "$5.00"])
drinkVegCol = Col("Veg", ["✓", "✓", "✓", "✓", "✓", "✓", "✓", "✓"])
foodTab = TabItem("food", "Food", [foodTable])
foodTable = Table([foodNameCol, foodPriceCol, foodVegCol])
foodNameCol = Col("Item", ["Avocado Toast", "Blueberry Scone", "Croissant", "Veggie Wrap", "Chicken Panini", "Greek Salad", "Banana Bread", "Granola Bowl"])
foodPriceCol = Col("Price", ["$7.00", "$3.50", "$3.00", "$8.50", "$9.50", "$8.00", "$3.50", "$7.50"])
foodVegCol = Col("Veg", ["✓", "✓", "✓", "✓", "✗", "✓", "✓", "✓"])
hoursSection = Card([hoursHeader, hoursList], "sunk")
hoursHeader = Heading("Opening Hours", "h3")
hoursList = ListBlock([monFri, sat, sun], "number")
monFri = ListItem("Monday – Friday", "7:00 AM – 7:00 PM")
sat = ListItem("Saturday", "8:00 AM – 8:00 PM")
sun = ListItem("Sunday", "8:00 AM – 5:00 PM")