@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Source+Sans+Pro:wght@400;700&display=swap");

:root {
  --color-primary: #8B7D3C;
  --color-primary-50: #EDE8D4;
  --color-primary-100: #EAE4CD;
  --color-primary-200: #E0D9B8;
  --color-primary-300: #D3C897;
  --color-primary-400: #BDAD65;
  --color-primary-500: #8B7D3C;
  --color-primary-600: #6F632F;
  --color-primary-700: #524A23;
  --color-primary-800: #322D15;
  --color-primary-900: #151309;
  --color-primary-950: #070603;
  --color-accent: #CC0000;
  --color-accent-50: #FFC7C7;
  --color-accent-100: #FFBDBD;
  --color-accent-200: #FF9E9E;
  --color-accent-300: #FF7070;
  --color-accent-400: #FF2929;
  --color-accent-500: #CC0000;
  --color-accent-600: #A30000;
  --color-accent-700: #750000;
  --color-accent-800: #4D0000;
  --color-accent-900: #240000;
  --color-accent-950: #0F0000;
  --color-background: #ffffff;
  --color-foreground: #2a2a2a;
  --color-text-heading: #2a2a2a;
  --color-text-body: #333333;
  --color-text-muted: #6b6b6b;
  --color-text-placeholder: #a0a0a0;
  --color-text-disabled: #c8c8c8;
  --color-text-link: #5f552b;
  --color-text-link-hover: #4a4222;
  --color-surface: #f7f6f2;
  --color-surface-variant: #f0eed8;
  --color-surface-elevated: #ffffff;
  --color-border: #d4c486;
  --color-border-light: #e5dbb3;
  --color-border-dark: #8b7d3c;
  --color-semantic-success: #205823;
  --color-semantic-success-light: #a3c6a5;
  --color-semantic-success-border: #80a082;
  --color-semantic-success-readable: #205823;
  --color-semantic-error: #8b1c1c;
  --color-semantic-error-light: #e8a7a7;
  --color-semantic-error-border: #bf8181;
  --color-semantic-error-readable: #8b1c1c;
  --color-semantic-warning: #8a3100;
  --color-semantic-warning-light: #f4b28f;
  --color-semantic-warning-border: #bc8a6e;
  --color-semantic-warning-readable: #8a3100;
  --color-semantic-info: #0f4786;
  --color-semantic-info-light: #98bbe3;
  --color-semantic-info-border: #7696ba;
  --color-semantic-info-readable: #0f4786;
  --color-primary-readable: #6f632f;
  --color-text-muted-readable: #6b6b6b;
  --header-bg: #333333;
  --header-text: #ffffff;
  --header-link: #e5dbb3;
  --header-link-hover: #f2edd9;
  --header-border: #242424;
  --footer-bg: #2a2a2a;
  --footer-text: #e0e0e0;
  --footer-link: #d4c486;
  --footer-link-hover: #e5dbb3;
  --footer-border: #3a3a3a;
  --nav-bg: #3a3a3a;
  --nav-text: #e0e0e0;
  --nav-link: #d4c486;
  --nav-link-hover: #ffffff;
  --nav-border: #4a4a4a;
  --color-btn-primary-bg: #5f552b;
  --color-btn-primary-text: #ffffff;
  --color-btn-primary-hover: #4a4222;
  --color-btn-primary-border: #5f552b;
  --color-btn-secondary-bg: #f0eed8;
  --color-btn-secondary-text: #38321a;
  --color-btn-secondary-hover: #e5dbb3;
  --color-btn-secondary-border: #d4c486;
  --font-family-heading: Playfair Display;
  --font-heading-weights: 400,700;
  --font-family-body: Source Sans Pro;
  --font-body-weights: 400,700;
  --spacing-base: 4px;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --border-width-thin: 1px;
  --border-width: 2px;
  --border-width-thick: 4px;
}

:root:where([data-theme-mode="light"]) {
  --color-primary: #8B7D3C;
  --color-primary-50: #EDE8D4;
  --color-primary-100: #EAE4CD;
  --color-primary-200: #E0D9B8;
  --color-primary-300: #D3C897;
  --color-primary-400: #BDAD65;
  --color-primary-500: #8B7D3C;
  --color-primary-600: #6F632F;
  --color-primary-700: #524A23;
  --color-primary-800: #322D15;
  --color-primary-900: #151309;
  --color-primary-950: #070603;
  --color-accent: #CC0000;
  --color-accent-50: #FFC7C7;
  --color-accent-100: #FFBDBD;
  --color-accent-200: #FF9E9E;
  --color-accent-300: #FF7070;
  --color-accent-400: #FF2929;
  --color-accent-500: #CC0000;
  --color-accent-600: #A30000;
  --color-accent-700: #750000;
  --color-accent-800: #4D0000;
  --color-accent-900: #240000;
  --color-accent-950: #0F0000;
  --color-background: #ffffff;
  --color-foreground: #2a2a2a;
  --color-text-heading: #2a2a2a;
  --color-text-body: #333333;
  --color-text-muted: #6b6b6b;
  --color-text-placeholder: #a0a0a0;
  --color-text-disabled: #c8c8c8;
  --color-text-link: #5f552b;
  --color-text-link-hover: #4a4222;
  --color-surface: #f7f6f2;
  --color-surface-variant: #f0eed8;
  --color-surface-elevated: #ffffff;
  --color-border: #d4c486;
  --color-border-light: #e5dbb3;
  --color-border-dark: #8b7d3c;
  --color-semantic-success: #205823;
  --color-semantic-success-light: #a3c6a5;
  --color-semantic-success-border: #80a082;
  --color-semantic-success-readable: #205823;
  --color-semantic-error: #8b1c1c;
  --color-semantic-error-light: #e8a7a7;
  --color-semantic-error-border: #bf8181;
  --color-semantic-error-readable: #8b1c1c;
  --color-semantic-warning: #8a3100;
  --color-semantic-warning-light: #f4b28f;
  --color-semantic-warning-border: #bc8a6e;
  --color-semantic-warning-readable: #8a3100;
  --color-semantic-info: #0f4786;
  --color-semantic-info-light: #98bbe3;
  --color-semantic-info-border: #7696ba;
  --color-semantic-info-readable: #0f4786;
  --color-primary-readable: #6f632f;
  --color-text-muted-readable: #6b6b6b;
  --header-bg: #333333;
  --header-text: #ffffff;
  --header-link: #e5dbb3;
  --header-link-hover: #f2edd9;
  --header-border: #242424;
  --footer-bg: #2a2a2a;
  --footer-text: #e0e0e0;
  --footer-link: #d4c486;
  --footer-link-hover: #e5dbb3;
  --footer-border: #3a3a3a;
  --nav-bg: #3a3a3a;
  --nav-text: #e0e0e0;
  --nav-link: #d4c486;
  --nav-link-hover: #ffffff;
  --nav-border: #4a4a4a;
  --color-btn-primary-bg: #5f552b;
  --color-btn-primary-text: #ffffff;
  --color-btn-primary-hover: #4a4222;
  --color-btn-primary-border: #5f552b;
  --color-btn-secondary-bg: #f0eed8;
  --color-btn-secondary-text: #38321a;
  --color-btn-secondary-hover: #e5dbb3;
  --color-btn-secondary-border: #d4c486;
  --font-family-heading: Playfair Display;
  --font-heading-weights: 400,700;
  --font-family-body: Source Sans Pro;
  --font-body-weights: 400,700;
  --spacing-base: 4px;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --border-width-thin: 1px;
  --border-width: 2px;
  --border-width-thick: 4px;
}