@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

/* Premium Theme Colors (Slate Tech) */
:root {
    --theme-primary: #4f46e5;
    --theme-primary-hover: #4338ca;
    --theme-primary-light: rgba(79, 70, 229, 0.1);
    --theme-bg: #f8fafc;
    --theme-bg-panel: #ffffff;
    --theme-bg-dark: #0f172a;
    --theme-text: #1e293b;
    --theme-text-muted: #64748b;
    --theme-border: #e2e8f0;
    --theme-font-sans: 'Inter', sans-serif;
    --theme-font-outfit: 'Outfit', sans-serif;
}

/* Dynamic Theme Application Override Rules */
body {
    font-family: var(--theme-font-sans) !important;
    background-color: var(--theme-bg) !important;
    color: var(--theme-text) !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--theme-font-outfit) !important;
}

.font-outfit {
    font-family: var(--theme-font-outfit) !important;
}

/* Primary/Accent colors mapping override */
.text-indigo-600, 
.text-indigo-650, 
.text-blue-400, 
.text-blue-500, 
.hover\:text-indigo-600:hover, 
.hover\:text-indigo-800:hover,
.group-hover\:text-indigo-600:group-hover {
    color: var(--theme-primary) !important;
}

/* Main Text colors mapping override */
.text-stone-900, 
.text-slate-900, 
.text-slate-950, 
.text-stone-850, 
.text-slate-950, 
.text-gray-900 {
    color: var(--theme-text) !important;
}

/* Muted Text colors mapping override */
.text-stone-600, 
.text-stone-500, 
.text-stone-400, 
.text-slate-600, 
.text-slate-500, 
.text-slate-400, 
.text-gray-500, 
.text-gray-400, 
.text-blue-100 {
    color: var(--theme-text-muted) !important;
}

/* Accent Background override */
.bg-indigo-600, 
.bg-indigo-500, 
.hover\:bg-indigo-600:hover, 
.hover\:bg-indigo-500:hover, 
.bg-blue-600, 
.hover\:bg-blue-700:hover, 
.hover\:bg-indigo-50:hover,
.hover\:bg-blue-50:hover {
    background-color: var(--theme-primary) !important;
}

.bg-indigo-50, 
.bg-indigo-600\/10, 
.bg-blue-600\/10 {
    background-color: var(--theme-primary-light) !important;
}

/* Background overrides */
.bg-slate-50, 
.bg-stone-50, 
.bg-stone-100, 
.bg-slate-100, 
.bg-gray-50, 
.bg-stone-50/95 {
    background-color: var(--theme-bg) !important;
}

.bg-white, 
.glass-card, 
.glass-panel {
    background-color: var(--theme-bg-panel) !important;
}

/* Dark components (Footer/Header overrides) */
footer.bg-slate-950,
footer.bg-slate-900 {
    background-color: var(--theme-bg-dark) !important;
}

header {
    background-color: var(--theme-bg-panel) !important;
    border-color: var(--theme-border) !important;
}

.nav-links {
    background-color: var(--theme-bg-panel) !important;
}

/* Border color overrides */
.border-stone-200, 
.border-stone-200\/80, 
.border-slate-100, 
.border-gray-100, 
.border-gray-200 {
    border-color: var(--theme-border) !important;
}

/* Selection Overrides */
::selection {
    background-color: var(--theme-primary) !important;
    color: #ffffff !important;
}
