@font-face {
	font-family: "KVM Serif";
	src: url("../themes/hostinger-ai-theme/assets/fonts/DMSerifDisplay-Regular.ttf") format("truetype");
	font-display: swap;
}

.kvm-shop {
	--kvm-ink: #18324a;
	--kvm-blue: #497e9b;
	--kvm-sky: #dcecf0;
	--kvm-cream: #fbf6ea;
	--kvm-coral: #ef795f;
	--kvm-yellow: #f4c95d;
	--kvm-green: #9dbb93;
	background: var(--kvm-cream);
	color: var(--kvm-ink);
}

.kvm-shop main {
	overflow: hidden;
}

.kvm-shop main > .wp-block-woocommerce-product-collection {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 28px 90px;
}

.kvm-shop main > .wp-block-breadcrumbs,
.kvm-shop main > .wp-block-query-title,
.kvm-shop main > .wp-block-group.alignwide.is-layout-flex,
.kvm-shop .woocommerce-products-header {
	display: none;
}

.kvm-shop-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr);
	gap: 44px;
	align-items: stretch;
	margin: 52px 0 28px;
	padding: 64px;
	overflow: hidden;
	background: var(--kvm-sky);
	border: 2px solid var(--kvm-ink);
	border-radius: 38px 38px 110px 38px;
	box-shadow: 9px 9px 0 var(--kvm-ink);
}

.kvm-shop-hero::before {
	content: "";
	position: absolute;
	top: -55px;
	left: 43%;
	width: 160px;
	height: 160px;
	border: 2px solid rgba(24, 50, 74, .2);
	border-radius: 50%;
}

.kvm-kicker {
	margin: 0 0 13px;
	color: var(--kvm-coral);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	line-height: 1.4;
	text-transform: uppercase;
}

.kvm-shop-hero h1 {
	max-width: 700px;
	margin: 0;
	color: var(--kvm-ink);
	font-family: "KVM Serif", Georgia, serif;
	font-size: clamp(52px, 7vw, 92px);
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: .92;
}

.kvm-shop-hero h1 em {
	display: block;
	color: var(--kvm-coral);
	font-weight: 400;
}

.kvm-shop-hero__intro {
	max-width: 620px;
	margin: 28px 0 30px;
	font-size: 17px;
	line-height: 1.7;
}

.kvm-shop-hero__notes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.kvm-shop-hero__notes span {
	padding: 9px 15px;
	background: rgba(255, 255, 255, .6);
	border: 1.5px solid var(--kvm-ink);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}

.kvm-shop-hero__art {
	position: relative;
	min-height: 310px;
	background: var(--kvm-yellow);
	border: 2px solid var(--kvm-ink);
	border-radius: 50% 50% 26px 26px;
}

.kvm-shop-hero__art p {
	position: absolute;
	right: 28px;
	bottom: 24px;
	z-index: 3;
	margin: 0;
	color: var(--kvm-ink);
	font-family: "KVM Serif", Georgia, serif;
	font-size: clamp(30px, 3.5vw, 48px);
	line-height: .92;
	text-align: right;
}

.kvm-shape {
	position: absolute;
	border: 2px solid var(--kvm-ink);
}

.kvm-shape--sun {
	top: 42px;
	left: 44px;
	width: 90px;
	height: 90px;
	background: var(--kvm-coral);
	border-radius: 50%;
}

.kvm-shape--arch {
	right: 38px;
	top: 50px;
	width: 105px;
	height: 145px;
	background: var(--kvm-blue);
	border-radius: 70px 70px 8px 8px;
}

.kvm-shape--ball {
	left: 76px;
	bottom: 50px;
	width: 52px;
	height: 52px;
	background: var(--kvm-green);
	border-radius: 50%;
}

.kvm-shape--star {
	top: 150px;
	left: 138px;
	border: 0;
	color: var(--kvm-ink);
	font-size: 38px;
	transform: rotate(12deg);
}

.kvm-category-nav {
	display: flex;
	gap: 10px;
	margin: 40px 0 72px;
	padding: 12px;
	overflow-x: auto;
	background: #fffdf7;
	border: 2px solid var(--kvm-ink);
	border-radius: 999px;
}

.kvm-category-nav a {
	display: inline-flex;
	gap: 9px;
	align-items: center;
	flex: 0 0 auto;
	padding: 12px 18px;
	color: var(--kvm-ink);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}

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

.kvm-category-nav small {
	display: grid;
	width: 21px;
	height: 21px;
	place-items: center;
	background: var(--kvm-yellow);
	border-radius: 50%;
	color: var(--kvm-ink);
	font-size: 10px;
}

.kvm-products-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	margin-bottom: -56px;
	pointer-events: none;
}

.kvm-products-heading h2 {
	margin: 0;
	color: var(--kvm-ink);
	font-family: "KVM Serif", Georgia, serif;
	font-size: clamp(38px, 5vw, 64px);
	font-weight: 400;
	letter-spacing: -.03em;
	line-height: 1;
}

.kvm-shop ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 58px 24px !important;
	clear: both;
}

.kvm-shop ul.products li.product {
	position: relative;
	width: auto !important;
	margin: 0 !important;
	padding: 12px 12px 22px !important;
	background: #fffdf7;
	border: 2px solid var(--kvm-ink);
	border-radius: 24px 24px 62px 24px;
	box-shadow: 6px 6px 0 var(--kvm-ink);
	transition: transform .25s ease, box-shadow .25s ease;
}

.kvm-shop ul.products li.product:nth-child(3n + 2) {
	background: #edf5e9;
	border-radius: 62px 24px 24px;
	transform: translateY(22px);
}

.kvm-shop ul.products li.product:nth-child(3n + 3) {
	background: #fce9e2;
	border-radius: 24px 62px 24px 24px;
}

.kvm-shop ul.products li.product:hover {
	transform: translate(-3px, -5px);
	box-shadow: 10px 12px 0 var(--kvm-ink);
}

.kvm-shop ul.products li.product:nth-child(3n + 2):hover {
	transform: translate(-3px, 17px);
}

.kvm-shop ul.products li.product::before {
	content: "Atrinkta";
	position: absolute;
	z-index: 2;
	top: 22px;
	left: 22px;
	padding: 7px 11px;
	background: var(--kvm-yellow);
	border: 1.5px solid var(--kvm-ink);
	border-radius: 999px;
	color: var(--kvm-ink);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.kvm-shop ul.products li.product:nth-child(even)::before {
	content: "Smalsuoliams";
	background: var(--kvm-coral);
	color: #fff;
}

.kvm-shop ul.products li.product img {
	width: 100% !important;
	aspect-ratio: 4 / 3;
	padding: 0;
	box-sizing: border-box;
	margin: 0 0 22px !important;
	object-fit: cover;
	object-position: center;
	border: 2px solid var(--kvm-ink);
	border-radius: 14px 14px 44px 14px;
	filter: saturate(.86);
	transition: filter .25s ease, transform .25s ease;
}

.kvm-shop ul.products li.product:hover img {
	filter: saturate(1);
	transform: rotate(-1deg);
}

.kvm-shop ul.products li.product .woocommerce-loop-product__title {
	min-height: 2.8em;
	margin: 0 !important;
	padding: 0 8px !important;
	color: var(--kvm-ink);
	font-family: "KVM Serif", Georgia, serif;
	font-size: 25px !important;
	font-weight: 400;
	line-height: 1.08;
}

.kvm-shop ul.products li.product .price {
	display: block;
	margin: 12px 8px 20px !important;
	color: var(--kvm-coral) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
}

.kvm-shop ul.products li.product .button {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	margin: 0 8px !important;
	padding: 13px 17px !important;
	background: var(--kvm-ink) !important;
	border: 2px solid var(--kvm-ink) !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

.kvm-shop ul.products li.product .button::after {
	content: "↗";
	display: grid;
	width: 26px;
	height: 26px;
	place-items: center;
	background: var(--kvm-yellow);
	border-radius: 50%;
	color: var(--kvm-ink);
	font-size: 14px;
}

.kvm-shop .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
	gap: 58px 24px !important;
	align-items: start;
}

.kvm-shop .wc-block-product-template .wc-block-product {
	position: relative;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 12px 12px 22px !important;
	background: #fffdf7;
	border: 2px solid var(--kvm-ink);
	border-radius: 24px 24px 62px 24px;
	box-shadow: 6px 6px 0 var(--kvm-ink);
	transition: transform .25s ease, box-shadow .25s ease;
}

.kvm-shop .wc-block-product-template .wc-block-product:nth-child(3n + 2) {
	background: #edf5e9;
	border-radius: 62px 24px 24px;
	transform: translateY(22px);
}

.kvm-shop .wc-block-product-template .wc-block-product:nth-child(3n + 3) {
	background: #fce9e2;
	border-radius: 24px 62px 24px 24px;
}

.kvm-shop .wc-block-product-template .wc-block-product:hover {
	transform: translate(-3px, -5px);
	box-shadow: 10px 12px 0 var(--kvm-ink);
}

.kvm-shop .wc-block-product-template .wc-block-product:nth-child(3n + 2):hover {
	transform: translate(-3px, 17px);
}

.kvm-shop .wc-block-product-template .wc-block-product::before {
	content: "Atrinkta";
	position: absolute;
	z-index: 2;
	top: 22px;
	left: 22px;
	padding: 7px 11px;
	background: var(--kvm-yellow);
	border: 1.5px solid var(--kvm-ink);
	border-radius: 999px;
	color: var(--kvm-ink);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.kvm-shop .wc-block-product-template .wc-block-product:nth-child(even)::before {
	content: "Smalsuoliams";
	background: var(--kvm-coral);
	color: #fff;
}

.kvm-shop .wc-block-product-template .wp-block-woocommerce-product-image {
	margin-bottom: 22px;
}

.kvm-shop .wc-block-product-template .wp-block-woocommerce-product-image img {
	width: 100% !important;
	aspect-ratio: 4 / 3;
	padding: 0;
	box-sizing: border-box;
	object-fit: cover;
	object-position: center;
	border: 2px solid var(--kvm-ink);
	border-radius: 14px 14px 44px 14px;
	filter: saturate(.86);
	transition: filter .25s ease, transform .25s ease;
}

.kvm-shop .wc-block-product-template .wc-block-product:hover img {
	filter: saturate(1);
	transform: rotate(-1deg);
}

.kvm-shop .wc-block-product-template .wp-block-post-title {
	min-height: 2.3em;
	margin: 0 !important;
	padding: 0 8px !important;
	color: var(--kvm-ink);
	font-family: "KVM Serif", Georgia, serif;
	font-size: 25px !important;
	font-weight: 400;
	line-height: 1.08;
	text-align: left !important;
	word-break: normal;
	overflow-wrap: break-word;
}

.kvm-shop .wc-block-product-template .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.kvm-shop .wc-block-product-template .wp-block-woocommerce-product-price {
	margin: 12px 8px 20px !important;
	color: var(--kvm-coral) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	text-align: left !important;
}

.kvm-shop .wc-block-product-template .wp-block-woocommerce-product-button {
	margin: 0 8px !important;
}

.kvm-shop .wc-block-product-template .wc-block-components-product-button__button {
	display: flex !important;
	width: 100% !important;
	align-items: center;
	justify-content: space-between;
	padding: 13px 17px !important;
	background: var(--kvm-ink) !important;
	border: 2px solid var(--kvm-ink) !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

.kvm-shop .wc-block-product-template .wc-block-components-product-button__button::after {
	content: "↗";
	display: grid;
	width: 26px;
	height: 26px;
	place-items: center;
	background: var(--kvm-yellow);
	border-radius: 50%;
	color: var(--kvm-ink);
	font-size: 14px;
}

.kvm-shop-promise {
	margin-top: 100px;
	padding: 52px;
	background: var(--kvm-ink);
	border-radius: 26px 90px 26px 26px;
	color: #fff;
}

.kvm-shop-promise h2 {
	max-width: 760px;
	margin: 0 0 40px;
	font-family: "KVM Serif", Georgia, serif;
	font-size: clamp(36px, 5vw, 62px);
	font-weight: 400;
	letter-spacing: -.03em;
	line-height: 1;
}

.kvm-shop-promise > div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.kvm-shop-promise span {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 18px;
	font-size: 13px;
	font-weight: 700;
}

.kvm-shop-promise strong {
	color: var(--kvm-yellow);
	font-family: "KVM Serif", Georgia, serif;
	font-size: 25px;
	font-weight: 400;
}

@media (max-width: 900px) {
	.kvm-shop-hero {
		grid-template-columns: 1fr;
		padding: 42px;
	}

	.kvm-shop-hero__art {
		min-height: 260px;
	}

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

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

	.kvm-shop-promise > div {
		grid-template-columns: 1fr;
	}
}

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

	.kvm-shop-hero {
		margin-top: 20px;
		padding: 30px 24px;
		border-radius: 26px 26px 64px 26px;
		box-shadow: 5px 5px 0 var(--kvm-ink);
	}

	.kvm-shop-hero h1 {
		font-size: 48px;
	}

	.kvm-category-nav {
		margin-bottom: 54px;
		border-radius: 24px;
	}

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

	.kvm-shop ul.products li.product:nth-child(3n + 2) {
		transform: none;
	}

	.kvm-shop .wc-block-product-template .wc-block-product:nth-child(3n + 2) {
		transform: none;
	}

	.kvm-shop-promise {
		margin-top: 62px;
		padding: 34px 24px;
		border-radius: 24px 60px 24px 24px;
	}
}

@media (max-width: 480px) {
	.kvm-shop ul.products,
	.kvm-shop .wc-block-product-template {
		grid-template-columns: 1fr !important;
	}
}
