/* 1. Global repairs — flattened replacements for invalid nested rules in the legacy custom CSS */
.archive .header-filter-gradient,
.page-template .header-filter-gradient,
.page-template-default .header-filter-gradient {
	background: transparent;
}

.archive .page-header,
.page-template .page-header,
.page-template-default .page-header {
	min-height: 300px !important;
	max-height: 300px !important;
}

.archive .page-header .container,
.page-template .page-header .container,
.page-template-default .page-header .container {
	padding-top: 15vh !important;
}

.archive .page-header .container h1,
.page-template .page-header .container h1,
.page-template-default .page-header .container h1 {
	color: #000;
}

.home .page-header {
	min-height: 430px !important;
}

.home .page-header .container .hestia-title {
	color: #fff;
}

.home .hestia-title {
	font-size: 30px;
}

.home .hestia-features,
.home .hestia-shop {
	padding: 15px 0 15px;
}

.home .hestia-features .hestia-info {
	padding: 10px 0 10px;
}

.menu-item.active,
.menu-item.current-menu-item,
.menu-item.current_page_parent {
	border-bottom: 1px solid #da291c;
}

/* 2. Shop grid — replace the legacy float layout with flex; equal-height cards */
.shop ul.products,
.shop-page ul.products {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 24px;
}

.shop ul.products::before,
.shop ul.products::after,
.shop-page ul.products::before,
.shop-page ul.products::after {
	content: none;
}

.shop ul.products li.product,
.shop-page ul.products li.product {
	float: none !important;
	display: flex;
	flex-direction: column;
	/* width: calc((100% - 72px) / 4) !important; */
	margin: 0 !important;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.shop ul.products li.product > .card-product {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

@media (max-width: 991px) {
	.shop ul.products li.product,
	.shop-page ul.products li.product {
		width: calc((100% - 48px) / 3) !important;
	}
}

@media (max-width: 768px) {
	.shop ul.products,
	.shop-page ul.products {
		gap: 16px;
	}
	.shop ul.products li.product,
	.shop-page ul.products li.product {
		width: calc((100% - 16px) / 2) !important;
	}
}

@media (max-width: 480px) {
	.shop ul.products li.product,
	.shop-page ul.products li.product {
		width: 100% !important;
	}
}

/* 3. Card internals — uniform image, clamped text, bottom-pinned button */
.shop ul.products li.product .card-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 230 / 350;
	object-fit: cover;
}

.shop ul.products li.product h6 {
	display: none;
}

.shop ul.products li.product h4.card-title {
	min-height: 2.4em;
}

.shop ul.products li.product .card-description {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.shop ul.products li.product > .card-product > a.button {
	margin-top: auto;
	align-self: flex-start;
}

/* 4. Single-product gallery — the shop CSS renders the gallery with inline
   opacity:0 and fades it in via its single-product JS. The static export of
   the Cyrillic-named products (варена-кайма, вкусни-хапки, деликатес,
   желирана-карантия, каприз, колбас, леберкез-смес, наденица, пастет)
   captured a stale SiteGround JS bundle that omits the shop frontend
   scripts entirely, so the fade-in never runs and the product image stays
   invisible. Force the gallery visible — same as the page's own <noscript>
   fallback. On pages that do ship the scripts, flexslider/zoom/photoswipe
   still enhance the gallery; only the 0.25s container fade-in is skipped. */
.product-gallery {
	opacity: 1 !important;
}
