/* Custom styles and overrides */
html {
    scroll-behavior: smooth;
}

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

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

/* Ensure proper contrast and readability */
.bg-plum-900 {
    background-color: #1a0a1f;
}

.bg-plum-800 {
    background-color: #2d1132;
}

.bg-plum-700 {
    background-color: #4a1855;
}

.bg-plum-600 {
    background-color: #6b2478;
}

.bg-plum-500 {
    background-color: #8b309a;
}

.bg-plum-200 {
    background-color: #e8d4f5;
}

.bg-plum-100 {
    background-color: #f5eefb;
}

.bg-plum-50 {
    background-color: #faf5ff;
}

.text-plum-900 {
    color: #1a0a1f;
}

.text-plum-700 {
    color: #4a1855;
}

.text-plum-600 {
    color: #6b2478;
}

.text-plum-300 {
    color: #d4a5e8;
}

.text-plum-200 {
    color: #e8d4f5;
}

.bg-amber-500 {
    background-color: #b8661c;
}

.bg-amber-600 {
    background-color: #924e13;
}

.text-amber-600 {
    color: #924e13;
}

.text-amber-500 {
    color: #b8661c;
}

.text-amber-400 {
    color: #d4883a;
}

/* Animation preferences */
@media (prefers-reduced-motion: no-preference) {
    .hover\\:scale-105:hover {
        transform: scale(1.05);
    }
}

/* Mobile menu animation */
#mobile-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

#mobile-menu.active {
    max-height: 300px;
}

/* Focus styles for accessibility */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 2px solid #d4883a;
    outline-offset: 2px;
}

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

/* Ensure images don't overflow */
img {
    max-width: 100%;
    height: auto;
}
