/* Custom styles beyond Tailwind */

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

/* Custom focus styles */
input:focus, select:focus, textarea:focus {
    box-shadow: 0 0 0 3px rgba(190, 24, 93, 0.1);
}

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

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

/* Image loading placeholder */
img {
    background: linear-gradient(90deg, #fdf4f8 25%, #fce7f3 50%, #fdf4f8 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

img[src] {
    animation: none;
    background: none;
}

/* Card hover lift effect */
.bg-plum-50:hover {
    transform: translateY(-4px);
    transition: transform 0.3s ease;
}

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

#mobileMenu.open {
    max-height: 300px;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    html {
        scroll-behavior: auto;
    }
}
