/**
 * Hot House — Visual Enrichment (icons, cards, callouts, comparisons)
 * Loaded on showcase + guide posts.
 */

/* Icon masks — outline family */
.hh-icon {
	display: inline-flex;
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	background-color: var(--hh-ve-accent, #061d33);
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

.hh-icon--flame {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M12 3c2 4 6 5 6 10a6 6 0 1 1-12 0c0-5 4-6 6-10z'/%3E%3C/svg%3E");
}
.hh-icon--wood {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M6 18h12M8 18l2-8 2 6 2-6 2 8'/%3E%3C/svg%3E");
}
.hh-icon--pellet {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cellipse cx='12' cy='14' rx='7' ry='4'/%3E%3Cpath d='M5 14h14M8 10h8'/%3E%3C/svg%3E");
}
.hh-icon--chimney {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M6 20V8l4-2v14M14 20V6h4v14'/%3E%3C/svg%3E");
}
.hh-icon--home {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M4 11 12 4l8 7M6 10v10h12V10'/%3E%3C/svg%3E");
}
.hh-icon--plan {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Crect x='4' y='4' width='16' height='16' rx='1'/%3E%3Cpath d='M8 8h8M8 12h5M8 16h8'/%3E%3C/svg%3E");
}
.hh-icon--install {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M12 3v6M9 6l3-3 3 3M5 21h14M8 21l2-8h4l2 8'/%3E%3C/svg%3E");
}
.hh-icon--service {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M14 6l-4 4M10 10l-2 2a2 2 0 0 0 0 3l1 1a2 2 0 0 0 3 0l2-2M16 4l4 4'/%3E%3C/svg%3E");
}
.hh-icon--consult {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M4 6h16v10H8l-4 4V6z'/%3E%3C/svg%3E");
}
.hh-icon--safety {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M12 3l8 4v6c0 5-4 7-8 8-4-1-8-3-8-8V7z'/%3E%3C/svg%3E");
}
.hh-icon--heat {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M4 14h16M8 14V8M12 14V6M16 14v-4'/%3E%3C/svg%3E");
}
.hh-icon--outdoor {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M4 18h16M8 18V10l4-4 4 4v8'/%3E%3C/svg%3E");
}
.hh-icon--electric {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M13 3L6 14h6l-1 7 7-11h-6z'/%3E%3C/svg%3E");
}
.hh-icon--check {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E");
}
.hh-icon--delivery {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M3 8h11v8H3M14 10h4l3 3v3h-7'/%3E%3C/svg%3E");
}
.hh-icon--maintenance {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75'%3E%3Cpath d='M12 8a4 4 0 0 1 4 4c0 2-2 3-4 6-2-3-4-4-4-6a4 4 0 0 1 4-4z'/%3E%3C/svg%3E");
}

/* Intro block */
.hh-enrich-intro {
	max-width: 720px;
	margin-inline: auto;
	text-align: center;
}

.hh-enrich-intro__title {
	margin: 0 0 0.75rem;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--hh-ve-ink, #0d1117);
}

.hh-enrich-intro__text {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--hh-ve-muted, #66707c);
}

/* Icon grid */
.hh-icon-grid {
	display: grid;
	gap: 1.25rem;
	margin: 1.5rem auto 0;
	max-width: 1100px;
}

.hh-icon-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hh-icon-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 64rem) {
	.hh-icon-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 40rem) {
	.hh-icon-grid--3,
	.hh-icon-grid--4 {
		grid-template-columns: 1fr;
	}
}

.hh-icon-card {
	background: #fff;
	border: 1px solid #e2e6ea;
	border-radius: 6px;
	padding: 1.35rem 1.25rem;
	text-align: center;
	transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.hh-enrich-band .hh-icon-card .hh-icon {
	background-color: #061d33;
}

.hh-enrich-band__lead {
	max-width: 36rem;
	margin: 0 auto 1.5rem;
	font-size: 1.02rem;
	line-height: 1.65;
	text-align: center;
}

.hh-icon-card:hover {
	border-color: #061d33;
	box-shadow: 0 8px 28px rgba(13, 17, 23, 0.08);
	transform: translateY(-2px);
}

.hh-icon-card .hh-icon {
	margin: 0 auto 0.85rem;
}

.hh-icon-card__title {
	margin: 0 0 0.4rem;
	font-size: 1rem;
	font-weight: 600;
	color: #061d33;
}

.hh-icon-card__text {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: #66707c;
}

/* Credibility row */
.hh-cred-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem 3rem;
	max-width: 900px;
	margin: 0 auto;
}

.hh-cred-item {
	text-align: center;
}

.hh-cred-item__n {
	display: block;
	font-size: 1.35rem;
	font-weight: 600;
	color: #f7f8f8;
	letter-spacing: 0.02em;
}

.hh-cred-item__l {
	display: block;
	font-size: 0.78rem;
	color: #c5cad0;
	margin-top: 0.2rem;
}

/* Callout */
.hh-callout {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	max-width: 720px;
	margin: 0 auto;
	padding: 1.15rem 1.25rem;
	background: #f4f6f8;
	border-inline-start: 3px solid #061d33;
	border-radius: 4px;
}

.hh-callout--safety {
	border-inline-start-color: #8b3a3a;
	background: #faf6f6;
}

.hh-callout__body strong {
	display: block;
	margin-bottom: 0.35rem;
	color: #061d33;
}

.hh-callout__body p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: #66707c;
}

/* Category tile enrichment */
.hh-cat-tile__fit {
	margin: 0.35rem 0 0;
	font-size: 0.78rem;
	color: #66707c;
	font-weight: 500;
}

.hh-cat-tile:hover {
	box-shadow: 0 10px 32px rgba(13, 17, 23, 0.1);
}

/* Comparison (guides) */
.hh-compare-block {
	margin: 2.5rem 0;
}

.hh-compare-block__title {
	font-size: 1.35rem;
	color: #061d33;
	margin: 0 0 1.25rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #061d33;
	display: inline-block;
}

.hh-compare-block__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

@media (max-width: 48rem) {
	.hh-compare-block__grid {
		grid-template-columns: 1fr;
	}
}

.hh-compare-col {
	background: #f4f6f8;
	border: 1px solid #e2e6ea;
	border-radius: 6px;
	padding: 1.5rem;
	text-align: center;
}

.hh-compare-col--a {
	border-top: 3px solid #061d33;
}

.hh-compare-col--b {
	border-top: 3px solid #a88b5b;
}

.hh-compare-col h3 {
	margin: 0.75rem 0 0.5rem;
	font-size: 1.1rem;
	color: #0d1117;
}

.hh-compare-col__take {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.55;
	color: #66707c;
}

/* Guide decision / fit grids (posts) */
.hh-guide-visual {
	margin: 2rem 0 2.5rem;
}

.hh-guide-visual__title {
	font-size: 1.35rem;
	font-weight: 600;
	color: #061d33;
	margin: 0 0 1rem;
}

.hh-fit-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}

.hh-fit-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.8rem;
	padding: 0.35rem 0.75rem;
	background: #fff;
	border: 1px solid #e2e6ea;
	border-radius: 999px;
	color: #061d33;
}

.hh-fit-pill .hh-icon {
	width: 1.1rem;
	height: 1.1rem;
}

body.hh-visual-enriched {
	--hh-ve-ink: #0d1117;
	--hh-ve-muted: #66707c;
	--hh-ve-accent: #061d33;
}

.hh-compare-col .hh-icon-svg {
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0 auto 0.85rem;
	stroke: #061d33;
}

.hh-fit-pill .hh-icon-svg {
	width: 1.1rem;
	height: 1.1rem;
	display: inline-block;
	vertical-align: middle;
	stroke: #061d33;
}

.hh-callout .hh-icon-svg {
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	stroke: #061d33;
}
