/* pv-side-cart.php */

/* 1. Nothing floats over an open side cart. */
body.etheme-elementor-off-canvas--shown .page-wrapper { z-index: 2147483000 !important; }
body.etheme-elementor-off-canvas--shown .etheme-elementor-off-canvas__container { z-index: 2147483000 !important; }
body.etheme-elementor-off-canvas--shown .pv-fab,
body.etheme-elementor-off-canvas--shown .float-btn,
body.etheme-elementor-off-canvas--shown #fake-sales-popup,
body.etheme-elementor-off-canvas--shown #qadri-sales-popup-container,
body.etheme-elementor-off-canvas--shown .tab-box,
body.etheme-elementor-off-canvas--shown [id^="tab-box-front-"],
body.etheme-elementor-off-canvas--shown .pv-signup-sheet,
body.etheme-elementor-off-canvas--shown .pv-sticky-atc { display: none !important; }

/* 2. Mini-cart quantity stepper. */
.woocommerce-mini-cart-item .quantity-wrapper {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
	background: transparent !important;
}
.woocommerce-mini-cart-item .quantity-wrapper div.quantity {
	display: inline-flex !important;
	align-items: stretch;
	height: 34px;
	margin: 0 !important;
	border: 1px solid #d8cfc8 !important;
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
}
.woocommerce-mini-cart-item .quantity-wrapper .minus,
.woocommerce-mini-cart-item .quantity-wrapper .plus {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 100% !important;
	padding: 0 !important;
	background: #fff !important;
	color: var(--pv-brand, #80002A) !important;
	cursor: pointer;
	user-select: none;
	transition: background-color .15s ease;
}
.woocommerce-mini-cart-item .quantity-wrapper .minus:hover,
.woocommerce-mini-cart-item .quantity-wrapper .plus:hover { background: rgba(128, 0, 42, .07) !important; }
.woocommerce-mini-cart-item .quantity-wrapper .minus i,
.woocommerce-mini-cart-item .quantity-wrapper .plus i { font-size: 11px !important; color: inherit !important; }
.woocommerce-mini-cart-item .quantity-wrapper input.qty {
	width: 38px !important;
	min-width: 38px;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 1px solid #eee5df !important;
	border-right: 1px solid #eee5df !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: #222 !important;
	font-size: 14px !important;
	font-weight: 600;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}
.woocommerce-mini-cart-item .quantity-wrapper input.qty::-webkit-outer-spin-button,
.woocommerce-mini-cart-item .quantity-wrapper input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce-mini-cart-item .quantity-wrapper > span.quantity {
	display: inline-flex !important;
	align-items: center;
	gap: 4px;
	margin: 0 !important;
	font-size: 14px !important;
	color: #666;
	white-space: nowrap;
}
.woocommerce-mini-cart-item .quantity-wrapper > span.quantity .amount { color: #222; font-weight: 600; font-size: 14px !important; }

/* 3. Free-shipping bar right under the "CART" heading line, not at the bottom.
      The bar is echoed inside the panel footer, so the footer is flattened
      (display:contents) and its parts are ordered in the panel's flex column. */
.elementor-widget-theme-etheme_cart .etheme-elementor-off-canvas_content-footer { display: contents !important; }
.elementor-widget-theme-etheme_cart .etheme-elementor-off-canvas_content-head { order: 1; }
.elementor-widget-theme-etheme_cart .etheme_sales_booster_progress_bar_shortcode { order: 2; margin: -15px -30px 15px; }
.elementor-widget-theme-etheme_cart .etheme_sales_booster_progress_bar_shortcode .et-cart-progress {
	margin: 0 !important;
	padding: 12px 30px !important;
	background: rgba(128, 0, 42, .04);
	border-bottom: 1px solid #e1e1e1;
}
.elementor-widget-theme-etheme_cart .etheme-elementor-off-canvas_content { order: 3; }
.elementor-widget-theme-etheme_cart .etheme-elementor-off-canvas-content-prefooter-inner { order: 4; margin-top: auto; padding-top: 15px; }

/* 4. Thinner free-shipping bar. */
.elementor-widget-theme-etheme_cart .etheme_sales_booster_progress_bar_shortcode .et-cart-progress { padding: 8px 30px !important; }
.elementor-widget-theme-etheme_cart .et-cart-progress .et-cart-in-progress,
.elementor-widget-theme-etheme_cart .et-cart-progress .et-cart-progress-success { font-size: 13px !important; line-height: 1.4 !important; }
.elementor-widget-theme-etheme_cart .et-cart-progress progress.et_cart-progress-bar {
	height: 5px !important;
	margin-top: 6px !important;
	border-radius: 3px;
	overflow: hidden;
}

/* 5. View cart and Checkout: full width, stacked. */
.elementor-widget-theme-etheme_cart .mini-cart-buttons {
	display: flex !important;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}
.elementor-widget-theme-etheme_cart .mini-cart-buttons > a.button {
	display: flex !important;
	justify-content: center;
	align-items: center;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box;
}

/* 6. Red while free shipping is still to reach, green once it is (data-percent-sold="100"). */
.elementor-widget-theme-etheme_cart .et-cart-progress { --progress-active-color: #d32f2f; }
.elementor-widget-theme-etheme_cart .etheme_sales_booster_progress_bar_shortcode .et-cart-progress { background: rgba(211, 47, 47, .06); }
.elementor-widget-theme-etheme_cart .et-cart-progress .et-cart-in-progress,
.elementor-widget-theme-etheme_cart .et-cart-progress .et-cart-progress-amount,
.elementor-widget-theme-etheme_cart .et-cart-progress .et-cart-in-progress .et_b-icon { color: #c62828; }
.elementor-widget-theme-etheme_cart .et-cart-progress progress.et_cart-progress-bar::-webkit-progress-value { background-color: #d32f2f !important; }
.elementor-widget-theme-etheme_cart .et-cart-progress progress.et_cart-progress-bar::-moz-progress-bar { background-color: #d32f2f !important; }

.elementor-widget-theme-etheme_cart .et-cart-progress[data-percent-sold="100"] { --progress-active-color: #2e7d32; }
.elementor-widget-theme-etheme_cart .etheme_sales_booster_progress_bar_shortcode .et-cart-progress[data-percent-sold="100"] { background: rgba(46, 125, 50, .08); }
.elementor-widget-theme-etheme_cart .et-cart-progress[data-percent-sold="100"] .et-cart-progress-success,
.elementor-widget-theme-etheme_cart .et-cart-progress[data-percent-sold="100"] .et-cart-progress-success .et_b-icon { color: #2e7d32; font-weight: 600; }
.elementor-widget-theme-etheme_cart .et-cart-progress[data-percent-sold="100"] progress.et_cart-progress-bar::-webkit-progress-value { background-color: #2e7d32 !important; }
.elementor-widget-theme-etheme_cart .et-cart-progress[data-percent-sold="100"] progress.et_cart-progress-bar::-moz-progress-bar { background-color: #2e7d32 !important; }

/* 7. No "×" between the stepper and the price - it read as a second close icon
      next to the real remove ×. It is a bare text node, so the span's font-size
      goes to 0 and the price keeps its own size. */
.woocommerce-mini-cart-item .quantity-wrapper > span.quantity { font-size: 0 !important; gap: 0; }
.woocommerce-mini-cart-item .quantity-wrapper > span.quantity .amount,
.woocommerce-mini-cart-item .quantity-wrapper > span.quantity .amount * { font-size: 14px !important; }

/* 8. Stepper flush with the title, 3px under the text above it.
      The wrapper is a .clearfix, and its ::before/::after (" ", display:table)
      became flex items - with the 10px gap they pushed the stepper 16px right.
      The theme also fixed the wrapper at 28px, so the 34px stepper overflowed
      3px upward and touched the variation text; it also carried translateY(-5px). */
.woocommerce-mini-cart-item .quantity-wrapper::before,
.woocommerce-mini-cart-item .quantity-wrapper::after { display: none !important; content: none !important; }
.woocommerce-mini-cart-item .quantity-wrapper { height: auto !important; min-height: 0 !important; margin: 3px 0 0 !important; transform: none !important; }
.woocommerce-mini-cart-item .product-item-right dl.variation { margin-bottom: 0 !important; }
