/* Cloud Freeshipping Bar - Front End Styles */

.cloud-fsb-bar {
	margin: 15px 0;
	padding: 10px;
	background-color: #f5f5f5;
	border-radius: 4px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.cloud-fsb-container {
	width: 100%;
	max-width: 100%;
}

.cloud-fsb-label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	color: #333;
	font-weight: 500;
}

.cloud-fsb-progress-wrapper {
	width: 100%;
	height: 30px;
	background-color: #f5f5f5;
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid #e0e0e0;
	position: relative;
	margin-bottom: 8px;
}

.cloud-fsb-progress-fill {
	height: 100%;
	background-color: #4CAF50;
	border-radius: 3px;
	transition: width 0.3s ease;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cloud-fsb-progress-text {
	position: absolute;
	left: 10px;
	right: 10px;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	font-size: 14px;
	color: #333;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	z-index: 2;
}

.cloud-fsb-progress-fill .cloud-fsb-progress-text {
	color: #fff;
}

.cloud-fsb-message {
	font-size: 13px;
	color: #666;
	margin-top: 8px;
	line-height: 1.4;
}

.cloud-fsb-message strong {
	color: #333;
	font-weight: 600;
}

.cloud-fsb-progress-wrapper.cloud-fsb-success {
	background: linear-gradient(90deg, #d4edda 0%, #c3e6cb 100%);
	border-color: #28a745;
	animation: cloud-fsb-pulse 2s infinite;
}

.cloud-fsb-progress-fill.cloud-fsb-success {
	background: linear-gradient(90deg, #28a745 0%, #20c997 100%);
	box-shadow: 0 0 10px rgba(40, 167, 69, 0.5);
}

.cloud-fsb-message.cloud-fsb-success {
	color: #155724;
	font-weight: 600;
	font-size: 14px;
}

@keyframes cloud-fsb-pulse {
	0%, 100% {
		box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.4);
	}
	50% {
		box-shadow: 0 0 0 10px rgba(40, 167, 69, 0);
	}
}

.cloud-fsb-alert {
	background-color: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 4px;
	padding: 10px;
	margin-bottom: 10px;
	font-size: 13px;
	color: #856404;
}

.cloud-fsb-success {
	background-color: #d4edda;
	border: 1px solid #28a745;
	color: #155724;
}

/* Mini Cart */
.woocommerce .cloud-fsb-bar {
	margin: 10px 0;
	padding: 8px;
}

.woocommerce .cloud-fsb-bar .cloud-fsb-progress-wrapper {
	height: 24px;
	border-radius: 3px;
	margin-bottom: 6px;
}

.woocommerce .cloud-fsb-bar .cloud-fsb-label {
	font-size: 13px;
	margin-bottom: 6px;
}

.woocommerce .cloud-fsb-bar .cloud-fsb-message {
	font-size: 12px;
	margin-top: 6px;
}

/* Cart Page */
.woocommerce-cart .cloud-fsb-bar {
	margin: 20px 0;
	padding: 15px;
	background-color: #f9f9f9;
	border-left: 4px solid #4CAF50;
}

.woocommerce-cart .cloud-fsb-bar .cloud-fsb-progress-wrapper {
	margin-bottom: 10px;
}

.woocommerce-cart .cloud-fsb-bar .cloud-fsb-label {
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 10px;
}

.woocommerce-cart .cloud-fsb-bar .cloud-fsb-message {
	font-size: 14px;
	margin-top: 10px;
}

/* Checkout Page */
.woocommerce-checkout .cloud-fsb-bar {
	margin: 20px 0;
	padding: 15px;
	background-color: #f0f7ff;
	border-left: 4px solid #0073aa;
	border-radius: 4px;
}

.woocommerce-checkout .cloud-fsb-bar .cloud-fsb-progress-wrapper {
	margin-bottom: 10px;
}

.woocommerce-checkout .cloud-fsb-bar .cloud-fsb-label {
	font-size: 15px;
	font-weight: 600;
	color: #0073aa;
	margin-bottom: 10px;
}

.woocommerce-checkout .cloud-fsb-bar .cloud-fsb-message {
	font-size: 14px;
	margin-top: 10px;
	color: #333;
}

/* Responsive Tablet */
@media (max-width: 768px) {
	.cloud-fsb-bar {
		padding: 12px;
		margin: 12px 0;
	}

	.cloud-fsb-progress-wrapper {
		height: 28px;
	}

	.cloud-fsb-label {
		font-size: 14px;
	}

	.cloud-fsb-message {
		font-size: 12px;
	}

	.cloud-fsb-progress-text {
		font-size: 12px;
	}

	.woocommerce-cart .cloud-fsb-bar {
		padding: 12px;
	}

	.woocommerce-checkout .cloud-fsb-bar {
		padding: 12px;
	}
}

/* Responsive Mobile */
@media (max-width: 480px) {
	.cloud-fsb-bar {
		padding: 10px;
		margin: 10px 0;
	}

	.cloud-fsb-progress-wrapper {
		height: 26px;
		border-radius: 3px;
		margin-bottom: 6px;
	}

	.cloud-fsb-label {
		font-size: 13px;
		margin-bottom: 8px;
	}

	.cloud-fsb-message {
		font-size: 11px;
	}

	.cloud-fsb-progress-text {
		font-size: 11px;
		left: 5px;
		right: 5px;
	}

	.cloud-fsb-alert {
		padding: 8px;
		font-size: 12px;
	}

	.woocommerce .cloud-fsb-bar {
		margin: 8px 0;
		padding: 6px;
	}

	.woocommerce .cloud-fsb-bar .cloud-fsb-progress-wrapper {
		height: 22px;
		margin-bottom: 4px;
	}

	.woocommerce .cloud-fsb-bar .cloud-fsb-label {
		font-size: 12px;
		margin-bottom: 4px;
	}

	.woocommerce .cloud-fsb-bar .cloud-fsb-message {
		font-size: 11px;
		margin-top: 4px;
	}

	.woocommerce-cart .cloud-fsb-bar,
	.woocommerce-checkout .cloud-fsb-bar {
		padding: 10px;
		margin: 15px 0;
	}

	.woocommerce-cart .cloud-fsb-bar .cloud-fsb-label,
	.woocommerce-checkout .cloud-fsb-bar .cloud-fsb-label {
		font-size: 14px;
		margin-bottom: 8px;
	}

	.woocommerce-cart .cloud-fsb-bar .cloud-fsb-message,
	.woocommerce-checkout .cloud-fsb-bar .cloud-fsb-message {
		font-size: 12px;
		margin-top: 8px;
	}
}

/* RTL Support */
[dir="rtl"] .cloud-fsb-progress-text {
	left: auto;
	right: 10px;
	text-align: right;
}

[dir="rtl"] .cloud-fsb-bar {
	border-right: 4px solid;
	border-left: none;
}

[dir="rtl"] .woocommerce-cart .cloud-fsb-bar {
	border-right: 4px solid #4CAF50;
	border-left: none;
}

[dir="rtl"] .woocommerce-checkout .cloud-fsb-bar {
	border-right: 4px solid #0073aa;
	border-left: none;
}

/* Animations */
@keyframes cloud-fsb-pulse {
	0% {
		opacity: 1;
	}
	50% {
		opacity: 0.7;
	}
	100% {
		opacity: 1;
	}
}

.cloud-fsb-loading {
	animation: cloud-fsb-pulse 1.5s ease-in-out infinite;
}

/* Loading State */
.cloud-fsb-bar.cloud-fsb-updating {
	opacity: 0.7;
	pointer-events: none;
}
