.cpd {
	--cpd-primary: #0b3c73;
	--cpd-accent: #e0a526;
	--cpd-border: #dfe3e8;
	--cpd-bg: #f7f8fa;
	--cpd-text: #1f2933;
	color: var(--cpd-text);
	font-size: 15px;
	line-height: 1.55;
}

.cpd .cpd-vazio {
	padding: 24px;
	background: #fff8e5;
	border: 1px dashed var(--cpd-accent);
	border-radius: 10px;
}

/* Moldura da seção de documentos */
.cpd.cpd-docs.tem-moldura {
	padding: 32px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 28px rgba(15, 26, 38, .08);
}

@media (max-width: 640px) {
	.cpd.cpd-docs.tem-moldura { padding: 20px; }
}

/* Cabeçalho: texto à esquerda, busca à direita, filete embaixo */
.cpd .cpd-head {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--cpd-border);
}

.cpd .cpd-head h2 {
	margin: 0;
	color: var(--cpd-primary);
	font-size: 30px;   /* text-3xl */
	font-weight: 800;  /* font-extrabold */
	line-height: 1.25;
}

@media (max-width: 640px) {
	.cpd .cpd-head h2 { font-size: 24px; }
}

.cpd .cpd-head p {
	margin: 4px 0 0;
	font-size: 14px;
	color: #52606d;
}

.cpd .cpd-head-acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch; /* botão acompanha a altura real do campo de busca */
	justify-content: flex-end;
}

.cpd .cpd-busca-wrap {
	position: relative;
	flex: 0 1 288px;
}

/* Tema pode colorir/sublinhar <a> e deixar o SVG crescer: tudo é declarado aqui. */
.cpd .cpd-baixar-todos,
.cpd .cpd-baixar-todos:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: 42px; /* mesma altura do campo de busca ao lado */
	padding: 0 18px;
	border: 1px solid var(--cpd-primary);
	border-radius: 8px;
	background: transparent;
	color: var(--cpd-primary);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	box-shadow: none;
	transition: background .15s, color .15s;
}

.cpd .cpd-baixar-todos:hover,
.cpd .cpd-baixar-todos:focus {
	background: var(--cpd-primary);
	color: #fff;
	text-decoration: none;
}

.cpd .cpd-baixar-todos:focus-visible {
	outline: 2px solid var(--cpd-primary);
	outline-offset: 2px;
}

.cpd .cpd-baixar-icone {
	width: 16px;
	height: 16px;
	flex: none;
	color: currentColor;
}

@media (max-width: 640px) {
	.cpd .cpd-head-acoes { width: 100%; }
	.cpd .cpd-head-acoes .cpd-busca-wrap { flex: 1 1 100%; }
	.cpd .cpd-baixar-todos { flex: 1 1 100%; justify-content: center; }
}

.cpd .cpd-busca-icone {
	position: absolute;
	top: 50%;
	left: 12px;
	width: 16px;
	height: 16px;
	color: #6b7787;
	transform: translateY(-50%);
	pointer-events: none;
}

.cpd .cpd-busca {
	width: 100%;
	padding: 10px 14px 10px 36px;
	border: 1px solid var(--cpd-border);
	border-radius: 8px;
	background: var(--cpd-bg);
	font: inherit;
	font-size: 14px;
	color: var(--cpd-text);
}

.cpd .cpd-busca:focus {
	outline: 2px solid var(--cpd-primary);
	outline-offset: 1px;
}

/* Abas de categoria */
.cpd .cpd-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 22px 0;
}

.cpd .cpd-tab {
	padding: 8px 16px;
	border: 0;
	border-radius: 8px;
	background: #f3f4f6;   /* gray-100 */
	color: #374151;        /* gray-700 */
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s, color .15s;
}

/* :not(.is-active) — a pílula ativa não muda no hover, como no original */
.cpd .cpd-tab:not(.is-active):hover {
	background: #e5e7eb;   /* gray-200 */
	color: #374151;
}

/* a pílula ativa não muda no hover — mas precisa reafirmar contra o tema */
.cpd .cpd-tab.is-active:hover {
	background: var(--cpd-primary);
	color: #fff;
}

.cpd .cpd-tab.is-active {
	background: var(--cpd-primary);
	color: #fff;
	box-shadow: 0 3px 10px rgba(11, 60, 115, .22);
}

/* Grade de documentos: 3 / 2 / 1 coluna */
.cpd .cpd-lista {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 1024px) {
	.cpd .cpd-lista { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.cpd .cpd-lista { grid-template-columns: 1fr; }
}

.cpd.cpd-docs .cpd-item {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 20px;
	border: 1px solid var(--cpd-border);
	border-radius: 12px;
	background: #f8fafc;
	transition: border-color .15s, box-shadow .15s;
}

.cpd.cpd-docs .cpd-item:hover {
	border-color: var(--cpd-primary);
	box-shadow: 0 8px 22px rgba(11, 60, 115, .12);
	color: inherit;
}

.cpd .cpd-item-topo {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: space-between;
	align-items: flex-start;
}

.cpd .cpd-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.cpd .cpd-badge {
	padding: 3px 10px;
	border-radius: 6px;
	background: #dbeafe;
	color: var(--cpd-primary);
	font-size: 11px;
	font-weight: 700;
}

.cpd .cpd-meta {
	flex-shrink: 0;
	padding: 3px 9px;
	border: 1px solid var(--cpd-border);
	border-radius: 6px;
	background: #fff;
	font-size: 11px;
	font-weight: 600;
	color: #52606d;
	white-space: nowrap;
}

.cpd .cpd-item-titulo {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: #10202f;
}

.cpd .cpd-item-resumo {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: #52606d;
}

.cpd .cpd-item-rodape {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--cpd-border);
}

.cpd .cpd-item-data {
	font-size: 11px;
	color: #6b7787;
}

.cpd .cpd-abrir {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	border: 0;
	border-radius: 8px;
	background: var(--cpd-primary);
	color: #fff;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s;
}

.cpd .cpd-abrir:hover,
.cpd .cpd-abrir:focus,
.cpd .cpd-abrir:visited {
	color: #fff;
	text-decoration: none;
}

.cpd .cpd-abrir:hover {
	background: #082c56;
}

.cpd .cpd-abrir-icone {
	width: 14px;
	height: 14px;
	color: #fff;
}

.cpd .cpd-sem-resultado {
	padding: 32px;
	border: 1px dashed var(--cpd-border);
	border-radius: 12px;
	background: var(--cpd-bg);
	text-align: center;
}

.cpd .cpd-sem-resultado p {
	margin: 0 0 12px;
	font-weight: 600;
	color: #3e4c59;
}

.cpd .cpd-limpar {
	border: 0;
	background: none;
	color: var(--cpd-primary);
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

/* Modal de visualização */
.cpd .cpd-modal {
	width: min(1100px, 96vw);
	max-width: none;
	max-height: 94vh;
	padding: 0;
	border: 0;
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	color: var(--cpd-text);
}

.cpd .cpd-modal::backdrop {
	background: rgba(15, 26, 38, .65);
}

.cpd .cpd-modal[open] {
	display: flex;
	flex-direction: column;
}

.cpd .cpd-modal-head {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	align-items: center;
	flex-shrink: 0;
	padding: 14px 18px;
	background: var(--cpd-primary);
	color: #fff;
}

.cpd .cpd-modal-head h3 {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
}

.cpd .cpd-modal-body {
	overflow-y: auto;
	padding: 18px;
	flex: 1;
	min-height: 0;
}

.cpd .cpd-viewer {
	height: min(55vh, 520px);
	border: 1px solid var(--cpd-border);
	border-radius: 8px;
	overflow: hidden;
	background: #f4f6f8;
}

.cpd .cpd-viewer-frame {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Desktop: PDF à esquerda, formulário à direita */
@media (min-width: 900px) {
	.cpd .cpd-modal {
		width: min(1800px, 99vw);
		height: min(98vh, 1200px);
	}

	.cpd .cpd-modal[data-form="1"] .cpd-modal-body {
		display: grid;
		grid-template-columns: minmax(0, 1.6fr) minmax(360px, 0.75fr);
		gap: 20px;
		padding: 20px;
		overflow: hidden;
	}

	.cpd .cpd-modal[data-form="1"] .cpd-viewer {
		height: auto;
		min-height: 0;
		border: 1px solid var(--cpd-border);
		border-radius: 8px;
	}

	.cpd .cpd-modal[data-form="1"] .cpd-form,
	.cpd .cpd-modal[data-form="1"] .cpd-sucesso {
		margin-top: 0;
		padding: 4px 4px 4px 0;
		overflow-y: auto;
		min-height: 0;
	}

	.cpd .cpd-modal[data-form="1"] .cpd-form {
		border-top: 0;
		border-left: 4px solid var(--cpd-accent);
		padding-left: 16px;
	}

	.cpd .cpd-modal[data-form="1"] .cpd-grid {
		grid-template-columns: 1fr;
	}
}

.cpd .cpd-modal-acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
	margin-top: 18px;
}

.cpd .cpd-cancelar {
	padding: 12px 26px;
	border: 1px solid var(--cpd-border);
	border-radius: 8px;
	background: #fff;
	color: #3e4c59;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.cpd .cpd-viewer-acoes {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 13px;
}

.cpd .cpd-viewer-acoes a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--cpd-accent);
	font-weight: 700;
	text-decoration: underline;
}

.cpd .cpd-download-icone {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
	color: var(--cpd-accent);
}

.cpd .cpd-modal-head .cpd-modal-fechar {
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

/* Formulário */
.cpd .cpd-form {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 4px solid var(--cpd-accent);
}

.cpd .cpd-form h4 {
	margin: 0 0 16px;
	color: var(--cpd-primary);
	font-size: 18px;
	font-weight: 800;
}

.cpd .cpd-doc-alvo {
	margin: 0 0 18px;
	padding: 12px 14px;
	border-left: 4px solid var(--cpd-primary);
	border-radius: 6px;
	background: #eef3fa;
}

.cpd .cpd-doc-alvo span {
	display: block;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #52606d;
}

.cpd .cpd-doc-alvo strong {
	color: var(--cpd-primary);
}

.cpd .cpd-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}

.cpd .cpd-form label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #3e4c59;
}

.cpd .cpd-form input[type=text],
.cpd .cpd-form input[type=email],
.cpd .cpd-form select,
.cpd .cpd-form textarea {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 10px 12px;
	border: 1px solid var(--cpd-border);
	border-radius: 8px;
	background: var(--cpd-bg);
	font: inherit;
	font-weight: 400;
	color: var(--cpd-text);
}

.cpd .cpd-form input:focus,
.cpd .cpd-form select:focus,
.cpd .cpd-form textarea:focus {
	outline: 2px solid var(--cpd-primary);
	outline-offset: 1px;
}

.cpd .cpd-full {
	margin-top: 16px;
}

.cpd .cpd-contador {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	font-weight: 400;
	color: #6b7787;
	text-align: right;
}

.cpd .cpd-consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-top: 16px;
	padding: 14px;
	border: 1px solid var(--cpd-border);
	border-radius: 8px;
	background: var(--cpd-bg);
	font-size: 12px;
	font-weight: 400;
}

.cpd .cpd-consent input {
	margin-top: 3px;
	flex-shrink: 0;
}

.cpd .cpd-erro {
	margin: 14px 0 0;
	padding: 12px 14px;
	border-radius: 8px;
	background: #fdecec;
	color: #96201d;
	font-size: 14px;
}

.cpd .cpd-submit {
	padding: 12px 26px;
	border: 0;
	border-radius: 8px;
	background: var(--cpd-primary);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.cpd .cpd-submit[disabled] {
	opacity: .6;
	cursor: progress;
}

.cpd .cpd-sucesso {
	margin-top: 24px;
	padding: 24px;
	border: 2px solid #22a06b;
	border-radius: 12px;
	background: #eefbf4;
	text-align: center;
}

.cpd .cpd-sucesso h4 {
	margin: 0 0 6px;
	color: #10603f;
	font-size: 18px;
	font-weight: 800;
}

.cpd .cpd-sucesso .cpd-modal-fechar {
	margin-top: 18px;
	padding: 12px 26px;
	border: 0;
	border-radius: 8px;
	background: var(--cpd-primary);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}


/* ---------- Cronograma de etapas ---------- */

.cpd .cpd-crono-head {
	margin-bottom: 22px;
	padding-left: 16px;
	border-left: 4px solid var(--cpd-accent);
}

.cpd .cpd-crono-head h2 {
	margin: 0 0 4px;
	color: var(--cpd-primary);
	font-size: 30px;   /* text-3xl */
	font-weight: 800;  /* font-extrabold */
	line-height: 1.25;
}

@media (max-width: 640px) {
	.cpd .cpd-crono-head h2 { font-size: 24px; }
}

.cpd .cpd-crono-head p {
	margin: 0;
	font-size: 14px;
	color: #52606d;
}

.cpd .cpd-crono-lista {
	display: grid;
	grid-template-columns: repeat(var(--cpd-crono-cols, 4), 1fr);
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

@media (max-width: 1024px) {
	.cpd .cpd-crono-lista { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.cpd .cpd-crono-lista { grid-template-columns: 1fr; }
}

.cpd .cpd-etapa {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px;
	border: 1px solid var(--cpd-border);
	border-radius: 12px;
	background: #fff;
}

.cpd .cpd-etapa-topo {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: space-between;
}

.cpd .cpd-etapa-num {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.cpd .cpd-etapa-status {
	padding: 2px 9px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.cpd .cpd-etapa-titulo {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	color: #10202f;
}

.cpd .cpd-etapa-periodo {
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid var(--cpd-border);
	font-size: 13px;
	font-weight: 800;
}

/* Concluída — azul, discreta */
.cpd .cpd-etapa.is-concluida {
	background: #eff6ff;
	border-color: #bfdbfe;
}
.cpd .cpd-etapa.is-concluida .cpd-etapa-num,
.cpd .cpd-etapa.is-concluida .cpd-etapa-periodo { color: var(--cpd-primary); }
.cpd .cpd-etapa.is-concluida .cpd-etapa-status { background: #bfdbfe; color: var(--cpd-primary); }
.cpd .cpd-etapa.is-concluida .cpd-etapa-periodo { border-top-color: #bfdbfe; }

/* Em andamento — dourada, em destaque */
.cpd .cpd-etapa.is-andamento {
	background: #fffbeb;
	border: 2px solid var(--cpd-accent);
	box-shadow: 0 6px 18px rgba(224, 165, 38, .18);
}
.cpd .cpd-etapa.is-andamento .cpd-etapa-num,
.cpd .cpd-etapa.is-andamento .cpd-etapa-periodo { color: #92400e; }
.cpd .cpd-etapa.is-andamento .cpd-etapa-status { background: var(--cpd-accent); color: #35270a; }
.cpd .cpd-etapa.is-andamento .cpd-etapa-periodo { border-top-color: #fde68a; }

/* Agendada — índigo, neutra */
.cpd .cpd-etapa.is-agendada {
	background: #eef2ff;
	border-color: #c7d2fe;
}
.cpd .cpd-etapa.is-agendada .cpd-etapa-num,
.cpd .cpd-etapa.is-agendada .cpd-etapa-periodo { color: #3730a3; }
.cpd .cpd-etapa.is-agendada .cpd-etapa-status { background: #c7d2fe; color: #312e81; }
.cpd .cpd-etapa.is-agendada .cpd-etapa-periodo { border-top-color: #c7d2fe; }

/* Próxima — cinza médio, neutra */
.cpd .cpd-etapa.is-proxima {
	background: #f8fafc;
	border-color: #cbd5e1;
}
.cpd .cpd-etapa.is-proxima .cpd-etapa-num,
.cpd .cpd-etapa.is-proxima .cpd-etapa-periodo { color: #334155; }
.cpd .cpd-etapa.is-proxima .cpd-etapa-status { background: #cbd5e1; color: #334155; }
.cpd .cpd-etapa.is-proxima .cpd-etapa-periodo { border-top-color: #cbd5e1; }

/* Futura — cinza claro, recuada; período em itálico */
.cpd .cpd-etapa.is-futura {
	background: #f8fafc;
	border-color: #e2e8f0;
}
.cpd .cpd-etapa.is-futura .cpd-etapa-num { color: #94a3b8; }
.cpd .cpd-etapa.is-futura .cpd-etapa-status { background: #e2e8f0; color: #64748b; }
.cpd .cpd-etapa.is-futura .cpd-etapa-periodo {
	border-top-color: #e2e8f0;
	color: #94a3b8;
	font-style: italic;
}

/* Realizado — azul um pouco mais vivo que Concluída */
.cpd .cpd-etapa.is-realizado {
	background: #eff6ff;
	border-color: #bfdbfe;
}
.cpd .cpd-etapa.is-realizado .cpd-etapa-num,
.cpd .cpd-etapa.is-realizado .cpd-etapa-periodo { color: #1d4ed8; }
.cpd .cpd-etapa.is-realizado .cpd-etapa-status { background: #bfdbfe; color: #1e3a8a; }
.cpd .cpd-etapa.is-realizado .cpd-etapa-periodo { border-top-color: #bfdbfe; }

/* ---------- FAQ ---------- */

.cpd .cpd-faq-barra {
	margin-bottom: 20px;
}

.cpd .cpd-faq-barra.tem-moldura {
	padding: 24px 28px;
	border: 1px solid var(--cpd-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(15, 26, 38, .06);
}

.cpd .cpd-faq-topo {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: space-between;
	align-items: center;
}

.cpd .cpd-faq-topo .cpd-busca-wrap {
	flex: 0 1 390px;
}

/* campo mais alto e com mais respiro que o da listagem de documentos */
.cpd.cpd-faq .cpd-busca {
	padding: 13px 38px 13px 42px;
	border-radius: 10px;
	font-size: 14px;
}

.cpd.cpd-faq .cpd-busca-icone {
	left: 15px;
	width: 18px;
	height: 18px;
	color: #3e4c59;
}

.cpd .cpd-faq-acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.cpd .cpd-faq-acoes {
	gap: 10px;
}

.cpd .cpd-faq-acoes button {
	padding: 12px 16px;
	border: 1px solid #e2e6ec;
	border-radius: 9px;
	background: #fff;
	color: #3e4c59;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	transition: background .15s, border-color .15s;
}

.cpd .cpd-faq-acoes button:hover {
	background: #f6f8fa;
	border-color: #cbd5e1;
	color: #3e4c59;
}

.cpd .cpd-faq-expandir {
	background: #eff6ff !important;
	border-color: #bfdbfe !important;
	color: var(--cpd-primary) !important;
}

.cpd .cpd-faq-expandir:hover {
	background: #dbeafe !important;
	color: var(--cpd-primary) !important;
}

.cpd .cpd-faq-filtros {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #f1f3f6;
}

.cpd .cpd-faq-filtros-titulo {
	margin: 0 0 10px;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #6b7787;
}

.cpd .cpd-faq-filtros .cpd-tabs {
	margin: 0;
}

.cpd .cpd-faq-filtros .cpd-tab {
	font-size: 12px;
	padding: 9px 14px;
}

.cpd .cpd-faq-contador {
	margin: 14px 0 0;
	padding-top: 12px;
	border-top: 1px solid #f1f3f6;
	font-size: 12px;
	color: #6b7787;
}

.cpd .cpd-faq-lista {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cpd .cpd-faq-item {
	border: 1px solid var(--cpd-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(15, 26, 38, .05);
	transition: border-color .15s, box-shadow .15s;
	/* recorta o fundo do <summary> pela forma arredondada; sem isso o hover
	   pinta cantos retos por cima do raio do card */
	overflow: hidden;
}

.cpd .cpd-faq-item[open] {
	border-color: var(--cpd-primary);
	box-shadow: 0 6px 20px rgba(11, 60, 115, .13);
}

.cpd .cpd-faq-pergunta {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 18px 20px;
	cursor: pointer;
	list-style: none;
}

/* tira o triângulo padrão do <details> */
.cpd .cpd-faq-pergunta::-webkit-details-marker { display: none; }
.cpd .cpd-faq-pergunta::marker { content: ''; }

.cpd .cpd-faq-pergunta:hover {
	background: #f8fafc;
	color: inherit;
}

.cpd .cpd-faq-num {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid #bfdbfe;
	border-radius: 8px;
	background: #eff6ff;
	color: var(--cpd-primary);
	font-size: 12px;
	font-weight: 800;
}

.cpd .cpd-faq-pergunta h3 {
	flex: 1;
	margin: 0;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	color: #10202f;
}

.cpd .cpd-faq-seta {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin-top: 4px;
	color: #6b7787;
	transition: transform .2s, color .2s;
}

.cpd .cpd-faq-item[open] .cpd-faq-seta {
	color: var(--cpd-primary);
	transform: rotate(90deg);
}

.cpd .cpd-faq-resposta {
	padding: 4px 20px 20px 60px;
	border-top: 1px solid #f1f3f6;
	font-size: 14px;
	line-height: 1.7;
	color: #374151;
}

.cpd .cpd-faq-resposta > *:first-child { margin-top: 14px; }

.cpd .cpd-faq-resposta p { margin: 0 0 12px; }
.cpd .cpd-faq-resposta p:last-child { margin-bottom: 0; }

.cpd .cpd-faq-resposta ul,
.cpd .cpd-faq-resposta ol {
	margin: 0 0 12px;
	padding-left: 20px;
}

.cpd .cpd-faq-resposta li { margin-bottom: 8px; }

/* caixas de destaque vindas do conteúdo original */
.cpd .cpd-faq-destaque,
.cpd .cpd-faq-nota,
.cpd .cpd-faq-ok {
	margin: 12px 0;
	padding: 12px 14px;
	border-left: 4px solid;
	border-radius: 0 8px 8px 0;
	font-size: 13px;
	font-weight: 600;
}

.cpd .cpd-faq-destaque { border-color: var(--cpd-accent); background: #fffbeb; color: #92400e; }
.cpd .cpd-faq-nota { border-color: var(--cpd-primary); background: #eff6ff; color: #0b3c73; }
.cpd .cpd-faq-ok { border-color: #10b981; background: #ecfdf5; color: #065f46; }

@media (max-width: 640px) {
	.cpd .cpd-faq-resposta { padding-left: 20px; }
	.cpd .cpd-faq-barra.tem-moldura { padding: 18px; }
}

/* O <li> do FAQ é só o gancho do filtro — o card é o <details> de dentro. */
.cpd.cpd-faq .cpd-item {
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

/* ícones das pílulas de categoria */
.cpd .cpd-tab {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.cpd .cpd-tab-icone {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
	opacity: .85;
}

/* botão de limpar dentro do campo de busca */
.cpd .cpd-busca-wrap {
	position: relative;
}

.cpd .cpd-busca-limpar {
	position: absolute;
	top: 50%;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #e4e8ee;
	color: #52606d;
	font-size: 11px;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
}

.cpd .cpd-busca-limpar:hover {
	background: #cbd5e1;
	color: #52606d;
}

/* esconde o ✕ nativo do input[type=search] para não duplicar */
.cpd .cpd-busca::-webkit-search-cancel-button { display: none; }

.cpd .cpd-faq-imprimir {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.cpd .cpd-faq-imprimir svg {
	width: 14px;
	height: 14px;
}

/* na impressão: só o FAQ, tudo aberto, sem controles */
@media print {
	.cpd .cpd-faq-barra { display: none; }
	.cpd .cpd-faq-item { break-inside: avoid; border-color: #ccc; box-shadow: none; }
	.cpd .cpd-faq-seta { display: none; }
}

/* O filtro esconde itens com o atributo [hidden]. Regra de autor com `display`
   vence a folha do navegador, então a anulação precisa ser explícita aqui. */
.cpd [hidden] {
	display: none !important;
}

/* Estado vazio do FAQ — escopado para não mexer no dos documentos */
.cpd.cpd-faq .cpd-sem-resultado {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	padding: 44px 32px;
	border: 2px dashed #d7dce3;
	border-radius: 14px;
	background: #fff;
	text-align: center;
}

.cpd.cpd-faq .cpd-sem-icone {
	width: 40px;
	height: 40px;
	margin-bottom: 16px;
	color: #3e4c59;
}

.cpd.cpd-faq .cpd-sem-titulo {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 800;
	color: #1f2933;
}

.cpd.cpd-faq .cpd-sem-dica {
	margin: 0 0 18px;
	max-width: 560px;
	font-size: 13px;
	line-height: 1.6;
	color: #6b7787;
}

.cpd.cpd-faq .cpd-limpar {
	padding: 11px 22px;
	border: 0;
	border-radius: 8px;
	background: var(--cpd-primary);
	color: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s;
}

.cpd.cpd-faq .cpd-limpar:hover {
	background: #082c56;
	color: #fff;
}

/* -------------------------------------------------------------------------
 * Hover de todo botão do plugin.
 *
 * Sempre com `background` E `color`: declarar só o fundo deixa a cor do texto
 * exposta ao `button:hover` do tema, que vence a regra base por especificidade.
 * ---------------------------------------------------------------------- */

.cpd .cpd-cancelar:hover {
	background: #f1f3f6;
	border-color: #cbd5e1;
	color: #3e4c59;
}

.cpd .cpd-submit:hover {
	background: #082c56;
	color: #fff;
}

.cpd .cpd-submit[disabled]:hover {
	background: var(--cpd-primary);
	color: #fff;
}

.cpd .cpd-modal-head .cpd-modal-fechar:hover {
	background: rgba(255, 255, 255, .16);
	color: #fff;
}

.cpd .cpd-sucesso .cpd-modal-fechar:hover {
	background: #082c56;
	color: #fff;
}

.cpd .cpd-limpar:hover {
	background: none;
	color: #082c56;
}

.cpd.cpd-faq .cpd-limpar:hover {
	background: #082c56;
	color: #fff;
}
