/* A12 Eventos — blocos dinâmicos (programação, agenda, fase, edições). Tokens do kit do Elementor com
   fallback; nenhuma regra mira id de elemento. */
.a12-ev-cab, .a12-ev-prog, .a12-ev-agenda, .a12-ev-agora, .a12-ev-vigente, .a12-ev-edicoes, .a12-ev-pessoas, .a12-ev-memoria, .a12-ev-cartoes, .a12-ev-hoje, .a12-ev-insc, .a12-ev-vazio {
	--ev-marca: var(--e-global-color-a12marca, #7B4A32);
	--ev-escura: var(--e-global-color-a12marcaescura, #4E2E1E);
	--ev-sup: var(--e-global-color-a12superficie, #FAF6F2);
	--ev-sutil: var(--e-global-color-a12superficiesutil, #F1E9E2);
	--ev-texto: var(--e-global-color-text, #2b2b2b);
	--ev-vivo: #C62828;
	--ev-raio: 16px;
	color: var(--ev-texto);
	font-size: 1rem;
	line-height: 1.45;
}

/* fase */
.a12-ev-fase { display: inline-flex; align-items: center; gap: .4em; padding: .15em .7em; border-radius: 999px; font-size: .78em; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; background: var(--ev-sutil); color: var(--ev-escura); vertical-align: middle; white-space: nowrap; }
.a12-ev-fase--ao_vivo { background: var(--ev-vivo); color: #fff; }
.a12-ev-fase--agenda { background: var(--ev-marca); color: #fff; }
.a12-ev-fase--cobertura { background: #2E7D32; color: #fff; }
.a12-ev-fase--memoria { background: var(--ev-sutil); color: var(--ev-escura); }
.a12-ev-fase--cancelada, .a12-ev-fase--adiada, .a12-ev-fase--suspensa { background: #F9A825; color: #2b2b2b; }
.a12-ev-fase__bola { width: .55em; height: .55em; border-radius: 50%; background: #fff; animation: a12-ev-pulsa 1.4s ease-in-out infinite; }
@keyframes a12-ev-pulsa { 0%, 100% { opacity: 1 } 50% { opacity: .35 } }
@media (prefers-reduced-motion: reduce) { .a12-ev-fase__bola { animation: none } }

/* cabeçalho da edição */
.a12-ev-cab { display: flex; flex-direction: column; gap: .5rem; }
.a12-ev-cab__raiz, .a12-ev-cab__tipo { font-size: .9em; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ev-marca); text-decoration: none; }
.a12-ev-cab__linha { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; }
.a12-ev-cab__periodo { font-weight: 600; }
.a12-ev-cab__tema { margin: 0; font-style: italic; color: var(--ev-escura); }
.a12-ev-cab__conta { margin: 0; font-weight: 600; color: var(--ev-marca); }
.a12-ev-lugar { color: inherit; text-decoration: none; border-bottom: 1px solid currentColor; }
.a12-ev-lugar__pai { opacity: .7; }

/* programação e agenda */
.a12-ev-prog__titulo, .a12-ev-edicoes__titulo, .a12-ev-pessoas__titulo { margin: 0 0 1rem; }
.a12-ev-prog__dias { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .5rem; margin-bottom: 1rem; scrollbar-width: thin; }
.a12-ev-prog__dia { display: flex; flex-direction: column; align-items: center; min-width: 56px; padding: .4rem .6rem; border-radius: 12px; background: var(--ev-sutil); color: var(--ev-escura); text-decoration: none; line-height: 1.1; }
.a12-ev-prog__dia span { font-size: .7em; text-transform: uppercase; letter-spacing: .05em; }
.a12-ev-prog__dia strong { font-size: 1.3em; }
.a12-ev-prog__dia.is-hoje { background: var(--ev-marca); color: #fff; }
.a12-ev-prog__data { margin: 1.5rem 0 .5rem; font-size: 1.05em; font-weight: 700; color: var(--ev-escura); display: flex; align-items: center; gap: .6rem; }
.a12-ev-prog__hoje { font-size: .7em; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; padding: .1em .6em; border-radius: 999px; background: var(--ev-marca); color: #fff; }
.a12-ev-prog__secao:first-of-type .a12-ev-prog__data, .a12-ev-agenda__dia:first-of-type .a12-ev-prog__data { margin-top: .5rem; }
.a12-ev-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.a12-ev-item { display: grid; grid-template-columns: 4.5rem 1fr; gap: .25rem 1rem; padding: .85rem 1rem; border-radius: var(--ev-raio); background: var(--ev-sup); border-left: 4px solid var(--ev-marca); }
.a12-ev-item--passou { opacity: .68; }
.a12-ev-item--no_ar { border-left-color: var(--ev-vivo); background: #fff; box-shadow: 0 1px 6px rgba(0,0,0,.08); }
.a12-ev-item--cancelada .a12-ev-item__titulo { text-decoration: line-through; }
.a12-ev-item--celebracao { border-left-color: var(--ev-marca); }
.a12-ev-item--formacao { border-left-color: #4527A0; }
.a12-ev-item--cultura { border-left-color: #AD1457; }
.a12-ev-item--romaria { border-left-color: #DE643A; }
.a12-ev-item--servico { border-left-color: #546E7A; }
.a12-ev-item--locacao { border-left-color: #37474F; }
.a12-ev-item__hora { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ev-escura); white-space: nowrap; }
.a12-ev-item__corpo { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.a12-ev-item__titulo { font-weight: 600; font-size: 1.05em; color: var(--ev-escura); display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.a12-ev-item__meta, .a12-ev-quem, .a12-ev-item__acoes { font-size: .92em; display: flex; flex-wrap: wrap; gap: .25rem .5rem; align-items: center; }
.a12-ev-item__meta a, .a12-ev-item__evento { color: inherit; }
.a12-ev-item__evento { font-weight: 600; }
.a12-ev-pessoa__papel { font-size: .85em; text-transform: uppercase; letter-spacing: .04em; opacity: .75; }
.a12-ev-item__desc { font-size: .95em; }
.a12-ev-item__desc p { margin: 0; }
.a12-ev-item__acoes a { color: var(--ev-marca); font-weight: 600; text-decoration: none; }
.a12-ev-tx { display: inline-flex; gap: .3rem; }
.a12-ev-tx__meio { padding: 0 .5em; border-radius: 6px; background: var(--ev-sutil); color: var(--ev-escura); font-size: .85em; font-weight: 600; text-decoration: none; }
.a12-ev-item--no_ar .a12-ev-tx__meio { background: var(--ev-vivo); color: #fff; }
.a12-ev-prog__ics { margin: 1.25rem 0 0; font-size: .95em; }
.a12-ev-prog__ics a, .a12-ev-ics { color: var(--ev-marca); font-weight: 600; }
.a12-ev-vazio { color: var(--ev-escura); font-style: italic; }
@media (max-width: 560px) { .a12-ev-item { grid-template-columns: 1fr; gap: .2rem; } .a12-ev-item__hora { font-size: .9em; } }

/* filtros da agenda */
.a12-ev-filtros { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.a12-ev-chip { padding: .35em .9em; border-radius: 999px; border: 1px solid var(--ev-marca); color: var(--ev-marca); text-decoration: none; font-size: .9em; font-weight: 600; }
.a12-ev-chip.is-ativo { background: var(--ev-marca); color: #fff; }

/* agora */
.a12-ev-agora__titulo { display: flex; align-items: center; gap: .6rem; margin: 1rem 0 .5rem; font-size: 1.05em; }

/* inscrição e botões */
.a12-ev-botao, .a12-ev-botao-tonal { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border-radius: 32px; font-family: var(--e-global-typography-9975a72-font-family, Roboto), sans-serif; font-size: 1rem; line-height: 1; font-weight: 500; text-decoration: none !important; white-space: nowrap; transition: background .15s, color .15s; }
.a12-ev-botao { background: var(--ev-marca); color: #fff !important; }
.a12-ev-botao:hover, .a12-ev-botao-tonal:hover { background: var(--ev-escura); color: #fff !important; }
.a12-ev-botao--inerte { background: var(--ev-sutil); color: var(--ev-escura) !important; cursor: default; }
.a12-ev-botao--inerte:hover { background: var(--ev-sutil); color: var(--ev-escura) !important; }
.a12-ev-insc { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 0; }
.a12-ev-insc__prazo { font-size: .92em; color: var(--ev-escura); }

/* pessoas */
.a12-ev-pessoas__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .75rem; }
.a12-ev-pessoas__item { display: flex; align-items: center; gap: .75rem; padding: .6rem .8rem; border-radius: var(--ev-raio); background: var(--ev-sup); }
.a12-ev-pessoas__item img, .a12-ev-pessoas__sem-foto { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; background: var(--ev-sutil); flex: none; }
.a12-ev-pessoas__texto { display: flex; flex-direction: column; }
.a12-ev-pessoas__texto a { color: var(--ev-escura); font-weight: 600; text-decoration: none; }
.a12-ev-pessoas__papel { font-size: .85em; opacity: .8; }

/* memória e vigente */
.a12-ev-memoria__numeros { font-size: 1.4em; font-weight: 700; color: var(--ev-marca); margin: 0 0 .5rem; }
.a12-ev-vigente { padding: 1.25rem 1.5rem; border-radius: var(--ev-raio); background: var(--ev-sup); display: flex; flex-direction: column; gap: .4rem; }
.a12-ev-vigente--ao_vivo { border: 2px solid var(--ev-vivo); }
.a12-ev-vigente__chapeu { margin: 0; font-size: .8em; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; color: var(--ev-marca); }
.a12-ev-vigente__titulo { margin: 0; font-size: 1.4em; font-weight: 700; }
.a12-ev-vigente__titulo a { color: var(--ev-escura); text-decoration: none; }
.a12-ev-vigente__meta, .a12-ev-vigente__tema, .a12-ev-vigente__rep, .a12-ev-vigente p { margin: 0; }
.a12-ev-vigente__tema { font-style: italic; }

/* edições */
.a12-ev-edicoes__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; }
.a12-ev-edicoes__item { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; padding: .6rem .9rem; border-radius: 12px; background: var(--ev-sup); align-items: center; }
.a12-ev-edicoes__ano { font-weight: 700; font-size: 1.2em; color: var(--ev-marca); }
.a12-ev-edicoes__corpo { display: flex; flex-direction: column; gap: .15rem; }
.a12-ev-edicoes__corpo > a { color: var(--ev-escura); font-weight: 600; text-decoration: none; }
.a12-ev-edicoes__meta { font-size: .9em; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }

/* cartões */
.a12-ev-cartoes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.a12-ev-cartao a { display: flex; flex-direction: column; border-radius: var(--ev-raio); overflow: hidden; background: var(--ev-sup); color: inherit; text-decoration: none; height: 100%; }
.a12-ev-cartao__capa { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; background: var(--ev-sutil); }
.a12-ev-cartao__capa--vazia { display: flex; align-items: flex-end; padding: .6em .9em; box-sizing: border-box; background: var(--ev-escura); color: #fff; font-size: 2.2em; font-weight: 700; line-height: 1; }
.a12-ev-cartao__corpo { display: flex; flex-direction: column; gap: .3rem; padding: .9rem 1rem 1.1rem; }
.a12-ev-cartao__chapeu { font-size: .78em; text-transform: uppercase; letter-spacing: .05em; color: var(--ev-marca); font-weight: 700; }
.a12-ev-cartao__titulo { font-weight: 700; font-size: 1.1em; color: var(--ev-escura); }
.a12-ev-cartao__meta { font-size: .9em; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }

/* ---- agenda: mesmo vocabulário do Guia de Visitação (diretorio.css): chips tonais, cartão do portal,
   cabeçalho de seção com régua, botão tonal. Tokens da paleta do núcleo (--a12-*), nunca por id. ---- */
.a12-ev-agenda, .a12-ev-hoje { --ev-marca: var(--a12-principal, #7B4A32); --ev-escura: var(--a12-secundaria, #4B2D22); --ev-sup: var(--a12-fundo-suave, #EFE1D8); --ev-sutil: var(--a12-fundo-minimo, #FAF5F2); }
.a12-ev-agenda { display: flex; flex-direction: column; gap: 20px; }
.a12-ev-filtros { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; margin: 0; }
.a12-ev-filtros--tipo { flex-wrap: wrap; overflow: visible; }
.a12-ev-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--ev-sup); color: var(--ev-escura); white-space: nowrap; text-decoration: none; font-weight: 500; font-size: 1rem; }
.a12-ev-filtros--tipo .a12-ev-chip { min-height: 36px; padding: 0 14px; font-size: .92rem; }
.a12-ev-chip.is-ativo { background: var(--ev-marca); color: #fff; }
.a12-ev-chip--data { gap: 10px; padding-right: 10px; }
.a12-ev-chip--data label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.a12-ev-chip--data input { border: 0; background: #fff; border-radius: 999px; padding: 4px 10px; font: inherit; font-size: .92rem; color: var(--ev-escura); min-width: 9.5em; }
.a12-ev-chip--data button { border: 0; border-radius: 999px; padding: 4px 12px; background: var(--ev-marca); color: #fff; font: inherit; }
.a12-ev-resumo { margin: -8px 0 0; color: #616161; font-size: .95rem; }
.a12-ev-resumo strong { color: var(--ev-escura); }
.a12-ev-resumo a { color: var(--ev-marca); }
.a12-ev-tag { display: inline-block; padding: 1px 10px; border-radius: 999px; background: var(--ev-sup); color: var(--ev-escura); font-size: .78rem; font-weight: 500; letter-spacing: 0; text-transform: none; vertical-align: middle; }
.a12-ev-tag--alerta { background: #F9A825; color: #2b2b2b; }
.a12-ev-tag--hoje { background: var(--ev-marca); color: #fff; }
.a12-ev-dia__cab { display: flex; align-items: center; gap: 24px; margin: 8px 0 16px; }
.a12-ev-dia__cab hr { flex: 1; border: 0; border-top: 1px solid #D5D4D4; margin: 0; }
.a12-ev-dia__titulo { margin: 0; font-size: 1.25rem; line-height: 1.4; font-weight: 600; color: var(--ev-marca); display: flex; align-items: center; gap: 10px; }
.a12-ev-cards { display: flex; flex-direction: column; gap: 16px; }
.a12-ev-card { position: relative; display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 20px 24px; border-radius: 8px; background: var(--ev-sutil); border: 1px solid #D5D4D4; }
.a12-ev-card.has-foto { grid-template-columns: 72px 160px minmax(0, 1fr) auto; }
.a12-ev-card--edicao { background: #fff; }
.a12-ev-card.is-cancelada .a12-ev-card__titulo { text-decoration: line-through; color: #616161; }
.a12-ev-card__data { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 8px; background: var(--ev-sup); color: var(--ev-escura); line-height: 1; }
.a12-ev-card__data strong { font-size: 1.75rem; font-weight: 700; }
.a12-ev-card__data span { font-size: .72rem; letter-spacing: .08em; margin-top: 2px; }
.a12-ev-card__data.is-destaque { background: var(--ev-marca); color: #fff; }
.a12-ev-card__foto { display: block; aspect-ratio: 16 / 10; border-radius: 6px; background: var(--ev-sup) center / cover no-repeat; }
.a12-ev-card__corpo { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.a12-ev-card__tipo { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ev-marca); font-weight: 600; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.a12-ev-card__titulo { font-size: 1.15rem; line-height: 1.45; font-weight: 600; color: var(--ev-escura); }
.a12-ev-card__titulo a { color: inherit; text-decoration: none; }
.a12-ev-card__titulo a::after { content: ""; position: absolute; inset: 0; }
.a12-ev-card__onde, .a12-ev-card__resumo { font-size: .9rem; color: #616161; line-height: 1.5; }
.a12-ev-card__onde strong { color: var(--ev-escura); font-weight: 600; }
.a12-ev-botao-tonal { position: relative; z-index: 1; background: var(--ev-sutil); color: var(--ev-escura) !important; }
.a12-ev-botao-tonal--cheio { background: var(--ev-marca); color: #fff !important; }
.a12-ev-card__acao--texto { font-size: .9rem; color: #616161; white-space: nowrap; }
.a12-ev-agenda__mais { margin: 8px 0 0; display: flex; justify-content: center; }
.a12-ev-vazio-caixa { padding: 24px; background: var(--ev-sup); border-radius: 8px; }
.a12-ev-vazio-caixa p { margin: 0 0 6px; }
.a12-ev-vazio-caixa .a12-ev-vazio { font-style: normal; font-weight: 600; }
.a12-ev-hoje { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; padding: 16px 24px; background: var(--ev-sutil); border: 1px solid #D5D4D4; border-radius: 8px; color: var(--e-global-color-text, #454545); }
.a12-ev-hoje__quando { display: flex; flex-direction: column; gap: 2px; }
.a12-ev-hoje__chapeu { font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ev-marca); font-weight: 600; }
.a12-ev-hoje__data { font-weight: 600; color: var(--ev-escura); }
.a12-ev-hoje__texto { flex: 1 1 24rem; font-size: 1rem; line-height: 1.6; }
.a12-ev-hoje__texto strong { color: var(--ev-escura); }
.a12-ev-hoje__tv { display: inline-block; margin-left: 3px; padding: 0 5px; border-radius: 4px; background: var(--ev-sup); color: var(--ev-escura); font-size: .7rem; font-weight: 700; letter-spacing: .04em; vertical-align: 2px; }
.a12-ev-hoje__link { margin-left: auto; }
@media (max-width: 767px) {
	.a12-ev-card, .a12-ev-card.has-foto { grid-template-columns: 56px minmax(0, 1fr); grid-template-areas: "data corpo" "foto foto" "acao acao"; padding: 16px; }
	.a12-ev-card__data { grid-area: data; width: 56px; height: 56px; }
	.a12-ev-card__data strong { font-size: 1.4rem; }
	.a12-ev-card__corpo { grid-area: corpo; }
	.a12-ev-card__foto { grid-area: foto; aspect-ratio: 16 / 7; }
	.a12-ev-card__acao { grid-area: acao; justify-self: start; }
	.a12-ev-chip--data { padding-right: 6px; }
	.a12-ev-hoje__link { margin-left: 0; }
	.a12-ev-dia__cab { gap: 12px; }
}

/* grandes datas: cartão do portal (Postagem M), 4/2/1 */
.a12-ev-datas { --ev-marca: var(--a12-principal, #7B4A32); --ev-escura: var(--a12-secundaria, #4B2D22); --ev-sup: var(--a12-fundo-suave, #EFE1D8); --ev-sutil: var(--a12-fundo-minimo, #FAF5F2); list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.a12-ev-datas__link { display: flex; flex-direction: column; height: 100%; border-radius: 8px; overflow: hidden; background: var(--ev-sutil); border: 1px solid #D5D4D4; text-decoration: none !important; color: inherit; }
.a12-ev-datas__capa { display: block; aspect-ratio: 16 / 9; background: var(--ev-sup) center / cover no-repeat; }
.a12-ev-datas__capa--vazia { display: flex; align-items: flex-end; padding: 12px 16px; box-sizing: border-box; color: var(--ev-escura); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; background: var(--ev-sup) radial-gradient(circle at 70% 30%, rgba(255,255,255,.55) 0 28px, transparent 29px) no-repeat; }
.a12-ev-datas__corpo { display: flex; flex-direction: column; gap: 6px; padding: 20px 24px 24px; }
.a12-ev-datas__quando { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ev-marca); font-weight: 600; }
.a12-ev-datas__titulo { font-size: 1.15rem; line-height: 1.45; font-weight: 600; color: var(--ev-escura); }
.a12-ev-datas .a12-ev-fase { align-self: flex-start; margin-top: 4px; }
@media (max-width: 1024px) { .a12-ev-datas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .a12-ev-datas { grid-template-columns: 1fr; } }
