/**
 * CaseGenetics Green Theme Override
 * =================================
 * Converts blue/purple color scheme to green theme
 * matching the CaseAn application branding
 */

/* Global Color Variables (override Tailwind defaults) */
:root {
    --primary-50: #f0fdf4;
    --primary-100: #dcfce7;
    --primary-200: #bbf7d0;
    --primary-300: #86efac;
    --primary-400: #4ade80;
    --primary-500: #22c55e;
    --primary-600: #16a34a;
    --primary-700: #15803d;
    --primary-800: #166534;
    --primary-900: #14532d;

    --secondary-50: #ecfdf5;
    --secondary-100: #d1fae5;
    --secondary-200: #a7f3d0;
    --secondary-300: #6ee7b7;
    --secondary-400: #34d399;
    --secondary-500: #10b981;
    --secondary-600: #059669;
    --secondary-700: #047857;
    --secondary-800: #065f46;
    --secondary-900: #064e3b;
}

/* Replace all blue/purple gradients with green */
.bg-gradient-to-r.from-blue-600,
.bg-gradient-to-r.from-blue-500,
[class*="from-blue"] {
    --tw-gradient-from: #16a34a !important;
    --tw-gradient-to: #059669 !important;
}

.to-purple-600,
.to-purple-500,
[class*="to-purple"] {
    --tw-gradient-to: #059669 !important;
}

/* Text gradients */
.bg-clip-text.text-transparent {
    background: linear-gradient(to right, #16a34a, #059669) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* Border colors */
.border-blue-100,
.border-blue-200 {
    border-color: #dcfce7 !important;
}

/* Background colors */
.bg-blue-50,
.bg-blue-100,
.bg-purple-50 {
    background-color: #f0fdf4 !important;
}

.bg-blue-100,
.bg-purple-100 {
    background-color: #dcfce7 !important;
}

.bg-blue-600,
.bg-purple-600 {
    background-color: #16a34a !important;
}

/* Text colors */
.text-blue-600,
.text-purple-600 {
    color: #16a34a !important;
}

.text-blue-700,
.text-purple-700 {
    color: #15803d !important;
}

.text-blue-800,
.text-purple-800 {
    color: #166534 !important;
}

.text-blue-100,
.text-purple-100 {
    color: #dcfce7 !important;
}

/* Hover states */
.hover\:text-blue-600:hover,
.hover\:text-purple-600:hover {
    color: #16a34a !important;
}

.hover\:bg-blue-50:hover,
.hover\:bg-purple-50:hover {
    background-color: #f0fdf4 !important;
}

.hover\:from-blue-700:hover {
    --tw-gradient-from: #15803d !important;
}

.hover\:to-purple-700:hover {
    --tw-gradient-to: #047857 !important;
}

/* Button specific overrides */
button.bg-gradient-to-r,
a.bg-gradient-to-r {
    background: linear-gradient(to right, #16a34a, #059669) !important;
}

button.bg-gradient-to-r:hover,
a.bg-gradient-to-r:hover {
    background: linear-gradient(to right, #15803d, #047857) !important;
}

/* Decorative blobs and backgrounds */
.bg-blue-300.rounded-full {
    background-color: #86efac !important;
}

.bg-purple-300.rounded-full,
.bg-pink-300.rounded-full {
    background-color: #6ee7b7 !important;
}

.bg-blue-200.rounded-full {
    background-color: #bbf7d0 !important;
}

.bg-purple-200.rounded-full {
    background-color: #a7f3d0 !important;
}

/* Badge and pill colors */
.bg-blue-100.text-blue-800,
.bg-purple-100.text-purple-800 {
    background-color: #dcfce7 !important;
    color: #166534 !important;
}

/* Ring colors (focus states) */
.focus\:ring-blue-500:focus,
.focus\:ring-purple-500:focus {
    --tw-ring-color: #22c55e !important;
}

.focus\:border-blue-500:focus,
.focus\:border-purple-500:focus {
    border-color: #22c55e !important;
}

/* Specific component overrides */

/* Hero section */
#hero .bg-gradient-to-br {
    background: linear-gradient(to bottom right, #f0fdf4, #ffffff, #f9fafb) !important;
}

/* Testimonials */
#testimonials .bg-gradient-to-br {
    background: linear-gradient(to bottom right, #f0fdf4, #ffffff, #ecfdf5) !important;
}

/* Product demo section */
#product-demo .bg-gradient-to-br.from-blue-100,
#product-demo .bg-gradient-to-br.from-purple-100 {
    background: linear-gradient(to bottom right, #dcfce7, #d1fae5) !important;
}

#product-demo .bg-gradient-to-br.from-green-100 {
    background: linear-gradient(to bottom right, #dcfce7, #a7f3d0) !important;
}

/* FAQ section */
.faq-icon {
    color: #16a34a !important;
}

/* Footer links */
footer a:hover {
    color: #16a34a !important;
}

/* Social proof section icons */
.w-16.h-16.bg-blue-100,
.w-16.h-16.bg-purple-100,
.w-12.h-12.bg-blue-100,
.w-12.h-12.bg-purple-100 {
    background-color: #dcfce7 !important;
}

.w-16.h-16.bg-blue-100 svg,
.w-16.h-16.bg-purple-100 svg,
.w-12.h-12.bg-blue-100 svg,
.w-12.h-12.bg-purple-100 svg {
    color: #16a34a !important;
}

/* Form inputs focus */
.form-input:focus {
    border-color: #22c55e !important;
    --tw-ring-color: #22c55e !important;
}

/* Navigation active/hover */
nav a.active,
nav a:hover {
    color: #16a34a !important;
}

/* Stats and metrics */
.text-4xl.font-bold.text-blue-600,
.text-4xl.font-bold.text-purple-600 {
    color: #16a34a !important;
}

/* CTA Sections */
.bg-gradient-to-r.from-blue-600.to-purple-600 {
    background: linear-gradient(to right, #16a34a, #059669) !important;
}

/* Demo page specific */
.demo-section .bg-gradient-to-r {
    background: linear-gradient(to right, #16a34a, #059669) !important;
}

/* Contact page specific */
.contact-section .bg-gradient-to-r {
    background: linear-gradient(to right, #16a34a, #059669) !important;
}

/* Pricing cards */
.pricing-card:hover {
    border-color: #22c55e !important;
}

.pricing-card .featured {
    background: linear-gradient(to right, #16a34a, #059669) !important;
}

/* Animations - ensure green theme in keyframes */
@keyframes pulse-green {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: .5;
    }
}

.animate-pulse {
    animation: pulse-green 2s cubic-bezier(0.4, 0, 0.6, 1) infinite !important;
}

/* Mobile menu button */
#mobile-menu-button:hover {
    color: #16a34a !important;
    background-color: #f0fdf4 !important;
}

/* Scroll indicators */
.scroll-indicator {
    background-color: #16a34a !important;
}

/* Loading states */
.loading-spinner {
    border-color: #dcfce7 !important;
    border-top-color: #16a34a !important;
}

/* Success messages */
.success-message {
    background-color: #dcfce7 !important;
    color: #166534 !important;
    border-color: #86efac !important;
}

/* Feature highlight boxes */
.feature-box:hover {
    border-color: #22c55e !important;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.1) !important;
}

/* Testimonial cards */
.testimonial-card .rating {
    color: #fbbf24 !important; /* Keep star ratings yellow */
}

.testimonial-card:hover {
    border-color: #22c55e !important;
}

/* Section dividers */
.section-divider {
    background: linear-gradient(to right, transparent, #22c55e, transparent) !important;
}

/* Logo gradient override if needed */
.logo-gradient {
    background: linear-gradient(to right, #16a34a, #059669) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* Accessibility - ensure focus rings are visible */
*:focus-visible {
    outline: 2px solid #22c55e !important;
    outline-offset: 2px !important;
}

/* Print styles - keep green theme */
@media print {
    .bg-gradient-to-r {
        background: #16a34a !important;
        color: white !important;
    }
}

/* Dark mode support (if needed in future) */
@media (prefers-color-scheme: dark) {
    .bg-blue-600,
    .bg-purple-600 {
        background-color: #22c55e !important;
    }

    .text-blue-600,
    .text-purple-600 {
        color: #4ade80 !important;
    }
}
