/* EcoFlora Custom Styles */

:root {
    --forest-dark: #1a3322;
    --forest-green: #2F5A26;
    --forest-light: #4A7C38;
    --earth-gray: #8C8C88;
    --light-bg: #F3F4F1;
}

/* Smooth transitions and animations */
.hover-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Accessibility: Respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Mobile menu button hover state */
#mobile-menu-btn {
    transition: background-color 0.3s ease;
}

#mobile-menu-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

/* Navigation smooth transitions */
nav a {
    transition: color 0.3s ease;
}

/* Logo hover effect */
a[href="#inicio"] {
    transition: transform 0.3s ease;
}

a[href="#inicio"]:hover {
    transform: scale(1.05);
}

/* Service card icons animation */
.group:hover .group-hover\:bg-forest-green {
    transition: background-color 0.3s ease;
}

/* Hero section optimizations */
@media (max-width: 768px) {
    .min-h-screen {
        min-height: 600px;
    }
}

/* About section image effects */
.about-image {
    transition: filter 0.7s ease;
}

.about-image:hover {
    filter: grayscale(0%);
}

/* Contact section enhancements */
.contact-card {
    transition: all 0.3s ease;
}

.contact-card:hover {
    transform: translateY(-4px);
    background-color: rgba(47, 90, 38, 0.1);
}

/* Button hover effects */
button[type="button"],
a.px-8.py-4 {
    transition: all 0.3s ease;
}

/* Responsive text sizing */
@media (max-width: 1024px) {
    h1 {
        line-height: 1.2;
    }
}

/* Ensure proper spacing for footer */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
}

/* Smooth scroll behavior already in html.scroll-smooth */

/* Custom focus states for accessibility */
a:focus-visible,
button:focus-visible {
    outline: 2px solid var(--forest-green);
    outline-offset: 2px;
}

/* Image optimization */
img {
    max-width: 100%;
    height: auto;
    display: block;
}
