/* Custom styles and Tailwind extensions */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;700&display=swap');

/* Custom utility classes */
.nav-link {
    @apply text-gray-700 hover:text-restaurant-primary transition duration-300;
}

.nav-link.active,
.mobile-nav-link.active {
    @apply text-restaurant-primary font-semibold;
}

.mobile-nav-link.active {
    @apply bg-gray-100;
}

/* Custom animations */
.hover-scale {
    transition: transform 0.3s ease;
}

.hover-scale:hover {
    transform: scale(1.05);
}

/* Custom components */
.btn-primary {
    @apply bg-white text-restaurant-primary px-8 py-3 rounded-full font-semibold hover:bg-gray-100 transition duration-300;
}

.btn-secondary {
    @apply border-2 border-white text-white px-8 py-3 rounded-full font-semibold hover:bg-white hover:text-restaurant-primary transition duration-300;
}

.section-heading {
    @apply text-3xl md:text-4xl font-bold font-serif mb-4;
}

.section-divider {
    @apply w-24 h-1 bg-restaurant-primary mx-auto mb-6;
}

/* Form styles */
.form-input {
    @apply w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-restaurant-primary;
}

.form-label {
    @apply block text-gray-700 mb-2;
} 

/* Footer Positioning */
body {
    font-family: 'Nunito', Arial, sans-serif;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

#footer-container {
    margin-top: auto;
}