/*
 * Blog article and archive styling. Brand tokens match Elementor kit 6:
 * cream #F6E0B6, dark #15131D, card #3C3750, orange #F57F20.
 */

.elementor-widget-theme-post-content {
	color: #F6E0B6;
	font-family: "Space Grotesk", sans-serif;
	font-size: 18px;
	line-height: 1.7;
}

.elementor-widget-theme-post-content h2,
.elementor-widget-theme-post-content h3,
.elementor-widget-theme-post-content h4 {
	color: #F6E0B6;
	font-family: "Dunbar Low", sans-serif;
	font-weight: 700;
	line-height: 1.2;
	margin: 1.6em 0 0.5em;
}

.elementor-widget-theme-post-content h2 {
	font-size: 34px;
}

.elementor-widget-theme-post-content h3 {
	font-size: 26px;
}

.elementor-widget-theme-post-content h4 {
	font-size: 21px;
}

.elementor-widget-theme-post-content p {
	margin: 0 0 1.1em;
}

/*
 * Underlined, not colour-only: the tech scan flags links that rely on colour
 * alone. The extra .elementor scope beats Elementor's own `.elementor a` reset.
 */
.elementor .elementor-widget-theme-post-content a {
	color: #F57F20;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.elementor .elementor-widget-theme-post-content a:hover {
	color: #F6E0B6;
}

.elementor-widget-theme-post-content strong {
	color: #F6E0B6;
}

.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
	margin: 0 0 1.1em;
	padding-left: 1.4em;
}

.elementor-widget-theme-post-content li {
	margin-bottom: 0.4em;
}

.elementor-widget-theme-post-content li::marker {
	color: #F57F20;
}

.elementor-widget-theme-post-content blockquote {
	margin: 1.5em 0;
	padding: 1em 1.4em;
	background: #3C3750;
	border-left: 4px solid #F57F20;
	border-radius: 0 16px 16px 0;
}

.elementor-widget-theme-post-content blockquote p:last-child {
	margin-bottom: 0;
}

.elementor-widget-theme-post-content img {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
}

.elementor-widget-theme-post-content figure {
	margin: 1.5em 0;
}

.elementor-widget-theme-post-content figcaption {
	margin-top: 0.5em;
	font-size: 15px;
	color: rgba(246, 224, 182, 0.7);
}

/* Block display lets wide tables scroll on mobile instead of breaking the layout. */
.elementor-widget-theme-post-content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	margin: 1.5em 0;
	border-collapse: collapse;
	font-size: 16px;
}

.elementor-widget-theme-post-content th,
.elementor-widget-theme-post-content td {
	padding: 0.7em 1em;
	border: 1px solid rgba(246, 224, 182, 0.2);
	min-width: 9em;
	text-align: left;
	vertical-align: top;
}

.elementor-widget-theme-post-content th {
	background: #3C3750;
	font-weight: 700;
}

.elementor-widget-theme-post-content hr {
	margin: 2em 0;
	border: 0;
	border-top: 1px solid rgba(246, 224, 182, 0.2);
}

.elementor-widget-theme-post-content code {
	padding: 0.1em 0.4em;
	background: #3C3750;
	border-radius: 6px;
	font-size: 0.9em;
}

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

	.elementor-widget-theme-post-content h2 {
		font-size: 27px;
	}

	.elementor-widget-theme-post-content h3 {
		font-size: 22px;
	}
}

/*
 * Archive cards. NOVA fills the manual excerpt, which Elementor does not trim to
 * the widget's excerpt length, so show only its first paragraph and clamp that
 * visually to keep the cards even.
 */
.elementor-widget-archive-posts .elementor-post__excerpt p:not(:first-child) {
	display: none;
}

.elementor-widget-archive-posts .elementor-post__excerpt p {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.elementor-widget-archive-posts .elementor-post__title a:hover {
	color: #F57F20;
}

.elementor-widget-archive-posts .elementor-post__thumbnail img {
	border-radius: 0;
}
