/* Portal da Transparência: menu lateral por assuntos, página inicial e páginas de assunto (includes/transparencia-menu.php).
   Identidade da Câmara: marinho, azul, verde e amarelo. */
.cmces-tp-layout { display: grid; grid-template-columns: minmax(232px, 268px) minmax(0, 1fr); align-items: start; gap: clamp(20px, 3vw, 40px); }
.cmces-tp-layout > .conteudo { min-width: 0; max-width: none; }

/* ---------- Menu lateral (assuntos clicáveis, sem abrir e fechar) ---------- */
.cmces-tp-side { position: sticky; top: calc(var(--cmces-header-topo, 94px) + 16px); min-width: 0; align-self: start; }
.cmces-tp-side__box { overflow: hidden; border: 1px solid var(--line, #dbe3e9); border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(6, 34, 58, .08); }
.cmces-tp-side__topo { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: radial-gradient(circle at 100% 0%, rgba(255, 230, 0, .22), transparent 55%), linear-gradient(135deg, var(--navy-950, #06223a) 0%, var(--navy-800, #0d4474) 100%); color: #fff; }
.cmces-tp-side__selo { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 14px; background: var(--yellow-500, #ffe600); color: var(--navy-950, #06223a); }
.cmces-tp-side__titulo { display: grid; line-height: 1.15; }
.cmces-tp-side__titulo small { color: rgba(255, 255, 255, .82); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.cmces-tp-side__titulo strong { font-family: var(--font-serif, Georgia, serif); font-size: 1.2rem; }
.cmces-tp-side__corpo { padding: 10px; }
.cmces-tp-side__busca { display: flex; align-items: center; margin: 0 0 8px; padding: 3px 3px 3px 14px; border: 1px solid var(--line-2, #c9d5df); border-radius: 999px; background: var(--blue-50, #f1f7fc); }
.cmces-tp-side__busca:focus-within { border-color: var(--blue-500, #1280c9); background: #fff; box-shadow: 0 0 0 4px rgba(0, 162, 232, .18); }
.cmces-tp-side__busca input { flex: 1; min-width: 0; min-height: 36px; padding: 4px 2px; border: 0; outline: 0; background: transparent; color: var(--ink, #12202b); font: inherit; font-size: .95rem; }
.cmces-tp-side__busca button { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--yellow-500, #ffe600); color: var(--navy-950, #06223a); cursor: pointer; }
.cmces-tp-side__busca button:hover { background: var(--yellow-400, #ffee4d); }
.cmces-tp-side ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.cmces-tp-side a { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; color: var(--navy-900, #0a3355); font-size: .9375rem; font-weight: 700; line-height: 1.3; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.cmces-tp-side a svg { flex: none; color: var(--blue-600, #0b5da7); }
.cmces-tp-side a:hover, .cmces-tp-side a:focus-visible { background: var(--blue-50, #f1f7fc); color: var(--blue-700, #094a85); }
.cmces-tp-side a[aria-current="page"] { background: var(--yellow-500, #ffe600); color: var(--navy-950, #06223a); font-weight: 800; }
.cmces-tp-side a[aria-current="page"] svg { color: var(--navy-950, #06223a); }
.cmces-tp-side a.is-atual { background: var(--yellow-100, #fff9c2); box-shadow: inset 4px 0 var(--yellow-500, #ffe600); color: var(--navy-950, #06223a); }

/* ---------- Página inicial ---------- */
.cmces-tp-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(220px, 1fr); gap: clamp(18px, 3vw, 32px); align-items: center; margin: 0 0 clamp(26px, 4vw, 40px); padding: clamp(20px, 3vw, 32px); border-radius: 22px; background: radial-gradient(circle at 100% 0%, rgba(255, 230, 0, .16), transparent 45%), linear-gradient(135deg, var(--navy-950, #06223a), var(--navy-800, #0d4474)); color: #fff; }
.cmces-tp-hero__kicker { margin: 0 0 8px; color: var(--yellow-500, #ffe600); font-size: .8125rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.prose .cmces-tp-hero__lead, .cmces-tp-hero__lead { margin: 0 0 18px; color: #e3edf5; font-size: 1.05rem; line-height: 1.6; }
.cmces-tp-hero__cta { display: inline-flex; align-items: center; gap: 10px; padding: 11px 20px; border-radius: 999px; background: var(--yellow-500, #ffe600); color: var(--navy-950, #06223a) !important; font-weight: 800; text-decoration: none; }
.cmces-tp-hero__cta:hover, .cmces-tp-hero__cta:focus-visible { background: #fff; }
.cmces-tp-hero__numeros { display: grid; gap: 10px; margin: 0; }
.cmces-tp-hero__numeros div { padding: 12px 16px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 14px; background: rgba(255, 255, 255, .06); }
.cmces-tp-hero__numeros dt { color: #b8cadb; font-size: .8125rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.cmces-tp-hero__numeros dd { margin: 2px 0 0; font-family: var(--font-serif, Georgia, serif); font-size: 1.35rem; font-weight: 700; color: #fff; }
.prose .cmces-tp-assuntos__titulo, .cmces-tp-assuntos__titulo { margin: 0 0 16px; font-size: clamp(1.35rem, 2vw, 1.6rem); }
.cmces-tp-assuntos { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.cmces-tp-assunto { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 20px; border: 1px solid var(--line, #dbe3e9); border-radius: 18px; background: #fff; box-shadow: 0 6px 18px rgba(6, 34, 58, .05); transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.cmces-tp-assunto:hover, .cmces-tp-assunto:focus-within { border-color: var(--blue-500, #1280c9); box-shadow: 0 12px 26px rgba(6, 34, 58, .1); transform: translateY(-2px); }
.cmces-tp-assunto__icone { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 4px; border-radius: 14px; background: var(--navy-900, #0a3355); color: var(--yellow-500, #ffe600); }
.prose .cmces-tp-assunto h3, .cmces-tp-assunto h3 { margin: 0; font-size: 1.15rem; }
.cmces-tp-assunto h3 a { color: var(--navy-900, #0a3355); text-decoration: none; }
.cmces-tp-assunto h3 a::after { position: absolute; inset: 0; border-radius: 18px; content: ""; } /* o cartão inteiro é clicável */
.prose .cmces-tp-assunto p, .cmces-tp-assunto p { flex: 1; margin: 0; color: #4a5e70; font-size: .95rem; line-height: 1.5; }
.cmces-tp-assunto__mais { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; color: var(--blue-600, #0b5da7); font-weight: 800; font-size: .9375rem; }
.cmces-tp-chip { flex: none; align-self: flex-start; padding: 2px 8px; border-radius: 999px; background: var(--green-100, #e3f2e5); color: var(--green-800, #0b5d2e); font-size: .75rem; font-weight: 800; letter-spacing: .02em; }
.cmces-tp-ajuda { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; margin-top: clamp(24px, 4vw, 36px); padding: 20px 22px; border-radius: 18px; background: var(--blue-50, #f1f7fc); border: 1px solid var(--blue-100, #dcecf8); }
.cmces-tp-ajuda__icone { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--navy-900, #0a3355); color: var(--yellow-500, #ffe600); }
.prose .cmces-tp-ajuda h2, .cmces-tp-ajuda h2 { margin: 0 0 4px; font-size: 1.2rem; }
.prose .cmces-tp-ajuda p, .cmces-tp-ajuda p { margin: 0; color: #4a5e70; }
.cmces-tp-ajuda__links { display: flex; flex-wrap: wrap; gap: 10px; }
.cmces-tp-ajuda__links a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: var(--navy-900, #0a3355); color: #fff; font-weight: 700; text-decoration: none; }
.cmces-tp-ajuda__links a.is-claro { background: #fff; color: var(--navy-900, #0a3355); border: 1px solid var(--line-2, #c9d5df); }
.cmces-tp-ajuda__links a:hover, .cmces-tp-ajuda__links a:focus-visible { background: var(--yellow-500, #ffe600); color: var(--navy-950, #06223a); }

/* ---------- Página de um assunto: as consultas em cartões ---------- */
.prose .cmces-tp-intro, .cmces-tp-intro { margin: 0 0 20px; color: #4a5e70; font-size: 1.05rem; line-height: 1.6; }
.cmces-tp-consultas { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.cmces-tp-consulta { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: 1fr auto; gap: 8px 14px; padding: 18px; border: 1px solid var(--line, #dbe3e9); border-radius: 16px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.cmces-tp-consulta:hover, .cmces-tp-consulta:focus-within { border-color: var(--blue-500, #1280c9); box-shadow: 0 10px 24px rgba(6, 34, 58, .08); }
.cmces-tp-consulta.is-propria { border-top: 4px solid var(--green-600, #2f8a3a); }
.cmces-tp-consulta__icone { grid-row: 1 / 3; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--blue-50, #f1f7fc); color: var(--blue-600, #0b5da7); }
.is-propria .cmces-tp-consulta__icone { background: var(--green-100, #e3f2e5); color: var(--green-800, #0b5d2e); }
.cmces-tp-consulta__corpo { display: grid; gap: 4px; align-content: start; }
.prose .cmces-tp-consulta h3, .cmces-tp-consulta h3 { margin: 0; font-size: 1.08rem; line-height: 1.3; }
.cmces-tp-consulta h3 a { color: var(--navy-900, #0a3355); text-decoration: none; }
.cmces-tp-consulta h3 a::after { position: absolute; inset: 0; border-radius: 16px; content: ""; }
.prose .cmces-tp-consulta p, .cmces-tp-consulta p { margin: 0; color: #4a5e70; font-size: .9375rem; line-height: 1.5; }
.cmces-tp-consulta__abrir { display: inline-flex; align-items: center; gap: 6px; color: var(--blue-600, #0b5da7); font-weight: 800; font-size: .9375rem; text-decoration: none; }

/* Notebook (1366×650 e parecidos): menu mais compacto */
@media (min-width: 961px) and (max-height: 820px) {
  .cmces-tp-side a { padding-block: 8px; }
  .cmces-tp-side__topo { padding-block: 10px; }
}
@media (max-width: 1100px) {
  .cmces-tp-hero { grid-template-columns: minmax(0, 1fr); }
  .cmces-tp-hero__numeros { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}
/* Celular e tablet: o menu vai para cima do conteúdo, com os assuntos em duas colunas */
@media (max-width: 960px) {
  .cmces-tp-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .cmces-tp-side { position: static; }
  .cmces-tp-side__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cmces-tp-side a { padding: 8px; font-size: .875rem; }
  .cmces-tp-ajuda { grid-template-columns: minmax(0, 1fr); }
  .cmces-tp-ajuda__icone { display: none; }
}
@media (max-width: 420px) {
  .cmces-tp-side__lista { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .cmces-tp-side { display: none !important; }
  .cmces-tp-layout { display: block; }
}
