@charset "utf-8";

html {
	background: var(--blanco);
}

.boxes .producto {
}
.boxes .producto {
	width: calc(50% - 18px);
	position: relative;
	animation-duration: 1.3s;
	animation-delay: 1.2s;
}
.boxes .producto > div {
	width: 100%;
	position: relative;
}
.producto .imagen img {
	width: 100%;
}
.producto .imagen .like {
	position: absolute;
	top: 0;
	left:0;
	z-index: 3;
}
.desc {
	position: absolute;
	top: 0;
	right:12px;
	color: var(--blanco);
	background: var(--azul);
	padding:15px 5px 3px;
	animation-duration: 1.3s;
	animation-delay: 1.2s;
	z-index: 6;
}
.desc::after,
.desc::before {
	content: '';
	width: 0;
	height:0;
	background: none;
	position: absolute;
	top: 100%;
	z-index: 3;
}
.desc::after {
	left: 0;
	border-top:  18px solid var(--azul);
	border-right:24px solid transparent;
}
.desc::before {
	right: 0;
	border-top: 18px solid var(--azul);
	border-left:24px solid transparent;
}
.desc p {
	font-family: 'Avenir Bold';
	font-size: 0.9em;
}

.producto .imagen button {
	width: 36px;
	height:36px;
	position: absolute;
	top: 12px;
	left:12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--grisClaro);
	border-radius: 50% !important;
	z-index: 6;
}
.producto .imagen button span {
	font-size: 1.3em;
	color: var(--azul);
}
.producto .imagen button.active span,
.producto .imagen button:hover span {
	color: var(--azul);
}
button span::after {
	transition: all 0.3s ease-in-out;
}
.producto .imagen button.active span::after,
.producto .imagen button:hover span::after {
	opacity: 1;
}

.producto .texto {
	width: 100%;
	padding:18px 0 0;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.producto .texto h2 {
	width: 100%;
	font-family: 'Avenir';
	font-size: 1.2em;
	margin: 0 0 3px;
	color: var(--grisFuerte);
}
.producto .texto span {
	width: 100%;
	font-size: 1.1em;
	display: block;
}
.producto .texto span.precio-ant {
	font-size: 0.9em;
	opacity: 0.6;
	text-decoration: line-through;
}
.producto .texto form button {
	background: none;
}
.producto .texto form button span {
	font-size: 1.5em;
	color: var(--grisFuerte);
	transition: all 0.3s ease-in-out;
}
.producto .texto form button:hover span {
	color: var(--azul);
}

#pieza {
	padding:120px 0 0;
	display: flex;
	justify-content: space-between;
}
#pieza > div {
	position: relative;
}
#pieza .imagen {
	width: calc(100% - 270px);
	height:0;
	padding:0 0 630px;
	overflow: hidden;
}
#pieza .imagen img {
	width: 102%;
	height:102%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	z-index: 3;
}
#pieza .imagen button {
	width: 48px;
	height:48px;
	position: absolute;
	top: 0;
	left:0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--grisClaro);
	border-radius: 50% !important;
	z-index: 6;
}
#pieza .imagen button span {
	font-size: 1.8em;
	color: var(--azul);
}
#pieza .imagen button.active span,
#pieza .imagen button:hover span {
	color: var(--azul);
}
#pieza .imagen button.active span::after,
#pieza .imagen button:hover span::after {
	opacity: 1;
}
#pieza .desc {
	padding:15px 3px 3px;
}
#pieza .desc::after {
	border-right:30px solid transparent;
}
#pieza .desc::before {
	border-left:30px solid transparent;
}
#pieza .desc p {
	font-size: 1.2em;
}

#pieza .lateral {
	width: 240px;
	height:630px;
	overflow-y: scroll;
	display: flex;
	align-items: flex-start;
	align-content: flex-start;
	flex-wrap: wrap;
	gap: 6px;
	animation-duration: 1.3s;
	animation-delay: 0.9s;
}
#pieza .lateral button {
	width: 100%;
	height:0;
	padding:0 0 100%;
	position: relative;
	overflow: hidden;
}
#pieza .lateral button img {
	width: 102%;
	height:102%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	opacity: 0.8;
	transition: all 0.6s ease-in-out;
	z-index: 3;
}
#pieza .lateral button img.active,
#pieza .lateral button img:hover {
	opacity: 1;
}

.descripcion {
	margin: 30px auto 0;
	padding:24px 0 48px;
	border-top: solid 1px var(--grisFuerte);
}
.descripcion > * {
	animation-duration: 1.3s;
	animation-delay: 0.9s;
}
.descripcion > h1,
.descripcion > h2,
.descripcion > h3,
.descripcion > p {
	padding:0 30px;
}
.descripcion > h1 {
	color: var(--marino);
	font-size: 1.5em;
	margin: 0 0 6px;
}
.descripcion > h3 {
	font-size: 1em;
}
.descripcion > h3 a {
	font-family: 'Avenir';
	color: var(--azul);
}
.descripcion > h3 a:hover {
	text-decoration: underline;
}
.descripcion .barra {
	width: 100%;
	margin:0 auto;
	padding:9px 0 30px;
	position: relative;
	display: flex;
	gap: 30px;
	justify-content: space-between;
}
.descripcion .barra > div:first-child {
	border-bottom: solid 1px var(--grisFuerte);
	padding:0 0 30px;
}
.descripcion .barra p {
	padding:0 30px;
	display: block;
}
.descripcion .barra p.precio {
	font-size: 1.5em;
}
.descripcion .barra p.precio-ant {
	font-size: 0.9em;
	text-decoration: line-through;
}
.descripcion .barra .links {
	position: relative;
	display: flex;
	gap: 12px;
}
.descripcion .barra .links a {
	font-size: 1.8em;
	color: var(--grisFuerte);
}
.descripcion .barra .links form button {
	padding:2px 0 0;
	background: none;
}
.descripcion .barra .links form button span {
	font-size: 1.8em;
	color: var(--azul);
}
.descripcion > h2 {
	margin: 0 0 15px;
}
.descripcion > p {
	margin: 0 0 24px;
}

.sup {
	text-align: center;
	margin: 120px auto 30px;
}
.sup h2 {
	color: var(--azul);
}

#cont {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 21px;
	padding:30px 0 0;
}
#cont.esp {
	margin: -24px auto 0;
	padding:0 0 30px;
}
#cont > * {
	width: 100%;
	animation-duration: 1.3s;
	animation-delay: 0.9s;
}
#cont h2 {
	margin: 48px 0 0;
}
#cont h3 {
	color: var(--azul);
}
#cont p {
	margin: 0 0 15px;
}
#cont .link {
	color: var(--azul);
}
#cont .link:hover {
	text-decoration: underline;
}

@media screen and (max-width:666px) {
	
	#pieza {
		padding:150px 0 0;
	}
	#pieza .imagen {
		width: calc(100% - 78px);
		height:auto;
		padding:0;
		position: relative;
	}
	#pieza .imagen img {
		width: 100%;
		height:auto;
		position: relative;
		display: block;
		top: 0;
		left:0;
		transform: translate(0,0);
	}
	#pieza .imagen button {
		width: 42px;
		height:42px;
	}
	#pieza .imagen button span {
		font-size: 1.5em;
	}
	#pieza .desc p {
		font-size: 1em;
	}

	#pieza .lateral {
		width: 72px;
		height:300px;
	}

	.descripcion .barra .links a {
		font-size: 1.3em;
	}
	.descripcion .barra .links form button span {
		font-size: 1.3em;
	}
	
	.producto .imagen button {
		top: 3px;
		left:3px;
		transform: scale(0.84);
	}
	.producto .texto h2 {
		font-size: 1em;
	}
	.producto .texto span {
		width: 100%;
		font-size: 0.9em;
		display: block;
	}
	
}