/* Melhorias de Acessibilidade e Contraste */

/* Melhorar contraste de textos */
.text-muted {
    color: #6c757d !important;
    /* Aumentar contraste */
}

/* Links com melhor contraste */
a {
    color: #102F3F;
    transition: color 0.2s ease;
}

a:hover {
    color: #D4AF37;
}

a:focus {
    outline: 2px solid #D4AF37;
    outline-offset: 2px;
}

/* Botões com melhor acessibilidade */
.btn:focus,
button:focus {
    outline: 2px solid #D4AF37;
    outline-offset: 2px;
}

/* Melhorar contraste em cards */
.card {
    border: 1px solid rgba(0, 0, 0, 0.125);
}

/* Textos secundários com melhor legibilidade */
.text-secondary {
    color: #495057 !important;
}

/* Skip to main content (acessibilidade) */
.skip-to-main {
    position: absolute;
    left: -9999px;
    z-index: 999;
    padding: 1em;
    background-color: #102F3F;
    color: white;
    text-decoration: none;
}

.skip-to-main:focus {
    left: 50%;
    transform: translateX(-50%);
    top: 10px;
}

/* Melhorar contraste em formulários */
.form-control:focus {
    border-color: #102F3F;
    box-shadow: 0 0 0 0.2rem rgba(16, 47, 63, 0.25);
}

/* Aria labels visuais */
[aria-label]:hover::after {
    content: attr(aria-label);
    position: absolute;
    background: #102F3F;
    color: white;
    padding: 0.5rem;
    border-radius: 4px;
    font-size: 0.875rem;
    white-space: nowrap;
    z-index: 1000;
    margin-top: 0.5rem;
}

/* Melhorar foco em navegação */
nav a:focus {
    outline: 2px solid #D4AF37;
    outline-offset: 2px;
}

/* Otimizações Mobile */
@media (max-width: 768px) {

    /* Aumentar tamanho de fonte em mobile */
    body {
        font-size: 16px;
    }

    /* Botões maiores em mobile */
    .btn {
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
    }

    /* Links com área de toque maior */
    a {
        padding: 0.25rem;
        display: inline-block;
    }

    /* Formulários mais espaçados */
    .form-group {
        margin-bottom: 1.5rem;
    }

    .form-control {
        font-size: 16px;
        /* Evita zoom automático no iOS */
        padding: 0.75rem;
    }

    /* Cards com melhor espaçamento */
    .card {
        margin-bottom: 1.5rem;
    }

    /* Títulos mais legíveis */
    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.75rem;
    }

    h3 {
        font-size: 1.5rem;
    }
}

/* Melhorar contraste em footer */
footer a {
    color: #e5e7eb;
}

footer a:hover {
    color: #D4AF37;
}

/* Indicador de loading para imagens lazy */
img[loading="lazy"] {
    background: #f8f9fa;
}

/* Animação suave para imagens carregadas */
img {
    transition: opacity 0.3s ease-in-out;
}

img[loading="lazy"]:not([src]) {
    opacity: 0;
}

img[loading="lazy"][src] {
    opacity: 1;
}