.overlay-background {
    position: fixed;
    top: 0;
    left: 0;
    width: calc(100% - 670px);
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 998;
    display: none;
}

.openshop-price-subtotal{
    font-weight: 400;
}

.openshop-menu-cart--items-indicator-plain .openshop-menu-cart__toggle .openshop-button-icon .openshop-button-icon-qty[data-counter] {
	display: inline-block;
	font-weight: 400
}

.openshop-menu-cart--items-indicator-none .openshop-menu-cart__toggle .openshop-button-icon .openshop-button-icon-qty[data-counter] {
	display: none
}

.openshop-menu-cart__container {
	transform: scale(1);
	overflow: hidden;
	position: fixed;
	z-index: 9998;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	background-color: rgba(0, 0, 0, .25);
	transition: background-color .4s, transform 0s;
	text-align: left
}
.openshop-menu-cart__main {
	position: fixed;
	left: auto;
	right: -100%;
	top: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	font-size: 14px;
	min-height: 200px;
	width: 670px;
	max-width: 100%;
	padding: 20px 30px;
	background-color: #fff;
	box-shadow: 0 0 20px rgba(0, 0, 0, .2);
	border-style: none;
	border-color: initial;
	border-radius: 0;
	margin-top: 0;
    transition: right 0.5s ease; /* Añadimos una transición para animar el cambio de posición */
}

.cart-opened {
    transform: translateX(0%);
}

.openshop-menu-cart__main .widget_shopping_cart_content {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.openshop-menu-cart__main .widget_shopping_cart_content .openshop-mini-cart__empty-message {
	color: inherit;
	text-align: center;
	font-size: 15pt;
}

body.openshop-default .openshop-widget-openshop-menu-cart:not(.openshop-menu-cart--shown) .openshop-menu-cart__container {
	background-color: transparent;
	transform: scale(0);
	transition: background-color .4s, transform 0s .4s;
}

body.openshop-default .openshop-widget-openshop-menu-cart:not(.openshop-menu-cart--shown) .openshop-menu-cart__container .dialog-lightbox-close-button {
	display: none;
}

body.openshop-default .openshop-widget-openshop-menu-cart:not(.openshop-menu-cart--shown) .openshop-menu-cart__main {
	overflow: hidden;
	opacity: 0;
	transform: translateX(100%);
}

.openshop-menu-cart__close-button {
    margin-left: 155px!important;
	width: 25px;
	height: 25px;
	position: relative;
	margin: 0 0 20px;
	align-self: flex-end;
	cursor: pointer;
	display: inline-block;
	font-family: eicons;
	font-size: 20px;
	line-height: 1;
	transition: .3s;
}

.openshop-menu-cart__close-button:after,
.openshop-menu-cart__close-button:before {
	content: "";
	position: absolute;
	height: 3px;
	width: 100%;
	top: 50%;
	left: 0;
	margin-top: -1px;
	background: #69727d;
	border-radius: 1px;
	transition: .3s;
}
.openshop-menu-cart__close-button:hover:after,
.openshop-menu-cart__close-button:hover:before {
	background: #69727d;
}

.openshop-menu-cart__close-button:before {
	transform: rotate(45deg);
}

.openshop-menu-cart__close-button:after {
	transform: rotate(-45deg);
}

.openshop-menu-cart__close-button-custom {
	position: relative;
	margin: 0 0 20px;
	align-self: flex-end;
	cursor: pointer;
	display: inline-block;
	font-family: eicons;
	font-size: 20px;
	line-height: 1;
	transition: .3s;
}

.openshop-menu-cart__close-button-custom:hover:after,
.openshop-menu-cart__close-button-custom:hover:before {
	background: #69727d;
}

.openshop-menu-cart__close-button-custom .e-close-cart-custom-icon {
	font-size: 25px;
	color: #69727d;
}

.openshop-menu-cart__close-button-custom .e-close-cart-custom-icon:hover {
	color: #69727d;
}

.openshop-menu-cart__close-button-custom svg {
	fill: #69727d;
	width: 25px;
	height: 25px;
}

.openshop-menu-cart__close-button-custom svg:hover {
	fill: #69727d;
}

.openshop-menu-cart__products {
	max-height: calc(100vh - 250px);
	overflow: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.openshop-menu-cart__product {
	display: grid;
	grid-template-columns: 28% auto;
	grid-template-rows: auto auto;
	position: relative;
	border-width: 0;
	border-bottom: 1px solid #d5d8dc;
}

.openshop-menu-cart__product .variation {
	display: grid;
	grid-template-columns: max-content auto;
	margin: 10px 0;
}

.openshop-menu-cart__product .variation dt {
	grid-column-start: 1
}

.openshop-menu-cart__product .variation dd {
	grid-column-start: 2;
	margin-inline-start: 5px;
    margin-top: -5px
}

.openshop-menu-cart__product .variation dd p {
	margin-bottom: 0
}

.openshop-menu-cart__product-image {
	grid-row-start: 1;
	grid-row-end: 3;
	width: 100%
}

.openshop-menu-cart__product-image a,
.openshop-menu-cart__product-image img {
	display: block
}

.openshop-menu-cart__product-name {
	grid-column-start: 2;
	grid-column-end: 3;
	margin: 0
}

.openshop-menu-cart__product-name a {
    color: var(--linksColor, #0066ff);
    font-size: 12pt;
    font-family: 'Roboto', Sans-serif;
    font-weight: 600;
	transition: .3s
}
.openshop-menu-cart__product-price {
	grid-column-start: 2;
	grid-column-end: 3;
	align-self: end;
	font-weight: 600;
	color: var(--textColor, #3a3a3a);
}

.openshop-menu-cart__product-quantity {
	position: absolute;
	margin-left: 170px;
	bottom: 45px;
}

@media (max-width: 768px) {
    .openshop-menu-cart__product-quantity {
        padding: 15px;
    }
}

.openshop-menu-cart__product-name,
.openshop-menu-cart__product-price {
	font-size: 14px;
	padding-left: 20px;
}

.openshop-menu-cart__product-remove {
	color: var(--textColor, #3a3a3a);
	width: 22px;
	height: 22px;
	border-radius: 22px;
	border: 1px solid var(--textColor, #3a3a3a);
	text-align: center;
	overflow: hidden;
	position: absolute;
	right: 0;
	bottom: 20px;
	transition: .3s;
}

.openshop-menu-cart__product-remove:hover {
	border: 1px solid var(--textColor, #3a3a3a);
}

.openshop-menu-cart__product-remove:hover:after,
.openshop-menu-cart__product-remove:hover:before {
	background: var(--textColor, #3a3a3a);
}

.openshop-menu-cart__product-remove:after,
.openshop-menu-cart__product-remove:before {
	content: "";
	position: absolute;
	height: 1px;
	width: 50%;
	top: 50%;
	left: 25%;
	margin-top: -1px;
	background: var(--textColor, #3a3a3a);
	z-index: 1;
	transition: .3s;
}

.openshop-menu-cart__product-remove:before {
	transform: rotate(45deg)
}

.openshop-menu-cart__product-remove:after {
	transform: rotate(-45deg)
}

.openshop-menu-cart__product-remove>a {
	display: block;
	z-index: 2;
	width: 100%;
	height: 100%;
	overflow: hidden;
	opacity: 0;
	position: absolute
}
.openshop-menu-cart__product-remove>a.remove_from_cart_button {
	display: block;
}

.openshop-menu-cart__product-remove>a.openshop_remove_from_cart_button {
	display: none;
}

.openshop-menu-cart__product:last-child {
	border: none;
}

.openshop-menu-cart__footer-buttons,
.openshop-menu-cart__product:not(:first-of-type),
.openshop-menu-cart__subtotal {
	padding-top: 20px;
}

.openshop-menu-cart__product {
	padding-right: 30px;
}

.openshop-menu-cart__product,
.openshop-menu-cart__subtotal {
	padding-bottom: 20px;
}

.openshop-menu-cart__subtotal {
	font-size: 20px;
	text-align: center;
	font-weight: 600;
	color: inherit;
	/*border-left: 1px solid #d5d8dc;*/
	border-bottom: 1px solid #d5d8dc;
	/*border-right: 1px solid #d5d8dc;*/
	border-top: 1px solid #d5d8dc;
}

.openshop-menu-cart__footer-buttons {
	font-size: 20px;
	text-align: center;
	display: grid;
	/*grid-template-columns: 1fr 1fr;*/
	margin-top: 0;
	grid-column-gap: 10px;
	grid-row-gap: 10px;
}

.openshop-menu-cart__footer-buttons .openshop-button {
	display: inline-block;
	border-radius: 0;
	height: -moz-fit-content;
	height: fit-content;
}

.openshop-menu-cart__footer-buttons .openshop-button--view-cart {
	display: inline-block;
	color: #fff;
	padding: 15px;
	background-color: var(--buttonsColor, #3a3a3a);
    font-family: 'Roboto', Sans-serif;
    font-weight: 600;
    font-size: 12pt;
}

.openshop-menu-cart__footer-buttons:hover {
	opacity: 0.8;
}

.openshop-menu-cart__footer-buttons .openshop-button--view-cart:hover {
	color: #fff;
	background-color: var(--buttonsColor, #3a3a3a);
}

.openshop-menu-cart__footer-buttons .openshop-button--checkout {
	display: inline-block;
	color: #fff;
	padding: 15px;
	background-color: var(--buttonsColor, #3a3a3a);
    font-family: 'Roboto', Sans-serif;
    font-weight: 600;
    font-size: 12pt;
}

.openshop-menu-cart__footer-buttons .openshop-button--checkout:hover {
	color: #fff;
	background-color: var(--buttonsColor, #3a3a3a);
}

@media (max-width:767px) {
	.openshop-menu-cart__footer-buttons .openshop-button {
		padding-left: 10px;
		padding-right: 10px
	}
}

.openshop-widget-openshop-menu-cart.openshop-menu-cart--empty-indicator-hide .openshop-menu-cart__toggle .openshop-button-icon .openshop-button-icon-qty[data-counter="0"],
.openshop-widget-openshop-menu-cart:not(.openshop-menu-cart--show-subtotal-yes) .openshop-menu-cart__toggle .openshop-button-text {
	display: none
}

.openshop-widget-openshop-menu-cart:not(.openshop-menu-cart--show-remove-button-yes) .openshop-menu-cart__product {
	padding-left: 0;
	padding-right: 0;
	grid-template-columns: 25% auto
}

.openshop-widget-openshop-menu-cart:not(.openshop-menu-cart--show-remove-button-yes) .openshop-menu-cart__product-remove {
	display: none
}

.openshop-widget-openshop-menu-cart.remove-item-position--top .openshop-menu-cart__product-remove {
	top: 0;
	bottom: auto
}

.openshop-widget-openshop-menu-cart.remove-item-position--top .openshop-menu-cart__products .cart_item:not(:first-of-type) .openshop-menu-cart__product-remove {
	top: 20px;
	bottom: auto
}

.openshop-widget-openshop-menu-cart.remove-item-position--middle .openshop-menu-cart__product-remove {
	transform: translateY(50%);
	bottom: 50%
}

.openshop-widget-openshop-menu-cart.remove-item-position--bottom .openshop-menu-cart__product-remove {
	top: auto;
	bottom: 20px
}

.openshop-widget-openshop-menu-cart.openshop-menu-cart--cart-type-mini-cart .openshop-menu-cart__container {
	position: absolute;
	width: auto;
	height: auto;
	overflow: visible;
	top: 100%;
	bottom: auto;
	background: none;
	min-width: 330px;
	left: 0;
	right: auto;
	transform: scale(1);
	transition: background-color .4s, transform 0s
}

.openshop-widget-openshop-menu-cart.openshop-menu-cart--cart-type-mini-cart .openshop-menu-cart__main {
	width: auto;
	height: auto;
	position: relative;
	top: auto;
	bottom: auto;
	right: auto;
	left: auto;
	overflow: visible;
	transform: translateY(0);
	transition: .3s
}

@media (max-width:767px) {
	.openshop-widget-openshop-menu-cart.openshop-menu-cart--cart-type-mini-cart .openshop-menu-cart__container {
		min-width: 300px
	}
}

body.openshop-default .openshop-widget-openshop-menu-cart.openshop-menu-cart--cart-type-mini-cart:not(.openshop-menu-cart--shown) .openshop-menu-cart__container {
	transform: scale(0);
	transition: background-color .4s, transform 0s .4s
}

body.openshop-default .openshop-widget-openshop-menu-cart.openshop-menu-cart--cart-type-mini-cart:not(.openshop-menu-cart--shown) .openshop-menu-cart__main {
	opacity: 0;
	transform: translateY(-10px)
}

.openshop-edit-area-active .openshop-widget-openshop-menu-cart.openshop-widget.openshop-loading.openshop-menu-cart--shown {
	opacity: 1
}

.openshop-edit-area-active .openshop-widget-openshop-menu-cart.openshop-widget.openshop-loading.openshop-menu-cart--shown .openshop-menu-cart__container {
	z-index: 9999
}

.openshop-widget-openshop-menu-cart.openshop-menu-cart--cart-type-dropdown .openshop-menu-cart__container {
	display: none
}