/* ═══ VRK Diocese Em Breve · tela pública ═══
   A tela aprovada no protótipo (telas/geral/em-breve.html, r2, 19/10/2026), sobre o DS 5.0.0 da Diocese
   (assets/ds/dist/ds.css, que vem junto porque o site atual não tem o DS). Prefixo eb-.
   prefers-reduced-motion: tudo parado e visível. */

.eb-body { margin: 0; background: #020b26; }
.eb-page { position: relative; margin-inline: auto; min-height: 100svh; background: #020b26; }

/* ── a tela ── */
.eb-tela { position: relative; isolation: isolate; overflow: hidden; min-height: 100svh; display: grid; grid-template-rows: 1fr auto; color: #fff; background: #041646; }
.eb-tela-faixa { position: absolute; z-index: 5; inset: 0 0 auto; }
/* camada 1: textura navy com o brasão, aproximando devagar */
.eb-tela::before { content: ''; position: absolute; z-index: -4; inset: -2%; background: #041646 url('../img/fundo-navy-brasao.webp') 72% 50% / cover no-repeat;
  animation: eb-aproxima 48s ease-in-out infinite alternate; transform-origin: 70% 50%; }
@keyframes eb-aproxima { from { transform: scale(1); } to { transform: scale(1.09) translateX(-1.2%); } }
/* camada 2: luzes que derivam (azul do rodapé e um calor dourado embaixo) */
.eb-luz { position: absolute; z-index: -3; border-radius: 50%; filter: blur(60px); pointer-events: none; }
.eb-luz--a { width: 70vmax; height: 70vmax; left: -22vmax; top: -30vmax; background: radial-gradient(closest-side, rgba(110, 145, 235, .38), transparent); animation: eb-deriva-a 34s ease-in-out infinite alternate; }
.eb-luz--b { width: 60vmax; height: 34vmax; left: 50%; bottom: -22vmax; translate: -50% 0; background: radial-gradient(closest-side, rgba(221, 185, 118, .26), transparent); animation: eb-deriva-b 22s ease-in-out infinite alternate; }
@keyframes eb-deriva-a { to { transform: translate(18vmax, 10vmax) scale(1.1); } }
@keyframes eb-deriva-b { from { opacity: .6; } to { opacity: 1; transform: scale(1.12); } }
/* camada 3: poeira dourada (canvas, desenhado pelo JS) */
.eb-po { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; pointer-events: none; }
/* camada 4: vinheta e véu para leitura do centro */
.eb-tela::after { content: ''; position: absolute; z-index: -1; inset: 0; pointer-events: none;
  background: radial-gradient(120% 90% at 50% 45%, rgba(2, 11, 38, .15) 0%, rgba(2, 11, 38, .55) 62%, rgba(2, 11, 38, .9) 100%); }

/* arte opcional: a colagem (campo "Arte" do plugin) */
.eb-arte { display: none; position: absolute; z-index: -2; right: max(-4vw, -60px); bottom: 0; width: min(54vw, 860px); aspect-ratio: 1350 / 1080; pointer-events: none;
  background: var(--eb-arte) center bottom / contain no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent 4%, rgba(0,0,0,.5) 26%, #000 48%), linear-gradient(0deg, transparent 0%, #000 22%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 4%, rgba(0,0,0,.5) 26%, #000 48%), linear-gradient(0deg, transparent 0%, #000 22%); mask-composite: intersect;
  opacity: .9; animation: eb-flutua 14s ease-in-out infinite alternate; }
@keyframes eb-flutua { to { transform: translateY(-14px); } }
.eb-body[data-arte="sim"] .eb-arte { display: block; }
.eb-body[data-arte="sim"] .eb-in { justify-self: start; margin-left: clamp(24px, 7vw, 120px); text-align: left; justify-items: start; }
.eb-body[data-arte="sim"] .eb-links, .eb-body[data-arte="sim"] .eb-conta { justify-content: flex-start; }
.eb-body[data-arte="sim"] .eb-tit::after { margin-inline: 0; }
.eb-body[data-arte="sim"] .eb-pe { justify-items: start; text-align: left; padding-left: clamp(24px, 7vw, 120px); }
.eb-body[data-arte="sim"] .eb-cred { justify-content: flex-start; }

/* ── o centro ── */
.eb-in { align-self: center; justify-self: center; display: grid; justify-items: center; width: min(100% - 40px, 920px); padding-block: clamp(44px, 7vh, 96px) 28px; text-align: center; }
.eb-chancela { display: block; height: auto; aspect-ratio: 163.91 / 158.37; fill: url(#eb-ouro); width: clamp(84px, 13vh, 132px); filter: drop-shadow(0 10px 30px rgba(0, 0, 0, .35)); }
.eb-tit { margin-top: clamp(18px, 3vh, 32px); font-size: clamp(2.6rem, min(1.2rem + 5cqi, 9vh), 5.2rem); line-height: 1.02; font-weight: var(--du-fw-semibold); letter-spacing: -.035em; color: #fff; text-wrap: balance; }
.eb-tit .eb-li { display: block; overflow: hidden; padding-bottom: .16em; margin-bottom: -.1em; }
.eb-tit .eb-li > span { display: inline-block; }
.eb-tit mark { background: linear-gradient(90deg, #f8e1a5 0%, #e6c789 25%, #c9a35a 50%, #e6c789 75%, #f8e1a5 100%); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: du-gold-flow var(--du-dur-gold) linear infinite; padding-right: .04em; }
.eb-tit::after { content: ''; display: block; width: 120px; height: 3px; margin: clamp(16px, 2.6vh, 28px) auto 0; border-radius: 3px; background: var(--du-grad-gold); background-size: 200% 100%; animation: du-gold-flow var(--du-dur-gold) linear infinite; }
.eb-lead { max-width: 60ch; margin-top: clamp(14px, 2.2vh, 24px); font-size: clamp(1.0625rem, .95rem + .45cqi, 1.25rem); line-height: 1.6; color: rgba(255, 255, 255, .82); text-wrap: pretty; }
.eb-lead b { font-weight: var(--du-fw-semibold); color: #fff; }

/* contagem: como data de estreia */
.eb-conta { display: flex; justify-content: center; align-items: stretch; margin-top: clamp(20px, 3.4vh, 36px); }
.eb-conta:empty { display: none; }
.eb-u { display: grid; justify-items: center; gap: 6px; min-width: clamp(64px, 9cqi, 104px); padding-inline: clamp(10px, 1.6cqi, 22px); }
.eb-u + .eb-u { border-left: 1px solid rgba(243, 212, 143, .32); }
.eb-u b { font-size: clamp(2rem, min(1.1rem + 3cqi, 6vh), 3.4rem); line-height: 1; font-weight: var(--du-fw-medium); letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: #fff; }
.eb-u span { font-size: .6875rem; font-weight: var(--du-fw-semibold); letter-spacing: .18em; text-transform: uppercase; color: var(--du-gold-200); }
.eb-u--s b { color: rgba(255, 255, 255, .55); }
.eb-quando { width: 100%; margin-top: 14px; font-size: var(--du-fs-sm); color: rgba(255, 255, 255, .7); }
.eb-quando b { font-weight: var(--du-fw-semibold); color: #fff; }
.eb-conta--linha { flex-wrap: wrap; font-size: var(--du-fs-md); color: rgba(255, 255, 255, .8); }
.eb-conta--linha b { color: var(--du-gold-200); font-weight: var(--du-fw-semibold); }

/* entrada do buscador: A botão, B busca */
.eb-entrada { margin-top: clamp(22px, 3.6vh, 40px); display: grid; justify-items: inherit; width: 100%; }
.eb-entrada--busca { display: none; }
.eb-body[data-entrada="busca"] .eb-entrada--botao { display: none; }
.eb-body[data-entrada="busca"] .eb-entrada--busca { display: grid; }
.eb-entrada .du-btn--lg { padding-inline: 30px; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .7); }
.eb-busca-tela { max-width: 560px; }
.eb-busca-tela .du-btn { padding-inline: 20px; }
.eb-ou { margin-top: 14px; font-size: var(--du-fs-sm); color: rgba(255, 255, 255, .6); }
.eb-ou a { font-weight: var(--du-fw-semibold); color: #fff; }
.eb-ou a:hover { color: var(--du-gold-200); }

/* contatos e redes em pílulas de vidro */
.eb-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: clamp(16px, 2.6vh, 28px); }
.eb-l { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); backdrop-filter: blur(6px);
  font-size: var(--du-fs-sm); font-weight: var(--du-fw-semibold); color: #fff; transition: background var(--du-dur-fast), transform var(--du-dur-fast); }
.eb-l:hover { background: rgba(255, 255, 255, .16); transform: translateY(-2px); }
.eb-l .du-ic { width: 18px; height: 18px; color: var(--du-gold-200); }
.eb-l--ic { width: 44px; padding: 0; justify-content: center; }
.eb-l:focus-visible, .eb-ou a:focus-visible, .eb-olho:focus-visible { outline: 3px solid var(--du-gold-500); outline-offset: 3px; }

.eb-pe { position: relative; z-index: 1; display: grid; justify-items: center; gap: 14px; padding: 8px 64px calc(22px + env(safe-area-inset-bottom)); text-align: center; font-size: .8125rem; line-height: 1.55; color: rgba(255, 255, 255, .72); }
.eb-pe a { color: #fff; font-weight: var(--du-fw-semibold); }
.eb-pe a:hover { color: var(--du-gold-200); }
/* assinatura: chancela + nome + Cúria; filete; © e crédito Veronikas (como no rodapé aprovado) */
.eb-ass { display: flex; align-items: center; gap: 14px; text-align: left; }
.eb-ass-marca { width: 52px; height: 50px; flex: none; fill: var(--du-gold-200); }
.eb-ass-t b { display: block; font-size: .9375rem; font-weight: var(--du-fw-semibold); color: #fff; }
.eb-ass-t p { margin-top: 2px; }
.eb-cred { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 22px; width: min(100%, 720px); padding-top: 14px; border-top: 1px solid rgba(243, 212, 143, .22); }
.eb-cred-vk { display: inline-flex; align-items: center; gap: 8px; color: #fff; }
.eb-cred-vk .du-ic { width: 14px; height: 14px; color: #e2493c; }
.eb-cred-vk img { display: block; height: 30px; width: auto; }
/* botão principal: dourado claro com texto navy (contraste 12:1), mais visível que o branco sobre a textura */
@container (min-width: 861px) {
  .eb-pe { grid-template-columns: auto auto; justify-content: center; align-items: center; gap: 0; }
  .eb-cred { flex-direction: column; align-items: flex-start; gap: 4px; width: auto; margin-left: 28px; padding: 2px 0 2px 28px; border-top: 0; border-left: 1px solid rgba(243, 212, 143, .25); }
  .eb-body[data-arte="sim"] .eb-pe { justify-content: start; }
}
.eb-tela .eb-cta, .eb-tela .eb-cta:visited { background: #f3d48f; color: #041646; }
.eb-tela .eb-cta:hover { background: #f8e1a5; color: #041646; }
.eb-tela .eb-cta .du-ic { color: #041646; fill: currentColor; }
.eb-cta { --b-bg: var(--du-gold-200); --b-fg: var(--du-navy-900); --b-hv: var(--du-gold-300); font-weight: 700; box-shadow: 0 0 0 1px rgba(255, 255, 255, .35) inset, 0 18px 40px -18px rgba(221, 185, 118, .7); }
.eb-cta:hover { box-shadow: 0 0 0 1px rgba(255, 255, 255, .5) inset, 0 20px 44px -16px rgba(221, 185, 118, .85); }
.eb-cta:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.eb-olho { position: absolute; z-index: 6; right: 18px; bottom: 18px; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .8); cursor: pointer; transition: background var(--du-dur-fast), color var(--du-dur-fast); }
.eb-olho:hover { background: rgba(255, 255, 255, .14); color: #fff; }
.eb-olho .du-ic { width: 18px; height: 18px; }

/* ── entrada em sequência (o JS põe .is-pronta no body) ── */
.eb-seq { opacity: 0; transform: translateY(18px); filter: blur(6px); transition: opacity 1.1s var(--du-ease), transform 1.1s var(--du-ease), filter 1.1s var(--du-ease); transition-delay: var(--d, 0s); }
.eb-tit .eb-li > span { transform: translateY(105%); transition: transform 1.2s cubic-bezier(.2, .8, .1, 1); transition-delay: var(--d, 0s); }
.eb-chancela.eb-seq { transform: scale(.92); }
.eb-tit::after { transform: scaleX(0); transition: transform 1.4s var(--du-ease) 1.5s; }
.is-pronta .eb-seq { opacity: 1; transform: none; filter: none; }
.is-pronta .eb-tit .eb-li > span { transform: none; }
.is-pronta .eb-tit::after { transform: none; }
.eb-tela::before { opacity: 0; transition: opacity 2.4s ease; }
.is-pronta .eb-tela::before { opacity: 1; }

/* ── buscador por cima ── */
.eb-bus { position: fixed; z-index: 80; top: 0; bottom: 0; left: var(--eb-l, 0); width: var(--eb-w, 100vw); display: flex; flex-direction: column; background: #fff; color: var(--du-ink);
  font-size: var(--du-fs-md); line-height: var(--du-lh-body); opacity: 0; transform: translateY(24px); transition: opacity .35s var(--du-ease), transform .45s var(--du-ease); }
.eb-bus.is-on { opacity: 1; transform: none; }
.eb-bus[hidden] { display: none; }
.eb-bus-top { flex: none; border-bottom: 1px solid var(--du-line); }
.eb-bus-barra { display: flex; align-items: center; gap: 14px; max-width: calc(1040px + 2 * var(--du-gutter)); margin-inline: auto; padding: 12px var(--du-gutter); }
.eb-bus-marca { width: 44px; height: 42px; flex: none; fill: var(--du-navy-900); }
.eb-bus-barra h2 { flex: 1; font-size: 1.25rem; font-weight: var(--du-fw-semibold); color: var(--du-heading); outline: 0; }
.eb-bus-corpo { flex: 1; overflow-y: auto; overscroll-behavior: contain; container-type: inline-size; }
.eb-bus-in { max-width: calc(1040px + 2 * var(--du-gutter)); margin-inline: auto; padding: clamp(24px, 4cqi, 40px) var(--du-gutter) 56px; }
.eb-busca { max-width: none; box-shadow: none; border: 1px solid var(--du-line-strong); }
.eb-busca:focus-within { box-shadow: 0 0 0 3px rgba(14, 52, 128, .15); border-color: var(--du-link); }
.eb-bus-org { display: flex; justify-content: flex-start; margin: 18px 0 14px; }
.eb-filtros { margin-bottom: 4px; }
.eb-cont { margin: 14px 0 6px; font-size: var(--du-fs-xs); color: var(--du-ink-muted); }
.eb-cont b { color: var(--du-heading); font-weight: var(--du-fw-semibold); }
.eb-nota { margin-top: 28px; max-width: 70ch; font-size: var(--du-fs-xs); line-height: 1.6; color: var(--du-ink-muted); }
.eb-nota b { font-weight: var(--du-fw-semibold); color: var(--du-ink); }
.eb-perto { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 14px; padding: 12px 16px; border-radius: var(--du-radius-md); background: var(--du-bg-mist); font-size: var(--du-fs-sm); color: var(--du-heading); }
.eb-perto[hidden] { display: none; }
.eb-perto .du-ic { width: 18px; height: 18px; color: var(--du-link); }
.eb-perto small { font-size: var(--du-fs-xs); color: var(--du-ink-muted); }
@container (max-width: 560px) { .eb-bus-org .du-seg { width: 100%; } .eb-bus-org .du-seg > button { flex: 1; justify-content: center; } }

/* PIN */
.eb-pin { width: min(400px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 22px; background: #0b1c55; color: #fff; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .8), inset 0 0 0 1px rgba(243, 212, 143, .25); font-family: var(--du-font); }
.eb-pin::backdrop { background: rgba(2, 11, 38, .6); backdrop-filter: blur(4px); }
.eb-pin-in { display: grid; justify-items: center; gap: 12px; padding: 30px 26px 26px; text-align: center; }
.eb-pin-i { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(243, 212, 143, .14); color: var(--du-gold-200); }
.eb-pin h2 { font-size: 1.25rem; font-weight: var(--du-fw-semibold); }
.eb-pin p { font-size: var(--du-fs-sm); color: rgba(255, 255, 255, .72); }
.eb-pin input { width: 100%; height: 54px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 14px; background: rgba(255, 255, 255, .08); color: #fff; font: 600 1.375rem/1 var(--du-font); letter-spacing: .3em; text-align: center; text-transform: uppercase; }
.eb-pin input:focus-visible { outline: 3px solid var(--du-gold-500); outline-offset: 2px; }
.eb-pin-ac { display: flex; gap: 8px; margin-top: 4px; }

@container (max-width: 560px) {
  .eb-in { width: calc(100% - 40px); }
  .eb-tit { font-size: clamp(2.3rem, 11cqi, 3rem); }
  .eb-u { min-width: 0; flex: 1; padding-inline: 6px; }
  .eb-l:not(.eb-l--wa) { width: 44px; padding: 0; justify-content: center; }
  .eb-l:not(.eb-l--wa) span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .eb-links { gap: 8px; }
  .eb-pe { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .eb-body[data-arte="sim"] .eb-in { margin-left: 0; justify-self: center; text-align: center; justify-items: center; }
  .eb-body[data-arte="sim"] .eb-links, .eb-body[data-arte="sim"] .eb-conta { justify-content: center; }
  .eb-body[data-arte="sim"] .eb-tit::after { margin-inline: auto; }
  .eb-body[data-arte="sim"] .eb-pe { justify-items: center; text-align: center; padding-left: 20px; }
  .eb-body[data-arte="sim"] .eb-cred { justify-content: center; }
  .eb-ass { flex-direction: column; text-align: center; gap: 10px; }
  .eb-pe { padding-inline: 20px; }
  .eb-arte { width: 120%; right: -10%; opacity: .28; }
}

@media (prefers-reduced-motion: reduce) {
  .eb-tela::before, .eb-luz, .eb-arte, .eb-tit mark, .eb-tit::after { animation: none !important; }
  .eb-seq, .eb-tit .eb-li > span, .eb-tit::after, .eb-tela::before { transition: none !important; opacity: 1 !important; transform: none !important; filter: none !important; }
  .eb-po { display: none; }
  .eb-bus { transition: none; }
}

/* grupo do dia: "Hoje  Segunda, 19 de outubro ........ 6 missas" */
.eb-dia { margin-top: 26px; }
.eb-dia-h { display: flex; align-items: baseline; gap: 10px; padding-bottom: 10px; border-bottom: 2px solid var(--du-heading); }
.eb-dia-h b { font-size: var(--du-fs-card); font-weight: var(--du-fw-semibold); color: var(--du-heading); }
.eb-dia-h span { font-size: var(--du-fs-xs); color: var(--du-ink-muted); }
.eb-dia-h em { margin-left: auto; font-style: normal; font-size: var(--du-fs-xs); color: var(--du-ink-muted); }

/* linha de missa: hora | igreja (abre o drawer) */
.eb-ls { list-style: none; margin: 0; padding: 0; }
.eb-it { border-bottom: 1px solid var(--du-line); }
.eb-it > button { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 4px 16px; align-items: start; width: 100%; padding: 14px 4px 14px 0; border: 0; background: none; font: inherit; text-align: left; color: inherit; cursor: pointer; border-radius: 6px; transition: background var(--du-dur-fast); }
.eb-it > button:hover { background: var(--du-cream-50); }
.eb-it > button:focus-visible { outline: 3px solid var(--du-focus); outline-offset: 2px; }
.eb-h { font-size: 1.375rem; line-height: 1.2; font-weight: var(--du-fw-medium); color: var(--du-heading); font-variant-numeric: tabular-nums; }
.eb-n { display: block; font-weight: var(--du-fw-semibold); color: var(--du-link); line-height: 1.35; }
.eb-n small { margin-right: 6px; font-size: var(--du-fs-xs); font-weight: var(--du-fw-semibold); color: var(--du-red-600); }
.eb-m { display: block; margin-top: 2px; font-size: var(--du-fs-xs); color: var(--du-ink-muted); }
.eb-o { display: block; margin-top: 4px; font-size: var(--du-fs-xs); font-weight: var(--du-fw-semibold); color: var(--du-gold-750); }
.eb-it .du-ic.eb-go { width: 18px; height: 18px; margin-top: 4px; color: var(--du-ink-muted); transition: transform var(--du-dur-fast), color var(--du-dur-fast); }
.eb-it > button:hover .eb-go { transform: translateX(3px); color: var(--du-link); }
.eb-km { font-size: var(--du-fs-xs); font-weight: var(--du-fw-semibold); color: var(--du-heading); white-space: nowrap; }
/* missa que já passou hoje: esmaecida, como na página de Missas */
.eb-it.is-foi .eb-h, .eb-it.is-foi .eb-n { color: #9aa1b1; }
.eb-it.is-foi .eb-n small { color: #c79a9a; }
.eb-marcas { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }

/* por igreja: cidade como grupo, igreja com o resumo da semana */
.eb-ig > button { grid-template-columns: minmax(0, 1fr) auto; }
.eb-sem { display: block; margin-top: 4px; font-size: var(--du-fs-xs); color: var(--du-ink); }
.eb-sem b { font-weight: var(--du-fw-semibold); color: var(--du-heading); }

.eb-mais { margin-top: 20px; }
.eb-vazio { margin-top: 24px; }

/* ── DRAWER (lateral no computador; folha de baixo no celular) ── */
.eb-veu { position: fixed; inset: 0; z-index: 90; background: rgba(4, 22, 70, .42); backdrop-filter: blur(2px); opacity: 0; transition: opacity var(--du-dur-base) var(--du-ease); }
.eb-veu.is-on { opacity: 1; }
.eb-gav { position: fixed; z-index: 91; top: 0; right: 0; bottom: 0; width: min(460px, 100vw); display: flex; flex-direction: column; background: #fff; box-shadow: -24px 0 60px -30px rgba(4, 22, 70, .55);
  transform: translateX(100%); transition: transform var(--du-dur-base) var(--du-ease); font-size: var(--du-fs-md); line-height: var(--du-lh-body); color: var(--du-ink); }
.eb-gav.is-on { transform: none; }
.eb-gav[hidden], .eb-veu[hidden] { display: none; }
.eb-gav::before { content: ''; flex: none; height: 4px; background: var(--du-grad-gold); background-size: 200% 100%; animation: du-gold-flow var(--du-dur-gold) linear infinite; }
.eb-gav-alca { display: none; }
.eb-gav-top { flex: none; display: flex; align-items: center; gap: 12px; padding: 16px 20px 0 28px; }
.eb-gav-k { flex: 1; font-size: var(--du-fs-xs); font-weight: var(--du-fw-semibold); color: var(--du-gold-750); }
.eb-gav-x { flex: none; }
#eb-gav-h:focus { outline: 0; }

.eb-gav-corpo { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 6px 28px 32px; }
.eb-gav h2 { font-size: 1.625rem; line-height: 1.15; font-weight: var(--du-fw-semibold); letter-spacing: var(--du-ls-title); color: var(--du-heading); text-wrap: balance; }
.eb-gav-sub { margin-top: 6px; font-size: var(--du-fs-sm); color: var(--du-ink-muted); }
.eb-gav-ac { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.eb-gav-ac .du-btn { padding-inline: 18px; }
.eb-gav-sec { margin-top: 26px; }
.eb-gav-sec > h3 { margin-bottom: 8px; font-size: 1rem; font-weight: var(--du-fw-semibold); color: var(--du-heading); }
.eb-gav .du-ficha-it { padding: 10px 0; }
/* semana da igreja: dia | horas */
.eb-semana { margin: 0; padding: 0; list-style: none; }
.eb-semana li { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--du-line); font-size: var(--du-fs-sm); }
.eb-semana li:last-child { border-bottom: 0; }
.eb-semana li > b { font-weight: var(--du-fw-semibold); color: var(--du-heading); }
.eb-semana li.is-hoje > b::after { content: 'hoje'; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: var(--du-navy-50); font-size: var(--du-fs-2xs); font-weight: var(--du-fw-semibold); color: var(--du-link); vertical-align: 1px; }
.eb-semana .eb-hs { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.eb-semana .eb-hs span { font-variant-numeric: tabular-nums; }
.eb-semana .eb-hs i { display: block; width: 100%; font-style: normal; font-size: var(--du-fs-xs); color: var(--du-gold-750); }
.eb-semana .eb-sem-nada { color: var(--du-ink-muted); }
.eb-mens { margin-top: 10px; font-size: var(--du-fs-sm); color: var(--du-ink); }
.eb-mens li { margin-top: 4px; }
.eb-texto { margin-top: 8px; padding: 14px 16px; border-radius: var(--du-radius-md); background: var(--du-bg-soft); font-size: var(--du-fs-sm); line-height: 1.6; white-space: pre-line; color: var(--du-ink); }
.eb-gav .du-aviso { margin-top: 26px; font-size: var(--du-fs-sm); }
.eb-copiado { margin-left: 4px; font-size: var(--du-fs-xs); color: var(--du-link); }

/* folha de baixo (no celular: o JS põe .is-folha quando a página tem até 720 px) */
.eb-gav.is-folha { top: auto; left: var(--eb-l, 0); right: auto; width: var(--eb-w, 100vw); max-height: 88vh; border-radius: 20px 20px 0 0; box-shadow: 0 -24px 60px -30px rgba(4, 22, 70, .55); transform: translateY(100%); }
.eb-gav.is-folha.is-on { transform: translateY(var(--eb-arraste, 0px)); }
.eb-gav.is-folha.is-arrastando { transition: none; }
.eb-gav.is-folha::before { display: none; }
.eb-gav.is-folha .eb-gav-alca { display: flex; flex: none; justify-content: center; padding: 10px 0 2px; cursor: grab; touch-action: none; }
.eb-gav.is-folha .eb-gav-alca span { width: 44px; height: 5px; border-radius: 5px; background: #d5d8e0; }
.eb-gav.is-folha .eb-gav-top { padding: 6px 16px 0 20px; }
.eb-gav.is-folha .eb-gav-corpo { padding: 4px 20px calc(28px + env(safe-area-inset-bottom)); }
.eb-gav.is-folha h2 { font-size: 1.375rem; }

/* celular */
@container (max-width: 560px) {
  .eb-it > button { grid-template-columns: 58px minmax(0, 1fr) auto; gap: 2px 12px; }
  .eb-h { font-size: 1.1875rem; }
  .eb-sh { align-items: start; }
  .eb-sh .du-seg { width: 100%; }
  .eb-sh .du-seg > button { flex: 1; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) { .eb-gav, .eb-veu { transition: none; } .eb-gav::before { animation: none; } }

/* impressão: só a lista */
@media print {
  .eb-ctl-tg, .eb-ctl, .eb-topo, .eb-busca, .du-seg, .eb-filtros, aside, .du-rf, .eb-gav, .eb-veu { display: none !important; }
  .du-cab { color: #000; } .du-cab::before { display: none; } .du-cab-h1, .du-cab-deck { color: #000; }
}

/* carregando os horários */
.eb-carregando { display: grid; gap: 10px; margin-top: 24px; }
.eb-carregando span { height: 54px; border-radius: 10px; background: linear-gradient(90deg, var(--du-gray-150), #f6f7f9, var(--du-gray-150)); background-size: 200% 100%; animation: du-gold-flow 1.4s linear infinite; }
@media (prefers-reduced-motion: reduce) { .eb-carregando span { animation: none; } }
/* PIN: mensagens */
.eb-pin-msg { width: 100%; padding: 10px 12px; border-radius: 10px; background: rgba(211, 38, 38, .18); font-size: var(--du-fs-sm); color: #ffd9d9; }
