/* ==========================================================================
   تپ30گل – استایل صفحه مشاوره
   طراحی‌شده برای هلو المنتور / RTL
   ========================================================================== */

.gsc-page,
.gsc-form-card {
	--gsc-green: #2f7d32;
	--gsc-green-dark: #1f5c24;
	--gsc-green-soft: #eaf3e7;
	--gsc-green-tint: #f6faf4;
	--gsc-ink: #22312a;
	--gsc-body: #5d6b62;
	--gsc-line: #e3ebe0;
	--gsc-white: #fff;
	--gsc-radius: 16px;
	--gsc-radius-sm: 12px;
	--gsc-shadow: 0 10px 30px rgba(31, 92, 36, .07);
	--gsc-shadow-lg: 0 18px 45px rgba(31, 92, 36, .12);

	direction: rtl;
	text-align: right;
	color: var(--gsc-ink);
	font-family: "Vazirmatn", "IRANSans", "IRANYekan", Tahoma, sans-serif;
	line-height: 1.9;
}

.gsc-page *,
.gsc-form-card * {
	box-sizing: border-box;
}

.gsc-container {
	width: 100%;
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: 20px;
}

.gsc-page svg,
.gsc-form-card svg {
	width: 1em;
	height: 1em;
	display: block;
}

/* ---------- تیترها ---------- */

.gsc-heading {
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 800;
	text-align: center;
	margin: 0 0 10px;
	color: var(--gsc-ink);
}

.gsc-heading--start {
	text-align: right;
}

.gsc-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: var(--gsc-green);
	font-size: 18px;
	margin-bottom: 36px;
}

.gsc-divider::before,
.gsc-divider::after {
	content: "";
	width: 70px;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--gsc-line));
}

.gsc-divider--start {
	justify-content: flex-start;
}

.gsc-divider--start::before {
	display: none;
}

/* ---------- بخش‌ها ---------- */

.gsc-section {
	padding: 60px 0;
}

.gsc-section--alt {
	background: var(--gsc-green-tint);
}

.gsc-card {
	background: var(--gsc-white);
	border: 1px solid var(--gsc-line);
	border-radius: var(--gsc-radius);
	box-shadow: var(--gsc-shadow);
}

/* ==========================================================================
   هیرو
   ========================================================================== */

.gsc-hero {
	position: relative;
	padding: 64px 0;
	background: linear-gradient(180deg, #f2f8ef 0%, #fff 100%);
	overflow: hidden;
}

/* وقتی عکس داریم، گرادیان زیرین کنار می‌رود تا خود عکس دیده شود */
.gsc-hero--has-img {
	background: #f6faf4;
}

/**
 * پس‌زمینه‌ی هیرو (نسخه ۱.۴.۲)
 * عکس کل سکشن بالا را می‌گیرد — هم پشت فرم، هم پشت متن‌های کنار فرم.
 * روی آن فقط یک پرده‌ی شیری ملایم می‌نشیند تا نوشته‌ها خوانا بماند.
 *
 * دو متغیر برای تنظیم دستی:
 *   --gsc-hero-pos   جای قاب‌بندی عکس (پیش‌فرض center)  مثال: center left / 30% 50%
 *   --gsc-hero-veil  شفافیت پرده‌ی شیری (۰ = عکس کاملاً واضح، ۱ = کاملاً سفید)
 */
.gsc-hero__bg {
	position: absolute;
	inset: 0;
	background-image: var(--gsc-hero-img, none);
	background-size: cover;
	background-position: var(--gsc-hero-pos, center);
	background-repeat: no-repeat;
	pointer-events: none;
	z-index: 0;
}

/* اگر سوژه‌ی عکس سمت اشتباهی افتاده، با hero_flip="1" آینه‌اش می‌کنیم */
.gsc-hero--flip .gsc-hero__bg {
	transform: scaleX(-1);
}

/* پرده نباید با عکس آینه شود، پس برش می‌گردانیم */
.gsc-hero--flip .gsc-hero__bg::after {
	transform: scaleX(-1);
}

/* لایه‌ی خوانایی: یکنواخت و سبک، فقط سمت متن (راست در RTL) کمی شیری‌تر */
.gsc-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to right,
			rgba(255, 255, 255, calc(var(--gsc-hero-veil, .58) - .10)) 0%,
			rgba(255, 255, 255, var(--gsc-hero-veil, .58)) 42%,
			rgba(255, 255, 255, calc(var(--gsc-hero-veil, .58) + .12)) 78%,
			rgba(246, 250, 244, calc(var(--gsc-hero-veil, .58) + .06)) 100%);
}

.gsc-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
}

/* چون حالا عکس پشت متن هم هست، یک هاله‌ی سفید خیلی ملایم متن را جدا می‌کند */
.gsc-hero--has-img .gsc-hero__intro {
	text-shadow: 0 1px 2px rgba(255, 255, 255, .85), 0 0 18px rgba(255, 255, 255, .65);
}

.gsc-hero__title {
	font-size: clamp(28px, 4.2vw, 42px);
	font-weight: 900;
	line-height: 1.6;
	margin: 0 0 18px;
}

.gsc-hero__title em {
	display: block;
	font-style: normal;
	color: var(--gsc-green);
	margin-top: 6px;
}

.gsc-sprig {
	display: inline-block;
	font-size: 30px;
	color: var(--gsc-green);
	vertical-align: -6px;
	margin-left: 8px;
}

.gsc-hero__text {
	color: var(--gsc-body);
	font-size: 16px;
	margin: 0 0 32px;
	max-width: 44ch;
}

.gsc-usps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	text-align: center;
}

.gsc-usp__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	font-size: 24px;
	border-radius: 50%;
	background: var(--gsc-green-soft);
	color: var(--gsc-green);
	margin-bottom: 10px;
}

.gsc-usp strong {
	display: block;
	font-size: 15px;
}

.gsc-usp span {
	display: block;
	font-size: 12.5px;
	color: var(--gsc-body);
}

/* ==========================================================================
   فرم
   ========================================================================== */

.gsc-form-card {
	padding: 28px;
	background: var(--gsc-white);
	border: 1px solid var(--gsc-line);
	border-radius: 20px;
	box-shadow: var(--gsc-shadow-lg);
}

.gsc-form-title {
	font-size: 20px;
	font-weight: 800;
	margin: 0 0 20px;
	text-align: right;
}

.gsc-row {
	display: grid;
	gap: 14px;
}

.gsc-row--2 {
	grid-template-columns: 1fr 1fr;
}

.gsc-field {
	margin-bottom: 14px;
	min-width: 0;
}

.gsc-label {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	margin-bottom: 6px;
	color: var(--gsc-ink);
}

.gsc-label span {
	color: #c0392b;
}

.gsc-label em {
	font-style: normal;
	font-weight: 400;
	color: var(--gsc-body);
	font-size: 12.5px;
}

.gsc-input-wrap {
	position: relative;
	display: flex;
	align-items: center;
	background: var(--gsc-white);
	border: 1px solid var(--gsc-line);
	border-radius: var(--gsc-radius-sm);
	transition: border-color .2s, box-shadow .2s;
}

.gsc-input-wrap:focus-within {
	border-color: var(--gsc-green);
	box-shadow: 0 0 0 3px rgba(47, 125, 50, .12);
}

.gsc-icon {
	flex: 0 0 auto;
	font-size: 18px;
	color: var(--gsc-green);
	padding-inline: 14px 6px;
}

.gsc-form input[type="text"],
.gsc-form input[type="tel"],
.gsc-form select,
.gsc-form textarea {
	width: 100%;
	border: 0;
	background: transparent;
	padding: 13px 10px 13px 14px;
	font: inherit;
	font-size: 14px;
	color: var(--gsc-ink);
	outline: none;
	border-radius: var(--gsc-radius-sm);
}

.gsc-form textarea {
	border: 1px solid var(--gsc-line);
	padding: 12px 14px;
	resize: vertical;
	line-height: 1.8;
}

.gsc-form textarea:focus {
	border-color: var(--gsc-green);
	box-shadow: 0 0 0 3px rgba(47, 125, 50, .12);
}

.gsc-form ::placeholder {
	color: #9fada4;
}

.gsc-input-wrap--select {
	position: relative;
}

.gsc-form select {
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	padding-left: 36px;
}

.gsc-input-wrap--select::after {
	content: "";
	position: absolute;
	left: 14px;
	width: 8px;
	height: 8px;
	border-left: 2px solid var(--gsc-body);
	border-bottom: 2px solid var(--gsc-body);
	transform: rotate(-45deg);
	pointer-events: none;
}

/* ---------- چیپ‌ها ---------- */

.gsc-chips-set {
	border: 0;
	padding: 0;
	margin-inline: 0;
}

.gsc-chips {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.gsc-chip {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 10px;
	border: 1px solid var(--gsc-line);
	border-radius: var(--gsc-radius-sm);
	cursor: pointer;
	font-size: 13.5px;
	transition: all .18s;
	background: var(--gsc-white);
	text-align: center;
}

.gsc-chip input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.gsc-chip__icon {
	font-size: 18px;
	color: var(--gsc-green);
}

.gsc-chip:hover {
	border-color: #bcd6b8;
	background: var(--gsc-green-tint);
}

.gsc-chip:has(input:checked) {
	border-color: var(--gsc-green);
	background: var(--gsc-green-soft);
	font-weight: 600;
}

.gsc-chip.is-checked {
	border-color: var(--gsc-green);
	background: var(--gsc-green-soft);
	font-weight: 600;
}

.gsc-chip:has(input:focus-visible),
.gsc-chip.is-focused {
	box-shadow: 0 0 0 3px rgba(47, 125, 50, .18);
}

/* ---------- آپلود ---------- */

.gsc-drop {
	position: relative;
	border: 1.5px dashed #c6dcc2;
	border-radius: var(--gsc-radius-sm);
	background: var(--gsc-green-tint);
	padding: 22px 16px;
	text-align: center;
	cursor: pointer;
	transition: all .2s;
}

.gsc-drop:hover,
.gsc-drop.is-dragover {
	border-color: var(--gsc-green);
	background: var(--gsc-green-soft);
}

.gsc-drop__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}

.gsc-drop__icon {
	font-size: 26px;
	color: var(--gsc-green);
	margin-bottom: 4px;
}

.gsc-drop__inner strong {
	font-size: 14.5px;
}

.gsc-drop__inner span {
	font-size: 13px;
	color: var(--gsc-body);
}

.gsc-drop__inner small {
	font-size: 11.5px;
	color: #8b9a91;
	margin-top: 6px;
}

.gsc-drop__preview {
	display: flex;
	align-items: center;
	gap: 14px;
	text-align: right;
}

.gsc-drop__preview img {
	flex: 0 0 auto;
	width: 84px;
	height: 84px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid var(--gsc-line);
	background: #fff;
}

.gsc-drop__meta {
	min-width: 0;
	flex: 1 1 auto;
}

.gsc-drop__name {
	display: block;
	font-size: 13px;
	line-height: 1.7;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.gsc-drop__size {
	display: block;
	font-size: 11.5px;
	color: var(--gsc-body);
}

.gsc-drop__remove {
	margin-top: 6px;
	background: none;
	border: 0;
	color: #c0392b;
	font: inherit;
	font-size: 12.5px;
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
}

/* ---------- دکمه ---------- */

.gsc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 28px;
	border: 0;
	border-radius: var(--gsc-radius-sm);
	background: var(--gsc-green);
	color: #fff;
	font: inherit;
	font-size: 15.5px;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
	transition: background .2s, transform .12s, box-shadow .2s;
	box-shadow: 0 8px 20px rgba(47, 125, 50, .22);
}

.gsc-btn:hover {
	background: var(--gsc-green-dark);
	color: #fff;
	transform: translateY(-1px);
}

.gsc-btn:active {
	transform: translateY(0);
}

.gsc-btn[disabled] {
	opacity: .65;
	cursor: not-allowed;
	transform: none;
}

.gsc-btn--block {
	width: 100%;
	margin-top: 6px;
}

.gsc-btn__icon {
	font-size: 18px;
}

.gsc-privacy {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 12.5px;
	color: var(--gsc-body);
	margin: 14px 0 0;
}

.gsc-privacy span {
	font-size: 15px;
	color: var(--gsc-green);
}

/* ---------- پیام‌ها ---------- */

.gsc-error {
	margin: 6px 2px 0;
	font-size: 12.5px;
	color: #c0392b;
	min-height: 0;
}

.gsc-error:empty {
	display: none;
}

.gsc-input-wrap.has-error,
.gsc-drop.has-error {
	border-color: #c0392b;
}

.gsc-alert {
	margin-top: 16px;
	padding: 14px 16px;
	border-radius: var(--gsc-radius-sm);
	font-size: 14px;
	border: 1px solid;
}

.gsc-alert--ok {
	background: var(--gsc-green-soft);
	border-color: #b9d8b4;
	color: var(--gsc-green-dark);
}

.gsc-alert--err {
	background: #fdeceb;
	border-color: #f2c2be;
	color: #a93226;
}

.gsc-hp {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.gsc-spinner {
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, .4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: gsc-spin .7s linear infinite;
}

@keyframes gsc-spin {
	to {
		transform: rotate(360deg);
	}
}

/* ==========================================================================
   کارت‌های خدمات
   ========================================================================== */

.gsc-grid {
	display: grid;
	gap: 18px;
}

.gsc-grid--5 {
	grid-template-columns: repeat(5, 1fr);
}

.gsc-feature {
	padding: 26px 20px;
	text-align: center;
	transition: transform .2s, box-shadow .2s;
}

.gsc-feature:hover {
	transform: translateY(-4px);
	box-shadow: var(--gsc-shadow-lg);
}

.gsc-feature__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	font-size: 24px;
	border-radius: 50%;
	background: var(--gsc-green-soft);
	color: var(--gsc-green);
	margin-bottom: 14px;
}

.gsc-feature h3 {
	font-size: 15.5px;
	font-weight: 700;
	margin: 0 0 8px;
}

.gsc-feature p {
	font-size: 13px;
	color: var(--gsc-body);
	margin: 0;
	line-height: 1.9;
}

/* ==========================================================================
   فرایند مشاوره
   ========================================================================== */

.gsc-process {
	display: grid;
	grid-template-columns: 380px 1fr;
	gap: 40px;
	align-items: center;
}

.gsc-process__media {
	position: relative;
}

.gsc-process__media img {
	width: 100%;
	height: auto;
	border-radius: var(--gsc-radius);
	display: block;
}

.gsc-media-placeholder {
	aspect-ratio: 4 / 3;
	display: grid;
	place-items: center;
	border: 1.5px dashed var(--gsc-line);
	border-radius: var(--gsc-radius);
	color: #9fada4;
	font-size: 13px;
	text-align: center;
	padding: 20px;
}

/**
 * باکس «مشاوره رایگان»
 * قبلاً بالا-چپ بود و دقیقاً روی صورت کارشناس می‌افتاد.
 * حالا پایین-راست می‌نشیند تا صورت کاملاً پیدا باشد.
 */
.gsc-bubble {
	position: absolute;
	top: auto;
	bottom: 18px;
	left: auto;
	right: 16px;
	background: #fff;
	border-radius: var(--gsc-radius-sm);
	box-shadow: var(--gsc-shadow-lg);
	padding: 12px 16px;
	font-size: 12.5px;
	max-width: 190px;
}

.gsc-bubble strong {
	display: block;
	font-size: 13.5px;
	margin-bottom: 2px;
}

.gsc-bubble span {
	color: var(--gsc-body);
}

.gsc-bubble__tags {
	display: flex;
	gap: 6px;
	margin-top: 8px;
}

.gsc-bubble__tags i {
	font-style: normal;
	background: var(--gsc-green-soft);
	color: var(--gsc-green-dark);
	border-radius: 6px;
	padding: 2px 8px;
	font-size: 11.5px;
}

.gsc-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	position: relative;
}

.gsc-steps::before {
	content: "";
	position: absolute;
	top: 13px;
	inset-inline: 12%;
	height: 1px;
	background: var(--gsc-line);
}

.gsc-step {
	position: relative;
	text-align: center;
}

.gsc-step__num {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--gsc-green);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 14px;
}

.gsc-step__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	font-size: 26px;
	border-radius: 50%;
	background: var(--gsc-green-soft);
	color: var(--gsc-green);
	margin: 0 auto 12px;
}

.gsc-step h3 {
	font-size: 14.5px;
	margin: 0 0 6px;
	font-weight: 700;
}

.gsc-step p {
	font-size: 12.5px;
	color: var(--gsc-body);
	margin: 0;
	line-height: 1.85;
}

/* ==========================================================================
   سوالات متداول
   ========================================================================== */

.gsc-faq {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.gsc-faq__item {
	background: #fff;
	border: 1px solid var(--gsc-line);
	border-radius: var(--gsc-radius-sm);
	overflow: hidden;
}

.gsc-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 15px 18px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	list-style: none;
}

.gsc-faq__item summary::-webkit-details-marker {
	display: none;
}

.gsc-faq__chev {
	font-size: 16px;
	color: var(--gsc-green);
	transition: transform .2s;
	flex: 0 0 auto;
}

.gsc-faq__item[open] .gsc-faq__chev {
	transform: rotate(-90deg);
}

.gsc-faq__item p {
	margin: 0;
	padding: 0 18px 18px;
	font-size: 13.5px;
	color: var(--gsc-body);
}

/* ==========================================================================
   فراخوان پایانی
   ========================================================================== */

.gsc-cta {
	position: relative;
	border-radius: 20px;
	background: var(--gsc-green-tint) var(--gsc-cta-img, none) center / cover no-repeat;
	border: 1px solid var(--gsc-line);
	text-align: center;
	padding: 54px 24px;
	overflow: hidden;
}

.gsc-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(246, 250, 244, .55), rgba(246, 250, 244, .95) 30%, rgba(246, 250, 244, .95) 70%, rgba(246, 250, 244, .55));
}

.gsc-cta > * {
	position: relative;
}

.gsc-cta h2 {
	font-size: clamp(20px, 2.6vw, 27px);
	font-weight: 800;
	margin: 0 0 24px;
	line-height: 1.8;
}

.gsc-trust {
	list-style: none;
	margin: 44px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	text-align: center;
}

.gsc-trust li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	color: var(--gsc-green);
	margin-bottom: 8px;
}

.gsc-trust strong {
	display: block;
	font-size: 14px;
}

.gsc-trust em {
	font-style: normal;
	font-size: 12.5px;
	color: var(--gsc-body);
}

/* ==========================================================================
   واکنش‌گرا
   ========================================================================== */

@media (max-width: 1024px) {
	.gsc-hero__grid {
		grid-template-columns: 1fr;
	}

	/* در موبایل/تبلت هم عکس کل سکشن را می‌گیرد (قبلاً فقط یک نوار بالای صفحه بود) */
	.gsc-hero__bg {
		inset: 0;
		height: auto;
	}

	/* ستون‌ها روی هم می‌روند، پس پرده کمی مات‌تر تا فرم و متن خوانا بمانند */
	.gsc-hero__bg::after {
		background: linear-gradient(to bottom,
				rgba(255, 255, 255, calc(var(--gsc-hero-veil, .58) - .06)) 0%,
				rgba(255, 255, 255, calc(var(--gsc-hero-veil, .58) + .14)) 55%,
				rgba(246, 250, 244, calc(var(--gsc-hero-veil, .58) + .22)) 100%);
	}

	.gsc-grid--5 {
		grid-template-columns: repeat(3, 1fr);
	}

	.gsc-process {
		grid-template-columns: 1fr;
	}

	.gsc-steps {
		grid-template-columns: repeat(2, 1fr);
		gap: 26px;
	}

	.gsc-steps::before {
		display: none;
	}
}

@media (max-width: 680px) {
	.gsc-section {
		padding: 44px 0;
	}

	.gsc-hero {
		padding: 34px 0;
	}

	.gsc-form-card {
		padding: 20px;
	}

	.gsc-row--2,
	.gsc-faq {
		grid-template-columns: 1fr;
	}

	.gsc-chips,
	.gsc-usps {
		grid-template-columns: repeat(2, 1fr);
	}

	.gsc-bubble {
		position: static;
		max-width: none;
		margin-top: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {

	.gsc-page *,
	.gsc-form-card * {
		transition: none !important;
		animation: none !important;
	}
}

/* ==========================================================================
   سازگاری با صفحه‌سازها (المنتور / هلو المنتور / گوتنبرگ)
   بعضی قالب‌ها روی محتوای برگه استایل ارثی می‌گذارند؛ این بخش خنثی‌شان می‌کند.
   ========================================================================== */

.elementor-widget-shortcode .gsc-page,
.elementor-widget-text-editor .gsc-page,
.entry-content .gsc-page,
.gsc-page {
	width: 100%;
	max-width: none;
	float: none;
}

.gsc-page :where(ul, ol) {
	list-style: none;
}

.gsc-page :where(img) {
	max-width: 100%;
	height: auto;
}

.gsc-page :where(input, select, textarea),
.gsc-form-card :where(input, select, textarea) {
	font-family: inherit;
	max-width: 100%;
}

/* ==========================================================================
   محافظت در برابر استایل‌های سراسری قالب و المنتور
   المنتور از تنظیمات «Global → Buttons» قوانینی مثل `.elementor-kit-123 button`
   می‌سازد که از سلکتورهای تک‌کلاسی ما قوی‌تر است و دکمه/آیکون‌ها را خراب می‌کند.
   این بخش فقط ظاهر عناصر خودِ افزونه را قفل می‌کند و به بقیه‌ی سایت کاری ندارد.
   ========================================================================== */

/* ---------- آیکون‌ها ---------- */

.gsc-page svg,
.gsc-form-card svg {
	width: 1em !important;
	height: 1em !important;
	min-width: 0;
	max-width: none;
	display: block !important;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	vertical-align: middle;
}

.gsc-page .gsc-usp__icon,
.gsc-page .gsc-feature__icon,
.gsc-page .gsc-step__icon,
.gsc-page .gsc-trust li span,
.gsc-form-card .gsc-drop__icon,
.gsc-page .gsc-drop__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	text-align: center;
	box-sizing: border-box;
}

.gsc-page .gsc-usp__icon,
.gsc-page .gsc-feature__icon {
	width: 56px !important;
	height: 56px !important;
	font-size: 24px !important;
	border-radius: 50% !important;
	background: var(--gsc-green-soft) !important;
	color: var(--gsc-green) !important;
	padding: 0 !important;
}

.gsc-page .gsc-step__icon {
	width: 62px !important;
	height: 62px !important;
	font-size: 26px !important;
	border-radius: 50% !important;
	background: var(--gsc-green-soft) !important;
	color: var(--gsc-green) !important;
	padding: 0 !important;
}

.gsc-page .gsc-trust li span {
	font-size: 26px !important;
	color: var(--gsc-green) !important;
}

.gsc-page .gsc-sprig {
	display: inline-flex !important;
	align-items: center;
	font-size: 30px !important;
	color: var(--gsc-green) !important;
}

.gsc-form-card .gsc-icon,
.gsc-page .gsc-icon {
	display: inline-flex !important;
	align-items: center !important;
	font-size: 18px !important;
	color: var(--gsc-green) !important;
	line-height: 1 !important;
}

.gsc-form-card .gsc-chip__icon,
.gsc-page .gsc-chip__icon {
	display: inline-flex !important;
	align-items: center !important;
	font-size: 18px !important;
	color: var(--gsc-green) !important;
	line-height: 1 !important;
}

.gsc-form-card .gsc-drop__icon,
.gsc-page .gsc-drop__icon {
	font-size: 26px !important;
	color: var(--gsc-green) !important;
}

.gsc-form-card .gsc-privacy span,
.gsc-page .gsc-privacy span {
	display: inline-flex !important;
	align-items: center !important;
	font-size: 15px !important;
	color: var(--gsc-green) !important;
	line-height: 1 !important;
}

.gsc-page .gsc-faq__chev {
	display: inline-flex !important;
	align-items: center !important;
	font-size: 16px !important;
	color: var(--gsc-green) !important;
	line-height: 1 !important;
}

/* ---------- دکمه‌ها ---------- */

.gsc-page .gsc-btn,
.gsc-form-card .gsc-btn,
button.gsc-btn,
a.gsc-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	padding: 15px 28px !important;
	margin: 0;
	border: 0 !important;
	border-radius: var(--gsc-radius-sm) !important;
	background: var(--gsc-green) !important;
	background-image: none !important;
	color: #fff !important;
	font: inherit;
	font-size: 15.5px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(47, 125, 50, .22) !important;
	min-height: 0;
	width: auto;
}

.gsc-page .gsc-btn:hover,
.gsc-form-card .gsc-btn:hover,
button.gsc-btn:hover,
a.gsc-btn:hover {
	background: var(--gsc-green-dark) !important;
	color: #fff !important;
	border: 0 !important;
}

.gsc-page .gsc-btn--block,
.gsc-form-card .gsc-btn--block,
button.gsc-btn--block {
	width: 100% !important;
	margin-top: 6px !important;
}

.gsc-page .gsc-btn__icon,
.gsc-form-card .gsc-btn__icon {
	display: inline-flex !important;
	align-items: center !important;
	font-size: 18px !important;
	color: #fff !important;
	line-height: 1 !important;
}

.gsc-form-card .gsc-btn[disabled],
.gsc-page .gsc-btn[disabled] {
	opacity: .65 !important;
	cursor: not-allowed;
}

/* دکمه‌ی متنیِ «حذف عکس» نباید شبیه دکمه‌ی قالب شود */
.gsc-form-card .gsc-drop__remove,
.gsc-page .gsc-drop__remove {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #c0392b !important;
	padding: 0 !important;
	font-size: 12.5px !important;
	font-weight: 400 !important;
	text-decoration: underline;
	width: auto !important;
	min-height: 0 !important;
}

/* ==========================================================================
   فیلد شماره موبایل
   ========================================================================== */

.gsc-form-card #gsc-mobile,
.gsc-page #gsc-mobile {
	direction: ltr !important;
	text-align: right;
	letter-spacing: .5px;
	font-variant-numeric: tabular-nums;
}

.gsc-form-card .gsc-hint,
.gsc-page .gsc-hint {
	display: block;
	margin: 6px 2px 0;
	font-size: 11.5px;
	color: var(--gsc-body);
	opacity: .85;
}

.gsc-form-card .gsc-input-wrap.is-valid,
.gsc-page .gsc-input-wrap.is-valid {
	border-color: var(--gsc-green);
	background: var(--gsc-green-tint);
}

.gsc-form-card .gsc-input-wrap.has-error .gsc-icon,
.gsc-page .gsc-input-wrap.has-error .gsc-icon {
	color: #c0392b !important;
}

/* وقتی خطا نمایش داده می‌شود، راهنما تکراری است */
.gsc-form-card .gsc-field:has(.gsc-error:not(:empty)) .gsc-hint,
.gsc-page .gsc-field:has(.gsc-error:not(:empty)) .gsc-hint {
	display: none;
}

/* ==========================================================================
   فشرده‌سازی موبایل (نسخه ۱.۳.۰)
   انتهای فایل قرار دارد تا از قوانین !important بالا قوی‌تر باشد.
   هدف: کوتاه‌کردن طول صفحه در «فرایند مشاوره» و بخش پایانی.
   ========================================================================== */

@media (max-width: 680px) {

	/* ---------- کارت‌های خدمات: دو ستونه به‌جای ۵ کارت زیر هم ---------- */

	.gsc-page .gsc-grid--5 {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	/* اگر کارت آخر تنها ماند، تمام عرض را بگیرد */
	.gsc-page .gsc-grid--5 > .gsc-feature:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.gsc-page .gsc-feature {
		padding: 18px 12px;
	}

	.gsc-page .gsc-feature__icon {
		width: 46px !important;
		height: 46px !important;
		font-size: 20px !important;
		margin-bottom: 10px;
	}

	.gsc-page .gsc-feature h3 {
		font-size: 14px;
	}

	.gsc-page .gsc-feature p {
		font-size: 12px;
		line-height: 1.75;
	}

	/* ---------- فرایند مشاوره: ردیف‌های افقی فشرده ---------- */

	.gsc-page .gsc-process {
		gap: 20px;
	}

	.gsc-page .gsc-steps {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.gsc-page .gsc-step {
		display: grid;
		grid-template-columns: 46px auto 1fr;
		grid-template-areas:
			"icon num  title"
			"icon text text";
		align-items: center;
		column-gap: 10px;
		row-gap: 3px;
		text-align: start;
		background: #fff;
		border: 1px solid var(--gsc-line);
		border-radius: var(--gsc-radius-sm);
		padding: 12px 14px;
	}

	.gsc-page .gsc-step__icon {
		grid-area: icon;
		width: 46px !important;
		height: 46px !important;
		font-size: 21px !important;
		margin: 0;
	}

	.gsc-page .gsc-step__num {
		grid-area: num;
		width: 22px;
		height: 22px;
		font-size: 12px;
		margin: 0;
	}

	.gsc-page .gsc-step h3 {
		grid-area: title;
		margin: 0;
		font-size: 14px;
	}

	.gsc-page .gsc-step p {
		grid-area: text;
		margin: 0;
		font-size: 12px;
		line-height: 1.7;
	}

	/* ---------- بخش پایانی: فراخوان + نشان‌ها ---------- */

	.gsc-page .gsc-cta {
		padding: 30px 18px;
	}

	.gsc-page .gsc-cta h2 {
		margin-bottom: 18px;
		line-height: 1.7;
	}

	.gsc-page .gsc-trust {
		grid-template-columns: repeat(2, 1fr);
		gap: 18px 12px;
		margin-top: 26px;
	}

	.gsc-page .gsc-trust li span {
		font-size: 22px !important;
		margin-bottom: 6px;
	}

	.gsc-page .gsc-trust strong {
		font-size: 13px;
	}

	.gsc-page .gsc-trust em {
		font-size: 12px;
	}
}

/* گوشی‌های خیلی باریک */
@media (max-width: 380px) {

	.gsc-page .gsc-step {
		column-gap: 8px;
		padding: 10px 12px;
	}

	.gsc-page .gsc-trust {
		gap: 14px 10px;
	}
}

/* ==========================================================================
   اصلاح عکس‌ها (نسخه ۱.۴.۱)
   انتهای فایل است تا از تمام قوانین !important بالاتر قوی‌تر باشد.
   ========================================================================== */

/**
 * مهم‌ترین رفع باگ:
 * `.gsc-drop__inner` و `.gsc-drop__preview` با display:flex تعریف شده بودند و
 * چون استایل نویسنده همیشه از استایل پیش‌فرض مرورگر برای [hidden] قوی‌تر است،
 * ویژگی hidden هیچ اثری نداشت. نتیجه: بعد از آپلود عکس، هم متن «برای آپلود کلیک
 * کنید» می‌ماند و هم پیش‌نمایش ظاهر می‌شد و کادر به‌هم می‌ریخت.
 */
.gsc-page [hidden],
.gsc-form-card [hidden] {
	display: none !important;
}

/* ---------- پیش‌نمایش عکس آپلودشده ---------- */

.gsc-form-card .gsc-drop__preview,
.gsc-page .gsc-drop__preview {
	display: flex;
	align-items: center;
	gap: 14px;
	text-align: right;
}

.gsc-form-card .gsc-drop__preview[hidden],
.gsc-page .gsc-drop__preview[hidden],
.gsc-form-card .gsc-drop__inner[hidden],
.gsc-page .gsc-drop__inner[hidden] {
	display: none !important;
}

/* قالب‌ها معمولاً img { width:100% } دارند و بندانگشتی را غول‌پیکر می‌کنند */
.gsc-form-card .gsc-drop__preview img,
.gsc-page .gsc-drop__preview img {
	display: block !important;
	flex: 0 0 auto !important;
	width: 84px !important;
	height: 84px !important;
	min-width: 0 !important;
	max-width: 84px !important;
	max-height: 84px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover !important;
	border-radius: 10px !important;
	border: 1px solid var(--gsc-line) !important;
	box-shadow: none !important;
	background: #fff;
}

/* در گوشی، پیش‌نمایش عمودی می‌شود تا نام فایل جا شود */
@media (max-width: 420px) {

	.gsc-form-card .gsc-drop__preview,
	.gsc-page .gsc-drop__preview {
		flex-direction: column;
		text-align: center;
		gap: 10px;
	}

	.gsc-form-card .gsc-drop__preview img,
	.gsc-page .gsc-drop__preview img {
		width: 120px !important;
		height: 120px !important;
		max-width: 120px !important;
		max-height: 120px !important;
		margin-inline: auto !important;
	}
}

/* ---------- عکس بخش «فرایند مشاوره» ---------- */

.gsc-page .gsc-process__media img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--gsc-radius) !important;
	margin: 0 !important;
}

.gsc-page .gsc-media-placeholder {
	position: relative;
	overflow: hidden;
	background: linear-gradient(140deg, var(--gsc-green-soft), var(--gsc-green-tint));
	border: 1px solid var(--gsc-line);
	color: var(--gsc-green);
}

.gsc-page .gsc-media-placeholder svg {
	width: 54px !important;
	height: 54px !important;
	opacity: .45;
}

.gsc-page .gsc-media-placeholder small {
	display: block;
	margin-top: 10px;
	font-size: 11.5px;
	color: var(--gsc-body);
	line-height: 1.8;
}

/* ---------- عکس پس‌زمینه‌ی باکس پایانی ---------- */

/* لایه‌ی خوانایی باید در همه‌ی اندازه‌ها به‌اندازه‌ی کافی مات باشد */
.gsc-page .gsc-cta::before {
	background: linear-gradient(90deg, rgba(246, 250, 244, .86), rgba(246, 250, 244, .95) 28%, rgba(246, 250, 244, .95) 72%, rgba(246, 250, 244, .86));
}

@media (max-width: 680px) {

	.gsc-page .gsc-cta::before {
		background: rgba(246, 250, 244, .92);
	}
}

/* ---------- ایمنی کلی برای هر عکسی داخل افزونه ---------- */

.gsc-page img,
.gsc-form-card img {
	max-width: 100%;
	height: auto;
}

/* ==========================================================================
   اصلاحات نسخه ۱.۴.۲ — انتهای فایل تا از استایل قالب و صفحه‌ساز قوی‌تر باشد
   ========================================================================== */

/* ۱) عکس هیرو کل سکشن بالا را بگیرد (نه فقط سمت فرم) */
.gsc-page .gsc-hero {
	position: relative;
	overflow: hidden;
}

.gsc-page .gsc-hero__bg {
	position: absolute !important;
	inset: 0 !important;
	width: auto !important;
	height: auto !important;
	background-size: cover !important;
	background-position: var(--gsc-hero-pos, center) !important;
	background-repeat: no-repeat !important;
}

.gsc-page .gsc-hero__grid {
	position: relative;
	z-index: 1;
}

/* ۲) باکس «مشاوره رایگان» روی صورت کارشناس نیفتد */
.gsc-page .gsc-bubble {
	top: auto;
	bottom: 18px;
	left: auto;
	right: 16px;
}

@media (max-width: 680px) {

	.gsc-page .gsc-bubble {
		position: static;
		inset: auto;
		max-width: none;
		margin-top: 12px;
	}
}

/* ==========================================================================
   اصلاحات نسخه ۱.۴.۳ — موبایل
   انتهای فایل است تا از همه‌ی قوانین بالا (و استایل قالب) قوی‌تر باشد.

   ۱) دیده‌شدن عکس هیرو در موبایل
      مشکل: در موبایل ستون‌ها روی هم می‌رفتند و ارتفاع سکشن به ۱۲۰۰~۱۵۰۰ پیکسل
      می‌رسید. عکس با background-size:cover مجبور می‌شد آن قاب بلندِ باریک را پر
      کند، یعنی حدود ۵ برابر بزرگ می‌شد و فقط یک نوار عمودی از وسطش دیده می‌شد؛
      آن هم زیر پرده‌ی شیریِ ۰٫۸ . نتیجه یک سطح یکدست سبزِ کم‌رنگ بود.
      راه‌حل: در موبایل عکس یک «نوار» بالای سکشن می‌شود با نسبت نزدیک به نسبت
      خودِ فایل (پس تقریباً بدون برش)، پرده‌ی سبک‌تر، و محو‌شدن نرم در پایین.
   ========================================================================== */

@media (max-width: 680px) {

	.gsc-page .gsc-hero--has-img .gsc-hero__bg {
		inset: 0 0 auto 0 !important;
		height: clamp(260px, 80vw, 420px) !important;
		background-size: cover !important;
		background-position: var(--gsc-hero-pos, center) !important;
		/* محو نرم به سمت پایین تا نوار عکس لبه‌ی تیز نداشته باشد */
		-webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 56%, rgba(0, 0, 0, .45) 82%, transparent 100%);
		mask-image: linear-gradient(to bottom, #000 0%, #000 56%, rgba(0, 0, 0, .45) 82%, transparent 100%);
	}

	/* پرده‌ی خوانایی سبک‌تر از نسخه‌ی قبل تا خود عکس دیده شود */
	.gsc-page .gsc-hero--has-img .gsc-hero__bg::after {
		background: linear-gradient(to bottom,
				rgba(255, 255, 255, calc(var(--gsc-hero-veil, .58) - .10)) 0%,
				rgba(255, 255, 255, calc(var(--gsc-hero-veil, .58) - .18)) 55%,
				rgba(255, 255, 255, calc(var(--gsc-hero-veil, .58) + .04)) 100%);
	}

	/* عنوان و متن روی عکس می‌نشینند، پس هاله‌ی سفیدشان کمی قوی‌تر */
	.gsc-page .gsc-hero--has-img .gsc-hero__intro {
		text-shadow: 0 1px 2px rgba(255, 255, 255, .92), 0 0 20px rgba(255, 255, 255, .8);
	}

	/* ---------- ۲) سه مزیت بالای فرم: هر سه در یک ردیف ---------- */

	.gsc-page .gsc-usps {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 10px !important;
		align-items: start;
	}

	.gsc-page .gsc-usp {
		min-width: 0;
	}

	.gsc-page .gsc-usp__icon {
		width: 46px !important;
		height: 46px !important;
		font-size: 20px !important;
		margin-bottom: 8px !important;
	}

	.gsc-page .gsc-usp strong {
		font-size: 12.5px;
		line-height: 1.5;
	}

	.gsc-page .gsc-usp span {
		font-size: 11px;
		line-height: 1.6;
	}
}

/* گوشی‌های باریک: کمی جمع‌وجورتر تا سه ستون نشکند */
@media (max-width: 360px) {

	.gsc-page .gsc-usps {
		gap: 6px !important;
	}

	.gsc-page .gsc-usp__icon {
		width: 40px !important;
		height: 40px !important;
		font-size: 18px !important;
	}

	.gsc-page .gsc-usp strong {
		font-size: 11.5px;
	}

	.gsc-page .gsc-usp span {
		font-size: 10.5px;
	}
}

/* مرورگرهای بدون پشتیبانی mask: به‌جای محو، پرده‌ی پایین را مات‌تر می‌کنیم */
@supports not ((-webkit-mask-image: linear-gradient(#000, transparent)) or (mask-image: linear-gradient(#000, transparent))) {

	@media (max-width: 680px) {

		.gsc-page .gsc-hero--has-img .gsc-hero__bg::after {
			background: linear-gradient(to bottom,
					rgba(255, 255, 255, calc(var(--gsc-hero-veil, .58) - .10)) 0%,
					rgba(255, 255, 255, calc(var(--gsc-hero-veil, .58) - .10)) 60%,
					rgba(246, 250, 244, .98) 100%);
		}
	}
}
