.hhmsp {
	--hhmsp-heading: #28231f;
	--hhmsp-text: #4d4842;
	--hhmsp-product-title: #292520;
	--hhmsp-price: #302b26;
	--hhmsp-accent: #c75b37;
	--hhmsp-button-bg: #fffaf4;
	--hhmsp-button-text: #b94f2d;
	--hhmsp-button-hover-bg: #b94f2d;
	--hhmsp-button-hover-text: #fff;
	--hhmsp-image-bg: #eadfd2;
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	overflow: hidden;
	background: #fbf5ec;
}
.hhmsp *, .hhmsp *::before, .hhmsp *::after { box-sizing: border-box; }
.hhmsp__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(220px,31%) minmax(0,1fr);
	align-items: center;
	column-gap: 46px;
	width: 100%;
	margin: 0 auto;
}
.hhmsp__intro { position: relative; align-self: center; }
.hhmsp__heading {
	margin: 0 0 12px;
	color: var(--hhmsp-heading);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(32px, 3vw, 48px);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -.025em;
}
.hhmsp__description {
	max-width: 355px;
	color: var(--hhmsp-text);
	font-size: 15px;
	line-height: 1.55;
}
.hhmsp__description p { margin: 0 0 16px; }
.hhmsp__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 4px;
	border: 1px solid var(--hhmsp-accent);
	background: var(--hhmsp-button-bg);
	color: var(--hhmsp-button-text);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .045em;
	text-decoration: none;
	transition: background-color .2s ease,color .2s ease,transform .2s ease;
}
.hhmsp__button:hover,.hhmsp__button:focus {
	background: var(--hhmsp-button-hover-bg);
	color: var(--hhmsp-button-hover-text);
	transform: translateY(-1px);
}
.hhmsp__products {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	align-items: start;
	gap: 20px;
}
.hhmsp-product {
	display: flex;
	min-width: 0;
	color: inherit;
	flex-direction: column;
	text-decoration: none;
}
.hhmsp-product__image-wrap {
	display: flex;
	width: 100%;
	height: 165px;
	overflow: hidden;
	align-items: center;
	justify-content: center;
	background: var(--hhmsp-image-bg);
}
.hhmsp-product__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}
.hhmsp-product:hover .hhmsp-product__image { transform: scale(1.025); }
.hhmsp-product__placeholder {
	color: rgba(117,83,62,.45);
	font-family: Georgia,serif;
	font-size: 42px;
}
.hhmsp-product__title {
	display: block;
	margin-top: 8px;
	overflow: hidden;
	color: var(--hhmsp-product-title);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.hhmsp-product__price {
	display: block;
	margin-top: 2px;
	color: var(--hhmsp-price);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}
.hhmsp-product__price del { opacity: .55; font-weight: 500; }
.hhmsp-product__price ins { color: var(--hhmsp-accent); text-decoration: none; }
.hhmsp__heart,.hhmsp__leaf {
	position: absolute;
	z-index: 1;
	display: none;
	fill: none;
	stroke: var(--hhmsp-accent);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.25;
	opacity: .42;
	pointer-events: none;
}
.hhmsp--decorated .hhmsp__heart { display: block; top: 15px; left: calc(50% - 365px); width: 67px; transform: rotate(-10deg); }
.hhmsp--decorated .hhmsp__leaf { display: block; right: 18px; bottom: -12px; width: 54px; }
.hhmsp__empty { grid-column: 1/-1; padding: 28px; border: 1px dashed rgba(100,80,65,.28); color: var(--hhmsp-text); text-align: center; }
@media (max-width:1024px) {
	.hhmsp__inner { grid-template-columns: 1fr; row-gap: 28px; }
	.hhmsp__intro { max-width: 680px; }
	.hhmsp__description { max-width: 600px; }
	.hhmsp--decorated .hhmsp__heart { left: auto; right: 70px; }
	.hhmsp--decorated .hhmsp__leaf { display: none; }
}
@media (max-width:767px) {
	.hhmsp { min-height: 0 !important; }
	.hhmsp__heading { font-size: 36px; }
	.hhmsp__products { grid-template-columns: 1fr; gap: 22px; }
	.hhmsp-product__image-wrap { height: 250px; }
	.hhmsp-product__title { font-size: 16px; white-space: normal; }
	.hhmsp--decorated .hhmsp__heart { top: 20px; right: 10px; width: 60px; }
}
