/* Custom color configuration */
:root {
    --burgundy-50: #fdf2f2;
    --burgundy-100: #fce7e7;
    --burgundy-200: #f9d0d0;
    --burgundy-300: #f0a5a5;
    --burgundy-400: #e47171;
    --burgundy-500: #d14747;
    --burgundy-600: #b83232;
    --burgundy-700: #9a2525;
    --burgundy-800: #7f1f1f;
    --burgundy-900: #5c1515;
    
    --blush-50: #fff8f6;
    --blush-100: #ffede8;
    --blush-200: #ffd5c8;
    --blush-300: #ffb09a;
    --blush-400: #ff7a66;
}

/* Tailwind custom colors */
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
    html {
        scroll-behavior: smooth;
    }
    
    body {
        font-family: 'Montserrat', sans-serif;
    }
    
    h1, h2, h3, h4, .font-serif {
        font-family: 'Cormorant Garamond', serif;
    }
}

@layer utilities {
    .text-burgundy-700 { color: #9a2525; }
    .text-burgundy-800 { color: #7f1f1f; }
    .text-burgundy-900 { color: #5c1515; }
    .text-burgundy-600 { color: #b83232; }
    .text-burgundy-500 { color: #d14747; }
    .text-blush-200 { color: #ffd5c8; }
    .text-blush-300 { color: #ffb09a; }
    .text-blush-100 { color: #ffede8; }
    
    .bg-burgundy-700 { background-color: #9a2525; }
    .bg-burgundy-600 { background-color: #b83232; }
    .bg-burgundy-800 { background-color: #7f1f1f; }
    .bg-burgundy-900 { background-color: #5c1515; }
    .bg-burgundy-100 { background-color: #fce7e7; }
    .bg-burgundy-200 { background-color: #f9d0d0; }
    .bg-blush-100 { background-color: #ffede8; }
    .bg-blush-50 { background-color: #fff8f6; }
    
    .border-burgundy-700 { border-color: #9a2525; }
    .border-burgundy-500 { border-color: #d14747; }
    .border-burgundy-100 { border-color: #fce7e7; }
}

/* Smooth scroll offset for fixed nav */
section[id] {
    scroll-margin-top: 80px;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #fafaf5;
}
::-webkit-scrollbar-thumb {
    background: #b83232;
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: #9a2525;
}

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

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

/* Hover card effect */
.group:hover .group-hover\:translate-y-0 {
    transform: translateY(0);
}

/* Focus styles */
input:focus, select:focus, textarea:focus {
    box-shadow: 0 0 0 3px rgba(184, 50, 50, 0.1);
}

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

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