/**
 * NewsMaker — article & featured image containment (single posts, pages, Gutenberg, Classic).
 *
 * Guarantees images stay centered, scale down when large, and never overflow the content column.
 */

/* Shared editorial content width (matches .eb-article-content max-width in single-post.css). */
.eb-single .eb-article-cover,
.eb-single .eb-article-content.entry-content,
.eb-page-body.entry-content {
	--eb-article-media-max: min(100%, 780px);
}

/* —— Centered media wrapper —— */

.eb-article-media {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	inline-size: 100%;
	max-inline-size: 100%;
	margin-inline: auto;
	overflow: hidden;
	text-align: center;
}

.eb-article-media > :is(img, picture, .eb-thumb, .eb-thumb-fallback) {
	flex: 0 1 auto;
	max-inline-size: 100%;
}

/* —— Core contained image rules (natural aspect ratio) —— */

.eb-article-media__img,
.eb-article-media img,
.eb-article-cover .eb-article-media img,
.eb-single .eb-article-cover > img,
.eb-single .eb-article-cover .eb-article-media .eb-thumb img,
.eb-single .eb-article-cover .eb-article-media img {
	display: block;
	inline-size: auto;
	max-inline-size: 100%;
	block-size: auto;
	height: auto;
	width: auto;
	max-width: 100%;
	margin-inline: auto;
	object-fit: contain;
	object-position: center center;
}

/* Featured cover: no forced crop / aspect frame */
.eb-single .eb-article-cover .eb-article-media .eb-thumb,
.eb-single .eb-article-cover .eb-article-media .eb-thumb--natural {
	aspect-ratio: auto;
	inline-size: auto;
	max-inline-size: 100%;
	block-size: auto;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-inline: auto;
	background: transparent;
}

.eb-single .eb-article-cover .eb-article-media .eb-thumb-fallback {
	inline-size: 100%;
	max-inline-size: 100%;
	min-block-size: clamp(160px, 32vw, 280px);
	aspect-ratio: 16 / 9;
}

/* —— Article body: Gutenberg, Classic Editor, Elementor post content —— */

:is(
	.entry-content,
	.eb-page-body.entry-content,
	.elementor-widget-theme-post-content .elementor-widget-container,
	.elementor-widget-text-editor .elementor-widget-container
) {
	overflow-wrap: break-word;
}

:is(.entry-content, .eb-page-body.entry-content) :is(.wp-block-image, figure.wp-block-image, .wp-caption, figure:where(:not(.eb-inline-related *))) {
	display: block;
	inline-size: auto;
	max-inline-size: 100%;
	margin-inline: auto;
	margin-block: clamp(1rem, 2.5vw, 1.35rem);
	text-align: center;
	float: none;
	clear: both;
	overflow: hidden;
}

:is(.entry-content, .eb-page-body.entry-content) :is(.wp-block-image, figure.wp-block-image) img,
:is(.entry-content, .eb-page-body.entry-content) :is(.wp-block-image, figure.wp-block-image) :is(img, picture img),
:is(.entry-content, .eb-page-body.entry-content) .wp-caption img,
:is(.entry-content, .eb-page-body.entry-content) figure:where(:not(.eb-inline-related *)) img,
:is(.entry-content, .eb-page-body.entry-content) img:where(
	:not(.avatar):not(.emoji):not(.eb-inline-related img):not(.eb-nb-card__img):not(.eb-thumb--hover-zoom img)
) {
	display: block;
	inline-size: auto;
	max-inline-size: 100%;
	block-size: auto;
	height: auto;
	width: auto;
	max-width: 100%;
	margin-inline: auto;
	object-fit: contain;
	object-position: center center;
}

/* Neutralize alignment floats inside article content — keep images centered & contained */
:is(.entry-content, .eb-page-body.entry-content) :is(.alignleft, .alignright, .aligncenter, .alignnone) {
	float: none;
	margin-inline: auto;
	text-align: center;
	max-inline-size: 100%;
}

:is(.entry-content, .eb-page-body.entry-content) :is(.alignwide, .alignfull, .wp-block-image.alignwide, .wp-block-image.alignfull) {
	inline-size: auto;
	max-inline-size: 100%;
	margin-inline: auto;
	float: none;
	transform: none;
	position: static;
	left: auto;
	right: auto;
}

:is(.entry-content, .eb-page-body.entry-content) .wp-block-gallery {
	max-inline-size: 100%;
	margin-inline: auto;
	overflow: hidden;
}

:is(.entry-content, .eb-page-body.entry-content) .wp-block-gallery .wp-block-image {
	margin-inline: auto;
}

/* Elementor image widgets inside article areas */
.eb-single .elementor-widget-image .elementor-widget-container,
.eb-single .elementor-widget-image img,
.elementor-widget-theme-post-content .elementor-widget-image img {
	max-inline-size: 100%;
	margin-inline: auto;
}

.elementor-widget-theme-post-content .elementor-widget-image img {
	inline-size: auto;
	block-size: auto;
	height: auto;
	width: auto;
	object-fit: contain;
}

/* Preserve card/list thumbnail crop outside article-media wrappers */
.eb-inline-related .eb-thumb img,
.eb-nb-card .eb-thumb img,
.eb-single-related .eb-thumb img {
	inline-size: 100%;
	block-size: 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* RTL: logical centering (margin-inline: auto) — no float overrides needed */

@media (max-width: 767px) {
	.eb-single .eb-article-cover,
	.eb-single .eb-article-content.entry-content,
	.eb-page-body.entry-content {
		--eb-article-media-max: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eb-article-media img {
		transition: none;
	}
}
