@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
    --burgundy-50: #fdf2f2;
    --burgundy-100: #fce7e7;
    --burgundy-200: #fadada;
    --burgundy-300: #f5b8b8;
    --burgundy-400: #ee8585;
    --burgundy-500: #e05252;
    --burgundy-600: #d13030;
    --burgundy-700: #b02121;
    --burgundy-800: #8f1a1a;
    --burgundy-900: #7a1818;
    
    --blush-50: #fdf8f6;
    --blush-100: #fce4dc;
    --blush-200: #fad0c4;
    --blush-300: #f5a89a;
}

.font-cormorant {
    font-family: 'Cormorant Garamond', serif;
}

.font-inter {
    font-family: 'Inter', sans-serif;
}

/* Custom color classes */
.text-burgundy-600 { color: var(--burgundy-600); }
.text-burgundy-700 { color: var(--burgundy-700); }
.text-burgundy-800 { color: var(--burgundy-800); }
.text-burgundy-900 { color: var(--burgundy-900); }
.text-burgundy-300 { color: var(--burgundy-300); }

.bg-burgundy-700 { background-color: var(--burgundy-700); }
.bg-burgundy-800 { background-color: var(--burgundy-800); }
.bg-burgundy-900 { background-color: var(--burgundy-900); }

.text-blush-300 { color: var(--blush-300); }
.bg-blush-100 { background-color: var(--blush-100); }
.bg-blush-200 { background-color: var(--blush-200); }

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

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

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

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

::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}

/* Animation utilities */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

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

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .fade-in {
        opacity: 1;
        transform: none;
        transition: none;
    }
    
    html {
        scroll-behavior: auto;
    }
}

/* Mobile menu animation */
#mobileMenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

#mobileMenu.open {
    max-height: 300px;
}
