/* ===== Sistema de Licitações — estilos do front-end ===== */

.lic-painel, .lic-listagem, .lic-single { max-width: 1100px; margin: 0 auto; font-size: 14px; color: #333; }

.lic-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #999; margin: 0 0 4px; }

.lic-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 10px 20px;
	border-radius: 10px;
	font-size: 12.5px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	border: none;
	text-transform: uppercase;
	letter-spacing: .03em;
	transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease, background-color .15s ease;
}
.lic-btn .dashicons { font-size: 15px; width: 15px; height: 15px; }
.lic-btn-primario {
	background: linear-gradient(90deg, var(--lic-cor-botao-inicio, #1F6F4B), var(--lic-cor-botao-fim, #0E4A30));
	color: #fff;
	box-shadow: 0 4px 14px rgba(31, 111, 75, .25);
}
.lic-btn-primario:hover { opacity: .94; transform: translateY(-2px); }
.lic-btn-secundario { background: #eef1f0; color: #234; }
.lic-btn-secundario:hover { background: #e2e6e4; }
.lic-btn-texto { background: transparent; color: var(--lic-cor-inicio, #1F6F4B); text-transform: none; letter-spacing: 0; padding: 8px 4px; }
.lic-btn-texto:hover { text-decoration: underline; }
.lic-btn-block { width: 100%; }
.lic-btn-detalhes {
	background: transparent;
	color: var(--lic-cor-inicio, #1F6F4B);
	border: 1.5px solid currentColor;
	padding: 6px 12px;
	font-size: 10.5px;
	white-space: nowrap;
}
.lic-btn-detalhes .dashicons { font-size: 13px; width: 13px; height: 13px; transition: transform .15s ease; }
.lic-btn-detalhes:hover { background: var(--lic-cor-inicio, #1F6F4B); color: #fff; }
.lic-btn-detalhes:hover .dashicons { transform: translateX(2px); }

/* ---------- Painel inicial ---------- */
.lic-painel-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.lic-painel-topo h2 { margin: 0; font-size: 22px; }
.lic-painel-acoes { display: flex; gap: 10px; flex-wrap: wrap; }
.lic-secao-titulo { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #888; font-weight: 700; margin: 26px 0 12px; }

.lic-modalidades-grid,
.lic-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; }

.lic-info-card {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 14px;
	padding: 16px 14px;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 4px;
	box-shadow: 0 2px 6px rgba(20, 20, 43, .04);
}
.lic-modalidade-numero { font-size: 24px; font-weight: 800; color: var(--lic-cor-inicio, #1F6F4B); }
.lic-info-label { font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; color: #888; font-weight: 700; }
.lic-info-valor { font-size: 14px; font-weight: 700; color: #1a1a1a; }
.lic-info-grid .lic-info-card { text-align: left; }

.lic-recentes-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.lic-recentes-topo .lic-secao-titulo { margin: 26px 0 0; }

/* ---------- Listagem ---------- */
.lic-listagem-topo { display: flex; align-items: baseline; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.lic-listagem-topo h2 { margin: 0; font-size: 22px; }
.lic-contador { background: #f0f0f2; color: #666; font-size: 11.5px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }

.lic-filtros { background: #fff; border: 1px solid #ececec; border-radius: 14px; padding: 0; margin: 0 0 22px; overflow: hidden; box-shadow: 0 2px 6px rgba(20, 20, 43, .04); }
.lic-filtros-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fafafa;
	border: none;
	border-bottom: 1px solid #f0f0f2;
	padding: 14px 18px;
	font-size: 12.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #444;
	cursor: pointer;
}
.lic-filtros-toggle .dashicons { font-size: 16px; width: 16px; height: 16px; vertical-align: middle; }
.lic-filtros-corpo { padding: 18px; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; align-items: end; }
.lic-form-field { display: flex; flex-direction: column; }
.lic-form-field label { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 6px; color: #666; }
.lic-form-field input,
.lic-form-field select {
	padding: 11px 14px;
	border: 1.5px solid #e4e4e7;
	border-radius: 10px;
	font-size: 13px;
	background: #f7f7f9;
	color: #222;
	transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
	width: 100%;
	box-sizing: border-box;
}
.lic-form-field input:focus,
.lic-form-field select:focus {
	outline: none;
	border-color: var(--lic-cor-fim, #0E4A30);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(14, 74, 48, .12);
}
.lic-form-actions { display: flex; flex-direction: column; gap: 6px; align-self: end; }

/* ---------- Badges ---------- */
.lic-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .03em;
	white-space: nowrap;
	line-height: 1.6;
}
.lic-badge-roxo    { background: #efeafc; color: #6C5CE7; }
.lic-badge-verde   { background: #e3faf3; color: #00895f; }
.lic-badge-azul    { background: #e8f1fd; color: #1a6fd1; }
.lic-badge-laranja { background: #fef3e2; color: #b5730a; }
.lic-badge-vermelho{ background: #fdeaea; color: #c0392b; }
.lic-badge-cinza   { background: #f0f0f2; color: #666; }

/* ---------- Tabela ---------- */
.lic-tabela-wrap { overflow-x: auto; background: #fff; border: 1px solid #ececec; border-radius: 14px; box-shadow: 0 2px 6px rgba(20, 20, 43, .04); }
.lic-tabela { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.lic-tabela th {
	text-align: left;
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #888;
	font-weight: 700;
	padding: 12px 14px;
	border-bottom: 1.5px solid #f0f0f2;
	white-space: nowrap;
}
.lic-tabela td { padding: 12px 14px; border-bottom: 1px solid #f3f3f5; vertical-align: middle; }
.lic-tabela tbody tr:last-child td { border-bottom: none; }
.lic-tabela tbody tr:hover { background: #fafafa; }
.lic-tabela a { color: var(--lic-cor-inicio, #1F6F4B); font-weight: 700; text-decoration: none; }
.lic-tabela a:hover { text-decoration: underline; }
.lic-tabela-objeto { max-width: 320px; color: #444; }

.lic-sem-resultados { color: #777; font-style: italic; background: #fafafa; border: 1px dashed #e0e0e0; border-radius: 10px; padding: 30px 16px; text-align: center; }

@media (max-width: 700px) {
	.lic-tabela thead { display: none; }
	.lic-tabela, .lic-tabela tbody, .lic-tabela tr, .lic-tabela td { display: block; width: 100%; }
	.lic-tabela tr { padding: 10px 14px; border-bottom: 1px solid #f0f0f2; }
	.lic-tabela td { border: none; padding: 4px 0; }
	.lic-tabela td::before { content: attr(data-label) ": "; font-weight: 700; color: #888; font-size: 10.5px; text-transform: uppercase; }
	.lic-tabela-objeto { max-width: none; }
}

/* ---------- Paginação ---------- */
.lic-paginacao { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.lic-pagina-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 8px;
	border-radius: 8px;
	background: #fff;
	border: 1px solid #ececec;
	color: #444;
	font-size: 12.5px;
	font-weight: 700;
	text-decoration: none;
}
.lic-pagina-link:hover { background: #f5f5f5; }
.lic-pagina-ativa { background: linear-gradient(90deg, var(--lic-cor-inicio, #1F6F4B), var(--lic-cor-fim, #0E4A30)); color: #fff; border-color: transparent; }
.lic-pagina-seta .dashicons { font-size: 15px; width: 15px; height: 15px; }

/* ---------- Página individual (licitação / ata) ---------- */
.lic-header {
	position: relative;
	background: linear-gradient(135deg, var(--lic-cor-inicio, #1F6F4B), var(--lic-cor-fim, #0E4A30));
	border-radius: 16px;
	padding: 26px 26px 22px;
	color: #fff;
	margin-bottom: 22px;
}
.lic-breadcrumb { font-size: 11.5px; opacity: .85; margin: 0 0 12px; }
.lic-breadcrumb a { color: #fff; text-decoration: none; }
.lic-breadcrumb a:hover { text-decoration: underline; }
.lic-badges { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.lic-badges .lic-badge { background: rgba(255, 255, 255, .22); color: #fff; }
.lic-processo-label { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; opacity: .85; margin: 0 0 6px; }
.lic-processo-label strong { display: block; font-size: 14px; margin-top: 2px; }
.lic-objeto { font-size: 19px; line-height: 1.4; margin: 8px 0 16px; font-weight: 700; }
.lic-meta-row { display: flex; flex-wrap: wrap; gap: 18px; font-size: 12.5px; opacity: .95; }
.lic-meta-row span,
.lic-meta-row a { display: inline-flex; align-items: center; gap: 5px; color: #fff; text-decoration: none; }
.lic-meta-row a { text-decoration: underline; }
.lic-meta-row .dashicons { font-size: 15px; width: 15px; height: 15px; }

.lic-subtitulo { font-size: 15px; margin: 22px 0 12px; display: flex; align-items: center; gap: 10px; }
.lic-movs-contador { font-size: 11px; font-weight: 600; color: #999; text-transform: none; letter-spacing: 0; }

.lic-timeline { list-style: none; margin: 0; padding: 0 0 0 4px; position: relative; }
.lic-timeline::before { content: ""; position: absolute; left: 7px; top: 6px; bottom: 6px; width: 2px; background: #ececec; }
.lic-timeline-item { position: relative; padding: 0 0 20px 28px; }
.lic-timeline-item:last-child { padding-bottom: 0; }
.lic-timeline-marcador {
	position: absolute;
	left: 0; top: 3px;
	width: 16px; height: 16px;
	border-radius: 4px;
	background: #fff;
	border: 2px solid var(--lic-cor-fim, #0E4A30);
}
.lic-timeline-conteudo { background: #fff; border: 1px solid #ececec; border-radius: 10px; padding: 10px 14px; }
.lic-timeline-data { display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: #999; margin-bottom: 3px; }
.lic-timeline-numero { color: #bbb; }
.lic-timeline-titulo { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13.5px; color: #1a1a1a; }
.lic-timeline-link { display: inline-flex; color: var(--lic-cor-inicio, #1F6F4B); }
.lic-timeline-link .dashicons { font-size: 15px; width: 15px; height: 15px; }
.lic-timeline-link:hover { color: var(--lic-cor-fim, #0E4A30); }

@media (max-width: 640px) {
	.lic-filtros-corpo { grid-template-columns: 1fr; }
	.lic-modalidades-grid,
	.lic-info-grid { grid-template-columns: 1fr 1fr; }
}

/* ---------- Shortcode [licitacoes_cards] ---------- */
.lic-cards-legenda { display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 18px; padding: 12px 16px; background: #fafafa; border: 1px solid #eee; border-radius: 10px; }
.lic-legenda-item { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; color: #666; font-weight: 600; }
.lic-legenda-ponto { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.lic-legenda-ponto.lic-badge-verde    { background: #00895f; }
.lic-legenda-ponto.lic-badge-azul     { background: #1a6fd1; }
.lic-legenda-ponto.lic-badge-laranja  { background: #b5730a; }
.lic-legenda-ponto.lic-badge-vermelho { background: #c0392b; }
.lic-legenda-ponto.lic-badge-cinza    { background: #999; }

.lic-cards-grid { display: grid; grid-template-columns: repeat(var(--lic-cards-colunas, 3), 1fr); gap: 18px; }

.lic-card {
	position: relative;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 16px;
	padding: 18px 18px 20px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 2px 8px rgba(20, 20, 43, .05);
	transition: transform .2s cubic-bezier(.2, .8, .2, 1), box-shadow .2s ease;
	overflow: hidden;
}
.lic-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; }
.lic-card-verde::before    { background: #00895f; }
.lic-card-azul::before     { background: #1a6fd1; }
.lic-card-laranja::before  { background: #b5730a; }
.lic-card-vermelho::before { background: #c0392b; }
.lic-card-cinza::before    { background: #999; }
.lic-card:hover { transform: translateY(-4px); box-shadow: 0 14px 26px rgba(20, 20, 43, .12); }

.lic-card-topo { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.lic-card-processo { font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; color: #999; font-weight: 700; margin: 0 0 6px; }
.lic-card-objeto { font-size: 14.5px; line-height: 1.45; margin: 0 0 14px; color: #1a1a1a; font-weight: 700; flex-grow: 1; }
.lic-card-meta { display: flex; flex-direction: column; gap: 5px; font-size: 11.5px; color: #777; margin-bottom: 16px; }
.lic-card-meta span { display: inline-flex; align-items: center; gap: 5px; }
.lic-card-meta .dashicons { font-size: 14px; width: 14px; height: 14px; color: #aaa; }
.lic-card-cta { width: 100%; }
.lic-card-cta .dashicons { transition: transform .15s ease; }
.lic-card-cta:hover .dashicons { transform: translateX(3px); }

@media (max-width: 900px) { .lic-cards-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .lic-cards-grid { grid-template-columns: 1fr; } }
