/**
 * Legal / policies reading layout — scoped to body.ssa-legal-page.
 * Presentation only; does not alter legal wording.
 */

.ssa-legal-page {
	direction: rtl;
}

.ssa-legal-page .ssa-page-body {
	background: #f5f6fa;
	padding: 1.5rem 0 3.5rem;
}

/* Outer shell aligns with site container */
.ssa-legal-page .ssa-page-body > .elementor {
	max-width: var(--ssa-container, 1120px);
	margin-inline: auto;
	padding-inline: 1rem;
}

/* Reading card */
.ssa-legal-page .ssa-legal-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
}

@media (min-width: 1024px) {
	.ssa-legal-page--toc .ssa-legal-shell {
		grid-template-columns: 15.5rem minmax(0, 1fr);
		gap: 1.75rem;
	}
}

.ssa-legal-page .ssa-legal-prose {
	background: #ffffff;
	border: 1px solid #e6e9f0;
	border-radius: 14px;
	padding: 1.35rem 1.25rem 2rem;
	box-shadow: 0 1px 2px rgba(38, 34, 97, 0.04);
	/* Comfortable measure — not full 1120px */
	max-width: 46rem;
	width: 100%;
	margin-inline: auto;
	color: #3a3f4b;
	font-size: 1.02rem;
	line-height: 1.9;
	font-family: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif;
}

@media (min-width: 1024px) {
	.ssa-legal-page--toc .ssa-legal-prose {
		margin-inline: 0;
	}
}

@media (min-width: 768px) {
	.ssa-legal-page .ssa-legal-prose {
		padding: 1.75rem 1.85rem 2.35rem;
	}
}

/* Soft-hide Elementor duplicate title matching page H1 */
.ssa-legal-page .ssa-legal-prose .elementor-widget-heading:first-child,
.ssa-legal-page .ssa-legal-prose > .elementor > .e-con > .e-con-inner > .elementor-widget-heading:first-child,
.ssa-legal-page .ssa-legal-duplicate-title {
	display: none !important;
}

.ssa-legal-page .ssa-legal-prose h2,
.ssa-legal-page .ssa-legal-prose h3,
.ssa-legal-page .ssa-legal-prose h4,
.ssa-legal-page .ssa-legal-prose .elementor-heading-title {
	color: #262261;
	font-weight: 700;
	line-height: 1.4;
	scroll-margin-top: 10.5rem;
}

.ssa-legal-page .ssa-legal-prose h2,
.ssa-legal-page .ssa-legal-prose h2.elementor-heading-title {
	font-size: clamp(1.15rem, 2vw, 1.35rem);
	margin: 1.75rem 0 0.7rem;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid #eef0f5;
}

.ssa-legal-page .ssa-legal-prose h3,
.ssa-legal-page .ssa-legal-prose h3.elementor-heading-title {
	font-size: 1.08rem;
	margin: 1.35rem 0 0.55rem;
}

.ssa-legal-page .ssa-legal-prose h4 {
	font-size: 1.02rem;
	margin: 1.15rem 0 0.45rem;
}

.ssa-legal-page .ssa-legal-prose p {
	margin: 0 0 0.95rem;
}

.ssa-legal-page .ssa-legal-prose ul,
.ssa-legal-page .ssa-legal-prose ol {
	margin: 0 0 1.05rem;
	padding-inline-start: 1.35rem;
}

.ssa-legal-page .ssa-legal-prose li {
	margin-bottom: 0.45rem;
}

.ssa-legal-page .ssa-legal-prose li::marker {
	color: #262261;
}

.ssa-legal-page .ssa-legal-prose a {
	color: #EE4036;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ssa-legal-page .ssa-legal-prose a:hover,
.ssa-legal-page .ssa-legal-prose a:focus-visible {
	color: #ee4036;
}

.ssa-legal-page .ssa-legal-prose a:focus-visible {
	outline: 2px solid #ee4036;
	outline-offset: 2px;
	border-radius: 2px;
}

.ssa-legal-page .ssa-legal-prose hr {
	border: 0;
	border-top: 1px solid #e1e8ed;
	margin: 1.5rem 0;
}

.ssa-legal-page .ssa-legal-prose strong,
.ssa-legal-page .ssa-legal-prose b {
	color: #262261;
	font-weight: 700;
}

/* Tables — responsive scroll, no data hidden */
.ssa-legal-page .ssa-legal-table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 1rem 0 1.25rem;
	border: 1px solid #e1e8ed;
	border-radius: 10px;
}

.ssa-legal-page .ssa-legal-prose table {
	width: 100%;
	min-width: 28rem;
	border-collapse: collapse;
	margin: 0;
	font-size: 0.95rem;
}

.ssa-legal-page .ssa-legal-prose th,
.ssa-legal-page .ssa-legal-prose td {
	border: 1px solid #e1e8ed;
	padding: 0.6rem 0.75rem;
	text-align: right;
	vertical-align: top;
}

.ssa-legal-page .ssa-legal-prose th {
	background: #f3f4f8;
	color: #262261;
	font-weight: 700;
}

.ssa-legal-page .ssa-legal-prose img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

/* ---- TOC ---- */
.ssa-legal-toc {
	background: #ffffff;
	border: 1px solid #e6e9f0;
	border-radius: 12px;
	padding: 0.85rem 0.95rem 1rem;
	box-shadow: 0 1px 2px rgba(38, 34, 97, 0.04);
}

@media (min-width: 1024px) {
	.ssa-legal-toc {
		position: sticky;
		top: 9.75rem;
		max-height: calc(100vh - 11rem);
		overflow: auto;
	}
}

.ssa-legal-toc__summary,
.ssa-legal-toc__title {
	display: block;
	font-size: 0.92rem;
	font-weight: 700;
	color: #262261;
	margin: 0 0 0.55rem;
	cursor: pointer;
	list-style: none;
}

.ssa-legal-toc__summary::-webkit-details-marker {
	display: none;
}

.ssa-legal-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.ssa-legal-toc__list a {
	display: block;
	padding: 0.35rem 0.45rem;
	border-radius: 6px;
	color: #4b4f58;
	text-decoration: none;
	font-size: 0.88rem;
	line-height: 1.45;
	border-inline-start: 2px solid transparent;
}

.ssa-legal-toc__list a:hover,
.ssa-legal-toc__list a:focus-visible {
	background: #f5f6fa;
	color: #262261;
}

.ssa-legal-toc__list a.is-active {
	color: #ee4036;
	border-inline-start-color: #ee4036;
	font-weight: 600;
	background: #fff5f4;
}

.ssa-legal-toc__list a:focus-visible {
	outline: 2px solid #ee4036;
	outline-offset: 1px;
}

@media (max-width: 1023px) {
	.ssa-legal-toc details[open] .ssa-legal-toc__list {
		margin-top: 0.35rem;
	}
}

/* ---- FAQ accordion polish (Elementor toggle) ---- */
.ssa-legal-page--faq .ssa-legal-prose {
	max-width: 46rem;
}

.ssa-legal-page--faq .elementor-toggle-item,
.ssa-legal-page--faq .elementor-accordion-item {
	border: 1px solid #e6e9f0 !important;
	border-radius: 10px !important;
	margin-bottom: 0.65rem !important;
	overflow: hidden;
	background: #fff;
}

.ssa-legal-page--faq .elementor-tab-title {
	color: #262261 !important;
	font-weight: 700 !important;
	padding: 0.85rem 1rem !important;
	background: #f8f9fc !important;
}

.ssa-legal-page--faq .elementor-tab-title:hover,
.ssa-legal-page--faq .elementor-tab-title:focus {
	color: #ee4036 !important;
}

.ssa-legal-page--faq .elementor-tab-content {
	padding: 0.85rem 1rem 1.1rem !important;
	line-height: 1.85;
	color: #3a3f4b;
}

/* SLA images / definitions */
.ssa-legal-page--sla .ssa-legal-prose {
	max-width: 52rem;
}

.ssa-legal-page--sla .elementor-widget-image {
	margin: 1rem 0;
}

/* Footer policies column density on narrow screens */
@media (max-width: 1024px) {
	.ssa-footer-policies-col {
		min-width: 0;
	}
}

/* Avoid Elementor full-bleed stretching reading text */
.ssa-legal-page .elementor-widget-text-editor .elementor-widget-container,
.ssa-legal-page .elementor-widget-heading .elementor-widget-container {
	max-width: none;
}
