/* Custom Color Palette */
:root {
    --terracotta-50: #faf5f0;
    --terracotta-100: #f5ebe0;
    --terracotta-200: #e8cfc0;
    --terracotta-300: #dbb3a0;
    --terracotta-400: #d4997f;
    --terracotta-500: #c97d5e;
    --terracotta-600: #b86345;
    --terracotta-700: #964f38;
    --terracotta-800: #78402f;
    --terracotta-900: #613427;
    
    --sand-50: #fdfbf7;
    --sand-100: #f9f5ed;
    --sand-200: #f0e8d8;
    --sand-300: #e4d5b8;
    --sand-400: #d4bc92;
    --sand-500: #c4a674;
}

/* Custom Font Classes */
.font-cormorant {
    font-family: 'Cormorant Garamond', serif;
}

.font-manrope {
    font-family: 'Manrope', sans-serif;
}

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

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

::-webkit-scrollbar-track {
    background: #fafaf5;
}

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

::-webkit-scrollbar-thumb:hover {
    background: #b8a090;
}

/* Navbar Scroll Effect */
.navbar-scrolled {
    background-color: rgba(250, 250, 248, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

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

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

/* Image Hover Effects */
img {
    will-change: transform;
}

/* Focus Styles */
input:focus,
textarea:focus {
    outline: none;
}

/* Mobile Menu Animation */
#mobile-menu {
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Button Hover Effects */
button, a {
    cursor: pointer;
}

/* Selection Color */
::selection {
    background-color: var(--terracotta-200);
    color: var(--terracotta-900);
}
