/*
 * Menyra Design Tokens — Module 2.1, refreshed by Module 13.3
 *
 * Hospitality-first product palette: terracotta, sage, warm cream and sand.
 */

:root,
[data-theme="light"] {
    color-scheme: light;

    /* Brand primitives */
    --mn-terracotta-300: #d88562;
    --mn-terracotta-400: #c86f49;
    --mn-terracotta-500: #b85c3b;
    --mn-terracotta-600: #a14e30;
    --mn-terracotta-700: #874028;

    --mn-sage-300: #9daf99;
    --mn-sage-400: #8da288;
    --mn-sage-500: #7a8f74;
    --mn-sage-600: #667960;
    --mn-sage-700: #52614d;

    --mn-cream-50: #fffdfa;
    --mn-cream-100: #f8f4ee;
    --mn-cream-200: #f4efe7;
    --mn-sand-200: #e9ddd0;
    --mn-sand-300: #d9c7b2;
    --mn-sand-400: #c9b6a0;

    /* Neutral primitives */
    --mn-charcoal-900: #23201d;
    --mn-charcoal-800: #3a332d;
    --mn-charcoal-700: #514a44;
    --mn-charcoal-600: #675f57;
    --mn-charcoal-500: #817870;

    /* Status primitives */
    --mn-green-50: #eef5ea;
    --mn-green-600: #6b865f;
    --mn-green-700: #5d7652;
    --mn-red-50: #fbebe8;
    --mn-red-600: #c46351;
    --mn-red-700: #ab513f;
    --mn-blue-50: #eef3f7;
    --mn-blue-600: #617a90;
    --mn-blue-700: #4f677d;

    /* Semantic colors */
    --mn-color-bg: var(--mn-cream-200);
    --mn-color-surface: var(--mn-cream-50);
    --mn-color-surface-subtle: var(--mn-cream-100);
    --mn-color-surface-raised: #ffffff;
    --mn-color-text: var(--mn-charcoal-900);
    --mn-color-text-muted: var(--mn-charcoal-700);
    --mn-color-text-subtle: var(--mn-charcoal-600);
    --mn-color-border: var(--mn-sand-200);
    --mn-color-border-strong: var(--mn-sand-300);

    --mn-color-primary: var(--mn-terracotta-500);
    --mn-color-primary-hover: var(--mn-terracotta-600);
    --mn-color-primary-active: var(--mn-terracotta-700);
    --mn-color-primary-soft: #f1ded5;
    --mn-color-primary-text: #ffffff;

    --mn-color-accent: var(--mn-sage-500);
    --mn-color-accent-hover: var(--mn-sage-600);
    --mn-color-accent-soft: #e6ece3;

    --mn-color-success: var(--mn-green-700);
    --mn-color-success-soft: var(--mn-green-50);
    --mn-color-success-text: #ffffff;
    --mn-color-danger: var(--mn-red-700);
    --mn-color-danger-soft: var(--mn-red-50);
    --mn-color-danger-text: #ffffff;
    --mn-color-info: var(--mn-blue-700);
    --mn-color-info-soft: var(--mn-blue-50);
    --mn-color-info-text: #ffffff;
    --mn-color-warning: var(--mn-terracotta-600);
    --mn-color-warning-soft: #f3e2dc;
    --mn-color-warning-text: #ffffff;

    --mn-color-focus: var(--mn-terracotta-500);
    --mn-color-overlay: rgb(35 32 29 / 52%);

    /* Typography */
    --mn-font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --mn-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;

    --mn-font-size-xs: 0.75rem;
    --mn-font-size-sm: 0.875rem;
    --mn-font-size-md: 1rem;
    --mn-font-size-lg: 1.125rem;
    --mn-font-size-xl: 1.25rem;
    --mn-font-size-2xl: 1.5rem;
    --mn-font-size-3xl: 1.875rem;
    --mn-font-size-4xl: 2.25rem;
    --mn-font-size-5xl: 3rem;

    --mn-font-weight-regular: 400;
    --mn-font-weight-medium: 500;
    --mn-font-weight-semibold: 600;
    --mn-font-weight-bold: 700;

    --mn-line-height-tight: 1.2;
    --mn-line-height-heading: 1.3;
    --mn-line-height-body: 1.6;

    /* Spacing: 4px base */
    --mn-space-0: 0;
    --mn-space-1: 0.25rem;
    --mn-space-2: 0.5rem;
    --mn-space-3: 0.75rem;
    --mn-space-4: 1rem;
    --mn-space-5: 1.25rem;
    --mn-space-6: 1.5rem;
    --mn-space-8: 2rem;
    --mn-space-10: 2.5rem;
    --mn-space-12: 3rem;
    --mn-space-16: 4rem;
    --mn-space-20: 5rem;
    --mn-space-24: 6rem;

    /* Radius */
    --mn-radius-none: 0;
    --mn-radius-sm: 0.375rem;
    --mn-radius-md: 0.625rem;
    --mn-radius-lg: 0.875rem;
    --mn-radius-xl: 1.125rem;
    --mn-radius-2xl: 1.5rem;
    --mn-radius-pill: 9999px;

    /* Borders */
    --mn-border-width: 1px;
    --mn-border-width-strong: 2px;
    --mn-border-default: var(--mn-border-width) solid var(--mn-color-border);
    --mn-border-strong: var(--mn-border-width) solid var(--mn-color-border-strong);

    /* Shadows */
    --mn-shadow-xs: 0 1px 2px rgb(35 32 29 / 5%);
    --mn-shadow-sm: 0 1px 3px rgb(35 32 29 / 9%), 0 1px 2px rgb(35 32 29 / 5%);
    --mn-shadow-md: 0 8px 24px rgb(35 32 29 / 10%);
    --mn-shadow-lg: 0 18px 48px rgb(35 32 29 / 14%);

    /* Layout */
    --mn-content-xs: 32rem;
    --mn-content-sm: 40rem;
    --mn-content-md: 48rem;
    --mn-content-lg: 64rem;
    --mn-content-xl: 80rem;
    --mn-content-2xl: 90rem;

    /* Motion */
    --mn-duration-fast: 120ms;
    --mn-duration-normal: 180ms;
    --mn-duration-slow: 260ms;
    --mn-ease-standard: cubic-bezier(0.2, 0, 0, 1);

    /* Focus */
    --mn-focus-ring: 0 0 0 3px rgb(184 92 59 / 24%);
}

[data-theme="dark"] {
    color-scheme: dark;

    --mn-color-bg: #23201d;
    --mn-color-surface: #2b2724;
    --mn-color-surface-subtle: #35302c;
    --mn-color-surface-raised: #3c3631;
    --mn-color-text: #f4efe7;
    --mn-color-text-muted: #d9c7b2;
    --mn-color-text-subtle: #b6a693;
    --mn-color-border: #4b433d;
    --mn-color-border-strong: #60564f;

    --mn-color-primary: #d27a57;
    --mn-color-primary-hover: #e08b69;
    --mn-color-primary-active: #eaa588;
    --mn-color-primary-soft: rgb(184 92 59 / 20%);
    --mn-color-primary-text: #f4efe7;

    --mn-color-accent: #9daf99;
    --mn-color-accent-hover: #b0c0aa;
    --mn-color-accent-soft: rgb(122 143 116 / 18%);

    --mn-color-success: #a4b99c;
    --mn-color-success-soft: rgb(122 143 116 / 18%);
    --mn-color-success-text: #23201d;
    --mn-color-danger: #efaa99;
    --mn-color-danger-soft: rgb(196 99 81 / 18%);
    --mn-color-danger-text: #23201d;
    --mn-color-info: #9ab1c0;
    --mn-color-info-soft: rgb(97 122 144 / 18%);
    --mn-color-info-text: #23201d;
    --mn-color-warning: #d9c7b2;
    --mn-color-warning-soft: rgb(217 199 178 / 14%);
    --mn-color-warning-text: #23201d;

    --mn-color-focus: #d27a57;
    --mn-color-overlay: rgb(0 0 0 / 68%);

    --mn-shadow-xs: 0 1px 2px rgb(0 0 0 / 20%);
    --mn-shadow-sm: 0 2px 8px rgb(0 0 0 / 24%);
    --mn-shadow-md: 0 10px 30px rgb(0 0 0 / 30%);
    --mn-shadow-lg: 0 22px 60px rgb(0 0 0 / 36%);

    --mn-focus-ring: 0 0 0 3px rgb(210 122 87 / 28%);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
        color-scheme: dark;

        --mn-color-bg: #23201d;
        --mn-color-surface: #2b2724;
        --mn-color-surface-subtle: #35302c;
        --mn-color-surface-raised: #3c3631;
        --mn-color-text: #f4efe7;
        --mn-color-text-muted: #d9c7b2;
        --mn-color-text-subtle: #b6a693;
        --mn-color-border: #4b433d;
        --mn-color-border-strong: #60564f;

        --mn-color-primary: #d27a57;
        --mn-color-primary-hover: #e08b69;
        --mn-color-primary-active: #eaa588;
        --mn-color-primary-soft: rgb(184 92 59 / 20%);
        --mn-color-primary-text: #f4efe7;

        --mn-color-accent: #9daf99;
        --mn-color-accent-hover: #b0c0aa;
        --mn-color-accent-soft: rgb(122 143 116 / 18%);

        --mn-color-success: #a4b99c;
        --mn-color-success-soft: rgb(122 143 116 / 18%);
        --mn-color-success-text: #23201d;
        --mn-color-danger: #efaa99;
        --mn-color-danger-soft: rgb(196 99 81 / 18%);
        --mn-color-danger-text: #23201d;
        --mn-color-info: #9ab1c0;
        --mn-color-info-soft: rgb(97 122 144 / 18%);
        --mn-color-info-text: #23201d;
        --mn-color-warning: #d9c7b2;
        --mn-color-warning-soft: rgb(217 199 178 / 14%);
        --mn-color-warning-text: #23201d;

        --mn-color-focus: #d27a57;
        --mn-color-overlay: rgb(0 0 0 / 68%);

        --mn-shadow-xs: 0 1px 2px rgb(0 0 0 / 20%);
        --mn-shadow-sm: 0 2px 8px rgb(0 0 0 / 24%);
        --mn-shadow-md: 0 10px 30px rgb(0 0 0 / 30%);
        --mn-shadow-lg: 0 22px 60px rgb(0 0 0 / 36%);

        --mn-focus-ring: 0 0 0 3px rgb(210 122 87 / 28%);
    }
}

@media (prefers-reduced-motion: reduce) {
    :root {
        --mn-duration-fast: 0ms;
        --mn-duration-normal: 0ms;
        --mn-duration-slow: 0ms;
    }
}
