/* ============================================
   THEME-AWARE UTILITIES 
   (Overrides for dynamic theming support)
   ============================================ */

/* Force dynamic variable usage for brand colors */
.text-nuvika-purple {
    color: var(--accent-purple) !important;
}

.bg-nuvika-purple {
    background-color: var(--accent-purple) !important;
}

.text-nuvika-blue {
    color: var(--accent-blue) !important;
}

.bg-nuvika-blue {
    background-color: var(--accent-blue) !important;
}

.text-nuvika-orange {
    color: var(--accent-orange) !important;
}

.bg-nuvika-orange {
    background-color: var(--accent-orange) !important;
}

/* Opacity variants using color-mix for theme compatibility */
.border-nuvika-purple\/30 {
    border-color: color-mix(in srgb, var(--accent-purple) 30%, transparent) !important;
}

.border-nuvika-blue\/30 {
    border-color: color-mix(in srgb, var(--accent-blue) 30%, transparent) !important;
}

.border-nuvika-orange\/30 {
    border-color: color-mix(in srgb, var(--accent-orange) 30%, transparent) !important;
}

.bg-nuvika-purple\/10 {
    background-color: color-mix(in srgb, var(--accent-purple) 10%, transparent) !important;
}

.bg-nuvika-blue\/10 {
    background-color: color-mix(in srgb, var(--accent-blue) 10%, transparent) !important;
}

.bg-nuvika-orange\/10 {
    background-color: color-mix(in srgb, var(--accent-orange) 10%, transparent) !important;
}

/* Gradient helpers */
.from-nuvika-purple {
    --tw-gradient-from: var(--accent-purple) !important;
}

.to-nuvika-blue {
    --tw-gradient-to: var(--accent-blue) !important;
}

/* Transparency fix */
.fade-in {
    opacity: 1 !important;
}