body {
    font-family: 'Poppins', sans-serif;
    scroll-behavior: smooth;
}

.urdu-font {
    font-family: 'Noto Nastaliq Urdu', serif;
    line-height: 2.2;
}

.urdu-font .text-lg,
.urdu-font .text-xl,
.urdu-font .text-2xl {
    line-height: 2.8 !important;
}

.urdu-font .urdu-para {
    line-height: 2.6 !important;
    text-align: justify;
}

.progress-bar {
    transition: width 1.5s ease-in-out;
    width: 0%;
}

/* Mobile menu animation */
.mobile-menu {
    transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transform: translateX(100%);
}

.mobile-menu.active {
    transform: translateX(0);
}

/* Desktop dropdown improvements */
.dropdown .dropdown-menu {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}

.dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-arrow {
    transition: transform 0.3s ease;
}

.dropdown:hover .dropdown-arrow {
    transform: rotate(180deg);
}

.edu-gradient {
    background: linear-gradient(135deg, #15803d 0%, #1e40af 100%);
}

.animate-pulse-slow {
    animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: .7;
    }
}

.blood-drop {
    animation: pulse 2s infinite;
}

.tier-card {
    transition: all 0.3s ease;
}

.tier-card:hover {
    transform: translateY(-8px) scale(1.02);
}

@media (max-width: 640px) {
    .tier-card {
        margin-bottom: 1.5rem;
    }
}

h3 {
    letter-spacing: -0.025em;
}

/* Fix text alignment automatically */
[dir="rtl"] .text-start { text-align: right; }
[dir="ltr"] .text-start { text-align: left; }

[dir="rtl"] .text-end { text-align: left; }
[dir="ltr"] .text-end { text-align: right; }

/* Reverse flex direction on RTL */
[dir="rtl"] .rtl-reverse {
    flex-direction: row-reverse;
}
