/* Free gift banner: icon + text only (no bar in banner) */
.aac-free-gift-banner {
	width: 100%;
	box-sizing: border-box;
	background: #f5f0eb;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	overflow: hidden;
	/* Match free-freight banner vertical rhythm so heights stay identical. */
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	padding: 0.9rem 1rem;
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	color: inherit;
}

.aac-free-gift-banner__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.6rem;
	/* Padding handled on outer element to keep height equal to freight banner. */
	padding: 0;
	text-align: center;
}

.aac-free-gift-banner__icon svg {
	display: block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.aac-free-gift-banner__text {
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: 600;
	line-height: 1.4;
	color: inherit;
}

/* Compact progress bar in banner (if used elsewhere) */
.aac-free-gift-banner__track {
	height: 3px;
	width: 72px;
	flex-shrink: 0;
	background: #fff;
	border: 1px solid #8b3a3a;
	border-radius: 999px;
	overflow: hidden;
	box-sizing: border-box;
}

.aac-free-gift-banner__fill {
	height: 100%;
	background: #fdb467;
	border-radius: 999px;
	transition: width 0.4s ease;
	min-width: 0;
}

body.et_fixed_nav.ok-has-free-gift-banner #main-header {
	top: calc(var(--ok-gift-banner-h, 0) + var(--ok-banner-h, 0)) !important;
}

body.et_fixed_nav.ok-has-free-gift-banner #top-header {
	top: calc(var(--ok-gift-banner-h, 0) + var(--ok-banner-h, 0)) !important;
}

/* -------------------------------------------------------------------------
   In-page progress block (cart, checkout, product pages)
   Same box style as coupon/gift card on checkout (#f0efec, 8px radius).
   ------------------------------------------------------------------------- */
.aac-free-gift-progress-block-wrap {
	margin-bottom: 1rem;
}

.aac-free-gift-progress-block-wrap--checkout {
	display: block !important;
	width: 100% !important;
	margin-top: 0.5rem;
	margin-bottom: 1rem;
	box-sizing: border-box;
}
#order_review .aac-free-gift-progress-block-wrap--checkout,
.woocommerce-checkout-review-order .aac-free-gift-progress-block-wrap--checkout {
	display: block !important;
	width: 100% !important;
	flex-basis: 100% !important; /* force own row when parent is flex */
	clear: both;
}
/* Block only as wide as the text row so the progress bar matches text width */
.aac-free-gift-progress-block-wrap--checkout .aac-free-gift-progress-block {
	display: block;
	width: max-content;
	max-width: 100%;
	box-sizing: border-box;
}
.aac-free-gift-progress-block-wrap--checkout .aac-free-gift-progress-block__bar-wrap {
	width: 100%;
	min-width: 0;
}

.aac-free-gift-progress-block {
	display: inline-block;
	width: max-content;
	max-width: 100%;
	background: #f0efec;
	border-radius: 8px;
	padding: 0.75rem 1rem;
	box-sizing: border-box;
}

.aac-free-gift-progress-block__heading {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.aac-free-gift-progress-block__icon {
	flex-shrink: 0;
	line-height: 0;
}

.aac-free-gift-progress-block__icon svg {
	display: block;
	width: 16px;
	height: 16px;
}

.aac-free-gift-progress-block__text {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.3;
	color: inherit;
}

.aac-free-gift-progress-block__bar-wrap {
	display: block;
	width: 100%;
}

.aac-free-gift-progress-block__track {
	width: 100%;
	height: 8px;
	background: #e5e5e5;
	border-radius: 999px;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
}

/* Default #fdb467; 75% transparency when not filled, 100% when filled */
.aac-free-gift-progress-block__fill {
	height: 100%;
	border-radius: 999px;
	transition: width 0.4s ease, opacity 0.3s ease;
	min-width: 0;
	background: #fdb467;
	opacity: 0.25;
}

.aac-free-gift-progress-block[data-qualified="true"] .aac-free-gift-progress-block__fill {
	opacity: 1;
}

.aac-free-gift-progress-block[data-qualified="false"] .aac-free-gift-progress-block__fill {
	opacity: 0.25;
}

/* Product page: beneath add to cart, much smaller */
.aac-free-gift-progress-block-wrap--product {
	display: block;
	width: 100%;
	clear: both;
	margin-top: 0.75rem;
	margin-bottom: 0;
}

.aac-free-gift-progress-block-wrap--product .aac-free-gift-progress-block__text {
	font-size: 0.75rem;
	font-weight: 600;
	margin-bottom: 0.35rem;
	line-height: 1.25;
}

.aac-free-gift-progress-block--product.aac-free-gift-progress-block--empty .aac-free-gift-progress-block__text {
	font-size: 0.7rem;
	margin-bottom: 0;
}

.aac-free-gift-progress-block--product .aac-free-gift-progress-block__track {
	height: 5px;
}

.aac-free-gift-progress-block--product .aac-free-gift-progress-block__icon svg {
	width: 12px;
	height: 12px;
}

/* Markers for dual statuses: free gift + free delivery */
.aac-free-gift-progress-block__marker {
	position: absolute;
	top: 50%;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	box-sizing: border-box;
	border: 2px solid #ffffff;
	background: #e5e5e5;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.aac-free-gift-progress-block__marker--gift {
	/* Position controlled inline via style="left:X%" */
}

.aac-free-gift-progress-block__marker--freight {
	/* Position controlled inline via style="left:X%" */
}

.aac-free-gift-progress-block__marker.is-qualified {
	background: #fdb467;
}

.aac-free-gift-progress-block--product .aac-free-gift-progress-block__marker {
	width: 10px;
	height: 10px;
}
