/* =========================================================
   Webixa Portfolio – frontend
   ========================================================= */

.wbxp-viewer,
.wbxp-single,
.wbxp-archive,
.wbxp-favorites,
.wbxp-embed {
	--wbxp-accent: #e53935;
	--wbxp-bg: #0a0a4a;
	--wbxp-page: #0a0a4a;
	--wbxp-ink: #1b1b2f;
	--wbxp-muted: #6b6b80;
	--wbxp-line: #e7e7ef;
	--wbxp-soft: #f5f5f9;
	--wbxp-ease: cubic-bezier(.22, .8, .2, 1);
	box-sizing: border-box;
}
.wbxp-viewer *, .wbxp-viewer *::before, .wbxp-viewer *::after,
.wbxp-pcard *, .wbxp-pcard *::before, .wbxp-pcard *::after { box-sizing: border-box; }

html.wbxp-lock,
html.wbxp-lock body { overflow: hidden !important; }

/* ---------------- Viewer (demo) ---------------- */

/* ریست کامل دکمه‌ها تا استایل قالب سایت (حاشیه، رنگ، padding) روی آن‌ها اثر نگذارد
   و آیکن‌ها دقیقاً وسط باشند */
.wbxp-viewer button,
button.wbxp-fav {
	-webkit-appearance: none !important;
	appearance: none !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	border: 0 !important;
	outline: 0;
	box-shadow: none;
	text-shadow: none !important;
	line-height: 0 !important;
	font-size: 0 !important;
	letter-spacing: 0 !important;
	text-indent: 0 !important;
	text-transform: none !important;
	vertical-align: middle;
	cursor: pointer;
}
.wbxp-viewer button::before,
.wbxp-viewer button::after,
button.wbxp-fav::before,
button.wbxp-fav::after { content: none !important; display: none !important; }
.wbxp-viewer button svg,
.wbxp-viewer__close svg,
button.wbxp-fav svg { display: block !important; flex: 0 0 auto; margin: 0 !important; padding: 0 !important; position: static !important; }



.wbxp-viewer {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	flex-direction: column;
	background: var(--wbxp-bg);
	direction: ltr;
	font-family: inherit;
	opacity: 0;
	visibility: hidden;
	transform: scale(1.015);
	transition: opacity .35s var(--wbxp-ease), transform .35s var(--wbxp-ease), visibility 0s linear .35s;
}
.wbxp-viewer.is-open {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity .35s var(--wbxp-ease), transform .35s var(--wbxp-ease), visibility 0s;
}
.admin-bar .wbxp-viewer { top: 32px; }
@media (max-width: 782px) { .admin-bar .wbxp-viewer { top: 46px; } }

.wbxp-viewer svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.wbxp-viewer__top {
	position: relative;
	flex: 0 0 auto;
	height: 92px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.wbxp-viewer__logo img { max-height: 54px; width: auto; display: block; }
.wbxp-logo-text { color: #fff; font-weight: 700; font-size: 20px; }
.wbxp-viewer__brand { display: flex; align-items: center; gap: 22px; }
.wbxp-viewer__text { font-size: 19px; font-weight: 600; line-height: 1.4; white-space: nowrap; }

.wbxp-viewer__close {
	position: absolute;
	top: 22px;
	right: 24px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	padding: 0 !important;
	color: #111 !important;
	background: #fff !important;
	border: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
	transition: transform .25s var(--wbxp-ease), background .2s;
}
.wbxp-viewer__close:hover { transform: rotate(90deg); }
.wbxp-viewer__close svg { stroke-width: 2.6; width: 20px; height: 20px; }

.wbxp-stage {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	justify-content: center;
	padding: 34px 96px 0;
}

.wbxp-frame {
	position: relative;
	width: min(1180px, 100%);
	height: 100%;
	padding: 12px 12px 0;
	background: #fff;
	border-radius: 28px 28px 0 0;
	transition: width .55s var(--wbxp-ease), border-radius .55s var(--wbxp-ease), padding .55s var(--wbxp-ease);
}
.wbxp-viewer[data-mode="mobile"] .wbxp-frame {
	width: min(400px, 100%);
	padding: 12px 11px 0;
	border-radius: 46px 46px 0 0;
}

/* زبانه نام/لوگوی پروژه بالای قاب دسکتاپ */
.wbxp-viewer .wbxp-tab {
	position: absolute;
	bottom: 100%;
	left: 34px;
	margin-bottom: -1px;
	height: 56px;
	min-width: 130px;
	padding: 0 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: #111;
	font-weight: 800;
	font-size: 22px;
	line-height: 1;
	border-radius: 16px 16px 0 0;
	white-space: nowrap;
	transition: opacity .3s, transform .3s var(--wbxp-ease);
}
.wbxp-viewer .wbxp-tab img {
	display: block;
	width: auto;
	max-width: 200px;
	max-height: 36px;
	margin: 0;
	object-fit: contain;
}
.wbxp-viewer[data-mode="mobile"] .wbxp-tab { opacity: 0; transform: translateY(10px); pointer-events: none; }

/* صفحه اسکرول‌شونده */
.wbxp-screen {
	display: none;
	position: relative;
	height: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	scrollbar-width: none;
	background: var(--wbxp-soft);
	border-radius: 18px 18px 0 0;
	outline: none;
}
.wbxp-screen::-webkit-scrollbar { display: none; }
.wbxp-screen img { display: block; width: 100%; height: auto; max-width: none; }
.wbxp-viewer[data-mode="mobile"] .wbxp-screen { border-radius: 36px 36px 0 0; }
.wbxp-viewer[data-mode="desktop"] .wbxp-screen--desktop,
.wbxp-viewer[data-mode="mobile"] .wbxp-screen--mobile { display: block; animation: wbxp-in .45s var(--wbxp-ease); }
.wbxp-screen:focus-visible { box-shadow: inset 0 0 0 3px var(--wbxp-accent); }

.wbxp-screen.is-loading::before {
	content: "";
	position: absolute;
	top: 80px;
	left: 50%;
	width: 34px;
	height: 34px;
	margin-left: -17px;
	border-radius: 50%;
	border: 3px solid var(--wbxp-line);
	border-top-color: var(--wbxp-accent);
	animation: wbxp-spin .8s linear infinite;
}
.wbxp-screen.is-loading img { opacity: 0; }
.wbxp-screen img { transition: opacity .4s; }

/* سوییچ دسکتاپ / موبایل (سمت چپ قاب) */
.wbxp-switch {
	position: absolute;
	top: 36px;
	right: 100%;
	margin-right: 26px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.wbxp-viewer .wbxp-switch__btn {
	width: 46px !important;
	height: 46px !important;
	border-radius: 50% !important;
	color: #fff !important;
	background: transparent !important;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .85) !important;
	transition: background .25s, color .25s, transform .2s;
}
.wbxp-viewer .wbxp-switch__btn:hover { transform: scale(1.06); }
.wbxp-viewer .wbxp-switch__btn[aria-pressed="true"] { background: #fff !important; color: #111 !important; box-shadow: none !important; }
.wbxp-viewer .wbxp-switch__btn svg { width: 22px !important; height: 22px !important; }
.wbxp-viewer .wbxp-switch__swap {
	width: 30px !important;
	height: 30px !important;
	border-radius: 50% !important;
	color: rgba(255, 255, 255, .75) !important;
	background: transparent !important;
}
.wbxp-viewer .wbxp-switch__swap:hover { color: #fff !important; }
.wbxp-viewer .wbxp-switch__swap svg { width: 18px !important; height: 18px !important; }
.wbxp-viewer .wbxp-switch__btn:focus-visible,
.wbxp-viewer .wbxp-switch__swap:focus-visible { outline: 2px solid #fff !important; outline-offset: 3px !important; }

/* پنل کناری: علاقه‌مندی + دایره اسکرول (سمت راست قاب) */
.wbxp-side {
	position: absolute;
	top: 22px;
	left: 100%;
	width: 46px;
	padding: 12px 0 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	background: #fff;
	border-radius: 0 18px 18px 0;
}
.wbxp-track {
	position: relative;
	width: 20px;
	height: 150px;
	cursor: pointer;
	touch-action: none;
	outline: none;
}
.wbxp-track::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 4px;
	margin-left: -2px;
	border-radius: 4px;
	background: var(--wbxp-line);
}
.wbxp-thumb {
	position: absolute;
	top: 0;
	left: 50%;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 3.5px var(--wbxp-bg), 0 2px 6px rgba(0, 0, 0, .25);
	transform: translate(-50%, 0);
	cursor: grab;
	will-change: transform;
}
.wbxp-thumb::after {
	content: "";
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	background: var(--wbxp-bg);
}
.wbxp-track.is-drag .wbxp-thumb { cursor: grabbing; box-shadow: 0 0 0 3.5px var(--wbxp-accent), 0 2px 10px rgba(0, 0, 0, .3); }
.wbxp-track.is-drag .wbxp-thumb::after { background: var(--wbxp-accent); }
.wbxp-track:focus-visible::before { background: var(--wbxp-accent); }

/* ---------------- Favorite button ---------------- */

button.wbxp-fav {
	width: 34px !important;
	height: 34px !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #111 !important;
	transition: transform .2s var(--wbxp-ease), color .2s;
}
button.wbxp-fav svg { width: 22px !important; height: 22px !important; fill: transparent !important; stroke: currentColor !important; stroke-width: 1.8; transition: fill .25s; }
button.wbxp-fav:hover { transform: scale(1.1); }
button.wbxp-fav.is-active { color: var(--wbxp-accent) !important; }
button.wbxp-fav.is-active svg { fill: var(--wbxp-accent) !important; }
button.wbxp-fav.is-pop { animation: wbxp-pop .4s var(--wbxp-ease); }
button.wbxp-fav:focus-visible { outline: 2px solid #111 !important; outline-offset: 2px !important; }

/* ---------------- Shared ---------------- */

.wbxp-container { width: min(1200px, 100% - 40px); margin-inline: auto; }

.wbxp-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 22px;
	border: 2px solid var(--wbxp-accent);
	border-radius: 999px;
	background: var(--wbxp-accent);
	color: #fff !important;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none !important;
	cursor: pointer;
	transition: background .2s, color .2s, transform .2s;
}
.wbxp-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.wbxp-btn:hover { transform: translateY(-1px); }
.wbxp-btn--ghost { background: transparent; color: var(--wbxp-accent) !important; }
.wbxp-btn--ghost:hover { background: var(--wbxp-accent); color: #fff !important; }
.wbxp-btn:focus-visible { outline: 3px solid var(--wbxp-bg); outline-offset: 2px; }

/* ---------------- Grid & project cards ---------------- */

.wbxp-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 34px 22px;
	transition: opacity .25s;
}
.wbxp-grid.is-loading { opacity: .45; pointer-events: none; }

.wbxp-pcard {
	--wbxp-card: #5b4bc4;
	--wbxp-star: #d9825b;
	container-type: inline-size;
	min-width: 0;
}
.wbxp-pcard.is-leaving { opacity: 0; transform: scale(.96); transition: .35s var(--wbxp-ease); }

.wbxp-pcard__link {
	position: relative;
	display: block;
	padding-top: 20.5cqw;
	color: #fff;
	text-decoration: none !important;
	outline: none;
}
.wbxp-pcard__link:focus-visible .wbxp-pcard__body { box-shadow: 0 0 0 3px #fff; }

/* ستاره و برچسب بالای کارت */
.wbxp-pcard__star {
	position: absolute;
	top: 0;
	left: 50%;
	width: 7cqw;
	height: 7cqw;
	transform: translateX(-50%);
	color: var(--wbxp-star);
}
.wbxp-pcard__star svg { display: block; width: 100%; height: 100%; fill: currentColor; }

.wbxp-pcard__badge {
	position: absolute;
	top: 11cqw;
	left: 50%;
	z-index: 1;
	height: calc(9.5cqw + 1px);
	min-width: 30cqw;
	padding: 0 6cqw 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: translateX(-50%);
	background: var(--wbxp-card);
	color: #fff;
	font-size: 4.3cqw;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .1em;
	white-space: nowrap;
	border-radius: 5cqw 5cqw 0 0;
}
.wbxp-pcard__badge::before,
.wbxp-pcard__badge::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 5cqw;
	height: 5cqw;
}
.wbxp-pcard__badge::before { right: 100%; background: radial-gradient(circle at 0 0, transparent 5cqw, var(--wbxp-card) calc(5cqw + .6px)); }
.wbxp-pcard__badge::after  { left: 100%;  background: radial-gradient(circle at 100% 0, transparent 5cqw, var(--wbxp-card) calc(5cqw + .6px)); }

/* بدنه رنگی کارت */
.wbxp-pcard__body {
	position: relative;
	display: block;
	aspect-ratio: 380 / 695;
	background: var(--wbxp-card);
	border-radius: 13cqw;
	overflow: hidden;
	transition: box-shadow .2s;
}
.wbxp-pcard__screen {
	position: absolute;
	inset: 8cqw;
	overflow: hidden;
	border-radius: 5cqw;
	background: rgba(255, 255, 255, .12);
}
.wbxp-pcard__screen img { display: block; width: 100%; height: auto; max-width: none; margin: 0; }

/* محو شدن تصویر در رنگ کارت (قبل از هاور) */
.wbxp-pcard__fade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom,
		transparent 0%,
		transparent 24%,
		color-mix(in srgb, var(--wbxp-card) 55%, transparent) 50%,
		color-mix(in srgb, var(--wbxp-card) 92%, transparent) 72%,
		var(--wbxp-card) 82%);
	transition: opacity .45s var(--wbxp-ease);
}
.wbxp-pcard__logo {
	position: absolute;
	left: 8cqw;
	right: 8cqw;
	bottom: 11cqw;
	height: 22cqw;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity .35s, transform .45s var(--wbxp-ease);
}
.wbxp-pcard__logo img { display: block; max-width: 64cqw; max-height: 22cqw; width: auto; height: auto; object-fit: contain; margin: 0; }
.wbxp-pcard__logo img.is-tint { filter: brightness(0) invert(1); }
.wbxp-pcard__name { font-size: 8cqw; font-weight: 800; line-height: 1.3; text-align: center; color: #fff; }

/* بریدگی سمت چپ با فلش (هنگام هاور) */
.wbxp-pcard__go,
.wbxp-pcard__side {
	position: absolute;
	top: 50%;
	z-index: 2;
	background: var(--wbxp-page, #0a0a4a);
	transition: transform .45s var(--wbxp-ease);
}
.wbxp-pcard__go {
	left: 0;
	width: 17cqw;
	height: 23cqw;
	margin-top: -11.5cqw;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0 7cqw 7cqw 0;
	color: #fff;
	transform: translateX(-102%);
}
.wbxp-pcard__go svg { display: block; width: 8cqw; height: 8cqw; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.wbxp-pcard__go::before,
.wbxp-pcard__go::after,
.wbxp-pcard__side::before,
.wbxp-pcard__side::after {
	content: "";
	position: absolute;
	width: 5cqw;
	height: 5cqw;
}
.wbxp-pcard__go::before { left: 0; bottom: 100%; background: radial-gradient(circle at 100% 0, transparent 5cqw, var(--wbxp-page, #0a0a4a) calc(5cqw + .6px)); }
.wbxp-pcard__go::after  { left: 0; top: 100%;    background: radial-gradient(circle at 100% 100%, transparent 5cqw, var(--wbxp-page, #0a0a4a) calc(5cqw + .6px)); }

/* نوار عمودی سمت راست با متن (هنگام هاور) */
.wbxp-pcard__side {
	right: 0;
	width: 7.5cqw;
	height: 66cqw;
	margin-top: -33cqw;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4cqw 0 0 4cqw;
	transform: translateX(102%);
}
.wbxp-pcard__side span {
	writing-mode: vertical-rl;
	color: #fff;
	font-size: 4.4cqw;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .04em;
	white-space: nowrap;
}
.wbxp-pcard__side::before { right: 0; bottom: 100%; background: radial-gradient(circle at 0 0, transparent 5cqw, var(--wbxp-page, #0a0a4a) calc(5cqw + .6px)); }
.wbxp-pcard__side::after  { right: 0; top: 100%;    background: radial-gradient(circle at 0 100%, transparent 5cqw, var(--wbxp-page, #0a0a4a) calc(5cqw + .6px)); }

/* زبانه پایین با سه شکل */
.wbxp-pcard__foot {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5cqw;
	direction: ltr;
	width: 46cqw;
	height: 10cqw;
	margin: -1px auto 0;
	padding-bottom: 1cqw;
	background: var(--wbxp-card);
	border-radius: 0 0 6cqw 6cqw;
}
.wbxp-pcard__foot::before,
.wbxp-pcard__foot::after {
	content: "";
	position: absolute;
	top: 0;
	width: 5cqw;
	height: 5cqw;
}
.wbxp-pcard__foot::before { right: 100%; background: radial-gradient(circle at 0 100%, transparent 5cqw, var(--wbxp-card) calc(5cqw + .6px)); }
.wbxp-pcard__foot::after  { left: 100%;  background: radial-gradient(circle at 100% 100%, transparent 5cqw, var(--wbxp-card) calc(5cqw + .6px)); }
.wbxp-pcard__foot i { display: block; width: 4.4cqw; height: 4.4cqw; background: var(--wbxp-page, #0a0a4a); font-style: normal; }
.wbxp-pcard__foot .is-circle { border-radius: 50%; }
.wbxp-pcard__foot .is-square { border-radius: .5cqw; }
.wbxp-pcard__foot .is-triangle { width: 5cqw; clip-path: polygon(50% 0, 100% 100%, 0 100%); }

/* حالت هاور */
.wbxp-pcard__link:hover .wbxp-pcard__fade,
.wbxp-pcard__link:focus-visible .wbxp-pcard__fade { opacity: 0; }
.wbxp-pcard__link:hover .wbxp-pcard__logo,
.wbxp-pcard__link:focus-visible .wbxp-pcard__logo { opacity: 0; transform: translateY(5cqw); }
.wbxp-pcard__link:hover .wbxp-pcard__go,
.wbxp-pcard__link:hover .wbxp-pcard__side,
.wbxp-pcard__link:focus-visible .wbxp-pcard__go,
.wbxp-pcard__link:focus-visible .wbxp-pcard__side { transform: none; }

.wbxp-pcard.is-nobadge .wbxp-pcard__link { padding-top: 0; }

/* ویجت‌های المنتور */
.wbxp-el { width: 100%; box-sizing: border-box; }
.elementor-widget-wbxp_card,
.elementor-widget-wbxp_grid { width: 100%; }

/* اسلایدر افقی با ناوبری (ابزارک المنتور) */
.wbxp-slider {
	--wbxp-nav-size: 46px;
	--wbxp-nav-color: #111;
	--wbxp-nav-bg: #fff;
	position: relative;
}
.wbxp-slider.has-arrows { padding-inline: calc(var(--wbxp-nav-size) + 14px); }
.wbxp-el .wbxp-grid.wbxp-grid--slider {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	gap: var(--wbxp-gap, 22px);
}
.wbxp-grid--slider::-webkit-scrollbar { display: none; }
.wbxp-grid--slider > .wbxp-pcard {
	flex: 0 0 calc((100% - (var(--wbxp-per, 4) - 1) * var(--wbxp-gap, 22px)) / var(--wbxp-per, 4));
	scroll-snap-align: start;
}
.wbxp-slider__nav[hidden] { display: none !important; }
.wbxp-slider__dots { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 18px; }
.wbxp-slider__dots[hidden] { display: none; }
.wbxp-slider button.wbxp-slider__dot {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 8px !important;
	height: 8px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--wbxp-nav-color) !important;
	opacity: .25;
	cursor: pointer;
	transition: width .3s var(--wbxp-ease, ease), opacity .3s;
}
.wbxp-slider button.wbxp-slider__dot.is-active { width: 24px !important; opacity: 1; }
.wbxp-slider button.wbxp-slider__arrow {
	-webkit-appearance: none !important;
	appearance: none !important;
	position: absolute;
	top: 50%;
	z-index: 3;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--wbxp-nav-size) !important;
	height: var(--wbxp-nav-size) !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: var(--wbxp-nav-bg) !important;
	color: var(--wbxp-nav-color) !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .12) !important;
	line-height: 0 !important;
	font-size: 0 !important;
	cursor: pointer;
	transform: translateY(-50%);
	transition: opacity .2s, transform .2s;
}
.wbxp-slider.has-dots button.wbxp-slider__arrow { top: calc(50% - 13px); }
.wbxp-slider button.wbxp-slider__arrow.is-prev { inset-inline-start: 0; }
.wbxp-slider button.wbxp-slider__arrow.is-next { inset-inline-end: 0; }
.wbxp-slider button.wbxp-slider__arrow:hover:not([disabled]) { transform: translateY(-50%) scale(1.08); }
.wbxp-slider button.wbxp-slider__arrow[disabled] { opacity: .3; cursor: default; }
.wbxp-slider button.wbxp-slider__arrow:focus-visible { outline: 2px solid var(--wbxp-nav-color) !important; outline-offset: 3px !important; }
.wbxp-slider__arrow svg { display: block; width: 44%; height: 44%; margin: 0; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
/* در صفحه راست‌به‌چپ، «بعدی» به سمت چپ است */
.wbxp-slider__arrow.is-prev svg { transform: scaleX(-1); }
[dir="ltr"] .wbxp-slider__arrow.is-next svg { transform: scaleX(-1); }
[dir="ltr"] .wbxp-slider__arrow.is-prev svg { transform: none; }

@media (max-width: 767px) {
	.wbxp-slider.has-arrows { padding-inline: 0; }
	.wbxp-slider__nav { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 16px; }
	.wbxp-slider .wbxp-slider__dots { margin-top: 0; }
	.wbxp-slider button.wbxp-slider__arrow,
	.wbxp-slider.has-dots button.wbxp-slider__arrow { position: static; transform: none; }
	.wbxp-slider button.wbxp-slider__arrow:hover:not([disabled]) { transform: scale(1.08); }
}

/* اسلایدر افقی موبایل (گزینه ویجت شبکه) */
@media (max-width: 767px) {
	.wbxp-el .wbxp-grid.wbxp-grid--slider-m {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 6px;
	}
	.wbxp-grid--slider-m::-webkit-scrollbar { display: none; }
	.wbxp-grid--slider-m > .wbxp-pcard { flex: 0 0 var(--wbxp-slide, 46%); scroll-snap-align: start; }
}

/* ---------------- Archive (هم‌سبک صفحه اصلی) ---------------- */

.wbxp-archive {
	--wbxp-primary: #377abc;
	--wbxp-cta: #4e3ca0;
	padding: 32px 0 90px;
	background: var(--wbxp-page);
	color: #1b2a44;
	box-shadow: 0 0 0 100vmax var(--wbxp-page);
	clip-path: inset(0 -100vmax);
}
.wbxp-archive .wbxp-container { width: min(1340px, 100% - 40px); }

/* بنر بالا */
.wbxp-ahero {
	position: relative;
	overflow: hidden;
	min-height: 380px;
	display: flex;
	align-items: center;
	padding: 56px clamp(24px, 5vw, 64px);
	border: 3px solid #fff;
	border-radius: 28px;
	background:
		radial-gradient(circle at 12% 110%, rgba(255, 255, 255, .14) 0 180px, transparent 181px),
		radial-gradient(circle at 4% -20%, rgba(255, 255, 255, .10) 0 220px, transparent 221px),
		linear-gradient(120deg, #243c5f 0%, var(--wbxp-primary) 100%);
	box-shadow: 0 18px 40px rgba(36, 60, 95, .18);
	color: #fff;
}
.wbxp-ahero.has-image {
	background:
		linear-gradient(270deg, rgba(36, 60, 95, .92) 0%, rgba(36, 60, 95, .72) 45%, rgba(55, 122, 188, .35) 100%),
		var(--wbxp-hero) center / cover no-repeat;
}
.wbxp-ahero__body { position: relative; max-width: 640px; }
.wbxp-ahero__crumb { display: inline-block; margin-bottom: 8px; color: rgba(255, 255, 255, .8) !important; text-decoration: none !important; font-size: 14px; }
.wbxp-ahero__crumb::before { content: "‹ "; }
.wbxp-ahero__crumb:hover { color: #fff !important; }
.wbxp-ahero__title { margin: 0 0 14px; color: #fff; font-size: clamp(28px, 3.6vw, 42px); font-weight: 800; line-height: 1.35; }
.wbxp-ahero__desc { color: rgba(255, 255, 255, .88); font-size: 16px; line-height: 2; }
.wbxp-ahero__desc p { margin: 0; }

.wbxp-ahero__stats { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 26px; }
.wbxp-ahero__stats span {
	padding: 6px 16px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	font-size: 14px;
}
.wbxp-ahero__stats b { font-weight: 800; }

.wbxp-ahero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.wbxp-ahero__stats + .wbxp-ahero__actions { margin-top: 0; }
.wbxp-hbtn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 26px;
	border: 2px solid rgba(255, 255, 255, .55);
	border-radius: 16px;
	background: var(--wbxp-cta);
	color: #fff !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none !important;
	box-shadow: 0 8px 20px rgba(30, 20, 90, .25);
	transition: transform .2s, background .2s, border-color .2s;
}
.wbxp-hbtn:hover { transform: translateY(-2px); border-color: #fff; }
.wbxp-hbtn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ردیف عنوان + دکمه‌های دسته */
.wbxp-ahead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 18px 24px;
	margin: 56px 0 34px;
	scroll-margin-top: 120px;
}
.wbxp-ahead__title { margin: 0; color: var(--wbxp-primary); font-size: clamp(22px, 2.4vw, 30px); font-weight: 800; line-height: 1.4; }

/* دکمه‌های دسته؛ مثل دکمه «مشاهده همه» صفحه اصلی */
.wbxp-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.wbxp-filters a {
	padding: 11px 22px;
	border: 2px solid #fff;
	border-radius: 16px;
	background: #fff;
	color: var(--wbxp-primary, #377abc) !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none !important;
	box-shadow: 0 6px 16px rgba(55, 122, 188, .12);
	transition: background .2s, color .2s, transform .2s;
}
.wbxp-filters a:hover { transform: translateY(-2px); }
.wbxp-filters a.is-active { background: var(--wbxp-primary, #377abc); color: #fff !important; box-shadow: 0 8px 20px rgba(55, 122, 188, .3); }

/* شبکه: شش‌تایی مثل صفحه اصلی */
.wbxp-archive .wbxp-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 30px 22px; }

/* دکمه «نمایش بیشتر» */
.wbxp-more { text-align: center; margin-top: 48px; }
.wbxp-more .wbxp-btn,
.wbxp-more .wbxp-btn.wbxp-btn--ghost {
	padding: 14px 32px;
	border: 2px solid #fff;
	border-radius: 16px;
	background: var(--wbxp-primary, #377abc);
	color: #fff !important;
	box-shadow: 0 8px 20px rgba(55, 122, 188, .3);
}
.wbxp-more .wbxp-btn:hover { transform: translateY(-2px); }
.wbxp-more[hidden], .wbxp-empty[hidden] { display: none; }
.wbxp-empty-inline { grid-column: 1 / -1; color: inherit; opacity: .7; text-align: center; padding: 40px 0; }

@media (max-width: 1200px) { .wbxp-archive .wbxp-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .wbxp-archive .wbxp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
	.wbxp-archive { padding-top: 16px; }
	.wbxp-archive .wbxp-container { width: calc(100% - 24px); }
	.wbxp-archive .wbxp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
	.wbxp-ahero { min-height: 0; padding: 34px 22px; border-radius: 22px; }
	.wbxp-ahero.has-image { background: linear-gradient(0deg, rgba(36, 60, 95, .92), rgba(36, 60, 95, .7)), var(--wbxp-hero) center / cover no-repeat; }
	.wbxp-ahero__desc { font-size: 14.5px; }
	.wbxp-hbtn { flex: 1 1 auto; justify-content: center; padding: 12px 18px; font-size: 14px; }
	.wbxp-ahead { margin: 36px 0 22px; }
	.wbxp-filters { flex-wrap: nowrap; overflow-x: auto; width: 100%; padding: 4px 2px 10px; scrollbar-width: none; }
	.wbxp-filters::-webkit-scrollbar { display: none; }
	.wbxp-filters a { flex: 0 0 auto; padding: 9px 18px; font-size: 14px; }
}

.wbxp-favorites,
.wbxp-embed { padding: 40px 24px; background: var(--wbxp-page); border-radius: 28px; }
.wbxp-empty { text-align: center; padding: 50px 20px; border: 2px dashed rgba(255, 255, 255, .25); border-radius: 22px; }
.wbxp-empty p { color: rgba(255, 255, 255, .75); margin: 0 0 18px; line-height: 1.9; }

/* ---------------- Single (هم‌سبک صفحه اصلی) ---------------- */

.wbxp-single {
	--wbxp-primary: #377abc;
	--wbxp-cta: #4e3ca0;
	padding: 32px 0 90px;
	background: var(--wbxp-page);
	color: #1b2a44;
	box-shadow: 0 0 0 100vmax var(--wbxp-page);
	clip-path: inset(0 -100vmax);
}
.wbxp-single .wbxp-container { width: min(1340px, 100% - 40px); }

/* دکمه‌ها؛ در برابر استایل قالب ایمن */
.wbxp-single .wbxp-hbtn,
.wbxp-archive .wbxp-hbtn,
.wbxp-single .wbxp-sbtn {
	box-sizing: border-box !important;
	max-width: 100%;
	-webkit-appearance: none !important;
	appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center;
	gap: 8px;
	margin: 0 !important;
	padding: 13px 26px !important;
	min-height: 0 !important;
	border: 2px solid rgba(255, 255, 255, .55) !important;
	border-radius: 16px !important;
	background: var(--wbxp-cta, #4e3ca0) !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	box-shadow: 0 8px 20px rgba(30, 20, 90, .25) !important;
	cursor: pointer;
	transition: transform .2s, border-color .2s;
}
.wbxp-single .wbxp-hbtn:hover,
.wbxp-single .wbxp-sbtn:hover { transform: translateY(-2px); border-color: #fff !important; }
.wbxp-single .wbxp-sbtn {
	border-color: #fff !important;
	background: var(--wbxp-primary, #377abc) !important;
	box-shadow: 0 8px 20px rgba(55, 122, 188, .3) !important;
}
.wbxp-single .wbxp-hbtn svg,
.wbxp-single .wbxp-sbtn svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* بنر پروژه */
.wbxp-shero {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	min-height: 360px;
	padding: 48px clamp(24px, 5vw, 64px);
	border: 3px solid #fff;
	border-radius: 28px;
	background:
		radial-gradient(circle at 12% 110%, rgba(255, 255, 255, .14) 0 180px, transparent 181px),
		radial-gradient(circle at 4% -20%, rgba(255, 255, 255, .10) 0 220px, transparent 221px),
		linear-gradient(120deg, #243c5f 0%, var(--wbxp-primary) 100%);
	box-shadow: 0 18px 40px rgba(36, 60, 95, .18);
	color: #fff;
}
.wbxp-shero__body { position: relative; flex: 1 1 auto; max-width: 680px; }
.wbxp-shero__crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 14px; }
.wbxp-shero__crumb a { color: rgba(255, 255, 255, .82) !important; text-decoration: none !important; }
.wbxp-shero__crumb a:hover { color: #fff !important; }
.wbxp-shero__crumb span { opacity: .6; }
.wbxp-shero__title { margin: 0 0 12px; color: #fff; font-size: clamp(28px, 3.6vw, 44px); font-weight: 800; line-height: 1.3; }
.wbxp-shero__lead { margin: 0 0 6px; color: rgba(255, 255, 255, .88); font-size: 16px; line-height: 2; }
.wbxp-shero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; }

.wbxp-shero__fav {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 6px 4px 16px;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 16px;
	background: rgba(255, 255, 255, .12);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}
.wbxp-single button.wbxp-fav.wbxp-fav--hero { width: 42px !important; height: 42px !important; color: #fff !important; }
.wbxp-single button.wbxp-fav.wbxp-fav--hero.is-active { color: #ff4d6d !important; }
.wbxp-single button.wbxp-fav.wbxp-fav--hero.is-active svg { fill: #ff4d6d !important; }

/* پیش‌نمایش سایت در بنر */
.wbxp-single button.wbxp-shero__shot {
	-webkit-appearance: none !important;
	appearance: none !important;
	position: relative;
	flex: 0 0 auto;
	width: 420px;
	height: 270px;
	margin: 0 !important;
	padding: 8px 8px 0 !important;
	overflow: hidden;
	border: 0 !important;
	border-radius: 20px 20px 0 0 !important;
	background: #fff !important;
	box-shadow: 0 24px 50px rgba(10, 20, 60, .35) !important;
	align-self: flex-end;
	margin-bottom: -51px !important;
	cursor: pointer;
	transform: rotate(-2deg);
	transition: transform .4s var(--wbxp-ease, ease);
}
.wbxp-single button.wbxp-shero__shot.is-phone {
	width: 210px;
	height: 330px;
	padding: 9px 9px 0 !important;
	border-radius: 34px 34px 0 0 !important;
}
.wbxp-shero__shot img { display: block; width: 100%; height: auto; border-radius: 14px 14px 0 0; transition: transform 6s linear; }
.wbxp-shero__shot.is-phone img { border-radius: 26px 26px 0 0; }
.wbxp-single button.wbxp-shero__shot:hover { transform: rotate(0deg) translateY(-6px); }
.wbxp-shero__shot:hover img { transform: translateY(calc(-100% + 300px)); }

/* چیدمان دوستونه: توضیحات + کارت مشخصات (بدون فضای خالی بالای توضیحات) */
.wbxp-slayout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 28px;
	align-items: start;
	margin-top: 40px;
}
.wbxp-sbox {
	padding: clamp(22px, 3vw, 36px);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(55, 122, 188, .08);
}
.wbxp-sbox__title { margin: 0 0 16px; color: var(--wbxp-primary); font-size: 22px; font-weight: 800; line-height: 1.4; }
.wbxp-sside { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 110px; }
.admin-bar .wbxp-sside { top: 142px; }

.wbxp-content { max-width: none; font-size: 16.5px; line-height: 2.1; color: #2a3550; }
.wbxp-content > :first-child { margin-top: 0; }
.wbxp-content > :last-child { margin-bottom: 0; }
.wbxp-content p { margin: 0 0 1em; }
.wbxp-content img { max-width: 100%; height: auto; border-radius: 16px; }
.wbxp-content iframe, .wbxp-content video { max-width: 100%; border-radius: 16px; }
.wbxp-content .wp-video { max-width: 100% !important; }
.wbxp-content h2, .wbxp-content h3 { color: var(--wbxp-primary); line-height: 1.5; margin: 1.6em 0 .6em; }
.wbxp-content a { color: var(--wbxp-primary); }

.wbxp-smeta dl { margin: 0 0 20px; }
.wbxp-smeta dl > div { padding: 12px 0; border-bottom: 1px solid #e6eef6; }
.wbxp-smeta dl > div:first-child { padding-top: 0; }
.wbxp-smeta dl > div:last-child { border-bottom: 0; }
.wbxp-smeta dt { margin-bottom: 4px; color: #7a8aa3; font-size: 13px; }
.wbxp-smeta dd { margin: 0; color: #1b2a44; font-weight: 700; }
.wbxp-smeta .wbxp-sbtn { width: 100%; }
.wbxp-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.wbxp-tags span { padding: 5px 12px; border-radius: 999px; background: #e9f2fa; color: var(--wbxp-primary); font-size: 13px; font-weight: 600; }

.wbxp-scta {
	background: linear-gradient(135deg, var(--wbxp-primary), #243c5f);
	color: #fff;
}
.wbxp-scta strong { display: block; margin-bottom: 6px; font-size: 18px; }
.wbxp-scta p { margin: 0 0 16px; color: rgba(255, 255, 255, .85); font-size: 14.5px; line-height: 1.9; }
.wbxp-single .wbxp-scta .wbxp-sbtn { width: 100%; background: var(--wbxp-cta, #4e3ca0) !important; border-color: rgba(255, 255, 255, .55) !important; }

/* پروژه‌های مشابه */
.wbxp-related { margin-top: 64px; }
.wbxp-single .wbxp-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 30px 22px; }

@media (max-width: 1200px) {
	.wbxp-single .wbxp-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.wbxp-single button.wbxp-shero__shot { width: 340px; }
}
@media (max-width: 1024px) {
	.wbxp-slayout { grid-template-columns: 1fr; }
	.wbxp-sside { position: static; }
	.wbxp-single .wbxp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wbxp-single button.wbxp-shero__shot { display: none !important; }
}
@media (max-width: 760px) {
	.wbxp-single { padding-top: 16px; }
	.wbxp-single .wbxp-container { width: calc(100% - 24px); }
	.wbxp-shero { min-height: 0; padding: 32px 22px; border-radius: 22px; }
	.wbxp-shero__actions .wbxp-hbtn { flex: 1 1 auto; }
	.wbxp-slayout { margin-top: 24px; gap: 18px; }
	.wbxp-single .wbxp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
	.wbxp-related .wbxp-ahead { flex-wrap: nowrap; }
}

/* ---------------- Toast & loader ---------------- */

.wbxp-toast {
	position: fixed;
	left: 50%;
	bottom: 26px;
	z-index: 1000001;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 20px;
	border-radius: 14px;
	background: #1b1b2f;
	color: #fff;
	font-size: 14.5px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
	transform: translate(-50%, 140%);
	transition: transform .35s var(--wbxp-ease);
}
.wbxp-toast.is-show { transform: translate(-50%, 0); }
.wbxp-toast a { color: #fff; font-weight: 700; text-decoration: underline; }

.wbxp-loader {
	position: fixed;
	inset: 0;
	z-index: 1000000;
	display: grid;
	place-items: center;
	background: rgba(10, 10, 74, .55);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s, visibility 0s linear .25s;
}
html.wbxp-busy .wbxp-loader { opacity: 1; visibility: visible; transition: opacity .25s; }
.wbxp-loader span { width: 44px; height: 44px; border-radius: 50%; border: 3px solid rgba(255, 255, 255, .25); border-top-color: #fff; animation: wbxp-spin .8s linear infinite; }

@keyframes wbxp-spin { to { transform: rotate(360deg); } }
@keyframes wbxp-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes wbxp-pop { 40% { transform: scale(1.3); } }

/* ---------------- Responsive ---------------- */

@media (max-width: 1200px) {
	.wbxp-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.wbxp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wbxp-single__head { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 900px) {
	.wbxp-viewer__top { height: 72px; }
	.wbxp-viewer__logo img { max-height: 40px; }
	.wbxp-viewer__brand { gap: 12px; }
	.wbxp-viewer__text { font-size: 14px; }
	.wbxp-viewer__close { top: 14px; right: 14px; width: 40px; height: 40px; }
	.wbxp-stage { padding: 30px 56px 0 12px; }
	.wbxp-switch { position: fixed; top: 14px; left: 14px; right: auto; margin: 0; flex-direction: row; gap: 6px; }
	.admin-bar .wbxp-switch { top: 60px; }
	.wbxp-switch__btn { width: 40px; height: 40px; }
	.wbxp-switch__swap svg { transform: rotate(90deg); }
	.wbxp-viewer .wbxp-tab { left: 18px; height: 46px; min-width: 100px; font-size: 17px; padding: 0 20px; }
	.wbxp-viewer .wbxp-tab img { max-height: 28px; max-width: 140px; }
	.wbxp-track { height: 120px; }
}

@media (max-width: 760px) {
	.wbxp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
	.wbxp-archive .wbxp-container { width: calc(100% - 24px); }
	.wbxp-favorites, .wbxp-embed { padding: 30px 12px; border-radius: 22px; }
}

@media (max-width: 640px) {
	.wbxp-viewer__text { display: none; }

}

@media (prefers-reduced-motion: reduce) {
	.wbxp-viewer, .wbxp-frame, .wbxp-pcard *, .wbxp-toast { transition: none !important; }
	.wbxp-screen, .wbxp-fav.is-pop { animation: none !important; }
}
