/*
 * LBM Licitações — Identidade pública institucional
 * Interface unificada para consulta, lightbox e página single.
 */
.lbm-licitacoes,.lbm-single{
    --lbm-primary:#174d86;
    --lbm-highlight:#e8f1f8;
    --lbm-navy:#123d68;
    --lbm-ink:#17212b;
    --lbm-muted:#5c6875;
    --lbm-border:#d7e0e8;
    --lbm-surface:#f5f7fa;
    --lbm-white:#fff;
    --lbm-shadow:0 10px 26px rgba(16,35,55,.06);
    color:var(--lbm-ink);
    font-family:"Roboto","Helvetica Neue",Arial,sans-serif;
    line-height:1.5;
}
.lbm-public-portal{max-width:1180px;margin:0 auto;padding:8px 0 48px}
.lbm-public-header{text-align:center;margin:0 auto 34px;max-width:780px}
.lbm-public-kicker{display:inline-block;margin:0 0 9px;color:var(--lbm-primary);font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.lbm-public-header h2{margin:0 0 12px;color:var(--lbm-primary);font-size:clamp(30px,4vw,43px);line-height:1.15;font-weight:800}
.lbm-public-header p{margin:0;color:var(--lbm-muted);font-size:17px;line-height:1.55}
.lbm-panel{background:var(--lbm-white);border:1px solid var(--lbm-border);border-top:4px solid var(--lbm-primary);border-radius:9px;padding:25px 27px 27px;box-shadow:var(--lbm-shadow)}
.lbm-filters{margin:0 0 30px}
.lbm-section-heading{display:flex;align-items:flex-start;gap:13px;margin:0 0 23px;padding:0 0 19px;border-bottom:1px solid #e6ebf0}
.lbm-section-heading .dashicons{flex:0 0 auto;width:25px;height:25px;font-size:25px;color:var(--lbm-primary);margin-top:3px}
.lbm-section-heading h3{margin:0 0 3px;color:var(--lbm-ink);font-size:22px;line-height:1.25;font-weight:750}
.lbm-section-heading p{margin:0;color:var(--lbm-muted);font-size:15px}
.lbm-search-label{display:block;margin:0 0 19px;max-width:none}
.lbm-search-label span,.lbm-filter-select span{display:block;margin:0 0 7px;color:var(--lbm-ink);font-size:14px;line-height:1.3;font-weight:700}
.lbm-search-input,.lbm-filter-select select{display:block;width:100%;min-height:48px;margin:0;border:1px solid #bdcad7;border-radius:6px;background:#fff;color:var(--lbm-ink);padding:11px 13px;font-size:16px;line-height:1.35;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}
.lbm-search-input:focus,.lbm-filter-select select:focus{border-color:var(--lbm-primary);outline:none;box-shadow:0 0 0 3px rgba(23,77,134,.14)}
.lbm-search-input::placeholder{color:#728091}
.lbm-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:16px;margin:0}
.lbm-filter-select{display:block;margin:0}
.lbm-filter-actions{display:flex;align-items:center;gap:12px;margin:24px 0 0}
.lbm-filter-actions button,.lbm-filter-actions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:45px;border-radius:6px;padding:10px 19px;text-decoration:none;font-size:15px;line-height:1.2;font-weight:700;transition:background-color .15s ease,color .15s ease,border-color .15s ease;cursor:pointer}
.lbm-filter-actions button{background:var(--lbm-primary);border:1px solid var(--lbm-primary);color:#fff}
.lbm-filter-actions button:hover,.lbm-filter-actions button:focus{background:var(--lbm-navy);border-color:var(--lbm-navy);color:#fff}
.lbm-filter-actions a{background:#fff;border:1px solid #bac8d6;color:var(--lbm-primary)}
.lbm-filter-actions a:hover,.lbm-filter-actions a:focus{background:var(--lbm-surface);border-color:var(--lbm-primary);color:var(--lbm-primary)}
.lbm-filter-actions .dashicons{font-size:18px;width:18px;height:18px}
.lbm-results{margin-top:0}
.lbm-results.is-loading{opacity:.83}
.lbm-results-header{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 17px;padding:0 3px}
.lbm-results-header h3{margin:0 0 3px;color:var(--lbm-ink);font-size:25px;line-height:1.25;font-weight:800}
.lbm-results-header p{margin:0;color:var(--lbm-muted);font-size:15px;font-weight:500}
.lbm-results-list{display:grid;gap:15px}
.lbm-card{background:#fff;border:1px solid var(--lbm-border);border-left:5px solid var(--lbm-primary);border-radius:8px;padding:20px 21px 19px;box-shadow:0 3px 12px rgba(16,35,55,.04);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}
.lbm-card:hover{box-shadow:0 12px 28px rgba(16,35,55,.1);transform:translateY(-1px);border-color:#c2d2df}
.lbm-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 13px}
.lbm-process-label{display:inline-flex;align-items:center;background:var(--lbm-highlight);border-radius:4px;color:var(--lbm-primary);padding:6px 11px;font-size:13px;line-height:1.2;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.lbm-status-badge{display:inline-flex;align-items:center;border:1px solid #c1d0df;background:#f4f7fa;border-radius:20px;color:var(--lbm-primary);padding:6px 12px;font-size:13px;line-height:1.2;font-weight:700}
.lbm-card h4{margin:0 0 18px;color:#111b24;font-size:20px;line-height:1.43;font-weight:750}
.lbm-card-meta{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:0;margin:0 0 18px;background:var(--lbm-surface);border:1px solid #e1e7ed;border-radius:6px;overflow:hidden}
.lbm-card-meta div{padding:11px 14px;border-right:1px solid #e1e7ed}
.lbm-card-meta div:last-child{border-right:0}
.lbm-card-meta dt{display:block;margin:0 0 4px;color:var(--lbm-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.lbm-card-meta dd{margin:0;color:var(--lbm-ink);font-size:15px;font-weight:700}
.lbm-card-actions{display:flex;justify-content:flex-end}
.lbm-open-detail{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border:1px solid var(--lbm-primary);border-radius:6px;background:#fff;color:var(--lbm-primary);padding:10px 16px;font-size:15px;line-height:1.2;font-weight:700;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.lbm-open-detail .dashicons{width:18px;height:18px;font-size:18px}
.lbm-open-detail:hover,.lbm-open-detail:focus{background:var(--lbm-primary);color:#fff}
.lbm-pagination{display:flex;align-items:center;justify-content:center;gap:7px;margin:30px 0 0}
.lbm-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-height:42px;min-width:42px;border:1px solid var(--lbm-border);border-radius:5px;background:#fff;color:var(--lbm-primary);padding:8px 13px;text-decoration:none;font-weight:700}
.lbm-pagination .page-numbers:hover{border-color:var(--lbm-primary);background:var(--lbm-surface)}
.lbm-pagination .current{border-color:var(--lbm-primary);background:var(--lbm-primary);color:#fff}
.lbm-empty{display:flex;align-items:center;gap:11px;margin:0;border:1px solid var(--lbm-border);border-left:4px solid var(--lbm-primary);border-radius:7px;background:var(--lbm-surface);padding:22px;color:var(--lbm-muted)}
.lbm-empty .dashicons{color:var(--lbm-primary);font-size:24px;width:24px;height:24px}
.lbm-empty p{margin:0;font-size:16px;font-weight:600}
.lbm-loading-inline{margin:0;border:1px solid var(--lbm-border);border-left:4px solid var(--lbm-primary);border-radius:7px;background:var(--lbm-surface);padding:21px;color:var(--lbm-muted);text-align:left}

/* Modal */
.lbm-modal{display:none;position:fixed;inset:0;z-index:999999}
.lbm-modal.is-open{display:block}
.lbm-modal-overlay{position:absolute;inset:0;background:rgba(11,24,37,.7)}
.lbm-modal-dialog{position:relative;width:min(1160px,calc(100% - 34px));max-height:calc(100vh - 40px);margin:20px auto;overflow:auto;border-radius:10px;background:#fff;padding:38px 40px 43px;box-shadow:0 22px 60px rgba(0,0,0,.3)}
.lbm-modal-close{position:absolute;z-index:1;right:14px;top:11px;width:42px;height:42px;border:1px solid transparent;border-radius:50%;background:#fff;color:var(--lbm-primary);font-size:34px;line-height:34px;cursor:pointer}
.lbm-modal-close:hover,.lbm-modal-close:focus{border-color:var(--lbm-border);background:var(--lbm-surface)}
body.lbm-modal-active{overflow:hidden}
.lbm-loading,.lbm-error{text-align:center;padding:60px 20px;color:var(--lbm-muted);font-size:18px}

/* Single e conteúdo do lightbox */
.lbm-direct-single{max-width:1260px;margin:50px auto;padding:0 24px;background:#fff;color:var(--lbm-ink)}
.lbm-direct-single .lbm-single{max-width:1120px;margin:0 auto;padding:6px 0 65px}
.lbm-single-modern{max-width:1120px;margin:0 auto;color:var(--lbm-ink)}
.lbm-single-head{text-align:center;margin:0 0 28px;padding:0 48px}
.lbm-single-head h2{margin:2px 0 11px;color:var(--lbm-primary);font-size:clamp(34px,4.3vw,48px);line-height:1.12;font-weight:800}
.lbm-single-head p{margin:0;color:var(--lbm-muted);font-size:13px;line-height:1.4;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.lbm-single-panel{margin:0 0 22px;overflow:hidden;border:1px solid var(--lbm-border);border-radius:9px;background:#fff;box-shadow:var(--lbm-shadow)}
.lbm-single-summary{padding:0}
.lbm-single-table-wrap{overflow-x:auto}
.lbm-single-table{width:100%;border-collapse:collapse;table-layout:fixed}
.lbm-single-table th,.lbm-single-table td{padding:15px 17px;border-bottom:1px solid #e5ebf0;font-size:16px;line-height:1.4}
.lbm-single-table tr:last-child th,.lbm-single-table tr:last-child td{border-bottom:0}
.lbm-single-table th{width:18%;background:var(--lbm-primary);color:#fff;text-align:left;font-weight:700}
.lbm-single-table td{width:32%;background:var(--lbm-surface);color:var(--lbm-ink);font-weight:700}
.lbm-single-table .lbm-single-empty{border-bottom:0;background:#fff}
.lbm-single-object-panel{padding:24px 26px 27px}
.lbm-object-title{margin:0 0 16px;color:var(--lbm-ink);font-size:25px;line-height:1.2;font-weight:800;text-align:left}
.lbm-object-box{border-left:4px solid var(--lbm-primary);border-radius:6px;background:var(--lbm-surface);padding:19px 21px}
.lbm-object{margin:0;color:var(--lbm-ink);font-size:17px;line-height:1.62;font-weight:600;text-align:justify}
.lbm-documents-panel{padding:24px 26px 28px}
.lbm-documents-title{margin:0 0 16px;color:var(--lbm-ink);font-size:22px;line-height:1.25;font-weight:800}
.lbm-documents{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px}
.lbm-document-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:190px;min-height:48px;border:1px solid var(--lbm-primary);border-radius:6px;background:#fff;color:var(--lbm-primary);padding:12px 17px;text-decoration:none;font-weight:700;transition:background-color .15s ease,color .15s ease,transform .15s ease}
.lbm-document-button:hover,.lbm-document-button:focus{background:var(--lbm-primary);color:#fff;transform:translateY(-1px)}
.lbm-document-button .dashicons{width:20px;height:20px;font-size:20px}

@media(max-width:900px){
    .lbm-public-portal{padding-left:10px;padding-right:10px}
    .lbm-card-meta{grid-template-columns:repeat(2,minmax(130px,1fr))}
    .lbm-card-meta div:nth-child(2){border-right:0}
    .lbm-card-meta div:nth-child(1),.lbm-card-meta div:nth-child(2){border-bottom:1px solid #e1e7ed}
    .lbm-single-table th,.lbm-single-table td{padding:13px 13px;font-size:15px}
}
@media(max-width:767px){
    .lbm-public-header{margin-bottom:24px;padding:0 8px}
    .lbm-public-header p{font-size:15px}
    .lbm-panel{padding:20px 17px}
    .lbm-section-heading h3{font-size:20px}
    .lbm-filter-grid{grid-template-columns:1fr;gap:12px}
    .lbm-search-input,.lbm-filter-select select{font-size:15px}
    .lbm-filter-actions{flex-direction:column;align-items:stretch}
    .lbm-filter-actions button,.lbm-filter-actions a{width:100%}
    .lbm-results-header h3{font-size:22px}
    .lbm-card{padding:16px 14px}
    .lbm-card-top{align-items:flex-start;flex-direction:column}
    .lbm-card h4{font-size:17px}
    .lbm-card-meta{grid-template-columns:1fr}
    .lbm-card-meta div,.lbm-card-meta div:nth-child(2){border-right:0;border-bottom:1px solid #e1e7ed}
    .lbm-card-meta div:last-child{border-bottom:0}
    .lbm-card-actions,.lbm-open-detail{width:100%}
    .lbm-modal-dialog{width:calc(100% - 20px);max-height:calc(100vh - 20px);margin:10px auto;padding:48px 13px 22px;border-radius:8px}
    .lbm-modal-close{right:6px;top:5px}
    .lbm-single-head{margin-bottom:20px;padding:0 22px}
    .lbm-single-head h2{font-size:clamp(28px,9vw,38px)}
    .lbm-single-head p{font-size:11px;letter-spacing:.12em}
    .lbm-single-table,.lbm-single-table tbody,.lbm-single-table tr,.lbm-single-table th,.lbm-single-table td{display:block;width:100%}
    .lbm-single-table tr{border-bottom:1px solid #e5ebf0}
    .lbm-single-table tr:last-child{border-bottom:0}
    .lbm-single-table th{padding:11px 13px 7px}
    .lbm-single-table td{padding:0 13px 13px}
    .lbm-single-table .lbm-single-empty{display:none}
    .lbm-single-object-panel,.lbm-documents-panel{padding:19px 16px 20px}
    .lbm-object-title{font-size:22px}
    .lbm-object{font-size:16px;text-align:left}
    .lbm-documents-title{font-size:20px}
    .lbm-document-button{width:100%;min-width:0}
}
