/* Custom styles to complement Tailwind */

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Custom animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp 0.6s ease-out;
}

/* Custom focus styles */
a:focus, button:focus {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* Prose improvements */
.prose {
    max-width: none;
}

.prose h2 {
    @apply text-2xl font-bold text-gray-900 mt-8 mb-4;
}

.prose h3 {
    @apply text-xl font-semibold text-gray-800 mt-6 mb-3;
}

.prose p {
    @apply text-gray-600 leading-relaxed mb-4;
}

.prose ul {
    @apply list-disc list-inside space-y-2 text-gray-600;
}

/* Loading animation for dynamic content */
.loading {
    opacity: 0.5;
    pointer-events: none;
}

/* Print styles */
@media print {
    .no-print {
        display: none;
    }
}

/* Prevent horizontal scrolling */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

/* Ensure all elements respect container boundaries */
* {
    box-sizing: border-box;
}

/* Fix for animated background elements */
.animate-slide-left {
    overflow: hidden;
    position: absolute;
    left: 0;
    right: 0;
}