:root {
    --azul: #1f3b63;
    --azul-claro: #3d6fa8;
    --dourado: #c9a45c;
    --texto: #2b2f36;
    --texto-suave: #5b6270;
    --fundo: #ffffff;
    --fundo-suave: #f7f4ee;
    --borda: #e6e1d6;
    --raio: 14px;
    --serif: "Playfair Display", Georgia, serif;
    --sans: "Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; font-family: var(--sans); font-size: 1.05rem; line-height: 1.65; color: var(--texto); background: var(--fundo); }
img { max-width: 100%; display: block; }
a { color: var(--azul-claro); }
h1, h2, h3 { font-family: var(--serif); font-weight: 600; color: var(--azul); line-height: 1.25; }

.container { width: min(1120px, 100% - 2rem); margin-inline: auto; }
.estreito { max-width: 780px; }
.centro { text-align: center; }
.secao { padding: clamp(3rem, 7vw, 5rem) 0; }
.secao--suave { background: var(--fundo-suave); }
.titulo { text-align: center; font-size: clamp(1.7rem, 4vw, 2.3rem); margin: 0 0 1.5rem; }
.introducao { max-width: 760px; margin: 0 auto 2rem; text-align: center; color: var(--texto-suave); }
.destaque { font-family: var(--serif); font-style: italic; font-size: clamp(1.2rem, 3vw, 1.6rem); text-align: center; color: var(--azul); margin: 0 auto 2.5rem; max-width: 760px; }

/* Botões */
.botao { display: inline-block; padding: .8rem 1.6rem; margin: .3rem; border-radius: 999px; background: var(--azul); color: #fff; text-decoration: none; font-weight: 700; transition: transform .15s, background .15s; }
.botao:hover { background: var(--azul-claro); transform: translateY(-2px); }
.botao--claro { background: rgba(255,255,255,.92); color: var(--azul); }
.botao--claro:hover { background: #fff; }
.botao--contorno { background: transparent; color: var(--azul); box-shadow: inset 0 0 0 2px var(--azul); }
.botao--contorno:hover { background: var(--azul); color: #fff; }
.link-seta { font-weight: 700; text-decoration: none; }
.link-seta::after { content: " →"; }

/* Cabeçalho */
.cabecalho { position: sticky; top: 0; z-index: 20; background: rgba(250, 248, 243, .95); backdrop-filter: blur(8px); border-bottom: 1px solid var(--borda); }
.cabecalho__inner { display: flex; align-items: center; justify-content: space-between; min-height: 72px; }
.marca { display: flex; align-items: center; gap: .6rem; text-decoration: none; font-family: var(--serif); font-size: 1.35rem; color: var(--azul); }
.marca img { width: 44px; height: 44px; }
.menu { display: flex; gap: .3rem; }
.menu a { padding: .45rem .8rem; border-radius: 999px; text-decoration: none; color: var(--texto); font-weight: 600; font-size: .95rem; }
.menu a:hover, .menu a.ativo { background: var(--azul); color: #fff; }
.menu-toggle, .menu-botao { display: none; }

@media (max-width: 900px) {
    .menu-botao { display: block; width: 44px; height: 44px; cursor: pointer; position: relative; }
    .menu-botao span, .menu-botao span::before, .menu-botao span::after { position: absolute; left: 10px; width: 24px; height: 2px; background: var(--azul); content: ""; transition: .2s; }
    .menu-botao span { top: 21px; }
    .menu-botao span::before { left: 0; top: -7px; }
    .menu-botao span::after { left: 0; top: 7px; }
    .menu { display: none; position: absolute; top: 72px; left: 0; right: 0; flex-direction: column; padding: .5rem 1rem 1rem; background: var(--fundo-suave); border-bottom: 1px solid var(--borda); }
    .menu a { padding: .75rem 1rem; }
    .menu-toggle:checked ~ .menu { display: flex; }
    .menu-toggle:checked + .menu-botao span { background: transparent; }
    .menu-toggle:checked + .menu-botao span::before { transform: translateY(7px) rotate(45deg); }
    .menu-toggle:checked + .menu-botao span::after { transform: translateY(-7px) rotate(-45deg); }
}

/* Balões das redes sociais */
.redes { position: fixed; right: 14px; top: 50%; transform: translateY(-50%); z-index: 30; display: flex; flex-direction: column; gap: 10px; }
.rede { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; color: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.18); transition: transform .15s; }
.rede:hover { transform: scale(1.1); }
.rede svg { width: 26px; height: 26px; }
.rede--whatsapp { background: #25d366; }
.rede--instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.rede--facebook { background: #1877f2; }
.rede--youtube { background: #ff0000; }
@media (max-width: 600px) {
    .redes { top: auto; bottom: 14px; transform: none; flex-direction: row; right: 50%; translate: 50% 0; }
    .rede { width: 42px; height: 42px; }
    body { padding-bottom: 70px; }
}

/* Hero */
.hero { min-height: min(78vh, 680px); display: grid; align-items: center; color: #fff; text-align: center;
    background: linear-gradient(180deg, #3d5f94 0%, #6f86b8 35%, #c79bb8 65%, #f2b47e 88%, #f7d8a8 100%); }
.hero blockquote { margin: 0 0 2rem; }
.hero p { font-family: var(--serif); font-size: clamp(1.8rem, 5vw, 3.2rem); line-height: 1.3; margin: 0 0 1rem; text-shadow: 0 2px 18px rgba(20, 30, 60, .35); }
.hero cite { font-style: normal; letter-spacing: .08em; opacity: .9; }

/* Associado */
.associado { background: var(--azul); color: #fff; }
.associado h2 { color: #fff; margin-top: 0; font-size: clamp(1.4rem, 3.5vw, 2rem); }
.associado p { opacity: .92; }
.associado .botao { background: var(--dourado); color: var(--azul); flex-shrink: 0; }
.associado__inner { display: flex; gap: 2rem; align-items: center; justify-content: space-between; }
@media (max-width: 760px) { .associado__inner { flex-direction: column; text-align: center; } }

/* Números */
.numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.2rem; margin-bottom: 2rem; }
.numeros div { background: #fff; border-radius: var(--raio); padding: 1.5rem; border: 1px solid var(--borda); }
.numeros strong { display: block; font-family: var(--serif); font-size: 2.4rem; color: var(--azul); }
.numeros span { color: var(--texto-suave); font-size: .97rem; }

/* Atividades */
.chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-bottom: 2.5rem; }
.chips a { padding: .4rem .9rem; border-radius: 999px; border: 1px solid var(--borda); text-decoration: none; color: var(--azul); font-weight: 600; font-size: .9rem; background: var(--fundo-suave); }
.chips a:hover { background: var(--azul); color: #fff; }
.cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.2rem; }
.cartao { border: 1px solid var(--borda); border-radius: var(--raio); padding: 1.4rem 1.5rem; display: flex; flex-direction: column; transition: box-shadow .15s, transform .15s; }
.cartao:hover { box-shadow: 0 10px 30px rgba(31, 59, 99, .1); transform: translateY(-3px); }
.cartao h3 { margin: 0 0 .5rem; font-size: 1.25rem; }
.cartao p { color: var(--texto-suave); flex: 1; margin: 0 0 1rem; }

.atividade { padding: 2rem 0; border-bottom: 1px solid var(--borda); }
.atividade:last-child { border-bottom: 0; }
.atividade h2 { margin: 0 0 .75rem; }
.atividade ul { padding-left: 1.2rem; color: var(--texto-suave); }
.atividade .botao { margin-left: 0; }

/* Páginas internas */
.topo { background: linear-gradient(135deg, var(--azul) 0%, var(--azul-claro) 100%); color: #fff; padding: clamp(2.5rem, 6vw, 4rem) 0; text-align: center; }
.topo h1 { color: #fff; margin: 0 0 .5rem; font-size: clamp(1.9rem, 5vw, 2.8rem); }
.topo p { max-width: 760px; margin: 0 auto; opacity: .92; }
.topo a { color: #fff; }
.texto h2 { margin-top: 2.2rem; }
.texto ul li { margin-bottom: .5rem; }

.prece { font-family: var(--serif); font-size: 1.1rem; color: var(--texto); text-align: justify; hyphens: auto; }
.secao--prece { background: linear-gradient(180deg, var(--fundo-suave), #fff); }

.diretoria { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 1rem; margin-bottom: 2rem; }
.membro { background: #fff; border: 1px solid var(--borda); border-radius: var(--raio); padding: 1rem 1.2rem; text-align: center; }
.membro strong { display: block; color: var(--azul); }
.membro span { color: var(--texto-suave); font-size: .92rem; }

.semana { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.2rem; margin-bottom: 2rem; }
.dia { border: 1px solid var(--borda); border-radius: var(--raio); padding: 1.4rem 1.5rem; }
.dia h3 { margin: 0 0 .75rem; }
.dia ul { list-style: none; padding: 0; margin: 0; }
.dia li { padding: .35rem 0; }
.dia time { display: inline-block; min-width: 3.6rem; font-weight: 700; color: var(--azul); }
.dia em { color: var(--texto-suave); font-size: .9rem; }

/* Chamada para página de evento especial (Agenda) — cores da arte de divulgação */
.convite-evento { padding: clamp(2rem, 5vw, 3rem) 0; color: #343127;
    background: #ebe7e6 url("/eventos/celebracao-final-de-ano-2026/fundo.webp") center bottom / cover no-repeat; }
.convite-evento__inner { display: flex; gap: 2rem; align-items: center; justify-content: space-between; }
.convite-evento h2 { margin: .4rem 0 .8rem; }
.convite-evento h2 img { width: min(100%, 360px); height: auto; }
.convite-evento p { margin: 0 0 .6rem; }
.convite-evento__chamada { display: inline-block; padding: .2rem 1rem; border: 2px solid #c6a36c; border-radius: 999px; font-weight: 700; font-size: .85rem; letter-spacing: .25em; text-transform: uppercase; color: #9a6c1e; }
.convite-evento__data { display: inline-block; padding: .25rem 1rem; border-radius: 12px; background: #cf1919; color: #fff; font-weight: 700; }
.convite-evento .botao { flex-shrink: 0; background: #3b2400; }
.convite-evento .botao:hover { background: #9a6c1e; }
@media (max-width: 760px) {
    .convite-evento__inner { flex-direction: column; text-align: center; }
    .convite-evento__chamada { letter-spacing: .12em; font-size: .75rem; }
}

.eventos { display: grid; gap: 1rem; }
.evento { display: flex; gap: 1.2rem; background: #fff; border: 1px solid var(--borda); border-radius: var(--raio); padding: 1.2rem; }
.evento h3 { margin: 0 0 .25rem; }
.evento p { margin: 0 0 .5rem; }
.evento__data { flex-shrink: 0; width: 64px; height: 64px; border-radius: 12px; background: var(--azul); color: #fff; display: grid; place-content: center; text-align: center; line-height: 1.1; }
.evento__data strong { font-size: 1.5rem; }
.evento__data span { text-transform: uppercase; font-size: .8rem; }
.evento__info { color: var(--texto-suave); font-size: .95rem; display: flex; gap: 1rem; flex-wrap: wrap; }

.preco { font-family: var(--serif); font-size: clamp(1.6rem, 4vw, 2.2rem); }
.horarios { list-style: none; padding: 0; margin: 0 auto 1.5rem; max-width: 480px; text-align: left; }
.horarios li { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--borda); }

.datas { list-style: none; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.datas li { padding: .5rem 1rem; border-radius: 999px; background: #fff; border: 1px solid var(--borda); font-weight: 700; color: var(--azul); }

/* Rodapé */
.rodape { background: var(--azul); color: rgba(255,255,255,.88); padding: 2.5rem 0; font-size: .95rem; }
.rodape strong { color: #fff; }
.rodape p { margin: .3rem 0; }
.rodape__inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1.5rem; }
.rodape__links { display: flex; flex-direction: column; gap: .4rem; }
.rodape a { color: #fff; }

@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; scroll-behavior: auto !important; }
}

/* Palestras */
.pesquisa { display: flex; gap: .5rem; max-width: 560px; margin: 1.5rem auto 0; }
.pesquisa input { flex: 1; min-width: 0; padding: .8rem 1.2rem; border-radius: 999px; border: 0; font: inherit; color: var(--texto); }
.pesquisa .botao { margin: 0; background: var(--dourado); color: var(--azul); }
.resultado-resumo { color: var(--texto-suave); margin-bottom: 1.5rem; }
.evento__info span:first-child::first-letter { text-transform: uppercase; }
.evento__data small { font-size: .7rem; opacity: .8; }
.evento__data { height: auto; padding: .5rem 0; }
.palestra { align-items: flex-start; }
.palestra__corpo { flex: 1; min-width: 0; }
.palestra .evento__info { margin-bottom: .2rem; }
.palestra h3 { font-size: 1.15rem; }
.palestra__expositores a { font-weight: 700; text-decoration: none; }
.palestra__tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.palestra__tags a { font-size: .8rem; padding: .1rem .6rem; border-radius: 999px; background: var(--fundo-suave); border: 1px solid var(--borda); color: var(--texto-suave); text-decoration: none; }
.palestra__tags a:hover { background: var(--azul); color: #fff; }
.palestra__thumb img { width: 160px; height: 90px; object-fit: cover; border-radius: 8px; }
.selo { font-size: .75rem; font-weight: 700; padding: .05rem .55rem; border-radius: 999px; background: var(--dourado); color: var(--azul); }
@media (max-width: 600px) { .palestra__thumb { display: none; } }

/* Boletins */
.boletins-ano { padding: 1rem 0 1.5rem; border-bottom: 1px solid var(--borda); }
.boletins-ano:last-child { border-bottom: 0; }
.boletins-ano h2 { margin: 0 0 .75rem; }
.boletins { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .5rem 1rem; }
.boletins li { display: flex; align-items: center; gap: .5rem; }
.boletins a { text-decoration: none; }
.boletins a:hover span { text-decoration: underline; }
.boletins strong { color: var(--azul); margin-right: .3rem; }
.boletins__indisponivel { color: var(--texto-suave); }
.boletins__indisponivel em { font-size: .85rem; }
.boletim { overflow-wrap: anywhere; }
.boletim img { margin: 1rem auto; height: auto; }
.boletim__pdf { display: block; width: 100%; height: 80vh; border: 1px solid var(--borda); border-radius: var(--raio); }
.boletim__navegacao { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--borda); font-weight: 600; }
