/* Custom styles that complement Tailwind */

/* Base font rendering */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Selection color */
::selection {
    background-color: rgba(22, 101, 52, 0.2);
    color: #052e16;
}

/* Smooth image rendering */
img {
    -webkit-font-smoothing: antialiased;
}

/* Focus visible for accessibility */
:focus-visible {
    outline: 2px solid #166534;
    outline-offset: 2px;
}

/* Remove number input arrows */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Placeholder styling */
::placeholder {
    color: #86efac;
    opacity: 1;
}

/* Custom underline animation for links */
a:not(.btn-primary):not([class*="bg-"]):not([class*="text-emerald-"]):hover {
    transition: color 0.2s ease;
}

/* Reduce 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;
    }

    .fade-in-up,
    .fade-in-left,
    .fade-in-right {
        opacity: 1;
        transform: none;
    }

    .service-card:hover {
        transform: none;
    }

    .group:hover .group-hover\\:scale-105 {
        transform: none;
    }
}

/* Print styles */
@media print {
    nav,
    #back-to-top,
    .fade-in-up,
    .fade-in-left,
    .fade-in-right {
        display: none !important;
    }

    body {
        background: white !important;
        color: black !important;
    }

    a {
        text-decoration: underline;
    }
}
