/* BANNER */

#banner{
height:100vh;
overflow:hidden;
position:relative;
}

#banner .carousel-item img{
height:100vh;
object-fit:cover;
}

#banner .overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.5);
z-index:1;
}

#banner .content{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
z-index:2;
}

#banner p{
font-size: 1.7rem;
}



/* ====
   NAVBAR
==== */

.navbar{
    box-shadow:0 2px 10px rgb(158, 157, 157);
    height:80px;
    overflow:visible;
    padding: 10px 0;
}

.navbar-custom{
    background:rgb(0,48,130);
    transition:0.4s;
}

.navbar-scrolled{
    background:#111;
    box-shadow:0 4px 10px rgba(0,48,130,0.3);
}

/* Logo */

.navbar-brand{
    display:flex;
    align-items:center;
    margin-right:auto;
    padding:0;
}

.logo{
    height:120px;
    width:auto;
    position:relative;
}

/* Links */

.nav-link{
    color:white !important;
    font-weight:500;
}

.nav-link.active{
    color:#f4b400 !important;
}

/* ====
   MENÚ MÓVIL
==== */

@media (max-width:991px){

    .navbar-collapse{
        background:rgb(106, 105, 106);
        padding:15px;
        margin-top:10px;
        border-radius:10px;
    }

    .navbar-collapse .nav-link{
        padding:10px 0;
    }

    .logo{
        height:120px;
    }

}

/* ====
   TELÉFONOS
==== */

@media (max-width:768px){

    .logo{
        height:80px;
    }

}

/* Idiomas Seleccionador */

.lang-selector { position: relative; display: inline-block; }

.lang-btn {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px; cursor: pointer;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 8px; font-size: 14px; color: white;
}

.lang-btn:hover { background: rgba(255,255,255,0.1); }

.lang-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 8px;
  min-width: 150px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  z-index: 9999;
  overflow: hidden;
}

.lang-dropdown.open { display: block; }

.lang-option {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; cursor: pointer;
  font-size: 14px; color: #333;
}

.lang-option:hover { background: #f5f5f5; }

section{
    scroll-margin-top:120px;
}







/* SERVICIOS */

.servicio-card{
border:none;
border-radius:10px;
transition:0.3s;
box-shadow:0 5px 15px rgba(0,0,0,0.1);
}

.servicio-card:hover{
transform:translateY(-8px);
box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

.servicio-card i{
color:#f4b400;
}

.servicio-card p{
font-size:15px;
line-height:1.6;
}

.btn-vermas{
display:inline-block;
margin-top:15px;
padding:10px 20px;
background:#f4b400;
color:black;
text-decoration:none;
text-align: center;
border-radius:5px;
transition:0.3s;
font-weight:500;
}

.btn-vermas:hover{
background:#f4be35;
}

.btn-vermas1{
display:inline-block;
margin-top:15px;
padding:10px 20px;
background:rgb(217, 218, 222);
color:black;
text-decoration:none;
text-align: center;
border-radius:5px;
transition:0.3s;
font-weight:500;
}

.btn-vermas1:hover{
background:#f4be35;
}






/* SECTORES */

.sectores-bg{
background-image:url('../img/Mantenimiento/Mantenimiento3.png');
background-size:cover;
background-position:center;
position:relative;
color:white;
}

.sectores-bg::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.6);
z-index:1;
}

.sectores-bg .container{
position:relative;
z-index:2;
}

.sector-card{
background:rgba(255,255,255,0.95);
border-radius:12px;
box-shadow:0 5px 15px rgba(0,0,0,0.2);
transition:0.3s;
}

.sector-card:hover{
transform:translateY(-8px);
box-shadow:0 15px 30px rgba(0,0,0,0.15);
}

.sector-card h5{
margin-top:15px;
font-weight:600;
}

.sector-card i{
color:#f4b400;
}

.sector-card p{
font-size:14px;
color:#555;
}
#sectores h2{
    color:rgb(255, 255, 255);
    transition: 0.3s;
}
#sectores h2:hover{
    color:rgba(0,48,130);
}
#sectores h5{
    color:rgba(0,48,130);
    transition: 0.3s;
}
#sectores h5:hover{
    color:rgba(133, 130, 133);
}





/* TRABAJOS */


#trabajos{
background: rgb(235, 232, 235);
}



/* CARRUSEL */
.carousel-item img{
height:300px;
object-fit:cover;
}


/* CARDS */

.info-card{
background:rgb(239, 236, 239);
border-radius:12px;
box-shadow:0 5px 15px rgba(0,0,0,0.1);
transition:0.3s;
height:100%;
}

.info-card:hover{
transform:translateY(-8px);
box-shadow:0 15px 30px rgba(0,0,0,0.2);
}

#trabajos h2{
    color:rgb(0,48,130);
    transition: 0.3s;
}
#trabajos h2:hover{
    color:black;
}


/* TITLE CARDS */

.py-5 h3{
 color:rgba(0,48,130);
}

.py-5 h3:hover{
 color:rgb(133, 130, 133);
}


/* LISTA */

.lista-estados {
  list-style: none;
  padding: 0;
}

.lista-estados li {
  background: rgba(162, 156, 156, 0.75);
  box-shadow: 0 8px 20px rgba(0,0,0,0.5);
  border: 1px solid rgba(255,255,255,0.3);  margin: 5px 0;
  padding: 10px;
  border-left: 5px solid red;
}



/* NOSOTROS */

.nosotros-intro{
max-width:800px;
margin:auto;
font-size:16px;
line-height:1.7;
color:#555;
}

.info-card{
background:white;
border-radius:12px;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
transition:0.3s;
height:100%;
}

.info-card:hover{
transform:translateY(-8px);
box-shadow:0 15px 30px rgba(0,0,0,0.15);
}

.valores-lista{
list-style:none;
padding:0;
}

.valores-lista li{
margin-bottom:6px;
}

#nosotros h4, #nosotros h2{
    color:rgba(0,48,130);
    transition: 0.3s;
}

#nosotros h4:hover, #nosotros h2:hover{
    color:rgba(133, 130, 133);
}






/* SCROLL ANIMATION */

.reveal{
opacity:0;
transform:translateY(50px);
transition:all 0.6s ease;
}


.reveal.active{
opacity:1;
transform:translateY(0);
}

.reveal-left {
  opacity: 0;
  transform: translateX(-80px);
  transition: all 0.8s ease;
}

.reveal-right {
  opacity: 0;
  transform: translateX(80px);
  transition: all 0.8s ease;
}

.reveal-up {
  opacity: 0;
  transform: translateY(80px);
  transition: all 0.8s ease;
}

/* Estado visible */
.reveal-left.active,
.reveal-right.active,
.reveal-up.active {
  opacity: 1;
  transform: translate(0);
}






/* FOOTER */

.footer{
background:#111;
color:white;
padding:50px 0;
}

.footer-logo{
height:80px;
width:80px;
max-width:100%;
}

.footer .col-md-4:first-child{
display:flex;
flex-direction:column;
justify-content:center;
}

@media (max-width:768px){
.footer-logo{
height:60px;
}
}

.footer h5{
margin-bottom:15px;
font-weight:600;
}


.footer p{
color:#bbb;
font-size:14px;
}

.footer-links{
list-style:none;
padding:0;
}

.footer-links li{
margin-bottom:8px;
}

.footer-links a{
color:#bbb;
text-decoration:none;
transition:0.3s;
}

.footer-links a:hover{
color:#f4b400;
}



.footer-logo{
    width:160px;
    height:auto;
    margin-top:10px;
    margin-left:100px;
}

.telefono{
color:#bbb;
text-decoration:none;
transition:0.3s;
}

.telefono:hover{
color:#f4b400;
}

.contacto p{
transition: 0.3s;
}

.contacto p:hover{
color:#f4b400;
}


.social-icons a{
color:white;
margin-right:10px;
font-size:18px;
transition:0.3s;
}

.social-icons a:hover{
color:#f4b400;
}



