:root {
    /* Core Palette - Original Theme (Default) */
    --color-primary: #385f01;
    /* dark-green */

    --color-secondary: #665b38;
    /* brown */
    --color-tertiary: #dce5bf;
    /* pale sage green */

    --color-accent: #eae1c7;
    /* cream */
    --color-background: #fff;
    --color-surface: #fcfbf7;
    /* cream */
    --color-text: #000;
    /* black */
    --color-text-light: #fff;
    /* white */
    --color-link: #2d4d00;
    /* deep forest green */
    --color-link-visited: #5a5e4b;
    /* muted earthy brown/moss */
    --color-link-hover: #385f01;
    /* primary green */
    --color-available-bg: #f0f4e4;
    /* Light green derived from primary */
    --color-primary-overlay: rgba(56, 95, 1, 0.7);
    /* Semi-transparent primary green for text overlays */

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

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

    /* Layout Dimensions */
    --header-height: 157px;

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

    /* Semantic Colours */
    --success: #2e7d32;
    /* Forest safe green */
    --error: #d32f2f;
    /* Classic error red */

    /* Design System Tokens */
    --color-border: #ddd;
    --color-border-light: #eee;
    --color-gray-dark: #333;
    --color-gray-muted: #777;
    --color-off-white: #f8f8f8;
    --color-admin-primary: #4a5d4e;
    --color-admin-primary-dark: #3e4d41;
    --color-gray-extra-light: #f0f0f0;
    --color-error-text: #c62828;
    --color-danger: #d9534f;
}


/* Responsive Header Height */
@media (max-width: 767px) {
    :root {
        --header-height: 112px;
    }
}