import { z } from "zod";

// Theme config contract shared by the theme engine (PRD §8): mobile writes it,
// the public web renderer consumes it. Changing a theme must never touch menu data.
export const themeConfigSchema = z.object({
  primaryColor: z.string(),
  background: z.string(),
  productLayout: z.enum(["card", "list"]),
  categoryLayout: z.enum(["accordion", "tabs", "flat"]),
  headerLayout: z.enum(["centered", "left"]).optional().default("centered"),
});

export type ThemeConfig = z.infer<typeof themeConfigSchema>;
