/* RESET */

*{
margin:0;
padding:0;
box-sizing:border-box;
}


/* COLORES DEL LOGO */

:root{

--verde:#0f8a4b;
--verde-claro:#22a060;
--verde-oscuro:#0f8a4b;


--azul:#1e4fa3;
--azul-claro:#e6f4ff;

--turquesa:#00CED1;

--gris:#f5f7fa;
--gris-texto:#374151;

--blanco:#ffffff;

}


/* GENERAL */

body{

font-family:Arial, Helvetica, sans-serif;
color:var(--gris-texto);
background:var(--blanco);

}


.container{

max-width:1200px;
margin:auto;
padding:10px;

}


/* HEADER */

.header{

position: sticky;
top: 0;
z-index: 1000;
background: white;

}

.header-content{

display:flex;
justify-content:space-between;
align-items:center;

}

.logo{

height:90px;
background:white;
padding:8px 15px;
border-radius:10px;

}

.menu a{

color: var(--azul);
font-weight:600;
text-decoration:none;
margin-left:25px;

}

.menu a:hover{

text-decoration:underline;

}


/* HERO */

.hero{

text-align:center;
padding:25px 20px;
background:linear-gradient(90deg,#1e4fa3,#00CED1);
animation: aparecer 2s ease;

}




@keyframes aparecer{
0%{
opacity:0;
transform:translateY(-40px);
}

100%{
opacity:1;
transform:translateY(0);
}
}


.hero h1{

color:var(--blanco);
font-size:40px;
margin-bottom:20px;

}

.hero p{
color:var(--blanco);
max-width:700px;
margin:auto;
font-size:18px;


}




/* SECCIONES */

section{

padding:70px 20px;

}

.section-gray{

background:var(--gris);

background:
linear-gradient(rgba(255,255,255,0.85),
rgba(255,255,255,0.85)),
url("../img/serv.png");

background-size:cover;
background-position:center;


}

h2{

color:var(--azul);
margin-bottom:20px;
font-size:30px;


}


/* VALORES */

.valores-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;

}

.card{

background:#eef4ff;
padding:25px;
border-radius:10px;
box-shadow:0 5px 10px rgba(0,0,0,0.1);

}

.card h3{

color:var(--azul);
margin-bottom:10px;

}


/* SOCIOS ESTRATEGICOS */

.SociosE-grid{

display: flex;
    justify-content: center; /* Centra la fila completa en la pantalla */
    align-items: center;     /* Alinea la altura de los logos */
    gap: 30px;               /* Espacio entre cada logo */
    flex-wrap: wrap;         /* Si la pantalla es pequeña (móvil), bajan ordenadamente */

}

.SociosE-grid img {
    max-height: 50px;
    width: auto;
    object-fit: contain;
}



/* Producto_general */

.ProductoG-grid{

display: flex;
    justify-content: center; 
    align-items: center;    
    gap: 30px;             
    flex-wrap: wrap;        

}

.ProductoG img {
   height: 15px;         
    max-width: 50px;      
    width: auto;           
    object-fit: contain;

    display: block;
    margin: 0 auto;
}





/* CONTACTO */

.contacto{

background:#005452;
color:white;
padding:10px;

}

.contacto-box{

text-align:center;

}

.contacto h2{

color:var(--blanco);
margin-bottom:10px;

}

.btn{

display:inline-block;
margin:10px;
background:white;
color:var(--verde);
padding:12px 25px;
border-radius:8px;
text-decoration:none;
font-weight:bold;


}

.btn:hover{

background:#e5e5e5;
transform:scale(1.05);

}




/* galerias productos */

/* PRODUCTOS */

.productos{
padding:60px 20px;
background:#f7f9fb;
}

.grid-productos{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.producto-card{
background:white;
border-radius:12px;
overflow:hidden;
box-shadow:0 5px 15px rgba(0,0,0,.1);
cursor:pointer;
transition:.3s;
}

.producto-card:hover{
transform:translateY(-5px);

}

.producto-card img{
width:100%;
height:250px;
object-fit:cover;

}

.producto-card h3{
padding:20px;
color:#005b96;
}

.producto-card button{
margin:0 20px 20px;
padding:10px 20px;
border:none;
background:#22a060;
color:white;
border-radius:6px;
cursor:pointer;
}

/* MODAL */

.modal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.75);
z-index:9999;
}

.modal.active{
    display: flex;
}

.modal-content{
background:white;
width:75%;
max-width:1000px;
margin:5% auto;
border-radius:15px;
overflow:hidden;
position:relative;
margin-top:130px;
}

.modal-grid{
    display:grid;
    grid-template-columns:35% 65%;
    gap:20px;
    align-items:start;
}

.modal-img{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
}

.modal-img img{
width:100%;
max-width:350px;
max-height:350px;
height:auto;
object-fit:contain;
}

.modal-info{
    padding: 20px 40px 20px 20px;
    margin-right: 20px;
    box-sizing: border-box;
}


.modal-info h2{
    color:#005a9c;
    margin-bottom:20px;
    font-size:2rem;
}

.modal-info p{
line-height:1.8;
text-align:justify;
}

.cerrar{
position:absolute;
top:15px;
right:20px;
font-size:35px;
cursor:pointer;
}

.btn-cotizar{
display:inline-block;
margin-top:25px;
padding:12px 25px;
background:white;
color:white;
text-decoration:none;
border-radius:6px;
}

/* RESPONSIVE */

@media(max-width:768px){


    .modal-grid{
        grid-template-columns:1fr;
    }

    .modal-img img{
        max-height:250px;
    }

    .modal-info{
        padding:25px;
    }

}


/*fin galerias productos*/








/* galerias servicios*/
.galeria_s{
max-width:700px;
margin:10px auto;
overflow:hidden;
border-radius:10px;
}

.slider{
position:relative;
width:100%;
height:400px;
overflow:hidden;
}


/* TODAS LAS IMÁGENES ENCIMA */
.slide{
position:absolute;
width:100%;
height:100%;
object-fit:cover;
opacity:0;
animation: fade 15s infinite;
}

/* TIEMPO INDIVIDUAL POR IMAGEN */
.slide:nth-child(1){
animation-delay:0s;
}

.slide:nth-child(2){
animation-delay:5s;
}

.slide:nth-child(3){
animation-delay:10s;
}


/* ANIMACIÓN */
@keyframes fade{

0%   { opacity:0; }
5%   { opacity:1; }
30%  { opacity:1; }
35%  { opacity:0; }

100% { opacity:0; }

}
















/*fin galerias servicios*/



/* FOOTER */

footer{

background:#222;
color:white;
text-align:center;
padding:20px;

}


/* 📱 TABLET */

@media (max-width:900px){

.valores-grid{

grid-template-columns:1fr 1fr;

}

.hero h1{

font-size:32px;

}

}




/* 📱 CELULAR */

@media (max-width:600px){

.header-content{

flex-direction:column;

}

.menu{

margin-top:10px;

}

.menu a{

margin:10px;

}

.logo{

height:60px;

}

.hero{

padding:60px 20px;

}

.hero h1{

font-size:26px;

}

.valores-grid{

grid-template-columns:1fr;

}

}

.btn-arriba{
    position:fixed;
    bottom:30px;
    right:30px;
    width:50px;
    height:50px;
    border:none;
    border-radius:50%;
    background:#0b5ea8;
    color:#fff;
    font-size:28px;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(0,0,0,.3);
    opacity:1;
    visibility:visible;
    transition:.3s;
    z-index:9999;
}

.btn-arriba.show{
    opacity:1;
    visibility:visible;
}

.btn-arriba:hover{
    background:#22a060;
    transform:translateY(-5px);
}

/* botones_subcategorias */

.subcategorias{
    background:#ffffff;
    padding:20px 0;
    position:sticky;
    top:90px;
    z-index:900;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.subcategorias .containerSub{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px;
}

.subcategorias a{
    text-decoration:none;
    color:#0f8a4b;
    font-weight:600;
    padding:10px 20px;
    border:2px solid #0f8a4b;
    border-radius:30px;
    transition:0.3s;
}

.subcategorias a:hover{
    background:#0b5ea8;
    color:white;
}

/* Fin botones_subcategorias */