/**
 * Study.sa Blog / Single Post content safeguards.
 * Scoped to blog surfaces only — does not mutate post_content in DB.
 */

.ssa-single-content,
.ssa-single-header,
.ssa-single-featured,
.elementor-location-single {
	max-width: 100%;
	overflow-x: clip;
}

.ssa-post-content,
.ssa-single-content,
.elementor-widget-theme-post-content,
.elementor-widget-theme-post-content .elementor-widget-container {
	overflow-wrap: anywhere;
	word-wrap: break-word;
	max-width: 100%;
}

.ssa-post-content img,
.ssa-single-content img,
.elementor-widget-theme-post-content img,
.elementor-widget-theme-post-featured-image img {
	max-width: 100% !important;
	height: auto !important;
}

.ssa-post-content figure,
.ssa-single-content figure,
.elementor-widget-theme-post-content figure,
.ssa-post-content .wp-caption,
.elementor-widget-theme-post-content .wp-caption {
	max-width: 100%;
	margin: 1.25em auto;
}

.ssa-post-content figcaption,
.ssa-post-content .wp-caption-text,
.elementor-widget-theme-post-content figcaption,
.elementor-widget-theme-post-content .wp-caption-text {
	font-size: 0.92em;
	color: #5a6b6e;
	text-align: center;
	margin-top: 0.5em;
	line-height: 1.6;
}

/* Tables: page must not overflow; table may scroll locally */
.ssa-post-content table,
.elementor-widget-theme-post-content table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-collapse: collapse;
}

.ssa-post-content pre,
.ssa-post-content code,
.elementor-widget-theme-post-content pre,
.elementor-widget-theme-post-content code {
	max-width: 100%;
	overflow-x: auto;
	white-space: pre-wrap;
	word-break: break-word;
}

.ssa-post-content a,
.elementor-widget-theme-post-content a {
	overflow-wrap: anywhere;
	color: #262261;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ssa-post-content ul,
.ssa-post-content ol,
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
	padding-inline-start: 1.5em;
	margin-inline-start: 0;
}

.ssa-post-content blockquote,
.elementor-widget-theme-post-content blockquote {
	margin: 1.5em 0;
	padding: 0.85em 1.1em;
	border-inline-start: 3px solid #EE4036;
	background: #F7F9FB;
	color: #4B4F58;
}

.ssa-post-content h2,
.ssa-post-content h3,
.ssa-post-content h4,
.elementor-widget-theme-post-content h2,
.elementor-widget-theme-post-content h3,
.elementor-widget-theme-post-content h4 {
	color: #1c1a4a;
	line-height: 1.4;
}

.ssa-post-content p,
.elementor-widget-theme-post-content p {
	font-size: clamp(16px, 1.05vw, 18px);
	line-height: 1.85;
	color: #4B4F58;
}

.ssa-blog-card__title,
.ssa-single-title,
.elementor-widget-theme-post-title .elementor-heading-title {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.ssa-blog-card__media img,
.ssa-blog-card img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
	background: #e2e8e8;
}

/* Graceful empty featured-image state for cards */
.ssa-blog-card .elementor-widget-image .elementor-widget-container:empty,
.ssa-blog-card .elementor-widget-image img[src=""],
.ssa-blog-card .elementor-widget-image img:not([src]) {
	min-height: 160px;
	background: linear-gradient(135deg, #262261 0%, #262261 100%);
}

.ssa-blog-hero,
.ssa-blog-grid-wrap {
	width: 100%;
}

.ssa-blog-card__title .elementor-heading-title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media (max-width: 767px) {
	.ssa-post-content p,
	.elementor-widget-theme-post-content p {
		font-size: 16px;
	}

	body.single-post,
	body.category,
	.elementor-page-2392 {
		overflow-x: clip;
	}
}
