import type { Config } from "tailwindcss";

/**
 * Дизайн-система ГК ОСКАР (редизайн 2026).
 * Палитра выведена из брендбуков (раздел 5.1 брифа) и расширена до полноценных
 * шкал, поверхностей и состояний. Глобальный CTA — всегда primary (#F78F16).
 * Семантические токены (surface/line/ink) обеспечивают единообразие по всему сайту.
 */
const config: Config = {
  content: ["./src/**/*.{ts,tsx,mdx}"],
  theme: {
    container: {
      center: true,
      padding: { DEFAULT: "1.25rem", lg: "2rem" },
      screens: { "2xl": "1240px" },
    },
    extend: {
      colors: {
        // ── ГК / ОСКАР: основной акцент (оранжевый) ──────────────────────
        primary: {
          DEFAULT: "#F78F16",
          50: "#FFF7EC",
          100: "#FFEACC",
          200: "#FCD49B",
          300: "#FABB63",
          400: "#F9A23A",
          500: "#F78F16", // Pantone 716U — основной CTA
          600: "#DE7708",
          700: "#B65D08",
          800: "#92490F",
          900: "#783E11",
        },
        // ── Тёмная (текст, шапка, тёмные секции) ─────────────────────────
        ink: {
          DEFAULT: "#2B2A28", // Pantone 426
          950: "#1A1917",
          900: "#221F1C",
          800: "#2B2A28",
          700: "#3A3937",
          600: "#56524D",
          500: "#736E66",
          400: "#9B958B",
        },
        // ── Поверхности и линии (тёплый нейтральный) ─────────────────────
        paper: "#FBFAF7", // фон страниц
        surface: "#FFFFFF",
        line: {
          DEFAULT: "#ECE6DC",
          soft: "#F2EDE4",
          strong: "#DED6C8",
        },
        // ── Бренды группы (акценты бренд-зон) ────────────────────────────
        brand: { primary: "#F78F16", dark: "#2B2A28", darksoft: "#3A3937" }, // совместимость
        mostar: {
          orange: "#F58958",
          orangesoft: "#F09769",
          beige: "#FEF0DA",
          beigesoft: "#F4ECDD",
          blue: "#779DB4",
          green: "#88C277",
        },
        stk: { dark: "#2E545B", orange: "#F69146" },
        recycling: { green: "#88C277", dark: "#4F7A3E" },
      },
      fontFamily: {
        // подключаются через next/font в layout
        heading: ["var(--font-russo)", "system-ui", "sans-serif"],
        body: ["var(--font-golos)", "system-ui", "sans-serif"],
        stk: ["var(--font-montserrat)", "system-ui", "sans-serif"],
      },
      fontSize: {
        // Плавная типошкала (clamp) для крупных заголовков
        "display-xl": ["clamp(2.5rem, 1.6rem + 4.2vw, 4.75rem)", { lineHeight: "1.02", letterSpacing: "-0.02em" }],
        "display-lg": ["clamp(2rem, 1.4rem + 2.8vw, 3.5rem)", { lineHeight: "1.05", letterSpacing: "-0.015em" }],
        "display-md": ["clamp(1.6rem, 1.2rem + 1.8vw, 2.5rem)", { lineHeight: "1.1", letterSpacing: "-0.01em" }],
      },
      borderRadius: {
        xl: "0.875rem",
        "2xl": "1.25rem",
        "3xl": "1.75rem",
      },
      boxShadow: {
        soft: "0 1px 2px rgba(43,42,40,0.04), 0 4px 16px -8px rgba(43,42,40,0.10)",
        card: "0 1px 3px rgba(43,42,40,0.05), 0 12px 32px -16px rgba(43,42,40,0.18)",
        lift: "0 8px 24px -8px rgba(43,42,40,0.16), 0 24px 56px -24px rgba(43,42,40,0.24)",
        glow: "0 10px 40px -12px rgba(247,143,22,0.45)",
        inset: "inset 0 1px 0 rgba(255,255,255,0.6)",
      },
      backgroundImage: {
        "mesh-dark":
          "radial-gradient(120% 90% at 85% 0%, rgba(247,143,22,0.18) 0%, transparent 55%), radial-gradient(90% 80% at 0% 100%, rgba(247,143,22,0.10) 0%, transparent 50%)",
      },
      keyframes: {
        "fade-up": {
          "0%": { opacity: "0", transform: "translateY(16px)" },
          "100%": { opacity: "1", transform: "translateY(0)" },
        },
        "fade-in": { "0%": { opacity: "0" }, "100%": { opacity: "1" } },
        marquee: { "0%": { transform: "translateX(0)" }, "100%": { transform: "translateX(-50%)" } },
        float: {
          "0%,100%": { transform: "translateY(0)" },
          "50%": { transform: "translateY(-10px)" },
        },
      },
      animation: {
        "fade-up": "fade-up 0.6s cubic-bezier(0.22,1,0.36,1) both",
        "fade-in": "fade-in 0.5s ease both",
        marquee: "marquee 32s linear infinite",
        float: "float 7s ease-in-out infinite",
      },
      transitionTimingFunction: {
        smooth: "cubic-bezier(0.22, 1, 0.36, 1)",
      },
    },
  },
  plugins: [],
};

export default config;
