/* PC Conteúdos — telas públicas. Usa as variáveis do tema (com reserva). */

.pcc-filtros { background: var(--papel, #fff); border: 1px solid var(--linha, #d8dee6); border-radius: 8px; padding: 1rem 1.2rem; margin-bottom: 1.5rem; }
.pcc-filtros__grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .4rem 1rem; }
.pcc-filtros p { margin: 0 0 .6rem; }
.pcc-filtros label { display: block; font-size: .875rem; font-weight: 600; margin-bottom: .2rem; }
.pcc-filtros input, .pcc-filtros select { width: 100%; font: inherit; padding: .5rem .6rem; border: 1px solid var(--linha, #d8dee6); border-radius: 6px; min-height: 42px; background: var(--papel, #fff); color: var(--texto, #1b2733); }

.pcc-total { color: var(--suave, #55616e); font-size: .9rem; }
.pcc-lista { list-style: none; margin: 0; padding: 0; }
.pcc-item { background: var(--papel, #fff); border: 1px solid var(--linha, #d8dee6); border-left: 4px solid var(--dourado, #c9a227); border-radius: 8px; padding: .9rem 1.1rem; margin-bottom: .8rem; }
.pcc-item h3 { margin: 0 0 .2rem; font-size: 1.05rem; }
.pcc-item p { margin: .2rem 0; }
.pcc-meta { color: var(--suave, #55616e); font-size: .875rem; }

.pcc-selo { display: inline-block; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: .1rem .6rem; border-radius: 99px; background: #e6eef7; color: #0b2a4a; vertical-align: middle; border: 1px solid currentColor; }
.pcc-selo--sit-aberto, .pcc-selo--sit-em-andamento, .pcc-selo--sit-vigente { background: #e3f4e8; color: #0a5c24; }
.pcc-selo--sit-suspenso, .pcc-selo--sit-retificado, .pcc-selo--sit-a-vencer { background: #fff1d6; color: #7a4a00; }
.pcc-selo--sit-anulado, .pcc-selo--sit-revogado, .pcc-selo--sit-cancelada, .pcc-selo--sit-deserta, .pcc-selo--sit-fracassada, .pcc-selo--sit-vencido { background: #fbe4e4; color: #8a1c1c; }

.pcc-dados { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .8rem 1.5rem; margin: 1rem 0 1.5rem; }
.pcc-dados dt { font-size: .8125rem; text-transform: uppercase; letter-spacing: .04em; color: var(--suave, #55616e); }
.pcc-dados dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }

.pcc-tabela { width: 100%; border-collapse: collapse; margin: .5rem 0 1.2rem; }
.pcc-tabela th, .pcc-tabela td { border: 1px solid var(--linha, #d8dee6); padding: .5rem .7rem; text-align: left; }
.pcc-tabela th { background: var(--fundo, #f4f6f9); }

.pcc-arquivos { list-style: none; margin: 0 0 1.2rem; padding: 0; }
.pcc-arquivos li { padding: .4rem 0; border-bottom: 1px solid var(--linha, #d8dee6); }
.pcc-destaque { background: #fff8e0; padding-inline: .5rem; }
.pcc-baixar::before { content: '⬇ '; }

.pcc-tempo { list-style: none; margin: 1rem 0; padding: 0 0 0 1.2rem; border-left: 3px solid var(--dourado, #c9a227); }
.pcc-tempo li { position: relative; padding: 0 0 1rem 1rem; }
.pcc-tempo li::before { content: ''; position: absolute; left: -1.75rem; top: .35rem; width: 14px; height: 14px; border-radius: 50%; background: var(--azul, #0b2a4a); border: 3px solid var(--papel, #fff); box-shadow: 0 0 0 2px var(--dourado, #c9a227); }
.pcc-tempo time { display: block; font-size: .8125rem; color: var(--suave, #55616e); }
.pcc-tempo span { display: block; }

.pcc-capa { margin-block: 1rem 2rem; }

/* --- vereadores, pauta, perfil -------------------------------------------- */
.pcc-vereadores { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 1rem; }
.pcc-vereador a { display: block; text-align: center; text-decoration: none; background: var(--papel, #fff); border: 1px solid var(--linha, #d8dee6); border-radius: 8px; padding: .8rem .6rem 1rem; height: 100%; }
.pcc-vereador a:hover { border-color: var(--azul, #0b2a4a); }
.pcc-vereador__foto { display: block; width: 110px; aspect-ratio: 1; margin: 0 auto .6rem; border-radius: 50%; overflow: hidden; }
.pcc-vereador__foto img, .pcc-avatar { width: 100%; height: 100%; object-fit: cover; display: block; }
.pcc-vereador__nome { display: block; font-weight: 700; color: var(--azul, #0b2a4a); }
.pcc-vereador__info { display: block; font-size: .8125rem; color: var(--suave, #55616e); }
.pcc-perfil { display: flex; gap: 1.5rem; align-items: flex-start; flex-wrap: wrap; }
.pcc-perfil__foto { width: 160px; aspect-ratio: 1; border-radius: 12px; overflow: hidden; flex: none; }
.pcc-perfil > div:last-child { flex: 1; min-width: 240px; }
.pcc-legislatura { margin-bottom: 2rem; }
.pcc-pauta { padding-left: 1.2rem; }
.pcc-pauta li { margin-bottom: .6rem; }
.pcc-resultado { color: #0a5c24; font-weight: 600; font-size: .9rem; }
.pcc-video { max-width: 760px; margin: 1rem 0 1.5rem; }
.pcc-selo--prop-aprovado, .pcc-selo--prop-sancionado, .pcc-selo--lei-vigente { background: #e3f4e8; color: #0a5c24; }
.pcc-selo--prop-tramitacao, .pcc-selo--lei-alterada { background: #fff1d6; color: #7a4a00; }
.pcc-selo--prop-rejeitado, .pcc-selo--prop-vetado, .pcc-selo--lei-revogada { background: #fbe4e4; color: #8a1c1c; }
/* --- formulários do cidadão ------------------------------------------------ */
.pcc-form { background: var(--papel, #fff); border: 1px solid var(--linha, #d8dee6); border-radius: 8px; padding: 1.2rem 1.4rem; max-width: 760px; }
.pcc-form__grupo { margin: 1.2rem 0 .4rem; font-size: 1.05rem; border-bottom: 1px solid var(--linha, #d8dee6); padding-bottom: .2rem; }
.pcc-campo-f { margin: 0 0 .9rem; }
.pcc-campo-f label { display: block; font-weight: 600; font-size: .9375rem; margin-bottom: .25rem; }
.pcc-campo-f input[type=text], .pcc-campo-f input[type=email], .pcc-campo-f input[type=tel], .pcc-campo-f input[type=file], .pcc-campo-f select, .pcc-campo-f textarea {
  width: 100%; font: inherit; padding: .55rem .7rem; border: 1px solid #8a96a3; border-radius: 6px; background: var(--papel, #fff); color: var(--texto, #1b2733); min-height: 44px;
}
.pcc-campo-f--check label { font-weight: 400; display: flex; gap: .5rem; align-items: flex-start; }
.pcc-campo-f--check input { margin-top: .3rem; flex: none; width: 1.1rem; height: 1.1rem; }
.pcc-obrig { color: #b32d2e; }
.pcc-erro-campo { display: block; color: #b32d2e; font-size: .875rem; margin-top: .2rem; }
.pcc-campo-f [aria-invalid="true"] { border-color: #b32d2e; }
.pcc-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pcc-aviso { border-radius: 8px; padding: .9rem 1.2rem; margin-bottom: 1rem; border: 1px solid; }
.pcc-aviso--erro { background: #fbe4e4; color: #6b1414; border-color: #e3a3a3; }
.pcc-aviso--ok { background: #e3f4e8; color: #0a4a1e; border-color: #9fd3ae; }
.pcc-aviso ul { margin: .3rem 0 0; padding-left: 1.2rem; }
.pcc-protocolo { font-size: 1.3rem; letter-spacing: .04em; }
.pcc-resposta { background: var(--fundo, #f4f6f9); border-left: 4px solid var(--azul, #0b2a4a); padding: .8rem 1rem; border-radius: 4px; }
.pcc-consulta { margin-top: 2rem; }
.g-recaptcha { margin: .5rem 0 1rem; }
.alto-contraste .pcc-form, .alto-contraste .pcc-campo-f input, .alto-contraste .pcc-campo-f select, .alto-contraste .pcc-campo-f textarea { background: #000; color: #fff; border-color: #fff; }
.alto-contraste .pcc-aviso { background: #000; color: #fff; border-color: #ff0; }

/* --- calendário, fotos, contas -------------------------------------------- */
.pcc-cal { background: var(--papel, #fff); border: 1px solid var(--linha, #d8dee6); border-radius: 8px; padding: .8rem; margin-bottom: 1.5rem; }
.pcc-cal__nav { display: flex; justify-content: space-between; align-items: center; margin-bottom: .6rem; }
.pcc-cal__tabela { width: 100%; border-collapse: collapse; table-layout: fixed; }
.pcc-cal__tabela th { font-size: .8125rem; padding: .3rem; background: var(--fundo, #f4f6f9); }
.pcc-cal__tabela td { border: 1px solid var(--linha, #d8dee6); vertical-align: top; height: 4.2rem; padding: .2rem .3rem; font-size: .8125rem; overflow: hidden; }
.pcc-cal__tabela td.vazio { background: var(--fundo, #f4f6f9); }
.pcc-cal__tabela td.hoje .dia { background: var(--azul, #0b2a4a); color: #fff; border-radius: 50%; padding: 0 .35rem; }
.pcc-cal__tabela td.tem-evento { background: #fff8e0; }
.pcc-cal__evento { display: block; font-size: .75rem; line-height: 1.2; margin-top: .15rem; font-weight: 600; }
.pcc-agenda-capa { margin-block: 1rem 2rem; }
.pcc-agenda-capa__grade { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.5rem; align-items: start; }
.pcc-albuns { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.2rem; }
.pcc-fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; margin-top: 1rem; }
.pcc-fotos figure { margin: 0; }
.pcc-fotos img { width: 100%; height: auto; border-radius: 6px; display: block; }
.pcc-fotos figcaption { font-size: .875rem; padding-top: .3rem; }
.pcc-fotos figcaption .pcc-meta, .pcc-fotos figcaption a { display: block; }
.pcc-conta h2 { border-bottom: 3px solid var(--dourado, #c9a227); display: inline-block; padding-bottom: .2rem; }
.pcc-conta h3 { margin: 1rem 0 .3rem; font-size: 1.05rem; }
@media (max-width: 800px) { .pcc-agenda-capa__grade { grid-template-columns: 1fr; } .pcc-cal__tabela td { height: 3.2rem; } .pcc-cal__evento { font-size: .6875rem; } }
.alto-contraste .pcc-cal, .alto-contraste .pcc-cal__tabela td { border-color: #fff; background: #000; }
.alto-contraste .pcc-cal__tabela td.tem-evento { background: #000; outline: 2px solid #ff0; }
.alto-contraste .pcc-vereador a { border-color: #fff; background: #000; }
.alto-contraste .pcc-vereador__nome { color: #ff0; }
.alto-contraste .pcc-item, .alto-contraste .pcc-filtros { border-color: #fff; }
.alto-contraste .pcc-selo { background: #000; color: #ff0; border-color: #ff0; }
.alto-contraste .pcc-destaque { background: #000; border: 1px solid #ff0; }
