* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

body {
	margin: 0px;
	padding: 0px;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
}

img {
	display: block;
}

a {
	text-decoration: none;
}

html,
body {
	height: 100%;
}

.contenedor {
	text-align: center;
	max-width: 100%;
	margin: 0px auto;
	box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.3);
	min-height: 100%;
	position: relative;
	background: #F5F5F5;
}

.difuminado-abajo {
	display: none;
	position: fixed;
	bottom: 0px;
	left: calc((100% - 1200px) / 2);
	height: 25px;
	width: 1200px;
	max-width: 100%;
	z-index: 1;

	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0.25+0,1+100 */
	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 1) 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 1) 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 1) 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#40ffffff', endColorstr='#ffffff', GradientType=0);
	/* IE6-9 */

	pointer-events: none;
}

.difuminado-abajo.elemento {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
}

.contepro {
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin: 0px auto;
	width: 500px;
	max-width: 100%;
	margin: 20px;
	text-align: left;
	cursor: pointer;
	border-radius: 15px;
	box-shadow: -3px 3px 7px -5px rgba(0, 0, 0, 0.2);
	background: #FFF;
	position: relative;
	transition: 0.5s transform ease-in-out, 0.5s box-shadow ease-in-out;
	width: calc(25% - 40px);
}

.contepro .descuento {
	display: none;
	position: absolute;
	top: 10px;
	left: 10px;
	width: 45px;
	background: var(--fondo-boton);
	color: var(--color-boton);
	padding: 5px 0px;
	text-align: center;
	border-radius: 8px;
	font-size: 13px;
	font-weight: bold;
}

.contepro .descuento_2 {
	float: right;
	width: 50px;
	background: var(--color-precio);
	color: #fff;
	padding: 3px;
	padding-left: 3px;
	padding-right: 5px;
	transform: translate(15px, -3px);
	text-align: center;
	font-size: 13px;
	font-weight: bold;
}

.contepro:hover {
	/*transform: scale(1.05);*/
	box-shadow: 0px 0px 20px #aaa;
}

.contepro .compartir {
	display: none;
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
}

.contepro .bolsa {
	position: absolute;
	bottom: 12px;
	right: 18px;
	z-index: 2;
}

.contepro svg g {
	fill: #DDDDDD;
	display: block;
}

.contepro .bolsa.en_carrito svg g {
	fill: var(--color-precio);
}

.contepro .contecont_btn {
	display: inline-block;
	vertical-align: middle;
	border-radius: 25px;
	box-shadow: -3px 3px 5px -2px #999;
}

.contepro .contecont_btn svg {
	display: block;
}

.contepro .contecont_num {
	display: inline-block;
	vertical-align: middle;
	padding: 0px 4px;
	width: 35px;
	text-align: center;
	font-size: 14px;
	color: var(--color-texto);
}

.contepro .conteactivo {
	background-color: #e8e8e8;
}

.contepro .divpro {
	display: block;
	width: 100%;
	padding: 0px;
	/*display: inline-block; HOLA*/
	vertical-align: top;
	text-align: left;
}

.contepro .divpro:first-child {
	/*width: 33.33%;*/
	width: 128px;

	width: 100%;
	padding: 0px;
	padding-bottom: 100%;
	display: grid;
	position: relative;

	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	overflow: hidden;
}

.contepro .divpro:last-child {
	width: calc(100% - 160px);
	width: -webkit-calc(100% - 160px);
	width: -moz-calc(100% - 160px);
	padding: 4px 15px 15px 15px;
	width: 100%;
}

.contepro .divpro:not(:last-child) {
	padding-right: 12px;

	padding-right: 0px;
}

.contepro .divpro:first-child>div {
	display: grid;
	width: 100%;
	/*min-height: 116px;*/
	align-items: top;
	overflow: hidden;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	background: rgba(241, 241, 241, 0.4);

	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	padding: 0px;
}

.contepro .divpro:first-child>div {
	align-items: center;
}

.contepro .divpro img {
	display: block;
	margin: 0px auto;
	width: 500px;
	max-width: 100%;
	max-height: 100%;
}

.contepro .pronom {
	font-weight: bold;
	font-size: 16px;
	padding-bottom: 10px;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	/*white-space: nowrap;*/
	position: relative;
	overflow: hidden;
	color: var(--color-texto);
	height: 50px;
	padding-top: 10px;
	margin-bottom: 10px;
}

.contepro .pronom .difuminado-derecha-texto {
	top: 0px;
	height: 100%;
}

.contepro .pronom span {
	background: var(--fondo-boton);
	color: var(--color-boton);
}

.contepro .prodet {
	font-size: 12px;
	padding-bottom: 15px;
	font-family: 'Roboto-Light', sans-serif;
	font-weight: 400;
	color: var(--color-texto);
	height: 24px;
	white-space: nowrap;
	position: relative;
	overflow: hidden;
}

.contepro .propre {
	display: block;
	font-weight: bold;
	font-size: 16px;
	padding-bottom: 10px;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	color: var(--color-precio);
}

.contepro .procar {
	display: block;
	/*margin-top: 5px;*/
}

.contepro .procar div:first-child:not(:only-child) {
	display: inline-grid;
	vertical-align: middle;
	align-items: center;
	border-radius: 8px;
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
	border: 1px solid #eee;
	height: 25px;
	margin: 0px;
	padding: 3px 6px;
}

.contepro .procar div:first-child svg,
.contepro .procar div:first-child svg g,
.contepro .procar div:first-child svg path {
	fill: #444;
}

.contepro .procar div:first-child+div {
	display: inline-grid;
	vertical-align: middle;
	align-items: center;
	font-weight: normal;
	background: #eee;
	padding: 0px;
	color: #444;
	height: 25px;
	margin: 0px;
}

.contepro .procar div:last-child:not(:only-child) {
	display: inline-grid;
	vertical-align: middle;
	align-items: center;
	border-radius: 8px;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
	border: 1px solid #eee;
	height: 25px;
	margin: 0px;
	padding: 3px 6px;
}

.contepro .procar div:last-child svg,
.contepro .procar div:last-child svg g,
.contepro .procar div:last-child svg path {
	fill: #444;
}

.contepro .propre .precio_anterior {
	color: #CCC;
	text-decoration: line-through;
	margin-right: 10px;
}

#bolsa g {
	fill: var(--fondo-boton);
}

.fil1 {
	fill: #ffffff;
}

.cantbol {
	background-color: var(--fondo-contador-carrito);
	position: absolute;
	top: 2px;
	right: 2px;
	font-size: 13px;
	line-height: 17px;
	color: var(--color-contador-carrito);
	padding: 1px;
	border-radius: 200px 200px 200px 200px;
	-moz-border-radius: 200px 200px 200px 200px;
	-webkit-border-radius: 200px 200px 200px 200px;
	border: 1px solid #f1f1f1;
	width: 20px;
	height: 20px;
	text-align: center;
	font-weight: normal;
}

.scroll_To_Top {
	display: block;
	height: 100px;
	color: black;
	text-decoration: none;
	position: relative;
	text-align: right;
	background: var(--fondo-boton);
	font-weight: bold;
	right: 0px;
	bottom: 30px;
	/*opacity: 0.89;*/
	z-index: 1;
	outline: none;
	border-radius: 60px;
	padding: 15px;
	box-shadow: 0px 0px 8px 2px #999;
}

.scroll_To_Top svg {
	display: block;
}

.bloque_categoria {
	margin-top: 20px;
}

.bloque_categoria+.bloque_categoria {
	margin-top: 80px;
}

.banner_categoria {
	display: block;
	margin: 0px auto;
	max-width: 1200px;
}

.banner_categoria .lds-roller {
	margin-top: 16px;
}

.banner_categoria .media_banner_categoria {
	width: 100%;
	display: block;
	border-radius: 20px;
	margin: 10px auto;
}

.flotante_inferior_derecha {
	position: fixed;
	right: calc(((100% - 1200px) / 2) + 16px);
	right: -webkit-calc(((100% - 1200px) / 2) + 16px);
	right: -moz-calc(((100% - 1200px) / 2) + 16px);
	bottom: 20px;
	height: auto;
	width: auto;
	z-index: 2;
	cursor: pointer;
}

.flotante_inferior_derecha svg g {
	fill: var(--color-boton);
}

.scroll_To_Top {
	width: auto;
	height: auto;
	position: static;
}

.nombre_categoria {
	text-align: center;
	font-size: 19px;
	color: var(--fondo-boton);
	font-weight: bold;
	padding: 20px;
}

.nombre_categoria:empty {
	display: none;
}

.lista_producto {
	text-align: left;
	display: block;
	max-width: 1200px;
	margin: 0px auto;
}

@media screen and (max-width: 1199px) {
	.contepro {
		width: calc(25% - 20px);
		margin: 10px;
	}

	.scroll_To_Top {
		color: black;
		text-decoration: none;
		text-align: center;
		font-weight: bold;
		right: 20px;
		bottom: 30px;
		/*opacity: 0.89;*/
		z-index: 2;
		outline: none;
	}

	.flotante_inferior_derecha {
		right: 20px;
	}

	.banner_categoria {
		margin-top: 0px;
	}

	.banner_categoria .media_banner_categoria {
		border-radius: 0px;
	}
}

@media screen and (max-width: 999px) {
	.contepro {
		width: calc(33% - 20px);
	}
}

@media screen and (max-width: 700px) {
	.contepro {
		width: calc(50% - 20px);
	}

	.difuminado-abajo {
		display: block;
		width: 100%;
		left: 0px;
	}

	.contepro .pronom {
		height: 62px;
	}
}

@media screen and (max-width: 550px) {
	.contepro {
		width: calc(50% - 20px);
		/*margin: 8px;*/
	}

	.contepro .divpro:not(:last-child) {
		/*padding-right: 8px;*/
	}

	.contepro .divpro:last-child {
		position: relative;
	}

	.contepro .pronom .difuminado-derecha-texto {
		top: 10px;
		height: 19px;
	}

	.contepro .propre {
		padding-bottom: 15px;
	}

	.contepro .descuento_2 {
		display: none;
	}
}