/* Custom styles — overrides and enhancements beyond Tailwind */

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

/* Selection color */
::selection {
    background-color: #5bbd87;
    color: #051f13;
}

/* Focus styles for accessibility */
a:focus-visible,
button:focus-visible {
    outline: 2px solid #5bbd87;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Image lazy load fade */
img {
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* Subtle gradient on section backgrounds */
.section-pattern {
    background-color: #fdfcf8;
    background-image: radial-gradient(circle, rgba(29, 122, 74, 0.05) 1px, transparent 1px);
    background-size: 24px 24px;
}

/* Card image hover zoom */
.card-hover img {
    transition: transform 0.5s ease;
}
.card-hover:hover img {
    transform: scale(1.05);
}

/* Mobile menu transition */
#mobile-menu {
    animation: slideDown 0.25s ease forwards;
}
#mobile-menu.hidden {
    animation: slideUp 0.2s ease forwards;
}
@keyframes slideDown {
    from { opacity: 0; max-height: 0; }
    to { opacity: 1; max-height: 300px; }
}
@keyframes slideUp {
    from { opacity: 1; max-height: 300px; }
    to { opacity: 0; max-height: 0; }
}

/* Print styles */
@media print {
    header, #mobile-menu, .animate-bounce { display: none; }
    .hero-bg { background: none; color: black; }
}
