/* 
 * Finedge Credit Solution - Dynamic Premium Themes
 * Consolidates overrides for NerdWallet-Inspired and Finanza themes
 */

/* ==========================================================================
   THEME 1: NERDWALLET-INSPIRED FINANCE THEME
   ========================================================================== */
body.theme-nerdwallet {
    --primary-navy: #0f2d20;       /* Dark Green/Slate Text */
    --primary-blue: #007a33;       /* Brand Forest Green */
    --accent-green: #00c05b;       /* Bright Accent Green */
    --accent-green-hover: #00823b; /* Medium Green */
    --bg-light-green: #f4faf6;     /* Soft Light Green background */
    --bg-slate: #f8fafc;           /* Light slate/gray */
    --text-dark: #0f2d20;
    --text-muted: #4a5568;
    --font-primary: 'Inter', sans-serif;
    
    font-family: var(--font-primary) !important;
    background-color: var(--theme-background) !important;
    color: var(--text-dark) !important;
}

/* NerdWallet Editorial Headings */
body.theme-nerdwallet h1, 
body.theme-nerdwallet h2, 
body.theme-nerdwallet h3, 
body.theme-nerdwallet h4, 
body.theme-nerdwallet h5, 
body.theme-nerdwallet h6,
body.theme-nerdwallet .display-4,
body.theme-nerdwallet .display-5,
body.theme-nerdwallet .display-6 {
    font-family: 'Inter', sans-serif !important;
    font-weight: 800 !important;
    color: var(--primary-navy) !important;
    letter-spacing: -0.5px;
}

body.theme-nerdwallet p,
body.theme-nerdwallet .text-secondary {
    color: var(--text-muted) !important;
}

body.theme-nerdwallet .text-gradient-primary {
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    color: var(--primary-navy) !important;
}

body.theme-nerdwallet .text-accent {
    color: var(--primary-blue) !important;
}

/* NerdWallet Navbar Override */
body.theme-nerdwallet .navbar {
    background-color: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
}
body.theme-nerdwallet .navbar-nav .nav-link {
    color: var(--primary-navy) !important;
    font-weight: 600 !important;
}
body.theme-nerdwallet .navbar-nav .nav-link.active,
body.theme-nerdwallet .navbar-nav .nav-link:hover {
    color: var(--primary-blue) !important;
}

/* NerdWallet Button Styling */
body.theme-nerdwallet .btn-accent {
    background-color: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
    color: #FFFFFF !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
}
body.theme-nerdwallet .btn-accent:hover {
    background-color: var(--accent-green-hover) !important;
    border-color: var(--accent-green-hover) !important;
}
body.theme-nerdwallet .btn-primary {
    background-color: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
}
body.theme-nerdwallet .btn-primary:hover {
    background-color: var(--accent-green-hover) !important;
    border-color: var(--accent-green-hover) !important;
}
body.theme-nerdwallet .btn-outline-primary {
    color: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
    border-radius: 4px !important;
}
body.theme-nerdwallet .btn-outline-primary:hover {
    background-color: var(--primary-blue) !important;
    color: #FFFFFF !important;
}

/* Flat Card Borders */
body.theme-nerdwallet .card-glow, 
body.theme-nerdwallet .card {
    border-radius: 4px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    background-color: #ffffff !important;
}
body.theme-nerdwallet .card-glow:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    border-color: var(--primary-blue) !important;
}

body.theme-nerdwallet .circle-icon {
    border-radius: 4px !important;
    background-color: var(--bg-light-green) !important;
    color: var(--primary-blue) !important;
}

/* Form controls */
body.theme-nerdwallet .form-control {
    border-radius: 4px !important;
    border: 1px solid #cbd5e1 !important;
}
body.theme-nerdwallet .form-control:focus {
    border-color: var(--primary-blue) !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 122, 51, 0.15) !important;
}
body.theme-nerdwallet .form-range::-webkit-slider-thumb {
    background: var(--primary-blue) !important;
    border-radius: 50% !important;
}
body.theme-nerdwallet .form-range::-moz-range-thumb {
    background: var(--primary-blue) !important;
    border-radius: 50% !important;
}


/* ==========================================================================
   THEME 2: FINANZA THEME
   ========================================================================== */
body.theme-finanza {
    --primary-navy: #011A41;       /* Dark Navy Text */
    --primary-blue: #355EFC;       /* Finanza Blue */
    --accent-green: #E93C05;       /* Finanza Orange */
    --accent-green-hover: #c73304; /* Darker Orange */
    --bg-light-green: #e9efff;     /* Soft Light Blue background */
    --bg-slate: #f4f6fd;           /* Light gray-blue */
    --text-dark: #011A41;
    --text-muted: #555555;
    --font-primary: 'Open Sans', sans-serif;
    
    font-family: var(--font-primary) !important;
    background-color: var(--theme-background) !important;
    color: var(--text-dark) !important;
}

/* Finanza Headings (Jost font style) */
body.theme-finanza h1, 
body.theme-finanza h2, 
body.theme-finanza h3, 
body.theme-finanza h4, 
body.theme-finanza h5, 
body.theme-finanza h6,
body.theme-finanza .display-4,
body.theme-finanza .display-5,
body.theme-finanza .display-6 {
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
    color: var(--primary-navy) !important;
}

body.theme-finanza p,
body.theme-finanza .text-secondary {
    color: var(--text-muted) !important;
}

body.theme-finanza .text-gradient-primary {
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    color: var(--primary-blue) !important;
}

body.theme-finanza .text-accent {
    color: var(--accent-green) !important;
}

/* Finanza Buttons */
body.theme-finanza .btn-accent {
    background-color: var(--accent-green) !important;
    border-color: var(--accent-green) !important;
    color: #FFFFFF !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
}
body.theme-finanza .btn-accent:hover {
    background-color: var(--accent-green-hover) !important;
    border-color: var(--accent-green-hover) !important;
}
body.theme-finanza .btn-primary {
    background-color: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
}
body.theme-finanza .btn-primary:hover {
    background-color: #1a44db !important;
    border-color: #1a44db !important;
}
body.theme-finanza .btn-outline-primary {
    color: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
    border-radius: 50px !important;
}
body.theme-finanza .btn-outline-primary:hover {
    background-color: var(--primary-blue) !important;
    color: #FFFFFF !important;
}

/* Card Overrides */
body.theme-finanza .card-glow, 
body.theme-finanza .card {
    border-radius: 8px !important;
    border: 1px solid #e9efff !important;
    box-shadow: 0 10px 30px rgba(1, 26, 65, 0.04) !important;
    background-color: #ffffff !important;
}
body.theme-finanza .card-glow:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 15px 40px rgba(1, 26, 65, 0.08) !important;
    border-color: var(--primary-blue) !important;
}

body.theme-finanza .circle-icon {
    border-radius: 8px !important;
    background-color: var(--bg-light-green) !important;
    color: var(--primary-blue) !important;
}

/* Form inputs */
body.theme-finanza .form-control {
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
}
body.theme-finanza .form-control:focus {
    border-color: var(--primary-blue) !important;
    box-shadow: 0 0 0 0.2rem rgba(53, 94, 252, 0.15) !important;
}
body.theme-finanza .form-range::-webkit-slider-thumb {
    background: var(--primary-blue) !important;
}
body.theme-finanza .form-range::-moz-range-thumb {
    background: var(--primary-blue) !important;
}


/* ==========================================================================
   THEME 3: INSURE THEME
   ========================================================================== */
body.theme-insure {
    --primary-navy: #0F233C;       /* Dark Blue/Dark text */
    --primary-blue: #015FC9;       /* Insure Blue */
    --accent-green: #0DD3F1;       /* Accent Cyan */
    --accent-green-hover: #015FC9; /* Accent Hover Blue */
    --bg-light-green: #ECF5FF;     /* Soft Light Blue background */
    --bg-slate: #F6F7FC;           /* Light slate/gray-blue */
    --text-dark: #15233C;
    --text-muted: #666666;
    --font-primary: 'Roboto', sans-serif;
    
    font-family: var(--font-primary) !important;
    background-color: var(--theme-background) !important;
    color: var(--text-dark) !important;
}

/* Insure Editorial Headings */
body.theme-insure h1, 
body.theme-insure h2, 
body.theme-insure h3, 
body.theme-insure h4, 
body.theme-insure h5, 
body.theme-insure h6,
body.theme-insure .display-4,
body.theme-insure .display-5,
body.theme-insure .display-6 {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    color: var(--primary-navy) !important;
}

body.theme-insure p,
body.theme-insure .text-secondary {
    color: var(--text-muted) !important;
}

body.theme-insure .text-gradient-primary {
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    color: var(--primary-blue) !important;
}

body.theme-insure .text-accent {
    color: var(--accent-green) !important;
}

/* Insure Buttons */
body.theme-insure .btn-accent {
    background-color: var(--accent-green) !important;
    border-color: var(--accent-green) !important;
    color: #FFFFFF !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
}
body.theme-insure .btn-accent:hover {
    background-color: var(--accent-green-hover) !important;
    border-color: var(--accent-green-hover) !important;
    color: #FFFFFF !important;
}
body.theme-insure .btn-primary {
    background-color: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
}
body.theme-insure .btn-primary:hover {
    background-color: var(--accent-green-hover) !important;
    border-color: var(--accent-green-hover) !important;
}
body.theme-insure .btn-outline-primary {
    color: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
    border-radius: 4px !important;
}
body.theme-insure .btn-outline-primary:hover {
    background-color: var(--primary-blue) !important;
    color: #FFFFFF !important;
}

/* Card Overrides */
body.theme-insure .card-glow, 
body.theme-insure .card {
    border-radius: 4px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    background-color: #ffffff !important;
}
body.theme-insure .card-glow:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    border-color: var(--primary-blue) !important;
}

body.theme-insure .circle-icon {
    border-radius: 4px !important;
    background-color: var(--bg-light-green) !important;
    color: var(--primary-blue) !important;
}

/* Form controls */
body.theme-insure .form-control {
    border-radius: 4px !important;
    border: 1px solid #cbd5e1 !important;
}
body.theme-insure .form-control:focus {
    border-color: var(--primary-blue) !important;
    box-shadow: 0 0 0 0.2rem rgba(1, 95, 201, 0.15) !important;
}
body.theme-insure .form-range::-webkit-slider-thumb {
    background: var(--primary-blue) !important;
    border-radius: 50% !important;
}
body.theme-insure .form-range::-moz-range-thumb {
    background: var(--primary-blue) !important;
    border-radius: 50% !important;
}
