
:root {
    /* General */
    --theme-bg-color: transparent;
    
    /* Text */
    --theme-title-color: #000;
    --theme-text-color: #000;
    --theme-eyebrow-color: #000;
    
    /* Links */
    --theme-link-color: inherit;
    --theme-link-hover-color: inherit;

    /* Defaults */
    --default-transition: all 0.2s ease;
}

[class*="theme--"] {
    background-color: var(--theme-bg-color);
    color: var(--theme-text-color);
}

.theme--dark {
    /* General */
    --theme-bg-color:var(--shade-400);
    
    /* Text */
    --theme-title-color:var(--neutral-100);
    --theme-text-color:var(--neutral-100);
    --theme-eyebrow-color:var(--primary-400);
    
    /* Links */
    --theme-link-color:var(--primary-400);
    --theme-link-hover-color:var(--primary-500);
}

.theme--light {
    /* General */
    --theme-bg-color:var(--primary-100);
    
    /* Text */
    --theme-title-color:var(--primary-400);
    --theme-text-color:var(--secondary-400);
    --theme-eyebrow-color:var(--secondary-400);
    
    /* Links */
    --theme-link-color:var(--secondary-400);
    --theme-link-hover-color:var(--secondary-500);
}

.theme--black {
    /* General */
    --theme-bg-color:var(--neutral-500);
    
    /* Text */
    --theme-title-color:var(--neutral-100);
    --theme-text-color:var(--neutral-100);
    --theme-eyebrow-color:var(--primary-400);
    
    /* Links */
    --theme-link-color:var(--primary-400);
    --theme-link-hover-color:var(--primary-500);
}

.theme--white {
    /* General */
    --theme-bg-color:var(--neutral-100);
    
    /* Text */
    --theme-title-color:var(--primary-400);
    --theme-text-color:var(--primary-400);
    --theme-eyebrow-color:var(--primary-400);
    
    /* Links */
    --theme-link-color:var(--primary-400);
    --theme-link-hover-color:var(--primary-500);
}

.theme--primary {
    /* General */
    --theme-bg-color:var(--primary-400);
    
    /* Text */
    --theme-title-color:var(--neutral-100);
    --theme-text-color:var(--neutral-100);
    --theme-eyebrow-color:var(--secondary-400);
    
    /* Links */
    --theme-link-color:var(--secondary-400);
    --theme-link-hover-color:var(--secondary-500);
}

.theme--secondary {
    /* General */
    --theme-bg-color:var(--secondary-400);
    
    /* Text */
    --theme-title-color:var(--primary-400);
    --theme-text-color:var(--primary-400);
    --theme-eyebrow-color:var(--primary-400);
    
    /* Links */
    --theme-link-color:var(--primary-400);
    --theme-link-hover-color:var(--primary-500);
}

h1, h2, h3, h4, h5, h6, [class*="bc--h"] {
color: var(--theme-title-color);
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, [class*="bc--h"] a  {
color: inherit;
}

.eyebrow {
    color: var(--theme-eyebrow-color);
}

[class*="theme--"] a:not(:where(.ignore-theme-links *, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a), .ct-link-button, .bricks-button){
    color: var(--theme-link-color);
    transition: var(--default-transition);
}

[class*="theme--"] a:not(:where(.ignore-theme-links *, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a), .ct-link-button, .bricks-button):hover{
    color: var(--theme-link-hover-color);
}
            