
/* Custom Styles for Nexum MindLab */

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* Custom Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-10px);
    }
}

/* Apply Animations */
.fade-in-up {
    animation: fadeInUp 0.6s ease-out;
}

.float-animation {
    animation: float 3s ease-in-out infinite;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, var(--tw-gradient-stops));
    background: linear-gradient(to bottom, #0ea5e9, #38bdf8);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(to bottom, #0284c7, #0ea5e9);
}
/* Selection Color */
::selection {
    background-color: rgba(14, 165, 233, 0.3);
    color: #0c4a6e;
}

/* Focus Styles */
:focus {
    outline: 2px solid #0ea5e9;
    outline-offset: 2px;
}

/* Test Question Styles */
.test-question {
    transition: all 0.3s ease;
}

.test-question:hover {
    transform: translateY(-2px);
}

.option-label {
    cursor: pointer;
    transition: all 0.2s ease;
}

.option-label:hover {
    background-color: rgba(14, 165, 233, 0.1);
}

.option-label.selected {
    background-color: rgba(14, 165, 233, 0.2);
    border-color: #0ea5e9;
}

/* Progress Bar Animation */
.progress-bar-transition {
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Modal Animations */
.modal-enter {
    animation: modalFadeIn 0.3s ease-out;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Loading Spinner */
.loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #0ea5e9;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
/* Gradient Text */
.gradient-text {
    background: linear-gradient(135deg, #0ea5e9, #38bdf8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
/* Card Hover Effects */
.hover-card {
    transition: all 0.3s ease;
}

.hover-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Pulse Animation for CTA */
.pulse-animation {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(14, 165, 233, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(14, 165, 233, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(14, 165, 233, 0);
    }
}

/* Responsive Typography */
@media (max-width: 640px) {
    .text-responsive {
        font-size: 1.875rem !important;
    }
}

/* Custom Container */
.container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 1rem;
    padding-left: 1rem;
}

@media (min-width: 640px) {
    .container {
        max-width: 640px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 768px;
    }
}

@media (min-width: 1024px) {
    .container {
        max-width: 1024px;
    }
}

@media (min-width: 1280px) {
    .container {
        max-width: 1280px;
    }
}

/* Custom Button Styles */
.btn-primary {
    background: linear-gradient(135deg, #0ea5e9, #0284c7);
    color: white;
    padding: 0.75rem 2rem;
    border-radius: 0.5rem;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #0284c7, #0369a1);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(2, 132, 199, 0.3);
}
.btn-secondary {
    background: linear-gradient(135deg, #38bdf8, #0ea5e9);
    color: white;
    padding: 0.75rem 2rem;
    border-radius: 0.5rem;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-secondary:hover {
    background: linear-gradient(135deg, #0ea5e9, #0284c7);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(14, 165, 233, 0.3);
}
/* Category Navigation Styles */
.category-btn {
    transition: all 0.3s ease;
}

.category-btn.active {
    background: linear-gradient(135deg, #0ea5e9, #0284c7);
    color: white;
}

.category-content {
    animation: fadeInUp 0.5s ease-out;
}

/* Updated Blue Gradients */
.bg-blue-100 { background-color: #dbeafe; }
.text-blue-600 { color: #2563eb; }
.bg-blue-600 { 
    background: linear-gradient(135deg, #2563eb, #60a5fa) !important; 
    color: white !important;
}
.hover\:bg-blue-700:hover { 
    background: linear-gradient(135deg, #1d4ed8, #3b82f6) !important; 
    color: white !important;
}
/* Additional Colors for New Categories */
.bg-purple-100 { background-color: #f3e8ff; }
.text-purple-600 { color: #9333ea; }
.bg-purple-600 { background-color: #9333ea; }
.hover\:bg-purple-700:hover { background-color: #7e22ce; }

.bg-blue-100 { background-color: #dbeafe; }
.text-blue-600 { color: #2563eb; }
.bg-blue-600 { background-color: #2563eb; }
.hover\:bg-blue-700:hover { background-color: #1d4ed8; }

.bg-red-100 { background-color: #fee2e2; }
.text-red-600 { color: #dc2626; }
.bg-red-600 { background-color: #dc2626; }
.hover\:bg-red-700:hover { background-color: #b91c1c; }

.bg-yellow-100 { background-color: #fef3c7; }
.text-yellow-600 { color: #d97706; }
.bg-yellow-600 { background-color: #d97706; }
.hover\:bg-yellow-700:hover { background-color: #b45309; }

.bg-gray-400 { background-color: #9ca3af; }
.text-gray-700 { color: #374151; }
.bg-gray-600 { background-color: #4b5563; }
.hover\:bg-gray-700:hover { background-color: #374151; }

.bg-green-100 { background-color: #d1fae5; }
.text-green-600 { color: #059669; }
.bg-green-600 { background-color: #059669; }
.hover\:bg-green-700:hover { background-color: #047857; }

.bg-pink-100 { background-color: #fce7f3; }
.text-pink-600 { color: #db2777; }
.bg-pink-600 { background-color: #db2777; }
.hover\:bg-pink-700:hover { background-color: #be185d; }

.bg-indigo-100 { background-color: #e0e7ff; }
.text-indigo-600 { color: #4f46e5; }
.bg-indigo-600 { background-color: #4f46e5; }
.hover\:bg-indigo-700:hover { background-color: #4338ca; }
