/* ==========================================================================
   حسابداران برتر - استایل اصلی قالب
   ========================================================================== */

:root,
.editor-styles-wrapper {
	--hb-navy: #062f57;
	--hb-navy-2: #0a4476;
	--hb-blue: #0c67b2;
	--hb-green: #1fc759;
	--hb-green-dark: #16a34a;
	--hb-bg: #f5f8fb;
	--hb-surface: #ffffff;
	--hb-text: #0d2742;
	--hb-muted: #60748a;
	--hb-border: #d9e4ee;
	--hb-radius: 18px;
}

html {
	scroll-behavior: smooth;
}

body,
.editor-styles-wrapper {
	direction: rtl;
	text-align: right;
	color: var(--hb-text);
	line-height: 1.8;
	overflow-wrap: break-word;
}

.wp-site-blocks > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* صفحه فرود: بخش‌ها باید تمام‌عرض باشند و پس‌زمینه‌شان تا لبه صفحه کشیده شود.
   المان‌های داخل هر بخش همچنان تا ۱۱۸۰ پیکسل وسط‌چین می‌مانند. */
.hb-main,
.hb-main > .wp-block-post-content {
	max-width: none;
	width: 100%;
	margin-inline: 0;
	padding-inline: 0;
}

.hb-main > .wp-block-post-content > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.hb-main > .wp-block-post-content > .alignfull,
.hb-main > .wp-block-post-content > .hb-section,
.hb-main > .wp-block-post-content > .hb-hero {
	max-width: none;
	width: 100%;
	margin-inline: 0;
}

a {
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

:where(a:focus-visible),
:where(button:focus-visible),
:where(summary:focus-visible),
:where(input:focus-visible),
:where(select:focus-visible),
:where(textarea:focus-visible) {
	outline: 3px solid var(--hb-green);
	outline-offset: 2px;
}

img,
svg {
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------------------------------
   بخش‌ها (Sections)
   -------------------------------------------------------------------------- */

.hb-section {
	padding: 72px 16px;
}

.hb-section--white {
	background: #fff;
}

.hb-section--navy {
	background: linear-gradient(135deg, #042847, #073e6d);
	color: #fff;
}

.hb-section--navy .hb-h2,
.hb-section--navy h1,
.hb-section--navy h2,
.hb-section--navy h3,
.hb-section--navy h4,
.hb-section--navy strong {
	color: #fff;
}

.hb-wrap {
	width: min(1180px, 100%);
	margin-inline: auto;
}

.hb-center {
	text-align: center;
}

.hb-section-head {
	margin-bottom: 16px;
}

.hb-section-head > * + * {
	margin-block-start: 10px !important;
}

.hb-eyebrow {
	font-size: 14px;
	font-weight: 800;
	color: var(--hb-green);
	margin: 0 0 8px;
}

.hb-h2 {
	font-size: clamp(28px, 3.2vw, 44px);
	line-height: 1.35;
	margin: 0 0 14px;
	font-weight: 900;
}

.hb-lead {
	font-size: 18px;
	color: var(--hb-muted);
	max-width: 760px;
	margin: 0 auto 12px;
}

.hb-center .hb-lead {
	margin-inline: auto;
}

.hb-lead--start {
	margin-inline-start: 0;
}

.hb-section--navy .hb-lead {
	color: #dce8f3;
}

/* --------------------------------------------------------------------------
   شبکه‌ها (Grids)
   -------------------------------------------------------------------------- */

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

.hb-grid > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	max-width: none !important;
}

.hb-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hb-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hb-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hb-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* --------------------------------------------------------------------------
   کارت‌ها
   -------------------------------------------------------------------------- */

.hb-card {
	background: #fff;
	border: 1px solid var(--hb-border);
	border-radius: var(--hb-radius);
	padding: 24px;
	box-shadow: 0 8px 24px rgba(6, 47, 87, .05);
}

.hb-card > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.hb-card h2,
.hb-card h3,
.hb-card h4 {
	margin: 8px 0 10px;
	font-size: 20px;
}

.hb-card p {
	margin: 0;
	color: var(--hb-muted);
}

.hb-icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: #edf6ff;
	color: var(--hb-blue);
	font-size: 25px;
	font-weight: 900;
	margin: 0;
	line-height: 1;
}

.hb-benefit,
.hb-audience-card {
	text-align: center;
}

.hb-benefit .hb-icon,
.hb-audience-card .hb-icon {
	margin-inline: auto;
}

.hb-audience-card {
	padding: 20px 14px;
}

.hb-audience-card h3 {
	font-size: 17px;
}

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

.wp-block-button__link,
.wp-element-button,
.hb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 24px;
	border-radius: 13px;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.3;
	border: 1px solid transparent;
	background: var(--hb-green);
	color: #052c18;
	transition: transform .2s ease, background-color .2s ease;
	text-decoration: none;
	cursor: pointer;
}

.wp-block-button__link:hover,
.hb-btn:hover {
	transform: translateY(-1px);
	text-decoration: none;
	color: #052c18;
}

.hb-btn--primary .wp-block-button__link {
	background: var(--hb-green);
	color: #052c18;
}

.hb-btn--outline .wp-block-button__link {
	background: rgba(255, 255, 255, .04);
	border-color: #8fb4d5;
	color: #fff;
}

.hb-btn--outline .wp-block-button__link:hover {
	background: rgba(255, 255, 255, .12);
	color: #fff;
}

.hb-btn--navy .wp-block-button__link {
	background: var(--hb-navy);
	color: #fff;
}

.hb-btn--navy .wp-block-button__link:hover {
	background: var(--hb-navy-2);
	color: #fff;
}

.hb-btn--block,
.hb-btn--block .wp-block-button__link {
	width: 100%;
}

.hb-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.hb-actions > * {
	margin-block-start: 0 !important;
}

/* --------------------------------------------------------------------------
   سربرگ
   -------------------------------------------------------------------------- */

/* سربرگ در همه اندازه‌ها (موبایل، تبلت و دسکتاپ) بالای صفحه چسبان می‌ماند */
.wp-site-blocks > header {
	position: sticky;
	top: 0;
	z-index: 40;
	box-shadow: 0 2px 10px rgba(6, 47, 87, .08);
}

/* با نوار مدیریت وردپرس تداخل نکند */
.admin-bar .wp-site-blocks > header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .wp-site-blocks > header {
		top: 46px;
	}
}

/* لینک‌های داخلی زیر سربرگ چسبان پنهان نشوند */
.hb-hero[id],
.hb-section[id] {
	scroll-margin-top: 88px;
}

.hb-header {
	background: #fff;
	border-bottom: 1px solid var(--hb-border);
	position: relative;
	z-index: 5;
}

.hb-header__in {
	min-height: 72px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 10px 16px;
	width: min(1180px, 100%);
	margin-inline: auto;
	flex-wrap: nowrap;
}

.hb-header__in > * {
	margin-block-start: 0 !important;
}

.hb-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: max-content;
}

.hb-brand > * {
	margin-block-start: 0 !important;
}

.hb-brand .wp-block-site-logo img {
	width: 52px;
	height: auto;
	border-radius: 12px;
}

.hb-brand__text > * {
	margin-block-start: 0 !important;
}

.hb-brand__name,
.hb-brand__name a {
	font-weight: 900;
	font-size: 18px;
	color: var(--hb-navy);
	margin: 0;
	line-height: 1.4;
}

.hb-brand__sub {
	font-size: 11px;
	color: var(--hb-muted);
	margin: -2px 0 0;
	line-height: 1.5;
}

.hb-nav {
	font-size: 14px;
	font-weight: 700;
}

.hb-nav a,
.hb-nav .wp-block-navigation-item__content {
	color: #203e5b;
	font-weight: 700;
}

.hb-header__cta {
	min-width: max-content;
}

/* دکمه باز/بسته کردن منو در موبایل: هدف لمسی استاندارد.
   ویژگی display عمداً تنظیم نشده تا قاعده خود وردپرس
   (نمایش فقط زیر ۶۰۰ پیکسل) دست‌نخورده بماند. */
.hb-header .wp-block-navigation__responsive-container-open,
.hb-header .wp-block-navigation__responsive-container-close {
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
}

.hb-header__cta .wp-block-button__link {
	min-height: 44px;
	font-size: 14px;
	padding: 0 18px;
}

/* منوی کشویی موبایل: فونت درشت‌تر و ناحیه لمسی بزرگ‌تر */
.wp-block-navigation__responsive-container.is-menu-open {
	direction: rtl;
	text-align: right;
	/* important لازم است: قاعده هسته وردپرس برای این padding از clamp() با متغیر
	   --wp--style--root--padding-right استفاده می‌کند که در این قالب تعریف نشده،
	   بنابراین آن اعلان نامعتبر می‌شود و padding را به صفر می‌رساند. */
	padding: 28px 24px !important;
}

/* دکمه بستن منو در حالت راست‌چین باید سمت چپ و با فاصله از لبه باشد */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	right: auto;
	left: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 4px;
	align-items: stretch;
	width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--hb-border);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child {
	border-bottom: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 54px;
	padding: 14px 8px;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.6;
	color: var(--hb-navy);
}

.hb-header .wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg {
	width: 30px;
	height: 30px;
}

.wp-block-navigation__responsive-container-close {
	min-width: 48px;
	min-height: 48px;
}

/* ستون کامل‌قد داخل منو تا پاورقی به پایین صفحه بچسبد */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
}

/* پاورقی منوی موبایل: دکمه بستن و لوگوی سایت.
   فقط وقتی منوی همبرگری باز است دیده می‌شود؛ در تبلت و دسکتاپ که منو به شکل
   افقی نمایش داده می‌شود، کاملا پنهان است. */
.hb-menu-footer {
	display: none;
}

.wp-block-navigation__responsive-container.is-menu-open .hb-menu-footer {
	display: flex;
	margin-top: auto;
	width: 100%;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	padding-top: 32px;
	padding-bottom: 28px;
}

.hb-menu-close {
	width: 100%;
	max-width: 320px;
	min-height: 52px;
	padding: 0 20px;
	border-radius: 13px;
	border: 1px solid var(--hb-border);
	background: #f3f7fb;
	color: var(--hb-navy);
	font: inherit;
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hb-menu-close:hover {
	background: #e8f0f7;
}

.hb-menu-logo {
	display: block;
	line-height: 0;
}

.hb-menu-logo img {
	max-height: 58px;
	width: auto;
	display: block;
}

/* --------------------------------------------------------------------------
   دکمه بازگشت به بالای صفحه
   -------------------------------------------------------------------------- */

.hb-to-top {
	position: fixed;
	bottom: 24px;
	left: 20px;
	right: auto;
	z-index: 35;
	width: 48px;
	height: 48px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid var(--hb-border);
	background: #fff;
	color: var(--hb-navy);
	box-shadow: 0 8px 24px rgba(6, 47, 87, .18);
	display: grid;
	place-items: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.hb-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.hb-to-top:hover {
	background: var(--hb-navy);
	color: #fff;
	border-color: var(--hb-navy);
}

.hb-to-top svg {
	width: 22px;
	height: 22px;
	fill: currentColor;
	display: block;
}

/* --------------------------------------------------------------------------
   هیرو
   -------------------------------------------------------------------------- */

.hb-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
	padding: 54px 16px;
	background:
		radial-gradient(circle at 85% 20%, rgba(31, 199, 89, .16), transparent 28%),
		radial-gradient(circle at 15% 85%, rgba(53, 146, 219, .18), transparent 30%),
		linear-gradient(135deg, #052b4d 0%, #063b67 56%, #082e4d 100%);
}

.hb-hero h1,
.hb-hero h2,
.hb-hero h3,
.hb-hero p,
.hb-hero strong {
	color: #fff;
}

.hb-hero__in {
	gap: 42px;
	align-items: center;
}

.hb-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #bff8ce;
	border: 1px solid rgba(31, 199, 89, .35);
	background: rgba(31, 199, 89, .09);
	border-radius: 999px;
	padding: 8px 14px;
	font-weight: 800;
	font-size: 13px;
	margin: 0;
}

.hb-hero__title {
	font-size: clamp(44px, 5.7vw, 78px);
	line-height: 1.12;
	margin: 12px 0 10px;
	font-weight: 900;
}

.hb-hero__subtitle {
	font-size: clamp(22px, 2.5vw, 32px);
	font-weight: 900;
	margin: 0 0 8px;
}

.hb-hero__subtitle mark {
	background: transparent;
	color: #45e77a;
}

.hb-hero__slogan {
	font-size: 22px;
	font-weight: 800;
	margin: 0 0 16px;
	color: #eff7ff;
}

.hb-hero__text {
	font-size: 16px;
	color: #d7e5f1;
	max-width: 690px;
	margin: 0 0 24px;
}

.hb-hero__facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 20px 0 14px;
}

.hb-hero__facts > * {
	margin-block-start: 0 !important;
}

.hb-chip {
	display: flex;
	gap: 10px;
	align-items: center;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 14px;
	padding: 12px 14px;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	font-weight: 800;
	font-size: 14px;
	margin: 0;
}

.hb-hero__location {
	font-weight: 800;
	color: #d8e9f6;
	margin: 10px 0 20px;
}

.hb-hero__visual {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	align-items: end;
}

.hb-hero__visual > * {
	margin-block-start: 0 !important;
}

.hb-person {
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04));
	overflow: hidden;
	padding: 0;
}

.hb-person > * {
	margin-block-start: 0 !important;
}

.hb-person figure,
.hb-person .wp-block-image,
.hb-person__photo {
	margin: 0;
	line-height: 0;
}

.hb-person img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.hb-person__meta {
	padding: 14px 16px;
	background: rgba(3, 28, 50, .72);
}

.hb-person__meta > * {
	margin-block-start: 0 !important;
}

.hb-person__name {
	font-size: 18px;
	font-weight: 900;
	color: #fff;
	margin: 0;
}

.hb-person__role {
	font-size: 13px;
	color: #d3e0eb;
	margin: 0;
}

.hb-video-card {
	grid-column: 1 / -1;
	min-height: 110px;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, .18);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	background: rgba(255, 255, 255, .06);
	font-weight: 900;
	color: #fff;
	padding: 16px;
}

.hb-video-card > * {
	margin-block-start: 0 !important;
}

.hb-video-card a {
	/* فقط رنگ و ضخامت متن؛ پس‌زمینه و حاشیه کارت دست‌نخورده است */
	color: #45e77a;
	font-weight: 900;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.hb-video-card p {
	margin: 0;
}

/* --------------------------------------------------------------------------
   مسیر یادگیری
   -------------------------------------------------------------------------- */

.hb-roadmap {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	align-items: stretch;
}

.hb-roadmap > * {
	margin-block-start: 0 !important;
	max-width: none !important;
}

.hb-step {
	background: #fff;
	border: 1px solid #dce7f0;
	border-radius: 16px;
	padding: 20px 14px;
	text-align: center;
	min-height: 150px;
}

.hb-step > * {
	margin-block-start: 0 !important;
}

.hb-step__num {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	margin: 0 auto 10px;
	background: var(--hb-blue);
	color: #fff;
	font-weight: 900;
	line-height: 1;
}

.hb-step--last .hb-step__num {
	background: var(--hb-green-dark);
}

.hb-step h3 {
	font-size: 16px;
	margin: 0;
}

.hb-roadmap-note {
	margin-top: 18px;
	font-size: 18px;
	font-weight: 900;
	color: var(--hb-navy);
}

/* --------------------------------------------------------------------------
   بخش هوش مصنوعی
   -------------------------------------------------------------------------- */

.hb-ai .hb-card {
	background: rgba(255, 255, 255, .06);
	border-color: rgba(255, 255, 255, .14);
	box-shadow: none;
	color: #fff;
}

.hb-ai .hb-card h3 {
	color: #fff;
	font-size: 18px;
}

.hb-ai .hb-card p {
	color: #d7e5f1;
}

.hb-ai__features {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 24px;
}

.hb-ai__photo {
	border-radius: 22px;
	border: 1px solid rgba(255, 255, 255, .16);
	overflow: hidden;
	margin: 0;
}

.hb-ai__photo img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* --------------------------------------------------------------------------
   مدرسین
   -------------------------------------------------------------------------- */

.hb-instructor {
	display: grid;
	grid-template-columns: 170px 1fr;
	gap: 22px;
	align-items: center;
}

.hb-instructor > * {
	margin-block-start: 0 !important;
	max-width: none !important;
}

.hb-instructor__photo {
	margin: 0;
}

.hb-instructor__photo img {
	border-radius: 16px;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.hb-instructor__body > * {
	margin-block-start: 0 !important;
}

.hb-placeholder-list {
	margin: 12px 0 0;
	padding-inline-start: 18px;
	color: var(--hb-muted);
}

.hb-placeholder-list li {
	margin: 7px 0;
}

/* --------------------------------------------------------------------------
   آکاردئون سرفصل‌ها و سوالات متداول
   -------------------------------------------------------------------------- */

.hb-accordion {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.hb-accordion > *,
.hb-faq > * {
	margin-block-start: 0 !important;
	max-width: none !important;
}

.hb-accordion .wp-block-details,
.hb-faq .wp-block-details {
	background: #fff;
	border: 1px solid var(--hb-border);
	border-radius: 12px;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.hb-accordion summary,
.hb-faq summary {
	list-style: none;
	cursor: pointer;
	padding: 15px 16px;
	font-weight: 800;
	color: var(--hb-navy);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.hb-accordion summary::-webkit-details-marker,
.hb-faq summary::-webkit-details-marker {
	display: none;
}

.hb-accordion summary::after,
.hb-faq summary::after {
	content: "+";
	font-size: 22px;
	color: var(--hb-blue);
	line-height: 1;
	flex: 0 0 auto;
}

.hb-accordion details[open] summary::after,
.hb-faq details[open] summary::after {
	content: "–";
}

.hb-accordion .wp-block-details p,
.hb-faq .wp-block-details p {
	padding: 0 16px 16px;
	margin: 0;
	color: var(--hb-muted);
}

.hb-faq {
	display: grid;
	gap: 10px;
}

/* --------------------------------------------------------------------------
   شیوه برگزاری و مدرک
   -------------------------------------------------------------------------- */

.hb-plan ul,
.hb-cert ul {
	margin: 14px 0 0;
	padding-inline-start: 18px;
	color: var(--hb-muted);
}

.hb-plan li,
.hb-cert li {
	margin: 7px 0;
}

.hb-plan__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.hb-plan__title > * {
	margin-block-start: 0 !important;
}

.hb-plan__title h3 {
	margin: 0;
}

.hb-plan__meta {
	font-size: 14px;
	color: var(--hb-muted);
	margin: 0;
}

/* --------------------------------------------------------------------------
   گالری
   -------------------------------------------------------------------------- */

.hb-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.hb-gallery > * {
	margin-block-start: 0 !important;
	max-width: none !important;
}

.hb-gallery figure,
.hb-gallery .wp-block-image {
	margin: 0;
}

.hb-gallery img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 16px;
	border: 1px solid #dbe6ef;
}

/* --------------------------------------------------------------------------
   نظرات
   -------------------------------------------------------------------------- */

.hb-testimonial {
	min-height: 180px;
}

.hb-testimonial__name {
	display: block;
	margin: 0 0 8px;
	font-weight: 900;
	color: var(--hb-text);
}

/* --------------------------------------------------------------------------
   شهریه
   -------------------------------------------------------------------------- */

.hb-pricing {
	align-items: stretch;
}

.hb-price-card--featured {
	border: 2px solid rgba(31, 199, 89, .65);
	box-shadow: 0 16px 36px rgba(31, 199, 89, .10);
}

.hb-price-card__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.hb-price-card__head > * {
	margin-block-start: 0 !important;
}

.hb-price-card__head h3 {
	margin: 0;
}

.hb-price-card__start {
	font-size: 14px;
	color: var(--hb-muted);
	margin: 0;
}

.hb-price-card__amount {
	font-size: 32px;
	font-weight: 900;
	color: var(--hb-navy);
	margin: 6px 0 2px;
}

.hb-price-card__label {
	font-size: 13px;
	color: var(--hb-muted);
	margin: 0;
}

.hb-price-row {
	background: #f6f9fc;
	border-radius: 12px;
	padding: 12px 14px;
	margin-top: 12px;
}

.hb-price-row > * {
	margin-block-start: 0 !important;
}

.hb-price-row strong,
.hb-price-row__value {
	display: block;
	font-weight: 900;
	color: var(--hb-text);
	margin: 0;
}

/* --------------------------------------------------------------------------
   فرم مشاوره
   -------------------------------------------------------------------------- */

.hb-form-box {
	background: #fff;
	border: 1px solid var(--hb-border);
	border-radius: var(--hb-radius);
	padding: 24px;
	box-shadow: 0 8px 24px rgba(6, 47, 87, .05);
}

.hb-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.hb-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.hb-field--full {
	grid-column: 1 / -1;
}

.hb-field label {
	font-size: 13px;
	font-weight: 800;
}

.hb-field input,
.hb-field select,
.hb-field textarea {
	width: 100%;
	min-height: 48px;
	border-radius: 10px;
	border: 1px solid #cbd9e5;
	background: #fff;
	padding: 10px 12px;
	font: inherit;
	color: var(--hb-text);
}

.hb-help {
	font-size: 12px;
	color: var(--hb-muted);
	margin-top: 10px;
}

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

.hb-notice {
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 14px;
	font-weight: 700;
}

.hb-notice--ok {
	background: #e8f8ee;
	border: 1px solid #a9e5c0;
	color: #14532d;
}

.hb-notice--err {
	background: #fdecec;
	border: 1px solid #f3bcbc;
	color: #7f1d1d;
}

/* --------------------------------------------------------------------------
   سازگاری کامل با WPForms (و پشتیبانی پایه از Contact Form 7 و Gravity Forms)

   نکته: قواعد WPForms با گزینشگرهای پرقدرتی مثل
   div.wpforms-container-full .wpforms-form .wpforms-field-medium نوشته شده‌اند
   و بعد از استایل قالب هم بارگذاری می‌شوند، بنابراین اینجا از important
   استفاده شده است تا فرم از کادر خودش بیرون نزند و راست‌چین بماند.
   -------------------------------------------------------------------------- */

.wpforms-container,
.wpforms-container-full,
div.wpforms-container-full .wpforms-form {
	direction: rtl !important;
	text-align: right !important;
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	font-family: inherit !important;
}

.hb-form-box .wpforms-container {
	margin: 0 !important;
}

/* هر فیلد */
div.wpforms-container-full .wpforms-form .wpforms-field {
	padding: 0 0 14px !important;
	clear: both !important;
	max-width: 100% !important;
}

/* برچسب فیلد */
div.wpforms-container-full .wpforms-form .wpforms-field-label {
	display: block !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	color: var(--hb-text) !important;
	text-align: right !important;
	margin: 0 0 7px !important;
	line-height: 1.7 !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-sublabel {
	font-size: 12px !important;
	color: var(--hb-muted) !important;
	text-align: right !important;
	margin: 4px 0 0 !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-description {
	font-size: 12px !important;
	color: var(--hb-muted) !important;
	text-align: right !important;
	margin: 6px 0 0 !important;
	line-height: 1.8 !important;
}

div.wpforms-container-full .wpforms-form .wpforms-required-label {
	color: #d33 !important;
	margin-inline-start: 3px !important;
}

/* ورودی‌ها: همیشه تمام‌عرض کادر، هرگز بیرون‌زدگی */
div.wpforms-container-full .wpforms-form input[type="text"],
div.wpforms-container-full .wpforms-form input[type="email"],
div.wpforms-container-full .wpforms-form input[type="tel"],
div.wpforms-container-full .wpforms-form input[type="url"],
div.wpforms-container-full .wpforms-form input[type="number"],
div.wpforms-container-full .wpforms-form input[type="password"],
div.wpforms-container-full .wpforms-form input[type="search"],
div.wpforms-container-full .wpforms-form input[type="date"],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	min-height: 48px !important;
	border-radius: 10px !important;
	border: 1px solid #cbd9e5 !important;
	background-color: #fff !important;
	padding: 10px 12px !important;
	font: inherit !important;
	font-size: 15px !important;
	color: var(--hb-text) !important;
	direction: rtl !important;
	text-align: right !important;
	box-shadow: none !important;
}

/* اندازه‌های داخلی WPForms نباید عرض را محدود کنند */
div.wpforms-container-full .wpforms-form .wpforms-field-small,
div.wpforms-container-full .wpforms-form .wpforms-field-medium,
div.wpforms-container-full .wpforms-form .wpforms-field-large {
	max-width: 100% !important;
	width: 100% !important;
}

div.wpforms-container-full .wpforms-form textarea {
	min-height: 110px !important;
	line-height: 1.9 !important;
	resize: vertical !important;
}

div.wpforms-container-full .wpforms-form select {
	background-image: none !important;
	appearance: auto;
}

div.wpforms-container-full .wpforms-form input:focus,
div.wpforms-container-full .wpforms-form select:focus,
div.wpforms-container-full .wpforms-form textarea:focus {
	border-color: var(--hb-blue) !important;
	outline: 3px solid rgba(31, 199, 89, .25) !important;
	outline-offset: 1px !important;
}

div.wpforms-container-full .wpforms-form ::placeholder {
	color: #93a7b8 !important;
	opacity: 1;
}

/* ردیف‌های چندستونه (مثل نام و نام خانوادگی) روی هم می‌چینند تا
   در هیچ عرضی از کادر بیرون نزنند */
div.wpforms-container-full .wpforms-form .wpforms-field-row,
div.wpforms-container-full .wpforms-form .wpforms-field-row-block {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-row-block:last-child {
	margin-bottom: 0 !important;
}

div.wpforms-container-full .wpforms-form .wpforms-one-half,
div.wpforms-container-full .wpforms-form .wpforms-two-fifths,
div.wpforms-container-full .wpforms-form .wpforms-three-fifths,
div.wpforms-container-full .wpforms-form .wpforms-one-third,
div.wpforms-container-full .wpforms-form .wpforms-two-thirds {
	float: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* تیک و رادیو در حالت راست‌چین */
div.wpforms-container-full .wpforms-form ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

div.wpforms-container-full .wpforms-form ul li {
	margin: 0 0 10px !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

div.wpforms-container-full .wpforms-form input[type="checkbox"],
div.wpforms-container-full .wpforms-form input[type="radio"] {
	margin: 0 !important;
	width: 18px !important;
	height: 18px !important;
	min-height: 0 !important;
	flex: 0 0 auto !important;
	accent-color: var(--hb-green);
}

div.wpforms-container-full .wpforms-form ul li label {
	margin: 0 !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	cursor: pointer;
}

/* دکمه ارسال */
div.wpforms-container-full .wpforms-form .wpforms-submit-container {
	padding: 6px 0 0 !important;
	text-align: right !important;
}

div.wpforms-container-full .wpforms-form button[type="submit"],
div.wpforms-container-full .wpforms-form button.wpforms-submit {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 52px !important;
	border-radius: 13px !important;
	background-color: var(--hb-green) !important;
	color: #052c18 !important;
	font: inherit !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	border: 0 !important;
	padding: 0 20px !important;
	cursor: pointer !important;
	transition: transform .2s ease, background-color .2s ease;
}

div.wpforms-container-full .wpforms-form button[type="submit"]:hover {
	background-color: var(--hb-green-dark) !important;
	transform: translateY(-1px);
}

div.wpforms-container-full .wpforms-form button[type="submit"][disabled] {
	opacity: .65 !important;
	transform: none !important;
	cursor: not-allowed !important;
}

/* خطاها */
div.wpforms-container-full .wpforms-form label.wpforms-error,
div.wpforms-container-full .wpforms-form em.wpforms-error {
	display: block !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	color: #d33 !important;
	text-align: right !important;
	margin: 6px 0 0 !important;
}

div.wpforms-container-full .wpforms-form input.wpforms-error,
div.wpforms-container-full .wpforms-form select.wpforms-error,
div.wpforms-container-full .wpforms-form textarea.wpforms-error {
	border-color: #d33 !important;
}

div.wpforms-container-full .wpforms-error-container {
	background: #fdecec !important;
	border: 1px solid #f3bcbc !important;
	color: #7f1d1d !important;
	border-radius: 12px !important;
	padding: 12px 14px !important;
	text-align: right !important;
	direction: rtl !important;
}

/* پیام موفقیت */
.wpforms-confirmation-container,
.wpforms-confirmation-container-full,
div[submit-success] > .wpforms-confirmation-container-full {
	background: #e8f8ee !important;
	border: 1px solid #a9e5c0 !important;
	color: #14532d !important;
	border-radius: 12px !important;
	padding: 14px 16px !important;
	direction: rtl !important;
	text-align: right !important;
	font-weight: 700 !important;
	margin: 0 !important;
}

.wpforms-confirmation-container p:last-child,
.wpforms-confirmation-container-full p:last-child {
	margin: 0 !important;
}

/* تله ضد اسپم WPForms نباید فضایی بگیرد */
div.wpforms-container-full .wpforms-form .wpforms-field-hp {
	display: none !important;
}

/* عنوان و توضیح فرم اگر فعال باشند */
div.wpforms-container-full .wpforms-head-container {
	text-align: right !important;
	direction: rtl !important;
	margin-bottom: 12px !important;
}

div.wpforms-container-full .wpforms-title {
	font-size: 20px !important;
	font-weight: 900 !important;
	color: var(--hb-navy) !important;
	margin: 0 0 6px !important;
}

/* در موبایل و تبلت هم دقیقا همان رفتار، فقط کمی جمع‌وجورتر */
@media (max-width: 767px) {
	div.wpforms-container-full .wpforms-form .wpforms-field {
		padding-bottom: 12px !important;
	}

	div.wpforms-container-full .wpforms-form input[type="text"],
	div.wpforms-container-full .wpforms-form input[type="email"],
	div.wpforms-container-full .wpforms-form input[type="tel"],
	div.wpforms-container-full .wpforms-form select,
	div.wpforms-container-full .wpforms-form textarea {
		font-size: 16px !important; /* جلوگیری از زوم خودکار iOS */
	}
}

/* پشتیبانی پایه از Contact Form 7 و Gravity Forms */
.hb-form-box .wpcf7 input:not([type="submit"]),
.hb-form-box .wpcf7 select,
.hb-form-box .wpcf7 textarea,
.hb-form-box .gform_wrapper input:not([type="submit"]),
.hb-form-box .gform_wrapper select,
.hb-form-box .gform_wrapper textarea {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	min-height: 48px !important;
	border-radius: 10px !important;
	border: 1px solid #cbd9e5 !important;
	background: #fff !important;
	padding: 10px 12px !important;
	font: inherit !important;
	color: var(--hb-text) !important;
	direction: rtl;
	text-align: right;
}

.hb-form-box .wpcf7 textarea,
.hb-form-box .gform_wrapper textarea {
	min-height: 110px !important;
}

.hb-form-box .wpcf7 input[type="submit"],
.hb-form-box .gform_wrapper .gform_footer input[type="submit"] {
	width: 100% !important;
	min-height: 52px !important;
	border-radius: 13px !important;
	background: var(--hb-green) !important;
	color: #052c18 !important;
	font-weight: 900 !important;
	font-size: 16px !important;
	border: 0 !important;
	cursor: pointer;
}

/* --------------------------------------------------------------------------
   بخش پایانی و پاورقی
   -------------------------------------------------------------------------- */

.hb-final {
	padding: 58px 16px;
}

.hb-final__meta {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 16px;
}

.hb-final__meta > * {
	margin-block-start: 0 !important;
	padding: 9px 12px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 999px;
	color: #dce8f2;
	font-size: 13px;
}

.hb-footer {
	background: #fff;
	border-top: 1px solid var(--hb-border);
	padding: 28px 16px;
}

.hb-footer__in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	width: min(1180px, 100%);
	margin-inline: auto;
}

.hb-footer__in > * {
	margin-block-start: 0 !important;
}

.hb-footer__links a,
.hb-footer__links .wp-block-navigation-item__content {
	color: #48627a;
	font-size: 14px;
}

.hb-footer__copy {
	font-size: 13px;
	color: var(--hb-muted);
	margin: 0;
	width: 100%;
	text-align: center;
	padding-top: 16px;
}

.hb-mobile-sticky {
	display: none;
}

/* --------------------------------------------------------------------------
   برگه‌های داخلی، نوشته‌ها و آرشیو
   -------------------------------------------------------------------------- */

.hb-page {
	padding: 56px 16px 72px;
}

.hb-page-title {
	font-size: clamp(28px, 3.2vw, 42px);
	font-weight: 900;
	margin: 0 0 22px;
	color: var(--hb-navy);
}

.hb-content > * {
	margin-block-start: 22px;
}

.hb-post-card {
	background: #fff;
	border: 1px solid var(--hb-border);
	border-radius: var(--hb-radius);
	padding: 22px;
	box-shadow: 0 8px 24px rgba(6, 47, 87, .05);
}

.hb-post-card > * {
	margin-block-start: 10px;
}

.hb-post-card .wp-block-post-title {
	font-size: 20px;
	font-weight: 900;
	margin: 0;
}

.hb-post-card .wp-block-post-title a {
	color: var(--hb-navy);
}

.hb-post-card .wp-block-post-featured-image img {
	border-radius: 14px;
}

.hb-meta {
	font-size: 13px;
	color: var(--hb-muted);
}

.wp-block-post-terms a,
.wp-block-post-date a {
	color: var(--hb-muted);
}

.wp-block-query-pagination {
	margin-top: 32px;
	font-weight: 800;
}

/* --------------------------------------------------------------------------
   واکنش‌گرایی
   -------------------------------------------------------------------------- */

@media (max-width: 980px) {
	.hb-header__in {
		flex-wrap: wrap;
		gap: 12px;
	}

	/* سربرگ چسبان در تبلت باید تک‌سطری و کم‌ارتفاع بماند */
	.hb-nav {
		font-size: 13px;
	}

	.hb-nav .wp-block-navigation__container {
		gap: 14px;
	}

	.hb-brand__sub {
		display: none;
	}

	.hb-header__cta .wp-block-button__link {
		padding: 0 14px;
	}

	.hb-hero__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hb-grid-3,
	.hb-grid-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hb-grid-6 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hb-instructor {
		grid-template-columns: 120px 1fr;
		gap: 16px;
	}

	.hb-roadmap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hb-ai__features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hb-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hb-hero__in.wp-block-columns,
	.hb-ai__in.wp-block-columns,
	.hb-final__in.wp-block-columns,
	.hb-consult__in.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.hb-hero__in.wp-block-columns > .wp-block-column,
	.hb-ai__in.wp-block-columns > .wp-block-column,
	.hb-final__in.wp-block-columns > .wp-block-column,
	.hb-consult__in.wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
	}

	.hb-hero__visual {
		max-width: 720px;
		margin-inline: auto;
		width: 100%;
	}
}

@media (max-width: 767px) {
	.hb-section {
		padding: 48px 16px;
	}

	/* دکمه «دریافت مشاوره» در سربرگ موبایل حذف می‌شود، چون همان دکمه
	   به صورت نوار چسبان در پایین صفحه وجود دارد.
	   important لازم است چون وردپرس استایل چیدمان بلاک دکمه‌ها را
	   بعد از استایل قالب چاپ می‌کند و display:flex آن غالب می‌شود. */
	.hb-header .hb-header__cta,
	.hb-header__cta {
		display: none !important;
	}

	.hb-header__in {
		min-height: 62px;
	}

	.hb-brand__name,
	.hb-brand__name a {
		font-size: 15px;
	}

	.hb-hero {
		padding: 34px 16px;
	}

	.hb-hero__title {
		font-size: 43px;
	}

	.hb-hero__subtitle {
		font-size: 23px;
	}

	.hb-hero__slogan {
		font-size: 18px;
	}

	.hb-person img {
		aspect-ratio: 3 / 4;
	}

	.hb-grid-2,
	.hb-grid-3,
	.hb-grid-4,
	.hb-grid-6 {
		grid-template-columns: 1fr;
	}

	.hb-audience {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hb-roadmap {
		grid-template-columns: 1fr;
	}

	.hb-ai__features {
		grid-template-columns: 1fr;
	}

	.hb-instructor {
		grid-template-columns: 110px 1fr;
		gap: 14px;
	}

	.hb-accordion {
		grid-template-columns: 1fr;
	}

	.hb-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hb-form {
		grid-template-columns: 1fr;
	}

	.hb-field--full {
		grid-column: auto;
	}

	.hb-actions .wp-block-button,
	.hb-actions .wp-block-button__link {
		width: 100%;
	}

	.hb-to-top {
		bottom: 84px;
		left: 14px;
		right: auto;
		width: 46px;
		height: 46px;
	}

	.hb-mobile-sticky {
		display: block;
		position: fixed;
		z-index: 30;
		inset-inline: 0;
		bottom: 0;
		padding: 10px;
		background: rgba(255, 255, 255, .96);
		backdrop-filter: blur(10px);
		border-top: 1px solid var(--hb-border);
	}

	.hb-mobile-sticky .wp-block-button,
	.hb-mobile-sticky .wp-block-button__link {
		width: 100%;
	}

	.hb-footer {
		padding-bottom: 86px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	* {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}

/* --------------------------------------------------------------------------
   ویرایشگر: نمایش صحیح بخش‌های تمام‌عرض داخل گوتنبرگ
   -------------------------------------------------------------------------- */

.editor-styles-wrapper .hb-mobile-sticky {
	position: static;
	display: block;
	background: #eef3f8;
	border: 1px dashed var(--hb-border);
	border-radius: 12px;
}

.editor-styles-wrapper .hb-section--navy h1,
.editor-styles-wrapper .hb-section--navy h2,
.editor-styles-wrapper .hb-hero h1,
.editor-styles-wrapper .hb-hero h2 {
	color: #fff;
}
