/*
 * RESPONSIVE OVERRIDES
 * BMAD Product Evolution - 2026-03-23
 */

/* 1. Global Resets */
#containner-padrao-sistema,
#containner-login,
#dadosConcurso,
#solicitantesIsencao,
#rodape-padrao-sistema,
#info-usuario,
#corpo-padrao-sistema,
#conteudo-modal-cadastro-usuario,
.tbBlocoIntegracao,
.tbPreenchimentoAdm2,
.tbPreenchimentoAdm,
.tbBlocoCabecalho,
.tbBlocoInscricao,
.tbBlocoInscricaoED,
.tbBlocoInscricaoEQ,
.tbBlocoIsencao,
.tbBlocoEvento,
#container-busca-boletim-eq,
.tdSubBlocoInscricaoED2A,
.caixaTextoTxtEscolaConclusao,
#containner-form-busca-usuario,
#containner-form-edita-usuario,
#corpo-form-busca-usuario
{
    width: 100% !important;
    max-width: 790px;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    box-sizing: border-box;
}

/* Keep image responsiveness scoped to the updated screen flows */
#containner-padrao-sistema img,
#containner-login img,
#conteudo-modal-cadastro-usuario img,
#conteudo-modal-esqueci-senha img {
    max-width: 100%;
    height: auto;
}

/* Fix for tables that might still have fixed widths or nested issues */
.tbBlocoIntegracao,
.tbPreenchimentoAdm2,
.tbPreenchimentoAdm,
.tbBlocoCabecalho,
.tbBlocoInscricao,
.tbBlocoInscricaoED,
.tbBlocoInscricaoEQ,
.tbBlocoIsencao,
.tbBlocoEvento {
    max-width: 100% !important;
    display: table; /* Ensure it behaves as a table but respects width */
    border-collapse: collapse;
    width: 100% !important;
}

/* Ensure table cells don't force width */
.tbBlocoIntegracao td,
.tbPreenchimentoAdm2 td,
.tbPreenchimentoAdm td,
.tbBlocoCabecalho td,
.tbBlocoInscricao td,
.tbBlocoInscricaoED td,
.tbBlocoInscricaoEQ td,
.tbBlocoIsencao td,
.tbBlocoEvento td {
    word-break: break-word;
}

/* Specific fix for elements with large fixed widths in the updated screen flows */
#containner-padrao-sistema [style*="width: 6"],
#containner-padrao-sistema [style*="width:6"],
#containner-padrao-sistema [style*="width: 7"],
#containner-padrao-sistema [style*="width:7"],
#containner-padrao-sistema [style*="width: 800px"],
#containner-padrao-sistema [style*="width:800px"],
#containner-padrao-sistema table[width="650"],
#containner-padrao-sistema table[width="670"],
#containner-padrao-sistema table[width="700"],
#containner-padrao-sistema table[width="710"],
#containner-padrao-sistema table[width="720"],
#containner-padrao-sistema table[width="747"],
#containner-padrao-sistema table[width="750"],
#containner-padrao-sistema table[width="758"],
#containner-padrao-sistema table[width="760"],
#containner-padrao-sistema table[width="786"],
#containner-padrao-sistema table[width="790"],
#containner-padrao-sistema table[width="800"],
#containner-login [style*="width: 6"],
#containner-login [style*="width:6"],
#containner-login [style*="width: 7"],
#containner-login [style*="width:7"],
#containner-login [style*="width: 800px"],
#containner-login [style*="width:800px"],
#containner-login table[width="650"],
#containner-login table[width="670"],
#containner-login table[width="700"],
#containner-login table[width="710"],
#containner-login table[width="720"],
#containner-login table[width="747"],
#containner-login table[width="750"],
#containner-login table[width="758"],
#containner-login table[width="760"],
#containner-login table[width="786"],
#containner-login table[width="790"],
#containner-login table[width="800"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Fix menu stretching */
#menu-padrao-sistema {
    width: 100% !important;
    max-width: 790px;
    height: auto !important;
    min-height: 28px;
    background-size: contain;
}

#menu-padrao-sistema ul.lista-menu-nivel-1 {
    display: flex;
    flex-wrap: wrap;
    height: auto !important;
}

#menu-padrao-sistema li.item-menu-nivel-1 {
    float: none !important;
}

@media (max-width: 768px) {
    #menu-padrao-sistema ul.lista-menu-nivel-1 {
        flex-direction: column;
    }

    #menu-padrao-sistema li.item-menu-nivel-1 {
        width: 100%;
        border-bottom: 1px solid rgba(255,255,255,0.2);
    }

    #menu-padrao-sistema ul.lista-menu-nivel-2 {
        position: static !important;
        display: none; /* User might need a toggle button, but for now we follow simple stacking */
        width: 100% !important;
        box-shadow: none;
    }

    #menu-padrao-sistema li.item-menu-nivel-1:hover ul.lista-menu-nivel-2 {
        display: block;
    }

    #topo-padrao-sistema, #topo-padrao-sistema img {
        width: 100% !important;
        height: auto !important;
    }
}

/* 2. Modal Responsiveness (General for system modals) */
.modal-dialog {
    width: 95% !important;
    max-width: 600px;
    margin: 10px auto !important;
}

.modal-content {
    margin-top: 50px !important; /* Neutralizar os 180px fixos */
    width: 100% !important;
}

/* 2.1 jQuery UI Dialog - Centralizacao e Responsividade */
.ui-dialog {
    position: absolute !important;
    box-sizing: border-box;
    max-width: 95vw !important;
}

.ui-widget-overlay {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 1000;
}

/* 3. Inputs & Forms & Linhas Dinâmicas */
input[type="text"],
input[type="password"],
textarea,
select {
    max-width: 100%;
    box-sizing: border-box;
}

/* Neutralizar alturas rígidas em linhas/itens dinâmicos legados */
.fundoPar,
.fundoImpar,
.fundoParSemLargura,
.fundoImparSemLargura,
.fundoTituloSemLargura,
.itemCondicaoEspecial,
.itemCondicaoEspecial2,
.itemServicoEspecial,
.cabecalhoCondicaoEspecial,
.cabecalhoCondicaoEspecial2,
.cabecalhoServicoEspecial,
.tabelaAcaoEdital,
.tabelaAcaoDocReserva,
.tdAEscolha,
.tdBEscolha,
.tdCEscolha,
.tdCabecalho,
.tdNavegacao,
.tbNavegacao,
.painel .cabecalho,
[class*="CondicaoEspecial"],
[class*="ServicoEspecial"] {
    min-height: 24px;
    height: auto !important;
    box-sizing: border-box;
}

/* Autocomplete e busca de escola/candidato */
div.resultTxtEscolaConclusao,
.caixaTextoTxtEscolaConclusao,
[class*="resultTxtEscolaConclusao"],
[class*="caixaTextoTxtEscolaConclusao"],
[class*="resultBuscaNome"],
[class*="caixaTextoBuscaNome"] {
    max-width: 100% !important;
    box-sizing: border-box;
}

#resultTxtEscolaConclusao #ul-resultTxtEscolaConclusao li,
[id*="resultTxtEscolaConclusao"] li,
[id*="resultBuscaNome"] li {
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Caixas de ajuda que tinham position: absolute e height: 76px */
.ajudaRecarregaDados,
.ajudaBuscaEscola,
[class*="ajudaBusca"],
[class*="ajudaRecarrega"] {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
}

.divSubopcaoInscricaoED,
.divSubopcaoInscricao,
.divSubopcaoInscricaoCAP {
    height: auto !important;
    min-height: 28px;
    margin: 5px 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.divSubopcaoInscricaoED select,
.divSubopcaoInscricao select,
.divSubopcaoInscricaoCAP select {
    flex: 1 1 240px;
    width: auto;
    max-width: 100%;
}

/* Ocultar linhas colapsadas de familiar simplificado (Falecido/Não Consta) em qualquer resolução */
.tbl-quadro-composicao-familiar tr.linha-simplificada-oculta,
.tbl-quadro-composicao-familiar td.linha-simplificada-oculta,
tr.linha-simplificada-oculta {
    display: none !important;
}

@media (max-width: 768px) {
    /* Touch target improvements */
    .campo-form, .form-control {
        padding: 12px !important;
        font-size: 16px !important;
    }

    /* Buttons occupy full width in mobile */
    .btn, .bt-salvar, .bt-entrar {
        width: 100%;
        margin-bottom: 10px;
    }

    /* Table-to-Cards Transformation */
    .responsive-table-to-cards thead {
        display: none;
    }
    .responsive-table-to-cards,
    .responsive-table-to-cards tbody,
    .responsive-table-to-cards tr,
    .responsive-table-to-cards td {
        display: block;
        width: 100%;
    }
    .responsive-table-to-cards tr {
        margin-bottom: 15px;
        border: 1px solid #ccc;
        border-radius: 8px;
        padding: 10px;
        background: #fff;
    }
    .responsive-table-to-cards td {
        border: none !important;
        position: relative;
        padding-left: 45% !important;
        text-align: left !important;
        min-height: 30px;
    }
    .responsive-table-to-cards td::before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 40%;
        font-weight: bold;
        color: #666;
        text-transform: uppercase;
        font-size: 10px;
    }

    /* Form improvements */
    .responsive-form p {
        display: flex;
        flex-direction: column;
    }
    .responsive-form label {
        margin-bottom: 5px;
        text-align: left !important;
    }

    /* Alinhamento à esquerda de rótulos e formulário no Quadro de Composição Familiar em Mobile */
    .tbl-quadro-composicao-familiar,
    .tbl-quadro-composicao-familiar tbody,
    .tbl-quadro-composicao-familiar tr,
    .tbl-quadro-composicao-familiar td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    .tbl-quadro-composicao-familiar .rotulo,
    .tbl-quadro-composicao-familiar td.rotulo,
    .quadro-composicao-familiar .rotulo,
    .quadro-composicao-familiar td.rotulo,
    #questionario-socioecon .rotulo,
    #questionario-socioecon td.rotulo,
    td.rotulo,
    .rotulo {
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
        margin-top: 8px !important;
        margin-bottom: 2px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        font-weight: 600 !important;
        color: #1e293b !important;
    }

    .tbl-quadro-composicao-familiar .campo,
    .tbl-quadro-composicao-familiar td.campo,
    .quadro-composicao-familiar .campo,
    .quadro-composicao-familiar td.campo {
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 6px !important;
    }

    .tbl-quadro-composicao-familiar select.combo-form,
    .tbl-quadro-composicao-familiar select,
    .tbl-quadro-composicao-familiar input[type="text"],
    .tbl-quadro-composicao-familiar input.desc-resposta-quadro {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Ocultar linhas colapsadas de familiar simplificado (Falecido/Não Consta) */
    .tbl-quadro-composicao-familiar tr.linha-simplificada-oculta,
    .tbl-quadro-composicao-familiar td.linha-simplificada-oculta,
    tr.linha-simplificada-oculta {
        display: none !important;
    }


    /* Confirmação do Quadro Familiar e Questões em Mobile */
    .tbl-confirmacao-resumo,
    .tbl-confirmacao-resumo tbody,
    .tbl-confirmacao-resumo tr,
    .tbl-confirmacao-resumo td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    .tbl-confirmacao-resumo td.rotulo {
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
        margin-top: 6px !important;
        margin-bottom: 2px !important;
        padding: 0 !important;
        font-weight: 600 !important;
        color: #64748b !important;
        font-size: 11px !important;
        text-transform: uppercase !important;
    }

    .tbl-confirmacao-resumo td.campo {
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
        padding: 0 0 6px 0 !important;
        font-size: 12.5px !important;
        color: #0f172a !important;
    }

    .box-documento-associado {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }
}


@media (max-width: 820px) {
    [class*="tdSubBloco"],
    [class*="SubBloco"] td,
    .tdBlocoInscricaoEQComplemento,
    .tdBlocoInscricaoEDComplemento,
    .tdBlocoIsencaoComplemento {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .ajudaRecarregaDados,
    .ajudaBuscaEscola,
    [class*="ajudaBusca"],
    [class*="ajudaRecarrega"] {
        position: static !important;
        width: 100% !important;
        margin: 10px 0 !important;
    }
}

/* 4. Painel Dinâmico de Bairros da Região de Prova */
.painel-bairros-regiao {
    margin-top: 12px;
    margin-bottom: 6px;
    padding: 12px 16px;
    background-color: #f0f7fb;
    border: 1px solid #b8daea;
    border-radius: 6px;
    box-sizing: border-box;
    max-width: 100%;
}

.painel-bairros-cabecalho {
    font-weight: 700;
    color: #004d73;
    margin-bottom: 8px;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.painel-bairros-lista {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tag-bairro-regiao {
    background: #ffffff;
    border: 1px solid #cbe3f0;
    color: #1e293b;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    display: inline-block;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.tag-bairro-regiao:hover {
    background-color: #e0f2fe;
    border-color: #7dd3fc;
}

