/*
Theme Name: UFMRC
Description: Tema da União de Freguesias de Monte Real e Carvide – estilo "serviço público moderno". Leve, acessível (objetivo WCAG 2.1 AA), sem recursos externos (tipo de letra Inter alojado no tema, licença OFL). Requer o plugin "UFMRC – Núcleo do site".
Version: 0.2.0
Requires PHP: 7.4
Requires at least: 6.5
Text Domain: ufmrc
*/

@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("assets/fontes/inter-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("assets/fontes/inter-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
	--primaria: #4b1d6e;         /* púrpura do brasão */
	--primaria-escura: #2a0f40;
	--primaria-media: #6a3a90;
	--primaria-clara: #f2ecf7;
	--primaria-borda: #dccdea;
	--ouro: #c99a1e;             /* destaque (decorativo) */
	--ouro-claro: #fbf3dc;
	--texto: #1b1a21;
	--texto-suave: #575264;
	--fundo: #ffffff;
	--fundo-alt: #f7f5fa;
	--linha: #e3dee9;
	--foco: #ffbf47;
	--ok: #1f6b3a;
	--raio: 12px;
	--raio-p: 8px;
	--largura: 1200px;
	--sombra: 0 1px 2px rgba(27, 14, 40, .05), 0 6px 20px rgba(27, 14, 40, .07);
	--letra: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--letra); font-size: 1.0625rem; line-height: 1.6; color: var(--texto); background: var(--fundo); font-feature-settings: "cv11", "ss01"; }
img { max-width: 100%; height: auto; }
a { color: var(--primaria); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--primaria-escura); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--foco); outline-offset: 2px; border-radius: 3px; }
h1, h2, h3, h4 { line-height: 1.2; color: var(--primaria-escura); margin: 1.6em 0 .5em; letter-spacing: -.015em; font-weight: 750; }
h1 { font-size: clamp(1.9rem, 1.3rem + 2.2vw, 2.9rem); margin-top: 0; letter-spacing: -.025em; }
h2 { font-size: clamp(1.4rem, 1.15rem + 1vw, 1.9rem); }
h3 { font-size: 1.15rem; }
p, ul, ol { margin: 0 0 1em; }
.contentor { width: min(100% - 32px, var(--largura)); margin-inline: auto; }
.estreito { width: min(100% - 32px, 800px); margin-inline: auto; }
.visualmente-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.saltar { position: absolute; left: 16px; top: -60px; background: var(--primaria); color: #fff; padding: 10px 16px; border-radius: 0 0 8px 8px; z-index: 100; }
.saltar:focus { top: 0; color: #fff; }
.seta::after { content: "→"; margin-left: .35em; transition: transform .15s; display: inline-block; }
a:hover .seta::after, .seta:hover::after { transform: translateX(3px); }

/* Aviso de ambiente de teste */
.aviso-teste { background: var(--ouro-claro); color: #3d2e00; font-size: .875rem; padding: 7px 0; text-align: center; border-bottom: 1px solid #ecd892; }
.aviso-teste a { color: #3d2e00; font-weight: 600; }

/* Barra de utilidades */
.barra-topo { background: var(--fundo-alt); border-bottom: 1px solid var(--linha); font-size: .85rem; color: var(--texto-suave); }
.barra-topo .contentor { display: flex; flex-wrap: wrap; gap: 2px 22px; justify-content: space-between; padding: 7px 0; }
.barra-topo .grupo { display: flex; flex-wrap: wrap; gap: 2px 20px; }
.barra-topo a { color: var(--texto); text-decoration: none; }
.barra-topo a:hover { color: var(--primaria); text-decoration: underline; }
.barra-topo b { font-weight: 600; color: var(--texto-suave); }

/* Cabeçalho */
.cabecalho { background: #fff; border-bottom: 1px solid var(--linha); position: sticky; top: 0; z-index: 20; }
.cabecalho .contentor { display: flex; align-items: center; gap: 18px; min-height: 80px; }
.marca { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--primaria-escura); margin-right: auto; }
.marca img { width: 50px; height: auto; }
.marca-texto { display: flex; flex-direction: column; line-height: 1.12; }
.marca-texto small { font-size: .78rem; color: var(--texto-suave); font-weight: 500; }
.marca-texto strong { font-size: 1.15rem; font-weight: 750; letter-spacing: -.01em; }
.botao-menu { display: none; align-items: center; gap: 8px; background: var(--primaria); color: #fff; border: 0; border-radius: var(--raio-p); padding: 10px 14px; font: inherit; font-weight: 600; cursor: pointer; }
.botao-menu .icone { width: 18px; height: 2px; background: currentColor; position: relative; }
.botao-menu .icone::before, .botao-menu .icone::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: currentColor; }
.botao-menu .icone::before { top: -6px; } .botao-menu .icone::after { top: 6px; }

/* Menu principal */
.navegacao ul { list-style: none; margin: 0; padding: 0; }
.navegacao > ul { display: flex; gap: 0; }
.navegacao a, .navegacao .sub-botao { display: block; padding: 10px 11px; text-decoration: none; color: var(--texto); font-weight: 600; font-size: .98rem; border-radius: var(--raio-p); }
.navegacao li { position: relative; }
.navegacao > ul > li > a { position: relative; }
.navegacao > ul > li > a::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 2px; height: 3px; border-radius: 3px; background: transparent; }
.navegacao > ul > li > a:hover::after, .navegacao > ul > li.current-menu-item > a::after, .navegacao > ul > li.current-menu-ancestor > a::after, .navegacao > ul > li.current-page-ancestor > a::after { background: var(--primaria); }
.navegacao > ul > li > a:hover { color: var(--primaria); }
.navegacao .menu-item-has-children { display: flex; align-items: center; }
.navegacao .sub-botao { background: none; border: 0; padding: 10px 8px 10px 0; margin-left: -8px; cursor: pointer; color: var(--texto-suave); font: inherit; }
.navegacao .sub-botao::after { content: ""; display: inline-block; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); }
.navegacao li.aberto > .sub-botao::after { transform: translateY(1px) rotate(-135deg); }
.navegacao .sub-menu { display: none; position: absolute; top: calc(100% + 6px); left: 0; min-width: 270px; background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra); padding: 8px; z-index: 30; }
.navegacao .sub-menu a { font-weight: 500; padding: 9px 12px; }
.navegacao .sub-menu a:hover { background: var(--primaria-clara); color: var(--primaria); }
.navegacao .sub-menu.largo { min-width: 540px; columns: 2; column-gap: 8px; }
.navegacao .sub-menu.largo li { break-inside: avoid; }
.navegacao li.aberto > .sub-menu { display: block; }
.navegacao > ul > li:nth-last-child(-n+3) .sub-menu { left: auto; right: 0; }

/* Pesquisa e botões */
.pesquisa { display: flex; gap: 0; background: #fff; border: 2px solid var(--primaria); border-radius: var(--raio); overflow: hidden; }
.pesquisa input[type=search] { min-width: 0; flex: 1; padding: 14px 16px; font: inherit; border: 0; background: transparent; }
.pesquisa input[type=search]:focus { outline: none; }
.pesquisa:focus-within { outline: 3px solid var(--foco); outline-offset: 2px; }
.pesquisa button { display: inline-flex; align-items: center; gap: 8px; background: var(--primaria); color: #fff; border: 0; padding: 0 22px; font: inherit; font-weight: 650; cursor: pointer; }
.pesquisa button:hover { background: var(--primaria-escura); }
.botao { display: inline-flex; align-items: center; gap: 8px; background: var(--primaria); color: #fff; border: 2px solid var(--primaria); border-radius: var(--raio-p); padding: 10px 18px; font: inherit; font-weight: 650; text-decoration: none; cursor: pointer; }
.botao:hover { background: var(--primaria-escura); border-color: var(--primaria-escura); color: #fff; }
.botao.secundario { background: #fff; color: var(--primaria); }
.botao.secundario:hover { background: var(--primaria-clara); color: var(--primaria-escura); }

@media (max-width: 1100px) {
	.botao-menu { display: inline-flex; }
	.navegacao { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--linha); box-shadow: var(--sombra); max-height: calc(100vh - 110px); overflow: auto; }
	.navegacao.aberto { display: block; }
	.navegacao > ul { flex-direction: column; padding: 8px 16px 16px; }
	.navegacao > ul > li > a::after { display: none; }
	.navegacao .menu-item-has-children { flex-wrap: wrap; justify-content: space-between; }
	.navegacao .menu-item-has-children > a { flex: 1; }
	.navegacao .sub-botao { margin: 0; padding: 10px 14px; }
	.navegacao .sub-menu, .navegacao .sub-menu.largo { position: static; flex-basis: 100%; box-shadow: none; border: 0; border-left: 3px solid var(--primaria-borda); border-radius: 0; min-width: 0; columns: 1; margin: 0 0 6px 10px; padding: 0 0 0 8px; }
}

/* ======================= Página inicial ======================= */
.entrada { background: var(--primaria-clara); border-bottom: 1px solid var(--primaria-borda); }
.entrada .contentor { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 48px; align-items: center; padding: 56px 0; }
.entrada .antetitulo { font-weight: 650; color: var(--primaria-media); font-size: .95rem; margin: 0 0 10px; display: flex; align-items: center; gap: 10px; }
.entrada .antetitulo img { width: 34px; }
.entrada h1 { margin-bottom: 14px; }
.entrada .introducao { font-size: 1.15rem; color: var(--texto-suave); margin-bottom: 24px; max-width: 34em; }
.frequentes { margin: 14px 0 0; font-size: .92rem; color: var(--texto-suave); display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; }
.frequentes a { background: #fff; border: 1px solid var(--primaria-borda); border-radius: 999px; padding: 4px 12px; text-decoration: none; font-weight: 550; }
.frequentes a:hover { border-color: var(--primaria); }
.entrada figure { margin: 0; position: relative; }
.entrada figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; display: block; box-shadow: var(--sombra); }
.entrada figcaption { position: absolute; left: 14px; bottom: 14px; background: rgba(27, 14, 40, .78); color: #fff; font-size: .82rem; padding: 5px 10px; border-radius: 6px; }
@media (max-width: 860px) { .entrada .contentor { grid-template-columns: 1fr; gap: 28px; padding: 36px 0; } .entrada figure img { aspect-ratio: 16 / 9; } }

.seccao { padding: 56px 0; }
.seccao.alt { background: var(--fundo-alt); border-block: 1px solid var(--linha); }
.seccao-cab { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 8px 16px; margin-bottom: 22px; }
.seccao-cab h2 { margin: 0; }
.seccao-cab p { margin: 4px 0 0; color: var(--texto-suave); }
.seccao-cab > a { font-weight: 600; text-decoration: none; }

/* Serviços */
.servicos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 980px) { .servicos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .servicos { grid-template-columns: 1fr; } }
.servico a { display: grid; grid-template-columns: 48px 1fr; grid-template-rows: auto 1fr; column-gap: 14px; height: 100%; padding: 18px; background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); text-decoration: none; color: var(--texto); transition: border-color .15s, box-shadow .15s, transform .15s; }
.servico a:hover { border-color: var(--primaria); box-shadow: var(--sombra); transform: translateY(-2px); color: var(--texto); }
.servico .icone { grid-row: 1 / 3; width: 48px; height: 48px; border-radius: 12px; background: var(--primaria); color: #fff; display: grid; place-items: center; }
.servico .icone svg { width: 26px; height: 26px; }
.servico strong { font-size: 1.04rem; color: var(--primaria-escura); line-height: 1.3; }
.servico small { color: var(--texto-suave); font-size: .9rem; line-height: 1.4; margin-top: 4px; }
.servico.destaque .icone { background: var(--ouro); color: #2a1d00; }

/* Avisos importantes */
.avisos { background: #fff; border: 1px solid var(--linha); border-left: 6px solid var(--ouro); border-radius: var(--raio); padding: 18px 22px; display: grid; grid-template-columns: 200px 1fr; gap: 10px 24px; }
.avisos h2 { font-size: 1.15rem; margin: 4px 0 0; }
.avisos h2 small { display: block; font-size: .85rem; font-weight: 500; color: var(--texto-suave); margin-top: 6px; letter-spacing: 0; }
.avisos .lista-docs { margin: 0; }
.avisos .doc:last-child { border-bottom: 0; }
@media (max-width: 760px) { .avisos { grid-template-columns: 1fr; } }

/* Notícias: uma em destaque + lista */
.noticias-grelha { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 28px; }
@media (max-width: 900px) { .noticias-grelha { grid-template-columns: 1fr; } }
.noticia-destaque { position: relative; }
.noticia-destaque .img { aspect-ratio: 16 / 9; border-radius: var(--raio); overflow: hidden; background: var(--primaria-clara); }
.noticia-destaque img { width: 100%; height: 100%; object-fit: cover; display: block; }
.noticia-destaque h3 { font-size: 1.45rem; margin: 16px 0 6px; }
.noticia-destaque h3 a { text-decoration: none; color: var(--primaria-escura); }
.noticia-destaque h3 a::after { content: ""; position: absolute; inset: 0; }
.noticia-destaque h3 a:hover { text-decoration: underline; }
.noticia-destaque p { color: var(--texto-suave); margin: 0; }
.noticias-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.noticia-item { display: grid; grid-template-columns: 112px 1fr; gap: 14px; align-items: center; padding: 10px; border-radius: var(--raio); position: relative; }
.noticia-item:hover { background: var(--fundo-alt); }
.noticia-item .img { aspect-ratio: 4 / 3; border-radius: var(--raio-p); overflow: hidden; background: var(--primaria-clara); }
.noticia-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.noticia-item h3 { font-size: 1rem; margin: 0 0 4px; line-height: 1.35; }
.noticia-item h3 a { text-decoration: none; color: var(--texto); }
.noticia-item h3 a::after { content: ""; position: absolute; inset: 0; }
.noticia-item h3 a:hover { color: var(--primaria); text-decoration: underline; }
.data-pequena { font-size: .85rem; color: var(--texto-suave); font-weight: 500; }

/* Atendimento */
.atendimento { background: var(--primaria-escura); color: #efe7f6; border-radius: var(--raio); padding: 24px; }
.atendimento h2 { color: #fff; font-size: 1.25rem; margin: 0 0 14px; }
.atendimento h3 { color: #fff; font-size: 1rem; margin: 16px 0 4px; }
.atendimento p { margin: 0; font-size: .95rem; }
.atendimento a { color: #fff; font-weight: 600; }
.atendimento .botao { margin-top: 18px; background: #fff; color: var(--primaria-escura); border-color: #fff; }
.atendimento .botao:hover { background: var(--primaria-clara); }

/* Mosaico da freguesia */
.mosaico { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 220px 220px; gap: 14px; }
.mosaico li:first-child { grid-row: 1 / 3; }
.mosaico li { position: relative; border-radius: var(--raio); overflow: hidden; background: var(--primaria-escura); }
.mosaico img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.mosaico li:hover img { transform: scale(1.04); }
.mosaico a { position: absolute; inset: auto 0 0 0; padding: 40px 18px 16px; color: #fff; font-weight: 700; font-size: 1.15rem; text-decoration: none; background: linear-gradient(transparent, rgba(20, 8, 30, .85)); }
.mosaico a::before { content: ""; position: absolute; inset: -400px 0 0 0; }
.mosaico a:hover { text-decoration: underline; color: #fff; }
.mosaico a small { display: block; font-weight: 500; font-size: .85rem; opacity: .9; }
@media (max-width: 760px) { .mosaico { grid-template-columns: 1fr 1fr; grid-template-rows: 200px 150px 150px; } .mosaico li:first-child { grid-column: 1 / 3; grid-row: auto; } }

/* ======================= Páginas interiores ======================= */
.topo-pagina { background: var(--primaria-clara); border-bottom: 1px solid var(--primaria-borda); padding: 28px 0 30px; }
.topo-pagina h1 { margin: 0; }
.topo-pagina p { margin: 10px 0 0; color: var(--texto-suave); font-size: 1.1rem; max-width: 46em; }
.migalhas { font-size: .88rem; margin-bottom: 12px; }
.migalhas ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; padding: 0; margin: 0; }
.migalhas li + li::before { content: "›"; margin-right: 4px; color: var(--texto-suave); }
.migalhas a { color: var(--primaria); }
.migalhas [aria-current] { color: var(--texto-suave); }

main { display: block; }
.conteudo { padding: 40px 0 64px; }
.conteudo > :first-child { margin-top: 0; }
.com-lateral { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 48px; align-items: start; }
@media (max-width: 900px) { .com-lateral { grid-template-columns: 1fr; gap: 24px; } .com-lateral .nav-seccao { order: 2; } }
.nav-seccao { position: sticky; top: 100px; border: 1px solid var(--linha); border-radius: var(--raio); padding: 10px; background: #fff; }
.nav-seccao h2 { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--texto-suave); margin: 6px 10px 8px; }
.nav-seccao ul { list-style: none; margin: 0; padding: 0; }
.nav-seccao a { display: block; padding: 8px 10px; border-radius: var(--raio-p); text-decoration: none; color: var(--texto); font-size: .95rem; }
.nav-seccao a:hover { background: var(--fundo-alt); color: var(--primaria); }
.nav-seccao a[aria-current] { background: var(--primaria); color: #fff; font-weight: 600; }
.texto { max-width: 46em; }
.texto img { border-radius: var(--raio-p); }
.texto figure { margin: 1.4em 0; }
.texto table { border-collapse: collapse; width: 100%; }
.texto td, .texto th { border: 1px solid var(--linha); padding: 8px; text-align: left; }
.imagem-destaque { margin: 0 0 28px; }
.imagem-destaque img { width: 100%; max-height: 520px; object-fit: cover; border-radius: var(--raio); }
.meta { color: var(--texto-suave); font-size: .95rem; }
.aviso-vazio { color: var(--texto-suave); background: var(--fundo-alt); border: 1px dashed var(--linha); border-radius: var(--raio-p); padding: 14px 16px; }
.lista-subpaginas { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.lista-subpaginas a { display: block; padding: 16px 18px; border: 1px solid var(--linha); border-radius: var(--raio); text-decoration: none; font-weight: 650; color: var(--primaria-escura); background: #fff; }
.lista-subpaginas a:hover { border-color: var(--primaria); box-shadow: var(--sombra); }

/* Cartões */
.grelha-cartoes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.cartao { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; position: relative; transition: box-shadow .15s, border-color .15s; }
.cartao:hover { box-shadow: var(--sombra); border-color: var(--primaria-borda); }
.cartao-img { aspect-ratio: 16 / 10; background: var(--primaria-clara); overflow: hidden; }
.cartao-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cartao-corpo { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 6px; }
.cartao-titulo { font-size: 1.05rem; margin: 0; line-height: 1.35; }
.cartao-titulo a { text-decoration: none; color: var(--primaria-escura); }
.cartao-titulo a::after { content: ""; position: absolute; inset: 0; }
.cartao-titulo a:hover { text-decoration: underline; }
.cartao-meta { color: var(--texto-suave); font-size: .9rem; margin: 0; }
.cartao:focus-within { outline: 3px solid var(--foco); outline-offset: 2px; }

/* Agenda */
.lista-eventos { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.evento-linha { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); padding: 10px 14px 10px 10px; position: relative; }
.evento-linha:hover { border-color: var(--primaria); }
.evento-dia { display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--primaria-clara); color: var(--primaria-escura); border-radius: var(--raio-p); padding: 8px 0; line-height: 1.05; }
.evento-dia b { font-size: 1.5rem; font-weight: 800; }
.evento-dia span { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--primaria-media); }
.evento-linha h3 { margin: 0 0 2px; font-size: 1rem; }
.evento-linha h3 a { text-decoration: none; color: var(--texto); }
.evento-linha h3 a::after { content: ""; position: absolute; inset: 0; }
.evento-linha h3 a:hover { color: var(--primaria); text-decoration: underline; }
.evento-linha p { margin: 0; color: var(--texto-suave); font-size: .88rem; }
.ficha-dados { background: var(--fundo-alt); border: 1px solid var(--linha); border-radius: var(--raio); padding: 16px 20px; margin: 0 0 28px; }
.ficha-dados dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; margin: 0; }
.ficha-dados dt { font-weight: 650; color: var(--texto-suave); }
.ficha-dados dd { margin: 0; }

/* Documentos */
.lista-docs { list-style: none; margin: 0 0 12px; padding: 0; }
.doc { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; padding: 12px 0 12px 38px; border-bottom: 1px solid var(--linha); position: relative; }
.doc::before { content: "PDF"; position: absolute; left: 0; top: 12px; width: 28px; height: 22px; border-radius: 4px; background: var(--primaria-clara); color: var(--primaria); font-size: .58rem; font-weight: 800; display: grid; place-items: center; letter-spacing: .02em; }
.doc-ligacao { font-weight: 600; margin-right: auto; }
.doc-formato { font-weight: 400; color: var(--texto-suave); font-size: .88rem; white-space: nowrap; }
.doc-data { color: var(--texto-suave); font-size: .88rem; white-space: nowrap; }
.doc-tipo { display: inline-block; background: var(--primaria-clara); color: var(--primaria-escura); border-radius: 999px; padding: 0 10px; font-size: .78rem; font-weight: 650; }
.docs-arvore details { border: 1px solid var(--linha); border-radius: var(--raio); margin: 0 0 12px; background: #fff; }
.docs-arvore details details { margin: 12px 0; border-radius: var(--raio-p); }
.docs-arvore summary { cursor: pointer; padding: 14px 18px; font-weight: 700; color: var(--primaria-escura); list-style-position: inside; }
.docs-arvore summary:hover { color: var(--primaria); }
.docs-arvore details[open] > summary { border-bottom: 1px solid var(--linha); background: var(--fundo-alt); border-radius: var(--raio) var(--raio) 0 0; }
.docs-arvore details > :not(summary) { margin-left: 18px; margin-right: 18px; }
.docs-mes { font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; margin: 18px 0 4px; color: var(--texto-suave); }
.contagem { font-weight: 500; color: var(--texto-suave); }

/* Paginação */
.paginacao { margin-top: 32px; }
.paginacao .nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.paginacao .page-numbers { display: inline-block; min-width: 44px; text-align: center; padding: 10px 12px; border: 1px solid var(--linha); border-radius: var(--raio-p); text-decoration: none; font-weight: 600; }
.paginacao .current { background: var(--primaria); color: #fff; border-color: var(--primaria); }

/* Galerias */
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin: 24px 0; }
.gallery .gallery-item { margin: 0; width: auto !important; } .gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border: 0 !important; border-radius: var(--raio-p); }
.gallery br { display: none; }

/* Rodapé */
.rodape { background: var(--primaria-escura); color: #e6dcef; font-size: .95rem; }
.rodape a { color: #fff; }
.rodape h2 { color: #fff; font-size: 1rem; margin: 0 0 12px; }
.rodape-grelha { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; padding: 48px 0 32px; }
.rodape ul { list-style: none; padding: 0; margin: 0; }
.rodape li { margin-bottom: 7px; }
.rodape address { font-style: normal; line-height: 1.7; }
.rodape .nota { font-size: .8rem; color: #c7b7d6; }
.rodape-marca { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; color: #fff; font-weight: 700; }
.rodape-marca img { width: 40px; background: #fff; border-radius: 8px; padding: 3px; }
.rodape-base { border-top: 1px solid rgba(255,255,255,.16); padding: 18px 0 28px; display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: space-between; align-items: center; font-size: .88rem; }
.livro-reclamacoes { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: #1b1a21 !important; padding: 6px 12px; border-radius: 6px; font-weight: 650; text-decoration: none; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }
@media print { .barra-topo, .cabecalho nav, .botao-menu, .rodape, .aviso-teste, .nav-seccao { display: none; } .cabecalho { position: static; } }

.agenda-atendimento { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 36px; align-items: start; }
@media (max-width: 900px) { .agenda-atendimento { grid-template-columns: 1fr; } }

/* ======================= Agenda em linha do tempo (estilo cartaz) ======================= */
.agenda-fundo { position: relative; overflow: hidden; }
.agenda-fundo::after { /* linhas onduladas decorativas, como no cartaz */
	content: ""; position: absolute; right: -120px; bottom: -60px; width: 640px; height: 420px; pointer-events: none; opacity: .55; z-index: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 420' fill='none' stroke='%236a3a90' stroke-width='1'%3E%3Cpath d='M0 380C140 300 260 420 400 330S600 160 640 120'/%3E%3Cpath d='M0 392C150 310 270 430 410 342S610 172 640 136'/%3E%3Cpath d='M0 404C160 320 280 440 420 354S620 184 640 152'/%3E%3Cpath d='M0 416C170 330 290 450 430 366S630 196 640 168'/%3E%3Cpath d='M20 420C180 340 300 460 440 378S640 208 640 184'/%3E%3Cpath d='M60 420C200 350 310 470 450 390S640 224 640 200'/%3E%3C/svg%3E") no-repeat right bottom / contain;
}
.agenda-fundo .contentor { position: relative; z-index: 1; }
.agenda-acoes { margin-bottom: 28px; }
.agenda-mes { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 8px 32px; margin: 0 0 56px; }
.agenda-mes-nome { margin: 0; align-self: start; position: sticky; top: 100px; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.agenda-mes-nome span { writing-mode: vertical-rl; transform: rotate(180deg); font-size: clamp(4.5rem, 3rem + 4vw, 8rem); font-weight: 900; line-height: .9; letter-spacing: -.03em; color: #cdc6d4; }
.agenda-mes-nome small { font-size: 1rem; font-weight: 700; color: var(--texto-suave); letter-spacing: .05em; }
.agenda-linha { list-style: none; margin: 0; padding: 0 0 0 34px; border-left: 3px solid var(--texto); max-width: 760px; }
.agenda-dia { position: relative; padding: 4px 0 26px; }
.agenda-dia::before { content: ""; position: absolute; left: -43px; top: 20px; width: 15px; height: 15px; background: var(--texto); border-radius: 2px; }
.agenda-dia-cab { margin: 0 0 6px; display: flex; align-items: baseline; }
.agenda-dia-cab time { display: inline-flex; align-items: baseline; gap: 10px; }
.agenda-dia-cab .num { font-size: clamp(2.4rem, 2rem + 1.6vw, 3.2rem); font-weight: 900; line-height: 1; letter-spacing: -.03em; color: var(--texto); }
.agenda-dia-cab .semana { font-size: 1.35rem; font-weight: 700; color: var(--texto); }
.agenda-eventos { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.agenda-evento { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 18px; align-items: start; position: relative; }
.agenda-thumb { width: 76px; height: 76px; border-radius: 10px; overflow: hidden; background: var(--primaria-clara); display: grid; place-items: center; box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.agenda-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.agenda-thumb svg { width: 32px; height: 32px; color: var(--primaria); }
.agenda-titulo { margin: 2px 0 4px; font-size: clamp(1.2rem, 1.05rem + .6vw, 1.5rem); font-weight: 850; line-height: 1.15; letter-spacing: -.01em; }
.agenda-titulo a { color: var(--primaria-media); text-decoration: none; }
.agenda-titulo a::after { content: ""; position: absolute; inset: 0; }
.agenda-titulo a:hover { color: var(--primaria); text-decoration: underline; }
.agenda-evento:focus-within { outline: 3px solid var(--foco); outline-offset: 4px; border-radius: 8px; }
.agenda-det { margin: 0; font-size: 1.08rem; font-weight: 650; color: var(--texto); line-height: 1.35; }
.agenda-ate { margin: 2px 0 0; font-size: .92rem; color: var(--texto-suave); }
@media (max-width: 760px) {
	.agenda-mes { grid-template-columns: 1fr; }
	.agenda-mes-nome { position: static; flex-direction: row; align-items: baseline; gap: 10px; }
	.agenda-mes-nome span { writing-mode: horizontal-tb; transform: none; font-size: 3.2rem; }
	.agenda-linha { padding-left: 24px; }
	.agenda-dia::before { left: -33px; }
	.agenda-evento { grid-template-columns: 60px minmax(0, 1fr); gap: 12px; }
	.agenda-thumb { width: 60px; height: 60px; }
	.agenda-fundo::after { width: 360px; height: 240px; right: -80px; }
}
