/**
 * Sepanta Typography Manager
 *
 * Rules are intentionally scoped to Sepanta's custom roots. Nothing here
 * targets generic Elementor widgets or global body typography.
 */

body.sptm-enabled {
	--sptm-font: "yekanbakh", "Yekan Bakh", "IRANYekanX", "Vazirmatn", Tahoma, Arial, sans-serif;
	--sptm-w-regular: 400;
	--sptm-w-medium: 500;
	--sptm-w-semibold: 600;
	--sptm-w-heading: 700;
	--sptm-display: 48px;
	--sptm-section: 34px;
	--sptm-card: 16px;
	--sptm-body: 14px;
	--sptm-small: 12px;
	--sptm-nav: 13.5px;
	--sptm-button: 13px;
	--sptm-display-lh: 1.35;
	--sptm-heading-lh: 1.55;
	--sptm-body-lh: 2;
}

/* Shared font family — isolated roots only. */
body.sptm-scope-shell .sps,
body.sptm-scope-home #spt-services-bento,
body.sptm-scope-home #spt-about-bento,
body.sptm-scope-home #sepantaKnowledgeHub,
body.sptm-scope-home .sepanta-hero,
body.sptm-scope-knowledge .skh,
body.sptm-scope-knowledge .sptk,
body.sptm-scope-products #spp-product,
body.sptm-scope-products .spp-product,
body.sptm-scope-products #spt-product,
body.sptm-scope-products .spt-product,
body.sptm-scope-clients .spc-home,
body.sptm-scope-clients .spc-directory,
body.sptm-scope-clients .spt-section {
	font-family: var(--sptm-font) !important;
	font-weight: var(--sptm-w-regular);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.sptm-no-synthesis.sptm-scope-shell .sps,
body.sptm-no-synthesis.sptm-scope-home #spt-services-bento,
body.sptm-no-synthesis.sptm-scope-home #spt-about-bento,
body.sptm-no-synthesis.sptm-scope-home #sepantaKnowledgeHub,
body.sptm-no-synthesis.sptm-scope-home .sepanta-hero,
body.sptm-no-synthesis.sptm-scope-knowledge .skh,
body.sptm-no-synthesis.sptm-scope-knowledge .sptk,
body.sptm-no-synthesis.sptm-scope-products #spp-product,
body.sptm-no-synthesis.sptm-scope-products .spp-product,
body.sptm-no-synthesis.sptm-scope-products #spt-product,
body.sptm-no-synthesis.sptm-scope-products .spt-product,
body.sptm-no-synthesis.sptm-scope-clients .spc-home,
body.sptm-no-synthesis.sptm-scope-clients .spc-directory,
body.sptm-no-synthesis.sptm-scope-clients .spt-section {
	font-synthesis: none;
}

body.sptm-scope-shell .sps :is(button, input, select, textarea),
body.sptm-scope-home :is(#spt-services-bento, #spt-about-bento, #sepantaKnowledgeHub, .sepanta-hero) :is(button, input, select, textarea),
body.sptm-scope-knowledge :is(.skh, .sptk) :is(button, input, select, textarea),
body.sptm-scope-products :is(#spp-product, .spp-product, #spt-product, .spt-product) :is(button, input, select, textarea),
body.sptm-scope-clients :is(.spc-home, .spc-directory, .spt-section) :is(button, input, select, textarea) {
	font-family: var(--sptm-font) !important;
}

body.sptm-scope-shell .sps :is(strong, b),
body.sptm-scope-home :is(#spt-services-bento, #spt-about-bento, #sepantaKnowledgeHub, .sepanta-hero) :is(strong, b),
body.sptm-scope-knowledge :is(.skh, .sptk) :is(strong, b),
body.sptm-scope-products :is(#spp-product, .spp-product, #spt-product, .spt-product) :is(strong, b),
body.sptm-scope-clients :is(.spc-home, .spc-directory, .spt-section) :is(strong, b) {
	font-weight: var(--sptm-w-semibold) !important;
}

/* Display / page titles. */
body.sptm-scope-home :is(#spt-services-bento, #spt-about-bento, #sepantaKnowledgeHub, .sepanta-hero) h1,
body.sptm-scope-knowledge :is(.skh, .sptk) h1,
body.sptm-scope-products :is(#spp-product, .spp-product, #spt-product, .spt-product) h1,
body.sptm-scope-clients :is(.spc-home, .spc-directory, .spt-section) h1,
body.sptm-scope-products :is(.spp-hero__title, .spt-hero__title),
body.sptm-scope-knowledge :is(.skh-single__title, .skh-listing__title),
body.sptm-scope-clients :is(.spc-section-head h2, .spt-section__title) {
	font-size: var(--sptm-display) !important;
	font-weight: var(--sptm-w-heading) !important;
	line-height: var(--sptm-display-lh) !important;
	letter-spacing: 0 !important;
}

/* Section titles. */
body.sptm-scope-home :is(#spt-services-bento, #spt-about-bento, #sepantaKnowledgeHub, .sepanta-hero) h2,
body.sptm-scope-knowledge :is(.skh, .sptk) h2,
body.sptm-scope-products :is(#spp-product, .spp-product, #spt-product, .spt-product) h2,
body.sptm-scope-clients :is(.spc-home, .spc-directory, .spt-section) h2,
body.sptm-scope-products :is(.spp-heading, .spp-section__heading, .spt-section__heading) {
	font-size: var(--sptm-section) !important;
	font-weight: var(--sptm-w-heading) !important;
	line-height: var(--sptm-heading-lh) !important;
	letter-spacing: 0 !important;
}

body.sptm-scope-clients .spc-section-head > h2,
body.sptm-scope-clients .spt-section__title {
	font-size: var(--sptm-display) !important;
	line-height: var(--sptm-display-lh) !important;
}

/* Card and component titles. */
body.sptm-scope-home :is(#spt-services-bento, #spt-about-bento, #sepantaKnowledgeHub, .sepanta-hero) :is(h3, h4, h5, h6),
body.sptm-scope-knowledge :is(.skh, .sptk) :is(h3, h4, h5, h6),
body.sptm-scope-products :is(#spp-product, .spp-product, #spt-product, .spt-product) :is(h3, h4, h5, h6),
body.sptm-scope-clients :is(.spc-home, .spc-directory, .spt-section) :is(h3, h4, h5, h6),
body.sptm-scope-home :is(.spt-card__title, .spta-card h3),
body.sptm-scope-knowledge :is(.skh-card__title, .skh-network__title),
body.sptm-scope-products :is(.spp-primary-card h3, .spp-feature h3, .spt-advantage h3, .spt-capability h3),
body.sptm-scope-clients :is(.spc-featured__card h3, .spc-directory__card h3, .spt-testimonial__name) {
	font-size: var(--sptm-card) !important;
	font-weight: var(--sptm-w-semibold) !important;
	line-height: var(--sptm-heading-lh) !important;
	letter-spacing: 0 !important;
}

body.sptm-scope-shell .sps :is(
	.sps-mega-card strong,
	.sps-product-group__title,
	.sps-mobile-card strong,
	.sps-search__quick strong,
	.sps-footer__column h2,
	.sps-footer__column h3
) {
	font-size: var(--sptm-nav) !important;
	font-weight: var(--sptm-w-semibold) !important;
	line-height: var(--sptm-heading-lh) !important;
}

/* Readable copy. */
body.sptm-scope-home :is(#spt-services-bento, #spt-about-bento, #sepantaKnowledgeHub, .sepanta-hero) :is(p, li),
body.sptm-scope-knowledge :is(.skh, .sptk) :is(p, li),
body.sptm-scope-products :is(#spp-product, .spp-product, #spt-product, .spt-product) :is(p, li),
body.sptm-scope-clients :is(.spc-home, .spc-directory, .spt-section) :is(p, li),
body.sptm-scope-knowledge .skh-prose,
body.sptm-scope-products :is(.spp-benefit-list, .spt-benefit-list, .spt-editor-content) {
	font-size: var(--sptm-body) !important;
	font-weight: var(--sptm-w-regular) !important;
	line-height: var(--sptm-body-lh) !important;
	letter-spacing: 0 !important;
}

body.sptm-scope-home :is(#spt-services-bento, #spt-about-bento, #sepantaKnowledgeHub, .sepanta-hero) :is(small, [class*="kicker"], [class*="eyebrow"], [class*="meta"]),
body.sptm-scope-knowledge :is(.skh, .sptk) :is(small, [class*="kicker"], [class*="eyebrow"], [class*="meta"]),
body.sptm-scope-products :is(#spp-product, .spp-product, #spt-product, .spt-product) :is(small, [class*="kicker"], [class*="eyebrow"], [class*="meta"]),
body.sptm-scope-clients :is(.spc-home, .spc-directory, .spt-section) :is(small, [class*="kicker"], [class*="eyebrow"], [class*="meta"]) {
	font-size: var(--sptm-small) !important;
	font-weight: var(--sptm-w-medium) !important;
	line-height: 1.8 !important;
}

/* Navigation and footer. */
body.sptm-scope-shell .sps :is(
	.sps-nav__link,
	.sps-nav__phone,
	.sps-mobile-nav-item,
	.sps-mobile-card,
	.sps-mobile-panel__label,
	.sps-footer__column a,
	.sps-footer__contact,
	.sps-product-group__links a,
	.sps-mega-card
) {
	font-size: var(--sptm-nav) !important;
	font-weight: var(--sptm-w-medium) !important;
}

body.sptm-scope-shell .sps :is(
	.sps-nav__demo,
	.sps-mobile-drawer__demo,
	.sps-search__cancel
),
body.sptm-scope-home :is(#spt-services-bento, #spt-about-bento, #sepantaKnowledgeHub, .sepanta-hero) :is(button, [class*="button"], [class*="tab"]),
body.sptm-scope-knowledge :is(.skh, .sptk) :is(button, [class*="button"], [class*="tab"]),
body.sptm-scope-products :is(#spp-product, .spp-product, #spt-product, .spt-product) :is(button, [class*="button"], [class*="tab"]),
body.sptm-scope-clients :is(.spc-home, .spc-directory, .spt-section) :is(button, [class*="button"], [class*="tab"]) {
	font-size: var(--sptm-button) !important;
	font-weight: var(--sptm-w-semibold) !important;
}

/*
 * Newer Sepanta plugins.
 *
 * These roots are deliberately explicit. The core never targets generic
 * Elementor widgets, article content or theme typography outside Sepanta UI.
 */
body.sptm-scope-services .spt-services-bento,
body.sptm-scope-about .sap-about,
body.sptm-scope-forms .spntf,
body.sptm-scope-contact .spct,
body.sptm-scope-gallery .sga-root {
	font-family: var(--sptm-font) !important;
	font-weight: var(--sptm-w-regular);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.sptm-no-synthesis.sptm-scope-services .spt-services-bento,
body.sptm-no-synthesis.sptm-scope-about .sap-about,
body.sptm-no-synthesis.sptm-scope-forms .spntf,
body.sptm-no-synthesis.sptm-scope-contact .spct,
body.sptm-no-synthesis.sptm-scope-gallery .sga-root {
	font-synthesis: none;
}

body.sptm-scope-services .spt-services-bento :is(button, input, select, textarea),
body.sptm-scope-about .sap-about :is(button, input, select, textarea),
body.sptm-scope-forms .spntf :is(button, input, select, textarea),
body.sptm-scope-contact .spct :is(button, input, select, textarea),
body.sptm-scope-gallery .sga-root :is(button, input, select, textarea) {
	font-family: var(--sptm-font) !important;
}

body.sptm-scope-services .spt-services-bento h1,
body.sptm-scope-about .sap-about h1,
body.sptm-scope-forms .spntf h1,
body.sptm-scope-contact .spct h1,
body.sptm-scope-gallery .sga-root h1 {
	font-size: var(--sptm-display) !important;
	font-weight: var(--sptm-w-heading) !important;
	line-height: var(--sptm-display-lh) !important;
	letter-spacing: 0 !important;
}

body.sptm-scope-services .spt-services-bento h2,
body.sptm-scope-about .sap-about h2,
body.sptm-scope-forms .spntf h2,
body.sptm-scope-contact .spct h2,
body.sptm-scope-gallery .sga-root h2 {
	font-size: var(--sptm-section) !important;
	font-weight: var(--sptm-w-heading) !important;
	line-height: var(--sptm-heading-lh) !important;
	letter-spacing: 0 !important;
}

body.sptm-scope-services .spt-services-bento :is(h3, h4, h5, h6),
body.sptm-scope-about .sap-about :is(h3, h4, h5, h6),
body.sptm-scope-forms .spntf :is(h3, h4, h5, h6),
body.sptm-scope-contact .spct :is(h3, h4, h5, h6),
body.sptm-scope-gallery .sga-root :is(h3, h4, h5, h6) {
	font-size: var(--sptm-card) !important;
	font-weight: var(--sptm-w-semibold) !important;
	line-height: var(--sptm-heading-lh) !important;
	letter-spacing: 0 !important;
}

body.sptm-scope-services .spt-services-bento :is(p, li),
body.sptm-scope-about .sap-about :is(p, li),
body.sptm-scope-forms .spntf :is(p, li),
body.sptm-scope-contact .spct :is(p, li),
body.sptm-scope-gallery .sga-root :is(p, li) {
	font-size: var(--sptm-body) !important;
	font-weight: var(--sptm-w-regular) !important;
	line-height: var(--sptm-body-lh) !important;
	letter-spacing: 0 !important;
}

body.sptm-scope-services .spt-services-bento :is(small, [class*="meta"], [class*="eyebrow"]),
body.sptm-scope-about .sap-about :is(small, [class*="meta"], [class*="eyebrow"]),
body.sptm-scope-forms .spntf :is(small, [class*="meta"], [class*="eyebrow"]),
body.sptm-scope-contact .spct :is(small, [class*="meta"], [class*="eyebrow"]),
body.sptm-scope-gallery .sga-root :is(small, [class*="meta"], [class*="eyebrow"]) {
	font-size: var(--sptm-small) !important;
	font-weight: var(--sptm-w-medium) !important;
	line-height: 1.8 !important;
}

body.sptm-scope-services .spt-services-bento :is(button, [class*="button"], [class*="tab"]),
body.sptm-scope-about .sap-about :is(button, [class*="button"], [class*="tab"]),
body.sptm-scope-forms .spntf :is(button, [class*="button"], [class*="tab"]),
body.sptm-scope-contact .spct :is(button, [class*="button"], [class*="tab"]),
body.sptm-scope-gallery .sga-root :is(button, [class*="button"], [class*="tab"]) {
	font-size: var(--sptm-button) !important;
	font-weight: var(--sptm-w-semibold) !important;
}
