.kvm-shop {
	--kvm-ink: #173047;
	--kvm-muted: #637381;
	--kvm-line: #d8e0e4;
	--kvm-paper: #fffdf8;
	--kvm-soft: #f6f1e7;
	--kvm-blue: #dcebf0;
	--kvm-accent: #d96850;
	--kvm-yellow: #f4d77f;
	--kvm-green: #dce9d7;
	--kvm-coral-soft: #f6ded7;
	background: var(--kvm-paper);
}

.kvm-shop main > .wp-block-woocommerce-product-collection {
	max-width: 1180px;
	padding: 0 24px 72px;
}

.kvm-shop-hero {
	position: relative;
	display: block;
	margin: 44px 0 24px;
	padding: 56px;
	background: var(--kvm-blue);
	border: 0;
	border-radius: var(--kvm-radius);
	box-shadow: none;
}

.kvm-shop-hero__art {
	display: none;
}

.kvm-shop-hero::before,
.kvm-shop-hero::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.kvm-shop-hero::before {
	display: block;
	top: 34px;
	right: 56px;
	width: 82px;
	height: 82px;
	background: var(--kvm-yellow);
	border: 0;
	opacity: .9;
}

.kvm-shop-hero::after {
	right: 118px;
	bottom: 34px;
	width: 42px;
	height: 42px;
	background: var(--kvm-accent);
	opacity: .7;
}

.kvm-shop-hero__copy {
	max-width: 780px;
}

.kvm-kicker {
	margin-bottom: 12px;
	color: var(--kvm-accent);
	font-size: 11px;
	letter-spacing: .14em;
}

.kvm-shop-hero h1 {
	max-width: 760px;
	font-size: clamp(48px, 7vw, 78px);
	line-height: .98;
}

.kvm-shop-hero h1 em {
	display: inline;
	color: var(--kvm-ink);
}

.kvm-shop-hero__intro {
	max-width: 650px;
	margin: 22px 0 26px;
	color: #40576a;
}

.kvm-shop-hero__notes {
	gap: 20px;
}

.kvm-shop-hero__notes span {
	position: relative;
	padding: 0 0 0 16px;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--kvm-ink);
	font-size: 12px;
}

.kvm-shop-hero__notes span::before {
	content: "";
	position: absolute;
	top: 6px;
	left: 0;
	width: 6px;
	height: 6px;
	background: var(--kvm-accent);
	border-radius: 50%;
}

.kvm-category-nav {
	gap: 4px;
	flex-wrap: wrap;
	margin: 24px 0 64px;
	padding: 6px;
	overflow: visible;
	background: #fff;
	border: 1px solid var(--kvm-line);
	border-bottom: 4px solid var(--kvm-yellow);
	border-radius: 10px;
}

.kvm-category-nav a {
	padding: 10px 14px;
	border-radius: 7px;
	font-size: 12px;
}

.kvm-category-nav a:hover,
.kvm-category-nav a.is-active {
	background: var(--kvm-ink);
	color: #fff;
	transform: none;
}

.kvm-category-nav small {
	width: auto;
	height: auto;
	background: transparent;
	color: inherit;
	font-size: 10px;
	opacity: .65;
}

.kvm-products-heading {
	margin-bottom: 28px;
}

.kvm-products-heading h2 {
	font-size: clamp(38px, 5vw, 56px);
}

.kvm-shop .wc-block-product-template,
.kvm-shop ul.products {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
	gap: 38px 22px !important;
}

.kvm-shop .wc-block-product-template .wc-block-product,
.kvm-shop ul.products li.product,
.kvm-shop .wc-block-product-template .wc-block-product:nth-child(3n + 2),
.kvm-shop .wc-block-product-template .wc-block-product:nth-child(3n + 3),
.kvm-shop ul.products li.product:nth-child(3n + 2),
.kvm-shop ul.products li.product:nth-child(3n + 3) {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	padding: 0 0 18px !important;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--kvm-line);
	border-top: 5px solid var(--kvm-yellow);
	border-radius: 12px;
	box-shadow: none;
	transform: none;
}

.kvm-shop .wc-block-product-template .wc-block-product::before,
.kvm-shop ul.products li.product::before {
	display: none;
}

.kvm-shop .wc-block-product-template .wc-block-product:nth-child(3n + 2),
.kvm-shop ul.products li.product:nth-child(3n + 2) {
	border-top-color: #a9c9d3;
}

.kvm-shop .wc-block-product-template .wc-block-product:nth-child(3n + 3),
.kvm-shop ul.products li.product:nth-child(3n + 3) {
	border-top-color: #e9a08f;
}

.kvm-shop .wc-block-product-template .wc-block-product:hover,
.kvm-shop .wc-block-product-template .wc-block-product:nth-child(3n + 2):hover,
.kvm-shop ul.products li.product:hover,
.kvm-shop ul.products li.product:nth-child(3n + 2):hover {
	border-color: #b7c5cc;
	box-shadow: 0 12px 30px rgba(23, 48, 71, .08);
	transform: translateY(-2px);
}

.kvm-shop .wc-block-product-template .wp-block-woocommerce-product-image,
.kvm-shop ul.products li.product img {
	margin: 0 0 18px !important;
}

.kvm-shop .wc-block-product-template .wp-block-woocommerce-product-image img,
.kvm-shop ul.products li.product img {
	width: 100% !important;
	aspect-ratio: 4 / 3;
	border: 0;
	border-radius: 0;
	filter: none;
	object-fit: cover;
	transform: none;
}

.kvm-shop .wc-block-product-template .wc-block-product:hover img,
.kvm-shop ul.products li.product:hover img {
	filter: none;
	transform: none;
}

.kvm-shop .wc-block-product-template .wp-block-post-title,
.kvm-shop ul.products li.product .woocommerce-loop-product__title {
	min-height: 2.5em;
	margin: 0 18px !important;
	padding: 0 !important;
	font-family: "Nunito Sans", Arial, sans-serif;
	font-size: 17px !important;
	font-weight: 800;
	line-height: 1.25;
	text-align: left !important;
	word-break: normal;
	overflow-wrap: break-word;
}

.kvm-shop .wc-block-product-template .wp-block-woocommerce-product-price,
.kvm-shop ul.products li.product .price {
	margin: 10px 18px 18px !important;
	color: var(--kvm-ink) !important;
	font-size: 15px !important;
	text-align: left !important;
}

.kvm-shop .wc-block-product-template .wp-block-woocommerce-product-button,
.kvm-shop ul.products li.product .button {
	margin: auto 18px 0 !important;
}

.kvm-shop .wc-block-product-template .wc-block-components-product-button__button,
.kvm-shop ul.products li.product .button {
	display: block !important;
	width: 100% !important;
	padding: 12px 16px !important;
	border-radius: 8px !important;
	text-align: center;
}

.kvm-shop .wc-block-product-template .wc-block-components-product-button__button::after,
.kvm-shop ul.products li.product .button::after {
	display: none;
}

.kvm-shop-promise {
	margin-top: 72px;
	padding: 44px;
	background: var(--kvm-green);
	border: 1px solid var(--kvm-line);
	border-radius: var(--kvm-radius);
	color: var(--kvm-ink);
}

.kvm-shop-promise h2 {
	max-width: 760px;
	font-size: clamp(36px, 5vw, 54px);
}

.kvm-shop-promise span {
	border: 1px solid var(--kvm-line);
	border-radius: 10px;
}

.kvm-shop-promise strong {
	color: var(--kvm-accent);
}

@media (max-width: 820px) {
	.kvm-shop-hero::before,
	.kvm-shop-hero::after {
		display: none;
	}

	.kvm-shop .wc-block-product-template,
	.kvm-shop ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 540px) {
	.kvm-shop main > .wp-block-woocommerce-product-collection {
		padding-inline: 16px;
	}

	.kvm-shop-hero {
		padding: 34px 24px;
	}

	.kvm-shop-hero::before,
	.kvm-shop-hero::after {
		display: none;
	}

	.kvm-shop-hero__notes {
		display: grid;
		gap: 8px;
	}

	.kvm-shop .wc-block-product-template,
	.kvm-shop ul.products {
		grid-template-columns: 1fr !important;
	}

	.kvm-shop-promise {
		padding: 30px 22px;
	}
}
