/* ===== ESTADOS DE ERRO E CARREGAMENTO ===== */
.erro-carregamento {
    padding: 3rem 2rem;
    text-align: center;
    background: linear-gradient(135deg, #fed7d7 0%, #feb2b2 100%);
    border: 2px solid #fc8181;
    border-radius: 12px;
    margin: 2rem auto;
    max-width: 600px;
    color: #742a2a;
}

.erro-carregamento h3 {
    color: #c53030;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

.erro-carregamento p {
    margin-bottom: 2rem;
    font-size: 1.1rem;
}

.acoes-erro {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-recarregar,
.btn-contato {
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-recarregar {
    background: #4299e1;
    color: white;
}

.btn-recarregar:hover,
.btn-recarregar:focus {
    background: #3182ce;
    transform: translateY(-2px);
}

.btn-contato {
    background: #e2e8f0;
    color: #2d3748;
}

.btn-contato:hover,
.btn-contato:focus {
    background: #cbd5e0;
    transform: translateY(-2px);
}

/* ===== ESTADOS DE CARREGAMENTO ===== */
[aria-busy="true"] {
    cursor: progress;
}

[aria-disabled="true"] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ===== ANIMAÇÕES ACESSÍVEIS ===== */
@media (prefers-reduced-motion: no-preference) {
    .fade-in {
        animation: fadeIn 0.5s ease-in;
    }
    
    @keyframes fadeIn {
        from { opacity: 0; transform: translateY(10px); }
        to { opacity: 1; transform: translateY(0); }
    }
}

/* ===== MELHORIAS DE LEGIBILIDADE ===== */
.hero-text h1 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1.2;
}

.hero-text p {
    font-size: clamp(1rem, 2.5vw, 1.3rem);
    line-height: 1.6;
}