/* =======================================================================
   Remodelação moderna — Portal Dom Bosco
   Cabeçalho compacto (barra fina + header branco sticky + nav horizontal).
   Usa classes dbm-* para não conflitar com o design antigo (.l-top/.l-navbar).
   ======================================================================= */

/* Site é claro por design: impede o "modo escuro forçado" do navegador
   (Chrome Auto Dark Mode / extensões) de escurecer/desbotar as cores. */
:root { color-scheme: light; }

/* ---- Ícones de fonte (Font Awesome): nunca itálico, peso correto ----
   O <i> é itálico por padrão e nenhuma classe u-icon__* normaliza; o glifo
   herdava italic (entortado) e, quando herdava bold, era engrossado
   sinteticamente (parecia mais escuro). */
[class*="u-icon__"], [class*="u-icon__"]::before { font-style:normal !important; }
.u-icon__brands::before { font-weight:400 !important; }
.u-icon__free::before { font-weight:900 !important; }

/* ---- Links sem sublinhado (bootstrap/tema antigo sublinhavam) ---- */
a, a:hover, a:focus { text-decoration:none !important; }

/* ---- Barra de topo fina ---- */
.dbm-topbar { background:#0A2E63; color:#fff; font-size:.82rem; font-weight:500; }
.dbm-topbar a { color:rgba(255,255,255,.92); text-decoration:none; transition:color .2s ease; }
.dbm-topbar a:hover { color:#fff; }
.dbm-topbar__inner { display:flex; align-items:center; justify-content:space-between; min-height:42px; gap:1rem; }
.dbm-topbar__contact { display:flex; align-items:center; gap:1.6rem; margin:0; }
.dbm-topbar__contact a { display:inline-flex; align-items:center; gap:.5rem; white-space:nowrap; }
/* blindagem: garante contato legível mesmo com CSS legado/visited por cima */
.dbm-topbar__contact a, .dbm-topbar__contact a:visited, .dbm-topbar__contact a:active, .dbm-topbar__contact a span { color:#fff !important; }
.dbm-topbar__contact a:hover, .dbm-topbar__contact a:hover span { color:#BFD7FF !important; }
.dbm-topbar__contact i::before { font-size:.92rem; opacity:1; color:#9CC2FF !important; }
.dbm-topbar__social { display:flex; align-items:center; gap:.5rem; list-style:none; margin:0; padding:0; }
.dbm-topbar__social a { width:30px; height:30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:rgba(255,255,255,.16); transition:background .2s ease, transform .2s ease; }
.dbm-topbar__social a i::before { font-size:14px; color:#fff; }
.dbm-topbar__social a:hover { background:#C12811; transform:translateY(-1px); }
@media (max-width:767px){ .dbm-topbar__inner{ justify-content:center; min-height:36px; } .dbm-topbar__social{ display:none; } .dbm-topbar__contact{ gap:1rem; font-size:.72rem; } }

/* ---- Header branco sticky compacto ---- */
.dbm-header { position:sticky; top:0; z-index:1030; background:#fff; border-bottom:1px solid rgba(0,0,0,.06); transition:box-shadow .3s ease; }
.dbm-header.is-stuck { box-shadow:0 8px 28px rgba(11,33,57,.10); }
.dbm-header__logo img { max-height:66px; width:auto; display:block; }
.dbm-nav { min-height:66px; }

/* nav horizontal com sublinhado animado */
.dbm-nav__menu { display:flex; align-items:center; gap:.1rem; list-style:none; margin:0; padding:0; }
.dbm-nav__menu li { margin:0; }
.dbm-nav__menu a, .dbm-nav__menu .nav-link {
	position:relative; display:block; padding:.55rem .9rem; font-size:.82rem; font-weight:600;
	letter-spacing:.015em; text-transform:uppercase; color:#0A2E63 !important; text-decoration:none;
	background:none !important; transition:color .2s ease;
}
.dbm-nav__menu a::before, .dbm-nav__menu .nav-link::before {
	content:''; position:absolute; left:.9rem; right:.9rem; bottom:.3rem; height:2px;
	background:#C12811 !important; background-image:none !important; width:auto !important;
	border-radius:0 !important; transform:scaleX(0); transform-origin:left center; transition:transform .28s ease; opacity:1; visibility:visible;
}
.dbm-nav__menu a::after, .dbm-nav__menu .nav-link::after { display:none !important; }
.dbm-nav__menu a:hover, .dbm-nav__menu .nav-link:hover { color:#0B4DAD !important; }
.dbm-nav__menu a:hover::before, .dbm-nav__menu .nav-link:hover::before { transform:scaleX(1); }
.dbm-nav__menu .current-menu-item > a, .dbm-nav__menu .current_page_item > a, .dbm-nav__menu .current-menu-parent > a { color:#0B4DAD !important; }
.dbm-nav__menu .current-menu-item > a::before, .dbm-nav__menu .current_page_item > a::before { transform:scaleX(1); }

/* hamburguer moderno */
.dbm-nav__toggler { padding:6px 4px; border:0; background:none; outline:none; }
.dbm-nav__toggler span { display:block; width:26px; height:2px; margin:5px 0; border-radius:2px; background:#0A2E63; transition:all .25s ease; }

@media (max-width:1199px){
	.dbm-nav__menu{ flex-direction:column; align-items:stretch; width:100%; padding:.5rem 0 .75rem; }
	.dbm-nav__menu a, .dbm-nav__menu .nav-link{ padding:.7rem .25rem; }
	.dbm-nav__menu a::before, .dbm-nav__menu .nav-link::before{ left:.25rem; right:auto; width:26px !important; }
}

/* garante o menu visível no desktop e o hamburguer só no mobile */
@media (min-width:1200px){
	.dbm-header .navbar-collapse { display:flex !important; align-items:center; }
	.dbm-nav__toggler { display:none !important; }
	/* editorias centralizadas entre a logo e a busca */
	.dbm-nav__areas { flex:1 1 auto; justify-content:center; }
}
@media (max-width:1199px){
	.dbm-header .navbar-collapse { background:#fff; border-top:1px solid rgba(0,0,0,.06); }
}

/* botão de busca */
.dbm-search { flex:0 0 auto; width:40px; height:40px; border:0; border-radius:50%; background:rgba(11,77,173,.08); color:#0B4DAD; display:inline-flex; align-items:center; justify-content:center; transition:background .2s ease,color .2s ease; cursor:pointer; }
.dbm-search:hover { background:#0B4DAD; color:#fff; }
.dbm-search svg { width:17px; height:17px; fill:currentColor; }
@media (max-width:1199px){ .dbm-search{ margin-top:.4rem; } }

/* ===== Página Faça sua Doação (Obras Sociais) ===== */
.dbm-donate { --pc:#dd3333; }
.dbm-dhero { position:relative; overflow:hidden; color:#fff; padding:3.4rem 0 3.8rem; background:linear-gradient(135deg,#b81f1f 0%,var(--pc,#dd3333) 55%,#ef5b5b 100%); }
.dbm-dhero::after { content:""; position:absolute; right:-90px; top:-90px; width:340px; height:340px; border-radius:50%; background:rgba(255,255,255,.09); }
.dbm-dhero::before { content:""; position:absolute; left:-70px; bottom:-120px; width:280px; height:280px; border-radius:50%; background:rgba(255,255,255,.07); }
.dbm-dhero .container { position:relative; z-index:1; max-width:820px; }
/* blindagem de contraste no hero vermelho (títulos/negritos não podem escurecer) */
.dbm-dhero h1, .dbm-dhero__k, .dbm-dhero strong, .dbm-dhero .dbm-dhero__bc b { color:#fff !important; }
.dbm-dhero p { color:rgba(255,255,255,.96) !important; }
.dbm-dhero__bc, .dbm-dhero__bc a { color:rgba(255,255,255,.9) !important; }
.dbm-dhero__bc { font-size:.82rem; margin-bottom:1.1rem; color:rgba(255,255,255,.85); }
.dbm-dhero__bc a { color:rgba(255,255,255,.85); text-decoration:none; }
.dbm-dhero__bc a:hover { color:#fff; text-decoration:underline; }
.dbm-dhero__bc span { margin:0 .45rem; opacity:.7; }
.dbm-dhero__k { display:inline-block; font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; background:rgba(255,255,255,.16); padding:.35rem .8rem; border-radius:100px; margin-bottom:1rem; }
.dbm-dhero h1 { font-size:2.6rem; font-weight:900; line-height:1.08; margin:0 0 .9rem; letter-spacing:-.02em; }
.dbm-dhero p { font-size:1.1rem; line-height:1.6; max-width:640px; margin:0 0 1.7rem; color:rgba(255,255,255,.95); }
.dbm-dhero__cta { display:flex; flex-wrap:wrap; gap:.8rem; }
.dbm-dhero__cta .dbm-btn { display:inline-flex; align-items:center; gap:.5rem; }
.dbm-dhero__cta .dbm-btn svg { width:18px; height:18px; }
.dbm-dhero .dbm-btn--light:hover { background:#12233f !important; color:#fff !important; }
.dbm-dwrap { padding:3rem 0 3.5rem; }

.dbm-dgrid { display:grid; grid-template-columns:1.15fr 1fr; gap:1.5rem; align-items:start; }
.dbm-dcard { position:relative; background:#fff; border:1px solid #e7ebf1; border-radius:18px; padding:1.7rem 1.8rem; box-shadow:0 10px 30px rgba(15,30,60,.06); }
.dbm-dcard--pix { border-color:rgba(221,51,51,.28); box-shadow:0 14px 36px rgba(221,51,51,.12); }
.dbm-dcard__tag { position:absolute; top:1.3rem; right:1.4rem; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--pc,#dd3333); padding:.28rem .7rem; border-radius:100px; }
.dbm-dcard h3 { font-size:1.3rem; font-weight:800; color:#12294A; margin:0 0 1.2rem; }
.dbm-pixmark { color:var(--pc,#dd3333); }
.dbm-pix { display:flex; gap:1.4rem; align-items:flex-start; }
.dbm-pix__qr { flex:0 0 auto; text-align:center; }
.dbm-pix__qr img { width:170px; height:170px; display:block; border:1px solid #eef1f5; border-radius:14px; padding:8px; background:#fff; }
.dbm-pix__qr span { display:block; font-size:.74rem; color:#7b8698; margin-top:.5rem; max-width:170px; }
.dbm-pix__data { flex:1 1 auto; min-width:0; }
.dbm-copyrow { display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.7rem 0; border-bottom:1px dashed #e7ebf1; }
.dbm-copyrow:first-child { padding-top:0; }
.dbm-copyrow__lbl { display:block; font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#8a94a6; }
.dbm-copyrow__val { display:block; font-size:1.05rem; font-weight:800; color:#12294A; word-break:break-all; }
.dbm-copyrow__val--mono { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.9rem; font-weight:600; letter-spacing:.02em; }
.dbm-copy { flex:0 0 auto; display:inline-flex; align-items:center; gap:.4rem; border:1.5px solid var(--pc,#dd3333); background:#fff; color:var(--pc,#dd3333); font-weight:700; font-size:.82rem; padding:.4rem .8rem; border-radius:100px; cursor:pointer; transition:background .18s ease, color .18s ease; }
.dbm-copy svg { width:15px; height:15px; }
.dbm-copy:hover { background:var(--pc,#dd3333); color:#fff; }
.dbm-copy.is-done { background:#1e8e4e; border-color:#1e8e4e; color:#fff; }
.dbm-pix__titular { font-size:.86rem; color:#5b6779; margin:1rem 0 0; }
.dbm-bank { list-style:none; margin:0; padding:0; }
.dbm-bank li { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:.72rem 0; border-bottom:1px solid #eef1f5; }
.dbm-bank li:last-child { border-bottom:none; }
.dbm-bank span { font-size:.82rem; color:#8a94a6; font-weight:600; }
.dbm-bank b { font-size:1.02rem; color:#12294A; font-weight:800; text-align:right; }
.dbm-bank b em { font-style:normal; color:#7b8698; font-weight:600; }
.dbm-dcard__note { font-size:.85rem; color:#7b8698; margin:1.1rem 0 0; line-height:1.5; }

.dbm-donline { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; margin:2.4rem 0; padding:1.9rem 2.1rem; border-radius:18px; background:linear-gradient(120deg,#12294A,#1e3a63); color:#fff; }
.dbm-donline__txt h2 { font-size:1.35rem; font-weight:800; margin:0 0 .3rem; color:#fff !important; }
.dbm-donline__txt p { margin:0; color:rgba(255,255,255,.85) !important; font-size:.96rem; max-width:520px; }
.dbm-donline .dbm-btn { display:inline-flex; align-items:center; gap:.5rem; flex:0 0 auto; }
.dbm-donline .dbm-btn svg { width:17px; height:17px; }
.dbm-donline .dbm-btn--light:hover { background:var(--pc,#dd3333) !important; color:#fff !important; }

.dbm-dimpact { margin-top:2.6rem; }
.dbm-dimpact__lead { font-size:1.05rem; color:#43506a; line-height:1.65; max-width:720px; margin:0 0 1.3rem; }
.dbm-drecibo { margin-top:2.4rem; padding-top:1.6rem; border-top:1px solid #eef1f5; font-size:.95rem; color:#5b6779; }
.dbm-drecibo a { color:var(--pc,#dd3333); font-weight:700; }

@media (max-width:820px){
	.dbm-dgrid { grid-template-columns:1fr; }
	.dbm-dhero h1 { font-size:2rem; }
	.dbm-pix { flex-direction:column; align-items:center; text-align:center; }
	.dbm-pix__data { width:100%; }
	.dbm-donline { flex-direction:column; align-items:flex-start; }
}

/* equipes/comissões: cards de pessoas (foto redonda + nome + função) */
.dbm-comissao { margin-top:2.6rem; }
.dbm-team { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:1.4rem 1rem; margin-top:1.4rem; }
.dbm-team__card { display:flex; flex-direction:column; align-items:center; text-align:center; }
.dbm-team__foto { width:112px; height:112px; border-radius:50%; background-size:cover; background-position:center; box-shadow:0 0 0 3px #fff, 0 0 0 5px rgba(11,77,173,.18), 0 10px 22px rgba(15,30,60,.14); margin-bottom:.75rem; }
.dbm-team__nome { font-weight:800; font-size:.95rem; color:#12233f; line-height:1.3; }
.dbm-team__cargo { font-size:.8rem; color:#5b6779; margin-top:.15rem; line-height:1.35; }
.dbm-team__card--coord { grid-column:1 / -1; }
.dbm-team__card--coord .dbm-team__foto { width:136px; height:136px; box-shadow:0 0 0 3px #fff, 0 0 0 6px rgba(226,58,46,.35), 0 12px 26px rgba(15,30,60,.18); }
.dbm-team__card--coord .dbm-team__cargo { color:#E23A2E; font-weight:700; }

/* botão Doar (CTA de doação, presente nas duas versões do cabeçalho) */
.dbm-doar { flex:0 0 auto; display:inline-flex; align-items:center; gap:.42rem; height:40px; padding:0 1.1rem; border-radius:999px; background:#E23A2E; color:#fff; font-weight:800; font-size:.92rem; line-height:1; text-decoration:none; box-shadow:0 4px 12px rgba(226,58,46,.28); transition:background .2s ease,transform .2s ease,box-shadow .2s ease; white-space:nowrap; }
.dbm-doar:hover, .dbm-doar:focus { background:#c62f24; color:#fff; transform:translateY(-2px); box-shadow:0 6px 16px rgba(226,58,46,.36); }
.dbm-doar, .dbm-doar:link, .dbm-doar:visited, .dbm-doar span { color:#fff !important; }
.dbm-doar svg { width:16px; height:16px; color:#fff !important; }
@media (max-width:1199px){ .dbm-doar{ height:36px; padding:0 .95rem; font-size:.86rem; margin-top:.4rem; } }
/* variante mobile: Doar sempre visível ao lado do hambúrguer (fora do menu sanfonado) */
.dbm-doar--m { display:none; }
@media (max-width:1199px){
	.dbm-doar--m { display:inline-flex; margin:0 .55rem 0 auto; }
	#dbm-main-nav .dbm-doar { display:none; }
}

/* barra de busca revelável */
.dbm-searchbar { max-height:0; overflow:hidden; background:#fff; border-bottom:1px solid rgba(0,0,0,.06); transition:max-height .32s ease; }
.dbm-searchbar.is-open { max-height:100px; }
.dbm-searchbar form { display:flex; gap:.5rem; padding:1rem 0; }
.dbm-searchbar input { flex:1 1 auto; border:1px solid #ccc; border-radius:8px; padding:.65rem 1rem; font-size:.95rem; outline:none; }
.dbm-searchbar input:focus { border-color:#0B4DAD; }
.dbm-searchbar button { border:0; background:#0B4DAD; color:#fff; border-radius:8px; padding:0 1.4rem; font-weight:600; cursor:pointer; }

/* ---- Header da HOME: logo centralizada + "Portal", sem menu ---- */
.dbm-hhome__row { position:relative; display:flex; align-items:center; justify-content:center; min-height:90px; }
.dbm-hhome__logo { display:inline-flex; }
.dbm-hhome__logo img { max-height:64px; width:auto; display:block; transition:max-height .3s ease; }
.dbm-hhome__actions { position:absolute; right:0; top:50%; transform:translateY(-50%); display:flex; align-items:center; gap:.7rem; }
.dbm-hhome__social { display:flex; align-items:center; gap:.4rem; list-style:none; margin:0; padding:0; }
.dbm-hhome__social a { width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:#0B4DAD; color:#fff; transition:background .2s ease,color .2s ease,transform .2s ease; }
.dbm-hhome__social a:hover { background:#E23A2E; color:#fff; transform:translateY(-2px); }
.dbm-hhome__social a i::before { font-size:15px; color:#fff; }
.dbm-hhome .dbm-search { position:static; transform:none; }
.dbm-hhome__label { text-align:center; font-size:.72rem; font-weight:800; letter-spacing:.34em; text-transform:uppercase; color:#0B4DAD; padding-bottom:.75rem; margin-top:-.35rem; }
.dbm-hhome__label::before, .dbm-hhome__label::after { content:""; display:inline-block; width:26px; height:2px; background:#E23A2E; vertical-align:middle; margin:0 .8em; border-radius:2px; opacity:.85; }
.dbm-hhome.is-stuck .dbm-hhome__logo img { max-height:46px; }
.dbm-hhome.is-stuck .dbm-hhome__row { min-height:66px; }
.dbm-hhome.is-stuck .dbm-hhome__label { padding-bottom:.5rem; font-size:.66rem; }
.dbm-topbar--bare { height:8px; }

/* ---- Banner do topo (slider próprio, sem overflow) ---- */
.dbm-banner { position:relative; width:100%; margin:0 0 2.4rem; overflow:hidden; background:#0A2E63; }
.dbm-banner__view { overflow:hidden; }
.dbm-banner__track { display:flex; transition:transform .6s cubic-bezier(.4,0,.2,1); will-change:transform; }
.dbm-banner__slide { flex:0 0 100%; min-width:100%; }
.dbm-banner__slide a, .dbm-banner__slide img { display:block; width:100%; }
.dbm-banner__slide img { height:auto; }
.dbm-banner__nav { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:52px; height:52px; border:0; border-radius:50%; background:rgba(255,255,255,.85); color:#0A2E63; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 6px 20px rgba(11,33,57,.22); transition:background .2s ease, color .2s ease, transform .2s ease; }
.dbm-banner__nav svg { width:26px; height:26px; }
.dbm-banner__nav:hover { background:#0B4DAD; color:#fff; }
.dbm-banner__nav--prev { left:20px; }
.dbm-banner__nav--next { right:20px; }
.dbm-banner__nav--prev:hover { transform:translateY(-50%) scale(1.06); }
.dbm-banner__nav--next:hover { transform:translateY(-50%) scale(1.06); }
.dbm-banner__dots { position:absolute; left:0; right:0; bottom:16px; z-index:3; display:flex; justify-content:center; gap:8px; }
.dbm-banner__dot { width:11px; height:11px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.55); cursor:pointer; transition:width .25s ease, background .25s ease; box-shadow:0 1px 4px rgba(0,0,0,.25); }
.dbm-banner__dot:hover { background:rgba(255,255,255,.85); }
.dbm-banner__dot.is-active { width:30px; border-radius:6px; background:#fff; }
@media (max-width:768px){
	.dbm-banner { margin-bottom:1.6rem; }
	.dbm-banner__nav { width:40px; height:40px; }
	.dbm-banner__nav svg { width:20px; height:20px; }
	.dbm-banner__nav--prev { left:8px; }
	.dbm-banner__nav--next { right:8px; }
	.dbm-banner__dots { bottom:10px; }
	.dbm-banner__dot.is-active { width:22px; }
}

/* ---- Editorias na home (tiles com ícone grande da área) ---- */
.dbm-edshort { padding-top:2.4rem; }
.dbm-eds { display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem 2.2rem; }
.dbm-ed { display:flex; flex-direction:column; align-items:center; gap:.6rem; width:130px; text-decoration:none; }
.dbm-ed__ic { display:flex; align-items:center; justify-content:center; }
.dbm-ed__ic img { width:100px; height:100px; object-fit:contain; filter:drop-shadow(0 12px 24px rgba(11,33,57,.22)); transition:transform .25s ease, filter .25s ease; }
.dbm-ed:hover .dbm-ed__ic img { transform:translateY(-5px) scale(1.06); filter:drop-shadow(0 18px 32px rgba(11,33,57,.30)); }
.dbm-ed__lbl { font-size:.84rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:#0A2E63; text-align:center; line-height:1.2; }
.dbm-ed:hover .dbm-ed__lbl { color:var(--c,#0B4DAD); }
.dbm-ed__chev { width:14px; height:14px; color:#b8c0d0; margin-top:-.2rem; transition:color .2s ease; }
.dbm-ed:hover .dbm-ed__chev { color:var(--c,#0B4DAD); }
@media (max-width:640px){
	.dbm-eds { gap:1.1rem 1.4rem; }
	.dbm-ed { width:98px; }
	.dbm-ed__ic img { width:78px; height:78px; }
	.dbm-ed__lbl { font-size:.72rem; }
}
@media (max-width:640px){
	.dbm-hhome__row { min-height:70px; justify-content:space-between; }
	.dbm-hhome__logo img { max-height:46px; }
	.dbm-hhome__actions { position:static; transform:none; gap:.45rem; }
	.dbm-hhome__social a { width:30px; height:30px; }
	.dbm-hhome__social a i::before { font-size:13px; }
	.dbm-hhome .dbm-search { width:36px; height:36px; }
	.dbm-hhome__label { font-size:.62rem; letter-spacing:.22em; }
	.dbm-hhome__label::before, .dbm-hhome__label::after { width:16px; margin:0 .5em; }
}

/* =======================================================================
   HOME REPAGINADA
   ======================================================================= */
.dbm-modern-top { background:#f5f7fc; }
.dbm-home .l-banner { margin:0; }
.dbm-home .l-banner img { width:100%; }

/* cabeçalho de seção */
.dbm-sec-head { text-align:center; max-width:640px; margin:0 auto 2.4rem; }
.dbm-sec-head__kicker { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:#C12811; margin-bottom:.5rem; }
.dbm-sec-head__title { font-size:2rem; font-weight:800; color:#0A2E63; margin:0; line-height:1.1; }
.dbm-sec-head__title::after { content:''; display:block; width:54px; height:4px; border-radius:3px; background:#C12811; margin:.85rem auto 0; }

/* editorias — cards verticais com o ícone real da área */
.dbm-editorias { padding:3.6rem 0 1.4rem; }
.dbm-editorias__grid { display:grid; grid-template-columns:repeat(6,1fr); gap:1rem; }
@media (max-width:1199px){ .dbm-editorias__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:575px){ .dbm-editorias__grid{ grid-template-columns:repeat(2,1fr); } }
.dbm-ed-card { display:flex; flex-direction:column; align-items:center; text-align:center; gap:.7rem; padding:1.7rem 1rem 1.4rem; background:#fff; border-radius:18px; text-decoration:none; box-shadow:0 6px 22px rgba(11,33,57,.06); border:1px solid rgba(11,33,57,.05); transition:transform .25s ease, box-shadow .25s ease; }
.dbm-ed-card:hover { transform:translateY(-6px); box-shadow:0 18px 38px rgba(11,33,57,.13); }
.dbm-ed-card__icon { width:92px; height:92px; border-radius:50%; background:#fff; border:3px solid var(--ed,#0B4DAD); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 22px rgba(11,33,57,.08); transition:transform .25s ease, box-shadow .25s ease; }
.dbm-ed-card__icon img { width:54px; height:54px; object-fit:contain; }
.dbm-ed-card:hover .dbm-ed-card__icon { transform:scale(1.05); box-shadow:0 14px 28px rgba(11,33,57,.16); }
.dbm-ed-card__name { font-weight:700; color:#0A2E63; font-size:1rem; line-height:1.2; }
.dbm-ed-card__count { font-size:.7rem; color:#fff; font-weight:700; background:var(--ed,#0B4DAD); border-radius:100px; padding:.2rem .7rem; letter-spacing:.02em; }

/* selo de editoria */
.dbm-pill { display:inline-block; width:max-content; padding:.28rem .8rem; border-radius:100px; background:var(--ed,#0B4DAD); color:#fff !important; font-size:.68rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.dbm-pill--sm { font-size:.62rem; padding:.22rem .6rem; }

/* notícias magazine */
.dbm-news { padding:3.6rem 0 4.8rem; }
.dbm-news__layout { display:grid; grid-template-columns:1.15fr 1fr; gap:1.5rem; align-items:start; }
@media (max-width:991px){ .dbm-news__layout{ grid-template-columns:1fr; } }
.dbm-news__feat { display:flex; flex-direction:column; background:#fff; border-radius:20px; overflow:hidden; text-decoration:none; box-shadow:0 10px 30px rgba(11,33,57,.08); transition:transform .25s ease, box-shadow .25s ease; }
.dbm-news__feat:hover { transform:translateY(-4px); box-shadow:0 20px 44px rgba(11,33,57,.14); }
.dbm-news__feat-img { display:block; height:340px; background:#dfe5f0 center/cover no-repeat; }
.dbm-news__feat-body { display:flex; flex-direction:column; gap:.55rem; padding:1.6rem; }
.dbm-news__feat-title { font-size:1.5rem; font-weight:800; color:#0A2E63; line-height:1.2; }
.dbm-news__feat-exc { color:#5B5B5B; font-size:.95rem; }
.dbm-news__date { font-size:.8rem; color:#8a93a6; font-weight:600; }
.dbm-news__grid { display:flex; flex-direction:column; gap:1.1rem; }
.dbm-news__card { display:flex; gap:1rem; background:#fff; border-radius:16px; overflow:hidden; text-decoration:none; box-shadow:0 6px 22px rgba(11,33,57,.06); transition:transform .25s ease, box-shadow .25s ease; }
.dbm-news__card:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(11,33,57,.12); }
.dbm-news__card-img { flex:0 0 130px; align-self:stretch; min-height:120px; background:#dfe5f0 center/cover no-repeat; }
.dbm-news__card-body { display:flex; flex-direction:column; gap:.35rem; padding:.9rem 1rem .9rem 0; }
.dbm-news__card-title { font-size:.98rem; font-weight:700; color:#0A2E63; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.dbm-news__more { text-align:center; margin-top:2.6rem; }
.dbm-btn { display:inline-block; padding:.85rem 2.1rem; border-radius:100px; background:#0B4DAD; color:#fff !important; font-weight:700; text-decoration:none; letter-spacing:.02em; transition:background .2s ease, transform .2s ease; }
.dbm-btn:hover { background:#0A2E63; transform:translateY(-2px); }

/* =======================================================================
   MODERNIZAÇÃO DAS SEÇÕES ORIGINAIS (escopo .dbm-home)
   ======================================================================= */

/* ritmo vertical + fundo alternado */
.dbm-home > .l-shortcut,
.dbm-home > .l-most-read,
.dbm-home > .l-videos,
.dbm-home > .l-blogs,
.dbm-home > .l-calendar,
.dbm-home > .l-mvv,
.dbm-home > .l-links,
.dbm-home > .l-contact { margin:0 !important; padding:3rem 0 !important; }
.dbm-home > .l-videos, .dbm-home > .l-calendar, .dbm-home > .l-contact { background:#f5f7fc; }

/* títulos de seção — tira a caixa vermelha e o "//", vira título limpo com barra */
.dbm-home .c-title, .dbm-home .c-title__small {
	background:transparent !important; color:#0A2E63 !important;
	padding:0 !important; margin-bottom:.4rem !important;
	font-weight:800 !important; font-size:1.7rem !important; line-height:1.15 !important;
	display:inline-block !important; text-transform:none !important;
}
.dbm-home .c-title *, .dbm-home .c-title__small * { color:#0A2E63 !important; }
.dbm-home .c-title > span:first-child, .dbm-home .c-title__small > span:first-child { display:none !important; }
.dbm-home .c-title::after, .dbm-home .c-title__small::after {
	content:''; display:block; width:48px; height:4px; border-radius:3px; background:#C12811; margin-top:.55rem;
}
.dbm-home .c-text-pattern { color:#5B5B5B !important; font-size:1rem !important; }

/* remove bordas/linhas vermelhas datadas */
.dbm-home .u-border-top-2.u-border-color-secondary { border-top:0 !important; }
.dbm-home .l-most-read__title-line::before,
.dbm-home .l-videos, .dbm-home .l-blogs, .dbm-home .l-contact { border-top:0 !important; }

/* cards de vídeo */
.dbm-home .l-videos .card { background:#fff !important; border-radius:16px !important; overflow:hidden; box-shadow:0 8px 24px rgba(11,33,57,.08); transition:transform .25s ease, box-shadow .25s ease; height:100%; }
.dbm-home .l-videos .card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(11,33,57,.14); }
.dbm-home .l-videos__card-title { padding:1rem 1.1rem !important; font-size:1rem !important; color:#0A2E63 !important; text-align:left !important; }

/* mais lidas — vira cards */
.dbm-home .l-most-read__post-link { display:block; height:100%; background:#fff; border-radius:16px; padding:1.4rem 1.5rem; box-shadow:0 6px 20px rgba(11,33,57,.06); transition:transform .25s ease, box-shadow .25s ease; }
.dbm-home .l-most-read__post-link:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(11,33,57,.12); }
.dbm-home .l-most-read__post-link::before { display:none !important; }
.dbm-home .l-most-read__post-title { font-size:1.02rem !important; }

/* blogs */
.dbm-home .l-blogs__card-img, .dbm-home .l-blogs .card { border-radius:16px !important; overflow:hidden; }

/* MVV */
.dbm-home .l-mvv__title * { color:#0A2E63 !important; }
.dbm-home .l-mvv img { border-radius:16px; }

/* calendário */
.dbm-home .l-calendar__date, .dbm-home .l-calendar__title { color:#0B4DAD !important; }

/* contato */
.dbm-home .l-contact iframe { width:100% !important; border:0 !important; border-radius:16px; box-shadow:0 8px 24px rgba(11,33,57,.08); }
.dbm-home .l-contact input[type="text"], .dbm-home .l-contact input[type="email"] { border:1px solid #d5dbe8 !important; border-radius:12px !important; padding:.9rem 1rem !important; }

/* botões → pill azul */
.dbm-home .l-calendar__btn, .dbm-home .l-blogs__btn-more-content, .dbm-home .l-contact__btn-submit, .dbm-home .l-shortcut__link {
	border-radius:100px !important; border:0 !important; background:#0B4DAD !important; color:#fff !important; font-weight:700 !important; transition:background .2s ease, transform .2s ease;
}
.dbm-home .l-calendar__btn:hover, .dbm-home .l-blogs__btn-more-content:hover, .dbm-home .l-contact__btn-submit:hover { background:#0A2E63 !important; color:#fff !important; transform:translateY(-2px); }

/* =======================================================================
   PORTAL DE NOTÍCIAS — layout moderno arredondado
   ======================================================================= */
.dbm-home { background:#f4f6fb; }
.dbm-sec { padding:3rem 0; }
.dbm-head { margin:0 0 1.8rem; }
.dbm-head__k { display:block; font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:#E23A2E; margin-bottom:.35rem; }
.dbm-head h2 { font-size:1.9rem; font-weight:800; color:#12294A; letter-spacing:-.01em; margin:0; }

/* nav rápida de editorias (chips) */
.dbm-ednav { background:#fff; border-bottom:1px solid #e9edf6; }
.dbm-ednav__row { display:flex; gap:.6rem; overflow-x:auto; padding:.9rem 0; scrollbar-width:none; }
.dbm-ednav__row::-webkit-scrollbar { display:none; }
.dbm-chip { display:inline-flex; align-items:center; gap:.5rem; flex:0 0 auto; padding:.45rem 1rem .45rem .5rem; border-radius:999px; background:#f4f6fb; border:1px solid #e9edf6; text-decoration:none; transition:all .2s ease; }
.dbm-chip img { width:30px; height:30px; object-fit:contain; }
.dbm-chip span { font-weight:700; font-size:.85rem; color:#12294A; white-space:nowrap; }
.dbm-chip:hover { background:var(--c,#0B4DAD); border-color:var(--c,#0B4DAD); transform:translateY(-2px); }
.dbm-chip:hover span { color:#fff; }

/* selo de editoria */
.dbm-pill { display:inline-block; width:max-content; padding:.24rem .7rem; border-radius:999px; background:var(--c,#0B4DAD); color:#fff !important; font-size:.64rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }

/* card de notícia (base) */
.dbm-card { display:flex; text-decoration:none; background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 12px 30px rgba(18,41,74,.07); transition:transform .25s ease, box-shadow .25s ease; }
.dbm-card:hover { transform:translateY(-5px); box-shadow:0 22px 46px rgba(18,41,74,.14); }
.dbm-card__img { background:#dfe5f0 center/cover no-repeat; display:block; }
.dbm-card__body { display:flex; flex-direction:column; gap:.5rem; padding:1rem 1.1rem 1.15rem; }
.dbm-card__title { font-weight:700; color:#12294A; line-height:1.28; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.dbm-card__date { font-size:.76rem; color:#667089; font-weight:600; margin-top:auto; }

/* destaques magazine */
.dbm-mag { display:grid; grid-template-columns:1.2fr .8fr; gap:1.4rem; align-items:start; }
.dbm-card--feat { flex-direction:column; }
.dbm-card--feat .dbm-card__img { height:360px; }
.dbm-card--feat .dbm-card__body { padding:1.4rem 1.5rem 1.6rem; }
.dbm-card--feat .dbm-card__title { font-size:1.55rem; font-weight:800; }
.dbm-mag__side { display:flex; flex-direction:column; gap:1rem; }
.dbm-card--row { flex-direction:row; }
.dbm-card--row .dbm-card__img { flex:0 0 118px; align-self:stretch; min-height:112px; }
.dbm-card--row .dbm-card__title { font-size:.95rem; }

/* variante sm (grades de notícias, juventude, leia também) */
.dbm-card--sm { flex-direction:column; }
.dbm-card--sm .dbm-card__img { height:170px; }
.dbm-card--sm .dbm-card__title { font-size:.95rem; }
@media (max-width:820px){ .dbm-mag { grid-template-columns:1fr; } }

/* notícias por editoria */
.dbm-ednews { padding:2.6rem 0; }
.dbm-ednews:nth-of-type(even) { background:#fff; }
.dbm-ednews__head { display:flex; align-items:center; gap:.85rem; margin-bottom:1.4rem; }
.dbm-ednews__icon { width:56px; height:56px; border-radius:50%; background:#fff; border:2px solid var(--c,#0B4DAD); display:grid; place-items:center; flex:0 0 auto; box-shadow:0 8px 18px rgba(18,41,74,.08); }
.dbm-ednews__icon img { width:32px; height:32px; object-fit:contain; }
.dbm-ednews__head h2 { font-size:1.5rem; font-weight:800; color:#12294A; margin:0; }
.dbm-ednews__all { margin-left:auto; font-weight:700; font-size:.85rem; color:var(--c,#0B4DAD); white-space:nowrap; text-decoration:none; }
.dbm-ednews__all:hover { text-decoration:underline; }
.dbm-ednews__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
.dbm-ednews__grid .dbm-card { flex-direction:column; }
.dbm-ednews__grid .dbm-card__img { height:150px; }
.dbm-ednews__grid .dbm-card__title { font-size:.95rem; }
@media (max-width:900px){ .dbm-ednews__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .dbm-ednews__grid { grid-template-columns:1fr; } }

/* =======================================================================
   MODERNIZAÇÃO TOTAL DAS SEÇÕES ORIGINAIS (escopo .dbm-home)
   ======================================================================= */
.dbm-home > .l-shortcut, .dbm-home > .l-most-read, .dbm-home > .l-videos, .dbm-home > .l-blogs,
.dbm-home > .l-calendar, .dbm-home > .l-mvv, .dbm-home > .l-links, .dbm-home > .l-contact,
.dbm-home > .l-illustration { margin:0 !important; padding:3.2rem 0 !important; }
.dbm-home > .l-videos, .dbm-home > .l-blogs, .dbm-home > .l-calendar, .dbm-home > .l-links { background:#fff; }

/* títulos: sem caixa vermelha, navy + barra fina */
.dbm-home .c-title, .dbm-home .c-title__small { background:transparent !important; color:#12294A !important; padding:0 !important; margin:0 0 .55rem !important; font-weight:800 !important; font-size:1.8rem !important; line-height:1.1 !important; display:inline-block !important; text-transform:none !important; letter-spacing:-.01em; }
.dbm-home .c-title *, .dbm-home .c-title__small * { color:#12294A !important; }
.dbm-home .c-title > span:first-child, .dbm-home .c-title__small > span:first-child { display:none !important; }
.dbm-home .c-title::after, .dbm-home .c-title__small::after { content:""; display:block; width:46px; height:4px; border-radius:3px; background:#E23A2E; margin-top:.55rem; }
.dbm-home .c-text-pattern { color:#667089 !important; font-size:1rem !important; }

/* remove bordas/linhas vermelhas */
.dbm-home .u-border-top-2 { border-top:0 !important; }
.dbm-home .l-most-read__title-line::before { display:none !important; }

/* imagens arredondadas em geral */
.dbm-home .card-img, .dbm-home .card-img img, .dbm-home .l-blogs__card-img img, .dbm-home .l-illustration img,
.dbm-home .js-swiper-banner-materials img, .dbm-home .l-videos iframe, .dbm-home .l-videos__card-video, .dbm-home .l-mvv img { border-radius:18px !important; }

/* cards de blog e vídeo */
.dbm-home .l-blogs .card, .dbm-home .l-videos .card { background:#fff !important; border-radius:20px !important; box-shadow:0 12px 30px rgba(18,41,74,.07); overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; }
.dbm-home .l-blogs .card:hover, .dbm-home .l-videos .card:hover { transform:translateY(-6px); box-shadow:0 22px 44px rgba(18,41,74,.14); }
.dbm-home .l-blogs .card-body, .dbm-home .l-videos .card-body { padding:1rem 1.2rem 1.2rem !important; }
.dbm-home .l-blogs__card-title { font-size:1.05rem !important; color:#12294A !important; }
.dbm-home .l-blogs__card-text { color:#667089 !important; font-size:.86rem !important; }
.dbm-home .l-blogs__card-text .u-color-folk-secondary { color:#E23A2E !important; }
.dbm-home .l-videos__card-title { font-size:1rem !important; color:#12294A !important; text-align:left !important; padding:0 !important; }

/* botões → pill */
.dbm-home .l-blogs__read-more { background:#EAF1FC !important; color:#0B4DAD !important; border-radius:999px !important; padding:.62rem 1.3rem !important; font-size:.85rem; }
.dbm-home .l-blogs__read-more:hover { background:#0B4DAD !important; color:#fff !important; }
.dbm-home .l-blogs__btn-more-content, .dbm-home .l-calendar__btn, .dbm-home .l-contact__btn-submit { border-radius:999px !important; border:0 !important; background:#0B4DAD !important; color:#fff !important; font-weight:700 !important; }
.dbm-home .l-blogs__btn-more-content:hover, .dbm-home .l-calendar__btn:hover, .dbm-home .l-contact__btn-submit:hover { background:#0A2E63 !important; color:#fff !important; transform:translateY(-2px); }

/* atalhos (Links de Categorias) → pills com contorno colorido */
.dbm-home .l-shortcut ul { display:flex !important; flex-wrap:wrap; gap:.7rem; justify-content:center; }
.dbm-home .l-shortcut__item { border-width:2px !important; border-style:solid !important; border-radius:999px !important; background:#fff; padding:0 !important; margin:0 !important; box-shadow:0 6px 16px rgba(18,41,74,.05); transition:transform .2s ease, box-shadow .2s ease; }
.dbm-home .l-shortcut__item:hover { transform:translateY(-3px); box-shadow:0 12px 24px rgba(18,41,74,.13); }
.dbm-home .l-shortcut__link { display:block; padding:.55rem 1.4rem !important; }

/* mais lidas (Destaques da Juventude) → cards */
.dbm-home .l-most-read { background:#fff; }
.dbm-home .l-most-read__post-link { display:block; height:100%; background:#f4f6fb; border-radius:18px; padding:1.4rem 1.5rem; transition:transform .25s ease, box-shadow .25s ease; }
.dbm-home .l-most-read__post-link:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(18,41,74,.12); background:#fff; }
.dbm-home .l-most-read__post-link::before { display:none !important; }
.dbm-home .l-most-read__post-title { font-size:1.02rem !important; }

/* links úteis → logos grayscale→cor */
.dbm-home .l-links img { max-height:54px; width:auto; filter:grayscale(1); opacity:.65; transition:filter .25s ease, opacity .25s ease, transform .25s ease; margin:.6rem 1rem; }
.dbm-home .l-links img:hover { filter:none; opacity:1; transform:translateY(-3px); }

/* banners promocionais / materiais → arredondados */
.dbm-home .l-illustration img { border-radius:20px !important; box-shadow:0 12px 30px rgba(18,41,74,.08); width:100%; object-fit:cover; }
.dbm-home .js-swiper-banner-materials img { border-radius:20px !important; }

/* MVV */
.dbm-home .l-mvv__title * { color:#12294A !important; }

/* contato / presença salesiana */
.dbm-home .l-contact { background:#f4f6fb; }
.dbm-home .l-contact iframe { width:100% !important; border:0 !important; border-radius:20px !important; box-shadow:0 12px 30px rgba(18,41,74,.08); }
.dbm-home .l-contact input[type="text"], .dbm-home .l-contact input[type="email"] { border:1px solid #d5dbe8 !important; border-radius:14px !important; padding:.9rem 1.1rem !important; }

/* outras notícias / últimas de paróquia */
.dbm-home .l-other-posts { padding:3.2rem 0 !important; }
.dbm-home .l-other-posts__col-border { border-bottom:1px solid #e9edf6 !important; }
.dbm-home .l-other-posts__post-tag { border-radius:999px !important; }
.dbm-home .l-other-posts__post-title { color:#12294A !important; }

/* Calendário / Agenda (reconstruído) */
.dbm-agenda { padding:3.2rem 0; background:#fff; }
.dbm-agenda__month { font-size:1.5rem; font-weight:800; color:#0B4DAD; letter-spacing:-.01em; margin:.2rem 0 1.4rem; }
.dbm-agenda__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.9rem; }
.dbm-agenda__cols { display:grid; grid-template-columns:1fr 1fr; gap:2.2rem; }
@media (max-width:720px){ .dbm-agenda__cols { grid-template-columns:1fr; gap:1.6rem; } }
.dbm-agenda__coltitle { font-size:1.1rem; font-weight:800; color:#0B4DAD; margin:0 0 1rem; padding-bottom:.6rem; border-bottom:2px solid #EAF1FC; }
.dbm-agenda__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem; }
.dbm-agenda__item { display:flex; align-items:center; gap:1rem; background:#f4f6fb; border-radius:16px; padding:.9rem 1.1rem; transition:transform .2s ease, box-shadow .2s ease; }
.dbm-agenda__item:hover { transform:translateY(-3px); box-shadow:0 12px 26px rgba(18,41,74,.10); background:#fff; }
.dbm-agenda__day { flex:0 0 auto; width:54px; height:54px; border-radius:14px; background:#0B4DAD; color:#fff; display:grid; place-items:center; font-weight:800; font-size:1.35rem; }
.dbm-agenda__title { font-weight:600; color:#12294A; line-height:1.3; }
.dbm-agenda__empty { color:#667089; padding:1rem 0; }
.dbm-agenda__btns { display:flex; gap:.8rem; margin-top:1.6rem; flex-wrap:wrap; }
.dbm-btn--ghost { background:#EAF1FC !important; color:#0B4DAD !important; }
.dbm-btn--ghost:hover { background:#0B4DAD !important; color:#fff !important; }
@media (max-width:640px){ .dbm-agenda__grid { grid-template-columns:1fr; } }

/* Destaques da Juventude */
.dbm-youth { background:#f4f6fb; }
.dbm-youth__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.dbm-youth__grid .dbm-card { flex-direction:column; }
.dbm-youth__grid .dbm-card__img { height:190px; }
@media (max-width:820px){ .dbm-youth__grid { grid-template-columns:1fr; } }

/* Vídeos (canal do YouTube) */
.dbm-videos { background:#fff; }
.dbm-vidrow { display:flex; align-items:center; gap:.7rem; }
.dbm-vidtrack { display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; padding:.4rem; flex:1; scrollbar-width:none; }
.dbm-vidtrack::-webkit-scrollbar { display:none; }
.dbm-vid { flex:0 0 300px; scroll-snap-align:start; text-decoration:none; }
@media (max-width:820px){ .dbm-vid { flex-basis:80%; } }
.dbm-vid__thumb { display:block; position:relative; height:180px; border-radius:18px; background:#12294A center/cover no-repeat; overflow:hidden; }
.dbm-vid__thumb::after { content:""; position:absolute; inset:0; background:rgba(10,37,64,.10); transition:background .25s ease; }
.dbm-vid:hover .dbm-vid__thumb::after { background:rgba(10,37,64,.30); }
.dbm-vid__play { position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-50%); width:58px; height:58px; border-radius:50%; background:#E23A2E; display:grid; place-items:center; box-shadow:0 10px 24px rgba(226,58,46,.42); transition:transform .25s ease; }
.dbm-vid:hover .dbm-vid__play { transform:translate(-50%,-50%) scale(1.1); }
.dbm-vid__title { display:block; margin-top:.7rem; font-weight:700; color:#12294A; font-size:.95rem; line-height:1.3; }
.dbm-vidnav { flex:0 0 auto; width:46px; height:46px; border-radius:50%; border:0; background:#EAF1FC; color:#0B4DAD; font-size:1.7rem; line-height:1; cursor:pointer; display:grid; place-items:center; transition:background .2s ease, color .2s ease, transform .2s ease; }
.dbm-vidnav:hover { background:#0B4DAD; color:#fff; transform:scale(1.07); }
@media (max-width:640px){ .dbm-vidnav { display:none; } }

/* MVV compacto (3 colunas) */
.dbm-mvv { background:#f4f6fb; }
.dbm-mvv__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.dbm-mvv__card { background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 12px 30px rgba(18,41,74,.07); text-align:center; transition:transform .25s ease, box-shadow .25s ease; }
.dbm-mvv__card:hover { transform:translateY(-6px); box-shadow:0 20px 42px rgba(18,41,74,.13); }
.dbm-mvv__img { display:block; height:168px; background:#12294A center/cover no-repeat; }
.dbm-mvv__body { padding:1.3rem 1.5rem 1.6rem; }
.dbm-mvv__title { font-size:1.2rem; font-weight:800; color:#0B4DAD; margin:0 0 .5rem; }
.dbm-mvv__text { color:#667089; font-size:.92rem; margin:0; line-height:1.55; }
@media (max-width:820px){ .dbm-mvv__grid { grid-template-columns:1fr; } }

/* banner do topo — largura total (usa o espaço todo) */
.dbm-home > .l-banner { margin:0 !important; padding:0 !important; }
.dbm-home .l-banner .container, .dbm-home .l-banner .container-fluid { max-width:100% !important; padding:0 !important; }
.dbm-home .l-banner .swiper-slide img, .dbm-home .l-banner img { width:100%; height:auto; max-height:none; object-fit:cover; display:block; }
.dbm-home .dbm-sec:first-of-type { padding-top:2.4rem; }

/* banner de materiais (e-book) — menor e centralizado */
.dbm-home .js-swiper-banner-materials { max-width:920px; margin:2.4rem auto; border-radius:22px; overflow:hidden; box-shadow:0 16px 40px rgba(18,41,74,.12); }
.dbm-home .js-swiper-banner-materials img { border-radius:22px !important; width:100%; }

/* Links de Categorias — barra horizontal (rolagem numa linha só) */
.dbm-home .l-shortcut ul { display:flex !important; flex-wrap:nowrap; gap:.7rem; justify-content:flex-start; overflow-x:auto; padding:.4rem 2px 1rem; scrollbar-width:none; }
.dbm-home .l-shortcut ul::-webkit-scrollbar { display:none; }
.dbm-home .l-shortcut__item { flex:0 0 auto; }

/* animação de entrada (scroll reveal) */
.dbm-reveal { opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
.dbm-reveal.is-in { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .dbm-reveal { opacity:1 !important; transform:none !important; transition:none !important; } }

/* micro-interação: zoom sutil na imagem do card no hover */
.dbm-card__img { transition:transform .55s ease; }
.dbm-card:hover .dbm-card__img { transform:scale(1.07); }

/* faixa de números / impacto (contagem animada) */
.dbm-stats { padding:1rem 0 3rem; }
.dbm-stats__band { position:relative; overflow:hidden; background:#0A2540; border-radius:28px; display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; padding:2.6rem 2rem; }
.dbm-stats__band::before { content:""; position:absolute; width:300px; height:300px; right:-90px; top:-130px; border-radius:50%; background:rgba(37,99,201,.28); }
.dbm-stat { position:relative; text-align:center; }
.dbm-stat b { display:block; font-size:3rem; font-weight:800; color:#fff; letter-spacing:-.02em; line-height:1; font-variant-numeric:tabular-nums; }
.dbm-stat span { color:#7FB0F2; font-size:.9rem; font-weight:600; }
@media (max-width:640px){ .dbm-stats__band { grid-template-columns:repeat(2,1fr); gap:1.8rem; } .dbm-stat b { font-size:2.4rem; } }

/* botão voltar ao topo */
.dbm-top { position:fixed; right:22px; bottom:22px; z-index:60; width:50px; height:50px; border:0; border-radius:50%; background:#0B4DAD; box-shadow:0 12px 28px rgba(11,77,173,.42); cursor:pointer; display:grid; place-items:center; opacity:0; visibility:hidden; transform:translateY(14px); transition:opacity .3s ease, transform .3s ease, background .2s ease; }
.dbm-top.is-show { opacity:1; visibility:visible; transform:none; }
.dbm-top:hover { background:#0A2E63; }

/* header encolhe ao rolar */
.dbm-header__logo img, .dbm-nav { transition:all .3s ease; }
.dbm-header.is-stuck .dbm-header__logo img { max-height:48px; }
.dbm-header.is-stuck .dbm-nav { min-height:54px; }

/* MVV — faixa identidade navy com ícones */
.dbm-mvv2 { padding:3rem 0; background:#f4f6fb; }
.dbm-mvv2__band { position:relative; overflow:hidden; background:#0A2540; border-radius:28px; padding:3rem 3rem 3.4rem; }
.dbm-mvv2__band::before { content:""; position:absolute; width:360px; height:360px; right:-110px; top:-150px; border-radius:50%; background:rgba(37,99,201,.30); }
.dbm-mvv2__band::after { content:""; position:absolute; width:260px; height:260px; left:-100px; bottom:-140px; border-radius:50%; background:rgba(226,58,46,.16); }
.dbm-mvv2__head { position:relative; text-align:center; margin-bottom:2.4rem; }
.dbm-mvv2__k { display:block; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#7FB0F2; margin-bottom:.4rem; }
.dbm-mvv2__head h2 { color:#fff; font-size:1.9rem; font-weight:800; letter-spacing:-.01em; margin:0; }
.dbm-mvv2__grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:2.2rem; }
.dbm-mvv2__item { text-align:center; }
.dbm-mvv2__ic { width:74px; height:74px; border-radius:22px; display:inline-grid; place-items:center; margin-bottom:1.1rem; box-shadow:0 12px 26px rgba(0,0,0,.25); }
.dbm-mvv2__ic svg { width:38px; height:38px; stroke:#fff; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.dbm-mvv2__item h3 { color:#fff; font-size:1.15rem; font-weight:800; margin:0 0 .55rem; }
.dbm-mvv2__item p { color:#B7C7DE; font-size:.9rem; margin:0; line-height:1.55; }
@media (max-width:820px){ .dbm-mvv2__grid { grid-template-columns:1fr; gap:1.8rem; } .dbm-mvv2__band { padding:2.2rem 1.6rem 2.6rem; } }

/* MVV — imagem alternada + card horizontal na frente */
.dbm-mvv3 { padding:3.4rem 0; background:#f4f6fb; }
.dbm-mvv3__rows { display:flex; flex-direction:column; gap:2.6rem; }
.dbm-mvv3__row { position:relative; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; }
.dbm-mvv3__img { height:320px; border-radius:24px; background:#12294A center/cover no-repeat; box-shadow:0 16px 40px rgba(18,41,74,.14); }
.dbm-mvv3__card { position:relative; z-index:2; background:#fff; border-radius:22px; box-shadow:0 20px 48px rgba(18,41,74,.16); padding:2rem 2.2rem; margin-left:-90px; border-top:5px solid var(--c,#0B4DAD); }
.dbm-mvv3__ic { width:60px; height:60px; border-radius:18px; background:var(--c,#0B4DAD); display:grid; place-items:center; margin-bottom:1rem; }
.dbm-mvv3__ic svg { width:32px; height:32px; stroke:#fff; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.dbm-mvv3__card h3 { font-size:1.4rem; font-weight:800; color:#12294A; margin:0 0 .5rem; }
.dbm-mvv3__card p { color:#667089; font-size:.95rem; margin:0; line-height:1.6; }
.dbm-mvv3__rows > .dbm-mvv3__row:nth-child(even) .dbm-mvv3__img { order:2; }
.dbm-mvv3__rows > .dbm-mvv3__row:nth-child(even) .dbm-mvv3__card { order:1; margin-left:0; margin-right:-90px; }
@media (max-width:820px){
	.dbm-mvv3__row { display:block; }
	.dbm-mvv3__img { height:210px; }
	.dbm-mvv3__card, .dbm-mvv3__rows > .dbm-mvv3__row:nth-child(even) .dbm-mvv3__card { margin:-40px 1.1rem 0 !important; }
}

/* =======================================================================
   RODAPÉ MODERNO
   ======================================================================= */
.dbm-footer { position:relative; margin-top:4rem; background:linear-gradient(180deg,#0A2E63 0%,#071F45 100%); color:rgba(255,255,255,.78); font-size:.9rem; }
.dbm-footer::before { content:""; position:absolute; top:0; left:0; right:0; height:5px; background:linear-gradient(90deg,#E23A2E 0%,#0B4DAD 30%,#14A6A0 55%,#3cc443 78%,#E23A2E 100%); }
.dbm-footer a { color:rgba(255,255,255,.78); text-decoration:none; transition:color .2s ease; }
.dbm-footer a:hover { color:#fff; }

.dbm-footer__grid { display:grid; grid-template-columns:1.35fr 1fr 1fr 1.25fr; gap:2.6rem; padding:3.4rem 0 2.8rem; }

.dbm-footer__logoplate { display:inline-block; background:#fff; border-radius:14px; padding:.8rem 1.2rem; box-shadow:0 10px 28px rgba(0,0,0,.25); }
.dbm-footer__logoplate img { display:block; max-height:52px; width:auto; }
.dbm-footer__about { margin:1.15rem 0 1.2rem; line-height:1.65; color:rgba(255,255,255,.7); max-width:34ch; }
.dbm-footer__social { display:flex; gap:.5rem; list-style:none; margin:0; padding:0; }
.dbm-footer__social a { width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:rgba(255,255,255,.1); transition:background .2s ease, transform .2s ease; }
.dbm-footer__social a:hover { background:#E23A2E; transform:translateY(-2px); }
.dbm-footer__social a i::before { font-size:16px; color:#fff; }

.dbm-footer__title { color:#fff; font-size:.78rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; margin:0 0 1.15rem; }
.dbm-footer__title::after { content:""; display:block; width:28px; height:3px; border-radius:2px; background:#E23A2E; margin-top:.55rem; }

.dbm-footer__list { list-style:none; margin:0; padding:0; }
.dbm-footer__list li { margin:0; }
.dbm-footer__list a { display:inline-block; padding:.26rem 0; color:rgba(255,255,255,.72); }
.dbm-footer__list a::before { content:"\203A"; margin-right:.5em; color:#E23A2E; font-weight:800; }
.dbm-footer__list a:hover { color:#fff; transform:translateX(3px); }
.dbm-footer__list a { transition:color .2s ease, transform .2s ease; }

.dbm-footer__crow { display:flex; align-items:flex-start; gap:.65rem; margin-bottom:.9rem; line-height:1.6; }
.dbm-footer__crow svg { flex:0 0 auto; width:17px; height:17px; margin-top:.2rem; color:#7FB2FF; }
.dbm-footer__crow, .dbm-footer__crow a, .dbm-footer__addr, .dbm-footer__addr p, .dbm-footer__addr span { color:rgba(255,255,255,.82) !important; }
.dbm-footer__crow a:hover { color:#fff !important; }
.dbm-footer__addr p { margin:0; }
.dbm-footer__old { display:inline-block; margin-top:.4rem; font-size:.8rem; padding:.4rem .95rem; border:1px solid rgba(255,255,255,.25); border-radius:999px; transition:border-color .2s ease, background .2s ease; }
.dbm-footer__old:hover { border-color:#fff; background:rgba(255,255,255,.08); }

.dbm-footer__bottom { border-top:1px solid rgba(255,255,255,.09); padding:1.15rem 0; }
.dbm-footer__bottominner { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.dbm-footer__bottominner p { margin:0; font-size:.76rem; letter-spacing:.02em; color:rgba(255,255,255,.5); }
.dbm-footer__erwise img { height:24px; width:auto; display:block; opacity:.75; transition:opacity .2s ease; }
.dbm-footer__erwise:hover img { opacity:1; }

@media (max-width:1080px){
	.dbm-footer__grid { grid-template-columns:1fr 1fr; gap:2.2rem; padding:2.8rem 0 2.2rem; }
	.dbm-footer__brand { grid-column:1 / -1; }
}
@media (max-width:600px){
	.dbm-footer { margin-top:2.6rem; }
	.dbm-footer__grid { grid-template-columns:1fr; gap:1.9rem; }
	.dbm-footer__bottominner { justify-content:center; text-align:center; }
}

/* =======================================================================
   PAGINA DE NOTICIAS + SINGLE (dbm)
   ======================================================================= */

/* ---- Hero / banner de pagina ---- */
.dbm-phero { position:relative; overflow:hidden; background:linear-gradient(130deg,#0A2E63 0%,#0B4DAD 62%,var(--c,#0B4DAD) 135%); color:#fff; padding:2.9rem 0 2.6rem; }
.dbm-phero::before { content:""; position:absolute; right:-120px; top:-160px; width:440px; height:440px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.10),transparent 65%); }
.dbm-phero::after { content:""; position:absolute; left:-90px; bottom:-200px; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.06),transparent 65%); }
.dbm-phero .container { position:relative; z-index:1; }
.dbm-phero__bc { font-size:.78rem; color:rgba(255,255,255,.62); display:flex; align-items:center; gap:.5em; flex-wrap:wrap; }
.dbm-phero__bc a { color:rgba(255,255,255,.78); }
.dbm-phero__bc a:hover { color:#fff; }
.dbm-phero__bc b { color:#fff; font-weight:700; }
.dbm-phero h1 { font-size:clamp(1.9rem,4vw,2.7rem); font-weight:900; margin:.45rem 0 .3rem; color:#fff; }
.dbm-phero__sub { margin:0; color:rgba(255,255,255,.72); font-size:.92rem; }

/* ---- Layout com sidebar ---- */
.dbm-lay { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:2.2rem; align-items:start; padding:2.3rem 0 3rem; }
.dbm-side { position:sticky; top:105px; display:flex; flex-direction:column; gap:1.3rem; }
.dbm-widget { background:#fff; border:1px solid rgba(11,33,57,.08); border-radius:16px; padding:1.25rem 1.35rem; box-shadow:0 10px 30px rgba(11,33,57,.06); }
.dbm-widget__title { font-size:.74rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#0A2E63; margin:0 0 .95rem; }
.dbm-widget__title::after { content:""; display:block; width:26px; height:3px; border-radius:2px; background:#E23A2E; margin-top:.45rem; }

/* busca da sidebar */
.dbm-ssearch { display:flex; gap:.5rem; }
.dbm-ssearch input { flex:1 1 auto; min-width:0; border:1px solid rgba(11,33,57,.16); border-radius:10px; padding:.55rem .85rem; font-size:.88rem; outline:none; }
.dbm-ssearch input:focus { border-color:#0B4DAD; }
.dbm-ssearch button { flex:0 0 auto; width:40px; height:40px; border:0; border-radius:10px; background:#0B4DAD; color:#fff; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease; }
.dbm-ssearch button:hover { background:#E23A2E; }
.dbm-ssearch button svg { width:15px; height:15px; fill:currentColor; }

/* categorias da sidebar */
.dbm-scats { list-style:none; margin:0; padding:0; }
.dbm-scats a { display:flex; align-items:center; gap:.6rem; padding:.48rem .6rem; border-radius:10px; color:#33415a; font-weight:600; font-size:.88rem; transition:background .18s ease,color .18s ease; }
.dbm-scats__dot { flex:0 0 auto; width:10px; height:10px; border-radius:50%; background:var(--c,#0B4DAD); }
.dbm-scats b { margin-left:auto; font-weight:700; font-size:.72rem; color:#8a94a6; }
.dbm-scats a:hover { background:rgba(11,77,173,.07); color:#0B4DAD; }
.dbm-scats a.is-active { background:var(--c,#0B4DAD); color:#fff; }
.dbm-scats a.is-active .dbm-scats__dot { background:#fff; }
.dbm-scats a.is-active b { color:rgba(255,255,255,.8); }

/* recentes da sidebar */
.dbm-srecent { list-style:none; margin:0; padding:0; }
.dbm-srecent li + li { margin-top:.85rem; padding-top:.85rem; border-top:1px solid rgba(11,33,57,.07); }
.dbm-srecent a { display:flex; gap:.75rem; align-items:flex-start; }
.dbm-srecent__thumb { flex:0 0 auto; width:60px; height:60px; border-radius:10px; background-size:cover; background-position:center; background-color:#e8edf5; }
.dbm-srecent__title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:.84rem; font-weight:700; color:#16233c; line-height:1.35; transition:color .18s ease; }
.dbm-srecent a:hover .dbm-srecent__title { color:#0B4DAD; }
.dbm-srecent__date { display:block; margin-top:.25rem; font-size:.72rem; color:#8a94a6; }

/* promo da sidebar */
.dbm-spromo { padding:0; overflow:hidden; }
.dbm-spromo img { display:block; width:100%; height:auto; }

/* ---- Destaque (ultima noticia, largura total) ---- */
.dbm-feat { margin-top:2.3rem; }
.dbm-feat__card { display:grid; grid-template-columns:1.25fr 1fr; background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 20px 50px rgba(11,33,57,.12); }
.dbm-feat__img { display:block; min-height:430px; background-size:cover; background-position:center; background-color:#e8edf5; transition:transform .5s ease; }
.dbm-feat__card:hover .dbm-feat__img { transform:scale(1.035); }
.dbm-feat__body { display:flex; flex-direction:column; justify-content:center; gap:.85rem; padding:2.6rem 2.8rem; }
.dbm-feat__tags { display:flex; gap:.45rem; flex-wrap:wrap; }
.dbm-pill--hot { background:#E23A2E !important; }
.dbm-feat__title { font-size:clamp(1.5rem,2.4vw,2.05rem); font-weight:800; line-height:1.22; color:#16233c; transition:color .2s ease; }
.dbm-feat__card:hover .dbm-feat__title { color:var(--c,#0B4DAD); }
.dbm-feat__exc { color:#5b6779; line-height:1.75; font-size:1rem; }
.dbm-feat__meta { display:flex; align-items:center; gap:1.1rem; color:#8a94a6; font-size:.84rem; margin-top:.35rem; }
.dbm-feat__more { color:var(--c,#0B4DAD); font-weight:700; }

/* ---- Grade de noticias ---- */
.dbm-ngrid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; margin-top:1.7rem; }
.dbm-lay__main > .dbm-ngrid:first-child { margin-top:0; }

/* ---- Paginacao ---- */
.dbm-pag { display:flex; justify-content:center; align-items:center; gap:.45rem; margin-top:2.4rem; flex-wrap:wrap; }
.dbm-pag a, .dbm-pag__cur, .dbm-pag__gap { min-width:40px; height:40px; padding:0 .55rem; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:.9rem; }
.dbm-pag a { background:#fff; border:1px solid rgba(11,33,57,.14); color:#33415a; transition:border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease; }
.dbm-pag a:hover { border-color:#0B4DAD; color:#0B4DAD; transform:translateY(-2px); box-shadow:0 8px 18px rgba(11,33,57,.10); }
.dbm-pag__cur { background:#0B4DAD; color:#fff; box-shadow:0 8px 20px rgba(11,77,173,.30); }
.dbm-pag__gap { color:#8a94a6; border:0; min-width:auto; }
.dbm-pag__nav { font-size:1.25rem; }

/* vazio */
.dbm-empty { text-align:center; padding:3rem 0; color:#5b6779; }
.dbm-empty p { margin-bottom:1.2rem; }

/* ---- Cabecalho da materia (single) ---- */
.dbm-ahead { padding:2.2rem 0 0; max-width:900px; }
.dbm-bc { font-size:.78rem; color:#8a94a6; display:flex; align-items:center; gap:.5em; flex-wrap:wrap; }
.dbm-bc a { color:#5b6779; font-weight:600; }
.dbm-bc a:hover { color:#0B4DAD; }
.dbm-bc__cat { color:var(--c,#0B4DAD) !important; }
.dbm-ahead__title { font-size:clamp(1.55rem,3.4vw,2.25rem); font-weight:900; color:#16233c; line-height:1.22; margin:.6rem 0 .85rem; }
.dbm-ahead__meta { display:flex; align-items:center; gap:1.3rem; flex-wrap:wrap; color:#8a94a6; font-size:.85rem; }
.dbm-ahead__meta span { display:inline-flex; align-items:center; gap:.45rem; }
.dbm-ahead__meta svg { width:15px; height:15px; color:#0B4DAD; }

/* ---- Conteudo do artigo ---- */
.dbm-singlepage .dbm-lay { padding-top:1.7rem; }
.dbm-article__cover { display:block; width:100%; height:auto; max-height:540px; object-fit:cover; border-radius:18px; margin-bottom:1.7rem; }
.dbm-article__content p { font-size:1.04rem; line-height:1.85; color:#2b3445; margin-bottom:1.15rem; }
.dbm-article__content h2, .dbm-article__content h3, .dbm-article__content h4 { color:#0A2E63; font-weight:800; margin:1.7em 0 .6em; line-height:1.3; }
.dbm-article__content a { color:#0B4DAD; font-weight:600; }
.dbm-article__content a:hover { color:#E23A2E; }
.dbm-article__content img { max-width:100%; height:auto; border-radius:14px; cursor:zoom-in; }
.dbm-article__content iframe { max-width:100%; border-radius:14px; }
.dbm-article__content blockquote { border-left:4px solid #E23A2E; margin:1.5rem 0; padding:.4rem 0 .4rem 1.25rem; color:#5b6779; font-style:italic; }
.dbm-article__content ul, .dbm-article__content ol { color:#2b3445; line-height:1.8; margin-bottom:1.15rem; padding-left:1.4rem; }

/* ---- CTA WhatsApp ---- */
.dbm-wpp { display:flex; align-items:center; gap:1.1rem; background:#ECFAF2; border:1px solid #C4EBD4; border-radius:16px; padding:1.2rem 1.4rem; margin:2.2rem 0 0; }
.dbm-wpp > svg { flex:0 0 auto; width:42px; height:42px; color:#25D366; }
.dbm-wpp__txt b { display:block; color:#14532D; font-size:.98rem; line-height:1.35; }
.dbm-wpp__txt span { display:block; margin-top:.2rem; color:#3F6F52; font-size:.85rem; }
.dbm-wpp__btn { flex:0 0 auto; margin-left:auto; background:#25D366; color:#fff !important; border-radius:999px; padding:.68rem 1.35rem; font-weight:700; font-size:.88rem; white-space:nowrap; transition:background .2s ease,transform .2s ease; }
.dbm-wpp__btn:hover { background:#1DA851; transform:translateY(-2px); }

/* ---- Navegacao anterior/proxima ---- */
.dbm-pn { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.6rem; }
.dbm-pn__item { display:block; background:#fff; border:1px solid rgba(11,33,57,.10); border-radius:14px; padding:.95rem 1.15rem; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.dbm-pn__item:hover { border-color:#0B4DAD; box-shadow:0 10px 24px rgba(11,33,57,.10); transform:translateY(-2px); }
.dbm-pn__item small { display:block; font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#8a94a6; margin-bottom:.3rem; }
.dbm-pn__item span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:.88rem; font-weight:700; color:#16233c; line-height:1.35; }
.dbm-pn__item--next { text-align:right; }

/* ---- Leia tambem ---- */
.dbm-read { padding:0 0 3.2rem; }
.dbm-read__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }

/* ---- Responsivo ---- */
@media (max-width:1080px){
	.dbm-lay { grid-template-columns:minmax(0,1fr) 300px; gap:1.7rem; }
}
@media (max-width:960px){
	.dbm-lay { grid-template-columns:1fr; }
	.dbm-side { position:static; }
	.dbm-feat__card { grid-template-columns:1fr; }
	.dbm-feat__img { min-height:230px; }
	.dbm-feat__body { padding:1.5rem 1.4rem; }
	.dbm-read__grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
	.dbm-phero { padding:2.1rem 0 1.9rem; }
	.dbm-ngrid { grid-template-columns:1fr; }
	.dbm-read__grid { grid-template-columns:1fr; }
	.dbm-wpp { flex-wrap:wrap; }
	.dbm-wpp__btn { margin-left:0; }
	.dbm-pn { grid-template-columns:1fr; }
	.dbm-pag a, .dbm-pag__cur { min-width:36px; height:36px; }
}

/* =======================================================================
   LIGHTBOX / MODAL DE GALERIA (.l-modal-gallery)
   O tema nunca portou o CSS deste modal: o scaffold ficava visivel no
   rodape e o clique nas imagens travava o scroll sem mostrar nada.
   ======================================================================= */
.l-modal-gallery { position:fixed; inset:0; z-index:99999; display:none; }
.l-modal-gallery.is-active { display:block; }
.l-modal-gallery__overlay { position:absolute; inset:0; background:rgba(6,14,29,.9); cursor:pointer; }
.l-modal-gallery__container { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:min(92vw,1040px); }
.l-modal-gallery .swiper-container { overflow:hidden; }
.l-modal-gallery .swiper-slide { position:relative; display:flex; align-items:center; justify-content:center; }
.l-modal-gallery__image { display:block; max-width:100%; max-height:82vh; margin:0 auto; border-radius:12px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.l-modal-gallery__button-close { position:absolute; top:22px; right:26px; z-index:5; width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; font-weight:700; font-size:1.05rem; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease; user-select:none; }
.l-modal-gallery__button-close:hover { background:#E23A2E; }
.l-modal-gallery__download { position:absolute; top:12px; right:12px; z-index:4; width:42px; height:42px; border-radius:50%; background:rgba(6,14,29,.65); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease; }
.l-modal-gallery__download:hover { background:#0B4DAD; }
.l-modal-gallery__download svg { width:16px; height:16px; fill:#fff; }
.l-modal-gallery .swiper-button-prev, .l-modal-gallery .swiper-button-next { color:#fff; }
.l-modal-gallery .swiper-button-prev { left:-6px; }
.l-modal-gallery .swiper-button-next { right:-6px; }
@media (max-width:640px){
	.l-modal-gallery__container { width:94vw; }
	.l-modal-gallery__button-close { top:12px; right:12px; width:40px; height:40px; }
	.l-modal-gallery .swiper-button-prev, .l-modal-gallery .swiper-button-next { display:none; }
}

/* =======================================================================
   AGENDA + BLOG + E-BOOKS + COMEMORACOES (dbm)
   ======================================================================= */

/* ---- Agenda: cards de evento ---- */
.dbm-evwrap { padding:2.4rem 0 3.2rem; }
.dbm-evwrap section + section { margin-top:2.8rem; }
.dbm-evgrid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem; }
.dbm-ev { display:flex; gap:1rem; align-items:center; background:#fff; border:1px solid rgba(11,33,57,.08); border-radius:16px; padding:1rem 1.15rem; box-shadow:0 10px 26px rgba(11,33,57,.06); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.dbm-ev:hover { transform:translateY(-3px); border-color:#0B4DAD; box-shadow:0 18px 40px rgba(11,33,57,.12); }
.dbm-ev__date { flex:0 0 auto; width:72px; border-radius:12px; background:linear-gradient(160deg,#0B4DAD,#0A2E63); color:#fff; text-align:center; padding:.55rem .25rem .5rem; }
.dbm-ev__date b { display:block; font-size:1.45rem; font-weight:800; line-height:1; }
.dbm-ev__date span { display:block; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-top:.15rem; }
.dbm-ev__date small { display:block; font-size:.62rem; color:rgba(255,255,255,.65); margin-top:.1rem; }
.dbm-ev__body { min-width:0; }
.dbm-ev__title { display:block; font-weight:700; color:#16233c; line-height:1.35; font-size:.95rem; }
.dbm-ev:hover .dbm-ev__title { color:#0B4DAD; }
.dbm-ev__meta { display:flex; flex-wrap:wrap; gap:.35rem 1rem; margin-top:.4rem; font-size:.76rem; color:#8a94a6; }
.dbm-ev__meta span { display:inline-flex; align-items:center; gap:.35rem; }
.dbm-ev__meta svg { width:13px; height:13px; color:#0B4DAD; flex:0 0 auto; }
.dbm-ev__city { background:rgba(11,77,173,.08); color:#0B4DAD !important; font-weight:700; border-radius:999px; padding:.1rem .6rem; }
.dbm-empty--tight { padding:1.6rem 0; text-align:left; }

/* ---- Blog: grade 3 colunas ---- */
.dbm-bwrap { padding:2.2rem 0 3.2rem; }
.dbm-bgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }

/* ---- E-books: vitrine de capas ---- */
.dbm-ebwrap { padding:2.4rem 0 3.4rem; }
.dbm-ebgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
.dbm-ebook { display:flex; flex-direction:column; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 12px 30px rgba(18,41,74,.08); transition:transform .25s ease, box-shadow .25s ease; }
.dbm-ebook:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(18,41,74,.15); }
.dbm-ebook__cover { display:block; aspect-ratio:3/4; background:#e8edf5 center/cover no-repeat; transition:transform .5s ease; }
.dbm-ebook:hover .dbm-ebook__cover { transform:scale(1.04); }
.dbm-ebook__body { display:flex; flex-direction:column; gap:.7rem; padding:1rem 1.1rem 1.2rem; margin-top:auto; background:#fff; position:relative; }
.dbm-ebook__title { font-weight:700; color:#16233c; font-size:.92rem; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.dbm-ebook__btn { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; background:#0B4DAD; color:#fff !important; border-radius:999px; padding:.55rem 1rem; font-weight:700; font-size:.82rem; transition:background .2s ease; }
.dbm-ebook__btn:hover { background:#E23A2E; }
.dbm-ebook__btn svg { width:14px; height:14px; }

/* ---- Comemoracoes: meses + tipos + itens ---- */
.dbm-memwrap { padding:2.4rem 0 3.2rem; }
.dbm-months { display:flex; flex-wrap:wrap; gap:.4rem; justify-content:center; }
.dbm-months a { min-width:58px; text-align:center; padding:.5rem .7rem; border-radius:12px; background:#fff; border:1px solid rgba(11,33,57,.12); color:#33415a; font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; transition:border-color .18s ease, color .18s ease, background .18s ease, transform .18s ease; }
.dbm-months a:hover { border-color:#0B4DAD; color:#0B4DAD; transform:translateY(-2px); }
.dbm-months a.is-active { background:#0B4DAD; border-color:#0B4DAD; color:#fff; box-shadow:0 8px 20px rgba(11,77,173,.28); }
.dbm-fpills { display:flex; flex-wrap:wrap; gap:.45rem; justify-content:center; margin-top:1.1rem; }
.dbm-fpill { padding:.42rem 1rem; border-radius:999px; border:2px solid var(--c,#0B4DAD); color:var(--c,#0B4DAD); background:#fff; font-weight:700; font-size:.8rem; transition:background .18s ease, color .18s ease, transform .18s ease; }
.dbm-fpill:hover { transform:translateY(-2px); }
.dbm-fpill.is-active { background:var(--c,#0B4DAD); color:#fff; }
.dbm-memmonth { text-align:center; margin:2rem 0 1.4rem; font-size:1.5rem; font-weight:800; color:#0A2E63; }
.dbm-memgrid { display:grid; grid-template-columns:repeat(2,1fr); gap:.9rem; }
.dbm-mem { display:flex; gap:.9rem; align-items:center; background:#fff; border:1px solid rgba(11,33,57,.08); border-left:4px solid var(--c,#0B4DAD); border-radius:14px; padding:.85rem 1rem; box-shadow:0 8px 22px rgba(11,33,57,.05); }
.dbm-mem__day { flex:0 0 auto; width:56px; text-align:center; border-radius:10px; background:rgba(11,77,173,.06); padding:.45rem .2rem; }
.dbm-mem__day b { display:block; font-size:1.2rem; font-weight:800; color:#0A2E63; line-height:1; }
.dbm-mem__day span { display:block; font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#8a94a6; margin-top:.15rem; }
.dbm-mem__body { min-width:0; }
.dbm-mem__title { display:block; font-weight:700; color:#16233c; font-size:.92rem; line-height:1.35; }
.dbm-mem__meta { display:flex; align-items:center; gap:.6rem; margin-top:.35rem; font-size:.75rem; color:#8a94a6; font-weight:600; }
.dbm-mem__pill { background:var(--c,#0B4DAD); color:#fff; border-radius:999px; padding:.12rem .65rem; font-size:.68rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }

/* ---- Responsivo ---- */
@media (max-width:1080px){
	.dbm-ebgrid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:900px){
	.dbm-evgrid, .dbm-memgrid { grid-template-columns:1fr; }
	.dbm-bgrid { grid-template-columns:repeat(2,1fr); }
	.dbm-ebgrid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
	.dbm-bgrid { grid-template-columns:1fr; }
	.dbm-ebgrid { grid-template-columns:repeat(2,1fr); gap:.9rem; }
	.dbm-months a { min-width:48px; padding:.42rem .5rem; font-size:.74rem; }
	.dbm-ev { flex-direction:row; }
}

/* =======================================================================
   MENU DE AREAS (icones da home + dropdown estilo copiosa)
   ======================================================================= */
.dbm-nav__areas { display:flex; align-items:stretch; gap:.15rem; list-style:none; margin:0; padding:0; }
.dbm-area__top { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.3rem; padding:.55rem .65rem .5rem; border-radius:12px; text-align:center; transition:background .2s ease; }
.dbm-area__top:hover { background:rgba(11,77,173,.05); }
.dbm-area__ic { display:flex; align-items:center; justify-content:center; }
.dbm-area__ic img { width:56px; height:56px; object-fit:contain; display:block; filter:drop-shadow(0 5px 12px rgba(11,33,57,.2)); transition:transform .22s ease, filter .22s ease; }
.dbm-area__top:hover .dbm-area__ic img { transform:translateY(-3px) scale(1.06); filter:drop-shadow(0 10px 18px rgba(11,33,57,.28)); }
.dbm-area__label { font-size:.7rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:#0A2E63; line-height:1.15; white-space:nowrap; }
.dbm-area__top:hover .dbm-area__label { color:var(--c,#0B4DAD); }
.dbm-area__chev { width:11px; height:11px; color:#8a94a6; margin-top:-2px; transition:transform .25s ease, color .25s ease; }
.dbm-area--sub:hover .dbm-area__chev, .dbm-area--sub:focus-within .dbm-area__chev { transform:rotate(180deg); color:var(--c,#0B4DAD); }

/* mega menu (painel aberto completo, largura do header) */
.dbm-nav { position:relative; }
.dbm-mega { position:absolute; top:100%; left:0; right:0; padding-top:10px; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .24s ease, transform .24s ease, visibility .24s ease; z-index:1050; }
.dbm-area--sub:hover .dbm-mega, .dbm-area--sub:focus-within .dbm-mega { opacity:1; visibility:visible; transform:translateY(0); }
.dbm-mega__panel { display:grid; grid-template-columns:300px minmax(0,1.4fr) minmax(0,.8fr); gap:2.2rem; background:#fff; border:1px solid rgba(11,33,57,.06); border-radius:20px; box-shadow:0 34px 80px rgba(11,33,57,.22); padding:1.8rem 2rem; }
.dbm-mega__panel--simple { grid-template-columns:300px minmax(0,1fr); }
.dbm-mega__info { border-right:1px solid rgba(11,33,57,.08); padding-right:2rem; }
.dbm-mega__ic { display:inline-flex; align-items:center; justify-content:center; width:58px; height:58px; border-radius:16px; background:#fff; border:2px solid var(--c,#0B4DAD); margin-bottom:.8rem; }
.dbm-mega__ic img { width:32px; height:32px; object-fit:contain; }
.dbm-mega__info b { display:block; font-size:1.1rem; font-weight:800; color:#0A2E63; }
.dbm-mega__info p { margin:.5rem 0 .95rem; font-size:.84rem; line-height:1.6; color:#5b6779; }
.dbm-mega__site { display:inline-flex; align-items:center; gap:.45rem; padding:.5rem 1.05rem; border-radius:999px; border:2px solid var(--c,#0B4DAD); color:var(--c,#0B4DAD); font-size:.8rem; font-weight:700; transition:background .2s ease, color .2s ease; }
.dbm-mega__site:hover { background:var(--c,#0B4DAD); color:#fff; }
.dbm-mega__site svg { width:12px; height:12px; }
.dbm-mega__col h4 { font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#0A2E63; margin:0 0 .8rem; }
.dbm-mega__col h4::after { content:""; display:block; width:24px; height:3px; border-radius:2px; background:var(--c,#E23A2E); margin-top:.4rem; }
.dbm-mega__links { display:flex; flex-direction:column; gap:.1rem; }
.dbm-mega__links--2col { display:grid; grid-template-columns:repeat(2,1fr); gap:.1rem .9rem; }
.dbm-mega__links a { display:flex; align-items:center; gap:.45rem; padding:.5rem .6rem; border-radius:9px; font-size:.86rem; font-weight:600; color:#33415a; transition:background .16s ease, color .16s ease; }
.dbm-mega__links a::before { content:"\203A"; font-weight:800; color:var(--c,#0B4DAD); font-size:1.05em; line-height:1; }
.dbm-mega__links a:hover { background:rgba(11,77,173,.06); color:var(--c,#0B4DAD); }
.dbm-mega__all { color:var(--c,#0B4DAD) !important; font-weight:700 !important; }

/* header shrink: encolhe os icones tambem */
.dbm-header.is-stuck .dbm-area__ic img { width:42px; height:42px; }
.dbm-header.is-stuck .dbm-area__top { padding-top:.4rem; padding-bottom:.35rem; }

/* mobile / collapse (< 1200px): ACORDEÃO por área (toque abre só o submenu daquela área) */
@media (max-width:1199.98px){
	.dbm-nav__areas { flex-direction:column; align-items:stretch; gap:0; padding:.25rem 0 .5rem; }
	.dbm-area { border-bottom:1px solid rgba(11,33,57,.07); }
	.dbm-area:last-child { border-bottom:0; }
	.dbm-area__top { flex-direction:row; justify-content:flex-start; gap:.8rem; padding:.9rem .4rem; }
	.dbm-area__top:hover { background:transparent; }
	.dbm-area__ic { flex:0 0 auto; }
	.dbm-area__ic img { width:38px; height:38px; }
	.dbm-area__top:hover .dbm-area__ic img { transform:none; filter:drop-shadow(0 5px 12px rgba(11,33,57,.2)); }
	.dbm-area__label { font-size:.95rem; text-align:left; flex:1 1 auto; color:#12294A; white-space:normal; }
	.dbm-area__chev { display:block; width:17px; height:17px; color:#98a2b3; margin:0; flex:0 0 auto; transition:transform .25s ease, color .25s ease; }
	.dbm-area.is-open .dbm-area__chev { transform:rotate(180deg); color:var(--c,#0B4DAD); }
	.dbm-area.is-open .dbm-area__label { color:var(--c,#0B4DAD); }

	/* mega = painel inline fechado por padrão; abre com .is-open na área */
	.dbm-mega { position:static; transform:none; opacity:1; visibility:visible; padding:0; z-index:auto; max-height:0; overflow:hidden; transition:max-height .32s ease; }
	.dbm-area.is-open .dbm-mega { max-height:1200px; }
	.dbm-mega__panel, .dbm-mega__panel--simple { display:block; grid-template-columns:none; box-shadow:none; border:0; border-radius:0; padding:0 0 .8rem 3.1rem; }
	.dbm-mega__info { display:block; border:0; padding:0; margin:0; }
	.dbm-mega__ic, .dbm-mega__info b, .dbm-mega__info p { display:none; }
	.dbm-mega__site { display:inline-flex; margin:.1rem 0 .6rem; padding:.42rem .95rem; font-size:.78rem; }
	.dbm-mega__col { margin-top:.2rem; }
	.dbm-mega__col h4 { display:block; font-size:.64rem; letter-spacing:.14em; color:#98a2b3; margin:.55rem 0 .2rem; }
	.dbm-mega__col h4::after { display:none; }
	.dbm-mega__links, .dbm-mega__links--2col { display:flex; flex-direction:column; gap:0; }
	.dbm-mega__links a { padding:.55rem .5rem; font-size:.9rem; }

	/* hambúrguer vira "X" quando aberto */
	.dbm-nav__toggler.is-x span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
	.dbm-nav__toggler.is-x span:nth-child(2) { opacity:0; }
	.dbm-nav__toggler.is-x span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
}

/* =======================================================================
   BOTTOM NAV "estilo app" (só mobile) + bottom sheet de Editorias
   ======================================================================= */
.dbm-tabbar { display:none; }
.dbm-sheet { display:none; }
@media (max-width:1199.98px){
	body { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)); }

	.dbm-tabbar { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:1200; background:#fff; border-top:1px solid rgba(11,33,57,.08); box-shadow:0 -4px 22px rgba(11,33,57,.12); justify-content:space-around; align-items:flex-end; padding-bottom:env(safe-area-inset-bottom, 0px); }
	.dbm-tab { flex:1 1 0; display:flex; flex-direction:column; align-items:center; gap:3px; padding:8px 2px 9px; color:#8a94a6; font-size:.6rem; font-weight:700; letter-spacing:.01em; text-decoration:none; background:none; border:0; cursor:pointer; -webkit-tap-highlight-color:transparent; }
	.dbm-tab svg { width:22px; height:22px; display:block; }
	.dbm-tab span { line-height:1; }
	.dbm-tab.is-active { color:#0B4DAD; }
	.dbm-tab--doar { color:#E23A2E; }
	.dbm-tab__doar { display:flex; align-items:center; justify-content:center; width:54px; height:54px; margin-top:-24px; margin-bottom:2px; border-radius:50%; background:#E23A2E; color:#fff; box-shadow:0 8px 20px rgba(226,58,46,.42); border:4px solid #fff; }
	.dbm-tab__doar svg { width:24px; height:24px; }

	/* Doar do topo é redundante com a barra de baixo -> esconde no mobile */
	.dbm-doar--m { display:none !important; }

	/* bottom sheet (Editorias) */
	.dbm-sheet { display:block; position:fixed; inset:0; z-index:1300; }
	.dbm-sheet[hidden] { display:none; }
	.dbm-sheet__overlay { position:absolute; inset:0; background:rgba(6,14,29,.5); opacity:0; transition:opacity .3s ease; }
	.dbm-sheet.is-open .dbm-sheet__overlay { opacity:1; }
	.dbm-sheet__panel { position:absolute; left:0; right:0; bottom:0; background:#fff; border-radius:22px 22px 0 0; padding:10px 18px calc(22px + env(safe-area-inset-bottom, 0px)); transform:translateY(100%); transition:transform .34s cubic-bezier(.22,1,.36,1); max-height:84vh; overflow:auto; }
	.dbm-sheet.is-open .dbm-sheet__panel { transform:translateY(0); }
	.dbm-sheet__handle { width:42px; height:4px; border-radius:4px; background:#d7dde5; margin:4px auto 12px; }
	.dbm-sheet__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
	.dbm-sheet__head b { font-size:1.12rem; color:#12294A; }
	.dbm-sheet__x { border:0; background:#eef1f5; width:32px; height:32px; border-radius:50%; color:#5b6779; font-size:15px; line-height:1; cursor:pointer; }
	.dbm-sheet__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
	.dbm-sheet__area { display:flex; flex-direction:column; align-items:center; gap:8px; padding:15px 6px; border-radius:15px; background:#f6f8fb; border:1px solid #eef1f5; text-decoration:none; color:#12294A; font-size:.72rem; font-weight:700; text-align:center; line-height:1.2; transition:background .18s ease, transform .18s ease; }
	.dbm-sheet__area:active { transform:scale(.96); background:#eef2f8; }
	.dbm-sheet__ic img { width:42px; height:42px; object-fit:contain; filter:drop-shadow(0 4px 9px rgba(11,33,57,.18)); }
	.dbm-sheet__links { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
	.dbm-sheet__links a { flex:1 1 42%; text-align:center; padding:12px; border-radius:12px; border:1px solid #e7ebf1; color:#33415a; font-weight:700; font-size:.84rem; text-decoration:none; }
}

/* =======================================================================
   MIGRACAO INSPETORIA (pagina generica, salesianos, hub)
   ======================================================================= */

/* separador no dropdown do menu (paginas x noticias/blog/site) */
.dbm-area__sep { display:block; height:1px; margin:.4rem .5rem; background:rgba(11,33,57,.09); }

/* pagina generica dbm-page */
.dbm-pagebody { max-width:880px; margin:0 auto; padding:2.4rem 0 3.2rem; }
.dbm-psec { margin-top:2.2rem; }
.dbm-psec:first-child { margin-top:0; }
.dbm-psec__title { color:#0A2E63; font-weight:800; font-size:1.35rem; margin:0 0 .8rem; padding-bottom:.5rem; border-bottom:3px solid #E23A2E; display:inline-block; }
.dbm-pagebody img { max-width:100%; height:auto; border-radius:14px; }
.dbm-pagebody table { max-width:100%; }

/* grade de salesianos */
.dbm-padreswrap { padding:2.4rem 0 3.4rem; }
.dbm-padresgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; }
.dbm-padre { background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 12px 30px rgba(18,41,74,.08); transition:transform .25s ease, box-shadow .25s ease; }
.dbm-padre:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(18,41,74,.15); }
.dbm-padre__foto { display:block; aspect-ratio:1/1; background:#e8edf5 center/cover no-repeat; background-position:center 22%; }
.dbm-padre__body { display:block; padding:1rem 1.1rem 1.15rem; }
.dbm-padre__nome { display:block; font-weight:800; color:#16233c; font-size:.95rem; line-height:1.3; }
.dbm-padre__completo { display:block; margin-top:.25rem; font-size:.78rem; color:#5b6779; line-height:1.4; }
.dbm-padre__nasc { display:inline-flex; align-items:center; gap:.4rem; margin-top:.55rem; font-size:.75rem; font-weight:700; color:#0B4DAD; background:rgba(11,77,173,.07); border-radius:999px; padding:.25rem .7rem; }
.dbm-padre__nasc svg { width:12px; height:12px; }

/* hub da area */
.dbm-hubwrap { padding:2.4rem 0 3.2rem; }
.dbm-hubwrap section + section { margin-top:2.8rem; }
.dbm-hubgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.dbm-hublink { display:flex; align-items:center; justify-content:space-between; gap:.8rem; background:#fff; border:1px solid rgba(11,33,57,.09); border-radius:14px; padding:1.05rem 1.2rem; font-weight:700; color:#16233c; font-size:.92rem; transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease; }
.dbm-hublink__arrow { color:#E23A2E; font-weight:800; transition:transform .2s ease; }
.dbm-hublink:hover { transform:translateY(-3px); border-color:#0B4DAD; color:#0B4DAD; box-shadow:0 14px 30px rgba(11,33,57,.10); }
.dbm-hublink:hover .dbm-hublink__arrow { transform:translateX(4px); }
.dbm-hubnews { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }

@media (max-width:1080px){
	.dbm-padresgrid, .dbm-hubnews { grid-template-columns:repeat(3,1fr); }
	.dbm-hubgrid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
	.dbm-padresgrid, .dbm-hubnews { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px){
	.dbm-padresgrid { grid-template-columns:1fr 1fr; gap:.8rem; }
	.dbm-hubgrid, .dbm-hubnews { grid-template-columns:1fr; }
	.dbm-padre__completo { display:none; }
}

/* =======================================================================
   INSPETORIA FASE 2 (equipes, presenca salesiana, hub MVV)
   ======================================================================= */

/* equipes */
.dbm-teamswrap { padding:2.4rem 0 3.4rem; }
.dbm-teamsgrid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.3rem; align-items:start; }
.dbm-team { background:#fff; border:1px solid rgba(11,33,57,.08); border-radius:18px; overflow:hidden; box-shadow:0 12px 30px rgba(18,41,74,.07); transition:transform .22s ease, box-shadow .22s ease; }
.dbm-team:hover { transform:translateY(-3px); box-shadow:0 20px 44px rgba(18,41,74,.13); }
.dbm-team__head { display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:1.1rem 1.3rem; background:linear-gradient(135deg,#0A2E63,#0B4DAD); }
.dbm-team__nome { margin:0; font-size:1.02rem; font-weight:800; color:#fff; line-height:1.3; }
.dbm-team__sigla { flex:0 0 auto; background:rgba(255,255,255,.16); color:#fff; font-size:.68rem; font-weight:800; letter-spacing:.06em; border-radius:999px; padding:.3rem .75rem; white-space:nowrap; }
.dbm-team__body { padding:1.1rem 1.3rem 1.25rem; }
.dbm-team__body ul { list-style:none; margin:0; padding:0; }
.dbm-team__body li { position:relative; padding:.45rem 0 .45rem 1.5rem; color:#33415a; font-size:.92rem; line-height:1.45; border-bottom:1px solid rgba(11,33,57,.06); }
.dbm-team__body li:last-child { border-bottom:0; }
.dbm-team__body li::before { content:""; position:absolute; left:.15rem; top:.95rem; width:8px; height:8px; border-radius:50%; background:#1e8ccc; }

/* presenca salesiana */
.dbm-preswrap { padding:2.4rem 0 3.4rem; }
.dbm-presintro { max-width:820px; margin:0 auto; text-align:center; }
.dbm-presintro p { font-size:1.08rem; }
.dbm-presstats { margin:1.8rem 0 2rem; }
.dbm-presmap { border-radius:20px; overflow:hidden; box-shadow:0 20px 50px rgba(11,33,57,.14); border:1px solid rgba(11,33,57,.08); }
.dbm-presmap iframe { display:block; width:100%; height:540px; border:0; }
/* Presença Salesiana — "onde estamos" (mapa em cima + grade de cidades) */
.dbm-onde { display:block; }
.dbm-onde__mapwrap { margin-bottom:1.5rem; }
.dbm-onde__map { position:relative; z-index:0; height:500px; border-radius:16px; overflow:hidden; background:#e8edf5; box-shadow:0 14px 34px rgba(11,33,57,.12); }
.dbm-onde--solo .dbm-onde__map { height:420px; }
.dbm-onde__legend { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; list-style:none; margin:.9rem 0 0; padding:0; }
.dbm-onde__legend-item { display:flex; align-items:center; gap:.45rem; font-size:.82rem; font-weight:700; color:#33415a; }
.dbm-onde__legend-dot { width:12px; height:12px; border-radius:50%; flex:none; border:2px solid #fff; box-shadow:0 0 0 1px rgba(11,33,57,.15); }
.dbm-onde__panel { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:.9rem; align-items:start; }
.dbm-onde__city { border:1px solid #e7e1d8; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 6px 18px rgba(11,33,57,.05); }
.dbm-onde__city-head { box-sizing:border-box; width:100%; display:flex; align-items:center; gap:.6rem; margin:0; padding:.8rem 1rem; border:0; border-radius:0; background:#0A2E63 !important; color:#fff !important; font-weight:700; font-size:.92rem; text-align:left; cursor:pointer; transition:background .2s ease; }
.dbm-onde__city-head:hover, .dbm-onde__city-head[aria-expanded="true"] { background:#0B4DAD !important; }
.dbm-onde__city-name { flex:1 1 auto; min-width:0; color:#fff !important; }
.dbm-onde__city-count { flex:0 0 auto; min-width:24px; height:24px; padding:0 .4rem; border-radius:999px; background:rgba(255,255,255,.22); color:#fff !important; font-size:.74rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center; }
.dbm-onde__city-body { padding:.5rem .6rem .6rem; }
.dbm-onde__places { list-style:none; margin:0; padding:0; }
.dbm-onde__place { width:100%; display:flex; align-items:flex-start; gap:.55rem; text-align:left; border:0; background:none; padding:.45rem .5rem; border-radius:9px; cursor:pointer; color:#16233c; transition:background .15s ease; }
.dbm-onde__place:hover { background:#f1ece4; }
.dbm-onde__place-dot { flex:none; width:11px; height:11px; margin-top:.35rem; border-radius:50%; background:var(--dot,#0B4DAD); }
.dbm-onde__place small { display:block; font-size:.7rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:#8a94a6; margin-top:.1rem; }
.dbm-onde__place > span:last-child { font-size:.9rem; font-weight:600; line-height:1.3; }
.dbm-onde-pin { background:none; border:0; }
.dbm-onde-pop { min-width:180px; }
.dbm-onde-pop__badge { display:inline-block; color:#fff; font-size:.64rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:.2rem .6rem; border-radius:999px; }
.dbm-onde-pop__title { display:block; margin:.5rem 0 .15rem; font-size:.96rem; color:#16233c; line-height:1.3; }
.dbm-onde-pop__city { display:block; font-size:.82rem; color:#5b6779; }
.dbm-onde-pop__link { display:inline-block; margin-top:.5rem; font-weight:700; color:#0B4DAD; }
.leaflet-popup-content { margin:.9rem 1.1rem; font-family:inherit; }
.dbm-preswrap .dbm-more { display:flex; gap:.7rem; justify-content:center; margin-top:1.8rem; }
@media (max-width:900px){
	.dbm-onde__map { height:400px; }
}

/* hub: espacamento do MVV */
.dbm-hubwrap .dbm-mvv3 { padding:0; }
.dbm-hubwrap .dbm-mvv3 + section { margin-top:2.8rem; }

@media (max-width:860px){
	.dbm-teamsgrid { grid-template-columns:1fr; }
}

/* ---- Hub Inspetoria (fase 3: espelho da home do ar) ---- */
.dbm-phero--slim { padding:1.9rem 0 1.7rem; }
.dbm-hubpage .dbm-banner { margin-bottom:0; }
.dbm-ainsp { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.dbm-ainsp__card { display:block; border-radius:18px; overflow:hidden; box-shadow:0 12px 30px rgba(18,41,74,.10); transition:transform .25s ease, box-shadow .25s ease; }
.dbm-ainsp__card img { display:block; width:100%; height:auto; transition:transform .5s ease; }
.dbm-ainsp__card:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(18,41,74,.18); }
.dbm-ainsp__card:hover img { transform:scale(1.04); }
.dbm-hubblog { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.dbm-hubcta__band { display:flex; align-items:center; justify-content:space-between; gap:1.4rem; flex-wrap:wrap; background:linear-gradient(130deg,#0A2E63,#0B4DAD); border-radius:20px; padding:1.9rem 2.2rem; color:#fff; }
.dbm-hubcta__txt b { display:block; font-size:1.15rem; font-weight:800; color:#fff !important; }
.dbm-hubcta__txt span { display:block; margin-top:.25rem; color:rgba(255,255,255,.82) !important; font-size:.92rem; }
.dbm-hubcta__btns { display:flex; gap:.7rem; flex-wrap:wrap; }
.dbm-btn--light { background:#fff !important; color:#0B4DAD !important; }
.dbm-btn--light:hover { background:#E23A2E !important; color:#fff !important; }
.dbm-btn--outline { background:transparent !important; color:#fff !important; border:2px solid rgba(255,255,255,.5) !important; }
.dbm-btn--outline:hover { border-color:#fff !important; background:rgba(255,255,255,.1) !important; }
@media (max-width:860px){
	.dbm-ainsp { grid-template-columns:1fr; }
	.dbm-hubblog { grid-template-columns:1fr; }
	.dbm-hubcta__band { padding:1.5rem 1.4rem; }
}

/* ---- Hub Obras Sociais: cards das 5 obras ---- */
.dbm-obras { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; margin-top:1.6rem; }
.dbm-obra { display:flex; flex-direction:column; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 12px 30px rgba(18,41,74,.08); transition:transform .25s ease, box-shadow .25s ease; }
.dbm-obra:hover { transform:translateY(-5px); box-shadow:0 22px 46px rgba(18,41,74,.15); }
.dbm-obra__img { display:block; height:130px; background:#e8edf5 center/cover no-repeat; transition:transform .5s ease; }
.dbm-obra:hover .dbm-obra__img { transform:scale(1.05); }
.dbm-obra__body { display:block; padding:.85rem .95rem 1rem; }
.dbm-obra__nome { display:block; font-weight:700; color:#16233c; font-size:.82rem; line-height:1.3; }
.dbm-obra:hover .dbm-obra__nome { color:#dd3333; }
.dbm-obra__cidade { display:block; margin-top:.3rem; font-size:.72rem; font-weight:700; color:#8a94a6; text-transform:uppercase; letter-spacing:.05em; }
@media (max-width:1080px){ .dbm-obras { grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px){ .dbm-obras { grid-template-columns:repeat(2,1fr); } }

/* ---- Vocacional: santidade salesiana ---- */
.dbm-santos { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
.dbm-santo { display:flex; flex-direction:column; align-items:center; text-align:center; gap:.6rem; padding:1.1rem .8rem; background:#fff; border-radius:16px; box-shadow:0 10px 26px rgba(18,41,74,.07); transition:transform .22s ease, box-shadow .22s ease; }
.dbm-santo:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(18,41,74,.14); }
.dbm-santo__foto { width:96px; height:96px; border-radius:50%; background:#e8edf5 center/cover no-repeat; background-position:center 20%; border:3px solid #0ba3e0; }
.dbm-santo__nome { font-weight:700; color:#16233c; font-size:.86rem; line-height:1.3; }
.dbm-santo:hover .dbm-santo__nome { color:#0ba3e0; }

.dbm-santoswrap { padding:0 0 3.2rem; }
.dbm-santosgrid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.3rem; }
.dbm-santocard { display:flex; gap:1.1rem; background:#fff; border:1px solid rgba(11,33,57,.08); border-radius:18px; padding:1.2rem 1.3rem; box-shadow:0 12px 30px rgba(18,41,74,.07); transition:transform .22s ease, box-shadow .22s ease; }
.dbm-santocard:hover { transform:translateY(-3px); box-shadow:0 20px 44px rgba(18,41,74,.13); }
.dbm-santocard__foto { flex:0 0 auto; width:110px; height:110px; border-radius:50%; background:#e8edf5 center/cover no-repeat; background-position:center 20%; border:3px solid #0ba3e0; }
.dbm-santocard__nome { margin:0 0 .45rem; font-size:1.05rem; font-weight:800; color:#0A2E63; }
.dbm-santocard__bio { margin:0 0 .55rem; font-size:.88rem; line-height:1.6; color:#5b6779; }
.dbm-santocard__mais { font-weight:700; font-size:.84rem; color:#0ba3e0; }
.dbm-santocard__mais:hover { color:#E23A2E; }
@media (max-width:1080px){ .dbm-santos { grid-template-columns:repeat(3,1fr); } }
@media (max-width:860px){ .dbm-santosgrid { grid-template-columns:1fr; } }
@media (max-width:640px){ .dbm-santos { grid-template-columns:repeat(2,1fr); } .dbm-santocard { flex-direction:column; align-items:center; text-align:center; } }

/* ---- Hub Ensino: cards das escolas com foto ---- */
.dbm-escolas { display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; margin-top:1.6rem; }
.dbm-escola { display:flex; flex-direction:column; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 12px 30px rgba(18,41,74,.09); transition:transform .25s ease, box-shadow .25s ease; }
.dbm-escola:hover { transform:translateY(-5px); box-shadow:0 24px 50px rgba(18,41,74,.16); }
.dbm-escola__img { position:relative; display:block; height:158px; background:#e8edf5 center/cover no-repeat; }
.dbm-escola__img::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(6,14,29,.5), transparent 55%); }
.dbm-escola__city { position:absolute; z-index:1; left:12px; bottom:12px; display:inline-flex; align-items:center; gap:.35rem; background:rgba(255,255,255,.95); color:#1e73be; font-size:.72rem; font-weight:800; padding:.28rem .7rem; border-radius:999px; }
.dbm-escola__city svg { width:12px; height:12px; }
.dbm-escola__body { display:flex; flex-direction:column; gap:.45rem; padding:1rem 1.15rem 1.2rem; }
.dbm-escola__nome { font-weight:800; color:#16233c; font-size:.95rem; line-height:1.3; }
.dbm-escola:hover .dbm-escola__nome { color:#1e73be; }
.dbm-escola__more { display:inline-flex; align-items:center; gap:.35rem; font-weight:700; font-size:.82rem; color:#1e73be; }
.dbm-escola__more svg { width:13px; height:13px; }
@media (max-width:1080px){ .dbm-escolas { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .dbm-escolas { grid-template-columns:1fr; } }

/* ---- Hub Paroquias: carrossel com destaque ---- */
.dbm-parcar { margin-top:1.7rem; }
.dbm-parcar__stage { display:flex; align-items:center; gap:1rem; }
.dbm-parcar__viewport { flex:1 1 auto; min-width:0; overflow:hidden; border-radius:22px; }
.dbm-parcar__track { display:flex; transition:transform .5s cubic-bezier(.4,0,.2,1); }
.dbm-parcar__slide { flex:0 0 100%; min-width:100%; display:grid; grid-template-columns:1.15fr 1fr; background:#fff; box-shadow:0 20px 50px rgba(11,33,57,.12); }
.dbm-parcar__photo { display:block; min-height:360px; background:#e8edf5 center/cover no-repeat; cursor:pointer; }
.dbm-parcar__info { display:flex; flex-direction:column; justify-content:center; gap:.7rem; padding:2.2rem 2.5rem; }
.dbm-parcar__city { display:inline-flex; align-items:center; gap:.35rem; align-self:flex-start; background:rgba(11,33,57,.07); color:var(--pc,#53468a); font-size:.74rem; font-weight:800; padding:.28rem .8rem; border-radius:999px; }
.dbm-parcar__city svg { width:13px; height:13px; }
.dbm-parcar__nome { font-size:clamp(1.35rem,2.2vw,1.7rem); font-weight:800; color:#16233c; line-height:1.24; margin:0; }
.dbm-parcar__row { display:flex; align-items:flex-start; gap:.5rem; margin:0; font-size:.92rem; color:#5b6779; line-height:1.5; }
.dbm-parcar__row svg { flex:0 0 auto; width:14px; height:14px; margin-top:.25rem; color:var(--pc,#53468a); }
.dbm-parcar__info .dbm-btn { align-self:flex-start; margin-top:.55rem; }
.dbm-parcar__nav { flex:0 0 auto; width:50px; height:50px; border:0; border-radius:50%; background:#fff; color:var(--pc,#53468a); box-shadow:0 10px 26px rgba(11,33,57,.16); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:background .2s ease, color .2s ease, transform .2s ease; }
.dbm-parcar__nav:hover { background:var(--pc,#53468a); color:#fff; transform:scale(1.06); }
.dbm-parcar__nav svg { width:22px; height:22px; }
.dbm-parcar__thumbs { display:flex; gap:.6rem; justify-content:center; overflow-x:auto; padding:1.1rem .2rem .2rem; scrollbar-width:thin; }
.dbm-parcar__thumbs::-webkit-scrollbar { height:6px; }
.dbm-parcar__thumbs::-webkit-scrollbar-thumb { background:rgba(11,33,57,.2); border-radius:3px; }
.dbm-parcar__thumb { flex:0 0 auto; width:78px; height:56px; border:2px solid transparent; border-radius:11px; background:#e8edf5 center/cover no-repeat; cursor:pointer; opacity:.55; transition:opacity .2s ease, border-color .2s ease, transform .2s ease; }
.dbm-parcar__thumb:hover { opacity:.85; }
.dbm-parcar__thumb.is-active { opacity:1; border-color:var(--pc,#53468a); transform:translateY(-2px); }
@media (max-width:820px){
	.dbm-parcar__slide { grid-template-columns:1fr; }
	.dbm-parcar__photo { min-height:210px; }
	.dbm-parcar__info { padding:1.6rem 1.5rem; }
	.dbm-parcar__nav { width:40px; height:40px; }
	.dbm-parcar__nav svg { width:18px; height:18px; }
}

/* ---- Modal de paróquia ---- */
.dbm-pmodal { display:none; position:fixed; inset:0; z-index:100000; align-items:center; justify-content:center; padding:1.5rem; }
.dbm-pmodal:not([hidden]) { display:flex; }
.dbm-pmodal__overlay { position:absolute; inset:0; background:rgba(6,14,29,.72); cursor:pointer; }
.dbm-pmodal__box { position:relative; z-index:1; width:min(880px,100%); max-height:90vh; overflow:auto; background:#fff; border-radius:22px; box-shadow:0 40px 90px rgba(0,0,0,.5); display:grid; grid-template-columns:1.05fr 1fr; animation:dbm-pmodal-in .3s ease; }
@keyframes dbm-pmodal-in { from { opacity:0; transform:translateY(14px) scale(.985); } to { opacity:1; transform:none; } }
.dbm-pmodal__photo { min-height:340px; background:#e8edf5 center/cover no-repeat; }
.dbm-pmodal__body { padding:2.3rem 2.4rem; }
.dbm-pmodal__close { position:absolute; top:14px; right:14px; z-index:2; width:42px; height:42px; border:0; border-radius:50%; background:rgba(255,255,255,.92); color:#0A2E63; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(0,0,0,.22); transition:background .2s ease, color .2s ease; }
.dbm-pmodal__close:hover { background:#E23A2E; color:#fff; }
.dbm-pmodal__close svg { width:20px; height:20px; }
.dbm-pmodal__city { display:inline-flex; align-items:center; gap:.35rem; background:rgba(11,33,57,.07); color:var(--pc,#53468a); font-size:.74rem; font-weight:800; padding:.28rem .8rem; border-radius:999px; margin-bottom:.8rem; }
.dbm-pmodal__body h2 { margin:0 0 1.4rem; font-size:1.45rem; font-weight:800; color:#16233c; line-height:1.24; }
.dbm-pmodal__row { display:flex; gap:.85rem; align-items:flex-start; margin-bottom:1.1rem; font-size:.94rem; color:#33415a; line-height:1.55; }
.dbm-pmodal__row svg { flex:0 0 auto; width:20px; height:20px; margin-top:.15rem; color:var(--pc,#53468a); }
.dbm-pmodal__row b { display:block; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#8a94a6; margin-bottom:.15rem; }
.dbm-pmodal__row a { color:var(--pc,#53468a); font-weight:600; }
.dbm-pmodal__row a:hover { color:#E23A2E; }
.dbm-pmodal .dbm-btn { margin-top:.7rem; }
@media (max-width:720px){
	.dbm-pmodal { padding:.8rem; }
	.dbm-pmodal__box { grid-template-columns:1fr; }
	.dbm-pmodal__photo { min-height:190px; }
	.dbm-pmodal__body { padding:1.7rem 1.5rem; }
}

/* ---- Detalhe da paróquia ---- */
.dbm-parishhero { position:relative; overflow:hidden; padding:3.2rem 0 2.8rem; color:#fff; background:#0A2E63; }
.dbm-parishhero::before { content:""; position:absolute; inset:0; background:var(--bg) center/cover no-repeat; opacity:.32; }
.dbm-parishhero::after { content:""; position:absolute; inset:0; background:linear-gradient(120deg, rgba(10,46,99,.92), rgba(83,70,138,.78)); }
.dbm-parishhero .container { position:relative; z-index:1; }
.dbm-parishhero .dbm-phero__bc { color:rgba(255,255,255,.7); }
.dbm-parishhero .dbm-phero__bc a { color:rgba(255,255,255,.82); }
.dbm-parishhero .dbm-phero__bc a:hover { color:#fff; }
.dbm-parishhero .dbm-phero__bc b { color:#fff; }
.dbm-parishhero__city { display:inline-flex; align-items:center; gap:.4rem; margin:.7rem 0 .3rem; padding:.32rem .85rem; background:rgba(255,255,255,.16); border-radius:999px; font-size:.8rem; font-weight:700; }
.dbm-parishhero__city svg { width:14px; height:14px; }
.dbm-parishhero h1 { margin:.3rem 0 0; font-size:clamp(1.7rem,3.4vw,2.5rem); font-weight:900; color:#fff; }

.dbm-parishwrap { padding:2.4rem 0 3.4rem; }
.dbm-parishcard { display:grid; grid-template-columns:1.1fr 1fr; gap:0; background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 20px 50px rgba(11,33,57,.12); }
.dbm-parishcard__photo { min-height:360px; background:#e8edf5 center/cover no-repeat; }
.dbm-parishcard__info { padding:2.2rem 2.4rem; }
.dbm-parishcard__info h2 { margin:0 0 1.4rem; font-size:1.3rem; font-weight:800; color:#0A2E63; }
.dbm-parishcard__row { display:flex; gap:.9rem; margin-bottom:1.15rem; }
.dbm-parishcard__ic { flex:0 0 auto; width:40px; height:40px; border-radius:11px; background:rgba(83,70,138,.1); color:#53468a; display:flex; align-items:center; justify-content:center; }
.dbm-parishcard__ic svg { width:19px; height:19px; }
.dbm-parishcard__row > span:last-child { font-size:.94rem; color:#33415a; line-height:1.55; }
.dbm-parishcard__row b { display:block; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#8a94a6; margin-bottom:.15rem; }
.dbm-parishcard__row a { color:#53468a; font-weight:600; }
.dbm-parishcard__row a:hover { color:#E23A2E; }
.dbm-parishcard__btns { display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1.6rem; }
@media (max-width:820px){
	.dbm-parishcard { grid-template-columns:1fr; }
	.dbm-parishcard__photo { min-height:220px; }
	.dbm-parishcard__info { padding:1.7rem 1.5rem; }
}

/* ---- Filtro de paróquias por estado (mapas brancos sobre faixa roxa) ---- */
.dbm-ufbar { display:flex; align-items:flex-end; justify-content:center; gap:1.4rem; flex-wrap:wrap; background:var(--pc,#53468a); border-radius:18px; padding:1.3rem 1.6rem; margin-top:1.6rem; }
.dbm-uf { display:flex; flex-direction:column; align-items:center; gap:.5rem; background:none; border:0; cursor:pointer; padding:.35rem .55rem; border-radius:12px; transition:background .2s ease; }
.dbm-uf:hover { background:rgba(255,255,255,.08); }
.dbm-uf.is-active { background:rgba(255,255,255,.12); }
.dbm-uf__map { display:flex; align-items:flex-end; justify-content:center; height:60px; }
.dbm-uf__map img { height:54px; width:auto; display:block; opacity:.42; transition:opacity .22s ease, transform .22s ease; }
.dbm-uf:first-child .dbm-uf__map img { height:60px; }
.dbm-uf:hover .dbm-uf__map img { opacity:.8; }
.dbm-uf.is-active .dbm-uf__map img { opacity:1; transform:translateY(-2px); }
.dbm-uf__lbl { font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.dbm-uf:hover .dbm-uf__lbl { color:rgba(255,255,255,.85); }
.dbm-uf.is-active .dbm-uf__lbl { color:#fff; }
.dbm-parcar__stage.is-solo .dbm-parcar__nav { display:none; }
@media (max-width:560px){
	.dbm-ufbar { gap:.7rem; padding:1rem; }
	.dbm-uf__map { height:48px; }
	.dbm-uf__map img { height:42px; }
	.dbm-uf:first-child .dbm-uf__map img { height:48px; }
}
