.orin-gls-free-shipping-notice-wrap {
	margin: 0 0 0.5rem;
}

.orin-gls-free-shipping-notice {
	padding: 0.3rem 0.55rem 0.35rem;
	border-radius: 6px;
	border: 1px solid #d5ddf0;
	background: #f7f9ff;
}

.orin-gls-free-shipping-notice.is-qualified {
	border-color: #b8dfc8;
	background: #f3faf6;
}

.orin-gls-free-shipping-body {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.orin-gls-free-shipping-line {
	margin: 0;
	font-size: 0.75rem;
	line-height: 1.35;
	color: #3d4660;
}

.orin-gls-free-shipping-amount {
	font-weight: 700;
	color: #061ab1;
}

.orin-gls-free-shipping-notice.is-qualified .orin-gls-free-shipping-amount {
	color: #1f6b3f;
}

.orin-gls-free-shipping-zone {
	font-weight: 600;
}

.orin-gls-free-shipping-bar {
	height: 4px;
	border-radius: 999px;
	background: #dde3f2;
	overflow: hidden;
}

.orin-gls-free-shipping-progress {
	position: relative;
	height: 100%;
	width: var(--orin-gls-progress, 0%);
	border-radius: inherit;
	background: linear-gradient(90deg, #061ab1 0%, #2d4fe0 100%);
	transform-origin: left center;
	animation:
		orin-gls-bar-grow 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards,
		orin-gls-bar-glow 2.4s ease-in-out 0.65s infinite;
}

.orin-gls-free-shipping-progress::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255, 255, 255, 0.4) 50%,
		transparent 100%
	);
	background-size: 200% 100%;
	animation: orin-gls-shimmer 2.2s ease-in-out infinite;
}

.orin-gls-free-shipping-notice.is-qualified .orin-gls-free-shipping-progress {
	background: linear-gradient(90deg, #1f8a4c 0%, #3cc477 100%);
	animation:
		orin-gls-bar-grow 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards,
		orin-gls-bar-glow-qualified 2.4s ease-in-out 0.65s infinite;
}

@keyframes orin-gls-bar-grow {
	from {
		transform: scaleX(0);
	}
	to {
		transform: scaleX(1);
	}
}

@keyframes orin-gls-shimmer {
	0% {
		background-position: 200% 0;
	}
	100% {
		background-position: -200% 0;
	}
}

@keyframes orin-gls-bar-glow {
	0%,
	100% {
		box-shadow: 0 0 0 rgba(6, 26, 177, 0);
	}
	50% {
		box-shadow: 0 0 6px rgba(45, 79, 224, 0.35);
	}
}

@keyframes orin-gls-bar-glow-qualified {
	0%,
	100% {
		box-shadow: 0 0 0 rgba(31, 138, 76, 0);
	}
	50% {
		box-shadow: 0 0 6px rgba(60, 196, 119, 0.35);
	}
}

.orin-gls-free-shipping-notice-wrap--product {
	margin-top: 0.65rem;
}

.orin-gls-free-shipping-notice-wrap--product[hidden] {
	display: none !important;
}

.orin-gls-free-shipping-notice-wrap--product.is-visible {
	animation: orin-gls-notice-in 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes orin-gls-notice-in {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.orin-gls-free-shipping-notice-wrap--product.is-visible {
		animation: none;
	}
}

@media (max-width: 480px) {
	.orin-gls-free-shipping-line {
		font-size: 0.7rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.orin-gls-free-shipping-progress,
	.orin-gls-free-shipping-progress::after {
		animation: none;
	}

	.orin-gls-free-shipping-progress {
		transform: none;
	}
}
