/* WebUnix Free Shipping Pro — ماژول ۲ و ۷ */

.wufs-bar {
	--wufs-bg: #ffffff;
	--wufs-text: #1f2937;
	--wufs-accent: #111827;
	--wufs-track: #e5e7eb;
	--wufs-height: 8px;
	--wufs-radius: 10px;
	--wufs-fs: 14px;
	--wufs-fs-m: 13px;

	box-sizing: border-box;
	width: 100%;
	margin: 0 0 1em;
	padding: .7em 1em;
	background: var(--wufs-bg);
	color: var(--wufs-text);
	border-radius: var(--wufs-radius);
	font-size: var(--wufs-fs);
	line-height: 1.7;
}
.wufs-bar *,
.wufs-bar *::before,
.wufs-bar *::after { box-sizing: border-box; }
.wufs-bar[hidden] { display: none !important; }

.wufs-inner { display: flex; align-items: center; gap: .75em; }
.wufs-icon { display: inline-flex; flex: 0 0 auto; color: var(--wufs-text); }
.wufs-body { flex: 1 1 auto; min-width: 0; }
.wufs-message { font-weight: 600; margin-bottom: .45em; }
.wufs-remaining { font-weight: 800; color: var(--wufs-accent); }
.wufs-link { flex: 0 0 auto; color: inherit; font-weight: 700; text-decoration: underline; white-space: nowrap; }

.wufs-track {
	height: var(--wufs-height);
	background: var(--wufs-track);
	border-radius: 999px;
	overflow: hidden;
}
.wufs-fill {
	display: block;
	height: 100%;
	background: var(--wufs-accent);
	border-radius: inherit;
}
.wufs-anim .wufs-fill { transition: width .6s cubic-bezier(.22, .61, .36, 1); }

.wufs-shadow { box-shadow: 0 6px 20px rgba(0, 0, 0, .12); }

.wufs-close {
	flex: 0 0 auto;
	margin-inline-start: .25em;
	padding: .1em .45em;
	background: transparent;
	border: 0;
	color: inherit;
	font-size: 1.5em;
	line-height: 1;
	cursor: pointer;
	opacity: .7;
}
.wufs-close:hover { opacity: 1; }
.wufs-close:focus-visible,
.wufs-link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* محل‌ها */
.wufs-loc-top { margin: 0; border-radius: 0; }
.wufs-loc-minicart { margin: 0 0 .75em; }
.wufs-sticky { position: sticky; top: 0; z-index: 9999; }
body.admin-bar .wufs-sticky { top: 32px; }
@media (max-width: 782px) { body.admin-bar .wufs-sticky { top: 46px; } }

/* قالب‌ها (رنگ‌های تنظیم‌شده توسط مدیر، با style درون‌خطی، روی این‌ها اولویت دارند) */
.wufs-tpl-minimal { --wufs-bg: #ffffff; --wufs-text: #1f2937; --wufs-accent: #111827; --wufs-track: #e5e7eb; border: 1px solid #e5e7eb; }
.wufs-tpl-luxury  { --wufs-bg: #1a1410; --wufs-text: #f3e6c8; --wufs-accent: #c9a24d; --wufs-track: #3a2f25; }
.wufs-tpl-colorful { --wufs-bg: linear-gradient(90deg, #ff7a59, #ff3d81); --wufs-text: #ffffff; --wufs-accent: #ffffff; --wufs-track: rgba(255, 255, 255, .3); }
.wufs-tpl-glass   { --wufs-bg: rgba(255, 255, 255, .55); --wufs-text: #111827; --wufs-accent: #4f46e5; --wufs-track: rgba(17, 24, 39, .12);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, .6); }
.wufs-tpl-dark    { --wufs-bg: #111827; --wufs-text: #f9fafb; --wufs-accent: #22c55e; --wufs-track: #374151; }
.wufs-tpl-store   { --wufs-bg: #e8f5e9; --wufs-text: #14532d; --wufs-accent: #16a34a; --wufs-track: #c8e6c9; }

/* افکت تکمیل */
.wufs-status-reached .wufs-fill,
.wufs-status-already_free .wufs-fill {
	background-image: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent);
	background-color: var(--wufs-accent);
	background-size: 200% 100%;
}
.wufs-anim.wufs-status-reached .wufs-fill { animation: wufs-shine 1.8s ease 1; }
.wufs-celebrate { animation: wufs-pop .7s ease 1; }

@keyframes wufs-shine { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@keyframes wufs-pop { 0% { transform: scale(1); } 40% { transform: scale(1.025); } 100% { transform: scale(1); } }

/* موبایل / دسکتاپ */
@media (max-width: 768px) {
	.wufs-bar { font-size: var(--wufs-fs-m); padding: .6em .8em; }
	.wufs-hide-mobile { display: none !important; }
}
@media (min-width: 769px) {
	.wufs-hide-desktop { display: none !important; }
}

/* دسترس‌پذیری: حرکت کاهش‌یافته */
@media (prefers-reduced-motion: reduce) {
	.wufs-anim .wufs-fill { transition: none; }
	.wufs-anim.wufs-status-reached .wufs-fill,
	.wufs-celebrate { animation: none; }
}
