:root {
    --cream: #f7f3e9;
    --warm-brown: #8b4513;
    --coffee: #3c2415;
    --gold: #d4af37;
}

.bg-cream { background-color: var(--cream); }
.bg-warm-brown { background-color: var(--warm-brown); }
.bg-coffee { background-color: var(--coffee); }
.bg-gold { background-color: var(--gold); }

.text-cream { color: var(--cream); }
.text-warm-brown { color: var(--warm-brown); }
.text-coffee { color: var(--coffee); }
.text-gold { color: var(--gold); }

.border-cream { border-color: var(--cream); }
.border-warm-brown { border-color: var(--warm-brown); }
.border-coffee { border-color: var(--coffee); }
.border-gold { border-color: var(--gold); }

.from-cream { --tw-gradient-from: var(--cream); }
.from-warm-brown { --tw-gradient-from: var(--warm-brown); }
.from-coffee { --tw-gradient-from: var(--coffee); }
.from-gold { --tw-gradient-from: var(--gold); }

.to-cream { --tw-gradient-to: var(--cream); }
.to-warm-brown { --tw-gradient-to: var(--warm-brown); }
.to-coffee { --tw-gradient-to: var(--coffee); }
.to-gold { --tw-gradient-to: var(--gold); }

.font-playfair {
    font-family: 'Playfair Display', serif;
}

.font-opensans {
    font-family: 'Open Sans', sans-serif;
}

body {
    font-family: 'Open Sans', sans-serif;
}

.nav-current {
    background-color: rgba(212, 175, 55, 0.2);
    color: var(--gold) !important;
}

.menu-category-btn {
    @apply px-4 py-2 rounded-lg font-medium transition-colors;
    background-color: white;
    color: var(--warm-brown);
    border: 2px solid transparent;
}

.menu-category-btn:hover {
    border-color: var(--gold);
    color: var(--coffee);
}

.menu-category-btn.active {
    background-color: var(--coffee);
    color: var(--cream);
    border-color: var(--coffee);
}

.menu-section {
    display: block;
}

.menu-section.hidden {
    display: none;
}

/* Custom hover effects */
.hover\:bg-coffee\/90:hover {
    background-color: rgba(60, 36, 21, 0.9);
}

.hover\:bg-gold\/90:hover {
    background-color: rgba(212, 175, 55, 0.9);
}

.hover\:bg-warm-brown\/90:hover {
    background-color: rgba(139, 69, 19, 0.9);
}

/* Focus styles for forms */
.focus\:ring-gold:focus {
    --tw-ring-color: var(--gold);
}

/* Custom utilities for color variations */
.bg-warm-brown\/10 { background-color: rgba(139, 69, 19, 0.1); }
.bg-warm-brown\/20 { background-color: rgba(139, 69, 19, 0.2); }
.bg-gold\/20 { background-color: rgba(212, 175, 55, 0.2); }
.bg-gold\/30 { background-color: rgba(212, 175, 55, 0.3); }

.text-cream\/80 { color: rgba(247, 243, 233, 0.8); }
.text-cream\/90 { color: rgba(247, 243, 233, 0.9); }
.text-warm-brown\/70 { color: rgba(139, 69, 19, 0.7); }

.border-warm-brown\/20 { border-color: rgba(139, 69, 19, 0.2); }

/* Smooth transitions */
* {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}