.bp-pastoral-hero { position:relative; overflow:hidden; padding-block:clamp(78px,10vw,138px); color:#fff; background:radial-gradient(circle at 82% 18%,rgba(243,201,87,.15),transparent 26%),linear-gradient(125deg,#030a36 0%,#07145d 68%,#102673 100%); }
.bp-pastoral-hero::after { content:""; position:absolute; width:440px; height:440px; right:-220px; bottom:-300px; border:1px solid rgba(243,201,87,.32); border-radius:50%; box-shadow:0 0 0 64px rgba(243,201,87,.04),0 0 0 128px rgba(243,201,87,.025); }
.bp-pastoral-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); align-items:end; gap:clamp(48px,8vw,120px); }
.bp-pastoral-hero h1,.bp-pastoral-inner-hero h1 { margin:8px 0 22px; color:var(--bp-gold-bright)!important; font-family:"Playfair Display",Georgia,serif; font-size:clamp(58px,8vw,104px); line-height:.96; letter-spacing:-.045em; }
.bp-pastoral-hero__lead { max-width:720px; margin:0; color:rgba(255,255,255,.82); font-size:clamp(18px,2vw,23px); line-height:1.6; }
.bp-pastoral-hero aside { display:grid; gap:12px; padding:30px; border:1px solid rgba(243,201,87,.36); border-radius:14px; background:rgba(255,255,255,.07); backdrop-filter:blur(10px); }
.bp-pastoral-hero aside span,.bp-pastoral-help span { color:var(--bp-gold-bright); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.bp-pastoral-hero aside strong { font-family:"Playfair Display",Georgia,serif; font-size:24px; line-height:1.25; }
.bp-pastoral-hero aside .bp-button { margin-top:8px; text-align:center; }
.bp-pastoral-jump,.bp-pastoral-local { position:relative; z-index:3; border-bottom:1px solid var(--bp-line); background:#fff; box-shadow:0 12px 30px rgba(3,10,54,.05); }
.bp-pastoral-jump .bp-shell,.bp-pastoral-local .bp-shell { display:flex; align-items:center; gap:8px; min-height:70px; flex-wrap:wrap; padding-block:10px; scrollbar-width:none; }
.bp-pastoral-jump .bp-shell::-webkit-scrollbar,.bp-pastoral-local .bp-shell::-webkit-scrollbar { display:none; }
.bp-pastoral-jump a,.bp-pastoral-local a { flex:0 0 auto; padding:9px 14px; border-radius:999px; color:var(--bp-muted); font-size:14px; font-weight:600; white-space:nowrap; }
.bp-pastoral-jump a:hover,.bp-pastoral-local a:hover,.bp-pastoral-local a[aria-current="page"] { background:var(--bp-blue-soft); color:var(--bp-navy); }
.bp-pastoral-directory { padding-block:clamp(72px,9vw,124px); background:var(--bp-paper); }
.bp-pastoral-directory header { max-width:760px; margin-bottom:50px; }
.bp-pastoral-directory h2 { margin:8px 0 14px; color:var(--bp-navy); font-family:"Playfair Display",Georgia,serif; font-size:clamp(40px,5vw,64px); line-height:1.04; }
.bp-pastoral-directory header>p:last-child { color:var(--bp-muted); font-size:18px; }
.bp-pastoral-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.bp-pastoral-card { position:relative; min-height:250px; display:flex; flex-direction:column; padding:30px; overflow:hidden; border:1px solid var(--bp-line); border-radius:12px; background:#fff; color:var(--bp-ink); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.bp-pastoral-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--bp-gold); transform:scaleY(0); transform-origin:bottom; transition:transform .2s ease; }
.bp-pastoral-card:hover,.bp-pastoral-card:focus-visible { transform:translateY(-4px); border-color:rgba(189,141,34,.5); box-shadow:0 18px 42px rgba(3,10,54,.09); }
.bp-pastoral-card:hover::before,.bp-pastoral-card:focus-visible::before { transform:scaleY(1); }
.bp-pastoral-card span { color:#a46e00; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.bp-pastoral-card h3 { margin:18px 0 10px; color:var(--bp-navy); font-family:"Playfair Display",Georgia,serif; font-size:27px; line-height:1.12; }
.bp-pastoral-card p { margin:0; color:var(--bp-muted); line-height:1.65; }
.bp-pastoral-card b { margin-top:auto; padding-top:22px; color:var(--bp-navy); font-size:22px; }
.bp-pastoral-inner-hero { padding-block:72px 78px; background:radial-gradient(circle at 82% 20%,rgba(243,201,87,.12),transparent 24%),linear-gradient(125deg,#030a36,#07145d); color:#fff; }
.bp-pastoral-inner-hero h1 { max-width:900px; font-size:clamp(46px,6vw,76px); }
.bp-pastoral-inner-hero>.bp-shell>p:last-child { max-width:720px; margin:0; color:rgba(255,255,255,.78); font-size:19px; line-height:1.65; }
.bp-breadcrumb { display:flex; gap:9px; margin-bottom:38px; color:rgba(255,255,255,.65); font-size:13px; }
.bp-breadcrumb a { color:inherit; }
.bp-breadcrumb a:hover { color:var(--bp-gold-bright); }
.bp-pastoral-content { padding-block:clamp(58px,8vw,104px); background:var(--bp-paper); }
.bp-pastoral-content__grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:clamp(42px,7vw,94px); }
.bp-pastoral-legacy { min-width:0; color:var(--bp-ink); }
.bp-pastoral-legacy>.wp-block-uagb-container:first-child,.bp-pastoral-legacy>.uagb-is-root-container:first-child { margin-top:0!important; }
.bp-pastoral-legacy .nav-paginas { display:none!important; }
.bp-pastoral-legacy :is(h2,h3,h4) { color:var(--bp-navy)!important; font-family:"Playfair Display",Georgia,serif!important; line-height:1.18; }
.bp-pastoral-legacy h2 { font-size:clamp(32px,4vw,48px)!important; }
.bp-pastoral-legacy h3 { font-size:clamp(25px,3vw,34px)!important; }
.bp-pastoral-legacy :is(p,li) { color:var(--bp-ink); font-family:Inter,system-ui,sans-serif; font-size:17px; line-height:1.75; }
.bp-pastoral-legacy a:not(.wpforms-submit,.bp-button) { color:var(--bp-navy); text-decoration-color:var(--bp-gold); text-underline-offset:3px; }
.bp-pastoral-legacy img { max-width:100%; height:auto; border-radius:12px; }
.bp-pastoral-legacy .wpforms-container { padding:clamp(22px,4vw,42px); border:1px solid var(--bp-line); border-top:3px solid var(--bp-gold); border-radius:12px; background:#fff; }
.bp-pastoral-legacy .wpforms-field-label { color:var(--bp-navy)!important; }
.bp-pastoral-legacy :is(input,select,textarea) { max-width:100%; }
.bp-pastoral-help { position:sticky; top:100px; display:grid; gap:12px; padding:28px; border-top:3px solid var(--bp-gold); border-radius:0 0 12px 12px; background:var(--bp-navy); color:#fff; }
.bp-pastoral-help strong { font-family:"Playfair Display",Georgia,serif; font-size:24px; line-height:1.25; }
.bp-pastoral-help p { margin:0; color:rgba(255,255,255,.72); line-height:1.6; }
.bp-pastoral-help a { margin-top:5px; color:var(--bp-gold-bright); font-weight:700; }
.bp-pastoral-empty { padding:clamp(32px,6vw,64px); border:1px solid var(--bp-line); border-radius:12px; background:#fff; }
.bp-pastoral-empty h2 { margin:8px 0 16px; }
.bp-mass-page { padding-block:clamp(64px,9vw,118px); }
.bp-mass-page__intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.75fr); gap:clamp(30px,7vw,100px); align-items:end; max-width:1080px; margin-bottom:44px; }
.bp-mass-page__intro h2,.bp-mass-note h2 { margin:8px 0 0; color:var(--bp-navy); font-family:"Playfair Display",Georgia,serif; font-size:clamp(38px,4.6vw,60px); line-height:1.04; }
.bp-mass-page__intro>p { margin:0; color:var(--bp-muted); font-size:18px; line-height:1.72; }
.bp-mass-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--bp-line); border-left:1px solid var(--bp-line); }
.bp-mass-card { min-height:218px; display:flex; flex-direction:column; padding:26px; border-right:1px solid var(--bp-line); border-bottom:1px solid var(--bp-line); background:#fff; }
.bp-mass-card p { margin:0 0 22px; color:#a46e00; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.bp-mass-card strong { color:var(--bp-navy); font-family:"Playfair Display",Georgia,serif; font-size:clamp(31px,3.2vw,45px); line-height:1.04; }
.bp-mass-card span { margin-top:auto; color:var(--bp-muted); font-size:15px; line-height:1.5; }
.bp-mass-note { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-top:26px; padding:clamp(28px,5vw,52px); border-top:3px solid var(--bp-gold); background:#fff; }
.bp-mass-note h2 { font-size:clamp(30px,3.8vw,45px); }
.bp-mass-note p:not(.bp-kicker) { max-width:680px; margin:16px 0 0; color:var(--bp-muted); line-height:1.65; }
.bp-mass-note .bp-button { flex:0 0 auto; white-space:nowrap; }
@media(max-width:960px){.bp-pastoral-hero__grid,.bp-pastoral-content__grid,.bp-mass-page__intro{grid-template-columns:1fr}.bp-pastoral-hero aside{max-width:560px}.bp-pastoral-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-pastoral-help{position:static}.bp-mass-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.bp-pastoral-hero{padding-block:70px}.bp-pastoral-hero h1{font-size:58px}.bp-pastoral-hero aside{padding:24px}.bp-pastoral-jump .bp-shell,.bp-pastoral-local .bp-shell{width:100%;padding-inline:16px}.bp-pastoral-card-grid,.bp-mass-grid{grid-template-columns:1fr}.bp-pastoral-card{min-height:220px}.bp-pastoral-inner-hero{padding-block:48px 56px}.bp-breadcrumb{margin-bottom:28px}.bp-pastoral-inner-hero h1{font-size:44px}.bp-pastoral-content{padding-block:52px}.bp-pastoral-legacy .wpforms-container{padding:20px 16px}.bp-pastoral-help{padding:24px}.bp-mass-card{min-height:180px}.bp-mass-note{display:grid;align-items:start}.bp-mass-note .bp-button{text-align:center}}
@media(prefers-reduced-motion:reduce){.bp-pastoral-card,.bp-pastoral-card::before{transition:none}}


/* Casamentos: jornada objetiva, sem bloco de conteúdo solto. */
.bp-marriage{padding:clamp(64px,9vw,120px) 0;background:var(--bp-paper)}
.bp-marriage__intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.62fr);gap:clamp(40px,8vw,110px);align-items:start}
.bp-marriage h2{margin:8px 0 18px;color:var(--bp-navy);font-family:"Playfair Display",Georgia,serif;font-size:clamp(38px,4.5vw,62px);line-height:1.05;letter-spacing:-.035em}
.bp-marriage__intro>div>p:last-child{max-width:700px;margin:0;color:var(--bp-muted);font-size:18px;line-height:1.72}
.bp-marriage__intro aside{display:grid;gap:14px;padding:30px;border-top:3px solid var(--bp-gold);border-radius:0 0 12px 12px;background:var(--bp-navy);color:#fff}
.bp-marriage__intro aside span{color:var(--bp-gold-bright);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.bp-marriage__intro aside strong{font-family:"Playfair Display",Georgia,serif;font-size:25px;line-height:1.22}
.bp-marriage__intro aside p{margin:0;color:rgba(255,255,255,.76);line-height:1.6}
.bp-marriage__intro aside .bp-button{margin-top:4px;text-align:center}
.bp-marriage__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:64px;border-top:1px solid var(--bp-line);border-left:1px solid var(--bp-line)}
.bp-marriage__steps article{min-height:250px;padding:30px;border-right:1px solid var(--bp-line);border-bottom:1px solid var(--bp-line);background:#fff}
.bp-marriage__steps b{color:var(--bp-gold);font-size:12px;letter-spacing:.15em}
.bp-marriage__steps h3{margin:20px 0 12px;color:var(--bp-navy);font-family:"Playfair Display",Georgia,serif;font-size:29px;line-height:1.1}
.bp-marriage__steps p,.bp-marriage__note>p{margin:0;color:var(--bp-muted);line-height:1.7}
.bp-marriage__note{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,.7fr);gap:64px;align-items:end;margin-top:26px;padding:38px 42px;border-left:3px solid var(--bp-gold);background:rgba(7,20,93,.055)}
.bp-marriage__note h2{font-size:clamp(30px,3.5vw,44px)}
@media(max-width:960px){.bp-marriage__intro,.bp-marriage__note{grid-template-columns:1fr}.bp-marriage__steps{grid-template-columns:1fr}.bp-marriage__steps article{min-height:auto}.bp-marriage__note{gap:18px}}
@media(max-width:640px){.bp-marriage{padding-block:52px}.bp-marriage__intro aside,.bp-marriage__steps article{padding:24px}.bp-marriage__note{padding:28px 24px}.bp-marriage__steps{margin-top:42px}}


/* Cabeçalho compacto nas internas: substitui os antigos heroes. */
.bp-pastoral-context{padding:34px 0 30px;border-bottom:1px solid var(--bp-line);background:var(--bp-paper)}
.bp-pastoral-context .bp-context-crumb{display:flex;gap:8px;margin:0 0 22px;color:var(--bp-muted);font-size:13px}.bp-pastoral-context .bp-context-crumb a{color:inherit}.bp-pastoral-context .bp-context-crumb a:hover{color:var(--bp-navy)}
.bp-pastoral-context h1{margin:8px 0 9px;color:var(--bp-navy)!important;font-family:"Playfair Display",Georgia,serif;font-size:clamp(35px,4vw,54px);line-height:1.05;letter-spacing:-.035em}
.bp-pastoral-context>.bp-shell>p:last-child{max-width:700px;margin:0;color:var(--bp-muted);font-size:17px;line-height:1.6}
@media(max-width:640px){.bp-pastoral-context{padding:28px 0 24px}.bp-pastoral-context h1{font-size:38px}.bp-pastoral-context .bp-context-crumb{margin-bottom:18px}}
