/* ==========================================================================
   FoodHub design tokens
   Single source of truth for color, spacing, radius, shadow, type and motion.
   Consumed by theme.css (Bootstrap remap), utilities.css and scoped
   component styles. Never reference raw hex values outside this file.
   ========================================================================== */

:root {
    /* Brand — fresh green */
    --fh-green-50: #f0f9f1;
    --fh-green-100: #dcf0de;
    --fh-green-200: #bce2c2;
    --fh-green-300: #90cd9b;
    --fh-green-400: #5fb26f;
    --fh-green-500: #3d9750;
    --fh-green-600: #2d7a3e;
    --fh-green-700: #266234;
    --fh-green-800: #214e2c;
    --fh-green-900: #1c4026;

    /* Accent — warm orange (appetite, highlights, CTAs that aren't primary) */
    --fh-accent: #e8762d;
    --fh-accent-hover: #d4661f;
    --fh-accent-subtle: #fdf0e6;

    /* Semantic */
    --fh-success: #2d7a3e;
    --fh-danger: #ce3b3b;
    --fh-warning: #e5a50a;
    --fh-info: #2e7bb5;

    /* Themed surfaces — light */
    --fh-bg: #f7f8f6;
    --fh-surface: #ffffff;
    --fh-surface-raised: #ffffff;
    --fh-surface-sunken: #eef0ec;
    --fh-border: #e2e6df;
    --fh-border-strong: #c9cfc4;
    --fh-text: #1f2823;
    --fh-text-muted: #5f6b63;
    --fh-text-faint: #8a948d;

    /* Sidebar / topbar (kept dark in both themes for brand contrast) */
    --fh-sidebar-bg: #1c4026;
    --fh-sidebar-bg-accent: #266234;
    --fh-sidebar-text: #d9e6dc;

    /* Spacing — 4px base */
    --fh-space-1: 0.25rem;
    --fh-space-2: 0.5rem;
    --fh-space-3: 0.75rem;
    --fh-space-4: 1rem;
    --fh-space-5: 1.5rem;
    --fh-space-6: 2rem;
    --fh-space-7: 3rem;
    --fh-space-8: 4rem;

    /* Radius */
    --fh-radius-sm: 0.375rem;
    --fh-radius-md: 0.625rem;
    --fh-radius-lg: 1rem;
    --fh-radius-pill: 999px;

    /* Shadows */
    --fh-shadow-sm: 0 1px 2px rgba(23, 33, 26, 0.06), 0 1px 3px rgba(23, 33, 26, 0.08);
    --fh-shadow-md: 0 3px 8px rgba(23, 33, 26, 0.09), 0 3px 14px rgba(23, 33, 26, 0.06);
    --fh-shadow-lg: 0 10px 30px rgba(23, 33, 26, 0.16);

    /* Typography */
    --fh-font-sans: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
    --fh-text-xs: 0.75rem;
    --fh-text-sm: 0.875rem;
    --fh-text-md: 1rem;
    --fh-text-lg: 1.125rem;
    --fh-text-xl: 1.375rem;
    --fh-text-2xl: 1.75rem;
    --fh-weight-normal: 400;
    --fh-weight-medium: 500;
    --fh-weight-semibold: 600;
    --fh-weight-bold: 700;

    /* Motion */
    --fh-transition: 150ms ease;
    --fh-transition-slow: 250ms ease;

    /* Focus ring */
    --fh-focus-ring: 0 0 0 0.25rem rgba(61, 151, 80, 0.35);
}

[data-bs-theme="dark"] {
    /* Brand shifts one step lighter so it keeps contrast on dark surfaces */
    --fh-accent: #f0883e;
    --fh-accent-hover: #f49a5b;
    --fh-accent-subtle: #3a2a1c;

    --fh-success: #5fb26f;
    --fh-danger: #e06c6c;
    --fh-warning: #f2c14e;
    --fh-info: #64a8d8;

    /* Themed surfaces — dark */
    --fh-bg: #141917;
    --fh-surface: #1d2420;
    --fh-surface-raised: #242d28;
    --fh-surface-sunken: #101512;
    --fh-border: #2e3832;
    --fh-border-strong: #45524b;
    --fh-text: #e4eae6;
    --fh-text-muted: #9caba2;
    --fh-text-faint: #6d7a72;

    --fh-sidebar-bg: #101512;
    --fh-sidebar-bg-accent: #1c4026;
    --fh-sidebar-text: #c2d1c6;

    --fh-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
    --fh-shadow-md: 0 3px 10px rgba(0, 0, 0, 0.45);
    --fh-shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.55);

    --fh-focus-ring: 0 0 0 0.25rem rgba(95, 178, 111, 0.4);
}
