:root {
    /* Section Colors */
    --homepage-hero-title-color: #83c736;
    --homepage-hero-subtitle-color: #961717;
    --homepage-category-title-color: #000000;
    --homepage-category-subtitle-color: #000000;
    --homepage-advertisers-title-color: #000000;
    --homepage-advertisers-subtitle-color: #000000;
    --homepage-advertisers-heading-text-color: #000000;
    --homepage-blogs-title-color: #000000;
    --homepage-blogs-subtitle-color: #FFFFFF;
    --homepage-blogs-heading-text-color: #d40f0f;
    
    /* Theme Colors */
    --theme-primary-color: #0e9ed5;
    --theme-secondary-color: #000000;
    --theme-accent-color: #B0CBE6;
    --theme-background-color: #FFFFFF;
    
    /* Typography - Font Families */
    --font-primary: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-secondary: 'Merriweather', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-headings: 'Roboto', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-monospace: 'Roboto Mono', SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --theme-font-family: var(--font-primary);
    
    /* Typography - Font Sizes */
    --font-size-base: 16px;
    --font-size-h1: 2.5rem;
    --font-size-h2: 2rem;
    --font-size-h3: 1.75rem;
    --font-size-h4: 1.5rem;
    --font-size-h5: 1.25rem;
    --font-size-h6: 1rem;
    --font-size-small: 0.875rem;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    
    /* Typography - Line Heights and Spacing */
    --line-height-base: 1.5;
    --line-height-headings: 1.2;
    --letter-spacing-base: normal;
    --letter-spacing-headings: normal;
}

/* Base Typography Styles */
body {
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    letter-spacing: var(--letter-spacing-base);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-headings);
    line-height: var(--line-height-headings);
    letter-spacing: var(--letter-spacing-headings);
    margin-bottom: 0.5em;
    font-weight: 700;
}

h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }
h4 { font-size: var(--font-size-h4); }
h5 { font-size: var(--font-size-h5); }
h6 { font-size: var(--font-size-h6); }

.text-xs { font-size: var(--font-size-xs); }
.text-sm { font-size: var(--font-size-sm); }
.text-base { font-size: var(--font-size-base); }
.text-lg { font-size: var(--font-size-lg); }
.text-xl { font-size: var(--font-size-xl); }
.text-2xl { font-size: var(--font-size-2xl); }

pre, code, kbd, samp {
    font-family: var(--font-monospace);
}

.font-primary { font-family: var(--font-primary); }
.font-secondary { font-family: var(--font-secondary); }
.font-headings { font-family: var(--font-headings); }
.font-mono { font-family: var(--font-monospace); }