:root {
	--yosra-widget-heading-size: 2rem;
	--yosra-widget-heading-line-height: 1.25;
	--yosra-widget-card-title-size: 1.02rem;
	--yosra-widget-card-body-size: 0.98rem;
	--yosra-widget-card-gap: 22px;
	--yosra-widget-arrow-size: 44px;
	--yosra-page-space-block: 80px;
	--yosra-page-space-inline: 0px;
	--yosra-template-h1-size: clamp(2.35rem, 4vw, 3.5rem);
	--yosra-template-h2-size: clamp(1.85rem, 3vw, 2.75rem);
	--yosra-template-card-title-size: 1.125rem;
	--yosra-template-body-size: 1rem;
	--yosra-template-meta-size: 0.875rem;
	--yosra-template-button-size: 0.9375rem;
	--yosra-template-card-padding: 30px;
	--yosra-card-caption-padding: 16px 20px;
	--yosra-project-hero-title-size: clamp(2rem, 3vw, 2.5rem);
}

@media (max-width: 1024px) {
	:root {
		--yosra-page-space-block: 50px;
		--yosra-page-space-inline: 50px;
		--yosra-template-h1-size: 2.25rem;
		--yosra-template-h2-size: 2rem;
		--yosra-project-hero-title-size: 2rem;
	}
}

@media (max-width: 640px) {
	:root {
		--yosra-page-space-block: 20px;
		--yosra-page-space-inline: 20px;
		--yosra-template-h1-size: 1.625rem;
		--yosra-template-h2-size: 1.375rem;
		--yosra-template-card-title-size: 1rem;
		--yosra-template-body-size: 0.9375rem;
		--yosra-template-meta-size: 0.8125rem;
		--yosra-template-button-size: 0.9375rem;
		--yosra-template-card-padding: 16px;
		--yosra-card-caption-padding: 12px 16px 16px;
		--yosra-project-hero-title-size: 1.4rem;
	}
}

html[dir="rtl"] {
	--yosra-template-h1-size: calc(clamp(2.35rem, 4vw, 3.5rem) * 0.93);
	--yosra-template-h2-size: calc(clamp(1.85rem, 3vw, 2.75rem) * 0.93);
	--yosra-project-hero-title-size: calc(clamp(2rem, 3vw, 2.5rem) * 0.93);
}

@media (max-width: 1024px) {
	html[dir="rtl"] {
		--yosra-template-h1-size: 2.093rem;
		--yosra-template-h2-size: 1.86rem;
		--yosra-project-hero-title-size: 1.86rem;
	}
}

@media (max-width: 640px) {
	html[dir="rtl"] {
		--yosra-template-h1-size: 1.51rem;
		--yosra-template-h2-size: 1.28rem;
		--yosra-project-hero-title-size: 1.3rem;
	}
}

.yosra-icon-directional {
	display: inline-flex;
	line-height: 1;
}

html[dir="rtl"] .yosra-icon-directional[data-yosra-rtl-flip="auto"],
html[dir="rtl"] .yosra-icon-directional[data-yosra-rtl-flip="always"] {
	transform: scaleX(-1);
}

html[dir="rtl"] .yosra-card__title,
html[dir="rtl"] .yosra-service-card__title,
html[dir="rtl"] .yosra-cat-card__title {
	letter-spacing: 0;
	text-transform: none;
	overflow-wrap: anywhere;
}

html[dir="rtl"] .yosra-card__body,
html[dir="rtl"] .yosra-service-card__body,
html[dir="rtl"] .yosra-cat-card__body {
	min-width: 0;
}

@media (max-width: 767px) {
	html[dir="rtl"] .yosra-services,
	html[dir="rtl"] .yosra-grid,
	html[dir="rtl"] .yosra-cats,
	html[dir="rtl"] .yosra-stats,
	html[dir="rtl"] .yosra-features,
	html[dir="rtl"] .yosra-purchase-path,
	html[dir="rtl"] .yosra-contact,
	html[dir="rtl"] .yosra-cta-box {
		--yosra-widget-heading-line-height: 1.3;
		--yosra-widget-card-body-size: max(14px, 0.92rem);
	}
}

/* Custom archive and single templates only; Elementor sections are intentionally excluded. */
.yosra-product-category-archive,
.yosra-project-category-archive,
.yosra-product-single,
.yosra-project-single-view > .yosra-container {
	padding-block: var(--yosra-page-space-block);
	padding-inline: var(--yosra-page-space-inline);
	box-sizing: border-box;
}

.yosra-product-category-archive,
.yosra-project-category-archive,
.yosra-product-single,
.yosra-project-single-view {
	background: transparent;
}

.yosra-archive-description,
.yosra-empty-state,
.yosra-filter-empty {
	font-size: var(--yosra-template-body-size);
	color: var(--yosra-text-sec);
}

.yosra-empty-state,
.yosra-filter-empty {
	margin: 0;
	padding: 16px;
	border: 1px solid var(--yosra-border-line);
	border-radius: 12px;
	background: var(--yosra-soft-bg);
}

.yosra-filter-empty {
	grid-column: 1 / -1;
}

.yosra-product-category-archive > .yosra-home-cta-embed,
.yosra-project-category-archive > .yosra-home-cta-embed {
	margin-block-start: 48px;
}

.yosra-home-cta-embed.elementor .elementor-element.elementor-element-c24a132:not(.elementor-motion-effects-element-type-background) {
	background: transparent !important;
	background-color: transparent !important;
}

.yosra-related-products-section .yosra-carousel-track .yosra-card {
	flex-basis: calc((100% - 66px) / 4);
	max-width: calc((100% - 66px) / 4);
}

.yosra-card--product .yosra-card__product-info {
	padding: var(--yosra-card-caption-padding);
}

.yosra-card--product .yosra-card__product-title {
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.yosra-filter-bar {
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.yosra-product-single .yosra-container,
.yosra-project-single-view .yosra-container,
.yosra-product-details-layout,
.yosra-project-highlights,
.yosra-project-details-grid {
	min-width: 0;
}

.yosra-project-hero__title {
	font-size: var(--yosra-project-hero-title-size) !important;
}

.yosra-product-page-title {
	font-size: var(--yosra-template-h1-size);
}

.yosra-highlights-title,
.yosra-section-main-title,
.yosra-cta-box__title {
	font-size: var(--yosra-template-h2-size);
}

.yosra-spec-block__title,
.yosra-detail-block__title,
.yosra-delivered-card__title {
	font-size: var(--yosra-template-card-title-size);
}

.yosra-spec-bullets li,
.yosra-custom-bullets li,
.yosra-delivered-text,
.yosra-highlights-narrative,
.yosra-cta-box__desc {
	font-size: var(--yosra-template-body-size);
}

.yosra-breadcrumbs,
.yosra-hero-meta-tag,
.yosra-section-subtitle {
	font-size: var(--yosra-template-meta-size);
}

.yosra-product-single .yosra-btn,
.yosra-project-single-view .yosra-btn {
	min-height: 44px;
	font-size: var(--yosra-template-button-size);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.yosra-product-single .yosra-spec-block,
.yosra-project-single-view .yosra-detail-block,
.yosra-project-single-view .yosra-delivered-card {
	padding: var(--yosra-template-card-padding);
}

.yosra-product-single table,
.yosra-project-single-view table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

html[dir="rtl"] .yosra-breadcrumbs,
html[dir="rtl"] .yosra-project-hero__inner,
html[dir="rtl"] .yosra-product-single .yosra-section-header-flex,
html[dir="rtl"] .yosra-project-single-view .yosra-section-header-flex,
html[dir="rtl"] .yosra-product-single .yosra-cta-box__inner,
html[dir="rtl"] .yosra-project-single-view .yosra-cta-box__inner,
html[dir="rtl"] .yosra-project-hero__meta {
	direction: rtl;
	text-align: right;
}

html[dir="rtl"] .yosra-bc-separator {
	display: inline-block;
	transform: scaleX(-1);
}

html[dir="rtl"] .yosra-product-nav a,
html[dir="rtl"] .yosra-spec-block__title,
html[dir="rtl"] .yosra-detail-block__title,
html[dir="rtl"] .yosra-delivered-item__content {
	flex-direction: row;
	text-align: right;
	gap: 10px;
}

html[dir="rtl"] .yosra-product-nav .yosra-nav-icon,
html[dir="rtl"] .yosra-spec-icon,
html[dir="rtl"] .yosra-block-icon,
html[dir="rtl"] .yosra-check-circle {
	order: -1;
}

html[dir="rtl"] .yosra-product-single .yosra-product-page-title {
	font-size: var(--yosra-template-h1-size) !important;
}

html[dir="rtl"] .yosra-product-single .yosra-section-main-title,
html[dir="rtl"] .yosra-product-single .yosra-cta-box__title,
html[dir="rtl"] .yosra-project-single-view .yosra-section-main-title,
html[dir="rtl"] .yosra-project-single-view .yosra-highlights-title,
html[dir="rtl"] .yosra-project-single-view .yosra-cta-box__title {
	font-size: var(--yosra-template-h2-size) !important;
}

html[dir="rtl"] .yosra-product-single .yosra-spec-block__title,
html[dir="rtl"] .yosra-project-single-view .yosra-detail-block__title,
html[dir="rtl"] .yosra-project-single-view .yosra-delivered-card__title {
	font-size: calc(var(--yosra-template-card-title-size) * 0.93);
}

html[dir="rtl"] .yosra-product-single .yosra-spec-bullets li,
html[dir="rtl"] .yosra-project-single-view .yosra-custom-bullets li,
html[dir="rtl"] .yosra-project-single-view .yosra-delivered-text,
html[dir="rtl"] .yosra-project-single-view .yosra-highlights-narrative,
html[dir="rtl"] .yosra-product-single .yosra-cta-box__desc,
html[dir="rtl"] .yosra-project-single-view .yosra-cta-box__desc {
	font-size: calc(var(--yosra-template-body-size) * 0.93);
}

@media (max-width: 1024px) {
	.yosra-product-category-archive > .yosra-home-cta-embed,
	.yosra-project-category-archive > .yosra-home-cta-embed {
		margin-block-start: 32px;
	}

	.yosra-product-details-layout {
		grid-template-columns: 1fr;
	}

	.yosra-product-sidebar {
		position: static;
	}
}

@media (max-width: 640px) {
	.yosra-product-category-archive > .yosra-home-cta-embed,
	.yosra-project-category-archive > .yosra-home-cta-embed {
		margin-block-start: 24px;
	}

	.yosra-product-viewer {
		margin-bottom: 28px;
	}

	.yosra-product-single .yosra-related-products-section .yosra-section-header-flex {
		flex-direction: row;
		align-items: flex-start;
		gap: 12px;
	}

	.yosra-product-single .yosra-related-products-section .yosra-section-header-flex > :first-child {
		min-width: 0;
	}

	.yosra-product-single .yosra-related-products-section .yosra-view-all-link {
		margin-inline-start: auto;
		white-space: nowrap;
		flex: 0 0 auto;
	}

	.yosra-related-products-section .yosra-carousel-track .yosra-card {
		flex-basis: min(280px, calc(100% - 32px));
		max-width: min(280px, calc(100% - 32px));
	}

	.yosra-viewer-main-wrap {
		height: min(56vw, 220px);
	}

	.yosra-viewer-main-img {
		max-width: 100%;
		max-height: 180px;
		object-fit: contain;
	}

	.yosra-project-single-view .yosra-project-hero__inner {
		padding-inline: var(--yosra-page-space-inline);
	}
}

@media (max-width: 1024px) {
	.yosra-product-single .yosra-product-page-title {
		font-size: var(--yosra-template-h1-size) !important;
	}

	.yosra-product-single .yosra-section-main-title,
	.yosra-product-single .yosra-highlights-title,
	.yosra-product-single .yosra-cta-box__title,
	.yosra-project-single-view .yosra-section-main-title,
	.yosra-project-single-view .yosra-highlights-title,
	.yosra-project-single-view .yosra-cta-box__title {
		font-size: var(--yosra-template-h2-size) !important;
	}
}
