/* ===== CONFIGURACIÓN GENERAL ===== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins', sans-serif;
    background:#ffffff;
    color:#111111;
}

/* ===== HEADER ===== */

header{
    position:fixed;
    top:0;
    width:100%;
    padding: 20px 8%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    background: rgba(255, 255, 255, .95);
    backdrop-filter: blur(10px);
    box-shadow:0 2px 20px rgba(0,0,0,.15);
    z-index:1000;
    height: 150px;
}

.logo img{
    width:130px;
    filter: drop-shadow(0 5px 10px rgba(0,0,0,.25));
}

nav ul{
    display:flex;
    list-style:none;
    gap:35px;
}

nav a{
    text-decoration:none;
    color:#111111;
    font-weight:600;
    transition:.3s;
}

nav a:hover{
    color:#C4121A;
}

/* ===== HERO ===== */

#inicio{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding-top: 100px;
    background:linear-gradient(rgba(0,0,0,.60),
    rgba(0,0,0,.60)),
    url("../img/empresa/fondo.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    color:white;
}

.hero h1{
    font-size:85px;
    margin-bottom:10px;
    padding-top: 90px;
    text-shadow:
    0 5px 15px rgba(0,0,0,.5);
}

.hero h2{
    color:#C4121A;
    font-size:35px;
    margin-bottom:20px;
    text-shadow: 
    0 5px 10px rgba(0,0,0,.4);
}

.hero p{
    font-size:20px;
    margin-bottom:25px;
}

.hero span{
    display:inline-block;
    background:#C4121A;
    padding:10px 20px;
    border-radius:30px;
    margin-bottom:35px;
}

.botones{
    display:flex;
    justify-content:center;
    gap:20px;
}

.btn-rojo,
.btn-negro{
    padding:15px 30px;
    border-radius:40px;
    text-decoration:none;
    color:white;
    font-weight:600;
    transition:.3s;
    position: relative;
    overflow: hidden;
}

.btn-rojo{
    background:#C4121A;
}

.btn-negro{
    background:#111111;
}

.btn-rojo:hover,
.btn-negro:hover{
    transform:translateY(-5px);

    box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

/* ===== SECCIONES ===== */

section{
    padding:100px 10%;
    animation: aparecer 1s ease;
    }

    section h2{
    text-align:center;
    color:#C4121A;
    margin-bottom:40px;
    font-size:40px;
}

    @keyframes aparecer{
        from{

            opacity: 0;
            transform:translateY(40px);
        }
        to{
            opacity: 1;
            transform:translateY(0);
        }
    }


/* ===== NOSOTROS ===== */

#nosotros p{
    max-width:1000px;
    margin:auto;
    line-height:2;
    text-align:center;
    color:#555;
}

/* ===== PRODUCTOS ===== */

#productos h3{
    margin-top:40px;
    color:#111111;
}

#productos ul{
    margin-top:15px;
    margin-left:25px;
}

#productos li{
    margin-bottom:12px;
    color:#555;
}

/* ===== CONTACTO ===== */

#contacto{
    text-align:center;
    background:#f5f5f5;
}

#contacto h3{
    margin-top:25px;
    color:#111111;
}

#contacto p{
    color:#666;
    margin-top:10px;
}

/* ===== FOOTER ===== */

footer{
    background:#111111;
    color:white;
    text-align:center;
    padding:50px;
}

footer h2{
    color:#C4121A;
    margin-bottom:15px;
}

footer p{
    margin-top:10px;
}

/* ===== RESPONSIVE ===== */

@media(max-width:900px){
.hero h1{
    font-size:50px;
}

.hero h2{
    font-size:28px;
}

.botones{
    flex-direction:column;
}

section h2{
    font-size:32px;
}

}
/* ===== PRODUCTOS V2 ===== */

.contenedor-productos{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:35px;

}


.tarjeta-producto{

background:white;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.15);
transition:.4s;
display: flex;
flex-direction: column;
justify-content: space-between;
padding-bottom: 5px;

}


.tarjeta-producto:hover{

transform:translateY(-12px);

box-shadow:0 15px 40px rgba(0,0,0,.25);

}


.tarjeta-producto img{

width:80%;
height:250px;
object-fit:contain;
padding: 10px;
display: block;
margin: auto;

}


.tarjeta-producto h3{

color:#C4121A;

padding:10px 20px 5px;

font-size:23px;

}


.tarjeta-producto p{

padding:0 20px;
line-height:1.6;
color:#555;
margin-bottom: 20px;

}

.contenedor-productos{
    align-items: stretch;
}

.tarjeta-producto{
    height: 100%;
}

/* ===== GALERÍA V2 ===== */

.contenedor-galeria{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}

.contenedor-galeria img{

width:100%;

height: 250px;

object-fit:contain;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.20);

transition:.5s;

cursor:pointer;

}

.contenedor-galeria img:hover{

transform:scale(1.05);

box-shadow:0 15px 40px rgba(0,0,0,.35);

}

/* ===== ESTADÍSTICAS ===== */

#estadisticas{

background:#111111;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(200px,1fr));

gap:40px;

text-align:center;

}

.dato h2{

font-size: 70px;

color:#C4121A;

margin-bottom:15px;

}

.dato p{

color:white;

font-size:18px;

}

.dato{
    transition: .4s;
}

.dato:hover{
    transform: translateY(-10px);
}

.tarjeta-producto{

position:relative;

overflow:hidden;

}

.tarjeta-producto::before{

content:"";

position:absolute;

top:0;

left:-100%;

width:100%;

height:100%;

background:rgba(255,255,255,.2);

transition:.7s;

}

.tarjeta-producto:hover::before{

left:100%;

}

/* ==== LIGHTBOX ==== */

.lightbox{

    position: fixed;
    top: 0;
    left: 0%;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.9);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.lightbox img{

    max-width: 90%;
    max-height: 90%;
    border-radius: 20px;

}

/* ===== BOTON COTIZAR ====*/

.cotizar{
    display: block;
    width: 85%;
    margin: 20px auto;
    padding: 15px;
    background: #C4121A;
    color: white;
    text-align: center;
    text-decoration: none;
    border-radius: 40px;
    font-weight: 600;
    transition: .3s;
}

.cotizar:hover{
    background: #111111;
}

/* ===== BOTÓN SUBIR ===== */

.subir{

    position: fixed;

    right: 25px;

    bottom: 25px;

    width: 55px;

    height: 55px;

    background: #C4121A;

    color: white;

    text-decoration: none;

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 30px;

    box-shadow: 0 10px 25px rgba(0,0,0,.3);

    z-index: 999;

    transition: .3s;

}

.subir:hover{

    background: #111111;

    transform: translateY(-5px);

}

/* ===== CARRUSEL =======*/
.slider{
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: auto;
    overflow: hidden;
}

.slides{
    display: flex;
    width: 100%;
    transition: transform .7s ease;
}

.slides img{
    width: 100%;
    flex: 0 0 100%;
    height: 500px;
    object-fit: contain;
    background: white;
}

.anterior,
.siguiente{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    width: 55px;
    height: 55px;

    border: none;
    border-radius: 50%;

    background: rgba(0,0,0,.6);
    color: white;

    font-size: 30px;
    cursor: pointer;

    z-index: 10;

    transition: .3s;
}

.anterior:hover,
.siguiente:hover{

    background: #C4121A;

}

.anterior{

    left: 20px;

}

.siguiente{

    right: 20px;
    
}


/* ======== INDICADORES DEL CARRUSEL ======*/

.indicadores{
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 25px;
}

.indicadores span{
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #bbb;
    transition: .4s;
}

.indicadores .activo{
    background: #C4121A;
    transform: scale(1.3);
}

/* ======== CELULARES ======*/

.menu-hamburguesa{
    display:none;
    font-size:32px;
    cursor:pointer;
    color:#111;
}

@media(max-width:900px){

    header{

        height:80px;
        padding:10px 20px;
        display:flex;
        justify-content:space-between;
        align-items:center;
    }

    .logo img{

        width:60px;

    }

    .menu-hamburguesa{

        display:block;

    }

    nav{

        position:absolute;
        top:80px;
        left:0;

        width:100%;

        background:white;

        display:none;

        box-shadow:0 10px 20px rgba(0,0,0,.15);

    }

    nav.activo{

        display:block;

    }

    nav ul{

        display:flex;

        flex-direction:column;

        gap:20px;

        padding:25px;

        text-align:center;

    }

    #inicio{

        padding-top:80px;

    }

    .hero h1{

        font-size:42px;

        padding-top:20px;

    }

    .hero h2{

        font-size:24px;

    }

    .hero p{

        font-size:18px;

    }

}