/* GENERAL */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
margin:0;
font-family:Arial;
background:#f4f4f4;
}

/* HEADER */

.header{
  background:rgb(0, 0, 0);
  height:150px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 40px;
  position:relative;
}
/* IZQ Y DER */

.left, .right{
display:flex;
align-items:center;
}

/* MENU */

.menu a{
color:white;
text-decoration:none;
margin-right:20px;
font-size:15px;
font-weight:bold;
}

.menu a:hover{
text-decoration:underline;
}

/* LOGO CENTRADO SIN ROMPER TODO */

.logo{
position:absolute;
left:50%;
transform:translateX(-50%);
}

.logo img{
  height:120px;
}

/* CARRITO */

.cart-icon{
position:relative;
display:flex;
align-items:center;
}

.cart-img{
width:65px;
}

.cart-count{
position:absolute;
top:-8px;
right:-10px;
background:red;
color:white;
font-size:12px;
padding:2px 6px;
border-radius:50%;
}

/* PRODUCTOS */

.productos{
padding:40px;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
}

/* TARJETAS */

.producto{
  background:white;
  border-radius:8px;
  box-shadow:0 5px 15px rgba(0,0,0,0.1);
  padding:20px;
  text-align:center;
  transition:0.3s;

  display:flex;              /* 🔥 clave */
  flex-direction:column;
  justify-content:space-between;
  height:100%;               /* 🔥 todas iguales */
}

.producto:hover{
transform:translateY(-5px);
}

/* CONTENEDOR DE IMAGEN */
.producto .img-container{
  width:100%;
  height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  margin-bottom:10px;
}

/* IMAGEN */
.producto .img-container img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:5px;
}

/* TEXTO */

.marca{
color:#888;
font-size:13px;
margin-top:10px;
}

.producto h3{
font-size:16px;
margin:10px 0;
}

.precio{
font-weight:bold;
font-size:18px;
margin:10px 0;
}

/* BOTON */

.boton{
background:black;
color:white;
border:none;
padding:10px 20px;
cursor:pointer;
border-radius:4px;
transition:0.3s;
}

.boton:hover{
background:#1f1d1d;
}

/* FOOTER */

footer{
background:black;
color:white;
text-align:center;
padding:20px;
margin-top:0;
}

/* CONTACTO */

#contacto{
background:#000000;
color:white;
padding:60px 40px;
}

.contenedor-contacto{
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:40px;
}

/* COLUMNAS */

.columna{
flex:1;
min-width:250px;
}

.izquierda img{
width:220px;
}

.centro h2{
margin-bottom:15px;
}

.centro p{
margin:8px 0;
}

.centro a{
color:#25D366; /* verde WhatsApp */
text-decoration:none;
}

.centro a:hover{
text-decoration:underline;
}

/* BOTÓN GRUPO */

.btn-unirme{
display:inline-block;
margin-top:10px;
padding:10px 20px;
background:#25D366;
color:white;
text-decoration:none;
border-radius:5px;
transition:0.3s;
}

.btn-unirme:hover{
background:#1ebe5d;
}

/* FOOTER FINAL */

footer{
background:black;
color:white;
text-align:center;
padding:20px;
}
/* ================= RESPONSIVE ================= */

/* IMÁGENES FLEXIBLES */
img{
  max-width:100%;
  height:auto;
}

/* ===== TABLET ===== */
@media (max-width:1024px){

  .productos{
    grid-template-columns:repeat(2,1fr);
  }

}

/* ===== CELULAR ===== */
@media (max-width:768px){

  /* HEADER */
  .header{
    flex-direction:column;
    height:auto;
    padding:20px;
    gap:15px;
  }

  .logo{
    position:static;
    transform:none;
  }

  .logo img{
    height:80px;
  }

  .menu{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  /* PRODUCTOS */
  .productos{
    grid-template-columns:1fr;
    padding:20px;
  }

  /* IMÁGENES MÁS GRANDES EN CELULAR */
  .producto .img-container{
    height:200px;
  }

  /* CONTACTO */
  .contenedor-contacto{
    flex-direction:column;
    text-align:center;
  }

  .derecha{
    text-align:center;
  }

}

/* ===== PANTALLAS GRANDES ===== */
@media (min-width:1400px){

  .productos{
    grid-template-columns:repeat(4,1fr);
  }

}