/**
 * Blog Single Post template (Elementor template 1410).
 *
 * Source: approved CIE Blog Post Figma frame 2224:32980 / article 2224:33014.
 * Keep this owner isolated from Astra defaults and the separate News template.
 */

body.elementor-page-1410 {
	--cie-blog-body-size: clamp(16px, calc(13.947px + 0.5263vw), 18px);
	--cie-blog-body-leading: clamp(26px, calc(21.895px + 1.0526vw), 30px);
	--cie-blog-heading-size: clamp(20px, calc(17.947px + 0.5263vw), 22px);
	--cie-blog-heading-leading: clamp(30px, calc(27.947px + 0.5263vw), 32px);
	--cie-blog-title-size: clamp(32px, calc(23.789px + 2.1053vw), 40px);
	--cie-blog-title-leading: clamp(40px, calc(29.737px + 2.6316vw), 50px);
	--cie-blog-content-gap: clamp(20px, calc(9.737px + 2.6316vw), 30px);
	--cie-blog-section-gap: clamp(30px, calc(9.474px + 5.2632vw), 50px);
	--cie-blog-media-radius: 20px;
	--cie-blog-sticky-top: 100px;
}

/* Breadcrumb metadata: Source Sans Pro Regular, 18/30 in the source frame. */
body.elementor-page-1410 :is(
	.elementor-element-19494a0,
	.elementor-element-85064ee
) :is(.elementor-heading-title, p) {
	font-family: "Source Sans Pro", sans-serif !important;
	font-size: var(--cie-blog-body-size) !important;
	font-weight: 400 !important;
	line-height: var(--cie-blog-body-leading) !important;
	letter-spacing: 0 !important;
}

/* Article rhythm and type are owned by the shared post-content widget. */
body.elementor-page-1410 .elementor-element-7c44c6f {
	min-width: 0;
	width: 100%;
	font-family: "Source Sans Pro", sans-serif;
	font-size: var(--cie-blog-body-size);
	font-weight: 400;
	line-height: var(--cie-blog-body-leading);
	letter-spacing: 0;
	overflow-wrap: break-word;
}

body.elementor-page-1410 .elementor-element-7c44c6f > :where(p, ul, ol, blockquote, table, figure, .wp-caption) {
	margin-top: 0;
	margin-bottom: var(--cie-blog-content-gap);
}

body.elementor-page-1410 .elementor-element-7c44c6f > p:empty {
	display: none;
}

body.elementor-page-1410 .elementor-element-7c44c6f :where(p, li, blockquote, td, th) {
	font-family: "Source Sans Pro", sans-serif;
	font-size: var(--cie-blog-body-size);
	font-weight: 400;
	line-height: var(--cie-blog-body-leading);
	letter-spacing: 0;
}

body.elementor-page-1410 .elementor-element-7c44c6f > h1 {
	margin: 0 0 clamp(16px, calc(11.895px + 1.0526vw), 20px) !important;
	font-family: "Quenda", sans-serif;
	font-size: var(--cie-blog-title-size);
	font-weight: 500;
	line-height: var(--cie-blog-title-leading);
	letter-spacing: 0;
}

body.elementor-page-1410 .elementor-element-7c44c6f > :is(h2, h3, h4, h5, h6) {
	margin: var(--cie-blog-section-gap) 0 clamp(16px, calc(11.895px + 1.0526vw), 20px) !important;
	font-family: "Source Sans Pro", sans-serif;
	font-size: var(--cie-blog-heading-size);
	font-weight: 600;
	line-height: var(--cie-blog-heading-leading);
	letter-spacing: 0;
}

/* The first paragraph after lead media is the Figma intro role: 22/32 Semibold. */
body.elementor-page-1410 .elementor-element-7c44c6f > h1 + p,
body.elementor-page-1410 .elementor-element-7c44c6f > :is(p, figure):nth-child(-n + 2):has(img) + p {
	font-size: var(--cie-blog-heading-size);
	font-weight: 600;
	line-height: var(--cie-blog-heading-leading);
}

body.elementor-page-1410 .elementor-element-7c44c6f :where(strong, b) {
	font-weight: 600;
}

body.elementor-page-1410 .elementor-element-7c44c6f > :is(ul, ol) {
	padding-left: 27px;
}

body.elementor-page-1410 .elementor-element-7c44c6f li + li {
	margin-top: clamp(8px, calc(3.895px + 1.0526vw), 12px);
}

body.elementor-page-1410 .elementor-element-7c44c6f hr {
	clear: both;
	margin: var(--cie-blog-content-gap) 0;
}

/*
 * Legacy editorial media must participate in normal block flow. This removes
 * WordPress alignment floats without changing source links, captions or alt text.
 */
body.elementor-page-1410 .elementor-element-7c44c6f :where(
	.alignleft,
	.alignright,
	.aligncenter,
	.alignnone,
	figure,
	.wp-caption
) {
	float: none !important;
	clear: both;
	max-width: 100% !important;
}

body.elementor-page-1410 .elementor-element-7c44c6f > :is(p, h1, h2, h3, h4, h5, h6):has(> img),
body.elementor-page-1410 .elementor-element-7c44c6f > :is(p, h1, h2, h3, h4, h5, h6):has(> a > img),
body.elementor-page-1410 .elementor-element-7c44c6f > :is(figure, .wp-caption) {
	clear: both;
	width: 100% !important;
}

body.elementor-page-1410 .elementor-element-7c44c6f :is(
	img[class*="wp-image-"],
	figure img,
	.wp-caption img
) {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 0 var(--cie-blog-content-gap) !important;
	border-radius: var(--cie-blog-media-radius) !important;
}

/* Figma compact-media role: natural ratio, roughly half the desktop article rail. */
body.elementor-page-1410 .elementor-element-7c44c6f img.cie-blog-media--compact {
	width: min(100%, 533px) !important;
	max-width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
}

body.elementor-page-1410 .elementor-element-7c44c6f a:has(> img[class*="wp-image-"]) {
	display: block;
	width: fit-content;
	max-width: 100%;
}

body.elementor-page-1410 .elementor-element-7c44c6f .aligncenter {
	margin-right: auto !important;
	margin-left: auto !important;
}

body.elementor-page-1410 .elementor-element-7c44c6f .alignright {
	margin-left: auto !important;
}

/* Images imported inside an empty heading retain media semantics, not heading type. */
body.elementor-page-1410 .elementor-element-7c44c6f > :is(h1, h2, h3, h4, h5, h6):has(> img:only-child),
body.elementor-page-1410 .elementor-element-7c44c6f > :is(h1, h2, h3, h4, h5, h6):has(> a:only-child > img:only-child) {
	margin: var(--cie-blog-content-gap) 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
}

body.elementor-page-1410 .elementor-element-7c44c6f > :is(h1, h2, h3, h4, h5, h6):has(> img:only-child) img,
body.elementor-page-1410 .elementor-element-7c44c6f > :is(h1, h2, h3, h4, h5, h6):has(> a:only-child > img:only-child) img {
	margin-bottom: 0 !important;
}

body.elementor-page-1410 .elementor-element-7c44c6f :is(figcaption, .wp-caption-text) {
	margin: clamp(8px, calc(3.895px + 1.0526vw), 12px) 0 0;
	font-family: "Source Sans Pro", sans-serif;
	font-size: clamp(14px, calc(11.947px + 0.5263vw), 16px);
	font-weight: 400;
	line-height: clamp(21px, calc(16.895px + 1.0526vw), 25px);
	letter-spacing: 0;
}

body.elementor-page-1410 .elementor-element-7c44c6f :is(iframe, video, embed, object) {
	display: block;
	max-width: 100%;
}

/* Figma article group ends with 100px of desktop breathing room. */
body.elementor-page-1410 .elementor-element-16d48c5 {
	--padding-bottom: clamp(60px, calc(18.947px + 10.5263vw), 100px) !important;
}

/*
 * Keep the template-owned enquiry panel below the sticky site-header stack.
 * Elementor activates this panel from 1024px; shorter viewports retain access
 * to the complete form through panel scrolling instead of clipping its footer.
 */
@media (min-width: 1024px) {
	body.elementor-page-1410 .elementor-element-f382b11 {
		position: sticky !important;
		top: var(--cie-blog-sticky-top) !important;
		inset-inline-start: auto !important;
		align-self: flex-start;
		width: 100% !important;
		max-height: calc(100vh - var(--cie-blog-sticky-top) - 20px) !important;
		max-height: calc(100dvh - var(--cie-blog-sticky-top) - 20px) !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
	}

	body.elementor-page-1410 .elementor-element-f382b11.elementor-sticky__spacer {
		display: none !important;
	}
}

@media (min-width: 1200px) {
	body.elementor-page-1410 {
		/* Header 7030 exposes a 93–107px desktop stack; 23px keeps >=20px clear. */
		--cie-blog-sticky-top: calc(clamp(93px, 6.55vw, 107px) + 23px);
	}
}

@media (max-width: 767px) {
	body.elementor-page-1410 .elementor-element-7c44c6f > :is(ul, ol) {
		padding-left: 24px;
	}
}
