/* Custom Tailwind Configuration & Styles */
@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
    --color-terracotta-50: #fff1f0;
    --color-terracotta-100: #ffdad6;
    --color-terracotta-200: #ffb8b0;
    --color-terracotta-300: #ff8a7e;
    --color-terracotta-400: #ff5c4d;
    --color-terracotta-500: #ff3328;
    --color-terracotta-600: #d6281e;
    --color-terracotta-700: #b01f17;
    --color-terracotta-800: #8a1912;
    --color-terracotta-900: #65120d;
}

/* Extend Tailwind Config for Terracotta */
@layer base {
    body {
        font-family: 'Open Sans', sans-serif;
    }
    h1, h2, h3, h4, h5, h6, button, .font-nunito {
        font-family: 'Nunito', sans-serif;
    }
}

@layer utilities {
    .text-terracotta-600 { color: var(--color-terracotta-600); }
    .bg-terracotta-600 { background-color: var(--color-terracotta-600); }
    .hover\:bg-terracotta-700:hover { background-color: var(--color-terracotta-700); }
    .hover\:text-terracotta-700:hover { color: var(--color-terracotta-700); }
    .border-terracotta-600 { border-color: var(--color-terracotta-600); }
    .bg-terracotta-100 { background-color: var(--color-terracotta-100); }
    .bg-terracotta-200 { background-color: var(--color-terracotta-200); }
    .bg-terracotta-300 { background-color: var(--color-terracotta-300); }
    .text-terracotta-500 { color: var(--color-terracotta-500); }
    .text-terracotta-400 { color: var(--color-terracotta-400); }
    .border-terracotta-200 { border-color: var(--color-terracotta-200); }
    .focus\:border-terracotta-500:focus { border-color: var(--color-terracotta-500); }
    .focus\:ring-terracotta-500:focus { ring-color: var(--color-terracotta-500); }
}

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

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

.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #f5f5f4;
}
::-webkit-scrollbar-thumb {
    background: #d6281e;
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: #b01f17;
}

/* Mobile Menu Transition */
#mobile-menu {
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}
#mobile-menu.open {
    max-height: 500px;
    opacity: 1;
}

/* Navbar Glass Effect */
.nav-scrolled {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}
