:root {
    --radius: 20px;
}

body {
    background: linear-gradient(135deg, #F8FAFC 0%, #E2E8F0 100%);
    color: #1F2937;
}

.card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 10px 25px rgba(31, 41, 55, 0.08);
}

.focus-ring:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.2);
}

.gradient-text {
    background: linear-gradient(135deg, #1F2937, #EF4444);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Animações elegantes */
@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }
}

.animate-slideUp {
    animation: slideUp 0.6s ease-out forwards;
}

.animate-float {
    animation: float 3s ease-in-out infinite;
}

/* Hover effects especiais */
.hover-lift {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(31, 41, 55, 0.15);
}

/* Efeito shimmer para loading das imagens */
.shimmer {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

/* Acessibilidade */
@media (prefers-contrast: high) {
    .card {
        background: #FFFFFF;
        border: 2px solid #1F2937;
    }
}

@media (prefers-reduced-motion: reduce) {

    .animate-slideUp,
    .animate-float {
        animation: none;
    }
}