/* =======================================
   RESET E CONFIGURAÇÕES GERAIS
======================================= */

html,
body{
    height:100%;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

img{
    max-width:100%;
    height:auto;
}

html{
    overflow-x:hidden;
}


body{

    font-family:Arial, sans-serif;

    margin:0;

    background:#f5f7fa;

    display:flex;

    flex-direction:column;

}


/* =======================================
   MENU DESKTOP
======================================= */


.menu{

display:flex;

justify-content:center;

align-items:center;

flex-wrap:wrap;

gap:8px;

padding:15px 24px;

background:linear-gradient(
90deg,
#152742,
#1f3f63,
#122235
);

box-shadow:
0 8px 25px rgba(0,0,0,.18);

}


.menu a{

display:inline-flex;

align-items:center;

justify-content:center;

padding:12px 24px;

border-radius:40px;

background:rgba(255,255,255,.08);

border:1px solid rgba(255,255,255,.12);

color:#fff;

text-decoration:none;

font-size:16px;

font-weight:700;

transition:.28s;

box-shadow:
0 5px 14px rgba(0,0,0,.15);

}


.menu a:hover{

background:linear-gradient(
180deg,
#d7b45d,
#b88722
);

border-color:#f2d37b;

color:#fff;

transform:translateY(-3px);

box-shadow:
0 12px 22px rgba(0,0,0,.22);

}


/* =======================================
   MENU DROPDOWN DESKTOP
======================================= */


.menu-dropdown{

    position:relative;

}



.menu-btn{

display:flex;

align-items:center;

justify-content:center;

padding:13px 24px;

border-radius:40px;

background:rgba(255,255,255,.08);

border:1px solid rgba(255,255,255,.12);

color:#fff;

font-size:15px;

font-weight:700;

cursor:pointer;

transition:.28s;

box-shadow:
0 5px 14px rgba(0,0,0,.15);

}

.menu-btn:hover{

background:linear-gradient(
180deg,
#d7b45d,
#b88722
);

border-color:#f2d37b;

transform:translateY(-3px);

box-shadow:
0 12px 22px rgba(0,0,0,.22);

}


/* SUBMENU */


.submenu{

    position:absolute;


    top:58px;


    left:0;


    width:260px;


    background:#fff;


    border-radius:18px;


    box-shadow:0 20px 45px rgba(0,0,0,.20);


    overflow:hidden;


    z-index:999;


    opacity:0;


    visibility:hidden;


    transform:translateY(-20px) scale(.96);


    transition:

    opacity .35s ease,

    transform .35s ease,

    visibility 0s linear .35s;


    pointer-events:none;

}



.submenu.aberto{

    opacity:1;


    visibility:visible;


    transform:translateY(0) scale(1);


    transition:

    opacity .35s ease,

    transform .35s ease;


    pointer-events:auto;

}



.submenu a{

    display:block;


    color:#333 !important;


    text-decoration:none;


    padding:14px 18px;


    background:#fff;


    border-bottom:1px solid #eee;

}



.submenu a:hover{

    background:#f4f7fb;

}



.submenu .ver-todas{

    background:#16385d;


    color:#fff !important;


    font-weight:bold;

}


/* =======================================
   SUGESTÕES DA BUSCA
======================================= */


#sugestoesBusca{

    position:absolute;


    top:100%;


    left:0;


    width:100%;


    background:#fff;


    border-radius:8px;


    box-shadow:0 4px 15px rgba(0,0,0,.15);


    overflow:hidden;


    display:none;


    z-index:9999;


    max-height:300px;


    overflow-y:auto;

}



.sugestao{

    padding:12px;


    cursor:pointer;


    border-bottom:1px solid #eee;


    font-size:15px;

}



.sugestao:hover{

    background:#f5f5f5;

}


/* =======================================
   BARRA DE PESQUISA
======================================= */


.barra-pesquisa{

background:#eef3f8;

padding:22px 14px;

display:flex;

justify-content:center;

box-shadow:0 3px 10px rgba(0,0,0,.05);

}


.barra-pesquisa form{

width:100%;

max-width:760px;

}


.search-box{

display:flex;

align-items:center;

position:relative;


background:#fff;

border:2px solid #dbe4ee;

border-radius:50px;


padding:8px 8px 8px 18px;


box-shadow:0 8px 18px rgba(0,0,0,.06);

}


.search-box:focus-within{

border-color:#5f84c7;

}


.lupa{

font-size:24px;

opacity:.65;

margin-right:10px;

}


.search-box input{

flex:1;

border:none;

outline:none;

background:transparent;


font-size:20px;

padding:14px 8px;

}


.search-box button{

border:none;

cursor:pointer;


padding:15px 30px;

border-radius:40px;


font-size:17px;

font-weight:700;

color:#fff;


background:linear-gradient(
90deg,
#142844,
#214a77
);

}


/* =======================================
   MOBILE MENU / BUSCA
======================================= */


@media(max-width:768px){

.barra-pesquisa{

padding:15px 10px;

}


.search-box{

padding:6px;

gap:6px;

}


.lupa{

font-size:18px;

margin-right:6px;

}


.search-box input{

font-size:15px;

padding:10px 4px;

min-width:0;

}


.search-box button{

padding:10px 14px;

font-size:14px;

white-space:nowrap;

flex-shrink:0;

}


}


/* =======================================
   HEADER
======================================= */


header{

    text-align:center;

    padding:20px 10px;

}

/* =======================================
   LOGO PC
======================================= */


.logo-pc{

    display:flex;

    justify-content:center;

    align-items:center;

    padding:25px 10px;

    background:linear-gradient(
    180deg,
    #b32626,
    #3d0000
    );

    border-bottom:5px solid #c9ad3f;

}


.logo-pc img{

    width:100%;

    max-width:450px;

    height:auto;

    display:block;

}



/* =======================================
   HERO HOME
======================================= */


.hero-home{

    width:calc(100% - 40px);

    max-width:1140px;


    margin:25px auto 10px;


    padding:55px 30px;


    border-radius:28px;


    background:
    linear-gradient(
    135deg,
    #3b2a00 0%,
    #8f6b17 25%,
    #f3d37a 50%,
    #8f6b17 75%,
    #3b2a00 100%
    );


    background-size:300% 300%;


    box-shadow:

    0 10px 30px rgba(0,0,0,.25),

    inset 0 2px 8px rgba(255,255,255,.25);


    text-align:center;


    animation:ouroBrilho 80s ease infinite;


    box-sizing:border-box;

}



.hero-home h1{

    margin:0 0 15px;


    font-size:58px;


    color:#fff5cc;


    text-shadow:

    0 2px 0 #7a5b12,

    0 4px 10px rgba(0,0,0,.45),

    0 0 25px rgba(255,215,0,.35);

}



.hero-home p{

    margin:0;


    font-size:24px;

    font-weight:600;


    color:#fff8dc;


    text-shadow:

    0 2px 6px rgba(0,0,0,.35);

}



@keyframes ouroBrilho{


0%{

background-position:0% 50%;

}


15%{

background-position:100% 50%;

}


85%{

background-position:100% 50%;

}


100%{

background-position:0% 50%;

}


}



/* =======================================
   CONTAINER PRINCIPAL
======================================= */


.container{

    max-width:1250px;

    width:100%;


    margin:auto;


    padding:10px 20px;


    box-sizing:border-box;


    flex:1;

}



/* =======================================
   GRID DE ORAÇÕES
======================================= */


.grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:15px;

}



/* =======================================
   RESPONSIVO GRID
======================================= */


@media(max-width:900px){


.grid{

    grid-template-columns:repeat(2,1fr);

}


}



@media(max-width:500px){


.grid{

    grid-template-columns:1fr;

}


}



/* =======================================
   HERO MOBILE
======================================= */


@media(max-width:768px){


.hero-home{


    width:auto;


    max-width:none;


    margin:18px 12px;


    padding:35px 20px;


    border-radius:22px;


}



.hero-home h1{


    font-size:32px;

    line-height:1.15;


}



.hero-home p{


    font-size:18px;

    line-height:1.5;


}



.container{


    padding:12px;


}


}



/* =======================================
   CARDS DE ORAÇÕES
======================================= */


.card{

    background:#fff;

    border-radius:12px;

    overflow:hidden;


    box-shadow:

    0 3px 10px rgba(0,0,0,.1);


    will-change:transform;

    transition:.2s;

}



.card:hover{

    transform:translateY(-5px);

}



/* LINK DO CARD */


.card a{

    display:block;

    text-decoration:none;

    color:inherit;

}



/* IMAGEM DO CARD */


.card img{

    width:100%;

    height:190px;

    object-fit:cover;

    display:block;

}



/* CONTEÚDO DO CARD */


.card-content{

    padding:8px 10px;

}



.card h3{

    margin:0;

    font-size:15px;

}



.card p{

    font-size:13px;

    color:#666;

}



/* TITULO DA CATEGORIA */


.categoria{

    margin-top:25px;

    font-size:18px;

}



/* =======================================
   CARDS MOBILE
======================================= */


@media(max-width:768px){


.grid{

    grid-template-columns:1fr;

    gap:18px;

}



.card{

    border-radius:18px;

}



.card-content{

    padding:12px;

}



.card h3{

    font-size:20px;

    margin-bottom:8px;

    line-height:1.3;

}



.card p{

    font-size:15px;

    line-height:1.5;

}



.card img{

    height:195px;

}


}



/* =======================================
   BARRA SUPERIOR DE DESTAQUES
======================================= */


.top-bar{

    overflow:hidden;

    width:100%;


    background:#fff8e1;


    border-top:1px solid #f1d98a;

    border-bottom:1px solid #f1d98a;


    padding:2px 0;


    min-height:40px;


    display:flex;

    align-items:center;

}



.top-slider{

    display:flex;

    gap:30px;

    width:max-content;

}



.top-item{

    white-space:nowrap;

    text-decoration:none;


    font-size:15px;

    font-weight:700;


    color:#8a5a00;


    padding:8px 18px;


    background:#fff3c4;


    border-radius:30px;


    box-shadow:

    0 3px 8px rgba(0,0,0,.12);


    transition:.3s;


    -webkit-tap-highlight-color:transparent;

}



@media(min-width:769px){


.top-item:hover{


    background:#ffe082;


    transform:translateY(-2px);


}


}


@media(max-width:768px){


.top-item{

    font-size:12px;

    margin-right:20px;

}


.top-bar{

    padding:1px 0;

}


}



/* =======================================
   TITULO DA BARRA
======================================= */


.top-titulo{

    text-align:center;


    font-size:14px;

    font-weight:800;


    color:#fff;


    background:linear-gradient(
    90deg,
    #390000,
    #390000
    );


    padding:12px 0;


    margin-top:10px;

    margin-bottom:8px;


    letter-spacing:1px;

    text-transform:uppercase;


    box-shadow:0 2px 8px rgba(0,0,0,.08);

}


.titulo-secao-busca{

margin:45px 0 20px;

}

.titulo-secao-busca h2{

font-size:28px;

color:#16385d;

margin-bottom:8px;

}

.titulo-secao-busca p{

font-size:17px;

color:#666;

line-height:1.5;

}

.hero-busca{

max-width:1100px;

margin:25px auto 35px;

padding:35px 250px;

border-radius:20px;

background:linear-gradient(135deg,#16385d,#2d5f93);

color:#fff;

text-align:center;

box-shadow:0 12px 30px rgba(0,0,0,.12);

}

.hero-busca h1{

font-size:38px;

margin-bottom:15px;

font-weight:700;

}

.hero-busca p{

font-size:22px;

}

.termo-busca{

display:inline-block;

background:#ffd54f;

color:#16385d;

padding:8px 18px;

border-radius:50px;

font-weight:bold;

margin-left:8px;

box-shadow:0 4px 12px rgba(0,0,0,.15);

}

@media(max-width:768px){

.hero-busca{

padding:22px 18px;

margin:15px;

border-radius:16px;

}

.hero-busca h1{

font-size:26px;

}

.hero-busca p{

font-size:18px;

line-height:1.6;

}

.termo-busca{

display:block;

margin:12px auto 0;

width:fit-content;

font-size:18px;

}

}

/* =======================================
   RODAPÉ
======================================= */


.rodape{

    width:100%;


    border-top:4px solid #c9ad3f;


    background:linear-gradient(
    90deg,
    #152742,
    #1f3f63,
    #122235
    );


    padding:25px 15px;


    text-align:center;


    box-sizing:border-box;

}



.rodape-copy{

    color:#fff;

    font-size:16px;

    font-weight:700;


    margin-bottom:15px;

}



.rodape-links{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;


    gap:15px;

}



.rodape-links a{

    color:#fff;

    text-decoration:none;


    font-size:15px;

    font-weight:700;

}



.rodape-links a:hover{

    text-decoration:underline;

}



/* =======================================
   PAGINAÇÃO
======================================= */


.paginacao{


    width:calc(100% - 16px);


    margin:35px auto 45px;


    display:flex;


    justify-content:center;

    align-items:center;


    gap:8px;

    flex-wrap:wrap;



    padding:18px 22px;



    background:#fff;



    border-radius:20px;



    border:2px solid #d8c27a;



    box-shadow:

    0 10px 30px rgba(0,0,0,.08);



    box-sizing:border-box;

}



.paginacao a,
.paginacao span{


    min-width:42px;

    height:42px;



    display:flex;


    align-items:center;

    justify-content:center;



    padding:0 12px;



    border-radius:12px;



    text-decoration:none;



    background:#f2f4f7;



    color:#333;



    font-weight:700;



    box-sizing:border-box;



    transition:.2s;

}



.paginacao a:hover{


    background:#e4e9ef;


    transform:translateY(-2px);

}



.paginacao .ativo{


    background:#16385d;


    color:#fff;

}



@media(max-width:768px){


.rodape{

    padding:20px 10px;

}



.rodape-links{

    gap:10px;

}



.rodape-links a{

    font-size:14px;

}



.paginacao{


    width:calc(100% - 24px);


    margin:25px auto 35px;


    padding:15px 10px;


    gap:6px;

}



.paginacao a,
.paginacao span{


    min-width:38px;


    height:38px;


    padding:0 8px;


    font-size:14px;

}


}


/* =======================================
   CONTEÚDO SEO
======================================= */


.seo-home{

    margin:50px 0;

}



.seo-box{


    background:#fff;


    max-width:1320px;


    margin:50px auto;


    border-radius:24px;


    padding:45px;



    border:1px solid #e6ebef;



    box-shadow:

    0 12px 35px rgba(0,0,0,.06);



    overflow:hidden;



    box-sizing:border-box;

}



@media(min-width:1200px){


.seo-home{

    width:calc(100% + 120px);


    margin-left:-60px;


}


}



.seo-box h2{


    color:#173f69;


    font-size:30px;


    margin-top:0;


    margin-bottom:18px;



    font-weight:800;



    line-height:1.35;

}



.seo-box p{


    font-size:18px;


    line-height:2;



    color:#555;


    text-align:left;


    hyphens:auto;

}



.seo-topo{


    text-align:center;


    padding-bottom:28px;


    margin-bottom:35px;



    border-bottom:1px solid #ececec;

}



.seo-topo h2{


    font-size:38px;


    color:#1d5d3b;


    margin-bottom:14px;


    font-weight:800;

}



.seo-subtitulo{


    max-width:700px;


    margin:0 auto;



    font-size:18px;


    color:#666;


    line-height:1.8;

}



/* LINKS SEO */


.seo-links{


    margin-top:50px;


    text-align:center;

}



.seo-links h2{


    font-size:30px;


    color:#173f69;


    margin-bottom:12px;

}



.seo-links p{


    max-width:700px;


    margin:0 auto 30px;


    text-align:center;

}



.seo-links-grid{


    display:grid;


    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));


    gap:15px;

}



.seo-links-grid a{


    display:block;


    padding:18px;


    background:#f7f9fc;


    border:1px solid #dfe7ef;


    border-radius:14px;



    text-decoration:none;


    color:#173f69;


    font-weight:700;



    transition:.2s;

}



.seo-links-grid a:hover{


    background:#173f69;


    color:#fff;


    transform:translateY(-3px);

}



/* =======================================
   BOTÃO DE ORAÇÃO
======================================= */


.cta-oracao{


    margin:35px 0;


    text-align:center;

}



.cta-oracao p{


    margin-bottom:18px;


    text-align:center;

}



.btn-oracao{


    display:inline-block;



    padding:15px 28px;



    border-radius:50px;



    background:linear-gradient(
    180deg,
    #c79d34,
    #8d6918
    );



    color:#fff;



    text-decoration:none;



    font-size:17px;


    font-weight:700;



    box-shadow:

    0 8px 20px rgba(0,0,0,.12);



    transition:.2s;

}



.btn-oracao:hover{


    transform:translateY(-3px);



    box-shadow:

    0 12px 28px rgba(0,0,0,.18);

}



/* MOBILE SEO */


@media(max-width:768px){


.seo-box{


    padding:22px;

}



.seo-box h2{


    font-size:25px;


    line-height:1.45;

}



.seo-box p{


    font-size:17px;


    line-height:1.9;


}



.seo-subtitulo{


    font-size:17px;


    line-height:1.7;

}


}


.card-botao{
display:inline-block;

margin-top:10px;

padding:11px 8px;

background:linear-gradient(
90deg,
#3b0000,
#c62828,
#3b0000
);

color:#fff !important;

font-size:11px;
font-weight:800;

letter-spacing:.5px;

border-radius:30px;

text-decoration:none;

box-shadow:
0 4px 12px rgba(0,0,0,.25),
inset 0 1px 5px rgba(255,255,255,.25);

transition:.25s;
}

.card-botao:hover{

transform:translateY(-3px);

box-shadow:
0 8px 18px rgba(0,0,0,.30);

}

@media(max-width:768px){

.card-botao{
    padding:11px 6px;
    font-size:11px;
}

}


/* =======================================
   MENU MOBILE
======================================= */

.topo-mobile{
    display:none;
}


@media(min-width:769px){

    .topo-mobile,
    .menu-mobile-container,
    .menu-fundo,
    .submenu-mobile{

        display:none !important;

    }


    body{

        overflow-x:hidden;

    }

}


@media(max-width:768px){


/* ESCONDE MENU DESKTOP */


.menu{

    display:none;

}


/* TOPO MOBILE */


.topo-mobile{

    display:flex;

    align-items:center;

    height:90px;

    padding:0 15px;

    margin:1px 1px 0;

    border-radius:18px;

    background:linear-gradient(
    180deg,
    #8b1e1e,
    #3d0000
    );

    box-shadow:
    0 5px 15px rgba(0,0,0,.18);

}


.logo-mobile{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

}

.logo-mobile img{

    max-width:250px;

    width:100%;

    height:auto;

    display:block;

}


/* BOTÃO HAMBURGUER */


.menu-mobile{

    display:flex;
    align-items:center;
    gap:8px;

    background:none;
    border:none;

    color:#fbfdff;

    cursor:pointer;

    padding:0;

    -webkit-tap-highlight-color:transparent;

}

.icone-menu{

    font-size:30px;
    line-height:1;
    transform:translateY(-15px);

}

.texto-menu{

    font-size:14px;
    font-weight:700;
    letter-spacing:1px;

    text-transform:uppercase;
    
    transform:translateY(-15px);

}



/* FUNDO ESCURO */


.menu-fundo{

    position:fixed;


    top:0;

    left:0;


    width:100%;

    height:100%;


    background:rgba(0,0,0,.45);


    z-index:9998;


    opacity:0;


    visibility:hidden;


    transition:.3s;


}



.menu-fundo.ativo{


    opacity:1;


    visibility:visible;

}



/* MENU LATERAL */


.menu-mobile-container{


    position:fixed;


    top:0;


    left:-320px;


    width:290px;


    height:100vh;


    background:linear-gradient(
    180deg,
    #040910,
    #152742
    );


    z-index:9999;


    padding:20px 15px;


    box-sizing:border-box;


    transition:left .35s ease;


    overflow-y:auto;


    display:flex;


    flex-direction:column;


    gap:15px;


    box-shadow:8px 0 25px rgba(0,0,0,.35);

}



.menu-mobile-container.aberto{


    left:0;

}



/* BOTÕES DO MENU */


.menu-mobile-container button,
.menu-mobile-container a,
.submenu-mobile button,
.submenu-mobile a{


    display:flex;


    align-items:center;


    justify-content:space-between;


    width:100%;


    height:64px;


    padding:0 20px;


    box-sizing:border-box;


    border:none;


    border-radius:14px;


    background:rgba(255,255,255,.12);


    color:#fff !important;


    font-size:18px;


    font-weight:700;


    text-decoration:none;


    cursor:pointer;
    
    -webkit-tap-highlight-color:transparent;
touch-action:manipulation;

}



.menu-mobile-container button:hover,
.menu-mobile-container a:hover{


    background:rgba(255,255,255,.22);

}


}


/* SUBMENU MOBILE - EFEITO PAGINA */

.menu-mobile-container{
    overflow:hidden;
}


#menu-principal-mobile,
.submenu-mobile{

    display:flex;
    flex-direction:column;
    gap:8px;
}


#menu-principal-mobile.escondido{

    transform:translateX(-100%);

}


.submenu-mobile{

    position:absolute;

    top:0;
    left:100%;

    width:290px;

    height:100vh;

    padding:20px 15px;

    box-sizing:border-box;

    background:linear-gradient(
    180deg,
    #152742,
    #1f3f63
    );

    display:flex;

    flex-direction:column;

    gap:8px;

    transition:transform .35s ease;

}


.submenu-mobile.aberto{

    transform:translateX(-100%);

}


#menu-principal-mobile.escondido{

display:none;

}


/* COR DA PAGINA ORAÇÕES COMUNS */

.submenu-comuns{
    background:linear-gradient(
        180deg,
        #b8862c,
        #6e4b12
    );
}

.submenu-intencao{
    background:linear-gradient(
        180deg,
        #1d6b4f,
        #0d3b2a
    );
}


.submenu-santos{
    background:linear-gradient(
        180deg,
        #4b1d6b,
        #1f0b30
    );
}



/* BOTÕES DROPDOWN */


.menu-pc-dropdown{


    position:relative;

}




.menu-pc-dropdown button{


    display:flex;

    align-items:center;

    gap:5px;


}



/* SUBMENU NOVO */


.menu-pc-submenu{


    position:absolute;


    top:50px;


    left:0;


    width:250px;


    background:#fff;


    border-radius:15px;


    box-shadow:0 15px 35px rgba(0,0,0,.25);


    overflow:hidden;


    opacity:0;


    visibility:hidden;


    transform:translateY(-10px);


    transition:.25s;


    z-index:9999;


}



.menu-pc-dropdown:hover 
.menu-pc-submenu{


    opacity:1;


    visibility:visible;


    transform:translateY(0);


}



.menu-pc-submenu a{


    display:block;


    padding:14px 18px;


    color:#333;


    text-decoration:none;


    font-weight:600;


    border-bottom:1px solid #eee;


}



.menu-pc-submenu a:hover{


    background:#f2f5f9;


    color:#16385d;


}



/* ESCONDER NO CELULAR */

@media(max-width:768px){

.logo-pc{

    display:none;

}

}



/* =======================================
   MENU PC - UMA LINHA
======================================= */

@media (min-width:769px){

.menu-pc{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:nowrap;

    gap:8px;

    padding:12px 14px;

}

.menu-pc > a,
.menu-pc .menu-btn{

    font-size:14px;

    padding:11px 14px;

    white-space:nowrap;

}

}
