@import url('https://fonts.googleapis.com/css2?family=Old+Standard+TT:ital,wght@0,400;0,700;1,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap');

*{
box-sizing:border-box;
}

html, body{
    height: 100%;
    margin: 0;
}

body{
   background-color: #EBF4DD;
    margin: 0px;
    height: auto;
    box-sizing: border-box;
}

nav{
background-color: #3B4953;
width: 100%;
height: 90px;

display: flex;
align-items: center;
justify-content: space-between;

position: fixed;
top: 0;
left: 0;
z-index: 4;


box-shadow: 0px 4px 15px rgba(0,0,0,0.25);
border-bottom: 2px solid #2E3942;
}

.BotonBa.activo{
    color: #5A7863;
    font-weight: 700;

    border-bottom: 3px solid #90AB8B; /* subrayado moderno */
}


.CartelIndex{
min-height:500px;

display:flex;
flex-direction:column;
justify-content:space-between; /* distribuye contenido */

padding:140px 20px 60px 20px; /* separa del nav y del fondo */

position:relative;
overflow:hidden;
box-sizing:border-box;
}

/* separa mejor los botones */
.CartelIndex .ColocBP{
display:flex;
flex-direction:column;
gap:12px;
margin-top:20px;
}

/* pequeños ajustes de texto */
.CartelIndex .TextP1{
margin-bottom:10px;
}

.CartelIndex .TextP2{
margin-bottom:10px;
}


#LogoP{
width: 85px;
}

#LogoE{
width: 120px;
}

.menu-botones{
display: flex;
gap: 10px;
margin-left: auto;
}

.BotonBa{
text-decoration: none;
color: white;
font-size: 18px;
cursor: pointer;
padding: 10px 15px;
border-radius: 5px;
}

nav a:hover{
color: #CFE5B4;
}

.CartelPresent{
    width: 100%;
    height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: center; 
    align-items: center;
    position: relative;
}

.TextP11{
    font-size: 35px;
}

.TextP12{
    font-size: 20px;
    line-height: 1.6;
}

.ImagenIndex{
    width: 100%;
    height: 550px;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    z-index: -1;
}

.TextB{
    color: rgb(22, 1, 1);
    font-family: "Old Standard TT", serif;
    font-weight: 400;
    font-style: normal;
}

.TextP1{
    color:  #F8FAF4;
    font-size: 50px;
    margin-top: 0px;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
}

.TextP2{
    color: #F8FAF4;
    font-size: 28px;
    margin-top: 22px;
     font-weight: 1600;
    text-shadow: 0 1px 3px rgba(0,0,0,0.35);
}

.ColocBP{
    display: flex;
    gap: 20px;
    margin-top: 10px;
}

.BotonP{
    display: inline-block;

    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    color: #2F3E2E;

    background-color: #CFE5B4;
    padding: 12px 24px;

    border-radius: 6px;   /* más cuadrado */
    border: 3px solid #B7D49C;

    cursor: pointer;

    box-shadow: 0px 4px 12px rgba(0,0,0,0.15);

    transition: all 0.25s ease;
    text-align: center;
}

.BotonP:hover{
    background-color: #BFDDA0;
    transform: translateY(-2px);
    box-shadow: 0px 8px 18px rgba(0,0,0,0.2);
}

.CartelPresent2{
    width: 42%;
    max-width: 1260px;
    padding: 40px;
    margin: 30px auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
}


/* BOTÓN PRINCIPAL */
#BotonDevocional{
    font-size: 26px;
    width: 240px;

    background: linear-gradient(145deg, #EBF4DD, #CFE5B4);
    color: #3B4953;

    border: 2px solid #90AB8B;
    border-radius: 12px;

    padding: 14px 20px;

    box-shadow: 0 6px 14px rgba(0,0,0,0.15);
    transition: all 0.25s ease;
    cursor: pointer;
}

/* HOVER */
#BotonDevocional:hover{
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

/* CLICK */
#BotonDevocional:active{
    transform: translateY(1px);
}

/* OCULTAR CHECKBOX */
#toggleDevocional{
    display: none;
}

/* DEVOCIONAL */
.Devocional{
    max-height: 0;
    overflow: hidden;

    margin-top: 20px;
    padding: 0 25px;

    border: 3px solid #C8DDB0;
    border-radius: 15px;
    background: #F7FBEF;

    line-height: 1.6;
    scroll-behavior: smooth;
    opacity: 0;
    transition: all 0.4s ease;
}

/* CUANDO SE ABRE */
#toggleDevocional:checked ~ .Devocional{
    max-height: 100vh; /* 👈 clave */
    padding: 25px;
    opacity: 1;
    overflow-y: auto; /* 👈 permite scroll si es largo */
}

/* TEXTO BOTÓN */
.cerrar{
    display: none;
}

#toggleDevocional:checked + .BotonConcer .abrir{
    display: none;
}

#toggleDevocional:checked + .BotonConcer .cerrar{
    display: inline;
}

/* BOTÓN BASE */
.BotonConcer{
    display: block;
    width: 90%;
    margin: 20px auto;

    padding: 12px 15px;

    text-align: center;
    text-decoration: none;

    font-size: 15px;
    font-weight: 600;

    color: #2F3E2E;
    background-color: #DCECC8;

    border: 1px solid #C8DDB0;
    border-radius: 30px;

    transition: all 0.25s ease;
}

/* HOVER BOTÓN BASE */
.BotonConcer:hover{
    background-color: #CFE5B4;
    transform: scale(1.03);
}

/* SCROLL GENERAL DEL DEVOCIONAL */
.Devocional::-webkit-scrollbar{
    width: 8px;
}

/* FONDO DE LA BARRA */
.Devocional::-webkit-scrollbar-track{
    background: #EBF4DD;
    border-radius: 10px;
}

/* BARRA (la que se mueve) */
.Devocional::-webkit-scrollbar-thumb{
    background: linear-gradient(180deg, #90AB8B, #5A7863);
    border-radius: 10px;
    border: 2px solid #EBF4DD; /* efecto flotante */
}

/* HOVER (cuando pasás el mouse) */
.Devocional::-webkit-scrollbar-thumb:hover{
    background: #3B4953;
}


.ContCarteles{
    display: flex;
    justify-content: center;
    gap: 80px;
    margin: 60px auto;
    width: 80%;
    max-width: 1200px;
}

.CartelesIndi{
    width: 60%;
    height: auto;
    text-align: center;

    padding: 25px;
    border-radius: 25px;

    background-color: #90AB8B; 
    border: 1px solid #D6E3C3;

    box-shadow: 0px 6px 18px rgba(0,0,0,0.08);

    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.CartelesIndi:hover{
    transform: translateY(-6px);
    box-shadow: 0px 12px 25px rgba(0,0,0,0.15);
}

.ImgP2{
    width: 500px;
    height: 300px;
    object-fit: cover;
    border-radius: 40px;
    margin-top: 5px;
}



.BotonConcer:hover{
   background-color: #CFE5B4;
   transform: translateY(-2px);
   box-shadow: 0px 6px 15px rgba(0,0,0,0.12);
}

.TextCI1{
    font-size: 28px;
    
}

.TextCI2{
    font-size: 17px;
    padding: 0 30px;
}

.HorariosPI{
    width: 80%;
    max-width: 1200px;
    margin: 80px auto;
    text-align: center;
}

.ContHorarios{
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1200px;
    margin: auto;
}


.ContHorarios div{
    width: 220px;
    padding: 20px;
    text-align: center;
}

.TituloHorario{
    display: flex;
     justify-content: flex-start;   /* centra todo */
    align-items: center;
    gap: 8px;                  /* distancia entre icono y texto */
    margin-bottom: 5px;
}

.TituloHorario h2{
    margin: 0;
}

.LogoIndx{
    width: 55px;
   margin-right: 5px;
}

.ContHorarios p{
    margin-top: 5px;
    font-size: 15px;
}

.HV p{
    white-space: nowrap;
}

.ContFI{
    width: 80%;
    max-width: 800px;
    margin: 120px auto 0 auto;
    text-align: center;
    padding: 40px;
    border-top: 1px solid black;
}

.TextF{
    font-size: 30px;
}

/* Pagina Iglesia...........................................................................................................*/


.CartelPresentp{
   height: 400px;
    margin-top: 10px;
    margin-bottom: 60px;
}

.ImagenPr{
    height: 400px;
}

.Preparando{
    width: 80%;
    margin: 60px 0px 60px 280px; 
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 20px 40px;
}

.Preparando h2{
    grid-column: 1;
    grid-row: 1;
}

.Preparando p{
    grid-column: 1;
    grid-row: 2;
    line-height: 1.7;
}

.Preparando img{
    grid-column: 2;
    grid-row: 1 / 3; /* ocupa las dos filas */
    width: 100%;
    max-width: 450px;
    border-radius: 20px;
}

.TextP3{
    font-size: 40px;
    font-style:oblique;
}

.TextP4{
    font-size: 20px;
}

/* CONTENEDOR GENERAL */

.Ministerios{
    width: 85%;
    max-width: 1300px;
    margin: 80px auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
}


/* TITULO PRINCIPAL */

.Ministerios > h2{
    grid-column: 1 / -1; /* ocupa todas las columnas */
    text-align: center;
    margin-bottom: 20px;
    font-size: 50px;
    text-decoration:underline 4px;
}


/* TARJETA INDIVIDUAL */

.MinisterioIndi{
    background-color: #F3F7EA;

    padding: 30px 25px;

    border-radius: 18px;

    border: 1px solid #D6E2C7;

    text-align: center;

    display: flex;
    flex-direction: column;
    align-items: center;
}


/* ICONO */

.LogoIgle{
    width: 50px;
    height: auto;
    margin-bottom: 10px;
}


/* TITULO DE CADA TARJETA */

.MinisterioIndi h2{
    margin: 5px 0 8px 0;
}


/* SUBTITULOS */

.MinisterioIndi h3{
    font-size: 16px;
    margin: 3px 0;
    font-weight: normal;
}


/* TEXTO */

.MinisterioIndi p{
    margin-top: 15px;
    line-height: 1.6;
}


/* EFECTO HOVER SUAVE */

.MinisterioIndi:hover{
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    transition: 0.2s;
}

/* CONTENEDOR PRINCIPAL */
.Visitanos{
    background-color: #90AB8B;
    padding: 40px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px; 
    border-radius: 15px;
    color: #fff; 
}

/* H2 principal */
.Visitanos > h2{
    font-size: 36px;
    margin: 0;
}

/* H3 principal */
.Visitanos > h3{
    font-size: 20px;
    margin: 0;
    line-height: 1.5;
}

/* CONTENEDORES INTERNOS (Dirección / Contacto) */
.VisitanosI{
    display: flex;
    flex-direction: column; 
    align-items: center;    
    margin: 10px 20px;
}

/* Contenedor de las dos secciones a la par */
.VisitanosInterno{
    display: flex;
    justify-content: center;
    gap: 60px; 
    flex-wrap: wrap; 
}

/* H2 interno */
.VisitanosI h2{
    font-size: 24px;
    margin-bottom: 5px;
}

/* P interno */
.VisitanosI p{
    font-size: 18px;
    margin: 0;
}


/* Pagina Centro ..................................................................................................................*/

.CartelPresentC{
    width: 85%;
    max-width: 1200px;
    margin: 80px auto;

    display: grid;
    grid-template-columns: 1fr 1.5fr; /* imagen más chica que texto */
    gap: 40px;
    align-items: center;
}

/* IMAGEN */

.CartelPresentC img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

/* TEXTO */

.CartelPresentC h2{
    margin-bottom: 15px;
}

.CartelPresentC p{
    line-height: 1.7;
}

/* CONTENEDOR GENERAL */

.Caracteristicas{
    width: 90%;
    max-width: 1400px;
    margin: 80px auto;

    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 🔥 4 columnas */
    gap: 30px;
}

/* TITULO PRINCIPAL */

.Caracteristicas > h2{
    grid-column: 1 / -1;
    text-align: center;
    margin-bottom: 20px;
}


/* TARJETAS */

.CaractIndi{
    background-color: #F3F7EA;

    padding: 25px;

    border-radius: 18px;

    border: 1px solid #D6E2C7;

    display: flex;
    flex-direction: column;

    text-align: left;
}


/* LOGO */

.CaractIndi img{
    width: 50px;
    margin-bottom: 10px;
    align-self: flex-start; /* izquierda */
}


/* TITULO */

.CaractIndi h3{
    margin: 5px 0 10px 0;
}


/* TEXTO */

.CaractIndi p{
    line-height: 1.6;
}



/* ============================= */
/* CONTENEDOR PRINCIPAL */
/* ============================= */

.InfoC{
    width: 90%;
    max-width: 1300px;
    margin: 80px auto;

    display: grid;
    grid-template-columns: 1fr 1fr; /* izquierda / derecha */
    gap: 60px;
    align-items: start;
}


/* ============================= */
/* LISTA (IZQUIERDA) */
/* ============================= */

.ListaP{
    width: 100%;
}


/* TITULO */

.ListaP h2{
    margin-bottom: 25px;
}


/* UL LIMPIO */

.ListaP ul{
    list-style: none;
    padding: 0;
    margin: 0;
}


/* ITEMS */

.ListaP li{
    display: grid;
    grid-template-columns: 50px 1fr;
    grid-template-rows: auto auto;

    column-gap: 15px;
    row-gap: 5px;

    margin-bottom: 25px;
    align-items: start;

    padding-bottom: 15px;
    border-bottom: 1px solid #D6E2C7;
}


/* IMAGEN */

.ListaP li img{
    grid-row: 1 / 3; /* ocupa alto de h3 + p */
    width: 40px;
}


/* TITULO ITEM */

.ListaP li h3{
    margin: 0;
}


/* TEXTO */

.ListaP li p{
    margin: 0;
    line-height: 1.6;
}


/* ============================= */
/* HORARIOS (DERECHA) */
/* ============================= */

.HorariosC{
    width: 100%;
}


/* TITULO */

.HorariosC h2{
    margin-bottom: 25px;
}


/* FILA DE HORARIO */

.HorarioCi{
    display: flex;
    justify-content: space-between; /* 🔥 izquierda / derecha */
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid #D6E2C7; /* línea tipo <hr> */
}


/* TEXTO GENERAL */

.HorarioCi h3{
    margin: 0;
}


/* HORA (IZQUIERDA) */

.HorarioCi h3:first-child{
    font-weight: bold;
}


/* DESCRIPCIÓN (DERECHA) */

.HorarioCi h3:last-child{
    text-align: right;
}

.TxtTC{
    font-size: 40px;
}

.TextIC{
    font-size: 35px;
}


/* CONTENEDOR */

.FAQ{
    width: 80%;
    max-width: 900px;
    margin: 80px auto;
}

/* TITULO */

.FAQ h2{
    text-align: center;
    margin-bottom: 30px;
}

/* BLOQUE */

.FAQ details{
    background-color: #F3F7EA;
    margin-bottom: 15px;
    border-radius: 10px;
    border: 1px solid #D6E2C7;
    overflow: hidden;
}


/* PREGUNTA */

.FAQ summary{
    padding: 15px 20px;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;

    display: flex;
    justify-content: space-between;
    align-items: center;

    list-style: none; /* ❌ saca flecha default */
}


/* OCULTAR FLECHA NATIVA (importante para algunos navegadores) */

.FAQ summary::-webkit-details-marker{
    display: none;
}


/* FLECHA PERSONALIZADA */

.FAQ summary::after{
    content: "▼";
    font-size: 14px;
    transition: transform 0.3s ease;
}


/* CUANDO ESTÁ ABIERTO */

.FAQ details[open] summary::after{
    transform: rotate(180deg); /* 🔥 gira hacia arriba */
}


/* RESPUESTA */

.FAQ p{
    padding: 0 20px 15px 20px;
    margin: 0;
    line-height: 1.6;
}


/* ============================= */
/* CONTENEDOR GENERAL */
/* ============================= */

.Testimonios{
    width: 85%;
    max-width: 1200px;
    margin: 80px auto;
    text-align: center;
}


/* ============================= */
/* TITULO */
/* ============================= */

.Testimonios > h2{
    margin-bottom: 40px;
}


/* ============================= */
/* CONTENEDOR DE TARJETAS */
/* ============================= */

.ContTestimonios{
    display: flex;
    justify-content: center;
    gap: 40px;
}


/* ============================= */
/* TARJETAS */
/* ============================= */

.TestimonioInd{
    flex: 1;
    max-width: 700px;
    min-height: 300px;

    background-color: #F3F7EA;

    padding: 35px 25px;

    border-radius: 18px;
    border: 1px solid #D6E2C7;

    text-align: left;
}

/* ============================= */
/* TEXTOS */
/* ============================= */

.TestimonioInd h2{
    margin-bottom: 5px;
        font-size: 20px;
}

.TestimonioInd h3{
    font-size: 15px;
    margin-bottom: 15px;
    font-weight: normal;
        font-size: 18px;
}

.TestimonioInd p{
    line-height: 1.7;
    font-size: 18px;
}

/* ============================= */
/* CONTENEDOR PRINCIPAL */
/* ============================= */

.FinalE{
    width: 100%;
    background-color: #90AB8B; /* 🔥 color que pediste */

    padding: 60px 20px;

    text-align: center;
}


/* ============================= */
/* TITULOS */
/* ============================= */

.FinalE h2{
    margin-bottom: 20px;
}

.FinalE > h3{
    max-width: 800px;
    margin: 0 auto 40px auto;
    line-height: 1.6;
}


/* ============================= */
/* CONTENEDOR DE BLOQUES */
/* ============================= */

.ContInfoEF{
    display: flex;
    justify-content: center;
    gap: 60px;
    flex-wrap: wrap;

    align-items: flex-start; /* 🔥 clave */
}

/* ============================= */
/* BLOQUES INDIVIDUALES */
/* ============================= */

.InfoEF{
    width: 250px;

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;
}


/* ICONO */

.InfoEF img{
    width: 60px;
    margin-bottom: 15px;
}


/* TEXTOS */

.InfoEF h3{
    margin: 5px 0;
}

.TextEmF{
    font-size: 25px;
}



/* ========================= */
/* RESPONSIVE PARA CELULARES................................................................ */
/* ========================= */

@media (max-width: 768px){

body{
overflow-x:hidden;
}

/* NAV */

nav{
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
height:auto;
padding:5px 8px;
}

/* logos */
#LogoP{
width:55px;
}

#LogoE{
width:70px;
}

/* contenedor de botones */
.menu-botones{
display:flex;
flex-wrap:wrap;
justify-content:center;
align-items:center;
gap:6px;
flex:1;
}

/* botones */
.BotonBa{
font-size:14px;
padding:6px 8px;
}

/* el último botón baja abajo */
.BotonBa:last-child{
width:100%;
text-align:center;
margin-top:4px;
}

/* CARTEL PRINCIPAL */

.CartelPresent{
width:100%;
height:auto;
min-height:400px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
padding:120px 20px 40px 20px; /* espacio arriba para el nav */
box-sizing:border-box;
position:relative; 
}

.TextP1{
font-size:32px;
}

.TextP2{
font-size:18px;
}

.ColocBP{
flex-direction:column;
gap:10px;
}

.BotonP{
font-size:16px;
padding:10px 18px;
}


/* IMAGEN PRINCIPAL */

.ImagenIndex{
height:450px;
}


/* DEVOCIONAL */

.CartelPresent2{
width:90%;
padding:20px;
}

#BotonDevocional{
width:180px;
font-size:22px;
}


/* CARTELES */

.ContCarteles{
flex-direction:column;
gap:30px;
width:90%;
}

.CartelesIndi{
width:92%;
margin:auto;
padding:18px;
box-sizing:border-box;
}

.ImgP2{
width:100%;
height:200px;
}


/* HORARIOS */

.ContHorarios{
flex-direction:column;
align-items:center;
gap:20px;
}

.ContHorarios div{
width:90%;
}




/* PREPARANDO (pagina 2) */

.Preparando{
width:90%;
margin:90px auto;
grid-template-columns:1fr;
}

.Preparando img{
grid-column:1;
grid-row:3;
max-width:100%;
}


/* MINISTERIOS */

.Ministerios{
grid-template-columns:1fr;
width:90%;
}

.Ministerios > h2{
font-size:36px;
}

.MinisterioIndi{
padding:20px;
}


/* FOOTER */

.ContFI{
width:90%;
padding:20px;
}

.TextF{
font-size:24px;
}

}

.TextTT{
    text-decoration:underline;
}

/* ========================= */
/* SECCIÓN CENTRO RESPONSIVE ...................................................................................................................................*/
/* ========================= */

@media (max-width: 768px){

/* CARTEL CON IMAGEN + TEXTO */
.CartelPresentC{
grid-template-columns:1fr;
gap:20px;
text-align:center;
margin-top:40px;
position:relative;
z-index:1;
}

.CartelPresentC img{
height:250px;
}


.CartelIndex{
margin-top:40px; /* 🔥 esto sí lo baja */
padding:140px 15px 70px 15px; /* deja un valor normal */
min-height:520px;
}

/* CARACTERISTICAS */
.Caracteristicas{
grid-template-columns:1fr;
width:90%;
}

.CaractIndi{
text-align:center;
align-items:center;
}

.CaractIndi img{
align-self:center;
}

/* INFO (LISTA + HORARIOS) */
.InfoC{
grid-template-columns:1fr;
gap:40px;
}

/* LISTA */
.ListaP li{
grid-template-columns:40px 1fr;
}

/* HORARIOS */
.HorarioCi{
flex-direction:column;
align-items:flex-start;
gap:5px;
}

.HorarioCi h3:last-child{
text-align:left;
}

/* TEXTOS GRANDES */
.TxtTC{
font-size:28px;
}

.TextIC{
font-size:24px;
}

/* FAQ */
.FAQ{
width:90%;
}

.FAQ summary{
font-size:16px;
}

/* TESTIMONIOS */
.ContTestimonios{
flex-direction:column;
gap:20px;
}

.TestimonioInd{
max-width:100%;
}

/* FINAL (CONTACTO) */
.ContInfoEF{
flex-direction:column;
gap:30px;
}

.InfoEF{
width:100%;
}

}




@media screen and (max-width: 360px){
.CartelPresent{
        padding-top: 130px; /* un poco más de espacio para el nav real */
    }

.Preparando{
width:90%;
margin:80px auto;
grid-template-columns:1fr;
}

}
