/* Mover – Página de Chamadas Públicas */

.mpc-hero,
.mpc {
	--mpc-azul: #006ca8;
	--mpc-azul-esc: #004f7c;
	--mpc-verde-agua: #0695a1;
	--mpc-titulo: #0d2233;
	--mpc-texto: #17242f;
	--mpc-suave: #4b5863;
	--mpc-linha: #e3e8ec;
	--mpc-borda: #c9d6de;
	--mpc-cinza: #f5f5f8;
	font-family: "Poppins", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}

.mpc-hero *,
.mpc-hero *::before,
.mpc-hero *::after,
.mpc *,
.mpc *::before,
.mpc *::after {
	box-sizing: border-box;
}

.mpc-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.mpc-ico {
	flex: none;
}

/* ---------- Hero ---------- */

.mpc-hero {
	background: linear-gradient(120deg, #004f7c 0%, #006ca8 55%, #0695a1 100%);
	color: #fff;
}

.mpc-hero__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 28px 24px clamp(48px, 6vw, 72px);
}

.mpc-hero .mpc-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	line-height: 1.5;
	color: #d9eef7;
}

.mpc-hero .mpc-crumbs a,
.mpc-hero .mpc-crumbs a:visited {
	color: #d9eef7;
	text-decoration: none;
}

.mpc-hero .mpc-crumbs a:hover {
	color: #fff;
	text-decoration: underline;
}

.mpc-hero .mpc-crumbs [aria-current="page"],
.mpc-hero .mpc-crumbs .breadcrumb_last {
	color: #fff;
}

.mpc-hero__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: clamp(28px, 5vw, 64px);
	padding-top: clamp(36px, 5vw, 56px);
}

.mpc-hero__content {
	flex: 1 1 520px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
}

.mpc-hero .mpc-hero__tag {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.4);
	padding: 7px 14px;
	border-radius: 999px;
}

.mpc-hero .mpc-hero__title {
	margin: 0;
	font-family: inherit;
	font-size: clamp(34px, 4.4vw, 56px);
	line-height: 1.06;
	font-weight: 600;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #fff;
}

.mpc-hero .mpc-hero__text {
	margin: 0;
	max-width: 620px;
	font-size: clamp(16px, 1.4vw, 18px);
	line-height: 1.65;
	color: #eaf6fb;
}

.mpc-hero .mpc-hero__stats {
	flex: 1 1 360px;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.mpc-hero .mpc-hero__stats li {
	margin: 0;
	padding: 0;
}

.mpc-hero .mpc-hero__stats li::before {
	content: none;
}

.mpc-hero a.mpc-hero__stat,
.mpc-hero a.mpc-hero__stat:visited {
	height: 100%;
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end;
	gap: 6px;
	padding: 18px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.mpc-hero a.mpc-hero__stat:hover {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}

.mpc-hero__num {
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
}

.mpc-hero__label {
	font-size: 13px;
	line-height: 1.35;
	color: #d9eef7;
}

.mpc-hero a:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 2px;
}

/* ---------- Cabeçalho de seção ---------- */

.mpc-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 12px 24px;
	margin-bottom: 24px;
}

.mpc-head__text {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mpc .mpc-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--mpc-azul);
}

.mpc-pulse {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--mpc-verde-agua);
	box-shadow: 0 0 0 4px rgba(6, 149, 161, 0.18);
}

.mpc .mpc-h2 {
	margin: 0;
	font-family: inherit;
	font-size: clamp(26px, 2.8vw, 36px);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--mpc-titulo);
}

.mpc a.mpc-more,
.mpc a.mpc-more:visited {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--mpc-azul-esc);
	text-decoration: none;
}

.mpc a.mpc-more:hover {
	text-decoration: underline;
}

.mpc .mpc-empty {
	margin: 0;
	padding: 28px;
	border: 1.5px dashed var(--mpc-borda);
	border-radius: 18px;
	text-align: center;
	font-size: 15px;
	line-height: 1.6;
	color: var(--mpc-suave);
}

/* ---------- Etiquetas ---------- */

.mpc-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--mpc-texto);
	border: 1px solid var(--mpc-linha);
	padding: 5px 11px;
	border-radius: 999px;
	background: #fff;
}

.mpc-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--mpc-cor, #9aa6ae);
	flex: none;
}

.mpc-status {
	flex: none;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.4;
	padding: 5px 11px;
	border-radius: 999px;
	color: var(--mpc-suave);
	background: #eef1f3;
	white-space: nowrap;
}

.mpc-status--aberta {
	color: #0b4d55;
	background: #e6f4f5;
}

.mpc-status--em-avaliacao {
	color: #8a4b00;
	background: #fff4e0;
}

/* ---------- Botões ---------- */

.mpc a.mpc-btn,
.mpc a.mpc-btn:visited,
.mpc button.mpc-btn {
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1.5px solid var(--mpc-azul);
	background: var(--mpc-azul);
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.mpc a.mpc-btn:hover {
	background: var(--mpc-azul-esc);
	border-color: var(--mpc-azul-esc);
	color: #fff;
}

.mpc a.mpc-btn--ghost,
.mpc a.mpc-btn--ghost:visited,
.mpc button.mpc-btn--ghost {
	background: #fff;
	color: var(--mpc-azul-esc);
	border-color: var(--mpc-borda);
}

.mpc a.mpc-btn--ghost:hover,
.mpc button.mpc-btn--ghost:hover {
	background: #f0f6fa;
	color: var(--mpc-azul-esc);
	border-color: var(--mpc-azul);
}

.mpc a:focus-visible,
.mpc button:focus-visible,
.mpc input:focus-visible {
	outline: 3px solid var(--mpc-azul);
	outline-offset: 2px;
}

/* ---------- Abertas agora ---------- */

.mpc .mpc-cards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: 16px;
}

.mpc .mpc-card {
	margin: 0;
	background: #fff;
	border-radius: 20px;
	border-top: 4px solid var(--mpc-cor, var(--mpc-azul));
	padding: 26px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	box-shadow: 0 1px 2px rgba(13, 34, 51, 0.04);
}

.mpc .mpc-card::before {
	content: none;
}

.mpc-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mpc .mpc-card__title {
	margin: 0;
	font-family: inherit;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
}

.mpc .mpc-card__title a,
.mpc .mpc-card__title a:visited {
	color: var(--mpc-titulo);
	text-decoration: none;
}

.mpc .mpc-card__title a:hover {
	color: var(--mpc-azul-esc);
	text-decoration: underline;
}

.mpc-card__meta {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--mpc-suave);
}

.mpc-card__meta strong {
	color: var(--mpc-titulo);
}

.mpc-card__left {
	font-weight: 600;
	color: #8a4b00;
}

.mpc-card__left.is-urgent {
	color: #b42318;
}

.mpc-card__actions {
	margin-top: auto;
	padding-top: 4px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* ---------- Lista com filtros ---------- */

.mpc-filtros {
	border: 1px solid var(--mpc-linha);
	border-radius: 20px;
	padding: 18px;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 18px;
}

.mpc-filtros[hidden],
.mpc-resumo[hidden],
.mpc-vazio[hidden],
.mpc-mais[hidden],
.mpc-item[hidden] {
	display: none !important;
}

.mpc .mpc-busca {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 52px;
	padding: 0 16px;
	border: 1.5px solid var(--mpc-borda);
	border-radius: 14px;
	color: var(--mpc-suave);
	margin: 0;
	cursor: text;
}

.mpc .mpc-busca:focus-within {
	border-color: var(--mpc-azul);
}

.mpc .mpc-busca__input {
	flex: 1;
	min-width: 0;
	height: 100%;
	border: 0;
	padding: 0;
	margin: 0;
	background: transparent;
	box-shadow: none;
	font-family: inherit;
	font-size: 15px;
	color: var(--mpc-titulo);
	outline: 0;
}

.mpc .mpc-busca__input:focus-visible {
	outline: 0;
}

.mpc .mpc-busca__input::placeholder {
	color: #6b7780;
}

.mpc-grupos {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 28px;
}

.mpc-grupo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.mpc-grupo__rot {
	font-size: 13px;
	font-weight: 600;
	color: var(--mpc-suave);
	margin-right: 2px;
}

.mpc button.mpc-filtro {
	min-height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1.5px solid var(--mpc-borda);
	background: #fff;
	color: var(--mpc-texto);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.mpc button.mpc-filtro:hover {
	border-color: var(--mpc-azul);
	background: #f0f6fa;
	color: var(--mpc-texto);
}

.mpc button.mpc-filtro[aria-pressed="true"] {
	background: var(--mpc-azul);
	border-color: var(--mpc-azul);
	color: #fff;
}

.mpc-filtro__n {
	font-size: 12px;
	font-weight: 600;
	padding: 1px 7px;
	border-radius: 999px;
	background: #eef1f3;
	color: var(--mpc-suave);
}

.mpc-filtro__n:empty {
	display: none;
}

.mpc button.mpc-filtro[aria-pressed="true"] .mpc-filtro__n {
	background: rgba(255, 255, 255, 0.22);
	color: #fff;
}

.mpc-resumo {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}

.mpc .mpc-resumo__txt {
	margin: 0;
	font-size: 14px;
	color: var(--mpc-suave);
}

.mpc-resumo__txt strong {
	color: var(--mpc-titulo);
}

.mpc button.mpc-limpar {
	border: 0;
	background: transparent;
	padding: 0 4px;
	min-height: 40px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	color: var(--mpc-azul-esc);
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
	box-shadow: none;
}

.mpc .mpc-vazio {
	margin-bottom: 12px;
}

.mpc .mpc-itens {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--mpc-linha);
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
}

.mpc .mpc-item {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--mpc-linha);
}

.mpc .mpc-item::before {
	content: none;
}

.mpc .mpc-item:first-child,
.mpc .mpc-item.is-first {
	border-top: 0;
}

.mpc a.mpc-item__link,
.mpc a.mpc-item__link:visited {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 18px 22px;
	color: var(--mpc-titulo);
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.mpc a.mpc-item__link:hover {
	background: #f7fafc;
	color: var(--mpc-titulo);
}

.mpc a.mpc-item__link:focus-visible {
	outline-offset: -3px;
}

.mpc-item__barra {
	flex: none;
	width: 4px;
	align-self: stretch;
	border-radius: 4px;
	background: var(--mpc-cor, #9aa6ae);
}

.mpc-item__corpo {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mpc-item__titulo {
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.4;
}

.mpc-item__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	font-size: 13px;
	color: var(--mpc-suave);
}

.mpc-item__link .mpc-ico {
	color: var(--mpc-suave);
}

.mpc button.mpc-mais {
	display: flex;
	width: max-content;
	margin: 20px auto 0;
}

/* ---------- Celular ---------- */

@media (max-width: 767px) {
	.mpc-hero .mpc-hero__stats {
		gap: 8px;
	}

	.mpc-hero a.mpc-hero__stat {
		padding: 14px;
	}

	.mpc-hero__num {
		font-size: 28px;
	}

	.mpc a.mpc-item__link {
		flex-wrap: wrap;
		gap: 10px 14px;
		padding: 16px;
	}

	.mpc-item__corpo {
		flex-basis: calc(100% - 40px);
	}

	.mpc-item__link .mpc-status {
		margin-left: 18px;
	}

	.mpc-item__link .mpc-ico {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mpc-hero a.mpc-hero__stat,
	.mpc a.mpc-btn,
	.mpc button.mpc-filtro,
	.mpc a.mpc-item__link {
		transition: none;
	}
}
