:root {
    /* Primary Colors */
    --primary-green: #1B5E20;
    --primary-green-dark: #2E7D32;
    --primary-green-light: #4CAF50;
    --soft-green: #E8F5E9;
    --light-green: #C8E6C9;
    --accent-green: #22C55E;
    
    /* Neutral Colors */
    --white: #fff;
    --gray-100: #F3F4F6;
    --gray-200: #E5E7EB;
    --gray-300: #D1D5DB;
    --gray-400: #9CA3AF;
    --gray-500: #6B7280;
    --gray-600: #4B5563;
    --gray-700: #374151;
    --gray-800: #1F2937;
    --gray-900: #111827;
    
    /* Accent Colors */
    --gold: #FFD700;
    --coffee-dark: #3E2723;
    --coffee-medium: #5D4037;
    --red: #EF4444;
    --orange: #F97316;
    
    /* Typography */
    --font-primary: 'Poppins', 'Segoe UI', sans-serif;
    --font-secondary: 'Roboto', sans-serif;
    
    /* Spacing */
    --header-height: 72px;
    
    /* Border Radius */
    --border-radius-sm: 6px;
    --border-radius-md: 12px;
    --border-radius-lg: 16px;
    --border-radius-xl: 24px;
    --border-radius-2xl: 32px;
    --border-radius-full: 9999px;
    
    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.06);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.08);
    --shadow-xl: 0 12px 40px rgba(0,0,0,0.10);
    --shadow-2xl: 0 20px 60px rgba(0,0,0,0.12);
}

/* Body base styles */
body {
    font-family: var(--font-primary);
    color: var(--gray-800);
    background: var(--white);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Link base */
a { color: inherit; text-decoration: none; }

/* Image base */
img { max-width: 100%; height: auto; }

/* Selection */
::selection {
    background: var(--primary-green);
    color: var(--white);
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--gray-100); }
::-webkit-scrollbar-thumb { background: var(--gray-400); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--gray-500); }

/* Focus */
:focus-visible {
    outline: 2px solid var(--primary-green);
    outline-offset: 2px;
}

/* Transition defaults */
* { transition-property: color, background-color, border-color, box-shadow, transform, opacity; transition-duration: 0.2s; transition-timing-function: ease; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
