/**
 * Free-shipping progress banner (cart, checkout order review, mini-cart).
 * Rendered by THMWooCommerce::build_free_shipping_banner_html().
 */

.thm-fsb {
	background: #fbeaf0;
	border: 1px solid #f4c0d1;
	border-radius: 12px;
	padding: 16px 20px;
	margin: 0 0 1.25rem;
	line-height: 1.35;
}

.thm-fsb__top {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}

.thm-fsb__emoji {
	font-size: 24px;
	line-height: 1;
}

.thm-fsb__headline {
	font-size: 19px;
	font-weight: 700;
	color: #72243e;
}

.thm-fsb__free {
	color: #c1274f;
}

.thm-fsb__sub {
	font-size: 14px;
	color: #993556;
	margin: 6px 0 14px 34px;
}

.thm-fsb__bar {
	position: relative;
	height: 14px;
	border-radius: 999px;
	background: #f4c0d1;
	overflow: hidden;
	margin-left: 34px;
}

.thm-fsb__bar-fill {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	min-width: 6px;
	border-radius: 999px;
	background: #d4537e;
	transition: width 0.4s ease;
}

.thm-fsb__scale {
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	color: #993556;
	margin: 6px 0 0 34px;
}

.thm-fsb__goal {
	font-weight: 500;
}

.thm-fsb .woocommerce-Price-amount {
	font-weight: 700;
	white-space: nowrap;
}

/* Reached state */
.thm-fsb--unlocked {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #e1f5ee;
	border-color: #9fe1cb;
}

.thm-fsb--unlocked .thm-fsb__headline {
	font-size: 17px;
	color: #0f6e56;
}

.thm-fsb--unlocked .thm-fsb__free {
	color: #0f6e56;
}

/* Checkout: sits in the order-review table. Constrain it so it never widens the
   right column — full text wrapping, box-sizing, and smaller type. */
.thm-free-shipping-row > td {
	padding: 0 0 12px;
}

.thm-free-shipping-row .thm-fsb {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 12px 14px;
	margin: 0;
	overflow-wrap: anywhere;
}

.thm-free-shipping-row .thm-fsb__headline {
	font-size: 15px;
}

.thm-free-shipping-row .thm-fsb__sub {
	font-size: 13px;
	margin: 4px 0 10px 0;
}

.thm-free-shipping-row .thm-fsb__bar {
	margin-left: 0;
}

.thm-free-shipping-row .thm-fsb__scale {
	margin-left: 0;
	gap: 6px;
	font-size: 11px;
}

.thm-free-shipping-row .thm-fsb--unlocked .thm-fsb__headline {
	font-size: 14px;
}

/* Mini-cart dropdown: tighter, drop the emoji indent. */
.woocommerce-mini-cart__free-shipping-message .thm-fsb {
	padding: 12px 14px;
	margin-bottom: 0.75rem;
}

.woocommerce-mini-cart__free-shipping-message .thm-fsb__headline {
	font-size: 15px;
}

.woocommerce-mini-cart__free-shipping-message .thm-fsb__sub,
.woocommerce-mini-cart__free-shipping-message .thm-fsb__bar,
.woocommerce-mini-cart__free-shipping-message .thm-fsb__scale {
	margin-left: 0;
}

.woocommerce-mini-cart__free-shipping-message .thm-fsb__sub {
	margin-bottom: 10px;
}
