@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Poppins:wght@300;400;500;600&display=swap');

html { scroll-behavior: smooth; }

@layer utilities {
    .bg-cafe-brown { background-color: #5C4033; }
    .bg-cafe-cream { background-color: #FDFBF7; }
    .bg-cafe-dark { background-color: #2C1810; }
    
    .text-cafe-brown { color: #5C4033; }
    .text-cafe-gold { color: #C6A87C; }
    
    .border-cafe-gold { border-color: #C6A87C; }
    .border-cafe-brown { border-color: #5C4033; }
    
    .font-serif-cafe { font-family: 'Playfair Display', serif; }
    .font-sans-cafe { font-family: 'Poppins', sans-serif; }
    
    .btn-cafe {
        @apply inline-flex items-center justify-center bg-[#5C4033] text-[#FDFBF7] font-sans-cafe font-medium tracking-wide rounded-full py-3 px-8 hover:bg-[#2C1810] transition-all duration-300 shadow-md hover:shadow-lg;
    }
    
    .btn-cafe-outline {
        @apply inline-flex items-center justify-center border border-[#5C4033] text-[#5C4033] font-sans-cafe font-medium tracking-wide rounded-full py-3 px-8 hover:bg-[#5C4033] hover:text-[#FDFBF7] transition-all duration-300;
    }
    
    .nav-link {
        @apply text-slate-700 hover:text-[#5C4033] font-sans-cafe font-medium transition-colors duration-300 relative text-sm uppercase tracking-wider;
    }
    
    .nav-link::after {
        content: '';
        @apply absolute -bottom-1 left-1/2 w-0 h-px bg-[#C6A87C] transition-all duration-300 -translate-x-1/2;
    }
    
    .nav-link:hover::after, .nav-link.active::after {
        @apply w-full;
    }
    
    .nav-link.active {
        @apply text-[#5C4033];
    }
    
    .menu-item-dots {
        @apply flex-grow border-b-2 border-dotted border-slate-300 mx-4 opacity-50 relative top-[-6px];
    }
}
