:root {
    /* Primary palette - warm, elegant */
    --color-cream: #FDF6EC;
    --color-cream-dark: #F5E6D0;
    --color-gold: #C9A96E;
    --color-gold-light: #E8D5A8;
    --color-gold-dark: #A67C52;
    --color-brown: #5C3D2E;
    --color-brown-light: #7A5E4E;
    --color-brown-dark: #3E2723;
    --color-pink: #E8B4B8;
    --color-pink-light: #F5D5D8;
    --color-pink-dark: #C48B8F;
    --color-white: #FFFFFF;
    --color-off-white: #FAFAF7;

    /* Semantic tokens */
    --bg-primary: var(--color-cream);
    --bg-secondary: #F9EEDF;
    --bg-accent: var(--color-gold-light);
    --text-primary: var(--color-brown-dark);
    --text-secondary: var(--color-brown-light);
    /* Darker than gold-dark so accent text keeps a 4.5:1 contrast on cream */
    --text-accent: #8A6238;
    --btn-primary-bg: var(--color-gold);
    --btn-primary-hover: var(--color-brown-dark);
    --btn-primary-hover-text: var(--color-cream);
    --btn-primary-text: var(--color-brown-dark);
    --border-subtle: var(--color-cream-dark);
    --color-error: #A4474F;

    /* Typography */
    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body: 'Lato', 'Segoe UI', sans-serif;
    --font-accent: 'Dancing Script', cursive;

    /* Spacing scale (8px base) */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 2rem;
    --space-xl: 4rem;
    --space-2xl: 6rem;

    /* Layout */
    --max-width: 1200px;
    --border-radius: 12px;
    --border-radius-sm: 6px;
    --nav-height: 72px;

    /* Shadows */
    --shadow-sm: 0 2px 8px rgba(92, 61, 46, 0.08);
    --shadow-md: 0 4px 16px rgba(92, 61, 46, 0.12);
    --shadow-lg: 0 8px 32px rgba(92, 61, 46, 0.16);
    --shadow-hover: 0 12px 40px rgba(92, 61, 46, 0.20);

    /* Transitions */
    --transition-fast: 200ms ease;
    --transition-base: 350ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

@media (min-width: 901px) {
    :root {
        --nav-height: 92px;
    }
}
