/* Custom Styles & Overrides */
html {
    scroll-behavior: smooth;
}

body {
    /* Fallback color if Tailwind fails to load */
    background-color: #f0fdfa;
}

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

::-webkit-scrollbar-track {
    background: #0f172a;
}

::-webkit-scrollbar-thumb {
    background: #14b8a6;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #0d9488;
}

/* Selection Color */
::selection {
    background-color: #14b8a6;
    color: #020617;
}

/* Form Focus Styles */
input:focus, select:focus, textarea:focus {
    outline: none;
    border-bottom-color: #14b8a6;
}

/* Animation Utilities */
.fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Mobile Menu Transitions */
#mobile-menu {
    transition: opacity 0.3s ease-in-out;
}

#mobile-menu.open {
    opacity: 1;
    pointer-events: auto;
}

/* Image Placeholder Background */
img {
    background-color: #e2e8f0; /* Slate-200 */
}
