/**
 * Team Moon Editor — أنماط الواجهة.
 *
 * التخصيص (specificity): الافتراضيات هنا .tme-page .x (0,2,0)
 * أو أقل عبر :where()، وقواعد المولّد .tme-page .tme-el-{id} .x (0,3,0)
 * تتغلب عليها دائماً.
 * الألوان التفاعلية تمر عبر متغيرات CSS حتى لا تتعارض حالات
 * hover/active مع ألوان المستخدم.
 */

/* ===== 1) المتغيرات ===== */
:where(:root) {
	--tme-primary: #807af8;
	--tme-secondary: #33c5c8;
	--tme-text: inherit;
	--tme-heading: inherit;
	--tme-border: #e5e7eb;
	--tme-radius: 8px;
	--tme-font-text: inherit;
	--tme-font-heading: inherit;
	--tme-container-w: 1200px;
	--tme-gap: 20px;
	--tme-light-bg: #f6f6fb;
}

/* ===== 2) الأساس ===== */
.tme-page :where(*, *::before, *::after) {
	box-sizing: border-box;
}

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

.tme-page :where(.tme-element) {
	min-width: 0;
}

.tme-page :where(.tme-widget) {
	position: relative;
}

/* ===== 3) الحاويات ===== */
.tme-page .tme-container {
	display: flex;
	flex-direction: column;
	transition: background-color 0.3s, background-image 0.3s, border-color 0.3s, box-shadow 0.3s;
}

:where(.tme-container) {
	padding: 10px;
}

:where(.tme-page > .tme-container) {
	width: 100%;
	margin-inline: auto;
	padding: 20px;
}

.tme-page .tme-container__inner {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: var(--tme-gap);
	width: 100%;
	min-width: 0;
}

:where(.tme-container--boxed) > :where(.tme-container__inner) {
	max-width: var(--tme-container-w);
	margin-inline: auto;
}

/* --tme-sbw (scrollbar width) comes from frontend.js; 100vw includes it. */
.tme-page .tme-container.tme-container--stretched {
	width: calc(100vw - var(--tme-sbw, 0px));
	max-width: none;
	margin-inline: calc(50% - 50vw + var(--tme-sbw, 0px) / 2);
	flex: none;
}

:where(.tme-container__inner) > :where(.tme-container) {
	width: 100%;
}

:where(.tme-dir-row, .tme-dir-row-reverse) > :where(.tme-container__inner) > :where(.tme-container) {
	flex: 1 1 0;
}

@media (min-width: 768px) and (max-width: 1024px) {

	.tme-page .tme-dir-tablet-row > .tme-container__inner {
		flex-direction: row;
	}

	.tme-page .tme-dir-tablet-row-reverse > .tme-container__inner {
		flex-direction: row-reverse;
	}

	.tme-page .tme-dir-tablet-column > .tme-container__inner {
		flex-direction: column;
	}

	.tme-page .tme-dir-tablet-column-reverse > .tme-container__inner {
		flex-direction: column-reverse;
	}

	.tme-page .tme-dir-tablet-row > .tme-container__inner > .tme-container,
	.tme-page .tme-dir-tablet-row-reverse > .tme-container__inner > .tme-container {
		flex: 1 1 0;
		width: auto;
		max-width: 100%;
	}

	.tme-page .tme-dir-tablet-column > .tme-container__inner > .tme-container,
	.tme-page .tme-dir-tablet-column-reverse > .tme-container__inner > .tme-container {
		flex: 0 0 auto;
		width: 100%;
	}
}

@media (max-width: 767px) {

	.tme-page .tme-dir-mobile-column > .tme-container__inner {
		flex-direction: column;
	}

	.tme-page .tme-dir-mobile-column-reverse > .tme-container__inner {
		flex-direction: column-reverse;
	}

	.tme-page .tme-dir-mobile-row > .tme-container__inner {
		flex-direction: row;
	}

	.tme-page .tme-dir-mobile-row-reverse > .tme-container__inner {
		flex-direction: row-reverse;
	}

	.tme-page .tme-container.tme-stack-mobile > .tme-container__inner {
		flex-direction: column;
	}

	.tme-page .tme-dir-mobile-column > .tme-container__inner > .tme-container,
	.tme-page .tme-dir-mobile-column-reverse > .tme-container__inner > .tme-container {
		flex: 0 0 auto;
		width: 100%;
	}

	.tme-page .tme-stack-mobile > .tme-container__inner > .tme-container {
		flex: 0 0 auto;
		width: 100%;
	}

	.tme-page .tme-dir-mobile-row > .tme-container__inner > .tme-container,
	.tme-page .tme-dir-mobile-row-reverse > .tme-container__inner > .tme-container {
		flex: 1 1 0;
		width: auto;
		max-width: 100%;
	}
}

/* ===== 4) الإخفاء حسب الجهاز ===== */
@media (min-width: 1025px) {

	.tme-page .tme-hide-desktop {
		display: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {

	.tme-page .tme-hide-tablet {
		display: none !important;
	}
}

@media (max-width: 767px) {

	.tme-page .tme-hide-mobile {
		display: none !important;
	}
}

/* ===== 5) حركات الظهور ===== */
.tme-animate {
	opacity: 0;
}

@media (scripting: none) {

	.tme-animate {
		opacity: 1;
	}
}

.tme-animate.tme-animated {
	opacity: 1;
	animation-duration: 0.8s;
	animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
	animation-fill-mode: backwards;
}

.tme-animated.fadeIn {
	animation-name: tmeFadeIn;
}

.tme-animated.fadeInUp {
	animation-name: tmeFadeInUp;
}

.tme-animated.fadeInDown {
	animation-name: tmeFadeInDown;
}

.tme-animated.fadeInLeft {
	animation-name: tmeFadeInLeft;
}

.tme-animated.fadeInRight {
	animation-name: tmeFadeInRight;
}

.tme-animated.zoomIn {
	animation-name: tmeZoomIn;
}

.tme-animated.slideInUp {
	animation-name: tmeSlideInUp;
}

.tme-animated.bounceIn {
	animation-name: tmeBounceIn;
	animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

@keyframes tmeFadeIn {

	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes tmeFadeInUp {

	from {
		opacity: 0;
		transform: translate3d(0, 40px, 0);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes tmeFadeInDown {

	from {
		opacity: 0;
		transform: translate3d(0, -40px, 0);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes tmeFadeInLeft {

	from {
		opacity: 0;
		transform: translate3d(-40px, 0, 0);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes tmeFadeInRight {

	from {
		opacity: 0;
		transform: translate3d(40px, 0, 0);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes tmeZoomIn {

	from {
		opacity: 0;
		transform: scale3d(0.6, 0.6, 0.6);
	}

	60% {
		opacity: 1;
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes tmeSlideInUp {

	from {
		transform: translate3d(0, 100%, 0);
	}

	to {
		transform: none;
	}
}

@keyframes tmeBounceIn {

	0% {
		opacity: 0;
		transform: scale3d(0.3, 0.3, 0.3);
	}

	20% {
		transform: scale3d(1.1, 1.1, 1.1);
	}

	40% {
		transform: scale3d(0.9, 0.9, 0.9);
	}

	60% {
		opacity: 1;
		transform: scale3d(1.03, 1.03, 1.03);
	}

	80% {
		transform: scale3d(0.97, 0.97, 0.97);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

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

	.tme-animate {
		opacity: 1 !important;
	}

	.tme-animated {
		animation: none !important;
	}

	.tme-page *,
	.tme-page *::before,
	.tme-page *::after,
	.tme-carousel *,
	.tme-lightbox,
	.tme-lightbox * {
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* التحميل المؤجل: أسطر الهيكل تتحرك بتتابع بدون لمعة. */
:where(.tme-page .tme-lazy-pending) {
	width: 100%;
	align-self: stretch;
}

.tme-page .tme-element.tme-lazy-pending {
	--tme-ph-fill: #e4e4ee;
	--tme-ph-bone: #c8c9d6;
	container-type: inline-size;
	position: relative;
	overflow: hidden;
	min-height: 88px;
	min-height: clamp(5.5rem, 16vw + 2rem, 8.5rem);
	border-radius: var(--tme-radius);
	isolation: isolate;
	background: var(--tme-ph-fill);
}

.tme-page .tme-container.tme-lazy-pending {
	min-height: 128px;
	min-height: clamp(8rem, 24vw + 2.5rem, 14rem);
}

.tme-page .tme-lazy-pending .tme-lazy-ph-bones {
	--tme-ph-pad: clamp(0.7rem, 5%, 1.4rem);
	--tme-ph-gap: clamp(0.4rem, 3%, 0.8rem);
	--tme-ph-line: clamp(0.38rem, 2.2vw, 0.7rem);
	--tme-ph-rise: clamp(0.35rem, 2vw, 0.75rem);
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	padding: var(--tme-ph-pad);
	gap: var(--tme-ph-gap);
	border-radius: inherit;
	pointer-events: none;
	transform: translate3d(0, var(--tme-ph-rise), 0);
	opacity: 0.55;
	animation-name: tmeLazyRise !important;
	animation-duration: 0.45s !important;
	animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1) !important;
	animation-fill-mode: both !important;
}

.tme-page .tme-lazy-pending .tme-lazy-ph-media,
.tme-page .tme-lazy-pending .tme-lazy-ph-line {
	display: block;
	flex: 0 0 auto;
	background: var(--tme-ph-bone);
	border-radius: clamp(4px, 1.5vw, 10px);
	transform-origin: left center;
	animation-name: tmeLazyPulse !important;
	animation-duration: 1.35s !important;
	animation-timing-function: ease-in-out !important;
	animation-iteration-count: infinite !important;
}

.tme-page .tme-lazy-pending .tme-lazy-ph-media {
	flex: 1 1 auto;
	min-height: 2.25rem;
	width: 100%;
	animation-delay: 0s !important;
}

.tme-page .tme-lazy-pending .tme-lazy-ph-line {
	height: var(--tme-ph-line);
	max-width: 100%;
	border-radius: 999px;
	align-self: start;
}

.tme-page .tme-lazy-pending .tme-lazy-ph-line--a {
	width: 46%;
	animation-delay: 0.14s !important;
}

.tme-page .tme-lazy-pending .tme-lazy-ph-line--b {
	width: 72%;
	animation-delay: 0.28s !important;
}

.tme-page .tme-lazy-pending .tme-lazy-ph-line--c {
	width: 38%;
	animation-delay: 0.42s !important;
}

[dir="rtl"] .tme-page .tme-lazy-pending .tme-lazy-ph-media,
[dir="rtl"] .tme-page .tme-lazy-pending .tme-lazy-ph-line,
.rtl .tme-page .tme-lazy-pending .tme-lazy-ph-media,
.rtl .tme-page .tme-lazy-pending .tme-lazy-ph-line {
	transform-origin: right center;
}

@container (max-width: 13.75rem) {

	.tme-page .tme-lazy-pending .tme-lazy-ph-line--c {
		display: none;
	}
}

@container (max-width: 9.5rem) {

	.tme-page .tme-lazy-pending .tme-lazy-ph-line {
		display: none;
	}
}

@media (max-width: 767px) {

	.tme-page .tme-widget.tme-lazy-pending {
		min-height: clamp(5rem, 22svh, 8rem);
	}

	.tme-page .tme-container.tme-lazy-pending {
		min-height: clamp(7rem, 32svh, 12rem);
	}

	.tme-page .tme-lazy-pending .tme-lazy-ph-media,
	.tme-page .tme-lazy-pending .tme-lazy-ph-line {
		animation-duration: 1.2s !important;
	}
}

.tme-page .tme-lazy-loaded {
	animation: tmeLazyIn 0.4s ease-out both;
}

.tme-page .tme-lazy-failed {
	display: none;
}

@keyframes tmeLazyRise {

	to {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes tmeLazyPulse {

	0%,
	100% {
		opacity: 0.4;
		transform: scaleX(0.78);
	}

	50% {
		opacity: 1;
		transform: scaleX(1);
	}
}

@keyframes tmeLazyIn {

	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

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

	.tme-page .tme-lazy-pending .tme-lazy-ph-bones,
	.tme-page .tme-lazy-pending .tme-lazy-ph-media,
	.tme-page .tme-lazy-pending .tme-lazy-ph-line {
		animation: none !important;
		transform: none;
		opacity: 1;
	}

	.tme-page .tme-lazy-loaded {
		animation: none;
	}
}

/* ===== 6) أيقونات SVG ===== */
.tme-page .tme-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	flex-shrink: 0;
	vertical-align: -0.125em;
}

/* ===== 7) عنوان ===== */
.tme-page .tme-heading {
	margin: 0;
	padding: 0;
	font-family: var(--tme-font-heading);
	color: var(--tme-heading);
	line-height: 1.3;
	transition: color 0.3s;
}

.tme-page .tme-heading a {
	color: inherit;
	text-decoration: none;
}

/* ===== 8) نص ===== */
.tme-page .tme-text {
	font-family: var(--tme-font-text);
	color: var(--tme-text);
	line-height: 1.8;
}

.tme-page .tme-text p {
	margin-block: 0 1em;
}

.tme-page .tme-text > :last-child {
	margin-block-end: 0;
}

/* ===== 9) صورة ===== */
.tme-page .tme-image {
	margin: 0;
	text-align: center;
}

.tme-page .tme-image__media {
	position: relative;
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	vertical-align: middle;
	color: inherit;
	text-decoration: none;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.tme-page a.tme-image__media {
	cursor: pointer;
}

.tme-page .tme-image__media img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	transition: transform 0.5s ease, opacity 0.3s ease;
}

.tme-page .tme-image--zoom .tme-image__media:hover img {
	transform: scale(1.08);
}

.tme-page .tme-image--lift .tme-image__media:hover {
	transform: translateY(-6px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
}

.tme-page .tme-image__caption {
	margin-block-start: 8px;
	font-size: 0.9em;
	opacity: 0.8;
}

/* ===== 10) زر ===== */
.tme-page .tme-button-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.tme-page .tme-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	min-height: 0;
	padding: 12px 26px;
	border: 0 solid transparent;
	border-radius: var(--tme-radius);
	background-color: var(--tme-primary);
	color: #fff;
	font-family: var(--tme-font-text);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
	transition: background-color 0.25s, color 0.25s, border-color 0.25s, box-shadow 0.25s, filter 0.25s, transform 0.25s;
}

.tme-page .tme-button:hover,
.tme-page .tme-button:focus-visible {
	color: #fff;
	text-decoration: none;
	filter: brightness(0.92);
}

.tme-page .tme-button:focus-visible {
	outline: 2px solid var(--tme-primary);
	outline-offset: 2px;
}

.tme-page .tme-button--sm {
	padding: 8px 18px;
	font-size: 13px;
}

.tme-page .tme-button--lg {
	padding: 16px 34px;
	font-size: 17px;
}

.tme-page .tme-button .tme-icon {
	font-size: 1.1em;
	vertical-align: middle;
}

/* ===== 11) أيقونة (مشتركة مع صندوق الأيقونة) ===== */
.tme-page .tme-icon-wrap {
	display: flex;
	justify-content: center;
}

.tme-page .tme-icon-el {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 50px;
	line-height: 1;
	color: var(--tme-icon-primary, var(--tme-primary));
	text-decoration: none;
	transition: color 0.3s, background-color 0.3s, border-color 0.3s, transform 0.3s;
}

.tme-page .tme-icon-el svg {
	display: block;
	width: 1em;
	height: 1em;
	transition: transform 0.3s;
}

.tme-page .tme-icon-el:hover {
	color: var(--tme-icon-primary-hover, var(--tme-icon-primary, var(--tme-primary)));
}

.tme-page .tme-icon-el--stacked {
	padding: 0.5em;
	background-color: var(--tme-icon-primary, var(--tme-primary));
	color: var(--tme-icon-secondary, #fff);
}

.tme-page .tme-icon-el--stacked:hover {
	background-color: var(--tme-icon-primary-hover, var(--tme-icon-primary, var(--tme-primary)));
	color: var(--tme-icon-secondary-hover, var(--tme-icon-secondary, #fff));
}

.tme-page .tme-icon-el--framed {
	padding: 0.5em;
	border: 3px solid var(--tme-icon-primary, var(--tme-primary));
	background-color: var(--tme-icon-secondary, transparent);
}

.tme-page .tme-icon-el--framed:hover {
	border-color: var(--tme-icon-primary-hover, var(--tme-icon-primary, var(--tme-primary)));
	background-color: var(--tme-icon-secondary-hover, var(--tme-icon-secondary, transparent));
}

.tme-page .tme-icon-el--circle {
	border-radius: 50%;
}

.tme-page .tme-icon-el--rounded {
	border-radius: 22%;
}

.tme-page .tme-icon-el--square {
	border-radius: 0;
}

/* ===== 12) مسافة وفاصل ===== */
.tme-page .tme-spacer {
	height: 50px;
}

.tme-page .tme-divider-wrap {
	display: flex;
	justify-content: center;
	padding-block: 15px;
}

.tme-page .tme-divider {
	display: flex;
	align-items: center;
	gap: 15px;
	width: 100%;
}

.tme-page .tme-divider__line {
	display: block;
	flex: 1 1 auto;
	height: 0;
	border-block-start: 1px solid var(--tme-border);
}

.tme-page .tme-divider__element {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	color: var(--tme-primary);
	line-height: 1.2;
}

.tme-page .tme-divider__icon .tme-icon {
	font-size: 20px;
}

/* ===== 13) فيديو ===== */
.tme-page .tme-video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background-color: #000;
}

.tme-page .tme-video__player {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.tme-page .tme-video__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background-color: #111;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	cursor: pointer;
}

.tme-page .tme-video__overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.15);
	transition: background-color 0.3s;
}

.tme-page .tme-video__play {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.6em;
	height: 2.6em;
	border-radius: 50%;
	background-color: var(--tme-primary);
	color: #fff;
	font-size: 28px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
	transition: transform 0.3s;
}

.tme-page .tme-video__play .tme-icon {

	/* توسيط بصري للمثلث؛ اتجاهه ثابت ولا ينعكس في RTL. */
	margin-left: 0.12em;
	fill: currentcolor;
}

.tme-page .tme-video__overlay:hover .tme-video__play,
.tme-page .tme-video__overlay:focus-visible .tme-video__play {
	transform: scale(1.1);
}

.tme-page .tme-video--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--tme-light-bg);
	color: #6b7280;
}

/* ===== 14) صندوق أيقونة / صندوق صورة ===== */
.tme-page .tme-icon-box,
.tme-page .tme-image-box {
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.tme-page .tme-icon-box--start,
.tme-page .tme-image-box--start {
	flex-direction: row;
	align-items: flex-start;
	text-align: start;
}

.tme-page .tme-icon-box--end,
.tme-page .tme-image-box--end {
	flex-direction: row-reverse;
	align-items: flex-start;
	text-align: start;
}

.tme-page .tme-icon-box__icon {
	flex: 0 0 auto;
	line-height: 0;
}

/* stylelint-disable-next-line no-descending-specificity -- مكوّن مختلف. */
.tme-page :where(.tme-icon-box) .tme-icon-el {
	font-size: 28px;
}

.tme-page .tme-icon-box__content,
.tme-page .tme-image-box__content {
	flex: 1 1 auto;
	min-width: 0;
}

.tme-page .tme-icon-box__title,
.tme-page .tme-image-box__title {
	margin: 0 0 8px;
	font-family: var(--tme-font-heading);
	font-size: 1.25em;
	line-height: 1.35;
	color: var(--tme-heading);
	transition: color 0.3s;
}

.tme-page .tme-icon-box__title a,
.tme-page .tme-image-box__title a {
	color: inherit;
	text-decoration: none;
}

.tme-page .tme-icon-box__desc,
.tme-page .tme-image-box__desc {
	margin: 0;
	color: var(--tme-text);
	line-height: 1.7;
}

.tme-page .tme-image-box__img {
	display: block;
	overflow: hidden;
	border-radius: var(--tme-radius);
	line-height: 0;
}

.tme-page .tme-image-box--top .tme-image-box__img {
	margin-inline: auto;
	max-width: 100%;
}

.tme-page .tme-image-box--start .tme-image-box__img,
.tme-page .tme-image-box--end .tme-image-box__img {
	flex: 0 0 auto;
	width: 35%;
}

/* stylelint-disable-next-line no-descending-specificity -- مكوّن مختلف. */
.tme-page .tme-image-box__img img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.5s ease;
}

/* ===== 15) معرض الصور ===== */
.tme-page .tme-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.tme-page .tme-gallery__item {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: var(--tme-radius);
}

.tme-page .tme-gallery__item::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
}

.tme-page .tme-gallery__item:hover::after {
	opacity: 1;
}

.tme-page .tme-gallery__item a {
	display: block;
}

/* stylelint-disable-next-line no-descending-specificity -- مكوّن مختلف. */
.tme-page .tme-gallery__item img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: transform 0.5s ease;
}

/* ===== 16) السلايدر (عقد .tme-carousel) ===== */
.tme-carousel {
	--tme-per-view: 4;
	--tme-gap: 20px;
	position: relative;
}

@media (max-width: 1024px) {

	.tme-carousel {
		--tme-per-view: 2;
	}
}

@media (max-width: 767px) {

	.tme-carousel {
		--tme-per-view: 1;
	}
}

.tme-carousel__track {
	display: flex;
	gap: var(--tme-gap);
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.tme-carousel__track::-webkit-scrollbar {
	display: none;
}

.tme-carousel__slide {
	flex: 0 0 calc((100% - (var(--tme-per-view) - 1) * var(--tme-gap)) / var(--tme-per-view));
	min-width: 0;
	scroll-snap-align: start;
}

.tme-carousel .tme-carousel__arrow {
	position: absolute;
	inset-block-start: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: #fff;
	color: #111;
	font-size: 20px;
	line-height: 1;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
	cursor: pointer;
	transform: translateY(-50%);
	transition: opacity 0.2s, background-color 0.2s, color 0.2s;
}

.tme-carousel .tme-carousel__arrow--prev {
	inset-inline-start: 10px;
}

.tme-carousel .tme-carousel__arrow--next {
	inset-inline-end: 10px;
}

.tme-carousel .tme-carousel__arrow:disabled {
	opacity: 0.35;
	cursor: default;
}

.tme-carousel.is-rtl .tme-carousel__arrow svg {
	transform: scaleX(-1);
}

.tme-carousel__dots {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-block-start: 16px;
}

.tme-carousel .tme-carousel__dot {
	width: 8px;
	height: 8px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background-color: #d1d5db;
	cursor: pointer;
	transition: width 0.25s, background-color 0.25s;
}

.tme-carousel .tme-carousel__dot.is-active {
	width: 22px;
	background-color: var(--tme-primary);
}

.tme-carousel.is-static .tme-carousel__arrow,
.tme-carousel.is-static .tme-carousel__dots {
	display: none;
}

.tme-page .tme-carousel-image {
	margin: 0;
	overflow: hidden;
	border-radius: var(--tme-radius);
	line-height: 0;
}

.tme-page .tme-carousel-image a {
	display: block;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

/* stylelint-disable-next-line no-descending-specificity -- مكوّن مختلف. */
.tme-page .tme-carousel-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* ===== 17) رأي عميل ===== */
.tme-page .tme-testimonial {
	position: relative;
	margin: 0;
	padding: 30px;
	border-radius: var(--tme-radius);
	background-color: var(--tme-light-bg);
	text-align: center;
}

.tme-page .tme-testimonial > * + * {
	margin-block-start: 14px;
}

.tme-page .tme-testimonial__quote {
	display: block;
	color: var(--tme-primary);
	font-size: 34px;
	line-height: 1;
	opacity: 0.4;
}

.tme-page .tme-testimonial__image {
	display: inline-block;
	width: 72px;
	height: 72px;
	vertical-align: middle;
	flex: 0 0 auto;
}

/* stylelint-disable-next-line no-descending-specificity -- مكوّن مختلف. */
.tme-page .tme-testimonial__image img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
}

.tme-page .tme-testimonial__content {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--tme-text);
	font-size: 1.05em;
	font-style: normal;
	line-height: 1.8;
	quotes: none;
}

.tme-page .tme-testimonial__content::before,
.tme-page .tme-testimonial__content::after {
	content: none;
	display: none;
}

.tme-page .tme-testimonial__content p {
	margin: 0;
}

.tme-page .tme-testimonial__author {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-block-start: 16px;
}

.tme-page .tme-testimonial__meta {
	display: flex;
	flex-direction: column;
	text-align: start;
}

.tme-page .tme-testimonial--stacked .tme-testimonial__meta {
	text-align: inherit;
}

.tme-page .tme-testimonial__name {
	color: var(--tme-heading);
	font-family: var(--tme-font-heading);
	font-style: normal;
	font-weight: 700;
}

.tme-page .tme-testimonial__job {
	font-size: 0.875em;
	opacity: 0.7;
}

.tme-page .tme-stars {
	display: inline-flex;
	gap: 2px;
	color: var(--tme-star, #f5a623);
	font-size: 16px;
	vertical-align: middle;
}

.tme-page .tme-star:not(.is-filled) {
	opacity: 0.45;
}

/* ===== 18) عدّاد ===== */
.tme-page .tme-counter {
	text-align: center;
}

.tme-page .tme-counter__number-wrap {
	color: var(--tme-primary);
	font-family: var(--tme-font-heading);
	font-size: 48px;
	font-weight: 700;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.tme-page .tme-counter__title {
	margin-block-start: 8px;
	color: var(--tme-text);
}

/* ===== 19) شريط التقدم ===== */
.tme-page .tme-progress {
	--tme-progress-color: var(--tme-primary);
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.tme-page .tme-progress__head {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-block-end: 8px;
	color: var(--tme-heading);
	font-size: 0.95em;
	font-weight: 600;
}

.tme-page .tme-progress__track {
	height: 10px;
	overflow: hidden;
	border-radius: 999px;
	background-color: var(--tme-light-bg);
}

.tme-page .tme-progress__bar {
	width: var(--tme-progress, 0%);
	height: 100%;
	border-radius: inherit;
	background-color: var(--tme-progress-color);
	transition: width 1.2s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.tme-page .tme-progress.is-pending .tme-progress__bar {
	width: 0;
	transition: none;
}

/* ===== 20) تبويبات ===== */
.tme-page .tme-tabs {
	--tme-tabs-accent: var(--tme-primary);
	--tme-tabs-border: var(--tme-border);
}

.tme-page .tme-tabs__nav {
	display: flex;
	gap: 4px;
	overflow-x: auto;
	border-block-end: 1px solid var(--tme-tabs-border);
	scrollbar-width: none;
}

.tme-page .tme-tabs__nav::-webkit-scrollbar {
	display: none;
}

.tme-page .tme-tabs__tab {
	flex: 0 0 auto;
	min-height: 0;
	margin: 0 0 -1px;
	padding: 12px 20px;
	border: 0;
	border-block-end: 2px solid transparent;
	border-radius: 0;
	box-shadow: none;
	background-color: var(--tme-tabs-bg, transparent);
	color: var(--tme-tabs-color, inherit);
	font-family: inherit;
	font-size: inherit;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: inherit;
	text-transform: none;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.2s, background-color 0.2s, border-color 0.2s;
}

.tme-page .tme-tabs__tab:hover,
.tme-page .tme-tabs__tab.is-active {
	color: var(--tme-tabs-active-color, var(--tme-tabs-accent));
}

.tme-page .tme-tabs__tab.is-active {
	border-block-end-color: var(--tme-tabs-accent);
	background-color: var(--tme-tabs-active-bg, var(--tme-tabs-bg, transparent));
}

.tme-page .tme-tabs__tab:focus-visible {
	outline: 2px solid var(--tme-tabs-accent);
	outline-offset: -2px;
}

.tme-page .tme-tabs__panel {
	padding: 20px 0;
	line-height: 1.8;
}

.tme-page .tme-tabs__panel[hidden] {
	display: none;
}

.tme-page .tme-tabs__panel > :first-child {
	margin-block-start: 0;
}

.tme-page .tme-tabs__panel > :last-child {
	margin-block-end: 0;
}

@media (min-width: 768px) {

	.tme-page .tme-tabs--vertical {
		display: flex;
		align-items: flex-start;
	}

	.tme-page .tme-tabs--vertical .tme-tabs__nav {
		flex: 0 0 25%;
		flex-direction: column;
		overflow: visible;
		border-block-end: 0;
		border-inline-end: 1px solid var(--tme-tabs-border);
	}

	.tme-page .tme-tabs--vertical .tme-tabs__tab {
		margin: 0;
		margin-inline-end: -1px;
		border-block-end: 0;
		border-inline-end: 2px solid transparent;
		text-align: start;
		white-space: normal;
	}

	.tme-page .tme-tabs--vertical .tme-tabs__tab.is-active {
		border-inline-end-color: var(--tme-tabs-accent);
	}

	.tme-page .tme-tabs--vertical .tme-tabs__panels {
		flex: 1 1 auto;
		min-width: 0;
	}

	.tme-page .tme-tabs--vertical .tme-tabs__panel {
		padding: 0;
		padding-inline-start: 24px;
	}
}

/* ===== 21) أكورديون ===== */
.tme-page .tme-accordion {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.tme-page .tme-accordion__item {
	overflow: hidden;
	border: 1px solid var(--tme-border);
	border-radius: var(--tme-radius);
}

.tme-page .tme-accordion__heading {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

.tme-page .tme-accordion__toggle {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 0;
	margin: 0;
	padding: 16px 20px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background-color: var(--tme-acc-title-bg, transparent);
	color: var(--tme-acc-title, var(--tme-heading));
	font-family: var(--tme-font-heading);
	font-size: 1.05em;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: inherit;
	text-align: start;
	text-transform: none;
	cursor: pointer;
	transition: color 0.2s, background-color 0.2s;
}

.tme-page .tme-accordion__toggle:focus-visible {
	outline: 2px solid var(--tme-primary);
	outline-offset: -2px;
}

.tme-page .tme-accordion--icon-start .tme-accordion__toggle {
	flex-direction: row-reverse;
}

.tme-page .tme-accordion__item.is-open .tme-accordion__toggle {
	color: var(--tme-acc-active, var(--tme-primary));
	background-color: var(--tme-acc-active-bg, var(--tme-acc-title-bg, transparent));
}

.tme-page .tme-accordion__title {
	flex: 1 1 auto;
	min-width: 0;
}

.tme-page .tme-accordion__icon {
	display: inline-flex;
	flex: 0 0 auto;
	color: var(--tme-acc-icon, currentColor);
	font-size: 1.1em;
}

.tme-page .tme-accordion__icon-opened,
.tme-page .tme-accordion__item.is-open .tme-accordion__icon-closed {
	display: none;
}

.tme-page .tme-accordion__item.is-open .tme-accordion__icon-opened {
	display: inline-block;
}

.tme-page .tme-accordion__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease;
}

.tme-page .tme-accordion__item.is-open > .tme-accordion__panel {
	grid-template-rows: 1fr;
}

.tme-page .tme-accordion__content {
	min-height: 0;
	overflow: hidden;
	visibility: hidden;
	color: var(--tme-text);
	transition: visibility 0.3s;
}

.tme-page .tme-accordion__item.is-open .tme-accordion__content {
	visibility: visible;
}

.tme-page .tme-accordion__content-inner {
	padding: 0 20px 18px;
	line-height: 1.8;
}

.tme-page .tme-accordion__content-inner > :first-child {
	margin-block-start: 0;
}

.tme-page .tme-accordion__content-inner > :last-child {
	margin-block-end: 0;
}

/* ===== 22) تنبيه ===== */
.tme-page .tme-alert {
	--tme-alert-accent: #3b82f6;
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 20px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-inline-start: 4px solid var(--tme-alert-accent);
	border-radius: var(--tme-radius);
	background-color: #eff6ff;
	color: #1f2937;
	transition: opacity 0.3s;
}

.tme-page .tme-alert--success {
	--tme-alert-accent: #16a34a;
	background-color: #f0fdf4;
}

.tme-page .tme-alert--warning {
	--tme-alert-accent: #d97706;
	background-color: #fffbeb;
}

.tme-page .tme-alert--danger {
	--tme-alert-accent: #dc2626;
	background-color: #fef2f2;
}

.tme-page .tme-alert.is-dismissed {
	opacity: 0;
}

.tme-page .tme-alert__icon {
	flex: 0 0 auto;
	margin-block-start: 1px;
	color: var(--tme-alert-accent);
	font-size: 22px;
	line-height: 0;
}

.tme-page .tme-alert__body {
	flex: 1 1 auto;
	min-width: 0;
}

.tme-page .tme-alert__title {
	margin-block-end: 4px;
	font-weight: 700;
}

.tme-page .tme-alert__desc {
	font-size: 0.95em;
	opacity: 0.85;
}

.tme-page .tme-alert__close {
	flex: 0 0 auto;
	min-height: 0;
	margin: -4px;
	padding: 4px;
	border: 0;
	border-radius: 4px;
	box-shadow: none;
	background: none;
	color: inherit;
	font-size: 18px;
	line-height: 0;
	opacity: 0.6;
	cursor: pointer;
	transition: opacity 0.2s;
}

.tme-page .tme-alert__close:hover,
.tme-page .tme-alert__close:focus-visible {
	opacity: 1;
}

/* ===== 23) أيقونات التواصل ===== */
.tme-page .tme-social {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tme-page .tme-social__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tme-page .tme-social__item::before {
	content: none;
}

.tme-page .tme-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.6em;
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
	transition: transform 0.25s, filter 0.25s, background-color 0.25s, color 0.25s;
}

/* stylelint-disable-next-line no-descending-specificity -- مكوّن مختلف. */
.tme-page .tme-social__link svg {
	display: block;
	width: 1em;
	height: 1em;
}

.tme-page .tme-social__link:hover {
	transform: translateY(-3px);
}

.tme-page .tme-social--brand .tme-social__link {
	background-color: var(--tme-social-brand, var(--tme-primary));
	color: var(--tme-social-brand-fg, #fff);
}

.tme-page .tme-social--custom .tme-social__link {
	background-color: var(--tme-social-bg, var(--tme-primary));
	color: var(--tme-social-fg, #fff);
}

.tme-page .tme-social--circle .tme-social__link {
	border-radius: 50%;
}

.tme-page .tme-social--rounded .tme-social__link {
	border-radius: 25%;
}

.tme-page .tme-social--square .tme-social__link {
	border-radius: 0;
}

.tme-page .tme-social--brand .tme-social__link:hover {
	color: var(--tme-social-brand-fg, #fff);
	filter: brightness(0.92);
}

.tme-social__link--whatsapp {
	--tme-social-brand: #25d366;
}

.tme-social__link--instagram {
	--tme-social-brand: #e4405f;
}

.tme-social__link--x-twitter {
	--tme-social-brand: #000;
}

.tme-social__link--facebook {
	--tme-social-brand: #1877f2;
}

.tme-social__link--snapchat {
	--tme-social-brand: #fffc00;
	--tme-social-brand-fg: #000;
}

.tme-social__link--tiktok {
	--tme-social-brand: #000;
}

.tme-social__link--youtube {
	--tme-social-brand: #f00;
}

.tme-social__link--linkedin {
	--tme-social-brand: #0a66c2;
}

.tme-social__link--telegram {
	--tme-social-brand: #26a5e4;
}

.tme-social__link--pinterest {
	--tme-social-brand: #bd081c;
}

.tme-social__link--email {
	--tme-social-brand: #ea4335;
}

.tme-social__link--phone {
	--tme-social-brand: #10b981;
}

.tme-social__link--website {
	--tme-social-brand: #4b5563;
}

/* ===== 24) خريطة ===== */
.tme-page .tme-map {
	overflow: hidden;
	line-height: 0;
}

.tme-page .tme-map iframe {
	display: block;
	width: 100%;
	height: 350px;
	border: 0;
}

/* ===== 25) العد التنازلي (عقد .tme-countdown) ===== */
.tme-countdown {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.tme-countdown__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 70px;
	padding: 12px 10px;
	border-radius: var(--tme-radius);
	background-color: var(--tme-light-bg);
}

.tme-countdown__num {
	color: var(--tme-primary);
	font-family: var(--tme-font-heading);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.tme-countdown__label {
	margin-block-start: 4px;
	font-size: 13px;
	opacity: 0.75;
}

.tme-countdown__expired {
	padding: 10px;
	font-size: 1.1em;
	font-weight: 700;
}

/* ===== 26) النافذة المنبثقة للصور ===== */
html.tme-lightbox-open {
	overflow: hidden;
}

.tme-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(10, 10, 15, 0.92);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s, visibility 0s linear 0.25s;
}

/* Visible immediately on open so the close button can take focus. */
.tme-lightbox.is-open {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.25s, visibility 0s;
}

.tme-lightbox .tme-lightbox__figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 90vw;
	margin: 0;
}

.tme-lightbox .tme-lightbox__img {
	display: block;
	width: auto;
	max-width: 90vw;
	height: auto;
	max-height: 82vh;
	border-radius: 4px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
	object-fit: contain;
	user-select: none;
}

.tme-lightbox .tme-lightbox__counter {
	margin-block-start: 12px;
	color: #fff;
	font-size: 13px;
	opacity: 0.75;
	direction: ltr;
}

.tme-lightbox .tme-lightbox__btn {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	box-shadow: none;
	background-color: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s;
}

.tme-lightbox .tme-lightbox__btn:hover,
.tme-lightbox .tme-lightbox__btn:focus-visible {
	background-color: rgba(255, 255, 255, 0.25);
}

/* stylelint-disable-next-line no-descending-specificity -- مكوّن مختلف. */
.tme-lightbox .tme-lightbox__btn svg {
	width: 1em;
	height: 1em;
}

.tme-lightbox .tme-lightbox__close {
	inset-block-start: 16px;
	inset-inline-end: 16px;
}

.tme-lightbox .tme-lightbox__prev,
.tme-lightbox .tme-lightbox__next {
	inset-block-start: 50%;
	transform: translateY(-50%);
}

.tme-lightbox .tme-lightbox__prev {
	inset-inline-start: 16px;
}

.tme-lightbox .tme-lightbox__next {
	inset-inline-end: 16px;
}

.tme-lightbox.is-rtl .tme-lightbox__prev svg,
.tme-lightbox.is-rtl .tme-lightbox__next svg {
	transform: scaleX(-1);
}

.tme-lightbox.is-single .tme-lightbox__prev,
.tme-lightbox.is-single .tme-lightbox__next,
.tme-lightbox.is-single .tme-lightbox__counter {
	display: none;
}

@media (max-width: 767px) {

	.tme-lightbox .tme-lightbox__prev,
	.tme-lightbox .tme-lightbox__next {
		inset-block-start: auto;
		inset-block-end: 20px;
		transform: none;
	}
}
