/* Base styles */
:root {
    --primary-color: #9b87f5;
    --primary-hover: #8B5CF6;
    --background-gradient-start: #E5DEFF;
    --background-gradient-end: #ffffff;
    --text-dark: #1A1F2C;
    --text-muted: #6E59A5;
}

body {
    margin: 0;
    padding: 0;
    background: linear-gradient(135deg, var(--background-gradient-start) 0%, var(--background-gradient-end) 100%);
    font-family: 'Inter', sans-serif;
    color: var(--text-dark);
}

/* Animation */
.animate-fade-up {
    animation: fadeUp 0.5s ease-out;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Feature cards */
.feature-card {
    transition: transform 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-5px);
}

.feature-icon {
    transition: all 0.3s ease;
}

.feature-card:hover .feature-icon {
    background-color: var(--primary-color);
}

.feature-card:hover .feature-icon svg {
    color: white !important;
}

/* Button styles */
button.bg-primary,
.bg-primary {
    background-color: var(--primary-color) !important;
    color: white !important;
}

button.bg-primary:hover,
.bg-primary:hover {
    background-color: var(--primary-hover) !important;
}

/* Text colors */
.text-primary {
    color: var(--primary-color) !important;
}

.text-gray-600 {
    color: var(--text-muted) !important;
}

.text-gray-900 {
    color: var(--text-dark) !important;
}

/* Background colors */
.bg-gray-100 {
    background-color: var(--background-gradient-start) !important;
}

/* Form elements */
input:focus, 
textarea:focus {
    border-color: var(--primary-color) !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(155, 135, 245, 0.2) !important;
}

/* Gradient backgrounds */
.bg-gradient-to-b {
    background: linear-gradient(135deg, var(--background-gradient-start) 0%, var(--background-gradient-end) 100%) !important;
}

/* Container */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .container {
        padding: 0 2rem;
    }
}

/* Override Tailwind classes */
[class*="bg-primary"] {
    background-color: var(--primary-color) !important;
}

[class*="text-primary"] {
    color: var(--primary-color) !important;
}

.from-gray-100 {
    --tw-gradient-from: var(--background-gradient-start) !important;
}

/* Ensure buttons maintain styling */
.btn,
button[type="submit"],
.inline-flex {
    background-color: var(--primary-color) !important;
    color: white !important;
    transition: all 0.3s ease !important;
}

.btn:hover,
button[type="submit"]:hover,
.inline-flex:hover {
    background-color: var(--primary-hover) !important;
    transform: translateY(-2px) !important;
}