body {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Custom scrollbar for webkit */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #131A1D;
    /* background-dark */
}

::-webkit-scrollbar-thumb {
    background: #2A3438;
    /* surface-border */
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #1C2427;
    /* surface-dark */
}

/* Backdrop blur utility for modal effect */
.modal-backdrop {
    backdrop-filter: blur(8px);
    background-color: rgba(19, 26, 29, 0.85);
    /* background-dark with opacity */
}

/* Custom star fill (Material Symbols) */
.fill-1 {
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Apple-style smooth AOS transitions */
[data-aos] {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Mobile Menu Slide-in */
#mobile-menu {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-menu-open {
    transform: translateX(0) !important;
}

/* Success Animation */
@keyframes check-bounce {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }
}

.animate-check {
    animation: check-bounce 2s infinite ease-in-out;
}