:root {
    /* Core Palette - Original Theme (Default) */
    --color-primary: #385f01;
    /* wf-green */
    --color-secondary: #665b38;
    /* wf-brown */
    --color-accent: #eae1c7;
    /* wf-light-green */
    --color-background: #fff;
    --color-surface: #fcfbf7;
    /* wf-cream */
    --color-text: #000;
    /* wf-black */
    --color-text-light: #fff;
    /* wf-white */
    --color-banner-overlay: rgba(56, 95, 1, 0.7);
    /* Semi-transparent green for banner overlay */

    /* Typography */
    --font-primary: 'Roboto', sans-serif;
    --font-heading: 'Antic Didone', serif;
    --font-banner: 'Antic Didone', serif;

    /* Spacing */
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 2rem;
    --spacing-xl: 4rem;

    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
}

/* Modern Theme Overrides */
[data-theme="modern"] {
    /* Modernised Palette - Brighter, higher contrast example */
    --color-primary: #2e5c0d;
    /* Slightly deeper green */
    --color-secondary: #5d5232;
    /* Darker brown */
    --color-accent: #eef5d8;
    /* Lighter, cleaner accent */
    --color-background: #fdfdfd;
    /* Off-white background */
    --color-surface: #fcfbf7;
    /* Lighter cream surface */
    --color-text: #1a1a1a;
    /* Soft black */

    /* Modern Typography adjustments can go here */
}

/* Theme Toggle Button Styles */
.theme-toggle {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: var(--color-surface);
    border: 2px solid var(--color-primary);
    padding: 10px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 1000;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.theme-toggle svg {
    fill: var(--color-primary);
    width: 24px;
    height: 24px;
}

/* Utility Colours */
.text-mc-brown {
    color: var(--color-secondary) !important;
}

.text-mc-dark-green {
    color: var(--color-primary) !important;
}