/* Gerado por scripts/sincronizar-ds.ps1 a partir de design-system/ (fonts.css, tokens.css, styles.css). Não edite aqui. */
@font-face {
font-family: 'Figtree';
font-style: normal;
font-weight: 300 900;
font-display: swap;
src: url('fonts/figtree-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Figtree';
font-style: italic;
font-weight: 300 900;
font-display: swap;
src: url('fonts/figtree-latin-wght-italic.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Instrument Serif';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('fonts/instrument-serif-latin-400-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Instrument Serif';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url('fonts/instrument-serif-latin-400-italic.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
--color-blue-50:   #F2F6F8;
--color-blue-100:  #E0E7EB;
--color-blue-200:  #C6D5E0;
--color-blue-300:  #A9BDCB;
--color-blue-400:  #8399A8;
--color-blue-500:  #5C6B76;
--color-blue-600:  #4A5A66;
--color-blue-700:  #2B3A45;
--color-blue-800:  #001E33;
--color-blue-900:  #010C14;
--color-deep:           #001E33;
--color-primary:        #0077CC;
--color-primary-hover:  #0062A8;
--color-primary-light:  #3DA7F5;
--color-primary-subtle: #E8F4FE;
--color-deep-raised:    #062C4A;
--color-success:        #1A8A3A;
--color-success-subtle: #E8F8EE;
--color-success-text:   #0F5C26;
--color-danger:         #D63B2E;
--color-danger-subtle:  #FEF0EE;
--color-danger-text:    #8C2820;
--color-warning:        #C8820A;
--color-warning-subtle: #FEF6E0;
--color-warning-text:   #7A4E06;
--color-whatsapp:       #25D366;
--bg:             #FFFFFF;
--bg-subtle:      #F2F6F8;
--bg-inset:       #E0E7EB;
--border:         #E0E7EB;
--border-strong:  #C6D5E0;
--border-control: var(--color-blue-500);
--text:           #010C14;
--text-muted:     #4A5A66;
--text-subtle:    #5C6B76;
--text-inverse:   #FFFFFF;
--text-on-light:  var(--color-deep);
--color-link:          var(--color-primary);
--text-link-on-subtle: var(--color-primary-hover);
--white-a06: rgba(255,255,255,0.06);
--white-a08: rgba(255,255,255,0.08);
--white-a10: rgba(255,255,255,0.10);
--white-a12: rgba(255,255,255,0.12);
--white-a20: rgba(255,255,255,0.20);
--white-a30: rgba(255,255,255,0.30);
--white-a50: rgba(255,255,255,0.50);
--scrim-photo:  rgba(0,0,0,0.20);
--scrim-text:   linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 65%);
--scrim-hero:   linear-gradient(to top, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.45) 45%, rgba(0,0,0,0) 85%);
--scrim-topo:   linear-gradient(to bottom, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0) 100%);
--scrim-media:  rgba(0,0,0,0.45);
--blur-media:   4px;
--badge-retiro-bg:       #D6EBFB;
--badge-retiro-text:     var(--color-primary-hover);
--badge-missa-bg:        #E8F1F6;
--badge-missa-text:      var(--text-muted);
--badge-festa-bg:        #E0F2FE;
--badge-festa-text:      var(--color-primary-hover);
--badge-formacao-bg:     #EEF3F6;
--badge-formacao-text:   var(--text-muted);
--badge-pastoral-bg:     var(--color-primary-subtle);
--badge-pastoral-text:   var(--color-primary-hover);
--badge-ministerio-bg:   #FFF8E8;
--badge-ministerio-text: var(--color-warning-text);
--badge-movimento-bg:    var(--color-success-subtle);
--badge-movimento-text:  var(--color-success-text);
--font:           'Figtree', system-ui, sans-serif;
--font-serif:     'Instrument Serif', Georgia, serif;
--serif-escala:   1.16em;
--serif-tracking: -0.01em;
--serif-leading:  0.9;
--fw-regular:     400;
--fw-medium:      500;
--fw-semibold:    600;
--fw-bold:        700;
--fw-extrabold:   800;
--text-xs:   12px;
--text-sm:   14px;
--text-base: 16px;
--text-lg:   20px;
--text-xl:   24px;
--text-2xl:  32px;
--text-3xl:  40px;
--text-4xl:  48px;
--text-5xl:  64px;
--text-hero: clamp(42px, 8.5vw, 96px);
--text-frase:      clamp(1.875rem, 1rem + 4.2vw, 4.25rem);
--leading-frase:   1.12;
--tracking-frase:  -0.02em;
--measure-frase:   22ch;
--space-identidade-topo: clamp(64px, 11vw, 136px);
--space-identidade-base: clamp(56px, 8vw, 104px);
--sobre-foto-largura:   420px;
--proporcao-retrato:    4 / 5;
--linha-tempo-ano:      96px;
--linha-tempo-medida:   65ch;
--sobre-coluna-foto:    52%;
--sobre-coluna-folga:   var(--space-11);
--sobre-coluna-folga-md: var(--space-5);
--sobre-formacao-rotulo: 220px;
--word-off:             #7A909F;
--lema-palavra:         clamp(2.75rem, 5vw + 1.5rem, 7.5rem);
--lema-palavra-sm:      clamp(2.75rem, 13vw, 4.25rem);
--lema-titulo:          clamp(1.375rem, 1rem + 1.2vw, 1.875rem);
--lema-texto:           clamp(1rem, 0.9rem + 0.4vw, 1.25rem);
--leading-lema:         0.98;
--tracking-lema:        -0.025em;
--measure-lema:         46ch;
--lema-deslocamento:    8px;
--duration-lema-cor:    200ms;
--duration-lema-acordeao: 300ms;
--delay-lema:           90ms;
--paineis-altura:       clamp(480px, 46vw, 580px);
--paineis-fechado:      76px;
--paineis-fechado-md:   64px;
--paineis-fechado-sm:   68px;
--paineis-aberto-sm:    460px;
--painel-texto-max:     460px;
--painel-texto-min:     380px;
--duration-painel:      560ms;
--duration-painel-sm:   460ms;
--duration-painel-foto: 400ms;
--delay-painel-foto:    120ms;
--delay-painel:         220ms;
--scrim-painel: linear-gradient(to top, rgba(1,12,20,0.82) 0%, rgba(1,12,20,0.5) 38%, rgba(1,12,20,0) 68%);
--text-display: clamp(86px, 16vw, 240px);
--text-prose: 17px;
--text-lead:  20px;
--leading-none:    1;
--leading-tight:   1.2;
--leading-snug:    1.35;
--leading-normal:  1.5;
--leading-relaxed: 1.7;
--tracking-caps:   0.06em;
--space-1:   2px;
--space-2:   4px;
--space-3:   8px;
--space-4:   12px;
--space-5:   16px;
--space-6:   20px;
--space-7:   24px;
--space-8:   32px;
--space-9:   40px;
--space-10:  48px;
--space-11:  64px;
--space-12:  80px;
--space-13:  96px;
--page-gutter:      clamp(20px, 5vw, 64px);
--container-max:    1240px;
--container-narrow: 960px;
--measure-lead:     600px;
--measure-prose:    640px;
--measure-hero:     700px;
--measure-hero-lead: 560px;
--viewport-full:    100svh;
--barra-admin:      0px;
--barra-admin-topo: 0px;
--header-offset:    calc(80px + var(--barra-admin));
--header-height:    calc(var(--space-5) * 2 + var(--touch-target));
--hero-min-height:       640px;
--hero-min-height-sm:    480px;
--hero-short-min-height: 360px;
--hero-claro-min-height: 820px;
--touch-target:       44px;
--logo-height-header: 40px;
--logo-height-header-xs: 34px;
--logo-escala-topo: 1.4;
--logo-escala-topo-sm: 1.15;
--podcast-capa:       120px;
--video-embed-largura: 223%;
--calendario-dia-altura:    104px;
--calendario-dia-altura-sm: 56px;
--logo-height-footer: 48px;
--icon-size:          24px;
--icone-externo:      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6'/%3E%3Cpath d='M11 13l9 -9'/%3E%3Cpath d='M15 4h5v5'/%3E%3C/svg%3E");
--icon-size-lg:       32px;
--icon-box:           52px;
--eyebrow-dot:        6px;
--control-size:       18px;
--textarea-min-height: 120px;
--badge-pad-y:        3px;
--avatar-sm:          32px;
--avatar-md:          44px;
--avatar-lg:          60px;
--avatar-xl:          80px;
--avatar-2xl:         160px;
--ficha-col-rotulo:     180px;
--submenu-largura:      240px;
--evento-col-categoria: 160px;
--evento-col-data:      112px;
--media-proporcao:       4 / 5;
--card-horario-min:      200px;
--media-desloca:         var(--space-10);
--media-desloca-sm:      var(--space-8);
--media-largura-max:     420px;
--vitrine-visiveis:         3.3;
--vitrine-visiveis-tablet:  2.2;
--vitrine-visiveis-celular: 1.2;
--blog-capa-card:        200px;
--blog-capa-card-sm:     240px;
--blog-destaque-min:     420px;
--blog-capa-destaque-sm: 280px;
--blog-capa-relacionado: 160px;
--blog-miniatura:        88px;
--blog-busca-min:        200px;
--post-colunas:          minmax(0, 1fr) minmax(0, 1.3fr);
--post-capa-proporcao-tablet: 4 / 3;
--post-capa-sm:          300px;
--avatar-autor:          56px;
--blog-foco-imagem:      center 30%;
--evento-info-largura:   340px;
--participar-lado-largura: 340px;
--destaque-lateral-largura: 340px;
--retrato-proporcao: 4 / 5;
--retrato-foco:      center 25%;
--mapa-altura:        clamp(520px, 70vh, 640px);
--mapa-margem:        16px;
--mapa-legenda-min:   130px;
--mapa-ref-min:       170px;
--mapa-pino:          22px;
--mapa-amostra-largura: 28px;
--mapa-amostra-altura:  20px;
--mapa-icone:           26px;
--mapa-icone-igreja:    34px;
--mapa-icone-desenho:   16px;
--mapa-icone-desenho-igreja: 22px;
--mapa-halo: 0 0 2px var(--bg-subtle), 0 0 3px var(--bg-subtle), 0 0 4px var(--bg-subtle), 0 0 6px var(--bg-subtle);
--star-largura:  22px;
--star-altura:   29px;
--star-raio:     70px;
--star-duracao:  450ms;
--whatsapp-botao:         56px;
--whatsapp-icone:         30px;
--whatsapp-ponto:         10px;
--whatsapp-status-max:    220px;
--whatsapp-status-max-sm: 170px;
--border-width:         1px;
--border-width-control: 1.5px;
--border-width-strong:  2px;
--border-width-accent:  4px;
--focus-offset:         2px;
--focus-halo:           3px;
--radius-none: 0px;
--radius-xs:   2px;
--radius-sm:   4px;
--radius-md:   8px;
--radius-lg:   12px;
--radius-xl:   16px;
--radius-2xl:  20px;
--radius-full: 9999px;
--shadow-sm:  0 1px 2px rgba(0,30,51,0.06);
--shadow-md:  0 4px 10px rgba(0,30,51,0.08);
--shadow-lg:  0 12px 24px rgba(0,30,51,0.10);
--shadow-xl:  0 24px 48px rgba(0,30,51,0.14);
--gradient-hero:    linear-gradient(135deg, #001E33 0%, #0062A8 100%);
--gradient-primary: linear-gradient(135deg, #008ECB 0%, #1CB9FD 100%);
--gradient-cta:     linear-gradient(120deg, #001E33 0%, #001E33 38%, #1484C5 100%);
--duration-fast:   150ms;
--duration-normal: 250ms;
--ease-out:        cubic-bezier(0.16, 1, 0.3, 1);
--duration-marquee: 60s;
--duration-vitrine: 90s;
--lift-sm:         -2px;
--lift-md:         -3px;
--zoom-media:      1.04;
--z-base:    0;
--z-raised:  10;
--z-overlay: 100;
--z-modal:   200;
--z-nav:     300;
--z-cursor:  400;
}
@media (min-width: 641px) {
:root {
--text-prose: 18px;
--text-lead:  22px;
}
}
:root {
--sacramento-icone:          52px;
--sacramento-card-min:       240px;
--sacramento-doc-min:        260px;
--sacramento-caixa-min:      280px;
--sacramento-lista-largura:  880px;
--sacramento-passo-numero:   56px;
--sacramento-foto-proporcao: 4 / 3;
}
:root {
--navbar-seta:       16px;
--navbar-seta-traco: 2;
}
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { scroll-behavior: smooth; }
:root { scroll-padding-top: var(--header-offset); }
body {
font-family: var(--font);
font-size: var(--text-base);
font-weight: var(--fw-regular);
line-height: var(--leading-normal);
color: var(--text);
background: var(--bg);
-webkit-font-smoothing: antialiased;
}
img, svg, video { display: block; max-width: 100%; }
a { color: var(--color-link); text-decoration: none; }
a:hover { text-decoration: underline; }
button { font: inherit; cursor: pointer; border: none; background: none; }
:focus-visible { outline: var(--border-width-strong) solid var(--color-primary); outline-offset: var(--focus-offset); border-radius: var(--radius-sm); }
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
h1, .h1 { font-size: var(--text-5xl); font-weight: var(--fw-extrabold); line-height: var(--leading-tight); }
h2, .h2 { font-size: var(--text-4xl); font-weight: var(--fw-bold);      line-height: var(--leading-tight); }
h3, .h3 { font-size: var(--text-3xl); font-weight: var(--fw-bold);      line-height: var(--leading-snug); }
h4, .h4 { font-size: var(--text-2xl); font-weight: var(--fw-semibold);  line-height: var(--leading-snug); }
h5, .h5 { font-size: var(--text-xl);  font-weight: var(--fw-semibold);  line-height: var(--leading-normal); }
h6, .h6 { font-size: var(--text-lg);  font-weight: var(--fw-semibold);  line-height: var(--leading-normal); }
.text-lead    { font-size: var(--text-lg); color: var(--text-muted); }
.text-caption { font-size: var(--text-xs); color: var(--text-subtle); }
.text-label   { font-size: var(--text-xs); font-weight: var(--fw-semibold); letter-spacing: var(--tracking-caps); text-transform: uppercase; }
.text-muted   { color: var(--text-muted); }
.text-subtle  { color: var(--text-subtle); }
.text-inverse { color: var(--text-inverse); }
.text-primary { color: var(--color-link); }
.text-light   { color: var(--color-primary-light); }
.container {
width: 100%;
max-width: var(--container-max);
margin: 0 auto;
padding: 0 var(--page-gutter);
}
.section { padding: var(--space-12) 0; }
.section-sm { padding: var(--space-9) 0; }
.section--subtle { background: var(--bg-subtle); --color-link: var(--text-link-on-subtle); }
.section__eyebrow {
display: flex; align-items: center; gap: var(--space-3);
font-size: var(--text-xs); font-weight: var(--fw-semibold);
color: var(--text-muted); text-transform: uppercase;
letter-spacing: var(--tracking-caps); margin-bottom: var(--space-5);
}
.section__eyebrow::before {
content: ''; display: block; width: var(--eyebrow-dot); height: var(--eyebrow-dot);
border-radius: var(--radius-full); background: var(--color-primary-light);
flex-shrink: 0;
}
.section__title {
font-size: var(--text-4xl); font-weight: var(--fw-bold);
color: var(--text); line-height: var(--leading-tight);
margin-bottom: var(--space-5);
}
.section__lead {
font-size: var(--text-lg); color: var(--text-muted); max-width: var(--measure-lead);
}
.section__header {
display: flex; justify-content: space-between;
align-items: flex-end; gap: var(--space-8);
margin-bottom: var(--space-9);
}
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-7); }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-7); }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-7); }
.navbar {
position: sticky; top: var(--barra-admin); z-index: var(--z-nav);
background: var(--color-deep);
padding: var(--space-5) var(--page-gutter);
display: flex; align-items: center; justify-content: space-between;
}
.navbar__logo {
color: var(--text-inverse); font-weight: var(--fw-bold);
font-size: var(--text-lg); text-decoration: none;
display: flex; align-items: center; gap: var(--space-4);
min-height: var(--touch-target);
}
.navbar__logo:hover { text-decoration: none; }
.navbar__logo img { height: var(--logo-height-header); width: auto; }
.navbar__nav { display: flex; align-items: center; gap: var(--space-7); }
.navbar__link {
display: inline-flex; align-items: center; min-height: var(--touch-target);
color: var(--color-blue-300); font-size: var(--text-sm);
font-weight: var(--fw-medium); text-decoration: none;
transition: color var(--duration-fast);
}
.navbar__link:hover, .navbar__link.active { color: var(--text-inverse); text-decoration: none; }
.navbar__cta {
display: inline-flex; align-items: center; min-height: var(--touch-target);
background: var(--color-primary-light); color: var(--text-on-light);
padding: var(--space-3) var(--space-6); border-radius: var(--radius-full);
font-size: var(--text-sm); font-weight: var(--fw-bold);
text-decoration: none; transition: background var(--duration-fast);
white-space: nowrap;
}
.navbar__cta:hover { background: var(--color-primary); color: var(--text-inverse); text-decoration: none; }
@media (max-width: 359.98px) {
.navbar__logo img { height: var(--logo-height-header-xs); }
.navbar__cta { padding-inline: var(--space-4); }
}
.navbar--sobre-hero {
margin-bottom: calc(var(--header-height) * -1);
background: transparent; transition: background var(--duration-normal) var(--ease-out);
}
.navbar--sobre-hero::before {
content: ''; position: absolute; inset: 0 0 auto 0; z-index: -1; pointer-events: none;
height: calc(var(--header-height) * 2.5); background: var(--scrim-topo);
transition: opacity var(--duration-normal) var(--ease-out);
}
.navbar--sobre-hero .navbar__link { color: var(--text-inverse); }
.navbar--sobre-hero.is-solida, .no-js .navbar--sobre-hero { background: var(--color-deep); }
.navbar--sobre-hero.is-solida::before, .no-js .navbar--sobre-hero::before { opacity: 0; }
.navbar--sobre-hero.is-solida .navbar__link { color: var(--color-blue-300); }
.navbar--sobre-hero.is-solida .navbar__link:hover, .navbar--sobre-hero.is-solida .navbar__link.active { color: var(--text-inverse); }
.navbar__toggle {
display: none; color: var(--text-inverse);
min-width: var(--touch-target); min-height: var(--touch-target);
align-items: center; justify-content: center;
}
.hero {
background: var(--gradient-hero);
min-height: var(--hero-min-height); padding: var(--space-13) var(--page-gutter) var(--space-12);
display: flex; align-items: flex-end;
position: relative; overflow: hidden;
}
.hero--short { min-height: var(--hero-short-min-height); }
.hero--full  { min-height: calc(var(--viewport-full) - var(--header-height)); }
.hero--sob-header { min-height: var(--viewport-full); padding-top: calc(var(--header-height) + var(--space-11)); }
.hero--photo { background: var(--color-deep); }
.hero__media { position: absolute; inset: 0; z-index: var(--z-base); }
.hero__media img,
.hero__media video { width: 100%; height: 100%; object-fit: cover; }
.hero__media::after { content: ''; position: absolute; inset: 0; background: var(--scrim-photo); }
.hero--reforco .hero__media::before { content: ''; position: absolute; inset: 0; z-index: var(--z-raised); background: var(--scrim-hero); }
.hero__content { position: relative; z-index: var(--z-overlay); max-width: var(--measure-hero); }
.hero__eyebrow {
font-size: var(--text-sm); font-weight: var(--fw-semibold);
color: var(--text-inverse); margin-bottom: var(--space-5);
display: flex; align-items: center; gap: var(--space-3);
}
.hero__title {
font-size: var(--text-5xl); font-weight: var(--fw-extrabold);
color: var(--text-inverse); line-height: var(--leading-tight);
margin-bottom: var(--space-6);
}
.hero--full .hero__title { font-size: var(--text-hero); overflow-wrap: break-word; }
.hero__lead:has(+ .hero__lead) { margin-bottom: var(--space-4); }
.hero__legenda { font-weight: var(--fw-semibold); }
.section__acao { margin-top: var(--space-8); }
.cta-section__grid > * { min-width: 0; }
.cta-section__actions .btn { max-width: 100%; white-space: normal; text-align: center; }
.hero__lead {
font-size: var(--text-lg); color: var(--text-inverse);
line-height: var(--leading-relaxed); margin-bottom: var(--space-9);
max-width: var(--measure-hero-lead);
}
.hero__actions { display: flex; gap: var(--space-5); flex-wrap: wrap; }
.btn {
display: inline-flex; align-items: center; gap: var(--space-3);
min-height: var(--touch-target);
font-family: var(--font); font-weight: var(--fw-semibold);
font-size: var(--text-sm); line-height: var(--leading-none);
padding: var(--space-4) var(--space-7);
border-radius: var(--radius-full); border: var(--border-width-control) solid transparent;
cursor: pointer; text-decoration: none;
transition: all var(--duration-fast) var(--ease-out);
white-space: nowrap;
}
.btn:hover { text-decoration: none; }
.btn-sm  { font-size: var(--text-xs);  padding: var(--space-3) var(--space-5); }
.btn-lg  { font-size: var(--text-base); padding: var(--space-5) var(--space-9); }
.btn-pill { border-radius: var(--radius-full); }
.btn:focus-visible, .page-btn:focus-visible { border-radius: var(--radius-full); }
.btn-full { width: 100%; justify-content: center; }
.btn-primary  { background: var(--color-primary); color: var(--text-inverse); border-color: var(--color-primary); }
.btn-primary:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }
.btn-deep     { background: var(--color-deep); color: var(--text-inverse); }
.btn-deep:hover { background: var(--color-blue-900); }
.btn-light    { background: var(--color-primary-light); color: var(--text-on-light); border-color: var(--color-primary-light); }
.btn-light:hover { background: var(--color-primary); border-color: var(--color-primary); color: var(--text-inverse); }
.btn-secondary { background: var(--bg); color: var(--color-primary); border-color: var(--color-primary); }
.btn-secondary:hover { background: var(--color-primary-subtle); color: var(--color-primary-hover); border-color: var(--color-primary-hover); }
.btn-ghost    { background: transparent; color: var(--color-primary); border-color: var(--color-primary); }
.btn-ghost:hover { background: var(--color-primary-subtle); color: var(--color-primary-hover); border-color: var(--color-primary-hover); }
.btn-ghost-inverse { background: var(--white-a12); color: var(--text-inverse); border-color: var(--white-a30); }
.btn-ghost-inverse:hover { background: var(--white-a20); }
.btn-cta {
background: var(--color-primary-light); color: var(--text-on-light);
border-radius: var(--radius-full); font-weight: var(--fw-bold);
border-color: transparent;
}
.btn-cta:hover { background: var(--color-primary); color: var(--text-inverse); }
.btn:disabled { background: var(--bg-inset); color: var(--text-subtle); border-color: transparent; cursor: not-allowed; pointer-events: none; }
.badge {
display: inline-flex; align-items: center;
font-size: var(--text-xs); font-weight: var(--fw-semibold);
padding: var(--badge-pad-y) var(--space-4); border-radius: var(--radius-full); line-height: var(--leading-snug);
white-space: nowrap;
}
.badge-primary   { background: var(--color-primary-subtle); color: var(--color-primary-hover); }
.badge-light     { background: var(--bg-subtle); color: var(--text-muted); }
.badge-success   { background: var(--color-success-subtle); color: var(--color-success-text); }
.badge-danger    { background: var(--color-danger-subtle);  color: var(--color-danger-text); }
.badge-warning   { background: var(--color-warning-subtle); color: var(--color-warning-text); }
.badge-retiro    { background: var(--badge-retiro-bg);   color: var(--badge-retiro-text); }
.badge-missa     { background: var(--badge-missa-bg);    color: var(--badge-missa-text); }
.badge-festa     { background: var(--badge-festa-bg);    color: var(--badge-festa-text); }
.badge-formacao  { background: var(--badge-formacao-bg); color: var(--badge-formacao-text); }
.badge-pastoral    { background: var(--badge-pastoral-bg);   color: var(--badge-pastoral-text); }
.badge-ministerio  { background: var(--badge-ministerio-bg); color: var(--badge-ministerio-text); }
.badge-movimento   { background: var(--badge-movimento-bg);  color: var(--badge-movimento-text); }
.card, .card-schedule, .card-event-row, .card-pastoral, .card-group, .card-blog, .card-sacramento { --color-link: var(--color-primary); }
.card {
background: var(--bg); border: var(--border-width) solid var(--border);
border-radius: var(--radius-lg); padding: var(--space-7);
box-shadow: var(--shadow-sm);
}
.card.card-elevated { border: none; box-shadow: var(--shadow-md); }
.card.card-flat     { box-shadow: none; }
.card-schedule {
background: var(--bg);
border: var(--border-width) solid var(--border);
border-top: var(--border-width-accent) solid var(--color-primary);
border-radius: var(--radius-lg);
padding: var(--space-6);
box-shadow: var(--shadow-sm);
}
.card-schedule__day   { font-size: var(--text-xs); font-weight: var(--fw-semibold); color: var(--text-subtle); margin-bottom: var(--space-3); text-transform: uppercase; letter-spacing: var(--tracking-caps); }
.card-schedule__title { font-size: var(--text-base); font-weight: var(--fw-bold); color: var(--text); margin-bottom: var(--space-4); }
.card-schedule__time  { font-size: var(--text-sm); color: var(--text-muted); }
.card-schedule__divider { border: none; border-top: var(--border-width) solid var(--border); margin: var(--space-4) 0; }
.card-schedule-dark {
background: var(--color-deep);
border-radius: var(--radius-lg);
padding: var(--space-6);
}
.card-schedule-dark .card-schedule__day   { color: var(--color-primary-light); }
.card-schedule-dark .card-schedule__title { color: var(--text-inverse); }
.card-schedule-dark .card-schedule__time  { color: var(--white-a50); }
.card-schedule-dark .card-schedule__divider { border-color: var(--white-a10); }
.card-event-row {
display: flex; align-items: center; gap: var(--space-7);
padding: var(--space-5) var(--space-6);
border-bottom: var(--border-width) solid var(--border);
transition: background var(--duration-fast);
text-decoration: none; color: inherit;
}
.card-event-row:hover { background: var(--bg-subtle); text-decoration: none; --color-link: var(--text-link-on-subtle); }
.card-event-row__title { font-size: var(--text-base); font-weight: var(--fw-semibold); color: var(--text); flex: 1; }
.card-event-row__date  { font-size: var(--text-sm); color: var(--text-muted); white-space: nowrap; }
.card-event-row__arrow { color: var(--color-link); font-size: var(--text-lg); flex-shrink: 0; }
.card-pastoral {
background: var(--bg); border: var(--border-width) solid var(--border);
border-radius: var(--radius-lg); overflow: hidden;
box-shadow: var(--shadow-sm);
transition: box-shadow var(--duration-normal) var(--ease-out),
transform var(--duration-normal) var(--ease-out);
}
.card-pastoral:hover { box-shadow: var(--shadow-lg); transform: translateY(var(--lift-md)); }
.card-pastoral__image { aspect-ratio: 16/9; overflow: hidden; background: var(--bg-inset); }
.card-pastoral__image img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--duration-normal) var(--ease-out); }
.card-pastoral:hover .card-pastoral__image img { transform: scale(var(--zoom-media)); }
.card-pastoral__body  { padding: var(--space-6); }
.card-pastoral__title { font-size: var(--text-base); font-weight: var(--fw-bold); color: var(--text); margin: var(--space-4) 0 var(--space-3); }
.card-pastoral__desc  { font-size: var(--text-sm); color: var(--text-muted); line-height: var(--leading-relaxed); margin-bottom: var(--space-5); }
.card-pastoral__link  { font-size: var(--text-sm); font-weight: var(--fw-semibold); color: var(--color-link); }
.card-group {
display: flex; align-items: center; gap: var(--space-5);
background: var(--bg); border: var(--border-width) solid var(--border);
border-radius: var(--radius-lg); padding: var(--space-6);
box-shadow: var(--shadow-sm);
transition: box-shadow var(--duration-fast), transform var(--duration-fast);
}
.card-group:hover { box-shadow: var(--shadow-md); transform: translateY(var(--lift-sm)); }
.card-group__icon  { width: var(--icon-box); height: var(--icon-box); border-radius: var(--radius-md); background: var(--color-primary-subtle); color: var(--color-primary); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.card-group__icon svg { width: var(--icon-size); height: var(--icon-size); }
.card-group__title { font-size: var(--text-sm); font-weight: var(--fw-bold); color: var(--text); margin-bottom: var(--space-2); }
.card-group__link  { font-size: var(--text-xs); font-weight: var(--fw-semibold); color: var(--color-link); }
.card-blog {
position: relative; display: flex; flex-direction: column;
background: var(--bg); border: var(--border-width) solid var(--border);
border-radius: var(--radius-lg); overflow: hidden;
box-shadow: var(--shadow-sm);
transition: box-shadow var(--duration-normal) var(--ease-out),
transform var(--duration-normal) var(--ease-out);
}
.card-blog:hover { box-shadow: var(--shadow-lg); transform: translateY(var(--lift-md)); }
.card-blog:has(.card-blog__title a:focus-visible) { outline: var(--border-width-strong) solid var(--color-primary); outline-offset: var(--focus-offset); }
.card-blog__image { position: relative; flex-shrink: 0; height: var(--blog-capa-card); overflow: hidden; background: var(--bg-inset); }
.card-blog__image img { width: 100%; height: 100%; object-fit: cover; object-position: var(--blog-foco-imagem); transition: transform var(--duration-normal) var(--ease-out); }
.card-blog:hover .card-blog__image img { transform: scale(var(--zoom-media)); }
.card-blog__body   { display: flex; flex-direction: column; flex: 1; padding: var(--space-6); }
.card-blog__cat    { font-size: var(--text-xs); font-weight: var(--fw-semibold); color: var(--color-link); text-transform: uppercase; letter-spacing: var(--tracking-caps); margin-bottom: var(--space-3); }
.card-blog__title  {
font-size: var(--text-lg); font-weight: var(--fw-bold); color: var(--text); margin-bottom: var(--space-4); line-height: var(--leading-snug);
display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
}
.card-blog__desc   {
font-size: var(--text-sm); color: var(--text-muted); margin-bottom: var(--space-5); line-height: var(--leading-relaxed);
display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
}
.card-blog__title a, .card-pastoral__title a { color: inherit; }
.card-blog__link   { font-size: var(--text-sm); font-weight: var(--fw-semibold); color: var(--color-link); }
.card-blog__title a::after { content: ""; position: absolute; inset: 0; z-index: var(--z-raised); }
.card-sacramento {
background: var(--bg); border: var(--border-width) solid var(--border);
border-top: var(--border-width-accent) solid var(--color-primary-light);
border-radius: var(--radius-lg); padding: var(--space-7);
box-shadow: var(--shadow-sm);
}
.card-sacramento__title { font-size: var(--text-xl); font-weight: var(--fw-bold); color: var(--text); margin-bottom: var(--space-4); }
.card-sacramento__desc  { font-size: var(--text-sm); color: var(--text-muted); margin-bottom: var(--space-6); line-height: var(--leading-relaxed); }
.input-group { display: flex; flex-direction: column; gap: var(--space-2); }
.input-label { font-size: var(--text-sm); font-weight: var(--fw-semibold); color: var(--text-muted); }
.input-hint  { font-size: var(--text-xs); color: var(--text-subtle); }
.input-error-msg { font-size: var(--text-xs); color: var(--color-danger); }
.input {
font-family: var(--font); font-size: var(--text-base);
min-height: var(--touch-target);
padding: var(--space-4) var(--space-5);
border: var(--border-width-control) solid var(--border-control); border-radius: var(--radius-md);
background: var(--bg); color: var(--text); width: 100%;
transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
}
.input::placeholder { color: var(--text-subtle); }
.input:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 var(--focus-halo) var(--color-primary-subtle); }
.input:disabled { background: var(--bg-inset); color: var(--text-subtle); cursor: not-allowed; }
.input.input-error  { border-color: var(--color-danger); }
.input.input-error:focus { box-shadow: 0 0 0 var(--focus-halo) var(--color-danger-subtle); }
textarea.input { min-height: var(--textarea-min-height); resize: vertical; line-height: var(--leading-relaxed); }
.select-wrap { position: relative; }
.select-wrap .input { appearance: none; padding-right: var(--space-9); cursor: pointer; }
.select-wrap::after { content: '▾'; position: absolute; right: var(--space-5); top: 50%; transform: translateY(-50%); color: var(--text-subtle); pointer-events: none; }
.check-group, .radio-group { display: flex; flex-direction: column; gap: var(--space-4); }
.check-item, .radio-item  { display: flex; align-items: center; gap: var(--space-4); min-height: var(--touch-target); cursor: pointer; font-size: var(--text-sm); color: var(--text); }
.check-item input[type="checkbox"],
.radio-item  input[type="radio"] { width: var(--control-size); height: var(--control-size); accent-color: var(--color-primary); cursor: pointer; flex-shrink: 0; }
.alert {
display: flex; gap: var(--space-5); padding: var(--space-5) var(--space-6);
border-radius: var(--radius-md); border: var(--border-width) solid transparent;
border-left-width: var(--border-width-accent); font-size: var(--text-sm); line-height: var(--leading-relaxed);
}
.alert__icon  { flex-shrink: 0; margin-top: var(--space-1); }
.alert__icon svg { width: var(--icon-size); height: var(--icon-size); }
.alert__title { font-weight: var(--fw-semibold); margin-bottom: var(--space-2); }
.alert-info    { background: var(--color-primary-subtle); border-color: var(--color-primary);  color: var(--color-primary-hover); }
.alert-success { background: var(--color-success-subtle); border-color: var(--color-success);  color: var(--color-success-text); }
.alert-warning { background: var(--color-warning-subtle); border-color: var(--color-warning);  color: var(--color-warning-text); }
.alert-danger  { background: var(--color-danger-subtle);  border-color: var(--color-danger);   color: var(--color-danger-text); }
.tabs { display: flex; border-bottom: var(--border-width) solid var(--border); gap: 0; }
.tab  {
display: inline-flex; align-items: center; min-height: var(--touch-target);
padding: var(--space-4) var(--space-6); font-size: var(--text-sm);
font-weight: var(--fw-medium); color: var(--text-subtle);
border-bottom: var(--border-width-strong) solid transparent; margin-bottom: calc(var(--border-width) * -1);
cursor: pointer; transition: color var(--duration-fast), border-color var(--duration-fast);
white-space: nowrap; text-decoration: none;
}
.tab:hover { color: var(--color-link); text-decoration: none; }
.tab.tab-active { color: var(--color-link); border-bottom-color: var(--color-link); font-weight: var(--fw-semibold); }
.pagination { display: flex; align-items: center; gap: var(--space-3); }
.page-btn {
width: var(--touch-target); height: var(--touch-target); border-radius: var(--radius-full);
display: flex; align-items: center; justify-content: center;
font-size: var(--text-sm); font-weight: var(--fw-medium);
color: var(--text-muted); border: var(--border-width) solid var(--border);
cursor: pointer; transition: all var(--duration-fast);
text-decoration: none;
}
.page-btn:hover { border-color: var(--color-primary); color: var(--color-primary); text-decoration: none; }
.page-btn.active { background: var(--color-primary); color: var(--text-inverse); border-color: var(--color-primary); }
.page-btn.disabled { opacity: 0.4; cursor: not-allowed; pointer-events: none; }
.stats-bar {
display: grid; grid-template-columns: repeat(4, 1fr);
border-top: var(--border-width) solid var(--border); border-bottom: var(--border-width) solid var(--border);
padding: var(--space-9) 0;
}
.stat { padding: 0 var(--space-9); border-right: var(--border-width) solid var(--border); text-align: center; }
.stat:last-child { border-right: none; }
.stat__number {
font-size: var(--text-5xl); font-weight: var(--fw-extrabold);
color: var(--color-primary); line-height: var(--leading-none);
}
.stat__label  { font-size: var(--text-sm); color: var(--text-muted); margin-top: var(--space-3); }
.cta-section {
background: var(--color-deep);
padding: var(--space-13) var(--page-gutter);
text-align: center;
}
.cta-section__eyebrow { color: var(--color-blue-300); margin-bottom: var(--space-5); }
.cta-section__eyebrow::before { background: var(--color-primary-light); }
.cta-section__title { color: var(--text-inverse); margin-bottom: var(--space-6); font-weight: var(--fw-extrabold); }
.cta-section__lead  { color: var(--color-blue-300); margin: 0 auto var(--space-9); }
.cta-section__actions { display: flex; gap: var(--space-5); justify-content: center; flex-wrap: wrap; }
.for-grid {
display: grid; grid-template-columns: repeat(2, 1fr);
gap: var(--space-7); max-width: var(--container-narrow); margin: 0 auto;
}
.for-card {
background: var(--white-a06); border: var(--border-width) solid var(--white-a10);
border-radius: var(--radius-xl); padding: var(--space-8);
text-align: left;
transition: background var(--duration-fast);
}
.for-card:hover { background: var(--white-a10); }
.for-card__icon  { margin-bottom: var(--space-5); color: var(--color-primary-light); }
.for-card__icon svg { width: var(--icon-size-lg); height: var(--icon-size-lg); }
.for-card__title { font-size: var(--text-xl); font-weight: var(--fw-bold); color: var(--text-inverse); margin-bottom: var(--space-4); }
.for-card__desc  { font-size: var(--text-sm); color: var(--color-blue-300); line-height: var(--leading-relaxed); margin-bottom: var(--space-6); }
.for-card__link  { font-size: var(--text-sm); font-weight: var(--fw-semibold); color: var(--color-primary-light); }
.footer {
position: relative; overflow: hidden; isolation: isolate;
background: var(--color-deep);
padding: var(--space-12) var(--page-gutter) var(--space-8);
}
.footer__grid {
display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
gap: var(--space-10); margin-bottom: var(--space-10);
}
.footer__logo { color: var(--text-inverse); font-size: var(--text-xl); font-weight: var(--fw-bold); margin-bottom: var(--space-5); display: flex; align-items: center; gap: var(--space-4); }
.footer__logo img { height: var(--logo-height-footer); width: auto; }
.footer__desc { font-size: var(--text-sm); color: var(--color-blue-400); line-height: var(--leading-relaxed); }
.footer__heading { font-size: var(--text-xs); font-weight: var(--fw-semibold); text-transform: uppercase; letter-spacing: var(--tracking-caps); color: var(--color-blue-300); margin-bottom: var(--space-5); }
.footer__link { display: flex; align-items: center; min-height: var(--touch-target); font-size: var(--text-sm); color: var(--color-blue-400); text-decoration: none; transition: color var(--duration-fast); }
.footer__link:hover { color: var(--text-inverse); text-decoration: none; }
.footer__socials { display: flex; gap: var(--space-5); margin-top: var(--space-6); }
.footer__social { display: inline-flex; align-items: center; justify-content: center; min-width: var(--touch-target); min-height: var(--touch-target); color: var(--color-blue-400); transition: color var(--duration-fast); text-decoration: none; }
.footer__social svg { width: var(--icon-size); height: var(--icon-size); }
.footer__social:hover { color: var(--text-inverse); }
.footer__bottom {
padding-top: var(--space-7); border-top: var(--border-width) solid var(--white-a08);
display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--space-4);
}
.footer__copy { font-size: var(--text-xs); color: var(--color-blue-300); flex: 1 1 320px; max-width: 560px; }
.footer-slogan {
position: absolute; left: 0; right: 0; bottom: 0; z-index: -1;
overflow: hidden; pointer-events: none;
}
.footer-slogan__trilho { display: flex; width: max-content; }
.footer-slogan__texto::before { content: attr(data-texto); }
.footer-slogan__texto {
font-size: var(--text-display); font-weight: var(--fw-extrabold);
line-height: var(--leading-tight); color: var(--color-deep-raised);
white-space: nowrap; padding-right: var(--space-11);
}
.footer-slogan--animado .footer-slogan__trilho { animation: footer-slogan-rolar var(--duration-marquee) linear infinite; }
.footer.is-paused .footer-slogan__trilho { animation-play-state: paused; }
.footer-slogan__texto { margin-bottom: calc(var(--text-display) * -0.25); }
@media (max-width: 640px) {
.footer-slogan__texto { font-size: calc(var(--text-display) * 1.5); margin-bottom: calc(var(--text-display) * -0.375); }
}
@keyframes footer-slogan-rolar { to { transform: translateX(-50%); } }
.footer-slogan__pausa {
display: inline-flex; align-items: center; gap: var(--space-3);
min-height: var(--touch-target); padding: 0 var(--space-5);
font-size: var(--text-xs); font-weight: var(--fw-semibold); color: var(--color-blue-300);
border: var(--border-width) solid var(--white-a30); border-radius: var(--radius-full);
transition: color var(--duration-fast), border-color var(--duration-fast);
}
.footer-slogan__pausa:hover { color: var(--text-inverse); border-color: var(--text-inverse); }
.footer-slogan__pausa svg { width: var(--icon-size); height: var(--icon-size); }
.footer-slogan__pausa[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
.footer-slogan__trilho { animation: none !important; }
.footer-slogan__pausa { display: none; }
}
.skip-link {
position: absolute; top: var(--space-3); left: var(--space-3); z-index: calc(var(--z-nav) + 1);
padding: var(--space-4) var(--space-6); border-radius: var(--radius-md);
background: var(--bg); color: var(--color-primary-hover);
font-weight: var(--fw-bold); box-shadow: var(--shadow-lg);
transform: translateY(-200%);
margin-top: var(--barra-admin-topo);
}
.skip-link:focus { transform: none; }
.avatar {
border-radius: var(--radius-full); overflow: hidden;
background: var(--color-primary-subtle); display: flex;
align-items: center; justify-content: center;
color: var(--color-primary-hover); font-weight: var(--fw-bold);
flex-shrink: 0;
}
.avatar-sm  { width: var(--avatar-sm); height: var(--avatar-sm); font-size: var(--text-xs); }
.avatar-md  { width: var(--avatar-md); height: var(--avatar-md); font-size: var(--text-sm); }
.avatar-lg  { width: var(--avatar-lg); height: var(--avatar-lg); font-size: var(--text-base); }
.avatar-xl  { width: var(--avatar-xl); height: var(--avatar-xl); font-size: var(--text-xl); }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.divider { border: none; border-top: var(--border-width) solid var(--border); margin: var(--space-8) 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.em-destaque { font-style: italic; font-weight: var(--fw-extrabold); }
.section__title, .frase-identidade, .section__title--serifada, .section__title--contraste, .post-titulo, .hero__title { text-wrap: balance; }
.hero--full .hero__title { text-wrap: wrap; }
.section__title--contraste { font-weight: var(--fw-regular); }
.section__title--serifada { font-weight: var(--fw-bold); }
.frase-identidade--serifada { font-weight: var(--fw-semibold); }
.section__title--serifada .em-destaque,
.frase-identidade--serifada .em-destaque,
.hero__title--serifada .em-destaque,
.section__lead--serifada .em-destaque {
font-family: var(--font-serif); font-style: italic; font-weight: var(--fw-regular);
font-size: var(--serif-escala); letter-spacing: var(--serif-tracking); line-height: var(--serif-leading);
}
.section__title--serifada .em-destaque,
.frase-identidade--serifada .em-destaque,
.hero__title--serifada .em-destaque { white-space: nowrap; }
.section__lead--serifada { font-weight: var(--fw-medium); }
.btn-seta {
display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
width: var(--touch-target); height: var(--touch-target); border-radius: var(--radius-full);
background: var(--color-deep); color: var(--text-inverse);
transition: background var(--duration-fast);
}
.btn-seta:hover { background: var(--color-primary); text-decoration: none; }
.btn-seta svg { width: var(--icon-size); height: var(--icon-size); }
.section__aside { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); max-width: var(--measure-lead); }
.section__aside .btn-seta { align-self: flex-end; }
.identidade { padding: var(--space-identidade-topo) 0 var(--space-identidade-base); }
.identidade .container { display: flex; flex-direction: column; align-items: center; text-align: center; }
.identidade .section__eyebrow { justify-content: center; margin-bottom: var(--space-7); }
.frase-identidade {
max-width: var(--measure-frase); margin: 0 auto;
font-size: var(--text-frase); font-weight: var(--fw-semibold);
line-height: var(--leading-frase); letter-spacing: var(--tracking-frase);
color: var(--text);
}
.frase-identidade--serifada .em-destaque { line-height: var(--leading-none); letter-spacing: 0; }
.identidade__link {
display: inline-flex; align-items: center; gap: var(--space-3); min-height: var(--touch-target);
margin-top: var(--space-9); font-size: var(--text-base); font-weight: var(--fw-semibold); color: var(--color-link);
text-decoration: underline; text-decoration-thickness: var(--border-width); text-underline-offset: var(--space-2);
}
.identidade__link svg { width: var(--icon-size); height: var(--icon-size); }
.paroco { display: flex; align-items: center; gap: var(--space-5); }
.paroco__foto { width: var(--avatar-lg); height: var(--avatar-lg); }
.paroco__nome { font-size: var(--text-sm); font-weight: var(--fw-bold); color: var(--text); }
.paroco__cargo { font-size: var(--text-xs); color: var(--text-muted); }
.paroco__frase { font-size: var(--text-sm); color: var(--text-muted); line-height: var(--leading-relaxed); margin-top: var(--space-2); }
.paroco--amplo { gap: var(--space-8); }
.paroco--amplo .paroco__foto { width: var(--avatar-2xl); height: var(--avatar-2xl); }
.paroco--amplo .paroco__nome { font-size: var(--text-xl); }
.paroco--amplo .paroco__frase { font-size: var(--text-lg); }
.aviso-faixa {
display: flex; align-items: flex-start; gap: var(--space-4);
padding: var(--space-4) var(--space-6); margin-bottom: var(--space-7);
background: var(--color-primary-subtle); color: var(--color-primary-hover);
border-left: var(--border-width-accent) solid var(--color-primary);
border-radius: var(--radius-md);
font-size: var(--text-sm); line-height: var(--leading-normal);
}
.aviso-faixa svg { width: var(--icon-size); height: var(--icon-size); flex-shrink: 0; }
.aviso-faixa__titulo { font-weight: var(--fw-bold); }
.grade-horarios { display: grid; gap: var(--space-6); grid-template-columns: repeat(auto-fit, minmax(var(--card-horario-min), 1fr)); }
.grade-horarios--1 { grid-template-columns: 1fr; }
.grade-horarios--2 { grid-template-columns: repeat(2, 1fr); }
.grade-horarios--3 { grid-template-columns: repeat(3, 1fr); }
.grade-horarios--4 { grid-template-columns: repeat(4, 1fr); }
.grade-horarios--5 { grid-template-columns: repeat(5, 1fr); }
.card-schedule__item + .card-schedule__item { margin-top: var(--space-4); }
.card-schedule__title { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.card-schedule-dark .badge { background: var(--white-a12); color: var(--text-inverse); }
.card-schedule__nota { font-size: var(--text-xs); color: var(--text-muted); line-height: var(--leading-normal); margin-top: var(--space-2); }
.card-schedule-dark .card-schedule__nota { color: var(--color-blue-300); }
.card-schedule__mensal {
display: inline-block; margin-top: var(--space-3); padding: var(--space-1) var(--space-3);
border-radius: var(--radius-sm); background: var(--color-primary-subtle); color: var(--color-primary-hover);
font-size: var(--text-xs); font-weight: var(--fw-semibold); line-height: var(--leading-normal);
}
.card-schedule-dark .card-schedule__mensal { background: var(--white-a12); color: var(--text-inverse); }
.lista-dias { display: grid; grid-template-columns: max-content 1fr; column-gap: var(--space-6); }
.lista-dias__dia, .lista-dias__programacao { padding: var(--space-4) 0; border-top: var(--border-width) solid var(--border); }
.lista-dias__dia:first-of-type, .lista-dias__dia:first-of-type + .lista-dias__programacao { border-top: none; padding-top: 0; }
.lista-dias__dia { font-size: var(--text-xs); font-weight: var(--fw-semibold); color: var(--text-muted); text-transform: uppercase; letter-spacing: var(--tracking-caps); line-height: var(--leading-snug); }
.lista-dias__programacao { margin: 0; }
.lista-dias .card-schedule__title { margin-bottom: var(--space-1); }
.lista-dias .card-schedule__divider { margin: var(--space-3) 0; }
.card-schedule-dark .lista-dias__dia { color: var(--color-primary-light); }
.card-schedule-dark .lista-dias__dia, .card-schedule-dark .lista-dias__programacao { border-color: var(--white-a10); }
.grade-horarios--semana { align-items: start; }
.grade-horarios--semana-3 { grid-template-columns: 1fr 1fr 2fr; }
.grade-horarios--semana-2 { grid-template-columns: 1fr 2fr; }
.card-media {
position: relative; display: block; width: 100%; aspect-ratio: var(--media-proporcao);
border-radius: var(--radius-lg); overflow: hidden;
background: var(--bg-inset); color: var(--text-inverse);
}
.card-media:hover { text-decoration: none; }
.card-media--sem-midia { background: var(--color-deep); }
.card-media--video { background: var(--color-deep); }
.card-media--sem-midia .card-media__nome, .card-media--sem-midia .card-media__legenda { opacity: 1; }
.card-media__embed { position: absolute; top: 0; left: 50%; height: 100%; width: var(--video-embed-largura); transform: translateX(-50%); border: 0; pointer-events: none; }
.card-media__midia, .card-media__midia img, .card-media__midia video {
position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.card-media__midia img, .card-media__midia video { transition: filter var(--duration-normal) var(--ease-out); }
.card-media::after {
content: ''; position: absolute; inset: 0; background: var(--scrim-text);
transition: background var(--duration-normal) var(--ease-out);
}
.card-media__nome {
position: absolute; left: var(--space-5); right: var(--space-5); bottom: var(--space-5); z-index: var(--z-raised);
font-size: var(--text-base); font-weight: var(--fw-bold); line-height: var(--leading-snug);
transition: opacity var(--duration-normal) var(--ease-out);
}
.card-media__legenda {
position: absolute; left: var(--space-5); right: var(--space-5); bottom: var(--space-5); z-index: var(--z-raised);
display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3);
transition: opacity var(--duration-normal) var(--ease-out);
}
.card-media__legenda .card-media__nome { position: static; opacity: 1; }
.card-media__texto { font-size: var(--text-sm); line-height: var(--leading-snug); }
.card-media__botao {
display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--touch-target);
padding: 0 var(--space-5); border-radius: var(--radius-full);
background: var(--color-primary-light); color: var(--text-on-light);
font-size: var(--text-sm); font-weight: var(--fw-bold);
}
@media (hover: hover) and (pointer: fine) {
.card-media::after { background: transparent; }
.card-media__nome { opacity: 0; }
.card-media__legenda { opacity: 0; }
.card-media:hover .card-media__legenda, .card-media:focus-visible .card-media__legenda { opacity: 1; }
.card-media:hover::after, .card-media:focus-visible::after { background: var(--scrim-media); }
.card-media:hover .card-media__midia img, .card-media:hover .card-media__midia video,
.card-media:focus-visible .card-media__midia img, .card-media:focus-visible .card-media__midia video { filter: blur(var(--blur-media)); }
.card-media:hover .card-media__nome, .card-media:focus-visible .card-media__nome { opacity: 1; }
}
.vitrine { position: relative; --vitrine-n: var(--vitrine-visiveis); }
.vitrine__controles { display: flex; justify-content: flex-end; margin-bottom: var(--space-5); }
.vitrine__controles[hidden] { display: none; }
.vitrine__janela {
overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
padding-inline: var(--page-gutter);
scroll-padding-inline: var(--page-gutter);
}
.vitrine__janela::-webkit-scrollbar { display: none; }
.vitrine__trilho {
display: flex; align-items: flex-start; gap: var(--space-6); width: max-content;
list-style: none; padding: 0 0 var(--media-desloca);
}
.vitrine__trilho > li {
scroll-snap-align: start; flex-shrink: 0;
width: min(calc((100vw - var(--page-gutter)) / var(--vitrine-n) - var(--space-6)), var(--media-largura-max));
}
.vitrine__trilho > li:nth-child(even) { margin-top: var(--media-desloca); }
.vitrine--animada .vitrine__janela { overflow: hidden; scroll-snap-type: none; padding-inline: 0; }
.vitrine--animada .vitrine__trilho { gap: 0; animation: vitrine-rolar var(--duration-vitrine) linear infinite; }
.vitrine--animada .vitrine__trilho > li { margin-right: var(--space-6); }
.vitrine--animada:hover .vitrine__trilho,
.vitrine--animada:focus-within .vitrine__trilho,
.vitrine--animada.is-paused .vitrine__trilho { animation-play-state: paused; }
@keyframes vitrine-rolar { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
.vitrine--animada .vitrine__trilho { animation: none !important; }
}
.vitrine__pausa {
display: inline-flex; align-items: center; gap: var(--space-3);
min-height: var(--touch-target); padding: 0 var(--space-5);
font-size: var(--text-xs); font-weight: var(--fw-semibold); color: var(--text-muted);
border: var(--border-width) solid var(--border-strong); border-radius: var(--radius-full);
transition: color var(--duration-fast), border-color var(--duration-fast);
}
.vitrine__pausa:hover { color: var(--color-link); border-color: var(--color-link); }
.vitrine__pausa svg { width: var(--icon-size); height: var(--icon-size); }
.vitrine__icone-play { display: none; }
.vitrine.is-paused .vitrine__icone-pausa { display: none; }
.vitrine.is-paused .vitrine__icone-play { display: block; }
.lista-eventos { list-style: none; padding: 0; border-top: var(--border-width) solid var(--border); }
.card-event-row:not(a):hover { background: transparent; }
.lista-eventos .card-event-row {
display: grid; align-items: center; gap: var(--space-5);
grid-template-columns: 1fr var(--evento-col-categoria) var(--evento-col-data) var(--icon-size);
}
.lista-eventos .card-event-row > .badge { justify-self: start; }
.lista-eventos .card-event-row__date { text-align: right; }
@media (max-width: 640px) {
.lista-eventos .card-event-row { grid-template-columns: auto 1fr var(--icon-size); row-gap: var(--space-3); }
.lista-eventos .card-event-row__title { grid-column: 1 / -1; }
.lista-eventos .card-event-row__date { text-align: left; }
}
.card-event-row__arrow { display: inline-flex; width: var(--icon-size); }
.card-event-row__arrow svg { width: var(--icon-size); height: var(--icon-size); }
.cta-section--clara { background: var(--bg); text-align: left; }
.cta-section--clara .cta-section__grid {
display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-11); align-items: center;
max-width: var(--container-max); margin: 0 auto;
}
.cta-section--clara .cta-section__eyebrow { color: var(--text-muted); }
.cta-section--clara .cta-section__title { color: var(--text); font-size: var(--text-4xl); line-height: var(--leading-tight); }
.cta-section--clara .cta-section__subtitulo { display: block; font-weight: var(--fw-regular); }
.cta-section--clara .cta-section__lead { color: var(--text-muted); margin: 0 0 var(--space-8); }
.cta-section--clara .cta-section__actions { justify-content: flex-start; }
.colagem { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); align-items: start; }
.colagem__foto { border-radius: var(--radius-lg); overflow: hidden; background: var(--bg-inset); aspect-ratio: 4 / 5; }
.colagem__foto img { width: 100%; height: 100%; object-fit: cover; }
.colagem__foto:nth-child(2) { margin-top: var(--space-11); aspect-ratio: 3 / 5; }
.colagem__foto:nth-child(4) { grid-column: 1; margin-top: calc(var(--space-11) * -1); aspect-ratio: 4 / 3; }
@media (max-width: 1024px) {
.vitrine { --vitrine-n: var(--vitrine-visiveis-tablet); }
.grade-horarios--semana-3 { grid-template-columns: repeat(2, 1fr); }
.grade-horarios--semana-3 > .card-schedule--largo { grid-column: 1 / -1; }
.grade-horarios--semana-2 { grid-template-columns: 1fr; }
.grade-horarios--4 { grid-template-columns: repeat(2, 1fr); }
.grade-horarios--5 { grid-template-columns: repeat(6, 1fr); }
.grade-horarios--5 > * { grid-column: span 2; }
.grade-horarios--5 > :nth-child(n+4) { grid-column: span 3; }
.cta-section--clara .cta-section__grid { gap: var(--space-9); }
}
@media (max-width: 768px) {
.cta-section--clara .cta-section__grid { grid-template-columns: 1fr; }
.cta-section--clara .cta-section__title { font-size: var(--text-2xl); }
.section__aside .btn-seta { align-self: flex-start; }
}
@media (max-width: 640px) {
.grade-horarios, .grade-horarios--2, .grade-horarios--4, .grade-horarios--5, .grade-horarios--semana-3 { grid-template-columns: 1fr; }
.grade-horarios--5 > *, .grade-horarios--5 > :nth-child(n+4) { grid-column: auto; }
.vitrine { --vitrine-n: var(--vitrine-visiveis-celular); }
.vitrine__trilho { padding-bottom: var(--media-desloca-sm); }
.vitrine__trilho > li:nth-child(even) { margin-top: var(--media-desloca-sm); }
.cta-section--clara .cta-section__actions { align-items: flex-start; }
}
.badge-entrada { align-self: flex-start; }
.badge-entrada--aberto      { background: var(--color-success-subtle); color: var(--color-success-text); }
.badge-entrada--inscricao   { background: var(--color-primary-subtle); color: var(--color-primary-hover); }
.badge-entrada--coordenacao { background: var(--color-warning-subtle); color: var(--color-warning-text); }
.badge-entrada--convite     { background: var(--bg-subtle); color: var(--text-muted); }
.card-grupo {
position: relative; display: flex; flex-direction: column;
background: var(--bg); border: var(--border-width) solid var(--border);
border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm);
transition: box-shadow var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);
--color-link: var(--color-primary);
}
.card-grupo:hover { box-shadow: var(--shadow-lg); transform: translateY(var(--lift-md)); }
.card-grupo__foto { aspect-ratio: 16 / 9; background: var(--bg-inset); }
.card-grupo__foto img { width: 100%; height: 100%; object-fit: cover; }
.card-grupo__corpo { display: flex; flex-direction: column; gap: var(--space-3); flex: 1; padding: var(--space-6); }
.card-grupo__titulo { font-size: var(--text-lg); font-weight: var(--fw-bold); line-height: var(--leading-snug); color: var(--text); }
.card-grupo__titulo a { color: inherit; }
.card-grupo__titulo a::after { content: ''; position: absolute; inset: 0; z-index: var(--z-raised); }
.card-grupo__tipo { font-size: var(--text-xs); color: var(--text-muted); }
.card-grupo__resumo { font-size: var(--text-sm); color: var(--text-muted); line-height: var(--leading-relaxed); }
.card-grupo__marcas { display: flex; flex-wrap: wrap; gap: var(--space-2); list-style: none; padding: 0; }
.card-grupo__acao {
display: inline-flex; align-items: center; gap: var(--space-2); margin-top: auto; padding-top: var(--space-3);
font-size: var(--text-sm); font-weight: var(--fw-semibold); color: var(--color-link);
}
.card-grupo__acao svg { width: var(--icon-size); height: var(--icon-size); }
.chip-row { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.chip {
display: inline-flex; align-items: center; min-height: var(--touch-target); padding: 0 var(--space-5);
border: var(--border-width) solid var(--border-control); border-radius: var(--radius-full);
font-size: var(--text-sm); font-weight: var(--fw-medium); color: var(--text-muted); text-decoration: none;
transition: background var(--duration-fast), color var(--duration-fast);
}
.chip:hover { background: var(--color-primary-subtle); color: var(--color-primary-hover); text-decoration: none; }
.chip--active, .chip--active:hover { background: var(--color-deep); border-color: var(--color-deep); color: var(--text-inverse); }
.alternador { display: inline-flex; gap: var(--space-1); padding: var(--space-1); border: var(--border-width) solid var(--border-control); border-radius: var(--radius-full); }
.alternador__opcao {
display: inline-flex; align-items: center; min-height: var(--touch-target); padding: 0 var(--space-6);
border-radius: var(--radius-full); font-size: var(--text-sm); font-weight: var(--fw-semibold); color: var(--text-muted);
}
.alternador__opcao:hover { color: var(--color-primary-hover); text-decoration: none; }
.alternador__opcao[aria-current="true"] { background: var(--color-deep); color: var(--text-inverse); }
.mapa-grupos__controles { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); margin-bottom: var(--space-7); }
.mapa-grupos__limpar { font-size: var(--text-sm); }
.mapa-grupos__total { font-size: var(--text-sm); color: var(--text-muted); margin-bottom: var(--space-8); }
.mapa-grupos__vazio { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6); padding: var(--space-10) 0; }
.dimensao { margin-bottom: var(--space-11); scroll-margin-top: var(--header-offset); }
.dimensao__cabecalho { margin-bottom: var(--space-7); }
.dimensao__titulo { font-size: var(--text-2xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); }
.dimensao__legenda { margin-top: var(--space-3); max-width: var(--measure-lead); color: var(--text-muted); }
.area-lideres { margin-top: var(--space-10); padding-top: var(--space-9); border-top: var(--border-width) solid var(--border); }
.area-lideres__titulo { font-size: var(--text-xl); font-weight: var(--fw-bold); margin-bottom: var(--space-3); }
.area-lideres__texto { color: var(--text-muted); margin-bottom: var(--space-5); }
.area-lideres__lista { display: flex; flex-wrap: wrap; gap: var(--space-3); list-style: none; padding: 0; }
.area-lideres__lista li { padding: var(--space-2) var(--space-4); border-radius: var(--radius-full); background: var(--bg-subtle); font-size: var(--text-sm); color: var(--text-muted); }
.area-lideres__lista a { color: var(--text-link-on-subtle); }
.pagina-grupo > * { max-width: var(--measure-prose); margin-inline: auto; }
.pagina-grupo__voltar { margin-bottom: var(--space-7); font-size: var(--text-sm); font-weight: var(--fw-semibold); }
.pagina-grupo__voltar a { display: inline-flex; align-items: center; min-height: var(--touch-target); }
.pagina-grupo__cabecalho { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-bottom: var(--space-9); }
.pagina-grupo__cabecalho .post-titulo { margin-bottom: 0; }
.pagina-grupo__formal, .pagina-grupo__pai { color: var(--text-muted); }
.pagina-grupo__texto { margin-bottom: var(--space-9); }
.ficha-grupo { margin-bottom: var(--space-11); border-top: var(--border-width) solid var(--border); }
.ficha-grupo__item {
display: grid; grid-template-columns: var(--ficha-col-rotulo) 1fr; gap: var(--space-5);
padding: var(--space-5) 0; border-bottom: var(--border-width) solid var(--border);
}
.ficha-grupo__rotulo { font-size: var(--text-xs); font-weight: var(--fw-semibold); text-transform: uppercase; letter-spacing: var(--tracking-caps); color: var(--text-muted); padding-top: var(--space-1); }
.ficha-grupo__valor { margin: 0; line-height: var(--leading-relaxed); }
.form-interesse { max-width: var(--measure-prose); margin-inline: auto; scroll-margin-top: var(--header-offset); }
.form-interesse__titulo { font-size: var(--text-2xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); margin-bottom: var(--space-4); }
.form-interesse__intro { color: var(--text-muted); margin-bottom: var(--space-7); }
.form-interesse__form { display: grid; gap: var(--space-6); }
.form-interesse__dupla { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
.form-interesse__dupla + .input-hint { margin-top: calc(var(--space-5) * -1); }
.form-interesse__obrigatorio { font-weight: var(--fw-regular); }
.form-interesse__grupo { border: 0; padding: 0; margin: 0; }
.form-interesse__opcoes { flex-direction: row; flex-wrap: wrap; column-gap: var(--space-7); margin-top: var(--space-2); }
.form-interesse__privacidade { display: grid; gap: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); line-height: var(--leading-relaxed); }
.form-interesse__privacidade .check-item { align-items: flex-start; color: var(--text); }
.form-interesse__privacidade .check-item input { margin-top: var(--space-1); }
.form-interesse__lista-erros { margin-top: var(--space-2); padding-left: var(--space-6); }
.form-interesse__lista-erros a { color: inherit; text-decoration: underline; }
.form-interesse__form .btn { justify-self: start; }
.form-interesse__aviso { font-size: var(--text-sm); }
.form-interesse__privacidade a, .form-interesse .input-hint a { text-decoration: underline; }
.form-interesse .alert { margin-bottom: var(--space-7); }
.form-interesse .alert svg { width: var(--icon-size); height: var(--icon-size); flex-shrink: 0; }
.form-interesse__armadilha { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.navbar__lista .menu-item-has-children { position: relative; }
.navbar__lista .sub-menu {
display: none; position: absolute; top: 100%; left: calc(var(--space-5) * -1); z-index: var(--z-nav);
min-width: var(--submenu-largura); padding: var(--space-3) var(--space-5);
list-style: none; background: var(--color-deep); border-radius: var(--radius-md); box-shadow: var(--shadow-lg);
}
.navbar__lista .menu-item-has-children:hover > .sub-menu,
.navbar__lista .menu-item-has-children:focus-within > .sub-menu { display: block; }
.navbar__lista .sub-menu .navbar__link { color: var(--color-blue-300); }
.navbar__lista .sub-menu .navbar__link:hover { color: var(--text-inverse); }
@media (max-width: 768px) {
.navbar__lista .sub-menu { display: none !important; }
.ficha-grupo__item { grid-template-columns: 1fr; gap: var(--space-2); }
}
@media (max-width: 640px) {
.form-interesse__dupla { grid-template-columns: 1fr; }
.chip-row { align-self: stretch; min-width: 0; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(var(--page-gutter) * -1); padding-right: var(--page-gutter); }
.chip-row::-webkit-scrollbar { display: none; }
.chip { flex-shrink: 0; }
.form-interesse__form .btn { justify-self: stretch; justify-content: center; }
}
@supports selector(:has(a)) {
.card-blog__title a:focus-visible { outline: none; }
}
.card-blog__tag { position: absolute; top: var(--space-4); left: var(--space-4); z-index: var(--z-raised); }
.card-blog__tag-linha { display: none; }
.card-blog__rotulo {
font-size: var(--text-xs); font-weight: var(--fw-semibold); text-transform: uppercase;
letter-spacing: var(--tracking-caps); color: var(--color-primary-light); margin-bottom: var(--space-4);
}
.card-blog__rodape {
display: flex; align-items: center; justify-content: space-between; gap: var(--space-5);
margin-top: auto; padding-top: var(--space-5); border-top: var(--border-width) solid var(--border);
}
.card-blog__meta { font-size: var(--text-sm); color: var(--text-muted); line-height: var(--leading-snug); }
.card-blog__arrow {
display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
width: var(--touch-target); height: var(--touch-target); border-radius: var(--radius-full);
background: var(--color-deep); color: var(--text-inverse);
transition: background var(--duration-fast), color var(--duration-fast);
}
.card-blog__arrow svg { width: var(--icon-size); height: var(--icon-size); }
.card-blog:hover .card-blog__arrow { background: var(--color-primary); color: var(--text-inverse); }
.card-blog--featured {
grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr;
min-height: var(--blog-destaque-min);
background: var(--color-deep); border-color: var(--color-deep);
}
.card-blog--featured .card-blog__image { height: auto; }
.card-blog--featured .card-blog__body { justify-content: flex-end; padding: var(--space-9); }
.card-blog--featured .card-blog__title { font-size: var(--text-2xl); line-height: var(--leading-tight); color: var(--text-inverse); -webkit-line-clamp: 4; line-clamp: 4; }
.card-blog--featured .card-blog__desc { font-size: var(--text-base); color: var(--color-blue-300); -webkit-line-clamp: 3; line-clamp: 3; }
.card-blog--featured .card-blog__rodape { margin-top: var(--space-5); border-top-color: var(--white-a10); }
.card-blog--featured .card-blog__meta { color: var(--color-blue-300); }
.card-blog--featured .card-blog__arrow { background: var(--color-primary-light); color: var(--text-on-light); }
.card-blog--relacionado .card-blog__image { height: var(--blog-capa-relacionado); }
.hero.hero--compacto { min-height: var(--hero-short-min-height); }
.hero--compacto .hero__lead { margin-bottom: 0; }
.blog-filtros { padding: var(--space-7) 0; border-bottom: var(--border-width) solid var(--border); }
.blog-filtros__interno { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-5) var(--space-7); }
.blog-filtros .chip-row { flex: 1 1 auto; min-width: 0; }
.blog-busca { display: flex; gap: var(--space-3); flex: 0 1 auto; min-width: var(--blog-busca-min); }
.blog-busca .input { min-width: 0; }
.blog-busca__botao { flex-shrink: 0; width: var(--touch-target); padding: 0; justify-content: center; }
.blog-busca__botao svg { width: var(--icon-size); height: var(--icon-size); }
.blog-grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-7); }
.blog-lista__status { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-3) var(--space-5); margin-bottom: var(--space-8); font-size: var(--text-sm); color: var(--text-muted); }
.blog-lista__status a { font-weight: var(--fw-semibold); }
.blog-mais { display: flex; flex-direction: column; align-items: center; gap: var(--space-5); margin-top: var(--space-10); }
.blog-mais__anterior { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--touch-target); font-size: var(--text-sm); font-weight: var(--fw-semibold); }
.blog-mais__anterior svg { width: var(--icon-size); height: var(--icon-size); }
.blog-mais__erro { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); font-size: var(--text-sm); color: var(--color-danger-text); }
.estado-vazio { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6); padding: var(--space-10) 0; max-width: var(--measure-lead); }
.estado-vazio__titulo { font-size: var(--text-2xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); color: var(--text); }
.estado-vazio__texto { color: var(--text-muted); }
.estado-vazio .chip-row { align-self: stretch; }
.post-layout { display: grid; grid-template-columns: var(--post-colunas); align-items: start; }
.post-cover {
position: sticky; top: calc(var(--header-height) + var(--barra-admin));
display: flex; flex-direction: column;
height: calc(var(--viewport-full) - var(--header-height) - var(--barra-admin));
}
.post-cover__midia { position: relative; flex: 1; min-height: 0; overflow: hidden; background: var(--bg-inset); }
.post-cover__midia img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--blog-foco-imagem); }
.post-cover__faixa { padding: var(--space-6) var(--page-gutter); background: var(--color-deep); color: var(--color-blue-300); font-size: var(--text-sm); }
.post-cover__frase { margin-top: var(--space-3); color: var(--text-inverse); font-size: var(--text-lg); font-weight: var(--fw-regular); line-height: var(--leading-snug); }
.post-cover__topo { display: none; }
.post-cover__voltar {
display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--touch-target); padding: 0 var(--space-5);
border-radius: var(--radius-full); background: var(--bg); color: var(--text); box-shadow: var(--shadow-sm);
font-size: var(--text-sm); font-weight: var(--fw-semibold);
}
.post-cover__voltar:hover { text-decoration: none; background: var(--color-primary-subtle); }
.post-cover__voltar svg { width: var(--icon-size); height: var(--icon-size); }
.post-texto { padding: var(--space-11) var(--page-gutter) var(--space-12); }
.post-texto > * { max-width: var(--measure-prose); margin-inline: auto; }
.post-voltar { margin-bottom: var(--space-6); }
.post-voltar a { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--touch-target); font-size: var(--text-sm); font-weight: var(--fw-semibold); }
.post-voltar svg { width: var(--icon-size); height: var(--icon-size); }
.post-cabecalho__marcas { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-bottom: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.badge--contorno { background: transparent; color: var(--color-primary); border: var(--border-width) solid var(--color-primary); }
.post-titulo { font-size: var(--text-4xl); font-weight: var(--fw-extrabold); line-height: var(--leading-tight); color: var(--text); margin-bottom: var(--space-5); }
.post-subtitulo { font-size: var(--text-lg); color: var(--text-muted); line-height: var(--leading-normal); margin-bottom: var(--space-6); }
.post-datas { font-size: var(--text-sm); color: var(--text-muted); }
.post-autoria { margin: var(--space-7) 0; padding: var(--space-6) 0; border-top: var(--border-width) solid var(--border); border-bottom: var(--border-width) solid var(--border); }
.author-block { display: flex; align-items: center; gap: var(--space-5); }
.author-block__foto { width: var(--avatar-autor); height: var(--avatar-autor); font-size: var(--text-base); }
.author-block__foto--marca { background: var(--color-deep); padding: var(--space-3); }
.author-block__foto--marca img { object-fit: contain; }
.author-block__nome { font-size: var(--text-base); font-weight: var(--fw-bold); color: var(--text); line-height: var(--leading-snug); }
.author-block__cargo { font-size: var(--text-sm); color: var(--text-muted); }
.share-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-bottom: var(--space-9); }
.share-bar__rotulo { font-size: var(--text-sm); font-weight: var(--fw-semibold); color: var(--text-muted); }
.share-bar .btn svg { width: var(--icon-size); height: var(--icon-size); }
.share-bar .btn-ghost:hover { color: var(--color-primary-hover); border-color: var(--color-primary-hover); }
.share-bar .btn[hidden] { display: none; }
.share-bar__status { font-size: var(--text-sm); font-weight: var(--fw-semibold); color: var(--color-success-text); }
.share-bar__status[data-erro] { color: var(--color-danger-text); }
.post-corpo { font-size: var(--text-prose); line-height: var(--leading-relaxed); color: var(--text); counter-reset: post-secao; }
.post-lead, .is-style-abertura { font-size: var(--text-lead); font-weight: var(--fw-medium); line-height: var(--leading-normal); color: var(--text); }
.post-quote, .post-corpo blockquote, .pagina-secoes blockquote {
margin: var(--space-9) 0; padding: 0 0 0 var(--space-7);
border-left: var(--border-width-accent) solid var(--color-primary-light); border-radius: var(--radius-none);
font-size: var(--text-xl); font-weight: var(--fw-semibold); line-height: var(--leading-snug); color: var(--color-blue-700);
}
.post-quote > * + *, .post-corpo blockquote > * + *, .pagina-secoes blockquote > * + * { margin-top: var(--space-4); }
.post-quote cite, .post-corpo blockquote cite, .pagina-secoes blockquote cite { display: block; font-size: var(--text-sm); font-style: normal; font-weight: var(--fw-regular); color: var(--text-muted); }
.post-section, .is-style-secao-numerada { margin-top: var(--space-10); counter-increment: post-secao; }
.post-section::before, .is-style-secao-numerada::before {
content: counter(post-secao, decimal-leading-zero);
content: counter(post-secao, decimal-leading-zero) / "";
display: block; margin-bottom: var(--space-3);
font-size: var(--text-xs); font-weight: var(--fw-semibold); text-transform: uppercase;
letter-spacing: var(--tracking-caps); color: var(--text-subtle);
}
.post-section > * + *, .is-style-secao-numerada > * + * { margin-top: var(--space-5); }
.post-section h2, .is-style-secao-numerada > h2 { margin-top: 0; font-size: var(--text-2xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); }
.post-section__apoio, .is-style-apoio { color: var(--text-subtle); }
.is-style-secao-numerada > h2 + .is-style-apoio { margin-top: var(--space-2); }
.post-item, .is-style-item-em-caixa {
padding: var(--space-6) var(--space-7);
background: var(--bg); border: var(--border-width) solid var(--border); border-radius: var(--radius-lg);
}
.post-item > * + *, .is-style-item-em-caixa > * + * { margin-top: var(--space-2); }
.post-item :is(h2, h3, h4), .is-style-item-em-caixa > :is(h2, h3, h4) { margin-top: 0; font-size: var(--text-lg); font-weight: var(--fw-bold); line-height: var(--leading-snug); }
.post-item p, .is-style-item-em-caixa > p { color: var(--text-muted); }
.post-corpo .is-style-item-em-caixa + .is-style-item-em-caixa { margin-top: var(--space-4); }
.post-cta { margin-top: var(--space-11); padding: var(--space-9); border-radius: var(--radius-xl); background: var(--color-deep); }
.post-cta__rotulo {
margin-bottom: var(--space-3); font-size: var(--text-xs); font-weight: var(--fw-semibold);
text-transform: uppercase; letter-spacing: var(--tracking-caps); color: var(--color-primary-light);
}
.post-cta__titulo { margin-bottom: var(--space-7); font-size: var(--text-2xl); font-weight: var(--fw-extrabold); line-height: var(--leading-tight); color: var(--text-inverse); }
.post-cta .btn svg { width: var(--icon-size); height: var(--icon-size); }
.continue-lendo { border-top: var(--border-width) solid var(--border); }
.continue-lendo__cabecalho { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-5); margin-bottom: var(--space-8); }
.continue-lendo__titulo { font-size: var(--text-2xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); }
.continue-lendo__todos { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--touch-target); font-size: var(--text-sm); font-weight: var(--fw-semibold); }
.continue-lendo__todos svg { width: var(--icon-size); height: var(--icon-size); }
.continue-lendo__lista { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-7); list-style: none; padding: 0; }
.continue-lendo__lista > li { display: flex; }
.continue-lendo__lista .card-blog { flex: 1; }
.continue-lendo__botao { display: none; }
@media (max-width: 1024px) {
.blog-grade { grid-template-columns: repeat(2, 1fr); }
.post-layout { grid-template-columns: minmax(0, 1fr); }
.post-cover { position: static; height: auto; }
.post-cover__midia { flex: none; aspect-ratio: var(--post-capa-proporcao-tablet); }
}
@media (max-width: 768px) {
.hero.hero--compacto { min-height: 0; padding: var(--space-11) var(--page-gutter) var(--space-9); }
.post-texto { padding-top: var(--space-9); }
}
@media (max-width: 640px) {
.hero--compacto .hero__title { font-size: var(--text-2xl); margin-bottom: var(--space-4); }
.hero--compacto .hero__lead { font-size: var(--text-base); }
.blog-filtros { padding: var(--space-6) 0; }
.blog-filtros .chip-row { flex-basis: 100%; }
.blog-busca { flex: 1 1 100%; }
.blog-grade { grid-template-columns: 1fr; }
.card-blog__image { height: var(--blog-capa-card-sm); }
.card-blog--featured { grid-column: auto; grid-template-columns: 1fr; }
.card-blog--featured .card-blog__image { height: var(--blog-capa-destaque-sm); }
.card-blog--featured .card-blog__body { padding: var(--space-7); }
.card-blog--featured .card-blog__title { font-size: var(--text-xl); }
.blog-mais .btn { width: 100%; justify-content: center; }
.post-cover__midia { height: var(--post-capa-sm); }
.post-cover__topo {
display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);
position: absolute; top: var(--space-5); left: var(--page-gutter); right: var(--page-gutter); z-index: var(--z-raised);
}
.post-voltar { display: none; }
.post-titulo { font-size: var(--text-2xl); }
.post-section h2, .is-style-secao-numerada > h2 { font-size: var(--text-xl); }
.share-bar__whatsapp { flex: 1 1 100%; justify-content: center; }
.post-cta { padding: var(--space-7); background: var(--bg-subtle); border: var(--border-width) solid var(--border-strong); }
.post-cta__rotulo { color: var(--text-muted); }
.post-cta__titulo { color: var(--text); font-size: var(--text-xl); }
.post-cta .btn-cta { width: 100%; justify-content: center; background: var(--color-primary); color: var(--text-inverse); }
.post-cta .btn-cta:hover { background: var(--color-primary-hover); }
.continue-lendo__todos { display: none; }
.continue-lendo__lista { grid-template-columns: 1fr; gap: var(--space-4); }
.continue-lendo__lista > li:nth-child(n+3) { display: none; }
.continue-lendo__botao { display: flex; margin-top: var(--space-7); }
.card-blog--relacionado { flex-direction: row; align-items: center; gap: var(--space-5); padding: var(--space-4); }
.card-blog--relacionado .card-blog__image { width: var(--blog-miniatura); height: var(--blog-miniatura); border-radius: var(--radius-md); }
.card-blog--relacionado .card-blog__tag,
.card-blog--relacionado .card-blog__desc,
.card-blog--relacionado .card-blog__arrow,
.card-blog--relacionado .card-blog__meta-extra { display: none; }
.card-blog--relacionado .card-blog__tag-linha { display: inline-flex; align-self: flex-start; margin-bottom: var(--space-3); }
.card-blog--relacionado .card-blog__body { padding: 0; }
.card-blog--relacionado .card-blog__title { font-size: var(--text-base); margin-bottom: var(--space-2); }
.card-blog--relacionado .card-blog__rodape { margin-top: 0; padding-top: 0; border-top: 0; }
}
.bloco-info {
display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4);
padding: var(--space-8); background: var(--bg);
border: var(--border-width) solid var(--border); border-radius: var(--radius-lg);
--color-link: var(--color-primary);
}
.bloco-info__titulo { font-size: var(--text-2xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); color: var(--text); }
.bloco-info__rotulo {
font-size: var(--text-xs); font-weight: var(--fw-semibold); text-transform: uppercase;
letter-spacing: var(--tracking-caps); color: var(--text-muted);
}
.bloco-info__texto { color: var(--text); line-height: var(--leading-relaxed); }
.bloco-info__endereco { font-style: normal; }
.bloco-info__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-6); margin-top: var(--space-2); }
.bloco-info__link {
display: inline-flex; align-items: center; gap: var(--space-3); min-height: var(--touch-target);
font-size: var(--text-sm); font-weight: var(--fw-semibold); color: var(--color-link);
}
.bloco-info__link svg, .bloco-info__botao svg { width: var(--icon-size); height: var(--icon-size); }
.bloco-info__acoes .btn { white-space: normal; text-align: left; }
.grade-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); align-items: start; }
.missas-horarios__cabecalho { margin-bottom: var(--space-9); }
.missas-horarios__cabecalho .section__title { margin-bottom: var(--space-4); }
.tabela-horarios__tabela { width: 100%; border-collapse: collapse; font-size: var(--text-base); line-height: var(--leading-snug); color: var(--text); }
.tabela-horarios__tabela th, .tabela-horarios__tabela td {
text-align: left; vertical-align: top;
padding: var(--space-5) var(--space-6) var(--space-5) 0;
border-bottom: var(--border-width) solid var(--border);
}
.tabela-horarios__tabela thead th {
padding-top: 0; font-size: var(--text-xs); font-weight: var(--fw-bold);
letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-muted);
border-bottom: var(--border-width-strong) solid var(--border-strong);
}
.tabela-horarios__tabela tbody th { font-weight: var(--fw-extrabold); white-space: nowrap; }
.tabela-horarios__hora { display: block; font-weight: var(--fw-bold); }
.tabela-horarios__nota { display: block; font-size: var(--text-sm); color: var(--text-muted); }
.tabela-horarios__hora + .tabela-horarios__nota, .tabela-horarios__nota + .tabela-horarios__nota { margin-top: var(--space-2); }
.tabela-horarios__tabela .badge { margin-left: var(--space-3); vertical-align: middle; }
.tabela-horarios__vazio { font-size: var(--text-base); color: var(--text-muted); }
@media (max-width: 640px) {
.tabela-horarios__tabela, .tabela-horarios__tabela tbody, .tabela-horarios__tabela tr,
.tabela-horarios__tabela th, .tabela-horarios__tabela td { display: block; }
.tabela-horarios__tabela thead {
position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.tabela-horarios__tabela tr { padding: var(--space-5) 0; border-bottom: var(--border-width) solid var(--border); }
.tabela-horarios__tabela tbody th, .tabela-horarios__tabela td { padding: var(--space-2) 0; border: 0; }
.tabela-horarios__tabela tbody th { font-size: var(--text-lg); }
.tabela-horarios__tabela td::before {
content: attr(data-rotulo); display: block; font-size: var(--text-xs); font-weight: var(--fw-bold);
letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-muted);
}
.tabela-horarios__tabela td:empty { display: none; }
}
.primeira-vez__lista { margin: 0 0 var(--space-9); max-width: var(--container-narrow); border-top: var(--border-width) solid var(--border-strong); }
.primeira-vez__item {
display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--space-4) var(--space-8);
padding: var(--space-6) 0; border-bottom: var(--border-width) solid var(--border);
}
.primeira-vez__pergunta { margin: 0; font-weight: var(--fw-bold); color: var(--text); }
.primeira-vez__resposta { margin: 0; color: var(--text-muted); line-height: var(--leading-relaxed); }
.primeira-vez__acoes { display: flex; flex-wrap: wrap; gap: var(--space-4); }
@media (max-width: 640px) {
.primeira-vez__item { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
.primeira-vez__acoes .btn { width: 100%; justify-content: center; }
}
.agenda__mes { margin: var(--space-10) 0 var(--space-4); font-size: var(--text-xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); color: var(--text); }
.agenda > :first-child { margin-top: 0; }
.agenda > .lista-eventos + .lista-eventos { border-top: 0; }
.pagina-secoes { font-size: var(--text-prose); line-height: var(--leading-relaxed); color: var(--text); }
.secao-pagina, .is-style-secao, .is-style-secao-cinza {
padding-block: var(--space-12);
padding-inline: max(var(--page-gutter), calc((100% - var(--container-max)) / 2 + var(--page-gutter)));
}
.secao-pagina--cinza, .is-style-secao-cinza { background: var(--bg-subtle); --color-link: var(--text-link-on-subtle); }
:is(.secao-pagina, .is-style-secao, .is-style-secao-cinza) > * + * { margin-top: var(--space-6); }
:is(.secao-pagina, .is-style-secao, .is-style-secao-cinza) > :is(p, ul, ol) { max-width: var(--measure-prose); }
:is(.secao-pagina, .is-style-secao, .is-style-secao-cinza) > h2 {
font-size: var(--text-4xl); font-weight: var(--fw-bold); line-height: var(--leading-tight);
text-wrap: balance;
color: var(--text); margin-bottom: var(--space-8);
}
:is(.secao-pagina, .is-style-secao, .is-style-secao-cinza) > h2.section__title--serifada { font-weight: var(--fw-bold); }
:is(.secao-pagina, .is-style-secao, .is-style-secao-cinza) > h2.section__title--contraste { font-weight: var(--fw-regular); }
.pagina-secoes a { color: var(--color-link); text-decoration: underline; }
.wp-block-columns.is-style-texto-lateral {
display: grid; grid-template-columns: minmax(0, 1fr) var(--destaque-lateral-largura);
gap: var(--space-10); align-items: start; margin-bottom: 0;
}
.is-style-texto-lateral > .wp-block-column > * + * { margin-top: var(--space-6); }
.is-style-texto-lateral blockquote { margin: var(--space-8) 0; }
.is-style-destaque-lateral {
padding: var(--space-7); background: var(--bg-subtle);
border: var(--border-width) solid var(--border); border-radius: var(--radius-lg);
--color-link: var(--text-link-on-subtle);
}
.is-style-destaque-lateral > h3 { margin: 0 0 var(--space-4); font-size: var(--text-lg); font-weight: var(--fw-bold); line-height: var(--leading-snug); }
.is-style-destaque-lateral ul { list-style: none; padding: 0; margin: 0; font-size: var(--text-sm); line-height: var(--leading-normal); }
.is-style-destaque-lateral li { padding: var(--space-4) 0; border-top: var(--border-width) solid var(--border-strong); }
.is-style-destaque-lateral li:first-child { border-top: 0; padding-top: 0; }
.is-style-retrato { margin: 0 0 var(--space-7); max-width: var(--destaque-lateral-largura); }
.is-style-retrato img {
display: block; width: 100%; height: auto;
aspect-ratio: var(--retrato-proporcao); object-fit: cover; object-position: var(--retrato-foco);
border-radius: var(--radius-lg); background: var(--bg-inset);
}
ul.is-style-colunas { columns: 2; column-gap: var(--space-10); padding-left: var(--space-7); max-width: var(--measure-prose); }
ul.is-style-colunas li { break-inside: avoid; }
ul.is-style-colunas li + li { margin-top: var(--space-3); }
.is-style-link-externo a {
display: inline-flex; align-items: center; gap: var(--space-3); min-height: var(--touch-target);
font-weight: var(--fw-semibold);
}
.is-style-link-externo a::after {
content: ''; flex-shrink: 0; width: var(--icon-size); height: var(--icon-size); background: currentColor;
-webkit-mask: var(--icone-externo) center / contain no-repeat; mask: var(--icone-externo) center / contain no-repeat;
}
.pagina-secoes .wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--space-5); }
.pagina-secoes .wp-block-button .wp-block-button__link {
display: inline-flex; align-items: center; min-height: var(--touch-target);
padding: var(--space-4) var(--space-7); border: var(--border-width-control) solid var(--color-primary); border-radius: var(--radius-md);
background: var(--color-primary); color: var(--text-inverse);
font-family: var(--font); font-size: var(--text-sm); font-weight: var(--fw-semibold); line-height: var(--leading-none);
text-decoration: none; transition: all var(--duration-fast) var(--ease-out);
}
.pagina-secoes .wp-block-button .wp-block-button__link:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }
.pagina-secoes .wp-block-button.is-style-outline .wp-block-button__link { background: var(--bg); color: var(--color-primary); }
.pagina-secoes .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--color-primary-subtle); color: var(--color-primary-hover); border-color: var(--color-primary-hover); }
@media (max-width: 1024px) {
.wp-block-columns.is-style-texto-lateral { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
}
@media (max-width: 640px) {
.secao-pagina, .is-style-secao, .is-style-secao-cinza { padding-block: var(--space-10); }
:is(.secao-pagina, .is-style-secao, .is-style-secao-cinza) > h2 { font-size: var(--text-2xl); margin-bottom: var(--space-6); }
ul.is-style-colunas { columns: 1; }
}
.mapa-comunidades {
display: grid; grid-template-columns: minmax(0, 1fr);
grid-template-areas: "painel" "mapa" "lista";
row-gap: 0; align-items: start; font-size: var(--text-base); line-height: var(--leading-normal);
}
.mapa-comunidades__painel { grid-area: painel; display: flex; flex-direction: column; gap: var(--space-7); min-width: 0; }
.mapa-comunidades__linha { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.mapa-comunidades__linha .select-wrap { flex: 1 1 12rem; min-width: 0; }
.mapa-comunidades__linha .btn { flex: 0 0 auto; }
.mapa-comunidades__busca .input-hint { font-size: var(--text-sm); color: var(--text-muted); }
.mapa-comunidades__resultado {
padding: var(--space-6); background: var(--bg-subtle);
border: var(--border-width) solid var(--border); border-radius: var(--radius-lg);
--color-link: var(--text-link-on-subtle);
}
.mapa-comunidades__resultado > * + * { margin-top: var(--space-3); }
.mapa-comunidades__rotulo {
font-size: var(--text-xs); font-weight: var(--fw-bold); letter-spacing: var(--tracking-caps);
text-transform: uppercase; color: var(--text-muted);
}
.mapa-comunidades__nome {
display: flex; align-items: center; gap: var(--space-4);
font-size: var(--text-lg); font-weight: var(--fw-extrabold); line-height: var(--leading-tight); color: var(--text);
}
.mapa-comunidades__texto, .mapa-comunidades__aviso { font-size: var(--text-sm); color: var(--text-muted); }
.mapa-comunidades__aviso { padding-top: var(--space-3); border-top: var(--border-width) solid var(--border-strong); }
.mapa-comunidades__lista-titulo { font-size: var(--text-sm); font-weight: var(--fw-bold); color: var(--text); margin-bottom: var(--space-4); }
.mapa-comunidades__lista {
list-style: none; margin: 0; padding: 0;
display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--mapa-legenda-min), 1fr)); gap: var(--space-3);
}
.mapa-comunidades__item {
display: flex; align-items: center; gap: var(--space-3); width: 100%; min-height: var(--touch-target);
padding: var(--space-2) var(--space-3); font-family: var(--font); font-size: var(--text-sm); line-height: var(--leading-snug);
color: var(--text); text-align: left; background: var(--bg);
border: var(--border-width) solid var(--border); border-radius: var(--radius-md);
}
button.mapa-comunidades__item { cursor: pointer; transition: border-color var(--duration-fast), background var(--duration-fast); }
button.mapa-comunidades__item:hover,
button.mapa-comunidades__item[aria-pressed="true"] { border-color: var(--color-primary); background: var(--color-primary-subtle); }
button.mapa-comunidades__item:focus-visible { outline: var(--border-width-strong) solid var(--color-primary); outline-offset: var(--focus-offset); }
.mapa-comunidades__amostra { flex: none; width: var(--mapa-amostra-largura); height: var(--mapa-amostra-altura); }
.mapa-comunidades__amostra rect { stroke: var(--color-deep); stroke-width: var(--border-width-control); }
.mapa-comunidades__padroes { position: absolute; width: 0; height: 0; overflow: hidden; }
.mapa-comunidades__hachura { stroke: var(--color-primary-light); fill: none; }
.mapa-comunidades__hachura-ponto { fill: var(--color-primary-light); }
.mapa-comunidades__hachura-fundo { fill: var(--color-primary-subtle); }
.mapa-comunidades__mapa { grid-area: mapa; min-width: 0; margin-top: var(--space-7); }
.mapa-comunidades__lista-bloco { grid-area: lista; min-width: 0; margin-top: var(--space-7); }
.mapa-comunidades__quadro { position: relative; }
.mapa-comunidades__mapa[hidden] { display: none; }
.mapa-comunidades__tela {
isolation: isolate;
height: var(--mapa-altura); border: var(--border-width) solid var(--border-strong); border-radius: var(--radius-lg);
overflow: hidden; background: var(--bg-subtle);
}
.mapa-comunidades__nota { margin-top: var(--space-3); font-size: var(--text-sm); color: var(--text-muted); }
.mapa-comunidades__pilula {
position: absolute; z-index: 1; inset-inline: 0; bottom: var(--space-8); width: max-content;
max-width: calc(100% - 2 * var(--space-5)); margin: 0 auto; padding: var(--space-2) var(--space-5);
background: var(--color-deep); color: var(--text-inverse); border-radius: var(--radius-full); box-shadow: var(--shadow-md);
font-size: var(--text-sm); line-height: var(--leading-snug); text-align: center; pointer-events: none;
}
.mapa-comunidades__pilula[hidden] { display: none; }
.mapa-comunidades__pilula strong { font-weight: var(--fw-bold); }
.mapa-comunidades .leaflet-container { font-family: var(--font); background: var(--bg-subtle); }
.mapa-comunidades .leaflet-pane > svg { max-width: none; max-height: none; }
.mapa-comunidades .leaflet-container:focus-visible { outline: var(--border-width-strong) solid var(--color-primary); outline-offset: calc(-1 * var(--border-width-strong)); }
.mapa-comunidades .leaflet-bar.leaflet-control { border: var(--border-width) solid var(--border-strong); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.mapa-comunidades .leaflet-bar.leaflet-control a {
width: var(--touch-target); height: var(--touch-target); line-height: var(--touch-target);
font-size: var(--text-lg); color: var(--color-deep); text-decoration: none;
}
.mapa-comunidades .leaflet-bar.leaflet-control a:focus-visible { outline: var(--border-width-strong) solid var(--color-primary); outline-offset: calc(-1 * var(--border-width-strong)); }
.mapa-comunidades .leaflet-control-attribution { font-size: var(--text-xs); color: var(--text-muted); }
.mapa-comunidades .leaflet-control-attribution a { color: var(--color-primary-hover); }
.mapa-comunidades__rotulo-mapa.leaflet-tooltip {
padding: 0; background: transparent; border: 0; box-shadow: none;
font-size: var(--text-xs); font-weight: var(--fw-extrabold); letter-spacing: var(--tracking-caps); line-height: var(--leading-tight);
text-transform: uppercase; color: var(--color-deep); text-shadow: var(--mapa-halo);
}
.mapa-comunidades__rotulo-mapa.leaflet-tooltip::before { display: none; }
.mapa-comunidades__rua {
position: absolute; white-space: nowrap; pointer-events: none;
font-size: var(--mapa-rua-tamanho, var(--text-xs)); font-weight: var(--fw-bold); letter-spacing: var(--tracking-caps); line-height: var(--leading-tight);
text-transform: uppercase; color: var(--color-deep); text-shadow: var(--mapa-halo);
}
.mapa-comunidades__tela.is-z0 .mapa-comunidades__rua,
.mapa-comunidades__tela.is-z1 .mapa-comunidades__rua--menor,
.mapa-comunidades__tela.is-z0 .mapa-comunidades__ref-nome:not(.mapa-comunidades__ref-nome--nivel-0),
.mapa-comunidades__tela.is-z1 .mapa-comunidades__ref-nome--nivel-2 { display: none; }
.mapa-comunidades__tela .is-oculto { visibility: hidden; }
.mapa-comunidades__marca {
display: inline-grid; place-items: center; flex: none;
width: var(--mapa-icone); height: var(--mapa-icone);
background: var(--bg); color: var(--color-deep);
border: var(--border-width-strong) solid var(--color-deep); border-radius: var(--radius-full); box-shadow: var(--shadow-sm);
}
.mapa-comunidades__marca .icone { width: var(--mapa-icone-desenho); height: var(--mapa-icone-desenho); }
.mapa-comunidades__marca--igreja {
width: var(--mapa-icone-igreja); height: var(--mapa-icone-igreja);
background: var(--color-deep); color: var(--text-inverse); border-color: var(--bg); border-radius: var(--radius-md); box-shadow: var(--shadow-md);
}
.mapa-comunidades__marca--igreja .icone { width: var(--mapa-icone-desenho-igreja); height: var(--mapa-icone-desenho-igreja); }
.mapa-comunidades__ref { position: relative; width: 0; height: 0; }
.mapa-comunidades__ref .mapa-comunidades__marca { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%); }
.mapa-comunidades__ref-nome {
position: absolute; left: calc(var(--mapa-icone) / 2 + var(--space-2)); top: 0; transform: translateY(-50%);
white-space: nowrap; pointer-events: none;
font-size: var(--text-xs); font-weight: var(--fw-extrabold); line-height: var(--leading-tight);
color: var(--color-deep); text-shadow: var(--mapa-halo);
}
.mapa-comunidades__ref-nome--igreja { left: calc(var(--mapa-icone-igreja) / 2 + var(--space-2)); letter-spacing: var(--tracking-caps); text-transform: uppercase; }
.mapa-comunidades__ref-nome--igreja.mapa-comunidades__ref-nome--abaixo { left: 0; top: calc(var(--mapa-icone-igreja) / 2 + var(--space-1)); transform: translateX(-50%); }
.mapa-comunidades__rotulo-mapa.leaflet-tooltip { text-align: center; }
.mapa-comunidades__lista-titulo--refs { margin-top: var(--space-7); margin-bottom: var(--space-1); }
.mapa-comunidades__nota--refs { margin: 0 0 var(--space-4); }
.mapa-comunidades__refs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(max(var(--mapa-ref-min), calc((100% - 2 * var(--space-3)) / 3)), 1fr)); gap: var(--space-3); }
.mapa-comunidades__ref-texto { display: flex; flex-direction: column; min-width: 0; }
.mapa-comunidades__ref-texto strong { font-weight: var(--fw-semibold); }
.mapa-comunidades__ref-texto small { font-size: var(--text-xs); color: var(--text-muted); }
.mapa-comunidades__pino span {
display: block; width: var(--mapa-pino); height: var(--mapa-pino);
border-radius: var(--radius-full) var(--radius-full) var(--radius-full) 0;
background: var(--color-primary); border: var(--border-width-strong) solid var(--bg); box-shadow: var(--shadow-md);
transform: rotate(-45deg);
}
@media (min-width: 900px) {
.mapa-comunidades { grid-template-columns: var(--destaque-lateral-largura) minmax(0, 1fr); grid-template-areas: "painel lista" "mapa mapa"; column-gap: var(--space-8); }
.mapa-comunidades__mapa { margin-top: var(--space-8); }
.mapa-comunidades__lista-bloco { margin-top: 0; }
.mapa-comunidades__lista { grid-template-columns: repeat(auto-fit, minmax(max(var(--mapa-legenda-min), calc((100% - 4 * var(--space-3)) / 5)), 1fr)); }
.is-style-secao:has(> .mapa-comunidades) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-9); align-items: start; }
.is-style-secao:has(> .mapa-comunidades) > h2 { grid-column: 1; margin-bottom: var(--space-8); }
.is-style-secao:has(> .mapa-comunidades) > p { grid-column: 2; grid-row: 1; margin-top: 0; padding-top: var(--space-3); max-width: none; }
.is-style-secao:has(> .mapa-comunidades) > .mapa-comunidades { grid-column: 1 / -1; margin-top: 0; }
}
@media (max-width: 899px) {
.mapa-comunidades__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
.mapa-comunidades__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mapa-comunidades__refs { grid-template-columns: minmax(0, 1fr); }
.mapa-comunidades__linha .btn { flex: 1 1 100%; justify-content: center; }
}
.stats-bar { list-style: none; }
.stat__number, .stat__label { display: block; }
.stat__number { overflow-wrap: anywhere; }
@media (max-width: 1024px) {
.stats-bar:not(.stats-bar--1) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
.stats-bar .stat { padding: var(--space-5); }
.stats-bar .stat__number { font-size: clamp(var(--text-3xl), 11vw, var(--text-4xl)); }
}
.stats-bar.stats-bar--1 { grid-template-columns: minmax(0, 1fr); }
.stats-bar--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stats-bar--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) {
.stats-bar.stats-bar--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.stats-bar--3 .stat:nth-child(2) { border-right: var(--border-width) solid var(--border); }
.stats-bar--3 .stat:last-child { border-right: none; }
.stats-bar--3 .stat__number { font-size: clamp(var(--text-xl), 8vw, var(--text-5xl)); overflow-wrap: normal; }
}
@media (max-width: 640px) {
.stats-bar--3 .stat { padding: 0 var(--space-3); }
.stats-bar--3 .stat__label { font-size: var(--text-xs); }
}
.evento__voltar.post-voltar { display: block; }
.evento__passou { margin-bottom: var(--space-7); }
.evento__passou svg { width: var(--icon-size); height: var(--icon-size); flex-shrink: 0; }
.evento__passou a { color: inherit; text-decoration: underline; font-weight: var(--fw-semibold); }
.evento-cabecalho { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-bottom: var(--space-9); max-width: var(--measure-hero); }
.evento-cabecalho .post-titulo, .evento-cabecalho .post-subtitulo { margin-bottom: 0; }
.evento-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--evento-info-largura); gap: var(--space-10); align-items: start; }
.evento-info {
grid-column: 2; grid-row: 1;
position: sticky; top: calc(var(--header-height) + var(--barra-admin) + var(--space-6));
padding: var(--space-7); background: var(--bg-subtle);
border: var(--border-width) solid var(--border); border-radius: var(--radius-lg);
--color-link: var(--text-link-on-subtle);
}
.evento-conteudo { grid-column: 1; grid-row: 1; max-width: var(--measure-prose); }
.evento-info__titulo { margin-bottom: var(--space-4); font-size: var(--text-lg); font-weight: var(--fw-bold); }
.evento-info__lista > div { padding: var(--space-4) 0; border-top: var(--border-width) solid var(--border-strong); }
.evento-info__lista dt {
font-size: var(--text-xs); font-weight: var(--fw-semibold); text-transform: uppercase;
letter-spacing: var(--tracking-caps); color: var(--text-muted);
}
.evento-info__lista dd { margin: var(--space-1) 0 0; font-size: var(--text-base); color: var(--text); }
.evento-inscricao { margin-top: var(--space-6); }
.evento-inscricao__botao { width: 100%; justify-content: center; }
.evento-inscricao__botao svg { width: var(--icon-size); height: var(--icon-size); }
.evento-inscricao__aviso, .evento-inscricao__prazo { margin-top: var(--space-3); font-size: var(--text-sm); color: var(--text-muted); text-align: center; }
.evento-inscricao--encerrada {
padding: var(--space-4); border: var(--border-width) dashed var(--border-strong); border-radius: var(--radius-md);
font-weight: var(--fw-semibold); color: var(--text-muted); text-align: center;
}
.evento-capa { margin-bottom: var(--space-8); border-radius: var(--radius-lg); overflow: hidden; background: var(--bg-inset); aspect-ratio: 4 / 3; }
.evento-capa img { width: 100%; height: 100%; object-fit: cover; object-position: var(--blog-foco-imagem); }
.evento-conteudo .share-bar { margin-top: var(--space-9); margin-bottom: 0; }
@media (max-width: 1024px) {
.evento-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
.evento-info, .evento-conteudo { grid-column: auto; grid-row: auto; }
.evento-info { position: static; }
}
.participar-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--participar-lado-largura); gap: var(--space-11); align-items: start; }
.participar-principal { max-width: var(--measure-prose); }
.participar-principal .form-interesse { margin-inline: 0; }
.participar-lado { display: flex; flex-direction: column; gap: var(--space-5); }
.passos { margin-bottom: var(--space-10); }
.passos__titulo { margin-bottom: var(--space-6); font-size: var(--text-2xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); }
.passos__lista { display: grid; gap: var(--space-5); padding: 0; list-style: none; counter-reset: passo; }
.passos__lista li { display: grid; grid-template-columns: var(--avatar-sm) 1fr; gap: var(--space-5); align-items: start; counter-increment: passo; line-height: var(--leading-normal); }
.passos__lista li::before {
content: counter(passo); content: counter(passo) / "";
display: inline-flex; align-items: center; justify-content: center;
width: var(--avatar-sm); height: var(--avatar-sm); border-radius: var(--radius-full);
background: var(--color-deep); color: var(--text-inverse); font-size: var(--text-sm); font-weight: var(--fw-bold);
}
.form-interesse__responsavel {
display: grid; gap: var(--space-5); padding: var(--space-6);
border: var(--border-width) solid var(--border-strong); border-radius: var(--radius-lg);
}
.form-interesse__responsavel[hidden] { display: none; }
.form-interesse__responsavel legend { padding: 0 var(--space-2); }
.form-interesse__depois { margin-top: var(--space-3); }
.form-interesse__depois a { color: inherit; text-decoration: underline; font-weight: var(--fw-semibold); }
.nao-sei { max-width: var(--measure-prose); }
@media (max-width: 1024px) {
.participar-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-10); }
.participar-principal { max-width: none; }
}
@media (max-width: 640px) {
.form-interesse__responsavel { padding: var(--space-5); }
}
.pagina-busca { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-9); max-width: var(--measure-prose); }
.pagina-busca .busca { max-width: var(--measure-lead); }
.pagina-busca__acoes { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.busca-status { color: var(--text-muted); }
.busca-grupo__titulo { margin-bottom: var(--space-4); font-size: var(--text-xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); }
.busca-grupo__total { font-weight: var(--fw-regular); color: var(--text-muted); }
.busca-grupo__lista { list-style: none; padding: 0; border-top: var(--border-width) solid var(--border); }
.busca-item { padding: var(--space-5) 0; border-bottom: var(--border-width) solid var(--border); }
.busca-item__titulo { font-size: var(--text-lg); font-weight: var(--fw-semibold); line-height: var(--leading-snug); }
.busca-item__titulo a { display: inline-flex; align-items: center; min-height: var(--touch-target); }
.busca-item__meta, .busca-item__resumo { margin-top: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); line-height: var(--leading-relaxed); }
.atalhos__titulo { margin-bottom: var(--space-5); font-size: var(--text-lg); font-weight: var(--fw-bold); }
.atalhos__lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); list-style: none; padding: 0; }
.atalhos__link {
display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);
min-height: var(--touch-target); padding: var(--space-4) var(--space-5);
border: var(--border-width) solid var(--border); border-radius: var(--radius-md);
font-weight: var(--fw-semibold); color: var(--color-link);
transition: border-color var(--duration-fast), background var(--duration-fast);
}
.atalhos__link:hover { text-decoration: none; border-color: var(--color-primary); background: var(--color-primary-subtle); color: var(--color-primary-hover); }
.atalhos__link svg { width: var(--icon-size); height: var(--icon-size); flex-shrink: 0; }
@media (max-width: 640px) {
.atalhos__lista { grid-template-columns: minmax(0, 1fr); }
}
.hero.hero--claro {
--hero-foco: 66% 0%;
background: var(--color-primary-light);
align-items: flex-start;
padding-top: var(--space-9);
min-height: max(calc(var(--viewport-full) - var(--header-height)), var(--hero-claro-min-height));
}
.hero--claro .hero__media::after { content: none; }
.hero--claro .hero__media img,
.hero--claro .hero__media video {
position: absolute; top: 0; left: 0;
height: 110%; object-position: var(--hero-foco);
}
.hero.hero--claro .hero__content {
max-width: calc(var(--measure-hero) + var(--space-11) * 2);
margin-inline: auto; text-align: center;
}
.hero.hero--claro .hero__eyebrow {
display: inline-flex; justify-content: center;
padding: var(--space-2) var(--space-4);
background: var(--bg); border-radius: var(--radius-full);
font-size: var(--text-xs); color: var(--text-muted);
}
.hero.hero--claro .hero__eyebrow::before {
content: ''; display: block; width: var(--eyebrow-dot); height: var(--eyebrow-dot);
border-radius: var(--radius-full); background: var(--color-primary-light); flex-shrink: 0;
}
.hero.hero--claro .hero__title { font-size: var(--text-4xl); color: var(--color-deep); }
.hero.hero--claro .hero__lead { margin-inline: auto; color: var(--color-deep); text-wrap: balance; }
.hero.hero--claro .hero__actions { justify-content: center; }
.hero__pausa {
position: absolute; right: var(--page-gutter); bottom: var(--space-6); z-index: var(--z-overlay);
display: inline-flex; align-items: center; gap: var(--space-3);
min-height: var(--touch-target); padding: 0 var(--space-5);
font-size: var(--text-xs); font-weight: var(--fw-semibold); color: var(--color-deep);
background: var(--bg); border: var(--border-width) solid var(--border); border-radius: var(--radius-full);
transition: background var(--duration-fast);
}
.hero__pausa:hover { background: var(--color-primary-subtle); }
.hero__pausa svg { width: var(--icon-size); height: var(--icon-size); }
.hero__pausa[hidden] { display: none; }
.hero__icone-play { display: none; }
.hero.is-paused .hero__icone-pausa { display: none; }
.hero.is-paused .hero__icone-play { display: block; }
@media (max-width: 768px) {
.hero.hero--claro .hero__title { font-size: var(--text-3xl); }
}
@media (max-width: 640px) {
.hero.hero--claro { flex-direction: column; align-items: stretch; padding-bottom: 0; }
.hero.hero--claro .hero__content { order: 1; }
.hero.hero--claro .hero__media {
position: relative; inset: auto; order: 2; flex-shrink: 0; overflow: hidden;
margin: var(--space-8) calc(var(--page-gutter) * -1) 0;
aspect-ratio: 4 / 5;
-webkit-mask-image: linear-gradient(to bottom, transparent, var(--color-deep) var(--space-11));
mask-image: linear-gradient(to bottom, transparent, var(--color-deep) var(--space-11));
}
.hero--claro .hero__media img,
.hero--claro .hero__media video { top: auto; bottom: 0; height: 140%; object-position: 61% 100%; }
.hero__pausa { bottom: var(--space-5); }
}
@media (prefers-reduced-motion: reduce) {
.hero--claro .hero__media video { display: none; }
.hero__pausa { display: none; }
}
.card-event-row__meta { display: block; margin-top: var(--space-1); font-size: var(--text-sm); font-weight: var(--fw-regular); color: var(--text-muted); }
@media (max-width: 640px) {
.grade-info { grid-template-columns: minmax(0, 1fr); }
.bloco-info { padding: var(--space-7); }
.bloco-info__titulo { font-size: var(--text-xl); }
.sobre-paroco .paroco--amplo { flex-direction: column; text-align: center; }
}
@media (max-width: 1024px) {
.grid-4 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(2, 1fr); }
.stats-bar { grid-template-columns: repeat(2, 1fr); }
.stat { padding: var(--space-7); }
.stat:nth-child(2) { border-right: none; }
.footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
.navbar__nav { display: none; }
.navbar__toggle { display: inline-flex; }
.navbar__nav.open { display: flex; flex-direction: column; align-items: stretch; position: absolute; top: 100%; left: 0; right: 0; background: var(--color-deep); padding: var(--space-7) var(--page-gutter); gap: var(--space-3); z-index: var(--z-nav); }
.navbar__nav.open { max-height: calc(var(--viewport-full) - var(--header-height) - var(--barra-admin)); overflow-y: auto; overscroll-behavior: contain; }
.hero { min-height: var(--hero-min-height-sm); padding: var(--space-11) var(--page-gutter) var(--space-9); }
.hero--full { min-height: calc(var(--viewport-full) - var(--header-height)); }
.hero--sob-header { min-height: var(--viewport-full); padding-top: calc(var(--header-height) + var(--space-9)); }
.hero__title { font-size: var(--text-3xl); }
.section__title { font-size: var(--text-2xl); }
.section__header { flex-direction: column; align-items: flex-start; }
.for-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
.grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; }
.stats-bar { grid-template-columns: repeat(2, 1fr); }
.footer__grid { grid-template-columns: 1fr; }
.hero__actions { flex-direction: column; }
.hero--full .hero__content { margin-inline: auto; text-align: center; }
.hero--full .hero__eyebrow { justify-content: center; }
.hero--full .hero__lead { margin-inline: auto; }
.hero--full .hero__actions { align-items: center; }
.cta-section__actions { flex-direction: column; align-items: center; }
.tabs { overflow-x: auto; }
}
.sobre-texto { max-width: var(--measure-prose); margin-top: var(--space-5); }
.sobre-destaque-texto { max-width: var(--measure-prose); margin-top: var(--space-7); font-weight: var(--fw-semibold); }
.sobre-subtitulo { max-width: var(--measure-prose); font-size: var(--text-xl); font-style: italic; color: var(--text-muted); line-height: var(--leading-snug); }
.sobre-fecho { margin-top: var(--space-10); font-size: var(--text-2xl); font-weight: var(--fw-semibold); line-height: var(--leading-snug); max-width: var(--container-narrow); }
.sobre-figura img { display: block; width: 100%; height: auto; border-radius: var(--radius-xl); }
.sobre-figura--retrato img { aspect-ratio: var(--proporcao-retrato); object-fit: cover; }
.filete { width: var(--space-11); margin: var(--space-7) 0; border: 0; border-top: var(--border-width-strong) solid var(--color-primary-light); }
.sobre-paroco__nome { font-size: var(--text-xl); font-weight: var(--fw-bold); }
.sobre-paroco__cargo { color: var(--text-muted); }
.sobre-historia :is(.section__title, .sobre-texto) + .linha-tempo { margin-top: var(--space-9); }
.linha-tempo { list-style: none; padding: 0; }
.linha-tempo__item {
display: grid; grid-template-columns: var(--linha-tempo-ano) minmax(0, 1fr); gap: var(--space-6);
padding: var(--space-6) 0; border-top: var(--border-width) solid var(--border);
}
.linha-tempo__item:last-child { border-bottom: var(--border-width) solid var(--border); }
.linha-tempo__corpo { max-width: var(--linha-tempo-medida); }
.linha-tempo__ano { font-size: var(--text-xl); font-weight: var(--fw-extrabold); color: var(--color-link); line-height: var(--leading-tight); }
.linha-tempo__titulo { font-size: var(--text-lg); font-weight: var(--fw-bold); }
.linha-tempo__texto { margin-top: var(--space-2); color: var(--text-muted); }
.ficha { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-9); margin-top: var(--space-9); }
.ficha__item { padding: var(--space-5) 0; border-top: var(--border-width) solid var(--border); }
.ficha dt { font-size: var(--text-xs); font-weight: var(--fw-semibold); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-muted); }
.ficha dd { margin: var(--space-2) 0 0; }
.paineis-cabecalho {
display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between;
gap: var(--space-6) var(--space-9); margin-bottom: var(--space-10);
}
.paineis-cabecalho__texto { min-width: 0; }
.paineis-cabecalho .section__title { margin-bottom: 0; }
.paineis-cabecalho .section__lead { margin-top: var(--space-5); }
.paineis-cabecalho .identidade__link { margin-top: 0; }
.paineis { list-style: none; padding: 0; display: grid; gap: var(--space-4); }
.painel {
position: relative; overflow: hidden; isolation: isolate;
border-radius: var(--radius-2xl); background: var(--text); color: var(--text-inverse);
}
.painel__cabecalho { margin: 0; }
.painel__botao { display: none; }
.painel__midia { position: absolute; inset: 0; z-index: -1; }
.painel__midia img { display: block; width: 100%; height: 100%; object-fit: cover; }
.painel__midia::after { content: ''; position: absolute; inset: 0; background: var(--scrim-painel); }
.painel__corpo { display: flex; align-items: flex-end; min-height: var(--paineis-aberto-sm); padding: var(--space-7); }
.painel__texto { max-width: var(--painel-texto-max); }
.painel__dimensao { margin-bottom: var(--space-3); font-size: var(--text-xs); font-weight: var(--fw-semibold); letter-spacing: var(--tracking-caps); text-transform: uppercase; }
.painel__titulo { margin-bottom: var(--space-4); font-size: clamp(var(--text-xl), 1.2rem + 1.4vw, var(--text-3xl)); font-weight: var(--fw-extrabold); line-height: var(--leading-tight); text-wrap: balance; }
.painel__descricao { margin-bottom: var(--space-6); font-size: var(--text-base); line-height: var(--leading-normal); }
.painel .btn-cta:hover { background: var(--bg); color: var(--color-deep); }
.paineis--js { display: flex; height: var(--paineis-altura); }
.paineis--js .painel {
flex: 0 1 var(--paineis-fechado); min-width: 0;
background: var(--bg-subtle); border: var(--border-width) solid var(--border); color: var(--text);
transition: flex-grow var(--duration-painel) var(--ease-out), background var(--duration-fast);
}
.paineis--js .painel.is-active { flex-grow: 1; border-color: transparent; background: var(--text); color: var(--text-inverse); }
.paineis--js .painel:not(.is-active):hover { background: var(--color-primary-subtle); }
.paineis--js .painel__botao {
position: absolute; inset: 0; z-index: var(--z-raised);
display: flex; flex-direction: column; align-items: center; justify-content: space-between;
gap: var(--space-5); width: 100%; padding: var(--space-6) 0;
border: 0; background: none; color: var(--text); font: inherit; cursor: pointer;
}
.paineis--js .painel__botao:focus-visible { outline: var(--border-width-strong) solid var(--color-primary); outline-offset: calc(var(--border-width-strong) * -1); border-radius: var(--radius-2xl); }
.painel__nome {
writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap;
font-size: var(--text-xl); font-weight: var(--fw-bold); letter-spacing: -0.01em;
transition: opacity var(--duration-fast) linear;
}
.painel__mais { flex: none; width: var(--icon-size-lg); height: var(--icon-size-lg); color: var(--color-primary); transition: opacity var(--duration-fast) linear, transform var(--duration-normal) var(--ease-out); }
.paineis--js .painel:not(.is-active):hover .painel__mais { transform: rotate(90deg); }
.paineis--js .painel.is-active .painel__nome, .paineis--js .painel.is-active .painel__mais { opacity: 0; }
.paineis--js .painel__midia { opacity: 0; transition: opacity var(--duration-normal) linear; }
.paineis--js .painel.is-active .painel__midia { opacity: 1; transition: opacity var(--duration-painel-foto) linear var(--delay-painel-foto); }
.paineis--js .painel__corpo {
position: absolute; left: 0; bottom: 0; z-index: var(--z-raised); width: 100%; min-height: 0;
opacity: 0; visibility: hidden; transform: translateY(var(--space-3));
transition: opacity var(--duration-fast) linear, transform var(--duration-fast) linear, visibility 0s linear var(--duration-fast);
}
.paineis--js .painel.is-active .painel__corpo {
opacity: 1; visibility: visible; transform: none;
transition: opacity var(--duration-normal) var(--ease-out) var(--delay-painel), transform var(--duration-normal) var(--ease-out) var(--delay-painel), visibility 0s;
}
.paineis--js .painel__texto { min-width: min(var(--painel-texto-min), 100%); }
@media (max-width: 1023px) {
.paineis--js { flex-direction: column; height: auto; }
.paineis--js .painel { flex: none; height: var(--paineis-fechado-sm); transition: height var(--duration-painel-sm) var(--ease-out), background var(--duration-fast); }
.paineis--js .painel.is-active { height: var(--paineis-aberto-sm); }
.paineis--js .painel__botao { flex-direction: row; justify-content: space-between; padding: 0 var(--space-6); }
.paineis--js .painel__nome { writing-mode: horizontal-tb; transform: none; }
.paineis--js .painel__texto { min-width: 0; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
.paineis--js { --paineis-fechado: var(--paineis-fechado-md); gap: var(--space-3); }
}
@media (prefers-reduced-motion: reduce) {
.paineis--js .painel, .paineis--js .painel__midia, .paineis--js .painel__corpo, .painel__mais, .painel__nome { transition: none; }
.paineis--js .painel__corpo { transform: none; }
}
@media (max-width: 640px) {
.ficha { grid-template-columns: minmax(0, 1fr); }
.linha-tempo__item { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
}
.sobre-paroco__topo { display: grid; gap: var(--space-9); }
.sobre-paroco__topo--foto {
grid-template-columns: minmax(0, 1fr) minmax(0, var(--sobre-coluna-foto));
grid-template-areas: "cabecalho foto" "texto foto";
grid-template-rows: auto 1fr; column-gap: var(--sobre-coluna-folga); row-gap: 0;
}
@media (min-width: 1011px) {
.sobre-padroeira__topo.sobre-paroco__topo--foto {
grid-template-columns: minmax(0, var(--sobre-coluna-foto)) minmax(0, 1fr);
grid-template-areas: "foto cabecalho" "foto texto";
}
}
.sobre-paroco__cabecalho, .sobre-paroco__texto { min-width: 0; }
.sobre-paroco__topo--foto .sobre-paroco__cabecalho { grid-area: cabecalho; }
.sobre-paroco__topo--foto .sobre-paroco__texto { grid-area: texto; }
.sobre-paroco__foto { grid-area: foto; align-self: start; margin: 0; }
.sobre-paroco__formacao {
display: grid; grid-template-columns: var(--sobre-formacao-rotulo) minmax(0, 1fr); gap: var(--space-5) var(--space-9);
margin-top: var(--space-10); padding-top: var(--space-9); border-top: var(--border-width) solid var(--border);
}
.sobre-paroco__formacao--sem-rotulo { grid-template-columns: minmax(0, 1fr); }
.sobre-paroco__formacao-titulo { font-size: var(--text-lg); font-weight: var(--fw-bold); line-height: var(--leading-snug); }
.sobre-paroco__formacao-lista { list-style: none; margin: 0; padding: 0; columns: 3; column-gap: var(--space-9); }
.sobre-paroco__formacao-lista li { break-inside: avoid; padding-bottom: var(--space-4); }
@media (max-width: 1024px) {
.sobre-paroco__topo--foto { column-gap: var(--sobre-coluna-folga-md); }
.sobre-paroco__formacao-lista { columns: 2; }
}
@media (max-width: 1010px) {
.sobre-paroco__topo--foto { grid-template-columns: minmax(0, 1fr); grid-template-areas: "cabecalho" "foto" "texto"; grid-template-rows: auto; row-gap: var(--space-9); }
.sobre-paroco__foto { max-width: var(--sobre-foto-largura); }
.sobre-paroco__texto .filete:first-child { margin-top: 0; }
}
@media (max-width: 768px) {
.sobre-paroco__formacao { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-9); padding-top: var(--space-7); }
}
@media (max-width: 640px) {
.sobre-paroco__formacao-lista { columns: 1; }
}
.lema__titulo-oculto { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.lema .section__eyebrow { margin-bottom: var(--space-9); }
.lema__item { border-top: var(--border-width) solid var(--border); padding-block: var(--space-7); }
.lema__item:last-child { border-bottom: var(--border-width) solid var(--border); }
.lema__rotulo { margin: 0; }
.lema__palavra {
display: block; width: fit-content; max-width: 100%; margin: 0; padding: 0.02em 0; border: 0; background: none;
font: inherit; font-size: var(--lema-palavra-sm); font-weight: var(--fw-extrabold); line-height: var(--leading-lema);
letter-spacing: var(--tracking-lema); text-transform: uppercase; text-align: left; overflow-wrap: normal;
color: var(--color-primary);
}
.lema__palavra:focus-visible { outline-offset: var(--space-3); }
.lema__painel { margin-top: var(--space-5); }
.lema__painel-titulo { margin: 0 0 var(--space-4); font-size: var(--lema-titulo); font-weight: var(--fw-bold); line-height: var(--leading-snug); text-wrap: balance; }
.lema__painel-texto { margin: 0 0 var(--space-6); max-width: var(--measure-lema); font-size: var(--lema-texto); line-height: var(--leading-relaxed); color: var(--text-muted); }
.lema__link { display: inline-flex; align-items: center; gap: var(--space-3); min-height: var(--touch-target); font-weight: var(--fw-semibold); text-decoration: underline; text-underline-offset: var(--space-2); text-decoration-thickness: var(--border-width); }
.lema__link:hover { text-decoration-thickness: var(--border-width-strong); }
.js .lema__palavra { cursor: pointer; color: var(--word-off); transition: color var(--duration-lema-cor) ease; }
.js .lema__item.is-active .lema__palavra { color: var(--color-primary); }
@media (max-width: 1022.98px) {
.js .lema__item { padding-block: var(--space-5); }
.js .lema__painel {
display: grid; grid-template-rows: 0fr; margin-top: 0; opacity: 0;
transition: grid-template-rows var(--duration-lema-acordeao) var(--ease-out), opacity var(--duration-fast) linear;
}
.js .lema__item.is-active .lema__painel {
grid-template-rows: 1fr; opacity: 1;
transition: grid-template-rows var(--duration-lema-acordeao) var(--ease-out), opacity var(--duration-normal) linear var(--delay-lema);
}
.lema__painel-miolo { min-height: 0; overflow: hidden; }
.js .lema__painel-titulo { margin-top: var(--space-4); }
}
@media (min-width: 1023px) {
.js .lema__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); column-gap: clamp(var(--space-8), 6vw, var(--space-13)); align-items: center; }
.js .lema__item { display: contents; }
.js .lema__rotulo { grid-column: 1; }
.js .lema__item:nth-child(1) .lema__rotulo { grid-row: 1; }
.js .lema__item:nth-child(2) .lema__rotulo { grid-row: 2; }
.js .lema__item:nth-child(3) .lema__rotulo { grid-row: 3; }
.lema__palavra { font-size: var(--lema-palavra); }
.js .lema__painel {
grid-column: 2; grid-row: 1 / span 3; align-self: center; margin-top: 0;
opacity: 0; visibility: hidden; transform: translateY(var(--lema-deslocamento));
transition: opacity var(--duration-fast) linear, transform var(--duration-fast) linear, visibility 0s linear var(--duration-fast);
}
.js .lema__item.is-active .lema__painel {
opacity: 1; visibility: visible; transform: none;
transition: opacity var(--duration-normal) var(--ease-out) var(--delay-lema), transform var(--duration-normal) var(--ease-out) var(--delay-lema), visibility 0s linear 0s;
}
.js .lema__item:last-child, .js .lema__item { border: 0; padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
.lema__palavra, .lema__painel { transition: none !important; }
.lema__painel { transform: none !important; }
}
.sobre-grupos { scroll-margin-top: var(--header-offset); }
@property --star-r { syntax: "<length>"; inherits: true; initial-value: 0px; }
.star-cursor {
position: fixed; top: 0; left: 0; z-index: var(--z-cursor);
width: var(--star-largura); height: var(--star-altura);
color: var(--text); opacity: 0; pointer-events: none; will-change: transform;
transition: opacity var(--duration-normal) ease, color var(--duration-fast) ease;
}
.star-cursor.is-visible { opacity: 1; }
.star-cursor.on-dark { color: var(--bg); }
.star-cursor svg { display: block; width: 100%; height: 100%; overflow: visible; }
.star-cursor path { fill: currentcolor; stroke: currentcolor; stroke-linejoin: round; }
:is(h1, h2, h3, h4, h5, h6, .star-title, .frase-identidade, .painel__titulo, .lema__painel-titulo):not(.lema__rotulo, .painel__cabecalho) {
--star-ink: currentcolor;
--star-light: var(--color-primary);
--star-x: -999px; --star-y: -999px; --star-r: 0px;
transition: --star-r var(--star-duracao) var(--ease-out);
}
.is-star.is-lit { --star-r: var(--star-raio); }
.is-star--escuro { --star-light: var(--color-primary-light); }
.is-star {
background:
radial-gradient(circle var(--star-r) at var(--star-x) var(--star-y), var(--star-light) 0%, var(--star-light) 35%, transparent 100%),
linear-gradient(var(--star-ink), var(--star-ink));
-webkit-background-clip: text; background-clip: text;
-webkit-text-fill-color: transparent;
}
@media (hover: none), (pointer: coarse) {
.star-cursor { display: none; }
}
@media (prefers-reduced-motion: reduce) {
.star-cursor { transition: none; }
:is(h1, h2, h3, h4, h5, h6, .star-title, .frase-identidade, .painel__titulo, .lema__painel-titulo) { transition: none; }
}
.badge .ds-icon { width: 1.1em; height: 1.1em; margin-right: var(--space-2); }
.input-error-msg { display: flex; align-items: center; gap: var(--space-2); }
.input-error-msg .ds-icon { width: 1.1em; height: 1.1em; }
.vis-wa {
position: fixed; right: var(--space-5); bottom: var(--space-5); z-index: var(--z-overlay);
display: flex; align-items: center; gap: var(--space-4);
text-decoration: none; font-family: inherit;
}
.vis-wa__icone {
display: flex; align-items: center; justify-content: center;
width: var(--whatsapp-botao); height: var(--whatsapp-botao); border-radius: var(--radius-full);
background: var(--color-whatsapp); box-shadow: var(--shadow-lg);
transition: transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);
}
.vis-wa__icone svg { width: var(--whatsapp-icone); height: var(--whatsapp-icone); fill: var(--text-inverse); }
.vis-wa:hover .vis-wa__icone, .vis-wa:focus-visible .vis-wa__icone { transform: scale(1.07); box-shadow: var(--shadow-xl); }
.vis-wa:focus-visible { outline: var(--border-width-strong) solid var(--text); outline-offset: var(--space-2); border-radius: var(--radius-full); }
.vis-wa__status {
display: flex; align-items: center; gap: var(--space-3);
padding: var(--space-3) var(--space-4); border-radius: var(--radius-full);
background: var(--bg); color: var(--text);
font-size: var(--text-sm); font-weight: var(--fw-semibold); line-height: var(--leading-tight);
box-shadow: var(--shadow-md); max-width: var(--whatsapp-status-max);
}
.vis-wa__dot { flex: 0 0 auto; width: var(--whatsapp-ponto); height: var(--whatsapp-ponto); border-radius: var(--radius-full); background: var(--text-subtle); }
.vis-wa.is-aberto .vis-wa__dot { background: var(--color-success); animation: vis-wa-pulso 2s infinite; }
.vis-wa.is-fechado .vis-wa__dot { background: var(--color-warning); }
@keyframes vis-wa-pulso {
0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--color-success) 55%, transparent); }
70%  { box-shadow: 0 0 0 var(--space-3) transparent; }
100% { box-shadow: 0 0 0 0 transparent; }
}
.tem-whatsapp .footer { padding-bottom: calc(var(--whatsapp-botao) + var(--space-5) * 2); }
@media (max-width: 600px) {
.vis-wa { right: var(--space-4); bottom: var(--space-4); gap: var(--space-3); }
.vis-wa__status { font-size: var(--text-xs); max-width: var(--whatsapp-status-max-sm); }
.tem-whatsapp .footer { padding-bottom: calc(var(--whatsapp-botao) + var(--space-4) * 2); }
}
@media (prefers-reduced-motion: reduce) {
.vis-wa__dot { animation: none !important; }
.vis-wa__icone { transition: none; }
}
@media print { .vis-wa { display: none; } }
.navbar__logo img { transform: scale(var(--logo-escala-topo)); transform-origin: left center; transition: transform var(--duration-normal) var(--ease-out); }
.navbar.is-rolado .navbar__logo img { transform: none; }
@media (max-width: 640px) {
.navbar__logo img { transform: scale(var(--logo-escala-topo-sm)); }
.navbar.is-rolado .navbar__logo img { transform: none; }
}
@media (max-width: 359.98px) {
.navbar__logo img, .navbar.is-rolado .navbar__logo img { transform: none; }
}
.podcast {
margin-top: var(--space-7); padding: var(--space-5);
background: var(--bg-subtle); border: var(--border-width) solid var(--border); border-radius: var(--radius-xl);
}
.podcast__player { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-6); align-items: center; }
.podcast__play {
position: relative; display: block; flex: none;
width: var(--podcast-capa); aspect-ratio: 1; border-radius: var(--radius-lg); overflow: hidden;
background: var(--color-deep); color: var(--text-inverse);
}
.podcast__capa { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.podcast__botao-play {
position: absolute; inset: 0; margin: auto; display: grid; place-items: center;
width: var(--touch-target); height: var(--touch-target); border-radius: var(--radius-full);
background: var(--color-primary-light); color: var(--text-on-light); box-shadow: var(--shadow-md);
transition: transform var(--duration-fast) var(--ease-out), background var(--duration-fast);
}
.podcast__botao-play .icone { fill: currentColor; margin-left: var(--space-1); }
.podcast__play:hover .podcast__botao-play, .podcast__play:focus-visible .podcast__botao-play { transform: scale(1.08); background: var(--color-primary); color: var(--text-inverse); }
.podcast__texto { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
.podcast__rotulo { font-size: var(--text-xs); font-weight: var(--fw-semibold); color: var(--text-muted); text-transform: uppercase; letter-spacing: var(--tracking-caps); }
.podcast__titulo { font-size: var(--text-lg); font-weight: var(--fw-bold); line-height: var(--leading-snug); overflow-wrap: anywhere; }
.podcast__data { font-size: var(--text-sm); color: var(--text-muted); }
.podcast__cta { margin-top: var(--space-3); }
.podcast__embed { margin-top: var(--space-5); }
.podcast__embed[hidden] { display: none; }
.podcast__embed iframe { display: block; width: 100%; border: 0; border-radius: var(--radius-lg); }
@media (prefers-reduced-motion: reduce) {
.podcast__botao-play { transition: none; }
.podcast__play:hover .podcast__botao-play, .podcast__play:focus-visible .podcast__botao-play { transform: none; }
}
@media (max-width: 640px) {
.podcast__player { grid-template-columns: minmax(0, 1fr); }
.podcast__play { width: min(var(--podcast-capa), 100%); }
.podcast__cta { width: 100%; justify-content: center; }
}
.agenda-alternador { margin-bottom: var(--space-7); }
.agenda-alternador[hidden], .calendario[hidden] { display: none; }
.agenda-alternador .alternador__opcao { cursor: pointer; }
.agenda-alternador .alternador__opcao[aria-pressed="true"] { background: var(--color-deep); color: var(--text-inverse); }
.calendario__nav { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-5); }
.calendario__mes { font-size: var(--text-2xl); font-weight: var(--fw-bold); line-height: var(--leading-snug); text-align: center; }
.calendario__seta {
display: inline-grid; place-items: center; width: var(--touch-target); height: var(--touch-target);
border: var(--border-width) solid var(--border-control); border-radius: var(--radius-full);
background: var(--bg); color: var(--color-link); font-size: var(--text-xl); line-height: 1; cursor: pointer;
}
.calendario__seta:hover:not(:disabled) { border-color: var(--color-primary); }
.calendario__seta:disabled { opacity: 0.4; cursor: not-allowed; }
.calendario__grade { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: var(--space-1); }
.calendario__grade th { padding: var(--space-2) 0; font-size: var(--text-xs); font-weight: var(--fw-semibold); color: var(--text-muted); text-transform: uppercase; letter-spacing: var(--tracking-caps); }
.calendario__grade td { padding: 0; vertical-align: top; }
.calendario__fora { padding: var(--space-2); font-size: var(--text-sm); color: var(--text-subtle); text-align: left; height: var(--calendario-dia-altura); }
.calendario__dia-botao {
display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-1);
width: 100%; height: var(--calendario-dia-altura); min-height: var(--touch-target); padding: var(--space-2);
background: var(--bg); border: var(--border-width) solid var(--border); border-radius: var(--radius-md);
color: var(--text); text-align: left; cursor: pointer; overflow: hidden;
}
.calendario__dia-botao:hover { border-color: var(--color-primary); }
.calendario__dia-botao.tem-evento { background: var(--bg-subtle); }
[aria-selected="true"] > .calendario__dia-botao { border-color: var(--color-deep); box-shadow: inset 0 0 0 var(--border-width) var(--color-deep); }
.calendario__num { font-size: var(--text-sm); font-weight: var(--fw-semibold); line-height: 1; }
.calendario__dia-botao.is-hoje .calendario__num {
display: inline-grid; place-items: center; min-width: 1.75em; height: 1.75em; margin: -0.4em 0 0 -0.4em;
border-radius: var(--radius-full); background: var(--color-deep); color: var(--text-inverse);
}
.calendario__pontos { display: none; gap: var(--space-1); }
.calendario__ponto { width: var(--space-2); height: var(--space-2); border-radius: var(--radius-full); background: var(--color-primary); }
.calendario__eventos { display: flex; flex-direction: column; gap: var(--space-1); width: 100%; min-width: 0; }
.calendario__evento { display: block; padding: 0 var(--space-2); border-radius: var(--radius-sm); background: var(--color-primary); color: var(--text-inverse); font-size: var(--text-xs); line-height: var(--leading-snug); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.calendario__mais { font-size: var(--text-xs); color: var(--text-muted); }
.calendario__dia { margin-top: var(--space-7); }
.calendario__dia:focus { outline: none; }
.calendario__dia-titulo { margin-bottom: var(--space-4); font-size: var(--text-xl); font-weight: var(--fw-bold); }
.calendario__vazio { color: var(--text-muted); }
@media (max-width: 768px) {
.calendario__pontos { display: flex; }
.calendario__eventos { display: none; }
.calendario__dia-botao { align-items: center; justify-content: flex-start; padding: var(--space-2) 0; }
.calendario__dia-botao.is-hoje .calendario__num { margin: 0; }
.calendario { --calendario-dia-altura: var(--calendario-dia-altura-sm); }
.calendario__mes { font-size: var(--text-xl); }
}
.sacramento-topo { padding-top: var(--space-7); }
.sacramento-hero {
display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-10); align-items: center;
padding: var(--space-10); border-radius: var(--radius-2xl);
background: var(--gradient-hero); color: var(--text-inverse);
}
.sacramento-hero :focus-visible { outline-color: var(--color-primary-light); }
.sacramento-hero .hero__title { font-size: var(--text-4xl); margin-bottom: var(--space-5); overflow-wrap: break-word; }
.sacramento-hero .hero__lead { margin-bottom: var(--space-8); }
.sacramento-hero__trilha { margin-bottom: var(--space-6); font-size: var(--text-sm); }
.sacramento-hero__trilha ol { display: flex; flex-wrap: wrap; gap: var(--space-3); padding: 0; list-style: none; }
.sacramento-hero__trilha li + li::before { content: '/'; content: '/' / ''; margin-right: var(--space-3); }
.sacramento-hero__trilha [aria-current] { font-weight: var(--fw-bold); }
.sacramento-hero__foto {
position: relative; aspect-ratio: var(--sacramento-foto-proporcao); overflow: hidden;
border-radius: var(--radius-xl); background: var(--color-deep);
}
.sacramento-hero__foto img { width: 100%; height: 100%; object-fit: cover; }
.sacramento-hero__foto--vazia { background: repeating-linear-gradient(135deg, var(--white-a06) 0 var(--space-5), var(--white-a12) var(--space-5) var(--space-7)); }
.sacramento-hero__vazia {
position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
padding: var(--space-6); text-align: center; font-size: var(--text-sm); font-weight: var(--fw-semibold);
}
.sacramento-hero__chips { position: absolute; left: var(--space-5); right: var(--space-5); bottom: var(--space-5); display: flex; flex-wrap: wrap; gap: var(--space-3); padding: 0; list-style: none; }
.sacramento-chip {
display: inline-flex; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-5);
border-radius: var(--radius-full); background: var(--bg); color: var(--color-deep);
font-size: var(--text-sm); font-weight: var(--fw-semibold); line-height: var(--leading-snug);
}
.sacramento-chip svg { width: var(--icon-size); height: var(--icon-size); flex-shrink: 0; color: var(--color-primary); }
.sacramento-icone {
display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
width: var(--sacramento-icone); height: var(--sacramento-icone); border-radius: var(--radius-full);
background: var(--color-deep); color: var(--text-inverse);
}
.sacramento-icone svg { width: var(--icon-size); height: var(--icon-size); }
.sacramento-icone--pequeno { width: var(--avatar-md); height: var(--avatar-md); background: var(--color-primary-subtle); color: var(--color-deep); }
.sacramento-resumo { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--sacramento-card-min)), 1fr)); gap: var(--space-5); padding: 0; list-style: none; }
.sacramento-resumo__card { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-8) var(--space-7); border-radius: var(--radius-xl); }
.sacramento-resumo__card .sacramento-icone { margin-bottom: var(--space-3); }
.sacramento-resumo__card--neutro { background: var(--color-blue-50); }
.sacramento-resumo__card--azul   { background: var(--color-primary-subtle); }
.sacramento-resumo__card--escuro { background: var(--color-deep); color: var(--text-inverse); }
.sacramento-resumo__card--escuro .sacramento-icone { background: var(--white-a12); color: var(--color-primary-light); }
.sacramento-resumo__rotulo { font-size: var(--text-xs); font-weight: var(--fw-semibold); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-muted); }
.sacramento-resumo__valor { font-size: var(--text-2xl); font-weight: var(--fw-extrabold); line-height: var(--leading-tight); color: var(--color-deep); text-wrap: balance; }
.sacramento-resumo__apoio { font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--text-muted); }
.sacramento-resumo__card--escuro .sacramento-resumo__rotulo,
.sacramento-resumo__card--escuro .sacramento-resumo__apoio { color: var(--white-a50); }
.sacramento-resumo__card--escuro .sacramento-resumo__valor { color: var(--text-inverse); }
.sacramento-caixas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--sacramento-caixa-min)), 1fr)); gap: var(--space-5); }
.sacramento-caixa { padding: var(--space-8) var(--space-7); border: var(--border-width) solid var(--border); border-radius: var(--radius-xl); }
.sacramento-caixa__titulo { margin-bottom: var(--space-6); font-size: var(--text-xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); }
.sacramento-caixa__lista { display: grid; gap: var(--space-5); padding: 0; list-style: none; }
.sacramento-caixa__lista li { display: flex; align-items: flex-start; gap: var(--space-4); line-height: var(--leading-normal); }
.sacramento-caixa__check { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: var(--avatar-sm); height: var(--avatar-sm); border-radius: var(--radius-full); background: var(--color-primary-subtle); color: var(--color-deep); }
.sacramento-caixa__check svg { width: var(--text-base); height: var(--text-base); }
.sacramento-docs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--sacramento-doc-min)), 1fr)); gap: var(--space-5); padding: 0; list-style: none; }
.sacramento-doc { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-7); border: var(--border-width) solid var(--border); border-radius: var(--radius-xl); }
.sacramento-doc__titulo { font-size: var(--text-lg); font-weight: var(--fw-bold); line-height: var(--leading-snug); }
.sacramento-doc__texto { font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--text-muted); }
.sacramento-doc--escuro { background: var(--color-deep); border-color: var(--color-deep); color: var(--text-inverse); }
.sacramento-doc--escuro .sacramento-icone--pequeno { background: var(--white-a12); color: var(--color-primary-light); }
.sacramento-doc--escuro .sacramento-doc__texto { font-size: var(--text-2xl); font-weight: var(--fw-extrabold); color: var(--text-inverse); }
.sacramento-aviso { margin-top: var(--space-7); }
.sacramento-aviso p { margin: 0; }
.sacramento-aviso .alert__icon svg { display: block; }
.sacramento-passos { max-width: var(--sacramento-lista-largura); padding: 0; list-style: none; counter-reset: passo; }
.sacramento-passos__item {
display: grid; grid-template-columns: var(--sacramento-passo-numero) 1fr; gap: var(--space-6); align-items: start;
padding: var(--space-7) var(--space-6); border-bottom: var(--border-width) solid var(--border); counter-increment: passo;
}
.sacramento-passos__item::before {
content: counter(passo, decimal-leading-zero); content: counter(passo, decimal-leading-zero) / "";
font-size: var(--text-2xl); font-weight: var(--fw-extrabold); line-height: var(--leading-tight); color: var(--color-primary);
}
.sacramento-passos__item--destaque { background: var(--color-primary-subtle); border-bottom-color: transparent; border-radius: var(--radius-xl); }
.sacramento-passos__titulo { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-bottom: var(--space-2); font-size: var(--text-xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); }
.sacramento-passos__texto { color: var(--text-muted); line-height: var(--leading-relaxed); }
.sacramento-passos__tag { padding: var(--space-1) var(--space-4); border-radius: var(--radius-full); font-size: var(--text-xs); font-weight: var(--fw-semibold); letter-spacing: var(--tracking-caps); text-transform: uppercase; line-height: var(--leading-snug); }
.sacramento-passos__tag--tempo { background: var(--color-blue-50); color: var(--text-muted); }
.sacramento-passos__tag--etapa { background: var(--color-deep); color: var(--text-inverse); }
.sacramento-passos + .sacramento-aviso { max-width: var(--sacramento-lista-largura); }
.sacramento-faq { max-width: var(--sacramento-lista-largura); border-top: var(--border-width) solid var(--border); }
.sacramento-faq__item { border-bottom: var(--border-width) solid var(--border); }
.sacramento-faq__pergunta {
display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); min-height: var(--touch-target);
padding: var(--space-6) 0; cursor: pointer; list-style: none; font-size: var(--text-lg); font-weight: var(--fw-bold); line-height: var(--leading-snug);
}
.sacramento-faq__pergunta::-webkit-details-marker { display: none; }
.sacramento-faq__seta { width: var(--icon-size); height: var(--icon-size); flex-shrink: 0; color: var(--color-primary); transition: transform var(--duration-normal) var(--ease-out); }
.sacramento-faq__item[open] .sacramento-faq__seta { transform: rotate(180deg); }
.sacramento-faq__resposta { padding-bottom: var(--space-6); max-width: var(--measure-prose); color: var(--text-muted); line-height: var(--leading-relaxed); }
.sacramento-contato {
display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-10); align-items: center;
padding: var(--space-11) var(--space-10); border-radius: var(--radius-2xl); background: var(--color-deep); color: var(--text-inverse);
}
.sacramento-contato :focus-visible { outline-color: var(--color-primary-light); }
.sacramento-contato__titulo { margin-bottom: var(--space-5); font-size: var(--text-3xl); font-weight: var(--fw-bold); line-height: var(--leading-tight); text-wrap: balance; }
.sacramento-contato__texto p { margin-bottom: var(--space-7); max-width: var(--measure-hero-lead); line-height: var(--leading-relaxed); }
.sacramento-contato__dados { display: grid; gap: var(--space-6); padding: 0; list-style: none; }
.sacramento-contato__dados li { display: flex; align-items: flex-start; gap: var(--space-5); line-height: var(--leading-relaxed); }
.sacramento-contato__dados svg { width: var(--icon-size); height: var(--icon-size); flex-shrink: 0; margin-top: var(--space-1); color: var(--color-primary-light); }
.sacramento-contato__dados a { color: var(--text-inverse); text-decoration: underline; text-underline-offset: var(--space-1); overflow-wrap: anywhere; }
.sacramento-contato__rotulo { display: block; font-size: var(--text-xs); font-weight: var(--fw-semibold); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--white-a50); }
@media (max-width: 1024px) {
.sacramento-hero { gap: var(--space-8); padding: var(--space-9); }
.sacramento-contato { padding: var(--space-10) var(--space-9); }
}
@media (max-width: 768px) {
.sacramento-hero { grid-template-columns: 1fr; padding: var(--space-8) var(--space-6); }
.sacramento-hero .hero__title { font-size: clamp(var(--text-2xl), 9vw, var(--text-3xl)); }
.sacramento-contato { grid-template-columns: 1fr; gap: var(--space-8); padding: var(--space-9) var(--space-6); }
.sacramento-contato__titulo { font-size: var(--text-2xl); }
.sacramento-passos__item { grid-template-columns: 1fr; gap: var(--space-3); padding: var(--space-6) var(--space-5); }
}
@media (max-width: 640px) {
.sacramento-hero .btn { width: 100%; justify-content: center; }
.sacramento-contato .btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
.sacramento-faq__seta { transition: none; }
}
.navbar__botao { gap: var(--space-2); padding: 0; background: none; border: 0; cursor: pointer; font-family: inherit; -webkit-tap-highlight-color: transparent; }
.navbar__item--submenu { display: flex; align-items: center; flex-wrap: wrap; }
.navbar__botao .navbar__seta { width: var(--navbar-seta); height: var(--navbar-seta); flex-shrink: 0; stroke-width: var(--navbar-seta-traco); transition: transform var(--duration-fast); }
.navbar__item--submenu.is-open > .navbar__botao .navbar__seta { transform: rotate(180deg); }
.navbar__botao--seta { display: inline-flex; align-items: center; justify-content: center; min-width: var(--touch-target); min-height: var(--touch-target); margin-left: calc(var(--space-3) * -1 - var(--space-1)); color: var(--color-blue-300); }
.navbar__botao--seta:hover, .navbar__item--submenu.is-open > .navbar__botao--seta { color: var(--text-inverse); }
.navbar--sobre-hero:not(.is-solida) .navbar__botao--seta { color: var(--text-inverse); }
.navbar__lista .sub-menu .navbar__link { display: flex; gap: var(--space-3); width: 100%; white-space: nowrap; }
.navbar__lista .sub-menu .navbar__link.active { color: var(--text-inverse); }
.navbar__icone { width: var(--text-lg); height: var(--text-lg); flex-shrink: 0; color: var(--color-primary-light); }
.js .navbar__item--submenu:hover > .sub-menu,
.js .navbar__item--submenu:focus-within > .sub-menu { display: none; }
.js .navbar__item--submenu.is-open > .sub-menu { display: block; }
.navbar__lista .navbar__item--submenu > .sub-menu :focus-visible,
.navbar__botao:focus-visible { outline-color: var(--color-primary-light); }
@media (max-width: 768px) {
.navbar__lista .navbar__item--submenu > .navbar__botao:not(.navbar__botao--seta) { width: 100%; justify-content: space-between; padding-right: calc((var(--touch-target) - var(--navbar-seta)) / 2); }
.navbar__lista .navbar__item--submenu > .navbar__link:not(.navbar__botao) { flex: 1; }
.navbar__botao--seta { margin-left: 0; }
.navbar__lista .navbar__item--submenu > .sub-menu {
position: static; flex-basis: 100%; min-width: 0; padding: 0 0 0 var(--space-5); margin-left: var(--space-3);
background: none; box-shadow: none; border-radius: 0; border-left: var(--border-width-strong) solid var(--white-a20);
}
.navbar__lista .navbar__item--submenu.is-open > .sub-menu { display: block !important; }
.navbar__lista .navbar__item--submenu > .sub-menu .navbar__link { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
.navbar__seta { transition: none; }
}
@media (max-width: 768px) {
.no-js .navbar { flex-wrap: wrap; row-gap: var(--space-3); }
.no-js .navbar__acoes { display: contents; }
.no-js .navbar__toggle { display: none; }
.no-js .navbar__cta { margin-left: auto; }
.no-js .navbar__nav { display: flex; flex-direction: column; align-items: stretch; flex-basis: 100%; order: 3; }
.no-js .navbar__lista { display: flex; flex-direction: column; align-items: stretch; text-align: left; }
.no-js .navbar__lista > li { align-self: stretch; }
.no-js .navbar__lista .sub-menu { display: block !important; position: static; }
.no-js .navbar__botao .navbar__seta, .no-js .navbar__botao--seta { display: none; }
}
