/* Smooth scroll behavior */
html {
    scroll-behavior: smooth;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f3f4f6;
}

::-webkit-scrollbar-thumb {
    background: #d63384;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #c22671;
}

/* Form validation styles */
input:invalid, textarea:invalid, select:invalid {
    border-color: #f87171;
}

input:valid, textarea:valid, select:valid {
    border-color: #6ee7b7;
}

/* Animation for sections */
section {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

section.show {
    opacity: 1;
    transform: translateY(0);
}

/* Responsive adjustments */
@media (min-width: 1024px) {
    /* Optional scroll snapping - uncomment if desired */
    /*
    html {
        scroll-snap-type: y proximity;
    }
    
    section {
        scroll-snap-align: start;
    }
    */
}

@media (max-width: 640px) {
    .hero-text {
        font-size: 2.5rem;
    }
}