/* Custom styles that extend beyond Tailwind */
body {
    font-family: 'Lato', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
}

/* Ensure smooth transitions for all interactive elements */
a, button {
    transition: all 0.3s ease;
}

/* Custom focus styles for accessibility */
*:focus-visible {
    outline: 2px solid #800020;
    outline-offset: 2px;
}

/* Prevent layout shift for images */
img {
    max-width: 100%;
    height: auto;
}

/* Mobile menu button animation */
#mobile-menu-btn svg {
    transition: transform 0.3s ease;
}

#mobile-menu-btn.active svg {
    transform: rotate(90deg);
}

/* Form input focus states */
input:focus, select:focus, textarea:focus {
    box-shadow: 0 0 0 3px rgba(128, 0, 32, 0.1);
}

/* Button hover effects */
button:hover {
    transform: translateY(-2px);
}

button:active {
    transform: translateY(0);
}

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