/* =============================================
   ROOT
============================================= */

.po-sidecart {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: var(--po-z);
}

.po-sidecart.active {
	pointer-events: auto;
}


/* =============================================
   OVERLAY
============================================= */

.po-sidecart-overlay {
	position: absolute;
	inset: 0;
	background: var(--po-overlay);
	opacity: 0;
	transition: opacity var(--po-speed) ease;
}

.po-sidecart.active .po-sidecart-overlay {
	opacity: 1;
}


/* =============================================
   PANEL
============================================= */

.po-sidecart-panel {
	position: absolute;
	top: 0;
	bottom: 0;
	width: var(--po-width);
	background: var(--po-body-bg);

	display: flex;
	flex-direction: column;

	margin: var(--po-padding-outer);

	transition: transform var(--po-speed) ease;
}

/* POSITION */
.po-sidecart-panel[data-position="right"] {
	right: 0;
	transform: translateX(100%);
}

.po-sidecart-panel[data-position="left"] {
	left: 0;
	transform: translateX(-100%);
}

.po-sidecart.active .po-sidecart-panel {
	transform: translateX(0);
}


.po-sidecart {
	font-size: var(--po-font-size);
	color: var(--po-font-colour);
}

.po-sidecart button{padding: 0px}


/* =============================================
   HEADER
============================================= */

.po-sidecart-header {
	display: flex;
	justify-content: space-between;
	align-items: center;

	background: var(--po-header-bg);
	color: var(--po-header-text);

	padding: var(--po-padding-inner);
}

.po-sidecart-header h3 {
	margin: 0;
	font-size: var(--po-header-size);
	font-weight: var(--po-header-weight);
}

.po-sidecart-close {
	background: none;
	border: none;
	cursor: pointer;
	font-size: var(--po-header-size);
	color: var(--po-header-close-colour);
	padding: 0px!important
}


/* =============================================
   BODY
============================================= */

.po-sidecart-body {
	flex: 1;
	overflow-y: auto;
	background: var(--po-body-bg);
	padding: var(--po-padding-inner);
}


/* =============================================
   PRODUCT ITEM
============================================= */

.po-sidecart-item {
	display: flex;
	gap: var(--po-padding-inner);

	background: var(--po-product-bg);
	padding: var(--po-product-padding);
	border-radius: var(--po-product-radius);

	margin-bottom: var(--po-padding-inner);
	position: relative;
}

.po-product-downloadable .po-sidecart-price{display: none}


/* =============================================
   ALIGNMENT MODES
============================================= */

.po-sidecart-item.aligncenter {
	align-items: center;
}

.po-sidecart-item.aligntop {
	align-items: flex-start;
}

.po-sidecart-item.alignbottom {
	align-items: flex-end;
}


/* =============================================
   IMAGE
============================================= */

.po-sidecart-image {
	width: var(--po-product-img-size);
	flex-shrink: 0;
	border-radius: var(--po-product-image-border-radius); overflow: hidden
}

.po-sidecart-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}


/* =============================================
   DETAILS
============================================= */

.po-sidecart-details {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
	position: relative;
	align-items: flex-start
}


/* TITLE */
.po-sidecart-title a {
	text-decoration: none;
	color: inherit;
	font-weight: var(--po-product-title-weight);
	font-size: var(--po-product-title-size);
}

/* BRAND */

.po-sidecart-brand {
	font-size: calc(var(--po-product-title-size, 14px) - 2px);
	color: var(--po-brand-colour, #000000);
}

.po-sidecart-brand a {
	color: inherit;
	text-decoration: none;
}

.po-sidecart-brand a:hover {
	text-decoration: underline;
}



/* REMOVE BUTTON */
.po-sidecart-remove {
	position: absolute;
	top: 0;
	right: 0;

	background: none!important;
	border: none;
	cursor: pointer;
	color: #000000
	font-size: calc(var(--po-product-title-size) - 2px);
	line-height: 1;
}


.po-sidecart-qty-total{display: flex; gap: 20px; flex-wrap: wrap; align-items: center; justify-content: space-between; width: 100%; padding-right:10px; margin-top: var(--po-product-padding)}


.po-sidecart-price .amount, .po-sidecart-line-total .amount{color: var(--po-price-font-colour); font-weight: var(--po-price-font-weight)}

.po-sidecart-price ins{text-decoration-line: none}

.po-sidecart-price del{text-decoration-line: line-through;}

.po-sidecart-price del .amount{opacity: 0.5;}





/* =============================================
   FOOTER
============================================= */

.po-sidecart-footer {
	background: var(--po-footer-bg);
	color: var(--po-footer-text);
	padding: var(--po-padding-inner);
}


/* VALUE ROWS */

.po-sidecart-value {
	display: flex;
	justify-content: space-between;
	padding-top: 10px;
}

.po-sidecart-value:first-child {
	padding-top: 0;
}


/* ACTION WRAPPER */

.po-sidecart-actions {
	padding-top: var(--po-padding-inner);
}

.po-sidecart-message{padding-top:10px}

.variation-type-, .variation-type-0{display: none!important}

.po-sidecart-variation{font-size: var(--po-variation-font-size)}


/* =============================================
   FOOTER BUTTONS
============================================= */

.po-sidecart-footer a {
	display: block;
	text-align: center;

	background: var(--po-btn-bg);
	color: var(--po-btn-text);

	padding: 10px;
	margin-top: 10px;

	border-radius: var(--po-btn-radius);
	text-decoration: none;

	transition: all 0.2s ease;
}

.po-sidecart-footer a:hover {
	background: var(--po-btn-bg-hover);
	color: var(--po-btn-text-hover);
}


/* =============================================
   BUTTON LAYOUTS
============================================= */

.po-sidecart-footer.layout-inline .po-sidecart-actions {
	display: flex;
	gap: 10px;
}

.po-sidecart-footer.layout-inline a {
	flex: 1;
	margin: 0;
}

.po-sidecart-footer.layout-split .po-sidecart-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.po-sidecart-footer.layout-split .po-sidecart-actions a{width: calc(50% - 5px)}

.po-sidecart-footer.layout-split .po-sidecart-actions a:last-child{width: 100%; margin-top:0px}


/* =============================================
   PROCESSING
============================================= */

.po-sidecart.processing {
	pointer-events: none;
}


/* =============================================
   LOADING STATE
============================================= */

.po-sidecart.loading .po-sidecart-inner,
.po-sidecart.loading .po-sidecart-footer {
	opacity: 0.4;
	pointer-events: none;
}

/* Spinner */
.po-sidecart.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 30px;
	height: 30px;
	margin: -15px 0 0 -15px;

	border: 3px solid rgba(0,0,0,0.1);
	border-top-color: var(--po-btn-bg);

	border-radius: 50%;
	animation: po-spin 0.8s linear infinite;
	z-index: 999;
}

@keyframes po-spin {
	to { transform: rotate(360deg); }
}


.po-sidecart-empty-menu{list-style: none; padding-left:0px}

.po-sidecart-empty-menu li{margin-bottom: var(--po-product-padding); }

.po-sidecart-empty-menu li:last-child{margin-bottom:0px}


/* =IPHONE
------------------------------------------------------- */
@media only screen and (max-width: 640px) {

.po-sidecart-panel{max-width: 100%}

}