/* 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;

}


/* 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 */

.producto H3{
color:var(--azul);
margin-top:10px;
}



.producto {
  display: flex;
  gap: 30px;

  width: 250px;
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 10px;
}

.galeria .principal {
  display: flex;
  height: 200px;
  object-fit: cover;
  margin-left: auto;
  margin-right: auto;
}

.miniaturas {
  display: flex;
  gap: 10px;
  margin-top: 10px;

}

.miniaturas img {
  width: 70px;
  height: 90px;
  cursor: pointer;
  border-radius: 5px;
  margin-left: auto;
  margin-right: auto;
}
/*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;

}

}