/*==========================================
RESET
==========================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;

}

body{


    background:#F6F0E7;

    color:#2E241C;

    font-family:"Cormorant Garamond",serif;

    overflow-x:hidden;

}

img{

    display:block;

    max-width:100%;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

.fita{
    width:100%;
    height:18px;

    background:url("../images/fita-dourada.png") repeat-x center;
    background-size:100% 100%;
}



/*==========================================
VARIÁVEIS
==========================================*/

:root{

    --primary:#A67C2D;

    --primary-dark:#8D6620;

    --brown:#2D1B12;

    --bege:#F6F0E7;

    --white:#FFFFFF;

    --text:#34281E;

    --container:1280px;

}

/*==========================================
CONTAINER
==========================================*/

.container{

    width:min(92%,1280px);

    margin:auto;

}

/*==========================================
SEÇÕES
==========================================*/

section{

    position:relative;

    width:100%;

}

.subtitle{

    display:inline-block;

    color:var(--primary);

    font-size:15px;

    font-weight:600;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:18px;

}

.section-heading{

    text-align:center;

    margin-bottom:70px;

}

.section-heading h2{

    font-family:"Cinzel",serif;

    font-size:52px;

    color:var(--brown);

    margin-bottom:25px;

}

.section-heading p{

    width:700px;

    margin:auto;

    font-size:22px;

    color:#6E655D;

    line-height:1.7;

}

/*==========================================
HEADER
==========================================*/

header{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:999;
}

nav{
    width:100%;
    height:60px;
    background:#2B170D;

    display:flex;
    justify-content:center; /* centraliza o ul */
    align-items:center;
}

nav ul{
    display:flex;
    gap:0;
    margin:0;
    padding:0;
    list-style:none;
}

nav li{
    padding:0;
}

nav li a{
    display:flex;
    align-items:center;
    justify-content:center;

    height:60px;
    min-width:110px;

    color:#F5EBDD;

    font-family:"Cinzel", serif;
    font-size:14px;
    text-transform:uppercase;

    transition:.3s;
}

nav li.active{
    background:#F3E6C7;
}

nav li.active a{
    color:#2B170D;
}

nav li:hover{
    background:#F3E6C7;
}

nav li:hover a{
    color:#2B170D;
}
/*==========================================
HERO
==========================================*/

.hero{
    position: relative;
    height: 850px;
    overflow: hidden;

}

.hero-bg{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

}

.overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

    rgba(26,18,10,.60),

    rgba(26,18,10,.45)

    );

}

.hero .container{

    position:relative;

    z-index:2;

    height:100%;

    display:flex;

    align-items:center;

}

.hero-content{

    width:650px;

}

.hero h1{

    color:white;

    font-family:"Cinzel",serif;

    font-size:74px;

    line-height:1.08;

}

.hero h1 span{

    display:block;

    color:#D6AF58;

}

.hero p{

    margin-top:30px;

    color:white;

    font-size:24px;

    line-height:1.8;

}

.hero-buttons{

    display:flex;

    gap:18px;

    margin-top:45px;

}

.hero-buttons a{

    padding:18px 38px;

    border-radius:60px;

    font-family:Poppins;

    font-size:15px;

}

.hero-buttons a:first-child{

    background:#A67C2D;

    color:white;

}

.hero-buttons a:last-child{

    border:2px solid white;

    color:white;

}

/*==========================================
ESTATÍSTICAS
==========================================*/

.numbers{
    position:relative;
    z-index:30;
}

.numbers-wrapper{
    width:100%;

    background:#F8F0E3;

    display:grid;
    grid-template-columns:repeat(4,1fr);

    box-shadow:0 25px 50px rgba(0,0,0,.08);
}
.number{

    padding:55px 35px;

    text-align:center;

    position:relative;

}

.number:not(:last-child)::after{

    content:"";

    position:absolute;

    right:0;

    top:25%;

    width:1px;

    height:50%;

    background:#DDC9A4;

}

.number h2{

    font-family:"Cinzel";

    color:#A67C2D;

    font-size:58px;

}

.number h4{

    margin-top:10px;

    font-family:Poppins;

    font-size:15px;

    letter-spacing:1px;

}

.number p{

    margin-top:15px;

    color:#6E655D;

    font-size:18px;

    line-height:1.6;

}

/*==================================================
IGREJAS EM DESTAQUE
==================================================*/

.featured{

    padding:120px 0;

    background:#F6F0E7;

}

.featured-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:32px;

    margin-top:70px;

}

.card{

    background:#FFF;

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.35s ease;

}

.card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(0,0,0,.14);

}

.card-image{

    position:relative;

    height:320px;

    overflow:hidden;

}

.card-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

.card:hover .card-image img{

    transform:scale(1.08);

}

.card-image span{

    position:absolute;

    top:20px;

    left:20px;

    background:#F2E8D5;

    color:#2D1B12;

    padding:10px 18px;

    border-radius:50px;

    font-family:Poppins,sans-serif;

    font-size:13px;

    letter-spacing:1px;

    font-weight:600;

}

.card-content{

    padding:35px;

}

.card-content h3{

    font-family:"Cinzel",serif;

    color:#2D1B12;

    font-size:30px;

    line-height:1.3;

    margin-bottom:18px;

}

.card-content p{

    color:#6B645C;

    font-size:20px;

    line-height:1.8;

    margin-bottom:28px;

}

.card-content a{

    color:#A67C2D;

    font-family:Poppins,sans-serif;

    font-weight:600;

    transition:.3s;

}

.card-content a:hover{

    color:#7F5A17;

}

/*==================================================
HISTORY
==================================================*/

.history{

    padding:140px 0;

    background:#2D1B12;

}

.history .container{

    display:grid;

    grid-template-columns:1fr 520px;

    align-items:center;

    gap:90px;

}

.history-content h2 span{

    color:#D5B066;

}

.history-content h2{

    color:#FFF;

    font-family:"Cinzel",serif;

    font-size:56px;

    line-height:1.2;

    margin:30px 0;

}

.history-content p{

    color:#E3DDD7;

    font-size:22px;

    line-height:1.9;

    margin-bottom:40px;

}

.history-content a{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:190px;

    height:58px;

    border-radius:50px;

    background:#A67C2D;

    color:#FFF;

    font-family:Poppins;

}

.history-image{

    position:relative;

    width:520px;
    height:620px;

}


.foto-historia{

    width:100%;
    height:100%;

    object-fit:cover;

    border-radius:10px;

}


.moldura{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    z-index:2;

    transform:scale(1.05);
}

/*==================================================
TOUR
==================================================*/

.tour{

    padding:130px 0;

    background:#F6F0E7;

}

.tour-card{

    position:relative;

    border-radius:24px;

    overflow:hidden;

    margin-top:70px;

}

.tour-card iframe{

    width:100%;

    height:620px;

    object-fit:cover;

}

.tour-badge{

    position:absolute;

    top:25px;

    right:25px;

    z-index:3;

    background:#F2E8D5;

    color:#2D1B12;

    padding:12px 22px;

    font-family:Poppins,sans-serif;

    font-size:13px;

    letter-spacing:1px;

    font-weight:600;

}

/*==================================================
FOOTER
==================================================*/

.footer{
    position:relative;

    background:linear-gradient(
        180deg,
        #3A2418 0%,
        #2D1B12 45%,
        #24150E 100%
    );

    overflow:hidden;

    padding:80px 0 35px;
}


/*==========================================
TEXTURA DE FUNDO
==========================================*/

.footer::before{
    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at left,
            rgba(255,255,255,.03),
            transparent 55%
        ),

        radial-gradient(
            circle at right,
            rgba(255,255,255,.02),
            transparent 60%
        );

    pointer-events:none;
}


/*==========================================
CONTAINER
==========================================*/

.footer .container{
    position:relative;
    z-index:2;
}


/*==========================================
LINHA SUPERIOR
==========================================*/

.footer-top-line{
    width:min(92%,1720px);

    margin:0 auto 70px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:25px;
}

.footer-top-line .line{
    flex:1;

    height:2px;

    background:linear-gradient(
        90deg,
        transparent,
        #D7A63F,
        transparent
    );

    opacity:.9;
}

.cross{
    width:42px;
    height:42px;

    display:flex;

    align-items:center;
    justify-content:center;

    color:#D7A63F;

    font-size:28px;

    font-family:"Cinzel",serif;
}


/*==========================================
LAYOUT DO FOOTER
==========================================*/

.footer-content{
    display:grid;

    grid-template-columns:1fr 1fr 1fr;

    width:100%;

    padding-bottom:60px;
}



/*==========================================
COLUNA DA LOGO
==========================================*/




/* Divisória entre logo/texto e navegação */




/*==========================================
LOGO
==========================================*/

.footer-logo-column{
    align-items:flex-start;

    justify-content:center;

    padding:0 55px 0 0;
}


.footer-logo{
    width:310px;

    max-width:100%;

    height:auto;

    display:block;
}



/*==========================================
TEXTO INSTITUCIONAL
==========================================*/

.footer-text-column{
    justify-content:center;

    padding:0 60px;

    border-left:1px solid rgba(214,161,61,.45);

    border-right:1px solid rgba(214,161,61,.45);
}

.footer-text-column p{
    margin:0;

    max-width:470px;

    color:#E6D8CC;

    font-family:"Cormorant Garamond",serif;

    font-size:20px;

    line-height:1.65;

    font-weight:400;
}


.footer-column{
    min-height:280px;

    display:flex;

    flex-direction:column;

    justify-content:flex-start;
}


/*==========================================
COLUNA NAVEGUE
==========================================*/

.footer-nav{
    justify-content:flex-start;

    padding:0 0 0 60px;
}



/* Divisória da coluna Navegue */




/*==========================================
DETALHE DOURADO
==========================================*/

.footer-nav::before{
    content:"";

    width:65px;

    height:2px;

    background:#A67C2D;

    margin-bottom:28px;

    opacity:.8;
}


/*==========================================
TÍTULO NAVEGUE
==========================================*/

.footer-nav h3{
    display:flex;

    align-items:center;

    gap:14px;

    margin:0 0 32px;

    color:#F7EFE6;

    font-family:"Cinzel",serif;

    font-size:28px;

    font-weight:500;

    letter-spacing:1px;
}

.footer-nav h3 img{
    width:30px;

    height:30px;

    object-fit:contain;
}



/*==========================================
LINKS DO NAVEGUE
==========================================*/

.footer-nav a{
    display:flex;

    align-items:center;

    width:max-content;

    margin-bottom:18px;

    color:#EADFD4;

    font-family:"Cormorant Garamond",serif;

    font-size:20px;

    text-decoration:none;

    transition:.3s;
}


/* Bolinha dourada */

.footer-nav a::before{
    content:"";

    width:7px;

    height:7px;

    flex-shrink:0;

    border-radius:50%;

    background:#A67C2D;

    margin-right:14px;

    transition:.3s;
}


/* Hover */

.footer-nav a:hover{
    color:#D6A13D;

    transform:translateX(6px);
}

.footer-nav a:hover::before{
    transform:scale(1.3);
}

/*==========================================
RODAPÉ INFERIOR
==========================================*/

.footer-bottom{
    border-top:1px solid rgba(214,161,61,.35);

    margin-top:10px;
    margin-bottom:10px;

    padding-top:25px;
    padding-bottom: 25px;

    display:grid;

    grid-template-columns:1fr auto 1fr;

    align-items:center;

    gap:30px;
}

.footer-veneravel {
    color:#E7D9CF;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 1.25rem;
    margin-bottom:10px;
    padding-top:25px;
    margin-top:10px;
    border-top: 1px solid rgba(214,161,61,.35);
}


.footer-bottom p{
    color:#E7D9CF;

    font-size:18px;

    margin:0;
}

.footer-map{
    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;
}

.footer-map img{
    width:80px;

    height:auto;

    display:block;

    opacity:.9;
}

.footer-links{
    display:flex;

    align-items:center;

    justify-content:flex-end;

    gap:35px;
}

.footer-links a{
    color:#EFE4DA;

    font-size:18px;

    transition:.3s;
}

.footer-links a:hover{
    color:#D6A13D;
}


/*==================================================
RESPONSIVO
==================================================*/

@media (max-width:1024px){

    .footer-content{
        grid-template-columns:1fr;

        gap:50px;
    }

    .footer-nav{
        padding-left:0;
        padding-right:0;

        align-items:center;
    }

    .footer-nav::after{
        display:none;
    }

    .footer-nav a{
        width:auto;
    }

    .footer-bottom{
        grid-template-columns:1fr;

        text-align:center;
    }

    .footer-links{
        justify-content:center;
    }

    .footer-map{
        justify-content:center;
    }
}


@media (max-width:768px){

    .footer-logo{
        width:260px;
    }

    .footer h3{
        font-size:24px;
    }

    .footer-nav a{
        font-size:18px;
    }
}


@media (max-width:480px){

    .footer-links{
        flex-direction:column;

        gap:15px;
    }

    .footer-bottom{
        gap:20px;
    }
}

/*==========================================
TÍTULOS
==========================================*/

.footer h3 img{

    width:34px;

}


/*==========================================
LOGO
==========================================*/

.footer-logo{

    position:relative;

    z-index:2;

    width:390px;

    margin-bottom:32px;

}

/*==================================================
COLUNA CENTRAL
==================================================*/

.footer-nav{

    display:flex;

    flex-direction:column;

    padding-left:60px;

}

.footer-nav h3{

    margin-bottom:38px;

}

.footer-nav a{

    display:flex;

    align-items:center;

    position:relative;

    width:max-content;

    margin-bottom:20px;

    color:#EADFD4;

    font-size:22px;

    font-weight:400;

    transition:.35s;

}

.footer-nav a::before{

    content:"";

    width:8px;

    height:8px;

    border-radius:50%;

    background:#A67C2D;

    margin-right:14px;

    transition:.35s;

}

.footer-nav a:hover{

    color:#D6A13D;

    transform:translateX(8px);

}

.footer-nav a:hover::before{

    transform:scale(1.35);

}

/*==================================================
ÍCONE DOS TÍTULOS
==================================================*/

.footer h3 img{

    width:30px;

    height:30px;

    opacity:.9;

}

/*==================================================
PEQUENO DETALHE DOURADO
==================================================*/

.footer-nav::before{

    content:"";

    width:65px;

    height:2px;

    background:#A67C2D;

    margin-bottom:28px;

    opacity:.75;

}
/*==================================================
RESPONSIVO
==================================================*/

/* ==================================================
TABLET
================================================== */

@media (max-width: 1024px){

    .footer-nav{
        padding-left:0;
        padding-right:0;
        align-items:center;
    }

    .footer-nav a{
        width:auto;
    }
    .hero-content{
        width:100%;
        max-width:650px;
    }

    .hero h1{
        font-size:58px;
    }

    .section-heading p{
        width:100%;
    }

    .numbers-wrapper{
        grid-template-columns:repeat(2,1fr);
    }

    .featured-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .churches-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .churches-filters{
        flex-direction:column;
        align-items:center;
    }

    .churches-filters input,
    .churches-filters select{
        width:100%;
        max-width:500px;
        font-size:20px;
    }

    .churches-header h1{
        font-size:56px;
    }

    .history .container{
        grid-template-columns:1fr;
        text-align:center;
    }

    .history-image{
        width:100%;
        max-width:520px;
        margin:auto;
    }

    .footer-content{
        grid-template-columns:1fr;
        gap:50px;
    }

    .footer-nav::after{
        display:none;
    }

    .footer-bottom{
        grid-template-columns:1fr;
        text-align:center;
    }

    .footer-links{
        justify-content:center;
    }

    .footer-map{
        display:flex;
        justify-content:center;
    }
}


/* ==================================================
CELULAR
================================================== */

@media (max-width:768px){

    nav{
        height:auto;
    }

    nav ul{
        width:100%;
        justify-content:center;
        flex-wrap:wrap;
    }

    nav li a{
        min-width:90px;
        font-size:13px;
    }

    .hero{
        height:700px;
    }

    .hero-content{
        width:100%;
        text-align:center;
    }

    .hero h1{
        font-size:44px;
    }

    .hero p{
        font-size:20px;
    }

    .hero-buttons{
        justify-content:center;
        flex-wrap:wrap;
    }

    .numbers-wrapper{
        grid-template-columns:1fr;
    }

    .number:not(:last-child)::after{
        display:none;
    }

    .featured-grid{
        grid-template-columns:1fr;
    }

    .churches-grid{
        grid-template-columns:1fr;
    }

    .churches-header h1{
        font-size:42px;
    }

    .churches-header p{
        font-size:20px;
    }

    .card-image{
        height:260px;
    }

    .history{
        padding:90px 0;
    }

    .history h2{
        font-size:42px;
    }

    .history-image{
        height:auto;
    }

    .tour-card iframe{
        height:450px;
    }

    .footer-logo{
        width:260px;
    }

    .footer h3{
        font-size:24px;
    }

    .footer-nav a{
        font-size:18px;
    }
}


/* ==================================================
CELULARES PEQUENOS
================================================== */

@media (max-width:480px){

     .hero-logo{
        width:100%;
        display:flex;
        justify-content:center;
    }

    .hero-logo img{
        width:90%;
        max-width:450px;
        height:auto;
    }

    .hero{
        height:620px;
    }

    .hero h1{
        font-size:32px;
        line-height:1.2;
    }

    .hero p{
        font-size:18px;
    }

    .hero-buttons{
        flex-direction:column;
        align-items:center;
    }

    .hero-buttons a{
        width:100%;
        max-width:280px;
        text-align:center;
    }

    .section-heading h2{
        font-size:32px;
    }

    .section-heading p{
        font-size:18px;
    }

    .number{
        padding:40px 20px;
    }

    .number h2{
        font-size:46px;
    }

    .card-content h3{
        font-size:24px;
    }

    .card-content p{
        font-size:18px;
    }

    .history h2{
        font-size:32px;
    }

    .history-content p{
        font-size:18px;
    }

    .history-image{
        width:100%;
    }

    .tour-card iframe{
        height:350px;
    }

    .footer-links{
        flex-direction:column;
        gap:15px;
    }
}

/*==========================================
PÁGINA IGREJAS
==========================================*/

.churches-page{

    padding:120px 0 160px;

    background:#F6F0E7;
}

.churches-header{

    text-align:center;

    max-width:900px;

    margin:0 auto 70px;
}

.churches-header h1{

    font-family:"Cinzel",serif;

    font-size:72px;

    color:#2D1B12;

    margin-bottom:25px;
}

.churches-header h1 span{

    color:#C8A04B;
}

.churches-header p{

    font-size:28px;

    line-height:1.7;

    color:#4E433A;
}

.churches-filters{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-bottom:70px;
}

.churches-filters input{

    width:700px;

    height:72px;

    border:1px solid #C8A04B;

    border-radius:60px;

    background:#FFF;

    padding:0 35px;

    font-size:28px;

    font-family:"Cormorant Garamond";
}

.churches-filters select{

    width:180px;

    height:72px;

    border:1px solid #C8A04B;

    border-radius:60px;

    background:#FFF;

    font-size:24px;

    padding:0 25px;

    color:#6A6058;
}

.churches-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:40px;
}

.church-card{

    background:#F9F3EB;

    border-radius:12px;

    overflow:hidden;

    transition:.3s;
}

.church-card:hover{

    transform:translateY(-8px);
}

.church-image{

    position:relative;

    height:240px;
}

.church-image img{

    width:100%;

    height:100%;

    object-fit:cover;
}

.church-image span{

    position:absolute;

    top:15px;

    left:15px;

    background:#F2E8D5;

    padding:8px 18px;

    border-radius:40px;

    font-family:"Cinzel";

    font-size:14px;
}

.church-content{

    padding:24px;
}

.church-content h3{

    font-family:"Cinzel";

    font-size:24px;

    color:#2D1B12;

    margin-bottom:14px;
}

.church-content p{

    color:#746C65;

    font-size:18px;

    line-height:1.5;

    margin-bottom:20px;
}

.church-content a{

    color:#C8A04B;

    font-family:"Cinzel";

    font-size:18px;

    font-weight:600;
}




/*==================================================
ARTE SACRA
==================================================*/

.art-image{

    height:450px;
}

.art-image img{

    width:100%;
    height:100%;

    object-fit:cover;
}

.art-content{

    text-align:left;
}

.art-content h3{

    font-family:"Cinzel";

    font-size:34px;

    color:#2D1B12;
}

.art-content h4{

    color:#C99B39;

    margin:15px 0 25px;
}

.art-content p{

    font-size:21px;

    line-height:1.8;
}

/*==================================================
EVENTOS
==================================================*/

/* ==================================================
   PÁGINA DETALHE DA IGREJA
   FOTO EM CIMA + INFORMAÇÕES EMBAIXO
================================================== */

.church-hero {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #2D1B12;
}

.church-photo {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.church-photo img {
    display: block;
    width: 100%;
    height: 700px;
    max-width: none;
    object-fit: cover;
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 768px) {

    .church-photo img { height: 250px; }
}


/* ==================================================
   CELULAR
================================================== */

@media (max-width: 480px) {

    .church-photo img { height: 220px; }
}



/*==================================================
PÁGINA SOBRE
(migrado do <style> de sobre.html)
==================================================*/

/*==========================================
SOBRE
==========================================*/

.privacy-box {
    background-color: #f6f0e7;
    position: relative;
    border: 2px solid #D5B06A; 
    padding: 40px;
    margin: 40px auto;
    max-width: 1100px;
    box-sizing: border-box;
}

.privacy-box h2 {
    color: #c9a227;
    text-align: center;
    margin-top: 0;
    margin-bottom: 30px;
}

.privacy-box .about-text {
    color: #fff;
}

.about-page{

    background:#3A2316;

    position:relative;

    padding:90px 0;

}
.about-page::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:18px;

    background:url(images/fita-dourada.png);

}

.about-page::after{

    content:"";

    position:absolute;

    bottom:0;

    left:0;

    width:100%;

    height:18px;

    background:url(images/fita-dourada.png);

}

.about-page h2{

    text-align:center;

    font-family:"Cinzel",serif;

    font-size:74px;

    letter-spacing:2px;

    margin-bottom:70px;

    font-weight:400;

    margin-bottom:55px;

    color:#2E241C;

}

.about-text{
    width:88%;
    max-width:1500px;
    margin:auto;
}

.about-text p{

    margin-bottom:22px;

    font-size:21px;

    line-height:1.7;

    text-align:justify;

    color:#7A726B;

}

.about-text h3{

    font-family:"Cinzel",serif;

    font-weight:400;

    font-size:26px;

    letter-spacing:1px;

    color:#3A2316;

    margin:40px 0 18px;

}

.about-text ul{

    margin:0 0 22px;

    padding-left:28px;

    list-style:disc;

}

.about-text li{

    text-align:left;

    font-size:21px;

    line-height:1.7;

    color:#7A726B;

    margin-bottom:10px;

}
/*==========================================
TERMOS
==========================================*/

.terms{

    background:#F6F0E7;

    padding:90px 0;

}

.terms-box{

    position:relative;

    max-width:1050px;

    margin:auto;

    background:#F6F0E7;

    border:2px solid #D5B06A;

    padding:90px 90px 70px;

}

.terms h2{

    text-align:center;

    font-family:"Cinzel",serif;

    font-size:58px;

    font-weight:400;

    color:#3A2316;

    margin-bottom:70px;

}
   .terms-content{

    min-height:420px;

    transition:.35s;

}

.terms-content.fade{

    opacity:0;

}

.terms-content p{

    text-align:justify;

    text-transform:uppercase;

    font-size:20px;

    line-height:1.5;

    letter-spacing:1px;

    color:#3A2316;

}

.terms-content article > *:first-child{

    margin-top:0;

}

.terms-content h1,
.terms-content h2{

    font-family:"Cinzel",serif;

    font-weight:400;

    text-align:center;

    text-transform:uppercase;

    color:#3A2316;

}

.terms-content h1{

    font-size:32px;

    margin:0 0 20px;

}

.terms-content h2{

    font-size:24px;

    margin:35px 0 18px;

}

.terms-content ul{
    margin:0 0 20px;
    padding-left:28px;
    list-style:disc;
}

.terms-content li{
    text-align:left;
    text-transform:uppercase;
    font-size:20px;
    line-height:1.5;
    letter-spacing:1px;
    color:#3A2316;
    margin-bottom:8px;
}

/*==========================================
CANTOS
==========================================*/

.corner{

    position:absolute;

    width:42px;

}

.top-left{

    top:18px;

    left:18px;

}

.top-right{

    top:18px;

    right:18px;

}

.bottom-left{

    left:18px;

    bottom:18px;

}

.bottom-right{

    right:18px;

    bottom:18px;

}
/*======================================
PARTNERS
======================================*/

.partners{

    width:100%;

    background:#fff;

}

.partners-top,
.partners-bottom{

    width:100%;
    height:18px;

    background:url("assets/images/fita-dourada.png") center/100% 100% no-repeat;
}

.text-center {
    text-align: center;
}

.partners-content{

    width:min(92%,1280px);

    margin:auto;

    min-height:90px;

    display:flex;

    justify-content:space-evenly;

    align-items:center;

    padding:20px 0;

}

.partners-content img{
    max-height:1200px;
    width:auto;
    object-fit:contain;
}

.hero-logo{

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    z-index:5;

}

.hero-logo img{

    width:750px;

    height:auto;

}
.terms-navigation{

    margin-top:60px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:40px;

}
.page-btn{

    width:48px;

    height:48px;

    border:2px solid #A67C2D;

    border-radius:50%;

    background:transparent;

    color:#A67C2D;

    font-size:24px;

    cursor:pointer;

    transition:.3s;

}

.page-btn:hover{

    background:#A67C2D;

    color:#FFF;

}
#pageNumber{

    font-family:"Cinzel", serif;

    font-size:34px;

    color:#3A2316;

    min-width:120px;

    text-align:center;

}

/*==================================================
CARROSSEL — ARTE SACRA
==================================================*/

.sacred-art{
    padding:50px 0 60px;
    background:#F6F0E7;
    text-align:center;
    overflow:hidden;
}

.sacred-art h2{
    font-family:"Cinzel", serif;
    font-size:46px;
    color:#2D1B12;
    margin-bottom:50px;
}


/*==========================================
CONTAINER DO CARROSSEL
==========================================*/

.sacred-carousel{
    position:relative;
    width:100%;
    overflow:hidden;
}


/*==========================================
TRACK
==========================================*/

.sacred-track{
    position:relative;
    width:100%;
}


/*==========================================
SLIDE
==========================================*/

.sacred-slide{
    display:none;

    width:100%;

    grid-template-columns:1fr 1fr;

    gap:60px;

    background:#FFF;

    padding:70px 8%;

    align-items:center;
}

.sacred-slide.active{
    display:grid;

    
}


/*==========================================
ANIMAÇÃO
==========================================*/

@keyframes sacredFade{

    from{
        opacity:0;
        transform:translateX(25px);
    }

    to{
        opacity:1;
        transform:translateX(0);
    }

}


/*==========================================
IMAGEM
==========================================*/

.sacred-slide .art-image{

    width:100%;
    height:450px;

    overflow:hidden;
}

.sacred-slide .art-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .6s ease;
}

.sacred-slide:hover .art-image img{
    transform:scale(1.03);
}


/*==========================================
CONTEÚDO
==========================================*/

.sacred-slide .art-content{

    text-align:left;
}

.sacred-slide .art-content h3{

    font-family:"Cinzel", serif;

    font-size:34px;

    color:#2D1B12;

    line-height:1.3;

    margin-bottom:12px;
}

.sacred-slide .art-content h4{

    color:#C99B39;

    font-family:"Cormorant Garamond", serif;

    font-size:24px;

    margin:0 0 25px;
}

.sacred-slide .art-content p{

    font-family:"Cormorant Garamond", serif;

    font-size:21px;

    line-height:1.8;

    color:#4E433A;
}


/*==========================================
SETAS
==========================================*/

.sacred-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    z-index:10;

    width:58px;
    height:58px;

    border:1px solid #C99B39;

    border-radius:50%;

    background:#2D1B12;

    color:#FFF;

    font-family:"Cormorant Garamond", serif;

    font-size:42px;

    line-height:1;

    display:flex;

    align-items:center;
    justify-content:center;

    cursor:pointer;

    transition:.3s;
}

.sacred-arrow:hover{

    background:#C99B39;

    transform:translateY(-50%) scale(1.08);
}

.sacred-prev{
    left:20px;
}

.sacred-next{
    right:20px;
}


/*==========================================
BOLINHAS
==========================================*/

.sacred-dots{

    display:flex;

    justify-content:center;
    align-items:center;

    gap:12px;

    margin-top:30px;
}

.sacred-dot{

    width:11px;
    height:11px;

    padding:0;

    border:none;

    border-radius:50%;

    background:#D4C5AF;

    cursor:pointer;

    transition:.3s;
}

.sacred-dot.active{

    width:30px;

    border-radius:20px;

    background:#C99B39;
}


/*==========================================
TABLET
==========================================*/

@media(max-width:1024px){

    .sacred-slide{

        grid-template-columns:1fr;

        gap:40px;

        padding:60px 10%;
    }

    .sacred-slide .art-image{

        height:400px;

        max-width:700px;

        margin:auto;
    }

    .sacred-slide .art-content{

        text-align:center;

        max-width:750px;

        margin:auto;
    }

}


/*==========================================
CELULAR
==========================================*/

@media(max-width:768px){

    .sacred-art{

        padding:70px 0 45px;
    }

    .sacred-art h2{

        font-size:36px;

        margin-bottom:35px;
    }

    .sacred-slide{

        padding:40px 55px;

        gap:30px;
    }

    .sacred-slide .art-image{

        height:300px;
    }

    .sacred-slide .art-content h3{

        font-size:27px;
    }

    .sacred-slide .art-content h4{

        font-size:21px;

        margin-bottom:18px;
    }

    .sacred-slide .art-content p{

        font-size:18px;

        line-height:1.7;
    }

    .sacred-arrow{

        width:42px;
        height:42px;

        font-size:32px;
    }

    .sacred-prev{
        left:8px;
    }

    .sacred-next{
        right:8px;
    }

}


/*==========================================
CELULAR PEQUENO
==========================================*/

@media(max-width:480px){

    .sacred-slide{

        padding:30px 45px;
    }

    .sacred-slide .art-image{

        height:250px;
    }

    .sacred-slide .art-content h3{

        font-size:24px;
    }

    .sacred-slide .art-content p{

        font-size:17px;

        text-align:justify;
    }

}

/*==========================================
PÁGINA SOBRE — RESPONSIVO
==========================================*/

@media (max-width:1024px){

   .partners-content{
        padding:20px;
        gap:30px;
    }

    .partners-content img{
        max-height:80px;
        max-width:200px;
    }
}

@media (max-width:768px){

    .hero-logo{
        width:100%;
        display:flex;
        justify-content:center;
    }

    .hero-logo img{
        width:90%;
        max-width:600px;
        height:auto;
    }
}

    .about-page h2{
        font-size:48px;
        margin-bottom:35px;
    }

    .terms-box{
        padding:60px 40px 50px;
    }

    .terms h2{
        font-size:40px;
    }

    .partners-content{
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        gap:30px;
        padding:25px 15px;
        height:auto;
    }

    .partners-content img{
        max-height:70px;
        max-width:180px;
    }
}



@media (max-width:480px){

    .about-page h2{
        font-size:36px;
    }

    .about-text p{
        font-size:18px;
    }

    .about-text h3{
        font-size:21px;
        margin:30px 0 14px;
    }

    .about-text li{
        font-size:18px;
    }

    .terms-box{
        padding:45px 22px 40px;
    }

    .terms h2{
        font-size:30px;
        margin-bottom:40px;
    }

    .terms-content p,
    .terms-content li{
        font-size:16px;
    }

    .terms-content h1{
        font-size:24px;
    }

    .terms-content h2{
        font-size:19px;
        margin:25px 0 14px;
    }

    .corner{
        width:26px;
    }

}

/*==========================================
PÁGINA SOBRE — AJUSTES DE ELEMENTOS COMPARTILHADOS
(.hero, .overlay e o footer têm valores próprios
nesta página, diferentes das demais)
==========================================*/

body:has(.about-page) .hero{
    margin-top:60px;
}

body:has(.about-page) .overlay{
    background:linear-gradient(
        rgba(26,18,10,.80),
        rgba(26,18,10,.65)
    );
}

body:has(.about-page) .footer-content{
    padding-bottom:80px;
}

body:has(.about-page) .footer-nav::after{
    height:360px;
}

body:has(.about-page) .footer-bottom{
    margin-top:20px;
    padding-top:35px;
    gap:45px;
}

@media (min-width:1025px){

    body:has(.about-page) .hero{
        height:700px;
    }

    body:has(.about-page) .footer-bottom{
        grid-template-columns:1fr auto auto auto;
    }

    body:has(.about-page) .footer-links{
        justify-content:flex-start;
    }

    body:has(.about-page) .footer-map{
        justify-content:flex-start;
    }

}

/* ==================================================
   IGREJA — INFORMAÇÕES CONFORME A REFERÊNCIA
   Apenas o bloco de informações é alterado.
================================================== */

.church-info{
    height:360px;
    width:100%;
    max-width:none;
    padding:45px 60px 70px;
    background:#ffffff;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:45px;
    text-align:left;
}

.church-info-main{
    min-width:0;
}

.church-info h1{
    margin:0;
    color:#C99B39;
    font-family:"Cinzel",serif;
    font-size:45px;
    line-height:1.2;
    font-weight:400;
    letter-spacing:.5px;
    text-transform:uppercase;
}

.church-divider{
    width:72%;
    height:1px;
    margin:18px 0 12px;
    background:#D7C6AA;
}

.church-info .church-description{
    max-width:650px;
    margin:0;
    color:#6E655D;
    font-family:"Cormorant Garamond",serif;
    font-size:23px;
    line-height:1.15;
}

.church-schedule{
    display:flex;
    gap:12px;
    align-items:stretch;
}

.schedule-card{
    width:180px;
    height: 270px;
    min-height:170px;
    padding:18px 10px 12px;
    border:1px solid #DEC58F;
    border-radius:6px;
    background: #F7F0E5;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    color:#34281E;
    text-align:center;
}

.schedule-icon{
    width:100px;
    height:90px;
    margin-bottom:7px;
    color:#C99B39;
}

.schedule-card strong{
    margin:0 0 3px;
    color:#34281E;
    font-family:"Cormorant Garamond",serif;
    font-size:30px;
    line-height:1.1;
    font-weight:500;
}

.schedule-card span{
    color:#34281E;
    font-family:"Cormorant Garamond",serif;
    font-size:20px;
    line-height:1.2;
    white-space:nowrap;
}

.schedule-line{
    width:68%;
    height:1px;
    margin-top:auto;
    background:#DEC58F;
}

@media (max-width:768px){
    .church-info{
        height:auto;
        min-height:250px;
        padding:28px 24px;
        grid-template-columns:1fr;
        gap:22px;
    }

    .church-info h1{
        font-size:27px;
    }

    .church-divider{
        width:100%;
        margin:14px 0 10px;
    }

    .church-info .church-description{
        max-width:none;
        font-size:16px;
        line-height:1.3;
    }

    .church-schedule{
        justify-content:center;
    }
}

@media (max-width:480px){
    .church-info{
        padding:24px 18px;
    }

    .church-info h1{
        font-size:23px;
    }

    .church-schedule{
        gap:8px;
    }

    .schedule-card{
        width:calc(50vw - 26px);
        max-width:123px;
        min-height:145px;
        padding:14px 7px 10px;
    }

    .schedule-icon{
        width:52px;
        height:52px;
    }
}
/* ==========================================
   FITA DAS INFORMAÇÕES DA IGREJA
   Dourado + detalhe marrom da referência
   ========================================== */

.church-hero > .fita,
.church-hero + .fita {
    height: 25px;
    width: 100%;

    /* Fundo marrom */
    background-color: #2D1B12;

    /* Fita dourada somente na parte superior */
    background-image: url("../images/fita-dourada.png");
    background-repeat: repeat-x;
    background-position: center top;
    background-size: 100% 8px;
}
