* {
    scrollbar-color: #2F578A transparent;
    scrollbar-width: auto;
}
::selection {
    color: white;
    background: #2F578A;
}
@theme {
    --font-sans: "Inter", ui-sans-serif, system-ui;
    --font-serif: "Cormorant Garamond", serif;
    --color-azure: #003366;
    --color-sand: #fcfcf9;
}

@keyframes fadeIn {
    from { opacity: 0; transform: scale(1.03); }
    to { opacity: 1; transform: scale(1); }
}

.animate-slow-fade {
    animation: fadeIn 2.5s ease-out forwards;
}

html {
    scroll-behavior: smooth;
}

/* Custom scrollbar for premium feel */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #fcfcf9; }
::-webkit-scrollbar-thumb { background: #003366; }

/* Custom Select Arrow */
.custom-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23003366'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1.2rem 1.2rem;
}

/* Mobile optimization */
@media (max-width: 640px) {
    .hero-title {
        font-size: clamp(2.5rem, 10vw, 4rem);
    }

    input, select, button {
        font-size: 16px !important; /* Prevents zoom on mobile */
    }
}

/* Touch-friendly improvements */
button, a {
    touch-action: manipulation;
}

/* Prevent content shift on mobile menu */
body.menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
}
#toTopBtn {
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.4s ease;
}

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

