/* Custom Styles Overlay */
body {
    scroll-behavior: smooth;
}

/* Scrollbar Customization */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #0f172a; 
}
 
::-webkit-scrollbar-thumb {
    background: #334155; 
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #1E90FF; 
}

.section-divider {
    height: 1px;
    width: 100%;
    background: linear-gradient(to right, transparent, rgba(30, 144, 255, 0.9), transparent);
    opacity: 0.25;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 0.75rem;
    font-weight: 700;
    border: 1px solid transparent;
    padding: 0.75rem 1.25rem;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease;
    text-decoration: none;
    line-height: 1;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:active {
    transform: translateY(0);
}

.btn-primary {
    background: #1E90FF;
    color: #ffffff;
}

.btn-primary:hover {
    background: #1873cc;
}

.btn-secondary {
    background: #334155;
    border-color: #475569;
    color: #ffffff;
}

.btn-secondary:hover {
    background: #475569;
}

.btn-ghost {
    background: transparent;
    border-color: #334155;
    color: #e5e7eb;
}

.btn-ghost:hover {
    background: #334155;
    color: #ffffff;
}

.btn-danger {
    background: #dc2626;
    color: #ffffff;
}

.btn-danger:hover {
    background: #b91c1c;
}

.btn-sm {
    padding: 0.5rem 0.875rem;
    border-radius: 0.625rem;
    font-size: 0.875rem;
}

.btn-lg {
    padding: 1rem 2rem;
    border-radius: 0.875rem;
    font-size: 1.125rem;
}
