/* Customização dos plugins de acessibilidade */

/* VLibras - Ajustes de posicionamento */
div[vw] {
    z-index: 9999 !important;
}

div[vw-access-button] {
    position: fixed !important;
    bottom: 20px !important;
}

/* UserWay - Compatibilidade com o tema dark mode */
.darkmode #userway-s1 {
    filter: invert(1) hue-rotate(180deg);
}

/* Melhorias de foco para navegação por teclado */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 3px solid #0066cc !important;
    outline-offset: 2px !important;
}

/* Skip to content link para leitores de tela */
.skip-to-content {
    position: absolute;
    left: -9999px;
    z-index: 999;
    padding: 1em;
    background-color: #000;
    color: #fff;
    text-decoration: none;
}

.skip-to-content:focus {
    left: 50%;
    transform: translateX(-50%);
    top: 10px;
}

/* Garantir que imagens tenham alt */
/*img:not([alt]) {
    border: 3px solid red !important;
}*/

/* Melhorar contraste em modo escuro */
.darkmode {
    background-color: #1a1a1a;
    color: #ffffff;
}

.darkmode a {
    color: #66b3ff;
}

.darkmode .navbar-default {
    background-color: #2d2d2d;
    border-color: #444;
}

/* Garantir que links tenham indicação visual adequada */
/*a:not([class]) {
    text-decoration: underline;
}

a:not([class]):hover {
    text-decoration: none;
}*/

/* Responsividade dos widgets de acessibilidade em mobile */
@media (max-width: 768px) {
    div[vw-access-button] {
        bottom: 10px !important;
        right: 10px !important;
        transform: scale(0.8);
    }
}

/* Área de live region para anúncios de leitores de tela */
.sr-live {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Estilo para elementos focáveis com teclado */
[tabindex]:not([tabindex="-1"]):focus {
    outline: 3px solid #0066cc !important;
    outline-offset: 2px !important;
}

/* ==========================================================================
   CARDS DE TRANSPARÊNCIA COM ALTURA IGUAL (FLEXBOX)
   ========================================================================== */

/* Row com flexbox para altura igual */
.row-equal-height {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

    /* Colunas como flex containers */
    .row-equal-height > [class*='col-'] {
        display: flex;
        flex-direction: column;
    }

/* Wrapper do link ocupando 100% */
.card-link-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    text-decoration: none !important;
}

/* Card com altura igual usando flexbox */
.card-equal-height {
    display: flex;
    flex-direction: column;
    height: 100%;
}

    /* Ícone com altura fixa */
    .card-equal-height .box-icon {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 80px;
        padding: 10px;
    }

    /* Legenda flexível que ocupa espaço restante */
    .card-equal-height .box-legend {
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 15px 10px;
        text-align: center;
		min-height: 70px;
    }

    /* Heading com altura automática */
    .card-equal-height .box-heading {
        flex: 0 0 auto;
        padding: 10px;
    }

/* Efeito hover suave */
.card-link-wrapper:hover .card-equal-height {
    transform: translateY(-5px);
    transition: transform 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Foco acessível */
.card-link-wrapper:focus {
    outline: 3px solid #0066cc !important;
    outline-offset: 2px;
}

/* Remover min-height inline do style */
.box-transparencia[style*="min-height"] {
    min-height: auto !important;
}

/* Responsividade */
@media (max-width: 768px) {
    .card-equal-height {
        min-height: 180px !important;
    }
}

@media (max-width: 576px) {
    .card-equal-height {
        min-height: 150px !important;
    }

        .card-equal-height .box-legend {
            font-size: 14px;
            padding: 10px 5px;
        }
}