body {
    min-height: 100vh;
}

.navbar-brand {
    font-size: 1.25rem;
    letter-spacing: 0.3px;
}

.project-card {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    color: inherit;
}

.project-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.spin {
    display: inline-block;
    animation: spin 1s linear infinite;
}

/* Results page – placeholder overlay */
.placeholder-blur {
    filter: blur(3px);
    pointer-events: none;
    user-select: none;
}

.position-relative .placeholder-overlay {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(1px);
}
