/*
Theme Name: Igreja em Porto Alegre
Theme URI: https://www.igrejaemportoalegre.com.br/
Author: Devanir Reolon
Author URI: https://www.igrejaemportoalegre.com.br/
Description: Tema institucional personalizado para a Igreja em Porto Alegre.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: iepoa
*/

:root{
    --font:'Figtree',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --ink:#344a54;
    --ink2:#588680;
    --dark:#0c0c0c;
    --soft:#f5f5f3;
    --max:1200px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:var(--font);
    font-size:16px;
    line-height:1.45;
    color:#0c0c0c;
    background:var(--soft);
}

a{
    text-decoration:none;
    color:inherit;
}

img{
    display:block;
    max-width:100%;
}

.container{
    width:min(var(--max),calc(100% - 96px));
    margin-inline:auto;
}

.topbar{
    background:#fff;
    display:flex;
    align-items:center;
    position:relative;
    z-index:20;
    padding: 20px 0;
}

.nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.brand img, .custom-logo-link img{
    width:108px;
    height:auto;
}

.menu{
    display:flex;
    align-items:center;
    gap:42px;
    font-size:14px;
    font-weight:500;
    color:#111;
}

.login{
    border:1px solid #111;
    padding:10px 27px;
    font-size:13px;
    line-height:1;
    font-weight:800;
}

.hamb{
    display:none;
    border:0;
    background:transparent;
    font-size:30px;
}

.hero-slider{
    background:var(--soft);
}

.hero-stage{
    position:relative;
    overflow:hidden;
    background:#ddd;
}

.hero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity 900ms ease;
    pointer-events:none;
}

.hero-slide.active{
    position:relative;
    opacity:1;
    pointer-events:auto;
    z-index:2;
}

.hero-slide img{
    width:100%;
    height:auto;
}

.hero-slide picture,
.hero-slide a{
    display:block;
}

.hero-slide picture img{
    width:100%;
    height:auto;
    display:block;
}

.slider-dots{
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:#fff;
}

.slider-dots button{
    width:6px;
    height:6px;
    border-radius:50%;
    border:0;
    padding:0;
    background:#c7cbcd;
    cursor:pointer;
}

.slider-dots button.active{
    background:#344a54;
}

.section{
    padding:68px 0;
}

.section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:42px;
}

.section h2{
    margin:0;
    color:var(--ink);
    font-size:40px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.02em;
}

.link{
    font-size:16px;
    font-weight:800;
    color:var(--ink);
}

.dcec-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:72px;
    align-items:start;
}

.video-responsive{
    position:relative;
    width:100%;
    overflow:hidden;
    border-radius:6px;
}

.video-responsive iframe{
    width:100%;
    aspect-ratio:16/9;
    height:auto;
    border:0;
    display:block;
}

.date{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 22px;
    font-size:19px;
    font-weight:800;
}

.article h3{
    margin:0 0 12px;
    font-size:18px;
    font-weight:800;
}

.article p{
    margin:0 0 22px;
    color:#0c0c0c;
    font-size:16px;
    line-height:1.32;
    font-weight:500;
}
.article p.date{font-size: 24px;font-weight: 800}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--ink2);
    color:#fff;
    font-size:16px;
    font-weight:800;
    border: none;
    padding:10px 25px;
    border-radius:2px;
    transition:.2s ease;
}

.btn:hover{
    transform:translateY(-1px);
    filter:brightness(1.05);
}

.video{
    background:#111;
    overflow:hidden;
}

.video img{
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
}

.church-life{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,#415866 0%,#0b1116 100%);
    padding:72px 0 78px;
    color:#fff;
}

.church-life:after{
    content:'';
    position:absolute;
    inset:0;
    background:
        url('assets/_cruz_70perc.svg')
        right center/auto 100% no-repeat;
    opacity:.26;
    pointer-events:none;
}

.church-life .container{
    position:relative;
    z-index:2;
}

.church-life h2,
.church-life .link{
    color:#fff;
}

.church-life .section-head{
    margin-bottom:44px;
}

.life-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:26px;
}

.life-card{
    display:block;
    color:#fff;
    font-size:24px;
    font-weight:800;
    line-height:1.05;
}

.life-card .pic{
    border-radius:5px;
    overflow:hidden;
    margin-bottom:16px;
    aspect-ratio:1/1;
}

.life-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.sectors{
    background:var(--soft);
    padding:76px 0 0;
    overflow:hidden;
}

/*.sector-grid{
    display:grid;
    grid-template-columns:1.35fr .85fr;
    gap:80px;
    align-items:flex-end;
}*/

/*.map-img{
    width:100%;
    max-width:720px;
    margin-left:-78px;
    height:auto;
}
*/
.sector-text{
    max-width:430px;
    padding-bottom:80px;
}

.sector-text h3{
    font-size:24px;
    line-height:1.1;
    margin:0 0 20px;
    font-weight:800;
}

.sector-text p{
    font-size:16px;
    line-height:1.22;
    font-weight:500;
    margin:0;
}



/* =========================
   Footer
========================= */

.footer{
    background:#0C0C0C;
    color:#fff;
    padding:64px 0 34px;
}

.footer-logo{
    width:190px;
}

.footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:rgba(255,255,255,.58);
    font-size:14px;
    font-weight:600;
}

.footer-bottom a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#fff;
    font-weight:800;
}

.footer-bottom a i{
    font-size:16px;
}

.footer-top{
    display:grid;
    grid-template-columns:260px 1fr 220px;
    align-items:center;
    gap:40px;
}

.footer-top-verse{
    text-align:center;
}

.footer-top-verse p{
    margin:0;
    color:rgba(255,255,255,.85);
}

.footer-divider{
    height:1px;
    background:rgba(255,255,255,.10);
    margin:32px 0;
}

.footer-grid{
    display:grid;
    grid-template-columns:280px 420px 1fr;
}


.footer-box span,
.footer-nav span,
.footer-social-area span{
    display:block;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
    margin-bottom: 25px;font-size: 13px;color: #777
}

.footer-social{
    display:flex;
    gap:10px;
    justify-content: flex-end;
}

.footer-social a{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    color:#fff;
    font-size:20px;
}

.footer-nav-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px 40px;
}

.footer-nav-grid a{
    color:#fff;
    text-decoration:none;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.footer-bottom span{
    color:rgba(255,255,255,.65);
}

.footer-bottom span a{
    color:rgba(255,255,255,.8);
}

@media(max-width:991px){

    .footer-top{
        grid-template-columns:1fr;
        text-align:center;
        gap:28px;
    }

    .footer-top-logo{
        display:flex;
        justify-content:center;
    }

    .footer-logo{
        margin:0 auto;
    }

    .footer-social-area{
        justify-self:center;
        text-align:center;
    }

    .footer-social{
        justify-content:center;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .footer-box,
    .footer-nav{
        text-align:center;
    }

    .footer-box p{
        justify-content:center;
    }

    .footer-nav-grid{
        grid-template-columns:1fr;
        gap:14px;
        justify-items:center;
    }

    .footer-bottom{
        flex-direction:column;
        text-align:center;
        gap:14px;
    }
}

/* =========================
   Fim
========================= */


@media(max-width:960px){

    .container{
        width:min(100% - 60px,var(--max)) !important;
    }

    .topbar{
        height:76px;
    }



    .section{
        padding:52px 0;
    }

    .section h2{
        font-size:36px;
    }

    .dcec-grid,
    .sector-grid{
        grid-template-columns:1fr;
        gap:36px;
    }

    .map-img{
        margin-left:0;
        max-width:100%;
    }

    .life-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:24px;
    }

    .footer-menu{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:560px){

    .container{
        width:calc(100% - 60px);
    }

    .section-head{
        align-items:flex-start;
        flex-direction:column;
        margin-bottom:28px;
    }

    .link{
        font-size:14px;
    }

    .section h2{
        font-size:32px;
    }

    .date{
        font-size:16px;
    }

    .life-grid{
        grid-template-columns:1fr;
    }

    .life-card{
        font-size:22px;
    }

    .church-life:after{
        background-size:auto 80%;
        opacity:.18;
    }

    .sector-text p{
        font-size:15px;
    }

    .footer-top{
        align-items:flex-start;
        flex-direction:column;
        gap:20px;
    }

    .footer-menu{
        grid-template-columns:1fr;
    }

    .footer-logo{
        width:185px;
    }

}

/* =========================
   Animations
========================= */

.reveal{
    opacity:0;
    transform:translateY(28px);
    transition:
        opacity .8s ease,
        transform .8s ease;
    will-change:opacity,transform;
}

.reveal.show{
    opacity:1;
    transform:translateY(0);
}

.reveal-delay-1{
    transition-delay:.12s;
}

.reveal-delay-2{
    transition-delay:.22s;
}

.reveal-delay-3{
    transition-delay:.32s;
}

.life-card,
.btn,
.link,
.social a{
    transition:
        opacity .25s ease,
        transform .25s ease,
        filter .25s ease;
}

.life-card:hover{
    transform:translateY(-6px);
}

.btn:hover{
    transform:translateY(-2px);
    filter:brightness(1.05);
}

.link:hover,
.social a:hover{
    opacity:.75;
}

@media (prefers-reduced-motion: reduce){

    .reveal,
    .reveal.show,
    .life-card,
    .btn,
    .link,
    .social a{
        opacity:1;
        transform:none;
        transition:none;
        animation:none;
    }

}

/* =========================
   Page: Header
========================= */

.page-hero{
    padding:60px 0 50px;
    position:relative;
    overflow:hidden;

    background: linear-gradient(180deg, #415866 0%, #0b1116 100%);
    color:#fff;
}
.page-hero:before{
    content: '';
    position: absolute;
    inset: 0;
    background: url(https://sitepro.dev.br/iepoa/wp-content/themes/iepoa-theme/assets/_cruz_70perc.svg) center right / cover no-repeat;
    opacity: .08;
    pointer-events: none;
}
.page-hero .page-breadcrumb,
.page-hero .page-breadcrumb a{
    color:rgba(255,255,255,.72);
}

.page-hero .btn-outline-black{color: #fff;border-color: #fff}

.page-hero h1{
    margin:0 0 18px;
    color:#fff !important;
    font-size:56px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:-.01em;
}


.page-hero p{
    max-width:680px;
    font-size:18px;
    line-height:1.36;
    font-weight:500;
    color:rgba(255,255,255,.82) !important;
}
.page-hero .dcec-featured-card p{color: #1b2b34 !important}

.page-hero .yoast-breadcrumb{color: rgba(255,255,255,.72)}


/* =========================
   Page: Localização
========================= */

.page-hero .eyebrow{
    display:block;
    margin-bottom:16px;
    color:var(--ink);
    font-size:14px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
}



.location-section{
    padding-top:76px;
    padding-bottom:76px;
}

.location-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:44px;
    align-items:stretch;
}

.location-card{
    background:#fff;
    padding:44px;
    min-height:520px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.location-kicker{
    display:block;
    margin-bottom:18px;
    color:var(--ink);
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.location-card h2{
    margin:0 0 34px;
    color:var(--ink);
    font-size:40px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.location-item{
    display:flex;
    align-items:flex-start;
    gap:16px;
}

.location-item-icon{
    width:46px;
    height:46px;
    border-radius:14px;
    background:var(--soft);
    color:var(--ink);
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}

.location-item-icon i{
    font-size:22px;
    line-height:1;
}

.location-actions .btn,
.location-cta-box .btn,
.section-head .link{
    gap:8px;
}

.location-actions .btn i,
.location-cta-box .btn i,
.section-head .link i,
.place-detail strong i{
    font-size:17px;
    line-height:1;
}

.place-detail strong{
    display:inline-flex;
    align-items:center;
    gap:7px;
}


.location-info{
    display:grid;
    gap:24px;
}

.location-item strong{
    display:block;
    margin-bottom:8px;
    color:#111;
    font-size:16px;
    font-weight:900;
}

.location-item p{
    margin:0;
    font-size:16px;
    line-height:1.35;
    font-weight:500;
}

.location-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:36px;
}

.btn-outline{
    background:transparent;
    color:var(--ink);
    border:1px solid var(--ink);
}

.location-map{
    min-height:520px;
    background:#d9d9d9;
    overflow:hidden;
}

.location-map iframe{
    width:100%;
    height:100%;
    min-height:520px;
    border:0;
    display:block;
    filter:grayscale(100%);
}

.location-cta{
    padding:0 0 82px;
    background:var(--soft);
}

.location-cta-box{
    background:linear-gradient(180deg,#415866 0%,#0b1116 100%);
    padding:58px;
    color:#fff;
    position:relative;
    overflow:hidden;
}

.location-cta-box:after{
    content:'';
    position:absolute;
    inset:0;
    background:url('assets/bgcruz.png') right center/auto 120% no-repeat;
    opacity:.18;
    pointer-events:none;
}

.location-cta-box h2,
.location-cta-box p,
.location-cta-box .btn{
    position:relative;
    z-index:2;
}

.location-cta-box h2{
    margin:0 0 16px;
    font-size:40px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.location-cta-box p{
    max-width:560px;
    margin:0 0 26px;
    font-size:16px;
    line-height:1.35;
    font-weight:500;
}

@media(max-width:960px){

    .page-hero{
        padding:64px 0 54px;
    }

    .page-hero h1{
        font-size:44px;
    }

    .location-grid{
        grid-template-columns:1fr;
    }

    .location-card,
    .location-map,
    .location-map iframe{
        min-height:auto;
    }

    .location-map iframe{
        min-height:420px;
    }

    .location-cta-box{
        padding:42px;
    }

}

@media(max-width:560px){

    .page-hero h1{
        font-size:38px;
    }

    .page-hero p{
        font-size:16px;
    }

    .location-card{
        padding:28px;
    }

    .location-card h2,
    .location-cta-box h2{
        font-size:32px;
    }

    .location-actions{
        flex-direction:column;
    }

    .location-actions .btn{
        width:100%;
    }

    .location-map iframe{
        min-height:360px;
    }

    .location-cta-box{
        padding:32px 28px;
    }

}

/* =========================
   Location Places
========================= */

.location-places{
    padding-top:0;
    padding-bottom:76px;
}

.places-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.place-card{
    background:#fff;
    padding:34px;
    min-height:100%;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(52,74,84,.08);
}

.place-card-featured{
    background:#fdfdfb;
    border-color:rgba(52,74,84,.18);
}

.place-region{
    display:block;
    margin-bottom:12px;
    color:var(--ink);
    font-size:12px;
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.place-card h3{
    margin:0 0 18px;
    color:var(--ink);
    font-size:30px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.place-card p{
    margin:0 0 24px;
    font-size:16px;
    line-height:1.35;
    font-weight:500;
}

.place-detail{
    display:grid;
    gap:6px;
    padding-top:18px;
    margin-top:18px;
    border-top:1px solid rgba(52,74,84,.14);
}

.place-detail:first-of-type{
    margin-top:auto;
}

.place-detail strong{
    color:#111;
    font-size:15px;
    line-height:1.25;
    font-weight:900;
}

.place-detail span,
.place-detail a{
    color:#111;
    font-size:15px;
    line-height:1.3;
    font-weight:500;
}

.place-detail a{
    text-decoration:none;
}

.place-detail a:hover{
    color:var(--ink);
    text-decoration:underline;
}

@media(max-width:960px){

    .places-grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:560px){

    .location-places{
        padding-bottom:52px;
    }

    .place-card{
        padding:28px;
    }

    .place-card h3{
        font-size:26px;
    }

}

/* =========================
   Categoria: Músicas
========================= */


.cifras-toolbar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:34px;
}

.cifras-toolbar h2{
    margin:0;
    color:var(--ink);
    font-size:40px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.cifras-toolbar input{
    width:min(100%,360px);
    min-height:48px;
    border:1px solid rgba(52,74,84,.18);
    background:#fff;
    padding:0 16px;
    font-family:var(--font);
    font-size:15px;
    font-weight:600;
    outline:none;
}

.cifras-list{
    display:grid;
    gap:12px;
}

.cifra-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    background:#fff;
    border:1px solid rgba(52,74,84,.08);
    padding:22px 24px;
    transition:.22s ease;
}

.cifra-item:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 35px rgba(52,74,84,.08);
}

.cifra-main{
    display:flex;
    align-items:center;
    gap:16px;
}

.cifra-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,#f5f7f8 0%,#edf2f4 100%);
    color:var(--ink);
    flex:0 0 auto;
}

.cifra-icon svg{
    width:23px;
    height:23px;
}

.cifra-item h3{
    margin:0;
    color:#1b2b34;
    font-size:21px;
    line-height:1.15;
    font-weight:900;
}

.cifra-meta{
    color:#5f7683;
    font-size:13px;
    font-weight:800;
}

.cifra-actions{
    display:flex;
    gap:10px;
    flex:0 0 auto;
}

@media(max-width:760px){
    .cifras-toolbar,
    .cifra-item{
        align-items:stretch;
        flex-direction:column;
    }

    .cifras-toolbar input,
    .cifra-actions,
    .cifra-actions .btn{
        width:100%;
    }
}


/* =========================
   Page: Quem Somos
========================= */


.about-section{
    padding-top:78px;
    padding-bottom:86px;
}

.about-layout{
    display:grid;
    grid-template-columns:.85fr 1.35fr;
    gap:76px;
    align-items:start;
}

.about-aside{
    position:sticky;
    top:120px;
    display:block;
    background:transparent;
    padding:0;
    border:0;
}

.about-sticky-stack{
    display:grid;
    gap:18px;
}

.about-aside-card{
    background:#fff;
    padding:34px;
    border:1px solid rgba(52,74,84,.08);
}

.about-aside-card span{
    display:block;
    margin-bottom:16px;
    color:var(--ink);
    font-size:12px;
    line-height:1;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.about-aside-card h2{
    margin:0;
    color:var(--ink);
    font-size:30px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.01em;
}

.about-stack-card-cta .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.about-stack-card-cta .btn i{
    font-size:18px;
    line-height:1;
}

.about-aside-card-cta{
    background:linear-gradient(180deg,#415866 0%,#0b1116 100%);
    color:#fff;
}

.about-aside-card-cta span,
.about-aside-card-cta h2{
    color:#fff;
}

.about-aside-card-cta .btn{
    margin-top:24px;
    background:#fff;
    color:var(--ink);
}

@media(max-width:960px){
    .about-aside{
        position:relative;
        top:auto;
    }
}


@media(max-width:900px){

    .about-layout{
        display:flex;
        flex-direction:column;
        gap:34px;
    }

    .about-content{
        order:1;
    }

    .about-aside{
        order:2;
    }

    .about-scroll-stack{
        position:relative !important;
        top:auto !important;
        height:auto !important;
        min-height:0 !important;
    }

    .about-stack-card{
        position:relative !important;
        opacity:1 !important;
        transform:none !important;
        visibility:visible !important;
        margin-bottom:16px;
    }

    .about-stack-card:last-child{
        margin-bottom:0;
    }
}



.about-scroll-stack{
    position:sticky;
    top:120px;
    display:grid;
    gap:16px;
    background:transparent;
    padding:0;
    border:0;
}

.about-stack-card{
    background:#fff;
    padding:0 32px;
    border:1px solid rgba(52,74,84,.08);

    opacity:0;
    transform:
        translateY(80px)
        scale(.96);

    filter:blur(6px);

    /*max-height:0;*/
    overflow:hidden;

    transition:
        opacity .7s cubic-bezier(.16,1,.3,1),
        transform .7s cubic-bezier(.16,1,.3,1),
        filter .7s ease,
        max-height .8s ease,
        padding .55s ease;

    will-change:
        transform,
        opacity;
}

.about-stack-card.is-visible{
    opacity:1;

    transform:
        translateY(0)
        scale(1);

    filter:blur(0);

    /*max-height:320px;*/

    padding:32px;
}

.about-stack-card span{
    display:block;
    margin-bottom:14px;
    color:var(--ink);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.about-stack-card h2{
    margin:0;
    color:var(--ink);
    font-size:28px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.01em;
}

.about-stack-card-cta{
    padding:42px;

    background:linear-gradient(
        180deg,
        #f5f7f8 0%,
        #edf2f4 100%
    );

    color:#1b2b34;

    border:1px solid rgba(95,118,131,.10);
    border-left:4px solid #5f7683;

    box-shadow:
        0 14px 40px rgba(52,74,84,.08);
}

.about-stack-card-cta span{
    color:#5f7683;

    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.about-stack-card-cta h2{
    color:#1b2b34;

    margin-top:12px;

    font-size:34px;
    line-height:1.05;

    font-weight:900;
    letter-spacing:-.01em;
}

.about-stack-card-cta .btn{
    margin-top:28px;

    background:#344a54;
    color:#fff;

}





.about-content{
    background:#fff;
    padding:54px;
}

.about-content p{
    margin:0 0 24px;
    color:#111;
    font-size:18px;
    line-height:1.52;
    font-weight:500;
}

.about-content .lead{
    color:var(--ink);
    font-size:24px;
    line-height:1.28;
    font-weight:800;
    letter-spacing:-.02em;
}

.about-content blockquote{
    margin:34px 0;
    padding:30px 34px;
    color:#fff;
    background:linear-gradient(
        180deg,
        #f5f7f8 0%,
        #edf2f4 100%
    );

    color:#1b2b34;
    border-left:4px solid #5f7683;
    font-size:28px;
    line-height:1.15;
    font-weight:900;
    letter-spacing:-.01em;
}

.about-cta{
    padding:0 0 82px;
    background:var(--soft);
}

.about-cta-box{
    position:relative;
    overflow:hidden;
    padding:58px;
    color:#fff;
    background:linear-gradient(180deg,#415866 0%,#0b1116 100%);
}

.about-cta-box:after{
    content:'';
    position:absolute;
    inset:0;
    background:url('assets/bgcruz.png') right center/auto 120% no-repeat;
    opacity:.18;
    pointer-events:none;
}

.about-cta-box h2,
.about-cta-box p,
.about-cta-actions{
    position:relative;
    z-index:2;
}

.about-cta-box h2{
    margin:0 0 16px;
    font-size:40px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.about-cta-box p{
    max-width:560px;
    margin:0 0 28px;
    font-size:16px;
    line-height:1.35;
    font-weight:500;
}

.about-cta-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.btn-outline-light{
    background:transparent;
    color:#fff;
    border:1px solid rgba(255,255,255,.8);
}

.btn-outline-light:hover{
    background:#fff;
    color:var(--ink);
}

.btn-outline-black{
    background:transparent;
    color:var(--ink);
    border:1px solid var(--ink);;
}

.btn-outline-black:hover{
    background:#fff;
    color:var(--ink);
}

@media(max-width:960px){

    .about-layout{
        grid-template-columns:1fr;
        gap:34px;
    }

    .about-aside{
        position:relative;
        top:auto;
    }

    .about-content{
        padding:40px;
    }

    .about-content p{
        font-size:17px;
    }

}

@media(max-width:560px){

    .about-section{
        padding-top:52px;
        padding-bottom:58px;
    }

    .about-aside,
    .about-content{
        padding:28px;
    }

    .about-aside h2{
        font-size:29px;
    }

    .about-content .lead{
        font-size:21px;
    }

    .about-content p{
        font-size:16px;
    }

    .about-content blockquote{
        padding:24px;
        font-size:24px;
    }

    .about-cta-box{
        padding:32px 28px;
    }

    .about-cta-box h2{
        font-size:32px;
    }

    .about-cta-actions{
        flex-direction:column;
    }

    .about-cta-actions .btn{
        width:100%;
    }

}




/* =========================
   Page: A vida da igreja
========================= */


.vida-categories-section{
    background:var(--soft);
}

.vida-categories-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.vida-category-card{
    background:#fff;
    border:1px solid rgba(52,74,84,.08);
    overflow:hidden;
    box-shadow:0 14px 40px rgba(52,74,84,.06);
}

.vida-category-main{
    display:flex;
    flex-direction:column;
    min-height:310px;
    padding:32px;
    color:#111;
}

.vida-category-icon{
    width:58px;
    height:58px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,#f5f7f8 0%,#edf2f4 100%);
    color:var(--ink);
    margin-bottom:28px;
}

.vida-category-icon svg{
    width:28px;
    height:28px;
    stroke-width:2.2;
}

.vida-filters a,
.vida-card-tags a,
.read-more{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.vida-filters a i,
.read-more i,
.vida-post-meta span i{
    font-size:16px;
    line-height:1;
}

.vida-post-meta span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.vida-category-count{
    color:#5f7683;
    font-size:12px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
    margin-bottom:14px;
}

.vida-category-card h3{
    margin:0 0 16px;
    color:#1b2b34;
    font-size:32px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.vida-category-card p{
    margin:0;
    color:#4d616b;
    font-size:16px;
    line-height:1.5;
    font-weight:500;
}

.vida-category-link{
    margin-top:auto;
    padding-top:28px;
    color:var(--ink);
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.vida-category-children{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:0 32px 32px;
}

.vida-category-children a{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    background:#f5f7f8;
    color:#344a54;
    font-size:13px;
    font-weight:800;
}

.vida-category-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 55px rgba(52,74,84,.1);
}

.vida-category-card{
    transition:
        transform .24s ease,
        box-shadow .24s ease;
}

.vida-empty{
    background:#fff;
    padding:34px;
    border-radius:24px;
    font-weight:700;
}

@media(max-width:1100px){
    .vida-categories-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:680px){
    .vida-categories-grid{
        grid-template-columns:1fr;
    }

    .vida-category-main{
        min-height:auto;
        padding:28px;
    }

    .vida-category-card h3{
        font-size:28px;
    }

    .vida-category-children{
        padding:0 28px 28px;
    }
}


/* =========================
   Page: Contato
========================= */

.contact-section{
    padding-top:78px;
    padding-bottom:76px;
}

.contact-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:34px;
    align-items:start;
}

.contact-info-card,
.contact-form-card{
    background:#fff;
    padding:44px;
    border:1px solid rgba(52,74,84,.08);
}

.contact-info-card{
    min-height:100%;
}

.contact-kicker{
    display:block;
    margin-bottom:18px;
    color:var(--ink);
    font-size:12px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.contact-info-card h2,
.contact-form-card h2{
    margin:0 0 32px;
    color:var(--ink);
    font-size:40px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.contact-info-list{
    display:grid;
    gap:24px;
}

.contact-info-item{
    padding-top:22px;
    border-top:1px solid rgba(52,74,84,.14);
}

.contact-info-item:first-child{
    padding-top:0;
    border-top:0;
}

.contact-info-item strong,
.contact-social strong{
    display:block;
    margin-bottom:8px;
    color:#111;
    font-size:16px;
    font-weight:900;
}

.contact-info-item p{
    margin:0;
    font-size:16px;
    line-height:1.35;
    font-weight:500;
}

.contact-info-item a{
    color:#111;
}

.contact-info-item a:hover{
    color:var(--ink);
    text-decoration:underline;
}

.contact-social{
    margin-top:34px;
    padding-top:24px;
    border-top:1px solid rgba(52,74,84,.14);
}

.contact-social-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.contact-social-links a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 16px;
    color:var(--ink);
    background:var(--soft);
    font-size:14px;
    line-height:1;
    font-weight:800;
    transition:
        background .22s ease,
        color .22s ease,
        transform .22s ease;
}

.contact-social-links a:hover{
    background:var(--ink);
    color:#fff;
    transform:translateY(-1px);
}

.contact-form{
    display:grid;
    gap:18px;
}

.form-row{
    display:grid;
    gap:8px;
}

.form-row label{
    color:#111;
    font-size:14px;
    line-height:1;
    font-weight:900;
}

.form-row input,
.form-row textarea{
    width:100%;
    border:1px solid rgba(52,74,84,.2);
    background:#fdfdfb;
    color:#111;
    font-family:var(--font);
    font-size:16px;
    font-weight:500;
    padding:15px 16px;
    outline:none;
    transition:
        border-color .22s ease,
        box-shadow .22s ease,
        background .22s ease;
}

.form-row textarea{
    resize:vertical;
    min-height:140px;
}

.form-row input:focus,
.form-row textarea:focus{
    border-color:var(--ink);
    background:#fff;
    box-shadow:0 0 0 4px rgba(52,74,84,.08);
}

.form-note{
    margin:18px 0 0;
    color:#555;
    font-size:13px;
    line-height:1.35;
    font-weight:500;
}

.form-note code{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:12px;
    background:var(--soft);
    padding:2px 5px;
}

.contact-map-section{
    padding:0 0 82px;
    background:var(--soft);
}

.contact-map-box{
    min-height:440px;
    background:#d9d9d9;
    overflow:hidden;
}

.contact-map-box iframe{
    width:100%;
    height:440px;
    border:0;
    display:block;
    filter:grayscale(100%);
}

@media(max-width:960px){

    .contact-grid{
        grid-template-columns:1fr;
    }

    .contact-info-card,
    .contact-form-card{
        padding:38px;
    }

}

@media(max-width:560px){

    .contact-section{
        padding-top:52px;
        padding-bottom:52px;
    }

    .contact-info-card,
    .contact-form-card{
        padding:28px;
    }

    .contact-info-card h2,
    .contact-form-card h2{
        font-size:32px;
    }

    .contact-social-links{
        flex-direction:column;
    }

    .contact-social-links a,
    .contact-form .btn{
        width:100%;
    }

    .contact-map-box,
    .contact-map-box iframe{
        min-height:360px;
        height:360px;
    }

}

/* =========================
   Page: De Casa em Casa
========================= */

.dcec-sub-title{
    margin:10px 0 0;

    color:var(--ink);

    font-size:17px;
    line-height:1.35;
    font-weight:600;

    letter-spacing:-.01em;
}

.dcec-title{
    margin:0;
}

.dcec-title a{
    display:flex;
    flex-direction:column;
    gap:10px;

    color:inherit;
}

.dcec-title-highlight{
    display:block;

    color:#717171;

    font-size:18px;
    line-height:.98;
    font-weight:400;

    letter-spacing:-.01em;
}

.dcec-title-main{
    display:block;

    color:var(--ink2);

    font-size:29px;
    line-height:1.08;
    font-weight:800;

    letter-spacing:-.01em;

    opacity:.92;
}

.dcec-grid .date{
    display:flex;
    align-items:center;
    gap:10px;
}

.dcec-grid .date svg{
    width:20px;
    height:20px;
    color:var(--ink);
    stroke-width:2.2;
}

.dcec-grid .video{
    position:relative;
    overflow:hidden;
    border-radius:6px;
    background:#111;
}

.dcec-grid .video iframe{
    width:100%;
    aspect-ratio:16/9;
    border:0;
    display:block;
}

.dcec-filter-form{
    display:grid;
    gap:14px;
}

.dcec-filter-field{
    display:grid;
    gap:7px;
}

.dcec-filter-field label{
    color:#111;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.dcec-filter-field input,
.dcec-filter-field select{
    width:100%;
    min-height:44px;
    border:1px solid rgba(52,74,84,.18);
    background:#fff;
    color:#111;
    font-family:var(--font);
    font-size:15px;
    font-weight:600;
    padding:0 12px;
    outline:none;
}

.btn i,
.read-more i{
    font-size:17px;
    line-height:1;
}

.read-more i{
    transition:transform .22s ease;
}

.read-more:hover i{
    transform:translateX(4px);
}

.contact-info-item{
    display:flex;
    align-items:flex-start;
    gap:16px;
}

.contact-info-icon{
    width:46px;
    height:46px;
    border-radius:14px;
    background:rgba(255,255,255,.72);
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}

.contact-info-icon i{
    font-size:22px;
    line-height:1;
}

.contact-social-links a{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.contact-social-links a i{
    font-size:18px;
    line-height:1;
}

.contact-form .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.contact-form .btn i{
    font-size:18px;
    line-height:1;
}




.dcec-filter-field input:focus,
.dcec-filter-field select:focus{
    border-color:var(--ink);
    box-shadow:0 0 0 4px rgba(52,74,84,.08);
}

.dcec-filter-form .btn{
    width:100%;
    margin-top:4px;
}

.dcec-clear-filter{
    display:inline-flex;
    justify-content:center;
    color:var(--ink);
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}


.vida-category-icon i{
    font-size:28px;
    line-height:1;
}

.vida-category-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.vida-category-link i{
    font-size:16px;
    line-height:1;
    transition:transform .22s ease;
}

.vida-category-card:hover .vida-category-link i{
    transform:translateX(4px);
}


.agenda-card-head span{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.agenda-card-head span i{
    font-size:16px;
    line-height:1;
}


.cifra-icon i{
    font-size:24px;
    line-height:1;
}

.cifra-actions .btn{
    gap:8px;
}

.cifra-actions .btn i{
    font-size:17px;
    line-height:1;
}

.btn i,
.read-more i{
    font-size:17px;
    line-height:1;
}

.read-more i{
    transition:transform .22s ease;
}

.read-more:hover i{
    transform:translateX(4px);
}

.life-card-icon i,
.life-card-arrow i,
.article-date i{
    font-size:24px;
    line-height:1;
}

.life-card-arrow i{
    font-size:22px;
}

.article-date{
    display:inline-flex;
    align-items:center;
    gap:8px;
}


.article-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;

    margin-bottom:22px;
}

.article-date{
    display:inline-flex;
    align-items:center;
    gap:8px;

    color:#5f7683;

    font-size:13px;
    font-weight:700;
}

.article-date svg{
    width:16px;
    height:16px;
}


.load-more-wrap{
    display:flex;
    justify-content:center;
    margin-top:42px;
}

.vida-post-meta span{
    display:inline-flex;
    align-items:center;
    gap:7px;
}

.vida-post-meta i{
    font-size:15px;
    line-height:1;
}

.read-more i{
    font-size:17px;
    line-height:1;
    transition:transform .22s ease;
}

.read-more:hover i{
    transform:translateX(4px);
}

.dcec-archive-hero{
    background:#fff;
}

.dcec-archive-section{
    padding-top:76px;
    padding-bottom:86px;
}

.dcec-featured-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
    margin:18px 0 22px;
}

.dcec-featured-period{
    margin:0;
    color:#5f7683;
    font-size:14px;
    font-weight:700;
    line-height:1;
}

.dcec-preletor-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.dcec-preletor-tag{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 13px;

    background:rgba(95,118,131,.10);

    border:1px solid rgba(95,118,131,.12);

    border-radius:999px;

    color:#415866;

    font-size:11px;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.dcec-list-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;

    margin-bottom:18px;
}

.dcec-list-date-inline{
    color:#5f7683;
    font-size:13px;
    font-weight:700;
    line-height:1;
}

.dcec-preletor-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.dcec-preletor-tag{
    display:inline-flex;
    align-items:center;

    min-height:28px;

    padding:0 12px;

    border-radius:999px;

    background:rgba(95,118,131,.10);

    border:1px solid rgba(95,118,131,.12);

    color:#415866;

    font-size:11px;
    font-weight:800;

    letter-spacing:.03em;
    text-transform:uppercase;
}

.archive-toolbar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-bottom:46px;
}

.archive-count{
    display:block;
    margin-bottom:12px;
    color:var(--ink);
    font-size:12px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.archive-toolbar h2{
    margin:0;
    color:var(--ink);
    font-size:40px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.archive-search{
    width:min(100%,340px);
    display:grid;
    gap:8px;
}

.archive-search label{
    color:#111;
    font-size:13px;
    font-weight:900;
    line-height:1;
}

.archive-search input{
    width:100%;
    min-height:48px;
    border:1px solid rgba(52,74,84,.2);
    background:#fff;
    color:#111;
    font-family:var(--font);
    font-size:15px;
    font-weight:500;
    padding:0 16px;
    outline:none;
}

.archive-search input:focus{
    border-color:var(--ink);
    box-shadow:0 0 0 4px rgba(52,74,84,.08);
}

.dcec-post-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:34px 48px;
}

.dcec-post-card{
    min-height:100%;
}

.dcec-post-inner{
    height:100%;
    display:flex;
    flex-direction:column;
    padding:0 0 28px;
    border-bottom:1px solid rgba(52,74,84,.14);
}

.dcec-post-category{
    display:block;
    margin-bottom:18px;
    color:var(--ink);
    font-size:13px;
    line-height:1.2;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.dcec-post-card h3{
    margin:0 0 22px;
    color:#283243;
    font-size:30px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:-.01em;
}

.dcec-post-card h3 a{
    transition:
        color .22s ease,
        opacity .22s ease;
}

.dcec-post-card h3 a:hover{
    color:var(--ink);
    opacity:.82;
}

.dcec-post-card p{
    margin:0 0 28px;
    color:#2d3748;
    font-size:19px;
    line-height:1.55;
    font-weight:500;
}

.read-more{
    margin-top:auto;
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#283243;
    font-size:15px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    transition:
        color .22s ease,
        gap .22s ease;
}

.read-more:hover{
    color:var(--ink);
    gap:14px;
}

.dcec-post-card.is-featured{
    grid-column:span 1;
}

.dcec-subscribe{
    padding:0 0 82px;
}

.dcec-subscribe-box{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    padding:46px 52px;
    color:#fff;
    background:linear-gradient(180deg,#415866 0%,#0b1116 100%);
}

.dcec-subscribe-box:after{
    content:'';
    position:absolute;
    inset:0;
    background:url('assets/bgcruz.png') right center/auto 130% no-repeat;
    opacity:.18;
    pointer-events:none;
}

.dcec-subscribe-box > *{
    position:relative;
    z-index:2;
}

.dcec-subscribe-box h2{
    margin:0 0 12px;
    font-size:40px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.dcec-subscribe-box p{
    max-width:620px;
    margin:0;
    font-size:16px;
    line-height:1.35;
    font-weight:500;
}

@media(max-width:1100px){

    .dcec-post-grid{
        grid-template-columns:repeat(2,1fr);
        gap:34px;
    }

}

@media(max-width:960px){

    .archive-toolbar{
        align-items:flex-start;
        flex-direction:column;
    }

    .archive-search{
        width:100%;
    }

    .dcec-subscribe-box{
        align-items:flex-start;
        flex-direction:column;
    }

}

@media(max-width:640px){

    .dcec-archive-section{
        padding-top:52px;
        padding-bottom:58px;
    }

    .archive-toolbar h2,
    .dcec-subscribe-box h2{
        font-size:32px;
    }

    .dcec-post-grid{
        grid-template-columns:1fr;
    }

    .dcec-post-card h3{
        font-size:27px;
    }

    .dcec-post-card p{
        font-size:17px;
        line-height:1.5;
    }

    .dcec-subscribe-box{
        padding:32px 28px;
    }

    .dcec-subscribe-box .btn{
        width:100%;
    }

}

/* =========================
   Page: De Casa em Casa Premium
========================= */

.dcec-premium-hero{
    position:relative;
    overflow:hidden;
    padding:86px 0;
    background: #fff;
}

.dcec-premium-hero:after{
    content:'';
    position:absolute;
    inset:0;
    background:url('assets/bgcruz.png') right center/auto 100% no-repeat;
    opacity:.20;
    pointer-events:none;
}

.dcec-premium-hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:64px;
    align-items:center;
}

.dcec-premium-copy h1{
    margin:0 0 20px;
    color:var(--ink);
    font-size:68px;
    line-height:.92;
    font-weight:900;
    letter-spacing:-.01em;
}

.dcec-premium-copy p{
    max-width:540px;
    margin:0;
    color:var(--ink);
    font-size:20px;
    line-height:1.38;
    font-weight:500;
}

.dcec-premium-copy .eyebrow{
    color:var(--ink);
}

.dcec-hero-actions{margin-top: 30px}

.dcec-featured-card{
    position:relative;
    overflow:hidden;

    padding:54px;

    background:linear-gradient(
        180deg,
        #f5f7f8 0%,
        #edf2f4 100%
    );

    color:#1b2b34;

    border:1px solid rgba(95,118,131,.10);
    border-left:4px solid #588680;

    box-shadow:
        0 14px 40px rgba(52,74,84,.08);

    min-height:430px;

    display:flex;
    flex-direction:column;
    justify-content:flex-end;
}

.dcec-featured-card:before{
    content:'';

    position:absolute;
    inset:0;

    background:
        radial-gradient(
            circle at top right,
            rgba(95,118,131,.08),
            transparent 38%
        );

    pointer-events:none;
}

.dcec-featured-card:after{
    content:'';
    position:absolute;
    inset:0;
    background:url('assets/bgcruz.png') right center/auto 120% no-repeat;
    opacity:.12;
    pointer-events:none;
}

.dcec-featured-card > *{
    position:relative;
    z-index:2;
}

.dcec-featured-card h2{
    margin:0 0 16px;
    font-size:54px;
    line-height:.92;
    font-weight:900;
    letter-spacing:-.01em;
    max-width:540px;
}

.dcec-featured-card p{
    max-width:560px;
    margin-top: 40px;
}

.dcec-featured-period{
    font-size:14px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.dcec-featured-card .read-more{
    margin-top:8px;
}

.dcec-premium-section{
    padding-top:78px;
}

.dcec-layout{
    display:grid;
    grid-template-columns:310px 1fr;
    gap:58px;
    align-items:start;
}

.dcec-sidebar{
    position:sticky;
    top:118px;
    display:grid;
    gap:18px;
}

.dcec-sidebar-card,
.dcec-filter-card{
    background:#fff;
    border:1px solid rgba(52,74,84,.08);
    padding:30px;
}

.dcec-sidebar-card span{
    display:block;
    margin-bottom:14px;
    color:var(--ink);
    font-size:12px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.dcec-sidebar-card h2{
    margin:0 0 18px;
    color:var(--ink);
    font-size:29px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.dcec-sidebar-card p{
    margin:0;
    color:#111;
    font-size:16px;
    line-height:1.42;
    font-weight:500;
}

.dcec-filter-card{
    display:grid;
    gap:8px;
}

.dcec-filter-card strong{
    display:block;
    margin-bottom:10px;
    color:#111;
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.dcec-filter-card a{
    display:flex;
    align-items:center;
    min-height:42px;
    padding:0 14px;
    background:var(--soft);
    color:#111;
    font-size:15px;
    font-weight:800;
    transition:
        background .22s ease,
        color .22s ease,
        transform .22s ease;
}

.dcec-filter-card a:hover,
.dcec-filter-card a.active{
    background:var(--ink);
    color:#fff;
    transform:translateX(3px);
}

.dcec-toolbar-premium{
    margin-bottom:34px;
}

.dcec-premium-list{
    display:grid;
    gap:18px;
}

.dcec-list-card{
    display:grid;
    grid-template-columns:108px 1fr;
    gap:28px;
    background:#fff;
    border:1px solid rgba(52,74,84,.08);
    padding:30px;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.dcec-list-card:hover{
    transform:translateY(-3px);
    border-color:rgba(52,74,84,.2);
    box-shadow:0 18px 45px rgba(0,0,0,.06);
}

.dcec-list-date{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:108px;
    color:#fff;
    background:var(--ink2);
    text-align:center;
}

.dcec-list-date span{
    margin-bottom:4px;
    font-size:11px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
    opacity:.76;
}

.dcec-list-date strong{
    font-size:38px;
    line-height:1;
    font-weight:900;
}

.dcec-list-content h3{
    margin:0 0 15px;
    color:#283243;
    font-size:28px;
    line-height:1.16;
    font-weight:900;
    letter-spacing:-.01em;
}

.dcec-list-content h4{
    margin:0 0 16px;
    color:var(--ink);
    font-size:18px;
    line-height:1.2;
    font-weight:900;
}

.dcec-list-content p{
    margin:0 0 20px;
    color:#2d3748;
    font-size:17px;
    line-height:1.48;
    font-weight:500;
}

@media(max-width:1100px){

    .dcec-premium-hero-grid,
    .dcec-layout{
        grid-template-columns:1fr;
    }

    .dcec-sidebar{
        position:relative;
        top:auto;
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:760px){

    .dcec-premium-copy h1{
        font-size:48px;
    }

    .dcec-premium-copy p{
        font-size:18px;
    }

    .dcec-featured-card{
        padding:34px;
        min-height:360px;
    }

    .dcec-featured-card h2{
        font-size:36px;
    }

    .dcec-sidebar{
        grid-template-columns:1fr;
    }

    .dcec-list-card{
        grid-template-columns:1fr;
        gap:18px;
    }

    .dcec-list-date{
        width:108px;
    }

}

@media(max-width:560px){

    .dcec-premium-hero{
        padding:62px 0;
    }

    .dcec-premium-copy h1{
        font-size:42px;
    }

    .dcec-hero-actions{
        flex-direction:column;
    }

    .dcec-hero-actions .btn{
        width:100%;
    }

    .dcec-featured-card{
        padding:28px;
    }

    .dcec-featured-card h2{
        font-size:31px;
    }

    .dcec-featured-card p{
        font-size:16px;
    }

    .dcec-list-card{
        padding:24px;
    }

    .dcec-list-content h3{
        font-size:24px;
    }

}

/* =========================
   Page: Agenda
========================= */

.agenda-section{
    padding-top:76px;
    padding-bottom:82px;
}

.agenda-layout{
    display:grid;
    grid-template-columns:330px 1fr;
    gap:34px;
    align-items:start;
}

.agenda-aside{
    position:sticky;
    top:118px;
    background:#fff;
    padding:38px;
    border:1px solid rgba(52,74,84,.08);
}

.agenda-aside span,
.agenda-card-head span{
    display:block;
    margin-bottom:14px;
    color:var(--ink);
    font-size:12px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.agenda-aside h2,
.agenda-card-head h2{
    margin:0 0 18px;
    color:var(--ink);
    font-size:38px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.agenda-aside p{
    margin:0;
    color:#111;
    font-size:16px;
    line-height:1.42;
    font-weight:500;
}

.agenda-actions{
    display:grid;
    gap:10px;
    margin-top:30px;
}

.agenda-actions .btn{
    width:100%;
}

.agenda-calendar-card{
}

.agenda-card-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:28px;
}

.agenda-frame{
    width:100%;
    height:720px;
    overflow:hidden;
    background:#f5f5f3;
    border:1px solid rgba(52,74,84,.1);
}

.agenda-frame iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}

.menu a.active,
.menu-link.active,
.dropdown a.active{
    color:var(--ink);
}

.menu a.active:not(.login)::after,
.menu-link.active:not(.login)::after{
    transform:scaleX(1);
}

.dropdown a.active{
    background:#f5f5f3;
    padding-left:28px;
}

@media(max-width:960px){

    .agenda-layout{
        grid-template-columns:1fr;
    }

    .agenda-aside{
        position:relative;
        top:auto;
    }

    .agenda-frame{
        height:640px;
    }

}

@media(max-width:560px){

    .agenda-section{
        padding-top:52px;
        padding-bottom:58px;
    }

    .agenda-aside,
    .agenda-calendar-card{
        padding:28px;
    }

    .agenda-aside h2,
    .agenda-card-head h2{
        font-size:31px;
    }

    .agenda-frame{
        height:560px;
    }

}

/* =========================
   Page: Ministracoes
========================= */


.ministracao-media-thumb{
    position:relative;
    display:block;
    overflow:hidden;
    margin-bottom:22px;
    background:#111;
    aspect-ratio:16/9;
}

.ministracao-media-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.3s ease;
}

.ministracao-media-thumb:hover img{
    transform:scale(1.04);
    opacity:.82;
}

.ministracao-play{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:58px;
    background:rgba(0,0,0,.18);
}

.ministracao-badges{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:16px;
}

.ministracao-badges span{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:30px;
    padding:0 11px;
    background:#f5f7f8;
    color:#344a54;
    font-size:12px;
    font-weight:900;
}

.ministracao-badges i{
    font-size:15px;
}

.ministracao-featured-thumb{
    display:block;
    position:relative;
    overflow:hidden;
    aspect-ratio:16/9;
    margin-bottom:24px;
    background:#111;
}

.ministracao-featured-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ministracao-featured-thumb span{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:64px;
    background:rgba(0,0,0,.18);
}


.ministracao-list-card{
    display:grid;
    grid-template-columns:320px 1fr;
    gap:28px;
    align-items:flex-start;
}

.ministracao-side-media{
    width:100%;
}

.ministracao-thumb{
    position:relative;
    display:block;
    overflow:hidden;
    background:#0d0d0d;
    aspect-ratio:16/9;
}

.ministracao-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.35s ease;
}

.ministracao-thumb:hover img{
    transform:scale(1.05);
    opacity:.84;
}

.ministracao-play{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:70px;
    background:rgba(0,0,0,.14);
}


@media(max-width:900px){

    .ministracao-list-card{
        grid-template-columns:1fr;
        gap:20px;
    }

}


.ministracao-list-card{
    display:grid;
    grid-template-columns:320px 1fr;
    gap:28px;
    align-items:flex-start;
}

.ministracao-list-card:not(:has(.ministracao-side-media)){
    grid-template-columns:1fr;
}

.ministracao-audio-card{
    min-height:180px;
    padding:28px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:18px;
    background:#111;
    color:#fff;
}

.ministracao-audio-icon{
    width:72px;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#1db954;
    color:#fff;
}

.ministracao-audio-icon i{
    font-size:34px;
}

.ministracao-audio-card strong{
    display:block;
    margin-bottom:6px;
    font-size:20px;
    font-weight:900;
}

.ministracao-audio-card span{
    color:rgba(255,255,255,.72);
    font-size:14px;
}

@media(max-width:900px){

    .ministracao-list-card{
        grid-template-columns:1fr;
    }

}
.ministracao-media-links{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    flex-wrap:nowrap;
}

.ministracao-media-btn{
    flex:1;

    height:40px;
    min-width:0;

    padding:0 12px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    border-radius:12px;

    background:#0d1016;
    border:1px solid rgba(255,255,255,.08);

    color:rgba(255,255,255,.88);

    font-size:12px;
    font-weight:800;
    letter-spacing:-.01em;
    white-space:nowrap;

    transition:
    transform .22s ease,
    background .22s ease,
    border-color .22s ease;
}

.ministracao-media-btn:hover{
    transform:translateY(-2px);
    background:#151922;
    border-color:rgba(255,255,255,.18);
}

.ministracao-media-btn i{
    font-size:16px;
    line-height:1;
    flex:0 0 auto;
}

.ministracao-media-btn.youtube i{
    color:#ff4d4d;
}

.ministracao-media-btn.spotify i{
    color:#43d17d;
}


/* =========================
   FIM
========================= */


.page-breadcrumb{
    margin-bottom:22px;
    color: var(--ink);
}

.yoast-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    color: var(--ink);
    gap:8px;
    font-size:13px;
    line-height:1.5;
    font-weight:500;
}



/* =========================
   Page: A Vida da Igreja
========================= */


.vida-card-categories{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 18px;
}

.vida-card-categories span{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:30px;
    padding:0 10px;
    background:#f5f7f8;
    color:#344a54;
    font-size:12px;
    font-weight:800;
}

.vida-card-categories i{
    font-size:14px;
}


.vida-portal-layout{
    align-items:start;
}

.vida-post-category{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.vida-post-category i{
    font-size:17px;
    line-height:1;
}

.vida-list-card{
    background:#fff;
}

.vida-list-card .dcec-title-main{
    color:#283243;
}

.vida-list-card:hover{
    border-color:rgba(52,74,84,.2);
}

.vida-portal-section{
    background:var(--soft);
    padding-bottom:34px;
}

.vida-filters a{
    gap:8px;
}

.vida-filters a i{
    font-size:17px;
    line-height:1;
}

.vida-portal-grid{
    margin-top:34px;
}

.vida-notice-card .vida-post-meta span{
    display:inline-flex;
    align-items:center;
    gap:7px;
}

.vida-notice-card .vida-post-meta i{
    font-size:16px;
    line-height:1;
}

.vida-notice-card{
    position:relative;
    overflow:hidden;
}

.vida-notice-card:before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(52,74,84,.05), transparent 42%);
    opacity:0;
    transition:.24s ease;
    pointer-events:none;
}

.vida-notice-card:hover:before{
    opacity:1;
}

.life-cards-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
}

.modern-life-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;

    min-height:190px;

    padding:28px;

    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);

    transition:.25s ease;
}

.modern-life-card:hover{
    transform:translateY(-4px);

    background:rgba(255,255,255,.07);

    border-color:rgba(255,255,255,.15);
}

.life-card-icon{
    width:62px;
    height:62px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:24px;

    border-radius:18px;

    background:rgba(255,255,255,.06);
}

.life-card-icon i{
    font-size:28px;
}

.life-card-content{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.life-card-content strong{
    font-size:32px;
    line-height:1;
    font-weight:900;
}

.life-card-content span{
    max-width:280px;

    font-size:17px;
    line-height:1.5;

    opacity:.82;
}

/* remove a seta */
.life-card-arrow{
    display:none;
}

@media(max-width:980px){
    .life-cards-grid{
        grid-template-columns:1fr;
    }

    .modern-life-card{
        min-height:auto;
    }

    .life-card-content strong{
        font-size:28px;
    }
}

@media(max-width:768px){
    .life-cards-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 991px){

    .setores-highlight{padding-bottom: 0 !important;padding: 0 !important}

    .modern-life-card{
        flex-direction:row;
        align-items:center;
        gap:16px;
        padding:22px;
        min-height: auto !important;
    }

    .life-card-icon{
        width:58px;
        height:58px;
        flex-shrink:0;
    }

    .life-card-icon i{
        font-size:24px;
    }

    .life-card-content strong{
        font-size:22px;
        margin-bottom:4px;
    }

    .life-card-content span{
        font-size:14px;
        max-width: 100%;
    }
}


.modern-life-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.modern-life-card{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:flex-start;
    gap:18px;
    min-height:170px;
    padding:28px;
    color:#fff;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(10px);
    transition:
        transform .28s ease,
        border-color .28s ease,
        background .28s ease,
        box-shadow .28s ease;
}

.modern-life-card:hover{
    transform:translateY(-4px);
    background:rgba(255,255,255,.07);
    border-color:rgba(255,255,255,.16);
    box-shadow:0 18px 50px rgba(0,0,0,.18);
}

.life-card-icon{
    width:54px;
    height:54px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.08);
    flex:0 0 auto;
}

.life-card-icon svg{
    width:26px;
    height:26px;
    stroke-width:2.2;
}

.life-card-content{
    flex:1;
}

.life-card-content strong{
    display:block;
    margin-bottom:10px;
    font-size:24px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.01em;
}

.life-card-content span{
    display:block;
    color:rgba(255,255,255,.72);
    font-size:15px;
    line-height:1.45;
    font-weight:500;
}

.life-card-arrow{
    opacity:.55;
    transition:
        transform .24s ease,
        opacity .24s ease;
}

.life-card-arrow svg{
    width:22px;
    height:22px;
    stroke-width:2.2;
}

.modern-life-card:hover .life-card-arrow{
    opacity:1;
    transform:translate(4px,-4px);
}

@media(max-width:980px){

    .life-mega-collapse-root{
        display:none !important;
    }

    .life-mega-holder .life-mega-dropdown{
        display:none;
    }

    .life-mega-holder.mobile-open .life-mega-dropdown{
        display:block;
    }

    body.life-mega-active .life-mega-collapse-root{
        display:none !important;
        max-height:0;
    }
}


@media(max-width:980px){

    .modern-life-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:640px){

    .modern-life-grid{
        grid-template-columns:1fr;
    }

    .modern-life-card{
        min-height:auto;
    }

}



.single-content-toggle .more-hidden{
    display:none;
}

.single-content-toggle.is-open .more-hidden{
    display:block;
}

.single-read-more-wrap{
    margin:28px 0;
}

.single-read-more-btn{
    border:0;
    cursor:pointer;
}



.vida-hero{
    position:relative;
    overflow:hidden;
    padding:86px 0;
    color:#fff;
    background:#fff;
}

.vida-hero:after{
    content:'';
    position:absolute;
    inset:0;
    background:url('assets/bgcruz.png') right center/auto 105% no-repeat;
    opacity:.18;
    pointer-events:none;
}

.vida-hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr .78fr;
    gap:64px;
    align-items:center;
}

.vida-hero h1{
    margin:0 0 20px;
    font-size:68px;
    line-height:.92;
    font-weight:900;
    letter-spacing:-.01em;
    color: var(--ink);
}

.vida-hero p{
    max-width:620px;
    margin:0;
    color:var(--ink);
    font-size:20px;
    line-height:1.38;
    font-weight:500;
}

.vida-hero .eyebrow{
    color:var(--ink);
}

.vida-hero-card{
    position:relative;
    overflow:hidden;

    padding:54px;

    background:linear-gradient(
        180deg,
        #f5f7f8 0%,
        #edf2f4 100%
    );

    color:#1b2b34;

    border:1px solid rgba(95,118,131,.10);
    border-left:4px solid #5f7683;

    box-shadow:
        0 14px 40px rgba(52,74,84,.08);

    min-height:320px;

    display:flex;
    flex-direction:column;
    justify-content:flex-end;
}

.vida-hero-card:before{
    content:'';

    position:absolute;
    inset:0;

    background:
        radial-gradient(
            circle at top right,
            rgba(95,118,131,.08),
            transparent 38%
        );

    pointer-events:none;
}

.vida-hero-card span{
    position:relative;
    z-index:2;

    display:block;

    margin-bottom:14px;

    color:#5f7683;

    font-size:12px;
    line-height:1;

    font-weight:900;

    text-transform:uppercase;
    letter-spacing:.12em;
}

.vida-hero-card h2{
    position:relative;
    z-index:2;

    margin:0 0 18px;

    color:#1b2b34;

    font-size:42px;
    line-height:.96;

    font-weight:900;

    letter-spacing:-.01em;
}

.vida-hero-card p{
    position:relative;
    z-index:2;

    margin:0;

    max-width:540px;

    color:#4d616b;

    font-size:17px;
    line-height:1.6;

    font-weight:500;
}

.vida-section{
    padding-top:76px;
    padding-bottom:86px;
}

.vida-toolbar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-bottom:30px;
}

.vida-toolbar h2{
    margin:0;
    color:var(--ink);
    font-size:40px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.vida-filters{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:46px;
}

.vida-filters a{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:0 17px;
    color:var(--ink);
    background:#fff;
    border:1px solid rgba(52,74,84,.12);
    font-size:14px;
    line-height:1;
    font-weight:900;
    transition:
        background .22s ease,
        color .22s ease,
        transform .22s ease;
}

.vida-filters a:hover,
.vida-filters a.active{
    background:var(--ink);
    color:#fff;
    transform:translateY(-1px);
}

.vida-layout{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:42px;
    align-items:start;
}

.vida-sidebar{
    position:sticky;
    top:118px;
    display:grid;
    gap:18px;
}

.vida-sidebar-card,
.vida-tags-card{
    background:#fff;
    padding:28px;
    border:1px solid rgba(52,74,84,.08);
}

.vida-sidebar-card span{
    display:block;
    margin-bottom:14px;
    color:var(--ink);
    font-size:12px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.vida-sidebar-card h3{
    margin:0 0 14px;
    color:var(--ink);
    font-size:28px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.vida-sidebar-card p{
    margin:0;
    color:#111;
    font-size:15px;
    line-height:1.42;
    font-weight:500;
}

.vida-tags-card strong{
    display:block;
    margin-bottom:16px;
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.vida-tags-card div{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.vida-tags-card a{
    display:inline-flex;
    min-height:34px;
    align-items:center;
    padding:0 12px;
    background:var(--soft);
    color:#111;
    font-size:13px;
    font-weight:800;
}

.vida-tags-card a:hover{
    background:var(--ink);
    color:#fff;
}

.vida-post-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.vida-post-card{
    background:#fff;
    border:1px solid rgba(52,74,84,.08);
    padding:32px;
    display:flex;
    flex-direction:column;
    min-height:100%;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.vida-post-card:hover{
    transform:translateY(-3px);
    border-color:rgba(52,74,84,.2);
    box-shadow:0 18px 45px rgba(0,0,0,.06);
}

.vida-post-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-bottom:18px;
}

.vida-post-meta span,
.vida-post-meta em{
    color:var(--ink);
    font-size:12px;
    line-height:1.2;
    font-weight:900;
    font-style:normal;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.vida-post-meta em{
    color:#111;
    opacity:.55;
}

.vida-post-card h3{
    margin:0 0 18px;
    color:#283243;
    font-size:29px;
    line-height:1.13;
    font-weight:900;
    letter-spacing:-.01em;
}

.vida-post-card p{
    margin:0 0 22px;
    color:#2d3748;
    font-size:17px;
    line-height:1.48;
    font-weight:500;
}

.vida-card-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 24px;
}

.vida-card-tags a{
    display:inline-flex;
    min-height:30px;
    align-items:center;
    padding:0 10px;
    color:var(--ink);
    background:var(--soft);
    font-size:12px;
    font-weight:800;
}

.vida-post-card .read-more{
    margin-top:auto;
}

@media(max-width:1100px){

    .vida-hero-grid,
    .vida-layout{
        grid-template-columns:1fr;
    }

    .vida-sidebar{
        position:relative;
        top:auto;
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:760px){

    .vida-hero{
        padding:62px 0;
    }

    .vida-hero h1{
        font-size:46px;
    }

    .vida-hero p{
        font-size:18px;
    }

    .vida-toolbar{
        align-items:flex-start;
        flex-direction:column;
    }

    .vida-post-grid,
    .vida-sidebar{
        grid-template-columns:1fr;
    }

}

@media(max-width:560px){

    .vida-hero h1{
        font-size:40px;
    }

    .vida-hero-card,
    .vida-post-card,
    .vida-sidebar-card,
    .vida-tags-card{
        padding:26px;
    }

    .vida-toolbar h2{
        font-size:32px;
    }

    .vida-post-card h3{
        font-size:25px;
    }

}

/* =========================
   Page: Setores
========================= */

.setores-hero{
    position:relative;
    overflow:hidden;
    color:#fff;
    background:#fff;
}

.setores-hero:after{
    content:'';
    position:absolute;
    inset:0;
    background:url('assets/_cruz_70perc.svg') right center/auto 105% no-repeat;
    opacity:.16;
    pointer-events:none;
}

.setores-hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:64px;
    align-items:center;
}

.setores-hero h1{
    margin:0 0 20px;
    font-size:68px;
    color: var(--ink);
    line-height:.92;
    font-weight:900;
    letter-spacing:-.01em;
}

.setores-hero p{
    max-width:560px;
    margin:0;
    color:var(--ink);
    font-size:20px;
    line-height:1.38;
    font-weight:500;
}

.setor-address-link{
    display:flex;
    align-items:flex-start;
    gap:12px;

    margin-top:14px;
    padding:14px;

    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;

    color:inherit;
    text-decoration:none;

    transition:.2s ease;
}

.setor-address-link:hover{
    transform:translateY(-2px);
    border-color:var(--primary);
}

.setor-address-link > i:first-child{
    font-size:18px;
    color:var(--primary);
    margin-top:2px;
}

.setor-address-link strong{
    display:block;
    margin-bottom:4px;
}

.setor-address-link span{
    font-size:14px;
    line-height:1.5;
    opacity:.8;
}

.setor-address-link > i:last-child{
    margin-left:auto;
    opacity:.5;
}

.setores-hero .eyebrow{
    color:var(--ink);
}

.setores-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:34px;
}

.setores-map-card{
    position:relative;
    min-height:430px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    overflow:hidden;
}

.wa-lucide{
    font-size:18px;
    line-height:1;
    color:#25d366;
    flex:0 0 auto;
}

.setores-hero-actions .btn,
.setores-near-box .btn{
    gap:8px;
}

.setores-hero-actions .btn i,
.setores-near-box .btn i{
    font-size:18px;
    line-height:1;
}

.setores-map-card img{
    width:115%;
    max-width:none;
    opacity:.95;
    transform:translateX(-4%);
}

.setores-intro{
    padding-top:76px;
    padding-bottom:76px;
}

.setores-intro-grid{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:42px;
    align-items:stretch;
}

.setores-intro-text,
.setores-intro-card{
    background:#fff;
    border:1px solid rgba(52,74,84,.08);
    padding:42px;
}

.setores-intro-text span{
    display:block;
    margin-bottom:16px;
    color:var(--ink);
    font-size:12px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.setores-intro-text h2{
    margin:0 0 24px;
    color:var(--ink);
    font-size:42px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.setores-intro-text p{
    margin:0 0 18px;
    color:#111;
    font-size:18px;
    line-height:1.48;
    font-weight:500;
}

.setores-intro-text p:last-child{
    margin-bottom:0;
}

.setores-intro-card{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    padding:42px;

    background:linear-gradient(
        180deg,
        #f5f7f8 0%,
        #edf2f4 100%
    );

    color:#1b2b34;

    border:1px solid rgba(95,118,131,.10);
    border-left:4px solid #5f7683;

    box-shadow:
        0 14px 40px rgba(52,74,84,.08);
}

.setores-intro-card strong{
    display:block;

    margin-bottom:18px;

    font-size:30px;
    line-height:1.05;

    font-weight:900;
    letter-spacing:-.01em;

    color:#1b2b34;
}

.setores-intro-card p{
    margin:0 0 26px;

    color:#4d616b;

    font-size:16px;
    line-height:1.55;

    font-weight:500;
}

.setores-intro-card .read-more{
    color:#344a54;
}

.setores-list-section{
    padding-top:0;
    padding-bottom:86px;
}

.setores-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.setor-card{
    background:#fff;
    border:1px solid rgba(52,74,84,.08);
    padding:32px;
    display:flex;
    flex-direction:column;
    min-height:100%;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.setor-card:hover{
    transform:translateY(-3px);
    border-color:rgba(52,74,84,.2);
    box-shadow:0 18px 45px rgba(0,0,0,.06);
}

.setor-city{
    display:block;
    margin-bottom:14px;
    color:var(--ink);
    font-size:12px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.setor-card h3{
    margin:0 0 18px;
    color:#283243;
    font-size:30px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.setor-card p{
    margin:0 0 24px;
    color:#2d3748;
    font-size:16px;
    line-height:1.45;
    min-height: 75px;
    font-weight:500;
}

.heigmin{min-height: 85px}

.setor-detail{
    display:grid;
    gap:6px;
    padding-top:18px;
}

/*.setor-detail:first-of-type{
    margin-top:auto;
}*/

.setor-detail strong{
    color:#111;
    font-size:14px;
    line-height:1.2;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.setor-detail span{
    color:#111;
    font-size:15px;
    line-height:1.35;
    font-weight:500;
}

@media(max-width:1100px){

    .setores-hero-grid,
    .setores-intro-grid{
        grid-template-columns:1fr;
    }

    .setores-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:720px){

    .setores-hero{
        padding:62px 0;
    }

    .setores-hero h1{
        font-size:46px;
    }

    .setores-hero p{
        font-size:18px;
    }

    .setores-hero-actions{
        flex-direction:column;
    }

    .setores-hero-actions .btn{
        width:100%;
    }

    .setores-map-card{
        min-height:300px;
    }

    .setores-grid{
        grid-template-columns:1fr;
    }

    .setor-card p, .heigmin{min-height: auto}

}

@media(max-width:560px){

    .setores-intro-text,
    .setores-intro-card,
    .setor-card{
        padding:28px;
    }

    .setores-intro-text h2{
        font-size:32px;
    }

    .setores-intro-text p{
        font-size:16px;
    }

}


.dcec-featured-card .dcec-post-category{
    opacity:.86;
    color: var(--ink2);
}



/* =========================
   V23 Setores filters/view
========================= */

.setores-controls{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:-16px 0 34px;
}

.setores-filter-group,
.setores-view-toggle{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.setores-filter-group button,
.setores-view-toggle button{
    min-height:40px;
    border:1px solid rgba(52,74,84,.14);
    background:#fff;
    color:var(--ink);
    padding:0 15px;
    font-family:var(--font);
    font-size:14px;
    line-height:1;
    font-weight:900;
    cursor:pointer;
    transition:
        background .22s ease,
        color .22s ease,
        transform .22s ease,
        border-color .22s ease;
}

.setores-filter-group button:hover,
.setores-view-toggle button:hover,
.setores-filter-group button.active,
.setores-view-toggle button.active{
    background:var(--ink);
    color:#fff;
    border-color:var(--ink);
    transform:translateY(-1px);
}

.setores-grid.is-list{
    grid-template-columns:1fr;
    gap:16px;
}

.setores-grid.is-list .setor-card{
    display:grid;
    grid-template-columns:220px 1fr 1fr;
    gap:26px;
    align-items:start;
    padding:28px 32px;
}

.setores-grid.is-list .setor-city{
    margin-bottom:10px;
}

.setores-grid.is-list .setor-card h3{
    margin-bottom:0;
}

.setores-grid.is-list .setor-card p{
    margin-bottom:0;
}

.setores-grid.is-list .setor-detail{
    margin-top:0;
    padding-top:0;
    border-top:0;
}

.setor-card.is-hidden{
    display:none !important;
}

.setores-empty{
    display:none;
    background:#fff;
    border:1px solid rgba(52,74,84,.08);
    padding:34px;
    color:#111;
    font-size:16px;
    line-height:1.4;
    font-weight:600;
}

.setores-empty.show{
    display:block;
}

@media(max-width:960px){

    .setores-controls{
        align-items:flex-start;
        flex-direction:column;
    }

    .setores-grid.is-list .setor-card{
        grid-template-columns:1fr;
        gap:18px;
    }

}

@media(max-width:560px){

    .setores-filter-group,
    .setores-view-toggle{
        width:100%;
    }

    .setores-filter-group button,
    .setores-view-toggle button{
        flex:1 1 auto;
    }

}

/* =========================
   V24 Setores geolocation
========================= */


.setores-near-box{
    position:relative;
    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;

    margin:0 0 34px;
    padding:34px;

    background:
        radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 34%),
        linear-gradient(135deg, #344a54 0%, #0d171c 100%);

    color:#fff;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 24px 70px rgba(15,23,42,.16);
}

.setores-near-box::before{
    content:'';
    position:absolute;
    inset:0;
    background:url('<?php echo get_template_directory_uri(); ?>/assets/bgcruz.png') center/cover no-repeat;
    opacity:.06;
    pointer-events:none;
}

.setores-near-box > *{
    position:relative;
    z-index:2;
}

.setores-near-box span{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin-bottom:12px;

    color:rgba(255,255,255,.72);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.setores-near-box span::before{
    content:'';
    width:8px;
    height:8px;
    border-radius:999px;
    background:#8fc9bf;
}

.setores-near-box strong{
    display:block;
    margin-bottom:10px;

    color:#fff;
    font-size:32px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
}

.setores-near-box p{
    margin:0;
    max-width:650px;

    color:rgba(255,255,255,.78);
    font-size:15px;
    line-height:1.5;
    font-weight:600;
}

.setores-near-box .btn{
    flex:0 0 auto;

    min-height:50px;
    padding:0 22px;

    background:#fff;
    color:#1b2b34;
    border:0;

    box-shadow:0 14px 34px rgba(0,0,0,.16);
}

.setores-near-box .btn:hover{
    background:#8fc9bf;
    color:#0d171c;
    transform:translateY(-2px);
}

@media(max-width:760px){
    .setores-near-box{
        flex-direction:column;
        align-items:flex-start;
        padding:28px;
    }

    .setores-near-box strong{
        font-size:26px;
        line-height:1.08;
    }

    .setores-near-box .btn{
        width:100%;
    }
}

.setor-card.is-nearest{
    border-color:var(--ink);
    box-shadow:0 20px 55px rgba(52,74,84,.14);
}

.setor-card.is-nearest:before{
    content:'Setor mais próximo';
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-height:30px;
    margin-bottom:14px;
    padding:0 12px;
    color:#fff;
    background:var(--ink);
    font-size:12px;
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.08em;
}

@media(max-width:760px){

    .setores-near-box{
        align-items:flex-start;
        flex-direction:column;
        padding:28px;
    }

    .setores-near-box .btn{
        width:100%;
    }

}

/* =========================
   V28 Setores geo focus
========================= */

.setores-near-box{
    margin-bottom:42px;
}

.setores-view-toggle{
    display:none !important;
}

.setores-grid.is-list{
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.setores-grid.has-nearest-focus .setor-card{
    opacity:.24;
    transform:scale(.985);
    filter:grayscale(.15);
    transition:
        opacity .28s ease,
        transform .28s ease,
        filter .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}

.setores-grid.has-nearest-focus .setor-card.is-nearest{
    opacity:1;
    transform:scale(1);
    filter:none;
}



@media(max-width:1100px){

    .setores-grid.is-list{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:720px){

    .setores-grid.is-list{
        grid-template-columns:1fr;
    }

}



/* =========================
   V36 WhatsApp Lucide Fix
========================= */

.setor-contacts{
    gap:10px;
}

.setor-contacts .whatsapp-contact,
.whatsapp-contact{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    max-width:100%;
    color:#111;
    font-size:15px;
    line-height:1.35;
    font-weight:600;
    text-decoration:none;
    transition:
        color .22s ease,
        opacity .22s ease,
        transform .22s ease;
}

.setor-contacts .whatsapp-contact:hover,
.whatsapp-contact:hover{
    color:var(--ink);
    opacity:.82;
    transform:translateY(-1px);
}

.setor-contacts .contact-name{
    font-weight:800;
}

.contact-phone{
    white-space:nowrap;
}

.wa-lucide{
    width:18px;
    height:18px;
    color:#25d366;
    stroke-width:2.3;
    flex:0 0 auto;
}



/* =========================
   V37 Setores 500 Fix
========================= */

.setor-contacts{
    gap:10px;
}

.setor-contacts .whatsapp-contact,
.whatsapp-contact{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    max-width:100%;
    color:#111;
    font-size:15px;
    line-height:1.35;
    font-weight:600;
    text-decoration:none;
    transition:
        color .22s ease,
        opacity .22s ease,
        transform .22s ease;
}

.setor-contacts .whatsapp-contact:hover,
.whatsapp-contact:hover{
    color:var(--ink);
    opacity:.82;
    transform:translateY(-1px);
}

.setor-contacts .contact-name{
    font-weight:800;
}

.contact-phone{
    white-space:nowrap;
}

.wa-lucide{
    width:18px;
    height:18px;
    color:#25d366;
    stroke-width:2.3;
    flex:0 0 auto;
}



/* =========================
   V40 Litoral + WhatsApp official icon
========================= */

.setor-contacts .whatsapp-contact{
    display:flex;
    align-items:center;
    gap:7px;
    width:max-content;
    max-width:100%;
    color:#111;
    font-size:15px;
    line-height:1.35;
    font-weight:600;
}

.wa-official-icon{
    width:18px;
    height:18px;
    object-fit:contain;
    flex:0 0 auto;
}

.setor-contacts .contact-phone{
    white-space:nowrap;
    font-weight:800;
}

.setor-contacts .contact-separator{
    color:rgba(17,17,17,.5);
}

.setor-contacts .contact-name{
    font-weight:600;
}



/* =========================
   V41 WhatsApp inline SVG
========================= */

.wa-official-icon{
    width:18px;
    height:18px;
    flex:0 0 auto;
    display:inline-block;
}



/* =========================
   V42 Lucide WhatsApp icon
========================= */

.wa-lucide{
    width:18px;
    height:18px;
    color:#25d366;
    stroke-width:2.4;
    flex:0 0 auto;
    display:inline-block;
}

.setor-contacts .whatsapp-contact svg{
    width:18px;
    height:18px;
    color:#25d366;
    stroke-width:2.4;
    flex:0 0 auto;
}



/* =========================
   V43 4K Responsive
========================= */

.hero-stage{
    min-height:78vh;
}

.hero-slide img{
    width:100%;
    height:78vh;
    object-fit:cover;
}

.brand img{
    width:140px;
}

@media(min-width:1800px){

    :root{
        --max:1480px;
    }

    body{
        font-size:18px;
    }

    .topbar{
        height:118px;
    }

    .menu{
        gap:54px;
        font-size:15px;
    }

    .section{
        padding:92px 0;
    }

    .section.sectors{padding-bottom: 0}

    .section h2{
        font-size:58px;
    }

    .hero-stage{
        min-height:82vh;
    }

    .hero-slide img{
        height:82vh;
    }

    .dcec-grid{
        gap:90px;
    }

    .article p,
    .sector-text p,
    .setor-card p{
        font-size:18px;
        line-height:1.6;
    }

    .life-grid{
        gap:34px;
    }

    .life-card{
        font-size:32px;
    }

    .setores-grid{
        grid-template-columns:repeat(4,1fr);
        gap:28px;
    }

    .setor-card{
        padding:34px;
    }

    .footer{
        padding:72px 0 58px;
    }

    .footer-grid{
        gap:90px;
    }
}



/* =========================
   V44 Banner large screens fix
========================= */

.hero-stage{
    min-height:auto;
    background:#f5f5f3;
}

.hero-slide img{
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center;
}

@media(min-width:1600px){

    .hero-slider{
        background:#f5f5f3;
    }

    .hero-stage{
        max-height:760px;
        min-height:auto;
        display:flex;
        align-items:center;
        justify-content:center;
        background:#f5f5f3;
    }

    .hero-slide{
        width:100%;
    }

    .hero-slide img{
        width:100%;
        max-height:760px;
        height:auto;
        object-fit:contain;
        object-position:center center;
    }

}

@media(min-width:2200px){

    .hero-stage{
        max-height:820px;
    }

    .hero-slide img{
        max-height:820px;
    }

}
