import type { Allergen, NutritionDeclaration, NutritionProvenance } from "@app/shared-types";
import type { SeedIngredient } from "./ingredients.js";

/**
 * Seed: BRED utökning av ingredienskatalogen (spec §21) – vanliga svenska
 * livsmedel så att "allt finns i appen". Samma schablon-princip som
 * ingredients.ts: värdena är standardiserade uppskattningar per 100 g
 * ("seed_estimate", confidence 0.7). Produktionsvägen byter provenance till
 * "livsmedelsverket" via connectorn. AI hittar ALDRIG på näringsvärden –
 * detta är etablerade referensvärden, inte gissningar.
 *
 * Egen (identisk) fabrik här för att undvika import-cykel med ingredients.ts;
 * bara TYPEN SeedIngredient importeras (raderas vid kompilering).
 */

const PROVENANCE: NutritionProvenance = {
  source: "seed_estimate",
  confidence: 0.7,
  verifiedByUser: false,
};

interface N {
  kcal: number;
  p: number;
  k: number;
  f: number;
  mf?: number;
  fib?: number;
  s?: number;
  salt?: number;
}

function per100(n: N): NutritionDeclaration {
  return {
    basis: "per_100_g",
    values: {
      kcal: n.kcal,
      proteinG: n.p,
      carbsG: n.k,
      fatG: n.f,
      saturatedFatG: n.mf ?? 0,
      fiberG: n.fib ?? 0,
      sugarG: n.s ?? 0,
      saltG: n.salt ?? 0,
    },
  };
}

type IngOpts = Partial<
  Omit<
    SeedIngredient,
    "id" | "nameSv" | "nameEn" | "category" | "nutritionPer100" | "nutritionProvenance"
  >
> & {
  n: N;
};

function ing(
  id: string,
  nameSv: string,
  nameEn: string,
  category: string,
  opts: IngOpts,
): SeedIngredient {
  const { n, ...rest } = opts;
  return {
    id,
    nameSv,
    nameEn,
    aliases: rest.aliases ?? [],
    category,
    defaultUnit: rest.defaultUnit ?? "GRAM",
    allergens: rest.allergens ?? [],
    isVegan: rest.isVegan ?? false,
    isVegetarian: rest.isVegetarian ?? false,
    containsGluten: rest.containsGluten ?? false,
    containsLactose: rest.containsLactose ?? false,
    isPork: rest.isPork ?? false,
    isBeef: rest.isBeef ?? false,
    isAlcohol: rest.isAlcohol ?? false,
    nutritionPer100: per100(n),
    nutritionProvenance: PROVENANCE,
    peakSeasons: rest.peakSeasons ?? [],
    ...(rest.densityGPerMl !== undefined ? { densityGPerMl: rest.densityGPerMl } : {}),
    ...(rest.gramsPerPiece !== undefined ? { gramsPerPiece: rest.gramsPerPiece } : {}),
    ...(rest.shelfLifeGuidance !== undefined ? { shelfLifeGuidance: rest.shelfLifeGuidance } : {}),
    ...(rest.defaultPriceMinorPerKg !== undefined
      ? { defaultPriceMinorPerKg: rest.defaultPriceMinorPerKg }
      : {}),
  };
}

const veg = { isVegan: true, isVegetarian: true };
const vgt = { isVegan: false, isVegetarian: true };
/** Typad allergenlista så att literalerna checkas mot Allergen-unionen. */
const A = (...xs: Allergen[]): Allergen[] => xs;

export const EXTRA_INGREDIENTS: SeedIngredient[] = [
  // ===================================================================
  // MEJERI & växtdryck
  // ===================================================================
  ing("sour_cream", "Gräddfil 12 %", "Sour cream", "mejeri", {
    ...vgt,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.01,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 123, p: 2.9, k: 3.8, f: 12, mf: 8, s: 3.8, salt: 0.1 },
    shelfLifeGuidance: { fridge: 14 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["gräddfil", "graddfil", "gräddfil 12"],
  }),
  ing("filmjolk", "Filmjölk 3 %", "Fermented milk (filmjölk)", "mejeri", {
    ...vgt,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.03,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 56, p: 3.3, k: 4.3, f: 3, mf: 2, s: 4.3, salt: 0.1 },
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 1600,
    aliases: ["filmjölk", "filmjolk", "fil"],
  }),
  ing("skyr", "Skyr naturell", "Skyr", "mejeri", {
    ...vgt,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 63, p: 11, k: 4, f: 0.2, mf: 0.1, s: 4, salt: 0.1 },
    shelfLifeGuidance: { fridge: 14 },
    defaultPriceMinorPerKg: 4200,
    aliases: ["skyr"],
  }),
  ing("mozzarella", "Mozzarella", "Mozzarella", "mejeri", {
    ...vgt,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 250, p: 18, k: 3, f: 19, mf: 12, s: 1, salt: 0.6 },
    shelfLifeGuidance: { fridge: 14 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["mozzarella", "mozarella", "buffelmozzarella"],
  }),
  ing("parmesan", "Parmesan", "Parmesan", "mejeri", {
    ...vgt,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 402, p: 36, k: 0, f: 29, mf: 19, s: 0, salt: 1.6 },
    shelfLifeGuidance: { fridge: 60 },
    defaultPriceMinorPerKg: 18000,
    aliases: ["parmesan", "parmigiano", "parmigiano reggiano", "grana padano"],
  }),
  ing("cream_cheese", "Färskost naturell", "Cream cheese", "mejeri", {
    ...vgt,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 253, p: 5.5, k: 4, f: 24, mf: 15, s: 3.5, salt: 0.9 },
    shelfLifeGuidance: { fridge: 21 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["färskost", "farskost", "philadelphia", "cream cheese"],
  }),
  ing("cheddar", "Cheddarost", "Cheddar", "mejeri", {
    ...vgt,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 410, p: 25, k: 1.3, f: 34, mf: 21, s: 0.5, salt: 1.8 },
    shelfLifeGuidance: { fridge: 45 },
    defaultPriceMinorPerKg: 11000,
    aliases: ["cheddar", "cheddarost"],
  }),
  ing("brie", "Brieost", "Brie", "mejeri", {
    ...vgt,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 334, p: 20, k: 0.5, f: 28, mf: 18, s: 0.5, salt: 1.6 },
    shelfLifeGuidance: { fridge: 21 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["brie", "brieost", "vitmögelost", "camembert"],
  }),
  ing("mascarpone", "Mascarpone", "Mascarpone", "mejeri", {
    ...vgt,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 429, p: 4.6, k: 4.8, f: 44, mf: 30, s: 3, salt: 0.1 },
    shelfLifeGuidance: { fridge: 14 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["mascarpone"],
  }),
  ing("ricotta", "Ricotta", "Ricotta", "mejeri", {
    ...vgt,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 174, p: 11, k: 3, f: 13, mf: 8, s: 0.3, salt: 0.3 },
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 7000,
    aliases: ["ricotta"],
  }),
  ing("blue_cheese", "Ädelost", "Blue cheese", "mejeri", {
    ...vgt,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 353, p: 21, k: 2.3, f: 29, mf: 19, s: 0.5, salt: 3.5 },
    shelfLifeGuidance: { fridge: 30 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["ädelost", "adelost", "blåmögelost", "gorgonzola", "roquefort"],
  }),
  ing("gouda", "Gouda", "Gouda", "mejeri", {
    ...vgt,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 356, p: 25, k: 2.2, f: 27, mf: 18, s: 0.5, salt: 2 },
    shelfLifeGuidance: { fridge: 45 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["gouda", "goudaost", "grevé", "greve"],
  }),
  ing("margarine", "Margarin", "Margarine", "mejeri", {
    ...veg,
    n: { kcal: 631, p: 0.2, k: 0.7, f: 70, mf: 18, s: 0.5, salt: 1.1 },
    shelfLifeGuidance: { fridge: 60 },
    defaultPriceMinorPerKg: 3500,
    aliases: ["margarin", "matfett"],
  }),
  ing("ghee", "Ghee (klarnat smör)", "Ghee", "mejeri", {
    ...vgt,
    allergens: A("milk"),
    n: { kcal: 897, p: 0, k: 0, f: 100, mf: 62, s: 0, salt: 0 },
    shelfLifeGuidance: { pantry: 180 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["ghee", "klarnat smör", "klarnat smor"],
  }),
  ing("buttermilk", "Kärnmjölk", "Buttermilk", "mejeri", {
    defaultPriceMinorPerKg: 1800,
    ...vgt,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.03,
    allergens: A("milk"),
    containsLactose: true,
    n: { kcal: 40, p: 3.3, k: 4.7, f: 0.9, mf: 0.6, s: 4.7, salt: 0.1 },
    shelfLifeGuidance: { fridge: 10 },
    aliases: ["kärnmjölk", "karnmjolk"],
  }),
  ing("vanilla_ice_cream", "Vaniljglass", "Vanilla ice cream", "mejeri", {
    ...vgt,
    allergens: A("milk", "eggs"),
    containsLactose: true,
    n: { kcal: 207, p: 3.5, k: 24, f: 11, mf: 7, s: 21, salt: 0.1 },
    shelfLifeGuidance: { freezer: 365 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["glass", "vaniljglass", "gräddglass"],
  }),
  ing("soy_milk", "Sojadryck", "Soy drink", "mejeri", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.03,
    allergens: A("soy"),
    n: { kcal: 42, p: 3.3, k: 2.5, f: 1.8, mf: 0.3, s: 2.5, salt: 0.1 },
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 2200,
    aliases: ["sojamjölk", "sojamjolk", "sojadryck", "soymilk"],
  }),
  ing("almond_milk", "Mandeldryck", "Almond drink", "mejeri", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1,
    allergens: A("tree_nuts"),
    n: { kcal: 22, p: 0.5, k: 3, f: 1.1, mf: 0.1, s: 2, salt: 0.1 },
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["mandelmjölk", "mandelmjolk", "mandeldryck", "almond milk"],
  }),

  // ===================================================================
  // KÖTT & FÅGEL
  // ===================================================================
  ing("whole_chicken", "Kyckling (hel)", "Whole chicken", "kott_fagel", {
    n: { kcal: 167, p: 20, k: 0, f: 9, mf: 2.6, salt: 0.2 },
    shelfLifeGuidance: { fridge: 3, freezer: 300 },
    defaultPriceMinorPerKg: 7000,
    aliases: ["hel kyckling", "kyckling", "grillkyckling"],
  }),
  ing("chicken_drumstick", "Kycklingklubba", "Chicken drumstick", "kott_fagel", {
    n: { kcal: 161, p: 18, k: 0, f: 9.5, mf: 2.6, salt: 0.2 },
    shelfLifeGuidance: { fridge: 3, freezer: 270 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["kycklingklubba", "kycklingben", "klubba"],
  }),
  ing("chicken_wings", "Kycklingvingar", "Chicken wings", "kott_fagel", {
    n: { kcal: 203, p: 18, k: 0, f: 14, mf: 4, salt: 0.2 },
    shelfLifeGuidance: { fridge: 3, freezer: 270 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["kycklingvingar", "vingar", "buffalo wings"],
  }),
  ing("chicken_mince", "Kycklingfärs", "Chicken mince", "kott_fagel", {
    n: { kcal: 143, p: 20, k: 0, f: 7, mf: 2, salt: 0.15 },
    shelfLifeGuidance: { fridge: 2, freezer: 180 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["kycklingfärs", "kycklingfars"],
  }),
  ing("pork_chop", "Fläskkotlett", "Pork chop", "kott_fagel", {
    isPork: true,
    n: { kcal: 172, p: 21, k: 0, f: 9, mf: 3.2, salt: 0.1 },
    shelfLifeGuidance: { fridge: 4, freezer: 240 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["fläskkotlett", "flaskkotlett", "kotlett"],
  }),
  ing("pork_tenderloin", "Fläskfilé", "Pork tenderloin", "kott_fagel", {
    isPork: true,
    n: { kcal: 120, p: 21, k: 0, f: 4, mf: 1.3, salt: 0.1 },
    shelfLifeGuidance: { fridge: 4, freezer: 240 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["fläskfilé", "flaskfile", "fläskfile"],
  }),
  ing("pork_belly", "Sidfläsk", "Pork belly", "kott_fagel", {
    isPork: true,
    n: { kcal: 291, p: 15, k: 0, f: 26, mf: 9.5, salt: 0.3 },
    shelfLifeGuidance: { fridge: 4, freezer: 180 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["sidfläsk", "sidflask", "fläsksida"],
  }),
  ing("minced_pork", "Fläskfärs", "Pork mince", "kott_fagel", {
    isPork: true,
    n: { kcal: 244, p: 17, k: 0, f: 20, mf: 7, salt: 0.1 },
    shelfLifeGuidance: { fridge: 2, freezer: 180 },
    defaultPriceMinorPerKg: 7000,
    aliases: ["fläskfärs", "flaskfars"],
  }),
  ing("minced_beef_20", "Nötfärs 20 %", "Minced beef (20%)", "kott_fagel", {
    isBeef: true,
    n: { kcal: 254, p: 17, k: 0, f: 20, mf: 8.5, salt: 0.1 },
    shelfLifeGuidance: { fridge: 2, freezer: 180 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["nötfärs 20", "notfars 20", "fet nötfärs"],
  }),
  ing("entrecote", "Entrecôte (nöt)", "Ribeye steak", "kott_fagel", {
    isBeef: true,
    n: { kcal: 224, p: 20, k: 0, f: 16, mf: 6.5, salt: 0.1 },
    shelfLifeGuidance: { fridge: 4, freezer: 240 },
    defaultPriceMinorPerKg: 25000,
    aliases: ["entrecote", "entrecôte", "ribeye", "ryggbiff"],
  }),
  ing("beef_tenderloin", "Oxfilé", "Beef tenderloin", "kott_fagel", {
    isBeef: true,
    n: { kcal: 130, p: 22, k: 0, f: 4.5, mf: 1.8, salt: 0.1 },
    shelfLifeGuidance: { fridge: 4, freezer: 240 },
    defaultPriceMinorPerKg: 40000,
    aliases: ["oxfilé", "oxfile", "biff", "nötfilé"],
  }),
  ing("beef_stew_meat", "Grytbitar av nöt (högrev)", "Beef stew meat", "kott_fagel", {
    isBeef: true,
    n: { kcal: 182, p: 20, k: 0, f: 11, mf: 4.5, salt: 0.1 },
    shelfLifeGuidance: { fridge: 4, freezer: 240 },
    defaultPriceMinorPerKg: 11000,
    aliases: ["högrev", "hogrev", "grytbitar", "bog", "grytkött"],
  }),
  ing("roast_beef_cold", "Rostbiff (pålägg)", "Roast beef (deli)", "kott_fagel", {
    isBeef: true,
    n: { kcal: 140, p: 25, k: 0, f: 4.5, mf: 1.7, salt: 0.7 },
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 18000,
    aliases: ["rostbiff", "roast beef"],
  }),
  ing("lamb_mince", "Lammfärs", "Lamb mince", "kott_fagel", {
    n: { kcal: 282, p: 17, k: 0, f: 24, mf: 11, salt: 0.15 },
    shelfLifeGuidance: { fridge: 2, freezer: 180 },
    defaultPriceMinorPerKg: 13000,
    aliases: ["lammfärs", "lammfars"],
  }),
  ing("lamb_chop", "Lammkotlett", "Lamb chop", "kott_fagel", {
    n: { kcal: 240, p: 18, k: 0, f: 19, mf: 8, salt: 0.15 },
    shelfLifeGuidance: { fridge: 4, freezer: 240 },
    defaultPriceMinorPerKg: 20000,
    aliases: ["lammkotlett", "lammracks", "lammrack"],
  }),
  ing("lamb_fillet", "Lammstek/lammfilé", "Lamb fillet", "kott_fagel", {
    n: { kcal: 150, p: 20, k: 0, f: 8, mf: 3.5, salt: 0.15 },
    shelfLifeGuidance: { fridge: 4, freezer: 240 },
    defaultPriceMinorPerKg: 22000,
    aliases: ["lammstek", "lammfilé", "lammfile", "lammytterfilé"],
  }),
  ing("duck_breast", "Ankbröstfilé", "Duck breast", "kott_fagel", {
    n: { kcal: 200, p: 18, k: 0, f: 14, mf: 5, salt: 0.2 },
    shelfLifeGuidance: { fridge: 4, freezer: 240 },
    defaultPriceMinorPerKg: 20000,
    aliases: ["anka", "ankbröst", "ankbrost", "ankbröstfilé"],
  }),
  ing("turkey_mince", "Kalkonfärs", "Turkey mince", "kott_fagel", {
    n: { kcal: 149, p: 21, k: 0, f: 7, mf: 2, salt: 0.15 },
    shelfLifeGuidance: { fridge: 2, freezer: 180 },
    defaultPriceMinorPerKg: 10000,
    aliases: ["kalkonfärs", "kalkonfars"],
  }),
  ing("blood_pudding", "Blodpudding", "Blood pudding", "kott_fagel", {
    isPork: true,
    allergens: A("gluten", "milk"),
    containsGluten: true,
    containsLactose: true,
    n: { kcal: 165, p: 8, k: 20, f: 6, mf: 2.5, fib: 2, s: 3, salt: 1.1 },
    shelfLifeGuidance: { fridge: 10, freezer: 180 },
    defaultPriceMinorPerKg: 3500,
    aliases: ["blodpudding", "blodkorv"],
  }),
  ing("kassler", "Kassler", "Kassler (smoked pork loin)", "kott_fagel", {
    isPork: true,
    n: { kcal: 130, p: 21, k: 0.5, f: 5, mf: 1.8, salt: 2.2 },
    shelfLifeGuidance: { fridge: 10, freezer: 180 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["kassler", "rökt fläskkarré"],
  }),
  ing("grill_sausage", "Grillkorv", "Grilling sausage", "kott_fagel", {
    isPork: true,
    n: { kcal: 250, p: 11, k: 5, f: 21, mf: 8, s: 1.5, salt: 1.8 },
    shelfLifeGuidance: { fridge: 12, freezer: 120 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["grillkorv", "korv", "bratwurst", "salsiccia"],
  }),
  ing("hot_dog_sausage", "Varmkorv/wienerkorv", "Hot dog sausage", "kott_fagel", {
    isPork: true,
    n: { kcal: 240, p: 10, k: 4, f: 21, mf: 8, s: 1, salt: 1.9 },
    shelfLifeGuidance: { fridge: 14, freezer: 120 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["varmkorv", "wienerkorv", "korv", "frankfurter"],
  }),
  ing("chorizo_sausage", "Chorizo (färsk korv)", "Chorizo sausage", "kott_fagel", {
    isPork: true,
    n: { kcal: 348, p: 21, k: 2, f: 28, mf: 11, s: 1, salt: 2.5 },
    shelfLifeGuidance: { fridge: 14, freezer: 120 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["chorizo"],
  }),

  // ===================================================================
  // CHARK (pålägg)
  // ===================================================================
  ing("salami", "Salami", "Salami", "chark", {
    isPork: true,
    n: { kcal: 378, p: 21, k: 1.5, f: 32, mf: 12, s: 1, salt: 4 },
    shelfLifeGuidance: { fridge: 21 },
    defaultPriceMinorPerKg: 14000,
    aliases: ["salami", "medwurst", "medvurst"],
  }),
  ing("prosciutto", "Lufttorkad skinka", "Prosciutto", "chark", {
    isPork: true,
    n: { kcal: 250, p: 27, k: 0.3, f: 16, mf: 5.5, salt: 5 },
    shelfLifeGuidance: { fridge: 21 },
    defaultPriceMinorPerKg: 22000,
    aliases: ["parmaskinka", "prosciutto", "lufttorkad skinka", "serranoskinka"],
  }),
  ing("liver_pate", "Leverpastej", "Liver pâté", "chark", {
    isPork: true,
    allergens: A("gluten", "milk"),
    containsGluten: true,
    containsLactose: true,
    n: { kcal: 300, p: 12, k: 5, f: 26, mf: 9, s: 1, salt: 1.4 },
    shelfLifeGuidance: { fridge: 14 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["leverpastej", "pastej"],
  }),
  ing("deli_ham", "Skinka (pålägg)", "Sliced ham", "chark", {
    isPork: true,
    n: { kcal: 110, p: 18, k: 1, f: 4, mf: 1.4, salt: 2.2 },
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 10000,
    aliases: ["skinka", "skinkpålägg", "rökt skinka", "kokt skinka pålägg"],
  }),

  // ===================================================================
  // FISK
  // ===================================================================
  ing("pollock", "Sej", "Pollock", "fisk", {
    allergens: A("fish"),
    n: { kcal: 92, p: 19, k: 0, f: 1, mf: 0.2, salt: 0.2 },
    shelfLifeGuidance: { fridge: 2, freezer: 180 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["sej", "gråsej"],
  }),
  ing("haddock", "Kolja", "Haddock", "fisk", {
    allergens: A("fish"),
    n: { kcal: 80, p: 18, k: 0, f: 0.6, mf: 0.1, salt: 0.2 },
    shelfLifeGuidance: { fridge: 2, freezer: 180 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["kolja"],
  }),
  ing("plaice", "Rödspätta", "Plaice", "fisk", {
    allergens: A("fish"),
    n: { kcal: 86, p: 17, k: 0, f: 1.5, mf: 0.3, salt: 0.3 },
    shelfLifeGuidance: { fridge: 2, freezer: 180 },
    defaultPriceMinorPerKg: 13000,
    aliases: ["rödspätta", "rodspatta", "spätta", "flundra"],
  }),
  ing("pike_perch", "Gös", "Pike-perch", "fisk", {
    allergens: A("fish"),
    n: { kcal: 83, p: 19, k: 0, f: 0.7, mf: 0.1, salt: 0.1 },
    shelfLifeGuidance: { fridge: 2, freezer: 180 },
    defaultPriceMinorPerKg: 20000,
    aliases: ["gös", "gos"],
  }),
  ing("mackerel", "Makrill", "Mackerel", "fisk", {
    allergens: A("fish"),
    n: { kcal: 205, p: 19, k: 0, f: 14, mf: 3.3, salt: 0.3 },
    shelfLifeGuidance: { fridge: 2, freezer: 120 },
    defaultPriceMinorPerKg: 10000,
    aliases: ["makrill"],
  }),
  ing("herring_fresh", "Sill/strömming (färsk)", "Fresh herring", "fisk", {
    allergens: A("fish"),
    n: { kcal: 158, p: 18, k: 0, f: 9, mf: 2, salt: 0.2 },
    shelfLifeGuidance: { fridge: 2, freezer: 120 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["sill", "strömming", "stromming", "färsk sill"],
  }),
  ing("rainbow_trout", "Regnbågslax/öring", "Rainbow trout", "fisk", {
    allergens: A("fish"),
    n: { kcal: 141, p: 20, k: 0, f: 6, mf: 1.5, salt: 0.1 },
    shelfLifeGuidance: { fridge: 2, freezer: 180 },
    defaultPriceMinorPerKg: 13000,
    aliases: ["regnbågslax", "öring", "oring", "regnbågsöring", "forell"],
  }),
  ing("smoked_salmon", "Rökt lax", "Smoked salmon", "fisk", {
    allergens: A("fish"),
    n: { kcal: 180, p: 22, k: 0, f: 10, mf: 2, salt: 3 },
    shelfLifeGuidance: { fridge: 14 },
    defaultPriceMinorPerKg: 24000,
    aliases: ["rökt lax", "rokt lax"],
  }),
  ing("cured_salmon", "Gravad lax", "Cured salmon", "fisk", {
    allergens: A("fish"),
    n: { kcal: 200, p: 20, k: 3, f: 12, mf: 2.5, s: 3, salt: 3.5 },
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 24000,
    aliases: ["gravad lax", "gravlax"],
  }),
  ing("fish_fingers", "Fiskpinnar", "Fish fingers", "fisk", {
    allergens: A("fish", "gluten"),
    containsGluten: true,
    n: { kcal: 200, p: 12, k: 18, f: 9, mf: 1.2, fib: 1, s: 1, salt: 0.9 },
    shelfLifeGuidance: { freezer: 300 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["fiskpinnar", "fiskpinne"],
  }),
  ing("cod_roe_tube", "Kaviar (tub)", "Cod roe spread", "fisk", {
    allergens: A("fish"),
    n: { kcal: 240, p: 13, k: 8, f: 17, mf: 3, s: 4, salt: 4.5 },
    shelfLifeGuidance: { fridge: 30 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["kaviar", "kalles kaviar", "smörgåskaviar"],
  }),
  ing("sardines_canned", "Sardiner (burk)", "Canned sardines", "fisk", {
    allergens: A("fish"),
    n: { kcal: 208, p: 25, k: 0, f: 11, mf: 2.5, salt: 1 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["sardiner"],
  }),
  ing("mackerel_tomato", "Makrill i tomatsås", "Mackerel in tomato", "fisk", {
    allergens: A("fish"),
    n: { kcal: 185, p: 14, k: 5, f: 12, mf: 2.5, s: 4, salt: 1 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 7000,
    aliases: ["makrill i tomat", "makrill i tomatsås"],
  }),

  // ===================================================================
  // SKALDJUR
  // ===================================================================
  ing("crab", "Krabba (kokt)", "Crab", "skaldjur", {
    allergens: A("crustaceans"),
    n: { kcal: 107, p: 18, k: 0, f: 3.6, mf: 0.5, salt: 1.2 },
    shelfLifeGuidance: { fridge: 2 },
    defaultPriceMinorPerKg: 18000,
    aliases: ["krabba", "krabbkött", "kungskrabba"],
  }),
  ing("mussels", "Blåmusslor", "Mussels", "skaldjur", {
    allergens: A("molluscs"),
    n: { kcal: 86, p: 12, k: 3.7, f: 2.2, mf: 0.4, salt: 0.5 },
    shelfLifeGuidance: { fridge: 2 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["blåmusslor", "blamusslor", "musslor"],
  }),
  ing("langoustine", "Havskräfta", "Langoustine", "skaldjur", {
    allergens: A("crustaceans"),
    n: { kcal: 90, p: 19, k: 0, f: 1.5, mf: 0.2, salt: 0.5 },
    shelfLifeGuidance: { fridge: 2 },
    defaultPriceMinorPerKg: 30000,
    aliases: ["havskräfta", "havskrafta", "scampi", "kejsarhummer"],
  }),
  ing("scallops", "Pilgrimsmusslor", "Scallops", "skaldjur", {
    allergens: A("molluscs"),
    n: { kcal: 88, p: 17, k: 2.4, f: 0.8, mf: 0.1, salt: 0.6 },
    shelfLifeGuidance: { fridge: 2 },
    defaultPriceMinorPerKg: 32000,
    aliases: ["pilgrimsmusslor", "pilgrimsmussla", "kammusslor"],
  }),
  ing("squid", "Bläckfisk (calamari)", "Squid", "skaldjur", {
    allergens: A("molluscs"),
    n: { kcal: 92, p: 16, k: 3, f: 1.4, mf: 0.4, salt: 0.4 },
    shelfLifeGuidance: { fridge: 2, freezer: 120 },
    defaultPriceMinorPerKg: 14000,
    aliases: ["bläckfisk", "blackfisk", "calamari", "tioarmad bläckfisk"],
  }),

  // ===================================================================
  // GRÖNSAKER
  // ===================================================================
  ing("aubergine", "Aubergine", "Aubergine", "gronsaker", {
    ...veg,
    gramsPerPiece: 250,
    n: { kcal: 25, p: 1, k: 3, f: 0.2, fib: 3, s: 3.5, salt: 0 },
    peakSeasons: ["summer", "autumn"],
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["aubergine", "äggplanta", "eggplant"],
  }),
  ing("fennel", "Fänkål", "Fennel", "gronsaker", {
    ...veg,
    gramsPerPiece: 230,
    n: { kcal: 31, p: 1.2, k: 4.2, f: 0.2, fib: 3.1, s: 4, salt: 0.1 },
    peakSeasons: ["autumn"],
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 4500,
    aliases: ["fänkål", "fankal"],
  }),
  ing("celery_stalk", "Stjälkselleri", "Celery", "gronsaker", {
    ...veg,
    allergens: A("celery"),
    n: { kcal: 16, p: 0.7, k: 1.4, f: 0.2, fib: 1.6, s: 1.3, salt: 0.2 },
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 3500,
    aliases: ["stjälkselleri", "selleri", "blekselleri"],
  }),
  ing("celeriac", "Rotselleri", "Celeriac", "gronsaker", {
    ...veg,
    allergens: A("celery"),
    n: { kcal: 42, p: 1.5, k: 6, f: 0.3, fib: 1.8, s: 1.6, salt: 0.1 },
    peakSeasons: ["autumn", "winter"],
    shelfLifeGuidance: { fridge: 21 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["rotselleri", "sellerirot"],
  }),
  ing("parsnip", "Palsternacka", "Parsnip", "gronsaker", {
    ...veg,
    n: { kcal: 75, p: 1.2, k: 13, f: 0.3, fib: 4.9, s: 4.8, salt: 0 },
    peakSeasons: ["autumn", "winter"],
    shelfLifeGuidance: { fridge: 21 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["palsternacka"],
  }),
  ing("swede", "Kålrot", "Swede", "gronsaker", {
    ...veg,
    n: { kcal: 37, p: 1.1, k: 6, f: 0.2, fib: 2.3, s: 4.5, salt: 0 },
    peakSeasons: ["autumn", "winter"],
    shelfLifeGuidance: { fridge: 30 },
    defaultPriceMinorPerKg: 2000,
    aliases: ["kålrot", "kalrot"],
  }),
  ing("butternut_squash", "Butternutpumpa", "Butternut squash", "gronsaker", {
    ...veg,
    n: { kcal: 45, p: 1, k: 9, f: 0.1, fib: 2, s: 2.2, salt: 0 },
    peakSeasons: ["autumn"],
    shelfLifeGuidance: { pantry: 30 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["butternut", "butternutpumpa", "pumpa"],
  }),
  ing("pumpkin", "Pumpa", "Pumpkin", "gronsaker", {
    ...veg,
    n: { kcal: 26, p: 1, k: 5, f: 0.1, fib: 0.5, s: 2.8, salt: 0 },
    peakSeasons: ["autumn"],
    shelfLifeGuidance: { pantry: 30 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["pumpa", "halloweenpumpa"],
  }),
  ing("brussels_sprouts", "Brysselkål", "Brussels sprouts", "gronsaker", {
    ...veg,
    n: { kcal: 43, p: 3.4, k: 5, f: 0.3, fib: 3.8, s: 2.2, salt: 0.1 },
    peakSeasons: ["autumn", "winter"],
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["brysselkål", "brysselkal"],
  }),
  ing("asparagus", "Sparris", "Asparagus", "gronsaker", {
    ...veg,
    n: { kcal: 20, p: 2.2, k: 2, f: 0.1, fib: 2.1, s: 1.9, salt: 0 },
    peakSeasons: ["spring"],
    shelfLifeGuidance: { fridge: 5 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["sparris", "grön sparris", "vit sparris"],
  }),
  ing("sugar_snap_peas", "Sockerärtor", "Sugar snap peas", "gronsaker", {
    ...veg,
    n: { kcal: 42, p: 2.8, k: 5, f: 0.2, fib: 2.6, s: 4, salt: 0 },
    peakSeasons: ["summer"],
    shelfLifeGuidance: { fridge: 5 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["sockerärtor", "sockerartor", "sockerärter", "snap peas"],
  }),
  ing("spring_onion", "Salladslök", "Spring onion", "gronsaker", {
    ...veg,
    n: { kcal: 32, p: 1.8, k: 5, f: 0.2, fib: 2.6, s: 2.3, salt: 0 },
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["salladslök", "salladslok", "vårlök", "varlok", "knippelök", "scallion"],
  }),
  ing("shallot", "Schalottenlök", "Shallot", "gronsaker", {
    ...veg,
    n: { kcal: 72, p: 2.5, k: 15, f: 0.1, fib: 3.2, s: 7.9, salt: 0 },
    shelfLifeGuidance: { pantry: 30 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["schalottenlök", "schalottenlok", "bananschalottenlök"],
  }),
  ing("red_chili", "Röd chili (färsk)", "Red chili", "gronsaker", {
    ...veg,
    n: { kcal: 40, p: 1.9, k: 6, f: 0.4, fib: 1.5, s: 5, salt: 0 },
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["röd chili", "rod chili", "chili", "chilifrukt", "spansk peppar"],
  }),
  ing("cherry_tomato", "Körsbärstomat", "Cherry tomato", "gronsaker", {
    ...veg,
    n: { kcal: 20, p: 0.9, k: 3, f: 0.2, fib: 1.2, s: 2.8, salt: 0 },
    peakSeasons: ["summer"],
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["körsbärstomat", "korsbarstomat", "körsbärstomater", "cocktailtomat"],
  }),
  ing("iceberg_lettuce", "Isbergssallad", "Iceberg lettuce", "gronsaker", {
    ...veg,
    gramsPerPiece: 400,
    n: { kcal: 14, p: 0.9, k: 2, f: 0.1, fib: 1.2, s: 1.8, salt: 0 },
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["isbergssallad", "isberg"],
  }),
  ing("arugula", "Ruccola", "Arugula", "gronsaker", {
    ...veg,
    n: { kcal: 25, p: 2.6, k: 2, f: 0.7, fib: 1.6, s: 2, salt: 0.1 },
    shelfLifeGuidance: { fridge: 5 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["ruccola", "rucola", "rocket", "senapskål"],
  }),
  ing("radish", "Rädisor", "Radish", "gronsaker", {
    ...veg,
    n: { kcal: 16, p: 0.7, k: 2, f: 0.1, fib: 1.6, s: 1.9, salt: 0.1 },
    peakSeasons: ["spring", "summer"],
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["rädisor", "radisor", "rädisa"],
  }),
  ing("corn_cob", "Majskolv (färsk)", "Corn on the cob", "gronsaker", {
    ...veg,
    gramsPerPiece: 200,
    n: { kcal: 86, p: 3.2, k: 15, f: 1.2, fib: 2.7, s: 3.2, salt: 0 },
    peakSeasons: ["summer", "autumn"],
    shelfLifeGuidance: { fridge: 5 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["majskolv", "färsk majs", "majs på kolv"],
  }),
  ing("chanterelle", "Kantareller", "Chanterelle", "gronsaker", {
    ...veg,
    n: { kcal: 38, p: 1.5, k: 3.8, f: 0.5, fib: 3.8, s: 1.2, salt: 0 },
    peakSeasons: ["summer", "autumn"],
    shelfLifeGuidance: { fridge: 4 },
    defaultPriceMinorPerKg: 20000,
    aliases: ["kantareller", "kantarell", "gul kantarell"],
  }),
  ing("porcini", "Karljohansvamp", "Porcini", "gronsaker", {
    ...veg,
    n: { kcal: 34, p: 3, k: 3, f: 0.4, fib: 2.5, s: 1.5, salt: 0 },
    peakSeasons: ["autumn"],
    shelfLifeGuidance: { fridge: 4 },
    defaultPriceMinorPerKg: 22000,
    aliases: ["karljohansvamp", "karljohan", "stensopp", "porcini"],
  }),
  ing("coriander_fresh", "Koriander (färsk)", "Fresh coriander", "gronsaker", {
    ...veg,
    n: { kcal: 23, p: 2.1, k: 0.9, f: 0.5, fib: 2.8, s: 0.9, salt: 0.05 },
    shelfLifeGuidance: { fridge: 5 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["koriander", "färsk koriander", "cilantro"],
  }),
  ing("mint_fresh", "Mynta (färsk)", "Fresh mint", "gronsaker", {
    ...veg,
    n: { kcal: 44, p: 3.3, k: 6, f: 0.7, fib: 8, s: 0, salt: 0 },
    shelfLifeGuidance: { fridge: 5 },
    defaultPriceMinorPerKg: 14000,
    aliases: ["mynta", "färsk mynta", "pepparmynta"],
  }),
  ing("chives", "Gräslök", "Chives", "gronsaker", {
    ...veg,
    n: { kcal: 30, p: 3.3, k: 1.8, f: 0.7, fib: 2.5, s: 1.9, salt: 0 },
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["gräslök", "graslok"],
  }),
  ing("rosemary_fresh", "Rosmarin (färsk)", "Fresh rosemary", "gronsaker", {
    ...veg,
    n: { kcal: 131, p: 3.3, k: 21, f: 5.9, fib: 14, s: 0, salt: 0.1 },
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 16000,
    aliases: ["rosmarin", "färsk rosmarin"],
  }),
  ing("thyme_fresh", "Timjan (färsk)", "Fresh thyme", "gronsaker", {
    ...veg,
    n: { kcal: 101, p: 5.6, k: 24, f: 1.7, fib: 14, s: 0, salt: 0.1 },
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 16000,
    aliases: ["timjan", "färsk timjan"],
  }),
  ing("horseradish", "Pepparrot (färsk)", "Horseradish", "gronsaker", {
    ...veg,
    n: { kcal: 48, p: 1.2, k: 11, f: 0.7, fib: 3.3, s: 8, salt: 0.3 },
    shelfLifeGuidance: { fridge: 21 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["pepparrot", "riven pepparrot"],
  }),
  ing("pak_choi", "Pak choi", "Pak choi", "gronsaker", {
    ...veg,
    n: { kcal: 13, p: 1.5, k: 1.2, f: 0.2, fib: 1, s: 1.2, salt: 0.1 },
    shelfLifeGuidance: { fridge: 5 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["pak choi", "bok choy", "kinesisk senapskål"],
  }),
  ing("bean_sprouts", "Böngroddar", "Bean sprouts", "gronsaker", {
    ...veg,
    n: { kcal: 30, p: 3, k: 4, f: 0.2, fib: 1.8, s: 2.6, salt: 0 },
    shelfLifeGuidance: { fridge: 4 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["böngroddar", "bongroddar", "groddar", "mungbönsgroddar"],
  }),

  // ===================================================================
  // FRUKT & BÄR
  // ===================================================================
  ing("mango", "Mango", "Mango", "frukt", {
    ...veg,
    gramsPerPiece: 200,
    n: { kcal: 60, p: 0.8, k: 14, f: 0.4, fib: 1.6, s: 14, salt: 0 },
    shelfLifeGuidance: { fridge: 7, pantry: 4 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["mango"],
  }),
  ing("pineapple", "Ananas", "Pineapple", "frukt", {
    ...veg,
    n: { kcal: 50, p: 0.5, k: 12, f: 0.1, fib: 1.4, s: 10, salt: 0 },
    shelfLifeGuidance: { fridge: 5, pantry: 3 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["ananas", "färsk ananas"],
  }),
  ing("kiwi", "Kiwi", "Kiwi", "frukt", {
    ...veg,
    gramsPerPiece: 75,
    n: { kcal: 61, p: 1.1, k: 12, f: 0.5, fib: 3, s: 9, salt: 0 },
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["kiwi", "kiwifrukt"],
  }),
  ing("watermelon", "Vattenmelon", "Watermelon", "frukt", {
    ...veg,
    n: { kcal: 30, p: 0.6, k: 7.6, f: 0.2, fib: 0.4, s: 6.2, salt: 0 },
    peakSeasons: ["summer"],
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 2000,
    aliases: ["vattenmelon"],
  }),
  ing("cantaloupe", "Melon (cantaloupe)", "Cantaloupe melon", "frukt", {
    ...veg,
    n: { kcal: 34, p: 0.8, k: 8, f: 0.2, fib: 0.9, s: 8, salt: 0 },
    peakSeasons: ["summer"],
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["melon", "cantaloupe", "galiamelon", "honungsmelon"],
  }),
  ing("peach", "Persika", "Peach", "frukt", {
    ...veg,
    gramsPerPiece: 150,
    n: { kcal: 39, p: 0.9, k: 8, f: 0.3, fib: 1.5, s: 8, salt: 0 },
    peakSeasons: ["summer"],
    shelfLifeGuidance: { fridge: 5, pantry: 3 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["persika", "nektarin"],
  }),
  ing("plum", "Plommon", "Plum", "frukt", {
    ...veg,
    gramsPerPiece: 65,
    n: { kcal: 46, p: 0.7, k: 10, f: 0.3, fib: 1.4, s: 10, salt: 0 },
    peakSeasons: ["autumn"],
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["plommon", "sviskon"],
  }),
  ing("apricot", "Aprikos", "Apricot", "frukt", {
    ...veg,
    gramsPerPiece: 40,
    n: { kcal: 48, p: 1.4, k: 9, f: 0.4, fib: 2, s: 9, salt: 0 },
    peakSeasons: ["summer"],
    shelfLifeGuidance: { fridge: 5 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["aprikos", "aprikoser"],
  }),
  ing("cherries", "Körsbär", "Cherries", "frukt", {
    ...veg,
    n: { kcal: 63, p: 1.1, k: 13, f: 0.2, fib: 2.1, s: 13, salt: 0 },
    peakSeasons: ["summer"],
    shelfLifeGuidance: { fridge: 5 },
    defaultPriceMinorPerKg: 7000,
    aliases: ["körsbär", "korsbar", "bigarråer"],
  }),
  ing("blackberry", "Björnbär", "Blackberry", "frukt", {
    ...veg,
    n: { kcal: 43, p: 1.4, k: 5, f: 0.5, fib: 5.3, s: 4.9, salt: 0 },
    peakSeasons: ["summer", "autumn"],
    shelfLifeGuidance: { fridge: 3 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["björnbär", "bjornbar"],
  }),
  ing("blackcurrant", "Svarta vinbär", "Blackcurrant", "frukt", {
    ...veg,
    n: { kcal: 63, p: 1.4, k: 12, f: 0.4, fib: 6, s: 10, salt: 0 },
    peakSeasons: ["summer"],
    shelfLifeGuidance: { fridge: 4 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["svarta vinbär", "svarta vinbar", "solbär"],
  }),
  ing("redcurrant", "Röda vinbär", "Redcurrant", "frukt", {
    ...veg,
    n: { kcal: 46, p: 1.1, k: 8, f: 0.2, fib: 4.3, s: 7, salt: 0 },
    peakSeasons: ["summer"],
    shelfLifeGuidance: { fridge: 4 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["röda vinbär", "roda vinbar"],
  }),
  ing("gooseberry", "Krusbär", "Gooseberry", "frukt", {
    ...veg,
    n: { kcal: 44, p: 0.9, k: 8, f: 0.6, fib: 4.3, s: 8, salt: 0 },
    peakSeasons: ["summer"],
    shelfLifeGuidance: { fridge: 5 },
    defaultPriceMinorPerKg: 7000,
    aliases: ["krusbär", "krusbar"],
  }),
  ing("lingonberry_fresh", "Lingon (färska)", "Lingonberry", "frukt", {
    ...veg,
    n: { kcal: 54, p: 0.6, k: 9, f: 0.5, fib: 3, s: 6, salt: 0 },
    peakSeasons: ["autumn"],
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["lingon", "färska lingon"],
  }),
  ing("cloudberry", "Hjortron", "Cloudberry", "frukt", {
    ...veg,
    n: { kcal: 51, p: 2.4, k: 8, f: 0.8, fib: 6, s: 8, salt: 0 },
    peakSeasons: ["summer", "autumn"],
    shelfLifeGuidance: { fridge: 5 },
    defaultPriceMinorPerKg: 20000,
    aliases: ["hjortron"],
  }),
  ing("pomegranate", "Granatäpple", "Pomegranate", "frukt", {
    ...veg,
    gramsPerPiece: 280,
    n: { kcal: 83, p: 1.7, k: 16, f: 1.2, fib: 4, s: 14, salt: 0 },
    peakSeasons: ["autumn", "winter"],
    shelfLifeGuidance: { fridge: 21, pantry: 7 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["granatäpple", "granatapple", "granatäpplekärnor"],
  }),
  ing("grapefruit", "Grapefrukt", "Grapefruit", "frukt", {
    ...veg,
    gramsPerPiece: 300,
    n: { kcal: 42, p: 0.8, k: 9, f: 0.1, fib: 1.6, s: 7, salt: 0 },
    peakSeasons: ["winter"],
    shelfLifeGuidance: { fridge: 21, pantry: 7 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["grapefrukt", "grape"],
  }),
  ing("clementine", "Clementin", "Clementine", "frukt", {
    ...veg,
    gramsPerPiece: 75,
    n: { kcal: 47, p: 0.9, k: 10, f: 0.2, fib: 1.7, s: 9, salt: 0 },
    peakSeasons: ["winter"],
    shelfLifeGuidance: { fridge: 14, pantry: 7 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["clementin", "mandarin", "klementin"],
  }),
  ing("passion_fruit", "Passionsfrukt", "Passion fruit", "frukt", {
    ...veg,
    gramsPerPiece: 40,
    n: { kcal: 97, p: 2.2, k: 13, f: 0.7, fib: 10, s: 11, salt: 0 },
    shelfLifeGuidance: { fridge: 10 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["passionsfrukt", "maracuja"],
  }),
  ing("dates", "Dadlar", "Dates", "frukt", {
    ...veg,
    n: { kcal: 282, p: 2.5, k: 68, f: 0.4, fib: 8, s: 63, salt: 0 },
    shelfLifeGuidance: { pantry: 180 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["dadlar", "medjool", "dadel"],
  }),

  // ===================================================================
  // BALJVÄXTER
  // ===================================================================
  ing("brown_beans", "Bruna bönor (kokta)", "Brown beans", "baljvaxter", {
    ...veg,
    allergens: A(),
    n: { kcal: 91, p: 6, k: 12, f: 0.5, fib: 5, s: 0.5, salt: 0.2 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["bruna bönor", "bruna bonor"],
  }),
  ing("white_beans", "Vita bönor (kokta)", "White beans", "baljvaxter", {
    ...veg,
    n: { kcal: 114, p: 8, k: 15, f: 0.6, fib: 6, s: 0.5, salt: 0.2 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["vita bönor", "vita bonor", "cannellinibönor", "stora vita bönor"],
  }),
  ing("green_lentils", "Gröna/bruna linser (torra)", "Green lentils", "baljvaxter", {
    ...veg,
    n: { kcal: 340, p: 24, k: 47, f: 1.5, fib: 15, s: 2, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 3500,
    aliases: ["gröna linser", "bruna linser", "puylinser", "belugalinser"],
  }),
  ing("yellow_peas", "Gula ärtor (torra)", "Yellow split peas", "baljvaxter", {
    ...veg,
    n: { kcal: 335, p: 23, k: 49, f: 1.5, fib: 15, s: 3, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["gula ärtor", "gula artor", "gula ärter", "spisärter"],
  }),
  ing("edamame", "Edamame (sojabönor)", "Edamame", "baljvaxter", {
    ...veg,
    allergens: A("soy"),
    n: { kcal: 121, p: 12, k: 5, f: 5, mf: 0.6, fib: 5, s: 2.2, salt: 0 },
    shelfLifeGuidance: { freezer: 300 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["edamame", "sojabönor", "sojabonor"],
  }),
  ing("tempeh", "Tempeh", "Tempeh", "baljvaxter", {
    ...veg,
    allergens: A("soy"),
    n: { kcal: 192, p: 20, k: 8, f: 11, mf: 2.2, fib: 5, s: 1, salt: 0 },
    shelfLifeGuidance: { fridge: 14 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["tempeh"],
  }),
  ing("soy_mince_dry", "Sojafärs (torr)", "Textured soy protein", "baljvaxter", {
    ...veg,
    allergens: A("soy"),
    n: { kcal: 340, p: 52, k: 20, f: 1.5, fib: 18, s: 4, salt: 1 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["sojafärs", "sojafars", "sojaprotein", "tvp"],
  }),
  ing("quorn", "Quorn (mykoprotein)", "Quorn", "baljvaxter", {
    ...vgt,
    allergens: A("eggs"),
    n: { kcal: 92, p: 15, k: 4.5, f: 2, mf: 0.5, fib: 6, s: 0.7, salt: 0.4 },
    shelfLifeGuidance: { fridge: 14, freezer: 300 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["quorn", "mykoprotein"],
  }),
  ing("falafel", "Falafel (färdig)", "Falafel", "baljvaxter", {
    ...veg,
    allergens: A("gluten", "sesame"),
    containsGluten: true,
    n: { kcal: 333, p: 13, k: 32, f: 18, mf: 2.4, fib: 8, s: 2, salt: 1 },
    shelfLifeGuidance: { fridge: 7, freezer: 180 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["falafel", "falafelbollar"],
  }),

  // ===================================================================
  // SPANNMÅL & pasta
  // ===================================================================
  ing("brown_rice", "Fullkornsris (torrt)", "Brown rice", "spannmal", {
    ...veg,
    n: { kcal: 360, p: 7.5, k: 72, f: 2.8, fib: 3.5, s: 0.7, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["fullkornsris", "råris", "raris", "brunt ris"],
  }),
  ing("risotto_rice", "Risottoris (arborio)", "Risotto rice", "spannmal", {
    ...veg,
    n: { kcal: 358, p: 7, k: 78, f: 0.6, fib: 1.4, s: 0.2, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["risottoris", "arborio", "arborioris", "carnaroli"],
  }),
  ing("bulgur", "Bulgur (torr)", "Bulgur", "spannmal", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 342, p: 12, k: 63, f: 1.3, fib: 12, s: 0.4, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["bulgur"],
  }),
  ing("quinoa", "Quinoa (torr)", "Quinoa", "spannmal", {
    ...veg,
    n: { kcal: 368, p: 14, k: 57, f: 6, mf: 0.7, fib: 7, s: 0, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["quinoa", "quinoagryn"],
  }),
  ing("pearl_barley", "Korngryn/matkorn (torrt)", "Pearl barley", "spannmal", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 352, p: 10, k: 73, f: 1.2, fib: 15, s: 0.8, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["korngryn", "matkorn", "pärlkorn", "kornotto"],
  }),
  ing("wholegrain_pasta", "Fullkornspasta (torr)", "Wholegrain pasta", "spannmal", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 348, p: 14, k: 62, f: 2.5, fib: 8, s: 3, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["fullkornspasta", "fullkornsspaghetti"],
  }),
  ing("lasagne_sheets", "Lasagneplattor (torra)", "Lasagne sheets", "spannmal", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 355, p: 12, k: 71, f: 1.5, fib: 3, s: 3, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 3500,
    aliases: ["lasagneplattor", "lasagne", "lasagneplatta"],
  }),
  ing("macaroni", "Makaroner (torra)", "Macaroni", "spannmal", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 356, p: 12, k: 71, f: 1.5, fib: 3, s: 3, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["makaroner", "makaroni", "rörmakaroner"],
  }),
  ing("rice_noodles", "Risnudlar (torra)", "Rice noodles", "spannmal", {
    ...veg,
    n: { kcal: 360, p: 6, k: 83, f: 0.6, fib: 1.6, s: 0, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["risnudlar", "risnudel", "glasnudlar"],
  }),
  ing("muesli", "Müsli", "Muesli", "spannmal", {
    ...veg,
    allergens: A("gluten", "tree_nuts"),
    containsGluten: true,
    n: { kcal: 360, p: 10, k: 60, f: 6, mf: 1, fib: 8, s: 15, salt: 0.1 },
    shelfLifeGuidance: { pantry: 180 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["müsli", "musli", "granola"],
  }),
  ing("cornflakes", "Cornflakes", "Cornflakes", "spannmal", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 378, p: 7, k: 84, f: 0.9, fib: 3, s: 8, salt: 1.1 },
    shelfLifeGuidance: { pantry: 180 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["cornflakes", "majsflingor"],
  }),

  // ===================================================================
  // BRÖD
  // ===================================================================
  ing("knackebrod", "Knäckebröd", "Crispbread", "brod", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 340, p: 10, k: 62, f: 2, fib: 16, s: 1, salt: 1.2 },
    shelfLifeGuidance: { pantry: 180 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["knäckebröd", "knackebrod", "knäcke"],
  }),
  ing("rye_bread", "Rågbröd", "Rye bread", "brod", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 230, p: 7, k: 44, f: 1.5, fib: 6, s: 3, salt: 1 },
    shelfLifeGuidance: { pantry: 5, freezer: 90 },
    defaultPriceMinorPerKg: 4500,
    aliases: ["rågbröd", "ragbrod", "kavring", "mörkt bröd"],
  }),
  ing("toast_bread", "Formbröd (vitt)", "White loaf", "brod", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 265, p: 8, k: 49, f: 3.5, fib: 3, s: 4, salt: 1 },
    shelfLifeGuidance: { pantry: 5, freezer: 90 },
    defaultPriceMinorPerKg: 3500,
    aliases: ["formbröd", "formbrod", "rostbröd", "toast", "vitt bröd"],
  }),
  ing("baguette", "Baguette", "Baguette", "brod", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 270, p: 9, k: 52, f: 2, fib: 3, s: 2.5, salt: 1.2 },
    shelfLifeGuidance: { pantry: 2 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["baguette", "franskbröd", "ciabatta"],
  }),
  ing("pita_bread", "Pitabröd", "Pita bread", "brod", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 275, p: 9, k: 55, f: 1.2, fib: 2.2, s: 2, salt: 1.1 },
    shelfLifeGuidance: { pantry: 5, freezer: 90 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["pitabröd", "pitabrod", "pita"],
  }),
  ing("naan_bread", "Naanbröd", "Naan bread", "brod", {
    ...vgt,
    allergens: A("gluten", "milk"),
    containsGluten: true,
    containsLactose: true,
    n: { kcal: 310, p: 9, k: 50, f: 8, mf: 2, fib: 2, s: 4, salt: 1.1 },
    shelfLifeGuidance: { pantry: 5, freezer: 90 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["naan", "naanbröd", "naanbrod"],
  }),
  ing("tunnbrod", "Tunnbröd", "Swedish flatbread", "brod", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 290, p: 9, k: 55, f: 3, fib: 5, s: 2, salt: 1 },
    shelfLifeGuidance: { pantry: 14, freezer: 120 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["tunnbröd", "tunnbrod", "mjukt tunnbröd", "polarbröd"],
  }),

  // ===================================================================
  // BAKNING
  // ===================================================================
  ing("white_chocolate", "Vit choklad", "White chocolate", "bakning", {
    ...vgt,
    allergens: A("milk", "soy"),
    containsLactose: true,
    n: { kcal: 539, p: 6, k: 59, f: 30, mf: 18, s: 59, salt: 0.2 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["vit choklad", "vitchoklad"],
  }),
  ing("milk_chocolate", "Mjölkchoklad", "Milk chocolate", "bakning", {
    ...vgt,
    allergens: A("milk", "soy"),
    containsLactose: true,
    n: { kcal: 535, p: 7.7, k: 59, f: 30, mf: 18, s: 52, salt: 0.2 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 10000,
    aliases: ["mjölkchoklad", "mjolkchoklad", "choklad"],
  }),
  ing("marzipan", "Marsipan", "Marzipan", "bakning", {
    ...veg,
    allergens: A("tree_nuts"),
    n: { kcal: 460, p: 9, k: 50, f: 25, mf: 2.3, fib: 5, s: 43, salt: 0 },
    shelfLifeGuidance: { pantry: 180 },
    defaultPriceMinorPerKg: 10000,
    aliases: ["marsipan"],
  }),
  ing("dry_yeast", "Torrjäst", "Dry yeast", "bakning", {
    ...veg,
    n: { kcal: 325, p: 40, k: 5, f: 7.6, fib: 26, s: 0, salt: 0.1 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["torrjäst", "torrjast", "snabbjäst"],
  }),
  ing("gelatin", "Gelatin (blad/pulver)", "Gelatin", "bakning", {
    n: { kcal: 335, p: 84, k: 0, f: 0.1, s: 0, salt: 0.3 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 15000,
    aliases: ["gelatin", "gelatinblad", "husbloss"],
  }),
  ing("light_syrup", "Ljus sirap", "Light syrup", "bakning", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.4,
    n: { kcal: 315, p: 0.3, k: 78, f: 0, s: 50, salt: 0.1 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["ljus sirap", "sirap", "glykossirap"],
  }),
  ing("dark_syrup", "Mörk sirap", "Dark syrup", "bakning", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.42,
    n: { kcal: 300, p: 1, k: 74, f: 0, s: 48, salt: 0.2 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["mörk sirap", "mork sirap", "melass"],
  }),
  ing("brown_sugar", "Farinsocker", "Brown sugar", "bakning", {
    ...veg,
    n: { kcal: 384, p: 0.1, k: 96, f: 0, s: 95, salt: 0.1 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["farinsocker", "brunt socker", "muscovado", "muscovadosocker"],
  }),
  ing("almond_flour", "Mandelmjöl", "Almond flour", "bakning", {
    ...veg,
    allergens: A("tree_nuts"),
    n: { kcal: 620, p: 24, k: 6, f: 53, mf: 4, fib: 11, s: 4, salt: 0 },
    shelfLifeGuidance: { pantry: 180 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["mandelmjöl", "mandelmjol", "malen mandel"],
  }),
  ing("coconut_flour", "Kokosmjöl", "Coconut flour", "bakning", {
    ...veg,
    n: { kcal: 400, p: 18, k: 22, f: 16, mf: 14, fib: 39, s: 9, salt: 0 },
    shelfLifeGuidance: { pantry: 180 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["kokosmjöl", "kokosmjol"],
  }),
  ing("potato_starch", "Potatismjöl", "Potato starch", "bakning", {
    ...veg,
    n: { kcal: 333, p: 0.1, k: 83, f: 0.1, s: 0, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["potatismjöl", "potatismjol", "potatisstärkelse"],
  }),
  ing("cornstarch", "Majsstärkelse (Maizena)", "Cornstarch", "bakning", {
    ...veg,
    n: { kcal: 381, p: 0.3, k: 91, f: 0.1, s: 0, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 3500,
    aliases: ["majsstärkelse", "majsstarkelse", "maizena", "majsmjöl"],
  }),
  ing("chocolate_chips", "Chokladknappar (mörka)", "Dark chocolate chips", "bakning", {
    ...veg,
    allergens: A("soy"),
    n: { kcal: 480, p: 4, k: 63, f: 25, mf: 15, s: 55, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 11000,
    aliases: ["chokladknappar", "chokladchips", "bakchoklad"],
  }),

  // ===================================================================
  // SKAFFERI – oljor, vinäger, såser, nötter, frön, sylt, pasta/fond
  // ===================================================================
  ing("sunflower_oil", "Solrosolja", "Sunflower oil", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 0.92,
    n: { kcal: 884, p: 0, k: 0, f: 100, mf: 11, s: 0, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["solrosolja"],
  }),
  ing("coconut_oil", "Kokosolja", "Coconut oil", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 0.92,
    n: { kcal: 892, p: 0, k: 0, f: 100, mf: 87, s: 0, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["kokosolja", "kokosfett"],
  }),
  ing("sesame_oil", "Sesamolja", "Sesame oil", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 0.92,
    allergens: A("sesame"),
    n: { kcal: 884, p: 0, k: 0, f: 100, mf: 14, s: 0, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["sesamolja", "rostad sesamolja"],
  }),
  ing("white_wine_vinegar", "Vitvinsvinäger", "White wine vinegar", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1,
    n: { kcal: 20, p: 0, k: 0.6, f: 0, s: 0.4, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["vitvinsvinäger", "vitvinsvinager"],
  }),
  ing("red_wine_vinegar", "Rödvinsvinäger", "Red wine vinegar", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1,
    n: { kcal: 19, p: 0, k: 0.3, f: 0, s: 0.3, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["rödvinsvinäger", "rodvinsvinager"],
  }),
  ing("apple_cider_vinegar", "Äppelcidervinäger", "Apple cider vinegar", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.01,
    n: { kcal: 22, p: 0, k: 0.9, f: 0, s: 0.4, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 3500,
    aliases: ["äppelcidervinäger", "appelcidervinager", "äpplecidervinäger"],
  }),
  ing("vinegar_attika", "Ättika 12 %", "Vinegar (ättika)", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.01,
    n: { kcal: 12, p: 0, k: 0, f: 0, s: 0, salt: 0 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 2000,
    aliases: ["ättika", "attika", "ättiksprit"],
  }),
  ing("rice_vinegar", "Risvinäger", "Rice vinegar", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1,
    n: { kcal: 18, p: 0, k: 0.5, f: 0, s: 0.5, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["risvinäger", "risvinager"],
  }),
  ing("ketchup", "Ketchup", "Ketchup", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.1,
    n: { kcal: 102, p: 1.2, k: 24, f: 0.1, fib: 0.3, s: 22, salt: 2.5 },
    shelfLifeGuidance: { fridge: 60, pantry: 180 },
    defaultPriceMinorPerKg: 3000,
    aliases: ["ketchup", "tomatketchup"],
  }),
  ing("bbq_sauce", "Grillsås (BBQ)", "BBQ sauce", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.2,
    n: { kcal: 172, p: 0.8, k: 41, f: 0.2, s: 33, salt: 2 },
    shelfLifeGuidance: { fridge: 60, pantry: 180 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["grillsås", "grillsas", "bbq-sås", "barbecuesås"],
  }),
  ing("sweet_chili_sauce", "Sweet chilisås", "Sweet chili sauce", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.2,
    n: { kcal: 230, p: 0.5, k: 56, f: 0.1, s: 52, salt: 1.5 },
    shelfLifeGuidance: { fridge: 60, pantry: 180 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["sweet chili", "sweet chilisås", "chilisås"],
  }),
  ing("sriracha", "Sriracha", "Sriracha", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.1,
    n: { kcal: 93, p: 1.9, k: 19, f: 0.9, s: 15, salt: 6 },
    shelfLifeGuidance: { fridge: 90, pantry: 365 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["sriracha", "srirachasås"],
  }),
  ing("hoisin_sauce", "Hoisinsås", "Hoisin sauce", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.2,
    allergens: A("soy", "gluten", "sesame"),
    containsGluten: true,
    n: { kcal: 220, p: 3, k: 44, f: 3.4, fib: 2, s: 30, salt: 3.8 },
    shelfLifeGuidance: { fridge: 90, pantry: 365 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["hoisin", "hoisinsås"],
  }),
  ing("oyster_sauce", "Ostronsås", "Oyster sauce", "skafferi", {
    defaultUnit: "DECILITER",
    densityGPerMl: 1.2,
    allergens: A("molluscs", "soy", "gluten"),
    containsGluten: true,
    n: { kcal: 135, p: 2.4, k: 27, f: 0.3, s: 18, salt: 11 },
    shelfLifeGuidance: { fridge: 90, pantry: 365 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["ostronsås", "ostronsas", "oyster sauce"],
  }),
  ing("worcestershire", "Worcestershiresås", "Worcestershire sauce", "skafferi", {
    defaultUnit: "DECILITER",
    densityGPerMl: 1.1,
    allergens: A("fish"),
    n: { kcal: 78, p: 0, k: 19, f: 0, s: 15, salt: 8.5 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["worcestershire", "worcestershiresås", "wostershiresås"],
  }),
  ing("pesto_green", "Pesto (grön)", "Green pesto", "skafferi", {
    ...vgt,
    allergens: A("milk", "tree_nuts"),
    containsLactose: true,
    n: { kcal: 450, p: 5, k: 6, f: 45, mf: 7, fib: 2, s: 3, salt: 2.5 },
    shelfLifeGuidance: { fridge: 30, pantry: 180 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["pesto", "grön pesto", "basilikapesto"],
  }),
  ing("sundried_tomatoes", "Soltorkade tomater", "Sun-dried tomatoes", "skafferi", {
    ...veg,
    n: { kcal: 213, p: 5, k: 23, f: 12, mf: 1.7, fib: 6, s: 18, salt: 2 },
    shelfLifeGuidance: { fridge: 30, pantry: 180 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["soltorkade tomater", "soltorkad tomat"],
  }),
  ing("capers", "Kapris", "Capers", "skafferi", {
    ...veg,
    n: { kcal: 23, p: 2.4, k: 1.7, f: 0.9, fib: 3.2, s: 0.4, salt: 2.5 },
    shelfLifeGuidance: { fridge: 180, pantry: 365 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["kapris"],
  }),
  ing("tahini", "Tahini (sesampasta)", "Tahini", "skafferi", {
    ...veg,
    allergens: A("sesame"),
    n: { kcal: 595, p: 17, k: 21, f: 54, mf: 7.6, fib: 9, s: 0.5, salt: 0.1 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["tahini", "sesampasta"],
  }),
  ing("almonds", "Mandel", "Almonds", "skafferi", {
    ...veg,
    allergens: A("tree_nuts"),
    n: { kcal: 579, p: 21, k: 22, f: 50, mf: 3.8, fib: 12, s: 4.4, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["mandel", "mandlar", "sötmandel"],
  }),
  ing("cashews", "Cashewnötter", "Cashews", "skafferi", {
    ...veg,
    allergens: A("tree_nuts"),
    n: { kcal: 553, p: 18, k: 30, f: 44, mf: 8, fib: 3.3, s: 6, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 13000,
    aliases: ["cashewnötter", "cashew", "cashewnot"],
  }),
  ing("pistachios", "Pistagenötter", "Pistachios", "skafferi", {
    ...veg,
    allergens: A("tree_nuts"),
    n: { kcal: 560, p: 20, k: 28, f: 45, mf: 5.5, fib: 10, s: 8, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 18000,
    aliases: ["pistagenötter", "pistage", "pistaschnötter"],
  }),
  ing("pecans", "Pecannötter", "Pecans", "skafferi", {
    ...veg,
    allergens: A("tree_nuts"),
    n: { kcal: 691, p: 9, k: 14, f: 72, mf: 6, fib: 10, s: 4, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 16000,
    aliases: ["pecannötter", "pekannötter", "pecan"],
  }),
  ing("pine_nuts", "Pinjenötter", "Pine nuts", "skafferi", {
    ...veg,
    allergens: A("tree_nuts"),
    n: { kcal: 673, p: 14, k: 13, f: 68, mf: 4.9, fib: 3.7, s: 3.6, salt: 0 },
    shelfLifeGuidance: { pantry: 180 },
    defaultPriceMinorPerKg: 30000,
    aliases: ["pinjenötter", "pinjenot", "pinjekärnor"],
  }),
  ing("peanuts", "Jordnötter", "Peanuts", "skafferi", {
    ...veg,
    allergens: A("peanuts"),
    n: { kcal: 567, p: 26, k: 16, f: 49, mf: 6.8, fib: 8.5, s: 4, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["jordnötter", "jordnot", "salta jordnötter"],
  }),
  ing("sunflower_seeds", "Solrosfrön", "Sunflower seeds", "skafferi", {
    ...veg,
    n: { kcal: 584, p: 21, k: 20, f: 51, mf: 4.5, fib: 8.6, s: 2.6, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["solrosfrön", "solrosfron", "solroskärnor"],
  }),
  ing("pumpkin_seeds", "Pumpafrön", "Pumpkin seeds", "skafferi", {
    ...veg,
    n: { kcal: 559, p: 30, k: 11, f: 49, mf: 8.7, fib: 6, s: 1.4, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 7000,
    aliases: ["pumpafrön", "pumpafron", "pumpakärnor"],
  }),
  ing("flax_seeds", "Linfrön", "Flax seeds", "skafferi", {
    ...veg,
    n: { kcal: 534, p: 18, k: 29, f: 42, mf: 3.7, fib: 27, s: 1.5, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["linfrön", "linfron", "linfrö"],
  }),
  ing("chia_seeds", "Chiafrön", "Chia seeds", "skafferi", {
    ...veg,
    n: { kcal: 486, p: 17, k: 42, f: 31, mf: 3.3, fib: 34, s: 0, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["chiafrön", "chiafron", "chiafrö"],
  }),
  ing("maple_syrup", "Lönnsirap", "Maple syrup", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.32,
    n: { kcal: 260, p: 0, k: 67, f: 0.1, s: 60, salt: 0 },
    shelfLifeGuidance: { fridge: 365, pantry: 365 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["lönnsirap", "lonnsirap", "maple syrup"],
  }),
  ing("agave_syrup", "Agavesirap", "Agave syrup", "skafferi", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.35,
    n: { kcal: 310, p: 0, k: 76, f: 0, s: 68, salt: 0 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["agavesirap", "agave"],
  }),
  ing("hazelnut_spread", "Hasselnötskräm (choklad)", "Hazelnut spread", "skafferi", {
    ...vgt,
    allergens: A("tree_nuts", "milk", "soy"),
    containsLactose: true,
    n: { kcal: 539, p: 6, k: 57, f: 31, mf: 11, s: 57, salt: 0.1 },
    shelfLifeGuidance: { pantry: 365 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["nutella", "hasselnötskräm", "chokladkräm"],
  }),
  ing("orange_marmalade", "Apelsinmarmelad", "Orange marmalade", "skafferi", {
    ...veg,
    n: { kcal: 265, p: 0.3, k: 65, f: 0.1, s: 60, salt: 0 },
    shelfLifeGuidance: { fridge: 60, pantry: 365 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["apelsinmarmelad", "marmelad"],
  }),
  ing("blueberry_jam", "Blåbärssylt", "Blueberry jam", "skafferi", {
    ...veg,
    n: { kcal: 200, p: 0.4, k: 49, f: 0.2, s: 45, salt: 0 },
    shelfLifeGuidance: { fridge: 60, pantry: 365 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["blåbärssylt", "blabarssylt"],
  }),
  ing("raspberry_jam", "Hallonsylt", "Raspberry jam", "skafferi", {
    ...veg,
    n: { kcal: 210, p: 0.5, k: 51, f: 0.2, s: 47, salt: 0 },
    shelfLifeGuidance: { fridge: 60, pantry: 365 },
    defaultPriceMinorPerKg: 4000,
    aliases: ["hallonsylt"],
  }),
  ing("miso_paste", "Misopasta", "Miso paste", "skafferi", {
    ...veg,
    allergens: A("soy", "gluten"),
    containsGluten: true,
    n: { kcal: 199, p: 12, k: 26, f: 6, fib: 5, s: 6, salt: 12 },
    shelfLifeGuidance: { fridge: 365 },
    defaultPriceMinorPerKg: 9000,
    aliases: ["miso", "misopasta"],
  }),
  ing("sambal_oelek", "Sambal oelek", "Sambal oelek", "skafferi", {
    ...veg,
    n: { kcal: 40, p: 1.5, k: 7, f: 0.5, s: 4, salt: 8 },
    shelfLifeGuidance: { fridge: 180, pantry: 365 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["sambal oelek", "sambal"],
  }),
  ing("green_curry_paste", "Grön currypasta", "Green curry paste", "skafferi", {
    allergens: A("crustaceans", "fish"),
    n: { kcal: 120, p: 3, k: 15, f: 5, fib: 3, s: 5, salt: 6 },
    shelfLifeGuidance: { fridge: 90, pantry: 365 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["grön currypasta", "gron currypasta", "grön curry"],
  }),
  ing("panko", "Panko (ströbröd)", "Panko breadcrumbs", "skafferi", {
    ...veg,
    allergens: A("gluten"),
    containsGluten: true,
    n: { kcal: 360, p: 12, k: 72, f: 2, fib: 4, s: 3, salt: 1.2 },
    shelfLifeGuidance: { pantry: 180 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["panko", "japanskt ströbröd"],
  }),
  ing("beef_stock_cube", "Köttbuljongtärning", "Beef stock cube", "skafferi", {
    allergens: A("celery"),
    n: { kcal: 200, p: 12, k: 20, f: 8, s: 2, salt: 40 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 8000,
    aliases: ["köttbuljong", "kottbuljong", "oxbuljong", "buljongtärning"],
  }),

  // ===================================================================
  // KRYDDOR (torkade)
  // ===================================================================
  ing("white_pepper", "Vitpeppar", "White pepper", "kryddor", {
    ...veg,
    n: { kcal: 296, p: 10, k: 69, f: 2, fib: 26, s: 0, salt: 0 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 20000,
    aliases: ["vitpeppar"],
  }),
  ing("cayenne_pepper", "Cayennepeppar", "Cayenne pepper", "kryddor", {
    ...veg,
    n: { kcal: 318, p: 12, k: 57, f: 17, fib: 27, s: 10, salt: 0.3 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 16000,
    aliases: ["cayennepeppar", "cayenne"],
  }),
  ing("chili_powder", "Chilipulver", "Chili powder", "kryddor", {
    ...veg,
    n: { kcal: 282, p: 13, k: 50, f: 14, fib: 35, s: 8, salt: 1.6 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["chilipulver"],
  }),
  ing("nutmeg", "Muskotnöt", "Nutmeg", "kryddor", {
    ...veg,
    n: { kcal: 525, p: 6, k: 49, f: 36, fib: 21, s: 3, salt: 0 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 30000,
    aliases: ["muskot", "muskotnöt", "muskotnot"],
  }),
  ing("cloves", "Kryddnejlika", "Cloves", "kryddor", {
    ...veg,
    n: { kcal: 274, p: 6, k: 66, f: 13, fib: 34, s: 2.4, salt: 0.3 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 20000,
    aliases: ["kryddnejlika", "nejlika", "nejlikor"],
  }),
  ing("coriander_ground", "Koriander (mald)", "Ground coriander", "kryddor", {
    ...veg,
    n: { kcal: 298, p: 12, k: 55, f: 18, fib: 42, s: 0, salt: 0.3 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 14000,
    aliases: ["mald koriander", "korianderfrö", "korianderpulver"],
  }),
  ing("ground_ginger", "Ingefära (mald)", "Ground ginger", "kryddor", {
    ...veg,
    n: { kcal: 335, p: 9, k: 72, f: 4, fib: 14, s: 3, salt: 0.1 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 14000,
    aliases: ["mald ingefära", "torkad ingefära", "ingefärspulver"],
  }),
  ing("bay_leaf", "Lagerblad", "Bay leaf", "kryddor", {
    ...veg,
    n: { kcal: 313, p: 8, k: 75, f: 8, fib: 26, s: 0, salt: 0.2 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 16000,
    aliases: ["lagerblad", "lagerbladen"],
  }),
  ing("fennel_seeds", "Fänkålsfrön", "Fennel seeds", "kryddor", {
    ...veg,
    n: { kcal: 345, p: 16, k: 52, f: 15, fib: 40, s: 0, salt: 0.2 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 14000,
    aliases: ["fänkålsfrön", "fankalsfron", "fänkålsfrö"],
  }),
  ing("mustard_seeds", "Senapsfrön", "Mustard seeds", "kryddor", {
    ...veg,
    allergens: A("mustard"),
    n: { kcal: 508, p: 26, k: 28, f: 36, fib: 12, s: 6.8, salt: 0.1 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 10000,
    aliases: ["senapsfrön", "senapsfron", "senapsfrö"],
  }),
  ing("caraway_seeds", "Kummin", "Caraway seeds", "kryddor", {
    ...veg,
    n: { kcal: 333, p: 20, k: 50, f: 15, fib: 38, s: 0.6, salt: 0.1 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["kummin", "kumminfrön"],
  }),
  ing("star_anise", "Stjärnanis", "Star anise", "kryddor", {
    ...veg,
    n: { kcal: 337, p: 18, k: 50, f: 16, fib: 15, s: 0, salt: 0.2 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 18000,
    aliases: ["stjärnanis", "stjarnanis", "anis"],
  }),
  ing("rosemary_dried", "Rosmarin (torkad)", "Dried rosemary", "kryddor", {
    ...veg,
    n: { kcal: 331, p: 5, k: 64, f: 15, fib: 43, s: 0, salt: 0.1 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["torkad rosmarin", "rosmarinpulver"],
  }),
  ing("basil_dried", "Basilika (torkad)", "Dried basil", "kryddor", {
    ...veg,
    n: { kcal: 233, p: 23, k: 48, f: 4, fib: 38, s: 1.7, salt: 0.1 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["torkad basilika"],
  }),
  ing("garlic_powder", "Vitlökspulver", "Garlic powder", "kryddor", {
    ...veg,
    n: { kcal: 331, p: 17, k: 73, f: 0.7, fib: 9, s: 2.4, salt: 0.1 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["vitlökspulver", "vitlokspulver", "vitlöksgranulat"],
  }),
  ing("onion_powder", "Lökpulver", "Onion powder", "kryddor", {
    ...veg,
    n: { kcal: 341, p: 10, k: 79, f: 1, fib: 15, s: 6, salt: 0.1 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 11000,
    aliases: ["lökpulver", "lokpulver"],
  }),
  ing("smoked_paprika", "Rökt paprikapulver", "Smoked paprika", "kryddor", {
    ...veg,
    n: { kcal: 282, p: 14, k: 54, f: 13, fib: 35, s: 10, salt: 0.3 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 12000,
    aliases: ["rökt paprika", "rokt paprika", "pimentón"],
  }),
  ing("italian_herbs", "Italiensk krydda", "Italian herbs", "kryddor", {
    ...veg,
    n: { kcal: 290, p: 10, k: 52, f: 7, fib: 38, s: 0, salt: 0.2 },
    shelfLifeGuidance: { pantry: 1095 },
    defaultPriceMinorPerKg: 10000,
    aliases: ["italiensk krydda", "örtkrydda", "herbes de provence", "pizzakrydda"],
  }),

  // ===================================================================
  // KONSERVER & DRYCK
  // ===================================================================
  ing("passata", "Passata (silad tomat)", "Tomato passata", "konserver", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.05,
    n: { kcal: 35, p: 1.6, k: 6, f: 0.2, fib: 1.4, s: 5, salt: 0.1 },
    shelfLifeGuidance: { fridge: 5, pantry: 540 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["passata", "silad tomat", "tomatpassata"],
  }),
  ing("coconut_cream", "Kokosgrädde", "Coconut cream", "konserver", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1,
    n: { kcal: 330, p: 3.6, k: 6, f: 34, mf: 30, s: 3, salt: 0 },
    shelfLifeGuidance: { fridge: 4, pantry: 540 },
    defaultPriceMinorPerKg: 5000,
    aliases: ["kokosgrädde", "kokosgradde", "coconut cream"],
  }),
  ing("pineapple_canned", "Ananas (konserv)", "Canned pineapple", "konserver", {
    ...veg,
    n: { kcal: 60, p: 0.4, k: 14, f: 0.1, fib: 0.8, s: 13, salt: 0 },
    shelfLifeGuidance: { pantry: 730 },
    defaultPriceMinorPerKg: 2500,
    aliases: ["ananas konserv", "ananasringar", "ananasbitar"],
  }),
  ing("artichoke_hearts", "Kronärtskockshjärtan", "Artichoke hearts", "konserver", {
    ...veg,
    n: { kcal: 47, p: 3, k: 5, f: 0.2, fib: 5, s: 1, salt: 0.6 },
    shelfLifeGuidance: { fridge: 7, pantry: 540 },
    defaultPriceMinorPerKg: 6000,
    aliases: ["kronärtskocka", "kronartskocka", "kronärtskockshjärtan", "artischock"],
  }),
  ing("orange_juice", "Apelsinjuice", "Orange juice", "dryck", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.04,
    n: { kcal: 45, p: 0.7, k: 10, f: 0.2, s: 9, salt: 0 },
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 2000,
    aliases: ["apelsinjuice", "juice", "apelsinjos"],
  }),
  ing("apple_juice", "Äppeljuice", "Apple juice", "dryck", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.05,
    n: { kcal: 46, p: 0.1, k: 11, f: 0.1, s: 10, salt: 0 },
    shelfLifeGuidance: { fridge: 7 },
    defaultPriceMinorPerKg: 1800,
    aliases: ["äppeljuice", "appeljuice", "äppeljos"],
  }),
  ing("cola", "Läsk (cola)", "Cola", "dryck", {
    ...veg,
    defaultUnit: "DECILITER",
    densityGPerMl: 1.04,
    n: { kcal: 42, p: 0, k: 10.6, f: 0, s: 10.6, salt: 0 },
    shelfLifeGuidance: { pantry: 180 },
    defaultPriceMinorPerKg: 1500,
    aliases: ["läsk", "lask", "cola", "coca-cola", "pepsi"],
  }),
];
