/* Paróquia São Sebastião · estilos do site (identidade validada em 20/10/2026). */
:root {
	--pss-escuro: var(--wp--preset--color--escuro, #1A0A0D);
	--pss-vinho: var(--wp--preset--color--vinho, #6B0F1A);
	--pss-vinho-escuro: var(--wp--preset--color--vinho-escuro, #4A0A12);
	--pss-vinho-hover: #8B1A26;
	--pss-dourado: var(--wp--preset--color--dourado, #C9A84C);
	--pss-dourado-texto: var(--wp--preset--color--dourado-texto, #7A5F1A);
	--pss-dourado-claro: var(--wp--preset--color--dourado-claro, #E8C97A);
	--pss-pergaminho: var(--wp--preset--color--pergaminho, #FAF3E0);
	--pss-branco: #FFFFFF;
	--pss-texto: var(--wp--preset--color--texto, #2C1810);
	--pss-suave: var(--wp--preset--color--texto-suave, #5A4A42);
	--pss-linha: #E8DCC4;
	--pss-whats: #1E7E46;
	--pss-sucesso: #1E6B35;
	--pss-raio: 6px;
	--pss-f-titulo: var(--wp--preset--font-family--titulo);
	--pss-f-marca: var(--wp--preset--font-family--marca);
	--pss-f-corpo: var(--wp--preset--font-family--corpo);
	--pss-f-campanha: var(--wp--preset--font-family--campanha);
	--pss-gutter: max(16px, env(safe-area-inset-left, 0px));
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
/* Seções da Home e partes do template encostadas umas nas outras (sem o espaçamento automático do WordPress entre blocos). */
.wp-site-blocks > *, .wp-site-blocks > * + *, .pss-home > *, .pss-home > * + * { margin-block-start: 0; margin-block-end: 0; }
h1, h2, h3 { text-wrap: balance; }
:where(a, button, input, summary):focus-visible { outline: 3px solid var(--pss-vinho); outline-offset: 2px; }
:where(.pss-topo, .pss-rodape, .pss-festeiros, .pss-instit, .pss-barra, .pss-banner-paroquia) :focus-visible { outline-color: var(--pss-dourado-claro); }
img { max-width: 100%; height: auto; }
[hidden] { display: none !important; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pss-largo, .pss-topo__miolo, .pss-pix, .pss-cartao, .pss-festeiros__preco, .pss-festeiros__premio { box-sizing: border-box; }
.pss-largo { max-width: 1140px; margin-inline: auto; padding-left: var(--pss-gutter); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.pss-sobretitulo { font-family: var(--pss-f-marca); font-size: .875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pss-dourado-texto); margin: 0 0 .25rem; }
.pss-sobretitulo a { color: inherit; text-decoration: none; }
.pss-pequeno { font-size: .875rem; color: var(--pss-suave); }
.pss-link-forte, .pss-link-forte a { font-weight: 800; color: var(--pss-vinho); text-underline-offset: 4px; }

/* ---------- botões ---------- */
.pss-botoes { display: flex; flex-wrap: wrap; gap: .625rem; align-items: center; }
.pss-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; padding: .625rem 1.25rem; border-radius: var(--pss-raio); border: 2px solid transparent; font-family: var(--pss-f-corpo); font-weight: 800; font-size: 1.0625rem; line-height: 1.2; text-decoration: none; cursor: pointer; }
.pss-btn svg { width: 20px; height: 20px; flex: none; }
.pss-btn--primario { background: var(--pss-vinho); color: var(--pss-branco); }
.pss-btn--primario:hover { background: var(--pss-vinho-hover); color: var(--pss-branco); }
.pss-btn--secundario { background: var(--pss-branco); color: var(--pss-vinho); border-color: var(--pss-vinho); }
.pss-btn--secundario:hover { background: var(--pss-pergaminho); color: var(--pss-vinho); }
.pss-btn--whats { background: var(--pss-whats); color: var(--pss-branco); }
.pss-btn--whats:hover { background: #17673A; color: var(--pss-branco); }
.pss-btn--ouro { background: var(--pss-dourado); color: var(--pss-escuro); }
.pss-btn--ouro:hover { background: var(--pss-dourado-claro); color: var(--pss-escuro); }
@media (prefers-reduced-motion: no-preference) { .pss-btn { transition: background-color .15s, color .15s, border-color .15s; } }

/* ---------- topo ---------- */
.pss-topo { background: var(--pss-escuro); color: var(--pss-pergaminho); position: sticky; top: 0; z-index: 40; }
.admin-bar .pss-topo { top: var(--wp-admin--admin-bar--height, 0px); }
.pss-topo__miolo { max-width: 1140px; margin-inline: auto; min-height: 68px; padding-left: var(--pss-gutter); padding-right: max(16px, env(safe-area-inset-right, 0px)); gap: 1rem; }
.pss-marca { display: flex; align-items: center; gap: .625rem; text-decoration: none; color: inherit; }
.pss-marca img { width: 30px; height: auto; }
.pss-marca__sup { display: block; font-family: var(--pss-f-marca); font-size: .6875rem; letter-spacing: .2em; color: var(--pss-dourado); text-transform: uppercase; line-height: 1.1; }
.pss-marca__nome { display: block; font-family: var(--pss-f-titulo); font-size: 1.3125rem; font-weight: 600; color: var(--pss-branco); line-height: 1.1; white-space: nowrap; }
.pss-menu { font-weight: 700; font-size: .9375rem; }
.pss-menu .wp-block-navigation-item__content { color: #EFE3CC; text-decoration: none; padding: .375rem 0; border-bottom: 2px solid transparent; }
.pss-menu .wp-block-navigation-item__content:hover, .pss-menu .current-menu-item > .wp-block-navigation-item__content { color: var(--pss-dourado-claro); border-bottom-color: var(--pss-dourado); }
.pss-menu .wp-block-navigation__container { gap: 1.375rem; }
.pss-menu .wp-block-navigation__responsive-container-open { color: var(--pss-pergaminho); border: 1px solid #6a4a45; border-radius: var(--pss-raio); width: 48px; height: 44px; align-items: center; justify-content: center; }
@media (max-width: 599px) { .pss-menu .wp-block-navigation__responsive-container-open:not(.always-shown) { display: inline-flex; } }
.pss-menu.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open,
.pss-menu .wp-block-navigation__responsive-container.is-menu-open { background-color: var(--pss-escuro); color: var(--pss-pergaminho); padding: max(1.25rem, env(safe-area-inset-top, 0px)) max(1.25rem, env(safe-area-inset-right, 0px)) 1.5rem max(1.25rem, env(safe-area-inset-left, 0px)); }
.pss-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.pss-menu .wp-block-navigation__responsive-container.is-menu-open { z-index: 100000; --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; --navigation-layout-align: flex-start; }
.pss-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content, .pss-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; text-align: left; }
.pss-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgba(201,168,76,.25); }
.pss-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { justify-content: flex-start !important; }
.pss-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; text-align: left; padding: .875rem 0; border-bottom: 0; }
.pss-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--pss-f-titulo); font-size: 1.75rem; font-weight: 600; color: var(--pss-branco); }
.pss-menu .wp-block-navigation__responsive-container-close { color: var(--pss-pergaminho); }

/* ---------- hoje na paróquia ---------- */
.pss-hoje { padding-block: 1.5rem 2rem; }
.pss-hoje__grade { display: grid; gap: 1.75rem; }
.pss-hoje__titulo { font-size: clamp(1.75rem, 4vw, 2.25rem); margin: 0 0 .25rem; }
.pss-hoje__fonte { margin: 0 0 1rem; font-size: .9375rem; color: var(--pss-suave); }
.pss-aviso { display: grid; grid-template-columns: auto 1fr; gap: .625rem; align-items: start; background: #FFF7E0; border: 1px solid #E6CF8E; border-left: 4px solid var(--pss-dourado-texto); border-radius: var(--pss-raio); padding: .625rem .75rem; margin-bottom: 1rem; font-size: .9375rem; }
.pss-aviso svg { width: 20px; height: 20px; color: var(--pss-dourado-texto); margin-top: 2px; }
.pss-lista-hoje { list-style: none; margin: 0 0 1rem; padding: 0; border-top: 1px solid var(--pss-linha); }
.pss-item { display: grid; grid-template-columns: 4.25rem 1fr; gap: .75rem; padding: .75rem 0; border-bottom: 1px solid var(--pss-linha); }
.pss-item__hora { font-family: var(--pss-f-titulo); font-size: 1.5rem; font-weight: 600; color: var(--pss-vinho); line-height: 1.2; font-variant-numeric: tabular-nums; }
.pss-item__local { font-weight: 800; line-height: 1.3; }
.pss-item__local i { font-style: normal; font-weight: 600; color: var(--pss-suave); }
.pss-item__det { display: flex; flex-wrap: wrap; gap: .25rem .625rem; align-items: center; font-size: .875rem; color: var(--pss-suave); margin-top: .25rem; }
.pss-tag { font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; border-radius: 4px; padding: 1px 7px; border: 1px solid; }
.pss-tag--missa { color: var(--pss-vinho); border-color: rgba(107,15,26,.35); background: rgba(107,15,26,.05); }
.pss-tag--confissao { color: #24557A; border-color: rgba(36,85,122,.35); background: rgba(36,85,122,.06); }
.pss-tag--adoracao { color: var(--pss-dourado-texto); border-color: rgba(122,95,26,.4); background: rgba(232,201,122,.2); }
.pss-selo { font-size: .75rem; font-weight: 800; color: var(--pss-escuro); background: var(--pss-dourado-claro); border-radius: 4px; padding: 1px 7px; text-transform: uppercase; letter-spacing: .05em; }
.pss-item--proxima, .pss-item--agora { background: linear-gradient(90deg, rgba(232,201,122,.22), transparent 70%); border-left: 4px solid var(--pss-dourado); padding-left: .75rem; }
.pss-resumo { padding: .625rem 0; border-bottom: 1px solid var(--pss-linha); font-size: .9375rem; color: var(--pss-suave); }
.pss-resumo__btn { margin-left: .5rem; background: none; border: 0; padding: .25rem 0; font: 800 .9375rem var(--pss-f-corpo); color: var(--pss-vinho); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.pss-hoje__lado { display: grid; gap: .75rem; align-content: start; }

/* ---------- cartões ---------- */
.pss-cartao { border: 1px solid var(--pss-linha); border-radius: var(--pss-raio); padding: 1rem; display: grid; gap: .375rem; align-content: start; background: var(--pss-branco); }
.pss-cartao--creme { background: var(--pss-pergaminho); }
.pss-cartao h3 { margin: 0; font-size: 1.375rem; }
.pss-cartao p { margin: 0; font-size: 1rem; color: var(--pss-suave); }
.pss-cartao p b { color: var(--pss-texto); }
.pss-cartao .pss-btn { margin-top: .5rem; justify-self: start; }
.pss-fone { font-family: var(--pss-f-titulo); font-size: 1.5rem !important; color: var(--pss-texto) !important; font-weight: 600; }
.pss-contatos { display: grid; gap: 1rem; margin-bottom: 1rem; }
.pss-endereco, .pss-recados { margin-bottom: 1rem; }

/* ---------- campanha: Festeiros 2027 (identidade própria da campanha) ---------- */
.pss-festeiros { --f-navy: #0A1C4A; --f-navy2: #1B2B5A; --f-ouro1: #FFE9A3; --f-ouro2: #F2BE3A; --f-ouro3: #D9A126; --f-claro: #F7F9FF; --f-azulclaro: #BFD0FF;
	position: relative; overflow: hidden; color: var(--f-claro); padding-block: 2rem 2.25rem; background: var(--f-navy) var(--pss-fundo) center 30% / cover no-repeat; }
.pss-festeiros::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,28,74,.15), rgba(10,28,74,.55) 70%, rgba(10,28,74,.85)); pointer-events: none; }
.pss-festeiros__santo { display: none; }
.pss-festeiros__grade { position: relative; display: grid; gap: 1.125rem; }
.pss-festeiros__a { display: grid; gap: .75rem; justify-items: center; text-align: center; }
.pss-festeiros__selo { display: flex; align-items: center; gap: .875rem; }
.pss-festeiros__selo img:first-child { width: 34px; }
.pss-festeiros__selo img:last-child { width: 84px; }
.pss-festeiros__paroquia { margin: 0; font-family: var(--pss-f-marca); letter-spacing: .14em; font-size: .9375rem; text-transform: uppercase; line-height: 1.3; }
.pss-festeiros__paroquia small { display: block; font-size: .75rem; letter-spacing: .3em; color: var(--f-azulclaro); }
.pss-festeiros__letreiro { width: min(400px, 100%); filter: drop-shadow(0 6px 14px rgba(0,0,0,.45)); }
.pss-festeiros__chamada { margin: 0; font-size: 1.0625rem; max-width: 44ch; color: #E3EAFF; }
.pss-festeiros__b { display: grid; gap: .75rem; }
.pss-festeiros__premio { border: 1.5px solid var(--f-ouro2); border-radius: 12px; padding: .625rem .875rem; background: rgba(10,28,74,.6); text-align: center; font-family: var(--pss-f-campanha); }
.pss-festeiros__premio b { display: block; font-weight: 800; font-size: 1.375rem; line-height: 1.2; }
.pss-festeiros__premio em { font-style: normal; color: var(--f-ouro2); }
.pss-festeiros__premio span { font-weight: 700; font-size: .875rem; }
.pss-festeiros__preco { border-radius: 12px; padding: .75rem 1rem; display: grid; grid-template-columns: 1fr auto; gap: 0 .75rem; align-items: center; color: var(--f-navy); background: linear-gradient(180deg, var(--f-ouro1), var(--f-ouro2) 45%, var(--f-ouro3)); box-shadow: 0 6px 18px -8px rgba(0,0,0,.6); font-family: var(--pss-f-campanha); }
.pss-festeiros__preco b { font-weight: 800; font-size: 1.0625rem; }
.pss-festeiros__valor { font-weight: 900; font-size: 1.625rem; font-variant-numeric: tabular-nums; }
.pss-festeiros__desc { grid-column: 1 / -1; font-family: var(--pss-f-corpo); font-size: .875rem; font-weight: 700; color: var(--f-navy2); }
.pss-festeiros__botoes { display: flex; flex-wrap: wrap; gap: .625rem; justify-content: center; }
.pss-btn--campanha { background: linear-gradient(180deg, var(--f-ouro1), var(--f-ouro2) 50%, var(--f-ouro3)); color: var(--f-navy); font-family: var(--pss-f-campanha); font-weight: 900; }
.pss-btn--campanha:hover { filter: brightness(1.06); color: var(--f-navy); }
.pss-festeiros__embreve { margin: 0; border: 1.5px dashed var(--f-ouro2); border-radius: 12px; padding: .75rem 1rem; text-align: center; background: rgba(10,28,74,.55); color: var(--f-claro); font-size: .9375rem; }
.pss-festeiros__embreve b { display: block; font-family: var(--pss-f-campanha); font-weight: 900; font-size: 1.375rem; color: var(--f-ouro1); letter-spacing: .02em; }
.pss-btn--campanha-sec { background: transparent; color: var(--f-ouro1); border-color: var(--f-ouro2); font-family: var(--pss-f-campanha); font-weight: 800; }
.pss-btn--campanha-sec:hover { background: rgba(242,190,58,.12); color: var(--f-ouro1); }
.pss-festeiros__rodape { margin: 0; font-size: .875rem; color: var(--f-azulclaro); text-align: center; }

/* banner padrão (sem campanha): identidade do site */
.pss-banner-paroquia { background: radial-gradient(130% 120% at 85% 0%, var(--pss-vinho) 0%, var(--pss-vinho-escuro) 40%, var(--pss-escuro) 85%); color: var(--pss-pergaminho); padding-block: 2.5rem; }
.pss-banner-paroquia h2 { color: var(--pss-branco); margin: 0 0 .5rem; }
.pss-banner-paroquia .pss-sobretitulo { color: var(--pss-dourado); }
.pss-banner-paroquia p { color: #EADFC9; }

/* ---------- dízimo ---------- */
.pss-dizimo { background: var(--pss-pergaminho); padding-block: 2rem; }
.pss-dizimo__grade { display: grid; gap: 1.25rem; }
.pss-dizimo__texto { display: grid; gap: .5rem; align-content: start; }
.pss-dizimo__texto h2, .pss-dizimo__texto p { margin: 0; }
.pss-dizimo__texto p { color: var(--pss-suave); }
.pss-dizimo__texto .pss-btn { justify-self: start; margin-top: .25rem; }
.pss-pix { background: var(--pss-branco); border: 1px solid var(--pss-linha); border-radius: var(--pss-raio); padding: 1rem; display: grid; grid-template-columns: 120px 1fr; gap: 1rem; align-items: center; }
.pss-pix__qr { width: 120px; height: 120px; image-rendering: pixelated; }
.pss-pix dl { margin: 0; display: grid; gap: 2px; font-size: .9375rem; }
.pss-pix dt { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pss-suave); }
.pss-pix dd { margin: 0 0 .375rem; font-weight: 700; word-break: break-word; }
.pss-pix .pss-botoes { grid-column: 1 / -1; }
.pss-pix .pss-btn { min-height: 44px; font-size: 1rem; }
.pss-copiado { grid-column: 1 / -1; margin: 0; min-height: 1.4em; font-size: .875rem; font-weight: 700; color: var(--pss-sucesso); }

/* ---------- notícias ---------- */
.pss-noticias { padding-block: 2rem; }
.pss-noticias__cab { margin-bottom: 1rem; gap: .75rem; }
.pss-noticias__cab h2 { margin: 0; }
.pss-cartoes .wp-block-post-template { gap: 1.5rem; }
.pss-cartoes .wp-block-post { display: grid; gap: .25rem; align-content: start; }
.pss-cartoes .wp-block-post-featured-image { margin: 0 0 .5rem; border-radius: var(--pss-raio); overflow: hidden; background: var(--pss-vinho-escuro); }
.pss-cartoes .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.pss-cartoes .wp-block-post-date { font-size: .8125rem; font-weight: 700; color: var(--pss-suave); }
.pss-cartoes .wp-block-post-title { margin: 0; font-size: 1.3125rem; line-height: 1.2; }
.pss-cartoes .wp-block-post-title a { color: var(--pss-texto); text-decoration: none; }
.pss-cartoes .wp-block-post-title a:hover { color: var(--pss-vinho); text-decoration: underline; text-underline-offset: 3px; }
.pss-cartoes .wp-block-post-excerpt { margin: 0; font-size: .9375rem; color: var(--pss-suave); line-height: 1.45; }
.pss-cartoes .wp-block-post-excerpt__more-text { display: none; }

/* ---------- institucional ---------- */
.pss-instit { position: relative; background: var(--pss-escuro); color: var(--pss-pergaminho); overflow: hidden; }
.pss-instit > img { display: block; width: 100%; height: 240px; object-fit: cover; opacity: .55; }
.pss-instit__sobre { position: absolute; inset: 0; display: flex; align-items: flex-end; background: linear-gradient(0deg, rgba(26,10,13,.92) 10%, rgba(74,10,18,.72) 55%, rgba(74,10,18,.35)); }
.pss-instit__sobre .pss-largo { width: 100%; padding-block: 1.5rem; }
.pss-instit h2 { color: var(--pss-branco); margin: 0; font-size: clamp(1.75rem, 4vw, 2.5rem); }
.pss-instit p { margin: .375rem 0 0; color: #EADFC9; max-width: 52ch; }
.pss-instit .pss-sobretitulo { color: var(--pss-dourado); }
.pss-ornamento { width: 120px; height: 10px; color: var(--pss-dourado); margin-bottom: .625rem; }

/* ---------- páginas internas ---------- */
.pss-pagina { padding-block: 2rem 3rem; }
.pss-pagina .wp-block-post-title { margin-bottom: 1rem; }
.pss-artigo .pss-data { color: var(--pss-suave); font-weight: 700; font-size: .9375rem; }
.pss-artigo .wp-block-post-featured-image { margin-block: 1rem; border-radius: var(--pss-raio); overflow: hidden; }
.pss-compartilhar { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--pss-linha); }
.pss-tabela-rolagem { overflow-x: auto; margin-block: 1rem; }
.pss-tabela { width: 100%; border-collapse: collapse; font-size: 1rem; }
.pss-tabela caption { text-align: left; font-size: .875rem; color: var(--pss-suave); padding-bottom: .5rem; }
.pss-tabela th, .pss-tabela td { text-align: left; vertical-align: top; padding: .75rem .5rem; border-bottom: 1px solid var(--pss-linha); }
.pss-tabela th[scope="row"] { font-family: var(--pss-f-titulo); font-size: 1.25rem; color: var(--pss-vinho); white-space: nowrap; width: 7rem; }
.pss-tabela__item { display: block; }
.pss-tabela__item b { font-variant-numeric: tabular-nums; }
.pss-redes { margin-top: 1rem; }
.wp-block-search__input { min-height: 48px; border: 2px solid #CDBFA5; border-radius: var(--pss-raio); padding: .5rem .75rem; font: 600 1.0625rem var(--pss-f-corpo); }
.wp-block-search__button { min-height: 48px; border-radius: var(--pss-raio); background: var(--pss-vinho); color: var(--pss-branco); border: 0; font-weight: 800; padding-inline: 1.25rem; }

/* ---------- rodapé ---------- */
.pss-rodape { background: var(--pss-escuro); color: #DCCDB6; padding-block: 1.75rem 6rem; font-size: .9375rem; border-top: 1px solid rgba(201,168,76,.35); }
.pss-rodape__grade { display: grid; gap: 1.25rem; }
.pss-rodape p { margin: 0 0 .25rem; }
.pss-nowrap { white-space: nowrap; }
.pss-rodape a { color: var(--pss-dourado-claro); }
.pss-rodape__tit { font-family: var(--pss-f-marca); font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pss-dourado); font-weight: 600; margin: 0 0 .375rem; }
.pss-rodape__base { border-top: 1px solid rgba(201,168,76,.25); padding-top: .875rem; font-size: .8125rem; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }

/* ---------- barra do celular ---------- */
.pss-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: grid; grid-template-columns: repeat(3, 1fr); background: var(--pss-escuro); border-top: 1px solid rgba(201,168,76,.4); padding-bottom: env(safe-area-inset-bottom, 0px); padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); }
.pss-barra a { display: grid; justify-items: center; gap: 2px; padding: .5rem .25rem .625rem; min-height: 56px; color: var(--pss-pergaminho); text-decoration: none; font-size: .8125rem; font-weight: 800; }
.pss-barra svg { width: 22px; height: 22px; color: var(--pss-dourado); }
.pss-barra__whats svg { color: #6FD39B; }

/* ---------- agenda da semana ---------- */
.pss-tag--devocao { color: #5B2C83; border-color: rgba(91,44,131,.35); background: rgba(91,44,131,.06); }
.pss-tag--grupo { color: #24557A; border-color: rgba(36,85,122,.35); background: rgba(36,85,122,.06); }
.pss-tag--formacao { color: #2E5E3A; border-color: rgba(46,94,58,.35); background: rgba(46,94,58,.07); }
.pss-tag--sacramento { color: var(--pss-dourado-texto); border-color: rgba(122,95,26,.4); background: rgba(232,201,122,.2); }
.pss-tag--evento { color: var(--pss-escuro); border-color: #D9B860; background: #F7E7B4; }
.pss-tag--clero, .pss-tag--reuniao { color: var(--pss-suave); border-color: #CDBFA5; background: #F4EFE6; }
.pss-tag--aviso { color: #B3202A; border-color: rgba(179,32,42,.4); background: rgba(179,32,42,.06); }
.pss-item--cancelado .pss-item__local, .pss-item--cancelado .pss-item__hora { text-decoration: line-through; color: var(--pss-suave); }
.pss-agenda { margin-block: 1rem 2rem; }
.pss-agenda__cab { display: grid; gap: .5rem; margin-bottom: 1rem; }
.pss-agenda__cab h2 { margin: 0; }
.pss-filtros { position: sticky; top: 68px; z-index: 5; display: flex; flex-wrap: wrap; gap: .5rem; padding: .625rem 0; margin-bottom: .5rem; background: var(--pss-branco); border-bottom: 1px solid var(--pss-linha); }
.admin-bar .pss-filtros { top: calc(68px + var(--wp-admin--admin-bar--height, 0px)); }
.pss-filtro { min-height: 44px; padding: .375rem 1rem; border-radius: 999px; border: 1.5px solid var(--pss-vinho); background: var(--pss-branco); color: var(--pss-vinho); font: 800 .9375rem var(--pss-f-corpo); cursor: pointer; }
.pss-filtro[aria-pressed="true"] { background: var(--pss-vinho); color: var(--pss-branco); }
.pss-filtro-campo select, .pss-filtro-campo input { min-height: 44px; border: 1.5px solid #CDBFA5; border-radius: 999px; padding: .375rem .875rem; font: 700 .9375rem var(--pss-f-corpo); color: var(--pss-texto); background: var(--pss-branco); max-width: 100%; }
.pss-filtro-campo--busca { flex: 1 1 12rem; }
.pss-filtro-campo--busca input { width: 100%; }
.pss-ag-dia { scroll-margin-top: 140px; padding-top: 1rem; }
.pss-ag-dia h3 { font-size: 1.375rem; margin: 0 0 .25rem; display: flex; align-items: center; gap: .5rem; }
.pss-ag-dia--hoje h3 { color: var(--pss-vinho); }
.pss-ag-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--pss-linha); }
.pss-ag-item { display: grid; grid-template-columns: 4.25rem 1fr; gap: .75rem; padding: .625rem 0; border-bottom: 1px solid var(--pss-linha); }
.pss-ag-item__hora { font-family: var(--pss-f-titulo); font-size: 1.375rem; font-weight: 600; color: var(--pss-vinho); line-height: 1.2; font-variant-numeric: tabular-nums; }
.pss-ag-item__hora small { display: block; font-family: var(--pss-f-corpo); font-size: .75rem; color: var(--pss-suave); font-weight: 700; }
.pss-ag-item__local { font-weight: 800; line-height: 1.3; }
.pss-ag-item__local i { font-style: normal; font-weight: 600; color: var(--pss-suave); }
.pss-ag-item__ativ { font-size: .9375rem; color: var(--pss-texto); line-height: 1.4; }
.pss-ag-item__meta { display: flex; flex-wrap: wrap; gap: .25rem .625rem; align-items: center; margin-top: .25rem; font-size: .8125rem; color: var(--pss-suave); }
.pss-ag-min { font-weight: 700; }
.pss-cor { display: inline-flex; align-items: center; gap: .3rem; font-weight: 700; }
.pss-cor__ponto { width: 11px; height: 11px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(44,24,16,.35); }
.pss-ag-item--destaque { background: linear-gradient(90deg, rgba(232,201,122,.2), transparent 70%); }
.pss-ag-item--cancelado .pss-ag-item__local, .pss-ag-item--cancelado .pss-ag-item__hora { text-decoration: line-through; color: var(--pss-suave); }
.pss-ag-item--clero { opacity: .75; }
.pss-ag-vazio { color: var(--pss-suave); font-size: .9375rem; padding: .5rem 0; margin: 0; }
.pss-ag-fixos { margin-top: 1.5rem; }
.pss-ag-fixos ul { margin: .25rem 0 .5rem; padding-left: 1.1rem; color: var(--pss-suave); }
.pss-agenda-vazia { background: var(--pss-pergaminho); border-left: 4px solid var(--pss-dourado-texto); padding: .875rem 1rem; border-radius: var(--pss-raio); margin-block: 1rem; }
.pss-agenda-vazia p { margin: 0; }
@media print { .pss-filtros, .pss-agenda__cab .pss-botoes { display: none !important; } .pss-ag-item[hidden] { display: grid !important; } }

/* ---------- telas maiores ---------- */
@media (min-width: 782px) {
	.pss-barra { display: none; }
	.pss-rodape { padding-block: 2.25rem; }
	.pss-marca img { width: 36px; }
	.pss-marca__nome { font-size: 1.5rem; }
	.pss-hoje { padding-block: 2.5rem; }
	.pss-hoje__grade { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 2.5rem; align-items: start; }
	.pss-hoje__lado { position: sticky; top: 88px; }
	.pss-festeiros { padding-block: 2.75rem; }
	.pss-festeiros__grade { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; column-gap: 2.5rem; }
	.pss-festeiros__botoes { justify-content: flex-start; }
	.pss-festeiros__rodape { text-align: left; }
	.pss-dizimo__grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 2.5rem; }
	.pss-instit > img { height: 340px; }
	.pss-rodape__grade { grid-template-columns: 1.4fr 1fr 1fr; }
	.pss-rodape__base { grid-column: 1 / -1; }
	.pss-contatos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
	.pss-festeiros__santo { display: block; position: absolute; left: max(0px, calc(50% - 760px)); bottom: -10px; height: 112%; width: auto; opacity: .9; pointer-events: none; }
	.pss-festeiros__grade { padding-left: 300px; }
}
@media (max-width: 781px) {
	.pss-cartoes .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; }
	.pss-cartoes .wp-block-post { grid-template-columns: 112px 1fr; column-gap: .875rem; }
	.pss-cartoes .wp-block-post-featured-image { grid-row: span 3; margin: 0; }
}
@media (max-width: 420px) {
	.pss-pix { grid-template-columns: 1fr; justify-items: start; }
}
@media print {
	.pss-topo, .pss-barra, .pss-festeiros, .pss-rodape__base { display: none !important; }
}
