/*
 * Nome do Projeto: Website da Câmara Municipal
 * Desenvolvido pelo Departamento de Informática
 * Data de Criação: 2024-2025
 * Tecnologias: HTML5, CSS3, JavaScript, jQuery, PHP
 */

.nav-pills .nav-link:not(.active):hover {
    background-color: #0d618f !important;
    color: #fff !important;
    transition: background 0.2s, color 0.2s;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.08);
}

.placeholder-center::placeholder {
    text-align: center;
}

/* Modal (tela): 2 colunas e conteúdo legível */
body:not(.printing-modal) #modalDetalhes .row-modal-lici {
    margin-left: 0 !important;
    /* anula o ms-3 do HTML gerado */
    margin-right: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
}

/* O HTML do modal vem com um `.row` interno com `width: 145%` e isso derruba a 2ª coluna */
body:not(.printing-modal) #modalDetalhes .row-modal-lici {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body:not(.printing-modal) #modalDetalhes .row-modal-lici>.col-md-6 {
    min-width: 0;
    width: auto !important;
    max-width: none !important;
}

@media (max-width: 575.98px) {
    body:not(.printing-modal) #modalDetalhes .row-modal-lici {
        grid-template-columns: 1fr !important;
    }
}

body:not(.printing-modal) #modalDetalhes .detalhe-bloco-desc,
body:not(.printing-modal) #modalDetalhes .detalhe-bloco-desc p {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

#print-site-wrapper {
    display: none !important;
}

/* Estilos extras para impressão do Modal (A4) */
@media print {
    @page {
        size: A4 portrait;
        margin: 0;
    }

    html,
    body {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Rodapé de autenticação: só quando imprimindo o modal */
    body.printing-modal #print-auth-footer {
        display: block !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 12mm !important;
        width: 100% !important;
        text-align: center;
        font-size: 9pt;
        padding-top: 3mm;
        padding-bottom: 3mm;
        background: #eaf6fc !important;
        color: #000 !important;
        z-index: 99999;
        visibility: visible !important;
        transform: translateZ(0) !important;
        -webkit-transform: translateZ(0) !important;
    }

    /* Imprimir somente o modal (evita imprimir a página inteira) */
    body.printing-modal {
        padding-bottom: 32mm !important;
        /* reserva espaço para o rodapé fixo + área não-imprimível */
    }

    body.printing-modal>*:not(#modalDetalhes):not(#print-auth-footer):not(#print-site-wrapper) {
        display: none !important;
    }

    /* Fundo do site (clonado) para aparecer atrás do modal */
    body.printing-modal #print-site-wrapper {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        overflow: hidden !important;
        z-index: 0 !important;
        opacity: 0.25 !important;
    }

    /* Remove bordas/contornos do fundo clonado */
    body.printing-modal #print-site-wrapper,
    body.printing-modal #print-site-wrapper * {
        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
    }

    /* Forçar aparência desktop no fundo (anula responsivo baseado no viewport de impressão) */
    body.printing-modal #print-site-wrapper .container,
    body.printing-modal #print-site-wrapper .container-fluid {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.printing-modal #print-site-wrapper .row {
        flex-direction: row !important;
        gap: 0 !important;
    }

    body.printing-modal #print-site-wrapper .col,
    body.printing-modal #print-site-wrapper [class^="col-"],
    body.printing-modal #print-site-wrapper [class*=" col-"] {
        width: auto !important;
    }

    body.printing-modal #print-site-wrapper .navbar-collapse {
        display: flex !important;
        flex-basis: auto !important;
        visibility: visible !important;
    }

    body.printing-modal #print-site-wrapper .navbar-toggler {
        display: none !important;
    }

    body.printing-modal #print-site-wrapper .navbar-nav {
        flex-direction: row !important;
    }

    /* Forçar menus colapsados (Bootstrap) a ficarem abertos no fundo clonado */
    body.printing-modal #print-site-wrapper .collapse,
    body.printing-modal #print-site-wrapper .collapse:not(.show) {
        display: block !important;
        height: auto !important;
        visibility: visible !important;
    }

    body.printing-modal #print-site-wrapper .navbar-collapse,
    body.printing-modal #print-site-wrapper .navbar-collapse.collapse,
    body.printing-modal #print-site-wrapper .navbar-collapse.collapse.show {
        display: flex !important;
    }

    body.printing-modal #print-site-wrapper [data-bs-toggle="collapse"],
    body.printing-modal #print-site-wrapper [data-toggle="collapse"] {
        display: none !important;
    }

    body.printing-modal #print-site-wrapper .d-lg-block {
        display: block !important;
    }

    body.printing-modal #print-site-wrapper .d-lg-none {
        display: none !important;
    }

    body.printing-modal #print-site-wrapper .d-md-block {
        display: block !important;
    }

    body.printing-modal #print-site-wrapper .d-md-none {
        display: none !important;
    }

    body.printing-modal #print-site-wrapper .d-none.d-md-table-cell {
        display: table-cell !important;
    }

    body.printing-modal #print-site-wrapper .nav-pills {
        flex-direction: row !important;
    }

    body.printing-modal #print-site-wrapper .licitacao-card-body,
    body.printing-modal #print-site-wrapper .card-body.licitacao-card-body {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        text-align: left !important;
    }

    body.printing-modal #print-site-wrapper .licitacao-card {
        height: 125px !important;
        text-align: left !important;
    }

    body.printing-modal #print-site-wrapper .licitacao-icon {
        width: 13% !important;
        min-width: 13% !important;
    }

    body.printing-modal #print-site-wrapper .licitacao-status {
        width: 11% !important;
        min-width: 11% !important;
    }

    body.printing-modal #print-site-wrapper .licitacao-descricao,
    body.printing-modal #print-site-wrapper .vr-lici {
        display: block !important;
    }

    /* Fundo clonado: ocultar rodapés/containers */
    body.printing-modal #print-site-wrapper footer,
    body.printing-modal #print-site-wrapper #footer,
    body.printing-modal #print-site-wrapper .footer {
        display: none !important;
    }

    /* Esconde backdrop e botões durante a impressão */
    body.printing-modal .modal-backdrop,
    body.printing-modal .btn-print,
    body.printing-modal .btn-close,
    body.printing-modal .mobileIconTrigger {
        display: none !important;
    }

    body.printing-modal #modalDetalhes {
        display: block !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        z-index: 1 !important;
        opacity: 1 !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    body.printing-modal .modal {
        padding: 0 !important;
        margin: 0 !important;
        position: static !important;
    }

    body.printing-modal .modal-dialog {
        width: 190mm !important;
        max-width: 190mm !important;
        margin: 10mm auto 22mm auto !important;
        /* não encostar no rodapé */
        padding: 0 !important;
    }

    body.printing-modal .modal-content,
    body.printing-modal .modal-body {
        overflow: visible !important;
    }

    body.printing-modal .modal-header {
        border-bottom: 1px solid #dee2e6 !important;
    }

    /* Conteúdo do modal em 2 colunas na impressão */
    body.printing-modal .row-modal-lici {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 12px !important;
        row-gap: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        font-size: 8pt !important;
        gap: 0 !important;
    }

    /* Anula widths inline que quebram as 2 colunas */
    body.printing-modal .row-modal-lici .row[style] {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.printing-modal .row-modal-lici>.col-md-6 {
        width: auto !important;
        max-width: none !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
        box-sizing: border-box !important;
        min-width: 0 !important;
    }

    body.printing-modal .row-modal-lici .detalhe-bloco-desc,
    body.printing-modal .row-modal-lici .detalhe-bloco-desc p {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    /* Subgrid comum (label/valor) */
    body.printing-modal .row-modal-lici .col-md-2 {
        width: 28% !important;
        max-width: 28% !important;
        flex: 0 0 28% !important;
    }

    body.printing-modal .row-modal-lici .col-md-5 {
        width: 70% !important;
        max-width: 70% !important;
        flex: 0 0 70% !important;
    }

    body.printing-modal .modal-content {
        background: #fff !important;
        box-shadow: none !important;
        border: 1px solid #ddd !important;
        border-radius: 8px !important;
    }

    body.printing-modal .modal-title {
        font-size: 11pt !important;
    }

    body.printing-modal .modal-body {
        padding: 0.75rem 0.75rem !important;
        font-size: 8pt !important;
        line-height: 1.25 !important;
    }

    /* Ajustes finos: descrição menor e menos espaçamento (somente impressão) */
    body.printing-modal .row-modal-lici .detalhe-bloco p {
        margin: 0 0 1.7mm 0 !important;
    }

    body.printing-modal .row-modal-lici .detalhe-bloco-desc p {
        font-size: 8pt !important;
        line-height: 1.15 !important;
        margin-bottom: 1mm !important;
    }

    body.printing-modal .table th,
    body.printing-modal .table td {
        font-size: 8pt !important;
        padding: 1.5mm 1.5mm !important;
    }

    /* Quebras mais suaves */
    .card,
    tr,
    td,
    th {
        page-break-inside: avoid;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        page-break-after: avoid;
    }
}