/* Custom Design System */
:root {
    --terracotta: #C65D3E;
    --terracotta-dark: #A84C32;
    --sand-50: #FDF8F5;
    --sand-100: #F5EDE8;
    --sand-200: #E8DDD5;
    --sand-300: #D4C4B8;
    --gray-900: #1a1a1a;
    --gray-700: #4a4a4a;
    --gray-600: #6b6b6b;
    --gray-500: #8a8a8a;
    --gray-300: #d1d1d1;
    --gray-200: #e5e5e5;
}

/* Tailwind Config Override */
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
    html {
        scroll-behavior: smooth;
    }
    
    body {
        font-family: 'Inter', sans-serif;
        color: var(--gray-900);
    }
    
    h1, h2, h3, h4 {
        font-family: 'Playfair Display', serif;
    }
}

@layer components {
    .btn-primary {
        @apply bg-terracotta text-white px-8 py-4 rounded-full font-semibold hover:bg-terracotta-dark transition-all transform hover:scale-105 shadow-lg;
    }
    
    .btn-secondary {
        @apply border-2 border-gray-900 text-gray-900 px-8 py-4 rounded-full font-semibold hover:bg-gray-900 hover:text-white transition-all;
    }
}

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

::-webkit-scrollbar-track {
    background: var(--sand-100);
}

::-webkit-scrollbar-thumb {
    background: var(--terracotta);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--terracotta-dark);
}

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

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

/* Mobile Menu Animation */
#mobile-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

#mobile-menu.open {
    max-height: 400px;
}

/* Service Card Hover Effect */
.group:hover .group-hover\\:bg-white\\/20 {
    background-color: rgba(255, 255, 255, 0.2);
}

/* Smooth Transitions */
a, button {
    transition: all 0.3s ease;
}

/* Focus Styles */
input:focus,
select:focus,
textarea:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(198, 93, 62, 0.2);
}
