/* ===== Base Styles ===== */
* {
    scroll-behavior: smooth;
}

body {
    font-family: 'Vazirmatn', sans-serif;
}

/* ===== Scrollbar ===== */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #0a0f1e;
}
::-webkit-scrollbar-thumb {
    background: #3730a3;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #4f46e5;
}

/* ===== Gradient Text ===== */
.gradient-text {
    background: linear-gradient(135deg, #818cf8, #22d3ee, #818cf8);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: gradient 8s ease infinite;
}

/* ===== Grid Pattern ===== */
.bg-grid-pattern {
    background-image: 
        linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 50px 50px;
}

/* ===== Scroll Down Animation ===== */
@keyframes scroll-down {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    100% {
        transform: translateY(12px);
        opacity: 0;
    }
}

.animate-scroll-down {
    animation: scroll-down 1.5s infinite;
}

/* ===== Navbar Active Link ===== */
.nav-link {
    position: relative;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    right: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #6366f1, #22d3ee);
    transition: width 0.3s ease;
    border-radius: 2px;
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}

/* ===== Service & Feature Cards ===== */
.service-card .group:hover > div {
    transform: translateY(-4px);
}

.service-card > div,
.feature-card > div {
    transition: transform 0.3s ease;
}

/* ===== API Code Syntax ===== */
.api-code {
    line-height: 1.8;
}

.api-code .text-green-400 {
    color: #4ade80;
}

/* ===== Star fill ===== */
[data-lucide="star"].fill-yellow-500 {
    fill: #eab308;
}

/* ===== AOS Custom ===== */
[data-aos] {
    pointer-events: auto;
}

/* ===== Pricing Card Hover ===== */
.pricing-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pricing-card:hover {
    transform: translateY(-8px);
}

/* ===== Form Input ===== */
input::placeholder,
textarea::placeholder {
    color: #6b7280;
}

/* ===== Focus visible ===== */
:focus-visible {
    outline: none;
}

/* ===== Selection ===== */
::selection {
    background: rgba(99, 102, 241, 0.3);
    color: white;
}