/* BOLA */
.bola {
	position: fixed;
	bottom: 87.5px;
	left: 15px;
	display: block;
	width: 20px;
	font-size: 1.25em;
	font-family: var(--fuente_titulos);
	font-weight: 600;
	text-align: center;
	line-height: 20px;
	color: var(--negro);
	z-index: 5;
	transform: translate(-50px, 0);
}

.bola.desplegado {
	transform: none;
}

.bola:before {
	content: '';
	position: absolute;
    bottom: -37.5px;
    right: -15px;
    width: 50px;
    height: 50px;
	border-top-right-radius: 50px;
	border-bottom-right-radius: 50px;
	background: url('../img/web/minicesta_w.svg') no-repeat center var(--negro);
	z-index: -1;
	transition: all 250ms linear;
}

.bola:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	border-radius: 100%;
	background: var(--blanco);
	z-index: -1;
	transition: all 250ms linear;
}

/* DESPLEGABLE MINICESTA */
.desplegable_minicesta {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
}

.desplegable_minicesta.desplegado {
	opacity: 1;
	visibility: visible;
}

.desplegable_minicesta .interior {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 400px;
	background: var(--crema);
	z-index: 2;
	transform: translate(100%, 0);
	transition-delay: 250ms;
}

.desplegable_minicesta.desplegado .interior {
	transform: none;
}

.desplegable_minicesta .interior .superior {
	position: relative;
	padding: 20px;
	background: var(--blanco);
}

.desplegable_minicesta .interior .superior:before {
    content: '';
    position: absolute;
    bottom: -.5px;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--luto15);
    z-index: 1;
}

.desplegable_minicesta .interior .superior .titulo {
	display: block;
	font-size: 2em;
    line-height: 1em;
}

.desplegable_minicesta .interior .superior .cerrar_minicesta {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 20px;
	height: 20px;
	background: url('../img/web/cerrar.svg') no-repeat center;
}

.desplegable_minicesta .interior .inferior {
	padding: 40px 20px;
}

.desplegable_minicesta .interior .inferior .listado {
	height: calc(100vh - 390px);
	height: calc(var(--vh, 1vh) * 100 - 390px);
	overflow-y: auto;
}

.desplegable_minicesta .interior .inferior .listado::-webkit-scrollbar {
    width: 15px;
}

.desplegable_minicesta .interior .inferior .listado::-webkit-scrollbar-track {
	border-radius: 0;
    background: transparent;
}

.desplegable_minicesta .interior .inferior .listado::-webkit-scrollbar-thumb {
    border-left: 10px solid transparent;
    border-radius: 0;
    background-clip: content-box;
}

.desplegable_minicesta .interior .inferior .listado .item_minicesta {
	margin-bottom: 10px;
}

.desplegable_minicesta .interior .inferior .listado .item_minicesta:last-child {
	margin-bottom: 0;
}

.desplegable_minicesta .interior .inferior .listado .item_minicesta .imagen {
	display: inline-block;
	vertical-align: middle;
	width: 100px;
	margin-right: 10px;
	border-radius: 10px;
	background: var(--blanco);
	overflow: hidden;
}

.desplegable_minicesta .interior .inferior .listado .item_minicesta .imagen img {
	display: block;
	width: 100%;
	height: auto;
}

.desplegable_minicesta .interior .inferior .listado .item_minicesta .texto {
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 110px);
	padding: 10px 0;
}

.desplegable_minicesta .interior .inferior .listado .item_minicesta .texto .titulo {
	display: block;
    max-width: fit-content;
    font-size: 1.45em;
    line-height: 20px;
    color: var(--negro);
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.desplegable_minicesta .interior .inferior .listado .item_minicesta .texto .propiedad {
	display: block;
    max-width: fit-content;
    margin-top: 10px;
    font-size: 1.25em;
    line-height: 15px;
    color: var(--negro);
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.desplegable_minicesta .interior .inferior .listado .item_minicesta .texto .precio {
	display: block;
	float: left;
    margin-top: 15px;
    font-size: 1.45em;
    line-height: 20px;
}

.desplegable_minicesta .interior .inferior .listado .item_minicesta .texto .borrar {
	display: block;
	float: right;
	width: 20px;
	height: 20px;
	margin-top: 15px;
	border-radius: 5px;
	background: url('../img/web/proceso/borrar_w.svg') no-repeat center var(--negro);
}

.desplegable_minicesta .interior .inferior .entrega {
	display: block;
	margin-top: 40px;
    padding: 20px;
    border-radius: 10px;
    font-size: 1.45em;
    line-height: 20px;
    text-align: center;
    box-shadow: 0 0 0 1px var(--luto15) inset;
}

.desplegable_minicesta .interior .inferior .informacion {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 40px;
}

.desplegable_minicesta .interior .inferior .informacion .unidades,
.desplegable_minicesta .interior .inferior .informacion .total {
	font-size: 2em;
	line-height: 1em;
}

.desplegable_minicesta .interior .inferior .informacion .separador {
	display: block;
	flex: 1;
	margin: 0 10px;
	margin-bottom: 5px;
	border-bottom: 1px dotted var(--negro);
}

.desplegable_minicesta .interior .inferior .botones {
	margin-top: 40px;
}

.desplegable_minicesta .interior .inferior .botones .boton {
    display: block;
    padding: 0 20px;
    border-radius: 10px;
    font-size: 1.45em;
    line-height: 50px;
    text-align: center;
    color: var(--blanco);
    background: var(--negro);
}

.desplegable_minicesta .interior .vacio {
	margin: 0;
	padding: 40px 20px;
    font-size: 2em;
    line-height: 1em;
	text-align: center;
}

.desplegable_minicesta .fondo {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--luto75);
	z-index: 1;
}

/* MINICABECERA */
.minicabecera {
	position: relative;
	padding: 20px 0;
	background: var(--blanco);
	z-index: 5;
}

.minicabecera:before {
	content: '';
	position: absolute;
	bottom: -.5px;
	left: 0;
	right: 0;
	height: 1px;
	background: var(--luto15);
}

.minicabecera .izquierda {
	float: left;
}

.minicabecera .titulo {
	display: block;
	font-size: 2em;
	line-height: 1em;
	color: var(--negro);
}

.minicabecera .derecha {
	float: right;
}

.minicabecera .derecha .usuario .desplegar_usuario {
	display: block;
	width: 20px;
	height: 20px;
	background: url('../img/web/proceso/usuario.svg') no-repeat center;
}

.minicabecera .derecha .volver {
	display: inline-block;
	vertical-align: top;
	margin-right: 40px;
	padding-left: 25px;
	font-size: 1.45em;
	line-height: 20px;
	color: var(--negro);
	background: url('../img/web/proceso/volver.svg') center left no-repeat;
}

.minicabecera .derecha .minicesta {
	position: relative;
	display: inline-block;
	vertical-align: top;
}

.minicabecera .derecha .minicesta .desplegar_minicesta {
	display: block;
	width: 20px;
	height: 20px;
	background: url('../img/web/proceso/minicesta.svg') no-repeat center;
}

.minicabecera .derecha .minicesta .unidades {
	position: absolute;
	top: -15px;
	left: 0;
	width: 20px;
	border-radius: 100%;
	font-family: var(--fuente_titulos);
	font-size: 1.25em;
    font-weight: 600;
	line-height: 20px;
	text-align: center;
	color: var(--blanco);
	background: var(--negro);
	cursor: pointer;
}

/* CESTA */
.cesta {
	position: relative;
	min-height: calc(100vh - 60px);
	min-height: calc(var(--vh, 1vh) * 100 - 60px);
	background: var(--crema);
	z-index: 1;
}

.cesta:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 50%;
	background: var(--blanco);
	z-index: -1;
}

.cesta .interior {
	position: relative;
	display: flex;
	justify-content: space-between;
}

.cesta .interior:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 1px;
	margin: 0 auto;
	background: var(--luto15);
}

.cesta .interior .izquierda {
	width: 50%;
	padding: 40px 0;
	padding-right: 40px;
}

.cesta .interior .izquierda .usuario .titulo {
	display: block;
	float: left;
	font-size: 2em;
	line-height: 1em;
	color: var(--negro);
}

.cesta .interior .izquierda .usuario .boton {
	display: block;
	float: right;
	font-size: 1.45em;
	line-height: 20px;
	text-decoration: underline;
	color: var(--negro);
}

.cesta .interior .izquierda .usuario form {
	margin-top: 20px;
}

.cesta .interior .izquierda .usuario form input[readonly] {
	background: var(--crema);
	box-shadow: none;
}

.cesta .interior .izquierda .usuario form .checks {
	margin-top: 20px;
}

.cesta .interior .izquierda .direccion {
	margin-top: 40px;
}

.cesta .interior .izquierda .direccion .titulo {
	display: block;
	font-size: 2em;
	line-height: 1em;
	color: var(--negro);
}

.cesta .interior .izquierda .direccion form {
	margin-top: 20px;
}

.cesta .interior .izquierda .direccion form .radios {
	border-radius: 10px;
	box-shadow: 0 0 0 1px var(--luto15) inset;
	overflow: hidden;
}

.cesta .interior .izquierda .direccion form .checks ~ .radios {
	margin-top: 20px;
}

.cesta .interior .izquierda .direccion form .radios .radio label {
	padding-left: 60px;
	padding-right: 20px;
}

.cesta .interior .izquierda .direccion form .radios .radio label:before {
	left: 20px;
}

.cesta .interior .izquierda .direccion form .radios .desplegar_otra {
	display: block;
	padding: 20px;
	padding-left: 60px;
	font-size: 1.45em;
	line-height: 20px;
	background: url('../img/web/proceso/otra.svg') no-repeat center left 20px;
}

.cesta .interior .izquierda .direccion form .checks {
	margin-top: 20px;
}

.cesta .interior .izquierda .envios {
	margin-top: 40px;
}

.cesta .interior .izquierda .envios .titulo {
	display: block;
	font-size: 2em;
	line-height: 1em;
	color: var(--negro);
}

.cesta .interior .izquierda .envios form {
	display: none;
	margin-top: 20px;
}

.cesta .interior .izquierda .envios form .radios {
	border-radius: 10px;
	box-shadow: 0 0 0 1px var(--luto15) inset;
	overflow: hidden;
}

.cesta .interior .izquierda .envios form .checks ~ .radios {
	margin-top: 20px;
}

.cesta .interior .izquierda .envios form .radios .radio label {
	padding-left: 60px;
	padding-right: 20px;
}

.cesta .interior .izquierda .envios form .radios .radio label:before {
	left: 20px;
}

.cesta .interior .izquierda .envios .vacio {
	display: block;
	margin-top: 20px;
	padding: 20px;
	border-radius: 10px;
	font-size: 1.45em;
	line-height: 20px;
	text-align: center;
	background: var(--crema);
}

.cesta .interior .izquierda .pagos {
	margin-top: 40px;
}

.cesta .interior .izquierda .pagos .titulo {
	display: block;
	font-size: 2em;
	line-height: 1em;
	color: var(--negro);
}

.cesta .interior .izquierda .pagos form {
	display: none;
	margin-top: 20px;
}

.cesta .interior .izquierda .pagos form .radios {
	border-radius: 10px;
	box-shadow: 0 0 0 1px var(--luto15) inset;
	overflow: hidden;
}

.cesta .interior .izquierda .pagos form .checks ~ .radios {
	margin-top: 20px;
}

.cesta .interior .izquierda .pagos form .radios .radio label {
	padding-left: 60px;
	padding-right: 20px;
	background-repeat: no-repeat;
	background-position: center right 20px;
}

.cesta .interior .izquierda .pagos form .radios .radio input[value="1"] ~ label {
	background-image: url('../img/web/proceso/forma_pago_1.svg');
}

.cesta .interior .izquierda .pagos form .radios .radio input[value="2"] ~ label {
	background-image: url('../img/web/proceso/forma_pago_2.svg');
}

.cesta .interior .izquierda .pagos form .radios .radio input[value="3"] ~ label {
	background-image: url('../img/web/proceso/forma_pago_3.svg');
}

.cesta .interior .izquierda .pagos form .radios .radio input[value="4"] ~ label {
	background-image: url('../img/web/proceso/forma_pago_4.svg');
}

.cesta .interior .izquierda .pagos form .radios .radio input[value="5"] ~ label {
	background-image: url('../img/web/proceso/forma_pago_5.svg');
}

.cesta .interior .izquierda .pagos form .radios .radio label:before {
	left: 20px;
}

.cesta .interior .izquierda .pagos .vacio {
	display: block;
	margin-top: 20px;
	padding: 20px;
	border-radius: 10px;
	font-size: 1.45em;
	line-height: 20px;
	text-align: center;
	background: var(--crema);
}

.cesta .interior .derecha {
	width: 50%;
	padding: 40px 0;
	padding-left: 40px;
}

.cesta .interior .derecha .resumen .item_resumen {
	position: relative;
	margin-bottom: 10px;
}

.cesta .interior .derecha .resumen .item_resumen:last-child {
	margin-bottom: 0;
}

.cesta .interior .derecha .resumen .item_resumen .imagen {
	display: inline-block;
	vertical-align: middle;
	width: 100px;
	margin-right: 10px;
	border-radius: 10px;
	background: var(--blanco);
	overflow: hidden;
}

.cesta .interior .derecha .resumen .item_resumen .imagen img {
	display: block;
	width: 100%;
	height: auto;
}

.cesta .interior .derecha .resumen .item_resumen .texto {
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 110px);
	padding: 10px 0;
}

.cesta .interior .derecha .resumen .item_resumen .texto .titulo {
	display: block;
	max-width: fit-content;
	font-size: 1.45em;
	line-height: 20px;
	color: var(--negro);
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.cesta .interior .derecha .resumen .item_resumen .texto .propiedad {
	display: block;
	max-width: fit-content;
	margin-top: 10px;
	font-size: 1.25em;
	line-height: 15px;
	color: var(--negro);
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.cesta .interior .derecha .resumen .item_resumen .texto .cantidad {
	float: left;
	margin-top: 15px;
	margin-right: 10px;
	border-radius: 10px;
	background: var(--blanco);
	overflow: hidden;
}

.cesta .interior .derecha .resumen .item_resumen .texto .cantidad .restar {
	display: inline-block;
	vertical-align: middle;
	width: 30px;
	height: 20px;
	background: url('../img/web/proceso/restar.svg') no-repeat center;
}

.cesta .interior .derecha .resumen .item_resumen .texto .cantidad span {
	display: inline-block;
	vertical-align: middle;
	width: 30px;
	font-size: 1.45em;
	line-height: 20px;
	text-align: center;
}

.cesta .interior .derecha .resumen .item_resumen .texto .unidades {
	display: block;
	float: left;
	margin-top: 15px;
	font-size: 1.45em;
	line-height: 20px;
}

.cesta .interior .derecha .resumen .item_resumen .texto .borrar {
	display: block;
	float: left;
	width: 20px;
	height: 20px;
	margin-top: 15px;
	border-radius: 5px;
	background: url('../img/web/proceso/borrar_w.svg') no-repeat center var(--negro);
}

.cesta .interior .derecha .resumen .item_resumen .texto .cantidad .sumar {
	display: inline-block;
	vertical-align: middle;
	width: 30px;
	height: 20px;
	background: url('../img/web/proceso/sumar.svg') no-repeat center;
}

.cesta .interior .derecha .resumen .item_resumen .texto .precio {
	display: block;
	float: right;
	margin-top: 15px;
	font-size: 1.45em;
	line-height: 20px;
}

.cesta .interior .derecha .cupon {
	display: flex;
	margin-top: 40px;
}

.cesta .interior .derecha .cupon .campos {
	flex: 1;
}

.cesta .interior .derecha .cupon .campos .campo input[readonly] {
	background: var(--crema);
}

.cesta .interior .derecha .cupon .botones .boton {
	display: block;
	margin-left: 10px;
	padding: 0 20px;
	border-radius: 10px;
	font-size: 1.45em;
	line-height: 50px;
	color: var(--blanco);
	background: var(--negro);
}

.cesta .interior .derecha .entrega {
	display: block;
	margin-top: 40px;
    padding: 20px;
    border-radius: 10px;
    font-size: 1.45em;
    line-height: 20px;
    text-align: center;
    box-shadow: 0 0 0 1px var(--luto15) inset;
}

.cesta .interior .derecha .informacion {
	margin-top: 40px;
}

.cesta .interior .derecha .informacion span {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 10px;
	font-size: 1.45em;
	line-height: 20px;
}

.cesta .interior .derecha .informacion span:first-child {
	margin-top: 0;
}

.cesta .interior .derecha .informacion span.total {
	margin-top: 20px;
	font-size: 2em;
	line-height: 1em;
}

.cesta .interior .derecha .informacion span b {
	display: block;
	font-weight: 400;
}

.cesta .interior .derecha .informacion span i {
	display: block;
	flex: 1;
	margin: 0 10px;
	margin-bottom: 5px;
	border-bottom: 1px dotted var(--negro);
}

.cesta .interior .derecha .completar {
	margin-top: 40px;
}

.cesta .interior .derecha .completar .botones {
	margin-top: 20px;
}

.cesta .interior .derecha .completar .botones .boton {
	display: block;
	padding: 0 20px;
	border-radius: 10px;
	font-size: 1.45em;
	line-height: 50px;
	text-align: center;
	color: var(--blanco);
	background: var(--negro);
}

/* DESPLEGABLE OTRA */
.desplegable_otra {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: none;
	z-index: 15;
}

.desplegable_otra .interior {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	max-width: 640px;
	margin: 0 auto;
	padding: 20px;
	border-radius: 20px;
	background: var(--crema);
	z-index: 2;
	transform: translate(0, -50%);
}

.desplegable_otra .interior .superior .titulo {
	display: block;
	max-width: calc(100% - 40px);
	font-size: 2em;
	line-height: 1em;
}

.desplegable_otra .interior .inferior {
	margin-top: 20px;
}

.desplegable_otra .interior .inferior form .botones {
	margin-top: 20px;
}

.desplegable_otra .interior .inferior form .botones .boton {
	display: block;
	padding: 0 20px;
	border-radius: 10px;
	font-size: 1.45em;
	line-height: 50px;
	text-align: center;
	color: var(--blanco);
	background: var(--negro);
}

.desplegable_otra .interior .cerrar_otra {
	position: absolute;
	top: 20px;
	right: 20px;
	display: block;
	width: 20px;
	height: 20px;
	background: url('../img/web/cerrar.svg') no-repeat center;
}

.desplegable_otra .fondo {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--luto75);
	z-index: 1;
}

/* CONFIRMACIÓN */
.confirmacion {
	position: relative;
	background: var(--blanco);
	z-index: 1;
}

.confirmacion .interior {
	max-width: 800px;
	min-height: calc(100vh - 60px);
	min-height: calc(var(--vh, 1vh) * 100 - 60px);
	margin: 0 auto;
	padding: 40px;
	text-align: center;
}

.confirmacion .interior .titulo {
	position: relative;
	display: block;
	padding-top: 120px;
	font-size: 5em;
	line-height: 1em;
}

.confirmacion .interior .titulo:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100px;
	height: 100px;
	margin: 0 auto;
	border-radius: 100%;
	background-repeat: no-repeat;
	background-position: center;
	box-shadow: 0 0 0 2.5px var(--negro) inset;
}

.confirmacion .interior .titulo.realizado:before {
	background-image: url('../img/web/proceso/realizado.svg');
}

.confirmacion .interior .titulo.procesando:before {
	background-image: url('../img/web/proceso/procesando.svg');
}

.confirmacion .interior .titulo.error:before {
	background-image: url('../img/web/proceso/error.svg');
}

.confirmacion .interior .descripcion {
	margin-top: 40px;
	font-size: 1.45em;
	line-height: 20px;
}

.confirmacion .interior .descripcion p {
	margin: 0;
	margin-bottom: 10px;
}

.confirmacion .interior .descripcion p:last-child {
	margin-bottom: 0;
}

.confirmacion .interior .informacion {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
	padding: 20px;
	border-radius: 10px;
	background: var(--crema);
}

.confirmacion .interior .informacion:before {
    content: '';
    position: absolute;
    top: 40px;
    bottom: 40px;
    left: 0;
    right: 0;
    width: 1px;
    margin: 0 auto;
    background: var(--luto15);
}

.confirmacion .interior .informacion span {
	display: block;
	width: 50%;
	padding: 20px;
	font-size: 1.45em;
	line-height: 20px;
}

.confirmacion .interior .informacion span b {
	display: block;
	margin-top: 10px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1em;
}

.confirmacion .interior .resumen {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 0 0 1px var(--luto15) inset;
}

.confirmacion .interior .resumen .cantidad {
	position: relative;
	display: block;
	padding-left: 70px;
	font-size: 1.45em;
	line-height: 20px;
	text-align: left;
}

.confirmacion .interior .resumen .cantidad:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 50px;
	border-radius: 100%;
	background: url('../img/web/proceso/cesta.svg') no-repeat center var(--crema);
}

.confirmacion .interior .resumen .cantidad b {
	display: block;
	margin-top: 10px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1em;
}

.confirmacion .interior .resumen .total {
	display: block;
	font-size: 1.45em;
	line-height: 20px;
	text-align: right;
}

.confirmacion .interior .resumen .total b {
	display: block;
	margin-top: 10px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1em;
}

.confirmacion .interior .botones {
	margin-top: 40px;
}

.confirmacion .interior .botones .boton {
	display: inline-block;
	vertical-align: top;
	width: calc(50% - 5px);
	margin-right: 10px;
	padding: 0 20px;
	border-radius: 10px;
	font-size: 1.45em;
	line-height: 50px;
	text-align: center;
	color: var(--blanco);
	background: var(--negro);
}

.confirmacion .interior .botones .boton:last-child {
	margin-right: 0;
	color: var(--negro);
	background: var(--oscuro);
}

/* ACCESO */
.acceso {
	position: relative;
	min-height: calc(100vh - 60px);
	min-height: calc(var(--vh, 1vh) * 100 - 60px);
	background: var(--crema);
	z-index: 1;
}

.acceso .interior {
	max-width: 440px;
	margin: 0 auto;
	padding: 40px 0;
}

.acceso .interior .superior {
	padding: 20px;
	border-radius: 10px;
	text-align: center;
	background: var(--blanco);
}

.acceso .interior .superior .titulo {
    display: block;
	font-size: 2em;
	line-height: 1em;
}

.acceso .interior .superior .subtitulo {
	display: block;
	margin-top: 10px;
	font-size: 1.45em;
	line-height: 20px;
}

.acceso .interior .medio {
	margin-top: 20px;
}

.acceso .interior .medio form .olvidado {
	display: block;
	width: fit-content;
	margin: 0 auto;
	margin-top: 20px;
	font-size: 1.45em;
	line-height: 20px;
	text-decoration: underline;
	color: var(--negro);
}

.acceso .interior .medio form .botones {
	margin-top: 20px;
}

.acceso .interior .medio form .botones .boton {
	display: block;
    padding: 0 20px;
    border-radius: 10px;
    font-size: 1.45em;
    line-height: 50px;
    text-align: center;
    color: var(--blanco);
    background: var(--negro);
}

.acceso .interior .inferior {
	margin-top: 40px;
	padding: 20px;
	border-radius: 10px;
	text-align: center;
	background: var(--blanco);
}

.acceso .interior .inferior .titulo {
	display: block;
	font-size: 1.45em;
	line-height: 20px;
}

.acceso .interior .inferior a {
	display: inline-block;
	vertical-align: baseline;
	margin-top: 10px;
	font-size: 1.45em;
	line-height: 20px;
	text-decoration: underline;
	color: var(--negro);
}

/* DESPLEGABLE RECORDAR Y VERIFICAR */
.desplegable_recordar,
.desplegable_verificar {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: none;
	z-index: 15;
}

.desplegable_recordar .interior,
.desplegable_verificar .interior {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	max-width: 440px;
	margin: 0 auto;
	padding: 20px;
	padding-top: 60px;
	border-radius: 20px;
	background: var(--crema);
	z-index: 2;
	transform: translate(0, -50%);
}

.desplegable_recordar .interior .superior,
.desplegable_verificar .interior .superior {
	text-align: center;
}

.desplegable_recordar .interior .superior .titulo,
.desplegable_verificar .interior .superior .titulo {
	display: block;
    font-size: 2em;
    line-height: 1em;
}

.desplegable_recordar .interior .superior .subtitulo,
.desplegable_verificar .interior .superior .subtitulo {
	display: block;
	margin-top: 10px;
	font-size: 1.45em;
	line-height: 20px;
}

.desplegable_recordar .interior .inferior,
.desplegable_verificar .interior .inferior {
	margin-top: 20px;
}

.desplegable_recordar .interior .inferior form .botones,
.desplegable_verificar .interior .inferior form .botones {
	margin-top: 20px;
}

.desplegable_recordar .interior .inferior form .botones .boton,
.desplegable_verificar .interior .inferior form .botones .boton {
	display: block;
    padding: 0 20px;
    border-radius: 10px;
    font-size: 1.45em;
    line-height: 50px;
    text-align: center;
    color: var(--blanco);
    background: var(--negro);
}

.desplegable_recordar .interior .cerrar_recordar,
.desplegable_verificar .interior .cerrar_verificar {
	position: absolute;
	top: 20px;
	left: 0;
	right: 0;
	display: block;
	width: 20px;
	height: 20px;
	margin: 0 auto;
	background: url('../img/web/cerrar.svg') no-repeat center;
}

.desplegable_recordar .fondo,
.desplegable_verificar .fondo {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--luto75);
	z-index: 1;
}

/* REGISTRO */
.registro {
	position: relative;
	min-height: calc(100vh - 60px);
	min-height: calc(var(--vh, 1vh) * 100 - 60px);
	background: var(--crema);
	z-index: 1;
}

.registro .interior {
	max-width: 440px;
	margin: 0 auto;
	padding: 40px 0;
}

.registro .interior .superior {
	padding: 20px;
	border-radius: 10px;
	text-align: center;
	background: var(--blanco);
}

.registro .interior .superior .titulo {
    display: block;
	font-size: 2em;
	line-height: 1em;
}

.registro .interior .superior .subtitulo {
	display: block;
	margin-top: 10px;
	font-size: 1.45em;
	line-height: 20px;
}

.registro .interior .medio {
	margin-top: 20px;
}

.registro .interior .medio form .checks {
	margin-top: 20px;
}

.registro .interior .medio form .botones {
	margin-top: 20px;
}

.registro .interior .medio form .botones .boton {
	display: block;
    padding: 0 20px;
    border-radius: 10px;
    font-size: 1.45em;
    line-height: 50px;
    text-align: center;
    color: var(--blanco);
    background: var(--negro);
}

.registro .interior .inferior {
	margin-top: 40px;
	padding: 20px;
	border-radius: 10px;
	text-align: center;
	background: var(--blanco);
}

.registro .interior .inferior .titulo {
	display: block;
	font-size: 1.45em;
	line-height: 20px;
}

.registro .interior .inferior a {
	display: inline-block;
	vertical-align: baseline;
	margin-top: 10px;
	font-size: 1.45em;
	line-height: 20px;
	text-decoration: underline;
	color: var(--negro);
}

/* ÁREA */
.area {
	position: relative;
	min-height: calc(100vh - 60px);
	min-height: calc(var(--vh, 1vh) * 100 - 60px);
	padding: 40px 0;
	background: var(--crema);
	z-index: 1;
}

.area .icono {
	position: relative;
	display: block;
	padding: 0 20px;
	padding-top: 60px;
	padding-bottom: 20px;
	border-radius: 10px;
	font-size: 2em;
	line-height: 1em;
	text-align: center;
	background: var(--blanco);
}

.area .icono:before {
	content: '';
	position: absolute;
	top: 20px;
	left: 0;
	right: 0;
	width: 20px;
	height: 20px;
	margin: 0 auto;
	background-repeat: no-repeat;
	background-position: center;
}

.area .icono.icono_cuenta:before {
	background-image: url('../img/web/usuarios/mi_cuenta.svg');
}

.area .icono.icono_compras:before {
	background-image: url('../img/web/usuarios/mis_compras.svg');
}

.area .icono.icono_facturas:before {
	background-image: url('../img/web/usuarios/mis_facturas.svg');
}

.area .icono.icono_datos:before {
	background-image: url('../img/web/usuarios/mis_datos.svg');
}

.area .icono.icono_direcciones:before {
	background-image: url('../img/web/usuarios/mis_direcciones.svg');
}

.area .icono.icono_promociones:before {
	background-image: url('../img/web/usuarios/mis_promociones.svg');
}

.area .superior {
	position: relative;
	margin-top: 20px;
	padding: 15px 20px;
	border-radius: 10px;
	background: var(--blanco);
}

.area .superior .desplegar_area {
	display: block;
	float: left;
	padding-left: 25px;
	font-size: 1.45em;
	line-height: 20px;
	color: var(--negro);
	background: url('../img/web/usuarios/desplegar.svg') center left no-repeat;
}

.area .superior .desplegable_area {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	margin: 0;
	padding: 10px;
	border-radius: 10px;
	background: var(--oscuro);
	z-index: 5;
	opacity: 0;
	visibility: hidden;
	transform: translate(-20px, 0);
}

.area .superior .desplegable_area.desplegado {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.area .superior .desplegable_area:before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 20px;
	width: 0; 
	height: 0; 
	border-bottom: 7.5px solid var(--oscuro);
	border-right: 7.5px solid transparent;
	border-left: 7.5px solid transparent;
}

.area .superior .desplegable_area li {
	position: relative;
	display: block;
}

.area .superior .desplegable_area li:before {
	content: '';
	position: absolute;
	bottom: -.5px;
	left: 0;
	right: 0;
	height: 1px;
	background: var(--luto25);
}

.area .superior .desplegable_area li:last-child:before {
	content: none;
}

.area .superior .desplegable_area li a {
	display: block;
	padding: 0 10px;
	font-size: 1.45em;
	line-height: 30px;
	color: var(--negro);
}

.area .superior .desplegable_area li.sel a {
	opacity: .25;
}

.area .superior .salir {
	display: block;
	float: right;
	padding-left: 25px;
	font-size: 1.45em;
	line-height: 20px;
	color: var(--negro);
	background: url('../img/web/usuarios/salir.svg') center left no-repeat;
}

.area .inferior {
	margin-top: 20px;
}

.area .inferior .atajos {
	text-align: center;
}

.area .inferior .atajos .atajo {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(100% / 3 - 20px / 3);
	margin-top: 10px;
	margin-right: 10px;
	padding: 20px;
	padding-top: 60px;
	border-radius: 10px;
	text-align: center;
	background: var(--blanco);
}

.area .inferior .atajos .atajo:last-child {
	margin-right: 0;
}

.area .inferior .atajos .atajo:nth-of-type(1) {
	margin-top: 0;
}

.area .inferior .atajos .atajo:nth-of-type(2) {
	margin-top: 0;
}

.area .inferior .atajos .atajo:nth-of-type(3) {
	margin-top: 0;
}

.area .inferior .atajos .atajo:nth-of-type(3n) {
	margin-right: 0;
}

.area .inferior .atajos .atajo:before {
	content: '';
	position: absolute;
	top: 20px;
	left: 0;
	right: 0;
	width: 20px;
	height: 20px;
	margin: 0 auto;
	background-repeat: no-repeat;
	background-position: center;
}

.area .inferior .atajos .atajo.mis_compras:before {
	background-image: url('../img/web/usuarios/mis_compras.svg');
}

.area .inferior .atajos .atajo.mis_facturas:before {
	background-image: url('../img/web/usuarios/mis_facturas.svg');
}

.area .inferior .atajos .atajo.mis_datos:before {
	background-image: url('../img/web/usuarios/mis_datos.svg');
}

.area .inferior .atajos .atajo.mis_direcciones:before {
	background-image: url('../img/web/usuarios/mis_direcciones.svg');
}

.area .inferior .atajos .atajo.mis_favoritos:before {
	background-image: url('../img/web/usuarios/mis_favoritos.svg');
}

.area .inferior .atajos .atajo.mis_promociones:before {
	background-image: url('../img/web/usuarios/mis_promociones.svg');
}

.area .inferior .atajos .atajo .titulo {
	display: block;
	font-size: 2em;
	line-height: 1em;
	color: var(--negro);
}

.area .inferior .atajos .atajo .descripcion {
	display: block;
	margin-top: 10px;
	font-size: 1.45em;
	line-height: 20px;
	color: var(--negro);
}

.area .inferior .promocion ~ form {
	margin-top: 40px;
}

.area .inferior form .interior .conservar {
	display: block;
	margin-top: 20px;
	font-size: 1.45em;
	line-height: 20px;
	text-align: center;
}

.area .inferior form .interior .checks {
	margin-top: 20px;
}

.area .inferior form .botones {
	margin-top: 20px;
}

.area .inferior form .botones .boton {
	display: block;
    padding: 0 20px;
    border-radius: 10px;
    font-size: 1.45em;
    line-height: 50px;
    text-align: center;
    color: var(--blanco);
    background: var(--negro);
}

.area .inferior form .botones .boton.inactivo {
	opacity: .25;
	pointer-events: none;
}

.area .inferior .item_area {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(100% / 3 - 20px / 3);
	margin-top: 10px;
	margin-right: 10px;
	padding: 20px;
	padding-bottom: 60px;
	border-radius: 10px;
	text-align: center;
	background: var(--blanco);
}

.area .inferior .item_area:nth-of-type(1) {
	margin-top: 0;
}

.area .inferior .item_area:nth-of-type(2) {
	margin-top: 0;
}

.area .inferior .item_area:nth-of-type(3) {
	margin-top: 0;
}

.area .inferior .item_area:nth-of-type(3n) {
	margin-right: 0;
}

.area .inferior .item_area.especial {
	padding-bottom: 130px;
}

.area .inferior .item_area.nuevo a {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: block;
}

.area .inferior .item_area.nuevo a span {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	display: block;
	padding-top: 40px;
	font-size: 2em;
	line-height: 1em;
	color: var(--negro);
	background: url('../img/web/usuarios/nuevo.svg') no-repeat center top;
	transform: translate(0, -50%);
}

.area .inferior .item_area .titulo {
	display: block;
	margin-bottom: 10px;
	font-size: 2em;
	line-height: 1em;
	color: var(--negro);
}

.area .inferior .item_area .texto span {
	display: block;
	font-size: 1.45em;
	line-height: 20px;
}

.area .inferior .item_area.especial .texto span {
	font-weight: 400;
}

.area .inferior .item_area .texto .tipo {
	margin-top: 10px;
}

.area .inferior .item_area .texto .tipo span {
	display: inline-block;
	vertical-align: baseline;
	line-height: 20px;
}

.area .inferior .item_area .texto .tipo a {
	display: inline-block;
	vertical-align: baseline;
	font-size: 1.45em;
	line-height: 20px;
	color: var(--negro);
}

.area .inferior .item_area .texto .tipo a.sel {
	text-decoration: underline;
}

.area .inferior .item_area .botones {
	position: absolute;
	bottom: 20px;
	left: 20px;
	right: 20px;
	text-align: center;
}

.area .inferior .item_area.especial .botones {
	bottom: 90px;
}

.area .inferior .item_area .botones a {
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	margin-left: 20px;
	background-repeat: no-repeat;
	background-position: center;
}

.area .inferior .item_area .botones a:first-child {
	margin-left: 0;
}

.area .inferior .item_area .botones a.editar {
	background-image: url('../img/web/usuarios/editar.svg');
}

.area .inferior .item_area .botones a.borrar {
	background-image: url('../img/web/usuarios/borrar.svg');
}

.area .inferior .item_area .botones a.detalles {
	background-image: url('../img/web/usuarios/detalles.svg');
}

.area .inferior .item_area .botones a.descargar {
	background-image: url('../img/web/usuarios/descargar.svg');
}

.area .inferior .item_area .botones a.factura {
	background-image: url('../img/web/usuarios/factura.svg');
}

.area .inferior .item_area .boton {
	position: absolute;
	bottom: 20px;
	left: 20px;
	right: 20px;
	display: block;
    padding: 0 20px;
    border-radius: 10px;
    font-size: 1.45em;
    line-height: 50px;
    text-align: center;
    color: var(--blanco);
    background: var(--negro);
}

.area .inferior .item_area .boton.pagado {
	pointer-events: none;
}

.area .inferior .item_area .boton.anulado {
	pointer-events: none;
}

.area .inferior .adicional {
	padding: 20px;
	border-radius: 10px;
	background: var(--blanco);
}

.area .inferior .adicional ul {
	margin: 0;
	padding: 0;
}

.area .inferior .adicional ul li {
	display: block;
	margin-bottom: 5px;
	font-size: 1.45em;
	line-height: 20px;
}

.area .inferior .adicional ul li:last-child {
	margin-bottom: 0;
}

.area .inferior .adicional ul li a {
	text-decoration: underline;
	color: var(--negro);
}

.area .inferior .adicional ul li b {
	font-weight: 400;
}

.area .inferior .bloques {
	margin-top: 20px;
}

.area .inferior .bloques .bloque {
	display: inline-block;
	vertical-align: top;
	width: calc(50% - 10px);
	margin-right: 20px;
	padding: 20px;
	border-radius: 10px;
	background: var(--blanco);
}

.area .inferior .bloques .bloque:last-child {
	margin-right: 0;
}

.area .inferior .bloques .bloque .titulo {
	display: block;
	font-size: 2em;
	line-height: 1em;
}

.area .inferior .bloques .bloque .titulo ~ .texto {
	margin-top: 10px;
}

.area .inferior .bloques .bloque .texto span {
	display: block;
	font-size: 1.45em;
	line-height: 20px;
}

.area .inferior .bloques .bloque .texto span b {
	font-weight: 400;
}

.area .inferior .resumen {
	margin-top: 40px;
}

.area .inferior .resumen .item_resumen {
	position: relative;
	margin-bottom: 10px;
}

.area .inferior .resumen .item_resumen:last-child {
	margin-bottom: 0;
}

.area .inferior .resumen .item_resumen .imagen {
	display: inline-block;
	vertical-align: middle;
	width: 100px;
	margin-right: 10px;
	border-radius: 10px;
	background: var(--blanco);
	overflow: hidden;
}

.area .inferior .resumen .item_resumen .imagen img {
	display: block;
	width: 100%;
	height: auto;
}

.area .inferior .resumen .item_resumen .texto {
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 110px);
	padding: 10px 0;
}

.area .inferior .resumen .item_resumen .texto .titulo {
	display: block;
	max-width: fit-content;
	font-size: 1.45em;
	line-height: 20px;
	color: var(--negro);
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.area .inferior .resumen .item_resumen .texto .propiedad {
	display: block;
	max-width: fit-content;
	margin-top: 10px;
	font-size: 1.25em;
	line-height: 15px;
	color: var(--negro);
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.area .inferior .resumen .item_resumen .texto .unidades {
	display: block;
	float: left;
	margin-top: 15px;
	font-size: 1.45em;
	line-height: 20px;
}

.area .inferior .resumen .item_resumen .texto .precio {
	display: block;
	float: right;
	margin-top: 15px;
	font-size: 1.45em;
	line-height: 20px;
}

.area .inferior .informacion {
	margin-top: 40px;
}

.area .inferior .informacion span {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 10px;
	font-size: 1.45em;
	line-height: 20px;
}

.area .inferior .informacion span:first-child {
	margin-top: 0;
}

.area .inferior .informacion span.total {
	margin-top: 20px;
	font-size: 2em;
	line-height: 1em;
}

.area .inferior .informacion span b {
	display: block;
	font-weight: 400;
}

.area .inferior .informacion span i {
	display: block;
	flex: 1;
	margin: 0 10px;
	margin-bottom: 5px;
	border-bottom: 1px dotted var(--negro);
}

.area .inferior .pagar {
	margin-top: 40px;
	text-align: center;
}

.area .inferior .pagar a {
	display: inline-block;
	vertical-align: middle;
	width: calc(50% - 10px);
	margin-right: 20px;
    padding: 0 20px;
    border-radius: 10px;
    font-size: 1.45em;
    line-height: 50px;
    text-align: center;
    color: var(--negro);
	background: none;
	box-shadow: 0 0 0 1px var(--negro) inset;
}

.area .inferior .pagar a:last-child {
	margin-right: 0;
    color: var(--blanco);
    background: var(--negro);
    box-shadow: none;
}

.area .inferior .descargas {
	margin-top: 40px;
}

.area .inferior .descargas .descarga {
	display: inline-block;
	vertical-align: middle;
	width: calc(50% - 10px);
	margin-right: 20px;
	padding: 20px;
	border-radius: 10px;
	text-align: center;
	background: var(--blanco);
}

.area .inferior .descargas .descarga:last-child {
	margin-right: 0;
}

.area .inferior .descargas .descarga span {
	display: block;
	font-size: 2em;
	line-height: 1em;
}

.area .inferior .descargas .descarga a {
	display: block;
	margin-top: 20px;
	padding: 0 20px;
    border-radius: 10px;
    font-size: 1.45em;
    line-height: 50px;
    text-align: center;
    color: var(--blanco);
    background: var(--negro);
}

.area .inferior .descargas .descarga a.inactivo {
	opacity: .25;
	pointer-events: none;
}

.area .inferior .promocion {
	padding: 20px;
	border-radius: 10px;
	background: var(--blanco);
}

.area .inferior .promocion .descripcion {
	font-size: 1.45em;
	line-height: 20px;
}

.area .inferior .promocion .descripcion p {
	margin: 0;
	margin-bottom: 10px;
}

.area .inferior .promocion .descripcion p:last-child {
	margin-bottom: 0;
}

.area .inferior .vacio {
	padding: 20px;
	border-radius: 10px;
	font-size: 1.45em;
	line-height: 20px;
	text-align: center;
	box-shadow: 0 0 0 1px var(--luto15) inset;
}

.area .inferior .vacio p {
	margin: 0;
}