root = Card([header, specialCallout, filterSection, tabs, hoursSection])
header = CardHeader("☕ Brew & Bite Café", "Fresh daily • Local ingredients • Open 7am–8pm")
specialCallout = Callout("success", "Today's Special", "🍑 Peach Iced Tea + Blueberry Scone — $6.50 (save $1.50)")
filterSection = Card([filterLabel, vegFilter], "clear", "row", "m", "center", "between")
filterLabel = TextContent("Dietary filter:", "small-heavy")
vegFilter = SwitchGroup("dietary", [vegSwitch], "clear")
vegSwitch = SwitchItem("Vegetarian only", "Show only meat-free items", "veg_only", false)
tabs = Tabs([drinksTab, foodTab])
drinksTab = TabItem("drinks", "Drinks", [drinksTable])
drinksTable = Table([drinkNameCol, drinkPriceCol, drinkVegCol])
drinkNameCol = Col("Drink", ["Espresso", "Cappuccino", "Latte", "Cold Brew", "Peach Iced Tea", "Hot Chocolate", "Matcha Latte", "Chai Latte"])
drinkPriceCol = Col("Price", ["$3.00", "$4.50", "$5.00", "$4.00", "$4.50", "$5.50", "$5.50", "$5.00"])
drinkVegCol = Col("Vegetarian", ["Yes", "Yes", "Yes", "Yes", "Yes", "Yes", "Yes", "Yes"])
foodTab = TabItem("food", "Food", [foodTable])
foodTable = Table([foodNameCol, foodPriceCol, foodVegCol])
foodNameCol = Col("Item", ["Blueberry Scone", "Avocado Toast", "Croissant", "Breakfast Sandwich", "Greek Yogurt Parfait", "Veggie Wrap", "Chicken Panini", "Fruit Bowl"])
foodPriceCol = Col("Price", ["$3.50", "$8.00", "$3.00", "$7.50", "$6.00", "$9.00", "$10.00", "$7.00"])
foodVegCol = Col("Vegetarian", ["Yes", "Yes", "Yes", "No", "Yes", "Yes", "No", "Yes"])
hoursSection = Card([hoursHeader, hoursList])
hoursHeader = Heading("Opening Hours", "h3")
hoursList = ListBlock([monFri, sat, sun], "number")
monFri = ListItem("Monday – Friday", "7:00 AM – 8:00 PM")
sat = ListItem("Saturday", "8:00 AM – 9:00 PM")
sun = ListItem("Sunday", "8:00 AM – 6:00 PM")