/* ===========================
   ECO VIBE - ESTILOS GENERALES
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
    scroll-behavior:smooth;
}

:root{
    --verde:#2ECC71;
    --menta:#A8F0C6;
    --blanco:#FFFFFF;
    --negro:#111111;
    --gris:#f5f5f5;
}

body{
    background:var(--blanco);
    color:#333;
    overflow-x:hidden;
}

/* ===========================
        NAVBAR
=========================== */

header{
    position:fixed;
    width:100%;
    top:0;
    left:0;
    background:rgba(17,17,17,.95);
    backdrop-filter:blur(8px);
    z-index:999;
    transition:.4s;
}

.navbar{
    width:90%;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0;
}

.logo h1{
    color:var(--verde);
    font-size:42px;
    font-weight:700;
}

.logo span{
    color:white;
    font-size:13px;
}

.menu{
    display:flex;
    list-style:none;
}

.menu li{
    margin-left:30px;
}

.menu a{
    color:white;
    text-decoration:none;
    font-weight:500;
    transition:.4s;
}

.menu a:hover{
    color:var(--menta);
}

/* ===========================
          HERO
=========================== */

.hero{
    height:100vh;
    background:
    linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
    url("img/hero.jpg");
    background-size:cover;
    background-position:center;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:white;
}

.hero-texto{
    width:800px;
}

.hero h2{
    font-size:60px;
    margin-bottom:20px;
    animation:aparecer 1.2s;
}

.hero p{
    font-size:20px;
    line-height:35px;
    margin-bottom:40px;
}

.btn{
    display:inline-block;
    padding:18px 40px;
    background:var(--verde);
    color:white;
    text-decoration:none;
    border-radius:50px;
    transition:.4s;
}

.btn:hover{
    background:var(--menta);
    color:var(--negro);
}

/* ===========================
        TITULOS
=========================== */

section{
    width:90%;
    margin:auto;
    padding:100px 0;
}

.titulo{
    text-align:center;
    font-size:40px;
    color:var(--verde);
    margin-bottom:20px;
}

.subtitulo{
    text-align:center;
    color:#666;
    margin-bottom:40px;
}

/* ===========================
      CATALOGO
=========================== */

.contenedor-productos{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.producto{

background:white;

border-radius:20px;

overflow:hidden;

box-shadow:0 10px 25px rgba(0,0,0,.1);

transition:.4s;

}

.producto:hover{

transform:translateY(-12px);

}

.producto img{

width:100%;

height:270px;

object-fit:cover;

}

.producto h3{

margin:20px;

color:var(--verde);

}

.producto p{

margin:0 20px 20px;

line-height:28px;

}

.producto button{

margin:20px;

padding:15px 30px;

border:none;

background:var(--verde);

color:white;

border-radius:30px;

cursor:pointer;

transition:.4s;

}

.producto button:hover{

background:black;

}

/* ===========================
      HISTORIA
=========================== */

#historia{

background:var(--gris);

border-radius:20px;

padding:70px;

}

#historia p{

line-height:35px;

text-align:justify;

margin-bottom:25px;

}

.mision-vision{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:30px;

margin-top:40px;

}

.card-info{

background:white;

padding:30px;

border-radius:20px;

box-shadow:0 10px 20px rgba(0,0,0,.08);

}

.card-info h3{

color:var(--verde);

margin-bottom:20px;

}
/* ===========================
        GALERÍA
=========================== */

.galeria{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:20px;
}

.galeria img{
    width:100%;
    height:250px;
    object-fit:cover;
    border-radius:20px;
    cursor:pointer;
    transition:.4s;
    box-shadow:0 8px 20px rgba(0,0,0,.15);
}

.galeria img:hover{
    transform:scale(1.05);
}

/* ===========================
      ORGANIGRAMA
=========================== */

.organigrama{
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:30px;
}

.organigrama img{
    width:100%;
    max-width:950px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
}

/* ===========================
        HORARIOS
=========================== */

.horario-card{
    max-width:500px;
    margin:auto;
    background:linear-gradient(135deg,#2ECC71,#78E08F);
    color:white;
    padding:35px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.2);
}

.horario-card h3{
    text-align:center;
    margin-bottom:25px;
    font-size:28px;
}

.horario-card p{
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.25);
}

/* ===========================
          MAPA
=========================== */

.mapa iframe{
    width:100%;
    height:450px;
    border:none;
    border-radius:20px;
    box-shadow:0 10px 20px rgba(0,0,0,.15);
}

/* ===========================
      REDES SOCIALES
=========================== */

.iconos-redes{
    display:flex;
    justify-content:center;
    gap:25px;
    margin-top:35px;
}

.iconos-redes a{
    width:70px;
    height:70px;
    background:var(--verde);
    color:white;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    font-size:28px;
    transition:.4s;
}

.iconos-redes a:hover{
    background:black;
    transform:translateY(-8px);
}

/* ===========================
      FORMULARIO
=========================== */

form{
    max-width:700px;
    margin:auto;
}

form input,
form textarea{

    width:100%;
    margin:15px 0;
    padding:18px;
    border:2px solid #ddd;
    border-radius:12px;
    outline:none;
    transition:.3s;

}

form input:focus,
form textarea:focus{

    border-color:var(--verde);

}

form button{

    width:100%;
    padding:18px;
    border:none;
    border-radius:12px;
    background:var(--verde);
    color:white;
    font-size:18px;
    cursor:pointer;
    transition:.4s;

}

form button:hover{

    background:black;

}

/* ===========================
          FOOTER
=========================== */

footer{

    background:#111;
    color:white;
    padding:50px 20px;
    text-align:center;
    margin-top:80px;

}

.footer-logo h2{

    font-size:45px;
    color:var(--verde);

}

.footer-logo p{

    margin-top:10px;

}

.footer-info{

    margin-top:25px;
    color:#ccc;

}
/* ===========================
        ANIMACIONES
=========================== */

@keyframes aparecer{
    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes zoom{
    from{
        transform:scale(.9);
        opacity:0;
    }

    to{
        transform:scale(1);
        opacity:1;
    }
}

.hero-texto{
    animation:aparecer 1s ease;
}

.producto,
.card-info,
.galeria img,
.horario-card{
    animation:zoom .8s ease;
}

/* ===========================
     BOTÓN WHATSAPP
=========================== */

.whatsapp{

    position:fixed;

    width:65px;

    height:65px;

    bottom:30px;

    right:30px;

    background:#25D366;

    color:white;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:32px;

    text-decoration:none;

    box-shadow:0 8px 20px rgba(0,0,0,.3);

    transition:.4s;

    z-index:999;

}

.whatsapp:hover{

    transform:scale(1.15);

    background:#128C7E;

}

/* ===========================
      SCROLL PERSONALIZADO
=========================== */

::-webkit-scrollbar{

    width:12px;

}

::-webkit-scrollbar-track{

    background:#eeeeee;

}

::-webkit-scrollbar-thumb{

    background:#2ECC71;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#27AE60;

}

/* ===========================
      EFECTOS EXTRA
=========================== */

html{
    scroll-behavior:smooth;
}

img{
    user-select:none;
}

button{
    transition:.3s;
}

button:hover{
    letter-spacing:1px;
}

input,
textarea{
    font-size:16px;
}

/* ===========================
      RESPONSIVE TABLET
=========================== */

@media(max-width:992px){

.hero h2{
    font-size:45px;
}

.hero p{
    font-size:18px;
}

.menu{
    gap:15px;
}

.titulo{
    font-size:34px;
}

}

/* ===========================
      RESPONSIVE CELULAR
=========================== */

@media(max-width:768px){

.navbar{

    flex-direction:column;

    padding:20px;

}

.menu{

    flex-direction:column;

    width:100%;

    text-align:center;

    margin-top:20px;

}

.menu li{

    margin:12px 0;

}

.hero{

    padding:20px;

}

.hero h2{

    font-size:34px;

}

.hero p{

    font-size:16px;

    line-height:28px;

}

.contenedor-productos{

    grid-template-columns:1fr;

}

.mision-vision{

    grid-template-columns:1fr;

}

.galeria{

    grid-template-columns:1fr;

}

.whatsapp{

    width:55px;

    height:55px;

    font-size:26px;

}

section{

    padding:70px 0;

}

}

/* ===========================
        FIN DEL CSS
=========================== */