/**
 * Hot House — Unified post/article cards (Elementor Posts + archives).
 * Scope: body.hh-blog-hub | body.hh-unified-posts
 * Widget: .elementor-element-hhBlogPostsW | any .elementor-widget-posts
 */

/* Shared scope */
body.hh-blog-hub,
body.hh-unified-posts {
	--hh-card-radius: 6px;
	--hh-card-border: #e2e6ea;
	--hh-card-shadow: 0 2px 14px rgba(13, 17, 23, 0.06);
	--hh-card-pad: 1.35rem 1.5rem 1.5rem;
}

/* Grid */
body.hh-blog-hub .elementor-widget-posts .elementor-posts-container,
body.hh-unified-posts .elementor-widget-posts .elementor-posts-container {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1.75rem !important;
	align-items: stretch !important;
	max-width: 1140px;
	margin-inline: auto;
}

@media (max-width: 64rem) {
	body.hh-blog-hub .elementor-widget-posts .elementor-posts-container,
	body.hh-unified-posts .elementor-widget-posts .elementor-posts-container {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 40rem) {
	body.hh-blog-hub .elementor-widget-posts .elementor-posts-container,
	body.hh-unified-posts .elementor-widget-posts .elementor-posts-container {
		grid-template-columns: 1fr !important;
		gap: 1.25rem !important;
	}
}

/* Card — force thumbnail on top (not 25% side column) */
body.hh-blog-hub .elementor-widget-posts .elementor-post.elementor-grid-item,
body.hh-unified-posts .elementor-widget-posts .elementor-post.elementor-grid-item {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
	border: 1px solid var(--hh-card-border) !important;
	border-radius: var(--hh-card-radius) !important;
	overflow: hidden !important;
	box-shadow: var(--hh-card-shadow) !important;
	transition: box-shadow 0.22s ease, transform 0.22s ease, border-color 0.22s ease !important;
}

body.hh-blog-hub .elementor-widget-posts .elementor-post:hover,
body.hh-unified-posts .elementor-widget-posts .elementor-post:hover {
	border-color: #061d33 !important;
	box-shadow: 0 10px 28px rgba(13, 17, 23, 0.1) !important;
	transform: translateY(-3px);
}

/* Image area — full width band (fixes small corner image bug) */
body.hh-blog-hub .elementor-widget-posts .elementor-post__thumbnail__link,
body.hh-unified-posts .elementor-widget-posts .elementor-post__thumbnail__link {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
	order: 0 !important;
	margin: 0 !important;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #f4f6f8;
}

body.hh-blog-hub .elementor-widget-posts .elementor-post__thumbnail,
body.hh-unified-posts .elementor-widget-posts .elementor-post__thumbnail {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	padding-bottom: 0 !important;
	margin: 0 !important;
	overflow: hidden;
}

body.hh-blog-hub .elementor-widget-posts .elementor-posts-container .elementor-post__thumbnail,
body.hh-unified-posts .elementor-widget-posts .elementor-posts-container .elementor-post__thumbnail {
	padding-bottom: 0 !important;
}

body.hh-blog-hub .elementor-widget-posts .elementor-post__thumbnail img,
body.hh-unified-posts .elementor-widget-posts .elementor-post__thumbnail img {
	position: absolute !important;
	inset: 0 !important;
	left: 0 !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center !important;
	transform: none !important;
	display: block !important;
}

/* Text + CTA */
body.hh-blog-hub .elementor-widget-posts .elementor-post__text,
body.hh-unified-posts .elementor-widget-posts .elementor-post__text {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	padding: var(--hh-card-pad) !important;
	gap: 0.65rem !important;
	margin: 0 !important;
	min-height: 11rem;
	box-sizing: border-box;
}

body.hh-blog-hub .elementor-widget-posts .elementor-post__title,
body.hh-unified-posts .elementor-widget-posts .elementor-post__title {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 1.12rem !important;
	line-height: 1.35 !important;
}

body.hh-blog-hub .elementor-widget-posts .elementor-post__title a,
body.hh-unified-posts .elementor-widget-posts .elementor-post__title a {
	color: #0d1117 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

body.hh-blog-hub .elementor-widget-posts .elementor-post__meta-data,
body.hh-unified-posts .elementor-widget-posts .elementor-post__meta-data {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.78rem !important;
	color: #66707c !important;
}

body.hh-blog-hub .elementor-widget-posts .elementor-post__excerpt,
body.hh-unified-posts .elementor-widget-posts .elementor-post__excerpt {
	margin: 0 !important;
	flex: 1 1 auto !important;
}

body.hh-blog-hub .elementor-widget-posts .elementor-post__excerpt p,
body.hh-unified-posts .elementor-widget-posts .elementor-post__excerpt p {
	margin: 0 !important;
	font-size: 0.9rem !important;
	line-height: 1.6 !important;
	color: #66707c !important;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

body.hh-blog-hub .elementor-widget-posts a.elementor-post__read-more,
body.hh-unified-posts .elementor-widget-posts a.elementor-post__read-more {
	margin-top: auto !important;
	align-self: stretch !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	box-sizing: border-box;
	padding: 0.72rem 1.15rem !important;
	background: #061d33 !important;
	color: #ffffff !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border: none !important;
	border-radius: 4px !important;
}

body.hh-blog-hub .elementor-widget-posts a.elementor-post__read-more:hover,
body.hh-unified-posts .elementor-widget-posts a.elementor-post__read-more:hover {
	background: #0b2a45 !important;
	color: #ffffff !important;
}

/* PHP .hh-card grids (related, services) */
body.hh-showcase-v-b .hh-card-grid .hh-card,
body.hh-product-premium .hh-card-grid .hh-card,
body.hh-unified-posts .hh-card-grid .hh-card {
	border-radius: var(--hh-card-radius);
	border-color: var(--hh-card-border);
	box-shadow: var(--hh-card-shadow);
}

body.hh-showcase-v-b .hh-card-grid .hh-card:hover,
body.hh-product-premium .hh-card-grid .hh-card:hover,
body.hh-unified-posts .hh-card-grid .hh-card:hover {
	border-color: #061d33;
	box-shadow: 0 10px 28px rgba(13, 17, 23, 0.1);
}

body.hh-showcase-v-b .hh-card__body,
body.hh-product-premium .hh-card__body,
body.hh-unified-posts .hh-card__body {
	padding: var(--hh-card-pad);
}

body.hh-showcase-v-b .hh-card__media,
body.hh-unified-posts .hh-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

body.hh-showcase-v-b .hh-card__media img,
body.hh-unified-posts .hh-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.hh-showcase-v-b .hh-card__actions .hh-btn--secondary,
body.hh-product-premium .hh-card__actions .hh-btn--secondary {
	display: inline-flex;
	justify-content: center;
	width: 100%;
	background: #061d33 !important;
	color: #fff !important;
	border-color: #061d33 !important;
	border-radius: 4px;
}

body.hh-showcase-v-b .hh-card__actions .hh-btn--secondary::after,
body.hh-product-premium .hh-card__actions .hh-btn--secondary::after {
	content: none;
}
