// BATONS'ON — настроение страницы меняется от выбранной категории.
// RES: резолвер ассетов для standalone-сборки (blob-URL), иначе исходный путь
window.RES = function (p) { return (p && window.__resources && window.__resources[p]) || p; };
// Эстетика: минимализм, премиум, нейтральная палитра, много воздуха.
// Мудборд сдвигает фон тонко и задаёт сдержанный low-chroma акцент.

const BATONS_THEMES = {
  hats: {
    key: "hats",
    name: "Головные уборы",
    tagline: "Тренд, который носят на голове",
    vibe: "Тепло, чисто, вкусно",
    vars: {
      "--bg":        "oklch(0.975 0.006 75)",
      "--bg-2":      "oklch(0.95 0.009 75)",
      "--ink":       "oklch(0.2 0.006 60)",
      "--ink-soft":  "oklch(0.46 0.008 60)",
      "--accent":    "oklch(0.52 0.07 45)",
      "--on-accent": "oklch(0.985 0.005 80)",
      "--card":      "oklch(0.99 0.004 80)",
      "--line":      "oklch(0.9 0.006 75)",
      "--radius":    "2px",
      "--energy":    "1",
    },
  },
  street: {
    key: "street",
    name: "Стритвир",
    tagline: "Город. Характер. Силуэт.",
    vibe: "Графит, прохладно, чётко",
    vars: {
      "--bg":        "oklch(0.965 0.003 250)",
      "--bg-2":      "oklch(0.93 0.004 250)",
      "--ink":       "oklch(0.18 0.005 260)",
      "--ink-soft":  "oklch(0.44 0.006 260)",
      "--accent":    "oklch(0.38 0.02 255)",
      "--on-accent": "oklch(0.98 0.003 250)",
      "--card":      "oklch(0.99 0.002 250)",
      "--line":      "oklch(0.89 0.004 250)",
      "--radius":    "2px",
      "--energy":    "1",
    },
  },
  beach: {
    key: "beach",
    name: "Купальники",
    tagline: "Солнце на коже",
    vibe: "Песок, золото, лето",
    vars: {
      "--bg":        "oklch(0.975 0.011 82)",
      "--bg-2":      "oklch(0.95 0.016 80)",
      "--ink":       "oklch(0.26 0.012 55)",
      "--ink-soft":  "oklch(0.48 0.014 58)",
      "--accent":    "oklch(0.56 0.06 65)",
      "--on-accent": "oklch(0.99 0.006 80)",
      "--card":      "oklch(0.992 0.006 82)",
      "--line":      "oklch(0.91 0.012 80)",
      "--radius":    "2px",
      "--energy":    "1",
    },
  },
  lounge: {
    key: "lounge",
    name: "Джинсы и худи",
    tagline: "Дом, в котором тепло",
    vibe: "Нежно, мягко, пыльная роза",
    vars: {
      "--bg":        "oklch(0.972 0.01 25)",
      "--bg-2":      "oklch(0.945 0.015 25)",
      "--ink":       "oklch(0.3 0.014 25)",
      "--ink-soft":  "oklch(0.5 0.016 25)",
      "--accent":    "oklch(0.58 0.06 20)",
      "--on-accent": "oklch(0.99 0.006 30)",
      "--card":      "oklch(0.99 0.006 25)",
      "--line":      "oklch(0.91 0.012 25)",
      "--radius":    "2px",
      "--energy":    "1",
    },
  },
  outerwear: {
    key: "outerwear",
    name: "Верхняя одежда",
    tagline: "Силуэт вечера",
    vibe: "Камень, прохлада, премиум",
    vars: {
      "--bg":        "oklch(0.962 0.004 250)",
      "--bg-2":      "oklch(0.93 0.006 250)",
      "--ink":       "oklch(0.21 0.008 258)",
      "--ink-soft":  "oklch(0.45 0.01 258)",
      "--accent":    "oklch(0.44 0.03 250)",
      "--on-accent": "oklch(0.99 0.004 250)",
      "--card":      "oklch(0.99 0.003 250)",
      "--line":      "oklch(0.89 0.006 250)",
      "--radius":    "2px",
      "--energy":    "1",
    },
  },
};

const BATONS_THEME_ORDER = ["hats", "street", "beach", "lounge", "outerwear"];

function applyTheme(key, target) {
  const t = BATONS_THEMES[key] || BATONS_THEMES.hats;
  const el = target || document.documentElement;
  Object.entries(t.vars).forEach(([k, v]) => el.style.setProperty(k, v));
  el.dataset.theme = key;
  return t;
}

Object.assign(window, { BATONS_THEMES, BATONS_THEME_ORDER, applyTheme });
