/* Floating free-shipping cart bar (shop-cartbar.php) - shop archives and
   single product pages only. The wrapper is always in the DOM there; the
   .is-empty inner (empty cart) collapses it entirely. Fixed, centered,
   below Hestia's fixed navbar in stacking terms but above page content. */

.hestia-scb {
	position: fixed;
	bottom: 16px;
	left: 50%;
	transform: translateX( -50% );
	z-index: 1020;
	max-width: calc( 100vw - 32px );
	pointer-events: none; /* shell is only a positioner; inner re-enables */
}

.hestia-scb .hestia-scb-inner {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 9px 11px 9px 15px;
	background: #ffffff;
	border: 1px solid #eceaf0;
	border-radius: 999px;
	box-shadow: 0 24px 48px -18px rgba( 40, 20, 50, 0.3 ), 0 6px 14px rgba( 40, 20, 50, 0.08 );
	pointer-events: auto;
}

.hestia-scb .hestia-scb-inner.is-empty {
	display: none;
}

/* Conic progress ring toward free shipping; --hestia-scb-pct supplied
   inline by shop-cartbar.php (100% when no free-shipping method). */
.hestia-scb .hestia-scb-ring {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: conic-gradient( #1b8a5a var( --hestia-scb-pct, 0% ), rgba( 36, 31, 43, 0.12 ) 0 );
}

.hestia-scb .hestia-scb-count {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 29px;
	height: 29px;
	border-radius: 50%;
	background: #ffffff;
	color: #241f2b;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
}

.hestia-scb .hestia-scb-txt {
	display: flex;
	flex-direction: column;
	gap: 1px;
	font-size: 12px;
	line-height: 1.3;
	color: #8b8592;
	white-space: nowrap;
}

.hestia-scb .hestia-scb-txt > b {
	font-size: 13px;
	color: #241f2b;
}

.hestia-scb .hestia-scb-txt .woocommerce-Price-amount {
	color: inherit;
	font-weight: inherit;
}

.hestia-scb .hestia-scb-line.is-free {
	color: #1b8a5a;
	font-weight: 700;
}

.hestia-scb .hestia-scb-cta {
	flex: none;
	padding: 10px 16px;
	border-radius: 999px;
	background: var( --hestia-primary-color, #e91e63 );
	color: #ffffff;
	font-size: 12.5px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
	transition: filter 0.15s ease;
}

.hestia-scb .hestia-scb-cta:hover,
.hestia-scb .hestia-scb-cta:focus {
	color: #ffffff;
	filter: brightness( 1.08 );
}

@media ( max-width: 480px ) {
	.hestia-scb {
		bottom: 12px;
		max-width: calc( 100vw - 24px );
	}

	.hestia-scb .hestia-scb-inner {
		gap: 10px;
		padding: 8px 9px 8px 12px;
	}

	.hestia-scb .hestia-scb-txt {
		white-space: normal;
	}

	.hestia-scb .hestia-scb-cta {
		padding: 9px 13px;
		font-size: 12px;
	}
}
